From 53b451a977d59bc587517b484a73424b542845f4 Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期二, 05 九月 2023 18:11:40 +0800
Subject: [PATCH] 设备台账子表维护

---
 src/views/eam/modules/equipmentNew/EquipmentProcessParametersList.vue   |   43 +-
 src/views/eam/modules/equipmentNew/edit/PrecisionEditTable.vue          |  265 ++++++++++++++++++++
 src/views/eam/modules/equipmentNew/edit/PrecisionEditModel.vue          |   68 +++++
 src/views/eam/modules/equipmentNew/edit/ProcessEditModel.vue            |   67 +++++
 src/views/eam/modules/equipmentNew/EquipmentPrecisionParametersList.vue |   55 ++-
 src/views/eam/EquipmentList.vue                                         |   22 +
 src/views/eam/modules/equipmentNew/edit/ProcessEditTable.vue            |  221 +++++++++++++++++
 7 files changed, 695 insertions(+), 46 deletions(-)

diff --git a/src/views/eam/EquipmentList.vue b/src/views/eam/EquipmentList.vue
index 03a4203..b50aadb 100644
--- a/src/views/eam/EquipmentList.vue
+++ b/src/views/eam/EquipmentList.vue
@@ -207,6 +207,12 @@
             <a-menu-item>
               <a @click="equipmentResumeShow(record)">璁惧灞ュ巻</a>
             </a-menu-item>
+            <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.processParameters==1">
+              <a @click="editProcess(record)">宸ヨ壓鍙傛暟缁存姢</a>
+            </a-menu-item>
+            <a-menu-item v-has="'accountSons:add&edit&delete&submit'" v-if="record.precisionParameters==1">
+              <a @click="editPrecision(record)">绮惧害鍙傛暟缁存姢</a>
+            </a-menu-item>
             <a-menu-item  v-has="'equipmentAccount:add&delete&import&Edit'">
               <a @click="handleEdit(record)" >缂栬緫</a>
             </a-menu-item>
@@ -246,6 +252,8 @@
       </a-tab-pane>
     </a-tabs>
     <equipment-modal ref="modalForm" @ok="modalFormOk"></equipment-modal>
+    <process-edit-model ref ="processEditModel"></process-edit-model>
+    <precision-edit-model ref ="precisionEditModel"></precision-edit-model>
   </a-card>
 </template>
 
@@ -260,7 +268,9 @@
   import EquipmentPrecisionParametersList from './modules/equipmentNew/EquipmentPrecisionParametersList'
   import '@/assets/less/TableExpand.less'
   import EquipmentResumeDrawer from './modules/equipmentNew/EquipmentResume/EquipmentResumeDrawer'
-import JSearchSelectTag from '../../components/dict/JSearchSelectTag.vue'
+  import JSearchSelectTag from '../../components/dict/JSearchSelectTag.vue'
+  import ProcessEditModel from './modules/equipmentNew/edit/ProcessEditModel.vue'
+  import PrecisionEditModel from './modules/equipmentNew/edit/PrecisionEditModel.vue'
 
  
   export default {
@@ -272,7 +282,9 @@
       EquipmentPrecisionParametersList,
       EquipmentModal,
       EquipmentResumeDrawer,
-        JSearchSelectTag
+        JSearchSelectTag,
+        ProcessEditModel,
+        PrecisionEditModel,
     },
     data () {
       return {
@@ -648,6 +660,12 @@
         fieldList.push({type:'BigDecimal',value:'coordinateNum',text:'鍧愭爣鏁伴噺',dictCode:''})
         fieldList.push({type:'string',value:'projectApprovalNo',text:'绔嬮」鍗″彿',dictCode:''})
         this.superFieldList = fieldList
+      },
+      editProcess(record){
+        this.$refs.processEditModel.edit(record);
+      },
+      editPrecision(record){
+        this.$refs.precisionEditModel.edit(record);
       }
     }
   }
diff --git a/src/views/eam/modules/equipmentNew/EquipmentPrecisionParametersList.vue b/src/views/eam/modules/equipmentNew/EquipmentPrecisionParametersList.vue
index 97c101e..66b8770 100644
--- a/src/views/eam/modules/equipmentNew/EquipmentPrecisionParametersList.vue
+++ b/src/views/eam/modules/equipmentNew/EquipmentPrecisionParametersList.vue
@@ -25,7 +25,7 @@
       <a-dropdown v-if="selectedRowKeys.length > 0" v-has="'accountSons:add&edit&delete&submit'">
         <a-menu slot="overlay">
           <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item>
