diff --git a/package.json b/package.json index 9504e6d..b8f8638 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "js-beautify": "1.13.0", "js-cookie": "3.0.1", "jsencrypt": "3.0.0-rc.1", - "jspdf": "^4.0.0", + "jspdf": "^2.5.1", "lodash": "^4.17.21", "moment": "^2.30.1", "nprogress": "0.2.0", @@ -49,6 +49,7 @@ "vue": "2.6.12", "vue-count-to": "1.0.13", "vue-cropper": "0.5.5", + "vue-html2pdf": "^1.8.0", "vue-i18n": "7.3.2", "vue-pdf": "^4.3.0", "vue-router": "3.4.9", diff --git a/src/api/business/gyzj/gyzj.js b/src/api/business/gyzj/gyzj.js index ce492f0..6496f8e 100644 --- a/src/api/business/gyzj/gyzj.js +++ b/src/api/business/gyzj/gyzj.js @@ -16,7 +16,14 @@ export function studyList(query) { params: query }) } - +//导出 +export function exportDetail(query) { + return request({ + url: '/system/business/gyzj/exportDetail', + method: 'get', + params: query + }) +} // 稽查轨迹列表 export function jcgjList(query) { return request({ diff --git a/src/api/business/home/home.js b/src/api/business/home/home.js index 9f4de41..24edc22 100644 --- a/src/api/business/home/home.js +++ b/src/api/business/home/home.js @@ -7,3 +7,10 @@ export function home_count(query) { params: query }) } +export function home_noticeList(query) { + return request({ + url: '/system/business/home/noticeList', + method: 'get', + params: query + }) +} diff --git a/src/api/business/mjy/mjy.js b/src/api/business/mjy/mjy.js index fb11103..26bb2eb 100644 --- a/src/api/business/mjy/mjy.js +++ b/src/api/business/mjy/mjy.js @@ -17,6 +17,14 @@ export function studyList(query) { params: query }) } +//导出 +export function exportDetail(query) { + return request({ + url: '/system/business/mjy/exportDetail', + method: 'get', + params: query + }) +} // 稽查轨迹列表 export function jcgjList(query) { diff --git a/src/api/business/study/studyFormFill.js b/src/api/business/study/studyFormFill.js index 763c5a5..7093f2c 100644 --- a/src/api/business/study/studyFormFill.js +++ b/src/api/business/study/studyFormFill.js @@ -16,6 +16,15 @@ export function studyFormFill_jcgj(query) { params: query }) } +//导出 +export function studyFormFill_exportDetail(query) { + return request({ + url: '/system/business/studyFormFill/exportDetail', + method: 'get', + params: query + }) +} + //签名信息 export function studyFormFill_qmxx(query) { return request({ diff --git a/src/lang/en/system/dept.js b/src/lang/en/system/dept.js index 5a912ca..4e31761 100644 --- a/src/lang/en/system/dept.js +++ b/src/lang/en/system/dept.js @@ -1,6 +1,7 @@ export default { name: 'Name', type: 'Department', + abbr: 'Abbreviation', parent: 'Parent', add: 'Create', edit: 'Edit', diff --git a/src/lang/en/template/commonTemplate.js b/src/lang/en/template/commonTemplate.js index f942328..c718b49 100644 --- a/src/lang/en/template/commonTemplate.js +++ b/src/lang/en/template/commonTemplate.js @@ -1,7 +1,7 @@ export default { // 页面标题 pageTitle: 'Biological Sample Analysis Solution Preparation Table', - + // 标签 baseInfo: 'Test Basic Information', reagentInfo: 'Test Reagent Information', @@ -9,7 +9,7 @@ export default { storageCondition: 'Storage Conditions', operationSteps: 'Operation Steps', remark: 'Remarks', - + // 字段标签 storageConditionLabel: 'Storage Conditions', testName: 'Test Name', @@ -30,16 +30,20 @@ export default { targetActVolume: 'Target Solution Actual Volume', effectivePeriod: 'Effective Period', expireDate: 'Expiry Date', - + clpbh: 'Analysis Batch Number', + rqcz: 'Container Material', + clsj: 'Work Time', + xzjz: 'Select substrate', + // 占位符 remarkPlaceholder: 'Please enter remarks', - + // 按钮 saveBtn: 'Save', - + // 错误提示 addStepError: 'Please add steps', - + // 试剂信息列 reagentName: 'Reagent Name', reagentCode: 'Code', @@ -47,13 +51,13 @@ export default { concentration: 'Concentration/Content/Purity', source: 'Source', reagentExpireDate: 'Expiry Date', - + // 仪器使用信息列 instrumentName: 'Instrument Name', instrumentModel: 'Instrument Model', instrumentCode: 'Instrument Number', nextTestDate: 'Next Test/Calibration/Verification Date', - + // 试验物质配制计划列 administrationDoseOrGroup: 'Administration Dose or Group', preparationConcentration: 'Preparation Concentration', @@ -61,6 +65,6 @@ export default { other: 'Other', otherInfo: 'Other Information', unit: 'unit', - pleaseFillIn:"Please fill in", - pleaseSelect:"Please select" + pleaseFillIn: 'Please fill in', + pleaseSelect: 'Please select' } diff --git a/src/lang/zh/system/dept.js b/src/lang/zh/system/dept.js index ada2f2b..5dbbb6f 100644 --- a/src/lang/zh/system/dept.js +++ b/src/lang/zh/system/dept.js @@ -1,6 +1,7 @@ export default { name: '名称', type: '组织类型', + abbr: '缩写', parent: '上级部门', add: '添加', edit: '编辑', diff --git a/src/lang/zh/template/commonTemplate.js b/src/lang/zh/template/commonTemplate.js index 09af724..e0e79ab 100644 --- a/src/lang/zh/template/commonTemplate.js +++ b/src/lang/zh/template/commonTemplate.js @@ -1,7 +1,7 @@ export default { // 页面标题 pageTitle: '生物样品分析溶液配制表', - + // 标签 baseInfo: '试验基本信息', reagentInfo: '试验试剂信息', @@ -9,7 +9,7 @@ export default { storageCondition: '存储条件', operationSteps: '操作步骤', remark: '备注', - + // 字段标签 storageConditionLabel: '存储条件', testName: '试验名称', @@ -30,16 +30,20 @@ export default { targetActVolume: '目标溶液实际体积', effectivePeriod: '有效周期', expireDate: '失效日', - + clpbh: '处理批编号', + rqcz: '容器材质', + clsj: '处理时间', + xzjz: '选择基质', + // 占位符 remarkPlaceholder: '请输入备注', - + // 按钮 saveBtn: '保存', - + // 错误提示 addStepError: '请添加步骤', - + // 试剂信息列 reagentName: '试剂名称', reagentCode: '编号', @@ -47,13 +51,13 @@ export default { concentration: '浓度/含量/纯度', source: '来源', reagentExpireDate: '失效日', - + // 仪器使用信息列 instrumentName: '仪器名称', instrumentModel: '仪器型号', instrumentCode: '仪器编号', nextTestDate: '下次测试/校准/检定日期', - + // 试验物质配制计划列 administrationDoseOrGroup: '给药剂量或组别', preparationConcentration: '配制浓度', @@ -61,6 +65,6 @@ export default { other: '其他', otherInfo: '其他信息', unit: '单位', - pleaseFillIn:"请输入", - pleaseSelect:"请选择" + pleaseFillIn: '请输入', + pleaseSelect: '请选择' } diff --git a/src/views/business/comps/template/TemplateTable.vue b/src/views/business/comps/template/TemplateTable.vue index 163d8e0..541b97a 100644 --- a/src/views/business/comps/template/TemplateTable.vue +++ b/src/views/business/comps/template/TemplateTable.vue @@ -15,6 +15,7 @@ import SWYPFXRYPZB from "./comps/sp/SWYPFXRYPZB.vue"; import SWYPFXCBYPZB from "./comps/sp/SWYPFXCBYPZB.vue"; import SWYPBQGZYZBB from "./comps/sp/SWYPBQGZYZBB.vue"; import SWYPNBGZYZBB from "./comps/sp/SWYPNBGZYZBB.vue"; +import ZQDYJMD from "./comps/sp/SWYPFXFFXYPZBB/ZQDYJMD.vue"; import Demo from "./comps/sp/Demo.vue"; //公用 import SYWZPZJHB from "./comps/gy/SYWZPZJHB.vue"; @@ -24,7 +25,7 @@ export default { name: "TemplateTable", components: { MJYLQSQD, SYWZPZJHB, - SP001, SWYPFXRYPZB, Demo, SWYPFXCBYPZB, SWYPBQGZYZBB, SWYPNBGZYZBB + SP001, SWYPFXRYPZB, Demo, SWYPFXCBYPZB, SWYPBQGZYZBB, SWYPNBGZYZBB,ZQDYJMD }, props: { sn: { @@ -53,6 +54,7 @@ export default { 'SP002': 'SWYPFXCBYPZB', 'SP003': 'SWYPBQGZYZBB', 'SP004': 'SWYPNBGZYZBB', + 'SP008': 'ZQDYJMD', 'SYWZPZJHB': 'SYWZPZJHB', 'MJYLQSQD': 'MJYLQSQD', } diff --git a/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/ZQDYJMD.vue b/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/ZQDYJMD.vue new file mode 100644 index 0000000..7a89429 --- /dev/null +++ b/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/ZQDYJMD.vue @@ -0,0 +1,312 @@ + + + + + \ No newline at end of file diff --git a/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js b/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js new file mode 100644 index 0000000..6bb9bfe --- /dev/null +++ b/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js @@ -0,0 +1,86 @@ +// 生物样品分析方法学样品制备表-表格配置 +export const getSWYPFXFFXYPZBBTableConfig = ($this) => { + return [ + { + label: '编号', + prop: 'bh', + bodyType: 'select', + bodyOptions: $this.getDictOptions('business_jmdyzqdyp'), + subType: 'span', + subKey: 'bhCode', + bodyFillType: 'preFill', + width: 280 + }, + { + label: '预设溶液', + prop: 'ysry', + bodyType: 'input', + bodyFillType: 'preFill', + width: 280 + }, + { + label: '实际溶液', + prop: 'sjry', + bodyType: 'input', + bodyFillType: 'actFill', + width: 280 + }, + { + label: '预计溶液吸取量', + prop: 'yjryxql', + width: 280, + headerSelectKey: 'yjryxqlUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodyMaxlength: 10 + }, + { + label: '实际溶液吸取量', + prop: 'sjryxql', + width: 280, + headerSelectKey: 'sjryxqlUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodyMaxlength: 10, + compareTo: 'yjryxql' + }, + { + label: '预计基质吸取量', + prop: 'yjjzxql', + width: 280, + headerSelectKey: 'yjjzxqlUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodyMaxlength: 10 + }, + { + label: '实际基质吸取量', + prop: 'sjjzxql', + width: 280, + headerSelectKey: 'sjjzxqlUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodyMaxlength: 10, + compareTo: 'yjjzxql' + }, + { + label: '化合物终浓度', + prop: 'hhwznd', + width: 280, + headerSelectKey: 'hhwzndUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_nddw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodyMaxlength: 10 + } + ] +} diff --git a/src/views/business/comps/template/mixins/templateMixin.js b/src/views/business/comps/template/mixins/templateMixin.js index 27573b4..9615cbc 100644 --- a/src/views/business/comps/template/mixins/templateMixin.js +++ b/src/views/business/comps/template/mixins/templateMixin.js @@ -1,6 +1,6 @@ import moment from "moment"; export default { - dicts: ['business_pztj', 'business_cctj', 'business_nddw', 'business_tjdw', 'business_yxqdw', 'business_rqcz'], + dicts: ['business_pztj', 'business_cctj', 'business_nddw', 'business_tjdw', 'business_yxqdw', 'business_rqcz', 'business_jmdyzqdyp'], props: { templateData: { type: Object, diff --git a/src/views/business/resource/gsp/comps/gsp/Xq.vue b/src/views/business/resource/gsp/comps/gsp/Xq.vue index 1ceaaf7..ea50304 100644 --- a/src/views/business/resource/gsp/comps/gsp/Xq.vue +++ b/src/views/business/resource/gsp/comps/gsp/Xq.vue @@ -9,116 +9,120 @@
{{ $t('form.cancel') }} - {{ $t('form.export') }} + {{ $t('form.export') }}
-
{{ $t('page.business.resource.gsp.gspxq') +
+
{{ $t('page.business.resource.gsp.gspxq') }}
-
-
-
-
-
基本信息
-
-
-
-
{{ $t('page.business.resource.gsp.mc') }}
- +
+
+
+
+
基本信息
-
-
{{ $t('page.business.resource.gsp.bh') }}
- +
+
+
{{ $t('page.business.resource.gsp.mc') }}
+ +
+
+
{{ $t('page.business.resource.gsp.bh') }}
+ +
-
-
-
-
{{ $t('page.business.resource.gsp.ph') }}
- +
+
+
{{ $t('page.business.resource.gsp.ph') }}
+ +
+
+
{{ $t('page.business.resource.gsp.gg') }}
+ +
-
-
{{ $t('page.business.resource.gsp.gg') }}
- +
+
+
{{ $t('page.business.resource.gsp.jsrq') }}
+ +
+
+
{{ $t('page.business.resource.gsp.kcl') }}
+ +
-
-
-
-
{{ $t('page.business.resource.gsp.jsrq') }}
- +
+
+
{{ $t('page.business.resource.gsp.yxq') }}
+ +
+
+
{{ $t('page.business.resource.gsp.zjzt') }}
+ + + + + + + + +
-
-
{{ $t('page.business.resource.gsp.kcl') }}
- + +
+
+
{{ $t('page.business.resource.gsp.tz') }}
-
-
-
-
{{ $t('page.business.resource.gsp.yxq') }}
- +
+ + + + + + + + + + + + + + +
-
-
{{ $t('page.business.resource.gsp.zjzt') }}
- - - - - - - - +
+
+
+
+
+
{{ $t('page.business.resource.gsp.jcgj') }}
+
+ -
-
-
{{ $t('page.business.resource.gsp.tz') }}
-
-
- - - - - - - - - - - - - - - -
-
- +
-
-
-
-
{{ $t('page.business.resource.mjy.jcgj') }}
-
- + - -
@@ -127,10 +131,12 @@ diff --git a/src/views/business/resource/gyzj/comps/gyzj/Shbj.vue b/src/views/business/resource/gyzj/comps/gyzj/Shbj.vue index a7911ac..6163f03 100644 --- a/src/views/business/resource/gyzj/comps/gyzj/Shbj.vue +++ b/src/views/business/resource/gyzj/comps/gyzj/Shbj.vue @@ -62,8 +62,8 @@ - - + + @@ -112,7 +112,7 @@ export default { open: false, form: {}, rules: { - qmyy: [{ + qmyyMc: [{ required: true, message: ' ', trigger: 'blur' diff --git a/src/views/business/resource/gyzj/comps/gyzj/Shxgkc.vue b/src/views/business/resource/gyzj/comps/gyzj/Shxgkc.vue index 5d98018..8e15041 100644 --- a/src/views/business/resource/gyzj/comps/gyzj/Shxgkc.vue +++ b/src/views/business/resource/gyzj/comps/gyzj/Shxgkc.vue @@ -43,7 +43,7 @@ - + @@ -108,7 +108,7 @@ export default { message: ' ', trigger: 'blur' }], - qmyy: [{ + qmyyMc: [{ required: true, message: ' ', trigger: 'blur' diff --git a/src/views/business/resource/gyzj/comps/gyzj/Xq.vue b/src/views/business/resource/gyzj/comps/gyzj/Xq.vue index 3c4354f..43066d8 100644 --- a/src/views/business/resource/gyzj/comps/gyzj/Xq.vue +++ b/src/views/business/resource/gyzj/comps/gyzj/Xq.vue @@ -165,7 +165,7 @@