spring
2025-03-21 9e0426e8e28dd530663cdbe80f258d1622cc9e7d
原材料变更为原辅料,新增基础配置包材
已修改18个文件
1031 ■■■■ 文件已修改
src/api/business/finishedProductSampling.js 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/business/materialInspection.js 112 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/business/rawMaterialOrder.js 322 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/statisticalCharts/dataAnalysis.js 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionReview/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionTask/index.vue 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionTask/inspection.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/materialOrder/customsInspection.vue 213 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/materialOrder/index.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/productOrder/index.vue 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/rawMaterialInspection/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/reportPreparation/index.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/unpass/components/unPassDialog.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/statisticalCharts/itemInspectionAnalysis/index.vue 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/statisticalCharts/qualificationRateStatistics/index.vue 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/structural/capabilityAndLaboratory/capability/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/structural/capabilityAndLaboratory/capabilityComponents/bindPartDialog.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/business/finishedProductSampling.js
@@ -1,35 +1,35 @@
// 成品抽样详情页面相关接口
import request from '@/utils/request'
import request from "@/utils/request";
// 原材料根据id报检
// 原辅料根据id报检
export function getIfsStock(query) {
  return request({
    url: '/finishProductSpotCheck/getIfsStock',
    method: 'post',
    data: query
  })
    url: "/finishProductSpotCheck/getIfsStock",
    method: "post",
    data: query,
  });
}
// 季度抽检查看详情
export function getQuarter(query) {
  return request({
    url: '/finishProductSpotCheck/getQuarter',
    method: 'get',
    params: query
  })
    url: "/finishProductSpotCheck/getQuarter",
    method: "get",
    params: query,
  });
}
// 提交季度抽样
export function addQuarter(query) {
  return request({
    url: '/finishProductSpotCheck/addQuarter',
    method: 'post',
    data: query
  })
    url: "/finishProductSpotCheck/addQuarter",
    method: "post",
    data: query,
  });
}
// 编辑季度检验
export function updateQuarterOnOrder(query) {
  return request({
    url: '/finishProductSpotCheck/updateQuarterOnOrder',
    method: 'post',
    data: query
  })
    url: "/finishProductSpotCheck/updateQuarterOnOrder",
    method: "post",
    data: query,
  });
}
src/api/business/materialInspection.js
@@ -1,99 +1,99 @@
// 原材料报检页面相关接口
import request from '@/utils/request'
// 原辅料报检页面相关接口
import request from "@/utils/request";
// 查询IFS订单-待报检
export function getIfsOrder(query) {
  return request({
    url: 'insOrder/getIfsOrder',
    method: 'get',
  })
    url: "insOrder/getIfsOrder",
    method: "get",
  });
}
// 查询IFS订单-待报检
export function getWarehouseSubmit(query) {
  return request({
    url: '/rawMaterialOrder/getWarehouseSubmit',
    method: 'get',
    params: query
  })
    url: "/rawMaterialOrder/getWarehouseSubmit",
    method: "get",
    params: query,
  });
}
// 查询原材料报检-已完成
// 查询原辅料报检-已完成
export function getIfsByFinish(query) {
  return request({
    url: '/rawMaterialOrder/getIfsByFinish',
    method: 'get',
    params: query
  })
    url: "/rawMaterialOrder/getIfsByFinish",
    method: "get",
    params: query,
  });
}
// 查询原材料报检信息-全部
// 查询原辅料报检信息-全部
export function getIfsByAll(query) {
  return request({
    url: '/rawMaterialOrder/getIfsByAll',
    method: 'get',
    params: query
  })
    url: "/rawMaterialOrder/getIfsByAll",
    method: "get",
    params: query,
  });
}
// 原材料根据id取消报检
// 原辅料根据id取消报检
export function revokeInspectionReport(query) {
  return request({
    url: '/rawMaterialOrder/revokeInspectionReport',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/revokeInspectionReport",
    method: "post",
    data: query,
  });
}
// 放行数据
export function concessionRelease(query) {
  return request({
    url: '/rawMaterialOrder/concessionRelease',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/concessionRelease",
    method: "post",
    data: query,
  });
}
// 提前入库
export function advancedGodown(query) {
  return request({
    url: '/rawMaterialOrder/advancedGodown',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/advancedGodown",
    method: "post",
    data: query,
  });
}
// 批量报检
export function inspectionReport(query) {
  return request({
    url: '/rawMaterialOrder/inspectionReport',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/inspectionReport",
    method: "post",
    data: query,
  });
}
// 原材料根据手动报检
// 原辅料根据手动报检
export function addIfsInventoryQuantity(query) {
  return request({
    url: '/rawMaterialOrder/addIfsInventoryQuantity',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/addIfsInventoryQuantity",
    method: "post",
    data: query,
  });
}
// 原材料根据id报检
// 原辅料根据id报检
export function inspectionReportOne(query) {
  return request({
    url: '/rawMaterialOrder/inspectionReportOne',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/inspectionReportOne",
    method: "post",
    data: query,
  });
}
// 原材料报检删除
// 原辅料报检删除
export function delIfsInventory(query) {
  return request({
    url: '/rawMaterialOrder/delIfsInventory',
    method: 'delete',
    params: query
  })
    url: "/rawMaterialOrder/delIfsInventory",
    method: "delete",
    params: query,
  });
}
// 原材料报检全部导出
// 原辅料报检全部导出
export function rawAllExport(query) {
  return request({
    url: '/rawMaterialOrder/rawAllExport',
    method: 'get',
    url: "/rawMaterialOrder/rawAllExport",
    method: "get",
    data: query,
    responseType: "blob"
  })
    responseType: "blob",
  });
}
src/api/business/rawMaterialOrder.js
@@ -1,297 +1,297 @@
// 原材料下单页面相关接口
import request from '@/utils/request'
// 原辅料下单页面相关接口
import request from "@/utils/request";
// 查询原材料下单-待下单
// 查询原辅料下单-待下单
export function getPurchaseOrder(query) {
  return request({
    url: '/rawMaterialOrder/getPurchaseOrder',
    method: 'get',
    params: query
  })
    url: "/rawMaterialOrder/getPurchaseOrder",
    method: "get",
    params: query,
  });
}
// 查询IFS订单-待检验
export function getIfsByStateOne(query) {
  return request({
    url: '/rawMaterialOrder/getIfsByStateOne',
    method: 'get',
    params: query
  })
    url: "/rawMaterialOrder/getIfsByStateOne",
    method: "get",
    params: query,
  });
}
// 查询原材料下单-已检验
// 查询原辅料下单-已检验
export function getIfsByOver(query) {
  return request({
    url: '/rawMaterialOrder/getIfsByOver',
    method: 'get',
    params: query
  })
    url: "/rawMaterialOrder/getIfsByOver",
    method: "get",
    params: query,
  });
}
// 查询原材料下单-全部
// 查询原辅料下单-全部
export function getIfsByAll(query) {
  return request({
    url: '/rawMaterialOrder/getIfsByAll',
    method: 'get',
    params: query
  })
    url: "/rawMaterialOrder/getIfsByAll",
    method: "get",
    params: query,
  });
}
// 查询季度检验
export function getIfsByQuarter(query) {
  return request({
    url: '/rawMaterialOrder/getIfsByQuarter',
    method: 'get',
    params: query
  })
    url: "/rawMaterialOrder/getIfsByQuarter",
    method: "get",
    params: query,
  });
}
// 获取当前登录的客户信息
export function getUserNow(query) {
  return request({
    url: '/system/newUser/getUserNow',
    method: 'get',
  })
    url: "/system/newUser/getUserNow",
    method: "get",
  });
}
// 获取标准树下标准方法枚举
export function selectStandardMethodEnum(query) {
  return request({
    url: '/standardTree/selectStandardMethodEnum',
    method: 'get',
  })
    url: "/standardTree/selectStandardMethodEnum",
    method: "get",
  });
}
// 查询检验下单内容详情
export function getInsOrder(query) {
  return request({
    url: '/insOrder/getInsOrder',
    method: 'get',
    params: query
  })
    url: "/insOrder/getInsOrder",
    method: "get",
    params: query,
  });
}
// 原材料下单直接免检免检接口
// 原辅料下单直接免检免检接口
export function notificationRawOrder(query) {
  return request({
    url: '/rawMaterialOrder/notificationRawOrder',
    method: 'get',
    params: query
  })
    url: "/rawMaterialOrder/notificationRawOrder",
    method: "get",
    params: query,
  });
}
// 查询
export function selectStandardTreeListByPartNo(query) {
  return request({
    url: '/rawMaterialOrder/selectStandardTreeListByPartNo',
    method: 'get',
    params: query
  })
    url: "/rawMaterialOrder/selectStandardTreeListByPartNo",
    method: "get",
    params: query,
  });
}
// 删除原材料模板
// 删除原辅料模板
export function delRawMaterOrderTemplate(query) {
  return request({
    url: '/rawMaterialOrder/delRawMaterOrderTemplate',
    method: 'delete',
    params: query
  })
    url: "/rawMaterialOrder/delRawMaterOrderTemplate",
    method: "delete",
    params: query,
  });
}
// 根据id查询模板内容
export function selectRawMaterOrderTemplateById(query) {
  return request({
    url: '/rawMaterialOrder/selectRawMaterOrderTemplateById',
    method: 'get',
    params: query
  })
    url: "/rawMaterialOrder/selectRawMaterOrderTemplateById",
    method: "get",
    params: query,
  });
}
// 原材料模板列表查询
// 原辅料模板列表查询
export function selectRawMaterOrderTemplate(query) {
  return request({
    url: '/rawMaterialOrder/selectRawMaterOrderTemplate',
    method: 'get',
    params: query
  })
    url: "/rawMaterialOrder/selectRawMaterOrderTemplate",
    method: "get",
    params: query,
  });
}
// 原材料新增模板
// 原辅料新增模板
export function addRawMaterOrderTemplate(query) {
  return request({
    url: '/rawMaterialOrder/addRawMaterOrderTemplate',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/addRawMaterOrderTemplate",
    method: "post",
    data: query,
  });
}
// 免检
export function addExemptionOrder(query) {
  return request({
    url: '/rawMaterialOrder/addExemptionOrder',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/addExemptionOrder",
    method: "post",
    data: query,
  });
}
// 通过标准树查询对应的检验项目
export function selectStandardProductList(query) {
  return request({
    url: '/standardTree/selectStandardProductList',
    method: 'post',
    data: query
  })
    url: "/standardTree/selectStandardProductList",
    method: "post",
    data: query,
  });
}
// 根据标准树进行标准查询
export function selectsStandardMethodByFLSSM(query) {
  return request({
    url: '/standardTree/selectsStandardMethodByFLSSM',
    method: 'get',
    params: query
  })
    url: "/standardTree/selectsStandardMethodByFLSSM",
    method: "get",
    params: query,
  });
}
// 添加检验下单数据
export function addInsOrder(query) {
  return request({
    url: '/insOrder/addInsOrder',
    method: 'post',
    data: query
  })
    url: "/insOrder/addInsOrder",
    method: "post",
    data: query,
  });
}
// 铜单丝下单
export function addRawCopperOrder(query) {
  return request({
    url: '/rawMaterialOrder/addRawCopperOrder',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/addRawCopperOrder",
    method: "post",
    data: query,
  });
}
// 铜单丝下单进厂检验免检接口
export function addRawCopperOrderExemptionOrder(query) {
  return request({
    url: '/rawMaterialOrder/addRawCopperOrderExemptionOrder',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/addRawCopperOrderExemptionOrder",
    method: "post",
    data: query,
  });
}
// 获取标准树
export function selectStandardTreeList2() {
  return request({
    url: '/standardTree/selectStandardTreeList2',
    method: 'get'
  })
    url: "/standardTree/selectStandardTreeList2",
    method: "get",
  });
}
// 查询检验单模板
export function selectInsOrderTemplate(query) {
  return request({
    url: '/insOrder/selectInsOrderTemplate',
    method: 'get',
    params: query
  })
    url: "/insOrder/selectInsOrderTemplate",
    method: "get",
    params: query,
  });
}
// 放行数据
export function concessionRelease(query) {
  return request({
    url: '/rawMaterialOrder/concessionRelease',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/concessionRelease",
    method: "post",
    data: query,
  });
}
// 原材料下单季度撤销
// 原辅料下单季度撤销
export function repealQuarterRawOrder(query) {
  return request({
    url: '/rawMaterialOrder/repealQuarterRawOrder',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/repealQuarterRawOrder",
    method: "post",
    data: query,
  });
}
// 原材料下单直接免检免检接口
// 原辅料下单直接免检免检接口
export function rawOrderRelease(query) {
  return request({
    url: '/rawMaterialOrder/rawOrderRelease',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/rawOrderRelease",
    method: "post",
    data: query,
  });
}
// 原材料根据id取消报检
// 原辅料根据id取消报检
export function revokeInspectionReport(query) {
  return request({
    url: '/rawMaterialOrder/revokeInspectionReport',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/revokeInspectionReport",
    method: "post",
    data: query,
  });
}
// 原材料下单出厂撤销
// 原辅料下单出厂撤销
export function repealEnterRawOrder(query) {
  return request({
    url: '/rawMaterialOrder/repealEnterRawOrder',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/repealEnterRawOrder",
    method: "post",
    data: query,
  });
}
// 原材料报检全部导出
// 原辅料报检全部导出
export function rawAllExport(query) {
  return request({
    url: '/rawMaterialOrder/rawAllExport',
    method: 'get',
    url: "/rawMaterialOrder/rawAllExport",
    method: "get",
    data: query,
    responseType: "blob"
  })
    responseType: "blob",
  });
}
// 原材料下单出厂撤销
// 原辅料下单出厂撤销
export function updateEntrustCode(query) {
  return request({
    url: '/insOrder/updateEntrustCode',
    method: 'post',
    data: query
  })
    url: "/insOrder/updateEntrustCode",
    method: "post",
    data: query,
  });
}
// 原材料下单出厂撤销
// 原辅料下单出厂撤销
export function printLabel(query) {
  return request({
    url: '/rawMaterialOrder/printLabel',
    method: 'post',
    data: query
  })
    url: "/rawMaterialOrder/printLabel",
    method: "post",
    data: query,
  });
}
// 通过检验单查询检验数据(数据查看)
export function selectSampleAndProductByOrderId(query) {
  return request({
    url: '/insOrder/selectSampleAndProductByOrderId',
    method: 'get',
    params: query
  })
    url: "/insOrder/selectSampleAndProductByOrderId",
    method: "get",
    params: query,
  });
}
// 查看不合格复测数据
export function getRetestResult(query) {
  return request({
    url: '/insOrder/getRetestResult',
    method: 'get',
    params: query
  })
    url: "/insOrder/getRetestResult",
    method: "get",
    params: query,
  });
}
// 查看检验单下的附件列表
export function getFileList(query) {
  return request({
    url: '/insOrderPlan/getFileList',
    method: 'get',
    params: query
  })
    url: "/insOrderPlan/getFileList",
    method: "get",
    params: query,
  });
}
// 检验单下的附件列表-附件下载
export function downFile(query) {
  return request({
    url: '/insOrderPlan/downFile',
    method: 'get',
    params: query
  })
    url: "/insOrderPlan/downFile",
    method: "get",
    params: query,
  });
}
// 检验单下的附件列表-删除
export function delFile(query) {
  return request({
    url: '/insOrderPlan/delfile',
    method: 'delete',
    params: query
  })
    url: "/insOrderPlan/delfile",
    method: "delete",
    params: query,
  });
}
// 检验单下的附件列表-上传
export function uploadFile(query) {
  return request({
    url: '/insOrderPlan/uploadFile',
    method: 'delete',
    params: query
  })
    url: "/insOrderPlan/uploadFile",
    method: "delete",
    params: query,
  });
}
// 保存不合格复测数据
export function saveUnqualifiedContext(query) {
  return request({
    url: '/insOrderPlan/saveUnqualifiedContext',
    method: 'delete',
    params: query
  })
    url: "/insOrderPlan/saveUnqualifiedContext",
    method: "delete",
    params: query,
  });
}
src/api/statisticalCharts/dataAnalysis.js
@@ -9,7 +9,7 @@
    params: query,
  });
}
//原材料统计
//原辅料统计
export function getRawPassRateByCake(query) {
  return request({
    url: "/dataAnalysis/getRawPassRateByCake",
@@ -31,7 +31,7 @@
    method: "get",
  });
}
//查询原材料项检分析
//查询原辅料项检分析
export function getRawProductAnalysis(query) {
  return request({
    url: "/dataAnalysis/getRawProductAnalysis",
@@ -39,7 +39,7 @@
    data: query,
  });
}
//查询原材料项检分析合格率
//查询原辅料项检分析合格率
export function getRawProductAnalysisRawPass(query) {
  return request({
    url: "/dataAnalysis/getRawProductAnalysisRawPass",
@@ -47,7 +47,7 @@
    data: query,
  });
}
//查询原材料项检分析列表
//查询原辅料项检分析列表
export function getRawProductAnalysisAllList(query) {
  return request({
    url: "/dataAnalysis/getRawProductAnalysisAllList",
@@ -63,7 +63,7 @@
    params: query,
  });
}
//查询原材料项检和厂家数据对比
//查询原辅料项检和厂家数据对比
export function getRawSupplierCompare(query) {
  return request({
    url: "/dataAnalysis/getRawSupplierCompare",
src/router/index.js
@@ -105,22 +105,22 @@
// 动态路由,基于用户权限动态去加载
export const dynamicRoutes = [
  {
    // 原材料下单
    // 原辅料下单
    path: "/materialOrder",
    component: Layout,
    hidden: true,
    permissions: ["business:order"],
    children: [
      {
        // 原材料下单
        // 原辅料下单
        path: "customsInspection",
        component: () =>
          import("@/views/business/materialOrder/customsInspection"),
        name: "CustomsInspection",
        meta: {
          title: "原材料下单详情",
          title: "原辅料下单详情",
          activeMenu: "/business/materialOrder",
          keepAlive: true
          keepAlive: true,
        },
      },
      {
@@ -128,7 +128,11 @@
        path: "copperOrder",
        component: () => import("@/views/business/materialOrder/copperOrder"),
        name: "CopperOrder",
        meta: { title: "铜材料下单", activeMenu: "/business/materialOrder",keepAlive: true },
        meta: {
          title: "铜材料下单",
          activeMenu: "/business/materialOrder",
          keepAlive: true,
        },
      },
    ],
  },
@@ -145,7 +149,11 @@
        component: () =>
          import("@/views/business/productOrder/components/add.vue"),
        name: "Add",
        meta: { title: "成品下单详情", activeMenu: "/business/productOrder",keepAlive: true },
        meta: {
          title: "成品下单详情",
          activeMenu: "/business/productOrder",
          keepAlive: true,
        },
      },
    ],
  },
@@ -161,7 +169,11 @@
        path: "inspection",
        component: () => import("@/views/business/inspectionTask/inspection"),
        name: "inspection",
        meta: { title: "检验单详情", activeMenu: "/business/inspectionTask", keepAlive: false },
        meta: {
          title: "检验单详情",
          activeMenu: "/business/inspectionTask",
          keepAlive: false,
        },
      },
    ],
  },
