From ef388d95770306b4eea7c7afa884c37439d41651 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期一, 06 十一月 2023 11:43:13 +0800
Subject: [PATCH] 单据名称增加单据来源

---
 src/views/eam/modules/daily3MaintenanceOrder/Maintenance3ReceiptModal.vue          |   20 +
 src/views/eam/modules/sysFileName/SysFileNameModal.vue                             |   79 ++++++
 src/views/eam/modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal.vue |   23 +
 src/views/eam/modules/dailyMaintenanceOrder/FinishDevolutionModal.vue              |   24 +
 src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryModal.vue                |   13 
 src/views/eam/modules/sysFileName/SysFileNameForm.vue                              |  234 +++++++++++++++++++
 src/views/eam/SysFileNameList.vue                                                  |  319 ++++++++++++++++++++++++++
 7 files changed, 694 insertions(+), 18 deletions(-)

diff --git a/src/views/eam/SysFileNameList.vue b/src/views/eam/SysFileNameList.vue
new file mode 100644
index 0000000..79e78c1
--- /dev/null
+++ b/src/views/eam/SysFileNameList.vue
@@ -0,0 +1,319 @@
+<template>
+  <a-card
+    title="鍗曟嵁缂栫爜鍒楄〃"
+    :bordered="false"
+  >
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div class="table-page-search-wrapper">
+      <a-form
+        layout="inline"
+        @keyup.enter.native="searchQuery"
+      >
+        <a-row :gutter="24">
+          <a-col
+            :xl="6"
+            :lg="7"
+            :md="8"
+            :sm="24"
+          >
+            <a-form-item label="鍗曟嵁缂栫爜">
+              <a-input
+                placeholder="璇疯緭鍏ュ崟鎹紪鐮�"
+                v-model="queryParam.num"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col
+            :xl="6"
+            :lg="7"
+            :md="8"
+            :sm="24"
+          >
+            <a-form-item label="鍗曟嵁鍚嶇О">
+              <a-input
+                placeholder="璇疯緭鍏ュ崟鎹悕绉�"
+                v-model="queryParam.name"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="10"
+            :sm="8"
+          >
+            <a-form-item label="鐗堟湰鐘舵��">
+              <!-- button-style="solid" -->
+              <!-- size="small" -->
+              <a-radio-group
+                @change="onChange"
+                default-value="2"
+                v-model="queryParam.versionStatus"
+              >
+                <a-radio-button value="1">
+                  鏈敓鏁�
+                </a-radio-button>
+                <a-radio-button value="2">
+                  宸茬敓鏁�
+                </a-radio-button>
+                <a-radio-button value="3">
+                  宸插け鏁�
+                </a-radio-button>
+              </a-radio-group>
+            </a-form-item>
+          </a-col>
+
+        </a-row>
+      </a-form>
+    </div>
+
+    <div class="table-operator">
+      <a-button
+        @click="handleAdd"
+        type="primary"
+        icon="plus"
+      >鏂板</a-button>
+      <!-- v-has="'maintenanceCycle:add'" -->
+      <a-button
+        type="primary"
+        @click="searchQuery"
+        icon="search"
+      >鏌ヨ</a-button>
+      <a-button
+        type="primary"
+        @click="searchReset"
+        icon="reload"
+        style="margin-left: 8px"
+      >閲嶇疆</a-button>
+      <!-- <a-dropdown v-if="selectedRowKeys.length > 0">
+        <a-menu slot="overlay">
+          <a-menu-item
+            key="1"
+            @click="batchDel"
+          ><a-icon type="delete" />鍒犻櫎</a-menu-item>
+        </a-menu>
+        <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
+      </a-dropdown> -->
+    </div>
+
+    <!-- table鍖哄煙-begin -->
+    <div>
+      <div
+        class="ant-alert ant-alert-info"
+        style="margin-bottom: 16px"
+      >
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨
+        <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+        <a
+          style="margin-left: 24px"
+          @click="onClearSelected"
+        >娓呯┖</a>
+      </div>
+
+      <a-table
+        ref="table"
+        size="middle"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        class="j-table-force-nowrap"
+        @change="handleTableChange"
+      >
+        <!-- :scroll="{ x: 'calc(950px + 50%)', y: 900 }" -->
+        <!-- :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" -->
+        <span
+          slot="action"
+          slot-scope="text, record"
+        >
+          <a
+            v-if="record.versionStatus == '2'"
+            @click="handleRevise(record)"
+          >鍗囩増</a>
+          <!-- v-has="'maintenanceCycle:revise'" -->
+          <a-divider type="vertical" />
+          <a
+            v-if="record.versionStatus == '1'"
+            @click="handleTakeEffect(record)"
+          >鐢熸晥</a>
+          <!-- v-has="'maintenanceCycle:takeEffect'" -->
+          <a-divider type="vertical" />
+          <a
+            v-if="record.versionStatus == '1'"
+            @click="handleEdit(record)"
+          >缂栬緫</a>
+          <!-- v-has="'maintenanceCycle:edit'" -->
+          <a-divider type="vertical" />
+          <a-popconfirm
+            v-if="record.versionStatus == '1'"
+            title="纭畾鍒犻櫎鍚�?"
+            @confirm="() => handleDelete(record.id)"
+          >
+            <!-- v-has="'maintenanceCycle:delete'" -->
+            <a>鍒犻櫎</a>
+          </a-popconfirm>
+        </span>
+      </a-table>
+    </div>
+
+    <sys-file-name-modal
+      ref="modalForm"
+      @ok="modalFormOk"
+    ></sys-file-name-modal>
+  </a-card>
+</template>
+
+<script>
+import '@/assets/less/TableExpand.less'
+import { mixinDevice } from '@/utils/mixin'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import SysFileNameModal from './modules/sysFileName/SysFileNameModal'
+import { deleteAction, getAction, postAction, requestPut } from '@/api/manage'
+
+export default {
+  name: 'SysFileNameList',
+  mixins: [JeecgListMixin, mixinDevice],
+  components: {
+    SysFileNameModal,
+  },
+  data() {
+    return {
+      description: '鍗曟嵁缂栫爜',
+      model: {},
+      // 琛ㄥご
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: 'center',
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1
+          },
+        },
+        {
+          title: '鍗曟嵁鍚嶇О',
+          align: 'center',
+          dataIndex: 'name_dictText',
+        },
+
+        {
+          title: '鍗曟嵁缂栫爜',
+          align: 'center',
+          dataIndex: 'num',
+        },
+        {
+          title: '鐗堟湰',
+          align: 'center',
+          dataIndex: 'version',
+        },
+        {
+          title: '鐗堟湰鐘舵��',
+          align: 'center',
+          dataIndex: 'versionStatus_dictText',
+        },
+        {
+          title: '鍒涘缓浜�',
+          align: 'center',
+          dataIndex: 'createBy',
+        },
+        {
+          title: '鍒涘缓鏃ユ湡',
+          align: 'center',
+          dataIndex: 'createTime',
+        },
+        {
+          title: '鎿嶄綔',
+          dataIndex: 'action',
+          align: 'center',
+          fixed: 'right',
+          width: 147,
+          scopedSlots: { customRender: 'action' },
+        },
+      ],
+      url: {
+        list: '/eam/sysFileName/list',
+        delete: '/eam/sysFileName/delete',
+        deleteBatch: '/eam/sysFileName/deleteBatch',
+        versionTakeEffect: "/eam/sysFileName/versionTakeEffect",
+      },
+      visible: false,
+    }
+  },
+
+  methods: {
+    //鍗囩増
+    handleRevise: function (record) {
+      this.$refs.modalForm.revise(record);
+      this.$refs.modalForm.title = "淇濆吇鍛ㄦ湡瑙勫垯鐗堟湰鍗囩骇";
+      this.$refs.modalForm.disableSubmit = false;
+    },
+
+    //鐢熸晥
+    handleTakeEffect(record) {
+      const that = this;
+      that.confirmLoading = true;
+      this.$confirm({
+        title: '鍗曟嵁缂栫爜鐗堟湰鐢熸晥锛�',
+        content: '鎻愮ず锛氱増鏈敓鏁堝悗涓婁竴鐗堟湰灏嗚嚜鍔ㄥけ鏁堬紝璇疯皑鎱庢搷浣滐紒',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          requestPut(that.url.versionTakeEffect, { id: record.id, name: record.name, versionStatus: '2' }).then((res) => {
+            if (res.success) {
+              that.$message.success("鐗堟湰鐢熸晥鎴愬姛锛�")
+              that.loadData(1)
+            } else {
+              that.$message.warning("鐗堟湰鐢熸晥澶辫触锛�")
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+          })
+        },
+      })
+    },
+
+    onChange(e) {
+      this.queryParam.versionStatus = e.target.value;
+      this.loadData();
+    },
+
+    loadData(arg) {
+      if (!this.url.list) {
+        this.$message.error("璇疯缃畊rl.list灞炴��!")
+        return
+      }
+      //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+      if (arg === 1) {
+        this.ipagination.current = 1;
+      }
+
+      var params = this.getQueryParams();//鏌ヨ鏉′欢
+      this.loading = true;
+      getAction(this.url.list, params).then((res) => {
+        if (res.success) {
+          //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+          this.dataSource = res.result.records || res.result;
+          if (res.result.total) {
+            this.ipagination.total = res.result.total;
+          } else {
+            this.ipagination.total = 0;
+          }
+          //update-end---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+        } else {
+          this.$message.warning(res.message)
+        }
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+    handleCancel() {
+      this.visible = false;
+    },
+  },
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>
\ No newline at end of file
diff --git a/src/views/eam/modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal.vue b/src/views/eam/modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal.vue
index 35c64b4..fb1ad0d 100644
--- a/src/views/eam/modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal.vue
+++ b/src/views/eam/modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal.vue
@@ -11,10 +11,15 @@
     <!-- :title="title" -->
     <a-spin :spinning="confirmLoading">
       <a-form :form="form">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-size: 15px;float: right;"
+        >{{this.model.receiptsNum2}}</span>
         <a-divider
           orientation="center"
           style="font-size: large;font-style: normal;font-size: 30px;color: #66aeed;"
-        > 鐢熶骇璁惧绮惧害妫�楠屽崟 </a-divider>
+        > {{this.model.receiptsName2}} </a-divider>
+        <!-- 鐢熶骇璁惧绮惧害妫�楠屽崟 -->
         <a-row :gutter="24">
           <a-col :span="8">
             <a-form-item
@@ -380,6 +385,7 @@
         add: "/eam/precisionInspection/precisionInspection",
         getPrecisionInspection: "/eam/precisionInspection/getPrecisionInspectionList",
         list: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId",
+        getSysFileName: "/eam/sysFileName/getSysFileName",
       },
 
     }
