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"
@@ -75,17 +77,18 @@
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="车间" prop="name" class="form-item">
            <el-form-item label="车间" prop="workshopObj" class="form-item">
              <el-select
                v-model="form.name"
                v-model="form.workshopObj"
                placeholder="请选择"
                class="select-width"
                @change="getGroupNumber('workshopObj')"
              >
                <el-option
                  v-for="item in nameList"
                  :key="item.ID"
                  :label="item.name"
                  :value="item.name"
                  :value="{ value: item.number, label: item.name }"
                >
                </el-option>
              </el-select>
@@ -110,14 +113,16 @@
            <el-form-item label="组别" prop="workshopGroup" class="form-item">
              <el-select
                v-model="form.workshopGroup"
                placeholder="请选择"
                placeholder="请先选择车间"
                no-data-text="请先选择车间"
                class="select-width"
                @change="getGroupNumber()"
              >
                <el-option
                  v-for="item in workshopGroupList"
                  :key="item.ID"
                  :label="item.name"
                  :value="item.ID"
                  :key="item"
                  :label="item"
                  :value="item"
                >
                </el-option>
              </el-select>
@@ -162,7 +167,7 @@
              </el-row>
            </el-form-item>
            <el-form-item label="车号" prop="position" class="form-item">
              <el-input v-model="form.position" placeholder="请输入">
              <el-input v-model.number="form.position" placeholder="请输入">
              </el-input>
            </el-form-item>
          </el-form>
@@ -176,6 +181,7 @@
              :detail-enter="isView ? true : false"
              :selectBox="false"
              :detailEnter="true"
              :isBorder="true"
              :show-summary="showSummary"
              :product-table-list="tableList"
              @inputContent="inputContent"
@@ -195,7 +201,7 @@
          <!-- <CommonSearch :show-add="false" :show-download="false" :amount-view="false" :show-action-btn="false"
                        placeholder="请输入关键词" @searchClick="onFilterSearch">
                        <template slot="leftButton"> -->
          <el-button size="small" type="primary" @click="cancelClickTwo"
          <el-button size="small" type="primary" @click="cancelClickOne"
            >放弃</el-button
          >
          <el-button
@@ -206,7 +212,7 @@
            >保存</el-button
          >
          <!-- </template>
</CommonSearch> -->
          </CommonSearch> -->
        </div>
      </div>
      <div class="body-two body">
@@ -217,34 +223,37 @@
          :model="form"
          :rules="rules"
          label-position="right"
          label-width="60px"
          label-width="70px"
        >
          <div class="form-box-t">
            <el-form-item label="编号" prop="number" class="form-item">
            <el-form-item label="编号:" prop="number" class="form-item">
              {{ form.number }}
            </el-form-item>
            <el-form-item label="车间" prop="name" class="form-item">
              {{ form.name }}
            <el-form-item label="车间:" prop="workshopName" class="form-item">
              {{ form.workshopName }}
            </el-form-item>
            <el-form-item label="组别" prop="workshopGroup" class="form-item">
            <el-form-item label="组别:" prop="workshopGroup" class="form-item">
              {{ form.workshopGroup }}
            </el-form-item>
            <el-form-item label="回数" prop="circle" class="form-item">
            <el-form-item label="回数:" prop="circle" class="form-item">
              {{ form.circle }}
            </el-form-item>
            <el-form-item label="规格" prop="spec" class="form-item">
            <el-form-item label="规格:" prop="spec" class="form-item">
              {{ form.spec }}
            </el-form-item>
            <el-form-item label="日期" prop="finishDate" class="form-item">
            <el-form-item label="日期:" prop="finishDate" class="form-item">
              {{ form.finishDate }}
            </el-form-item>
          </div>
          <div class="list-view">
          <div class="list-view-two">
            <el-table
              ref="multipleTable"
              :data="tableTwoList.tableInfomation"
              tooltip-effect="dark"
              style="width: 100%"
              :height="'calc(100% - 0px)'"
              :header-cell-style="{ background: '#f1f3f8',color: '#000009', 'font-size': '12px', 'font-family': 'PingFangSC' }"
              border
            >
              <el-table-column label="车号" prop="ID" width="100">
              </el-table-column>
@@ -316,11 +325,19 @@
                show-overflow-tooltip
              >
              </el-table-column>
              <el-table-column prop="valueRange" label="野纤" width="120">
              <el-table-column prop="finenessGradeye" label="野纤" width="120">
              </el-table-column>
              <el-table-column prop="unit" label="大野" show-overflow-tooltip>
              <el-table-column
                prop="finenessGradebig"
                label="大野"
                show-overflow-tooltip
              >
              </el-table-column>
              <el-table-column prop="valueRange" label="特野" width="120">
              <el-table-column
                prop="finenessGradeSpecial"
                label="特野"
                width="120"
              >
              </el-table-column>
              <el-table-column
                prop="finenessGrade"
