From 7fbe0f95cf428eb516f9015adae8bbe4baf539d4 Mon Sep 17 00:00:00 2001 From: hyingbo <1363390067@qq.com> Date: 星期五, 25 七月 2025 11:01:15 +0800 Subject: [PATCH] 安灯管理列表筛选条件修改 --- src/views/tms/requirement/modules/ToolsSharpeningModal.vue | 390 +++++++++++++++++++++---------------------------------- 1 files changed, 149 insertions(+), 241 deletions(-) diff --git a/src/views/tms/requirement/modules/ToolsSharpeningModal.vue b/src/views/tms/requirement/modules/ToolsSharpeningModal.vue index 37c0fb8..2ed8659 100644 --- a/src/views/tms/requirement/modules/ToolsSharpeningModal.vue +++ b/src/views/tms/requirement/modules/ToolsSharpeningModal.vue @@ -2,125 +2,137 @@ <j-modal :title="title" :width="1200" - :visible="visible" :confirmLoading="confirmLoading" switchFullscreen centered + :visible="visible" :mask-closable="false" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴"> + + <a-spin :spinning="spinning"> <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-row :gutter="24"> - <a-col :span="8"> - <a-form-model-item prop="standardCode" label="宸ュ叿缂栧彿"> - <a-input-search v-model="model.toolsId" placeholder="璇烽�夋嫨宸ュ叿缂栧彿" :disabled="disableSubmit" @search="onSearchPart" enter-button + <a-col :span="12"> + <a-form-model-item prop="standardCode" label="宸ュ叿缂栫爜"> + <a-input-search v-model="model.toolId" placeholder="璇烽�夋嫨宸ュ叿缂栫爜" :disabled="disableSubmit" + @search="selectTools" enter-button /> </a-form-model-item> </a-col> - <a-col :span="10"> - <a-form-model-item prop="equipmentId" label="宸ュ叿鍒嗙被鍚嶇О"> - <a-input placeholder="璇疯緭鍏ュ伐鍏峰垎绫诲悕绉�" v-model="model.typeName" readOnly/> + <a-col :span="12"> + <a-form-model-item prop="classify_id" label="宸ュ叿鍒嗙被鍚嶇О"> + <a-input placeholder="璇疯緭鍏ュ伐鍏峰垎绫诲悕绉�" v-model="model.classifyId" readOnly :disabled="disableSubmit" /> </a-form-model-item> </a-col> </a-row> <a-row :gutter="24"> - <a-col :span="8"> - <a-form-model-item prop="standardCode" label="宸ュ叿鍙傛暟鏍囪瘑"> - <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" readOnly v-model="model.paraTypeFlagName" readOnly/> + <a-col :span="12"> + <a-form-model-item prop="paramaTableName" label="宸ュ叿鍙傛暟鏍囪瘑"> + <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" readOnly v-model="model.paramaTableName_dictText" readOnly + :disabled="disableSubmit" /> </a-form-model-item> </a-col> - <a-col :span="8"> + <a-col :span="12"> <a-form-model-item label="宸ュ叿绫诲瀷"> - <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" v-model="model.applicationType" readOnly/> + <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" v-model="model.applicationType_dictText" readOnly + :disabled="disableSubmit" /> </a-form-model-item> </a-col> </a-row> <a-row :gutter="24"> - <a-col :span="8"> - <a-form-model-item prop="operator" label="璐d换浜�"> - <j-dict-select-tag type="list" v-model="model.reportPerson" dictCode="sys_user,realname,id" placeholder="璇烽�夋嫨鎶ュ伐浜哄憳" /> + <a-col :span="12"> + <a-form-model-item prop="responsiblePerson" label="璐d换浜�"> + <j-dict-select-tag type="list" v-model="model.responsiblePerson" dictCode="sys_user,realname,id" + placeholder="璇烽�夋嫨璐d换浜�" :disabled="disableSubmit" /> </a-form-model-item> </a-col> - <a-col :span="8"> - <a-form-model-item prop="standardName" label="宸ュ叿鍒嗙被缂栫爜"> - <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" readOnly v-model="model.classifyId" readOnly/> + <a-col :span="12"> + <a-form-model-item label="鍒冪(鏃堕棿" prop="sharpeningTime"> + <j-date placeholder="璇烽�夋嫨鍒冪(鏃堕棿" date-format="YYYY-MM-DD HH:mm:ss" v-model="model.sharpeningTime" + style="width: 100%" :disabled="disableSubmit" /> </a-form-model-item> </a-col> </a-row> <a-row :gutter="24"> - <a-col :span="8"> - <a-form-model-item label="缁撴灉鍙婂缓璁�" prop="inspectionDate"> - <a-input placeholder="閫夋嫨濉啓鍒冪(缁撴灉鍙婂缓璁�" v-model="model.sharpeningResult" readOnly/> + <a-col :span="12"> + <a-form-model-item label="鍒冪(缁撴灉鍙婂缓璁�" prop="sharpeningResult"> + <a-textarea placeholder="閫夋嫨濉啓鍒冪(缁撴灉鍙婂缓璁�" v-model="model.sharpeningResult" + :disabled="disableSubmit" /> </a-form-model-item> </a-col> - <a-col :span="6"> + <a-col :span="12"> <a-form-model-item label="鍨嬪彿/鍥惧彿"> - <j-date placeholder="閫夋嫨濉啓鍨嬪彿/鍥惧彿" v-model="model.toolModel" disabled style="width: 100%"/> + <a-input placeholder="閫夋嫨濉啓鍨嬪彿/鍥惧彿" v-model="model.toolModel" :disabled="disableSubmit" /> </a-form-model-item> </a-col> </a-row> <a-row :gutter="24"> - <a-col :span="8"> + <a-col :span="12"> <a-form-model-item label="浠撳簱鍩庡競" prop="inspectionDate"> - <a-input placeholder="閫夋嫨濉啓浠撳簱鐪佷唤鍩庡競" v-model="model.provinceCity" readOnly/> + <a-input placeholder="閫夋嫨濉啓浠撳簱鐪佷唤鍩庡競" v-model="model.provinceCity" readOnly + :disabled="disableSubmit" /> </a-form-model-item> </a-col> - <a-col :span="8"> + <a-col :span="12"> <a-form-model-item label="搴撳尯/搴撳彿"> - <j-date placeholder="閫夋嫨濉啓搴撳尯/搴撳彿" v-model="model.warehouseId" disabled style="width: 100%"/> + <a-input placeholder="閫夋嫨濉啓搴撳尯/搴撳彿" v-model="model.warehouseId" readOnly :disabled="disableSubmit" /> </a-form-model-item> </a-col> </a-row> <a-row :gutter="24"> - <a-col :span="8"> - <a-form-model-item label="瀛樺偍浣嶇疆" prop="inspectionDate"> - <a-input placeholder="閫夋嫨濉啓瀛樺偍浣嶇疆" v-model="model.storageLocation" readOnly/> + <a-col :span="12"> + <a-form-model-item label="瀛樺偍浣嶇疆" prop="storageLocation"> + <a-input placeholder="閫夋嫨濉啓瀛樺偍浣嶇疆" v-model="model.positionCode" readOnly + :disabled="disableSubmit" /> </a-form-model-item> </a-col> - <a-col :span="8"> + <a-col :span="12"> <a-form-model-item label="璁¢噺涓诲崟浣�"> - <j-date placeholder="璇峰~鍐欒閲忎富鍗曚綅" v-model="model.mainUnit" disabled style="width: 100%"/> + <a-input placeholder="璇峰~鍐欒閲忎富鍗曚綅" v-model="model.mainUnit" readOnly :disabled="disableSubmit" /> </a-form-model-item> </a-col> </a-row> <a-row :gutter="24"> - <a-col :span="8"> - <a-form-model-item label="鍒冪(鏃堕棿" prop="inspectionDate"> - <j-date placeholder="璇烽�夋嫨鎵撳嵃鏃堕棿" v-model="model.sharpeningTime" style="width: 100%" /> - </a-form-model-item> - </a-col> - - </a-row> - <a-row :gutter="24"> - <a-col :span="24"> - <a-form-model-item label="澶囨敞" :labelCol="{span:2}" :wrapperCol="{span:21}" prop="remark"> - <a-textarea v-model="model.remark" rows="3" placeholder="璇疯緭鍏ュ娉�"/> + <a-col :span="12"> + <a-form-model-item label="澶囨敞" prop="remark"> + <a-textarea v-model="model.remark" rows="3" placeholder="璇疯緭鍏ュ娉�" :disabled="disableSubmit" /> </a-form-model-item> </a-col> </a-row> </a-form-model> </a-spin> + <template slot="footer"> + <a-button :style="{ marginRight: '8px' }" @click="handleCancel()"> + 鍏抽棴 + </a-button> + + <a-button @click="handleOk()" :disabled="disableSubmit" type="primary" :loading="confirmLoading">纭畾</a-button> + </template> + <tools-modal ref="toolListModel" @sendSelectionRows="getRows"></tools-modal> + + </j-modal> </template> <script> -import { getAction, httpAction } from '@/api/manage' -import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' -import { JVXETypes } from '@/components/jeecg/JVxeTable' -import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect' -import moment from 'dayjs' +import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js' +import ToolsModal from '@views/tms/requirement/modules/ToolsModal.vue' +import DeviceListModel from '@views/mdc/base/modules/EquipmentList/DeviceListModal.vue' +import { requestPut, postAction, httpAction } from '@/api/manage' export default { name: 'ToolsSharpeningModal', mixins: [JVxeTableModelMixin], components: { - MaintenanceEquipmentSelect + DeviceListModel, + ToolsModal }, data() { return { @@ -138,112 +150,72 @@ confirmLoading: false, spinning: false, disabled: false, + disableSubmit: false, validatorRules: { - // standardName: [ - // { required: true, message: '璇疯緭鍏ユ爣鍑嗗悕绉�!' } - // ], - inspectionDate: [ - { required: true, message: '璇烽�夋嫨鐐规鏃ユ湡!' } + + sharpeningTime: [ + { required: true, message: '璇烽�夋嫨鍒冪(鏃ユ湡!' } ], - // maintenancePeriod: [ - // { required: true, message: '璇疯緭鍏ヤ繚鍏诲懆鏈燂紝鍗曚綅锛氬ぉ!' } - // ], - equipmentId: [ - { required: true, message: '璇烽�夋嫨璁惧!' } + responsiblePerson: [ + { required: true, message: '璇烽�夋嫨璐d换浜�!' } + ], + sharpeningResult: [ + { required: true, message: '璇疯緭鍏ュ垉纾ㄧ粨鏋滃強寤鸿!' } ] }, + lastSelectionData: null, url: { - add: '/eam/eamInspectionOrder/add', - edit: '/eam/eamInspectionOrder/edit', - detail: '/eam/eamMaintenanceStandardDetail/queryList', - detailOrder: '/eam/eamInspectionOrderDetail/queryList', - userSelect: '/eam/user_select/list' - }, - maintenanceCategory: 'POINT_INSPECTION', - maintenanceOperatorOptions: [], - standardId: '', - standardType: false, - detail: { - loading: false, - dataSource: [], - columns: [ - { - title: '搴忓彿', - key: 'itemCode', - type: JVXETypes.inputNumber, - width: '10%', - align: 'center', - validateRules: [ - { required: true, unique: true, message: '搴忓彿涓嶈兘閲嶅' } - ] - }, - { - title: '淇濆吇椤�', - key: 'itemName', - type: JVXETypes.textarea, - width: '20%', - align: 'center', - validateRules: [ - { required: true, message: '淇濆吇椤逛笉鑳戒负绌猴紒' } - ] - }, - { - title: '淇濆吇瑕佹眰', - key: 'itemDemand', - type: JVXETypes.textarea, - width: '30%', - align: 'center', - validateRules: [ - { required: true, message: '淇濆吇瑕佹眰涓嶈兘涓虹┖锛�' } - ] - } - ] + add: '/tms/toolSharpening/add', + edit: '/tms/toolSharpening/edit' } } }, created() { }, + methods: { + getRows(item) { + console.log(item) + if (item.id) { + this.$set(this.model, 'toolId', item.toolId) + this.$set(this.model, 'toolCode', item.toolCode) + this.$set(this.model, 'classifyId', item.classifyId) + this.$set(this.model, 'paramaTableName_dictText', item.paramaTableName_dictText) + this.$set(this.model, 'applicationType_dictText', item.applicationType_dictText) + this.$set(this.model, 'toolModel', item.toolModel) + this.$set(this.model, 'provinceCity', item.provinceCity) + this.$set(this.model, 'warehouseId', item.warehouseId) + this.$set(this.model, 'positionCode', item.positionCode) + this.$set(this.model, 'mainUnit', item.mainUnit) + } + }, + + selectTools: function() { + this.$refs.toolListModel.showModals() + this.$refs.toolListModel.title = '閫夋嫨宸ュ叿淇℃伅' + this.$refs.toolListModel.disableSubmit = false + }, + add() { - this.model = {} - this.detail.dataSource = [] - this.visible = true - this.disabled = false - this.standardType = false + this.edit({}) }, - edit(record) { - this.model = Object.assign({}, record) - this.standardId = record.standardId - this.disabled = true - this.standardType = true - this.visible = true - this.detail.dataSource = [] - if (record && record.referenceFile) { - let obj = JSON.parse(record.referenceFile) - this.model.fileList = [obj] - } else { - this.model.fieldList = [] - } - this.loadDetailOrder(record.id) + let that = this + that.visible = true + that.model = Object.assign({}, record) }, - async handleOk() { + close() { + this.$emit('close') + this.visible = false + }, + handleOk() { const that = this - let errMap = await that.$refs.editableDetailTable.validateTable() - if (errMap) { - this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�') - return - } // 瑙﹀彂琛ㄥ崟楠岃瘉 this.$refs.form.validate(valid => { if (valid) { - let tableData = that.$refs.editableDetailTable.getTableData() - let removeData = that.$refs.editableDetailTable.getDeleteData() - that.model.tableDetailList = [...tableData] - that.model.removeDetailList = [...removeData] - - that.confirmLoading = that.spinning = true + let formData = Object.assign(this.model) + that.confirmLoading = true let httpurl = '' let method = '' if (!this.model.id) { @@ -253,133 +225,69 @@ httpurl += this.url.edit method = 'put' } - this.model.standardId = this.standardId - httpAction(httpurl, this.model, method).then((res) => { + httpAction(httpurl, this.model, method,formData).then((res) => { if (res.success) { that.$message.success(res.message) that.$emit('ok') - that.close() } else { that.$message.warning(res.message) } }).finally(() => { - that.confirmLoading = that.spinning = false + that.confirmLoading = false + that.close() }) } else { return false } }) }, - onSearchPart() { - this.$refs.PartPopUp.showModals([this.model.enterpriseId]) - }, - - autocompleteForm(selectObj) { - this.model.standardName = selectObj.standardName - this.model.maintenancePeriod = selectObj.maintenancePeriod - this.model.standardCode = selectObj.standardCode - // 鑻ュ彇娑堣澶囬�夋嫨鍚庝繚鍏诲懆鏈熶负绌哄垯闇�娓呯┖鐐规鏃ユ湡鍜岀偣妫�杩囨湡鏃堕棿 - if (!this.model.equipmentId) { - delete this.model.inspectionDate - delete this.model.expirationTime - } else { - // 濡傛灉鐐规鏃ユ湡瀛樺湪锛屽垯鍦ㄩ噸鏂伴�夋嫨璁惧鍚庡嵆淇濆吇鍛ㄦ湡鍙兘鍙戠敓鏀瑰彉鍚庨噸鏂拌绠楄繃鏈熸椂闂� - if (this.model.inspectionDate) this.expirationTimeFrom(this.model.inspectionDate) - } - if (!this.standardType) { - console.log('this.standardType', this.standardType) - this.standardId = selectObj.id - this.loadDetail(selectObj.id) - } - this.$nextTick(() => this.loadMaintenanceOperatorList(this.model.equipmentId)) - }, - - expirationTimeFrom(date) { - //杩囨湡鏃堕棿鏄垵濮嬫椂闂�+淇濆吇鍛ㄦ湡 - if (date && this.model.maintenancePeriod) { - // 杞崲涓烘椂闂存埑瀛楃涓诧紙鎴栨寚瀹氭牸寮忥級 - this.model.expirationTime = moment(date) - .add(this.model.maintenancePeriod, 'days') - .format('YYYY-MM-DD') - } else { - this.model.expirationTime = null // 娓呯┖鏃犳晥鍊� - } - }, - - //鍔犺浇璇︽儏鏁版嵁 - loadDetail(standardId) { - this.detail.dataSource = [] - if (standardId) { - console.log('standardId', standardId) - this.spinning = true - getAction(this.url.detail, { standardId: standardId }) - .then(res => { - if (res.success) { - this.detail.dataSource = [...res.result] - } - }) - .finally(() => { - this.spinning = false - }) - } - }, - - loadDetailOrder(orderId) { - if (orderId) { - this.spinning = true - getAction(this.url.detailOrder, { orderId: orderId }) - .then(res => { - if (res.success) { - this.detail.dataSource = [...res.result] - } - }) - .finally(() => { - this.spinning = false - }) - } - }, - - loadMaintenanceOperatorList(equipmentId) { - this.maintenanceOperatorOptions = [] - let params = { positionCode: 'PCR0001' } - if (equipmentId) { - params.equipmentId = equipmentId - } else { - delete this.model.operator - return - } - const that = this - getAction(this.url.userSelect, params) - .then(res => { - if (res.success) { - that.maintenanceOperatorOptions = res.result.map(item => ({ - key: item.id, - value: item.username, - text: item.realname - })) - if (!that.maintenanceOperatorOptions.find(item => item.value === that.model.operator)) delete that.model.operator - } else { - if (that.model.operator) delete that.model.operator - } - }) - .catch(err => { - if (that.model.operator) delete that.model.operator - }) - }, + // handleOk() { + // const that = this + // that.confirmLoading = true + // + // // 鉁� 瑙﹀彂琛ㄥ崟楠岃瘉 + // this.$refs.form.validate(valid => { + // if (valid) { + // let formData = Object.assign(this.model) + // + // let obj + // if (!this.model.id) { + // obj = postAction(this.url.add, formData) + // } else { + // obj = requestPut(this.url.edit, formData, { id: this.model.id }) + // } + // + // obj.then((res) => { + // if (res.success) { + // that.$message.success(res.message) + // that.$emit('ok') + // that.close() + // } else { + // that.$message.warning(res.message) + // } + // }).finally(() => { + // that.confirmLoading = false + // }) + // } else { + // that.$message.warning('璇峰~鍐欏繀濉瓧娈�') + // that.confirmLoading = false + // return false + // } + // }) + // }, handleCancel() { this.close() }, - close() { - this.$emit('close') - this.visible = false - this.$refs.form.clearValidate() - } + } } </script> <style lang="less" scoped> -</style> \ No newline at end of file +</style> + + + -- Gitblit v1.9.3