src/views/business/inspectionReview/index.vue
@@ -98,7 +98,7 @@
            if (params == 0) {
              return "成品下单";
            } else {
              return "原材料下单";
              return "原辅料下单";
            }
          },
        },
@@ -237,11 +237,11 @@
      sonLaboratoryList: [],
      typeSourceList: [
        { label: '成品下单', value: 0 },
        { label: '原材料下单', value: 1 },
        { label: '原辅料下单', value: 1 },
      ],
      isCopper: null,
      customsInspection: {},
      typeSource: null,// 0:成品下单,1:原材料下单
      typeSource: null,// 0:成品下单,1:原辅料下单
      showInfoDialog: false, // 产业链信息查看
      issuedVisible: false,
      fullscreen: false,
@@ -313,7 +313,7 @@
      this.currentId = parseInt(row.id)
      switch (row.isCopper) {
        case 0:
          // 原材料
          // 原辅料
          this.$router.push({
            path: "/materialOrder/customsInspection", query: {
              customsInspection: row,
src/views/business/inspectionTask/index.vue
@@ -49,8 +49,7 @@
          </el-row>
        </div>
        <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading"
          :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination"
          key="tableData0">
          :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination" key="tableData0">
          <div slot="action" slot-scope="scope">
            <el-button size="small" type="text" @click="handleDataLook(scope.row)">数据查看</el-button>
            <el-button type="text" size="small"
@@ -61,15 +60,13 @@
                  scope.row.insState == 3 ||
                  scope.row.insState == 5 ||
                  (scope.row.userName && !scope.row.userName.includes(nickName))
                )"
                       @click="handleInspection(scope.row)">检验</el-button>
            )" @click="handleInspection(scope.row)">检验</el-button>
            <el-button type="text" size="small" :disabled="(
                  scope.row.userName == null ||
                  scope.row.insState == 5 ||
                  scope.row.insState == 3 ||
                  (scope.row.userName && !scope.row.userName.includes(nickName))
                )"
                       @click="handleConnect(scope.row)">交接</el-button>
            )" @click="handleConnect(scope.row)">交接</el-button>
            <el-button type="text" size="small" @click="viewInspectInfo(scope.row)">原始记录</el-button>
            <el-popover placement="bottom" trigger="hover" style="margin-left: 6px">
              <template #reference>
