spring
2025-03-19 1f69274b3f62e60378d7c5dbce05357366aaf2a6
能力范围修改80%+合并装备代码
已修改12个文件
271 ■■■■ 文件已修改
src/api/business/unqualifiedHandler.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/structural/capability.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/structural/structureTestObjectPart.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Table/lims-table.vue 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/index/scroll-paging.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionTask/index.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/standard/standardLibrary/components/bindSupplierDensityDialogAsk.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/standard/standardLibrary/index.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/structural/capabilityAndLaboratory/capability/index.vue 68 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/structural/capabilityAndLaboratory/capabilityComponents/bindPartDialog.vue 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/customer/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/business/unqualifiedHandler.js
@@ -17,11 +17,11 @@
    params: query,
  });
}
//删除不合格处理
//提交OA流程
export function pushOA(query) {
  return request({
    url: "/unqualifiedHandler/pushOA",
    method: "delete",
    params: query,
    method: "post",
    data: query,
  });
}
src/api/structural/capability.js
@@ -149,7 +149,7 @@
    params: query,
  });
}
// 绑定车间
// 产品-绑定车间
export function updateWorkShop(query) {
  return request({
    url: "/capacityScope/updateWorkShop",
@@ -157,3 +157,12 @@
    data: query,
  });
}
// 对象-绑定车间
export function updateObjectWorkShop(query) {
  return request({
    url: "/capacityScope/updateObjectWorkShop",
    method: "post",
    data: query,
  });
}
src/api/structural/structureTestObjectPart.js
@@ -60,7 +60,7 @@
export function deleteProductPart(query) {
  return request({
    url: "/productPart/deleteProductPart",
    method: "post",
    method: "delete",
    params: query,
  });
}
@@ -82,3 +82,12 @@
    data: query,
  });
}
// 查询零件号修改记录
export function productPartLogList(query) {
  return request({
    url: "/productPart/productPartLogList",
    method: "get",
    params: query,
  });
}
src/components/Table/lims-table.vue
@@ -12,9 +12,11 @@
      <el-table-column v-for="(item, index) in column" :key="index" :column-key="item.columnKey"
        :filter-method="item.filterHandler" :filter-multiple="item.filterMultiple" :filtered-value="item.filteredValue"
        :filters="item.filters" :fixed="item.fixed" :label="item.label" :prop="item.prop"
                       :show-overflow-tooltip="item.dataType === 'action' || item.dataType === 'slot' ? false : true"
                       :min-width="item.dataType == 'action' ? btnWidth : getTitleWidth(item)"
        :sortable="item.sortable ? true : false" :type="item.type" :width="item.dataType == 'action' ? btnWidth : getTitleWidth(item)" align="center">
        :show-overflow-tooltip="item.dataType === 'action' || item.dataType === 'slot' ? false : true"
        :min-width="item.dataType == 'action' ? btnWidth : getTitleWidth(item)" :sortable="item.sortable ? true : false"
        :type="item.type"
        :width="item.dataType == 'action' ? btnWidth : (column.length < 6 ? 'auto' : getTitleWidth(item))"
        align="center">
        <!-- <div class="123" v-if="item.type == ''"> -->
        <template v-if="item.hasOwnProperty('colunmTemplate')" :slot="item.colunmTemplate" slot-scope="scope">
          <slot v-if="item.theadSlot" :index="index" :name="item.theadSlot" :row="scope.row" />
