| | |
| | | <el-form-item |
| | | label="物品名称" |
| | | :prop="`transferGoods[${goodsIndex}].baseGoodsTemplateId`" |
| | | :rules="{ |
| | | required: true, |
| | | message: '请选择', |
| | | trigger: 'change', |
| | | }" |
| | | :rules="rules.baseGoodsTemplateId" |
| | | > |
| | | <el-select |
| | | :value="goodsItem.baseGoodsTemplateId" |
| | | v-model="goodsItem.baseGoodsTemplateId" |
| | | placeholder="请先择物品分类" |
| | | filterable |
| | | :disabled="!goodsItem.baseCategoryId" |
| | |
| | | </win-md> |
| | | </template> |
| | | <script> |
| | | import { transferAdd } from '@/api/stock/transfer'; |
| | | import { getCategorySelectTree, getTree, goodsTemplate, goodsModel } from '@/api/baseSetting/finsystenant'; |
| | | import { getParentTenant,queryWarehouseGoods } from '@/api/stock/transfer'; |
| | | import {getParentTenant, queryWarehouseGoods, transferAdd} from '@/api/stock/transfer'; |
| | | import {getCategorySelectTree, goodsModel, warehouseSelectNumber} from '@/api/baseSetting/finsystenant'; |
| | | import MyButton from '@/components/myButton/myButton'; |
| | | import winMd from '@/components/win/win-md'; |
| | | import upload from '@/components/upload/index'; |
| | | import { getUploadUrl } from '@/utils/base'; |
| | | import { mapGetters } from 'vuex'; |
| | | import {getUploadUrl} from '@/utils/base'; |
| | | import {mapGetters} from 'vuex'; |
| | | |
| | | export default { |
| | | components: { MyButton, winMd, upload }, |
| | |
| | | }, |
| | | }, |
| | | data() { |
| | | // 自定义校验 |
| | | // 物品重复校验 |
| | | var checkGoodsTemplateId = (rule, value, callback) => { |
| | | if (!value) { |
| | | return callback(new Error('请选择')); |
| | | } |
| | | let temp = this.formData.transferGoods.filter((v) => v.baseGoodsTemplateId == value); |
| | | if (!temp || temp.length != 1) { |
| | | return callback(new Error('已选过此物品')); |
| | | } |
| | | callback(); |
| | | }; |
| | | return { |
| | | loading: false, |
| | | agencyOptions: [], // 调拨机构 |
| | |
| | | unit: null, //单位 |
| | | }, |
| | | rules: { |
| | | warehouseId: [{ required: true, message: '请选择', trigger: 'change' }], |
| | | outAgencyId: [{ required: true, message: '请选择', trigger: 'change' }], |
| | | createTime: [{ required: true, message: '请选择', trigger: 'change' }], |
| | | |
| | | baseCategoryIds: [{ required: true, message: '请选择', trigger: 'change' }], |
| | | baseGoodsTemplateId: [{ required: true, message: '请选择', trigger: 'change' }], |
| | | baseGoodsTemplateId: [{ validator: checkGoodsTemplateId, trigger: ['blur', 'change'] }], |
| | | modelsIds: [{ required: true, message: '请选择', trigger: 'change' }], |
| | | counts: [ |
| | | { required: true, message: '请输入', trigger: 'change' }, |
| | |
| | | this.getgoodsTemplate(); |
| | | this.getgoodsModel(); |
| | | this.getCategoryTree(); |
| | | this.formData.transferGoods.push(JSON.parse(JSON.stringify(this.goodsItem))); |
| | | }, |
| | | |
| | | // 获取上级机构 |
| | | handegetParentTenant() { |
| | | getParentTenant().then((res) => { |
| | | this.agencyOptions = [res]; |
| | | this.formData.outAgencyId = res.id; |
| | | if (res.id != this.userInfo.tenantId) { |
| | | this.agencyOptions = [res]; |
| | | this.formData.outAgencyId = res.id; |
| | | this.formData.transferGoods.push(JSON.parse(JSON.stringify(this.goodsItem))); |
| | | } else { |
| | | this.$message.warning('无上级机构'); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | |
| | | |
| | | // 物品名称列表选择 |
| | | goodsTemplateChange(e, index) { |
| | | let temp = this.formData.transferGoods.find(v=>v.baseGoodsTemplateId==e) |
| | | if(temp) { |
| | | this.$message.warning('已选过此物品') |
| | | return |
| | | }else{ |
| | | this.formData.transferGoods[index].baseGoodsTemplateId = e |
| | | } |
| | | this.formData.transferGoods[index].modelsOptions = []; |
| | | this.formData.transferGoods[index].modelsIds = []; |
| | | this.formData.transferGoods[index].models = []; |
| | |
| | | }, |
| | | |
| | | // 规格型号选择 |
| | | modelChange(e, index) { |
| | | async modelChange(e, index) { |
| | | let arr = [...this.formData.transferGoods[index].models]; |
| | | let str = JSON.stringify(arr); |
| | | e.forEach((item) => { |
| | | for (let item of e) { |
| | | if (str.indexOf(item) == -1) { |
| | | let temp = this.goodsModelAll.find((v) => v.id == item); |
| | | arr.push({ ...this.modelsItem, baseGoodsModelsId: item, unit: temp.unit }); |
| | | let num = await warehouseSelectNumber({ |
| | | baseGoodsModelsId: item, |
| | | warehouseType: 0, |
| | | states: 1, |
| | | buyType: 1, |
| | | agencyId: this.formData.outAgencyId, |
| | | }); |
| | | arr.push({ ...this.modelsItem, baseGoodsModelsId: item, unit: temp.unit, worehouseCount: num }); |
| | | } |
| | | }); |
| | | } |
| | | this.formData.transferGoods[index].models = arr; |
| | | }, |
| | | |
| | |
| | | countsChange(e, goodsIndex, index) { |
| | | const curItem = this.formData.transferGoods[goodsIndex].models[index]; |
| | | const worehouseCount = curItem.worehouseCount; |
| | | if(e==0) { |
| | | if (e == 0) { |
| | | this.$message.warning('数量不能为0'); |
| | | curItem.counts = null |
| | | curItem.counts = null; |
| | | } |
| | | if (e > worehouseCount) { |
| | | this.$message.warning('数量超过现有库存'); |
| | |
| | | }, |
| | | |
| | | close() { |
| | | this.formData = { |
| | | warehouseId: '', // 调拨仓库id |
| | | procureTime: '', // 调拨时间 |
| | | transferGoods: [], |
| | | }; |
| | | this.$emit('close'); |
| | | }, |
| | | }, |