@@ -389,7 +395,9 @@
 
     edit(record) {
       let that = this;
-
+      if (record.receipts2 == "" || record.receipts2 == null) {
+        this.getSysFileName()
+      }
       this.form.resetFields();
       // record.eachTolerance = '0'
       // record.partTolerance = '0'
@@ -456,8 +464,7 @@
       getAction(this.url.getPrecisionInspection, { maintenanceOrderId: this.model.id }).then((res) => {
         if (res.success) {
           this.dataSource = res.result[0].precisionInspectionDetails
-          this.model = Object.assign({}, res.result[0]);
-          debugger
+          this.model = Object.assign(this.model, res.result[0]);
         }
       })
     },
@@ -515,6 +522,14 @@
       }
     },
 
+    getSysFileName() {
+      getAction(this.url.getSysFileName, { name: '16' }).then((res) => {
+        if (res.success) {
+          this.model = Object.assign(this.model, res.result[0]);
+        }
+      })
+    },
+
   },
 }
 </script>
diff --git a/src/views/eam/modules/daily3MaintenanceOrder/Maintenance3ReceiptModal.vue b/src/views/eam/modules/daily3MaintenanceOrder/Maintenance3ReceiptModal.vue
index e314bed..e71c822 100644
--- a/src/views/eam/modules/daily3MaintenanceOrder/Maintenance3ReceiptModal.vue
+++ b/src/views/eam/modules/daily3MaintenanceOrder/Maintenance3ReceiptModal.vue
@@ -11,10 +11,15 @@
     <!-- :title="title" -->
     <a-spin :spinning="confirmLoading">
       <a-form :form="form">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-size: 15px;float: right;"