@@ -63,29 +65,26 @@
          </div>
          <!-- 按钮 -->
          <div v-else-if="item.dataType == 'action'"
               :style="`width:${getWidth(item.operation, scope.row)}`">
          <div v-else-if="item.dataType == 'action'" :style="`width:${getWidth(item.operation, scope.row)}`">
            <template v-for="(o, key) in item.operation">
              <el-button v-show="o.type != 'upload'" size="mini" v-if="o.showHide ? o.showHide(scope.row) : true"
                :disabled="o.disabled ? o.disabled(scope.row) : false" :icon="iconFn(o)" :plain="o.plain"
                :disabled="o.disabled ? o.disabled(scope.row) : false" :plain="o.plain"
                :style="{ color: o.name === '删除' ? '#f56c6c' : o.color }" :type="o.type | typeFn(scope.row)"
                @click="o.clickFun(scope.row)" :key="key">
                {{ o.name }}
              </el-button>
              <el-upload :action="javaApi + o.url + '?id=' + (o.uploadIdFun ? o.uploadIdFun(scope.row) : scope.row.id)"
                         :key="uploadKeys[scope.$index]"
                         ref="uploadRef"
                size="mini" :multiple="o.multiple ? o.multiple : false" :limit="1"
                :disabled="o.disabled ? o.disabled(scope.row) : false" :accept="o.accept
                :key="uploadKeys[scope.$index]" ref="uploadRef" size="mini" :multiple="o.multiple ? o.multiple : false"
                :limit="1" :disabled="o.disabled ? o.disabled(scope.row) : false" :accept="o.accept
                  ? o.accept
                  : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
                  " v-if="o.type == 'upload'" style="display: inline-block; width: 50px"
                         v-show="o.showHide ? o.showHide(scope.row) : true" :headers="uploadHeader"
                         :before-upload="(file) => beforeUpload(file, scope.$index)"
                         :on-change="(file, fileList) => handleChange(file, fileList, scope.$index)"
                         :on-error="(error, file, fileList) => onError(error, file, fileList, scope.$index)"
                         :on-success="(response, file, fileList) => handleSuccessUp(response, file, fileList, scope.$index)"
                         :on-exceed="onExceed" :show-file-list="false">
                v-show="o.showHide ? o.showHide(scope.row) : true" :headers="uploadHeader"
                :before-upload="(file) => beforeUpload(file, scope.$index)"
                :on-change="(file, fileList) => handleChange(file, fileList, scope.$index)"
                :on-error="(error, file, fileList) => onError(error, file, fileList, scope.$index)"
                :on-success="(response, file, fileList) => handleSuccessUp(response, file, fileList, scope.$index)"
                :on-exceed="onExceed" :show-file-list="false">
                <el-button :size="o.size ? o.size : 'small'" type="text"
                  :disabled="o.disabled ? o.disabled(scope.row) : false">{{ o.name }}</el-button>
              </el-upload>
