diff --git a/src/components/Template/mixins/stepMixins.js b/src/components/Template/mixins/stepMixins.js
index dca100c..31c2428 100644
--- a/src/components/Template/mixins/stepMixins.js
+++ b/src/components/Template/mixins/stepMixins.js
@@ -28,4 +28,4 @@ export default {
this.$refs.stepFormPackageRef.resetRecord();
},
},
-}
\ No newline at end of file
+}
diff --git a/src/lang/en/template/dl.js b/src/lang/en/template/dl.js
index 02f6b01..09c5663 100644
--- a/src/lang/en/template/dl.js
+++ b/src/lang/en/template/dl.js
@@ -47,7 +47,16 @@ export default {
clxx: 'Processing Information',
clbh: 'Processing Number',
cltj: 'Processing Conditions',
- jgxx: 'Result Information'
+ jgxx: 'Result Information',
+ qxbd: 'Previous Form',
+ jlzb: 'Dose Group',
+ jzbh: 'Strain Number',
+ czqk: 'Precipitation Status',
+ bjjt: 'Background Lawn',
+ jls: 'Colony Count',
+ czqkDesc: 'Precipitation codes: "P-" = "None"; "P+" = "Slight"; "P++" = "Moderate"; "P+++" = "Severe".',
+ bjjtDesc: 'Background lawn codes: "N" = "Normal"; "R1" = "Weak, lawn covers 70%-90% of plate area"; "R2" = "Medium, lawn covers 40%-70% of plate area"; "R3" = "Strong, lawn covers 10%-40% of plate area"; "A" = "Absent, no lawn on plate"; "O" = "Precipitation present, affecting lawn assessment";',
+ jlsDesc: 'Colony count special case: "*" indicates pinpoint colonies visible on plate;'
},
dl010: {
...common,
@@ -94,6 +103,78 @@ export default {
...common,
hyqk: 'Medium Change Status'
},
+ dl016: {
+ xbxx:'细胞信息',
+ sydd:'实验地点',
+ czsj:'操作时间',
+ qxbd: '前序表单',
+ dlbz: '备注',
+ czbz: '操作步骤',
+ qcxjjyqk:'秋水仙碱加液情况',
+ bltj:'暴露条件',
+ jlzb:'剂量组别',
+ xybh:'悬液编号',
+ qsxjjrl:'秋水仙碱加入量',
+ },
+ dl017: {
+ xbxx:'细胞信息',
+ sydd:'实验地点',
+ czsj:'操作时间',
+ qxbd: '前序表单',
+ dlbz: '备注',
+ czbz: '操作步骤',
+ qcxjjyqk:'秋水仙碱加液情况',
+ bltj:'暴露条件',
+
+ jlzb:'剂量组别',
+ xybh:'悬液编号',
+ sjqszqk:'收集前生长情况',
+ sjqcdqk:'收集前沉淀情况',
+ saqqtqk:'收集前其他情况',
+ ddpyy:'倒掉培养液',
+ xd:'洗涤',
+ sj:'收集',
+ ds:'低渗',
+ dy1gd:'第一次固定',
+ dy2gd:'第二次固定',
+ dy3gd:'第三次固定',
+ dy4gd:'第四次固定',
+ },
+ dl018: {
+ xbxx:'细胞信息',
+ sydd:'实验地点',
+ czsj:'操作时间',
+ qxbd: '前序表单',
+ dlbz: '备注',
+ czbz: '操作步骤',
+ xbczqk:'细胞操作情况',
+ bltj:'暴露条件',
+
+ jlzb:'剂量组别',
+ xybh:'悬液编号',
+ rsks:'染色开始',
+ rsjs:'染色结束',
+ zs:'左上(个)',
+ ys:'右上(个)',
+ zy:'左下(个)',
+ yx:'右下(个)',
+ tj:'体积(mL)',
+ },
+ dl019: {
+ xbxx:'细胞信息',
+ sydd:'实验地点',
+ czsj:'操作时间',
+ qxbd: '前序表单',
+ dlbz: '备注',
+ czbz: '操作步骤',
+ xbczqk:'细胞操作情况',
+ bltj:'暴露条件',
+
+ jlzb:'剂量组别',
+ xybh:'悬液编号',
+ bplsh1:'玻片流水号',
+ bplsh2:'玻片流水号',
+ },
dl020: {
swdljlbxx: 'Toxicology Record Information',
xbxx:'Cell Information',
@@ -102,5 +183,16 @@ export default {
qxbd: 'Previous Form',
dlbz: 'Remarks',
czbz: 'Operation Steps',
- }
+ },
+ dl021: {
+ xbxx:'细胞信息',
+ czsj:'操作时间',
+ dlbz: '备注',
+ gcqk: '观察情况',
+
+ jlzb:'剂量组别',
+ xybh:'悬液编号',
+ bplsh1:'玻片流水号',
+ bplsh2:'玻片流水号',
+ },
}
diff --git a/src/lang/zh/template/dl.js b/src/lang/zh/template/dl.js
index e55c0bd..4c6e507 100644
--- a/src/lang/zh/template/dl.js
+++ b/src/lang/zh/template/dl.js
@@ -47,7 +47,16 @@ export default {
clxx: '处理信息',
clbh: '处理编号',
cltj: '处理条件',
- jgxx: '结果信息'
+ jgxx: '结果信息',
+ qxbd: '前序表单',
+ jlzb: '剂量组别',
+ jzbh: '菌种编号',
+ czqk: '沉淀情况',
+ bjjt: '背景菌苔',
+ jls: '菌落数(个)',
+ czqkDesc: '沉淀量以代码填入:"P-" 代表 "无沉淀";"P+" 代表 "少量";"P++" 代表 "中等";"P+++" 代表 "严重"。',
+ bjjtDesc: '背景菌苔以代码填入:"N" 代表 "正常";"R1" 代表 "弱,菌苔约占平皿面积 70%-90%";"R2" 代表 "中,菌苔约占平皿面积 40%-70%";"R3" 代表 "强,菌苔约占平皿面积 10%-40%";"A" 代表 "消失,平皿上无菌苔";"O" 代表 "产生沉淀,影响背景菌苔判断";',
+ jlsDesc: '菌落数特殊情况:"*" 该平皿可见针尖样菌落;'
},
dl010: {
...common,
@@ -94,13 +103,95 @@ export default {
...common,
hyqk: '换液情况'
},
+ dl016: {
+ xbxx:'细胞信息',
+ sydd:'实验地点',
+ czsj:'操作时间',
+ qxbd: '前序表单',
+ dlbz: '备注',
+ czbz: '操作步骤',
+ qcxjjyqk:'秋水仙碱加液情况',
+ bltj:'暴露条件',
+ jlzb:'剂量组别',
+ xybh:'悬液编号',
+ qsxjjrl:'秋水仙碱加入量',
+ },
+ dl017: {
+ xbxx:'细胞信息',
+ sydd:'实验地点',
+ czsj:'操作时间',
+ qxbd: '前序表单',
+ dlbz: '备注',
+ czbz: '操作步骤',
+ qcxjjyqk:'秋水仙碱加液情况',
+ bltj:'暴露条件',
+
+ jlzb:'剂量组别',
+ xybh:'悬液编号',
+ sjqszqk:'收集前生长情况',
+ sjqcdqk:'收集前沉淀情况',
+ saqqtqk:'收集前其他情况',
+ ddpyy:'倒掉培养液',
+ xd:'洗涤',
+ sj:'收集',
+ ds:'低渗',
+ dy1gd:'第一次固定',
+ dy2gd:'第二次固定',
+ dy3gd:'第三次固定',
+ dy4gd:'第四次固定',
+ },
+ dl018: {
+ xbxx:'细胞信息',
+ sydd:'实验地点',
+ czsj:'操作时间',
+ qxbd: '前序表单',
+ dlbz: '备注',
+ czbz: '操作步骤',
+ xbczqk:'细胞操作情况',
+ bltj:'暴露条件',
+
+ jlzb:'剂量组别',
+ xybh:'悬液编号',
+ rsks:'染色开始',
+ rsjs:'染色结束',
+ zs:'左上(个)',
+ ys:'右上(个)',
+ zy:'左下(个)',
+ yx:'右下(个)',
+ tj:'体积(mL)',
+ },
+ dl019: {
+ xbxx:'细胞信息',
+ sydd:'实验地点',
+ czsj:'操作时间',
+ qxbd: '前序表单',
+ dlbz: '备注',
+ czbz: '操作步骤',
+ xbczqk:'细胞操作情况',
+ bltj:'暴露条件',
+
+ jlzb:'剂量组别',
+ xybh:'悬液编号',
+ bplsh1:'玻片流水号',
+ bplsh2:'玻片流水号',
+ },
dl020: {
- swdljlbxx: '毒理记录表信息',
xbxx:'细胞信息',
sydd:'实验地点',
czsj:'操作时间',
qxbd: '前序表单',
dlbz: '备注',
czbz: '操作步骤',
- }
+ },
+ dl021: {
+ xbxx:'细胞信息',
+ czsj:'操作时间',
+ dlbz: '备注',
+ gcqk: '观察情况',
+
+ jlzb:'剂量组别',
+ xybh:'悬液编号',
+ bplsh1:'玻片流水号',
+ bplsh2:'玻片流水号',
+ },
}
diff --git a/src/views/business/comps/template/comps/dl/DL008.vue b/src/views/business/comps/template/comps/dl/DL008.vue
index ce9aaa2..2711f06 100644
--- a/src/views/business/comps/template/comps/dl/DL008.vue
+++ b/src/views/business/comps/template/comps/dl/DL008.vue
@@ -38,13 +38,16 @@
+
+ >
+
+
+
-
+
+
+
+
{{ $t('template.dl.dl009.czqkDesc') }}
+
{{ $t('template.dl.dl009.bjjtDesc') }}
+
{{ $t('template.dl.dl009.jlsDesc') }}
+
diff --git a/src/views/business/comps/template/comps/dl/DL018.vue b/src/views/business/comps/template/comps/dl/DL018.vue
index 02205f1..8476fd1 100644
--- a/src/views/business/comps/template/comps/dl/DL018.vue
+++ b/src/views/business/comps/template/comps/dl/DL018.vue
@@ -1,23 +1,39 @@
-
+
-

