Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before
| | |
| | | </head> |
| | | <body> |
| | | <div id="app"></div> |
| | | <script type='text/javascript' src='http://192.168.73.130:9001/web-apps/apps/api/documents/api.js'></script> |
| | | <!-- <script type='text/javascript' src='http://192.168.73.130:9001/web-apps/apps/api/documents/api.js'></script> --> |
| | | <script src="<%= htmlWebpackPlugin.options.url %>/static/luckysheet/plugins/js/plugin.js"></script> |
| | | <script src="<%= htmlWebpackPlugin.options.url %>/static/luckysheet/luckysheet.umd.js"></script> |
| | | </body> |
| | |
| | | height: 300px; |
| | | } |
| | | |
| | | .el-table-filter__list-item{ |
| | | font-size: 12px; |
| | | line-height: 32px; |
| | | } |
| | | </style> |
| | |
| | | export default function(Vue) { |
| | | //添加全局API |
| | | Vue.prototype.$api = { |
| | | login, |
| | | user, |
| | | dataReporting, |
| | | enums, |
| | | capacityScope, |
| | | laboratoryScope, |
| | | deviceScope, |
| | | systemLog, |
| | | standardTree, |
| | | standardMethod, |
| | | StandardTemplate, |
| | | insOrder, |
| | | sampleOrder, |
| | | //添加全局API |
| | | Vue.prototype.$api = { |
| | | login, |
| | | user, |
| | | dataReporting, |
| | | enums, |
| | | capacityScope, |
| | | laboratoryScope, |
| | | deviceScope, |
| | | systemLog, |
| | | standardTree, |
| | | standardMethod, |
| | | StandardTemplate, |
| | | insOrder, |
| | | sampleOrder, |
| | | insOrderPlan, |
| | | insReport, |
| | | warehouse, |
| | |
| | | informationNotification, |
| | | performanceShift, |
| | | auxiliaryWorkingHours, |
| | | unPass, |
| | | unPass, |
| | | companies |
| | | } |
| | | } |
| | | } |
| | | |
| | | const login = { |
| | | enter: "/user/enter", //登录 |
| | | enter: "/user/enter", //登录 |
| | | } |
| | | |
| | | const user = { |
| | | selectUserList: "/user/selectUserList", //获取用户列表 |
| | | selectRoleList: "/role/selectRoleList", //获取角色列表 |
| | | updateUser: "/user/updateUser", //修改用户信息 |
| | | addUser: "/user/addUser", //添加用户信息 |
| | | selectRoleLists: "/role/selectRoleLists", //获取角色列表 |
| | | delRole: "/role/delRole", //删除角色信息 |
| | | addRole: "/role/addRole", //添加角色信息 |
| | | selectMenuList: "/role/selectMenuList", //获取菜单 |
| | | selectPowerByRoleId: "/role/selectPowerByRoleId", //通过角色id查询权限列表 |
| | | upRole: "/role/upRole", //修改角色 |
| | | getUserMenu: "/user/getUserMenu", //获取用户枚举 |
| | | selectCustomPageList: "/user/selectCustomPageList", //获取客户列表 |
| | | delCustomById: "/user/delCustomById", //删除客户信息 |
| | | addCustom: "/user/addCustom", //新增客户信息 |
| | | getUserNow: "/user/getUserNow", //获取当前登录的客户信息 |
| | | getUserInfo: "/user/getUserInfo", //获取当前登录的用户信息 |
| | | selectUserList: "/user/selectUserList", //获取用户列表 |
| | | selectPersonnelOverview: "/user/selectPersonnelOverview", // 资源要求-人员总览 |
| | | selectRoleList: "/role/selectRoleList", //获取角色列表 |
| | | updateUser: "/user/updateUser", //修改用户信息 |
| | | addUser: "/user/addUser", //添加用户信息 |
| | | selectRoleLists: "/role/selectRoleLists", //获取角色列表 |
| | | delRole: "/role/delRole", //删除角色信息 |
| | | addRole: "/role/addRole", //添加角色信息 |
| | | selectMenuList: "/role/selectMenuList", //获取菜单 |
| | | selectPowerByRoleId: "/role/selectPowerByRoleId", //通过角色id查询权限列表 |
| | | upRole: "/role/upRole", //修改角色 |
| | | getUserMenu: "/user/getUserMenu", //获取用户枚举 |
| | | selectCustomPageList: "/user/selectCustomPageList", //获取客户列表 |
| | | delCustomById: "/user/delCustomById", //删除客户信息 |
| | | addCustom: "/user/addCustom", //新增客户信息 |
| | | getUserNow: "/user/getUserNow", //获取当前登录的客户信息 |
| | | getUserInfo: "/user/getUserInfo", //获取当前登录的用户信息 |
| | | upUserPassword: "/user/upUserPassword", //修改用户密码 |
| | | upUserDepardLimsId: "/user/upUserDepardLimsId", //修改人员明细所在组织架构 |
| | | delUserDepardLimsId: "/user/delUserDepardLimsId", //删除人员明细所在组织架构 |
| | | } |
| | | |
| | | const dataReporting = { |
| | | selectDataReportingList: "/dataReporting/selectDataReportingList", //获取数据上报列表 |
| | | upDataReporting: "/dataReporting/upDataReporting", //修改数据上报 |
| | | selectProductCountDtoPageList: "/dataReporting/selectProductCountDtoPageList", //获取项目汇总列表 |
| | | selectRegistrantCountDtoPageList: "/dataReporting/selectRegistrantCountDtoPageList", //获取登记人汇总列表 |
| | | addDataReporting: "/dataReporting/addDataReporting", //添加数据上报 |
| | | delDataReporting: "/dataReporting/delDataReporting", //删除数据上报 |
| | | downDataReportingFile: "/dataReporting/downDataReportingFile", //导出数据上报 |
| | | downProductCountFile: "/dataReporting/downProductCountFile", //导出项目数据统计 |
| | | downRegistrantCountFile: "/dataReporting/downRegistrantCountFile", //导出员工数据统计 |
| | | downFansSubmitFile: "/dataReporting/downFansSubmitFile", //导出进粉上报 |
| | | inputFansSubmitCsv: "/dataReporting/inputFansSubmitCsv", //导入进粉上报 |
| | | downFinanceSubmitFile: "/dataReporting/downFinanceSubmitFile", //导出财务上报 |
| | | inputFinanceSubmitCsv: "/dataReporting/inputFinanceSubmitCsv", //导入财务上报 |
| | | selectDataComparisonDtoPageList: "/dataReporting/selectDataComparisonDtoPageList", //获取数据对比列表 |
| | | deleteAllData: "/dataReporting/deleteAllData", //一键删除所有的数据上报 |
| | | selectDataReportingForCreateUserNames: "/dataReporting/selectDataReportingForCreateUserNames", //获取数据上报的登记人筛选项 |
| | | selectDataReportingList: "/dataReporting/selectDataReportingList", //获取数据上报列表 |
| | | upDataReporting: "/dataReporting/upDataReporting", //修改数据上报 |
| | | selectProductCountDtoPageList: "/dataReporting/selectProductCountDtoPageList", //获取项目汇总列表 |
| | | selectRegistrantCountDtoPageList: "/dataReporting/selectRegistrantCountDtoPageList", //获取登记人汇总列表 |
| | | addDataReporting: "/dataReporting/addDataReporting", //添加数据上报 |
| | | delDataReporting: "/dataReporting/delDataReporting", //删除数据上报 |
| | | downDataReportingFile: "/dataReporting/downDataReportingFile", //导出数据上报 |
| | | downProductCountFile: "/dataReporting/downProductCountFile", //导出项目数据统计 |
| | | downRegistrantCountFile: "/dataReporting/downRegistrantCountFile", //导出员工数据统计 |
| | | downFansSubmitFile: "/dataReporting/downFansSubmitFile", //导出进粉上报 |
| | | inputFansSubmitCsv: "/dataReporting/inputFansSubmitCsv", //导入进粉上报 |
| | | downFinanceSubmitFile: "/dataReporting/downFinanceSubmitFile", //导出财务上报 |
| | | inputFinanceSubmitCsv: "/dataReporting/inputFinanceSubmitCsv", //导入财务上报 |
| | | selectDataComparisonDtoPageList: "/dataReporting/selectDataComparisonDtoPageList", //获取数据对比列表 |
| | | deleteAllData: "/dataReporting/deleteAllData", //一键删除所有的数据上报 |
| | | selectDataReportingForCreateUserNames: "/dataReporting/selectDataReportingForCreateUserNames", //获取数据上报的登记人筛选项 |
| | | |
| | | selectFansSubmitList: "/dataReporting/selectFansSubmitList", //获取进粉上报列表 |
| | | delFansSubmit: "/dataReporting/delFansSubmit", //删除进粉上报信息 |
| | | updateFansSubmit: "/dataReporting/updateFansSubmit", //修改进粉上报信息 |
| | | addFansSubmit: "/dataReporting/addFansSubmit", //添加进粉上报信息 |
| | | selectVxs: "/dataReporting/selectVxs", //获取进粉中的微信号列表 |
| | | selectFansSubmitList: "/dataReporting/selectFansSubmitList", //获取进粉上报列表 |
| | | delFansSubmit: "/dataReporting/delFansSubmit", //删除进粉上报信息 |
| | | updateFansSubmit: "/dataReporting/updateFansSubmit", //修改进粉上报信息 |
| | | addFansSubmit: "/dataReporting/addFansSubmit", //添加进粉上报信息 |
| | | selectVxs: "/dataReporting/selectVxs", //获取进粉中的微信号列表 |
| | | |
| | | selectFinanceSubmitList: "/dataReporting/selectFinanceSubmitList", //获取财务上报列表 |
| | | delFinanceSubmit: "/dataReporting/delFinanceSubmit", //删除财务上报信息 |
| | | updateFinanceSubmit: "/dataReporting/updateFinanceSubmit", //修改财务上报信息 |
| | | addFinanceSubmit: "/dataReporting/addFinanceSubmit", //添加财务上报信息 |
| | | selectFinanceSubmitList: "/dataReporting/selectFinanceSubmitList", //获取财务上报列表 |
| | | delFinanceSubmit: "/dataReporting/delFinanceSubmit", //删除财务上报信息 |
| | | updateFinanceSubmit: "/dataReporting/updateFinanceSubmit", //修改财务上报信息 |
| | | addFinanceSubmit: "/dataReporting/addFinanceSubmit", //添加财务上报信息 |
| | | |
| | | getDataList: "/dataReporting/getDataList", //获取首页数据 |
| | | getDataList: "/dataReporting/getDataList", //获取首页数据 |
| | | |
| | | inputCsv: "/dataReporting/inputCsv", //导入 |
| | | inputCsv: "/dataReporting/inputCsv", //导入 |
| | | } |
| | | |
| | | const enums = { |
| | | selectEnumList: "/enum/selectEnumList", //获取枚举列表 |
| | | addEnum: "/enum/addEnum", //添加枚举 |
| | | upEnum: "/enum/upEnum", //修改枚举 |
| | | delEnum: "/enum/delEnum", //删除枚举 |
| | | selectEnumByCategory: "/enum/selectEnumByCategory", //通过分类查询枚举 |
| | | selectEnumList: "/enum/selectEnumList", //获取枚举列表 |
| | | addEnum: "/enum/addEnum", //添加枚举 |
| | | upEnum: "/enum/upEnum", //修改枚举 |
| | | delEnum: "/enum/delEnum", //删除枚举 |
| | | selectEnumByCategory: "/enum/selectEnumByCategory", //通过分类查询枚举 |
| | | getDic: "/enum/getDic", //获取数据字典的分类 |
| | | } |
| | | |
| | | const capacityScope = { |
| | | selectItemParameterList: "/capacityScope/selectItemParameterList", //获取检验项目参数 |
| | | addItemParameter: "/capacityScope/addItemParameter", //新增检验项目参数 |
| | | delItemParameter: "/capacityScope/delItemParameter", //删除检验项目参数 |
| | | upItemParameter: "/capacityScope/upItemParameter", //修改检验项目参数 |
| | | selectTestObjectList: "/capacityScope/selectTestObjectList", //获取检测对象 |
| | | addTestObject: "/capacityScope/addTestObject", //新增检测对象 |
| | | delTestObject: "/capacityScope/delTestObject", //删除检测对象 |
| | | upTestObject: "/capacityScope/upTestObject", //修改检测对象 |
| | | selectTestObjectByName: "/capacityScope/selectTestObjectByName", //获取检验对象枚举 |
| | | selectItemParameterList: "/capacityScope/selectItemParameterList", //获取检验项目参数 |
| | | addItemParameter: "/capacityScope/addItemParameter", //新增检验项目参数 |
| | | delItemParameter: "/capacityScope/delItemParameter", //删除检验项目参数 |
| | | upItemParameter: "/capacityScope/upItemParameter", //修改检验项目参数 |
| | | selectTestObjectList: "/capacityScope/selectTestObjectList", //获取检测对象 |
| | | addTestObject: "/capacityScope/addTestObject", //新增检测对象 |
| | | delTestObject: "/capacityScope/delTestObject", //删除检测对象 |
| | | upTestObject: "/capacityScope/upTestObject", //修改检测对象 |
| | | selectTestObjectByName: "/capacityScope/selectTestObjectByName", //获取检验对象枚举 |
| | | getInsProduction: "/capacityScope/getInsProduction", //设备里面选择检验项目(树形结构) |
| | | selectProductListByObjectId: "/capacityScope/selectProductListByObjectId", //维护检验对象的产品 |
| | | addProduct: "/capacityScope/addProduct", //新增产品 |
| | |
| | | } |
| | | |
| | | const laboratoryScope = { |
| | | selectItemParameter: "/laboratoryScope/selectItemParameter", //查询实验室管理列表 |
| | | addParameter: "/laboratoryScope/addParameter", //添加实验室参数 |
| | | delParameter: "/laboratoryScope/delParameter", //删除实验室参数 |
| | | upParameter: "/laboratoryScope/upParameter", //修改实验室参数 |
| | | obtainItemParameterList: "/laboratoryScope/obtainItemParameterList", //获取实验室名称 |
| | | selectItemParameter: "/laboratoryScope/selectItemParameter", //查询实验室管理列表 |
| | | addParameter: "/laboratoryScope/addParameter", //添加实验室参数 |
| | | delParameter: "/laboratoryScope/delParameter", //删除实验室参数 |
| | | upParameter: "/laboratoryScope/upParameter", //修改实验室参数 |
| | | obtainItemParameterList: "/laboratoryScope/obtainItemParameterList", //获取实验室名称 |
| | | } |
| | | |
| | | const deviceScope = { |
| | | selectDeviceParameter: "/deviceScope/selectDeviceParameter", //查询设备详情列表 |
| | | addDeviceParameter: "/deviceScope/addDeviceParameter", //添加设备详情参数 |
| | | delDeviceParameter: "/deviceScope/delDeviceParameter", //删除设备详情参数 |
| | | upDeviceParameter: "/deviceScope/upDeviceParameter", //修改设备详情参数 |
| | | selectDeviceParameter: "/deviceScope/selectDeviceParameter", //查询设备详情列表 |
| | | addDeviceParameter: "/deviceScope/addDeviceParameter", //添加设备详情参数 |
| | | delDeviceParameter: "/deviceScope/delDeviceParameter", //删除设备详情参数 |
| | | upDeviceParameter: "/deviceScope/upDeviceParameter", //修改设备详情参数 |
| | | selectDeviceByCategory: "/deviceScope/selectDeviceByCategory", //通过设备分类获取设备列表 |
| | | authorizedPerson: "/user/getDeviceManager", //获取授权人 |
| | | selectEquipmentOverview: "/deviceScope/selectEquipmentOverview", //获取设备总览 |
| | | uploadFile: "/deviceScope/uploadFile", //上传图片 |
| | | selectDevicePrincipal: "/user/getDeviceManager", //获取设备负责人 |
| | | authorizedPerson: "/user/getDeviceManager", //获取授权人 |
| | | selectEquipmentOverview: "/deviceScope/selectEquipmentOverview", //获取设备总览 |
| | | uploadFile: "/deviceScope/uploadFile", //上传图片 |
| | | selectDevicePrincipal: "/user/getDeviceManager", //获取设备负责人 |
| | | selectDeviceByCode: "/deviceScope/selectDeviceByCode", //通过设备编号获取设备列表 |
| | | } |
| | | |
| | | const insOrder = { |
| | | selectInsOrderParameter: "/insOrder/selectInsOrderParameter", //查询检验下单 |
| | | addInsOrder: "/insOrder/addInsOrder", //添加检验下单数据 |
| | | selectOrderManDay: "/insOrder/selectOrderManDay", //查询订单总共预计时间 |
| | | upInsOrder: "/insOrder/upInsOrder", //检验下发 |
| | | selectInsOrderParameter: "/insOrder/selectInsOrderParameter", //查询检验下单 |
| | | addInsOrder: "/insOrder/addInsOrder", //添加检验下单数据 |
| | | selectOrderManDay: "/insOrder/selectOrderManDay", //查询订单总共预计时间 |
| | | upInsOrder: "/insOrder/upInsOrder", //检验下发 |
| | | getInsOrder: "/insOrder/getInsOrder", //查询检验下单内容详情 |
| | | upInsOrderOfState: "/insOrder/upInsOrderOfState", //审核检验单机进行状态修改 |
| | | addInsOrderTemplate: "/insOrder/addInsOrderTemplate", //添加检验单模板 |
| | | selectInsOrderTemplate: "/insOrder/selectInsOrderTemplate", //查询检验单模板 |
| | | selectInsOrderTemplateById: "/insOrder/selectInsOrderTemplateById", //通过检验单模板id获取检验单模板内容 |
| | | delInsOrderTemplate: "/insOrder/delInsOrderTemplate", //删除检验单模板 |
| | | selectSampleAndProductByOrderId: "/insOrder/selectSampleAndProductByOrderId", //通过检验单查询检验数据(数据查看) |
| | | costStatistics: "/insOrder/costStatistics", //费用统计 |
| | | selectSampleAndProductByOrderId: "/insOrder/selectSampleAndProductByOrderId", //通过检验单查询检验数据(数据查看) |
| | | costStatistics: "/insOrder/costStatistics", //费用统计 |
| | | selectSampleDefects: "/insOrder/selectSampleDefects", //样品缺陷指标 |
| | | } |
| | | |
| | | const sampleOrder = { |
| | | list: "/sampleOrder/list", //获取指派人员 |
| | | list: "/sampleOrder/list", //获取指派人员 |
| | | } |
| | | |
| | | const insOrderPlan = { |
| | | selectInsOrderPlanList: "/insOrderPlan/selectInsOrderPlanList", //查询检验任务 |
| | | claimInsOrderPlan: "/insOrderPlan/claimInsOrderPlan",//认领检验任务 |
| | | doInsOrder: "/insOrderPlan/doInsOrder",//执行检验操作 |
| | | saveInsContext: "/insOrderPlan/saveInsContext",//保存检验内容 |
| | | upPlanUser: "/insOrderPlan/upPlanUser",//任务交接 |
| | | verifyPlan: "/insOrderPlan/verifyPlan",//复核检验任务 |
| | | submitPlan: "/insOrderPlan/submitPlan",//检验任务提交 |
| | | selectInsOrderPlanList: "/insOrderPlan/selectInsOrderPlanList", //查询检验任务 |
| | | claimInsOrderPlan: "/insOrderPlan/claimInsOrderPlan", //认领检验任务 |
| | | doInsOrder: "/insOrderPlan/doInsOrder", //执行检验操作 |
| | | saveInsContext: "/insOrderPlan/saveInsContext", //保存检验内容 |
| | | upPlanUser: "/insOrderPlan/upPlanUser", //任务交接 |
| | | verifyPlan: "/insOrderPlan/verifyPlan", //复核检验任务 |
| | | submitPlan: "/insOrderPlan/submitPlan", //检验任务提交 |
| | | } |
| | | |
| | | const systemLog = { |
| | | selectSystemLogList: "/systemLog/selectSystemLogList", //获取日志 |
| | | selectSystemLogList: "/systemLog/selectSystemLogList", //获取日志 |
| | | } |
| | | |
| | | const standardTree = { |
| | | selectStandardTreeList: "/standardTree/selectStandardTreeList", //获取标准树 |
| | | addStandardTree: "/standardTree/addStandardTree", //添加标准树 |
| | | addStandardMethodList: "/standardTree/addStandardMethodList", //给标准树添加检验标准 |
| | | selectsStandardMethodByFLSSM: "/standardTree/selectsStandardMethodByFLSSM", //根据标准树进行标准查询 |
| | | upStandardProductList: "/standardTree/upStandardProductList", //修改标准库中的要求值 |
| | | delStandardMethodByFLSSM: "/standardTree/delStandardMethodByFLSSM", //删除标准树下的检验标准 |
| | | delStandardProductByIds: "/standardTree/delStandardProductByIds", //删除标准树下的检验项目 |
| | | addStandardProduct: "/standardTree/addStandardProduct", //新增标准树下的检验项目 |
| | | delStandardTree: "/standardTree/delStandardTree", //删除标准树的层级 |
| | | selectStandardProductList: "/standardTree/selectStandardProductList", //通过标准树查询对应的检验项目 |
| | | selectStandardProductListByMethodId: "/standardTree/selectStandardProductListByMethodId", //通过检验标准查询检验项目 |
| | | selectStandardMethodEnum: "/standardTree/selectStandardMethodEnum", //获取标准树下标准方法枚举 |
| | | selectStandardTreeList: "/standardTree/selectStandardTreeList", //获取标准树 |
| | | addStandardTree: "/standardTree/addStandardTree", //添加标准树 |
| | | addStandardMethodList: "/standardTree/addStandardMethodList", //给标准树添加检验标准 |
| | | selectsStandardMethodByFLSSM: "/standardTree/selectsStandardMethodByFLSSM", //根据标准树进行标准查询 |
| | | upStandardProductList: "/standardTree/upStandardProductList", //修改标准库中的要求值 |
| | | delStandardMethodByFLSSM: "/standardTree/delStandardMethodByFLSSM", //删除标准树下的检验标准 |
| | | delStandardProductByIds: "/standardTree/delStandardProductByIds", //删除标准树下的检验项目 |
| | | addStandardProduct: "/standardTree/addStandardProduct", //新增标准树下的检验项目 |
| | | delStandardTree: "/standardTree/delStandardTree", //删除标准树的层级 |
| | | selectStandardProductList: "/standardTree/selectStandardProductList", //通过标准树查询对应的检验项目 |
| | | selectStandardProductListByMethodId: "/standardTree/selectStandardProductListByMethodId", //通过检验标准查询检验项目 |
| | | selectStandardProductByMethodId: "/standardTree/selectStandardProductByMethodId", //批量编辑查询检验项目 |
| | | selectStandardMethodEnum: "/standardTree/selectStandardMethodEnum", //获取标准树下标准方法枚举 |
| | | getStandardTree2: "/standardTree/getStandardTree2", //获取产品架构 |
| | | upStandardProducts: "/standardTree/upStandardProducts", //获取产品架构 |
| | | selectStandardProductEnumByMethodId: "/standardTree/selectStandardProductEnumByMethodId", //批量编辑查询所有检验项目和检验子项枚举 |
| | | } |
| | | |
| | | const standardMethod = { |
| | | selectStandardMethodList: "/standardMethod/selectStandardMethodList", //获取标准方法列表 |
| | | selectStandardMethods: "/standardMethod/selectStandardMethods", //获取标准方法枚举 |
| | | addStandardMethod: "/standardMethod/addStandardMethod", //添加标准方法 |
| | | upStandardMethod: "/standardMethod/upStandardMethod", //修改标准方法 |
| | | delStandardMethod: "/standardMethod/delStandardMethod", //删除标准方法 |
| | | selectStandardMethodList: "/standardMethod/selectStandardMethodList", //获取标准方法列表 |
| | | selectStandardMethods: "/standardMethod/selectStandardMethods", //获取标准方法枚举 |
| | | addStandardMethod: "/standardMethod/addStandardMethod", //添加标准方法 |
| | | upStandardMethod: "/standardMethod/upStandardMethod", //修改标准方法 |
| | | delStandardMethod: "/standardMethod/delStandardMethod", //删除标准方法 |
| | | importStandardDetails: "/standardMethod/importStandardDetails", // 导入标准明细 |
| | | } |
| | | |
| | | const StandardTemplate = { |
| | | selectStandardTemplatePageList: "/StandardTemplate/selectStandardTemplatePageList", //获取检验模板列表 |
| | | addStandardTemplate: "/StandardTemplate/addStandardTemplate", //添加检验模板 |
| | | upStandardTemplate: "/StandardTemplate/upStandardTemplate", //修改检验模板 |
| | | delStandardTemplate: "/StandardTemplate/delStandardTemplate", //删除检验模板 |
| | | getStandardTemplate: "/StandardTemplate/getStandardTemplate", //查询原始记录模板枚举 |
| | | selectStandardTemplatePageList: "/StandardTemplate/selectStandardTemplatePageList", //获取检验模板列表 |
| | | addStandardTemplate: "/StandardTemplate/addStandardTemplate", //添加检验模板 |
| | | upStandardTemplate: "/StandardTemplate/upStandardTemplate", //修改检验模板 |
| | | delStandardTemplate: "/StandardTemplate/delStandardTemplate", //删除检验模板 |
| | | getStandardTemplate: "/StandardTemplate/getStandardTemplate", //查询原始记录模板枚举 |
| | | } |
| | | |
| | | const insReport = { |
| | |
| | | selectDepartment: "/department/selectDepartment", //人员架构树 |
| | | addDepartment: "/department/addDepartment", //添加部门 |
| | | delDepartment: "/department/delDepartment", //删除部门 |
| | | showUserById: "/department/showUserById", //根据选择的树展示相关的人员 |
| | | selectDepartmentLim: "/department/selectDepartmentLim", //获取部门树 |
| | | addDepartmentLims: "/department/addDepartmentLims", //添加部门 |
| | | delDepartmentLims: "/department/delDepartmentLims", //删除部门 |
| | | } |
| | | |
| | | const report = { |
| | |
| | | testProductByDay: "/report/testProductByDay", //首检测项目统计 |
| | | } |
| | | const certification = { |
| | | getCertificationDetail:"/certification/getCertificationDetail",//查询资质明细列表 |
| | | addCertificationDetail:"/certification/addCertificationDetail",//添加资质明细列表 |
| | | delCertificationDetail:"certification/delCertificationDetail",//删除资质明细列表 |
| | | getCertificationDetail: "/certification/getCertificationDetail", //查询资质明细列表 |
| | | addCertificationDetail: "/certification/addCertificationDetail", //添加资质明细列表 |
| | | delCertificationDetail: "certification/delCertificationDetail", //删除资质明细列表 |
| | | } |
| | | |
| | | const sealScope = { |
| | | selectSeal:"/sealScope/selectSeal",//查询印章列表 |
| | | addSeal:"/sealScope/addSeal",//添加印章参数 |
| | | selectSeal: "/sealScope/selectSeal", //查询印章列表 |
| | | addSeal: "/sealScope/addSeal", //添加印章参数 |
| | | } |
| | | |
| | | const informationNotification = { |
| | | checkForUnreadData:"/informationNotification/checkForUnreadData",//查询是否存在未读数据 |
| | | deleteDataBasedOnId:"/informationNotification/deleteDataBasedOnId",//根据Id删除数据 |
| | | informationReadOrDelete:"/informationNotification/informationReadOrDelete",//标记所有信息为已读-删除所有已读消息 |
| | | page:"/informationNotification/page",//滚动分页查询 |
| | | updateMessageStatus:"/informationNotification/updateMessageStatus",//更新消息状态(拒绝、接收) |
| | | triggerModificationStatusToRead:"/informationNotification/triggerModificationStatusToRead",//点击详情触发修改状态为已读 |
| | | checkForUnreadData: "/informationNotification/checkForUnreadData", //查询是否存在未读数据 |
| | | deleteDataBasedOnId: "/informationNotification/deleteDataBasedOnId", //根据Id删除数据 |
| | | informationReadOrDelete: "/informationNotification/informationReadOrDelete", //标记所有信息为已读-删除所有已读消息 |
| | | page: "/informationNotification/page", //滚动分页查询 |
| | | updateMessageStatus: "/informationNotification/updateMessageStatus", //更新消息状态(拒绝、接收) |
| | | triggerModificationStatusToRead: "/informationNotification/triggerModificationStatusToRead", //点击详情触发修改状态为已读 |
| | | } |
| | | |
| | | const performanceShift = { |
| | | add:"/performanceShift/add",//绩效管理-班次-排班 |
| | | page:"/performanceShift/page",//绩效管理-班次-分页查询 |
| | | update:"/performanceShift/update",//绩效管理-班次-班次状态修改 |
| | | pageYear:"/performanceShift/pageYear",//绩效管理-班次-年份分页查询 |
| | | export:"/performanceShift/export",//绩效管理-班次-导出 |
| | | add: "/performanceShift/add", //绩效管理-班次-排班 |
| | | page: "/performanceShift/page", //绩效管理-班次-分页查询 |
| | | update: "/performanceShift/update", //绩效管理-班次-班次状态修改 |
| | | pageYear: "/performanceShift/pageYear", //绩效管理-班次-年份分页查询 |
| | | export: "/performanceShift/export", //绩效管理-班次-导出 |
| | | } |
| | | |
| | | const auxiliaryWorkingHours = { |
| | | selectAuxiliaryWorkingHours:"/auxiliaryWorkingHours/selectAuxiliaryWorkingHours",//查询辅助工时 |
| | | deleteAuxiliaryWorkingHours:"/auxiliaryWorkingHours/deleteAuxiliaryWorkingHours",//删除辅助工时 |
| | | upAuxiliaryWorkingHours:"/auxiliaryWorkingHours/upAuxiliaryWorkingHours",//修改辅助工时 |
| | | insertAuxiliaryWorkingHours:"/auxiliaryWorkingHours/insertAuxiliaryWorkingHours",//新增辅助工时 |
| | | selectAuxiliaryWorkingHours: "/auxiliaryWorkingHours/selectAuxiliaryWorkingHours", //查询辅助工时 |
| | | deleteAuxiliaryWorkingHours: "/auxiliaryWorkingHours/deleteAuxiliaryWorkingHours", //删除辅助工时 |
| | | upAuxiliaryWorkingHours: "/auxiliaryWorkingHours/upAuxiliaryWorkingHours", //修改辅助工时 |
| | | insertAuxiliaryWorkingHours: "/auxiliaryWorkingHours/insertAuxiliaryWorkingHours", //新增辅助工时 |
| | | } |
| | | |
| | | const unPass = { |
| | | pageInsUnPass:"/unPass/pageInsUnPass", // 查询不合格样品数据 |
| | | pageInsUnPass: "/unPass/pageInsUnPass", // 查询不合格样品数据 |
| | | } |
| | | |
| | | const companies = { |
| | |
| | | <el-table-column prop="model" label="样品型号" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="样品型号" |
| | | size="small" @change="handleChangeModel" :disabled="active>1" style="width: 100%;" disabled> |
| | | size="small" @change="handleChangeModel" :disabled="active>1" style="width: 100%;"> |
| | | <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | |
| | | <el-table-column prop="section" label="区间" width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="ask" label="要求值" min-width="220px"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable type="textarea" |
| | | <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable type="textarea" readonly |
| | | :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)" :readonly="active>1"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | }, |
| | | activeStandardTree() { |
| | | let trees = this.selectTree.split(" - ") |
| | | if (trees.length < 5) { |
| | | this.$message.error('未选择型号') |
| | | if (trees.length < 4) { |
| | | this.$message.error('未选择产品') |
| | | return |
| | | } |
| | | this.addObj.factory = trees[0] |
| | |
| | | if(val===null||val==='')return |
| | | this.getProductLoad = true |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductList, { |
| | | model: this.addObj.model + '-' + row.modelNum, |
| | | model: row.model + '-' + row.modelNum, |
| | | standardMethodListId: val |
| | | }, { |
| | | headers: { |
| | |
| | | <el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea" |
| | | v-model="n.v.v" |
| | | :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" |
| | | @change="saveInsContext()" /> |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" /> |
| | | <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v" |
| | | :disabled="state>1" @visible-change="e=>getDic(e,n.i)" @change="saveInsContext()"> |
| | | :disabled="state>1" @visible-change="e=>getDic(e,n.i)" |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)"> |
| | | <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option> |
| | | </el-select> |
| | | <span :style="`font-family:${n.v.ff} !important;`" |
| | |
| | | <span :style="`font-family:${n.v.ff} !important;`">{{getTell(n.i)}}</span> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='最终值' && state==1"> |
| | | <el-input class="table_input" type="textarea" |
| | | <!-- <el-input class="table_input" type="textarea" |
| | | :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" |
| | | v-model="n.v.v" @change="saveInsContext()" v-if="getInspectionValueType(n.i) == 2"></el-input> |
| | | <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v" |
| | | :disabled="state>1" @visible-change="e=>getDic(e,n.i)" @change="saveInsContext()"> |
| | | <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option> |
| | | </el-select> |
| | | <span v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span> |
| | | </el-select> --> |
| | | <span :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span> |
| | | </template> |
| | | <span v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span> |
| | | </div> |
| | |
| | | </el-drawer> |
| | | <el-drawer title="任务切换" :visible.sync="taskVisible" :size="500"> |
| | | <ValueTable class="value-table" ref="insOrderPlan" :url="$api.insOrderPlan.selectInsOrderPlanList" |
| | | :componentData="componentData" :key="upIndex" style="max-height: 100%;height: inherit;"/> |
| | | :componentData="componentData" :key="upIndex" style="height: 100%;"/> |
| | | </el-drawer> |
| | | <el-dialog title="检验复核" :visible.sync="reviewDia" width="500px"> |
| | | <div class="body" style="display: flex;padding: 10px;" v-if="reviewDia"> |
| | |
| | | if (b[0].r == a.r) { |
| | | b.forEach(c => { |
| | | if (c.c == a.c) { |
| | | if (!isNaN(parseFloat(c.v.v))) { |
| | | var tableCode = '' |
| | | for (var d in this.comparisonList) { |
| | | if (c.c == this.comparisonList[d].value) { |
| | | tableCode = this.comparisonList[d].label |
| | | break |
| | | } |
| | | var tableCode = '' |
| | | for (var d in this.comparisonList) { |
| | | if (c.c == this.comparisonList[d].value) { |
| | | tableCode = this.comparisonList[d].label |
| | | break |
| | | } |
| | | comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v) |
| | | } |
| | | if(this.getInspectionValueType(item.i)==1){ |
| | | if (!isNaN(parseFloat(c.v.v))) { |
| | | comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v) |
| | | } |
| | | }else{ |
| | | comValue[(tableCode + (c.r + 1))] = c.v.v |
| | | } |
| | | } |
| | | }) |
| | |
| | | let comp = ask.map((m, i) => { |
| | | if (m.includes('=')) { |
| | | return res == m.split('=')[1] |
| | | } |
| | | if (m.includes('≥')) { |
| | | } else if (m.includes('≥')) { |
| | | return res >= m.split('≥')[1] |
| | | } |
| | | if (m.includes('≤')) { |
| | | }else if (m.includes('≤')) { |
| | | return res <= m.split('≤')[1] |
| | | } |
| | | if (m.includes('<')) { |
| | | }else if (m.includes('<')) { |
| | | return res < m.split('<')[1] |
| | | } |
| | | if (m.includes('>')) { |
| | | }else if (m.includes('>')) { |
| | | return res > m.split('>')[1] |
| | | } |
| | | }) |
| | | if (comp.every(m => m)) { |
| | | item.v.v = 1 |
| | | } else { |
| | | item.v.v = 0 |
| | | if(this.getInspectionValueType(item.i)==1){ |
| | | if (comp.every(m => m)) { |
| | | item.v.v = 1 |
| | | } else { |
| | | item.v.v = 0 |
| | | } |
| | | } |
| | | this.saveInsContext() |
| | | } |
| | |
| | | valueList.forEach(b => { |
| | | str = str.replace(b.name, b.value) |
| | | }) |
| | | if (item.v.f.includes('/') > -1) { |
| | | if (item.v.f.includes('/')) { |
| | | if (Object.getOwnPropertyNames(comValue).length == valueList.length) { |
| | | comResult = eval(str) |
| | | } else { |
| | | comResult = '' |
| | | } |
| | | } else { |
| | | comResult = eval(str) |
| | | if(this.getInspectionValueType(item.i)==1){ |
| | | comResult = eval(str) |
| | | }else{ |
| | | comResult = str |
| | | } |
| | | } |
| | | break; |
| | | } |
| | |
| | | if (a[0].r == item.r && comResult != '') { |
| | | for (var b in a) { |
| | | if (a[b].c == item.c) { |
| | | let val = parseFloat(comResult.toFixed(3)) |
| | | a[b].v.v = isNaN(val) ? '' : val |
| | | try{ |
| | | let val = parseFloat(comResult.toFixed(3)) |
| | | a[b].v.v = isNaN(val) ? '' : val |
| | | }catch(e){ |
| | | a[b].v.v = comResult |
| | | } |
| | | break |
| | | } |
| | | } |
| | |
| | | }, |
| | | methods: { |
| | | async setEditor(option) { |
| | | console.log(`output->option`,option) |
| | | if (this.docEditor !== null) { |
| | | this.docEditor.destroyEditor(); |
| | | this.docEditor = null; |
| | |
| | | <el-dialog title="数据导入" :visible.sync="uploadDia" width="500px"> |
| | | <div style="margin: 0 auto;"> |
| | | <el-upload ref="upload" drag :action="javaApi + inputUrl" :headers="token" :file-list="fileList" name="file" |
| | | :auto-upload="false" accept=".csv" :limit="1" :on-change="beforeUpload" :on-success="onSuccess" |
| | | :auto-upload="false" :accept="data.accept===undefined?'.csv':data.accept" :limit="1" :on-change="beforeUpload" :on-success="onSuccess" |
| | | :on-error="onError" :data="{param: data.uploadStr}"> |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> |
| | |
| | | }, |
| | | sizeChange(val) { |
| | | this.page.size = val |
| | | this.selectList() |
| | | this.selectList('page') |
| | | }, |
| | | currentChange(val) { |
| | | this.page.current = val |
| | | this.selectList() |
| | | this.selectList('page') |
| | | }, |
| | | selectList() { |
| | | selectList(val) { |
| | | this.loading = true |
| | | if(val===undefined){ |
| | | this.page.current = 1; |
| | | } |
| | | if (this.data.isPage != undefined && this.data.isPage != true) { |
| | | this.page = { |
| | | current: -1, |
| | |
| | | this.uploadDia = true |
| | | }, |
| | | beforeUpload(file, fileList) { |
| | | if (file.raw.type != 'text/csv') { |
| | | console.log(file.raw.type); |
| | | if (file.raw.type != (this.data.inputType===undefined?'text/csv':this.data.inputType)) { |
| | | this.$message.error('上传文件格式不正确'); |
| | | this.$refs.upload.clearFiles() |
| | | return false; |
| | |
| | | this.$message.error('未输入启用日期') |
| | | return |
| | | } |
| | | if(!this.formData.deviceStatus){ |
| | | if(this.formData.deviceStatus==='' || this.formData.deviceStatus===null){ |
| | | this.$message.error('未选择当前状态') |
| | | return |
| | | } |
| | |
| | | <style scoped> |
| | | .standard { |
| | | padding: 20px 0; |
| | | display: flex; |
| | | } |
| | | .standard { |
| | | padding: 20px 0; |
| | | display: flex; |
| | | } |
| | | |
| | | .left { |
| | | width: 270px; |
| | | height: calc(100% - 40px - 25px); |
| | | background-color: white; |
| | | padding: 15px; |
| | | } |
| | | .el-tree{ |
| | | .left { |
| | | width: 270px; |
| | | height: calc(100% - 40px - 25px); |
| | | background-color: white; |
| | | padding: 15px; |
| | | } |
| | | |
| | | .el-tree { |
| | | height: calc(100% - 37px); |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .custom-tree-node { |
| | | width: 100%; |
| | | line-height: 32px; |
| | | } |
| | | .custom-tree-node { |
| | | width: 100%; |
| | | line-height: 32px; |
| | | } |
| | | |
| | | .custom-tree-node .el-icon-delete { |
| | | color: #3A7BFA; |
| | | opacity: 0; |
| | | font-size: 18px; |
| | | } |
| | | .custom-tree-node .el-icon-delete { |
| | | color: #3A7BFA; |
| | | opacity: 0; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .custom-tree-node:hover .el-icon-delete { |
| | | opacity: 1; |
| | | } |
| | | .custom-tree-node:hover .el-icon-delete { |
| | | opacity: 1; |
| | | } |
| | | |
| | | .node_i { |
| | | color: orange; |
| | | font-size: 18px; |
| | | } |
| | | .node_i { |
| | | color: orange; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .right { |
| | | margin-left: 5px; |
| | | width: calc(100% - 305px); |
| | | height: calc(100% - 40px); |
| | | } |
| | | .right { |
| | | margin-left: 5px; |
| | | width: calc(100% - 305px); |
| | | height: calc(100% - 40px); |
| | | } |
| | | |
| | | .right .title { |
| | | height: 50px; |
| | | line-height: 50px; |
| | | padding: 0 10px; |
| | | background-color: white; |
| | | } |
| | | .right .title { |
| | | height: 50px; |
| | | line-height: 50px; |
| | | padding: 0 10px; |
| | | background-color: white; |
| | | } |
| | | |
| | | .standard_table { |
| | | border-top: 1px solid #ebeef5; |
| | | height: calc(100% - 50px); |
| | | margin-top: 5px; |
| | | background-color: white; |
| | | user-select: none; |
| | | .standard_table { |
| | | border-top: 1px solid #ebeef5; |
| | | height: calc(100% - 50px); |
| | | margin-top: 5px; |
| | | background-color: white; |
| | | user-select: none; |
| | | overflow-y: auto; |
| | | } |
| | | .sort{ |
| | | } |
| | | |
| | | .sort { |
| | | width: 80% !important; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .search { |
| | | background-color: #fff; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | background-color: #fff; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: end; |
| | | } |
| | | } |
| | | |
| | | .search_thing { |
| | | width: 350px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | .search_thing { |
| | | width: 350px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .search_label { |
| | | width: 110px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | .search_label { |
| | | width: 110px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .search_input { |
| | | width: calc(100% - 110px); |
| | | } |
| | | .search_input { |
| | | width: calc(100% - 110px); |
| | | } |
| | | </style> |
| | | <style> |
| | | .standard .el-tree-node__content { |
| | | height: 32px; |
| | | font-size: 14px; |
| | | border-radius: 2px; |
| | | } |
| | | .standard .el-tree-node__content { |
| | | height: 32px; |
| | | font-size: 14px; |
| | | border-radius: 2px; |
| | | } |
| | | |
| | | .standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | color: #3A7BFA; |
| | | } |
| | | .standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | color: #3A7BFA; |
| | | } |
| | | </style> |
| | | |
| | | <template> |
| | | <div class="standard"> |
| | | <div class="left"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-input placeholder="输入关键字进行搜索" suffix-icon="el-icon-search" v-model="search" size="small" |
| | | style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter"></el-input> |
| | | </el-col> |
| | | <el-col :span="4" style="text-align: center;line-height: 30px;" v-if="addPower"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" circle @click="handleAdd"></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'name' }" node-key="id" |
| | | :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" |
| | | @node-collapse="nodeClose" v-loading="treeLoad" :expand-on-click-node="false" |
| | | :default-expanded-keys="expandedKeys" |
| | | :default-checked-keys="[1]"> |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <el-row style="width: 100%;"> |
| | | <el-col :span="21" :class="{sort:node.level>3}"> |
| | | <span><i |
| | | :class="`node_i ${data.children != undefined&&data.children.length>0 ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> |
| | | {{ data.name }}</span> |
| | | </el-col> |
| | | <el-col :span="2" style="text-align: right;" v-if="delStandardTree&&node.level>1"> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | <div class="right"> |
| | | <el-row class="title"> |
| | | <el-col :span="14" style="font-size: 14px;color: #999;">{{selectTree}}</el-col> |
| | | <el-col :span="selectTree==''?24:10" style="text-align: right;" v-if="selectTree!=''"> |
| | | <div class="standard"> |
| | | <div class="left"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-input placeholder="输入关键字进行搜索" suffix-icon="el-icon-search" v-model="search" size="small" |
| | | style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter"></el-input> |
| | | </el-col> |
| | | <el-col :span="4" style="text-align: center;line-height: 30px;" v-if="addPower"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" circle @click="handleAdd"></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'name' }" node-key="id" |
| | | :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" |
| | | @node-collapse="nodeClose" v-loading="treeLoad" :expand-on-click-node="false" |
| | | :default-expanded-keys="expandedKeys" :default-checked-keys="defaultCheckedKeys"> |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <el-row style="width: 100%;"> |
| | | <el-col :span="21" :class="{sort:node.level>3}"> |
| | | <span><i |
| | | :class="`node_i ${data.children != undefined&&data.children.length>0 ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> |
| | | {{ data.name }}</span> |
| | | </el-col> |
| | | <el-col :span="2" style="text-align: right;" v-if="delStandardTree&&node.level>1"> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | <div class="right"> |
| | | <el-row class="title"> |
| | | <el-col :span="14" style="font-size: 14px;color: #999;">{{selectTree}}</el-col> |
| | | <el-col :span="selectTree==''?24:10" style="text-align: right;" v-if="selectTree!=''"> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">人员名称:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable v-model="componentData.entity.name"></el-input></div> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;width: 120px;"> |
| | | <el-button size="small" @click="refresh()">重 置</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button> |
| | | <div class="search_input"> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="componentData.entity.name" |
| | | @keyup.enter.native="refreshTable()" @clear="refreshTable"></el-input> |
| | | </div> |
| | | <div class="search_label" v-if="upUserDepardLimsIdPower"> |
| | | <el-button type="primary" size="small" @click="selectUserDia = true">添加</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row class="standard_table" v-loading="tableLoad"> |
| | | <ValueTable ref="ValueTable" :url="$api.department.showUserById" :componentData="componentData" /> |
| | | </el-row> |
| | | </div> |
| | | <el-dialog title="架构新增" :visible.sync="addDia" width="400px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>架构名称: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="addOb.name" placeholder="请输入架构名称" clearable size="small"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="addStandardTree" :loading="addLoad">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row class="standard_table" v-loading="tableLoad"> |
| | | <ValueTable ref="ValueTable" :url="$api.user.selectUserList" :componentData="componentData" :delUrl="$api.user.delUserDepardLimsId"/> |
| | | </el-row> |
| | | </div> |
| | | <el-dialog title="架构新增" :visible.sync="addDia" width="400px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>架构名称: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-input v-model="addOb.name" placeholder="请输入架构名称" clearable size="small"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="addStandardTree" :loading="addLoad">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="选择用户" :visible.sync="selectUserDia" width="70%"> |
| | | <div class="body" style="height: 60vh;" v-if="selectUserDia"> |
| | | <ValueTable ref="ValueTable2" :url="$api.user.selectUserList" :componentData="componentData2"/> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="selectUserDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="selectUser">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from '../tool/value-table.vue' |
| | | export default { |
| | | components: { |
| | | ValueTable |
| | | }, |
| | | data() { |
| | | return { |
| | | datathirdParty:[{ |
| | | id: 1, |
| | | label: '一级 1', |
| | | children: [{ |
| | | id: 4, |
| | | label: '二级 1-1', |
| | | children: [{ |
| | | id: 9, |
| | | label: '三级 1-1-1' |
| | | }, { |
| | | id: 10, |
| | | label: '三级 1-1-2' |
| | | }] |
| | | }] |
| | | }, { |
| | | id: 2, |
| | | label: '一级 2', |
| | | children: [{ |
| | | id: 5, |
| | | label: '二级 2-1' |
| | | }, { |
| | | id: 6, |
| | | label: '二级 2-2' |
| | | }] |
| | | }, { |
| | | id: 3, |
| | | label: '一级 3', |
| | | children: [{ |
| | | id: 7, |
| | | label: '二级 3-1' |
| | | }, { |
| | | id: 8, |
| | | label: '二级 3-2' |
| | | }] |
| | | }], |
| | | import ValueTable from '../tool/value-table.vue' |
| | | export default { |
| | | components: { |
| | | ValueTable |
| | | }, |
| | | data() { |
| | | return { |
| | | datathirdParty: [], |
| | | defaultProps: { |
| | | children: 'children', |
| | | label: 'label' |
| | | }, |
| | | addthirdParty:false, |
| | | search: null, |
| | | list: [], |
| | | selectTree: '', |
| | | addDia: false, |
| | | addOb: { |
| | | name:'', |
| | | fatherId:'' |
| | | }, |
| | | addLoad: false, |
| | | treeLoad: false, |
| | | addPower: false, |
| | | tableLoad: false, |
| | | delStandardProduct: false, |
| | | addStandardProduct: false, |
| | | componentData: { |
| | | entity: { |
| | | name:'', |
| | | departId:'', |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | init:false, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | do: [], |
| | | isPage: false, |
| | | tagField: { |
| | | }, |
| | | selectField: {}, |
| | | }, |
| | | expandedKeys: [] |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getPower() |
| | | this.selectTreeList() |
| | | }, |
| | | methods: { |
| | | |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.name.indexOf(value) !== -1; |
| | | }, |
| | | searchFilter() { |
| | | this.$refs.tree.filter(this.search) |
| | | }, |
| | | addthirdParty: false, |
| | | search: null, |
| | | list: [], |
| | | selectTree: '', |
| | | addDia: false, |
| | | addOb: { |
| | | name: '', |
| | | fatherId: '' |
| | | }, |
| | | addLoad: false, |
| | | treeLoad: false, |
| | | addPower: false, |
| | | tableLoad: false, |
| | | addStandardProduct: false, |
| | | componentData: { |
| | | entity: { |
| | | name: '', |
| | | departLimsId: '', |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | init: false, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | do: [{ |
| | | id: 'delete', |
| | | font: '删除', |
| | | type: 'text', |
| | | method: 'doDiy' |
| | | }], |
| | | tagField: { |
| | | state: { |
| | | select: [{ |
| | | value: 1, |
| | | type: 'success', |
| | | label: '启用' |
| | | }, { |
| | | value: 0, |
| | | type: 'danger', |
| | | label: '停用' |
| | | }] |
| | | } |
| | | }, |
| | | selectField: {}, |
| | | }, |
| | | expandedKeys: [], |
| | | selectUserDia: false, |
| | | componentData2: { |
| | | entity: { |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: true, |
| | | select: true, |
| | | do: [], |
| | | tagField: { |
| | | state: { |
| | | select: [{ |
| | | value: 1, |
| | | type: 'success', |
| | | label: '启用' |
| | | }, { |
| | | value: 0, |
| | | type: 'danger', |
| | | label: '停用' |
| | | }] |
| | | } |
| | | }, |
| | | selectField: {}, |
| | | upUserDepardLimsIdPower: true |
| | | }, |
| | | defaultCheckedKeys:[] |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getPower() |
| | | this.selectTreeList() |
| | | }, |
| | | methods: { |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.name.indexOf(value) !== -1; |
| | | }, |
| | | searchFilter() { |
| | | this.$refs.tree.filter(this.search) |
| | | }, |
| | | refreshTable() { |
| | | this.$refs.ValueTable.selectList() |
| | | }, |
| | | refresh() { |
| | | this.upIndex++; |
| | | }, |
| | | refresh() { |
| | | this.upIndex++; |
| | | this.componentData.entity.departId = this.list[0].id; |
| | | this.refreshTable() |
| | | }, |
| | | handleNodeClick(val, node, el) { //树的值 |
| | | this.selectTree = '' |
| | | this.getNodeParent(node) |
| | | this.selectTree = this.selectTree.replace(' - ', '') |
| | | let data = this.selectTree.split(' - ') |
| | | let data2 = '' |
| | | for (let index = data.length - 1; index >= 0; index--) { |
| | | data2 += " - " + data[index] |
| | | } |
| | | this.selectTree = data2.replace(' - ', '') |
| | | }, |
| | | handleNodeClick(val, node, el) { //树的值 |
| | | this.selectTree = '' |
| | | this.getNodeParent(node) |
| | | this.selectTree = this.selectTree.replace(' - ', '') |
| | | let data = this.selectTree.split(' - ') |
| | | let data2 = '' |
| | | for (let index = data.length - 1; index >= 0; index--) { |
| | | data2 += " - " + data[index] |
| | | } |
| | | this.selectTree = data2.replace(' - ', '') |
| | | this.addOb.fatherId = val.id; |
| | | this.componentData.entity.departId = val.id; |
| | | this.componentData.entity.departLimsId = val.id; |
| | | this.refreshTable() |
| | | }, |
| | | getNodeParent(val) { |
| | | if (val.parent != null) { |
| | | this.selectTree += ' - ' + val.label |
| | | this.getNodeParent(val.parent) |
| | | } |
| | | }, |
| | | remove(node, data) { |
| | | this.$confirm("是否删除该层级", "提示", { |
| | | type: "error" |
| | | }).then(() => { |
| | | this.treeLoad = true |
| | | this.$axios.post(this.$api.department.delDepartment, { |
| | | id: data.id |
| | | }).then(res => { |
| | | if (res.code == 201) return |
| | | this.$message.success('已删除') |
| | | this.selectTreeList() |
| | | }) |
| | | }).catch(e => {}) |
| | | }, |
| | | nodeOpen(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') |
| | | }, |
| | | nodeClose(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') |
| | | }, |
| | | selectTreeList() { |
| | | this.treeLoad = true |
| | | this.$axios.get(this.$api.department.selectDepartment).then(res => { |
| | | this.list = res.data |
| | | this.list.forEach(a => { |
| | | a.children.forEach(b => { |
| | | b.children.forEach(c => { |
| | | this.expandedKeys.push(c.id) |
| | | }) |
| | | }) |
| | | }) |
| | | this.treeLoad = false |
| | | this.componentData.entity.departId = this.list[0].id; |
| | | this.selectTree = '全部' |
| | | }, |
| | | getNodeParent(val) { |
| | | if (val.parent != null) { |
| | | this.selectTree += ' - ' + val.label |
| | | this.getNodeParent(val.parent) |
| | | } |
| | | }, |
| | | remove(node, data) { |
| | | this.$confirm("是否删除该层级", "提示", { |
| | | type: "error" |
| | | }).then(() => { |
| | | this.treeLoad = true |
| | | this.$axios.post(this.$api.department.delDepartmentLims, { |
| | | id: data.id |
| | | }).then(res => { |
| | | if (res.code == 201) return |
| | | this.$message.success('已删除') |
| | | this.selectTreeList() |
| | | }) |
| | | }).catch(e => {}) |
| | | }, |
| | | nodeOpen(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') |
| | | }, |
| | | nodeClose(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') |
| | | }, |
| | | selectTreeList() { |
| | | this.treeLoad = true |
| | | this.$axios.get(this.$api.department.selectDepartmentLim).then(res => { |
| | | this.list = res.data |
| | | this.refresh() |
| | | this.list.forEach(a => { |
| | | a.children.forEach(b => { |
| | | this.expandedKeys.push(b.id) |
| | | }) |
| | | }) |
| | | this.treeLoad = false |
| | | this.defaultCheckedKeys = [this.list[0].id] |
| | | this.componentData.entity.departLimsId = this.list[0].id; |
| | | this.selectTree = this.list[0].name |
| | | this.refreshTable() |
| | | }) |
| | | }, |
| | | addStandardTree() { |
| | | if (this.addOb.name == null || this.addOb.factory == '') { |
| | | this.$message.error('构架名称是必填项') |
| | | return |
| | | } |
| | | this.addLoad = true |
| | | this.$axios.post(this.$api.department.addDepartment, this.addOb, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code === 201) { |
| | | this.addLoad = false |
| | | return |
| | | } |
| | | this.$message.success('添加成功') |
| | | this.addDia = false |
| | | this.selectTreeList() |
| | | this.addLoad = false |
| | | }) |
| | | }, |
| | | addStandardTree() { |
| | | if (this.addOb.name == null || this.addOb.factory == '') { |
| | | this.$message.error('构架名称是必填项') |
| | | return |
| | | } |
| | | this.addLoad = true |
| | | this.$axios.post(this.$api.department.addDepartmentLims, this.addOb, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code === 201) { |
| | | this.addLoad = false |
| | | return |
| | | } |
| | | this.$message.success('添加成功') |
| | | this.addDia = false |
| | | this.selectTreeList() |
| | | this.addLoad = false |
| | | this.addOb.name = '' |
| | | this.addOb.fatherId = '' |
| | | }).catch(e => { |
| | | this.addDia = false |
| | | this.addLoad = false |
| | | }) |
| | | }, |
| | | handleAdd(){ |
| | | if(this.addOb.fatherId){ |
| | | }).catch(e => { |
| | | this.addDia = false |
| | | this.addLoad = false |
| | | }) |
| | | }, |
| | | handleAdd() { |
| | | if (this.addOb.fatherId) { |
| | | this.addDia = true; |
| | | }else{ |
| | | } else { |
| | | this.$message.error('请选择一个架构层级') |
| | | } |
| | | }, |
| | | getPower() { |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let add = false |
| | | let upStandardProduct = false |
| | | let delStandardMethod = false |
| | | let delStandardProduct = false |
| | | let addStandardProduct = false |
| | | let delStandardTree = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'addStandardTree') { |
| | | add = true |
| | | } |
| | | if (power[i].menuMethod == 'upStandardProductList') { |
| | | upStandardProduct = true |
| | | } |
| | | if (power[i].menuMethod == 'delStandardMethodByFLSSM') { |
| | | delStandardMethod = true |
| | | } |
| | | if (power[i].menuMethod == 'delStandardProductByIds') { |
| | | delStandardProduct = true |
| | | } |
| | | if (power[i].menuMethod == 'addStandardProduct') { |
| | | addStandardProduct = true |
| | | } |
| | | if (power[i].menuMethod == 'delStandardTree') { |
| | | delStandardTree = true |
| | | } |
| | | } |
| | | this.addPower = add |
| | | this.upStandardProduct = upStandardProduct |
| | | this.delStandardMethod = delStandardMethod |
| | | this.delStandardProduct = delStandardProduct |
| | | this.addStandardProduct = addStandardProduct |
| | | this.delStandardTree = delStandardTree |
| | | }, |
| | | } |
| | | } |
| | | getPower() { |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let add = false |
| | | let addStandardProduct = false |
| | | let delStandardTree = false |
| | | let upUserDepardLimsId = false |
| | | let del = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'addDepartmentLims') { |
| | | add = true |
| | | } |
| | | if (power[i].menuMethod == 'addStandardProduct') { |
| | | addStandardProduct = true |
| | | } |
| | | if (power[i].menuMethod == 'delDepartmentLims') { |
| | | delStandardTree = true |
| | | } |
| | | if (power[i].menuMethod == 'upUserDepardLimsId') { |
| | | upUserDepardLimsId = true |
| | | } |
| | | if(power[i].menuMethod=='delUserDepardLimsId'){ |
| | | del = true |
| | | } |
| | | } |
| | | if(!del){ |
| | | this.componentData.do.splice(0, 1) |
| | | } |
| | | this.addPower = add |
| | | this.addStandardProduct = addStandardProduct |
| | | this.delStandardTree = delStandardTree |
| | | this.upUserDepardLimsIdPower = upUserDepardLimsId |
| | | }, |
| | | selectUser() { |
| | | let selects = this.$refs.ValueTable2.multipleSelection |
| | | if (selects.length == 0) { |
| | | this.$message.error('未选择数据') |
| | | return |
| | | } |
| | | var ids = [] |
| | | selects.forEach(a=>{ |
| | | ids.push(a.id) |
| | | }) |
| | | this.selectUserDia = false |
| | | this.$axios.post(this.$api.user.upUserDepardLimsId,{ |
| | | ids: JSON.stringify(ids), |
| | | id: this.componentData.entity.departLimsId |
| | | }).then(res=>{ |
| | | if (res.code === 201) { |
| | | return |
| | | } |
| | | this.$message.success('添加成功') |
| | | this.refreshTable() |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | if(this.currentPage==1){ |
| | | this.loading = true |
| | | } |
| | | this.$axios.post(this.$api.user.selectUserList,{ |
| | | this.$axios.post(this.$api.user.selectPersonnelOverview,{ |
| | | page: { |
| | | current: this.currentPage, |
| | | size: this.pageSize |
| | |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;">标准方法</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button size="medium" @click="$refs.ValueTable.openUpload()" v-if="inPower"> |
| | | <i class="el-icon-upload2" style="color: #3A7BFA;"></i> |
| | | <span style="color: #3A7BFA;">导入</span></el-button> |
| | | <el-button size="medium" type="primary" @click="openAdd" v-if="addPower">新增</el-button> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <div class="table"> |
| | | <ValueTable ref="ValueTable" :url="$api.standardMethod.selectStandardMethodList" |
| | | :delUrl="$api.standardMethod.delStandardMethod" :upUrl="$api.standardMethod.upStandardMethod" |
| | | :componentData="componentData" :key="upIndex" /> |
| | | :componentData="componentData" :key="upIndex" :inputUrl="$api.standardMethod.importStandardDetails"/> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | }, |
| | | }, |
| | | requiredAdd: ['code', 'name', 'isProduct', 'isUse', 'nameEn'], |
| | | requiredUp: ['code', 'name', 'isProduct', 'isUse', 'nameEn'] |
| | | requiredUp: ['code', 'name', 'isProduct', 'isUse', 'nameEn'], |
| | | accept: '.xlsx', |
| | | inputType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' |
| | | }, |
| | | entityCopy: {}, |
| | | upIndex: 0, |
| | | addDia: false, |
| | | addPower: true |
| | | addPower: true, |
| | | inPower: true, |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | let up = false |
| | | let del = false |
| | | let add = false |
| | | let inPower = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'addStandardMethod') { |
| | | add = true |
| | |
| | | if (power[i].menuMethod == 'upStandardMethod') { |
| | | up = true |
| | | } |
| | | if (power[i].menuMethod == 'importStandardDetails') { |
| | | inPower = true |
| | | } |
| | | } |
| | | if (!del) { |
| | | this.componentData.do.splice(1, 1) |
| | |
| | | this.componentData.do.splice(0, 1) |
| | | } |
| | | this.addPower = add |
| | | this.inPower = inPower |
| | | }, |
| | | openAdd() { |
| | | this.$refs.ValueTable.openAddDia(this.$api.standardMethod.addStandardMethod); |
| | |
| | | <div class="search_thing"> |
| | | <div class="search_label" style="width:90px">交接人员:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="connectPerson" placeholder="请选择" style="width: 100%;"> |
| | | <el-select v-model="connectPerson" placeholder="请选择" style="width: 100%;" filterable> |
| | | <el-option |
| | | v-for="item in personList" |
| | | :key="item.value" |
| | |
| | | <el-col class="search_thing" style="width: 95%;"> |
| | | <div class="search_label"><span class="required-span" v-show="distributeData.type==2">* </span>指派人员:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="distributeData.userId" placeholder="请选择" size="small" style="width: 100%;" clearable> |
| | | <el-select v-model="distributeData.userId" placeholder="请选择" size="small" style="width: 100%;" clearable filterable> |
| | | <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | |
| | | showSelect: false, |
| | | select: false, |
| | | do: [ |
| | | { |
| | | { |
| | | id: 'handleWeave', |
| | | font: '在线编制', |
| | | font: '编制', |
| | | type: 'text', |
| | | method: 'handleWeave', |
| | | disabFun: (row, index) => { |
| | |
| | | title: row.entrustCode + ".docx", |
| | | lang: 'zh-CN', |
| | | isPrint: true, |
| | | user: { id: 1, name: userName}, |
| | | user_id: 1, |
| | | user_name: userName, |
| | | editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + row.entrustCode + ".docx" |
| | | } |
| | | }) |
| | |
| | | if (power[i].menuMethod == 'writeReport') { |
| | | sub = true |
| | | } |
| | | if (power[i].menuMethod == 'ratifyReport') { |
| | | approve = true |
| | | } |
| | | if (power[i].menuMethod == 'examineReport') { |
| | | issued = true |
| | | } |
| | | } |
| | | if (!approve) { |
| | | this.componentData.do.splice(5, 1) |
| | | this.componentData.do.splice(6, 1) |
| | | } |
| | | if (!issued) { |
| | | this.componentData.do.splice(4, 1) |
| | | this.componentData.do.splice(5, 1) |
| | | } |
| | | if (!sub) { |
| | | this.componentData.do.splice(3, 1) |
| | | this.componentData.do.splice(4, 1) |
| | | } |
| | | if (!res) { |
| | | this.componentData.do.splice(2, 1) |
| | | this.componentData.do.splice(3, 1) |
| | | } |
| | | if (!up) { |
| | | this.componentData.do.splice(1, 1) |
| | | this.componentData.do.splice(2, 1) |
| | | } |
| | | // if (!edit) { |
| | | // this.componentData.do.splice(0, 1) |
| | | // } |
| | | if (!edit) { |
| | | this.componentData.do.splice(0, 1) |
| | | } |
| | | }, |
| | | confirmClaim() { |
| | | // console.log(this.$refs.Word.getValue()) |
| | |
| | | width: 80% !important; |
| | | overflow: hidden; |
| | | } |
| | | >>>.el-table__body-wrapper{ |
| | | |
| | | >>>.el-table__body-wrapper { |
| | | height: calc(100% - 46px) !important; |
| | | } |
| | | >>>.header-class{ |
| | | |
| | | >>>.header-class { |
| | | height: 40px !important; |
| | | } |
| | | >>>.header-class th.el-table__cell>.cell{ |
| | | |
| | | >>>.header-class th.el-table__cell>.cell { |
| | | line-height: 20px !important; |
| | | padding-top: 0 !important; |
| | | padding-bottom: 0 !important; |
| | | } |
| | | >>>.el-table__row{ |
| | | |
| | | >>>.el-table__row { |
| | | height: 35px !important; |
| | | } |
| | | .search{ |
| | | |
| | | .search { |
| | | height: 20%; |
| | | border-bottom: 1px solid #ebeef5; |
| | | margin-bottom: 16px; |
| | |
| | | box-sizing: border-box; |
| | | padding-bottom: 10px; |
| | | } |
| | | .search-item{ |
| | | |
| | | .search-item { |
| | | display: flex; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | } |
| | | .search-item .el-row{ |
| | | |
| | | .search-item .el-row { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | .search-item .el-col{ |
| | | |
| | | .search-item .el-col { |
| | | margin-left: 0; |
| | | } |
| | | .more-edit .dialog-footer{ |
| | | |
| | | .more-edit .dialog-footer { |
| | | position: absolute; |
| | | top: 15px; |
| | | right: 70px; |
| | | } |
| | | >>>.more-edit .el-dialog__body{ |
| | | height: calc(100vh - 90px); |
| | | } |
| | | >>>.is-disabled .el-textarea__inner{ |
| | | |
| | | >>>.is-disabled .el-textarea__inner { |
| | | background: rgba(0, 0, 0, 0.05) !important; |
| | | } |
| | | </style> |
| | |
| | | |
| | | .standard .el-table .warning-row .cell { |
| | | color: #bababa; |
| | | } |
| | | |
| | | .el-table-filter__list{ |
| | | max-height: 400px; |
| | | overflow-y: auto; |
| | | } |
| | | </style> |
| | | |
| | |
| | | <div class="right"> |
| | | <el-row class="title" style="width: 100%;"> |
| | | <el-col :span="20" style="font-size: 14px;color: #999;">{{selectTree}}</el-col> |
| | | <el-button size="small" type="primary" @click="handleMore" style="position: absolute;right: 0px;top: 1px;" v-if="upStandardProduct">批量编辑</el-button> |
| | | <el-button size="small" type="primary" @click="handleMore" style="position: absolute;right: 0px;top: 1px;" |
| | | v-if="upStandardProduct">批量编辑</el-button> |
| | | </el-row> |
| | | <el-row class="standard_table" v-loading="tableLoad"> |
| | | <el-table class="el-table" :data="standardList" style="width: 100%;height: 220px !important;" height="220" tooltip-effect="dark" |
| | | highlight-current-row @row-click="rowClick" ref="standard" header-row-class-name="header-class"> |
| | | <el-table class="el-table" :data="standardList" style="width: 100%;height: 220px !important;" height="220" |
| | | tooltip-effect="dark" highlight-current-row @row-click="rowClick" ref="standard" |
| | | header-row-class-name="header-class"> |
| | | <el-table-column prop="code" label="标准编号" show-overflow-tooltip width="200"> |
| | | <template slot-scope="scope"> |
| | | <span style="color: red;font-size: 14px;">{{scope.row['code']}}</span> |
| | |
| | | </el-row> |
| | | <el-row class="product_table" v-loading="tableLoad2"> |
| | | <el-table :data="productList" ref="productTable" style="width: 100%;" height="100%" tooltip-effect="dark" stripe |
| | | :fit="true" border |
| | | @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" |
| | | @select="upProductSelect" |
| | | @select-all="handleAll" |
| | | class="productTable" |
| | | header-row-class-name="header-class"> |
| | | <el-table-column type="selection" width="50" > |
| | | :fit="true" border @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" |
| | | @select="upProductSelect" @select-all="handleAll" class="productTable" header-row-class-name="header-class"> |
| | | <el-table-column type="selection" width="50"> |
| | | </el-table-column> |
| | | <el-table-column prop="model" label="型号" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip></el-table-column> |
| | | <!-- <el-table-column prop="inspectionItemClassify" label="检验项类型" width="120" show-overflow-tooltip></el-table-column> --> |
| | | <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="sonLaboratory" label="子实验室" width="130" show-overflow-tooltip :filters="filters" |
| | | :filter-method="filterHandler"></el-table-column> |
| | | <el-table-column prop="sonLaboratory" label="子实验室" width="130" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="ask" label="要求值" min-width="200px"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable |
| | |
| | | <el-table-column prop="templateId" label="模板" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.templateId" size="small" filterable :disabled="!upStandardProduct" |
| | | @change="(value)=>upStandardProductListOfTemplate(value,scope.row.id)"> |
| | | @change="(value)=>upStandardProductListOfTemplate(value,scope.row.id)"> |
| | | <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option> |
| | | </el-select> |
| | | </template> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-pagination |
| | | style="position: absolute;right: 16px;bottom: 1px;" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | layout="total, prev, pager, next, jumper" |
| | | :page-size="50" |
| | | :total="total"> |
| | | <el-pagination style="position: absolute;right: 16px;bottom: 1px;" @current-change="handleCurrentChange" |
| | | :current-page="currentPage" layout="total, prev, pager, next, jumper" :page-size="50" :total="total"> |
| | | </el-pagination> |
| | | </el-row> |
| | | </div> |
| | |
| | | <el-button type="primary" @click="addStandardTree" :loading="addLoad">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="批量编辑" :visible.sync="moreEdit" width="90%" style="height: 100vh;" class="more-edit"> |
| | | <div class="body" style="height: 100%;display: flex;flex-direction: column;"> |
| | | <el-dialog title="批量编辑" :visible.sync="moreEdit" width="90%" class="more-edit"> |
| | | <div class="body" style="display: flex;flex-direction: column;height: 80vh;"> |
| | | <div class="search"> |
| | | <div class="search-item"> |
| | | <el-row style="width: 25%;margin-bottom: 16px;"> |
| | |
| | | <!-- <span class="required-span">* </span> --> |
| | | 要求描述:</el-col> |
| | | <el-col :span="16" style="display: flex;align-items: flex-start;height: 100%;"> |
| | | <el-input size="small" clearable type="textarea" :autosize="{ minRows: 1, maxRows: 3}" v-model="moreInfo.tell" :disabled="moreSelects.length==0"></el-input> |
| | | <el-input size="small" clearable type="textarea" :autosize="{ minRows: 1, maxRows: 3}" |
| | | v-model="moreInfo.tell" :disabled="moreSelects.length==0"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%;margin-bottom: 16px;"> |
| | |
| | | <!-- <span class="required-span">* </span> --> |
| | | 试验方法:</el-col> |
| | | <el-col :span="16"> |
| | | <el-select v-model="moreInfo.methodS" size="small" filterable style="width: 100%;" :disabled="moreSelects.length==0"> |
| | | <el-select v-model="moreInfo.methodS" size="small" filterable style="width: 100%;" |
| | | :disabled="moreSelects.length==0"> |
| | | <el-option v-for="(a, ai) in methodList" :key="ai" :label="a.label" :value="a.value"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | 单价(元):</el-col> |
| | | <el-col :span="16" > |
| | | <el-col :span="16"> |
| | | <el-input size="small" v-model="moreInfo.price" clearable :disabled="moreSelects.length==0"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <!-- <span class="required-span">* </span> --> |
| | | 工时系数:</el-col> |
| | | <el-col :span="16"> |
| | | <el-input size="small" v-model="moreInfo.manHour" clearable :disabled="moreSelects.length==0"></el-input> |
| | | <el-input size="small" v-model="moreInfo.manHour" clearable |
| | | :disabled="moreSelects.length==0"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%;"> |
| | |
| | | <!-- <span class="required-span">* </span> --> |
| | | 模板:</el-col> |
| | | <el-col :span="16"> |
| | | <el-select v-model="moreInfo.templateId" size="small" filterable placeholder="模板" style="width: 100%;" :disabled="moreSelects.length==0"> |
| | | <el-select v-model="moreInfo.templateId" size="small" filterable placeholder="模板" style="width: 100%;" |
| | | :disabled="moreSelects.length==0"> |
| | | <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | |
| | | </div> |
| | | <div style="flex: 1;overflow-y: auto;" v-loading="productTableLoading0"> |
| | | <el-table :data="productList0" ref="productTable0" style="width: 100%;" height="94%" tooltip-effect="dark" |
| | | stripe |
| | | :fit="true" border |
| | | @select-all="handleSelectAll0" |
| | | @select="handleSelectionChange0" |
| | | header-row-class-name="header-class" |
| | | :row-key="row=>row.id" |
| | | > |
| | | <el-table-column type="selection" width="50" > |
| | | stripe :fit="true" border @select-all="handleSelectAll0" @select="handleSelectionChange0" |
| | | header-row-class-name="header-class" :row-key="row=>row.id" @filter-change="filterHandler"> |
| | | <el-table-column type="selection" width="50"> |
| | | </el-table-column> |
| | | <el-table-column prop="model" label="型号" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip :filters="filters0" |
| | | :filter-multiple="false" column-key="inspectionItem" filter-placement="bottom-start"></el-table-column> |
| | | <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140" show-overflow-tooltip |
| | | :filters="filters1" :filter-multiple="false" column-key="inspectionItemSubclass" filter-placement="bottom-start"></el-table-column> |
| | | <el-table-column prop="sonLaboratory" label="子实验室" width="130" show-overflow-tooltip :filters="filters" |
| | | :filter-method="filterHandler"></el-table-column> |
| | | :filter-multiple="false" column-key="sonLaboratory" filter-placement="bottom-start"></el-table-column> |
| | | <el-table-column prop="ask" label="要求值" min-width="200px"></el-table-column> |
| | | <el-table-column prop="tell" label="要求描述" min-width="220px"></el-table-column> |
| | | <el-table-column prop="method" label="试验方法" width="200"></el-table-column> |
| | | <el-table-column prop="methodS" label="试验方法" width="200"></el-table-column> |
| | | <el-table-column prop="unit" label="计量单位" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="price" label="单价(元)" width="120"></el-table-column> |
| | | <el-table-column prop="manHour" label="工时系数" width="120"></el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="section" label="区间" width="120" show-overflow-tooltip></el-table-column> |
| | | </el-table> |
| | | <el-pagination |
| | | style="position: absolute;right: 16px;bottom: 4px;" |
| | | @current-change="handleCurrentChange0" |
| | | :current-page="currentPage0" |
| | | layout="total, prev, pager, next, jumper" |
| | | :page-size="50" |
| | | :total="total0"> |
| | | </el-pagination> |
| | | <el-pagination style="position: absolute;right: 16px;bottom: 4px;" @current-change="handleCurrentChange0" |
| | | :current-page="currentPage0" layout="total, prev, pager, next, jumper" :page-size="100" :total="total0"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- <el-dialog title="新增标准" :visible.sync="addStandardDia" width="400px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>标准名称: |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="standardId" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in standardEnum" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addStandardDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="addStandardMethodList" :loading="addLoad2">确 定</el-button> |
| | | </span> |
| | | </el-dialog> --> |
| | | <!-- <el-dialog title="新增项目" :visible.sync="addProductDia" width="70%"> |
| | | <div class="body" style="height: 60vh;" v-if="addProductDia"> |
| | | <ValueTable ref="ValueTable" :url="$api.capacityScope.selectItemParameterList" :componentData="componentData" /> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addProductDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="addStandardProductDo" :loading="addLoad3">确 定</el-button> |
| | | </span> |
| | | </el-dialog> --> |
| | | <el-dialog title="区间设置" :visible.sync="sectionUpDia" width="70%"> |
| | | <div class="body" style="padding: 5px 0;"> |
| | | <el-table :data="sectionList" border style="width: 100%" height="350px"> |
| | |
| | | sectionRow: null, |
| | | sectionList: [], |
| | | templateList: [], |
| | | total:0, |
| | | currentPage:1, |
| | | total: 0, |
| | | currentPage: 1, |
| | | standardId: 0, |
| | | moreEdit:false, |
| | | moreEditLoad:false, |
| | | moreSelects:[], |
| | | total0:0, |
| | | currentPage0:1, |
| | | moreEdit: false, |
| | | moreEditLoad: false, |
| | | moreSelects: [], |
| | | total0: 0, |
| | | currentPage0: 1, |
| | | productList0: [], |
| | | moreInfo:{ |
| | | ask:'', |
| | | tell:'', |
| | | methodS:'', |
| | | price:'', |
| | | manHour:'', |
| | | templateId:'' |
| | | moreInfo: { |
| | | ask: '', |
| | | tell: '', |
| | | methodS: '', |
| | | price: '', |
| | | manHour: '', |
| | | templateId: '' |
| | | }, |
| | | methodList:[], |
| | | productTableLoading0:false |
| | | methodList: [], |
| | | productTableLoading0: false, |
| | | filters0: [{ |
| | | text: '测试', |
| | | value: 0, |
| | | }, |
| | | { |
| | | text: '测试1', |
| | | value: 1, |
| | | }, |
| | | { |
| | | text: '测试2', |
| | | value: 2, |
| | | } |
| | | ], |
| | | filters1: [{ |
| | | text: '测试', |
| | | value: 0, |
| | | }, |
| | | { |
| | | text: '测试1', |
| | | value: 1, |
| | | }, |
| | | { |
| | | text: '测试2', |
| | | value: 2, |
| | | } |
| | | ], |
| | | pages: 1, |
| | | inspectionItem: null, |
| | | inspectionItemSubclass: null, |
| | | sonLaboratory: null |
| | | } |
| | | }, |
| | | watch: { |
| | | moreEdit(val) { |
| | | if(!val){ |
| | | if (!val) { |
| | | this.$refs.productTable0.clearSelection() |
| | | this.moreSelects = [] |
| | | this.currentPage0 = 1; |
| | | this.productList0 = [] |
| | | this.moreInfo = { |
| | | ask:'', |
| | | tell:'', |
| | | methodS:'', |
| | | price:'', |
| | | manHour:'', |
| | | templateId:'' |
| | | ask: '', |
| | | tell: '', |
| | | methodS: '', |
| | | price: '', |
| | | manHour: '', |
| | | templateId: '' |
| | | } |
| | | } |
| | | } |
| | |
| | | this.selectEnumByCategoryForInspectionValueType() |
| | | this.selectEnumByCategoryForSonLaboratory() |
| | | this.getStandardTemplate() |
| | | this.selectStandardMethods() |
| | | }, |
| | | methods: { |
| | | filterNode(value, data) { |
| | |
| | | this.addProductDia = false |
| | | }, |
| | | rowClick(row, column, event) { |
| | | this.currentPage = 1; |
| | | this.tableLoad2 = true |
| | | this.standardId = row.id |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductListByMethodId, { |
| | |
| | | this.productList.forEach(a => { |
| | | if (a.state == 1) this.toggleSelection(a) |
| | | }) |
| | | }, 200) |
| | | }, 300) |
| | | this.tableLoad2 = false |
| | | }) |
| | | }, |
| | |
| | | // this.$message.success('已保存') |
| | | }) |
| | | }, |
| | | filterHandler(value, row, column) { |
| | | const property = column['property']; |
| | | return row[property] === value; |
| | | filterHandler(value) { |
| | | for (let column in value) { |
| | | if(value[column].length === 0){ |
| | | if(column==='inspectionItem'){ |
| | | this.inspectionItem = null |
| | | }else if(column === 'inspectionItemSubclass'){ |
| | | this.inspectionItemSubclass = null |
| | | }else if(column === 'sonLaboratory'){ |
| | | this.sonLaboratory = null |
| | | } |
| | | }else{ |
| | | if(column==='inspectionItem'){ |
| | | this.inspectionItem = value[column][0] |
| | | }else if(column === 'inspectionItemSubclass'){ |
| | | this.inspectionItemSubclass = value[column][0] |
| | | }else if(column === 'sonLaboratory'){ |
| | | this.sonLaboratory = value[column][0] |
| | | } |
| | | } |
| | | this.getList() |
| | | } |
| | | }, |
| | | handleAll(e) { |
| | | if (e.length > 0) { |
| | | this.productList = this.productList.map(m => { |
| | | this.productList.map(m => { |
| | | m.state = 0 |
| | | this.upProductSelect(null, m) |
| | | return m |
| | | }) |
| | | } else { |
| | | this.productList = this.productList.map(m => { |
| | | this.productList.map(m => { |
| | | m.state = 1 |
| | | this.upProductSelect(null, m) |
| | | return m |
| | |
| | | }, |
| | | sectionUp(row) { |
| | | if (Array.isArray(row)) { |
| | | // 值是一个数组 |
| | | if(row.length === 0){ |
| | | return this.$message.error('请选择检验项') |
| | | } |
| | | this.sectionRow = {} |
| | | this.sectionUpDia = true |
| | | // 值是一个数组 |
| | | if (row.length === 0) { |
| | | return this.$message.error('请选择检验项') |
| | | } |
| | | this.sectionRow = {} |
| | | this.sectionUpDia = true |
| | | } else { |
| | | // 值是一个对象 |
| | | this.sectionRow = row |
| | |
| | | this.sectionRow.manHour = JSON.stringify(manHourList) |
| | | } |
| | | this.sectionLoad = true |
| | | if(this.moreSelects.length === 0){ |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | if (this.moreSelects.length === 0) { |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | id: this.sectionRow.id, |
| | | section: this.sectionRow.section, |
| | | ask: this.sectionRow.ask, |
| | |
| | | this.$message.success('已保存') |
| | | this.sectionUpDia = false |
| | | }) |
| | | }else{ |
| | | } else { |
| | | this.$axios.post(this.$api.standardTree.upStandardProducts, { |
| | | ids:this.moreSelects.map(a=>a.id), |
| | | standardProductList:{ |
| | | section: this.sectionRow.section, |
| | | ask: this.sectionRow.ask, |
| | | tell: this.sectionRow.tell, |
| | | price: this.sectionRow.price, |
| | | manHour: this.sectionRow.manHour |
| | | } |
| | | ids: this.moreSelects.map(a => a.id), |
| | | standardProductList: { |
| | | section: this.sectionRow.section, |
| | | ask: this.sectionRow.ask, |
| | | tell: this.sectionRow.tell, |
| | | price: this.sectionRow.price, |
| | | manHour: this.sectionRow.manHour |
| | | } |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.sectionLoad = false |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | this.sectionUpDia = false |
| | | this.currentPage0 = 1; |
| | | this.getList() |
| | | }) |
| | | this.sectionLoad = false |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | this.sectionUpDia = false |
| | | this.currentPage0 = 1; |
| | | this.getList() |
| | | this.rowClick({ |
| | | id: this.standardId |
| | | }) |
| | | }) |
| | | } |
| | | }, |
| | | getStandardTemplate() { |
| | |
| | | this.tableLoad2 = false |
| | | }) |
| | | }, |
| | | async handleMore(){ |
| | | if((!this.standardId&&this.standardId!=0)||this.standardList.length==0){ |
| | | async handleMore() { |
| | | if ((!this.standardId && this.standardId != 0) || this.standardList.length == 0) { |
| | | return this.$message.error('请选择实验室、样品') |
| | | } |
| | | await this.getList() |
| | | this.selectStandardMethods() |
| | | this.moreEdit = true |
| | | }, |
| | | selectStandardMethods() { |
| | |
| | | this.methodList = data |
| | | }) |
| | | }, |
| | | subMoreEdit(){ |
| | | if(this.moreSelects.length===0){ |
| | | subMoreEdit() { |
| | | if (this.moreSelects.length === 0) { |
| | | return this.$message.error('请选择检验项') |
| | | } |
| | | this.moreEditLoad = true |
| | | this.$axios.post(this.$api.standardTree.upStandardProducts, { |
| | | ids:this.moreSelects.map(a=>a.id), |
| | | standardProductList:this.moreInfo |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | ids: this.moreSelects.map(a => a.id), |
| | | standardProductList: this.moreInfo |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.moreEditLoad = false |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | |
| | | this.$message.success('已保存') |
| | | this.currentPage0 = 1; |
| | | this.getList() |
| | | this.rowClick({ |
| | | id: this.standardId |
| | | }) |
| | | // this.moreInfo = { |
| | | // ask:'', |
| | | // tell:'', |
| | |
| | | // } |
| | | }) |
| | | }, |
| | | handleSelectAll0(rows){ |
| | | if(rows.length){ |
| | | rows.forEach(a=>{ |
| | | if(!this.moreSelects.find(b=>a.id===b.id)){ |
| | | handleSelectAll0(rows) { |
| | | if (rows.length) { |
| | | rows.forEach(a => { |
| | | if (!this.moreSelects.find(b => a.id === b.id)) { |
| | | this.moreSelects.push(a) |
| | | } |
| | | }) |
| | | }else{ |
| | | this.productList0.forEach(a=>{ |
| | | this.moreSelects = this.moreSelects.filter(b=>b.id!=a.id ) |
| | | } else { |
| | | this.productList0.forEach(a => { |
| | | this.moreSelects = this.moreSelects.filter(b => b.id != a.id) |
| | | }) |
| | | } |
| | | }, |
| | | handleSelectionChange0(val,row){ |
| | | if(this.moreSelects.find(a=>a.id===row.id)){ |
| | | this.moreSelects = this.moreSelects.filter(a=>a.id!=row.id) |
| | | }else{ |
| | | handleSelectionChange0(val, row) { |
| | | if (this.moreSelects.find(a => a.id === row.id)) { |
| | | this.moreSelects = this.moreSelects.filter(a => a.id != row.id) |
| | | } else { |
| | | this.moreSelects.push(row) |
| | | } |
| | | }, |
| | | getList(){ |
| | | getList() { |
| | | this.productTableLoading0 = true |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductListByMethodId, { |
| | | this.getItemEnum() |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductByMethodId, { |
| | | id: this.standardId, |
| | | tree: this.selectTree, |
| | | page: this.currentPage0 |
| | | page: this.currentPage0, |
| | | laboratory: this.sonLaboratory, |
| | | items: this.inspectionItemSubclass, |
| | | item: this.inspectionItem |
| | | }).then(res => { |
| | | this.productList0 = res.data.productList |
| | | this.productList0 = res.data.records |
| | | this.total0 = res.data.total |
| | | this.productTableLoading0 = false |
| | | this.$nextTick(()=>{ |
| | | this.productList0.forEach((a,i) => { |
| | | if(this.moreSelects.find(b=>a.id==b.id)){ |
| | | // console.log(111111111,a) |
| | | this.$refs.productTable0.toggleRowSelection(this.productList0[i],true) |
| | | this.page = res.data.pages |
| | | this.$nextTick(() => { |
| | | this.productList0.forEach((a, i) => { |
| | | if (this.moreSelects.find(b => a.id == b.id)) { |
| | | this.$refs.productTable0.toggleRowSelection(this.productList0[i], true) |
| | | } |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | handleCurrentChange0(e){ |
| | | handleCurrentChange0(e) { |
| | | this.currentPage0 = e; |
| | | this.getList() |
| | | }, |
| | | getItemEnum(){ |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductEnumByMethodId,{ |
| | | id: this.standardId, |
| | | tree: this.selectTree |
| | | }).then(res=>{ |
| | | this.filters0 = [] |
| | | this.filters1 = [] |
| | | res.data.item.forEach(a=>{ |
| | | this.filters0.push({ |
| | | text: a.inspectionItem, |
| | | value: a.inspectionItem |
| | | }) |
| | | }) |
| | | res.data.items.forEach(a=>{ |
| | | if(a!=null){ |
| | | this.filters1.push({ |
| | | text: a.inspectionItemSubclass, |
| | | value: a.inspectionItemSubclass |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | v-on:mouseenter="onMouseEnter(index)" |
| | | v-on:mouseleave="currentUserIndex=null"> |
| | | <div class="content-body-item" v-for="(m,i) in item.list" :key="'d'+i" :class="{hoverType:currentUserIndex==index}"> |
| | | <div class="work-box" :class="{type0:m.shift==='0',type1:m.shift==='1',type2:m.shift==='2',type3:m.shift==='3',type4:m.shift==='4',type5:m.shift==='5',type6:m.shift==='6'}"> |
| | | <!-- <div class="work-box-left"> |
| | | <span>{{ getShiftByDic(m.shift) }}</span> |
| | | </div> --> |
| | | <el-dropdown trigger="click" placement="bottom" @command="e=>handleCommand(e,m)" :disabled="!upPower"> |
| | | <!-- <i class="el-icon-arrow-down el-icon--right" style="font-size: 20px;color: #fff;cursor: pointer;"></i> --> |
| | | <el-dropdown trigger="click" placement="bottom" @command="e=>handleCommand(e,m)" :disabled="!upPower"> |
| | | <div class="work-box" :class="{type0:m.shift==='0',type1:m.shift==='1',type2:m.shift==='2',type3:m.shift==='3',type4:m.shift==='4',type5:m.shift==='5',type6:m.shift==='6'}"> |
| | | <span style="cursor: pointer;" :style="`opacity: ${getShiftByDic(m.shift)=='无'?0:1};`">{{ getShiftByDic(m.shift) }}</span> |
| | | </div> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item v-for="(n,j) in classType" :key="'h'+j" :command="n.value">{{ n.label }}</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | background: #F5F7FB; |
| | | background: #edeff2; |
| | | border-radius: 8px 8px 8px 8px; |
| | | color: #999; |
| | | font-size: 14px; |
| | |
| | | margin-left: 10px; |
| | | } |
| | | .hoverType{ |
| | | background: rgba(58,123,250,0.05); |
| | | background: rgba(58,123,250,0.03); |
| | | } |
| | | .year-table{ |
| | | width: 100%; |
| | |
| | | } |
| | | }, |
| | | mounted(){ |
| | | this.init() |
| | | this.timers&&clearInterval(this.timers); |
| | | setInterval(this.init,1000*60*5) |
| | | setInterval(this.init(),1000*60*5) |
| | | }, |
| | | methods:{ |
| | | init(){ |
| | |
| | | } |
| | | }, |
| | | mounted(){ |
| | | // this.init() |
| | | this.init() |
| | | this.timers&&clearInterval(this.timers); |
| | | setInterval(this.init,1000*60*5) |
| | | setInterval(this.init(),1000*60*5) |
| | | }, |
| | | methods:{ |
| | | init(){ |
| | |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%;margin-bottom: 10px;height: calc(100% - 40px);" |
| | | height="calc(100% - 40px)" |
| | | row-key="id" |
| | | v-loading="loading" |
| | | border |
| | |
| | | <el-button size="small" @click="refresh()">重 置</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_thing" style="display: flex;justify-content: right;margin-right: 10px;"> |
| | | <el-button size="small" type="primary" @click="openthirdParty" v-if="addUserPower">获取三方人员</el-button> |
| | | <el-button size="small" type="primary" @click="opeaAdd" v-if="addPower">新增用户</el-button> |
| | | </div> |
| | |
| | | :componentData="componentData" :key="upIndex" /> |
| | | </div> |
| | | </div> |
| | | <el-dialog title="架构新增" :visible.sync="addDia0" width="400px"> |
| | | <el-dialog title="架构新增" :visible.sync="addDia" width="400px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | |
| | | </el-row> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addDia0 = false">取 消</el-button> |
| | | <el-button @click="addDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="addStandardTree" :loading="addLoad">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | <div class="body"> |
| | | <el-row> |
| | | <el-col :span="9" style="height: 70vh;overflow: hidden;"> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="search2" size="small" style="width: 90%;padding: 0 5% 10px 5%;" |
| | | <el-input placeholder="输入关键字搜索" v-model="search2" size="small" style="width: 90%;padding: 0 5% 10px 5%;" |
| | | clearable @blur="searchFilter2" @clear="searchFilter2" @keyup.enter.native="searchFilter2()"> |
| | | </el-input> |
| | | <el-tree :data="datathirdParty" node-key="id" :props="defaultProps" @node-click="nodeClick2" |
| | |
| | | font: '编辑', |
| | | type: 'text', |
| | | method: 'doDiy', |
| | | field: ['createUserName', 'updateUserName', 'roleName', '角色=roleId', '密码=password'] |
| | | field: ['createUserName', 'updateUserName', 'roleName', '角色=roleId', '密码=password', |
| | | '姓名EN=nameEn','年龄=age','邮箱=email','单位=company','签名=pictureUrl','本人照=signatureUrl'] |
| | | }], |
| | | tagField: { |
| | | state: { |
| | |
| | | if (power[i].menuMethod == 'delDepartment') { |
| | | delStandardTree = true |
| | | } |
| | | if (power[i].menuMethod == 'addPersonUser') { |
| | | if (power[i].menuMethod == 'selectCompaniesList') { |
| | | addUserPower = true |
| | | } |
| | | } |
| | |
| | | } |
| | | let arr = [] |
| | | this.currentCompaniesList.forEach(b=>{ |
| | | this.companiesList.forEach(a=>{ |
| | | /* this.companiesList.forEach(a=>{ |
| | | if(a.companyId===b){ |
| | | console.log(a) |
| | | } |
| | | }) |
| | | }) */ |
| | | let obj = this.companiesList.find(a=>a.companyId==b) |
| | | arr.push(obj) |
| | | }) |
| | |
| | | return |
| | | } |
| | | this.$message.success('操作成功') |
| | | this.refresh() |
| | | this.multipleSelection = [] |
| | | this.$refs.personTable.clearSelection() |
| | | this.addthirdParty = false |
| | | this.addLoad = false |
| | | this.personList = [] |
| | | this.userSearch2 = '' |
| | | this.refresh() |
| | | }).catch(e => { |
| | | this.addthirdParty = false |
| | | this.addLoad = false |
| | |
| | | i: "font icon-erjidaohang", |
| | | u: "a6-personnel-detail", |
| | | g: "6.2 人员", |
| | | p: "selectUserList" |
| | | p: "selectDepartmentLim" |
| | | }, { |
| | | v: "人员培训", |
| | | i: "font icon-erjidaohang", |