@@ -302,19 +301,21 @@
          count += a.name.length;
        }
      });
      this.btnWidth = count * 15 + 50 + "px";
      this.btnWidth = count * 15 + 60 + "px";
      return count * 15 + 50 + "px";
    },
    getTitleWidth(row) {
      if (row.label.includes('时间') || row.label.includes('编号') || row.label.includes('样品名称') || row.label.includes('零件')) {
        return 160
      } else if (row.label.includes('产品')) {
        return 210
      } else if (row.label.includes('操作')) {
        return row.width
      } else {
        const span = document.createElement('span');
        span.innerText = row.label;
        document.body.appendChild(span);
        const width = `${span.offsetWidth + 50}px`;
        const width = `${span.offsetWidth + 60}px`;
        document.body.removeChild(span);
        return width;
@@ -374,7 +375,7 @@
      // 更新当前文件
      this.currentFiles[index] = file;
    },
    beforeUpload (file, index) {
    beforeUpload(file, index) {
      this.currentFiles[index] = {}
      if (file.size > 1024 * 1024 * 10) {
        this.$message.error('上传文件不超过10M');
@@ -481,9 +482,11 @@
  color: rgb(64, 158, 255);
  cursor: pointer;
}
>>>.cell {
  padding: 0 !important;
}
.cell {
  white-space: nowrap;
  overflow: hidden;
@@ -496,6 +499,7 @@
  height: 10px;
  /* 设置滚动条宽度 */
}
.lims-table .highlight-warning-row-border td:first-child {
  border-left: 4px solid #ffcd29;
}
src/components/index/scroll-paging.vue
@@ -34,7 +34,6 @@
      deep:true,
      handler(){
        this.isLoding = false
        console.log(this.isLoding)
      }
    }
  },
@@ -55,9 +54,7 @@
    onScroll(){},
    scrollFn() {
      let content = this.$refs.content
      // console.log(22222,content.scrollTop + content.clientHeight+1,content.scrollHeight)
      if (content.scrollTop + content.clientHeight+2 >= content.scrollHeight) {
        // console.log(1111,this.finishLoding)
        if(!this.finishLoding){
          this.loadMore()
        }else{
src/views/business/inspectionTask/index.vue
@@ -76,7 +76,8 @@
                <el-button link type="text" size="small">更多</el-button>
              </template>
              <div>
                <el-button :disabled="scope.row.insState != 3" style="margin-left: 10px" type="text" size="small" @click="download(scope.row)">下载报告</el-button>
                <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px" type="text" size="small" @click="download(scope.row)">下载报告</el-button>
                <el-upload ref='upload'
                           :action="javaApi + '/insReport/inReport'"
                           :before-upload="beforeUpload"
@@ -86,10 +87,13 @@
                           :show-file-list="false"
                           style="display: inline;margin: 0 6px"
                           accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'>
                  <el-button :disabled="scope.row.insState != 3" size="small" type="text">上传</el-button>
                  <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small" type="text">上传</el-button>
                </el-upload>
                <el-button :disabled="scope.row.insState != 3" type="text" size="small" @click="handleRestore(scope.row)">还原</el-button>
                <el-button :disabled="scope.row.insState != 3" type="text" size="small" @click="handleIssued(scope.row)">查看报告</el-button>
                <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" @click="handleRestore(scope.row)">还原</el-button>
                <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" @click="handleIssued(scope.row)">查看报告</el-button>
              </div>
            </el-popover>
          </div>
@@ -204,11 +208,28 @@
    <viewManHourDia ref="viewManHourDia"></viewManHourDia>
    <!--不合格复测查看弹框-->
    <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible" @closeRetestLook="closeRetestLook"></un-pass-retest-result>
    <!--报告查看-->
    <el-dialog title="报告查看" :visible.sync="issuedVisible" width="80vw" :modal-append-to-body="false"
               :fullscreen="fullscreen">
      <div class="full-screen">
        <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen = true;"
           v-if="!fullscreen"></i>
        <img src="@/assets/images/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen = false;">
      </div>
      <div style="height: 80vh;" v-if="issuedVisible">
        <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" />
      </div>
    </el-dialog>
    <el-dialog title="查看附件" :visible.sync="lookDialogVisible" width="800px" top="5vh" fullscreen>
      <filePreview v-if="lookDialogVisible" :fileUrl="javaApi + '/word/' + currentInfo.tempUrlPdf" :currentFile="{}"
                   style="max-height: 90vh;overflow-y: auto;" />
    </el-dialog>
  </div>
</template>
<script>
import { getYearAndMonthAndDays } from "@/utils/date";
import EditInspectionItem from "./components/EditInspectionItem.vue";
import limsTable from "@/components/Table/lims-table.vue";
import viewManHourDia from "./components/viewManHourDia.vue"
@@ -228,9 +249,12 @@
import { mapGetters } from "vuex";
import {getRetestResult} from "@/api/business/rawMaterialOrder";
import {upReportUrl} from "@/api/business/insReport";
import onlyoffice from "@/components/Onlyoffice/onlyoffice.vue";
import filePreview from "@/components/Preview/filePreview.vue";
export default {
  name: 'InspectionTask',
  components: {
    filePreview, onlyoffice,
    EditInspectionItem,
    limsTable,
    viewManHourDia,
@@ -242,6 +266,10 @@
  },
  data() {
    return {
      issuedVisible: false,
      fullscreen: false,
      lookDialogVisible: false,
      option: null,
      InspectionKey: 1,
      bindDialogVisible: false,
      bindAddDialogVisible: false,
@@ -646,6 +674,7 @@
    },
    // 查看报告
    handleIssued(row) {
      console.log('================')
      // todo: 查看报告组件
      this.currentInfo = row;
      let fileName = row.url
@@ -962,6 +991,7 @@
      if (response.code == 200) {
        this.$refs.upload.clearFiles()
        this.$message.success("上传成功");
        this.refreshTable()
      } else {
        this.$message.error(response.message);
      }
src/views/index.vue
@@ -353,7 +353,6 @@
        month: month,
      }
      currentUserWorkHourCount(params).then(res => {
        console.log(res)
        this.totalHour = res.data.totalHour
        this.materialPieSeries[0].data[0].value = res.data.subsidiaryHour
        this.materialPieSeries[0].data[1].value = res.data.yieldHour
src/views/standard/standardLibrary/components/bindSupplierDensityDialogAsk.vue
@@ -162,7 +162,6 @@
    };
  },
  mounted() {
    console.log(22222, this.currentRow);
    this.entity.productListId = this.currentRow.id;
    this.searchTableData();
  },
src/views/standard/standardLibrary/index.vue
@@ -17,7 +17,8 @@
          height: calc(100% - 30px);
          overflow-y: scroll;
          scrollbar-width: none;
        " @node-click="handleNodeClick" @node-drop="handleDrop">
        " @node-click="handleNodeClick"
               @node-drop="handleDrop">
        <div slot-scope="{ node, data }" class="custom-tree-node">
          <el-row style="width: 100%">
            <el-col :class="{ sort: node.level > 3 }" :span="19" :title="data.label" style="text-align: left">
@@ -65,8 +66,9 @@
      </el-row>
      <el-row v-loading="tableLoad" class="standard_table">
        <el-table ref="standard" :data="standardList" class="el-table" header-row-class-name="header-class" height="220"
          :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border highlight-current-row
          style="width: 100%; height: 220px !important" tooltip-effect="dark" @row-click="rowClick">
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
          highlight-current-row style="width: 100%; height: 220px !important" tooltip-effect="dark"
          @row-click="rowClick">
          <el-table-column label="标准编号" prop="code" show-overflow-tooltip width="200">
            <template slot-scope="scope">
              <span style="color: red; font-size: 14px">{{
@@ -80,10 +82,11 @@
      </el-row>
      <el-row v-loading="tableLoad2" class="product_table">
        <el-table id="templateParamTable" ref="productTable" v-loading="productTableLoading" :data="productList"
          :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border :fit="true"
          :row-class-name="tableRowClassName" class="productTable" header-row-class-name="header-class" height="100%"
          row-key="id" stripe style="width: 100%" tooltip-effect="dark" @select="upProductSelect"
          @selection-change="handleSelectionChange" @select-all="handleAll">
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
          :fit="true" :row-class-name="tableRowClassName" class="productTable"
          header-row-class-name="header-class" height="100%" row-key="id" stripe style="width: 100%"
          tooltip-effect="dark" @select="upProductSelect" @selection-change="handleSelectionChange"
          @select-all="handleAll">
          <el-table-column type="selection" width="50"> </el-table-column>
          <el-table-column label="产品" min-width="100" prop="sample" show-overflow-tooltip></el-table-column>
          <el-table-column label="型号" min-width="100" prop="model" show-overflow-tooltip></el-table-column>
@@ -173,8 +176,8 @@
            <template slot-scope="scope">
              <el-button type="text" @click="sectionUp(scope.row)" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct'])
                ">区间设置</el-button>
              <!-- <el-button type="text" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct'])
                " @click="bindSupplierDensitySecond(scope.row)">绑定厂家</el-button> -->
              <el-button type="text" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct'])
                " @click="bindSupplierDensitySecond(scope.row)">绑定厂家</el-button>
            </template>
          </el-table-column>
        </el-table>
@@ -222,7 +225,7 @@
    <el-dialog :close-on-click-modal="false" :visible.sync="sectionUpDia" title="区间设置" width="80%">
      <div class="body" style="padding: 5px 0">
        <el-table :data="sectionList" border height="350px" style="width: 100%"
          :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }">
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }">
          <el-table-column align="center" label="序号" type="index" width="70">
          </el-table-column>
          <el-table-column align="center" label="区间">
@@ -495,7 +498,7 @@
      }
    },
    // 调用tree过滤方法 中文英过滤
    filterNode(value, data, node) {
    filterNode (value, data, node) {
      if (!value) {    //如果数据为空,则返回true,显示所有的数据项
        return true
      }
@@ -504,7 +507,7 @@
      return this.chooseNode(val, data, node) // 调用过滤二层方法
    },
    // 过滤父节点 / 子节点 (如果输入的参数是父节点且能匹配,则返回该节点以及其下的所有子节点;如果参数是子节点,则返回该节点的父节点。name是中文字符,enName是英文字符.
    chooseNode(value, data, node) {
    chooseNode (value, data, node) {
      if (data.label.indexOf(value) !== -1) {
        return true
      }
src/views/structural/capabilityAndLaboratory/capability/index.vue
@@ -126,7 +126,7 @@
import {
  addProduct,
  delItemParameter, delProduct, delTestObject, selectItemParameterList, selectProductListByObjectId,
  selectTestObjectList, upProduct, updateWorkShop
  selectTestObjectList, upProduct, updateWorkShop, updateObjectWorkShop
} from "@/api/structural/capability";
import limsTable from "@/components/Table/lims-table.vue";
import EditForm from "@/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue";
@@ -244,6 +244,7 @@
            }
          },
        },
        { label: '车间名称', prop: 'workShopName' },
        { label: '创建人', prop: 'createUserName' },
        { label: '更新人', prop: 'updateUserName' },
        { label: '创建时间', prop: 'createTime' },
@@ -281,6 +282,16 @@
              clickFun: (row) => {
                this.bindPartFirst(row);
              },
            },
            {
              name: '车间绑定',
              type: 'text',
              clickFun: (row) => {
                this.bindWokshop1(row);
              },
              disabled: (row) => {
                return row.objectType != '原材料'
              }
            },
          ]
        }
@@ -674,9 +685,17 @@
    bindPartSecond(row) {
      this.bindPart(row, 1)
    },
    // 产品-车间绑定
    bindWokshop(row) {
      this.workshopForm.workShopId = row.workShopId
      this.currentProduct = row;
      this.workshopVisible = true
    },
    // 对象-车间绑定
    bindWokshop1(row) {
      this.$set(this.workshopForm, 'workShopId', row.workShopId)
      this.currentProduct = {};
      this.currentObj = row;
      this.workshopVisible = true
    },
    // 厂家密度绑定
@@ -720,20 +739,39 @@
      this.$refs['workshopForm'].validate((valid) => {
        if (valid) {
          this.uploading = true
          updateWorkShop({
            id: this.currentProduct.id,
            workShopId: this.workshopForm.workShopId,
            name: this.workshopList.find(m => m.id == this.workshopForm.workShopId).name
          }).then(res => {
            this.uploading = false
            if (res.code === 200) {
              this.$message.success('新增成功')
              this.getProductList();
              this.workshopVisible = false
            }
          }).catch(err => {
            this.uploading = false
          })
          if (this.currentProduct.id) {
            // 产品绑定车间
            updateWorkShop({
              id: this.currentProduct.id ? this.currentProduct.id : null,
              workShopId: this.workshopForm.workShopId,
              workShopName: this.workshopList.find(m => m.id == this.workshopForm.workShopId).name,
            }).then(res => {
              this.uploading = false
              if (res.code === 200) {
                this.$message.success('绑定成功')
                this.getProductList();
                this.workshopVisible = false
              }
            }).catch(err => {
              this.uploading = false
            })
          } else {
            // 对象绑定车间
            updateObjectWorkShop({
              id: this.currentObj.id ? this.currentObj.id : null,
              workShopId: this.workshopForm.workShopId,
              workShopName: this.workshopList.find(m => m.id == this.workshopForm.workShopId).name,
            }).then(res => {
              this.uploading = false
              if (res.code === 200) {
                this.$message.success('绑定成功')
                this.refreshTable()
                this.workshopVisible = false
              }
            }).catch(err => {
              this.uploading = false
            })
          }
        }
      })
    }