@@ -77,23 +74,22 @@
              </template>
              <div>
                <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"
                           :data="{id: scope.row.insReportId}"
                           :headers="uploadHeader" :on-error="onError"
                           :on-success="handleSuccessUp"
                           :show-file-list="false"
                           style="display: inline;margin: 0 6px"
                  (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"
                  :data="{ id: scope.row.insReportId }" :headers="uploadHeader" :on-error="onError"
                  :on-success="handleSuccessUp" :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 || scope.row.userName == null ||
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small" type="text">上传</el-button>
                    (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small"
                    type="text">上传</el-button>
                </el-upload>
                <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>
                  (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>
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
                  @click="handleIssued(scope.row)">查看报告</el-button>
              </div>
            </el-popover>
          </div>
@@ -207,7 +203,8 @@
    <!--查看工时弹框-->
    <viewManHourDia ref="viewManHourDia"></viewManHourDia>
    <!--不合格复测查看弹框-->
    <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible" @closeRetestLook="closeRetestLook"></un-pass-retest-result>
    <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">
@@ -288,7 +285,7 @@
      claimVisible: false,
      tabList: [
        { label: "委托", value: 0 },
        { label: "原材料", value: 1 },
        { label: "原辅料", value: 1 },
      ],
      active: 1,
      tabIndex: 0,
@@ -296,8 +293,8 @@
      planTotal: 0,
      insStateList: [],
      state: 0, // 0:台账页,1:检验页面,2检验页面(复核),默认为0,3数据查看
      typeSource: null, // 0:成品下单,1:原材料下单
      sonLaboratory: null, // 0:委托,1:原材料
      typeSource: null, // 0:成品下单,1:原辅料下单
      sonLaboratory: null, // 0:委托,1:原辅料
      activeFace: 0, // 1:下单,2:查看,3:审核,默认为0
      currentId: null,
      entityCopy: {},
@@ -313,7 +310,7 @@
      sonLaboratoryList: [],
      typeSourceList: [
        { label: "成品下单", value: 0 },
        { label: "原材料下单", value: 1 },
        { label: "原辅料下单", value: 1 },
      ],
      customsInspection: {},
      showInfoDialog: false, // 产业链信息查看
@@ -369,7 +366,7 @@
            if (params == 0) {
              return "成品下单";
            } else {
              return "原材料下单";
              return "原辅料下单";
            }
          },
        },
@@ -743,7 +740,7 @@
      this.currentId = parseInt(row.id);
      switch (row.isCopper) {
        case 0:
          // 原材料
          // 原辅料
          this.$router.push({
            path: "/materialOrder/customsInspection", query: {
              customsInspection: row,
src/views/business/inspectionTask/inspection.vue
@@ -27,7 +27,7 @@
        <!-- 复核 -->
        <el-button v-if="state == 2" size="medium" type="primary" @click="openAddCheck">通过</el-button>
        <el-button v-if="state == 2" size="medium" @click="upInsReview(0)">不通过</el-button>
        <el-button type="primary" size="small" @click="exportTable('myTable')">下载原始记录</el-button>
        <!-- <el-button type="primary" size="small" @click="exportTable('myTable')">下载原始记录</el-button> -->
        <el-button size="small" @click="goback">返回</el-button>
      </el-col>
    </el-row>
@@ -344,9 +344,9 @@
    </div>
    <el-drawer :size="550" :visible.sync="sampleVisible" title="样品切换">
      <el-table v-if="sampleVisible" ref="productTable" :current-row-key="currentKey" :data="sampleProduct"
                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
        :row-class-name="tableRowClassName" :row-key="(record) => record.index" border class="el-table" height="100%"
        highlight-current-row tooltip-effect="dark" @row-click="handleChangeSample">
        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border :row-class-name="tableRowClassName"
        :row-key="(record) => record.index" border class="el-table" height="100%" highlight-current-row
        tooltip-effect="dark" @row-click="handleChangeSample">
        <el-table-column :key="Math.random()" align="center" label="序号" type="index" width="70px">
        </el-table-column>
        <el-table-column label="样品编号" min-width="100px" prop="sampleCode" show-overflow-tooltip></el-table-column>
@@ -963,7 +963,7 @@
          humidity: this.insOrder.humidity ? this.insOrder.humidity : null,
        };
        if (this.typeSource == "1") {
          this.getRawMaterialTag(this.currentSample.id); // 原材料的检验任务查询批数
          this.getRawMaterialTag(this.currentSample.id); // 原辅料的检验任务查询批数
          this.rawMaterialTag = "1";
        }
        this.getEquipOptions(1);
src/views/business/materialOrder/customsInspection.vue
@@ -5,7 +5,8 @@
        <div>
          <span>采购订单信息</span>
          <ul class="tab" v-if="active > 1 && isShowTab">
            <li v-for="(m,i) in dataTitle" :key="i" :class="{active:i===dataIndex}" @click="handleDataTab(m,i)">{{m.label}}</li>
            <li v-for="(m, i) in dataTitle" :key="i" :class="{ active: i === dataIndex }" @click="handleDataTab(m, i)">
              {{ m.label }}</li>
          </ul>
        </div>
        <div>
@@ -20,7 +21,8 @@
          <el-button v-show="active==1" size="small" @click="templateDia=true">
            <span style="color: #3A7BFA;">保存模板</span>
          </el-button>
          <el-button v-show="active==1 && addObj.orderType === '进厂检验'" :loading="noNeedCheckLoad" size="small" type="primary" @click="noNeedCheck">免检</el-button>
          <el-button v-show="active == 1 && addObj.orderType === '进厂检验'" :loading="noNeedCheckLoad" size="small"
            type="primary" @click="noNeedCheck">免检</el-button>
          <el-button v-show="active==1" :loading="saveLoad" size="small" type="primary" @click="save">提交</el-button>
          <el-button size="small" @click="goBack">
            <span style="color: #3A7BFA;">返回</span>
@@ -33,42 +35,41 @@
        <el-row>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="采购订单号:">
              <el-input v-model="addObj.orderNo" class="addObj-info" clearable disabled placeholder="" size="small"></el-input>
              <el-input v-model="addObj.orderNo" class="addObj-info" clearable disabled placeholder=""
                size="small"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="委托单位:">
              <el-input v-model="addObj.company" class="addObj-info" clearable disabled placeholder="" size="small"></el-input>
              <el-input v-model="addObj.company" class="addObj-info" clearable disabled placeholder=""
                size="small"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="接收时间:">
              <el-date-picker
                v-model="addObj.receiverDate"
                disabled
                placeholder="选择日期"
                size="small"
                style="width: 100%;"
                type="date"
                value-format="yyyy-MM-dd">
              <el-date-picker v-model="addObj.receiverDate" disabled placeholder="选择日期" size="small"
                style="width: 100%;" type="date" value-format="yyyy-MM-dd">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="零件号:">
              <el-input v-model="addObj.partNo" class="addObj-info" clearable disabled placeholder="" size="small"></el-input>
              <el-input v-model="addObj.partNo" class="addObj-info" clearable disabled placeholder=""
                size="small"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="样品名称:">
              <el-input v-model="addObj.sample" class="addObj-info" clearable disabled placeholder="" size="small"></el-input>
              <el-input v-model="addObj.sample" class="addObj-info" clearable disabled placeholder=""
                size="small"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="样品总数:">
              <el-input v-model="addObj.qtyArrived" class="addObj-info" clearable disabled placeholder="" size="small"></el-input>
              <el-input v-model="addObj.qtyArrived" class="addObj-info" clearable disabled placeholder=""
                size="small"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="6">
@@ -90,22 +91,24 @@
          </el-col>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="抽检数量:" prop="testQuantity">
              <el-input v-model="addObj.testQuantity" :disabled="active > 1" class="addObj-info"
                        clearable
              <el-input v-model="addObj.testQuantity" :disabled="active > 1" class="addObj-info" clearable
                        placeholder="请填写抽检数量" size="small"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="检验类别:" prop="orderType">
              <el-select v-model="addObj.orderType" :disabled="active>1 || orderType==1" clearable size="small" style="width: 100%">
                <el-option v-for="a in dict.type.check_type" :key="a.value" :label="a.label" :value="a.value"></el-option>
              <el-select v-model="addObj.orderType" :disabled="active > 1 || orderType == 1" clearable size="small"
                style="width: 100%">
                <el-option v-for="a in dict.type.check_type" :key="a.value" :label="a.label"
                  :value="a.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="规格型号:" placeholder="请填写" prop="partDetail">
              <el-tooltip :content="addObj.partDetail" :disabled="!addObj.partDetail">
                <el-input v-model="addObj.partDetail" :disabled="active > 1" clearable class="addObj-info" size="small"></el-input>
                <el-input v-model="addObj.partDetail" :disabled="active > 1" clearable class="addObj-info"
                  size="small"></el-input>
              </el-tooltip>
            </el-form-item>
          </el-col>
@@ -113,29 +116,24 @@
        <el-row>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="紧急程度:" placeholder="请选择" prop="type">
              <el-select v-model="addObj.type" :disabled="active>1" class="addObj-info" clearable size="small" style="width: 100%">
                <el-option v-for="a in dict.type.urgency_level" :key="a.value" :label="a.label" :value="a.value"></el-option>
              <el-select v-model="addObj.type" :disabled="active > 1" class="addObj-info" clearable size="small"
                style="width: 100%">
                <el-option v-for="a in dict.type.urgency_level" :key="a.value" :label="a.label"
                  :value="a.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="约定时间:" prop="appointed">
              <el-date-picker
                v-model="addObj.appointed"
                :disabled="active > 1"
                format="yyyy-MM-dd"
                placeholder="选择日期"
                size="small"
                style="width: 100%"
                type="date"
                value-format="yyyy-MM-dd">
              <el-date-picker v-model="addObj.appointed" :disabled="active > 1" format="yyyy-MM-dd" placeholder="选择日期"
                size="small" style="width: 100%" type="date" value-format="yyyy-MM-dd">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="备注:">
              <el-input v-model="addObj.remark" :autosize="{ minRows: 2, maxRows: 2}" :disabled="active>1" :placeholder="active>1 ? '' : '请输入'" clearable
                        size="small" type="textarea"></el-input>
              <el-input v-model="addObj.remark" :autosize="{ minRows: 2, maxRows: 2 }" :disabled="active > 1"
                :placeholder="active > 1 ? '' : '请输入'" clearable size="small" type="textarea"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
@@ -146,18 +144,15 @@
        <div v-if="active==1">
          <el-form :inline="true" :model="addObj1" label-width="90px">
            <el-form-item label="样品型号:" style="margin-bottom: 6px;margin-top: 6px">
              <el-select v-model="model" :placeholder="active>1 ? '' : '请输入'"
                         allow-create clearable default-first-option filterable
                         size="small"
                         @change="changeModel">
              <el-select v-model="model" :placeholder="active > 1 ? '' : '请输入'" allow-create clearable
                default-first-option filterable size="small" @change="changeModel">
                <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="检验标准:" style="margin-bottom: 6px;margin-top: 6px">
              <el-select v-model="standardMethodListId" :loading="methodLoad"
                         :placeholder="active>1 ? '' : '请输入'" clearable size="small"
                         @change="changeStandardMethodListId" @focus="methodFocus">
              <el-select v-model="standardMethodListId" :loading="methodLoad" :placeholder="active > 1 ? '' : '请输入'"
                clearable size="small" @change="changeStandardMethodListId" @focus="methodFocus">
                <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
                </el-option>
              </el-select>
@@ -165,35 +160,33 @@
          </el-form>
        </div>
        <div style="margin-bottom: 6px;margin-top: 6px">
          <el-button v-show="active==1" :disabled="sampleList.length === 2" size="small" type="primary" @click="handleSplitCountNum">拆分</el-button>
          <el-button v-show="active == 1" :disabled="sampleList.length === 2" size="small" type="primary"
            @click="handleSplitCountNum">拆分</el-button>
        </div>
      </div>
      <el-table ref="sampleTable" :data="sampleList"
                class="el-table sampleTable"
                highlight-current-row
                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
                max-height="400px"
                tooltip-effect="dark"
      <el-table ref="sampleTable" :data="sampleList" class="el-table sampleTable" highlight-current-row
        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border max-height="400px" tooltip-effect="dark"
                @selection-change="selectSample" @row-click="rowClick">
        <el-table-column v-if="active==1" :selectable="selectable" type="selection" width="65"></el-table-column>
        <el-table-column align="center" label="序号" prop="index" type="index" width="65"></el-table-column>
        <el-table-column align="center" label="样品名称" min-width="100" prop="sample">
          <template slot-scope="scope">
            <el-input v-model="scope.row.sample" :disabled="active>1 || scope.$index !== 0" size="small" @change="(val)=>changeValue(val, 'sample')"></el-input>
            <el-input v-model="scope.row.sample" :disabled="active > 1 || scope.$index !== 0" size="small"
              @change="(val) => changeValue(val, 'sample')"></el-input>
          </template>
        </el-table-column>
        <el-table-column align="center" label="样品编号" min-width="140" prop="sampleCode">
          <template slot-scope="scope">
            <el-input v-model="scope.row.sampleCode" :disabled="active>1 || scope.$index !== 0" clearable placeholder="不填写则系统自动生成"
                      size="small"
                      @change="(val)=>changeValue(val, 'sampleCode')"></el-input>
            <el-input v-model="scope.row.sampleCode" :disabled="active > 1 || scope.$index !== 0" clearable
              placeholder="不填写则系统自动生成" size="small" @change="(val) => changeValue(val, 'sampleCode')"></el-input>
          </template>
        </el-table-column>
        <el-table-column align="center" label="样品型号" min-width="100" prop="model">
          <template slot-scope="scope">
            <el-select v-model="scope.row.model" :disabled="active>1 || scope.$index !== 0" allow-create default-first-option filterable
                       placeholder="样品型号" size="small" style="width: 100%;" @change="handleChangeModel">
            <el-select v-model="scope.row.model" :disabled="active > 1 || scope.$index !== 0" allow-create
              default-first-option filterable placeholder="样品型号" size="small" style="width: 100%;"
              @change="handleChangeModel">
              <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
            </el-select>
@@ -202,15 +195,15 @@
        <el-table-column v-if="!(active>1)" align="center" label="型号参数" prop="modelNum" width="130">
          <template slot-scope="scope">
            <el-input v-model="scope.row.modelNum" :disabled="active>1|| scope.$index !== 0" clearable placeholder="非必填"
                      size="small"
                      @input="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
              size="small" @input="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
          </template>
        </el-table-column>
        <el-table-column align="center" label="检验标准" min-width="100" prop="standardMethodListId">
          <template slot-scope="scope">
            <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1|| scope.$index !== 0"
                       :loading="methodLoad" clearable placeholder="检验标准" size="small"
                       style="width: 100%;" @change="(value)=>methodChange(value, scope.row)" @clear="productList = []" @focus="methodFocus">
            <el-select v-model="scope.row.standardMethodListId"
              :disabled="scope.row.model == null || active > 1 || scope.$index !== 0" :loading="methodLoad" clearable
              placeholder="检验标准" size="small" style="width: 100%;" @change="(value) => methodChange(value, scope.row)"
              @clear="productList = []" @focus="methodFocus">
              <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
              </el-option>
            </el-select>
@@ -236,55 +229,40 @@
        </el-table-column>
        <el-table-column align="center" label="待检项数量" prop="quantity" width="105">
          <template slot-scope="scope">
            <el-select v-model="scope.row.quantity" disabled clearable
                       size="small">
              <el-option v-for="item in quantityList" :key="item.value" :label="item.label" :value="item.value"></el-option>
            <el-select v-model="scope.row.quantity" disabled clearable size="small">
              <el-option v-for="item in quantityList" :key="item.value" :label="item.label"
                :value="item.value"></el-option>
            </el-select>
          </template>
        </el-table-column>
      </el-table>
      <el-table ref="productTable" v-loading="getProductLoad" :data="productList"
                :row-class-name="tableRowClassName"
                class="el-table"
                max-height="400px"
                style="margin-bottom: 10px;"
                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
                tooltip-effect="dark"
                @select="selectOne"
                @selection-change="selectProduct"
                @select-all="handleAll">
      <el-table ref="productTable" v-loading="getProductLoad" :data="productList" :row-class-name="tableRowClassName"
        class="el-table" max-height="400px" style="margin-bottom: 10px;"
        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border tooltip-effect="dark"
        @select="selectOne" @selection-change="selectProduct" @select-all="handleAll">
        <el-table-column v-if="active==1" :selectable="selectable" type="selection" width="65"></el-table-column>
        <el-table-column label="检验项" min-width="140" prop="inspectionItem" show-overflow-tooltip>
          <template slot="header" slot-scope="scope">
            <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
              <span>检验项</span>
              <el-input
                v-if="active==1"
                v-model="inspectionItem"
                placeholder="请输入"
                size="mini"
              <el-input v-if="active == 1" v-model="inspectionItem" placeholder="请输入" size="mini"
                @input="searchFilterList"/>
            </div>
          </template>
        </el-table-column>
        <el-table-column label="检验项子项" min-width="140" prop="inspectionItemSubclass"
                         show-overflow-tooltip>
        <el-table-column label="检验项子项" min-width="140" prop="inspectionItemSubclass" show-overflow-tooltip>
          <template slot="header" slot-scope="scope">
            <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
              <span>检验项子项</span>
              <el-input
                v-if="active==1"
                v-model="inspectionItemSubclass"
                placeholder="请输入"
                size="mini"
              <el-input v-if="active == 1" v-model="inspectionItemSubclass" placeholder="请输入" size="mini"
                @input="searchFilterList"/>
            </div>
          </template>
        </el-table-column>
        <el-table-column label="要求值" min-width="220px" prop="ask">
          <template slot-scope="scope">
            <el-input v-if="active==1&&isAskOnlyRead" v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="要求值"
                      size="small" type="textarea"
            <el-input v-if="active == 1 && isAskOnlyRead" v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3 }"
              clearable placeholder="要求值" size="small" type="textarea"
                      @change="e=>requestChange(e,scope.row)"></el-input>
            <span v-else>
              <template >{{ scope.row.ask }}</template>
@@ -293,8 +271,8 @@
        </el-table-column>
        <el-table-column label="要求描述" min-width="220px" prop="tell">
          <template slot-scope="scope">
            <el-input v-if="active==1&&isAskOnlyRead" v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="要求描述"
                      size="small" type="textarea"
            <el-input v-if="active == 1 && isAskOnlyRead" v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3 }"
              clearable placeholder="要求描述" size="small" type="textarea"
                      @change="e=>requestChange(e,scope.row,'tell')"></el-input>
            <span v-else>
                <template >{{ scope.row.tell }}</template>
@@ -306,27 +284,20 @@
          <template slot="header" slot-scope="scope">
            <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
              <span>试验方法</span>
              <el-input
                v-if="active==1"
                v-model="methodS"
                placeholder="请输入"
                size="mini"
                @input="searchFilterList"/>
              <el-input v-if="active == 1" v-model="methodS" placeholder="请输入" size="mini" @input="searchFilterList" />
            </div>
          </template>
        </el-table-column>
        <el-table-column label="计量单位" prop="unit" show-overflow-tooltip width="100"></el-table-column>
        <el-table-column label="单价" prop="price" show-overflow-tooltip width="100"></el-table-column>
        <el-table-column label="区间" min-width="120" prop="section" show-overflow-tooltip></el-table-column>
        <el-table-column :filter-method="filterHandler" :filters="filters" label="子实验室" min-width="130" prop="sonLaboratory"
                         show-overflow-tooltip></el-table-column>
        <el-table-column :filter-method="filterHandler" :filters="filters" label="子实验室" min-width="130"
          prop="sonLaboratory" show-overflow-tooltip></el-table-column>
      </el-table>
    </div>
    <!--特殊值处理框-->
    <el-dialog :before-close="beforeClose" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"
               :visible.sync="bsm1DiaAll"
               min-width="400px"
               title="检测到特殊项,请作出以下选择">
    <el-dialog :before-close="beforeClose" :close-on-click-modal="false" :close-on-press-escape="false"
      :show-close="false" :visible.sync="bsm1DiaAll" min-width="400px" title="检测到特殊项,请作出以下选择">
      <div v-for="(item, index) in bsm1DiaList" :key="item.id" class="body" style="max-height: 60vh;">
        <span>{{item.inspectionItem}}</span>
        <el-row v-if="item.bsm1">
@@ -334,7 +305,8 @@
            <div class="search_label" style="width: 80px;"><span class="required-span">* </span>选项:</div>
            <div class="search_input">
              <el-radio-group v-model="item.bsm1Val" v-removeAriaHidden @input="upBsmAll(item)">
                <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio>
                <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a"
                  style="margin-bottom: 2px;margin-top: 2px;"></el-radio>
              </el-radio-group>
            </div>
          </el-col>
@@ -356,9 +328,8 @@
      </span>
    </el-dialog>
    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false"
               :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
               :show-close="false" :visible.sync="bsm3Dia"
               title="区间值填写" width="800px">
      :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border :show-close="false"
      :visible.sync="bsm3Dia" title="区间值填写" width="800px">
      <el-table :data="editTable" height="80vh" style="width: 100%">
        <!-- inspectionItemList -->
        <el-table-column label="检验项" prop="inspectionItemList" width="180">
@@ -371,7 +342,8 @@
        </el-table-column>
        <el-table-column label="识别符值" prop="value">
          <template slot-scope="scope">
            <el-input v-model="scope.row.value" placeholder="请输入" size="small" @input="inputValueHandler(scope.row,scope.$index)"></el-input>
            <el-input v-model="scope.row.value" placeholder="请输入" size="small"
              @input="inputValueHandler(scope.row, scope.$index)"></el-input>
          </template>
        </el-table-column>
      </el-table>
@@ -382,25 +354,15 @@
        </el-row>
      </span>
    </el-dialog>
    <el-dialog
      :close-on-click-modal="false"
      :close-on-press-escape="false"
      :show-close="false"
      :visible.sync="dialogVisible"
      title="提示"
      width="32%">
    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"
      :visible.sync="dialogVisible" title="提示" width="32%">
      <span>{{ dialogMessage }}</span>
      <span slot="footer" class="dialog-footer">
        <el-button type="primary" @click="dialogVisible= false,closeOpenPage()">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog
      :close-on-click-modal="false"
      :close-on-press-escape="false"
      :show-close="false"
      :visible.sync="dialogVisible2"
      title="提示"
      width="32%">
    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"
      :visible.sync="dialogVisible2" title="提示" width="32%">
      <span>{{ dialogMessage2 }}</span>
      <span slot="footer" class="dialog-footer">
        <el-button type="primary" @click="dialogVisible2 = false">确 定</el-button>
@@ -418,13 +380,8 @@
        <el-button :loading="templateLoading" type="primary" @click="addTemplateDia">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog
      :close-on-click-modal="false"
      :close-on-press-escape="false"
      :show-close="false"
      :visible.sync="noNeedCheckDia"
      title="免检提示"
      width="32%">
    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"
      :visible.sync="noNeedCheckDia" title="免检提示" width="32%">
      <span>确认免检当前检验单?</span>
      <span slot="footer" class="dialog-footer">
        <el-button :loading="noNeedCheckLoad" type="primary" @click="handleNoNeedCheck">确 定</el-button>
@@ -777,8 +734,8 @@
            const str = res.data.treeName.split('-')
            this.selectTreeTem = str.join(' - ')
            this.selectTree = str.join(' - ')
            this.addListInfo(this.codeLevel, res.data) // 原材料样品是固定的,就默认赋值一条数据,可拆分
            this.selectInsOrderTemplate() // 原材料模板列表查询
            this.addListInfo(this.codeLevel, res.data) // 原辅料样品是固定的,就默认赋值一条数据,可拆分
            this.selectInsOrderTemplate() // 原辅料模板列表查询
          } else {
            this.dialogVisible = true
            this.dialogMessage = res.message
@@ -1869,6 +1826,7 @@
  justify-content: space-between;
  margin-bottom: 10px;
}
.tab {
  list-style-type: none;
  display: flex;
@@ -1897,6 +1855,7 @@
  background-color: #ffffff;
}
>>>.warning-row {
  color: #1890FF;
}
src/views/business/materialOrder/index.vue
@@ -14,13 +14,11 @@
            </el-input>
          </el-form-item>
          <el-form-item label="零件号" prop="partNo">
            <el-input v-model="entity.partNo" clearable placeholder="请输入" size="small"
              @keyup.enter.native="goSearch">
            <el-input v-model="entity.partNo" clearable placeholder="请输入" size="small" @keyup.enter.native="goSearch">
            </el-input>
          </el-form-item>
          <el-form-item label="零件描述" prop="partDesc">
            <el-input v-model="entity.partDesc" clearable placeholder="请输入" size="small"
              @keyup.enter.native="goSearch">
            <el-input v-model="entity.partDesc" clearable placeholder="请输入" size="small" @keyup.enter.native="goSearch">
            </el-input>
          </el-form-item>
          <el-form-item>
@@ -76,8 +74,7 @@
        <!--待下单-->
        <div class="table">
          <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0" @pagination="pagination"
                      ref="tableData"
            :rowClassName="changeRowClass" :height="'calc(100vh - 290px)'" key="tableData" :page="page"
            ref="tableData" :rowClassName="changeRowClass" :height="'calc(100vh - 290px)'" key="tableData" :page="page"
            :tableLoading="tableLoading"></lims-table>
        </div>
        <!--检验中-->
@@ -178,7 +175,7 @@
      </div>
    </el-dialog>
    <!--    <Inspection v-if="state>0" :key="InspectionKey" :inspectorList="inspectorList" :orderId="orderId"-->
    <!--                :sonLaboratory="'原材料'" :state="state"-->
    <!--                :sonLaboratory="'原辅料'" :state="state"-->
    <!--                :typeSource="typeSource"-->
    <!--                @goback="goback" @refreshView="refreshView"/>-->
  </div>
@@ -839,7 +836,7 @@
      tabIndex: 0,
      multipleSelection: [],
      active: 0, //1:下单,2:查看
      orderType: 0, //0:原材料下单,1:季度检验下单
      orderType: 0, //0:原辅料下单,1:季度检验下单
      currentId: null,
      btnLoading: false,
      quashDialogVisible: false, // 撤销下单提醒弹框
@@ -871,7 +868,7 @@
      orderId: 0,
      inspectorList: [],//检验人员列表
      InspectionKey: 1,
      typeSource: null,// 0:成品下单,1:原材料下单, 2: 铜单丝下单
      typeSource: null,// 0:成品下单,1:原辅料下单, 2: 铜单丝下单
      InspectInfoDialog: false, // 数据查看弹框
      insInfo: {},
      outLoading: false
@@ -1092,7 +1089,7 @@
      this.$router.push({
        path: "/inspectionTask/inspection",
        query: {
          sonLaboratory: '原材料',
          sonLaboratory: '原辅料',
          state: 3,
          typeSource: this.insInfo.typeSource,
          orderId: this.insInfo.enterOrderId,
@@ -1107,7 +1104,7 @@
      this.$router.push({
        path: "/inspectionTask/inspection",
        query: {
          sonLaboratory: '原材料',
          sonLaboratory: '原辅料',
          state: 3,
          typeSource: this.insInfo.typeSource,
          orderId: this.insInfo.quarterOrderId,
@@ -1312,7 +1309,7 @@
      rawAllExport({ entity: entity }).then(res => {
        this.outLoading = false
        const blob = new Blob([res], { type: 'application/octet-stream' });
        this.$download.saveAs(blob, '原材料检测信息导出.xlsx');
        this.$download.saveAs(blob, '原辅料检测信息导出.xlsx');
      })
    },
    // 提交修改委托编号信息
src/views/business/productOrder/index.vue
@@ -41,12 +41,18 @@
    <div class="table-tab">
      <div>
        <ul class="tab">
          <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">待审核</li>
          <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">检验中</li>
          <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" @click="handleTab(2)">委托已检</li>
          <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">抽样已检</li>
          <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">退回</li>
          <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">撤销</li>
          <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">待审核
          </li>
          <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">检验中
          </li>
          <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])"
            @click="handleTab(2)">委托已检</li>
          <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">
            抽样已检</li>
          <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">退回
          </li>
          <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">
            撤销</li>
          <li :class="{ active: tabIndex === 6 }" v-if="checkPermi(['get:insOrder:all'])" @click="handleTab(6)">全部</li>
        </ul>
      </div>
@@ -86,8 +92,8 @@
      </el-dialog>
      <!-- 撤销 -->
      <el-dialog :before-close="handleClose" :visible.sync="quashDialogVisible" title="下单撤销" width="30%">
        <p v-if="!isQuash" style="font-size:16px;color:#333333">委托编号<span
            style="color:#34BD66">{{ this.insOrderRow.entrustCode }}</span>的信息是否撤销</p>
        <p v-if="!isQuash" style="font-size:16px;color:#333333">委托编号<span style="color:#34BD66">{{
          this.insOrderRow.entrustCode }}</span>的信息是否撤销</p>
        <el-form v-else ref="ruleForm" :label-position="labelPosition" :model="formData" label-width="150px">
          <el-form-item label="请输入撤销原因:">
            <el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input>
@@ -168,7 +174,8 @@
        <span slot="footer" class="dialog-footer">
          <el-row>
            <el-button @click="handleNo">{{ deleteTilte == '撤销' ? '取 消' : '不通过' }}</el-button>
            <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '撤销' ? '确 定' : '通过'}}</el-button>
            <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '撤销' ? '确 定' :
              '通过'}}</el-button>
          </el-row>
        </span>
      </el-dialog>
