diff --git a/src/views/business/comps/template/TemplateTable.vue b/src/views/business/comps/template/TemplateTable.vue index f8257a1..6da29db 100644 --- a/src/views/business/comps/template/TemplateTable.vue +++ b/src/views/business/comps/template/TemplateTable.vue @@ -43,6 +43,7 @@ import GSP004 from "./comps/gsp/GSP004.vue"; import GSP005 from "./comps/gsp/GSP005.vue"; import GSP009 from "./comps/gsp/GSP009.vue"; import GSP010 from "./comps/gsp/GSP010.vue"; +import GSP015 from "./comps/gsp/GSP015.vue"; //试验物质配制计划表/麻精药领取申请单/毒麻药品配制记录表 import SYWZPZJHB from "./comps/gsp/SYWZPZJHB.vue"; @@ -135,7 +136,7 @@ export default { //试验物质配制计划表/麻精药领取申请单/毒麻药品配制记录表 MJYLQSQD, SYWZPZJHB, DMYPPZJLB, //供试品 - GSP001,GSP002, GSP003,GSP004,GSP005,GSP009, GSP010, + GSP001,GSP002, GSP003,GSP004,GSP005,GSP009, GSP010,GSP015, //色谱 SP001, SP003, SP00456,SP007, SP008, SP009,SP0019,SP0020,SP0021, // PCR @@ -259,6 +260,7 @@ export default { 'GSP008': 'GSP002', 'GSP009': 'GSP009', 'GSP010': 'GSP010', + 'GSP015': 'GSP015', 'GSP011': 'GSP009', 'GSP012': 'GSP002', 'GSP013': 'GSP002', diff --git a/src/views/business/comps/template/comps/gsp/GSP015.vue b/src/views/business/comps/template/comps/gsp/GSP015.vue new file mode 100644 index 0000000..c749b2b --- /dev/null +++ b/src/views/business/comps/template/comps/gsp/GSP015.vue @@ -0,0 +1,333 @@ + + + + + \ No newline at end of file diff --git a/src/views/business/comps/template/formConfig/gsp/gsp015.js b/src/views/business/comps/template/formConfig/gsp/gsp015.js new file mode 100644 index 0000000..7f213c9 --- /dev/null +++ b/src/views/business/comps/template/formConfig/gsp/gsp015.js @@ -0,0 +1,324 @@ +export const getBaseInfoFormConfig = ($this) => { + return [ + { + type: 'cardItem', + config: { + studyMc: { + label: 'template.common.testName', + type: 'input', + disabled: true + }, + studySn: { + label: 'template.common.testNumber', + type: 'input', + disabled: true + } + } + }, + { + type: 'conditionItem', + label: 'template.common.testConfigurationConditions', + config: { + pre: { + label: 'template.common.preFill', + type: 'select', + multiple: true, + fillType: 'preFill', + options: $this.getDictOptions('business_pztj'), + otherCode: 'preOther' + }, + act: { + label: 'template.common.actualFill', + type: 'select', + fillType: 'actFill', + otherCode: 'actOther', + multiple: true, + compareTo: 'pre', + options: $this.getDictOptions('business_pztj') + } + } + }, + { + type: 'cellItem', + label: 'template.common.configurationTime', + config: { + startDate: { + label: 'template.common.startTime', + type: 'input' + }, + endDate: { + label: 'template.common.endTime', + type: 'input' + } + } + } + ] +} + +//备注 +export const getRemarkFormConfig = ($this) => { + return [ + { + type: 'cellItem', + config: { + remark: { + label: '', + type: 'textarea', + fillType: 'actFill', + span: 1, + placeholder: 'template.common.remarkPlaceholder', + maxlength: 1000, + rows: 5 + } + } + } + ] +} + +export const getYbsmFormConfig = ($this) => { + return [ + { + type: 'step', + config: { + qysj: { + label: '取样时间', + type: 'input', + fillType: 'actFill', + maxlength: 50 + }, + xsy: { + label: "template.sp.sp003.xsy", + type: "input", + fillType: "preFill", + subType: "sj", + subKey: "subSolution", + subFillType: "actFill", + maxlength: 20, + } + } + } + ] +} + +//取样table +export const getQyTableColumns = ($this) => { + return [ + { + label: '取样编号', + prop: 'qybh', + width: 280, + bodyType: 'input', + bodyFillType: 'preFill', + bodySubType: 'span', + bodySubKey: 'qybhcode', + }, + { + label: '制剂编号', + prop: 'zjbh', + width: 280, + bodyType: 'gsp', + bodyFillType: 'actFill', + }, + { + label: '预设制剂浓度', + prop: 'yszjnd', + width: 280, + headerSelectKey: 'yszjnddw', + fillType: "preFill", + headerOptions: $this.getDictOptions('business_nddw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + headerSelectTo: 'sjzjnddw', + }, + { + label: '实际制剂浓度', + prop: 'sjzjnd', + width: 280, + headerSelectKey: 'sjzjnddw', + fillType: "preFill", + headerOptions: $this.getDictOptions('business_nddw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + copyFrom: 'yszjnd', + compareTo: 'yszjnd', + }, + { + label: '制剂状态', + prop: 'zjzt', + width: 180, + bodyType: 'input', + bodyFillType: 'actFill', + }, + { + label: '预设取样位置', + prop: 'ysqywz', + width: 180, + bodyType: 'select', + options: $this.getDictOptions('business_qywz'), + bodyFillType: 'actFill', + }, + { + label: '预设取样位置', + prop: 'sjqywz', + width: 180, + bodyType: 'select', + options: $this.getDictOptions('business_qywz'), + bodyFillType: 'actFill', + compareTo: 'ysqywz', + }, + { + label: '预设取样量', + prop: 'ysqyl', + width: 280, + headerSelectKey: 'ysqyldw', + fillType: "preFill", + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + headerSelectTo: 'sjqydw', + }, + { + label: '实际取样量', + prop: 'sjqyl', + width: 280, + headerSelectKey: 'sjqydw', + fillType: "preFill", + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + copyFrom: 'ysqyldw', + compareTo: 'ysqyldw', + }, + ] +} + +//进样table +export const getJyTableColumns = ($this) => { + return [ + { + label: '进样编号', + prop: 'jybh', + width: 280, + bodyType: 'input', + bodyFillType: 'preFill', + bodySubType: 'span', + bodySubKey: 'jybhcode', + }, + { + label: '取样编号', + prop: 'qybh', + width: 280, + bodyType: 'gsp', + bodyFillType: 'actFill', + }, + { + label: '取样浓度', + prop: 'qynd', + width: 280, + headerSelectKey: 'qynddw', + fillType: "preFill", + headerOptions: $this.getDictOptions('business_nddw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + }, + { + label: '取样体积', + prop: 'qytj', + width: 280, + headerSelectKey: 'qytjdw', + fillType: "preFill", + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + }, + { + label: '标定体积', + prop: 'bdtj', + width: 280, + headerSelectKey: 'bdtjdw', + fillType: "preFill", + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + }, + { + label: '进样体积', + prop: 'jytj', + width: 280, + headerSelectKey: 'jytjdw', + fillType: "preFill", + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + }, + { + label: '稀释倍数', + prop: 'xsbs', + width: 280, + headerSelectKey: 'jytjdw', + fillType: "preFill", + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodySubType: "inputNumber", + bodySubKey: "xsbsxsd", + bodySubFillType: "preFill", + showBodySub: $this.fillType === "preFill", + bodyDisabled: true, + bodyPrecisionKey: "xsbsxsd", + }, + { + label: '终体积', + prop: 'ztj', + width: 280, + headerSelectKey: 'ztjdw', + fillType: "preFill", + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodySubType: "inputNumber", + bodySubKey: "ztjxsd", + bodySubFillType: "preFill", + showBodySub: $this.fillType === "preFill", + bodyDisabled: true, + bodyPrecisionKey: "ztjxsd", + }, + { + label: '实际进样浓度', + prop: 'sjjynd', + width: 280, + headerSelectKey: 'sjjynddw', + fillType: "preFill", + headerOptions: $this.getDictOptions('business_nddw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodySubType: "inputNumber", + bodySubKey: "sjjyndsd", + bodySubFillType: "preFill", + showBodySub: $this.fillType === "preFill", + bodyDisabled: true, + bodyPrecisionKey: "sjjyndsd", + }, + + ] +} + +export const getEcFormConfig = ($this) => { + return [ + { + type: "step", + config: { + xsy: { + label: 'template.sp.sp00456.xsy', + labelWidth: 80, + type: 'input', + fillType: 'preFill', + subType: 'sj', + subKey: 'subXsy', + subFillType: 'actFill', + maxlength: 20 + }, + } + } + ] +} diff --git a/src/views/business/comps/template/mixins/templateMixin.js b/src/views/business/comps/template/mixins/templateMixin.js index d025db7..8c00ded 100644 --- a/src/views/business/comps/template/mixins/templateMixin.js +++ b/src/views/business/comps/template/mixins/templateMixin.js @@ -59,6 +59,7 @@ export default { 'business_cjdd', // 采集地点 'business_zpdd', // 制片地点 'business_cjbw', // 制片部位 + 'business_qywz', // 取样位置 ], props: { templateData: {