haoyahui
2023-11-22 9834dbff448908d2008d8c52a2544aad00c099b1
admin-web/src/views/stock/transfer/transferApplication/edit.vue
@@ -56,14 +56,10 @@
              <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"
@@ -191,6 +187,18 @@
    },
  },
  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: [], // 调拨机构
@@ -223,7 +231,7 @@
        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' },
@@ -265,8 +273,8 @@
          this.agencyOptions = [res];
          this.formData.outAgencyId = res.id;
          this.formData.transferGoods.push(JSON.parse(JSON.stringify(this.goodsItem)));
        }else{
          this.$message.warning('无上级机构')
        } else {
          this.$message.warning('无上级机构');
        }
      });
    },
@@ -344,13 +352,6 @@
    // 物品名称列表选择
    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 = [];