@@ -263,8 +270,8 @@
              <el-row style="margin-top: 0.01cm;font-size: 0.20cm;">
                <el-col style="display: flex;align-items: center;"><span>样品状态:&nbsp;
                  </span>
                  <span style="white-space: nowrap;"><span v-if="item.insState == 0">√</span><span v-if="item.insState != 0"
                      class="scor"></span>待检
                  <span style="white-space: nowrap;"><span v-if="item.insState == 0">√</span><span
                      v-if="item.insState != 0" class="scor"></span>待检
                    <span v-if="item.insState == 1">√</span><span v-if="item.insState != 1" class="scor"></span>在检
                    <span v-if="item.insState == 2">√</span><span v-if="item.insState != 2" class="scor"></span>已检
                    <span v-if="item.isLeave == 1">√</span><span v-if="item.isLeave != 1" class="scor"></span>留样</span>
@@ -535,8 +542,8 @@
      state: 0,// 0:台账页,1:检验页面,2检验页面(复核),默认为0,3数据查看
      InspectionKey: 1,
      inspectorList: [],//检验人员列表
      sonLaboratory: null,// 0:委托,1:原材料
      typeSource: null,// 0:成品下单,1:原材料下单
      sonLaboratory: null,// 0:委托,1:原辅料
      typeSource: null,// 0:成品下单,1:原辅料下单
      deleteTilte: '撤销',
      examine: null,
      deleteList: [],