@@ -413,11 +430,12 @@
</template>
<script>
// getWorkshopManageList
import {
  saveRegister,
  getDictList,
  getWorkshopManageList,
  getRegisterDetails,
  getCarNumber
} from "@/api/productManage/silkRegisterForm.js";
import {
  getCheckDetails,
@@ -425,6 +443,7 @@
} from "@/api/productManage/silkInspectForm.js";
import pageMixin from "@/components/makepager/pager/mixin/pageMixin";
import CommonFormTableView from "@/components/makepager/CommonFormTableView";
import { getWorkshopManageGroup } from "@/api/productManage/productRegisterForm.js";
export default {
  name: "silkRegisterAddPage",
  props: {},
@@ -435,6 +454,7 @@
  computed: {},
  data() {
    return {
      title:'',
      loading: false,
      activeName: "first",
      searchOptions: [],
@@ -452,8 +472,12 @@
        finishDate: [
          { required: true, message: "请选择", trigger: ["change", "blur"] },
        ],
        // 庄口
        market: [
          { required: true, message: "请选择", trigger: ["change", "blur"] },
        ],
        // 车间 应该true
        name: [
        workshopObj: [
          { required: true, message: "请选择", trigger: ["change", "blur"] },
        ],
        spec: [
@@ -461,7 +485,7 @@
        ],
        // 组别 应该true
        workshopGroup: [
          { required: false, message: "请选择", trigger: ["change", "blur"] },
          { required: true, message: "请选择", trigger: ["change", "blur"] },
        ],
        circleTwo: [
          { required: true, message: "请填写", trigger: ["change", "blur"] },
@@ -475,6 +499,11 @@
        position: [
          { required: true, message: "请填写", trigger: ["change", "blur"] },
        ],
      },
      pickerOptions: {
        disabledDate(time) {
          return time.getTime() < new Date().getTime() - 86400000;
        },
      },
      tableTwoList: {
        tableInfomation: [],
@@ -528,12 +557,18 @@
          {
            label: "纤度合计",
            prop: "sum",
            inputNumber: true,
            isRequird: true,
          }, // 下次回访日期
        ],
      },
      tableData: [],
      tableData: [
        {
            productId: 1,
            position: null,
            fineness: null,
            quantity: null,
            sum: null,
          }
        ],
      registerId: "",
      inspectID: "",
      isRegisterSave: false,
@@ -545,19 +580,20 @@
      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: "",
          finishDate: "",
          market: "",
          name: "",
          workshopObj: "",
          spec: "",
          workshopGroup: "",
          circleTwo: "",
@@ -566,16 +602,28 @@
          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.tableList.tableData = config.finenessList
                this.form.workshopObj={
                  value:config.workshopNumber,
                  label:config.workshopName,
                }
                this.getGroupNumber('','edit')
                let finenessList=config.finenessList
                  ? config.finenessList
                  : [];
                if(finenessList.length>0){
                  finenessList.map((item,index)=>{
                    item.productId=index+1
                  })
                }
                this.tableList.tableData = finenessList
                this.tableData = this.tableList.tableData;
              }
            }
          );
@@ -583,7 +631,7 @@
      } else {
        this.form = {
          number: "",
          name: "",
          workshopObj: "",
          workshopGroup: "",
          circle: "",
          spec: "",
@@ -607,24 +655,31 @@
              );
              this.form = config;
              this.form.number = config.finenessRegister.number;
              this.form.name = config.finenessRegister.name;
              this.form.workshopName = config.finenessRegister.workshopName;
              this.form.workshopGroup = config.finenessRegister.workshopGroup;
              this.form.spec = config.finenessRegister.spec;
              this.form.finishDate = config.finenessRegister.finishDate;
              this.form.circle = config.finenessRegister.circle;
              this.getTableHeader();
              let arr= response.data.items
                ? response.data.items
                : [];
                for(let i in arr){
                    let round=arr[i].finenessRoundingItems
                    if(round){
                        for(let j in round){
                            arr[i][round[j].fineness]=round[j].quantity
                        }
                    }
              let arr = response.data.items ? response.data.items : [];
              for (let i in arr) {
                let round = arr[i].finenessRoundingItems;
                if (arr[i].finenessGrade) {
                  if (arr[i].finenessGrade.indexOf("野纤") > -1) {
                    arr[i].finenessGradeye = arr[i].finenessGrade;
                  } else if (arr[i].finenessGrade.indexOf("大野") > -1) {
                    arr[i].finenessGradebig = arr[i].finenessGrade;
                  } else if (arr[i].finenessGrade.indexOf("特野") > -1) {
                    arr[i].finenessGradeSpecial = arr[i].finenessGrade;
                  }
                }
              this.tableTwoList.tableInfomation =arr;
                if (round) {
                  for (let j in round) {
                    arr[i][round[j].fineness] = round[j].quantity;
                  }
                }
              }
              this.tableTwoList.tableInfomation = arr;
            }
          });
        }
