zuozhengqing
2024-04-09 63a5da9d6be10bbd910812c423bdfad7ae2945e5
Merge branch 'master' of ssh://192.168.5.5:29418/silk/silk-web into zzq
10个文件已修改
1598 ■■■■■ 已修改文件
src/api/productManage/silkInspectForm.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/productManage/silkRegisterForm.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/layout/components/appsidebar/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/makepager/CommonFormTableView.vue 691 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/makepager/TableCommonView.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/product/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productManage/silkInspectForm/index.vue 83 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productManage/silkRegisterForm/addPage.vue 679 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productManage/silkRegisterForm/index.vue 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportManage/payableSalaryReport/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/productManage/silkInspectForm.js
@@ -1,42 +1,34 @@
import request from "@/common/untils/request.js"
// 纤度检验列表
export function getInspectCheckList(data) {
  return request({
    url: "/api-jl/v1/fineness/check?page="+ data.page+"&pageSize="+data.pageSize+"&keyword="+data.keyword,
    method: "get",
    data
  })
}
// 跟进记录列表
export function getFollowRecordList(data) {
//保存纤度检验
export function saveCheck(data) {
  return request({
    url: "/api/followRecord/list",
    url: "/api-jl/v1/fineness/check",
    method: "post",
    data
  })
}
// 添加跟进记录
export function getAddFollowRecord(data) {
// 纤度检验的详情
export function getCheckDetails(data) {
  return request({
    url: "/api/followRecord/add",
    method: "post",
    url: "/api-jl/v1/fineness/check/"+data.id,
    method: "get",
    data
  })
}
// 删除跟进记录
export function getDeleteFollowRecord(data) {
// 纤度检验删除
export function getInspectCheckDelete(data) {
  return request({
    url: "/api/followRecord/delete",
    url: "/api-jl/v1/fineness/check/"+data.id,
    method: "delete",
    data
  })
}
// 更新跟进记录
export function getUpdateFollowRecord(data) {
  return request({
    url: "/api/followRecord/update",
    method: "put",
    data
  })
}
// 联系方式列表
export function getContactInfoList() {
  return request({
    url: "/api/contactInformation/list",
    method: "get"
  })
}
src/api/productManage/silkRegisterForm.js
@@ -1,18 +1,26 @@
import request from "@/common/untils/request.js"
// 纤度登记列表 
export function getRegisterList(data) {
  return request({
    url: "/api-jl/v1/fineness/register?page="+ data.page+"&pageSize="+data.pageSize,
    url: "/api-jl/v1/fineness/register?page="+ data.page+"&pageSize="+data.pageSize+"&keyword="+data.keyword,
    method: "get",
    data
  })
}
//保存纤度登记
export function saveRegister(data) {
  return request({
    url: "/api-jl/v1/fineness/register",
    method: "post",
    data
  })
}
// 纤度登记表的详情
export function getRegisterDetails(data) {
  return request({
    url: "/api-jl/v1/fineness/register/"+data.id,
    method: "get",
    data
  })
}
@@ -32,6 +40,14 @@
    data
  })
}
// 纤度登记表 组别的数据
export function getWorkshopManageList(data) {
  return request({
    url: "/api-jl/v1/system/getWorkshopManageList",
    method: "get",
    data
  })
}
// 更新跟进记录
export function getUpdateFollowRecord(data) {
  return request({
src/components/layout/components/appsidebar/index.vue
@@ -21,7 +21,7 @@
            <i class="el-icon-user-solid icon"></i>
            <span>系统设置</span>
          </template>
          <el-menu-item index="/systemSetting/silkStandardSetting">生丝定级标准</el-menu-item>
          <el-menu-item index="/systemSetting/silkStandardSetting">生丝标准设置</el-menu-item>
          <el-menu-item index="/systemSetting/silkPriceStandard">生丝定价标准</el-menu-item>
          <el-menu-item index="/systemSetting/workshopManage">车间管理</el-menu-item>
          <el-menu-item index="/systemSetting/dataDictionary">数据字典</el-menu-item>
src/components/makepager/CommonFormTableView.vue
@@ -2,28 +2,33 @@
  <div class="page-view">
    <el-form ref="form" :model="tableList" :show-message="false" label-position="right">
      <el-table
        ref="fromTable"
        :border="isBorder"
        :data="tableList.tableData"
        style="width: 100%"
        :show-summary="showSummary.show"
        :summary-method="getSummaries"
        :span-method="arraySpanMethod"
        style="width: 100%"
        :header-cell-style="{ background: '#f1f3f8', color: tableList.headerColor?tableList.headerColor:'#000009', 'font-size': '14px', 'font-family': 'PingFangSC' }"
        @selection-change="handleSelectionChange"
        :row-key="(row) => row.productId"
      >
        <el-table-column v-if="selectBox" type="selection" :reserve-selection="true" width="40" align="center">
        </el-table-column>
        <el-table-column v-if="tableList.isReturn" type="index" label="#" width="50" align="center"></el-table-column>
        <el-table-column
          type="index"
          v-if="tableList.tableColumn && tableList.tableColumn.length > 0"
          label="编号"
          width="50"
          align="center"
        ></el-table-column>
        <el-table-column
          v-for="(item, i) in tableList.tableColumn"
          :key="i"
          :prop="item.prop"
          :label="item.label"
          :width="item.width"
          :min-width="item.min"
          align="center"
        >
          show-overflow-tooltip
          :sortable="item.sortable"
        >
        <!-- 所有的表格修改为可配置表头的之后 v-if修改为v-if="item.isShowColumn" -->
          <!-- 表头样式 -->
          <template slot="header">
            <span v-if="item.isRequird" style="color: #f56c6c">*</span>
@@ -31,59 +36,168 @@
          </template>
          <!-- column样式 -->
          <template slot-scope="scope">
            <!-- <template v-if="!detailEnter"> -->
            <el-form-item
              v-if="item.input"
              label=" "
              :prop="'tableData.' + scope.$index + '.' + item.prop"
              :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]"
            >
              <el-input
                v-model.trim="scope.row[item.prop]"
                maxlength="50"
                size="mini"
                @change="
                  (val) => {
                    commonInputChange(val, item.prop, scope.row)
                  }
                "
              ></el-input>
            </el-form-item>
            <el-form-item v-else-if="item.productName" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
              <div class="custom-name">
                <el-autocomplete
                  v-model="scope.row[item.prop]"
                  :fetch-suggestions="querySearchAsync"
                  value-key="name"
                  style="width: calc(100% - 70px)"
            <template v-if="!detailEnter">
              <el-form-item
                v-if="item.input"
                label=" "
                :prop="'tableData.' + scope.$index + '.' + item.prop"
                :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]"
              >
                <el-input
                  v-model.trim="scope.row[item.prop]"
                  maxlength="50"
                  size="mini"
                  @select="
                  :disabled="!isOperate"
                  @change="
                    (val) => {
                      handleSelectClient(val, item.prop, scope.row)
                      commonInputChange(val, item.prop, scope.row, scope)
                    }
                  "
                ></el-autocomplete>
                <div class="common-select-btn" @click="selClientClick(scope.row, item.prop, scope)">
                  <i class="el-icon-circle-plus-outline" title="选择"></i>
                ></el-input>
              </el-form-item>
              <el-form-item
                v-else-if="item.productName"
                label=" "
                :prop="'tableData.' + scope.$index + '.' + item.prop"
              >
                <div class="custom-name">
                  <el-autocomplete
                    v-model="scope.row[item.prop]"
                    :fetch-suggestions="querySearchAsync"
                    value-key="name"
                    :disabled="!isOperate"
                    size="mini"
                    @select="
                      (val) => {
                        handleSelectClient(val, item.prop, scope.row)
                      }
                    "
                  ></el-autocomplete>
                  <div
                    v-if="scope.row[item.prop] && scope.row[item.prop].length > 0 && isOperate"
                    class="common-select-btn"
                    @click="handleEditClient(scope, item.prop)"
                  >
                    <i class="el-icon-edit" title="编辑"></i>
                  </div>
                  <div
                    v-if="scope.row[item.prop] && scope.row[item.prop].length > 0 && isOperate"
                    class="common-select-btn"
                    @click="clearupClient(scope)"
                  >
                    <i class="el-icon-remove-outline" title="清除"></i>
                  </div>
                  <div class="common-select-btn" v-else @click="selClientClick(scope, item.prop)">
                    <i class="el-icon-circle-plus-outline" title="选择"></i>
                  </div>
                </div>
                <div class="common-select-btn" @click="clearupClient(scope.row, scope)">
                  <i class="el-icon-remove-outline" title="清除"></i>
                </div>
                <div class="common-select-btn" v-if="scope.$index != 0" @click="deleteClient(scope.row, scope)">
                  <i class="el-icon-delete" title="删除"></i>
                </div>
              </div>
            </el-form-item>
              </el-form-item>
              <el-form-item
                v-else-if="item.date"
                label=" "
                :prop="'tableData.' + scope.$index + '.' + item.prop"
                :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]"
              >
                <!-- <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini"></el-input> -->
                <el-date-picker
                  :disabled="!isOperate"
                  v-model="scope.row[item.prop]"
                  type="date"
                  size="mini"
                  style="width: 110px"
                >
                </el-date-picker>
              </el-form-item>
              <el-form-item
                v-else-if="item.inputNumber"
                label=" "
                :prop="'tableData.' + scope.$index + '.' + item.prop"
                :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]"
              >
                <el-input-number
                  v-model="scope.row[item.prop]"
                  placeholder=""
                  :min="0"
                  :controls="false"
                  :disabled="!isOperate"
                  size="mini"
                  style="width: 100%; margin-right: 5px"
                  @change="
                    (val) => {
                      commonInputChange(val, item.prop, scope.row, scope)
                    }
                  "
                ></el-input-number>
              </el-form-item>
              <el-form-item
                v-else-if="item.inputFloat"
                label=" "
                :prop="'tableData.' + scope.$index + '.' + item.prop"
                :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]"
              >
                <el-input-number
                  v-model="scope.row[item.prop]"
                  placeholder=""
                  :min="0"
                  :precision="2"
                  :disabled="!isOperate"
                  :controls="false"
                  size="mini"
                  style="width: 100%; margin-right: 5px"
                  @change="
                    (val) => {
                      commonInputChange(val, item.prop, scope.row, scope)
                    }
                  "
                ></el-input-number>
              </el-form-item>
              <span v-else>
                <template>
                  {{ scope.row[item.prop] }}
                </template>
              </span>
            </template>
            <el-form-item
              v-else-if="item.date"
              label=" "
              :prop="'tableData.' + scope.$index + '.' + item.prop"
              :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]"
            >
              <!-- <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini"></el-input> -->
              <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px">
              </el-date-picker>
            </el-form-item>
                v-else-if="item.input"
                label=" "
                :prop="'tableData.' + scope.$index + '.' + item.prop"
                :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]"
              >
                <el-input
                  v-model.trim="scope.row[item.prop]"
                  maxlength="50"
                  size="mini"
                  :disabled="!isOperate"
                  @change="
                    (val) => {
                      commonInputChange(val, item.prop, scope.row, scope)
                    }
                  "
                ></el-input>
              </el-form-item>
            <el-form-item
                v-else-if="item.inputFloat"
                label=" "
                :prop="'tableData.' + scope.$index + '.' + item.prop"
                :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]"
              >
                <el-input-number
                  v-model="scope.row[item.prop]"
                  placeholder=""
                  :min="0"
                  :precision="2"
                  :disabled="!isOperate"
                  :controls="false"
                  size="mini"
                  style="width: 100%; margin-right: 5px"
                  @change="
                    (val) => {
                      commonInputChange(val, item.prop, scope.row, scope)
                    }
                  "
                ></el-input-number>
              </el-form-item>
            <el-form-item
              v-else-if="item.inputNumber"
              label=" "
