haoyahui
2023-11-17 b6a04be0a4cbf5d5a44006a09b83f52a71dfce27
admin-web/src/views/stock/procure/purchaseOrder/edit.vue
@@ -68,7 +68,7 @@
                :rules="rules.baseGoodsTemplateId"
              >
                <el-select
                 v-model="goodsItem.baseGoodsTemplateId"
                  v-model="goodsItem.baseGoodsTemplateId"
                  placeholder="请先择物品分类"
                  filterable
                  :disabled="!goodsItem.baseCategoryId"
@@ -131,15 +131,19 @@
                {{ scope.row.unit }}
              </template>
            </el-table-column>
            <el-table-column prop="price" label="单价(元)" align="center">
            <el-table-column prop="priceYuan" label="单价(元)" align="center">
              <template slot-scope="scope">
                <el-form-item
                  label-width="0"
                  style="margin-bottom: 0"
                  :prop="`procureGoods[${goodsIndex}].models[${scope.$index}].price`"
                  :rules="rules.price"
                  :prop="`procureGoods[${goodsIndex}].models[${scope.$index}].priceYuan`"
                  :rules="rules.priceYuan"
                >
                  <el-input type="number" v-model.number="scope.row.price"></el-input>
                  <el-input
                    type="number"
                    v-model.number="scope.row.priceYuan"
                    @change="priceChange($event, goodsIndex, scope.$index)"
                  ></el-input>
                </el-form-item>
              </template>
            </el-table-column>
@@ -218,13 +222,14 @@
        return callback(new Error('请选择'));
      }
      let temp = this.formData.procureGoods.filter((v) => v.baseGoodsTemplateId == value);
      if (!temp || temp.length!=1) {
      if (!temp || temp.length != 1) {
        return callback(new Error('已选过此物品'));
      }
      callback();
    };
    // 金额校验
    var checkPrice = (rule, value, callback) => {
      console.log(value);
      if (!value) {
        return callback(new Error('请输入'));
      }
@@ -236,7 +241,7 @@
    };
    // 数量校验
    var checkCounts = (rule, value, callback) => {
      console.log(value)
      console.log(value);
      if (!value) {
        return callback(new Error('请输入'));
      }
@@ -287,7 +292,8 @@
      },
      modelsItem: {
        baseGoodsModelsId: '', // 规格型号编号
        price: null, // 单价(采购需要,调拨不需要)
        priceYuan: null, // 单价(元)
        price: null, // 单价(分 采购需要,调拨不需要)
        counts: null, // 操作数量
        unit: null, //单位
      },
@@ -300,7 +306,7 @@
        baseCategoryIds: [{ required: true, message: '请选择', trigger: 'change' }],
        baseGoodsTemplateId: [{ validator: checkGoodsTemplateId, trigger: ['blur', 'change'] }],
        modelsIds: [{ required: true, message: '请选择', trigger: 'change' }],
        price: [{ validator: checkPrice, trigger: 'blur' }],
        priceYuan: [{ validator: checkPrice, trigger: 'blur' }],
        counts: [{ validator: checkCounts, trigger: 'blur' }],
      },
@@ -349,6 +355,9 @@
          );
          this.getgoodsTemplate(item.baseCategoryId, index);
          this.getgoodsModel(item.baseGoodsTemplateId, index);
          item.models.forEach((child, childIndex) => {
            this.$set(this.formData.procureGoods[index].models[childIndex], 'priceYuan', child.price / 100);
          });
          return item;
        });
      }
@@ -468,6 +477,11 @@
      this.formData.procureGoods[index].models.splice(delIndex, 1);
    },
    // 价格input监听 转为分
    priceChange(e, goodsIndex, index) {
      this.formData.procureGoods[goodsIndex].models[index].price = e * 100;
    },
    // 上传
    uploadChange() {
      let arr = this.$refs.uploadRef.fileList;
@@ -488,7 +502,8 @@
    handleSubmit() {
      this.$refs['ruleForm'].validate((valid) => {
        if (valid) {
          console.log('this.formData', this.formData);
          console.log('formData', this.formData);
          debugger;
          if (!this.setting.id) {
            procureAdd(this.formData)
              .then((res) => {