diff --git a/src/App.vue b/src/App.vue index 81f7f87..cc97974 100644 --- a/src/App.vue +++ b/src/App.vue @@ -135,9 +135,12 @@ export default { .el-dialog__body { padding: 10px 10px; } + /*隐藏自动填充密码 */ -.sbzdtcma{ - width: 0px; height: 0px; overflow: hidden; +.sbzdtcma { + width: 0px; + height: 0px; + overflow: hidden; } /*搜索区域样式 */ @@ -224,7 +227,7 @@ export default { display: flex; justify-content: flex-start; text-align: left; - + page-break-inside: avoid; .line { width: 2px; float: left; @@ -314,14 +317,68 @@ export default { margin-top: 10px; } } + .no-break { - page-break-inside: avoid; - } + page-break-inside: avoid; +} + /* 表格行不被分割 */ - table, tr, td, th { - page-break-inside: avoid; - } - +tr, +td, +th { + page-break-inside: avoid; +} + +.page-break { + page-break-before: always; +} + +.datatable { + border-collapse: collapse; + width: 100%; + font-size: 13px; +} + +.datatable thead { + border-left: 1px solid #f5f5f5; + page-break-inside: avoid; +} + +.datatable th { + padding: 5px 5px 4px 5px; + max-width: 200px; + line-height: 35px; + text-align: center; + color: #606266; + background: #f8f8f9; + border: 1px solid #f5f5f5; +} + + +.datatable th.operate { + padding: 5px 5px 4px 5px; + width: 100px; + line-height: 35px; + background: #f8f8f9; + border: 1px solid #f5f5f5; + text-align: center; +} + + +.datatable td { + border: solid 1px #f5f5f5; + padding: 3px 5px 4px 5px; + max-width: 100px; + color: #606266; + line-height: 35px; + text-align: center; +} + +.el-dialog__body { + padding: 10px 20px !important; +} + + /** 基础信息设置tab **/ .edit-container { @@ -357,12 +414,12 @@ export default { .is-finish { background: #409eff; - border: 1px solid #409eff; + border: 1px solid #409eff; color: #fff; } - .is-info { - border: 1px solid #d0d0d0; + .is-info { + border: 1px solid #d0d0d0; } .line { @@ -383,8 +440,9 @@ export default { padding: 10px 10px; margin-top: 10px; width: 100%; - display: flex; + display: flex; justify-content: center; + .content-right { width: 33%; margin-left: 2%; @@ -395,6 +453,7 @@ export default { .content-left { width: 65%; } + .content { width: 100%; } @@ -410,7 +469,7 @@ export default { display: flex; justify-content: flex-start; text-align: left; - + page-break-inside: avoid; .line { width: 2px; float: left; @@ -470,11 +529,11 @@ export default { } .template-form-item { - background: #fff; - padding: 20px; - border-radius: 8px; - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); - margin-top: 24px; - padding: 24px; + background: #fff; + padding: 20px; + border-radius: 8px; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); + margin-top: 24px; + padding: 24px; } diff --git a/src/api/business/public/public.js b/src/api/business/public/public.js index 72caf9f..96d3658 100644 --- a/src/api/business/public/public.js +++ b/src/api/business/public/public.js @@ -123,3 +123,11 @@ export function public_storageLocation(query) { params: query }) } +// 操作日志 +export function public_saveSimpleLog(query) { + return request({ + url: '/system/business/public/saveSimpleLog', + method: 'get', + params: query + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js index 8099872..076095e 100644 --- a/src/api/system/user.js +++ b/src/api/system/user.js @@ -160,3 +160,18 @@ export function studyUser(query) { params: query }) } + +export function roleChangeList(query) { + return request({ + url: '/system/business/roleChange/list', + method: 'get', + params: query + }) +} +export function roleChangeExport(data) { + return request({ + url: '/system/business/roleChange/export', + method: 'post', + data + }) +} diff --git a/src/components/Template/BaseInfoFormPackage.vue b/src/components/Template/BaseInfoFormPackage.vue index 3755375..7017a5a 100644 --- a/src/components/Template/BaseInfoFormPackage.vue +++ b/src/components/Template/BaseInfoFormPackage.vue @@ -233,6 +233,9 @@ export default { grid-template-columns: repeat(2, 1fr); /* 默认2列 */ gap: 0 20px; + /* 防止网格容器被分割到不同页面 */ + page-break-inside: avoid; + break-inside: avoid; } .gap2 { @@ -251,7 +254,7 @@ export default { margin-top: 20px; padding: 20px; border-radius: 5px 5px; - + page-break-inside: avoid; } /* 或者使用 span 语法 */ @@ -265,9 +268,11 @@ export default { .c-Item { - // &:not(:last-child) { - margin-bottom: 16px; - // } + // &:not(:last-child) { + // margin-bottom: 16px; + // } + page-break-inside: avoid; + padding: 8px 0px; } .eo { @@ -315,12 +320,10 @@ export default { } .flex1 { - page-break-inside: avoid; flex: 1; } .flex { - page-break-inside: avoid; display: flex; } diff --git a/src/components/Template/HandleFormItem.vue b/src/components/Template/HandleFormItem.vue index 8c338a8..e821e61 100644 --- a/src/components/Template/HandleFormItem.vue +++ b/src/components/Template/HandleFormItem.vue @@ -976,8 +976,9 @@ export default { cursor: pointer; width: auto; // margin-left: 10px; - min-width: 178px; - height: 28px; + min-height: 28px; + line-height: 28px; + word-break: break-all; border-radius: 4px; border: 1px solid #4ea2ff; display: flex; diff --git a/src/components/Template/LineLabel.vue b/src/components/Template/LineLabel.vue index bed5f80..bb81369 100644 --- a/src/components/Template/LineLabel.vue +++ b/src/components/Template/LineLabel.vue @@ -24,6 +24,7 @@ justify-content: flex-start; text-align: left; margin-top: 20px; + page-break-inside: avoid; .line { width: 2px; float: left; diff --git a/src/components/Template/Step.vue b/src/components/Template/Step.vue index 5743dd1..d7a5ce8 100644 --- a/src/components/Template/Step.vue +++ b/src/components/Template/Step.vue @@ -495,8 +495,10 @@ export default { flex:1 } .step-list { + padding-top: 10px; .step-list-item { - margin-top: 10px; + page-break-inside: avoid; + padding-top: 10px; border-radius: 6px; overflow: hidden; diff --git a/src/components/Template/Table.vue b/src/components/Template/Table.vue index 0545679..194c8c7 100644 --- a/src/components/Template/Table.vue +++ b/src/components/Template/Table.vue @@ -1,11 +1,24 @@ diff --git a/src/lang/en.js b/src/lang/en.js index 9b1cc45..df47bc5 100644 --- a/src/lang/en.js +++ b/src/lang/en.js @@ -17,7 +17,8 @@ import commonTemplate from './en/template/commonTemplate' import sp from './en/template/sp' //供试品模板 import gspmb from './en/template/gsp' - +//PCR模板 +import pcr from './en/template/pcr' // 试验管理 import study from './en/business/study/study' import studyEnter from './en/business/study/studyEnter' @@ -101,7 +102,7 @@ export default { signerUser: 'Signed User', signerPsw: 'Password', qmyy: 'Meaning of Signature', - signTime: '签名时间', + signTime: 'Date', remark: 'Comment', reason: 'Reason', modify: 'Modify', @@ -183,6 +184,7 @@ export default { template: { common: commonTemplate, sp: sp, - gsp: gspmb + gsp: gspmb, + pcr: pcr } } diff --git a/src/lang/en/system/role.js b/src/lang/en/system/role.js index a12b300..698bc42 100644 --- a/src/lang/en/system/role.js +++ b/src/lang/en/system/role.js @@ -20,5 +20,7 @@ export default { filterPlaceholder: 'Name Or Mobile', unauthorized: 'Uauthorized', - authorized: 'Authorized' + authorized: 'Authorized', + + fpjs: 'Role Change' } diff --git a/src/lang/en/system/user.js b/src/lang/en/system/user.js index d30d1b1..8b2ed2a 100644 --- a/src/lang/en/system/user.js +++ b/src/lang/en/system/user.js @@ -17,5 +17,8 @@ export default { history: 'Role History', addUser: 'Create', - modifyUser: 'Edit' + modifyUser: 'Edit', + + bgqjs: 'Role Before Change', + bghjs: 'Role After Change' } diff --git a/src/lang/en/template/pcr.js b/src/lang/en/template/pcr.js new file mode 100644 index 0000000..1600c5b --- /dev/null +++ b/src/lang/en/template/pcr.js @@ -0,0 +1,152 @@ +//色谱 +export default { + // PCR分析溶液配制记录表 + pcr001:{ + title: 'PCR分析溶液配制记录表', + + }, + // 生物样品分析储备液配制表 + sp002:{ + title: '生物样品分析储备液配制表', + + }, + // 生物样品标曲工作液制备表 + sp003:{ + title: '生物样品标曲工作液制备表', + rqcz: 'Container Material', + cctj:'Storage Condition', + qsyry:'Source Solution', + ysqsyrynd:'Expected Concentration of Source Solution', + sjqsyrynd:'Actual Concentration of Source Solution', + xsy:'Diluent', + qsbhstd:'STD Starting Number', + mbryyxzq:'Validity Period of Target Solution', + mbrysxr:'Expiration Date of Target Solution', + mbrybh:'Target Solution ID', + qsrybh:'Source Solution ID', + ysqsrytj:'Expected Volume of Source Solution', + sjqsrytj:'Actual Source Solution Volume', + ysxsytj:'Expected Volume of Diluent', + sjxsytj:'Actual Volume of Diluent', + ysmbrynd:'Expected Concentration of Target Solution', + sjmbrynd:'Actual Concentration of Target Solution', + ysmbrytj:'Expected Volume of Target Solution', + sjmbrytj:'Actual Volume of Target Solution', + }, + // 生物样品内标工作液制备表 + sp00456:{ + title: '生物样品内标工作液制备表', + mbrybh:'Target Solution ID', + qsrybh:'Source Solution ID', + ysqsrytj:'Expected Volume of Source Solution', + sjqsrytj:'Actual Source Solution Volume', + ysxsytj:'Expected Volume of Diluent', + sjxsytj:'Actual Volume of Diluent', + ysmbrynd:'Expected Concentration of Target Solution', + sjmbrynd:'Actual Concentration of Target Solution', + ysmbrytj:'Expected Volume of Target Solution', + sjmbrytj:'Actual Volume of Target Solution', + mbryyxzq:'Validity Period of Target Solution', + mbrysxr:'Expiration Date of Target Solution', + ysysrybh:'预设原始溶液编号', + sjysrybh:'实际原始溶液编号', + ysysrynd:'预设原始溶液浓度', + sjysrynd:'实际原始溶液浓度', + ysysrytj:'预设原始溶液体积', + sjysrytj:'实际原始溶液体积', + yjxsytj:'Expected Volume of Diluent', + sjxsytj:'Actual Volume of Diluent', + qsyry:'Source Solution', + ysqsyrynd:'Expected Concentration of Source Solution', + sjqsyrynd:'Actual Concentration of Source Solution', + xsy:'Diluent', + rqcz: 'Container Material', + cctj:'Storage Condition', + }, + // 生物样品分析方法学样品制备表-准确度与精密度 + sp008: { + title: + 'Bioanalytical Methods Sample Preparation Record(Accuracy and Precision)', + clpbh: 'Analysis Batch Number', + rqcz: 'Container Material', + clsj: 'Work Time', + xzjz: 'Select substrate', + bh: 'Serial Number', + ysry: 'Preset solution', + sjry: 'Actual solution', + yjryxql: 'Expected Solution Extraction Volume', + sjryxql: 'Actual Solution Extraction Volume', + yjjzxql: 'Expected Blank Matrix Extraction Volume', + sjjzxql: 'Actual Blank Matrix Extraction Volume', + hhwznd: 'Target Solution Concentration' + }, + // 生物样品分析方法学样品制备表-Recovery + sp009: { + title: 'Bioanalytical Methods Sample Preparation Record (Recovery)', + clpbh: 'Analysis Batch Number', + rqcz: 'Container Material', + clsj: 'Work Time', + xzjz: 'Select substrate', + bh: 'Serial Number', + ysry: 'Preset solution', + sjry: 'Actual solution', + yjryxql: 'Expected Solution Extraction Volume', + sjryxql: 'Actual Solution Extraction Volume', + yjjzxql: 'Expected Blank Matrix Extraction Volume', + sjjzxql: 'Actual Blank Matrix Extraction Volume', + hhwznd: 'Target Solution Concentration', + xzgzy: 'Select Working Solution', + xzxsy: 'Select Diluent', + yjgzyxql: 'Expected Working Solution Extraction Volume', + sjgzyxql: 'Actual Working Solution Extraction Volume', + yjxsyxql: 'Expected Diluent Extraction Volume', + sjxsyxql: 'Actual Diluent Extraction Volume' + }, + //生物样品分析方法学样品制备表(全血稳定) + sp010: { + title: + 'Bioanalytical Methods Sample Preparation Record (Whole Blood Stability)' + }, + //生物样品分析方法学样品制备表(Solution stability)-生物样品分析方法学样品制备表-储备液和工作液稳定性 + sp011: { + title: + 'Bioanalytical Methods Sample Preparation Record (Solution Stability)', + xzxsy: 'Select Diluent', + yjxsyxql: 'Expected Blank Diluent Extraction Volume', + sjxsyxql: 'Actual Blank Diluent Extraction Volume' + }, + //生物样品分析方法学样品制备表(Haemolysed matrix effect)-生物样品分析方法学样品制备表(溶血基质效应) + sp012: { + title: + 'Bioanalytical Methods Sample Preparation Record (Haemolytic Matrix Effect)' + }, + //生物样品分析方法学样品制备表(Matrix effect)-生物样品分析方法学样品制备表(基质效应) + sp013: { + title: 'Bioanalytical Methods Sample Preparation Record (Matrix Effect)', + kbjzbh: 'Blank Matrix Serial Number' + }, + //生物样品分析方法学样品制备表(Selectivity)-生物样品分析方法学样品制备表(选择性和特异性) + sp014: { + title: 'Bioanalytical Methods Sample Preparation Record (Selectivity)' + }, + //生物样品分析方法学样品制备表(Sample Size)-生物样品分析方法学样品制备表(最大样本数) + sp015: { + title: 'Bioanalytical Methods Sample Preparation Record (Sample Amount)' + }, + //生物样品分析方法学样品制备表(Dilution Integrity)- 生物样品分析方法学样品制备表(稀释可靠性) + sp016: { + title: + 'Bioanalytical Methods Sample Preparation Record (Dilution Integrity)', + bs: 'Multiple' + }, + //生物样品分析方法学样品制备表(Stock solution comparison)- 生物样品分析方法学样品制备表(储备液对比) + sp017: { + title: + 'Bioanalytical Methods Sample Preparation Record (Stock Solution Comparison)' + }, + //生物样品分析方法学质控配制表 + sp018: { + title: 'Bioanalytical Methods Quality Control Solution Preparation Record', + xzxsy: 'Select Diluent' + } +} diff --git a/src/lang/zh.js b/src/lang/zh.js index c070ccb..60fe169 100644 --- a/src/lang/zh.js +++ b/src/lang/zh.js @@ -17,6 +17,8 @@ import commonTemplate from './zh/template/commonTemplate' import sp from './zh/template/sp' //供试品模板 import gspmb from './zh/template/gsp' +//PCR模板 +import pcr from './zh/template/pcr' // 试验管理 import study from './zh/business/study/study' @@ -178,6 +180,7 @@ export default { template: { common: commonTemplate, sp: sp, - gsp: gspmb + gsp: gspmb, + pcr: pcr } } diff --git a/src/lang/zh/system/role.js b/src/lang/zh/system/role.js index d0fe532..ebfa143 100644 --- a/src/lang/zh/system/role.js +++ b/src/lang/zh/system/role.js @@ -20,5 +20,7 @@ export default { filterPlaceholder: '姓名/手机号', unauthorized: '未授权', - authorized: '已授权' + authorized: '已授权', + + fpjs: '分配角色' } diff --git a/src/lang/zh/system/user.js b/src/lang/zh/system/user.js index 735f86d..d062f3d 100644 --- a/src/lang/zh/system/user.js +++ b/src/lang/zh/system/user.js @@ -18,5 +18,8 @@ export default { addUser: '新增角色', modifyUser: '编辑角色', - phoneError: '请输入正确的手机号码' + phoneError: '请输入正确的手机号码', + + bgqjs: '变更前角色', + bghjs: '变更后角色' } diff --git a/src/lang/zh/template/pcr.js b/src/lang/zh/template/pcr.js new file mode 100644 index 0000000..2cd6b64 --- /dev/null +++ b/src/lang/zh/template/pcr.js @@ -0,0 +1,146 @@ +//色谱 +export default { + // PCR分析溶液配制记录表 + pcr001:{ + title: 'PCR分析溶液配制记录表', + + }, + // 生物样品分析储备液配制表 + sp002:{ + title: '生物样品分析储备液配制表', + + }, + // 生物样品标曲工作液制备表 + sp003:{ + title: '生物样品标曲工作液制备表', + rqcz: '容器材质', + cctj:'存储条件', + qsyry:'起始源溶液', + ysqsyrynd:'预设起始源溶液浓度', + sjqsyrynd:'实际起始源溶液浓度', + xsy:'稀释液', + qsbhstd:'起始编号STD', + mbryyxzq:'目标溶液有效周期', + mbrysxr:'目标溶液失效日', + mbrybh:'目标溶液编号', + qsrybh:'起始溶液编号', + ysqsrytj:'预设起始溶液体积', + sjqsrytj:'实际起始溶液体积', + ysxsytj:'预设稀释液体积', + sjxsytj:'实际稀释液体积', + ysmbrynd:'预设目标溶液浓度', + sjmbrynd:'实际目标溶液浓度', + ysmbrytj:'预设目标溶液体积', + sjmbrytj:'实际目标溶液体积', + }, + // 生物样品内标工作液制备表 + sp00456:{ + title: '生物样品内标工作液制备表', + mbrybh:'目标溶液编号', + qsrybh:'起始溶液编号', + ysqsrytj:'预设起始溶液体积', + sjqsrytj:'实际起始溶液体积', + ysxsytj:'预设稀释液体积', + sjxsytj:'实际稀释液体积', + ysmbrynd:'预设目标溶液浓度', + sjmbrynd:'实际目标溶液浓度', + ysmbrytj:'预设目标溶液体积', + sjmbrytj:'实际目标溶液体积', + mbryyxzq:'目标溶液有效周期', + mbrysxr:'目标溶液失效日', + ysysrybh:'预设原始溶液编号', + sjysrybh:'实际原始溶液编号', + ysysrynd:'预设原始溶液浓度', + sjysrynd:'实际原始溶液浓度', + ysysrytj:'预设原始溶液体积', + sjysrytj:'实际原始溶液体积', + yjxsytj:'预计稀释液体积', + sjxsytj:'实际稀释液体积', + qsyry:'起始源溶液', + ysqsyrynd:'预设起始源溶液浓度', + sjqsyrynd:'实际起始源溶液浓度', + xsy:'稀释液', + rqcz: '容器材质', + cctj:'存储条件', + }, + // 生物样品分析方法学样品制备表-准确度与精密度 + sp008: { + title: '生物样品分析方法学样品制备表(准确度与精密度)', + clpbh: '处理批编号', + rqcz: '容器材质', + clsj: '处理时间', + xzjz: '选择基质', + bh: '编号', + ysry: '预设溶液', + sjry: '实际溶液', + yjryxql: '预计溶液吸取量', + sjryxql: '实际溶液吸取量', + yjjzxql: '预计基质吸取量', + sjjzxql: '实际基质吸取量', + hhwznd: '化合物终浓度' + }, + // 生物样品分析方法学样品制备表-Recovery + sp009: { + title: '生物样品分析方法学样品制备表(Recovery)', + clpbh: '处理批编号', + rqcz: '容器材质', + clsj: '处理时间', + xzjz: '选择基质', + bh: '编号', + ysry: '预设溶液', + sjry: '实际溶液', + yjryxql: '预计溶液吸取量', + sjryxql: '实际溶液吸取量', + yjjzxql: '预计基质吸取量', + sjjzxql: '实际基质吸取量', + hhwznd: '化合物终浓度', + xzgzy: '选择工作液', + xzxsy: '选择稀释液', + yjgzyxql: '预计工作液吸取量', + sjgzyxql: '实际工作液吸取量', + yjxsyxql: '预计稀释液吸取量', + sjxsyxql: '实际稀释液吸取量' + }, + //生物样品分析方法学样品制备表(全血稳定) + sp010: { + title: '生物样品分析方法学样品制备表(全血稳定)' + }, + //生物样品分析方法学样品制备表(Solution stability)-生物样品分析方法学样品制备表-储备液和工作液稳定性 + sp011: { + title: '生物样品分析方法学样品制备表(储备液和工作液稳定性)', + xzxsy: '选择稀释液', + yjxsyxql: '预计稀释液吸取量', + sjxsyxql: '实际稀释液吸取量' + }, + //生物样品分析方法学样品制备表(Haemolysed matrix effect)-生物样品分析方法学样品制备表(溶血基质效应) + sp012: { + title: '生物样品分析方法学样品制备表(溶血基质效应)' + }, + //生物样品分析方法学样品制备表(Matrix effect)-生物样品分析方法学样品制备表(基质效应) + sp013: { + title: '生物样品分析方法学样品制备表(基质效应)', + kbjzbh: '空白基质编号' + }, + //生物样品分析方法学样品制备表(Selectivity)-生物样品分析方法学样品制备表(选择性和特异性) + sp014: { + title: '生物样品分析方法学样品制备表(选择性和特异性)' + }, + //生物样品分析方法学样品制备表(Sample Size)-生物样品分析方法学样品制备表(最大样本数) + sp015: { + title: '生物样品分析方法学样品制备表(最大样本数)' + }, + //生物样品分析方法学样品制备表(Dilution Integrity)- 生物样品分析方法学样品制备表(稀释可靠性) + sp016: { + title: '生物样品分析方法学样品制备表(稀释可靠性)', + bs: '倍数' + }, + //生物样品分析方法学样品制备表(Stock solution comparison)- 生物样品分析方法学样品制备表(储备液对比) + sp017: { + title: '生物样品分析方法学样品制备表(储备液对比)' + }, + //生物样品分析方法学质控配制表 + sp018: { + title: '生物样品分析方法学质控配制表', + xzxsy: '选择稀释液' + } +} diff --git a/src/main.js b/src/main.js index 7eaf4dd..13bec0d 100644 --- a/src/main.js +++ b/src/main.js @@ -5,7 +5,6 @@ import Cookies from 'js-cookie' import Element from 'element-ui' import './assets/styles/element-variables.scss' - import '@/assets/styles/index.scss' // global css import '@/assets/styles/ruoyi.scss' // ruoyi css import App from './App' @@ -44,6 +43,7 @@ import ImagePreview from '@/components/ImagePreview' import DictTag from '@/components/DictTag' // 字典数据组件 import DictData from '@/components/DictData' +import { public_saveSimpleLog } from '@/api/business/public/public' // 全局方法挂载 Vue.prototype.getDicts = getDicts @@ -56,6 +56,7 @@ Vue.prototype.selectDictLabels = selectDictLabels Vue.prototype.download = download Vue.prototype.handleTree = handleTree Vue.prototype.getMenuName = getMenuName +Vue.prototype.saveSimpleLog = public_saveSimpleLog // 全局组件挂载 Vue.component('DictTag', DictTag) diff --git a/src/permission.js b/src/permission.js index d006903..0885df5 100644 --- a/src/permission.js +++ b/src/permission.js @@ -6,6 +6,8 @@ import 'nprogress/nprogress.css' import { getToken } from '@/utils/auth' import { isPathMatch } from '@/utils/validate' import { isRelogin } from '@/utils/request' +import { public_saveSimpleLog } from '@/api/business/public/public' +import { getMenuNameEn } from '@/utils/menu' NProgress.configure({ showSpinner: false }) @@ -78,6 +80,14 @@ router.beforeEach((to, from, next) => { } }) -router.afterEach(() => { +router.afterEach((to) => { + if (to.meta.title && to.path != '/login') { + public_saveSimpleLog({ + nameEn: getMenuNameEn(to.meta.title), + name: to.meta.title, + jcmc: '进入页面', + jcmcEn: 'Enter Page' + }) + } NProgress.done() }) diff --git a/src/router/index.js b/src/router/index.js index 19e14cc..81ff8c0 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -178,7 +178,7 @@ export const dynamicRoutes = [ path: ':studyId(\\d+)/:tab', component: () => import('@/views/business/study/comp/enter'), name: 'StudyEnter', - meta: { title: '进入试验', activeMenu: '/trial/list' } + meta: { title: '', activeMenu: '/trial/list' } } ] }, @@ -192,7 +192,7 @@ export const dynamicRoutes = [ path: ':studyId(\\d+)/:tab', component: () => import('@/views/business/form/nonTrial/comp/enter'), name: 'NonTrialEnter', - meta: { title: '进入', activeMenu: '/form/nonTrial' } + meta: { title: '', activeMenu: '/form/nonTrial' } } ] }, @@ -206,7 +206,7 @@ export const dynamicRoutes = [ path: ':studyId(\\d+)/:tab', component: () => import('@/views/business/form/drug/comp/enter'), name: 'DrugEnter', - meta: { title: '进入', activeMenu: '/form/drug' } + meta: { title: '', activeMenu: '/form/drug' } } ] }, @@ -220,7 +220,7 @@ export const dynamicRoutes = [ path: ':key', component: () => import('@/views/business/study/comp/tbbd/Bj'), name: 'studyFormFillBj', - meta: { title: 'loading', activeMenu: '/trial/list' } + meta: { title: '', activeMenu: '/trial/list' } } ] }, @@ -234,7 +234,7 @@ export const dynamicRoutes = [ path: ':key', component: () => import('@/views/business/study/comp/tbbd/Bj'), name: 'nonTrialFormFillBj', - meta: { title: 'loading', activeMenu: '/form/nonTrial' } + meta: { title: '', activeMenu: '/form/nonTrial' } } ] }, @@ -248,11 +248,11 @@ export const dynamicRoutes = [ path: ':key', component: () => import('@/views/business/study/comp/tbbd/Bj'), name: 'drugFormFillBj', - meta: { title: 'loading', activeMenu: '/form/drug' } + meta: { title: '', activeMenu: '/form/drug' } } ] }, - { + { path: '/resource/mjy', component: Layout, hidden: true, @@ -262,11 +262,11 @@ export const dynamicRoutes = [ path: ':tab', component: () => import('@/views/business/resource/mjy/index'), name: 'Mjy', - meta: { title: 'loading', activeMenu: '/resource/mjy/mjyList' } + meta: { title: '麻精药管理', activeMenu: '/resource/mjy/mjyList' } } ] }, - { + { path: '/resource/gyzj', component: Layout, hidden: true, @@ -276,7 +276,7 @@ export const dynamicRoutes = [ path: ':tab', component: () => import('@/views/business/resource/gyzj/index'), name: 'Gyzj', - meta: { title: 'loading', activeMenu: '/resource/gyzj/gyzjList' } + meta: { title: '给药制剂管理', activeMenu: '/resource/gyzj/gyzjList' } } ] }, @@ -290,10 +290,10 @@ export const dynamicRoutes = [ path: ':tab', component: () => import('@/views/business/resource/gsp/index'), name: 'Gsp', - meta: { title: 'loading', activeMenu: '/resource/gsp/gspList' } + meta: { title: '供试品管理', activeMenu: '/resource/gsp/gspList' } } ] - }, + } ] // 防止连续点击多次路由报错 diff --git a/src/utils/menu.js b/src/utils/menu.js index 13f7dee..856a5a6 100644 --- a/src/utils/menu.js +++ b/src/utils/menu.js @@ -45,3 +45,7 @@ export function getMenuName(menuName) { } return menuObj[menuName] || menuName } + +export function getMenuNameEn(menuName) { + return menuObj[menuName] || menuName +} diff --git a/src/views/business/comps/common/JcgjExportList.vue b/src/views/business/comps/common/JcgjExportList.vue new file mode 100644 index 0000000..81c29b0 --- /dev/null +++ b/src/views/business/comps/common/JcgjExportList.vue @@ -0,0 +1,120 @@ + + + diff --git a/src/views/business/comps/template/TemplateTable.vue b/src/views/business/comps/template/TemplateTable.vue index c895874..fc9455d 100644 --- a/src/views/business/comps/template/TemplateTable.vue +++ b/src/views/business/comps/template/TemplateTable.vue @@ -44,7 +44,8 @@ import Demo from "./comps/sp/Demo.vue"; import SYWZPZJHB from "./comps/gsp/SYWZPZJHB.vue"; import MJYLQSQD from "./comps/gsp/MJYLQSQD.vue"; - +// PCR +import PCR001 from "./comps/pcr/PCR001.vue"; export default { name: "TemplateTable", @@ -54,7 +55,9 @@ export default { //供试品 MJYLQSQD, SYWZPZJHB, //色谱 - SP001, SP002, SP003, SP00456, SP008, SP009, SP010, SP011, SP012, SP013, SP014, SP015, SP016, SP017, SP018 + SP001, SP002, SP003, SP00456, SP008, SP009, SP010, SP011, SP012, SP013, SP014, SP015, SP016, SP017, SP018, + // PCR + PCR001 }, props: { sn: { @@ -100,6 +103,8 @@ export default { //供试品 'SYWZPZJHB': 'SYWZPZJHB', 'MJYLQSQD': 'MJYLQSQD', + //PCR + 'PCR001': 'PCR001' } } return this.componentMap || "Demo" diff --git a/src/views/business/comps/template/comps/pcr/PCR001.vue b/src/views/business/comps/template/comps/pcr/PCR001.vue new file mode 100644 index 0000000..f1137a9 --- /dev/null +++ b/src/views/business/comps/template/comps/pcr/PCR001.vue @@ -0,0 +1,332 @@ + + + + + \ No newline at end of file diff --git a/src/views/business/comps/template/comps/sp/SP00456.vue b/src/views/business/comps/template/comps/sp/SP00456.vue index c6f29d0..ad62715 100644 --- a/src/views/business/comps/template/comps/sp/SP00456.vue +++ b/src/views/business/comps/template/comps/sp/SP00456.vue @@ -34,7 +34,7 @@ :ref="`ladderStepFormPackageRef_${ladderIndex}`" :formConfig="ladderStepFormConfig" :formData="ladderConfig" fieldItemLabel="阶梯配制" :prefixKey="'ladder_' + ladderIndex" />