@@ -95,96 +209,113 @@
                placeholder=""
                :min="0"
                :controls="false"
                :disabled="!isOperate"
                size="mini"
                style="width: 100%; margin-right: 5px"
                @change="
                  (val) => {
                    commonInputChange(val, item.prop, scope.row)
                    commonInputChange(val, item.prop, scope.row, scope)
                  }
                "
              ></el-input-number>
            </el-form-item>
            <el-form-item
              v-else-if="item.inputFloat"
              label=" "
              :prop="'tableData.' + scope.$index + '.' + item.prop"
              :rules="[{ required: item.isRequird ? true : false, message: '输入不能为空' }]"
            >
              <template v-if="item.multiply">
                <el-input-number
                  :value="scope.row[showSummary.multiply[0]] * scope.row[showSummary.multiply[1]]"
                  placeholder=""
                  :disabled="item.disabled"
                  :min="0"
                  :precision="2"
                  :controls="false"
                  size="mini"
                  style="width: 100%; margin-right: 5px"
                  @input="
                    (val) => {
                      commonInputChange(val, item.prop, scope.row)
                    }
                  "
                ></el-input-number>
              </template>
              <template v-else>
                <el-input-number
                  v-model="scope.row[item.prop]"
                  placeholder=""
                  :min="0"
                  :precision="2"
                  :controls="false"
                  size="mini"
                  style="width: 100%; margin-right: 5px"
                  @change="
                    (val) => {
                      commonInputChange(val, item.prop, scope.row)
                    }
                  "
                ></el-input-number>
              </template>
            </el-form-item>
            <span v-else>{{ scope.row[item.prop] }}</span>
            <!-- </template> -->
            <!-- <span v-else>{{ scope.row[item.prop] }}</span> -->
            <span v-else style="text-align: right">{{ scope.row[item.prop] }}</span>
          </template>
        </el-table-column>
        <el-table-column label="操作" width="70" v-if="!detailEnter" align="center" fixed='right'>
          <template slot-scope="scope">
            <el-button type="text" size="small" :disabled="!isOperate" @click="deleteClick(scope)">删除</el-button>
          </template>
        </el-table-column>
        <slot name="tableButton" />
      </el-table>
      <div class="styleBtn" v-if="colOpenShow">
        <i @click="checkCol()"  class="label">...</i>
        <el-checkbox-group v-model="showcol" v-show="iscolopen" class="checkbox-group" @change="selectCheckBoxList">
          <el-checkbox v-for="item in tableList.allcol" :label="item" :key="item">{{ item }} </el-checkbox>
        </el-checkbox-group>
      </div>
    </el-form>
    <div v-if="!detailEnter" style="margin: 10px">
      <el-button size="small" type="primary" @click="add">新增</el-button>
      <el-button size="small" type="primary" @click="empty">清空</el-button>
    <el-button style="margin: 10px"  size="small" type="primary"  @click="add">新增</el-button>
    <div v-if="!detailEnter" style="margin: 10px" >
      <el-button size="small" type="primary" :disabled="!isOperate" @click="add">新增</el-button>
      <!-- <el-button size="small" type="primary" disabled>导入明细</el-button> -->
      <el-button size="small"  type="primary" :disabled="!isOperate" @click="empty">清空</el-button>
      <el-button size="small"  type="primary" @click="recalculate" :disabled="isRecalculate && !isOperate ? false : true"
        >重算</el-button
      >
    </div>
    <!-- 产品名称 -->
    <SelectCommonDialog
    <div v-if="false && (showSummary.total || showSummary.refundable)" style="height: 42px; line-height: 42px">
      <el-row :gutter="10">
        <el-col v-if="showSummary.total" :span="3" :offset="21">
          <span style="font-weight: bold">合计</span>
          <span style="margin-left: 10px">{{ total }}</span>
        </el-col>
        <el-col v-if="showSummary.refundable" :span="3" :offset="21">
          <span style="font-weight: bold">应退款</span>
          <span style="margin-left: 10px">0.00</span>
        </el-col>
      </el-row>
    </div>
    <!-- 合同订单 -->
    <!-- <SelectCommonDialog
      v-if="editSelCommonConfig.editVisible"
      :edit-common-config="editSelCommonConfig"
      :sign="sign"
      :selectBoxList="tableList.tableData"
      @selClient="selClient"
    />
      @getSelectArray="getSelectArray"
    /> -->
  </div>
