From b4edf6ce42debe4edcc85414d9f6c0d41f480587 Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期五, 20 六月 2025 11:36:06 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/eam/purchase/modules/EamEquipmentPurchasePlanForm.vue | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 231 insertions(+), 0 deletions(-) diff --git a/src/views/eam/purchase/modules/EamEquipmentPurchasePlanForm.vue b/src/views/eam/purchase/modules/EamEquipmentPurchasePlanForm.vue new file mode 100644 index 0000000..4a26886 --- /dev/null +++ b/src/views/eam/purchase/modules/EamEquipmentPurchasePlanForm.vue @@ -0,0 +1,231 @@ +<template> + <a-spin :spinning="confirmLoading"> + <j-form-container :disabled="formDisabled"> + <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="planCode"> + <a-input v-model="model.planCode" placeholder="绯荤粺鑷姩鐢熸垚" disabled ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="閲囪喘璁″垝鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planName"> + <a-input v-model="model.planName" placeholder="璇疯緭鍏ラ噰璐鍒掑悕绉�" ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="12" v-if="disabled"> + <a-form-model-item label="璁″垝鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planStatus"> + <j-dict-select-tag dict-code="equipment_purchase_plan_status" placeholder="璇烽�夋嫨璁″垝鐘舵��" + v-model="model.planStatus" /> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="鍨嬪彿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentModel"> + <a-input v-model="model.equipmentModel" placeholder="璇疯緭鍏ュ瀷鍙�" ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="閲囪喘鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="purchaseNumber"> + <a-input-number v-model="model.purchaseNumber" placeholder="璇疯緭鍏ラ噰璐暟閲�" style="width: 100%" /> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="棰勮鍗曚环" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="estimatedUnitPrice"> + <a-input-number v-model="model.estimatedUnitPrice" placeholder="璇疯緭鍏ラ璁″崟浠�" style="width: 100%" /> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="鎬讳环" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="totalPrice"> + <a-input-number v-model="model.totalPrice" placeholder="璇疯緭鍏ユ�讳环" style="width: 100%" /> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="鍚堝悓鎬婚噾棰�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="overallContractAmount"> + <a-input-number v-model="model.overallContractAmount" placeholder="璇疯緭鍏ュ悎鍚屾�婚噾棰�" style="width: 100%" /> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="绠$悊鍒嗙被" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentImportance"> + <j-dict-select-tag dict-code="equipment_abc_flag" placeholder="璇烽�夋嫨绠$悊鍒嗙被" + v-model="model.equipmentImportance" /> + </a-form-model-item> + </a-col> +<!-- <a-col :span="12">--> +<!-- <a-form-model-item label="璁″垝绫诲埆" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planCategory">--> +<!-- <a-input v-model="model.planCategory" placeholder="璇疯緭鍏ヨ鍒掔被鍒�" ></a-input>--> +<!-- </a-form-model-item>--> +<!-- </a-col>--> + <a-col :span="12"> + <a-form-model-item label="鐢宠浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applicant"> + <j-search-select-tag placeholder="璇烽�夋嫨鐢宠浜�" v-model="model.applicant" dict="sys_user,realname, username, del_flag=0 and status=1"/> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="鐢宠杞﹂棿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applicantProduction"> + <a-tree-select v-model="model.applicantProduction" + style="width: 100%" + :tree-data="treeData" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + placeholder="璇烽�夋嫨浣跨敤杞﹂棿" + allow-clear + tree-default-expand-all + > + </a-tree-select> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="璁″垝寮�濮嬫棩鏈�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planStartDate"> + <j-date :show-time="true" dateFormat="YYYY-MM-DD HH" placeholder="璇烽�夋嫨璁″垝寮�濮嬫棩鏈�" v-model="model.planStartDate" style="width: 100%" /> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="璁″垝瀹屾垚鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planEndDate"> + <j-date :show-time="true" dateFormat="YYYY-MM-DD HH" placeholder="璇烽�夋嫨璁″垝瀹屾垚鏃ユ湡" v-model="model.planEndDate" style="width: 100%" /> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="璁″垝鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planDescription"> + <a-textarea v-model="model.planDescription" placeholder="璇疯緭鍏ヨ鍒掓弿杩�" ></a-textarea> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="瀹炴柦鍙婂崗鍔╅儴闂�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relatedDeparts"> + <a-input v-model="model.relatedDeparts" placeholder="璇疯緭鍏ュ疄鏂藉強鍗忓姪閮ㄩ棬" ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="12"> + <a-form-model-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark"> + <a-textarea v-model="model.remark" placeholder="璇疯緭鍏ュ娉�" ></a-textarea> + </a-form-model-item> + </a-col> + </a-row> + </a-form-model> + </j-form-container> + </a-spin> +</template> + +<script> + + import { httpAction, getAction } from '@/api/manage' + import { validateDuplicateValue } from '@/utils/util' + + export default { + name: 'EamEquipmentPurchasePlanForm', + components: { + }, + props: { + //琛ㄥ崟绂佺敤 + disabled: { + type: Boolean, + default: false, + required: false + } + }, + data () { + return { + model:{ + }, + treeData: [], + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + confirmLoading: false, + validatorRules: { + planName: [ + { required: true, message: '璇疯緭鍏ラ噰璐鍒掑悕绉�!'}, + ], + equipmentModel: [ + { required: true, message: '璇疯緭鍏ュ瀷鍙�!'}, + ], + purchaseNumber: [ + { required: true, message: '璇疯緭鍏ラ噰璐暟閲�!'}, + ], + estimatedUnitPrice: [ + { required: true, message: '璇疯緭鍏ラ璁″崟浠�!'}, + ], + totalPrice: [ + { required: true, message: '璇疯緭鍏ユ�讳环!'}, + ], + overallContractAmount: [ + { required: true, message: '璇疯緭鍏ュ悎鍚屾�婚噾棰�!'}, + ], + planStartDate: [ + { required: true, message: '璇疯緭鍏ヨ鍒掑紑濮嬫棩鏈�!'}, + ], + planEndDate: [ + { required: true, message: '璇疯緭鍏ヨ鍒掑畬鎴愭棩鏈�!'}, + ], + }, + url: { + add: "/eam/eamEquipmentPurchasePlan/add", + edit: "/eam/eamEquipmentPurchasePlan/edit", + queryById: "/eam/eamEquipmentPurchasePlan/queryById", + loadWorkShopOptions:'/mdc/mdcProduction/loadProductionTreeOptions' + } + } + }, + computed: { + formDisabled(){ + return this.disabled + }, + }, + created () { + //澶囦唤model鍘熷鍊� + this.modelDefault = JSON.parse(JSON.stringify(this.model)); + this.loadWorkShopTree() + }, + methods: { + loadWorkShopTree() { + //鍔犺浇杞﹂棿閫夋嫨鏍� + getAction(this.url.loadWorkShopOptions).then(res => { + if (res.success) { + this.treeData = [...res.result] + }else { + that.$message.warning(res.message) + } + }) + }, + 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 -- Gitblit v1.9.3