@@ -700,11 +755,11 @@
        }
      });
      //组别
      getWorkshopManageList().then((res) => {
        if (res.code == 200) {
          this.workshopGroupList = res.data || [];
        }
      });
      // getWorkshopManageList().then((res) => {
      //   if (res.code == 200) {
      //     this.workshopGroupList = res.data || [];
      //   }
      // });
      //庄口
      getDictList({
        dictType: 0,
@@ -713,6 +768,50 @@
          this.marketList = res.data || [];
        }
      });
    },
    async getGroupNumber(val,type) {
      if (Object.keys(this.form.workshopObj).length>0) {
        if(this.form.workshopObj.value){
          await getWorkshopManageGroup({ number: this.form.workshopObj.value }).then((res) => {
            if (res.code == 200) {
              this.workshopGroupList = [];
              let workshopGroupList = res.data || {};
              this.workshopGroupList=[]
              if(val=='workshopObj'){
                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.workshopObj.label,
              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)*2+1})
                    this.tableData.push({position:data[i],productId:Number(i)*2+2})
                }
               }
               this.tableList.tableData = this.tableData
              }else{
                this.tableData=[]
              }
            });
          }
      } else {
        this.workshopGroupList = [];
      }
    },
    inputStart() {
      this.form.circleTwo = this.form.circle + "-" + this.form.totalCircle;
@@ -737,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") {
@@ -770,7 +873,7 @@
          number: "",
          finishDate: "",
          market: "",
          name: "",
          workshopObj: "",
          spec: "",
          workshopGroup: "",
          circleTwo: "",
@@ -789,25 +892,42 @@
            sum: "",
          },
        ];
        this.tableData =this.tableList.tableData
      } else {
        this.form.measureFineness = "";
        this.form.twiceChange = "";
        this.form.cleanliness = "";
        this.form.purity = "";
        this.form.marketProcessOrderNumber = "";
        this.form.inspector = "";
      }
    },
    // 纤度检验表
    cancelClickTwo() {},
    // 保存
    saveClickOne(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          let form = JSON.parse(JSON.stringify(this.form));
          // params.workshopGroup=Number(params.workshopGroup)
          this.isAddloading = true;
          if (this.activeName == "first") {
            delete form.circle;
            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,
@@ -816,6 +936,8 @@
            if (this.inspectID) {
              params.ID = this.form.ID ? this.form.ID : Number(this.inspectID);
            }
            params.workshopName=this.form.workshopObj.label;
            params.workshopNumber=this.form.workshopObj.value;
            saveRegister(params)
              .then((res) => {
                if (res.code == 200) {
@@ -837,7 +959,9 @@
              });
          } else {
            let paramsTwo = {
              ...form,
              // ...form,
              info:form,
              items:this.tableTwoList.tableInfomation,
            };
            // 编辑
            if (this.registerId) {
@@ -845,6 +969,7 @@
                ? this.form.ID
                : Number(this.registerId);
            }
            this.isAddloading = true;
            saveCheck(paramsTwo)
              .then((res) => {
                if (res.code == 200) {
@@ -852,6 +977,7 @@
                    message: "保存成功!",
                    type: "success",
                  });
                  this.getDetailsData();
                }
                this.isAddloading = false;
              })
@@ -868,9 +994,6 @@
        }
      });
    },
    // 放弃
    cancelClick() {},
    saveClick() {},
  },
};
</script>
@@ -887,7 +1010,11 @@
    height: 45px;
  }
}
::v-deep .el-table .el-table__cell {
  padding: 6px 0 !important;
  height: 35px;
  text-align: center;
}
.custom-manage {
  height: 100%;
  overflow: hidden;
@@ -924,7 +1051,7 @@
    .body-l {
      background-color: #fff;
      border-radius: 12px;
      height: calc(100% - 180px - 20px);
      height: calc(100% - 20px);
      width: calc(100% - 420px);
      float: left;
      overflow: hidden;
@@ -957,9 +1084,9 @@
      }
      .list-view {
        height: calc(100% - 0px);
        height: calc(100% - 180px);
        min-height: 200px;
        overflow: hidden;
        overflow-y: auto;
      }
    }
@@ -1020,8 +1147,8 @@
      }
    }
    .list-view {
      max-height: calc(100% - 90px - 10px);
    .list-view-two {
      height: calc(100% - 120px);
      overflow: hidden;
    }