石广澎
2023-12-01 87f07e589fb1c8103513a5fcc8febe3b14f5535f
admin-web/src/views/departmentitem/itemscr/scrapping/edit.vue
@@ -157,13 +157,12 @@
              </el-table-column>
              <el-table-column prop="counts" label="报废原因" align="center">
                <template slot-scope="{row,$index}">
<!--                  <el-form-item
                      label-width="0"
                      :prop="`goods.${goodsIndex}.models.${mIndex}.scrappedCode`"
                      :rules="[{required: true, message: '请选择', trigger: 'change'}]"
                  >-->
                  <el-form-item
                      label-width="0"
                      :prop="`goods.${goodsIndex}.models.${mIndex}.scrappedCode`"
                      :rules="[
                          {validator: checkReason,scrappedCode:row.scrappedCode, trigger: ['blur', 'change']}
                        ]"
                  >
                    <el-select v-model="row.scrappedCode" placeholder="请选择">
                      <el-option
@@ -230,7 +229,7 @@
<script>
import {departmentListAll} from '@/api/system/deptment';
import {goodsTemplate} from '@/api/baseSetting/finsystenant';
import {outputAdd} from '@/api/stock/accessStock';
import {scrappedAdd} from '@/api/deptGoods/scrap';
import {getTree} from '@/api/foudation/classification';
import MyButton from '@/components/myButton/myButton';
import winMd from '@/components/win/win-md';
@@ -254,7 +253,7 @@
  data() {
    // 自定义校验
    // 物品重复校验
    var checkBusinessFormCode= (rule, value, callback) => {
    var checkBusinessFormCode = (rule, value, callback) => {
      if (!value) {
        return callback(new Error('请选择'));
      }
@@ -280,6 +279,12 @@
        if (rule.counts > rule.userUseCount) {
          // this.$message.warning('分发数量不能大于剩余数量');
          return callback(new Error('报废数量不能大于在用数量'));
        }
        callback();
      },
      checkReason: (rule, value, callback) => {
        if (!rule.scrappedCode) {
          return callback(new Error('请选择报废原因'));
        }
        callback();
      },
@@ -327,7 +332,11 @@
          message: '请选择物品',
          trigger: 'change'
        }],
        businessFormCode: [{required: true,message: '请选择分发单',trigger: 'change'}, {validator: checkBusinessFormCode, trigger: ['blur', 'change']}],
        businessFormCode: [{
          required: true,
          message: '请选择分发单',
          trigger: 'change'
        }, {validator: checkBusinessFormCode, trigger: ['blur', 'change']}],
        counts: [{required: true, message: '请输入', trigger: 'change'}],
        reason: [{required: true, message: '请选择', trigger: 'change'}],
      },
@@ -492,20 +501,29 @@
            })
            arr.push(item)
          }
          console.log(arr)
          this.formData.goods[this.fenfaSetting.goodsIdx].models = arr
          this.formData.goods[this.fenfaSetting.goodsIdx].businessFormCode = this.curFenfa.businessFormCode
          this.formData.goods[this.fenfaSetting.goodsIdx].transBusinessId = this.curFenfa.transBusinessId
        }
        this.fenfaSetting.show = false
      })
    },
    // 提交
    handleSubmit() {
      console.log('this.formData', this.formData);
      this.$refs['ruleForm'].validate((valid) => {
        if (valid) {
          return;
          outputAdd(this.formData)
          let params = JSON.parse(JSON.stringify(this.formData))
          params.goods.map((g,gid)=>{
            delete g.goodsOptions
            let arr=[]
            g.models.map(m=>{
              arr=arr.concat(m)
            })
            g.models = arr
          })
          // console.log('params', params);
          // return
          scrappedAdd(params)
              .then((res) => {
                this.$message.success('保存成功!');
                this.close();