From ba77fdc6a30c9ad0941e40319f8c4f6fe6fdf9f1 Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期四, 07 八月 2025 10:30:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/mdc/base/modules/deviceRepair/DeviceRepairModelEdit.vue | 485 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 485 insertions(+), 0 deletions(-) diff --git a/src/views/mdc/base/modules/deviceRepair/DeviceRepairModelEdit.vue b/src/views/mdc/base/modules/deviceRepair/DeviceRepairModelEdit.vue new file mode 100644 index 0000000..adac88d --- /dev/null +++ b/src/views/mdc/base/modules/deviceRepair/DeviceRepairModelEdit.vue @@ -0,0 +1,485 @@ +<template> + <a-modal :title="title" :width="800" :visible="visible" :confirmLoading="confirmLoading" + :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item label="寮�濮嬫椂闂�" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-date :show-time="{hideDisabledOptions:true}" date-format="YYYY-MM-DD HH:mm:ss" + placeholder="璇烽�夋嫨寮�濮嬫椂闂�" :disabledDate="disabledDate" + class="query-group-cust" v-decorator="['startTime', validatorRules.startTime]" + :disabledTime="disabledDateTime" :showToday="false"></j-date> + </a-form-item> + + </a-col> + <a-col :span="12"> + <a-form-item label="璁惧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囧悕绉�" + v-decorator="['equipmentName',validatorRules.equipmentName]"/> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item label="缁撴潫鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <j-date :show-time="{hideDisabledOptions:true}" date-format="YYYY-MM-DD HH:mm:ss" + placeholder="璇烽�夋嫨缁撴潫鏃堕棿" + :disabledDate="disabledDate" + class="query-group-cust" v-decorator="['endTime', validatorRules.endTime]" + :disabledTime="disabledDateTime" :showToday="false"></j-date> + </a-form-item> + </a-col> + <a-col :span="12"> + + <a-form-item label="璁惧缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囩紪鍙�" + v-decorator="['equipmentId',validatorRules.equipmentId]"/> + </a-form-item> + </a-col> + </a-row> + </a-form> + </a-spin> + <!--<device-repair-list-model ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></device-repair-list-model>--> + <device-repair-edit-list-model ref="deviceRepairListModel" + @sendSelectionRows="getDeviceRows"></device-repair-edit-list-model> + </a-modal> +</template> + +<script> + import moment from 'moment' + import pick from 'lodash.pick' + import DeviceRepairListModel from './DeviceRepairListModel' + import DeviceRepairEditListModel from './DeviceRepairEditListModel' + import JDate from './JDate' + import { + getAction, + postAction, + requestPut + } from '@/api/manage' + import { + duplicateCheck + } from '@/api/api' + + export default { + name: 'DeviceRepairModelEdit', + components: { DeviceRepairListModel, JDate, DeviceRepairEditListModel }, + props: {}, + data() { + return { + readOnly: true, + title: '', + visible: false, + show: false, + model: {}, + checked: false, + startData: '', + endData: '', + labelCol: { + xs: { + span: 24 + }, + sm: { + span: 6 + } + }, + wrapperCol: { + xs: { + span: 24 + }, + sm: { + span: 18 + } + }, + labelColLong: { + xs: { + span: 24 + }, + sm: { + span: 3 + } + }, + wrapperColLong: { + xs: { + span: 24 + }, + sm: { + span: 21 + } + }, + confirmLoading: false, + form: this.$form.createForm(this), + validatorRules: { + equipmentId: { + rules: [ + { + required: true, + message: '' + } + ] + }, + equipmentName: { + rules: [ + { + required: true, + message: '' + } + ] + }, + startTime: { + rules: [ + { + required: true, + message: '璇烽�夋嫨寮�濮嬫椂闂�' + } + ] + }, + endTime: { + rules: [ + { + required: true, + message: '璇烽�夋嫨缁撴潫鏃堕棿' + } + ] + } + // mdcRepairType:{ + // rules:[ + // { + // required:true, + // message: "" + // }, + // ], + // initialValue: '浼戠彮' + // } + }, + + url: { + add: '/mdc/mdcEquipmentRepair/add', + edit: '/mdc/mdcEquipmentRepair/edit' + }, + + disableSubmit: true, + partCategoryCascade: [], + cascadeDefaultValue: [], + editStart: '' + } + }, + created() { + }, + + methods: { + disabledDate(current) { + //Can not slect days before today and today + // return current && current < moment().endOf("day"); + return current < moment().subtract(+2, 'day').endOf('day')//鍓嶄竴澶╀箣鍓嶇殑骞存湀鏃ヤ笉鍙�夛紝涓嶅寘鎷墠涓�澶� + }, + moment, + // onChange(dates) { + // console.log(111) + // console.log(dates,dateStrings) + // // console.log('From: ', dates[0], ', to: ', dates[1]); + // // console.log('From: ', dateStrings[0], ', to: ', dateStrings[1]); + // // this.startTime = dateStrings[0]; + // // this.endData = dateStrings[1]; + // // console.log(this.startData,this.endData); + // }, + onChangeEnd(dates, dateStrings) { + this.endTime = dateStrings[0] + }, + getDeviceRows(val) { + this.form.setFieldsValue({ + equipmentId: val.equipmentId, + equipmentName: val.equipmentName + // // equipmentModel: val.equipmentModel, + // // equipmentIp: val.equipmentIp, + // // dataPort: val.dataPort, + // // driveType: val.driveType + }) + // var equipmentIds; + // for(var i = 0;i<val.length;i++){ + // if (i == 0) { + // equipmentIds = val[i].equipmentId; + // } else { + // equipmentIds = equipmentIds + "," + val[i].equipmentId; + // } + // } + // console.log("========",equipmentIds); + // this.form.setFieldsValue({ + // equipmentId: equipmentIds, + // }) + }, + deviceSearch() { + this.$refs.deviceRepairListModel.openPage() + this.$refs.deviceRepairListModel.title = '閫夋嫨璁惧' + this.$refs.deviceRepairListModel.disableSubmit = false + }, + //绾ц仈妗唎nChange浜嬩欢 + // onChange(value) { + // + // }, + getParentIdsById(id) { + let that = this + getAction(this.url.getParentIdsById, { + id: id + }).then((res) => { + if (res.success) { + that.form.setFieldsValue({ + partCategoryId: res.result + }) + } + }) + }, + add(node) { + let _this = this + this.visible = true + this.form.resetFields() + this.model = {} + this.$nextTick(() => { + // _this.form.setFieldsValue({ 'tierType': node.entity.tierType + 1, 'parentName': node.title }) + // _this.model.parentId = node.key + }) + }, + edit(record) { + this.form.resetFields() + this.model = Object.assign({}, record) + this.editStart = (this.model.startTime).replace(/:/g, '') + this.visible = true + this.$nextTick(() => { + this.form.setFieldsValue(pick(this.model, 'tierType', 'parentName', 'equipmentId', 'equipmentName', 'startTime', 'endTime' + )) + }) + }, + close() { + this.$emit('close') + this.visible = false + this.show = false + }, + handleOk() { + const that = this + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.form.validateFields((err, values) => { + if (!err) { + that.confirmLoading = true + let formData = Object.assign(this.model, values) + let start = moment(formData.startTime).format('YYYY-MM-DD HH:mm:ss') + let end = moment(formData.endTime).format('YYYY-MM-DD HH:mm:ss') + let startOne = start.replace(/:/g, '') + let endOne = end.replace(/:/g, '') + var data = new Date() + let stertDate = moment(data).format('YYYY-MM-DD HH:mm:ss') + let dataStart = stertDate.replace(/:/g, '') + // if (this.editStart != startOne) { + // if (startOne < dataStart) { + // // that.$message.warning("寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�") + // that.$notification.warning({ + // message: '娑堟伅', + // description: '寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�' + // }) + // that.confirmLoading = false + // } else { + // if (startOne >= endOne) { + // // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�"); + // that.$notification.warning({ + // message: '娑堟伅', + // description: '缁撴潫鏃堕棿涓嶈兘灏忎簬褰撳墠鏃堕棿' + // }) + // // console.log(this.model) + // // this.endTime = '' + // that.confirmLoading = false + // + // } else { + // let obj + // if (!this.model.id) { + // obj = postAction(this.url.add, formData) + // } else { + // + // obj = requestPut(this.url.edit, formData, { + // id: this.model.id + // }) + // let shijian = startOne + // } + // obj.then((res) => { + // if (res.success) { + // // that.$message.success("淇敼鎴愬姛") + // // that.$message.success(res.message) + // that.$notification.success({ + // message: '娑堟伅', + // description: res.message + // }) + // that.$emit('ok', res.result) + // } else { + // // that.$message.warning(res.message) + // that.$notification.warning({ + // message: '娑堟伅', + // description: res.message + // }) + // } + // }).finally(() => { + // that.confirmLoading = false + // that.close() + // }) + // } + // } + // } else { + // if (startOne >= endOne) { + // // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�"); + // that.$notification.warning({ + // message: '娑堟伅', + // description: '缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�' + // }) + // // console.log(this.model) + // // this.endTime = '' + // that.confirmLoading = false + // + // } else { + // let obj + // if (!this.model.id) { + // obj = postAction(this.url.add, formData) + // } else { + // + // obj = requestPut(this.url.edit, formData, { + // id: this.model.id + // }) + // let shijian = startOne + // } + // obj.then((res) => { + // if (res.success) { + // // that.$message.success("淇敼鎴愬姛") + // // that.$message.success(res.message) + // that.$notification.success({ + // message: '娑堟伅', + // description: res.message + // }) + // that.$emit('ok', res.result) + // } else { + // // that.$message.warning(res.message) + // that.$notification.warning({ + // message: '娑堟伅', + // description: res.message + // }) + // } + // }).finally(() => { + // that.confirmLoading = false + // that.close() + // }) + // } + // } + if (startOne >= endOne) { + // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�"); + that.$notification.warning({ + message: '娑堟伅', + description: '缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�' + }) + // console.log(this.model) + // this.endTime = '' + that.confirmLoading = false + } else { + 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("娣诲姞鎴愬姛") + that.$notification.success({ + message: '娑堟伅', + description: '淇敼鎴愬姛' + }) + // that.$message.success(res.message) + that.$emit('ok', res.result) + } else { + // that.$message.warning(res.message) + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }).finally(() => { + that.confirmLoading = false + that.close() + }) + } + } + }) + }, + handleCancel() { + this.close() + }, + loadCascade() { + getAction(this.url.loadCascadeData).then((res) => { + if (res.success) { + this.partCategoryCascade = res.result + } + }) + }, + onCascadeChange(value, selectedOptions) { + this.cascadeDefaultValue = [...value] + }, + filter(inputValue, path) { + return path.some(option => option.label.toLowerCase().indexOf(inputValue.toLowerCase()) > -1) + }, + //楠岃瘉 缂栫爜 + validateNum(rule, value, callback) { + var params = { + tableName: 'lxmes_base_part', + fieldName: 'num', + fieldVal: value, + dataId: this.model.id, + //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true + delFlag: 'true' + } + duplicateCheck(params).then((res) => { + if (res.success) { + callback() + } else { + callback('瀛樿揣缂栫爜宸插瓨鍦�!') + } + }) + }, + checkboxChange(e) { + this.checked = e.target.checked + }, + range(start, end) { + const result = [] + for (let i = start; i < end; i++) { + result.push(i) + } + return result + }, + /** + * 绂佺敤鏃ユ湡閫夋嫨鍣ㄤ腑鐨勬椂闂撮�夋嫨 + * @returns {{disabledSeconds: (function(): number[])}} 杩斿洖鍊间负涓�涓璞★紝鍙互绂佹灏忔椂銆佸垎閽熴�佺锛岀洰鍓嶄粎绂佹鎵�鏈夌鏁�,鏈�浣庝粠1寮�濮嬶紝浠�0寮�濮嬬‘瀹氭寜閽皢琚鐢� + */ + disabledDateTime() { + return { + disabledSeconds: () => this.range(1, 60) + } + } + } + } +</script> + +<style scoped> + .ant-btn { + padding: 0 10px; + margin-left: 3px; + } + + .ant-form-item-control { + line-height: 0px; + } + + /** 涓昏〃鍗曡闂磋窛 */ + .ant-form .ant-form-item { + margin-bottom: 10px; + } + + /** Tab椤甸潰琛岄棿璺� */ + .ant-tabs-content .ant-form-item { + margin-bottom: 0px; + } +</style> -- Gitblit v1.9.3