{{ formData.bdmc }}

+

{{ formData.bdmc }}

-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -32,11 +48,18 @@ import LineLabel from "@/components/Template/LineLabel";
import TableList from "@/components/Template/Table";
import Step from "@/components/Template/Step";
import templateMixin from "../../mixins/templateMixin";
-import moment from "moment";
+import CustomTable from '@/components/Template/CustomTable.vue';
+import { EventBus } from "@/utils/eventBus";
+import { uniqeResource } from "@/utils/calUnitTools";
+import { debounce } from 'lodash-es'
+import TableOpertaionDelete from "@/components/Template/operation/TableOpertaionDelete.vue"
export default {
- name: "DL020",
- components: { BaseInfoFormPackage, LineLabel, TableList, Step },
+ name: "DL018",
+ dicts: [
+ 'business_dl_qsxjbltj','business_tjdw'
+ ],
+ components: { BaseInfoFormPackage, LineLabel, TableList, Step, CustomTable,TableOpertaionDelete },
mixins: [templateMixin],
props: {
fillType: {
@@ -84,10 +107,10 @@ export default {
},
{
type: "cellItem",
- label: 'template.dl.dl020.sydd',
+ label: 'template.dl.dl018.sydd',
config: {
- pre: {
- label: 'template.dl.dl020.sydd',
+ sydd: {
+ label: 'template.dl.dl018.sydd',
type: "input",
fillType: "actFill",
},
@@ -95,7 +118,7 @@ export default {
},
{
type: "cellItem",
- label: 'template.dl.dl020.czsj',
+ label: 'template.dl.dl018.czsj',
config: {
startDate: {
label: 'template.common.startTime',
@@ -109,21 +132,119 @@ export default {
}
]
},
- // 生物样品移交记录表信息
+ // 细胞信息
swypyjInfoFormConfig() {
return [
{
type: "cellItem",
config: {
qxbd: {
- span:1,
- label: 'template.dl.dl020.qxbd',
+ // span:1,
+ label: 'template.dl.dl018.qxbd',
type: 'qxbd',
fillType: 'actFill',
filledCodes:['bdmc','bdbh'],
},
+ bltj: {
+ label: 'template.dl.dl018.bltj',
+ type: 'select',
+ fillType: 'preFill',
+ options: this.getDictOptions('business_dl_qsxjbltj'),
+ otherCode: 'bltjOther',
+ },
}
+ }
+ ]
+ },
+ // 秋水仙碱加液情况
+ stepColumns() {
+ return [
+ {
+ label: "template.dl.dl018.jlzb",
+ prop: "targetSolutionCode",
+ bodyType: "input",
+ bodySubType: "span",
+ bodySubKey: "subTargetSolutionCode",
+ bodyFillType: "preFill",
+ width: 140,
+ myCodeFields: ["targetSolutionCode", "subTargetSolutionCode"],//分装的母液编号字段
+ maxVolumeField: "actSolutionVolume",//分装的最大量字段
+ maxVolumeFieldUnit: "actSolutionVolumeUnit",//分装的最大量单位字段
+ // maxVolumeField: "targetSolutionVolume,targetDiluentVolume",//分装的最大量字段
+ // maxVolumeFieldUnit: "targetSolutionVolumeUnit,targetDiluentVolumeUnit",//分装的最大量单位字段
+ },
+ {
+ label: "template.dl.dl018.xybh",
+ prop: "startSolutionCode",
+ width: 180,
+ bodyType: "input",
+ bodyFillType: "actFill",
+ bodyMaxlength: 10,
+ bodyDisabled: true,
+ },
+ {
+ label: "template.dl.dl018.rsks",
+ prop: "startSolutionCode",
+ width: 180,
+ bodyType: "input",
+ bodyFillType: "actFill",
+ bodyMaxlength: 10,
+ bodyDisabled: true,
+ },
+ {
+ label: "template.dl.dl018.rsjs",
+ prop: "startSolutionCode",
+ width: 180,
+ bodyType: "input",
+ bodyFillType: "actFill",
+ bodyMaxlength: 10,
+ bodyDisabled: true,
+ },
+ {
+ label: "template.dl.dl018.zs",
+ prop: "startSolutionCode",
+ width: 180,
+ bodyType: "input",
+ bodyFillType: "actFill",
+ bodyMaxlength: 10,
+ bodyDisabled: true,
+ },
+ {
+ label: "template.dl.dl018.ys",
+ prop: "startSolutionCode",
+ width: 180,
+ bodyType: "input",
+ bodyFillType: "actFill",
+ bodyMaxlength: 10,
+ bodyDisabled: true,
+ },
+ {
+ label: "template.dl.dl018.zy",
+ prop: "startSolutionCode",
+ width: 180,
+ bodyType: "input",
+ bodyFillType: "actFill",
+ bodyMaxlength: 10,
+ bodyDisabled: true,
+ },
+ {
+ label: "template.dl.dl018.yx",
+ prop: "startSolutionCode",
+ width: 180,
+ bodyType: "input",
+ bodyFillType: "actFill",
+ bodyMaxlength: 10,
+ bodyDisabled: true,
},
+ {
+ label: "template.dl.dl018.tj",
+ prop: "startSolutionCode",
+ width: 180,
+ bodyType: "input",
+ bodyFillType: "actFill",
+ bodyMaxlength: 10,
+ bodyDisabled: true,
+ }
]
},
},
@@ -135,42 +256,80 @@ export default {
mounted() {
},
methods: {
- // 点击按钮
- // handleClickButton(item,signData){
- // this.$refs.ypjsInfoRef.updateFormData("jssj", moment().format("YYYY/MM/DD HH:mm"),{isUpdateRecord:true,signData});
- // },
+ //选择table header下拉框也要更新体积
+ onHeaderSelectChange(data){
+ const {key, headerSelectFields,dataSource=[]} = data;
+ const keys = [
+ 'targetStartSolutionVolumeUnit',
+ 'targetDiluentVolumeUnit',
+ 'targetSolutionConcentrationUnit',
+ 'targetSolutionVolumeUnit',
+ ]
+ if(keys.includes(key)){
+ const {targetStartSolution,subTargetStartSolution} = this.$refs.swypyjInfoRef?.getFilledFormData();
+ const params = {
+ subTargetStartSolution,
+ headerSelectFields
+ }
+ this.batchUpdateTargetStartSolutionVolume(dataSource,targetStartSolution,params)
+ }
+ },
+ beforeSaveRecord(data){
+ const formFields = this.$refs.swypyjInfoRef?.getFilledFormData();
+ this.onCommonVerifyNdException(formFields,data);
+ },
+ configComplete(val) {
+ const { rowData, headerSelectFields } = val;
+ //计算实际目标溶液体积(实际起始溶液体积+实际稀释液体积)
+ const { total, unit } = addTj([rowData.actStartSolutionVolume, rowData.actDiluentVolume], [headerSelectFields.actStartSolutionVolumeUnit, headerSelectFields.actDiluentVolumeUnit])
+ let postData = {
+ mc: null,
+ bh: rowData.targetSolutionCode + rowData.subTargetSolutionCode,
+ nd: rowData.actSolutionConcentration,//实际目标溶液浓度
+ nddw: headerSelectFields.actSolutionConcentrationUnit,
+ studySubjectId: this.formData.studySubjectId,
+ studyFormId:this.formData.id,
+ studyId:this.formData.studyId,
+ kc: total,
+ kcdw: unit,
+ }
+ this.configCompleteRequest(postData);
+ },
+ //分装回调
+ subPackageSubmit(data) {
+ const { fzsj, rowData, headerSelectFields } = data;
+ const { fzList = [], dw = "", mybh } = fzsj;
+ if (fzList && fzList.length > 0) {
+ const list = fzList.map((item) => {
+ return {
+ bh: mybh + item.preCode + item.subCode,
+ kc: item.num,
+ kcdw: dw,
+ }
+ })
+ let postData = {
+ studyId: this.formData.studyId,
+ studyFormId: this.formData.id,
+ bh: mybh,
+ nd: rowData.actSolutionConcentration || 0,
+ nddw: headerSelectFields.actSolutionConcentrationUnit,
+ studySubjectId: this.formData.studySubjectId,
+ studyFormId:this.formData.id,
+ list: list
+ }
+ this.subPackageRequest(postData);
+ }
+ },
//获取已填写的表单数据
- async getFilledFormData() {
- let content = await this.validFormFields(["baseInfoRef", "swypyjInfoRef", "stepRef", "remarkRef"]);
- return content;
- // const baseData = this.$refs.baseInfoRef.getFilledFormData();
- // const swypyjData = this.$refs.swypyjInfoRef.getFilledFormData();
- // const remarkData = this.$refs.remarkRef.getFilledFormData();
-
- // return {
- // ...baseData,
- // ...swypyjData,
- // ...remarkData,
- // }
+ getFilledFormData() {
+ return this.getFilledFormDataByRefs(["baseInfoRef", "swypyjInfoRef", "stepTableRef", "stepRef","remarkRef"])
},
//获取填写完成的表单数据
async getFormData() {
- //先校验再获取值
- const validFlag = await this.validFields();
- if (!validFlag) {
- return false;
- }
- let content = this.getFilledFormData();
- return content
- },
- //只做校验
- async validFields() {
- // 构建需要验证的引用数组
- let refsToValidate = ["baseInfoRef", "swypyjInfoRef", "stepRef", "remarkRef"];
- return await this.validFormFields(refsToValidate);
+ let content = await this.validFormFields(["baseInfoRef", "swypyjInfoRef", "stepTableRef", "stepRef","remarkRef"]);
+ return content;
},
getResource() {
- // let content = this.getFilledFormData();
//使用的试剂、仪器
const stepResource = this.$refs.stepRef.getStepResource()
this.resourceTmp = stepResource.sjResource || []
@@ -179,27 +338,18 @@ export default {
},
//保存
async onSave() {
- const formData = this.getStepResource();
- console.log(formData, "formData")
+ let content = await this.$refs.stepRef.getFormData();
+ console.log(content);
},
+ // 删除表格行
+ // deleteRow(rowIndex) {
+ // const tableRef = this.$refs['tableRef'];
+ // if (tableRef) {
+ // tableRef.deleteRow(rowIndex);
+ // }
+ // },
}
};
diff --git a/src/views/business/comps/template/comps/dl/DL019.vue b/src/views/business/comps/template/comps/dl/DL019.vue
index 02205f1..44fb85c 100644
--- a/src/views/business/comps/template/comps/dl/DL019.vue
+++ b/src/views/business/comps/template/comps/dl/DL019.vue
@@ -1,23 +1,39 @@
-
+
-

{{ formData.bdmc }}

+

{{ formData.bdmc }}

-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -32,11 +48,18 @@ import LineLabel from "@/components/Template/LineLabel";
import TableList from "@/components/Template/Table";
import Step from "@/components/Template/Step";
import templateMixin from "../../mixins/templateMixin";
-import moment from "moment";
+import CustomTable from '@/components/Template/CustomTable.vue';
+import { EventBus } from "@/utils/eventBus";
+import { uniqeResource } from "@/utils/calUnitTools";
+import { debounce } from 'lodash-es'
+import TableOpertaionDelete from "@/components/Template/operation/TableOpertaionDelete.vue"
export default {
- name: "DL020",
- components: { BaseInfoFormPackage, LineLabel, TableList, Step },
+ name: "DL019",
+ dicts: [
+ 'business_dl_qsxjbltj','business_tjdw'
+ ],
+ components: { BaseInfoFormPackage, LineLabel, TableList, Step, CustomTable,TableOpertaionDelete },
mixins: [templateMixin],
props: {
fillType: {
@@ -84,10 +107,10 @@ export default {
},
{
type: "cellItem",
- label: 'template.dl.dl020.sydd',
+ label: 'template.dl.dl019.sydd',
config: {
- pre: {
- label: 'template.dl.dl020.sydd',
+ sydd: {
+ label: 'template.dl.dl019.sydd',
type: "input",
fillType: "actFill",
},
@@ -95,7 +118,7 @@ export default {
},
{
type: "cellItem",
- label: 'template.dl.dl020.czsj',
+ label: 'template.dl.dl019.czsj',
config: {
startDate: {
label: 'template.common.startTime',
@@ -109,21 +132,74 @@ export default {
}
]
},
- // 生物样品移交记录表信息
+ // 细胞信息
swypyjInfoFormConfig() {
return [
{
type: "cellItem",
config: {
qxbd: {
- span:1,
- label: 'template.dl.dl020.qxbd',
+ // span:1,
+ label: 'template.dl.dl019.qxbd',
type: 'qxbd',
fillType: 'actFill',
filledCodes:['bdmc','bdbh'],
},
+ bltj: {
+ label: 'template.dl.dl019.bltj',
+ type: 'select',
+ fillType: 'preFill',
+ options: this.getDictOptions('business_dl_qsxjbltj'),
+ otherCode: 'bltjOther',
+ },
}
+ }
+ ]
+ },
+ // 秋水仙碱加液情况
+ stepColumns() {
+ return [
+ {
+ label: "template.dl.dl019.jlzb",
+ prop: "targetSolutionCode",
+ bodyType: "input",
+ bodySubType: "span",
+ bodySubKey: "subTargetSolutionCode",
+ bodyFillType: "preFill",
+ width: 140,
+ myCodeFields: ["targetSolutionCode", "subTargetSolutionCode"],//分装的母液编号字段
+ maxVolumeField: "actSolutionVolume",//分装的最大量字段
+ maxVolumeFieldUnit: "actSolutionVolumeUnit",//分装的最大量单位字段
+ // maxVolumeField: "targetSolutionVolume,targetDiluentVolume",//分装的最大量字段
+ // maxVolumeFieldUnit: "targetSolutionVolumeUnit,targetDiluentVolumeUnit",//分装的最大量单位字段
},
+ {
+ label: "template.dl.dl019.xybh",
+ prop: "startSolutionCode",
+ width: 180,
+ bodyType: "input",
+ bodyFillType: "actFill",
+ bodyMaxlength: 10,
+ bodyDisabled: true,
+ },
+ {
+ label: "template.dl.dl019.bplsh1",
+ prop: "startSolutionCode",
+ width: 180,
+ bodyType: "input",
+ bodyFillType: "actFill",
+ bodyMaxlength: 10,
+ bodyDisabled: true,
+ },
+ {
+ label: "template.dl.dl019.bplsh2",
+ prop: "startSolutionCode",
+ width: 180,
+ bodyType: "input",
+ bodyFillType: "actFill",
+ bodyMaxlength: 10,
+ bodyDisabled: true,
+ }
]
},
},
@@ -135,42 +211,80 @@ export default {
mounted() {
},
methods: {
- // 点击按钮
- // handleClickButton(item,signData){
- // this.$refs.ypjsInfoRef.updateFormData("jssj", moment().format("YYYY/MM/DD HH:mm"),{isUpdateRecord:true,signData});
- // },
+ //选择table header下拉框也要更新体积
+ onHeaderSelectChange(data){
+ const {key, headerSelectFields,dataSource=[]} = data;
+ const keys = [
+ 'targetStartSolutionVolumeUnit',
+ 'targetDiluentVolumeUnit',
+ 'targetSolutionConcentrationUnit',
+ 'targetSolutionVolumeUnit',
+ ]
+ if(keys.includes(key)){
+ const {targetStartSolution,subTargetStartSolution} = this.$refs.swypyjInfoRef?.getFilledFormData();
+ const params = {
+ subTargetStartSolution,
+ headerSelectFields
+ }
+ this.batchUpdateTargetStartSolutionVolume(dataSource,targetStartSolution,params)
+ }
+ },
+ beforeSaveRecord(data){
+ const formFields = this.$refs.swypyjInfoRef?.getFilledFormData();
+ this.onCommonVerifyNdException(formFields,data);
+ },
+ configComplete(val) {
+ const { rowData, headerSelectFields } = val;
+ //计算实际目标溶液体积(实际起始溶液体积+实际稀释液体积)
+ const { total, unit } = addTj([rowData.actStartSolutionVolume, rowData.actDiluentVolume], [headerSelectFields.actStartSolutionVolumeUnit, headerSelectFields.actDiluentVolumeUnit])
+ let postData = {
+ mc: null,
+ bh: rowData.targetSolutionCode + rowData.subTargetSolutionCode,
+ nd: rowData.actSolutionConcentration,//实际目标溶液浓度
+ nddw: headerSelectFields.actSolutionConcentrationUnit,
+ studySubjectId: this.formData.studySubjectId,
+ studyFormId:this.formData.id,
+ studyId:this.formData.studyId,
+ kc: total,
+ kcdw: unit,
+ }
+ this.configCompleteRequest(postData);
+ },
+ //分装回调
+ subPackageSubmit(data) {
+ const { fzsj, rowData, headerSelectFields } = data;
+ const { fzList = [], dw = "", mybh } = fzsj;
+ if (fzList && fzList.length > 0) {
+ const list = fzList.map((item) => {
+ return {
+ bh: mybh + item.preCode + item.subCode,
+ kc: item.num,
+ kcdw: dw,
+ }
+ })
+ let postData = {
+ studyId: this.formData.studyId,
+ studyFormId: this.formData.id,
+ bh: mybh,
+ nd: rowData.actSolutionConcentration || 0,
+ nddw: headerSelectFields.actSolutionConcentrationUnit,
+ studySubjectId: this.formData.studySubjectId,
+ studyFormId:this.formData.id,
+ list: list
+ }
+ this.subPackageRequest(postData);
+ }
+ },
//获取已填写的表单数据
- async getFilledFormData() {
- let content = await this.validFormFields(["baseInfoRef", "swypyjInfoRef", "stepRef", "remarkRef"]);
- return content;
- // const baseData = this.$refs.baseInfoRef.getFilledFormData();
- // const swypyjData = this.$refs.swypyjInfoRef.getFilledFormData();
- // const remarkData = this.$refs.remarkRef.getFilledFormData();
-
- // return {
- // ...baseData,
- // ...swypyjData,
- // ...remarkData,
- // }
+ getFilledFormData() {
+ return this.getFilledFormDataByRefs(["baseInfoRef", "swypyjInfoRef", "stepTableRef", "stepRef","remarkRef"])
},
//获取填写完成的表单数据
async getFormData() {
- //先校验再获取值
- const validFlag = await this.validFields();
- if (!validFlag) {
- return false;
- }
- let content = this.getFilledFormData();
- return content
- },
- //只做校验
- async validFields() {
- // 构建需要验证的引用数组
- let refsToValidate = ["baseInfoRef", "swypyjInfoRef", "stepRef", "remarkRef"];
- return await this.validFormFields(refsToValidate);
+ let content = await this.validFormFields(["baseInfoRef", "swypyjInfoRef", "stepTableRef", "stepRef","remarkRef"]);
+ return content;
},
getResource() {
- // let content = this.getFilledFormData();
//使用的试剂、仪器
const stepResource = this.$refs.stepRef.getStepResource()
this.resourceTmp = stepResource.sjResource || []
@@ -179,27 +293,18 @@ export default {
},
//保存
async onSave() {
- const formData = this.getStepResource();
- console.log(formData, "formData")
+ let content = await this.$refs.stepRef.getFormData();
+ console.log(content);
},
+ // 删除表格行
+ // deleteRow(rowIndex) {
+ // const tableRef = this.$refs['tableRef'];
+ // if (tableRef) {
+ // tableRef.deleteRow(rowIndex);
+ // }
+ // },
}
};
diff --git a/src/views/business/comps/template/comps/dl/DL020.vue b/src/views/business/comps/template/comps/dl/DL020.vue
index 02205f1..3a2a510 100644
--- a/src/views/business/comps/template/comps/dl/DL020.vue
+++ b/src/views/business/comps/template/comps/dl/DL020.vue
@@ -86,7 +86,7 @@ export default {
type: "cellItem",
label: 'template.dl.dl020.sydd',
config: {
- pre: {
+ sydd: {
label: 'template.dl.dl020.sydd',
type: "input",
fillType: "actFill",
@@ -135,23 +135,10 @@ export default {
mounted() {
},
methods: {
- // 点击按钮
- // handleClickButton(item,signData){
- // this.$refs.ypjsInfoRef.updateFormData("jssj", moment().format("YYYY/MM/DD HH:mm"),{isUpdateRecord:true,signData});
- // },
//获取已填写的表单数据
async getFilledFormData() {
let content = await this.validFormFields(["baseInfoRef", "swypyjInfoRef", "stepRef", "remarkRef"]);
return content;
- // const baseData = this.$refs.baseInfoRef.getFilledFormData();
- // const swypyjData = this.$refs.swypyjInfoRef.getFilledFormData();
- // const remarkData = this.$refs.remarkRef.getFilledFormData();
-
- // return {
- // ...baseData,
- // ...swypyjData,
- // ...remarkData,
- // }
},
//获取填写完成的表单数据
async getFormData() {
diff --git a/src/views/business/comps/template/comps/dl/DL021.vue b/src/views/business/comps/template/comps/dl/DL021.vue
index 02205f1..8322937 100644
--- a/src/views/business/comps/template/comps/dl/DL021.vue
+++ b/src/views/business/comps/template/comps/dl/DL021.vue
@@ -1,23 +1,33 @@
-
+
-

{{ formData.bdmc }}

+

{{ formData.bdmc }}

@@ -32,11 +42,15 @@ import LineLabel from "@/components/Template/LineLabel";
import TableList from "@/components/Template/Table";
import Step from "@/components/Template/Step";
import templateMixin from "../../mixins/templateMixin";
-import moment from "moment";
+import CustomTable from '@/components/Template/CustomTable.vue';
+import { EventBus } from "@/utils/eventBus";
+import { uniqeResource } from "@/utils/calUnitTools";
+import { debounce } from 'lodash-es'
+import TableOpertaionDelete from "@/components/Template/operation/TableOpertaionDelete.vue"
export default {
- name: "DL020",
- components: { BaseInfoFormPackage, LineLabel, TableList, Step },
+ name: "DL021",
+ components: { BaseInfoFormPackage, LineLabel, TableList, Step, CustomTable,TableOpertaionDelete },
mixins: [templateMixin],
props: {
fillType: {
@@ -84,18 +98,7 @@ export default {
},
{
type: "cellItem",
- label: 'template.dl.dl020.sydd',
- config: {
- pre: {
- label: 'template.dl.dl020.sydd',
- type: "input",
- fillType: "actFill",
- },
- }
- },
- {
- type: "cellItem",
- label: 'template.dl.dl020.czsj',
+ label: 'template.dl.dl021.czsj',
config: {
startDate: {
label: 'template.common.startTime',
@@ -109,23 +112,38 @@ export default {
}
]
},
- // 生物样品移交记录表信息
- swypyjInfoFormConfig() {
- return [
- {
- type: "cellItem",
- config: {
- qxbd: {
- span:1,
- label: 'template.dl.dl020.qxbd',
- type: 'qxbd',
- fillType: 'actFill',
- filledCodes:['bdmc','bdbh'],
- },
- }
- },
- ]
+ // 样本信息
+ tableColumns() {
+ return [{
+ label: 'template.dl.dl021.bpbh',
+ prop: 'cyd',
+ bodyType: 'input',
+ bodyFillType: 'actFill',
+ width: 100,
+ bodyMaxlength: 50,
+ },{
+ label: 'template.dl.dl021.gcxps',
+ prop: 'dwbh',
+ bodyType: 'checkboxTag',
+ bodyFillType: 'actFill',
+ bodySubType:"button",
+ bodySubFillType:"preFill",
+ bodySubButtonName:"template.common.importTemplate",
+ bodySubKey:"exportBtn",
+ showBodySub:this.fillType === "preFill",
+ width: 280,
+ bodyMaxlength: 10,
+ },{
+ label: 'template.dl.dl021.zqxxbs',
+ prop: 'ypsl',
+ bodyType: 'input',
+ bodyDisabled: true,
+ bodyFillType: 'actFill',
+ width: 80,
+ bodyMaxlength: 10,
+ }]
},
+
},
data() {
return {
@@ -135,42 +153,80 @@ export default {
mounted() {
},
methods: {
- // 点击按钮
- // handleClickButton(item,signData){
- // this.$refs.ypjsInfoRef.updateFormData("jssj", moment().format("YYYY/MM/DD HH:mm"),{isUpdateRecord:true,signData});
- // },
+ //选择table header下拉框也要更新体积
+ onHeaderSelectChange(data){
+ const {key, headerSelectFields,dataSource=[]} = data;
+ const keys = [
+ 'targetStartSolutionVolumeUnit',
+ 'targetDiluentVolumeUnit',
+ 'targetSolutionConcentrationUnit',
+ 'targetSolutionVolumeUnit',
+ ]
+ if(keys.includes(key)){
+ const {targetStartSolution,subTargetStartSolution} = this.$refs.swypyjInfoRef?.getFilledFormData();
+ const params = {
+ subTargetStartSolution,
+ headerSelectFields
+ }
+ this.batchUpdateTargetStartSolutionVolume(dataSource,targetStartSolution,params)
+ }
+ },
+ beforeSaveRecord(data){
+ const formFields = this.$refs.swypyjInfoRef?.getFilledFormData();
+ this.onCommonVerifyNdException(formFields,data);
+ },
+ configComplete(val) {
+ const { rowData, headerSelectFields } = val;
+ //计算实际目标溶液体积(实际起始溶液体积+实际稀释液体积)
+ const { total, unit } = addTj([rowData.actStartSolutionVolume, rowData.actDiluentVolume], [headerSelectFields.actStartSolutionVolumeUnit, headerSelectFields.actDiluentVolumeUnit])
+ let postData = {
+ mc: null,
+ bh: rowData.targetSolutionCode + rowData.subTargetSolutionCode,
+ nd: rowData.actSolutionConcentration,//实际目标溶液浓度
+ nddw: headerSelectFields.actSolutionConcentrationUnit,
+ studySubjectId: this.formData.studySubjectId,
+ studyFormId:this.formData.id,
+ studyId:this.formData.studyId,
+ kc: total,
+ kcdw: unit,
+ }
+ this.configCompleteRequest(postData);
+ },
+ //分装回调
+ subPackageSubmit(data) {
+ const { fzsj, rowData, headerSelectFields } = data;
+ const { fzList = [], dw = "", mybh } = fzsj;
+ if (fzList && fzList.length > 0) {
+ const list = fzList.map((item) => {
+ return {
+ bh: mybh + item.preCode + item.subCode,
+ kc: item.num,
+ kcdw: dw,
+ }
+ })
+ let postData = {
+ studyId: this.formData.studyId,
+ studyFormId: this.formData.id,
+ bh: mybh,
+ nd: rowData.actSolutionConcentration || 0,
+ nddw: headerSelectFields.actSolutionConcentrationUnit,
+ studySubjectId: this.formData.studySubjectId,
+ studyFormId:this.formData.id,
+ list: list
+ }
+ this.subPackageRequest(postData);
+ }
+ },
//获取已填写的表单数据
- async getFilledFormData() {
- let content = await this.validFormFields(["baseInfoRef", "swypyjInfoRef", "stepRef", "remarkRef"]);
- return content;
- // const baseData = this.$refs.baseInfoRef.getFilledFormData();
- // const swypyjData = this.$refs.swypyjInfoRef.getFilledFormData();
- // const remarkData = this.$refs.remarkRef.getFilledFormData();
-
- // return {
- // ...baseData,
- // ...swypyjData,
- // ...remarkData,
- // }
+ getFilledFormData() {
+ return this.getFilledFormDataByRefs(["baseInfoRef", "swypyjInfoRef", "stepTableRef", "stepRef","remarkRef"])
},
//获取填写完成的表单数据
async getFormData() {
- //先校验再获取值
- const validFlag = await this.validFields();
- if (!validFlag) {
- return false;
- }
- let content = this.getFilledFormData();
- return content
- },
- //只做校验
- async validFields() {
- // 构建需要验证的引用数组
- let refsToValidate = ["baseInfoRef", "swypyjInfoRef", "stepRef", "remarkRef"];
- return await this.validFormFields(refsToValidate);
+ let content = await this.validFormFields(["baseInfoRef", "swypyjInfoRef", "stepTableRef", "stepRef","remarkRef"]);
+ return content;
},
getResource() {
- // let content = this.getFilledFormData();
//使用的试剂、仪器
const stepResource = this.$refs.stepRef.getStepResource()
this.resourceTmp = stepResource.sjResource || []
@@ -179,27 +235,18 @@ export default {
},
//保存
async onSave() {
- const formData = this.getStepResource();
- console.log(formData, "formData")
+ let content = await this.$refs.stepRef.getFormData();
+ console.log(content);
},
+ // 删除表格行
+ // deleteRow(rowIndex) {
+ // const tableRef = this.$refs['tableRef'];
+ // if (tableRef) {
+ // tableRef.deleteRow(rowIndex);
+ // }
+ // },
}
};