-          <a-menu-item key="1" @click="handleSubmitBatch"><a-icon type="to-top" />鎻愪氦</a-menu-item>
+          <!-- <a-menu-item key="1" @click="handleSubmitBatch"><a-icon type="to-top" />鎻愪氦</a-menu-item> -->
         </a-menu>
         <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
       </a-dropdown>
@@ -51,12 +51,12 @@
         :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
         @change="handleTableChange">
 
-        <template
+        <!-- <template
           v-for="col in columns"
           :slot="col.dataIndex"
           slot-scope='text, record, index'
-        >
-          <div :key="col.dataIndex">
+        > -->
+          <!-- <div :key="col.dataIndex">
             <span v-if="col.dataIndex == 'remark'">
               <j-ellipsis
                 :value="text"
@@ -96,8 +96,8 @@
                 title="寮�鍚簿搴﹀弬鏁扮鐞嗗悗鍙偣鍑�"
               >鎻愪氦</a-button>
             </span>
-          </div>
-        </template>
+          </div> -->
+        <!-- </template> -->
 
         <!-- <span slot="action" slot-scope="text, record">
           <a @click="handleEdit(record)">缂栬緫</a>
@@ -187,27 +187,27 @@
           title: '涓婇檺鍊�',
           dataIndex: 'upperLimit',
           align: "center",
-          scopedSlots: {
-            customRender: 'upperLimit'
-          },
+          // scopedSlots: {
+          //   customRender: 'upperLimit'
+          // },
           width:250,
         },
         {
           title: '涓嬮檺鍊�',
           dataIndex: 'lowerLimit',
           align: "center",
-          scopedSlots: {
-            customRender: 'lowerLimit'
-          },
+          // scopedSlots: {
+          //   customRender: 'lowerLimit'
+          // },
           width:250,
         },
         {
           title: '瀹為檯绮惧害鍊�',
           dataIndex: 'actualValue',
           align: "center",
-          scopedSlots: {
-            customRender: 'actualValue'
-          },
+          // scopedSlots: {
+          //   customRender: 'actualValue'
+          // },
           width:250,
         },
         {
@@ -215,16 +215,16 @@
           dataIndex: 'remark',
           align: "center",
         },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          width: 160,
-          align: "center",
-          scopedSlots: {
-            customRender: 'action'
-          },
-          fixed: 'right',
-        },
+        // {
+        //   title: '鎿嶄綔',
+        //   dataIndex: 'action',
+        //   width: 160,
+        //   align: "center",
+        //   // scopedSlots: {
+        //   //   customRender: 'action'
+        //   // },
+        //   fixed: 'right',
+        // },
         ],
         url: {
           list: "/eam/equipmentPrecisionParameters/list",
@@ -339,6 +339,11 @@
         this.selectionRows = selectionRows;
     },
 
+    },
+    mounted(){
+      this.$bus.$on('loadData', (data) => {
+            this.loadData();
+      });
     }
   }
 </script>
diff --git a/src/views/eam/modules/equipmentNew/EquipmentProcessParametersList.vue b/src/views/eam/modules/equipmentNew/EquipmentProcessParametersList.vue
index d844a55..d5a1048 100644
--- a/src/views/eam/modules/equipmentNew/EquipmentProcessParametersList.vue
+++ b/src/views/eam/modules/equipmentNew/EquipmentProcessParametersList.vue
@@ -24,7 +24,7 @@
       <a-dropdown v-if="selectedRowKeys.length > 0" v-has="'accountSons:add&edit&delete&submit'">
         <a-menu slot="overlay">
           <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item>
-          <a-menu-item key="1" @click="handleSubmitBatch"><a-icon type="to-top" />鎻愪氦</a-menu-item>
+          <!-- <a-menu-item key="1" @click="handleSubmitBatch"><a-icon type="to-top" />鎻愪氦</a-menu-item> -->
         </a-menu>
         <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
       </a-dropdown>
@@ -48,7 +48,7 @@
         :loading="loading"
         :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
         @change="handleTableChange">
