From b4adff68a07b783fc90da1c9370d8be5f383e700 Mon Sep 17 00:00:00 2001 From: 黎星凯 <13949086503@163.com> Date: 星期三, 08 五月 2024 13:46:34 +0800 Subject: [PATCH] 20240528修改: bug41、42、43修改 领用单(分发单),调拨单,流程优化 --- admin-web/src/views/departmentitem/itemdis/distribution/edit.vue | 88 +++++++++++-------------------------------- 1 files changed, 23 insertions(+), 65 deletions(-) diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue b/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue index d94d5c4..d85c8d9 100644 --- a/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue +++ b/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue @@ -1,11 +1,11 @@ <template> - <win-md class="stock-edit" title="鐗╁搧鍒嗗彂" @close="close" width="900px"> - <el-form v-loading="loading" class="form" ref="ruleForm" :model="formData" :rules="rules" label-width="120px"> + <win-md class="stock-edit" title="鐗╁搧鍒嗗彂" @close="close" width="900px" :loading="loading"> + <el-form class="form" ref="ruleForm" :model="formData" :rules="rules" label-width="120px"> <div class="main-w"> <el-row :gutter="24" class="headerHeight"> <el-col :span="12"> <el-form-item label="閮ㄩ棬" prop="departmentId"> - <el-select ref="department" v-model="formData.departmentId" placeholder="璇烽�夋嫨" style="width: 100%"> + <el-select ref="department" v-model="formData.departmentId" clearable placeholder="璇烽�夋嫨" style="width: 100%"> <el-option v-for="item in departmentOptions" :key="item.id" :label="item.name" :value="item.id" clearable/> </el-select> @@ -61,6 +61,7 @@ :options="categoryOptions" :props="{ value: 'id',emitPath: false }" :show-all-levels="false" + filterable clearable @change="categoryChange($event, goodsIndex)" style="width: 100%" @@ -75,7 +76,7 @@ > <el-select v-model="goodsItem.baseGoodsTemplateId" - placeholder="璇烽�夋嫨鐗╁搧" + :placeholder="goodsItem.baseCategoryId?'璇烽�夋嫨鐗╁搧':'璇峰厛閫夋嫨鐗╁搧鍒嗙被'" filterable clearable :disabled="!goodsItem.baseCategoryId" @@ -97,12 +98,12 @@ <el-form-item label="瑙勬牸鍨嬪彿" :prop="`transferGoods.${goodsIndex}.modelsIds`" - :rules="{required: true,message: '璇烽�夋嫨',trigger: 'change',}"> + :rules="{required: true,message: '璇烽�夋嫨瑙勬牸鍨嬪彿',trigger: 'change',}"> <el-select v-model="goodsItem.modelsIds" multiple - placeholder="璇烽�夋嫨鐗╁搧瑙勬牸鍨嬪彿" - :disabled="!goodsItem.baseCategoryId" + :placeholder="goodsItem.baseGoodsTemplateId?'璇烽�夋嫨瑙勬牸鍨嬪彿':'璇峰厛閫夋嫨鐗╁搧鍚嶇О'" + :disabled="!goodsItem.baseGoodsTemplateId" @change="modelChange($event, goodsIndex)" @remove-tag="modelRemoveTag($event, goodsIndex)" style="width: 100%" @@ -227,13 +228,8 @@ </win-md> </template> <script> -import { - goodsTemplate, - goodsModel, -} from '@/api/stock/procure/purchaseOrder'; -import { - transferAdd -} from '@/api/stock/transfer'; +import {goodsModel, goodsTemplate,} from '@/api/stock/procure/purchaseOrder'; +import {transferAdd} from '@/api/stock/transfer'; import {departmentListAll} from '@/api/system/deptment'; import {getTree} from '@/api/foudation/classification'; import MyButton from '@/components/myButton/myButton'; @@ -242,7 +238,7 @@ import {getUploadUrl} from '@/utils/base'; import {mapGetters} from 'vuex'; import * as DateFormatter from '@/utils/DateFormatter'; -import {warehouseSelectNumber} from "@/api/baseSetting/finsystenant"; +import {warehouseAllSelectNumber} from "@/api/baseSetting/finsystenant"; export default { components: {MyButton, winMd, upload}, @@ -295,17 +291,7 @@ } callback(); }, - loading: false, - buyTypeOptions: [ - { - label: '闆嗛噰', - value: '1', - }, - { - label: '鑷噰', - value: '2', - }, - ], + loading: true, fileList: [], departmentOptions: [], // 閮ㄩ棬鍒楄〃 categoryOptions: [], // 鐗╁搧鍒嗙被鍒楄〃 @@ -345,9 +331,10 @@ operatorName: [{required: true, message: '璇峰~鍐欓鍙栦汉', trigger: 'blur'}], tel: [{required: true, message: '璇峰~鍐欒仈绯荤數璇�', trigger: 'blur'}], createTime: [{required: true, message: '璇烽�夋嫨鍒嗗彂鏃堕棿', trigger: 'change'}], + // 澧炲姞浜嗗垎鍙戠殑涓棿娴佺▼锛岃嫢鍚庢湡搴忓彿姝ゆ祦绋嬶紙涓嬭浇鍒嗗彂鍗曪紝涓婁紶鍒嗗彂鍗曪級鍒欐敞鎺塸rocureDoc 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'}], transferGoods: [ { @@ -374,12 +361,10 @@ title: '涓婁紶', max: 20, // 鏈�澶уぇ灏忥紝鍗曚綅M num: 10, // 鏀寔涓婁紶鍥剧墖涓暟 - accept: '.jpg,.png', // 闄愬埗鏍煎紡 tip: '', // 鎻愮ず 榛樿锛歚鍙兘涓婁紶${this.defaultSettings.num}涓�${this.defaultSettings.accept}鏂囦欢锛屼笖涓嶈秴杩�${this.defaultSettings.max}kb` uploadUrl: getUploadUrl(), // 涓婁紶璺緞 multiple: true, // 鏄惁鏀寔鎵归噺涓婁紶 disabled: false, // 鏄惁绂佺敤 - type: 'picture', // text/picture }, }; }, @@ -391,48 +376,21 @@ }, methods: { async init() { - this.getdeptmentList(); - this.getgoodsTemplate(); - this.getgoodsModel(); + await this.getdeptmentList(); // 鑾峰彇鐗╁搧鍒嗙被鍒楄〃 const treeRes = await getTree(); this.categoryOptions = this.removeEmptyChildren(treeRes); - /*if (this.setting.id) { - const detail = await procureDetail({ id: this.setting.id }); - this.formData = Object.assign(this.formData, detail); - if (this.formData.procureDoc) { - this.fileList = JSON.parse(this.formData.procureDoc); - } - this.$set(this.formData, 'buyType', this.formData.buyType.toString()); - this.formData.procureTime = this.formData.procureTime.toString(); - this.formData.transferGoods.map((item, index) => { - this.$set( - this.formData.transferGoods[index], - 'modelsIds', - item.models.map((v) => v.baseGoodsModelsId), - ); - this.getgoodsTemplate(item.baseCategoryId, index); - this.getgoodsModel(item.baseGoodsTemplateId, index); - item.models.forEach((child, childIndex) => { - this.$set(this.formData.transferGoods[index].models[childIndex], 'priceYuan', child.price / 100); - }); - return item; - }); - }*/ + this.loading = false + this.getgoodsTemplate(); + this.getgoodsModel(); }, - // 鑾峰彇鍏ュ簱浠撳簱鍒楄〃 + // 鑾峰彇閮ㄩ棬鍒楄〃 getdeptmentList() { departmentListAll({tenantId: this.userInfo.tenantId}) .then((res) => { this.departmentOptions = res; - if (!this.setting.id && res.length) { - this.formData.transferGoods.push(JSON.parse(JSON.stringify(this.goodsItem))); - } - if (this.departmentOptions.length && !this.formData.warehouseId) { - // 榛樿閫変腑绗竴涓粨搴� - this.formData.warehouseId = this.departmentOptions[0].id; - } + this.formData.transferGoods.push(JSON.parse(JSON.stringify(this.goodsItem))); }) .catch((err) => { console.log('err', err); @@ -520,9 +478,8 @@ let str = JSON.stringify(arr); for (const item of e) { if (str.indexOf(item) === -1) { - let num = await warehouseSelectNumber({ + let num = await warehouseAllSelectNumber({ baseGoodsModelsId: item, - warehouseType: 0, states: 1, agencyId: this.userInfo.tenantId, }); @@ -589,6 +546,7 @@ this.formData.departmentName = this.$refs.department.selected.currentLabel this.formData.outAgencyId = this.userInfo.tenantId + if(this.loading) return this.loading = true transferAdd(this.formData) .then((res) => { @@ -600,7 +558,7 @@ .catch((err) => { this.loading = false console.log('create err', err); - this.$message.error('淇濆瓨澶辫触'); + //this.$message.error('淇濆瓨澶辫触'); }); } else { this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��'); -- Gitblit v1.9.1