</template>
<script>
import { getProductListFromGrpc, getProductList } from "@/api/productManage/product"
import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
// import { getProductList } from "@/api/common/other"
// import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
export default {
  name: "CommmonFormTableView",
  components: { SelectCommonDialog },
  // components: { SelectCommonDialog },
  props: {
    detailEnter: {
      type: Boolean,
      default: false
    },
    sign: {
    // 是否可以配置列表 表头
    colOpenShow: {
      type: Boolean,
      default: false,
    },
    selectBox: {
      type: Boolean,
      default: false
    },
    // 那个页面 用来判断计算方式
    pageName: {
      type: String,
      default: ""
    },
    // 列表新增是否多选
    addTypeIdMultiple: {
      type: Boolean,
      default: false
    },
    // 是否可以操作 添加等
    isOperate: {
      type: Boolean,
      default: true
    },
    isBorder:{
      type: Boolean,
      default: false
    },
    productTableList: {
      type: Object,
      default: () => {
        return {
          tableData: [], // 接口返回数据
          isReturn: false,
          allcol: [],
          showcol: [],
          tableColumn: [
            // table表单
            { label: "", prop: "", min: 200, tooltip: true }
@@ -200,15 +331,9 @@
          total: false,
          refundable: false,
          sumProp: [],
          multiply: [],
          titleProp: ["#", "产品名称"],
          mergeNumber: 1
        }
      }
    },
    recalculateShow: {
      type: [Boolean],
      defalut: true
    }
  },
  data() {
@@ -218,40 +343,88 @@
      tableList: [],
      editSelCommonConfig: {
        editVisible: false,
        isSelectBox: false,
        title: "",
        infomation: {}
      },
      productIndex: 0
      productIndex: 0,
      isRecalculate: true,
      iscolopen: false,
      showcol: [],
      mergeNumber:1
    }
  },
  created() {
    this.getProductList()
    this.tableList = this.productTableList
    if (!this.selectBox) {
      this.getProductList()
    }
    this.getTableInfo()
  },
  watch:{
    "productTableList": {
      handler() {
        this.showcol = this.productTableList.showcol
        this.getTableInfo()
      },
      immediate: true
    },
    "productTableList.showcol": {
      handler(newVal) {
        this.showcol = newVal
        this.getMergeNumber()
      },
      immediate: true
    },
  },
  computed: {},
  watch: {
    productTableList() {
      this.tableList = this.productTableList
    }
  },
  methods: {
    getMergeNumber(){
      let pattern=new RegExp("[0-9]+");
        if(pattern.test(this.showSummary.mergeNumber)){
          this.mergeNumber=this.showSummary.mergeNumber
        }else{
          for(let i in this.showcol){
            if(this.showcol[i]==this.showSummary.mergeNumber){
              this.mergeNumber=Number(i)+1;
            }
          }
        }
    },
    checkCol() {
      this.iscolopen = !this.iscolopen
    },
    selectCheckBoxList(val) {
      this.getMergeNumber()
      this.$emit("selTableCol", val)
    },
    getTableInfo(){
      this.tableList = this.productTableList
      if (this.tableList.tableData.length === 1 && this.tableList.tableData[0].name === "") {
        this.isRecalculate = false
      } else {
        this.isRecalculate = true
      }
    },
    // 产品名称
    async getProductList() {
      let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc
      await fn({
        page: 1,
        pageSize: 100
      }).then((res) => {
        if (res.data.code === 200) {
          if (res.data.data.list && res.data.data.list.length > 0) {
            this.productList = res.data.data.list
          }
        }
      })
      // await getProductList({
      //   productName: "",
      //   productNumber: "",
      //   page: 1,
      //   pageSize: 100
      // }).then((res) => {
      //   console.log(res, "产品名称")
      //   if (res.code === 200) {
      //     if (res.data.data && res.data.data.length > 0) {
      //       this.productList = res.data.data
      //     }
      //   }
      // })
    },
    handleReserve(row) {
      return row._id ? row._id : row.id
    },
    // 多选
    handleSelectionChange(val) {
      this.$emit("getSelectArray", val)
    },
@@ -262,11 +435,11 @@
          if (this.$refs.table) {
            var current = this.$refs.table.querySelector(".el-table__footer-wrapper").querySelector(".el-table__footer")
            var cell = current.rows[0].cells
            for (let i = 0; i < this.showSummary.mergeNumber; i++) {
            for (let i = 0; i < this.mergeNumber; i++) {
              cell[i].style.display = "none"
            }
            cell[this.showSummary.mergeNumber].classList.remove("is-left")
            cell[this.showSummary.mergeNumber].colSpan = this.showSummary.mergeNumber.toString()
            cell[this.mergeNumber].classList.remove("is-left")
            cell[this.mergeNumber].colSpan = this.mergeNumber.toString()
          }
        })
      }
@@ -277,13 +450,17 @@
      const sums = []
      columns.forEach((column, index) => {
        // // 更改行名称
        if (index === this.showSummary.mergeNumber) {
          sums[index] = "小计:"
        if (index === this.mergeNumber) {
          sums[index] = this.showSummary.totalLabel?this.showSummary.totalLabel:"小计:"
          return
        }
        const title = this.showSummary.titleProp
        const title = ["#", "产品名称", "产品编号", "单位", "销售单价", "成本单价"]
        // 去除某些不需要计算的数据
        if (title.includes(column.label)) {
          sums[index] = ""
          return
        }
        if (this.pageName == "quotation" && column.label == "毛利") {
          sums[index] = ""
          return
        }
@@ -305,12 +482,10 @@
        }
        if (column.property === "total") {
          this.total = sums[index]
          this.$emit("getSummaries", this.total)
        }
      })
      return sums
    },
    // 数字换行为金额显示格式
    number_format(number, decimals, dec_point, thousands_sep) {
      decimals = 2 //这里默认设置保留两位小数,也可以注释这句采用传入的参数
@@ -341,16 +516,72 @@
    },
    // 新增
    add() {
      this.$emit("addProductClick")
      if (this.addTypeIdMultiple) {
        this.productIndex = this.tableList.tableData.length
        this.editSelCommonConfig.title = "产品名称"
        this.editSelCommonConfig.isSelectBox = true
        this.editSelCommonConfig.editVisible = true
      } else {
        this.$emit("addProductClick")
      }
    },
    commonInputChange(val, prop, row) {
      console.log(val, prop)
      console.log(row)
      this.$emit("inputContent", val, prop, row)
    commonInputChange(val, prop, row, scope) {
      if (prop === "amount") {
        this.tableList.tableData.map((ite) => {
          if (ite.name === row.name) {
            ite.total = row.amount * row.price
          }
        })
      }
      if (this.pageName == "quotation" && prop == "cost" && scope.row.cost) {
        let value = scope.row.cost
        let reg2 = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
        if (!reg2.test(value) || value == 0) {
          this.$message.error("成本单价需要填写大于0的2位小数!")
          return true
        }
        this.$forceUpdate()
      }
      if (this.pageName == "quotation") {
        if (prop == "price" || prop == "cost") {
          if (scope.row.price && scope.row.cost) {
            let profit = Number(scope.row.price) - Number(scope.row.cost)
            scope.row.profit = profit + ""
            let margin = (((Number(scope.row.price) - Number(scope.row.cost)) * 100) / Number(scope.row.cost)).toFixed(
              2
            )
            scope.row.margin = margin + ""
          }
        }
      }
      this.$emit("inputContent", val, prop, row, scope)
    },
    // 清空
    empty() {
      this.isRecalculate = false
      this.$emit("emptyProductClick")
    },
    // 删除
    deleteClick(scope) {
      this.tableList.tableData.splice(scope.$index, 1)
      this.$forceUpdate()
      this.$message.success("删除成功!")
      this.$emit("deleteClick", scope)
    },
    // 重算
    recalculate() {
      this.$confirm("确定要重算明细所有行?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(() => {
          this.$emit("recalculateProductClick")
          this.tableList.tableData.map((ite) => {
            ite.total = ite.amount ? ite.amount * ite.price : 1 * ite.price
          })
        })
        .catch(() => {})
    },
    // 选择产品名称相关方法
    querySearchAsync(queryString, cb) {
@@ -365,116 +596,82 @@
    },
    handleSelectClient(item, prop, row) {
      // this.clientId = item.id
      this.isRecalculate = true
      console.log(item, prop, row)
      this.tableList.tableData.map((ite) => {
        if (ite.name === item.name) {
          ite.ID = row.ID
          ite.amount = item.amount || 1
          ite.number = item.number
          ite.purchasePrice = item.purchasePrice
          ite.price = item.price
          ite.total = item.amount ? item.amount * item.price : 1 * item.price
          ite.unit = item.unit
          ite.deliveryTime = item.deliveryTime
          ite.shippingDuration = item.shippingDuration
          ite.modelNumber = item.modelNumber
        }
      })
      if (this.detailEnter) {
        this.setEditName(item, row.ID)
      }
    },
    setEditName(item, ID) {
      let selRow = {
        ID: ID,
        deliveryTime: item.deliveryTime,
        maximumStock: item.maximumStock,
        minimumStock: item.minimumStock,
        modelNumber: item.modelNumber,
        name: item.name,
        number: item.number,
        productType: item.productType,
        purchasePrice: item.purchasePrice,
        remark: item.remark,
        shippingDuration: item.shippingDuration,
        specifications: item.specifications,
        supplierId: item.supplierId,
        unit: item.unit
      }
      this.$emit("selCommonName", selRow)
    },
    selClientClick(row, prop, scope) {
      console.log(row, prop)
    // 新增
    selClientClick(scope, prop) {
      console.log(scope, prop)
      this.productIndex = scope.$index
      this.editSelCommonConfig.title = "产品名称"
      this.editSelCommonConfig.isSelectBox = true
      this.editSelCommonConfig.editVisible = true
    },
    // 编辑
    handleEditClient(scope, prop) {
      console.log(scope, prop)
      this.productIndex = scope.$index
      this.editSelCommonConfig.title = "产品名称"
      this.editSelCommonConfig.isSelectBox = false
      this.editSelCommonConfig.editVisible = true
    },
    selClient(item) {
      console.log(item)
      console.log(this.tableList.tableData)
      if (this.detailEnter) {
        this.tableList.tableData.map((ite) => {
          ite.ID
          ite.name = item.name
          ite.amount = item.amount || 1
          ite.number = item.number
          ite.purchasePrice = item.purchasePrice
          ite.unit = item.unit
          ite.deliveryTime = item.deliveryTime
          ite.shippingDuration = item.shippingDuration
        })
        this.setEditName(item, this.tableList.tableData[0].ID)
      } else {
      let list = this.tableList.tableData.map((item) => item.number)
      if (list.findIndex((v) => v == item.number) == -1) {
        this.isRecalculate = true
        // this.editConfig.infomation.client_name = row.name
        this.tableList.tableData.map((ite, index) => {
          if (index === this.productIndex) {
            ite.name = item.name
            ite.productId = item.ID
            ite.amount = item.amount || 1
            ite.number = item.number
            ite.purchasePrice = item.purchasePrice
            ite.price = item.price
            ite.total = item.amount ? item.amount * item.price : 1 * item.price
            ite.unit = item.unit
            ite.deliveryTime = item.deliveryTime
            ite.shippingDuration = item.shippingDuration
            this.$set(this.tableList.tableData, index, ite)
            this.$forceUpdate()
          }
        })
        console.log(this.tableList.tableData, "=====chanp")
      } else {
        this.$message.error("不能选择重复的产品, 请重新选择")
      }
    },
    getSelectArray(val) {
      this.$emit("getSelectArray", val, this.productIndex)
    },
    // 清除已选择用户
    clearupClient(row, scope) {
    clearupClient(scope) {
      this.productIndex = scope.$index
      this.tableList.tableData.map((ite, index) => {
        console.log(scope.$index)
        if (scope.$index && scope.$index >= 0) {
          if (index === this.productIndex) {
            ite.name = ""
            ite.amount = 1
            ite.number = ""
            ite.purchasePrice = 0
            ite.unit = ""
            ite.deliveryTime = 0
            ite.shippingDuration = 0
          }
        } else {
        if (index === this.productIndex) {
          ite.name = ""
          ite.amount = 1
          ite.number = ""
          ite.purchasePrice = 0
          ite.price = 0
          ite.total = 0
          ite.unit = ""
          ite.deliveryTime = 0
          ite.shippingDuration = 0
        }
      })
      this.$emit("clearupProduct", this.tableList.tableData)
    },
    deleteClient(row, scope) {
      if (this.tableList.tableData.length == 1) {
        this.$message.error("至少保留一条,不能刪除了!")
        return true
      }
      this.tableList.tableData.splice(scope.$index, 1)
    }
    // 多选设置已选中
    // toggleSelection(rows) {
    //   console.log("88888888888888888888888888888888888888888")
    //   console.log(rows)
    //   if (rows) {
    //     rows.forEach((row) => {
    //       this.$refs.fromTable.toggleRowSelection(row, true)
    //       console.log(row)
    //     })
    //   }
    // }
  }
}
</script>
@@ -482,7 +679,10 @@
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss" scoped>
.page-view {
  min-width: 100px;
  position: relative;
  .el-form{
    height:calc(100% - 120px);
  }
  .el-form-item {
    margin-bottom: 0;
    .custom-name {
@@ -511,8 +711,47 @@
  .el-table th.el-table__cell > .cell {
    padding: 0 5px;
  }
  .el-table__fixed-footer-wrapper tbody td.el-table__cell{
    background:#fff;
  }
  .el-input__inner {
    text-align: left;
    // text-align: left;
    text-align: center !important;
  }
  .styleBtn {
    position: absolute;
    width: 30px;
    height: 48px;
    // line-height: 26px;
    // background: #06c062;
    top: 0;
    right: -6px;
    z-index: 11;
    .label {
      position: absolute;
      top: 11px;
      font-size: 20px;
      // line-height: 5px;
      cursor: pointer;
      color: #000;
      transform: rotate(-90deg);
    }
    .checkbox-group {
      width: 160px;
      height: 180px;
      overflow: auto;
      display: flex;
      flex-direction: column;
      line-height: 25px;
      background: #ffffff;
      border-radius: 16px;
      padding: 12px;
      position: absolute;
      right: 0;
      top: 30px;
      z-index: 99;
      box-shadow: 0 0 2px 2px #f8f8f8;
    }
  }
}
</style>
src/components/makepager/TableCommonView.vue
@@ -20,7 +20,13 @@
      :row-class-name="tableRowClassName"
    >
      <el-table-column v-if="selectBox" type="selection" width="40" :selectable="selectable"> </el-table-column>
      <el-table-column v-if="tableList.selectIndex" type="index" label="序号" width="50"></el-table-column>
      <el-table-column
        v-if="tableList.selectIndex"
        type="index"
        label="序号"
        width="50"
        :fixed="tableList.isFixed"
      ></el-table-column>
      <el-table-column
        v-for="(item, i) in tableList.tableColumn"
        :key="i"
@@ -30,6 +36,7 @@
        :min-width="item.min"
        show-overflow-tooltip
        :sortable="item.sortable"
        :fixed="item.fixed"
        v-if="item.isShowColumn"
      >
      
@@ -169,6 +176,7 @@
      default: () => {
        return {
          selectIndex: true,
          isFixed: false,
          tableInfomation: [], // 接口返回数据
          showcol: [],
          allcol: [],
src/router/product/index.js
@@ -29,7 +29,7 @@
    name: "silkRegisterAddPage",
    component: silkRegisterAddPage,
    meta: {
      title: "新增纤度登记表/纤度检验表"
      title: "纤度登记表/纤度检验表"
    }
  },
  {
src/views/productManage/silkInspectForm/index.vue
@@ -11,7 +11,7 @@
          @searchClick="onFilterSearch"
        >
          <template slot="leftButton">
            <el-button size="small" type="primary" @click="addBtnClick">新建</el-button>
            <!-- <el-button size="small" type="primary" @click="addBtnClick">新建</el-button> -->
            <el-button size="small" type="primary" @click="printClick">打印</el-button>
          </template>
        </CommonSearch>
@@ -30,8 +30,8 @@
            <template slot="tableButton">
              <el-table-column label="操作" width="90" fixed="right">
                <template slot-scope="scope">
                  <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
                  <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
                  <el-button @click="handleClick(scope.row)" type="text" size="small">修改</el-button>
                  <el-button @click="delClick(scope.row.ID)" type="text" size="small">删除</el-button>
                </template>
              </el-table-column>
            </template>
@@ -46,7 +46,7 @@
</template>
<script>
import { getFollowRecordList, getDeleteFollowRecord } from "@/api/productManage/silkInspectForm.js"
import { getInspectCheckList, getInspectCheckDelete } from "@/api/productManage/silkInspectForm.js"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
export default {
@@ -61,25 +61,20 @@
      tableList: {},
      loading: false,
      searchOptions: [],
      editConfig: {
        visible: false,
        title: "新建",
        infomation: {}
      },
      search_map: {},
      keyword: '',
      tableColumn: [
        { label: "编号", prop: "topic", min: 120, default: true }, // 主题
        { label: "车间", prop: "client_name", min: 190, }, // 客户名称
        { label: "车组", prop: "contact_name", min: 100, }, // 联系人姓名
        { label: "日期", prop: "client_status", min: 100 }, // 客户状态
        { label: "平均纤度", prop: "contact_information_name", min: 100 }, // 联系方式
        { label: "公量纤度", prop: "follow_time", min: 130 }, // 联系人日期
        { label: "偏差", prop: "next_follow_time", min: 130 }, // 下次回访日期
        { label: "总差", prop: "member_name", min: 110 }, // 负责人
        { label: "车组等级", prop: "member_name", min: 110 }, // 负责人
        { label: "清洁", prop: "member_name", min: 110 }, // 负责人
        { label: "洁净", prop: "member_name", min: 110 }, // 负责人
        { label: "规格", prop: "member_name", min: 110 }, // 负责人
        { label: "编号", prop: "number", min: 120, default: true },
        { label: "车间", prop: "name", min: 190, },
        { label: "车组", prop: "workshopGroup", min: 100, },
        { label: "日期", prop: "finishDate", min: 100 },
        { label: "平均纤度", prop: "averageFineness", min: 100 },
        { label: "公量纤度", prop: "measureFineness", min: 130 },
        { label: "偏差", prop: "deviation", min: 130 },
        { label: "总差", prop: "totalDeviation", min: 110 },
        { label: "车组等级", prop: "finenessGrade", min: 110 },
        { label: "清洁", prop: "cleanliness", min: 110 },
        { label: "洁净", prop: "purity", min: 110 },
        { label: "规格", prop: "spec", min: 110 },
      ],
      showCol: [
        "编号",
@@ -99,7 +94,7 @@
  },
  created() {
    this.setTable()
    this.getData(this.search_map)
    this.getData(this.keyword)
  },
  computed: {
  },
@@ -135,24 +130,23 @@
    // 请求数据
    async getData() {
      this.loading = true
      await getFollowRecordList({
        search_map: this.search_map,
      await getInspectCheckList({
        keyword: this.keyword,
        page: this.pagerOptions.currPage,
        pageSize: this.pagerOptions.pageSize
      })
        .then((res) => {
          console.log(res)
          if (res.code === 200) {
            if (res.data.list && res.data.list.length > 0) {
              const list = res.data.list.map((item) => {
            if (res.data&& res.data.length > 0) {
               const list = res.data.map((item) => {
                return {
                  ...item,
                  client_name: item.client.name,
                  contact_name: item.contact.name,
                  client_status: item.client_status.name,
                  phone: item.contact.phone,
                  member_name: item.member.username,
                  contact_information_name: item.contact_information.name
                  number: item.finenessRegister.number,
                  name: item.finenessRegister.name,
                  workshopGroup: item.finenessRegister.workshopGroup,
                  finishDate: item.finenessRegister.finishDate,
                  spec:item.finenessRegister.spec,
                }
              })
              this.tableList.tableInfomation = list || []
@@ -173,7 +167,7 @@
    },
    // 搜索
    onFilterSearch(searchText) {
      this.search_map.client_name = searchText ?? ""
      this.keyword= searchText ?? ""
      this.pagerOptions.currPage = 1
      this.getData()
    },
@@ -189,23 +183,26 @@
    },
    // 编辑
    handleClick(row) {
      console.log(row)
      this.editConfig.title = "编辑"
      let config=JSON.parse(JSON.stringify(row));
      config.client_status_id=config.client_status_id?config.client_status_id:null
      config.contact_information_id=config.contact_information_id?config.contact_information_id:null
      this.editConfig.infomation = { ...config, sale_chance_name:row.sale_chance.name, sales_leads_name: "" }
      this.editConfig.visible = true
      this.$router.push({
                path:"/productManage/silkRegisterForm/addPage",
                query:{
                  activeName:'second',
                  inspectID:row.ID,
                  id:row.finenessRegisterID,
                  number:row.number,
                }
              });
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
      debugger
      this.$confirm("请确认是否删除,删除操作不可撤销??", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(() => {
          getDeleteFollowRecord({ ids: [id] }).then((response) => {
          getInspectCheckDelete({ id: id }).then((response) => {
            if (response.code === 200) {
              this.$message.success("删除成功")
              this.getData()
src/views/productManage/silkRegisterForm/addPage.vue
@@ -3,7 +3,7 @@
        <div class="tab-view">
            <el-tabs v-model="activeName" @tab-click="tabsClick">
                <el-tab-pane label="纤度登记表" name="first"></el-tab-pane>
                <el-tab-pane label="纤度检验表" name="second"></el-tab-pane>
                <el-tab-pane label="纤度检验表" :disabled='!registerId&&!isRegisterSave' name="second"></el-tab-pane>
            </el-tabs>
        </div>
        <template v-if="activeName == 'first'">
@@ -13,7 +13,8 @@
                        placeholder="请输入关键词" @searchClick="onFilterSearch">
                        <template slot="leftButton">
                            <el-button size="small" type="primary" @click="cancelClickOne">放弃</el-button>
                            <el-button size="small" type="primary" @click="saveClickOne('form')">保存</el-button>
                            <el-button size="small" type="primary" :loading="isAddloading"
                                @click="saveClickOne('form')">保存</el-button>
                        </template>
                    </CommonSearch>
                </div>
@@ -47,13 +48,13 @@
                            </el-select>
                        </el-form-item>
                        <el-form-item label="规格" prop="spec" class="form-item">
                            <el-input v-model="form.spec" placeholder="请输入">
                            </el-input>
                            <!-- <el-select v-model="form.spec" placeholder="请选择" class="select-width">
                                <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name"
                                    :value="item.id">
                            <el-select v-model="form.spec" placeholder="请选择" class="select-width">
                                <el-option v-for="item in specList" :key="item.ID" :label="item.name"
                                    :value="item.name">
                                </el-option>
                            </el-select> -->
                            </el-select>
                            <!-- <el-input v-model="form.spec" placeholder="请输入">
                            </el-input> -->
                        </el-form-item>
                        <el-form-item label="组别" prop="workshopGroup" class="form-item">
                            <el-select v-model="form.workshopGroup" placeholder="请选择" class="select-width">
@@ -61,21 +62,23 @@
                                    :value="item.ID">
                                </el-option>
                            </el-select>
                        </el-form-item>
                        <el-form-item label="回数" prop='circle' class="form-item">
                            <el-row>
                                <el-col :span="11">
                                    <el-form-item label="" @input="inputStart" label-width="0" prop="startCircle" class="select-width">
                                        <el-input  v-model.number="form.startCircle" placeholder="请输入" show-word-limit
                                        class="select-width"></el-input>
                                    <el-form-item label="" @input="inputStart" label-width="0" prop="startCircle"
                                        class="select-width">
                                        <el-input v-model.number="form.startCircle" placeholder="请输入" show-word-limit
                                            class="select-width"></el-input>
                                    </el-form-item>
                                </el-col>
                                <el-col :span="2" style="margin:0 auto;text-align:center;">-</el-col>
                                <el-col :span="11">
                                    <el-form-item label="" label-width="0" prop="endCircle" class="select-width">
                                        <el-input v-model.number="form.endCircle" @input="inputStart" placeholder="请输入" show-word-limit
                                            class="select-width"></el-input>
                                        <el-input v-model.number="form.endCircle" @input="inputStart" placeholder="请输入"
                                            show-word-limit class="select-width"></el-input>
                                    </el-form-item>
                                </el-col>
                            </el-row>
@@ -86,9 +89,14 @@
                        </el-form-item>
                    </el-form>
                    <div class="list-view">
                        <TableCommonView ref="tableListRef" :colOpenShow="false" v-loading="loading" :table-list="tableList"
                        <!-- <TableCommonView ref="tableListRef" :colOpenShow="false" v-loading="loading" :table-list="tableList"
                            @selTableCol="selTableCol">
                        </TableCommonView>
                        </TableCommonView> -->
                        <!-- 修改为输入 -->
                        <CommonFormTableView ref="commonFormTableView" :detail-enter="isView ? true : false"
                            :selectBox="false" :detailEnter="true" :show-summary="showSummary"
                            :product-table-list="tableList" @inputContent="inputContent"
                            @addProductClick="addProductClick"></CommonFormTableView>
                    </div>
                </div>
                <div class="body-r">
@@ -98,47 +106,48 @@
            </div>
        </template>
        <template v-if="activeName == 'second'">
            <!-- <div class="body-two body" v-if="activeName == 'second'">
            <div class="filter">
                <div class="filter-card">
                    <!-- <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>
                    <el-button size="small" type="primary" :loading="isAddloading"
                        @click="saveClickOne('form')">保存</el-button>
                    <!-- </template>
</CommonSearch> -->
                </div>
            </div>
            <div class="body-two body">
                <div class="body-two-t">纤度检验表</div>
                <el-form ref="form" class="form-box" :model="form" :rules="rules" label-position="right" label-width="60px">
                <el-form ref="form" class="form-box" :model="form" :rules="rules" label-position="right"
                    label-width="60px">
                    <div class="form-box-t">
                        <el-form-item label="编号" prop="clientName" class="form-item">
                            1234546677
                        <el-form-item label="编号" prop="number" class="form-item">
                            {{ form.number }}
                        </el-form-item>
                        <el-form-item label="车间" prop="deliverType" class="form-item">
                            <el-select v-model="form.deliverType" placeholder="请选择">
                                <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name"
                                    :value="item.id">
                                </el-option>
                            </el-select>
                        <el-form-item label="车间" prop="name" class="form-item">
                            {{ form.name }}
                        </el-form-item>
                        <el-form-item label="组别" prop="deliverType" class="form-item">
                            <el-select v-model="form.deliverType" placeholder="请选择" style="width: 100%">
                                <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name"
                                    :value="item.id">
                                </el-option>
                            </el-select>
                        <el-form-item label="组别" prop="workshopGroup" class="form-item">
                            {{ form.workshopGroup }}
                        </el-form-item>
                        <el-form-item label="回数" prop="amount" class="form-item">
                            <el-input v-model.number="form.amount" placeholder="请输入" show-word-limit
                                style="width: 100%"></el-input>
                        <el-form-item label="回数" prop="circle" class="form-item">
                            {{ form.circle }}
                        </el-form-item>
                        <el-form-item label="规格" prop="clientName" class="form-item">
                            <el-input v-model="form.clientName" placeholder="请输入">
                            </el-input>
                        <el-form-item label="规格" prop="spec" class="form-item">
                            {{ form.spec }}
                        </el-form-item>
                        <el-form-item label="日期" prop="signTime" class="form-item">
                            <el-date-picker v-model="form.signTime" value-format="yyyy-MM-dd" type="date" placeholder="选择日期"
                                style="width:100%">
                            </el-date-picker>
                        <el-form-item label="日期" prop="finishDate" class="form-item">
                            {{ form.finishDate }}
                        </el-form-item>
                    </div>
                    <div class="list-view">
                        <el-table ref="multipleTable" :data="tableTwoList.tableInfomation" tooltip-effect="dark"
                            style="width: 100%">
                            <el-table-column label="车号" prop="templateName" width="100">
                            <el-table-column label="车号" prop="ID" width="100">
                            </el-table-column>
                            <el-table-column label="下差纤度" prop="name" width="100" align="center">
                            <el-table-column label="下差纤度" prop="name1" width="100" align="center">
                                <template v-for="(item, i) in tableTwoList.lower">
                                    <el-table-column align="center" :key="i" :prop="item.prop" :label="item.label"
                                        :width="item.width" :min-width="item.min" show-overflow-tooltip
@@ -146,7 +155,7 @@
                                    </el-table-column>
                                </template>
                            </el-table-column>
                            <el-table-column label="目的纤度" prop="name" width="100" align="center">
                            <el-table-column label="目的纤度" prop="name2" width="100" align="center">
                                <template v-for="(item, i) in tableTwoList.objective">
                                    <el-table-column align="center" :key="i" :prop="item.prop" :label="item.label"
                                        :width="item.width" :min-width="item.min" show-overflow-tooltip
@@ -154,7 +163,7 @@
                                    </el-table-column>
                                </template>
                            </el-table-column>
                            <el-table-column label="上差纤度" prop="name" width="100" align="center">
                            <el-table-column label="上差纤度" prop="name3" width="100" align="center">
                                <template v-for="(item, i) in tableTwoList.upper">
                                    <el-table-column align="center" :key="i" :prop="item.prop" :label="item.label"
                                        :width="item.width" :min-width="item.min" show-overflow-tooltip
@@ -162,9 +171,9 @@
                                    </el-table-column>
                                </template>
                            </el-table-column>
                            <el-table-column prop="valueRange" label="偏差" width="120">
                            <el-table-column prop="deviation" label="偏差" width="120">
                            </el-table-column>
                            <el-table-column prop="unit" label="总差" show-overflow-tooltip>
                            <el-table-column prop="totalDeviation" label="总差" show-overflow-tooltip>
                            </el-table-column>
                            <el-table-column prop="valueRange" label="野纤" width="120">
                            </el-table-column>
@@ -172,102 +181,88 @@
                            </el-table-column>
                            <el-table-column prop="valueRange" label="特野" width="120">
                            </el-table-column>
                            <el-table-column prop="unit" label="等级" show-overflow-tooltip>
                            <el-table-column prop="finenessGrade" label="等级" show-overflow-tooltip>
                            </el-table-column>
                            <el-table-column prop="valueRange" label="II度" width="120">
                            <el-table-column prop="twiceChange" label="II度" width="120">
                            </el-table-column>
                            <el-table-column prop="unit" label="清洁" show-overflow-tooltip>
                            <el-table-column prop="cleanliness" label="清洁" show-overflow-tooltip>
                            </el-table-column>
                            <el-table-column prop="valueRange" label="洁净" width="120">
                            <el-table-column prop="purity" label="洁净" width="120">
                            </el-table-column>
                            <el-table-column prop="unit" label="备注" show-overflow-tooltip>
                            <el-table-column prop="remark" label="备注" show-overflow-tooltip>
                            </el-table-column>
                        </el-table>
                    </div>
                    <div class="form-box-b">
                        <el-form-item label="平均纤度" prop="clientName" class="form-item-two" label-width="100px">
                            1234546677
                        <el-form-item label="平均纤度" prop="averageFineness" class="form-item-two" label-width="100px">
                            {{ form.averageFineness }}
                        </el-form-item>
                        <el-form-item label="公量纤度" prop="deliverType" class="form-item" label-width="100px">
                            <el-input v-model="form.clientName" placeholder="请输入">
                        <el-form-item label="公量纤度" prop="measureFineness" class="form-item" label-width="100px">
                            <el-input v-model="form.measureFineness" placeholder="请输入">
                            </el-input>
                        </el-form-item>
                        <el-form-item label="偏差" prop="clientName" class="form-item-two">
                            0.98
                        <el-form-item label="偏差" prop="deviation" class="form-item-two">
                            {{ form.deviation }}
                        </el-form-item>
                        <el-form-item label="总差" prop="clientName" class="form-item-two">
                            0.98
                        <el-form-item label="总差" prop="totalDeviation" class="form-item-two">
                            {{ form.totalDeviation }}
                        </el-form-item>
                        <el-form-item label="车组等级" prop="deliverType" class="form-item-two" label-width="100px">
                            4A
                        <el-form-item label="车组等级" prop="finenessGrade" class="form-item-two" label-width="100px">
                            {{ form.finenessGrade }}
                        </el-form-item>
                        <el-form-item label="II度" prop="amount" class="form-item">
                            <el-input v-model="form.clientName" placeholder="请输入">
                        <el-form-item label="II度" prop="twiceChange" class="form-item">
                            <el-input v-model="form.twiceChange" placeholder="请输入">
                            </el-input>
                        </el-form-item>
                        <el-form-item label="清洁" prop="clientName" class="form-item">
                            <el-input v-model="form.clientName" placeholder="请输入">
                        <el-form-item label="清洁" prop="cleanliness" class="form-item">
                            <el-input v-model="form.cleanliness" placeholder="请输入">
                            </el-input>
                        </el-form-item>
                        <el-form-item label="洁净" prop="signTime" class="form-item">
                            <el-input v-model="form.clientName" placeholder="请输入">
                        <el-form-item label="洁净" prop="purity" class="form-item">
                            <el-input v-model="form.purity" placeholder="请输入">
                            </el-input>
                        </el-form-item>
                        <el-form-item label="庄口工艺单编号" prop="signTime" class="form-item" label-width="110px">
                            <el-input v-model="form.clientName" placeholder="请输入">
                        <el-form-item label="庄口工艺单编号" prop="marketProcessOrderNumber" class="form-item"
                            label-width="110px">
                            <el-input v-model="form.marketProcessOrderNumber" placeholder="请输入">
                            </el-input>
                        </el-form-item>
                        <el-form-item label="检验员" prop="signTime" class="form-item">
                            <el-input v-model="form.clientName" placeholder="请输入">
                        <el-form-item label="检验员" prop="inspector" class="form-item">
                            <el-input v-model="form.inspector" placeholder="请输入">
                            </el-input>
                        </el-form-item>
                    </div>
                </el-form>
            </div> -->
            </div>
        </template>
    </div>
</template>
<script>
import { getRegisterList,saveRegister,getDictList } from "@/api/productManage/silkRegisterForm.js"
import { saveRegister, getDictList, getWorkshopManageList, getRegisterDetails } from "@/api/productManage/silkRegisterForm.js"
import { getCheckDetails, saveCheck, } from "@/api/productManage/silkInspectForm.js"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
export default {
    name: "silkRegisterAddPage",
    props: {},
    mixins: [pageMixin],
    components: {
        CommonFormTableView,
    },
    computed: {},
    data() {
        return {
            tableList: {},
            loading: false,
            activeName: "first",
            searchOptions: [],
            search_map: {},
            is_public: true,
            tableColumn: [
                { label: "车号", prop: "position", min: 100, default: true }, // 客户名称
                { label: "纤度值", prop: "fineness", default: true }, // 销售负责人
                { label: "数量", prop: "quantity", default: true }, // 重要级别
                { label: "纤度合计", prop: "sum", min: 90, default: true }, // 下次回访日期
            ],
            showCol: ['车号', '纤度值', '数量', '纤度合计'],
            marketList:[], //庄口
            nameList:[], //车间
            workshopGroupList:[], //组别
            keyword: '',
            marketList: [], //庄口
            nameList: [], //车间
            workshopGroupList: [], //组别
            deliveryTypeList: [],
            specList: [], //规格
            form: {
                number:'',
                finishDate:'',
                market:'',
                name:'',
                spec:'',
                workshopGroup:'',
                circle:'',
                startCircle:'',
                endCircle:'',
                position:'',
            },
            rules: {
                number: [
@@ -276,14 +271,16 @@
                finishDate: [
                    { required: true, message: "请选择", trigger: ["change", 'blur'] },
                ],
                // 车间 应该true
                name: [
                    { required: true, message: "请选择", trigger: ["change", 'blur'] },
                ],
                spec: [
                    { required: true, message: "请填写", trigger: ["change", 'blur'] },
                ],
                // 组别 应该true
                workshopGroup: [
                    { required: true, message: "请选择", trigger: ["change", 'blur'] },
                    { required: false, message: "请选择", trigger: ["change", 'blur'] },
                ],
                circle: [
                    { required: true, message: "请填写", trigger: ["change", 'blur'] },
@@ -300,199 +297,280 @@
            },
            tableTwoList: {
                tableInfomation: [],
                lower: [
                    { label: "14", prop: "name", min: 100, default: true },
                    { label: "14.5", prop: "member_name", default: true },
                    { label: "15", prop: "client_level", default: true },
                    { label: "15.5", prop: "next_visit_time", min: 90, default: true },
                    { label: "16", prop: "name", min: 100, default: true },
                    { label: "16.5", prop: "member_name", default: true },
                    { label: "17", prop: "client_level", default: true },
                    { label: "17.5", prop: "next_visit_time", min: 90, default: true },
                    { label: "18", prop: "client_level", default: true },
                    { label: "18.5", prop: "next_visit_time", min: 90, default: true },
                lower: [],
                objective: [],
                upper: [],
            },
            // 新增纤度登记表
            isAddloading: false,
            isView: true,
            showSummary: {
                show: true,
                total: true,
                totalLabel: '合计:',
                sumProp: ["fineness", "quantity", 'sum'],
                mergeNumber: 0
            },
            productId: 1,
            tableList: {
                allcol: [],
                headerColor: 'red',
                showcol: ['车号', '纤度值', '数量', '纤度合计'],
                tableData: [
                    {
                        productId: 1,
                        position: null,
                        fineness: null,
                        quantity: null,
                        sum: null,
                    }
                ],
                objective: [
                    { label: "19", prop: "name", min: 100, default: true },
                    { label: "19.5", prop: "member_name", default: true },
                    { label: "20", prop: "client_level", default: true },
                    { label: "20.5", prop: "next_visit_time", min: 90, default: true },
                    { label: "21", prop: "name", min: 100, default: true },
                ],
                upper: [
                    { label: "21.5", prop: "name", min: 100, default: true },
                    { label: "22", prop: "member_name", default: true },
                    { label: "22.5", prop: "next_visit_time", min: 90, default: true },
                    { label: "23", prop: "name", min: 100, default: true },
                    { label: "23.5", prop: "member_name", default: true },
                    { label: "24", prop: "client_level", default: true },
                    { label: "24.5", prop: "next_visit_time", min: 90, default: true },
                    { label: "25", prop: "client_level", default: true },
                    { label: "25.5", prop: "next_visit_time", min: 90, default: true },
                    { label: "26", prop: "client_level", default: true },
                    { label: "26.5", prop: "next_visit_time", min: 90, default: true },
                tableColumn: [
                    { label: "车号", prop: "position", inputNumber: true, isRequird: true, }, // 客户名称
                    { label: "纤度值", prop: "fineness", inputNumber: true, isRequird: true, }, // 销售负责人
                    { label: "数量", prop: "quantity", inputNumber: true, isRequird: true, }, // 重要级别
                    { label: "纤度合计", prop: "sum", inputNumber: true, isRequird: true, }, // 下次回访日期
                ],
            },
            tableData: [],
            registerId: '',
            inspectID: '',
            isRegisterSave:false,
        }
    },
    created() {
        let query = this.$route.query;
        if (query) {
            this.activeName = query.activeName ? query.activeName : "first";
            this.registerId = query.id ? query.id : "";
            this.inspectID = query.inspectID ? query.inspectID : "";
        }
        this.setTable()
        this.getSelectDataList()
        this.search_map = {
            is_public: this.is_public
        }
        this.getData()
        this.keyword = ''
        this.getDetailsData()
    },
    methods: {
        getSelectDataList(){
        getDetailsData(id) {
            if (this.activeName == 'first') {
                this.form = {
                    number: '',
                    finishDate: '',
                    market: '',
                    name: '',
                    spec: '',
                    workshopGroup: '',
                    circle: '',
                    startCircle: '',
                    endCircle: '',
                    position: '',
                }
                if (this.registerId) {
                    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 ? config.finenessList : []
                        }
                    })
                }
            } else {
                this.form = {
                    number: '',
                    name: '',
                    workshopGroup: '',
                    circle: '',
                    spec: '',
                    finishDate: '',
                    averageFineness: '',
                    measureFineness: '',
                    deviation: '',
                    totalDeviation: '',
                    finenessGrade: '',
                    twiceChange: '',
                    cleanliness: '',
                    purity: '',
                    marketProcessOrderNumber: '',
                    inspector: '',
                }
                if (this.inspectID) {
                    getCheckDetails({ id: id ? id : this.inspectID }).then((response) => {
                        if (response.code === 200) {
                            let config = JSON.parse(JSON.stringify(response.data.info ? response.data.info : {}));
                            this.form = config;
                            this.form.number = config.finenessRegister.number
                            this.form.name = config.finenessRegister.name
                            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()
                            this.tableTwoList.tableInfomation = response.data.items ? response.data.items : []
                        }
                    })
                }
            }
        },
        getTableHeader(){
            let lowNumber;
                            let topNumber;
                            if(this.form.spec){
                                lowNumber=Number(this.form.spec.split('/')[0])
                                topNumber=Number(this.form.spec.split('/')[1])
                            }
                            this.tableTwoList.objective=[]
                            this.tableTwoList.lower=[]
                            this.tableTwoList.upper=[]
                            if(lowNumber&&topNumber){
                                for(let i = 0; i <lowNumber; i++){
                                    let item={
                                        label: lowNumber+i*0.5+'',
                                         prop: lowNumber+i*0.5+'',
                                         min: 100,
                                         default: true
                                    }
                                    this.tableTwoList.objective.push(item)
                                    if(lowNumber+i*0.5==topNumber){
                                        break;
                                    }
                                }
                                let lowStart=lowNumber-5
                                for(let i = 0; i <lowStart; i++){
                                    let item={
                                        label: lowStart+i*0.5+'',
                                         prop: lowStart+i*0.5+'',
                                         min: 100,
                                         default: true
                                    }
                                    this.tableTwoList.lower.push(item)
                                    if(lowStart+i*0.5==(lowNumber-0.5)){
                                        break;
                                    }
                                }
                                let topEnd=topNumber+5
                                for(let i = 1; i <topNumber; i++){
                                    let item={
                                        label: topNumber+i*0.5+'',
                                         prop: topNumber+i*0.5+'',
                                         min: 100,
                                         default: true
                                    }
                                    this.tableTwoList.upper.push(item)
                                    if(topNumber+i*0.5==topEnd){
                                        break;
                                    }
                                }
                            }
                            this.$forceUpdate()
        },
        getSelectDataList() {
            //车间
            getDictList({
                dictType: 0,
            }).then((res) => {
                    if (res.code == 200) {
                        this.nameList=res.data||[]
                    }
                })
                //组别
            getDictList({
                dictType: 1,
            }).then((res) => {
                    if (res.code == 200) {
                        this.workshopGroupList=res.data||[]
                    }
                })
                //庄口
                getDictList({
                dictType: 2,
                if (res.code == 200) {
                    this.nameList = res.data || []
                }
            })
            //规格
            getDictList({
                dictType: 3,
            }).then((res) => {
                    if (res.code == 200) {
                        this.marketList=res.data||[]
                    }
                })
        },
        inputStart(){
            this.form.circle=this.form.startCircle+'-'+this.form.endCircle
        },
        setTable() {
            this.tableList = {
                selectIndex: false,
                headerColor: 'red',
                tableInfomation: [],
                allcol: [],
                showcol: this.showCol,
                tableColumn: this.setColumnVisible(this.showCol)
            }
            this.tableList.allcol = this.tableList.tableColumn.filter(ele => !ele.default).map(ele => ele.label);
            this.searchOptions = []
            for (let i = 0; i < this.tableList.tableColumn.length; i++) {
                const label = this.tableList.tableColumn[i].label
                const value = this.tableList.tableColumn[i].prop
                this.searchOptions.push({ value: value, label: label })
            }
        },
        setColumnVisible(showCol) {
            return this.tableColumn.map(ele => {
                return {
                    ...ele,
                    isShowColumn: showCol.includes(ele.label)
                if (res.code == 200) {
                    this.specList = res.data || []
                }
            })
            //组别
            getWorkshopManageList().then((res) => {
                if (res.code == 200) {
                    this.workshopGroupList = res.data || []
                }
            })
            //庄口
            getDictList({
                dictType: 0,
            }).then((res) => {
                if (res.code == 200) {
                    this.marketList = res.data || []
                }
            })
        },
        selTableCol(val) {
            this.showcol = val;
            this.tableList.tableColumn = this.setColumnVisible(val);
        inputStart() {
            this.form.circle = this.form.startCircle + '-' + this.form.endCircle
        },
        // 请求数据
        async getData() {
            this.loading = true
            await getRegisterList({
                search_map: this.search_map,
                page: this.pagerOptions.currPage,
                pageSize: this.pagerOptions.pageSize
        // 产品新增
        addProductClick() {
            this.productId++
            this.tableData.push({
                productId: this.productId,
                position: '',
                fineness: 0,
                quantity: 0,
                sum: "",
            })
                .then((res) => {
                    console.log(res)
                    if (res.code === 200) {
                        if (res.data.list && res.data.list.length > 0) {
                            const list = res.data.list.map((item) => {
                                let contact_name = ""
                                let contact_phone = ""
                                let contact_id = 0
                                let contact_wechat = ""
                                let contact_email = ""
                                let position = ""
                                if (item.contacts.length !== 0) {
                                    for (let i = 0; i < item.contacts.length; i++) {
                                        if (item.contacts[i].is_first) {
                                            contact_name = item.contacts[i].name
                                            contact_phone = item.contacts[i].phone
                                            contact_id = item.contacts[i].id
                                            contact_wechat = item.contacts[i].wechat
                                            contact_email = item.contacts[i].email
                                            position = item.contacts[i].position
                                        }
                                    }
                                }
                                return {
                                    ...item,
                                    contact_name: contact_name,
                                    contact_phone: contact_phone,
                                    client_level: item.client_level.name,
                                    client_status: item.client_status.name,
                                    contact_id: contact_id,
                                    member_name: item.member.username,
                                    contact_wechat: contact_wechat,
                                    contact_email: contact_email,
                                    position: position
                                }
                            })
                            this.tableList.tableInfomation = list || []
                            this.tableTwoList.tableInfomation = []
                            this.pagerOptions.totalCount = res.data.count
                        } else {
                            this.tableList.tableInfomation = []
                        }
                    } else {
                        this.tableList.tableInfomation = []
                        this.tableTwoList.tableInfomation = []
                    }
                    this.loading = false
                })
                .catch((err) => {
                    console.log(err)
                    this.tableList.tableInfomation = []
                    this.loading = false
                })
            this.tableList.tableData = this.tableData
            this.showSummary.show = true
        },
        tabsClick(tab) {
            console.log(tab.name)
            if (tab.name === "first") {
                this.is_public = true
            } else {
                this.is_public = false
            }
            this.search_map = {
                is_public: this.is_public
            }
            this.pagerOptions.currPage = 1
            this.getData()
        // 产品列表输入
        inputContent(val, prop, row) {
            this.productId = row.productId
            this.tableData.map((item) => {
                if (item.productId === row.productId) {
                    item[prop] = val
                }
            })
        },
        tabsClick() {
            // if (tab.name === "first") {
            //     this.is_public = true
            // } else {
            //     this.is_public = false
            // }
            this.$router.push({
                path:"/productManage/silkRegisterForm/addPage",
                query:{
                  activeName:this.activeName,
                  inspectID:this.inspectID,
                  id:this.registerId,
                }
              });
            this.getDetailsData()
            this.keyword = ''
        },
        // 搜索
        onFilterSearch(searchText) {
            this.search_map = {
                is_public: this.is_public,
                name: searchText
            }
            this.keyword = searchText || ''
            this.pagerOptions.currPage = 1
            this.getData()
        },
        // 纤度登记表
        // 放弃
        cancelClickOne() {
            if (this.activeName == 'first') {
                this.form = {
                    number: '',
                    finishDate: '',
                    market: '',
                    name: '',
                    spec: '',
                    workshopGroup: '',
                    circle: '',
                    startCircle: '',
                    endCircle: '',
                    position: '',
                }
                this.$refs.form.resetFields();
                this.productId = 1
                this.tableList.tableData = [{
                    productId: 1,
                    position: '',
                    fineness: 0,
                    quantity: 0,
                    sum: "",
                }]
            }
        },
        // 纤度检验表
        cancelClickTwo() {
        },
        // 保存
@@ -500,21 +578,65 @@
            this.$refs[formName].validate((valid) => {
                if (valid) {
                    let form = JSON.parse(JSON.stringify(this.form));
                    delete form.circle
                    let params = {
                        finenessList: this.tableList.tableInfomation,
                        ...form
                    }
                    saveRegister(params).then((res) => {
                        if (res.code == 200) {
                            this.$message({
                                message: "保存成功!",
                                type: "success",
                            });
                    // params.workshopGroup=Number(params.workshopGroup)
                    this.isAddloading = true
                    if (this.activeName == 'first') {
                        delete form.circle
                        let finenessList = JSON.parse(JSON.stringify(this.tableList.tableData));
                        for (let i in finenessList) {
                            delete finenessList[i].productId
                        }
                    });
                        let params = {
                            finenessList: finenessList,
                            ...form
                        }
                        // 编辑
                        if (this.inspectID) {
                            params.ID = this.form.ID?this.form.ID:Number(this.inspectID)
                        }
                        saveRegister(params).then((res) => {
                            if (res.code == 200) {
                                this.isRegisterSave=true;
                                this.$message({
                                    message: "保存成功!",
                                    type: "success",
                                });
                                this.$router.push({
                                    path:"/productManage/silkRegisterForm",
                                });
                            }
                            this.isAddloading = false
                        }).catch(() => {
                            setTimeout(() => {
                                this.isAddloading = false;
                            }, 3000);
                        })
                    } else {
                        let paramsTwo = {
                            ...form
                        }
                        // 编辑
                        if (this.registerId) {
                            paramsTwo.ID = this.form.ID?this.form.ID:Number(this.registerId)
                        }
                        saveCheck(paramsTwo).then((res) => {
                            if (res.code == 200) {
                                this.$message({
                                    message: "保存成功!",
                                    type: "success",
                                });
                            }
                            this.isAddloading = false
                        }).catch(() => {
                            setTimeout(() => {
                                this.isAddloading = false;
                            }, 3000);
                        })
                    }
                } else {
                    console.log('error submit!!');
                    return false;
                }
            });
@@ -530,8 +652,8 @@
    }
}
</script>
  <!-- Add "scoped" attribute to limit CSS to this component only -->
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss" scoped>
::v-deep {
    .el-tabs--top .el-tabs__item.is-top:nth-child(2) {
@@ -570,7 +692,7 @@
        box-sizing: border-box;
        padding: 10px 10px;
        border-radius: 12px;
        height: calc(100% - 139px - 10px);
        height: calc(100% - 139px - 10px - 20px);
        width: calc(100% - 20px);
        margin: 0 auto;
        margin-top: 10px;
@@ -605,14 +727,16 @@
                    &:nth-of-type(3n) {
                        margin-right: 0;
                    }
                    .select-width{
                        width:100%;
                    .select-width {
                        width: 100%;
                    }
                }
            }
            .list-view {
                height: calc(100% - 0px);
                min-height: 200px;
                overflow: hidden;
            }
        }
@@ -702,5 +826,4 @@
        }
    }
}
</style>
</style>
src/views/productManage/silkRegisterForm/index.vue
@@ -30,8 +30,8 @@
            <template slot="tableButton">
              <el-table-column label="操作" width="90" fixed="right">
                <template slot-scope="scope">
                  <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
                  <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button>
                  <el-button @click="handleClick(scope.row)" type="text" size="small">修改</el-button>
                  <el-button @click="delClick(scope.row.ID)" type="text" size="small">删除</el-button>
                </template>
              </el-table-column>
            </template>
@@ -46,7 +46,7 @@
</template>
<script>
import { getRegisterList, getDeleteRegister } from "@/api/productManage/silkRegisterForm.js"
import { getRegisterList,getDeleteRegister } from "@/api/productManage/silkRegisterForm.js"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
export default {
@@ -61,12 +61,7 @@
      tableList: {},
      loading: false,
      searchOptions: [],
      editConfig: {
        visible: false,
        title: "新建",
        infomation: {}
      },
      search_map: {},
      keyword: '',
      tableColumn: [
        { label: "编号", prop: "number", min: 120, default: true }, // 主题
        { label: "落丝时间", prop: "finishDate", min: 190, }, // 客户名称
@@ -91,7 +86,7 @@
  },
  created() {
    this.setTable()
    this.getData(this.search_map)
    this.getData(this.keyword)
  },
  computed: {
  },
@@ -128,27 +123,27 @@
    async getData() {
      this.loading = true
      await getRegisterList({
        search_map: this.search_map,
        keyword: this.keyword,
        page: this.pagerOptions.currPage,
        pageSize: this.pagerOptions.pageSize
      })
        .then((res) => {
          console.log(res)
          if (res.code === 200) {
            if (res.data.list && res.data.list.length > 0) {
              const list = res.data.list.map((item) => {
                return {
                  ...item,
                  client_name: item.client.name,
                  contact_name: item.contact.name,
                  client_status: item.client_status.name,
                  phone: item.contact.phone,
                  member_name: item.member.username,
                  contact_information_name: item.contact_information.name
                }
              })
              this.tableList.tableInfomation = list || []
              this.pagerOptions.totalCount = res.data.count
            if (res.data && res.data.length > 0) {
              // const list = res.data.map((item) => {
              //   return {
              //     ...item,
              //     client_name: item.client.name,
              //     contact_name: item.contact.name,
              //     client_status: item.client_status.name,
              //     phone: item.contact.phone,
              //     member_name: item.member.username,
              //     contact_information_name: item.contact_information.name
              //   }
              // })
              this.tableList.tableInfomation =  res.data || []
              this.pagerOptions.totalCount = res.count
            } else {
              this.tableList.tableInfomation = []
            }
@@ -165,7 +160,7 @@
    },
    // 搜索
    onFilterSearch(searchText) {
      this.search_map.client_name = searchText ?? ""
      this.keyword = searchText ?? ""
      this.pagerOptions.currPage = 1
      this.getData()
    },
@@ -181,23 +176,23 @@
    },
    // 编辑
    handleClick(row) {
      console.log(row)
      this.editConfig.title = "编辑"
      let config=JSON.parse(JSON.stringify(row));
      config.client_status_id=config.client_status_id?config.client_status_id:null
      config.contact_information_id=config.contact_information_id?config.contact_information_id:null
      this.editConfig.infomation = { ...config, sale_chance_name:row.sale_chance.name, sales_leads_name: "" }
      this.editConfig.visible = true
      this.$router.push({
                path:"/productManage/silkRegisterForm/addPage",
                query:{
                  id:row.ID,
                  activeName:'first'
                }
              });
    },
    // 删除
    delClick(id) {
      this.$confirm("是否确认删除?", "警告", {
      this.$confirm("请确认是否删除,删除操作不可撤销?", "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(() => {
          getDeleteRegister({ ids: id }).then((response) => {
          getDeleteRegister({ id: id }).then((response) => {
            if (response.code === 200) {
              this.$message.success("删除成功")
              this.getData()
src/views/reportManage/payableSalaryReport/index.vue
@@ -93,7 +93,7 @@
    setTable() {
      this.tableList = {
        selectIndex: true,
        fixed: true,
        isFixed: true,
        tableInfomation: [{ name: "张三" }, { name: "lisi" }, { name: "王五" }],
        allcol: [],
        showcol: this.showCol,