-        <template
+        <!-- <template
           v-for="col in columns"
           :slot="col.dataIndex"
           slot-scope='text, record, index'
@@ -78,7 +78,7 @@
               >鎻愪氦</a-button>
             </span>
           </div>
-        </template>
+        </template> -->
         <!-- <span slot="action" slot-scope="text, record">
           <a @click="handleEdit(record)">缂栬緫</a>
           <a-divider type="vertical" />
@@ -165,29 +165,29 @@
           title: '鍙傛暟鍊�',
           align: "center",
           dataIndex: 'parametersValue',
-          scopedSlots: {
-            customRender: 'parametersValue'
-          },
+          // scopedSlots: {
+          //   customRender: 'parametersValue'
+          // },
           width:350,
         },
         {
           title: '澶囨敞',
           align: "center",
           dataIndex: 'remark',
-          scopedSlots: {
-            customRender: 'remark'
-          },
+          // scopedSlots: {
+          //   customRender: 'remark'
+          // },
         },
-        {
-          title: '鎿嶄綔',
-          align: "center",
-          dataIndex: 'action',
-          scopedSlots: {
-            customRender: 'action'
-          },
-          width:200,
-          fixed: 'right',
-        },
+        // {
+        //   title: '鎿嶄綔',
+        //   align: "center",
+        //   dataIndex: 'action',
+        //   scopedSlots: {
+        //     customRender: 'action'
+        //   },
+        //   width:200,
+        //   fixed: 'right',
+        // },
         ],
         url: {
           list: "/eam/equipmentProcessParameters/list",
@@ -283,6 +283,11 @@
     },
     
 
+    },
+    mounted(){
+      this.$bus.$on('loadData', (data) => {
+            this.loadData();
+      });
     }
   }
 </script>