src/views/business/rawMaterialInspection/index.vue
@@ -93,7 +93,7 @@
      </span>
    </el-dialog>
    <!-- 确认报检 -->
    <el-dialog :close-on-click-modal="false" :title="declareType === 'add' ? '新增报检信息' : '原材料报检'"
    <el-dialog :close-on-click-modal="false" :title="declareType === 'add' ? '新增报检信息' : '原辅料报检'"
      :visible.sync="declareDialogVisible" width="800px" @close="resetFormData">
      <el-form ref="declareObj" :inline="true" :model="declareObj" :rules="declareObjRules" label-width="130px"
        label-position="right">
@@ -161,8 +161,8 @@
    </el-dialog>
    <!-- 撤销报检 -->
    <el-dialog :visible.sync="declareDialogVisible1" title="报检撤销" width="30%">
      <p style="font-size:16px;color:#333333">批号<span
          style="color:#34BD66">{{ insOrderRow.updateBatchNo }}</span>的信息是否<span style="color: #FF4902">撤销报检</span></p>
      <p style="font-size:16px;color:#333333">批号<span style="color:#34BD66">{{ insOrderRow.updateBatchNo
          }}</span>的信息是否<span style="color: #FF4902">撤销报检</span></p>
      <span slot="footer" class="dialog-footer">
        <el-row>
          <el-button @click="declareDialogVisible1 = false">取 消</el-button>
