loulijun2021
2023-05-06 24a3cbbc31b8fbff1c6a3c9b9e4360dc82a05f4e
1.上云路由整合
已修改3个文件
955 ■■■■ 文件已修改
src/router/index.js 602 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/permission.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportManager/logisticsCheck.vue 349 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js
@@ -30,6 +30,7 @@
 * a base page that does not have permission requirements
 * all roles can be accessed
 */
// 公用模块
export const commonRoutes = [
  /*
  * 看板部分路由
@@ -83,7 +84,8 @@
  }
  // { path: '*', redirect: '/404', hidden: true }
]
export const asyncRoutes = [
// 上云模块
export const asyncRoutesCloud = [
  // 1.系统管理(基础设置类)
  {
    path: '/systemSetting',
@@ -705,6 +707,604 @@
  // }
]
// 未上云模块
export const asyncRoutes = [
  // {
  //   path: '/gtt',
  //   component: Layout,
  //   redirect: '/gtt/back',
  //   name: '基础设置',
  //   code: '1001',
  //   meta: { code: '1001', title: '基础设置', icon: 'tree' },
  //   alwaysShow: true, // 当children只有一个时,也显示父菜单
  //   children: [{
  //     path: 'back',
  //     name: 'YYQDCancel',
  //     code: '1011',
  //     component: () => import('@/views/gantt_back/gantt_back'),
  //     meta: { code: '1011', title: '用户清单', icon: '', keepAlive: true }
  //   }, {
  //     path: 'zdpc2',
  //     name: 'YYQDCancel',
  //     code: '1012',
  //     component: () => import('@/views/gantt_back/zdpc2'),
  //     meta: { code: '1012', title: '自动排程2', icon: '', keepAlive: true }
  //   }]
  // },
  {
    path: '/basicSettings',
    component: Layout,
    redirect: '/basicSettings/organizationList',
    name: '基础设置',
    code: '1001',
    meta: { code: '1001', title: '基础设置', icon: 'tree2' },
    alwaysShow: true, // 当children只有一个时,也显示父菜单
    children: [
      {
        path: 'organizationList',
        name: 'organizationListCancel',
        code: '1010',
        component: () => import('@/views/basicSettings/organizationList'),
        meta: { code: '1010', title: '组织架构', icon: '', keepAlive: true }
      }, {
        path: 'userList',
        name: 'userListCancel',
        code: '1011',
        component: () => import('@/views/basicSettings/userList'),
        meta: { code: '1011', title: '用户清单', icon: '', keepAlive: true }
      }, {
        path: 'roleList',
        name: 'roleListCancel',
        code: '1012',
        component: () => import('@/views/basicSettings/roleList'),
        meta: { code: '1012', title: '角色清单', icon: '', keepAlive: true }
      }, {
        path: 'contactUnitList',
        name: 'contactUnitListCancel',
        code: '1013',
        component: () => import('@/views/basicSettings/contactUnitList'),
        meta: { code: '1013', title: '往来单位', icon: '', keepAlive: true }
      }, {
        path: 'installationLampSetting',
        name: 'installationLampSettingCancel',
        code: '1014',
        component: () => import('@/views/basicSettings/installationLampSetting'),
        meta: { code: '1014', title: '安灯设置', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/deviceManager',
    component: Layout,
    redirect: '/deviceManager/deviceType',
    name: '设备管理',
    code: '1002',
    meta: { code: '1002', title: '设备管理', icon: 'example' },
    alwaysShow: true,
    children: [
      {
        path: 'deviceType',
        name: 'deviceTypeCancel',
        code: '1020',
        component: () => import('@/views/deviceManager/deviceType'),
        meta: { code: '1020', title: '设备类型', icon: '', keepAlive: true }
      },
      {
        path: 'deviceGroup',
        name: 'deviceGroupCancel',
        code: '1021',
        component: () => import('@/views/deviceManager/deviceGroup'),
        meta: { code: '1021', title: '设备组', icon: '', keepAlive: true }
      }, {
        path: 'deviceList',
        name: 'deviceListCancel',
        code: '1022',
        component: () => import('@/views/deviceManager/deviceList'),
        meta: { code: '1022', title: '设备清单', icon: '', keepAlive: true }
      },
      {
        path: 'checkStandard',
        name: 'checkStandardCancel',
        code: '1023',
        component: () => import('@/views/deviceManager/checkStandard'),
        meta: { code: '1023', title: '点检标准', icon: '', keepAlive: true }
      },
      {
        path: 'checkPosition',
        name: 'checkPositionCancel',
        code: '1024',
        component: () => import('@/views/deviceManager/checkPosition'),
        meta: { code: '1024', title: '点检部位', icon: '', keepAlive: true }
      },
      {
        path: 'maintainStandard',
        name: 'maintainStandardCancel',
        code: '1025',
        component: () => import('@/views/deviceManager/maintainStandard'),
        meta: { code: '1025', title: '保养标准', icon: '', keepAlive: true }
      },
      {
        path: 'maintainPosition',
        name: 'maintainPositionCancel',
        code: '1026',
        component: () => import('@/views/deviceManager/maintainPosition'),
        meta: { code: '1026', title: '保养部位', icon: '', keepAlive: true }
      },
      {
        path: 'checkRecord',
        name: 'checkRecordCancel',
        code: '1027',
        component: () => import('@/views/deviceManager/checkRecord'),
        meta: { code: '1027', title: '点检记录', icon: '', keepAlive: true }
      },
      {
        path: 'maintainRecord',
        name: 'maintainRecordCancel',
        code: '1028',
        component: () => import('@/views/deviceManager/maintainRecord'),
        meta: { code: '1028', title: '保养记录', icon: '', keepAlive: true }
      },
      {
        path: 'repairRecord',
        code: '1029',
        name: 'repairRecordCancel',
        component: () => import('@/views/deviceManager/repairRecord'),
        meta: { code: '1029', title: '维修记录', icon: '', keepAlive: true }
      },
      {
        path: 'repairRequestRecord',
        name: 'repairRequestRecordCancel',
        code: '1019',
        component: () => import('@/views/deviceManager/repairRequestRecord'),
        meta: { code: '1019', title: '设备申请维修记录', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/gzgl',
    component: Layout,
    redirect: '/gzgl/gzlx',
    name: '工装管理',
    code: '1003',
    meta: { code: '1003', title: '工装管理', icon: 'component' },
    alwaysShow: true,
    children: [
      {
        path: 'gzlx',
        name: 'GZLXCancel',
        code: '1030',
        component: () => import('@/views/gzgl/gzlx'),
        meta: { code: '1030', title: '工装类型', icon: '', keepAlive: true }
      }, {
        path: 'sjxj',
        name: 'SJXJCancel',
        code: '1039',
        component: () => import('@/views/gzgl/sjxj'),
        meta: { code: '1039', title: '上机下机', icon: '', keepAlive: true }
      }, {
        path: 'ckrk',
        name: 'CKRKCancel',
        code: '1040',
        component: () => import('@/views/gzgl/ckrk'),
        meta: { code: '1040', title: '出库入库', icon: '', keepAlive: true }
      }, {
        path: 'gzqd',
        name: 'GZQDCancel',
        code: '1031',
        component: () => import('@/views/gzgl/gzqd'),
        meta: { code: '1031', title: '工装清单', icon: '', keepAlive: true }
      }, {
        path: 'djbz',
        name: 'DJBZCancel',
        code: '1032',
        component: () => import('@/views/gzgl/djbz'),
        meta: { code: '1032', title: '点检标准', icon: '', keepAlive: true }
      }, {
        path: 'djbw',
        name: 'DJBWCancel',
        code: '1033',
        component: () => import('@/views/gzgl/djbw'),
        meta: { code: '1033', title: '点检部位', icon: '', keepAlive: true }
      }, {
        path: 'bybz',
        name: 'BYBZCancel',
        code: '1034',
        component: () => import('@/views/gzgl/bybz'),
        meta: { code: '1034', title: '保养标准', icon: '', keepAlive: true }
      }, {
        path: 'bybw',
        name: 'BYBWCancel',
        code: '1035',
        component: () => import('@/views/gzgl/bybw'),
        meta: { code: '1035', title: '保养部位', icon: '', keepAlive: true }
      }, {
        path: 'djjl',
        name: 'DJJLCancel',
        code: '1036',
        component: () => import('@/views/gzgl/djjl'),
        meta: { code: '1036', title: '点检记录', icon: '', keepAlive: true }
      }, {
        path: 'byjl',
        name: 'BYJLCancel',
        code: '1037',
        component: () => import('@/views/gzgl/byjl'),
        meta: { code: '1037', title: '保养记录', icon: '', keepAlive: true }
      }, {
        path: 'gzwx',
        name: 'GZWXCancel',
        code: '1038',
        component: () => import('@/views/gzgl/gzwx'),
        meta: { code: '1038', title: '工装维修', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/materialManager',
    component: Layout,
    redirect: '/materialManager/storehouseDefine',
    name: '物料管理',
    code: '1004',
    meta: { code: '1004', title: '物料管理', icon: 'table' },
    alwaysShow: true,
    children: [
      {
        path: 'storehouseDefine',
        name: 'storehouseDefineCancel',
        code: '1050',
        component: () => import('@/views/materialManager/storehouseDefine'),
        meta: { code: '1050', title: '仓库定义', icon: '', keepAlive: true }
      },
      {
        path: 'locationDefine',
        name: 'locationDefineCancel',
        code: '1051',
        component: () => import('@/views/materialManager/locationDefine'),
        meta: { code: '1051', title: '库位定义', icon: '', keepAlive: true }
      }, {
        path: 'containerType',
        name: 'containerTypeCancel',
        code: '1052',
        component: () => import('@/views/materialManager/containerType'),
        meta: { code: '1052', title: '容器类型', icon: '', keepAlive: true }
      }, {
        path: 'containerList',
        name: 'containerListCancel',
        code: '1053',
        component: () => import('@/views/materialManager/containerList'),
        meta: { code: '1053', title: '容器清单', icon: '', keepAlive: true }
      }, {
        path: 'inOutboundRecord',
        name: 'inOutboundRecordCancel',
        code: '1054',
        component: () => import('@/views/materialManager/inOutboundRecord'),
        meta: { code: '1054', title: '出入库记录', icon: '', keepAlive: true }
      }, {
        path: 'inventoryQuery',
        name: 'inventoryQueryCancel',
        code: '1055',
        component: () => import('@/views/materialManager/inventoryQuery'),
        meta: { code: '1055', title: '库存查询', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/makeModel',
    component: Layout,
    redirect: '/makeModel/InventoryList',
    name: '制造模型',
    code: '1005',
    meta: { code: '1005', title: '制造模型', icon: 'icu' },
    alwaysShow: true,
    children: [
      {
        path: 'materialType',
        name: 'materialTypeCancel',
        code: '1060',
        component: () => import('@/views/makeModel/materialType'),
        meta: { code: '1060', title: '物料类型', icon: '', keepAlive: true }
      },
      {
        path: 'InventoryList',
        name: 'InventoryListCancel',
        code: '1061',
        component: () => import('@/views/makeModel/InventoryList'),
        meta: { code: '1061', title: '存货档案', icon: '', keepAlive: true }
      }, {
        path: 'materialList',
        name: 'materialListCancel',
        code: '1062',
        component: () => import('@/views/makeModel/materialList'),
        meta: { code: '1062', title: '物料清单', icon: '', keepAlive: true }
      },
      {
        path: 'processRoute',
        name: 'processRouteCancel',
        code: '1063',
        component: () => import('@/views/makeModel/processRoute'),
        meta: { code: '1063', title: '工艺路线', icon: '', keepAlive: true }
      }, {
        path: 'processDefine',
        name: 'processDefineCancel',
        code: '1064',
        component: () => import('@/views/makeModel/processDefine'),
        meta: { code: '1064', title: '工序定义', icon: '', keepAlive: true }
      },
      {
        path: 'meterPrice',
        name: 'meterPriceCancel',
        code: '1065',
        component: () => import('@/views/makeModel/meterPrice'),
        meta: { code: '1065', title: '节拍工价', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/produceManager',
    component: Layout,
    redirect: '/produceManager/produceOrder',
    name: '生产管理',
    code: '1006',
    meta: { code: '1006', title: '生产管理', icon: 'production' },
    alwaysShow: true,
    children: [
      {
        path: 'produceOrder',
        name: 'produceOrderCancel',
        code: '1070',
        component: () => import('@/views/produceManager/produceOrder'),
        meta: { code: '1070', title: 'ERP生产订单', icon: '', keepAlive: true }
      }, {
        path: 'workOrder',
        name: 'workOrderCancel',
        code: '1071',
        component: () => import('@/views/produceManager/workOrder'),
        meta: { code: '1071', title: 'MES工单', icon: '', keepAlive: true }
      }, {
        path: 'workOrderDispatch',
        name: 'workOrderDispatchCancel',
        code: '1072',
        component: () => import('@/views/produceManager/workOrderDispatch'),
        meta: { code: '1072', title: '工单派工', icon: '', keepAlive: true }
      }, {
        path: 'produceStartOrder',
        name: 'produceStartOrderCancel',
        code: '1073',
        component: () => import('@/views/produceManager/produceStartOrder'),
        meta: { code: '1073', title: '生产开报工', icon: '', keepAlive: true }
      }, {
        path: 'workOrderBatchClose',
        name: 'workOrderBatchCloseCancel',
        code: '1074',
        component: () => import('@/views/produceManager/workOrderBatchClose'),
        meta: { code: '1074', title: 'MES工单批量关闭', icon: '', keepAlive: true }
      }, {
        path: 'capacityPlanning',
        name: 'capacityPlanningCancel',
        code: '1075',
        component: () => import('@/views/produceManager/capacityPlanning'),
        meta: { code: '1075', title: '产能规划', icon: '', keepAlive: true }
      }, {
        path: 'AutoScheduling',
        name: 'AutoSchedulingCancel',
        code: '1076',
        component: () => import('@/views/produceManager/AutoScheduling'),
        meta: { code: '1076', title: '自动排程', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/qualityManager',
    component: Layout,
    redirect: '/qualityManager/defectDefine',
    name: '质量管理',
    code: '1007',
    meta: { code: '1007', title: '质量管理', icon: 'quality' },
    alwaysShow: true,
    children: [
      {
        path: 'qualityStandard',
        name: 'qualityStandardCancel',
        code: '1080',
        component: () => import('@/views/qualityManager/qualityStandard'),
        meta: { code: '1080', title: '质检标准', icon: '', keepAlive: true }
      }, {
        path: 'defectDefine',
        name: 'defectDefineCancel',
        code: '1081',
        component: () => import('@/views/qualityManager/defectDefine'),
        meta: { code: '1081', title: '缺陷定义', icon: '', keepAlive: true }
      }, {
        path: 'processCheck',
        name: 'processCheckCancel',
        code: '1082',
        component: () => import('@/views/qualityManager/processCheck'),
        meta: { code: '1082', title: '工序检验', icon: '', keepAlive: true }
      }, {
        path: 'logisticsCheck',
        name: 'logisticsCheckCancel',
        code: '1083',
        component: () => import('@/views/qualityManager/logisticsCheck'),
        meta: { code: '1083', title: '物流检验', icon: '', keepAlive: true }
      }, {
        path: 'defectStatistics',
        name: 'defectStatisticsCancel',
        code: '1084',
        component: () => import('@/views/qualityManager/defectStatistics'),
        meta: { code: '1084', title: '缺陷统计', icon: '', keepAlive: true }
      },
      {
        path: 'processCheckStandard',
        name: 'processCheckStandardCancel',
        code: '1085',
        component: () => import('@/views/qualityManager/processCheckStandard'),
        meta: { code: '1085', title: '工序检验标准', icon: '', keepAlive: true }
      },
      {
        path: 'processCheckItem',
        name: 'processCheckItemCancel',
        code: '1086',
        component: () => import('@/views/qualityManager/processCheckItem'),
        meta: { code: '1086', title: '工序检验项目', icon: '', keepAlive: true }
      }, {
        path: 'processCheckRecord',
        name: 'processCheckRecordCancel',
        code: '1087',
        component: () => import('@/views/qualityManager/processCheckRecord'),
        meta: { code: '1087', title: '工序检验记录', icon: '', keepAlive: true }
      }, {
        path: 'qualityPlaning',
        name: 'ZJFACancel',
        code: '1088',
        component: () => import('@/views/qualityManager/qualityPlaning'),
        meta: { code: '1088', title: '质检方案', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/reportManager',
    component: Layout,
    redirect: '/reportManager/groupSalaryList',
    name: '报表管理',
    code: '1008',
    meta: { code: '1008', title: '报表管理', icon: 'bbgl' },
    alwaysShow: true,
    children: [
      {
        path: 'groupSalaryList',
        name: 'groupSalaryListCancel',
        code: '1090',
        component: () => import('@/views/reportManager/groupSalaryList'),
        meta: { code: '1090', title: '班组工资统计', icon: '', keepAlive: true }
      }, {
        path: 'personSalaryList',
        name: 'personSalaryListCancel',
        code: '1091',
        component: () => import('@/views/reportManager/personSalaryList'),
        meta: { code: '1091', title: '人员工资', icon: '', keepAlive: true }
      }, {
        path: 'subcontractingOperation',
        name: 'subcontractingOperationCancel',
        code: '1092',
        component: () => import('@/views/reportManager/subcontractingOperation'),
        meta: { code: '1092', title: '委外工序', icon: '', keepAlive: true }
      }, {
        path: 'defectDetailList',
        name: 'defectDetailListCancel',
        code: '1093',
        component: () => import('@/views/reportManager/defectDetailList'),
        meta: { code: '1093', title: '不良明细', icon: '', keepAlive: true }
      }, {
        path: 'abnormalQualityList',
        name: 'abnormalQualityListCancel',
        code: '1094',
        component: () => import('@/views/reportManager/abnormalQualityList'),
        meta: { code: '1094', title: '品质异常', icon: '', keepAlive: true }
      }, {
        path: 'repairDetailList',
        name: 'repairDetailListCancel',
        code: '1095',
        component: () => import('@/views/reportManager/repairDetailList'),
        meta: { code: '1095', title: '维修明细', icon: '', keepAlive: true }
      }, {
        path: 'installationLampList',
        name: 'installationLampListCancel',
        code: '1096',
        component: () => import('@/views/reportManager/installationLampList'),
        meta: { code: '1096', title: '安灯报表', icon: '', keepAlive: true }
      }, {
        path: 'logisticsCheck',
        name: 'logisticsCheckCancel',
        code: '1097',
        component: () => import('@/views/reportManager/logisticsCheck'),
        meta: { code: '1097', title: '物流检验报表', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/systemSettings',
    component: Layout,
    redirect: '/systemSettings/bmgz',
    name: '系统设置',
    code: '1009',
    meta: { code: '1009', title: '系统设置', icon: 'xtsz' },
    alwaysShow: true,
    children: [
      {
        path: 'codingRules',
        name: 'codingRulesCancel',
        code: '1101',
        component: () => import('@/views/systemSettings/codingRules'),
        meta: { code: '1101', title: '编码规则', icon: '', keepAlive: true }
      }, {
        path: 'passwordEdit',
        name: 'passwordEditCancel',
        code: '1102',
        component: () => import('@/views/systemSettings/passwordEdit'),
        meta: { code: '1102', title: '密码修改', icon: '', keepAlive: true }
      }, {
        path: 'systemLog',
        name: 'systemLogCancel',
        code: '1103',
        component: () => import('@/views/systemSettings/systemLog'),
        meta: { code: '1103', title: '系统日志', icon: '', keepAlive: true }
      }, {
        path: 'sopUpload',
        name: 'sopUploadCancel',
        code: '1104',
        component: () => import('@/views/systemSettings/sopUpload'),
        meta: { code: '1104', title: 'SOP上传', icon: '', keepAlive: true }
      }, {
        path: 'shopNotice',
        name: 'shopNoticeCancel',
        code: '1105',
        component: () => import('@/views/systemSettings/shopNotice'),
        meta: { code: '1105', title: '车间公告', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/purchasesManager',
    component: Layout,
    redirect: '/purchasesManager/purchasesList',
    name: '采购管理',
    code: '1000',
    meta: { code: '1000', title: '采购管理', icon: 'cggl' },
    alwaysShow: true,
    children: [
      {
        path: 'purchasesList',
        name: 'CGDDCancel',
        code: '1201',
        component: () => import('@/views/purchasesManager/purchasesList'),
        meta: { code: '1201', title: '采购订单', icon: '', keepAlive: true }
      }, {
        path: 'arrivalNoticeList',
        name: 'arrivalNoticeListCancel',
        code: '1202',
        component: () => import('@/views/purchasesManager/arrivalNoticeList'),
        meta: { code: '1202', title: '采购收货单', icon: '', keepAlive: true }
      }, {
        path: 'salesStatisticsList',
        name: 'salesStatisticsCancel',
        code: '1203',
        component: () => import('@/views/purchasesManager/salesStatisticsList'),
        meta: { code: '1203', title: '销售订单', icon: '', keepAlive: true }
      }, {
        path: 'goodsStatisticsList',
        name: 'goodsStatisticsListCancel',
        code: '1204',
        component: () => import('@/views/purchasesManager/goodsStatisticsList'),
        meta: { code: '1204', title: '销货单', icon: '', keepAlive: true }
      }, {
        path: 'InventoryLedgerList',
        name: 'InventoryLedgerListCancel',
        code: '1205',
        component: () => import('@/views/purchasesManager/InventoryLedgerList'),
        meta: { code: '1205', title: '库存台账', icon: '', keepAlive: true }
      }
    ]
  }
]
const createRouter = () => new Router({
  // mode: 'history', // require service support
src/store/modules/permission.js
@@ -1,4 +1,4 @@
import { asyncRoutes, commonRoutes } from '@/router'
import { asyncRoutes, asyncRoutesCloud, commonRoutes } from '@/router'
import Layout from '@/layout'
import { getCookie } from '@/utils/auth'
@@ -103,7 +103,7 @@
      let newRoutes
      if (getCookie('cloud')) {
        const arr = menu.map(i => i.code)
        newRoutes = asyncRoutes.filter(i => {
        newRoutes = asyncRoutesCloud.filter(i => {
          if (arr.includes(i.code)) {
            return i
          }
src/views/reportManager/logisticsCheck.vue
@@ -17,7 +17,7 @@
            <el-form-item label="检验类型" style=" display: flex;">
              <!--              <el-input v-model="form.checktypecode" placeholder="请输入" style="width: 200px" />-->
              <el-select v-model="form.style" style="width: 200px" placeholder="请选择">
              <el-select v-model="form.checktypecode" style="width: 200px" placeholder="请选择">
                <el-option
                  v-for="item in checktypeArr"
                  :key="item.code"
@@ -120,16 +120,37 @@
            fixed
            label="序号"
          />
          <!--          <el-table-column-->
          <!--            prop="check_type"-->
          <!--            label="检验类型"-->
          <!--            width="160"-->
          <!--            sortable="custom"-->
          <!--          >-->
          <!--            <template slot-scope="{row}">-->
          <!--              <div>{{ checktypeArr.find(i=>i.code===row.check_type).name }}</div>-->
          <!--            </template>-->
          <!--          </el-table-column> -->
          <el-table-column
            prop="wo_code"
            prop="check_typename"
            label="检验类型"
            width="160"
            width="110"
            sortable="custom"
          />
          <el-table-column
            prop="sampmethod"
            label="抽样方式"
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.sampmethod==='FIXED'">固时抽检</div>
              <div v-if="row.sampmethod==='SCARE'">比例抽检</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="partcode"
            label="物料编码"
            width="160"
            width="110"
            show-tooltip-when-overflow
            sortable="custom"
          />
@@ -142,7 +163,7 @@
          />
          <el-table-column
            prop="partspec"
            label="产品规格"
            label="规格型号"
            width="120"
            show-tooltip-when-overflow
            sortable="custom"
@@ -158,67 +179,80 @@
            width="110"
            show-tooltip-when-overflow
            sortable="custom"
          />
          >
            <template slot-scope="{row}">
              <div v-if="row.hbatchno">{{ row.hbatchno }}</div>
              <div v-else>/</div>
            </template>
          </el-table-column>
          <el-table-column
            prop="hbarcode"
            label="条码编号"
            width="110"
            width="160"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="customer_name"
            label="往来单位"
            width="160"
            min-width="160"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="plan_qty"
            label="任务数量"
            width="110"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="repair_qty"
            label="维修数量"
            width="110"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="bad_qty"
            label="报废数量"
            width="110"
            sortable="custom"
          />
          <el-table-column
            prop="defect_code"
            label="缺陷代码"
            width="110"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="defect_name"
            label="批次条码"
            width="110"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="lm_user"
            label="检验人员"
            prop="username"
            label="质检人员"
            width="110"
            sortable="custom"
          />
          <el-table-column
            prop="lm_date"
            label="检验时间"
            label="质检时间"
            width="160"
            sortable="custom"
          />
          <el-table-column
            prop="check_result"
            label="检验结果"
            width="110"
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.check_result==='OK'" style="display: flex;align-items: center">
                <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />
                合格
              </div>
              <div v-if="row.check_result==='NG'" style="display: flex;align-items: center">
                <i class="el-icon-error" style="color: red;margin-right: 2px" />
                不合格
              </div>
            </template>
          </el-table-column>
          <el-table-column
            label="检验明细"
            width="120"
            fixed="right"
          >
            <template slot-scope="{row}">
              <div class="operationClass">
                <el-tooltip class="item" effect="dark" content="查看" placement="top">
                  <i
                    class="el-icon-view"
                    :style="{color:$store.state.settings.theme}"
                    style="margin-right:15px;cursor: pointer;"
                    @click="edit('edit',row)"
                  />
                </el-tooltip>
                <!--                <el-tooltip class="item" effect="dark" content="编辑" placement="top">-->
                <!--                  <i class="el-icon-edit-outline" @click="edit('edit',row)" />-->
                <!--                </el-tooltip>-->
                <!--                <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top">-->
                <!--                  <i class="el-icon-delete" @click="del(row)" />-->
                <!--                </el-tooltip>-->
              </div>
            </template>
          </el-table-column>
        </el-table>
      </div>
@@ -236,7 +270,7 @@
    <el-dialog
      v-el-drag-dialog
      :title="operation==='add'?'新增':'人员明细'"
      :title="operation==='add'?'新增':'检验明细'"
      :visible.sync="dialogVisible"
      width="800px"
      :close-on-click-modal="false"
@@ -244,16 +278,89 @@
      @closed="handleClose"
      @close="handleClose"
    >
      <div style="height: 300px;width: 100%;background-color: aliceblue;padding:20px">
        <el-tag
          v-for="tag in tagArr"
          :key="tag.name"
          type="success"
          style="margin-right: 15px;min-width: 80px;text-align: center"
      <el-table
        ref="tableDataRef2"
        class="tableFixed"
        :data="dialogTableData"
        height="500"
        style="height:500px"
        border
        :row-class-name="tableRowClassName"
        highlight-current-row
        :header-cell-style="this.$headerCellStyle"
        :cell-style="this.$cellStyle"
      >
        <el-table-column
          type="index"
          width="50"
          fixed
          label="序号"
        />
        <el-table-column
          prop="stepcheckitem_code"
          width="150"
          label="检验项目"
        >
          {{ tag }}
        </el-tag>
      </div>
          <template slot-scope="{row}">
            <el-select
              v-if="row.isVisible===1"
              v-model="row.stepcheckitem_code"
              filterable
              placeholder="请选择"
              style="width: 100%;"
            >
              <!--              @change="val=>tableChange(val,row)"-->
              <el-option
                v-for="item in CheckItemSelectArr"
                :key="item.code"
                :label="item.name"
                :value="item.code"
              />
            </el-select>
            <div v-else>{{
              CheckItemSelectAllArr.find(i => i.code === row.stepcheckitem_code).name
            }}
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="stepcheckitem_desc"
          label="标准要求"
          show-tooltip-when-overflow
        >
          <template slot-scope="{row}">
            <el-input
              v-if="row.isVisible===1"
              v-model="row.stepcheckitem_desc"
              placeholder="请输入"
            />
            <div v-else>{{ row.stepcheckitem_desc ? row.stepcheckitem_desc : '/' }}</div>
          </template>
        </el-table-column>
        <!--        这里写for循环遍历语句-->
        <el-table-column
          v-if="operation!=='check'"
          label="操作"
          width="120"
          fixed="right"
        >
          <template slot-scope="{row}">
            <div class="operationClass">
              <el-button v-if="row.isVisible===1" v-waves type="text" @click="saveZjlbRow(row)">确认</el-button>
              <el-button v-if="row.isVisible===1&&isCancel" v-waves type="text" @click="cancelZjlbRow(row)">取消
              </el-button>
              <el-button v-if="row.isVisible!==1" v-waves type="text" @click="editZjlbRow(row)">编辑</el-button>
              <el-button v-if="row.isVisible!==1" v-waves type="text" @click="delZjlbRow(row)">删除</el-button>
            </div>
          </template>
        </el-table-column>
      </el-table>
      <span slot="footer" class="dialog-footer">
        <div class="footerButton">
          <el-button v-waves @click="dialogVisible=false">返 回</el-button>
@@ -263,30 +370,20 @@
      </span>
    </el-dialog>
    <!--导入组件-->
    <import-picker
      ref="importPickerFunc"
      class="importPickerClass"
      :shows.sync="shows"
      :title="title_value"
      :colos="colos"
      :code="code"
    />
  </div>
</template>
<script>
import Pagination from '@/components/Pagination'
import { getCookie } from '@/utils/auth'
import ImportPicker from '@/components/ImportPicker'
import { handleDatetime, validateCode } from '@/utils/global'
import { handleDatetime } from '@/utils/global'
import {
  GroupSalaryReportSearchUser, MaintenanceDetailsReportExcelSearch, LogisticsCheckSearch
  MaintenanceDetailsReportExcelSearch, LogisticsCheckSearch
} from '@/api/reportManager'
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
import { MesOrderStepReportSelectUserGroup } from '@/api/produceManager'
import { PurchSupplierSelect } from '@/api/basicInfo'
export default {
  name: 'Zzjg',
@@ -327,40 +424,13 @@
      total: 10,
      tableData: [],
      dialogVisible: false,
      tagArr: [], //
      dialogForm: {
        OrgType: '',
        OrgCode: '',
        OrgName: '',
        SupUnit: ''// 上级单位
      },
      operation: '',
      dialogFormRules: {
        OrgType: [
          { required: true, message: '请输入选择类型', trigger: ['blur', 'change'] }
        ],
        OrgCode: [
          { required: true, validator: validateCode, trigger: ['blur', 'change'] }
        ],
        OrgName: [
          { required: true, message: '请输入名称', trigger: ['blur', 'change'] }
        ]
      },
      title_value: '数据导入 / 点检部位',
      code: '4',
      shows: false
      dialogTableData: []
    }
  },
  watch: {
    shows() {
      if (!this.shows) {
        this.getLogisticsCheckSearch()
      }
    }
  },
  created() {
    this.handleRequest()
  },
@@ -446,14 +516,7 @@
    search() {
      this.getLogisticsCheckSearch()
    },
    // 导入按钮
    upload() {
      this.shows = true
      this.$refs.importPickerFunc.newDataFunc()
    },
    colos() {
      this.shows = false
    },
    // 重置
    reset() {
      this.form.checktypecode = ''
@@ -469,77 +532,22 @@
    },
    // 新增按钮
    add(operation) {
      this.operation = operation
      this.dialogVisible = true
    },
    // add(operation) {
    //   this.operation = operation
    //   this.dialogVisible = true
    // },
    // 修改按钮
    async edit(operation, row) {
      this.operation = operation
      this.dialogVisible = true
      const res = await GroupSalaryReportSearchUser({ id: row.id })
      this.tagArr = res.data.map(r => r.checkuser)
      // this.tagArr = ['楼李俊', '张三', '李四']
      // this.$nextTick(() => {
      //   this.dialogForm.OrgCode = row.org_code
      //   this.dialogForm.OrgName = row.org_name
      //   this.dialogForm.SupUnit = row.parent_id
      // })
    },
    // 删除按钮
    async del(row) {
      // this.$confirm('是否确认删除?', '提示', {
      //   confirmButtonText: '确定',
      //   cancelButtonText: '取消',
      //   type: 'warning'
      // }).then(() => {
      //   DeleteOrganization({ orgid: row.code }).then(res => {
      //     if (res.code === '200') {
      //       this.$message.success('删除成功!')
      //       if (this.form.page > 1 && this.tableData.length === 1) {
      //         this.form.page--
      //       }
      //       this.getLogisticsCheckSearch()
      //     }
      //   })
      // }).catch(() => {
      //   this.$message.info('已取消删除')
      // })
    },
    // 对话框关闭事件
    handleClose() {
      this.dialogForm.OrgType = ''
      this.dialogForm.OrgCode = ''
      this.dialogForm.OrgName = ''
      this.dialogForm.SupUnit = ''
      this.$refs.dialogForm.clearValidate()
    },
    // 对话框取消
    dialogVisibleCancel() {
      this.dialogVisible = false
    },
    // 对话框确认
    dialogVisibleConfirm() {
      this.$refs.dialogForm.validate(valid => {
        if (valid) {
          const data = {
            OrganCode: this.dialogForm.OrgCode,
            OrganName: this.dialogForm.OrgName,
            OperType: this.operation === 'add' ? 'Add' : 'Update',
            Operator: getCookie('admin')
          }
          // AddUpdateOrganization(data).then(res => {
          //   if (res.code === '200') {
          //     this.$message.success(this.operation === 'add' ? '添加成功!' : '修改成功!')
          //     this.dialogVisible = false
          //     this.getLogisticsCheckSearch()
          //   } else {
          //     this.$message.error(this.operation === 'add' ? '添加失败!' : '修改失败!')
          //   }
          // })
        }
      })
    },
    // 获取页面高度
    getHeight() {
@@ -677,11 +685,12 @@
  justify-content: center;
}
.tableFixed{
  ::v-deep .el-table__fixed-right{
.tableFixed {
  ::v-deep .el-table__fixed-right {
    height: 100% !important;
  }
  ::v-deep .el-table__fixed{
  ::v-deep .el-table__fixed {
    height: 100% !important;
  }
}