src/views/structural/capabilityAndLaboratory/capabilityComponents/bindPartDialog.vue
@@ -38,10 +38,10 @@
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="closeBindPartDialog">取 消</el-button>
        <el-button type="primary" @click="submitBind" :loading="bindLoad">确 认</el-button>
        <el-button type="primary" @click="submitBind">确 认</el-button>
      </span>
    </el-dialog>
    <el-dialog title="修改记录" :visible.sync="editItem" width="600px">
    <el-dialog title="修改记录" :visible.sync="editItem" width="900px">
      <div class="body" v-if="editItem">
        <lims-table :tableData="editList" :column="editColumn" height="460px" :tableLoading="tableLoading0" :key="2"
          :page="editPage" @pagination="editPagination"></lims-table>
@@ -54,9 +54,16 @@
import limsTable from "@/components/Table/lims-table.vue";
import {
  addProductPart,
  addTestObjectPart, deleteProductPart, deleteTestObjectPart,
  addTestObjectPart,
  deleteProductPart,
  deleteTestObjectPart,
  selectByProductId,
  selectByTestObjectId, updateProductPart, updateTestObjectPart, inspectionItems, productPartReview
  selectByTestObjectId,
  updateProductPart,
  updateTestObjectPart,
  inspectionItems,
  productPartReview,
  productPartLogList
} from "@/api/structural/structureTestObjectPart";
export default {
@@ -93,6 +100,7 @@
        { label: '零件号', prop: 'partNo' },
        { label: '颜色', prop: 'color' },
        { label: '色标', prop: 'colorCode' },
        { label: '进厂检验项', prop: 'inspectionItem' },
        {
          label: '状态', prop: 'review',
          dataType: "tag",
@@ -136,7 +144,7 @@
                    productPartReview({ id: row.id }).then((res) => {
                      if (res.code == 200) {
                        this.$message.success("复核通过");
                        this.getList()();
                        this.getList();
                      }
                    });
                  })
