haoxuan
2024-04-17 61500a41c6559976a56e49e1d07f8f5370a4031b
src/views/systemSetting/silkStandardSetting/index.vue
@@ -3,15 +3,15 @@
    <div class="filter-card">
      <CommonSearch :show-add="false" :amount-view="false" placeholder="请输入关键词" @searchClick="onFilterSearch">
        <template slot="leftButton">
          <el-button size="small" type="primary" @click="addBtnClick" :disabled="!isEdit">新增</el-button>
          <el-button size="small" type="primary" @click="addBtnClick">新增</el-button>
          <el-button size="small" type="primary" @click="refreshClick">刷新</el-button>
          <el-button size="small" type="primary" @click="printClick" disabled>打印</el-button>
        </template>
      </CommonSearch>
    </div>
    <div class="body-card">
      <div class="edit-save">
        <div class="edit-save-icon" @click="editSaveClick">
      <div class="edit-save" @click="editSaveClick">
        <div class="edit-save-icon">
          <i :class="isEdit ? 'el-icon-unlock' : 'el-icon-lock'"></i>
        </div>
        <div class="edit-sace-label">{{ isEdit ? "锁定保存" : "界面设计" }}</div>
@@ -55,7 +55,7 @@
          prop: "checkItem",
          projectName: true,
          isCallMethod: true,
          getCallMethod: this.getCheckItemName
          getCallMethod: this.getCheckItemName,
        },
        { label: "开始纤度", prop: "startFineness", inputFloat: true },
        { label: "结束纤度", prop: "endFineness", inputFloat: true },
@@ -76,7 +76,7 @@
      projectOptions: getDataByType("projectOptions"),
      rankObj: {},
      columnInputList: [],
      dynamicsRanks: []
      dynamicsRanks: [],
    }
  },
  created() {
@@ -91,7 +91,21 @@
        if (res.code === 200) {
          if (res.data.length > 0) {
            this.tableData = []
            this.tableColumn = this.defaultColumn
            this.tableColumn = [
              {
                label: "检查项目名称",
                prop: "checkItem",
                projectName: true,
                isCallMethod: true,
                getCallMethod: this.getCheckItemName,
              },
              { label: "开始纤度", prop: "startFineness", inputFloat: true },
              { label: "结束纤度", prop: "endFineness", inputFloat: true },
              { label: "野纤", prop: "rankA", inputFloat: true },
              { label: "大野", prop: "rankB", inputFloat: true },
              { label: "特野", prop: "rankC", inputFloat: true }
            ]
            // this.tableColumn=this.defaultColumn
            this.columnDataProcess(res.data[0].dynamicsRanks)
            this.rankObj = {}
            this.allDataProcess(res.data)
@@ -126,19 +140,32 @@
          inputFloat: true
        }
      })
      let currentIndex=0
      this.tableColumn.map((item, index) => {
        if (item.prop == 'rankA') {
          currentIndex = index
        }
      })
      this.columnNum = list.length + 1
      for (let j = 0; j < list.length; j++) {
        this.tableColumn.splice(2, 0, list[j])
        this.tableColumn.splice(currentIndex, 0, list[j])
      }
      console.log(this.tableColumn)
      this.silkTableList.tableColumn = this.tableColumn
    },
    setTableForm() {
      this.silkTableList = {
        tableData: this.tableData,
        isReturn: false,
        tableColumn: this.tableColumn
        tableColumn: [
          { label: "检查项目名称", prop: "checkItem", projectName: true },
          { label: "开始纤度", prop: "startFineness", inputFloat: true },
          { label: "结束纤度", prop: "endFineness", inputFloat: true },
          { label: "野纤", prop: "rankA", inputFloat: true },
          { label: "大野", prop: "rankB", inputFloat: true },
          { label: "特野", prop: "rankC", inputFloat: true }
        ]
      }
      this.tableColumn=this.silkTableList.tableColumn
    },
    // 搜索
    onFilterSearch(searchText) {
@@ -146,7 +173,20 @@
    },
    // 新增
    addBtnClick() {
      this.tableData.push(this.dataObj)
      if(this.isEdit){
        this.tableData.push({
          projectName: "",
          start: 0,
          end: 0,
          price1: 0,
          price2: 0,
          price3: 0
        })
        this.silkTableList.tableData=this.tableData
      }else{
        this.$message.error('请先解锁再新增!')
      }
    },
    // 刷新
    refreshClick() {
@@ -185,12 +225,18 @@
    // 保存编辑按钮切换
    editSaveClick() {
      this.isEdit = !this.isEdit
      let tableData=JSON.parse(
                  JSON.stringify(this.silkTableList.tableData)
                );
        if(tableData.length==0&&!this.isEdit){
          this.$message.error('请先新增再保存!')
          return true;
        }
      if (!this.isEdit) {
        let params = this.saveParam()
        let params = this.saveParam(tableData)
        saveRankStandard({
          rankStandard: params
        }).then((res) => {
          console.log(res)
          if (res.code == 200) {
            this.$message.success("保存成功")
            this.getData()
@@ -198,8 +244,18 @@
        })
      }
    },
    saveParam() {
      let saveList = this.tableData.map((item) => {
    saveParam(tableData) {
        for(let i in tableData){
          tableData[i].dynamicsRanks=[]
          for(let j in this.columnInputList){
            tableData[i].dynamicsRanks.push({
              rankName:this.columnInputList[j].rankName,
              rankProp:this.columnInputList[j].rankProp,
              rankValue:tableData[i][this.columnInputList[j].rankProp]
           })
          }
        }
      let saveList = tableData.map((item) => {
        return {
          checkItem: item.checkItem,
          dynamicsRanks: item.dynamicsRanks,
@@ -216,10 +272,15 @@
    // 添加列
    addColumnClick() {
      let propStr = "prop" + this.columnNum
      this.tableColumn.splice(2, 0, { label: "", prop: propStr, inputFloat: true, addColumn: true })
      let currentIndex=0
      this.tableColumn.map((item, index) => {
        if (item.prop == 'rankA') {
          currentIndex = index
        }
      })
      this.tableColumn.splice(currentIndex, 0, { label: "", prop: propStr, inputFloat: true, addColumn: true })
      this.$set(this.dataObj, propStr, 0)
      this.$set(this.rankObj, propStr, 0)
      console.log(this.columnInputList)
      this.columnInputList.push({ rankProp: propStr, rankName: "", rankValue: 0 })
      console.log(this.tableColumn, this.dataObj, "32323", this.columnInputList)
      this.silkTableList.tableColumn = this.tableColumn
@@ -241,6 +302,13 @@
          currentIndex = index
        }
      })
      let columnInputIndex=0
      this.columnInputList.forEach((item,index) => {
        if (item.rankProp == prop) {
          columnInputIndex = index
        }
      })
      this.columnInputList.splice(columnInputIndex,1)
      this.tableColumn.splice(currentIndex, 1)
      this.silkTableList.tableColumn = this.tableColumn
      this.$delete(this.dataObj, prop)
@@ -253,7 +321,6 @@
          item.rankName = val
        }
      })
      console.log(this.columnInputList, "888")
    },
    getCheckItemName(val) {
      if (val) {
@@ -290,13 +357,15 @@
    height: calc(100% - 180px);
    border-radius: 4px;
    .edit-save {
      width:100px;
      padding:0  10px;
      display: flex;
      align-items: center;
      margin-bottom: 10px;
      cursor: pointer;
      .edit-save-icon {
        font-size: 24px;
        color: #5582f3;
        cursor: pointer;
      }
      .edit-sace-label {
        margin-left: 10px;