From accebdce93486d3b4f26e55ffdea047549cce20c Mon Sep 17 00:00:00 2001 From: cuijian <cuijian@xalxzn.com> Date: 星期一, 28 七月 2025 21:12:38 +0800 Subject: [PATCH] Merge branch 'master' of http://125.76.225.53:18448/r/xhj/vue_mdc_xhj --- src/views/mdc/base/modules/DepartList/DepartListContent/DepartModel.vue | 240 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 240 insertions(+), 0 deletions(-) diff --git a/src/views/mdc/base/modules/DepartList/DepartListContent/DepartModel.vue b/src/views/mdc/base/modules/DepartList/DepartListContent/DepartModel.vue new file mode 100644 index 0000000..a2926e8 --- /dev/null +++ b/src/views/mdc/base/modules/DepartList/DepartListContent/DepartModel.vue @@ -0,0 +1,240 @@ +<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 :labelCol="labelCol" :wrapperCol="wrapperCol" label="鐖剁骇鍚嶇О">--> + <!--<a-input :disabled="true" v-decorator="['parentName', validatorRules.parentName]"/>--> + <!--</a-form-item>--> + <!--</a-col>--> + <!--<a-col :span="12">--> + <!--<a-form-item label="灞傜骇" :labelCol="labelCol" :wrapperCol="wrapperCol">--> + <!--<a-input--> + <!--v-decorator="['sectionRank', validatorRules.sectionRank]"/>--> + <!--</a-form-item>--> + <!--</a-col>--> + <!--</a-row>--> + + <a-row :gutter="24"> + <!--<a-col :span="12">--> + <!--<a-form-item label="灞傜骇缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol">--> + <!--<a-input :readOnly="disableSubmit" :disabled="disableSubmit" allow-clear placeholder="璇疯緭鍏ュ眰绾х紪鍙�"--> + <!--v-decorator="['sectionNumber', validatorRules.sectionNumber ]"/>--> + <!--</a-form-item>--> + <!--</a-col>--> + <a-col :span="12"> + <a-form-item label="灞傜骇鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="璇疯緭鍏ュ眰绾у悕绉�" + v-decorator="['sectionName',validatorRules.sectionName]"/> + </a-form-item> + </a-col> + <a-col :span="12"> + <a-form-item label="鎺掑簭" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input-number :readOnly="disableSubmit" :disabled="disableSubmit" allow-clear placeholder="璇疯緭鍏ユ帓搴�" + style="width: 200px" v-decorator="['sortNo', validatorRules.sortNo ]"/> + <!--<a-input-number placeholder="璇疯緭鍏ヨ彍鍗曟帓搴�" v-model="model.sortNo" style="width: 200px" :readOnly="disableSubmit"/>--> + </a-form-item> + </a-col> + </a-row> + </a-form> + </a-spin> + <depart-list-model ref="departListModel" @sendSelectionRows="getDeviceRows"></depart-list-model> + </a-modal> +</template> + +<script> + import pick from 'lodash.pick' + import DepartListModel from './DepartListModel' + import { + getAction, + postAction, + requestPut + } from '@/api/manage' + import { + duplicateCheck + } from '@/api/api' + + export default { + name: 'DepartModel', + components: { DepartListModel }, + props: {}, + data() { + return { + title: '', + visible: false, + show: false, + model: {}, + checked: false, + labelCol: { + xs: { + span: 24 + }, + sm: { + span: 6 + } + }, + wrapperCol: { + xs: { + span: 24 + }, + sm: { + span: 18 + } + }, + confirmLoading: false, + form: this.$form.createForm(this), + validatorRules: {}, + + url: { + add: '/mdc/sectionEquipment/add', + edit: '/mdc/sectionEquipment/edit' + }, + + disableSubmit: true, + partCategoryCascade: [], + cascadeDefaultValue: [] + } + }, + created() { + }, + + methods: { + getDeviceRows(val) { + this.form.setFieldsValue({ + equipmentId: val.equipmentId, + equipmentName: val.equipmentName, + equipmentModel: val.equipmentModel, + equipmentIp: val.equipmentIp, + dataPort: val.dataPort, + driveType: val.driveType + }) + }, + //绾ц仈妗唎nChange浜嬩欢 + onChange(value) { + + }, + 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.visible = true + this.$nextTick(() => { + this.form.setFieldsValue(pick(this.model, 'sectionNumber', 'sectionName', 'parentId', 'sortNo', 'sectionRank')) + }) + }, + 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 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 + } + } + } +</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