diff --git a/src/views/eam/modules/equipmentNew/edit/PrecisionEditModel.vue b/src/views/eam/modules/equipmentNew/edit/PrecisionEditModel.vue
new file mode 100644
index 0000000..eeb3807
--- /dev/null
+++ b/src/views/eam/modules/equipmentNew/edit/PrecisionEditModel.vue
@@ -0,0 +1,68 @@
+<template>
+  <j-modal
+    :title="'绮惧害鍙傛暟缁存姢'"
+    :width="1315"
+    :height="600"
+    :visible="visible"
+    :maskClosable="true"
+    switchFullscreen
+    @ok="handleOk"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    @cancel="handleCancel">
+    <precision-edit-table
+    ref="realForm"
+    @ok="submitCallback"
+    :disabled="disableSubmit"/>
+  </j-modal>
+</template>
+<script>
+import PrecisionEditTable from './PrecisionEditTable.vue'
+ 
+  export default {
+    name: 'PrecisionEditModel',
+    components: {
+        PrecisionEditTable
+    },
+    data() {
+      return {
+        title:'',
+        width:1500,
+        visible: false,
+        disableSubmit: false
+      }
+    },
+    methods:{
+      add () {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.addBefore();
+        })
+      },
+      edit (record) {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.edit(record);
+        })
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+        
+      },
+      handleOk () {
+        this.$refs.realForm.handleOk();
+      },
+      submitCallback(){
+        this.$emit('ok');
+        this.$bus.$emit('loadData')
+        this.visible = false;
+      },
+      handleCancel () {
+        this.close()
+      }
+    }
+  }
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file
diff --git a/src/views/eam/modules/equipmentNew/edit/PrecisionEditTable.vue b/src/views/eam/modules/equipmentNew/edit/PrecisionEditTable.vue
new file mode 100644
index 0000000..a7ff489
--- /dev/null
+++ b/src/views/eam/modules/equipmentNew/edit/PrecisionEditTable.vue
@@ -0,0 +1,265 @@
+<template>
+  <a-spin :spinning="confirmLoading">
+    <j-form-container :disabled="formDisabled">
+      <!-- 涓昏〃鍗曞尯鍩� -->
+      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+        <a-row>
+        </a-row>
+      </a-form-model>
+    </j-form-container>
+      <!-- 瀛愯〃鍗曞尯鍩� -->
+    <a-tabs v-model="activeKey" @change="handleChangeTabs">
+      <a-tab-pane tab="绮惧害鍙傛暟" :key="refKeys[0]" :forceRender="true">
+        <j-vxe-table
+          keep-source
+          :ref="refKeys[0]"
+          :loading="precisionEditTable.loading"
+          :columns="precisionEditTable.columns"
+          :dataSource="precisionEditTable.dataSource"
+          :maxHeight="600"
+          :disabled="formDisabled"
+          :rowNumber="true"
+          :rowSelection="false"
+          :toolbar="false"
+          bordered
+          :alwaysEdit="true"
+          />
+      </a-tab-pane>
+    </a-tabs>
+  </a-spin>
+</template>
+
+<script>
+
+  import { getAction } from '@/api/manage'
+  import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
+  import { duplicateCheck } from '@/api/api'
+  import { JVXETypes } from '@/components/jeecg/JVxeTable'
+  import { getRefPromise,VALIDATE_FAILED} from '@/components/jeecg/JVxeTable/utils/vxeUtils.js'
+  import { validateDuplicateValue } from '@/utils/util'
+  import JFormContainer from '@/components/jeecg/JFormContainer'
+  import dayjs from 'dayjs'
+  export default {
+    name: 'PrecisionEditTable',
+    mixins: [JVxeTableModelMixin],
+    components: {
+      JFormContainer,
+      dayjs
+    },
+    data() {
+      return {
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 5 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+        model:{
+         },
+        // 鏂板鏃跺瓙琛ㄩ粯璁ゆ坊鍔犲嚑琛岀┖鏁版嵁
+        addDefaultRowNum: 0,
+        validatorRules: {
+        },
+        refKeys: ['precisionEditTableList', ],
+        tableKeys:['precisionEditTableList', ],
+        activeKey: 'precisionEditTableList',
+        precisionEditTable: {
+          loading: false,
+          dataSource: [],
+          columns: [
+            {
+              title: 'id',
+              key: 'id',
+               type: JVXETypes.hidden,
+              disabled:true,
+              align:'center',
+            },
+            {
+              title: '绮惧害鍙傛暟缂栫爜',
+              key: 'precisionParametersNum',
+               type: JVXETypes.normal,
+              width:"200px",
+              placeholder: '璇疯緭鍏�${title}',
+              disabled:true,
+              align:'center',
+              defaultValue:'',
+              
+            },
+            {
+              title: '绮惧害鍙傛暟鍚嶇О',
+              key: 'precisionParametersName',
+               type: JVXETypes.normal,
+              width:"200px",
+              placeholder: '璇疯緭鍏�${title}',
+              disabled:true,
+              align:'center',
+              defaultValue:'',
+            },
+            {
+              title: '璁¢噺鍗曚綅',
+              key: 'precisionParametersUnitName',
+               type: JVXETypes.normal,
+              width:"200px",
+              placeholder: '璇疯緭鍏�${title}',
+              disabled:true,
+              align:'center',
+              defaultValue:'',
+            },
+            {
+              title: '涓婇檺鍊�',
+              key: 'upperLimit',
+              type: JVXETypes.inputNumber,
+              width:"200px",
+              placeholder: '璇疯緭鍏�${title}',
+              align:'center',
+              defaultValue:365,
+              validateRules: [
+              {
+                required: true, // 蹇呭~
+                message: '璇疯緭鍏�${title}' // 鏄剧ず鐨勬枃鏈�
+              },
+              // { handler({ cellValue, row, column }, callback, target) {
+              //       if (cellValue<1) {
+              //           callback(false, '${title}涓嶈兘灏忎簬1澶�') // false = 鏈�氳繃锛屽彲浠ヨ窡鑷畾涔夋彁绀�
+              //       } else {
+              //           callback(true) // true = 閫氳繃楠岃瘉
+              //       }
+              //   },
+              //   message: '${title}榛樿鎻愮ず'
+              // },
+              ]
+            },
+            {
+              title: '涓嬮檺鍊�',
+              key: 'lowerLimit',
+              type: JVXETypes.inputNumber,
+              width:"200px",
+              placeholder: '璇疯緭鍏�${title}',
+              align:'center',
+              defaultValue:365,
+              validateRules: [
+              {
+                required: true, // 蹇呭~
+                message: '璇疯緭鍏�${title}' // 鏄剧ず鐨勬枃鏈�
+              },
+              // { handler({ cellValue, row, column }, callback, target) {
+              //       if (cellValue<1) {
+              //           callback(false, '${title}涓嶈兘灏忎簬1澶�') // false = 鏈�氳繃锛屽彲浠ヨ窡鑷畾涔夋彁绀�
+              //       } else {
+              //           callback(true) // true = 閫氳繃楠岃瘉
+              //       }
+              //   },
+              //   message: '${title}榛樿鎻愮ず'
+              // },
+              ]
+            },
+            {
+              title: '瀹為檯绮惧害鍊�',
+              key: 'actualValue',
+              type: JVXETypes.inputNumber,
+              width:"200px",
+              placeholder: '璇疯緭鍏�${title}',
+              align:'center',
+              defaultValue:365,
+              validateRules: [
+              {
+                required: true, // 蹇呭~
+                message: '璇疯緭鍏�${title}' // 鏄剧ず鐨勬枃鏈�
+              },
+              // { handler({ cellValue, row, column }, callback, target) {
+              //       if (cellValue<1) {
+              //           callback(false, '${title}涓嶈兘灏忎簬1澶�') // false = 鏈�氳繃锛屽彲浠ヨ窡鑷畾涔夋彁绀�
+              //       } else {
+              //           callback(true) // true = 閫氳繃楠岃瘉
+              //       }
+              //   },
+              //   message: '${title}榛樿鎻愮ず'
+              // },
+              ]
+            },
+          ]
+        },
+        url: {
+          // add: "/tooling/toolingMakeAccountMain/add",
+          edit: "/eam/equipmentPrecisionParameters/newEdit",
+          // queryById: "/tooling/toolingMakeAccountMain/queryById",
+          precisionEditTableList: {
+            list: '/eam/equipmentPrecisionParameters/list'
+          },
+        }
+      }
+    },
+    props: {
+      //琛ㄥ崟绂佺敤
+      disabled: {
+        type: Boolean,
+        default: false,
+        required: false
+      },
+    },
+    computed: {
+      formDisabled(){
+        return this.disabled
+      },
+    },
+    created () {
+    },
+    methods: {
+      addBefore(){
+      },
+      getAllTable() {
+        let values = this.tableKeys.map(key => getRefPromise(this, key))
+        return Promise.all(values)
+      },
+      /** 璋冪敤瀹宔dit()鏂规硶涔嬪悗浼氳嚜鍔ㄨ皟鐢ㄦ鏂规硶 */
+      editAfter() {
+        this.$nextTick(() => {
+        })
+        // 鍔犺浇瀛愯〃鏁版嵁
+        if (this.model.id) {
+          let params = { equipmentId: this.model.id }
+          this.requestSubTableData(this.url.precisionEditTableList.list, params, this.precisionEditTable)
+        }
+      },
+      //鏍¢獙鎵�鏈変竴瀵逛竴瀛愯〃琛ㄥ崟
+        validateSubForm(allValues){
+            return new Promise((resolve,reject)=>{
+              Promise.all([
+              ]).then(() => {
+                resolve(allValues)
+              }).catch(e => {
+                if (e.error === VALIDATE_FAILED) {
+                  // 濡傛灉鏈夋湭閫氳繃琛ㄥ崟楠岃瘉鐨勫瓙琛紝灏辫嚜鍔ㄨ烦杞埌瀹冩墍鍦ㄧ殑tab
+                  this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index]
+                } else {
+                  console.error(e)
+                }
+              })
+            })
+        },
+      /** 鏁寸悊鎴恌ormData */
+      classifyIntoFormData(allValues) {
+        let main = Object.assign(this.model, allValues.formValue)
+        return {
+          ...main, // 灞曞紑
+          precisionEditTableList: allValues.tablesValue[0].tableData,
+        }
+      },
+      validateError(msg){
+        this.$message.error(msg)
+      },
+      changeDate(target){
+        console.log(target)
+        if(target.columnIndex==7){
+             target.row.nextCheckDate=dayjs().add(target.value,'day').format('YYYY-MM-DD')
+        }
+      }
+
+    }
+  }
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file
diff --git a/src/views/eam/modules/equipmentNew/edit/ProcessEditModel.vue b/src/views/eam/modules/equipmentNew/edit/ProcessEditModel.vue
new file mode 100644
index 0000000..11e1350
--- /dev/null
+++ b/src/views/eam/modules/equipmentNew/edit/ProcessEditModel.vue
@@ -0,0 +1,67 @@
+<template>
+  <j-modal
+    :title="'宸ヨ壓鍙傛暟缁存姢'"
+    :width="990"
+    :height="600"
+    :visible="visible"
+    :maskClosable="true"
+    switchFullscreen
+    @ok="handleOk"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    @cancel="handleCancel">
+    <process-edit-table 
+    ref="realForm"
+    @ok="submitCallback"
+    :disabled="disableSubmit"/>
+  </j-modal>
+</template>
+<script>
+import ProcessEditTable from './ProcessEditTable.vue'
+  export default {
+    name: 'ProcessEditModel',
+    components: {
+      ProcessEditTable
+    },
+    data() {
+      return {
+        title:'',
+        width:1500,
+        visible: false,
+        disableSubmit: false
+      }
+    },
+    methods:{
+      add () {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.addBefore();
+        })
+      },
+      edit (record) {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.edit(record);
+        })
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+        
+      },
+      handleOk () {
+        this.$refs.realForm.handleOk();
+      },
+      submitCallback(){
+        this.$emit('ok');
+        this.$bus.$emit('loadData')
+        this.visible = false;
+      },
+      handleCancel () {
+        this.close()
+      }
+    }
+  }
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file
diff --git a/src/views/eam/modules/equipmentNew/edit/ProcessEditTable.vue b/src/views/eam/modules/equipmentNew/edit/ProcessEditTable.vue
new file mode 100644
index 0000000..30fcbff
--- /dev/null
+++ b/src/views/eam/modules/equipmentNew/edit/ProcessEditTable.vue
@@ -0,0 +1,221 @@
+<template>
+  <a-spin :spinning="confirmLoading">
+    <j-form-container :disabled="formDisabled">
+      <!-- 涓昏〃鍗曞尯鍩� -->
+      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+        <a-row>
+        </a-row>
+      </a-form-model>
+    </j-form-container>
+      <!-- 瀛愯〃鍗曞尯鍩� -->
+    <a-tabs v-model="activeKey" @change="handleChangeTabs">
+      <a-tab-pane tab="宸ヨ壓鍙傛暟" :key="refKeys[0]" :forceRender="true">
+        <j-vxe-table
+          keep-source
+          :ref="refKeys[0]"
+          :loading="processEditTable.loading"
+          :columns="processEditTable.columns"
+          :dataSource="processEditTable.dataSource"
+          :maxHeight="600"
+          :disabled="formDisabled"
+          :rowNumber="true"
+          :rowSelection="false"
+          :toolbar="false"
+          bordered
+          :alwaysEdit="true"
+          />
+      </a-tab-pane>
+    </a-tabs>
+  </a-spin>
+</template>
+
+<script>
+
+  import { getAction } from '@/api/manage'
+  import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
+  import { duplicateCheck } from '@/api/api'
+  import { JVXETypes } from '@/components/jeecg/JVxeTable'
+  import { getRefPromise,VALIDATE_FAILED} from '@/components/jeecg/JVxeTable/utils/vxeUtils.js'
+  import { validateDuplicateValue } from '@/utils/util'
+  import JFormContainer from '@/components/jeecg/JFormContainer'
+  import dayjs from 'dayjs'
+  export default {
+    name: 'ProcessEditTable',
+    mixins: [JVxeTableModelMixin],
+    components: {
+      JFormContainer,
+      dayjs
+    },
+    data() {
+      return {
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 5 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+        model:{
+         },
+        // 鏂板鏃跺瓙琛ㄩ粯璁ゆ坊鍔犲嚑琛岀┖鏁版嵁
+        addDefaultRowNum: 0,
+        validatorRules: {
+        },
+        refKeys: ['processEditTableList', ],
+        tableKeys:['processEditTableList', ],
+        activeKey: 'processEditTableList',
+        // 搴撳瓨鍙拌处鏄庣粏
+        processEditTable: {
+          loading: false,
+          dataSource: [],
+          columns: [
+            {
+              title: 'id',
+              key: 'id',
+               type: JVXETypes.hidden,
+              disabled:true,
+              align:'center',
+            },
+            {
+              title: '宸ヨ壓鍙傛暟缂栫爜',
+              key: 'processParametersNum',
+               type: JVXETypes.normal,
+              width:"220px",
+              placeholder: '璇疯緭鍏�${title}',
+              disabled:true,
+              align:'center',
+              defaultValue:'',
+              
+            },
+            {
+              title: '宸ヨ壓鍙傛暟鍚嶇О',
+              key: 'processParametersName',
+               type: JVXETypes.normal,
+              width:"220px",
+              placeholder: '璇疯緭鍏�${title}',
+              disabled:true,
+              align:'center',
+              defaultValue:'',
+            },
+            {
+              title: '璁¢噺鍗曚綅',
+              key: 'processParametersUnitName',
+               type: JVXETypes.normal,
+              width:"220px",
+              placeholder: '璇疯緭鍏�${title}',
+              disabled:true,
+              align:'center',
+              defaultValue:'',
+            },
+            {
+              title: '鍙傛暟鍊�',
+              key: 'parametersValue',
+              type: JVXETypes.inputNumber,
+              width:"220px",
+              placeholder: '璇疯緭鍏�${title}',
+              align:'center',
+              defaultValue:365,
+              validateRules: [
+              {
+                required: true, // 蹇呭~
+                message: '璇疯緭鍏�${title}' // 鏄剧ず鐨勬枃鏈�
+              },
+              // { handler({ cellValue, row, column }, callback, target) {
+              //       if (cellValue<0) {
+              //           callback(false, '${title}涓嶈兘灏忎簬1澶�') // false = 鏈�氳繃锛屽彲浠ヨ窡鑷畾涔夋彁绀�
+              //       } else {
+              //           callback(true) // true = 閫氳繃楠岃瘉
+              //       }
+              //   },
+              //   message: '${title}榛樿鎻愮ず'
+              // },
+              ]
+            },
+          ]
+        },
+        url: {
+          // add: "/tooling/toolingMakeAccountMain/add",
+          edit: "/eam/equipmentProcessParameters/newEdit",
+          // queryById: "/tooling/toolingMakeAccountMain/queryById",
+          processEditTableList: {
+            list: '/eam/equipmentProcessParameters/list'
+          },
+        }
+      }
+    },
+    props: {
+      //琛ㄥ崟绂佺敤
+      disabled: {
+        type: Boolean,
+        default: false,
+        required: false
+      },
+    },
+    computed: {
+      formDisabled(){
+        return this.disabled
+      },
+    },
+    created () {
+    },
+    methods: {
+      addBefore(){
+      },
+      getAllTable() {
+        let values = this.tableKeys.map(key => getRefPromise(this, key))
+        return Promise.all(values)
+      },
+      /** 璋冪敤瀹宔dit()鏂规硶涔嬪悗浼氳嚜鍔ㄨ皟鐢ㄦ鏂规硶 */
+      editAfter() {
+        this.$nextTick(() => {
+        })
+        // 鍔犺浇瀛愯〃鏁版嵁
+        if (this.model.id) {
+          let params = { 
+            equipmentId: this.model.id,
+            pageSize:9999
+           }
+          this.requestSubTableData(this.url.processEditTableList.list, params, this.processEditTable)
+        }
+      },
+      //鏍¢獙鎵�鏈変竴瀵逛竴瀛愯〃琛ㄥ崟
+        validateSubForm(allValues){
+            return new Promise((resolve,reject)=>{
+              Promise.all([
+              ]).then(() => {
+                resolve(allValues)
+              }).catch(e => {
+                if (e.error === VALIDATE_FAILED) {
+                  // 濡傛灉鏈夋湭閫氳繃琛ㄥ崟楠岃瘉鐨勫瓙琛紝灏辫嚜鍔ㄨ烦杞埌瀹冩墍鍦ㄧ殑tab
+                  this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index]
+                } else {
+                  console.error(e)
+                }
+              })
+            })
+        },
+      /** 鏁寸悊鎴恌ormData */
+      classifyIntoFormData(allValues) {
+        let main = Object.assign(this.model, allValues.formValue)
+        return {
+          ...main, // 灞曞紑
+          processEditTableList: allValues.tablesValue[0].tableData,
+        }
+      },
+      validateError(msg){
+        this.$message.error(msg)
+      },
+      changeDate(target){
+        console.log(target)
+        if(target.columnIndex==7){
+             target.row.nextCheckDate=dayjs().add(target.value,'day').format('YYYY-MM-DD')
+        }
+      }
+
+    }
+  }
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file

--
Gitblit v1.9.3