luojie 1 month ago
parent
commit
8f845096e1
11 changed files with 298 additions and 39 deletions
  1. +4
    -1
      src/lang/en.js
  2. +4
    -0
      src/lang/en/template/dl.js
  3. +8
    -8
      src/lang/en/template/lba.js
  4. +8
    -1
      src/lang/en/template/yp.js
  5. +4
    -1
      src/lang/zh.js
  6. +4
    -0
      src/lang/zh/template/dl.js
  7. +7
    -0
      src/lang/zh/template/yp.js
  8. +11
    -1
      src/views/business/comps/template/TemplateTable.vue
  9. +45
    -26
      src/views/business/comps/template/comps/sp/SP001.vue
  10. +1
    -1
      src/views/business/comps/template/comps/yp/YP003.vue
  11. +202
    -0
      src/views/business/comps/template/comps/yp/YP005.vue

+ 4
- 1
src/lang/en.js View File

@ -27,6 +27,8 @@ import lba from './en/template/lba'
import yp from './en/template/yp' import yp from './en/template/yp'
//ADA模板 //ADA模板
import ada from './en/template/ada' import ada from './en/template/ada'
//毒理模板
import dl from './en/template/dl'
// 试验管理 // 试验管理
import study from './en/business/study/study' import study from './en/business/study/study'
@ -199,6 +201,7 @@ export default {
pcr: pcr, pcr: pcr,
lba: lba, lba: lba,
yp: yp, yp: yp,
ada: ada
ada: ada,
dl: dl
} }
} }

+ 4
- 0
src/lang/en/template/dl.js View File

@ -0,0 +1,4 @@
//毒理
export default {
dl001: {}
}

+ 8
- 8
src/lang/en/template/lba.js View File

@ -15,16 +15,16 @@ export default {
lba004: { lba004: {
xbxx: 'Analysis Plate Information', xbxx: 'Analysis Plate Information',
ypxx: 'Sample Information', ypxx: 'Sample Information',
xszj: '稀释组件',
xszj: 'Dilution Component',
xz: 'Add', xz: 'Add',
sc: 'Delete', sc: 'Delete',
jzmc: '基质名称',
xh: '序号',
xsbs: '稀释倍数',
ysypjrz: '预设样品加入值',
sjypjrz: '实际样品加入值',
ysjzjrz: '预设基质加入值',
sjjzjrz: '实际基质加入值'
jzmc: 'Blank Matrix Name',
xh: 'Serial Number',
xsbs: 'Dilution Factor',
ysypjrz: 'Expected Sample Volume',
sjypjrz: 'Actual Sample Volume',
ysjzjrz: 'Expected Blank Matrix Volume',
sjjzjrz: 'Actual Blank Matrix Volume'
}, },
lba005: { lba005: {
bzqxpz: 'Standard Curve Preparation', bzqxpz: 'Standard Curve Preparation',

+ 8
- 1
src/lang/en/template/yp.js View File

@ -34,7 +34,7 @@ export default {
yplx: 'Sample Type', yplx: 'Sample Type',
ybxx: 'Sample Information', ybxx: 'Sample Information',
cyd: 'Sampling Location', cyd: 'Sampling Location',
dwbh: '动物编号',
dwbh: 'Animal ID',
dr: 'Import', dr: 'Import',
ypsl: 'Sample Quantity', ypsl: 'Sample Quantity',
fqxx: 'Extraction Information', fqxx: 'Extraction Information',
@ -43,5 +43,12 @@ export default {
s: 'Yes', s: 'Yes',
f: 'No', f: 'No',
sfzgdsjwc: 'Complete on Time' sfzgdsjwc: 'Complete on Time'
},
yp005: {
qxtj: 'Cleaning Condition',
ybsm: 'Sample Description',
zz: 'Tissue',
qxsj: 'Cleaning time',
qxbz: 'Cleaning Procedure'
} }
} }

+ 4
- 1
src/lang/zh.js View File

@ -27,6 +27,8 @@ import lba from './zh/template/lba'
import yp from './zh/template/yp' import yp from './zh/template/yp'
//ADA模板 //ADA模板
import ada from './zh/template/ada' import ada from './zh/template/ada'
//毒理模板
import dl from './zh/template/dl'
// 试验管理 // 试验管理
import study from './zh/business/study/study' import study from './zh/business/study/study'
@ -194,6 +196,7 @@ export default {
pcr: pcr, pcr: pcr,
lba: lba, lba: lba,
yp: yp, yp: yp,
ada: ada
ada: ada,
dl: dl
} }
} }

