| | |
| | | <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> |
| | |
| | | </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> |
| | | |
| | |
| | | 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 { |
| | |
| | | EquipmentPrecisionParametersList, |
| | | EquipmentModal, |
| | | EquipmentResumeDrawer, |
| | | JSearchSelectTag |
| | | JSearchSelectTag, |
| | | ProcessEditModel, |
| | | PrecisionEditModel, |
| | | }, |
| | | data () { |
| | | return { |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | |
| | | <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> |
| | |
| | | :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" |
| | |
| | | title="å¼å¯ç²¾åº¦åæ°ç®¡çåå¯ç¹å»" |
| | | >æäº¤</a-button> |
| | | </span> |
| | | </div> |
| | | </template> |
| | | </div> --> |
| | | <!-- </template> --> |
| | | |
| | | <!-- <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | |
| | | 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, |
| | | }, |
| | | { |
| | |
| | | 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", |
| | |
| | | this.selectionRows = selectionRows; |
| | | }, |
| | | |
| | | }, |
| | | mounted(){ |
| | | this.$bus.$on('loadData', (data) => { |
| | | this.loadData(); |
| | | }); |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <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> |
| | |
| | | :loading="loading" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | @change="handleTableChange"> |
| | | <template |
| | | <!-- <template |
| | | v-for="col in columns" |
| | | :slot="col.dataIndex" |
| | | slot-scope='text, record, index' |
| | |
| | | >æäº¤</a-button> |
| | | </span> |
| | | </div> |
| | | </template> |
| | | </template> --> |
| | | <!-- <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | <a-divider type="vertical" /> |
| | |
| | | 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", |
| | |
| | | }, |
| | | |
| | | |
| | | }, |
| | | mounted(){ |
| | | this.$bus.$on('loadData', (data) => { |
| | | this.loadData(); |
| | | }); |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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) |
| | | }, |
| | | /** è°ç¨å®edit()æ¹æ³ä¹åä¼èªå¨è°ç¨æ¤æ¹æ³ */ |
| | | 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) |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | /** æ´çæformData */ |
| | | 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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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) |
| | | }, |
| | | /** è°ç¨å®edit()æ¹æ³ä¹åä¼èªå¨è°ç¨æ¤æ¹æ³ */ |
| | | 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) |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | /** æ´çæformData */ |
| | | 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> |