Browse Source

feat:[模板管理][PCR007]

ouqian
HanLong 1 month ago
parent
commit
30911fcb41
7 changed files with 566 additions and 17 deletions
  1. +13
    -0
      src/lang/en/template/pcr.js
  2. +13
    -0
      src/lang/zh/template/pcr.js
  3. +4
    -2
      src/views/business/comps/template/TemplateTable.vue
  4. +27
    -13
      src/views/business/comps/template/comps/pcr/PCR005.vue
  5. +390
    -0
      src/views/business/comps/template/comps/pcr/PCR007.vue
  6. +2
    -2
      src/views/business/comps/template/dialog/ImportExcelDialog.vue
  7. +117
    -0
      src/views/business/comps/template/formConfig/PCRTableConfig.js

+ 13
- 0
src/lang/en/template/pcr.js View File

@ -47,6 +47,19 @@ export default {
ypznd: '样品终浓度', ypznd: '样品终浓度',
fj: 'Attachment', fj: 'Attachment',
}, },
pcr007: {
dztpbh: '电子天平编号',
clpbh: 'Analysis Batch Number',
ypmc: '样品名称',
ypcsnd: '样品初始浓度',
sxbs: '稀释倍数',
ysypxytj: '预设样品吸样体积',
sjypxytj: '实际样品吸样体积',
ysxsyxytj: '预设稀释液吸样体积',
sjxsyxytj: '实际稀释液吸样体积',
ypznd: '样品终浓度',
fj: 'Attachment',
},
// 生物样品分析方法学样品制备表-准确度与精密度 // 生物样品分析方法学样品制备表-准确度与精密度
sp008: { sp008: {
title: title:

+ 13
- 0
src/lang/zh/template/pcr.js View File

@ -46,6 +46,19 @@ export default {
ypznd: '样品终浓度', ypznd: '样品终浓度',
fj: '附件', fj: '附件',
}, },
pcr007: {
dztpbh: '电子天平编号',
clpbh: 'Analysis Batch Number',
ypmc: '样品名称',
ypcsnd: '样品初始浓度',
sxbs: '稀释倍数',
ysypxytj: '预设样品吸样体积',
sjypxytj: '实际样品吸样体积',
ysxsyxytj: '预设稀释液吸样体积',
sjxsyxytj: '实际稀释液吸样体积',
ypznd: '样品终浓度',
fj: 'Attachment',
},
// 生物样品分析方法学样品制备表-Recovery // 生物样品分析方法学样品制备表-Recovery
sp009: { sp009: {
title: '生物样品分析方法学样品制备表(Recovery)', title: '生物样品分析方法学样品制备表(Recovery)',

+ 4
- 2
src/views/business/comps/template/TemplateTable.vue View File

@ -52,6 +52,7 @@ import PCR002 from "./comps/pcr/PCR002.vue";
import PCR003 from "./comps/pcr/PCR003.vue"; import PCR003 from "./comps/pcr/PCR003.vue";
import PCR004 from "./comps/pcr/PCR004.vue"; import PCR004 from "./comps/pcr/PCR004.vue";
import PCR005 from "./comps/pcr/PCR005.vue"; import PCR005 from "./comps/pcr/PCR005.vue";
import PCR007 from "./comps/pcr/PCR007.vue";
//LBA //LBA
// LBA001-使SP001 // LBA001-使SP001
@ -114,7 +115,7 @@ export default {
// //
SP001, SP003, SP00456,SP007, SP008, SP009,SP0019,SP0020, SP001, SP003, SP00456,SP007, SP008, SP009,SP0019,SP0020,
// PCR // PCR
PCR002, PCR003, PCR004, PCR005,
PCR002, PCR003, PCR004, PCR005,PCR007,
//LBA //LBA
LBA002, LBA002,
LBA003, LBA003,
@ -162,7 +163,7 @@ export default {
handleEditSignCancel(e) { handleEditSignCancel(e) {
EventBus.$emit('edit-sign-cancel', e); EventBus.$emit('edit-sign-cancel', e);
}, },
}, },
props: { props: {
sn: { sn: {
@ -232,6 +233,7 @@ export default {
'PCR003': 'PCR003', 'PCR003': 'PCR003',
'PCR004': 'PCR004', 'PCR004': 'PCR004',
'PCR005': 'PCR005', 'PCR005': 'PCR005',
'PCR007': 'PCR007',
//LBA //LBA
'LBA001': 'SP001', 'LBA001': 'SP001',
'LBA002': 'LBA002', 'LBA002': 'LBA002',

+ 27
- 13
src/views/business/comps/template/comps/pcr/PCR005.vue View File

@ -16,10 +16,14 @@
<div class="template-form-item"> <div class="template-form-item">
<BaseInfoFormPackage fieldItemLabel="template.common.operationSteps" ref="stepFormPackageRef" <BaseInfoFormPackage fieldItemLabel="template.common.operationSteps" ref="stepFormPackageRef"
:formConfig="stepFormConfig" @blur="onHandleBlur" :formData="formData" /> :formConfig="stepFormConfig" @blur="onHandleBlur" :formData="formData" />
<el-button type="primary" @click="downloadExcelTemplate">{{
$t('template.common.downloadTemplate') }}</el-button>
<el-button type="primary" @click="showImportExcelDialog">{{ $t('template.common.importTemplate')
}}</el-button>
<div v-if="fillType == 'preFill'">
<el-button type="primary" @click="downloadExcelTemplate">{{
$t('template.common.downloadTemplate') }}</el-button>
<el-button type="primary" @click="showImportExcelDialog">{{
$t('template.common.importTemplate')
}}</el-button>
</div>
<CustomTable @blur="onHandleTableBlur" @headerSelectChange="onHandleTableBlur" <CustomTable @blur="onHandleTableBlur" @headerSelectChange="onHandleTableBlur"
:ref="`stepTableRef`" :columns="tableStepColumns" :formData="formData" :prefixKey="`table`" :ref="`stepTableRef`" :columns="tableStepColumns" :formData="formData" :prefixKey="`table`"
fieldItemLabel="template.common.operationSteps"> fieldItemLabel="template.common.operationSteps">
@ -57,7 +61,7 @@ import { isValueEmpty } from '@/utils/index';
import { getLatestSnArr } from '@/api/template'; import { getLatestSnArr } from '@/api/template';
import { EventBus } from "@/utils/eventBus"; import { EventBus } from "@/utils/eventBus";
import { volumeConverter } from "@/utils/volConverter";// import { volumeConverter } from "@/utils/volConverter";//
import {convertConcentration} from "@/utils/conConverter";//
import { convertConcentration } from "@/utils/conConverter";//
import SelectReagentDialog from '../../dialog/SelectReagentDialog.vue'; import SelectReagentDialog from '../../dialog/SelectReagentDialog.vue';
import { getPCR005Config } from "../../formConfig/PCRTableConfig.js"; import { getPCR005Config } from "../../formConfig/PCRTableConfig.js";
import TableOpertaion from "@/components/Template/operation/TableOpertaion.vue" import TableOpertaion from "@/components/Template/operation/TableOpertaion.vue"
@ -243,7 +247,21 @@ export default {
this.$refs.ImportExcelDialog.show() this.$refs.ImportExcelDialog.show()
}, },
onLoadExcelData(excelData) { onLoadExcelData(excelData) {
console.log(excelData)
excelData.shift()
let list = []
excelData.forEach(item => {
list.push({
ypmc: item[0],
ypcsnd: item[1],
sxbs: item[2],
ysypxytj: item[3],
targetDiluentVolumePrecision: 3,
actSolutionVolumePrecision: 3
})
})
this.$refs.stepTableRef.addRows(list)
this.$refs.ImportExcelDialog.cancel()
this.onHandleTableBlur()
}, },
// //
onHandleTableBlur() { onHandleTableBlur() {
@ -259,8 +277,6 @@ export default {
if (tableList && tableList.length > 0) { if (tableList && tableList.length > 0) {
for (let i = 0; i < tableList.length; i++) { for (let i = 0; i < tableList.length; i++) {
let item = tableList[i] let item = tableList[i]
console.log(item)
if ( if (
isValueEmpty(ysypxytjUnit) || isValueEmpty(ysypxytjUnit) ||
isValueEmpty(ysxsyxytjUnit) || isValueEmpty(ysxsyxytjUnit) ||
@ -271,6 +287,7 @@ export default {
) { ) {
continue; continue;
} }
// (-1)* // (-1)*
let ysxsyxytj = (item.sxbs - 1) * item.ysypxytj let ysxsyxytj = (item.sxbs - 1) * item.ysypxytj
ysxsyxytj = volumeConverter.convert(ysxsyxytj + ysypxytjUnit, ysxsyxytjUnit).toFixed( ysxsyxytj = volumeConverter.convert(ysxsyxytj + ysypxytjUnit, ysxsyxytjUnit).toFixed(
@ -280,19 +297,16 @@ export default {
// / // /
let ypznd = (item.ypcsnd ) / item.sxbs
let ypznd = (item.ypcsnd) / item.sxbs
ypznd = convertConcentration.convert(ypznd + ypcsndUnit, ypzndUnit).toFixed( ypznd = convertConcentration.convert(ypznd + ypcsndUnit, ypzndUnit).toFixed(
item.targetDiluentVolumePrecision item.targetDiluentVolumePrecision
) )
tableList[i].ypznd = ypznd tableList[i].ypznd = ypznd
} }
} }
this.$refs.stepTableRef.updateDataSource(tableList); this.$refs.stepTableRef.updateDataSource(tableList);
} }
}, },
// //
getFilledFormData() { getFilledFormData() {

+ 390
- 0
src/views/business/comps/template/comps/pcr/PCR007.vue View File

@ -0,0 +1,390 @@
<!-- PCR分析采集管称重记录表 -->
<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.common.operationSteps" />
<div class="template-form-item">
<BaseInfoFormPackage fieldItemLabel="template.common.operationSteps" ref="stepFormPackageRef"
:formConfig="stepFormConfig" @blur="onHandleBlur" :formData="formData" />
<div v-if="fillType == 'preFill'">
<el-button type="primary" @click="downloadExcelTemplate">{{
$t('template.common.downloadTemplate') }}</el-button>
<el-button type="primary" @click="showImportExcelDialog">{{
$t('template.common.importTemplate')
}}</el-button>
</div>
<CustomTable @blur="onHandleTableBlur" @headerSelectChange="onHandleTableBlur"
:ref="`stepTableRef`" :columns="tableStepColumns" :formData="formData" :prefixKey="`table`"
fieldItemLabel="template.common.operationSteps">
<template slot="operation" slot-scope="{ row, rowIndex, columns }">
<TableOpertaion :fillType="fillType" :row="row" :rowIndex="rowIndex" :columns="columns"
@deleteRow="(rowIndex) => deleteRow(rowIndex)"></TableOpertaion>
</template>
</CustomTable>
</div>
<Step ref="stepRef" :formData="formData.stepData"></Step>
<BaseInfoFormPackage fieldItemLabel="template.pcr.pcr005.fj" label="template.pcr.pcr005.fj"
ref="fjRef" :formConfig="getFjFormConfig" :formData="formData" />
<BaseInfoFormPackage fieldItemLabel="template.common.remark" label="template.common.remark"
ref="remarkRef" :formConfig="remarkConig" :formData="formData" />
</div>
</div>
</div>
<SelectReagentDialog @submit="onSelectReagentSubmit" ref="selectReagentDialogRef">
</SelectReagentDialog>
<!-- <button @click="onSave">保存</button> -->
<ImportExcelDialog ref="ImportExcelDialog" @onLoadData="onLoadExcelData" />
</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.js";
import CustomTable from '@/components/Template/CustomTable.vue';
import { isValueEmpty } from '@/utils/index';
import { getLatestSnArr } from '@/api/template';
import { EventBus } from "@/utils/eventBus";
import { volumeConverter } from "@/utils/volConverter";//
import { convertConcentration } from "@/utils/conConverter";//
import SelectReagentDialog from '../../dialog/SelectReagentDialog.vue';
import { getPCR005Config } from "../../formConfig/PCRTableConfig.js";
import TableOpertaion from "@/components/Template/operation/TableOpertaion.vue"
import { addTj, uniqeResource, uniqeResourceOne, addDecimals } from "@/utils/calUnitTools";
import ImportExcelDialog from '../../dialog/ImportExcelDialog'
export default {
name: "PCR005",
components: { BaseInfoFormPackage, LineLabel, TableList, Step, CustomTable, TableOpertaion, SelectReagentDialog, ImportExcelDialog },
mixins: [templateMixin],
props: {
fillType: {
type: String,
default: 'preFill',
},
},
computed: {
tableStepColumns() {
return getPCR005Config(this);
},
//
getFjFormConfig() {
return [
{
type: "attachment",
config: {
attTitle: {
label: 'template.pcr.pcr005.fj',
type: "attachment",
fillType: "actFill",
},
}
}
]
},
//
storageFormConfig() {
return [
{
type: "conditionItem",
config: {
storageCondition: {
label: 'template.common.storageConditionLabel',
type: "select",
fillType: "preFill",
options: this.getDictOptions("business_cctj"),
otherCode: "storageConditionOther",
},
}
}
];
},
//
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.common.processCondition',
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.pcr.pcr005.clpbh',
config: {
act: {
label: '',
type: "input",
fillType: "actFill",
otherCode: "preOther",
}
}
},
{
type: "cellItem",
label: 'template.common.configurationTime',
config: {
startDate: {
label: 'template.common.startTime',
type: "input",
},
endDate: {
label: 'template.common.endTime',
type: "input",
},
}
}
]
},
//
stepFormConfig() {
return [
{
type: 'step',
config: {
solution: {
labelWidth: 80,
label: 'template.pcr.pcr007.dztpbh',
type: 'input',
fillType: 'preFill',
subType: 'sj',
subKey: 'subSolution',
subFillType: 'actFill',
maxlength: 20
},
}
}
]
},
},
data() {
return {
reagentType: null, // 1- 2-
formData: {},
currentSubKey: "",//key
currentType: "",//
currentRowIndex: "",//
};
},
mounted() {
const formData = this.getFormDataByTemplateData();
this.onHandleTableBlur()
},
methods: {
downloadExcelTemplate() {
this.exportExcel(['样品名称', '样品初始浓度', '稀释倍数', '预设样品吸样体积'])
},
//
onSelectReagentSubmit(code, row) {
},
showImportExcelDialog() {
this.$refs.ImportExcelDialog.show()
},
onLoadExcelData(excelData) {
excelData.shift()
let list = []
excelData.forEach(item => {
list.push({
ypmc: item[0],
ypcsnd: item[1],
sxbs: item[2],
ysypxytj: item[3],
targetDiluentVolumePrecision: 3,
actSolutionVolumePrecision: 3
})
})
this.$refs.stepTableRef.addRows(list)
this.$refs.ImportExcelDialog.cancel()
this.onHandleTableBlur()
},
//
onHandleTableBlur() {
let content = this.getFilledFormData();
//
let ysypxytjUnit = content.headerSelectFields.ysypxytjUnit
let ysxsyxytjUnit = content.headerSelectFields.ysxsyxytjUnit
let ypzndUnit = content.headerSelectFields.ypzndUnit
let ypcsndUnit = content.headerSelectFields.ypcsndUnit
if (this.fillType === "preFill") {
let tableList = content.stepTableFormData
if (tableList && tableList.length > 0) {
for (let i = 0; i < tableList.length; i++) {
let item = tableList[i]
if (
isValueEmpty(ysypxytjUnit) ||
isValueEmpty(ysxsyxytjUnit) ||
isValueEmpty(item.sxbs) ||
isValueEmpty(item.ysypxytj) ||
isValueEmpty(item.actSolutionVolumePrecision) ||
isValueEmpty(item.ypcsnd)
) {
continue;
}
// (-1)*
let ysxsyxytj = (item.sxbs - 1) * item.ysypxytj
ysxsyxytj = volumeConverter.convert(ysxsyxytj + ysypxytjUnit, ysxsyxytjUnit).toFixed(
item.actSolutionVolumePrecision
)
tableList[i].ysxsyxytj = ysxsyxytj
// /
let ypznd = (item.ypcsnd) / item.sxbs
ypznd = convertConcentration.convert(ypznd + ypcsndUnit, ypzndUnit).toFixed(
item.targetDiluentVolumePrecision
)
tableList[i].ypznd = ypznd
}
}
this.$refs.stepTableRef.updateDataSource(tableList);
}
},
//
getFilledFormData() {
return this.getFilledFormDataByRefs(["baseInfoRef", "stepFormPackageRef", "stepTableRef", "stepRef", "remarkRef"])
},
async getFormData() {
let content = await this.validFormFields(["baseInfoRef", "stepFormPackageRef", "stepTableRef", "stepRef", "remarkRef"]);
return content;
},
getResource() {
let content = this.getFilledFormData();
//resource
let tmpResource = []
if (this.fillType === "actFill") {
let tableList = content.stepTableFormData
if (tableList && tableList.length > 0) {
for (let i = 0; i < tableList.length; i++) {
//
let item = tableList[i]
console.log('表格item:' + JSON.stringify(item))
//使
tmpResource.push({
mc: null,
bh: item.startSolutionCode,
ph: null,
ndz: null,
nd: null,
nddw: null,
ly: 'ELN配制',
sxrq: null,
kc: null,
kcdw: null,
syl: item.actStartSolutionVolume,
type: 1,
elnType: this.product,
syldw: content.headerSelectFields.actStartSolutionVolumeUnit,
yxzq: null,
yxzqdw: null,
})
}
}
}
if (tmpResource.length > 0) {
tmpResource = uniqeResourceOne(tmpResource)
}
//使
const stepResource = this.$refs.stepRef.getStepResource()
this.resourceTmp = uniqeResource(tmpResource, stepResource.sjResource || [])
this.yqResourceTmp = stepResource.yqResource || []
return this.resourceTmp;
},
//
async onSave() {
let content = this.$refs.stepRef.getStepResource();
console.log(content);
},
//
deleteRow(rowIndex) {
const stepTableRef = this.$refs['stepTableRef'];
if (stepTableRef) {
stepTableRef.deleteRow(rowIndex);
}
},
}
};
</script>
<style rel="stylesheet/scss" lang="scss">
.mt-20 {
margin-top: 20px;
}
.print-btn {
margin-bottom: 20px;
}
</style>

+ 2
- 2
src/views/business/comps/template/dialog/ImportExcelDialog.vue View File

@ -3,7 +3,7 @@
<!-- 导入excel模板 --> <!-- 导入excel模板 -->
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="title" :visible.sync="open" <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="title" :visible.sync="open"
width="400px" @close="close" append-to-body> width="400px" @close="close" append-to-body>
<el-button style="margin-bottom:10px" v-if="downloadArr && downloadArr.length>0" type="primary" @click="downloadExcelTemplate">{{$t('template.common.downloadTemplate') }}</el-button> <el-button style="margin-bottom:10px" v-if="downloadArr && downloadArr.length>0" type="primary" @click="downloadExcelTemplate">{{$t('template.common.downloadTemplate') }}</el-button>
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :disabled="upload.isUploading" action="" <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :disabled="upload.isUploading" action=""
@ -65,7 +65,6 @@ export default {
// //
handleFileUploadProgress(event, file, fileList) { handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true this.upload.isUploading = true
console.log('.....')
}, },
// //
handleFileSuccess(response, file, fileList) { handleFileSuccess(response, file, fileList) {
@ -94,6 +93,7 @@ export default {
const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 }) const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 })
this.excelData = jsonData this.excelData = jsonData
this.$emit('onLoadData', this.excelData) this.$emit('onLoadData', this.excelData)
this.$refs.fileUpload.handleRemove(file)
} catch (error) { } catch (error) {
console.error('解析失败:', error) console.error('解析失败:', error)
this.$modal.msgError('文件解析失败,请检查格式', error) this.$modal.msgError('文件解析失败,请检查格式', error)

+ 117
- 0
src/views/business/comps/template/formConfig/PCRTableConfig.js View File

@ -692,4 +692,121 @@ export const getPCR005Config = ($this) => {
bodySubPlaceholder: 'template.common.xswsPlaceholder', bodySubPlaceholder: 'template.common.xswsPlaceholder',
}, },
] ]
}
// PCR007
export const getPCR007Config = ($this) => {
return [
{
label: 'template.pcr.pcr005.ypmc',
prop: 'ypmc',
width: 280,
bodyType: 'input',
fillType: 'preFill',
otherCode: 'bhOther',
bodyFillType: 'preFill',
},
{
label: 'template.pcr.pcr005.ypcsnd',
prop: 'ypcsnd',
width: 280,
showWidth: 180,
fillType: 'preFill',
headerSelectKey: 'ypcsndUnit',
headerOptions: $this.getDictOptions('business_nddw'),
bodyType: 'inputNumber',
bodyFillType: 'preFill',
bodyMaxlength: 10,
},
{
label: 'template.pcr.pcr005.sxbs',
prop: 'sxbs',
width: 280,
showWidth: 180,
fillType: 'preFill',
bodyType: 'inputNumber',
bodyFillType: 'preFill',
bodyMaxlength: 10,
},
{
label: 'template.pcr.pcr005.ysypxytj',
prop: 'ysypxytj',
width: 280,
showWidth: 180,
fillType: 'preFill',
headerSelectKey: 'ysypxytjUnit',
headerOptions: $this.getDictOptions('business_tjdw'),
bodyType: 'inputNumber',
bodyFillType: 'preFill',
bodyMaxlength: 10,
},
{
label: 'template.pcr.pcr005.sjypxytj',
prop: 'sjypxytj',
width: 280,
showWidth: 180,
fillType: 'preFill',
headerSelectKey: 'sjypxytjUnit',
headerOptions: $this.getDictOptions('business_tjdw'),
bodyType: 'inputNumber',
bodyFillType: 'actFill',
bodyMaxlength: 10,
},
{
label: 'template.pcr.pcr005.ysxsyxytj',
prop: 'ysxsyxytj',
width: 280,
showWidth: 180,
fillType: 'preFill',
headerSelectKey: 'ysxsyxytjUnit',
headerOptions: $this.getDictOptions('business_tjdw'),
bodyDisabled: true,
bodyType: 'inputNumber',
bodyFillType: 'preFill',
bodyMaxlength: 10,
bodySubType: 'inputNumber',
bodySubKey: 'actSolutionVolumePrecision',
subPrecision: 0,
bodyFillType: 'preFill',
bodySubFillType: 'preFill',
showBodySub: $this.fillType === 'preFill',
bodyPrecisionKey: 0,
bodyMaxlength: 10,
bodySubPlaceholder: 'template.common.xswsPlaceholder',
},
{
label: 'template.pcr.pcr005.sjxsyxytj',
prop: 'sjxsyxytj',
width: 280,
showWidth: 180,
fillType: 'preFill',
headerSelectKey: 'sjxsyxytjUnit',
headerOptions: $this.getDictOptions('business_tjdw'),
bodyType: 'inputNumber',
bodyFillType: 'actFill',
bodyMaxlength: 10,
},
{
label: 'template.pcr.pcr005.ypznd',
prop: 'ypznd',
width: 280,
showWidth: 180,
fillType: 'preFill',
headerSelectKey: 'ypzndUnit',
headerOptions: $this.getDictOptions('business_nddw'),
bodyDisabled: true,
bodyType: 'inputNumber',
bodyFillType: 'preFill',
bodyMaxlength: 10,
bodySubType: 'inputNumber',
bodySubKey: 'targetDiluentVolumePrecision',
bodyPrecisionKey: 'targetDiluentVolumePrecision',
bodySubFillType: 'preFill',
subPrecision: 0,
showBodySub: $this.fillType === 'preFill',
bodyMaxlength: 10,
bodySubPlaceholder: 'template.common.xswsPlaceholder',
},
]
} }

Loading…
Cancel
Save