src/views/productManage/silkRegisterForm/addPage.vue
@@ -48,12 +48,13 @@
            label-width="80px"
          >
            <el-form-item label="编号" prop="number" class="form-item">
              <el-input v-model="form.number" placeholder="请输入"> </el-input>
              <el-input v-model="form.number" :disabled="title=='修改'?true:false" placeholder="请输入"> </el-input>
            </el-form-item>
            <el-form-item label="落丝时间" prop="finishDate" class="form-item">
              <el-date-picker
                v-model="form.finishDate"
                value-format="yyyy-MM-dd"
                :picker-options="pickerOptions"
                type="date"
                placeholder="选择日期"
                class="select-width"
@@ -65,6 +66,7 @@
                v-model="form.market"
                placeholder="请选择"
                class="select-width"
                @change="getGroupNumber"
              >
                <el-option
                  v-for="item in marketList"
@@ -80,7 +82,7 @@
                v-model="form.name"
                placeholder="请选择"
                class="select-width"
                @change="getGroupNumber"
                @change="getGroupNumber('name')"
              >
                <el-option
                  v-for="item in nameList"
@@ -114,6 +116,7 @@
                placeholder="请先选择车间"
                no-data-text="请先选择车间"
                class="select-width"
                @change="getGroupNumber()"
              >
                <el-option
                  v-for="item in workshopGroupList"
@@ -424,11 +427,12 @@
</template>
<script>
// getWorkshopManageList,
// getWorkshopManageList
import {
  saveRegister,
  getDictList,
  getRegisterDetails,
  getCarNumber
} from "@/api/productManage/silkRegisterForm.js";
import {
  getCheckDetails,
@@ -447,6 +451,7 @@
  computed: {},
  data() {
    return {
      title:'',
      loading: false,
      activeName: "first",
      searchOptions: [],
@@ -462,6 +467,10 @@
          { required: true, message: "请填写", trigger: ["change", "blur"] },
        ],
        finishDate: [
          { required: true, message: "请选择", trigger: ["change", "blur"] },
        ],
        // 庄口
        market: [
          { required: true, message: "请选择", trigger: ["change", "blur"] },
        ],
        // 车间 应该true
@@ -487,6 +496,11 @@
        position: [
          { required: true, message: "请填写", trigger: ["change", "blur"] },
        ],
      },
      pickerOptions: {
        disabledDate(time) {
          return time.getTime() < new Date().getTime() - 86400000;
        },
      },
      tableTwoList: {
        tableInfomation: [],
@@ -540,8 +554,6 @@
          {
            label: "纤度合计",
            prop: "sum",
            inputNumber: true,
            isRequird: true,
          }, // 下次回访日期
        ],
      },
@@ -565,13 +577,14 @@
      this.activeName = query.activeName ? query.activeName : "first";
      this.registerId = query.id ? query.id : "";
      this.inspectID = query.inspectID ? query.inspectID : "";
      this.title= query.title ? query.title : "";
    }
    this.getSelectDataList();
    this.keyword = "";
    this.getDetailsData();
  },
  methods: {
    getDetailsData(id) {
    async getDetailsData(id) {
      if (this.activeName == "first") {
        this.form = {
          number: "",
@@ -586,14 +599,14 @@
          position: "",
        };
        if (this.registerId) {
          getRegisterDetails({ id: id ? id : this.registerId }).then(
         await getRegisterDetails({ id: id ? id : this.registerId }).then(
            (response) => {
              if (response.code === 200) {
                let config = JSON.parse(
                  JSON.stringify(response.data ? response.data : {})
                );
                this.form = config;
                this.getGroupNumber()
                this.getGroupNumber('','edit')
                let finenessList=config.finenessList
                  ? config.finenessList
                  : [];
@@ -602,7 +615,6 @@
                    item.productId=index+1
                  })
                }
                console.log(finenessList,'===finenessList')
                this.tableList.tableData = finenessList
                this.tableData = this.tableList.tableData;
              }
@@ -750,7 +762,7 @@
        }
      });
    },
    getGroupNumber() {
    async getGroupNumber(val,type) {
      if (this.form.name) {
        //组别
        let number = "";
@@ -760,17 +772,43 @@
            break;
          }
        }
        getWorkshopManageGroup({ number: number }).then((res) => {
          if (res.code == 200) {
            this.workshopGroupList = [];
            let workshopGroupList = res.data || {};
            if (Object.keys(workshopGroupList).length > 0) {
              for (let i in workshopGroupList) {
                this.workshopGroupList.push(workshopGroupList[i]);
        if(number){
          await getWorkshopManageGroup({ number: number }).then((res) => {
            if (res.code == 200) {
              this.workshopGroupList = [];
              let workshopGroupList = res.data || {};
              this.workshopGroupList=[]
              if(val=='name'){
                this.form.workshopGroup=''
              }
              if (Object.keys(workshopGroupList).length > 0) {
                for (let i in workshopGroupList) {
                  this.workshopGroupList.push(workshopGroupList[i]);
                }
              }
            }
          })
        }
        if(this.form.workshopGroup&&this.form.market&&type!='edit'){
          await  getCarNumber({
              workshopName:this.form.name,
              marketName:this.form.market,
              groupNumber:this.form.workshopGroup,
            }).then((res) => {
              if (res.code == 200) {
                this.tableData=[]
                let data = res.data?JSON.parse(JSON.stringify(res.data)) : [];
               if(Object.keys(data).length>0){
                for(let i in data){
                    this.tableData.push({position:data[i],productId:Number(i)+1})
                }
               }
               this.tableList.tableData = this.tableData
              }else{
                this.tableData=[]
              }
            });
          }
        });
      } else {
        this.workshopGroupList = [];
      }
@@ -780,7 +818,6 @@
    },
    // 产品新增
    addProductClick() {
      debugger
      this.productId++;
      this.tableData.push({
        productId: this.productId,
@@ -799,7 +836,11 @@
        if (item.productId === row.productId) {
          item[prop] = val;
        }
        if(item.fineness&&item.quantity){
          item.sum=Number(item.fineness)*Number(item.quantity).toFixed(2)
        }
      });
      this.tableList.tableData= this.tableData
    },
    tabsClick() {
      // if (tab.name === "first") {
@@ -867,15 +908,26 @@
        if (valid) {
          let form = JSON.parse(JSON.stringify(this.form));
          // params.workshopGroup=Number(params.workshopGroup)
          this.isAddloading = true;
          if (this.activeName == "first") {
            delete form.circleTwo;
            let finenessList = JSON.parse(
              JSON.stringify(this.tableList.tableData)
            );
            let isContinue=false
            for (let i in finenessList) {
              if(!finenessList[i].position||!finenessList[i].fineness||!finenessList[i].quantity||!finenessList[i].sum){
                isContinue=true
                break;
              }
            }
            if(isContinue){
              this.$message.error('请填写完整再保存!')
              return true;
            }
            for (let i in finenessList) {
              delete finenessList[i].productId;
            }
            this.isAddloading = true;
            let params = {
              finenessList: finenessList,
              ...form,
@@ -884,6 +936,7 @@
            if (this.inspectID) {
              params.ID = this.form.ID ? this.form.ID : Number(this.inspectID);
            }
            saveRegister(params)
              .then((res) => {
                if (res.code == 200) {
@@ -913,6 +966,7 @@
                ? this.form.ID
                : Number(this.registerId);
            }
            this.isAddloading = true;
            saveCheck(paramsTwo)
              .then((res) => {
                if (res.code == 200) {