| | |
| | | <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> |
| | |
| | | <el-date-picker |
| | | v-model="formData.procureTime" |
| | | type="datetime" |
| | | clearable |
| | | value="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyyMMddHHmmss" |
| | | placeholder="请选择日期" |
| | |
| | | <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> |
| | |
| | | <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)" |
| | |
| | | <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="请先择物品名称" |
| | | clearable |
| | | :placeholder="goodsItem.baseCategoryId?'请选择规格型号':'请先选择物品名称'" |
| | | :disabled="!goodsItem.baseCategoryId" |
| | | @change="modelChange($event, goodsIndex)" |
| | | @remove-tag="modelRemoveTag($event, goodsIndex)" |
| | | @clear="modelRemoveTag(-1, goodsIndex)" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | |
| | | |
| | | 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'}], |
| | |
| | | methods: { |
| | | async init() { |
| | | await this.getWarehouseList(); |
| | | await this.getgoodsTemplate(); |
| | | await this.getgoodsModel(); |
| | | |
| | | // 获取物品分类列表 |
| | | const treeRes = await getTree(); |
| | |
| | | }); |
| | | return item; |
| | | }); |
| | | } else { |
| | | await this.getgoodsTemplate(); |
| | | await this.getgoodsModel(); |
| | | } |
| | | this.loading = false; |
| | | }, |
| | |
| | | |
| | | // 获取物品名称列表 |
| | | 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 { |
| | |
| | | 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); |
| | | }, |
| | | |
| | | // 物品名称列表 |
| | |
| | | |
| | | // 规格型号移除 |
| | | 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); |