+ 4
- 0
src/lang/zh/template/dl.js View File

@ -0,0 +1,4 @@
//毒理
export default {
dl001: {}
}

+ 7
- 0
src/lang/zh/template/yp.js View File

@ -43,5 +43,12 @@ export default {
s: '是', s: '是',
f: '否', f: '否',
sfzgdsjwc: '是否在规定时间完成' sfzgdsjwc: '是否在规定时间完成'
},
yp005: {
qxtj: '清洗条件',
ybsm: '样本说明',
zz: '组织',
qxsj: '清洗时间',
qxbz: '清洗步骤'
} }
} }

+ 11
- 1
src/views/business/comps/template/TemplateTable.vue View File

@ -71,6 +71,11 @@ import LBA007 from "./comps/lba/LBA007.vue";
// YP001-使SP001 // YP001-使SP001
import YP002 from "./comps/yp/YP002.vue"; import YP002 from "./comps/yp/YP002.vue";
import YP003 from "./comps/yp/YP003.vue"; import YP003 from "./comps/yp/YP003.vue";
import YP005 from "./comps/yp/YP005.vue";
//
// DL001-SYWZPZJHB
// DL002-使SP001
export default { export default {
name: "TemplateTable", name: "TemplateTable",
@ -94,7 +99,8 @@ export default {
LBA007, LBA007,
// //
YP002, YP002,
YP003
YP003,
YP005,
}, },
props: { props: {
sn: { sn: {
@ -181,6 +187,10 @@ export default {
'YP001': 'SP001', 'YP001': 'SP001',
'YP002': 'YP002', 'YP002': 'YP002',
'YP003': 'YP003', 'YP003': 'YP003',
'YP005': 'YP005',
//
//DL001-SYWZPZJHB
'DL002': 'SP001',
} }
} }
return this.componentMap || "Demo" return this.componentMap || "Demo"

+ 45
- 26
src/views/business/comps/template/comps/sp/SP001.vue View File

@ -53,6 +53,10 @@ export default {
type: String, type: String,
default: 'preFill', default: 'preFill',
}, },
sn: {
type: String,
default: '',
},
}, },
computed: { computed: {
// //
@ -93,35 +97,50 @@ export default {
}, },
// //
baseInfoFormConfig() { baseInfoFormConfig() {
//002
let baseConfig = this.sn=='DL002'?
{
studyMc: {
label: 'template.common.testName',
type: "input",
disabled: true,
},
studySn: {
label: 'template.common.testNumber',
type: "input",
disabled: true,
}
}:
{
studyMc: {
label: 'template.common.testName',
type: "input",
disabled: true,
},
studySn: {
label: 'template.common.testNumber',
type: "input",
disabled: true,
},
methodCode: {
label: 'template.common.methodCode',
type: "input",
fillType: "preFill",
maxlength: 50
},
versionNum: {
label: 'template.common.versionNumber',
type: "inputNumber",
fillType: "actFill",
prepend: "V",
maxlength: 50
},
}
return [ return [
{ {
type: "cardItem", type: "cardItem",
config: {
studyMc: {
label: 'template.common.testName',
type: "input",
disabled: true,
},
studySn: {
label: 'template.common.testNumber',
type: "input",
disabled: true,
},
methodCode: {
label: 'template.common.methodCode',
type: "input",
fillType: "preFill",
maxlength: 50
},
versionNum: {
label: 'template.common.versionNumber',
type: "inputNumber",
fillType: "actFill",
prepend: "V",
maxlength: 50
},
}
config: baseConfig
}, },
{ {
type: "conditionItem", type: "conditionItem",

+ 1
- 1
src/views/business/comps/template/comps/yp/YP003.vue View File

@ -129,7 +129,7 @@ export default {
type: "select", type: "select",
fillType: "preFill", fillType: "preFill",
options: this.getDictOptions('business_yplx'), options: this.getDictOptions('business_yplx'),
otherCode: "preOther",
otherCode: "yplxOther",
}, },
} }
}, },

+ 202
- 0
src/views/business/comps/template/comps/yp/YP005.vue View File

@ -0,0 +1,202 @@
<!-- 生物样品组织清洗记录表 -->
<template>
<div>
<div class="detail-container">
<div class="detail-title"><img src="@/assets/images/detail-title.png">{{ formData.bdmc }}<img
src="@/assets/images/detail-title.png" /></div>
<div class="detail-content">
<div class="content">
<BaseInfoFormPackage fieldItemLabel="template.common.baseInfo" label="template.common.baseInfo"
ref="baseInfoRef" :formConfig="baseInfoFormConfig" :formData="formData" />
<TableList label="template.common.reagentInfo" :columns="sysjColumns" :dataSource="resource" />
<TableList label="template.common.instrumentInfo" :columns="yqColumns" :dataSource="yqResource" />
<LineLabel label="template.yp.yp005.ybsm" />
<CustomTable
:ref="`tableRef`"
:columns="tableColumns"
:formData="formData"
:prefixKey = "`table`"
fieldItemLabel = "template.common.operationSteps"
:showOperation="fillType === 'preFill'"
>
<template slot="operation" slot-scope="{ row, rowIndex, columns }">
<TableOpertaionDelete :row="row" :rowIndex="rowIndex" :columns="columns" @deleteRow="deleteRow" ></TableOpertaionDelete>
</template>
</CustomTable>
<LineLabel label="template.yp.yp005.qxbz" />
<Step ref="stepRef" :formData="formData.stepData"></Step>
<BaseInfoFormPackage fieldItemLabel="template.common.remark" label="template.common.remark"
ref="remarkRef" :formConfig="remarkConig" :formData="formData" />
</div>
</div>
</div>
<!-- <button @click="onSave">保存</button> -->
</div>
</template>
<script>
import BaseInfoFormPackage from "@/components/Template/BaseInfoFormPackage";
import LineLabel from "@/components/Template/LineLabel";
import TableList from "@/components/Template/Table";
import Step from "@/components/Template/Step";
import templateMixin from "../../mixins/templateMixin";
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: "YP003",
components: { BaseInfoFormPackage, LineLabel, TableList, Step, CustomTable,TableOpertaionDelete },
mixins: [templateMixin],
props: {
fillType: {
type: String,
default: 'preFill',
},
},
computed: {
//
remarkConig() {
return [
{
type: "cellItem",
config: {
remark: {
label: "",
type: "textarea",
fillType: "actFill",
span: 1,
placeholder: 'template.common.remarkPlaceholder',
maxlength: 1000,
rows: 5
}
}
}
]
},
//
baseInfoFormConfig() {
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.yp.yp005.qxtj',
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.lba.lba002.czsj',
config: {
startDate: {
label: 'template.common.startTime',
type: "input",
},
endDate: {
label: 'template.common.endTime',
type: "input",
},
}
}
]
},
//
tableColumns() {
return [{
label: 'template.yp.yp003.dwbh',
prop: 'dwbh',
bodyType: 'input',
bodyFillType: 'actFill',
width: 280,
},{
label: 'template.yp.yp005.zz',
prop: 'zz',
bodyType: 'input',
bodyFillType: 'actFill',
width: 280,
},{
label: 'template.yp.yp005.qxsj',
prop: 'qxsj',
bodyType: 'input',
bodyFillType: 'actFill',
width: 280,
}]
},
},
data() {
return {
formData: {},
};
},
mounted() {
},
methods: {
//
getFilledFormData() {
return this.getFilledFormDataByRefs(["baseInfoRef", "tableRef", "stepRef", "remarkRef"])
},
//
async getFormData() {
let content = await this.validFormFields(["baseInfoRef", "tableRef", "stepRef", "remarkRef"]);
return content;
},
getResource() {
//使
const stepResource = this.$refs.stepRef.getStepResource()
this.resourceTmp = stepResource.sjResource || []
this.yqResourceTmp = stepResource.yqResource || []
return this.resourceTmp;
},
//
async onSave() {
let content = await this.$refs.stepRef.getFormData();
console.log(content);
},
//
deleteRow(rowIndex) {
const tableRef = this.$refs['tableRef'];
if (tableRef) {
tableRef.deleteRow(rowIndex);
}
},
}
};
</script>
<style rel="stylesheet/scss" lang="scss">
</style>

Loading…
Cancel
Save