@@ -676,7 +676,7 @@
    },
    // 提前入库
    advancedGodown(row) {
      this.$confirm('当前原材料是否提前入库?', '提示', {
      this.$confirm('当前原辅料是否提前入库?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
@@ -829,7 +829,7 @@
      }).then(res => {
        this.outLoading = false
        const blob = new Blob([res], { type: 'application/octet-stream' });
        this.$download.saveAs(blob, "原材料检测信息导出.xlsx");
        this.$download.saveAs(blob, "原辅料检测信息导出.xlsx");
      })
    },
    clear() {
src/views/business/reportPreparation/index.vue
@@ -184,8 +184,8 @@
          <el-button size="small" style="height: 38px" type="primary">附件上传</el-button>
        </el-upload>
      </div>
      <lims-table :tableData="tableDataFile" :column="columnFile" height="500px"
        key="tableDataFile" :tableLoading="tableLoadingFile"></lims-table>
      <lims-table :tableData="tableDataFile" :column="columnFile" height="500px" key="tableDataFile"
        :tableLoading="tableLoadingFile"></lims-table>
    </el-dialog>
  </div>
</template>
@@ -249,7 +249,7 @@
      loadingVerify: false, // 审核人员
      typeSourceList: [
        { label: '成品下单', value: 0 },
        { label: '原材料下单', value: 1 },
        { label: '原辅料下单', value: 1 },
      ],
      orderTypeList: [
        { label: '委托试验', value: 'Customer-ordered test' },
@@ -273,7 +273,7 @@
      orderId: 0,
      inspectorList: [],//检验人员列表
      InspectionKey: 1,
      typeSource: null,// 0:成品下单,1:原材料下单
      typeSource: null,// 0:成品下单,1:原辅料下单
      sonLaboratory: '', // 试验室
      filesDialogVisible: false,
      filesLookInfo: {},
@@ -349,7 +349,7 @@
            if (params == 0) {
              return "成品下单";
            } else {
              return "原材料下单";
              return "原辅料下单";
            }
          },
        },
@@ -660,7 +660,7 @@
      this.currentId = parseInt(row.insOrderId)
      switch (row.isCopper) {
        case 0:
          // 原材料
          // 原辅料
          this.$router.push({
            path: "/materialOrder/customsInspection", query: {
              customsInspection: row,
src/views/business/unpass/components/unPassDialog.vue
@@ -106,7 +106,7 @@
      isShow: this.unPassDialog,
      unPassForm: { // 不合格处理数据
        headline: '', // 标题
        inventoryQuantityId: '', // 原材料id,不做展示,只传值
        inventoryQuantityId: '', // 原辅料id,不做展示,只传值
        supplierName: '', // 供应商名称
        materialName: '', // 物料名称
        productionBatch: '', // 生产批次
@@ -155,7 +155,7 @@
            this.unPassForm.insOrderId = res.data.insOrder.id // 订单id
            this.unPassForm.materialName = res.data.insOrder.sampleType // 物料名称
            this.unPassForm.specsModels = res.data.insOrder.partDetail // 规格型号
            this.unPassForm.inventoryQuantityId = res.data.insOrderTemplate.inventoryQuantityId // 原材料id
            this.unPassForm.inventoryQuantityId = res.data.insOrderTemplate.inventoryQuantityId // 原辅料id
            this.unPassForm.supplierName = res.data.insOrderTemplate.supplierName // 供应商名称
            this.unPassForm.productionBatch = res.data.insOrderTemplate.updateBatchNo // 生产批次
            this.unPassForm.cargoQuantity = res.data.insOrderTemplate.qtyArrived + res.data.insOrderTemplate.buyUnitMeas // 到货数量
src/views/statisticalCharts/itemInspectionAnalysis/index.vue
@@ -3,16 +3,8 @@
    <div v-if="!isShowDataCom">
      <el-form ref="entity" size="small" :inline="true">
        <el-form-item style="width: 16%;">
          <el-date-picker
            v-model="datePicker"
            end-placeholder="结束日期"
            format="yyyy-MM-dd"
            placeholder="选择日期"
            range-separator="至"
            size="small"
            start-placeholder="开始日期"
            style="width: 100%;"
            type="daterange"
          <el-date-picker v-model="datePicker" end-placeholder="结束日期" format="yyyy-MM-dd" placeholder="选择日期"
            range-separator="至" size="small" start-placeholder="开始日期" style="width: 100%;" type="daterange"
            value-format="yyyy-MM-dd">
          </el-date-picker>
        </el-form-item>
@@ -26,13 +18,9 @@
          <el-input v-model="supplierName" clearable placeholder="请输入供应商名称" size="small"></el-input>
        </el-form-item>
        <el-form-item label="检验项名称" prop="supplierName">
          <el-select v-model="itemNames" :loading="selectLoading" clearable multiple placeholder="请选择"
                     size="small" style="width: 90%;" @focus="getItemList">
            <el-option
              v-for="item in itemNamesList"
              :key="item.value"
              :label="item.label"
              :value="item.value">
          <el-select v-model="itemNames" :loading="selectLoading" clearable multiple placeholder="请选择" size="small"
            style="width: 90%;" @focus="getItemList">
            <el-option v-for="item in itemNamesList" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
@@ -46,13 +34,11 @@
        <el-col :span="24">
          <div class="inspection-card">
            <div style="display: flex;align-items: center;margin-bottom: 10px;justify-content: space-between;">
              <div>原材料项检分析列表</div>
              <div>原辅料项检分析列表</div>
              <el-button size="small" type="primary" @click="openShowData">查看数据分析</el-button>
            </div>
            <lims-table :tableData="editTableData" :column="editColumn"
                        height="400" key="tableData" :isSelection="true"
                        :handleSelectionChange="handleSelectionChange"
                        :tableLoading="editLoading"></lims-table>
            <lims-table :tableData="editTableData" :column="editColumn" height="400" key="tableData" :isSelection="true"
              :handleSelectionChange="handleSelectionChange" :tableLoading="editLoading"></lims-table>
          </div>
        </el-col>
      </el-row>
@@ -60,14 +46,9 @@
        <el-col :span="6" style="padding-top: 14px">
          <div style="display: flex;margin-left: 10px;align-items: center">
            <span style="width: 100px">分组类型:</span>
            <el-select v-model="groupType" clearable placeholder="请选择"
                       size="small"
                       style="width: 90%;" @change="getBarInfo">
              <el-option
                v-for="item in groupTypeList"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            <el-select v-model="groupType" clearable placeholder="请选择" size="small" style="width: 90%;"
              @change="getBarInfo">
              <el-option v-for="item in groupTypeList" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
            </el-select>
          </div>
@@ -77,46 +58,30 @@
        <el-col :span="24">
          <div class="inspection-card">
            <div class="title">检验项数据对比</div>
            <Echarts ref="chart"
                     :chartStyle="chartStyle"
                     :dataset="dataset"
                     :grid="grid"
                     :options="echartsOptions"
                     :series="echartsSeries"
                     :tooltip="tooltip"
                     :xAxis="xAxis"
                     :yAxis="yAxis"
                     style="height: 40vh;"></Echarts>
            <Echarts ref="chart" :chartStyle="chartStyle" :dataset="dataset" :grid="grid" :options="echartsOptions"
              :series="echartsSeries" :tooltip="tooltip" :xAxis="xAxis" :yAxis="yAxis" style="height: 40vh;"></Echarts>
          </div>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="24">
          <div class="inspection-card">
            <div class="title">原材料项检合格率</div>
            <Echarts ref="chart"
                     :chartStyle="chartStyle"
                     :dataset="dataset1"
                     :grid="grid"
                     :options="echartsOptions1"
                     :series="echartsSeries1"
                     :tooltip="tooltip"
                     :xAxis="xAxis"
                     :yAxis="yAxis1"
                     style="height: 40vh;"></Echarts>
            <div class="title">原辅料项检合格率</div>
            <Echarts ref="chart" :chartStyle="chartStyle" :dataset="dataset1" :grid="grid" :options="echartsOptions1"
              :series="echartsSeries1" :tooltip="tooltip" :xAxis="xAxis" :yAxis="yAxis1" style="height: 40vh;">
            </Echarts>
          </div>
        </el-col>
      </el-row>
    </div>
    <el-dialog :visible.sync="dataDialogVisible" title="数据查看" width="80%">
      <div v-if="dataDialogVisible" style="height: 70vh;overflow-y: auto;">
        <lims-table :tableData="tableData" :column="column"
                    @pagination="pagination" key="tableData"
                    :page="page" :tableLoading="tableLoading"></lims-table>
        <lims-table :tableData="tableData" :column="column" @pagination="pagination" key="tableData" :page="page"
          :tableLoading="tableLoading"></lims-table>
      </div>
    </el-dialog>
    <DataComparison v-if="isShowDataCom" :comparisonData="comparisonData"
                    :selectRow="selectRow" @goBack="goBack"></DataComparison>
    <DataComparison v-if="isShowDataCom" :comparisonData="comparisonData" :selectRow="selectRow" @goBack="goBack">
    </DataComparison>
  </div>
</template>
@@ -371,10 +336,12 @@
          return
        }
        for (let i = 0; i < res.data.itemNames.length; i++) {
          this.echartsSeries.push({type: 'line', label: {
          this.echartsSeries.push({
            type: 'line', label: {
              show: true,
              position: 'top'
            },})
            },
          })
        }
        this.dataset.dimensions = this.HaveJson(res.data.itemNames)
        this.dataset.dimensions.unshift('product')
@@ -399,7 +366,8 @@
          return
        }
        for (let i = 0; i < res.data.itemNames.length; i++) {
          this.echartsSeries1.push({type: 'line',tooltip: {
          this.echartsSeries1.push({
            type: 'line', tooltip: {
              valueFormatter: function (value) {
                return value + '%';
              }
@@ -407,7 +375,8 @@
              show: true,
              position: 'top',
              formatter: (params) => params.value[params.dimensionNames[params.encode.y[0]]] + '%'
            },})
            },
          })
        }
        this.dataset1.dimensions = this.HaveJson(res.data.itemNames)
        this.dataset1.dimensions.unshift('product')
src/views/statisticalCharts/qualificationRateStatistics/index.vue
@@ -11,18 +11,9 @@
      <el-col :span="20">
        <el-form ref="entity" size="small" :inline="true">
          <el-form-item style="width: 20%;">
            <el-date-picker
              v-model="datePicker"
              end-placeholder="结束日期"
              format="yyyy-MM-dd"
              placeholder="选择日期"
              range-separator="至"
              size="small"
              start-placeholder="开始日期"
              type="daterange"
              style="width: 100%;"
              value-format="yyyy-MM-dd"
              @change="changeDatePicker">
            <el-date-picker v-model="datePicker" end-placeholder="结束日期" format="yyyy-MM-dd" placeholder="选择日期"
              range-separator="至" size="small" start-placeholder="开始日期" type="daterange" style="width: 100%;"
              value-format="yyyy-MM-dd" @change="changeDatePicker">
            </el-date-picker>
          </el-form-item>
          <el-form-item label="样品名称" prop="sampleName">
@@ -32,7 +23,8 @@
            <el-input v-model="modelName" clearable placeholder="请输入型号" size="small" @change="changeDate"></el-input>
          </el-form-item>
          <el-form-item label="供应商名称" prop="supplierName">
            <el-input v-model="supplierName" clearable placeholder="请输入供应商名称" size="small" @change="changeDate"></el-input>
            <el-input v-model="supplierName" clearable placeholder="请输入供应商名称" size="small"
              @change="changeDate"></el-input>
          </el-form-item>
        </el-form>
      </el-col>
@@ -40,39 +32,24 @@
    <el-row :gutter="20">
      <el-col :span="8">
        <div class="pie-card">
          <div class="title">原材料合格率</div>
          <div class="title">原辅料合格率</div>
          <span class="data">{{passRate}}</span>
          <Echarts ref="chart"
                   :legend="pieLegend"
                   :series="materialPieSeries"
                   :tooltip="pieTooltip"
          <Echarts ref="chart" :legend="pieLegend" :series="materialPieSeries" :tooltip="pieTooltip"
                   style="height: 36vh;"></Echarts>
        </div>
      </el-col>
      <el-col :span="8">
        <div class="pie-card">
          <div class="title"><span style="color: #F56C6C">本月</span>检验类型数量</div>
          <Echarts ref="chart"
                   :chartStyle="chartStyle2"
                   :legend="pieLegend"
                   :series="materialPieSeries1"
                   :tooltip="pieTooltip"
                   style="height: 36vh;"></Echarts>
          <Echarts ref="chart" :chartStyle="chartStyle2" :legend="pieLegend" :series="materialPieSeries1"
            :tooltip="pieTooltip" style="height: 36vh;"></Echarts>
        </div>
      </el-col>
      <el-col :span="8">
        <div class="pie-card">
          <div class="title">原材料<span style="color: #F56C6C">本月</span>与<span style="color: #F56C6C">上月</span>合格率对比</div>
          <Echarts ref="chart"
                   :barColors="barColors2"
                   :chartStyle="chartStyle"
                   :grid="grid"
                   :legend="barLegend"
                   :series="barSeries"
                   :tooltip="tooltip"
                   :xAxis="xAxis1"
                   :yAxis="yAxis1"
                   style="height: 36vh;"></Echarts>
          <div class="title">原辅料<span style="color: #F56C6C">本月</span>与<span style="color: #F56C6C">上月</span>合格率对比</div>
          <Echarts ref="chart" :barColors="barColors2" :chartStyle="chartStyle" :grid="grid" :legend="barLegend"
            :series="barSeries" :tooltip="tooltip" :xAxis="xAxis1" :yAxis="yAxis1" style="height: 36vh;"></Echarts>
        </div>
      </el-col>
    </el-row>
@@ -80,16 +57,8 @@
      <el-col :span="24">
        <div class="inspection-card">
          <div class="title">合格率</div>
          <Echarts ref="chart"
                   :barColors="barColors"
                   :grid="grid"
                   :legend="legend"
                   :lineColors="lineColors"
                   :options="echartsOptions"
                   :series="echartsSeries"
                   :tooltip="tooltip"
                   :xAxis="xAxis"
                   :yAxis="yAxis"
          <Echarts ref="chart" :barColors="barColors" :grid="grid" :legend="legend" :lineColors="lineColors"
            :options="echartsOptions" :series="echartsSeries" :tooltip="tooltip" :xAxis="xAxis" :yAxis="yAxis"
                   style="height: 40vh;"></Echarts>
        </div>
      </el-col>
@@ -355,7 +324,7 @@
        this.xAxis[0].data = xAxis
      })
    },
    // 获取原材料合格率图表数据
    // 获取原辅料合格率图表数据
    getRawPass() {
      const params = {
        dateType: this.dateType,
@@ -420,15 +389,18 @@
.title {
  padding: 10px 0 0 20px;
}
.table {
  padding: 0 10px 10px;
}
.pie-card {
  width: 100%;
  background: #FFFFFF;
  margin-top: 10px;
  position: relative;
}
.data {
  position: absolute;
  font-size: 20px;
@@ -437,6 +409,7 @@
  top: 42%;
  z-index: 1;
}
.inspection-card{
  width: 100%;
  background: #FFFFFF;
src/views/structural/capabilityAndLaboratory/capability/index.vue
@@ -290,7 +290,7 @@
                this.bindWokshop1(row);
              },
              disabled: (row) => {
                return row.objectType != '原材料'
                return row.objectType != '原辅料' && row.objectType != '包材'
              }
            },
          ]
@@ -348,7 +348,7 @@
                this.bindWokshop(row);
              },
              showHide: (row) => {
                if (this.currentObj.objectType != '原材料') {
                if (this.currentObj.objectType != '原辅料' && row.objectType != '包材') {
                  return false
                } else {
                  return true
@@ -586,7 +586,7 @@
    // 产品维护
    upProduct(row) {
      this.currentObj = row;
      if (this.currentObj.objectType == '原材料') {
      if (this.currentObj.objectType == '原辅料') {
        if (this.productColumn.length < 4) {
          this.productColumn.splice(2, 0, { label: '车间名称', prop: 'workShopName' })
        }
src/views/structural/capabilityAndLaboratory/capabilityComponents/bindPartDialog.vue
@@ -22,7 +22,8 @@
          <el-form-item label="色标:" prop="colorCode">
            <el-input v-model="bindPartData.colorCode" size="small"></el-input>
          </el-form-item>
          <el-form-item label="进厂检验项:" prop="inspectionItem" v-if="currentObj.objectType == '原材料'" label-width="100px">
          <el-form-item label="进厂检验项:" prop="inspectionItem"
            v-if="currentObj.objectType == '原辅料' || currentObj.objectType == '包材'" label-width="100px">
            <!-- <el-input v-model="bindPartData.inspectionItem" disabled placeholder="选择检验项" size="small">
              <template slot="append">
                <el-button slot="append" icon="el-icon-search" @click="openItems"></el-button>
@@ -200,7 +201,7 @@
        partNo: '', // 零件号
        color: '', // 颜色
        colorCode: '', // 色标
        inspectionItem: [],//原材料进厂检验对象列表
        inspectionItem: [],//原辅料进厂检验对象列表
      },
      bindPartDataRules: {
        partNo: [
@@ -211,7 +212,7 @@
      upIndex: 0,
      addBindLoad: false,
      itemList: [],//原材料进厂检验对象列表
      itemList: [],//原辅料进厂检验对象列表
      editItem: false,
      editList: [],
      editColumn: [