From 33032d320cb75854def7391026b0401f1bfb8360 Mon Sep 17 00:00:00 2001 From: 黎星凯 <13949086503@163.com> Date: 星期六, 11 五月 2024 17:26:02 +0800 Subject: [PATCH] 20240511修改: 分发单优化, 分类,物品,分发单明细,采购单明细数据导入 --- admin-web/src/views/stock/procure/purchaseOrder/edit.vue | 50 +++++++++++++++++++++++++++++--------------------- 1 files changed, 29 insertions(+), 21 deletions(-) diff --git a/admin-web/src/views/stock/procure/purchaseOrder/edit.vue b/admin-web/src/views/stock/procure/purchaseOrder/edit.vue index e1482dc..e08e183 100644 --- a/admin-web/src/views/stock/procure/purchaseOrder/edit.vue +++ b/admin-web/src/views/stock/procure/purchaseOrder/edit.vue @@ -5,7 +5,7 @@ <el-row :gutter="24" class="headerHeight"> <el-col :span="12"> <el-form-item label="鍏ュ簱浠撳簱" prop="warehouseId"> - <el-select v-model="formData.warehouseId" placeholder="璇烽�夋嫨" style="width: 100%"> + <el-select v-model="formData.warehouseId" placeholder="璇烽�夋嫨" clearable style="width: 100%"> <el-option v-for="item in warehouses" :key="item.id" :label="item.warehouseName" :value="item.id"/> </el-select> </el-form-item> @@ -15,6 +15,7 @@ <el-date-picker v-model="formData.procureTime" type="datetime" + clearable value="yyyy-MM-dd HH:mm:ss" value-format="yyyyMMddHHmmss" placeholder="璇烽�夋嫨鏃ユ湡" @@ -45,17 +46,20 @@ <el-col :span="12"> <el-form-item label="鐗╁搧鍒嗙被" - :prop="`procureGoods[${goodsIndex}].baseCategoryIds`" + :prop="`procureGoods.${goodsIndex}.baseCategoryId`" :rules="{ required: true, - message: '璇烽�夋嫨', + message: '璇烽�夋嫨鐗╁搧鍒嗙被', trigger: 'change', }" > <el-cascader - v-model="goodsItem.baseCategoryIds" + v-model="goodsItem.baseCategoryId" :options="categoryOptions" - :props="{ value: 'id' }" + :props="{ value: 'id',emitPath: false }" + :show-all-levels="false" + filterable + clearable @change="categoryChange($event, goodsIndex)" style="width: 100%" ></el-cascader> @@ -64,13 +68,14 @@ <el-col :span="12"> <el-form-item label="鐗╁搧鍚嶇О" - :prop="`procureGoods[${goodsIndex}].baseGoodsTemplateId`" + :prop="`procureGoods.${goodsIndex}.baseGoodsTemplateId`" :rules="rules.baseGoodsTemplateId" > <el-select v-model="goodsItem.baseGoodsTemplateId" - placeholder="璇峰厛鎷╃墿鍝佸垎绫�" + :placeholder="goodsItem.baseCategoryId?'璇烽�夋嫨鐗╁搧':'璇峰厛閫夋嫨鐗╁搧鍒嗙被'" filterable + clearable :disabled="!goodsItem.baseCategoryId" style="width: 100%" @change="goodsTemplateChange($event, goodsIndex)" @@ -89,20 +94,22 @@ <el-col :span="12"> <el-form-item label="瑙勬牸鍨嬪彿" - :prop="`procureGoods[${goodsIndex}].modelsIds`" + :prop="`procureGoods.${goodsIndex}.modelsIds`" :rules="{ required: true, - message: '璇烽�夋嫨', + message: '璇烽�夋嫨瑙勬牸鍨嬪彿', trigger: 'change', }" > <el-select v-model="goodsItem.modelsIds" multiple - placeholder="璇峰厛鎷╃墿鍝佸悕绉�" - :disabled="!goodsItem.baseCategoryId" + clearable + :placeholder="goodsItem.baseGoodsTemplateId?'璇烽�夋嫨瑙勬牸鍨嬪彿':'璇峰厛閫夋嫨鐗╁搧鍚嶇О'" + :disabled="!goodsItem.baseGoodsTemplateId" @change="modelChange($event, goodsIndex)" @remove-tag="modelRemoveTag($event, goodsIndex)" + @clear="modelRemoveTag(-1, goodsIndex)" style="width: 100%" > <el-option @@ -207,6 +214,7 @@ import {getUploadUrl} from '@/utils/base'; import {findParentIds} from '@/utils/index'; import {mapGetters} from 'vuex'; +import * as DateFormatter from "@/utils/DateFormatter"; export default { components: {MyButton, winMd, upload}, @@ -275,7 +283,7 @@ formData: { procureDoc: '', warehouseId: '', // 鍏ュ簱浠撳簱id - procureTime: '', // 閲囪喘鏃堕棿 + procureTime: DateFormatter.formatDate(new Date(), 'yyyyMMddhhmmss'), // 閲囪喘鏃堕棿 buyType: '2', // 閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛� procureGoods: [], }, @@ -305,7 +313,7 @@ procureDoc: [{required: true, message: '璇蜂笂浼�', trigger: 'change'}], baseCategoryIds: [{required: true, message: '璇烽�夋嫨', trigger: 'change'}], - baseGoodsTemplateId: [{validator: checkGoodsTemplateId, trigger: ['blur', 'change']}], + baseGoodsTemplateId: [{required: true, message: '璇烽�夋嫨', trigger: 'change'},{validator: checkGoodsTemplateId, trigger: ['blur', 'change']}], modelsIds: [{required: true, message: '璇烽�夋嫨', trigger: 'change'}], priceYuan: [{validator: checkPrice, trigger: 'blur'}], counts: [{validator: checkCounts, trigger: 'blur'}], @@ -318,8 +326,6 @@ tip: '', // 鎻愮ず 榛樿锛歚鍙兘涓婁紶${this.defaultSettings.num}涓�${this.defaultSettings.accept}鏂囦欢锛屼笖涓嶈秴杩�${this.defaultSettings.max}kb` uploadUrl: getUploadUrl(), // 涓婁紶璺緞 multiple: true, // 鏄惁鏀寔鎵归噺涓婁紶 - disabled: false, // 鏄惁绂佺敤 - type: 'picture', // text/picture }, }; }, @@ -332,6 +338,8 @@ methods: { async init() { await this.getWarehouseList(); + await this.getgoodsTemplate(); + await this.getgoodsModel(); // 鑾峰彇鐗╁搧鍒嗙被鍒楄〃 const treeRes = await getTree(); @@ -359,9 +367,6 @@ }); return item; }); - } else { - await this.getgoodsTemplate(); - await this.getgoodsModel(); } this.loading = false; }, @@ -397,7 +402,7 @@ // 鑾峰彇鐗╁搧鍚嶇О鍒楄〃 async getgoodsTemplate(id, index) { - await goodsTemplate({categoryId: id || ''}).then((res) => { + await goodsTemplate({agencyId: this.userInfo.tenantId, categoryId: id || ''}).then((res) => { if (index || index == 0) { this.$set(this.formData.procureGoods[index], 'goodsOptions', res); } else { @@ -444,9 +449,8 @@ this.formData.procureGoods[index].modelsIds = []; this.formData.procureGoods[index].models = []; - this.formData.procureGoods[index].baseCategoryId = e[e.length - 1]; // 鏍规嵁閫変腑鍒嗙被璇锋眰鐗╁搧鍚嶇О鍒楄〃 - this.getgoodsTemplate(e[e.length - 1], index); + this.getgoodsTemplate(e, index); }, // 鐗╁搧鍚嶇О鍒楄〃 @@ -475,6 +479,10 @@ // 瑙勬牸鍨嬪彿绉婚櫎 modelRemoveTag(e, index) { + if(e===-1){ + this.formData.procureGoods[index].models = [] + return + } let arr = this.formData.procureGoods[index].models; let delIndex = arr.findIndex((v) => v.baseGoodsModelsId == e); this.formData.procureGoods[index].models.splice(delIndex, 1); -- Gitblit v1.9.1