+        >{{this.model.receiptsNum}}</span>
         <a-divider
           orientation="center"
           style="font-size: large;font-style: normal;font-size: 30px;color: #66aeed;"
-        > 鐢熶骇璁惧涓夌骇淇濆吇楠屾敹鍗� </a-divider>
+        > {{this.model.receiptsName}} </a-divider>
+        <!-- 鐢熶骇璁惧涓夌骇淇濆吇楠屾敹鍗� -->
         <a-row :gutter="24">
           <a-col :span="8">
             <a-form-item
@@ -269,6 +274,7 @@
         add: "/eam/maintenanceThreeAcceptance/add",
         getMaintenance3Receipt: "/eam/maintenanceThreeAcceptance/getMaintenanceThreeAcceptanceList",
         list: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId",
+        getSysFileName: "/eam/sysFileName/getSysFileName",
       },
     }
   },
@@ -281,6 +287,10 @@
 
     edit(record) {
       let that = this;
+      debugger
+      if (record.receipts == "" || record.receipts == null) {
+        this.getSysFileName()
+      }
       this.form.resetFields();
       this.model = Object.assign({}, record);
       this.visible = true;
@@ -366,6 +376,14 @@
       }
     },
 
+    getSysFileName() {
+      getAction(this.url.getSysFileName, { name: '19' }).then((res) => {
+        if (res.success) {
+          this.model = Object.assign(this.model, res.result[0]);
+        }
+      })
+    },
+
   },
 }
 </script>