@@ -207,12 +215,23 @@
      editItem: false,
      editList: [],
      editColumn: [
        { label: '零件号', prop: 'inspectionItem' },
        { label: '颜色', prop: 'inspectionItemSubclass' },
        { label: '色标', prop: 'ask' },
        { label: '进厂检验项', prop: 'askTell' },
        { label: '修改时间', prop: 'method' },
        { label: '修改人', prop: 'method' },
        { label: '零件号', prop: 'partNo' },
        { label: '颜色', prop: 'color' },
        { label: '色标', prop: 'colorCode' },
        { label: '进厂检验项', prop: 'inspectionItem' },
        {
          label: '状态', prop: 'review',
          dataType: "tag",
          formatType: (params) => {
            if (params == '待复核') {
              return 'danger'
            } else {
              return 'success'
            }
          },
        },
        { label: '修改时间', prop: 'operTime' },
        { label: '修改人', prop: 'operName' },
      ],
      editPage: {
        total: 0,
@@ -220,6 +239,7 @@
        current: 0,
      },
      tableLoading0: false,
      currentPart: {},//当前零件
      // mutilSelect: []
    }
  },
@@ -240,11 +260,21 @@
      })
    },
    // 修改记录
    lookList() {
    lookList(row) {
      this.currentPart = row;
      this.editItem = true;
      this.getEditList()
    },
    getEditList() { },
    getEditList() {
      this.tableLoading0 = true
      productPartLogList({ id: this.currentPart.id, ...this.editPage }).then(res => {
        this.tableLoading0 = false
        if (res.code == 200) {
          this.editList = res.data.records
          this.editPage.total = res.data.total
        }
      })
    },
    editPagination() {
      this.editPage.current = page;
      this.editPage.size = limit;
@@ -282,6 +312,8 @@
      if (type === 'edit') {
        this.bindPartData = this.HaveJson(row)
        this.bindPartData.inspectionItem = this.bindPartData.inspectionItem ? this.bindPartData.inspectionItem.split(',') : []
      } else {
        this.bindPartData = {}
      }
    },
    // 提交零件绑定
@@ -294,12 +326,14 @@
            color: this.bindPartData.color,
            colorCode: this.bindPartData.colorCode,
            partNo: this.bindPartData.partNo,
            id: this.bindPartData.id,
            inspectionItem: this.bindPartData.inspectionItem && this.bindPartData.inspectionItem.length > 0 ? this.bindPartData.inspectionItem.join(',') : ''
          } : {
            productId: this.currentRow.id,
            color: this.bindPartData.color,
            colorCode: this.bindPartData.colorCode,
            partNo: this.bindPartData.partNo,
            id: this.bindPartData.id,
            inspectionItem: this.bindPartData.inspectionItem && this.bindPartData.inspectionItem.length > 0 ? this.bindPartData.inspectionItem.join(',') : ''
          }
          this.bindLoad = true
@@ -319,6 +353,7 @@
              })
            } else {
              addProductPart(params).then(res => {
                this.bindLoad = false
                if (res.code === 200) {
                  this.resetForm('bindPartData')
                  this.addBindPartDialog = false
src/views/system/customer/index.vue
@@ -106,7 +106,7 @@
      ],
      page: {
        total:0,
        size:10,
        size:20,
        current:0
      },
      tableLoading: false,