From cf9d04b97ef0b8abb63e587e0898e301765ed4b9 Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期一, 18 八月 2025 17:07:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- .env.development | 2 src/views/andon/modules/AndonResponseConfigForm.vue | 340 ++++++---- src/views/mes/modules/MesMaterialTransferRequestForm.vue | 84 +- src/views/cms/modules/CuttingToolModal.vue | 9 src/views/andon/AndonOrderList.vue | 6 src/views/andon/modules/AndonOrderForm.vue | 307 +++++----- src/views/cms/CuttingToolList.vue | 359 ++++++------ src/views/cms/ToolStocktakingList.vue | 6 src/views/mes/MesMaterialTransferRequestList.vue | 259 +++----- src/views/andon/modules/AndonButtonConfigForm.vue | 327 ++++++---- 10 files changed, 891 insertions(+), 808 deletions(-) diff --git a/.env.development b/.env.development index f7a86b2..2fceb85 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ NODE_ENV=development -VUE_APP_API_BASE_URL=http://127.0.0.1:9989/jeecg-boot +VUE_APP_API_BASE_URL=http://127.0.0.1:9989 VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview diff --git a/src/views/andon/AndonOrderList.vue b/src/views/andon/AndonOrderList.vue index 8246434..9641f6c 100644 --- a/src/views/andon/AndonOrderList.vue +++ b/src/views/andon/AndonOrderList.vue @@ -149,7 +149,7 @@ { title:'瀹夌伅浜�', align:"center", - dataIndex: 'operator' + dataIndex: 'operator_dictText' }, { title:'瀹夌伅鏃堕棿', @@ -164,7 +164,7 @@ { title:'鍝嶅簲浜�', align:"center", - dataIndex: 'responder' + dataIndex: 'responder_dictText' }, { title:'鍝嶅簲鏃堕棿', @@ -174,7 +174,7 @@ { title:'澶勭悊浜�', align:"center", - dataIndex: 'processor' + dataIndex: 'processor_dictText' }, { title:'澶勭悊瀹屾垚鏃堕棿', diff --git a/src/views/andon/modules/AndonButtonConfigForm.vue b/src/views/andon/modules/AndonButtonConfigForm.vue index 7465026..cc47986 100644 --- a/src/views/andon/modules/AndonButtonConfigForm.vue +++ b/src/views/andon/modules/AndonButtonConfigForm.vue @@ -1,46 +1,59 @@ <template> <a-spin :spinning="confirmLoading"> - <j-form-container :disabled="formDisabled"> + <j-form-container :disabled="formDisabled" class="andon-button-form"> <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> - <a-row> + <!-- 绗竴琛岋細瀹夌伅鍚嶇О + 瀹夌伅缂栫爜 --> + <a-row :gutter="24"> <a-col :span="12"> <a-form-model-item label="瀹夌伅鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonName"> - <a-input v-model="model.buttonName" placeholder="璇疯緭鍏ュ畨鐏悕绉�" ></a-input> + <a-input v-model="model.buttonName" placeholder="璇疯緭鍏�" /> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="瀹夌伅缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonCode"> - <a-input v-model="model.buttonCode" placeholder="璇疯緭鍏ュ畨鐏紪鐮�" ></a-input> + <a-input v-model="model.buttonCode" placeholder="璇疯緭鍏�" /> + </a-form-model-item> + </a-col> + </a-row> + + <!-- 绗簩琛岋細鍗囩骇鍝嶅簲鏃堕暱 + 鍗囩骇澶勭悊鏃堕暱 --> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-model-item label="鍗囩骇鍝嶅簲" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upgradeResponseDuration"> + <a-input-number v-model="model.upgradeResponseDuration" placeholder="璇疯緭鍏�" style="width: 100%" /> </a-form-model-item> </a-col> <a-col :span="12"> - <a-form-model-item label="鍗囩骇鍝嶅簲鏃堕暱(鍒嗛挓)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upgradeResponseDuration"> - <a-input-number v-model="model.upgradeResponseDuration" placeholder="璇疯緭鍏ュ崌绾у搷搴旀椂闀�(鍒嗛挓)" style="width: 100%" /> + <a-form-model-item label="鍗囩骇澶勭悊" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upgradeProcessDuration"> + <a-input-number v-model="model.upgradeProcessDuration" placeholder="璇疯緭鍏�" style="width: 100%" /> + </a-form-model-item> + </a-col> + </a-row> + + <!-- 绗笁琛岋細浜屾鍗囩骇鍝嶅簲鏃堕暱 + 浜屾鍗囩骇澶勭悊鏃堕暱 --> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-model-item label="浜屾鍗囩骇鍝嶅簲" :labelCol="labelColWide" :wrapperCol="wrapperColNarrow" prop="secondUpgradeResponseDuration"> + <a-input-number v-model="model.secondUpgradeResponseDuration" placeholder="璇疯緭鍏�" style="width: 100%" /> </a-form-model-item> </a-col> <a-col :span="12"> - <a-form-model-item label="鍗囩骇澶勭悊鏃堕暱(鍒嗛挓)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upgradeProcessDuration"> - <a-input-number v-model="model.upgradeProcessDuration" placeholder="璇疯緭鍏ュ崌绾у鐞嗘椂闀�(鍒嗛挓)" style="width: 100%" /> + <a-form-model-item label="浜屾鍗囩骇澶勭悊" :labelCol="labelColWide" :wrapperCol="wrapperColNarrow" prop="secondUpgradeProcessDuration"> + <a-input-number v-model="model.secondUpgradeProcessDuration" placeholder="璇疯緭鍏�" style="width: 100%" /> </a-form-model-item> </a-col> + </a-row> + + <!-- 绗洓琛岋細瀹夌伅鎸夐挳鐘舵�� + 澶囨敞 --> + <a-row :gutter="24"> <a-col :span="12"> - <a-form-model-item label="浜屾鍗囩骇鍝嶅簲鏃堕暱(鍒嗛挓)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="secondUpgradeResponseDuration"> - <a-input-number v-model="model.secondUpgradeResponseDuration" placeholder="璇疯緭鍏ヤ簩娆″崌绾у搷搴旀椂闀�(鍒嗛挓)" style="width: 100%" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="浜屾鍗囩骇澶勭悊鏃堕暱(鍒嗛挓)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="secondUpgradeProcessDuration"> - <a-input-number v-model="model.secondUpgradeProcessDuration" placeholder="璇疯緭鍏ヤ簩娆″崌绾у鐞嗘椂闀�(鍒嗛挓)" style="width: 100%" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="瀹夌伅鎸夐挳鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonStatus"> - <j-dict-select-tag type="list" v-model="model.buttonStatus" dictCode="button_status" placeholder="璇烽�夋嫨瀹夌伅鎸夐挳鐘舵��" /> + <a-form-model-item label="鎸夐挳鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonStatus"> + <j-dict-select-tag type="list" v-model="model.buttonStatus" dictCode="button_status" placeholder="璇烽�夋嫨" /> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark"> - <a-input v-model="model.remark" placeholder="璇疯緭鍏ュ娉�" ></a-input> + <a-input v-model="model.remark" placeholder="璇疯緭鍏�" /> </a-form-model-item> </a-col> </a-row> @@ -50,111 +63,173 @@ </template> <script> +import { httpAction, getAction } from '@/api/manage' +import { validateDuplicateValue } from '@/utils/util' - import { httpAction, getAction } from '@/api/manage' - import { validateDuplicateValue } from '@/utils/util' - - export default { - name: 'AndonButtonConfigForm', - components: { - }, - props: { - //琛ㄥ崟绂佺敤 - disabled: { - type: Boolean, - default: false, - required: false - } - }, - data () { - return { - model:{ - }, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - validatorRules: { - buttonName: [ - { required: true, message: '瀹夌伅鍚嶇О鏄繀閫夐」', trigger: 'change' } - ], - buttonCode: [ - { required: true, message: '瀹夌伅缂栫爜鏄繀閫夐」', trigger: 'change' } - ], - upgradeResponseDuration: [ - { required: true, message: '鍗囩骇鍝嶅簲鏃堕暱鏄繀閫夐」', trigger: 'change' } - ], - upgradeProcessDuration: [ - { required: true, message: '鍗囩骇澶勭悊鏃堕暱鏄繀閫夐」', trigger: 'change' } - ], - secondUpgradeResponseDuration: [ - { required: true, message: '浜屾鍗囩骇鍝嶅簲鏃堕暱鏄繀閫夐」', trigger: 'change' } - ], - secondUpgradeProcessDuration: [ - { required: true, message: '浜屾鍗囩骇澶勭悊鏃堕暱鏄繀閫夐」', trigger: 'change' } - ], - buttonStatus: [ - { required: true, message: '瀹夌伅鎸夐挳鐘舵�佹槸蹇呴�夐」', trigger: 'change' } - ], - }, - url: { - add: "/andonbuttonconfig/andonButtonConfig/add", - edit: "/andonbuttonconfig/andonButtonConfig/edit", - queryById: "/andonbuttonconfig/andonButtonConfig/queryById" - } - } - }, - computed: { - formDisabled(){ - return this.disabled - }, - }, - created () { - //澶囦唤model鍘熷鍊� - this.modelDefault = JSON.parse(JSON.stringify(this.model)); - }, - methods: { - add () { - this.edit(this.modelDefault); - }, - edit (record) { - this.model = Object.assign({}, record); - this.visible = true; - }, - submitForm () { - const that = this; - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.$refs.form.validate(valid => { - if (valid) { - that.confirmLoading = true; - let httpurl = ''; - let method = ''; - if(!this.model.id){ - httpurl+=this.url.add; - method = 'post'; - }else{ - httpurl+=this.url.edit; - method = 'put'; - } - httpAction(httpurl,this.model,method).then((res)=>{ - if(res.success){ - that.$message.success(res.message); - that.$emit('ok'); - }else{ - that.$message.warning(res.message); - } - }).finally(() => { - that.confirmLoading = false; - }) - } - - }) - }, +export default { + name: 'AndonButtonConfigForm', + components: {}, + props: { + disabled: { + type: Boolean, + default: false, + required: false } + }, + data() { + return { + model: {}, + // 鏅�氭爣绛惧垪瀹藉害 + labelCol: { + xs: { span: 24 }, + sm: { span: 6 }, + }, + // 瀹芥爣绛惧垪锛堢敤浜庘�滀簩娆″崌绾у搷搴斺�濈瓑闀挎爣绛撅級 + labelColWide: { + xs: { span: 24 }, + sm: { span: 8 }, // 澧炲姞鏍囩瀹藉害 + }, + // 绐勮緭鍏ユ鍒楋紙閰嶅悎瀹芥爣绛撅紝淇濇寔甯冨眬骞宠 锛� + wrapperColNarrow: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 18 }, + }, + confirmLoading: false, + validatorRules: { + buttonName: [ + { required: true, message: '瀹夌伅鍚嶇О鏄繀閫夐」', trigger: 'change' } + ], + buttonCode: [ + { required: true, message: '瀹夌伅缂栫爜鏄繀閫夐」', trigger: 'change' } + ], + upgradeResponseDuration: [ + { required: true, message: '鍗囩骇鍝嶅簲鏃堕暱鏄繀閫夐」', trigger: 'change' } + ], + upgradeProcessDuration: [ + { required: true, message: '鍗囩骇澶勭悊鏃堕暱鏄繀閫夐」', trigger: 'change' } + ], + secondUpgradeResponseDuration: [ + { required: true, message: '浜屾鍗囩骇鍝嶅簲鏃堕暱鏄繀閫夐」', trigger: 'change' } + ], + secondUpgradeProcessDuration: [ + { required: true, message: '浜屾鍗囩骇澶勭悊鏃堕暱鏄繀閫夐」', trigger: 'change' } + ], + buttonStatus: [ + { required: true, message: '瀹夌伅鎸夐挳鐘舵�佹槸蹇呴�夐」', trigger: 'change' } + ], + }, + url: { + add: '/andonbuttonconfig/andonButtonConfig/add', + edit: '/andonbuttonconfig/andonButtonConfig/edit', + queryById: '/andonbuttonconfig/andonButtonConfig/queryById' + } + } + }, + computed: { + formDisabled() { + return this.disabled + }, + }, + created() { + this.modelDefault = JSON.parse(JSON.stringify(this.model)); + }, + methods: { + add() { + this.edit(this.modelDefault); + }, + edit(record) { + this.model = Object.assign({}, record); + this.visible = true; + }, + submitForm() { + const that = this; + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = true; + let httpurl = ''; + let method = ''; + if (!this.model.id) { + httpurl += this.url.add; + method = 'post'; + } else { + httpurl += this.url.edit; + method = 'put'; + } + httpAction(httpurl, this.model, method).then((res) => { + if (res.success) { + that.$message.success(res.message); + that.$emit('ok'); + } else { + that.$message.warning(res.message); + } + }).finally(() => { + that.confirmLoading = false; + }) + } + }) + }, } -</script> \ No newline at end of file +} +</script> + +<style scoped> +.andon-button-form { + padding: 24px; + background-color: #fff; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); +} + +/* 缁熶竴琛ㄥ崟椤瑰瀭鐩撮棿璺� */ +.a-form-model-item { + margin-bottom: 16px !important; +} + +/* 鏍囩涓庤緭鍏ユ姘村钩闂磋窛锛堣В鍐虫枃瀛楁嫢鎸わ級 */ +.a-form-model-item-label { + margin-right: 12px !important; +} + +/* 杈撳叆妗� & 鏁板瓧杈撳叆妗� 鍗犱綅绗︽牱寮忎紭鍖� */ +.a-input::placeholder, +.a-input-number::placeholder { + color: #ccc; + font-style: italic; +} + +/* 蹇呴�夋爣绛剧殑绾㈣壊鏄熷彿寮鸿皟 */ +.a-form-model-item-label > span:first-child { + color: #f5222d; + margin-right: 2px; +} + +/* 鎸夐挳鍖哄煙鍙冲榻� & 鎸夐挳鏍峰紡浼樺寲 */ +.a-form-footer { + text-align: right; + margin-top: 32px; +} + +.a-button-primary { + background-color: #1890ff; + border-color: #1890ff; + transition: all 0.3s ease; +} + +.a-button-primary:hover { + background-color: #40a9ff; + border-color: #40a9ff; +} + +.a-button-default { + border-color: #d9d9d9; + transition: all 0.3s ease; +} + +.a-button-default:hover { + border-color: #bfbfbf; +} +</style> \ No newline at end of file diff --git a/src/views/andon/modules/AndonOrderForm.vue b/src/views/andon/modules/AndonOrderForm.vue index 84fff50..5950cf1 100644 --- a/src/views/andon/modules/AndonOrderForm.vue +++ b/src/views/andon/modules/AndonOrderForm.vue @@ -1,76 +1,58 @@ <template> <a-spin :spinning="confirmLoading"> - <j-form-container :disabled="formDisabled"> + <j-form-container :disabled="formDisabled" class="andon-order-form"> <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> - <a-row> - <a-col :span="24"> + <!-- 绗竴琛岋細浜х嚎 + 瀹夌伅绫诲瀷 --> + <a-row :gutter="24"> + <a-col :span="12"> <a-form-model-item label="浜х嚎" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId"> - <a-row :gutter="24"> - <a-col :span="24"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="" - > - <j-select-factory - :disabled="disabled" - v-model="model.factoryId" - :multi="true" - @back="backFactoryInfo" - :backProduction="true" - :treeProductOpera="true" - ></j-select-factory> - </a-form-item> - </a-col> - </a-row> + <j-select-factory + :disabled="disabled" + v-model="model.factoryId" + :multi="true" + @back="backFactoryInfo" + :backProduction="true" + :treeProductOpera="true" + ></j-select-factory> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="瀹夌伅绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonId"> - <j-search-select-tag v-model="model.buttonId" placeholder="璇疯緭鍏ュ畨鐏被鍨�" - dict="andon_button_config,button_name,id"></j-search-select-tag> + <j-search-select-tag v-model="model.buttonId" placeholder="璇疯緭鍏ュ畨鐏被鍨�" dict="andon_button_config,button_name,id"></j-search-select-tag> </a-form-model-item> </a-col> + </a-row> + + <!-- 绗簩琛岋細瀹夌伅浜� + 瀹夌伅鏃堕棿 --> + <a-row :gutter="24"> <a-col :span="12"> <a-form-model-item label="瀹夌伅浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator"> - <j-select-user-by-dep :multi="false" v-model="model.operator" placeholder="璇疯緭鍏ュ畨鐏汉" ></j-select-user-by-dep> + <j-select-user-by-dep :multi="false" v-model="model.operator" placeholder="璇烽�夋嫨瀹夌伅浜�"></j-select-user-by-dep> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="瀹夌伅鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operateTime"> - <j-date placeholder="璇烽�夋嫨瀹夌伅鏃堕棿" v-model="model.operateTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> + <j-date placeholder="璇烽�夋嫨瀹夌伅鏃堕棿" v-model="model.operateTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> </a-form-model-item> </a-col> + </a-row> + + <!-- 绗笁琛岋細瀹夌伅绛夌骇 + 瀹夌伅鐘舵�� --> + <a-row :gutter="24"> <a-col :span="12"> <a-form-model-item label="瀹夌伅绛夌骇" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="andonLevel"> <j-dict-select-tag type="list" v-model="model.andonLevel" dictCode="andon_level" placeholder="璇烽�夋嫨瀹夌伅绛夌骇" /> </a-form-model-item> </a-col> -<!-- <a-col :span="12">--> -<!-- <a-form-model-item label="鍝嶅簲浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="responder">--> -<!-- <j-select-user-by-dep v-model="model.responder" placeholder="璇疯緭鍏ュ搷搴斾汉" ></j-select-user-by-dep>--> -<!-- </a-form-model-item>--> -<!-- </a-col>--> -<!-- <a-col :span="12">--> -<!-- <a-form-model-item label="鍝嶅簲鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="responseTime">--> -<!-- <j-date placeholder="璇烽�夋嫨鍝嶅簲鏃堕棿" v-model="model.responseTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />--> -<!-- </a-form-model-item>--> -<!-- </a-col>--> -<!-- <a-col :span="12">--> -<!-- <a-form-model-item label="澶勭悊浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processor">--> -<!-- <j-select-user-by-dep v-model="model.processor" placeholder="璇疯緭鍏ュ鐞嗕汉" ></j-select-user-by-dep>--> -<!-- </a-form-model-item>--> -<!-- </a-col>--> -<!-- <a-col :span="12">--> -<!-- <a-form-model-item label="澶勭悊瀹屾垚鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processTime">--> -<!-- <j-date placeholder="璇烽�夋嫨澶勭悊瀹屾垚鏃堕棿" v-model="model.processTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />--> -<!-- </a-form-model-item>--> -<!-- </a-col>--> <a-col :span="12"> <a-form-model-item label="瀹夌伅鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderStatus"> <j-dict-select-tag type="list" v-model="model.orderStatus" dictCode="order_status" placeholder="璇烽�夋嫨瀹夌伅鐘舵��" /> </a-form-model-item> </a-col> + </a-row> + + <!-- 绗洓琛岋細闂鎻忚堪 + 澶勭悊缁撴灉鎻忚堪 --> + <a-row :gutter="24"> <a-col :span="12"> <a-form-model-item label="闂鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="problemDescreption"> <a-textarea v-model="model.problemDescreption" rows="4" placeholder="璇疯緭鍏ラ棶棰樻弿杩�" /> @@ -81,9 +63,13 @@ <a-textarea v-model="model.resolutionDescreption" rows="4" placeholder="璇疯緭鍏ュ鐞嗙粨鏋滄弿杩�" /> </a-form-model-item> </a-col> + </a-row> + + <!-- 绗簲琛岋細澶勭悊缁撴灉鍥剧墖 --> + <a-row :gutter="24"> <a-col :span="12"> <a-form-model-item label="澶勭悊缁撴灉鍥剧墖" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="imageFiles"> - <j-image-upload isMultiple v-model="model.imageFiles" ></j-image-upload> + <j-image-upload isMultiple v-model="model.imageFiles"></j-image-upload> </a-form-model-item> </a-col> </a-row> @@ -93,117 +79,124 @@ </template> <script> +import { httpAction, getAction } from '@/api/manage' +import { validateDuplicateValue } from '@/utils/util' +import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue' - import { httpAction, getAction } from '@/api/manage' - import { validateDuplicateValue } from '@/utils/util' - import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue' - - export default { - name: 'AndonOrderForm', - components: { - JSelectFactory - }, - props: { - //琛ㄥ崟绂佺敤 - disabled: { - type: Boolean, - default: false, - required: false - } - }, - data () { - return { - model:{ - }, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - validatorRules: { - factoryId: [ - { required: true, message: '浜х嚎鏄繀閫夐」', trigger: 'change' } - ], - buttonId: [ - { required: true, message: '瀹夌伅绫诲瀷鏄繀閫夐」', trigger: 'change' } - ], - operator: [ - { required: true, message: '瀹夌伅浜烘槸蹇呴�夐」', trigger: 'change' } - ], - operateTime: [ - { required: true, message: '瀹夌伅鏃堕棿鏄繀閫夐」', trigger: 'change' } - ], - andonLevel: [ - { required: true, message: '瀹夌伅绛夌骇鏄繀閫夐」', trigger: 'change' } - ], - orderStatus: [ - { required: true, message: '瀹夌伅鐘舵�佹槸蹇呴�夐」', trigger: 'change' } - ], - }, - url: { - add: "/andonorder/andonOrder/add", - edit: "/andonorder/andonOrder/edit", - queryById: "/andonorder/andonOrder/queryById" - } - } - }, - computed: { - formDisabled(){ - return this.disabled - }, - }, - created () { - //澶囦唤model鍘熷鍊� - this.modelDefault = JSON.parse(JSON.stringify(this.model)); - }, - methods: { - backFactoryInfo(info) { - this.model.factoryIds = this.model.factoryId - this.nextFactoryOptions = info.map((item, index, arr) => { - let c = { label: item.text, value: item.value + '' } - return c - }) - }, - add () { - this.edit(this.modelDefault); - }, - edit (record) { - this.model = Object.assign({}, record); - this.visible = true; - }, - submitForm () { - const that = this; - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.$refs.form.validate(valid => { - if (valid) { - that.confirmLoading = true; - let httpurl = ''; - let method = ''; - if(!this.model.id){ - httpurl+=this.url.add; - method = 'post'; - }else{ - httpurl+=this.url.edit; - method = 'put'; - } - httpAction(httpurl,this.model,method).then((res)=>{ - if(res.success){ - that.$message.success(res.message); - that.$emit('ok'); - }else{ - that.$message.warning(res.message); - } - }).finally(() => { - that.confirmLoading = false; - }) - } - - }) - }, +export default { + name: 'AndonOrderForm', + components: { + JSelectFactory + }, + props: { + disabled: { + type: Boolean, + default: false, + required: false } + }, + data() { + return { + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 6 }, // 璋冩暣鏍囩瀹藉害锛屾洿绱у噾 + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + confirmLoading: false, + validatorRules: { + factoryId: [{ required: true, message: '浜х嚎鏄繀閫夐」', trigger: 'change' }], + buttonId: [{ required: true, message: '瀹夌伅绫诲瀷鏄繀閫夐」', trigger: 'change' }], + operator: [{ required: true, message: '瀹夌伅浜烘槸蹇呴�夐」', trigger: 'change' }], + operateTime: [{ required: true, message: '瀹夌伅鏃堕棿鏄繀閫夐」', trigger: 'change' }], + andonLevel: [{ required: true, message: '瀹夌伅绛夌骇鏄繀閫夐」', trigger: 'change' }], + orderStatus: [{ required: true, message: '瀹夌伅鐘舵�佹槸蹇呴�夐」', trigger: 'change' }], + }, + url: { + add: '/andonorder/andonOrder/add', + edit: '/andonorder/andonOrder/edit', + queryById: '/andonorder/andonOrder/queryById' + } + } + }, + computed: { + formDisabled() { + return this.disabled + }, + }, + created() { + this.modelDefault = JSON.parse(JSON.stringify(this.model)); + }, + methods: { + backFactoryInfo(info) { + this.model.factoryIds = this.model.factoryId + this.nextFactoryOptions = info.map((item, index, arr) => { + let c = { label: item.text, value: item.value + '' } + return c + }) + }, + add() { + this.edit(this.modelDefault); + }, + edit(record) { + this.model = Object.assign({}, record); + this.visible = true; + }, + submitForm() { + const that = this; + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = true; + let httpurl = ''; + let method = ''; + if (!this.model.id) { + httpurl += this.url.add; + method = 'post'; + } else { + httpurl += this.url.edit; + method = 'put'; + } + httpAction(httpurl, this.model, method).then((res) => { + if (res.success) { + that.$message.success(res.message); + that.$emit('ok'); + } else { + that.$message.warning(res.message); + } + }).finally(() => { + that.confirmLoading = false; + }) + } + }) + }, } -</script> \ No newline at end of file +} +</script> + +<style scoped> +.andon-order-form { + padding: 24px; + background-color: #fff; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); +} +/* 缁熶竴琛ㄥ崟椤归棿璺� */ +.a-form-model-item { + margin-bottom: 16px !important; +} +/* 璋冩暣鏂囨湰鍩熼珮搴﹀拰鍗犱綅绗︽牱寮� */ +.a-textarea { + resize: vertical; +} +.a-textarea::placeholder { + color: #ccc; +} +/* 鎸夐挳鍖哄煙鍙冲榻� */ +.a-form-footer { + text-align: right; + margin-top: 24px; +} +</style> \ No newline at end of file diff --git a/src/views/andon/modules/AndonResponseConfigForm.vue b/src/views/andon/modules/AndonResponseConfigForm.vue index 131a263..e9cbdc2 100644 --- a/src/views/andon/modules/AndonResponseConfigForm.vue +++ b/src/views/andon/modules/AndonResponseConfigForm.vue @@ -1,49 +1,73 @@ <template> <a-spin :spinning="confirmLoading"> - <j-form-container :disabled="formDisabled"> + <j-form-container :disabled="formDisabled" class="andon-response-form"> <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> - <a-row> - <a-col :span="24"> + + <a-row :gutter="24"> + <a-col :span="12"> <a-form-model-item label="浜х嚎" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId"> - <a-row :gutter="24"> - <a-col :span="24"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="" - > - <j-select-factory - :disabled="disabled" - v-model="model.factoryId" - :multi="true" - @back="backFactoryInfo" - :backProduction="true" - :treeProductOpera="true" - ></j-select-factory> - </a-form-item> - </a-col> - </a-row> + <j-select-factory + :disabled="disabled" + v-model="model.factoryId" + :multi="true" + @back="backFactoryInfo" + :backProduction="true" + :treeProductOpera="true" + ></j-select-factory> </a-form-model-item> </a-col> + </a-row> + + + <a-row :gutter="24"> <a-col :span="12"> <a-form-model-item label="瀹夌伅绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="buttonId"> - <j-search-select-tag v-model="model.buttonId" placeholder="璇疯緭鍏ュ畨鐏被鍨�" - dict="andon_button_config,button_name,id"></j-search-select-tag> + <j-search-select-tag + v-model="model.buttonId" + placeholder="璇烽�夋嫨" + dict="andon_button_config,button_name,id" + ></j-search-select-tag> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="鍒濆鍝嶅簲浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="firsterResponder"> - <j-select-user-by-dep :multi="false" v-model="model.firsterResponder" placeholder="璇疯緭鍏ュ垵濮嬪搷搴斾汉" ></j-select-user-by-dep> + <j-select-user-by-dep + :multi="false" + v-model="model.firsterResponder" + placeholder="璇烽�夋嫨" + ></j-select-user-by-dep> + </a-form-model-item> + </a-col> + </a-row> + + <!-- 浜岀骇鍝嶅簲浜� + 涓夌骇鍝嶅簲浜� --> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-model-item + label="浜岀骇鍝嶅簲浜�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="secondResponder" + > + <j-select-user-by-dep + :multi="false" + v-model="model.secondResponder" + placeholder="璇烽�夋嫨" + ></j-select-user-by-dep> </a-form-model-item> </a-col> <a-col :span="12"> - <a-form-model-item label="浜岀骇鍝嶅簲浜�(鍗囩骇涓�娆�)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="secondResponder"> - <j-select-user-by-dep :multi="false" v-model="model.secondResponder" placeholder="璇疯緭鍏ヤ簩绾у搷搴斾汉(鍗囩骇涓�娆�)" ></j-select-user-by-dep> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="涓夌骇鍝嶅簲浜�(鍗囩骇涓ゆ)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="thirdResponder"> - <j-select-user-by-dep :multi="false" v-model="model.thirdResponder" placeholder="璇疯緭鍏ヤ笁绾у搷搴斾汉(鍗囩骇涓ゆ)" ></j-select-user-by-dep> + <a-form-model-item + label="涓夌骇鍝嶅簲浜�" + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="thirdResponder" + > + <j-select-user-by-dep + :multi="false" + v-model="model.thirdResponder" + placeholder="璇烽�夋嫨" + ></j-select-user-by-dep> </a-form-model-item> </a-col> </a-row> @@ -53,113 +77,153 @@ </template> <script> +import { httpAction } from '@/api/manage' +import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue' - import { httpAction, getAction } from '@/api/manage' - import { validateDuplicateValue } from '@/utils/util' - import JSelectFactory from '@comp/jeecgbiz/JSelectFactory.vue' - export default { - name: 'AndonResponseConfigForm', - components: { - JSelectFactory - }, - props: { - //琛ㄥ崟绂佺敤 - disabled: { - type: Boolean, - default: false, - required: false - } - }, - data () { - return { - model:{ - }, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - validatorRules: { - factoryId: [ - { required: true, message: '浜х嚎鏄繀閫夐」', trigger: 'change' } - ], - buttonId: [ - { required: true, message: '瀹夌伅绫诲瀷鏄繀閫夐」', trigger: 'change' } - ], - firsterResponder: [ - { required: true, message: '鍒濆鍝嶅簲浜烘槸蹇呴�夐」', trigger: 'change' } - ], - secondResponder: [ - { required: true, message: '浜岀骇鍝嶅簲浜烘槸蹇呴�夐」', trigger: 'change' } - ], - thirdResponder: [ - { required: true, message: '涓夌骇鍝嶅簲浜烘槸蹇呴�夐」', trigger: 'change' } - ], - }, - url: { - add: "/andonresponseconfig/andonResponseConfig/add", - edit: "/andonresponseconfig/andonResponseConfig/edit", - queryById: "/andonresponseconfig/andonResponseConfig/queryById" - } - } - }, - computed: { - formDisabled(){ - return this.disabled - }, - }, - created () { - //澶囦唤model鍘熷鍊� - this.modelDefault = JSON.parse(JSON.stringify(this.model)); - }, - methods: { - backFactoryInfo(info) { - this.model.factoryIds = this.model.factoryId - this.nextFactoryOptions = info.map((item, index, arr) => { - let c = { label: item.text, value: item.value + '' } - return c - }) - }, - add () { - this.edit(this.modelDefault); - }, - edit (record) { - this.model = Object.assign({}, record); - this.visible = true; - }, - submitForm () { - const that = this; - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.$refs.form.validate(valid => { - if (valid) { - that.confirmLoading = true; - let httpurl = ''; - let method = ''; - if(!this.model.id){ - httpurl+=this.url.add; - method = 'post'; - }else{ - httpurl+=this.url.edit; - method = 'put'; - } - httpAction(httpurl,this.model,method).then((res)=>{ - if(res.success){ - that.$message.success(res.message); - that.$emit('ok'); - }else{ - that.$message.warning(res.message); - } - }).finally(() => { - that.confirmLoading = false; - }) - } - - }) - }, +export default { + name: 'AndonResponseConfigForm', + components: { + JSelectFactory + }, + props: { + disabled: { + type: Boolean, + default: false, + required: false } + }, + data () { + return { + model: {}, + // 缁熶竴鏍囩鍒楀搴︼紙浜х嚎銆佸畨鐏被鍨嬬瓑鍏辩敤锛� + labelCol: { + xs: { span: 24 }, + sm: { span: 6 }, + }, + // 缁熶竴杈撳叆妗嗗垪瀹藉害 + wrapperCol: { + xs: { span: 24 }, + sm: { span: 18 }, + }, + confirmLoading: false, + validatorRules: { + factoryId: [ + { required: true, message: '浜х嚎鏄繀閫夐」', trigger: 'change' } + ], + buttonId: [ + { required: true, message: '瀹夌伅绫诲瀷鏄繀閫夐」', trigger: 'change' } + ], + firsterResponder: [ + { required: true, message: '鍒濆鍝嶅簲浜烘槸蹇呴�夐」', trigger: 'change' } + ], + secondResponder: [ + { required: true, message: '浜岀骇鍝嶅簲浜烘槸蹇呴�夐」', trigger: 'change' } + ], + thirdResponder: [ + { required: true, message: '涓夌骇鍝嶅簲浜烘槸蹇呴�夐」', trigger: 'change' } + ], + }, + url: { + add: "/andonresponseconfig/andonResponseConfig/add", + edit: "/andonresponseconfig/andonResponseConfig/edit", + queryById: "/andonresponseconfig/andonResponseConfig/queryById" + } + } + }, + computed: { + formDisabled(){ + return this.disabled + }, + }, + created () { + this.modelDefault = JSON.parse(JSON.stringify(this.model)); + }, + methods: { + backFactoryInfo(info) { + this.model.factoryIds = this.model.factoryId + this.nextFactoryOptions = info.map((item, index, arr) => { + let c = { label: item.text, value: item.value + '' } + return c + }) + }, + add () { + this.edit(this.modelDefault); + }, + edit (record) { + this.model = Object.assign({}, record); + this.visible = true; + }, + submitForm () { + const that = this; + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = true; + let httpurl = ''; + let method = ''; + if(!this.model.id){ + httpurl+=this.url.add; + method = 'post'; + }else{ + httpurl+=this.url.edit; + method = 'put'; + } + httpAction(httpurl,this.model,method).then((res)=>{ + if(res.success){ + that.$message.success(res.message); + that.$emit('ok'); + }else{ + that.$message.warning(res.message); + } + }).finally(() => { + that.confirmLoading = false; + }) + } + }) + }, } -</script> \ No newline at end of file +} +</script> + +<style scoped> +.andon-response-form { + padding: 24px; + background-color: #fff; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); +} +.a-form-model-item { + margin-bottom: 20px !important; +} +.a-form-model-item-label { + margin-right: 16px !important; +} +.a-input::placeholder, +.a-select-selection-placeholder { + color: #ccc; + font-style: italic; +} +.a-form-model-item-label > span:first-child { + color: #f5222d; + margin-right: 4px; +} +.a-form-footer { + text-align: right; + margin-top: 36px; +} +.a-button-primary { + background-color: #1890ff; + border-color: #1890ff; + transition: all 0.3s ease; +} +.a-button-primary:hover { + background-color: #40a9ff; + border-color: #40a9ff; +} +.a-button-default { + border-color: #d9d9d9; + transition: all 0.3s ease; +} +.a-button-default:hover { + border-color: #bfbfbf; +} +</style> \ No newline at end of file diff --git a/src/views/cms/CuttingToolList.vue b/src/views/cms/CuttingToolList.vue index 1746e41..38825cc 100644 --- a/src/views/cms/CuttingToolList.vue +++ b/src/views/cms/CuttingToolList.vue @@ -10,38 +10,23 @@ </a-form-item> </a-col> <a-col :md="6" :sm="8"> - <a-form-item label="鍒�鍏峰悕绉�"> - <a-input placeholder="璇疯緭鍏ュ垁鍏峰悕绉�" v-model="queryParam.cuttingName" /> - </a-form-item> - </a-col> + <a-form-item label="鍒�鍏峰悕绉�"> + <a-input placeholder="璇疯緭鍏ュ垁鍏峰悕绉�" v-model="queryParam.cuttingName" /> + </a-form-item> + </a-col> <a-col :md="6" :sm="8"> - <a-form-item label="鍒�鍏峰垎绫�"> - <j-search-select-tag - placeholder="璇烽�夋嫨鍒�鍏峰垎绫�" - v-model="queryParam.cuttingCategory" - dict="cutting_category" - /> - </a-form-item> - </a-col> - <a-col - :md="6" - :sm="8" - > - <span - style="float: left;overflow: hidden;" - class="table-page-search-submitButtons" - > - <a-button - type="primary" - @click="searchQuery" - icon="search" - >鏌ヨ</a-button> - <a-button - type="primary" - @click="searchReset" - icon="reload" - style="margin-left: 8px" - >閲嶇疆</a-button> + <a-form-item label="鍒�鍏峰垎绫�"> + <j-search-select-tag + placeholder="璇烽�夋嫨鍒�鍏峰垎绫�" + v-model="queryParam.cuttingCategory" + dict="cutting_category" + /> + </a-form-item> + </a-col> + <a-col :md="6" :sm="8"> + <span style="float: left; overflow: hidden;" class="table-page-search-submitButtons"> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> </span> </a-col> </a-row> @@ -52,9 +37,14 @@ <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> <div class="table-operator"> <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> - <!-- 瀵煎叆銆佸鍑哄姛鑳� --> <a-button type="primary" icon="download" @click="handleExportXls('鍒�鍏蜂俊鎭�')">瀵煎嚭</a-button> - <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> + <a-upload + name="file" + :showUploadList="false" + :multiple="false" + :headers="tokenHeader" + :action="importExcelUrl" + @change="handleImportExcel"> <a-button type="primary" icon="import">瀵煎叆</a-button> </a-upload> </div> @@ -62,7 +52,8 @@ <!-- table鍖哄煙-begin --> <div> <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> - <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� + <i class="anticon anticon-info-circle ant-alert-icon"></i> + 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> </div> @@ -71,12 +62,12 @@ size="middle" :scroll="{x:true}" bordered - rowKey="id" + :rowKey="record => record.id" :columns="columns" :dataSource="dataSource" :pagination="ipagination" :loading="loading" - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:'radio'}" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}" class="j-table-force-nowrap" :customRow="customRow" @change="handleTableChange"> @@ -84,10 +75,19 @@ <template slot="htmlSlot" slot-scope="text"> <div v-html="text"></div> </template> + <template slot="imgSlot" slot-scope="text,record"> <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> - <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> + <img + v-else + :src="getImgView(text)" + :preview="record.id" + height="25px" + alt="" + style="max-width:80px;font-size: 12px;font-style: italic;" + /> </template> + <template slot="fileSlot" slot-scope="text"> <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> <a-button @@ -103,7 +103,6 @@ <span slot="action" slot-scope="text, record"> <a @click="handleEdit(record)">缂栬緫</a> - <a-divider type="vertical" /> <a-dropdown> <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> @@ -119,165 +118,162 @@ </a-menu> </a-dropdown> </span> - </a-table> </div> + <a-tabs defaultActiveKey="1"> <a-tab-pane tab="鎵╁睍灞炴��" key="1"> <cutting-properties-list ref="cuttingPropertiesList"></cutting-properties-list> </a-tab-pane> - <!-- <a-tab-pane tab="棰濆畾瀵垮懡" key="2"> - <rated-life-list ref="ratedLifeList"></rated-life-list> - </a-tab-pane> --> </a-tabs> <!-- table鍖哄煙-end --> - <cutting-tool-modal ref="modalForm" @ok="modalFormOk"></cutting-tool-modal> + + <cutting-tool-modal ref="modalForm" @ok="handleOk"></cutting-tool-modal> </a-card> </template> <script> +import '@/assets/less/TableExpand.less' +import { mixinDevice } from '@/utils/mixin' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import CuttingToolModal from './modules/CuttingToolModal' +import CuttingPropertiesList from './CuttingPropertiesList' +import JDictSelectTag from '@/components/dict/JDictSelectTag' +import JSearchSelectTag from '@/components/dict/JSearchSelectTag' - import '@/assets/less/TableExpand.less' - import { mixinDevice } from '@/utils/mixin' - import { JeecgListMixin } from '@/mixins/JeecgListMixin' - import CuttingToolModal from './modules/CuttingToolModal' - import CuttingPropertiesList from './CuttingPropertiesList' - import JDictSelectTag from '@/components/dict/JDictSelectTag' - import JSearchSelectTag from '@/components/dict/JSearchSelectTag' - - export default { - name: 'CuttingToolList', - mixins:[JeecgListMixin, mixinDevice], - components: { - CuttingToolModal,CuttingPropertiesList, JDictSelectTag, +export default { + name: 'CuttingToolList', + mixins: [JeecgListMixin, mixinDevice], + components: { + CuttingToolModal, + CuttingPropertiesList, + JDictSelectTag, JSearchSelectTag - }, - data () { - return { - description: '鍒�鍏蜂俊鎭鐞嗛〉闈�', - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key:'rowIndex', - width:60, - align:"center", - customRender:function (t,r,index) { - return parseInt(index)+1; - } - }, - { - title:'鍒�鍏风紪鐮�', - align:"center", - dataIndex: 'cuttingCode' - }, - { - title:'鍒�鍏峰悕绉�', - align:"center", - dataIndex: 'cuttingName' - }, - { - title:'鍒�鍏峰垎绫�', - align:"center", - dataIndex: 'cuttingCategory' - }, - { - title:'瀛樻斁浣嶇疆', - align:"center", - dataIndex: 'storeLocation' - }, - { - title:'渚涘簲鍟�', - align:"center", - dataIndex: 'supplierId' - }, - { - title:'鏈�灏忓寘瑁呭崟浣�', - align:"center", - dataIndex: 'minimumPackageUnit' - }, - { - title:'鍒�鍏锋潗璐�', - align:"center", - dataIndex: 'cuttingMaterial' - }, - { - title:'鍨嬪彿', - align:"center", - dataIndex: 'cuttingModel' - }, - { - title:'鍥惧彿', - align:"center", - dataIndex: 'drawingNumber' - }, - { - title:'搴撳瓨棰勮鍊�', - align:"center", - dataIndex: 'inventoryWarning' - }, - { - title:'澶囨敞', - align:"center", - dataIndex: 'remark' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align:"center", - fixed:"right", - width:147, - scopedSlots: { customRender: 'action' } - } - ], - url: { - list: "/cms/cuttingTool/getCuttingToolList", - delete: "/cms/cuttingTool/delete", - deleteBatch: "/cms/cuttingTool/deleteBatch", - exportXlsUrl: "/cms/cuttingTool/exportXls", - importExcelUrl: "cms/cuttingTool/importExcel", - + }, + data() { + return { + description: '鍒�鍏蜂俊鎭鐞嗛〉闈�', + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 60, + align: "center", + customRender: (t, r, index) => parseInt(index) + 1 }, - dictOptions:{}, - superFieldList:[], - } - }, - created() { - this.getSuperFieldList(); - }, - computed: { - importExcelUrl: function(){ - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + { + title: '鍒�鍏风紪鐮�', + align: "center", + dataIndex: 'cuttingCode' + }, + { + title: '鍒�鍏峰悕绉�', + align: "center", + dataIndex: 'cuttingName' + }, + { + title: '鍒�鍏峰垎绫�', + align: "center", + dataIndex: 'cuttingCategory' + }, + { + title: '瀛樻斁浣嶇疆', + align: "center", + dataIndex: 'storeLocation' + }, + { + title: '渚涘簲鍟�', + align: "center", + dataIndex: 'supplierId' + }, + { + title: '鏈�灏忓寘瑁呭崟浣�', + align: "center", + dataIndex: 'minimumPackageUnit' + }, + { + title: '鍒�鍏锋潗璐�', + align: "center", + dataIndex: 'cuttingMaterial' + }, + { + title: '鍨嬪彿', + align: "center", + dataIndex: 'cuttingModel' + }, + { + title: '鍥惧彿', + align: "center", + dataIndex: 'drawingNumber' + }, + { + title: '搴撳瓨棰勮鍊�', + align: "center", + dataIndex: 'inventoryWarning' + }, + { + title: '澶囨敞', + align: "center", + dataIndex: 'remark' + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align: "center", + fixed: "right", + width: 147, + scopedSlots: { customRender: 'action' } + } + ], + url: { + list: "/cms/cuttingTool/getCuttingToolList", + delete: "/cms/cuttingTool/delete", + deleteBatch: "/cms/cuttingTool/deleteBatch", + exportXlsUrl: "/cms/cuttingTool/exportXls", + importExcelUrl: "cms/cuttingTool/importExcel" }, - }, - methods: { - customRow(record) { - return { + dictOptions: {}, + superFieldList: [] + } + }, + computed: { + importExcelUrl() { + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + } + }, + created() { + this.getSuperFieldList(); + }, + methods: { + customRow(record) { + return { on: { - click: e => { - this.onSelectChange(record.id.split(","), [record]); + click: () => { + this.onSelectChange([record.id], [record]); } } }; - }, - onSelectChange(selectedRowKeys) { - this.selectedRowKeys = selectedRowKeys; - this.$refs.cuttingPropertiesList.getCuttingProperties(selectedRowKeys[0]); }, - handleEdit: function (record) { - this.$refs.modalForm.edit(record) - this.$refs.modalForm.title = '缂栬緫' - this.$refs.modalForm.disableSubmit = false + onSelectChange(selectedRowKeys) { + this.selectedRowKeys = selectedRowKeys; + if (selectedRowKeys.length > 0) { + this.$refs.cuttingPropertiesList.getCuttingProperties(selectedRowKeys[0]); + } + }, + handleEdit(record) { + this.$refs.modalForm.edit(record); + this.$refs.modalForm.title = '缂栬緫'; + this.$refs.modalForm.disableSubmit = false; }, handleAdd() { - this.$refs.modalForm.add() - this.$refs.modalForm.title = '鏂板' - this.$refs.modalForm.disableSubmit = false + this.$refs.modalForm.add(); + this.$refs.modalForm.title = '鏂板'; + this.$refs.modalForm.disableSubmit = false; }, - handleDetail:function(record){ + handleDetail(record) { this.$refs.modalForm.edit(record); - this.$refs.modalForm.title="璇︽儏"; + this.$refs.modalForm.title = "璇︽儏"; this.$refs.modalForm.disableSubmit = true; }, searchQuery() { @@ -288,15 +284,24 @@ this.loadData(); }, searchReset() { - this.queryParam.cuttingCode = ''; - this.queryParam.cuttingName = ''; - this.queryParam.cuttingCategory = ''; + this.queryParam = { + cuttingCode: '', + cuttingName: '', + cuttingCategory: '' + }; this.$refs.cuttingPropertiesList.getCuttingProperties("-1"); this.loadData(); }, - } + handleOk() { + // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃 + this.loadData(); + //娓呯┖鍒楄〃閫変腑 + this.onClearSelected() + }, } +} </script> + <style scoped> - @import '~@assets/less/common.less'; +@import '~@assets/less/common.less'; </style> \ No newline at end of file diff --git a/src/views/cms/ToolStocktakingList.vue b/src/views/cms/ToolStocktakingList.vue index db72ad1..c8bb8c0 100644 --- a/src/views/cms/ToolStocktakingList.vue +++ b/src/views/cms/ToolStocktakingList.vue @@ -232,9 +232,9 @@ initDictConfig(){ }, handleAdd(){ - this.$refs.modalForm.add() - this.$refs.modalForm.title = '鏂板' - this.$refs.modalForm.disableSubmit = false + this.$refs.modalForm.add() + this.$refs.modalForm.title = '鏂板' + this.$refs.modalForm.disableSubmit = false }, getSuperFieldList(){ let fieldList=[]; diff --git a/src/views/cms/modules/CuttingToolModal.vue b/src/views/cms/modules/CuttingToolModal.vue index b6cc324..dcec493 100644 --- a/src/views/cms/modules/CuttingToolModal.vue +++ b/src/views/cms/modules/CuttingToolModal.vue @@ -98,8 +98,8 @@ slot-scope='text, record, index' > <div :key="col.dataIndex"> - - + + <a-input :value="text" @@ -329,7 +329,7 @@ } this.$nextTick(() => { this.form.setFieldsValue( - pick(this.model, 'cuttingCode', 'cuttingName', 'cuttingCategory', 'storeLocation','cuttingModel', 'supplierId', 'minimumPackageUnit', + pick(this.model, 'cuttingCode', 'cuttingName', 'cuttingCategory', 'storeLocation','cuttingModel', 'supplierId', 'minimumPackageUnit', 'cuttingMaterial','drawingNumber','inventoryWarning','remark') ) }) @@ -354,6 +354,7 @@ this.deletePropertiesIds.push(record.id); } }, + handleOk() { const that = this let dataSource = that.dataSource; @@ -388,7 +389,7 @@ handleCancel() { this.close() }, - + //娣诲姞鎵╁睍灞炴�� addPropertiesList() { const temp = [...(this.dataSource || [])] diff --git a/src/views/mes/MesMaterialTransferRequestList.vue b/src/views/mes/MesMaterialTransferRequestList.vue index b370b82..c2242c4 100644 --- a/src/views/mes/MesMaterialTransferRequestList.vue +++ b/src/views/mes/MesMaterialTransferRequestList.vue @@ -12,24 +12,24 @@ <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> <div class="table-operator"> <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> - <a-button type="primary" icon="download" @click="handleExportXls('鐗╂枡鎷夊姩鐢宠')">瀵煎嚭</a-button> - <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> - <a-button type="primary" icon="import">瀵煎叆</a-button> - </a-upload> - <!-- 楂樼骇鏌ヨ鍖哄煙 --> - <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query> <a-dropdown v-if="selectedRowKeys.length > 0"> <a-menu slot="overlay"> - <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item> + <a-menu-item key="1" @click="batchDel"> + <a-icon type="delete" /> + 鍒犻櫎 + </a-menu-item> </a-menu> - <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button> + <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 + <a-icon type="down" /> + </a-button> </a-dropdown> </div> <!-- table鍖哄煙-begin --> <div> <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> - <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� + <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a + style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> </div> @@ -46,27 +46,6 @@ :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" class="j-table-force-nowrap" @change="handleTableChange"> - - <template slot="htmlSlot" slot-scope="text"> - <div v-html="text"></div> - </template> - <template slot="imgSlot" slot-scope="text,record"> - <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span> - <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> - </template> - <template slot="fileSlot" slot-scope="text"> - <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span> - <a-button - v-else - :ghost="true" - type="primary" - icon="download" - size="small" - @click="downloadFile(text)"> - 涓嬭浇 - </a-button> - </template> - <span slot="action" slot-scope="text, record"> <a @click="handleEdit(record)">缂栬緫</a> @@ -95,138 +74,104 @@ <script> - import '@/assets/less/TableExpand.less' - import { mixinDevice } from '@/utils/mixin' - import { JeecgListMixin } from '@/mixins/JeecgListMixin' - import MesMaterialTransferRequestModal from './modules/MesMaterialTransferRequestModal' - import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' +import '@/assets/less/TableExpand.less' +import { mixinDevice } from '@/utils/mixin' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import MesMaterialTransferRequestModal from './modules/MesMaterialTransferRequestModal' - export default { - name: 'MesMaterialTransferRequestList', - mixins:[JeecgListMixin, mixinDevice], - components: { - MesMaterialTransferRequestModal - }, - data () { - return { - description: '鐗╂枡鎷夊姩鐢宠绠$悊椤甸潰', - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key:'rowIndex', - width:60, - align:"center", - customRender:function (t,r,index) { - return parseInt(index)+1; - } - }, - { - title:'鍒犻櫎鏍囪', - align:"center", - dataIndex: 'delFlag' - }, - { - title:'鎷夊姩鍗曞彿', - align:"center", - dataIndex: 'requestCode' - }, - { - title:'宸ュ崟ID', - align:"center", - dataIndex: 'workOrderId' - }, - { - title:'SAP棰勭暀鍙�', - align:"center", - dataIndex: 'reservationCode' - }, - { - title:'鍙戝竷鐘舵��', - align:"center", - dataIndex: 'publishStatus_dictText' - }, - { - title:'璇锋眰鐘舵��', - align:"center", - dataIndex: 'requestStatus_dictText' - }, - { - title:'璇锋眰鏃堕棿', - align:"center", - dataIndex: 'requestTime' - }, - { - title:'鍘熷簱瀛樺湴', - align:"center", - dataIndex: 'originalWarehouseId' - }, - { - title:'鐩爣搴撳瓨鍦�', - align:"center", - dataIndex: 'targetWarehouseId' - }, - { - title:'浼樺厛绾э紙鎷夊姩绫诲瀷锛�', - align:"center", - dataIndex: 'priority_dictText' - }, - { - title:'鏈�鏅氶厤閫佹椂闂�', - align:"center", - dataIndex: 'latestDeliveryTime' - }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align:"center", - fixed:"right", - width:147, - scopedSlots: { customRender: 'action' } +export default { + name: 'MesMaterialTransferRequestList', + mixins: [JeecgListMixin, mixinDevice], + components: { + MesMaterialTransferRequestModal + }, + data() { + return { + description: '鐗╂枡鎷夊姩鐢宠绠$悊椤甸潰', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 60, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 } - ], - url: { - list: "/mesmaterialtransferrequest/mesMaterialTransferRequest/list", - delete: "/mesmaterialtransferrequest/mesMaterialTransferRequest/delete", - deleteBatch: "/mesmaterialtransferrequest/mesMaterialTransferRequest/deleteBatch", - exportXlsUrl: "/mesmaterialtransferrequest/mesMaterialTransferRequest/exportXls", - importExcelUrl: "mesmaterialtransferrequest/mesMaterialTransferRequest/importExcel", - }, - dictOptions:{}, - superFieldList:[], - } - }, - created() { - this.getSuperFieldList(); - }, - computed: { - importExcelUrl: function(){ - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; - }, - }, - methods: { - initDictConfig(){ - }, - getSuperFieldList(){ - let fieldList=[]; - fieldList.push({type:'int',value:'delFlag',text:'鍒犻櫎鏍囪',dictCode:''}) - fieldList.push({type:'string',value:'requestCode',text:'鎷夊姩鍗曞彿',dictCode:''}) - fieldList.push({type:'string',value:'workOrderId',text:'宸ュ崟ID',dictCode:''}) - fieldList.push({type:'string',value:'reservationCode',text:'SAP棰勭暀鍙�',dictCode:''}) - fieldList.push({type:'string',value:'publishStatus',text:'鍙戝竷鐘舵��',dictCode:'publish_status'}) - fieldList.push({type:'string',value:'requestStatus',text:'璇锋眰鐘舵��',dictCode:'request_status'}) - fieldList.push({type:'datetime',value:'requestTime',text:'璇锋眰鏃堕棿'}) - fieldList.push({type:'string',value:'originalWarehouseId',text:'鍘熷簱瀛樺湴',dictCode:''}) - fieldList.push({type:'string',value:'targetWarehouseId',text:'鐩爣搴撳瓨鍦�',dictCode:''}) - fieldList.push({type:'string',value:'priority',text:'浼樺厛绾э紙鎷夊姩绫诲瀷锛�',dictCode:'priority'}) - fieldList.push({type:'datetime',value:'latestDeliveryTime',text:'鏈�鏅氶厤閫佹椂闂�'}) - this.superFieldList = fieldList + { + title: '鎷夊姩鍗曞彿', + align: 'center', + dataIndex: 'requestCode' + }, + { + title: '宸ュ崟ID', + align: 'center', + dataIndex: 'workOrderId' + }, + { + title: 'SAP棰勭暀鍙�', + align: 'center', + dataIndex: 'reservationCode' + }, + { + title: '鍙戝竷鐘舵��', + align: 'center', + dataIndex: 'publishStatus_dictText' + }, + { + title: '璇锋眰鐘舵��', + align: 'center', + dataIndex: 'requestStatus_dictText' + }, + { + title: '璇锋眰鏃堕棿', + align: 'center', + dataIndex: 'requestTime' + }, + { + title: '鍘熷簱瀛樺湴', + align: 'center', + dataIndex: 'originalWarehouseId' + }, + { + title: '鐩爣搴撳瓨鍦�', + align: 'center', + dataIndex: 'targetWarehouseId' + }, + { + title: '浼樺厛绾э紙鎷夊姩绫诲瀷锛�', + align: 'center', + dataIndex: 'priority_dictText' + }, + { + title: '鏈�鏅氶厤閫佹椂闂�', + align: 'center', + dataIndex: 'latestDeliveryTime' + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + fixed: 'right', + width: 147, + scopedSlots: { customRender: 'action' } + } + ], + url: { + list: '/mes/mesMaterialTransferRequest/list', + delete: '/mes/mesMaterialTransferRequest/delete', + deleteBatch: '/mes/mesMaterialTransferRequest/deleteBatch' } } - } + }, + created() { + }, + computed: {}, + methods: {} +} </script> <style scoped> - @import '~@assets/less/common.less'; +@import '~@assets/less/common.less'; </style> \ No newline at end of file diff --git a/src/views/mes/modules/MesMaterialTransferRequestForm.vue b/src/views/mes/modules/MesMaterialTransferRequestForm.vue index 2ec3134..e24608f 100644 --- a/src/views/mes/modules/MesMaterialTransferRequestForm.vue +++ b/src/views/mes/modules/MesMaterialTransferRequestForm.vue @@ -4,58 +4,43 @@ <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> <a-row> <a-col :span="12"> - <a-form-model-item label="鍒犻櫎鏍囪" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag"> - <a-input-number v-model="model.delFlag" placeholder="璇疯緭鍏ュ垹闄ゆ爣璁�" style="width: 100%" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> <a-form-model-item label="鎷夊姩鍗曞彿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="requestCode"> - <a-input v-model="model.requestCode" placeholder="璇疯緭鍏ユ媺鍔ㄥ崟鍙�" ></a-input> + <a-input v-model="model.requestCode" placeholder="鎷夊姩鍗曞彿鑷姩鐢熸垚" readOnly></a-input> </a-form-model-item> </a-col> <a-col :span="12"> - <a-form-model-item label="宸ュ崟ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workOrderId"> + <a-form-model-item label="璧峰搴撳瓨鍦扮偣" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="originalWarehouseId"> + <j-dict-select-tag type="list" v-model="model.originalWarehouseId" dictCode="original_warehouse_list" placeholder="璇烽�夋嫨璧峰搴撳瓨鍦扮偣" /> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="浠诲姟鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workOrderId"> <a-input v-model="model.workOrderId" placeholder="璇疯緭鍏ュ伐鍗旾D" ></a-input> </a-form-model-item> </a-col> <a-col :span="12"> - <a-form-model-item label="SAP棰勭暀鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reservationCode"> - <a-input v-model="model.reservationCode" placeholder="璇疯緭鍏AP棰勭暀鍙�" ></a-input> + <a-form-model-item label="鐩爣搴撳瓨鍦扮偣" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="targetWarehouseId"> + <a-input v-model="model.targetWarehouseId" placeholder="鑷姩鑾峰彇" readOnly ></a-input> </a-form-model-item> </a-col> <a-col :span="12"> - <a-form-model-item label="鍙戝竷鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="publishStatus"> - <j-dict-select-tag type="list" v-model="model.publishStatus" dictCode="publish_status" placeholder="璇烽�夋嫨鍙戝竷鐘舵��" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="璇锋眰鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="requestStatus"> - <j-dict-select-tag type="list" v-model="model.requestStatus" dictCode="request_status" placeholder="璇烽�夋嫨璇锋眰鐘舵��" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="璇锋眰鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="requestTime"> - <j-date placeholder="璇烽�夋嫨璇锋眰鏃堕棿" v-model="model.requestTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="鍘熷簱瀛樺湴" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="originalWarehouseId"> - <a-input v-model="model.originalWarehouseId" placeholder="璇疯緭鍏ュ師搴撳瓨鍦�" ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="鐩爣搴撳瓨鍦�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="targetWarehouseId"> - <a-input v-model="model.targetWarehouseId" placeholder="璇疯緭鍏ョ洰鏍囧簱瀛樺湴" ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="浼樺厛绾э紙鎷夊姩绫诲瀷锛�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="priority"> - <j-dict-select-tag type="list" v-model="model.priority" dictCode="priority" placeholder="璇烽�夋嫨浼樺厛绾э紙鎷夊姩绫诲瀷锛�" /> + <a-form-model-item label="鎷夊姩绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialTransferCategory"> + <j-dict-select-tag type="list" v-model="model.materialTransferCategory" dictCode="material_transfer_category" placeholder="璇烽�夋嫨鎷夊姩绫诲瀷" /> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="鏈�鏅氶厤閫佹椂闂�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="latestDeliveryTime"> - <j-date placeholder="璇烽�夋嫨鏈�鏅氶厤閫佹椂闂�" v-model="model.latestDeliveryTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> + <j-date placeholder="璇烽�夋嫨鏈�鏅氶厤閫佹椂闂�" v-model="model.latestDeliveryTime" :show-time="false" date-format="YYYY-MM-DD" style="width: 100%" /> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="鎷夊姩鐗╂枡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialNumber"> + <j-dict-select-tag type="list" v-model="model.materialNumber" dictCode="priority" placeholder="璇烽�夋嫨鎷夊姩鐗╂枡" /> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="鎷夊姩鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="specifiedQuantity"> + <a-input-number v-model="model.specifiedQuantity" placeholder="璇疯緭鍏ユ媺鍔ㄦ暟閲�" style="width: 100%" /> </a-form-model-item> </a-col> </a-row> @@ -87,7 +72,7 @@ }, labelCol: { xs: { span: 24 }, - sm: { span: 5 }, + sm: { span: 6 }, }, wrapperCol: { xs: { span: 24 }, @@ -95,11 +80,26 @@ }, confirmLoading: false, validatorRules: { + originalWarehouseId: [ + { required: true, message: '璧峰搴撳瓨鍦扮偣蹇呴��', trigger: 'change' } + ], + workOrderId: [ + { required: true, message: '浠诲姟鍙峰繀閫�', trigger: 'change' } + ], + materialNumber: [ + { required: true, message: '鎷夊姩鐗╂枡蹇呴��', trigger: 'change' } + ], + specifiedQuantity: [ + { required: true, message: '鎷夊姩鏁伴噺蹇呭~', trigger: 'change' } + ], + materialTransferCategory: [ + { required: true, message: '鎷夊姩绫诲瀷蹇呴��', trigger: 'change' } + ], }, url: { - add: "/mesmaterialtransferrequest/mesMaterialTransferRequest/add", - edit: "/mesmaterialtransferrequest/mesMaterialTransferRequest/edit", - queryById: "/mesmaterialtransferrequest/mesMaterialTransferRequest/queryById" + add: "/mes/mesMaterialTransferRequest/add", + edit: "/mes/mesMaterialTransferRequest/edit", + queryById: "/mes/mesMaterialTransferRequest/queryById" } } }, @@ -146,7 +146,7 @@ that.confirmLoading = false; }) } - + }) }, } -- Gitblit v1.9.3