diff --git a/src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryModal.vue b/src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryModal.vue
index 4e4920a..61f5e5e 100644
--- a/src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryModal.vue
+++ b/src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryModal.vue
@@ -12,11 +12,16 @@
     <!-- :title="title" -->
     <!-- <a-spin :spinning="confirmLoading"> -->
     <!-- <a-form :form="form"> -->
+    <span
+      class="ant-descriptions-title"
+      style="font-size: large;font-size: 15px;float: right;"
+    >{{this.model.receiptsNum}}</span>
+
     <a-divider
       orientation="center"
       style="font-size: large;font-style: normal;font-size: 30px;color: #66aeed;"
-    > 娓╁害鍧囧寑鎬ф娴嬫潯浠剁‘璁よ〃 </a-divider>
-
+    > {{this.model.receiptsName}} </a-divider>
+    <!-- 娓╁害鍧囧寑鎬ф娴嬫潯浠剁‘璁よ〃 -->
     <!-- <div :style="{height: '115px',float: 'left',width: '100%',border: '1px solid #e9e9e9',padding: '50px 20px',background: '#fff',}"> -->
     <span
       class="ant-descriptions-title"
@@ -606,13 +611,13 @@
 import pick from 'lodash.pick'
 import JMultiSelectTag from '@/components/dict/JMultiSelectTag'
 import Tooltip from 'ant-design-vue/es/tooltip'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+// import { JeecgListMixin } from '@/mixins/JeecgListMixin'
 import { ACCESS_TOKEN } from '@/store/mutation-types'
 import { getFileAccessHttpUrl } from '@/api/manage';
 
 export default {
   name: "StoveCategoryModal",
-  mixins: [JeecgListMixin],
+  // mixins: [JeecgListMixin],
   components: {
     JMultiSelectTag,
     Tooltip,
diff --git a/src/views/eam/modules/dailyMaintenanceOrder/FinishDevolutionModal.vue b/src/views/eam/modules/dailyMaintenanceOrder/FinishDevolutionModal.vue
index ae05671..f5f1581 100644
--- a/src/views/eam/modules/dailyMaintenanceOrder/FinishDevolutionModal.vue
+++ b/src/views/eam/modules/dailyMaintenanceOrder/FinishDevolutionModal.vue
@@ -8,13 +8,17 @@
     @cancel="handleCancel"
     :confirmLoading="confirmLoading"
   >
-    <!-- :title="title" -->
     <a-spin :spinning="confirmLoading">
       <a-form :form="form">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-size: 15px;float: right;"
+        >{{this.model.receiptsNum}}</span>
         <a-divider
           orientation="center"
           style="font-size: large;font-style: normal;font-size: 30px;color: #66aeed;"
-        > 鐢熶骇璁惧浜岀骇淇濆吇瀹屽伐绉讳氦鍗� </a-divider>
+        > {{this.model.receiptsName}} </a-divider>
+        <!-- 鐢熶骇璁惧浜岀骇淇濆吇瀹屽伐绉讳氦鍗� -->
         <a-row :gutter="24">
           <a-col :span="8">
             <a-form-item
@@ -227,7 +231,7 @@
       codeDisable: true,
       dataSource: [],
       model: {},
-      departs: [],
+      // departs: [],
       labelCol: {
         xs: { span: 24 },
         sm: { span: 6 },
@@ -246,9 +250,9 @@
         },
       },
       url: {
-        add: "/eam/dailyMaintenanceOrder/add",
+        // add: "/eam/dailyMaintenanceOrder/add",
         edit: "/eam/dailyMaintenanceOrder/approve",
-        getSysDeparts: "/eam/dailyMaintenanceOrder/getSysDeparts",
+        getSysFileName: "/eam/sysFileName/getSysFileName",
         list: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId",
       },
 
@@ -259,7 +263,9 @@
 
     edit(record) {
       let that = this;
-      this.getSysDeparts()
+      if (record.receipts == "" || record.receipts == null) {
+        this.getSysFileName()
+      }
       this.form.resetFields();
       this.model = Object.assign({}, record);
       this.visible = true;
@@ -313,10 +319,10 @@
     },
 
 
-    getSysDeparts() {
-      getAction(this.url.getSysDeparts).then((res) => {
+    getSysFileName() {
+      getAction(this.url.getSysFileName, { name: '15' }).then((res) => {
         if (res.success) {
-          this.departs = res.result
+          this.model = Object.assign(this.model, res.result[0]);
         }
       })
     },
diff --git a/src/views/eam/modules/sysFileName/SysFileNameForm.vue b/src/views/eam/modules/sysFileName/SysFileNameForm.vue
new file mode 100644
index 0000000..94609b4
--- /dev/null
+++ b/src/views/eam/modules/sysFileName/SysFileNameForm.vue
@@ -0,0 +1,234 @@
+<template>
+  <a-spin :spinning="confirmLoading">
+    <j-form-container :disabled="formDisabled">
+      <a-form-model
+        ref="form"
+        :model="model"
+        :rules="validatorRules"
+        slot="detail"
+      >
+        <a-row>
+          <a-col :span="24">
+            <a-form-model-item
+              label="鍗曟嵁鍚嶇О"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="name"
+            >
+              <j-dict-select-tag
+                placeholder="璇烽�夋嫨鍗曟嵁鍚嶇О"
+                :triggerChange="true"
+                dictCode="sys_file_name"
+                v-model="model.name"
+              />
+            </a-form-model-item>
+          </a-col>
+
+        </a-row>
+        <a-row>
+          <a-col :span="24">
+            <a-form-model-item
+              label="鍗曟嵁缂栫爜"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="num"
+            >
+              <a-input
+                v-model="model.num"
+                placeholder="璇疯緭鍏ュ崟鎹紪鐮�"
+              ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <!-- <a-col :span="24">
+            <a-form-model-item
+              label="鍗曟嵁鍚嶇О"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="name"
+            >
+              <a-input
+                v-model="model.name"
+                placeholder="璇疯緭鍏ュ崟鎹悕绉�"
+              ></a-input>
+            </a-form-model-item>
+          </a-col> -->
+        </a-row>
+
+        <a-row>
+          <a-col :span="24">
+            <a-form-model-item
+              label="鐗堟湰"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="version"
+            >
+              <a-input
+                v-model="model.version"
+                placeholder="璇疯緭鍏ョ増鏈彿"
+                :disabled=true
+              ></a-input>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+        <a-row>
+
+          <a-col
+            v-if=" model.isRevise == true"
+            :span="24"
+          >
+            <a-form-model-item
+              label="鍘嗗彶鐗堟湰"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="version"
+            >
+              <a-input
+                v-model="model.historyVersion"
+                placeholder="璇疯緭鍏ュ巻鍙茬増鏈�"
+                :disabled=true
+              ></a-input>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+      </a-form-model>
+    </j-form-container>
+  </a-spin>
+</template>
+
+<script>
+import { httpAction, getAction, requestPut } from '@/api/manage'
+import { validateDuplicateValue } from '@/utils/util'
+import pick from 'lodash.pick'
+import JMultiSelectTag from '@/components/dict/JMultiSelectTag'
+
+export default {
+  name: 'SysFileNameForm',
+  components: { JMultiSelectTag },
+  props: {
+    //琛ㄥ崟绂佺敤
+    disabled: {
+      type: Boolean,
+      default: false,
+      required: false,
+    },
+    // enterpriseId: {
+    //   type: String,
+    //   default: '',
+    //   required: false,
+    // },
+    // version: {
+    //   type: Number,
+    //   required: false,
+    // },
+  },
+  data() {
+    return {
+      model: {},
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 },
+      },
+      confirmLoading: false,
+      validatorRules: {
+        name: [
+          { required: true, message: '璇烽�夋嫨鍗曟嵁鍚嶇О!' },
+        ],
+        num: [
+          { required: true, message: '璇疯緭鍏ュ崟鎹紪鐮�!' },
+        ],
+        version: [
+          { required: true, message: '璇疯緭鍏ョ増鏈彿!' },
+        ],
+      },
+      url: {
+        add: '/eam/sysFileName/add',
+        edit: '/eam/sysFileName/edit',
+        revise: '/eam/sysFileName/revise',
+        getReviseVersion: "/eam/sysFileName/getReviseVersion",
+      },
+    }
+  },
+  computed: {
+    formDisabled() {
+      return this.disabled
+    },
+  },
+  created() {
+    //澶囦唤model鍘熷鍊�
+    this.modelDefault = JSON.parse(JSON.stringify(this.model))
+  },
+  methods: {
+    add() {
+      this.edit(this.modelDefault)
+    },
+    edit(record) {
+      this.model = Object.assign({}, record)
+      this.visible = true
+      this.model.isRevise = false;
+      //淇敼鏃�
+      if (record.id) {
+
+        //鏂板鏃�
+      } else {
+        this.model.version = '1.0'
+        this.model.versionStatus = '1'
+      }
+    },
+
+    //鍗囩増
+    revise(record) {
+      let that = this;
+      that.visible = true;
+      that.model = Object.assign({}, record)
+      that.model.isRevise = true;
+      that.model.historyVersion = record.version
+      that.model.versionStatus = '1'
+      requestPut(that.url.getReviseVersion, record).then((res) => {
+        if (res.success) {
+          that.model.version = res.result;
+        }
+      })
+    },
+
+    submitForm() {
+      const that = this
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          that.confirmLoading = true
+          let httpurl = ''
+          let method = ''
+          if (!this.model.id) {
+            httpurl += this.url.add
+            method = 'post'
+          } else {
+            if (this.model.isRevise) {
+              httpurl += this.url.revise
+              method = 'post'
+            } else {
+              httpurl += this.url.edit
+              method = 'put'
+            }
+          }
+          httpAction(httpurl, this.model, method)
+            .then((res) => {
+              if (res.success) {
+                that.$message.success(res.message)
+                that.$emit('ok')
+              } else {
+                that.$message.warning(res.message)
+              }
+            })
+            .finally(() => {
+              that.confirmLoading = false
+            })
+        }
+      })
+    },
+  },
+}
+</script>
\ No newline at end of file
diff --git a/src/views/eam/modules/sysFileName/SysFileNameModal.vue b/src/views/eam/modules/sysFileName/SysFileNameModal.vue
new file mode 100644
index 0000000..04fa1d1
--- /dev/null
+++ b/src/views/eam/modules/sysFileName/SysFileNameModal.vue
@@ -0,0 +1,79 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    switchFullscreen
+    @ok="handleOk"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    @cancel="handleCancel"
+    cancelText="鍏抽棴"
+  >
+    <sys-file-name-form
+      ref="realForm"
+      @ok="submitCallback"
+      :disabled="disableSubmit"
+    ></sys-file-name-form>
+  </j-modal>
+</template>
+
+<script>
+
+import SysFileNameForm from './SysFileNameForm'
+export default {
+  name: 'SysFileNameModal',
+  components: {
+    SysFileNameForm
+  },
+  props: {
+    //琛ㄥ崟绂佺敤
+    disabled: {
+      type: Boolean,
+      default: false,
+      required: false
+    },
+  },
+  data() {
+    return {
+      title: '',
+      width: 650,
+      visible: false,
+      disableSubmit: false
+    }
+  },
+  methods: {
+    add() {
+      this.visible = true
+      this.$nextTick(() => {
+        this.$refs.realForm.add();
+      })
+    },
+    edit(record) {
+      this.visible = true
+      this.$nextTick(() => {
+        this.$refs.realForm.edit(record);
+      })
+    },
+    revise(record) {
+      this.visible = true
+      this.$nextTick(() => {
+        this.$refs.realForm.revise(record);
+      })
+    },
+    close() {
+      this.$emit('close');
+      this.visible = false;
+    },
+    handleOk() {
+      this.$refs.realForm.submitForm();
+    },
+    submitCallback() {
+      this.$emit('ok');
+      this.visible = false;
+    },
+    handleCancel() {
+      this.close()
+    }
+  }
+}
+</script>
\ No newline at end of file

--
Gitblit v1.9.3