| @ -1,126 +1,150 @@ | |||
| import { getuuid } from '@/utils/index.js'; | |||
| import { EventBus } from "@/utils/eventBus"; | |||
| import { getLatestSn, getLatestSnArr } from '@/api/template'; | |||
| import { getuuid } from '@/utils/index.js' | |||
| import { EventBus } from '@/utils/eventBus' | |||
| import { getLatestSn, getLatestSnArr } from '@/api/template' | |||
| export default { | |||
| inject: ['templateFillType'], | |||
| dicts: [ | |||
| "business_tjdw", "business_czhj", "business_rqcz", "business_zldw", | |||
| "business_yqscdw", "business_zsdw", "business_wddw", "business_ccwz", "business_ggdw", | |||
| "business_hjxx", "business_zzzc", "business_step_pcr", "business_fycx", "business_step_pcrfxyp", | |||
| "business_cctj" | |||
| ], | |||
| props: { | |||
| formData: { | |||
| type: Object, | |||
| default: () => ({}) | |||
| }, | |||
| stepIndex: { | |||
| type: String, | |||
| default: '' | |||
| } | |||
| inject: ['templateFillType'], | |||
| dicts: [ | |||
| 'business_tjdw', | |||
| 'business_czhj', | |||
| 'business_rqcz', | |||
| 'business_zldw', | |||
| 'business_yqscdw', | |||
| 'business_zsdw', | |||
| 'business_wddw', | |||
| 'business_ccwz', | |||
| 'business_ggdw', | |||
| 'business_hjxx', | |||
| 'business_zzzc', | |||
| 'business_step_pcr', | |||
| 'business_fycx', | |||
| 'business_step_pcrfxyp', | |||
| 'business_cctj' | |||
| ], | |||
| props: { | |||
| formData: { | |||
| type: Object, | |||
| default: () => ({}) | |||
| }, | |||
| data() { | |||
| return { | |||
| uuid: getuuid(), | |||
| fzInfo:null, | |||
| } | |||
| stepIndex: { | |||
| type: String, | |||
| default: '' | |||
| } | |||
| }, | |||
| data() { | |||
| return { | |||
| uuid: getuuid(), | |||
| fzInfo: null | |||
| } | |||
| }, | |||
| mounted() { | |||
| EventBus.$on('dialogSubPackageSubmit', (data) => { | |||
| this.onSubPackageSubmit(data) | |||
| }) | |||
| EventBus.$on('subPackageDialogPrintTag', (data) => { | |||
| this.onPrintTag(data) | |||
| }) | |||
| }, | |||
| destroyed() { | |||
| EventBus.$off('dialogSubPackageSubmit') | |||
| EventBus.$off('subPackageDialogPrintTag') | |||
| }, | |||
| methods: { | |||
| //获取最新的多个编号 | |||
| async getLatestSnArr(params) { | |||
| const res = await getLatestSnArr(params) | |||
| if (res.code === 200) { | |||
| return res.data | |||
| } | |||
| return [] | |||
| }, | |||
| mounted() { | |||
| EventBus.$on("dialogSubPackageSubmit", (data) => { | |||
| this.onSubPackageSubmit(data) | |||
| }) | |||
| EventBus.$on("subPackageDialogPrintTag", (data) => { | |||
| this.onPrintTag(data) | |||
| }) | |||
| async getLatestSn(params) { | |||
| const defaultParams = { | |||
| count: 1, | |||
| type: 1, | |||
| pre: '' | |||
| } | |||
| const finalParams = { ...defaultParams, ...params } | |||
| const res = await getLatestSn(finalParams) | |||
| if (res.code === 200) { | |||
| return res.data | |||
| } | |||
| return [] | |||
| }, | |||
| destroyed() { | |||
| EventBus.$off("dialogSubPackageSubmit") | |||
| EventBus.$off("subPackageDialogPrintTag") | |||
| // 打印标签 | |||
| onPrintTag(data) { | |||
| this.$emit('printTag') | |||
| }, | |||
| onSubPackageSubmit(data) { | |||
| if (data.uuid === this.uuid) { | |||
| console.log(data, 'ddd') | |||
| this.fzInfo = data | |||
| //通知后端保存数据 | |||
| const params = { | |||
| type: 'fieldChanged', | |||
| newRecord: null, | |||
| resourceList: null | |||
| } | |||
| EventBus.$emit('onModifyRecord', params) | |||
| } | |||
| }, | |||
| // 点击按钮 | |||
| onHandleClickButton(e, item, key) { | |||
| const { | |||
| buttonName = '', | |||
| myCodeFields = [], | |||
| maxVolumeField = '', | |||
| maxVolumeUnitField = '' | |||
| } = e | |||
| methods: { | |||
| //获取最新的多个编号 | |||
| async getLatestSnArr(params) { | |||
| const res = await getLatestSnArr(params) | |||
| if (res.code === 200) { | |||
| return res.data | |||
| } | |||
| return [] | |||
| }, | |||
| async getLatestSn(params) { | |||
| const defaultParams = { | |||
| count: 1, | |||
| type:1, | |||
| pre: '', | |||
| } | |||
| const finalParams = {...defaultParams, ...params} | |||
| const res = await getLatestSn(finalParams) | |||
| if (res.code === 200) { | |||
| return res.data | |||
| } | |||
| return [] | |||
| }, | |||
| // 打印标签 | |||
| onPrintTag(data) { | |||
| this.$emit("printTag") | |||
| }, | |||
| onSubPackageSubmit(data) { | |||
| if (data.uuid === this.uuid) { | |||
| console.log(data, "ddd") | |||
| this.fzInfo = data; | |||
| //通知后端保存数据 | |||
| const params = { | |||
| type: "fieldChanged", | |||
| newRecord: null, | |||
| resourceList: null, | |||
| } | |||
| EventBus.$emit('onModifyRecord', params); | |||
| } | |||
| }, | |||
| // 点击按钮 | |||
| onHandleClickButton(e, item, key) { | |||
| const { buttonName = "", myCodeFields = [], maxVolumeField = "", maxVolumeUnitField = "" } = e; | |||
| if (buttonName === '分装') { | |||
| const fields = []; | |||
| const stepFormData = this.getFilledFormData(); | |||
| if (!myCodeFields.length || !maxVolumeField || !maxVolumeUnitField) { | |||
| console.warn("请配置分装参数") | |||
| return | |||
| } | |||
| const maxVolume = stepFormData[maxVolumeField]; | |||
| const maxVolumeUnit = stepFormData[maxVolumeUnitField]; | |||
| myCodeFields.forEach((key) => { | |||
| fields.push(stepFormData[key]) | |||
| }); | |||
| if (buttonName === '分装') { | |||
| const fields = [] | |||
| const stepFormData = this.getFilledFormData() | |||
| if (!myCodeFields.length || !maxVolumeField || !maxVolumeUnitField) { | |||
| console.warn('请配制分装参数') | |||
| return | |||
| } | |||
| const maxVolume = stepFormData[maxVolumeField] | |||
| const maxVolumeUnit = stepFormData[maxVolumeUnitField] | |||
| myCodeFields.forEach((key) => { | |||
| fields.push(stepFormData[key]) | |||
| }) | |||
| EventBus.$emit("showSubPackageDialog", { mybh: fields.join(""), maxVolume, maxVolumeUnit, uuid: this.uuid, fzType: "step" }) | |||
| } | |||
| }, | |||
| EventBus.$emit('showSubPackageDialog', { | |||
| mybh: fields.join(''), | |||
| maxVolume, | |||
| maxVolumeUnit, | |||
| uuid: this.uuid, | |||
| fzType: 'step' | |||
| }) | |||
| } | |||
| }, | |||
| async getFormData() { | |||
| return await this.$refs.stepFormPackageRef.getFormData(); | |||
| }, | |||
| getFilledFormData() { | |||
| return this.$refs.stepFormPackageRef?.getFilledFormData(); | |||
| }, | |||
| getSjResource() { | |||
| return this.$refs.stepFormPackageRef?.getSjResource(); | |||
| }, | |||
| //试验配制条件options | |||
| getDictOptions(dictType) { | |||
| return this.dict.type[dictType] || [] | |||
| }, | |||
| resetRecord() { | |||
| this.$refs.stepFormPackageRef.resetRecord(); | |||
| }, | |||
| //更新温层数据 | |||
| updateWcData(key, value) { | |||
| const options = this.getDictOptions("business_ccwz"); | |||
| const selectedOption = options.find(item => item.value === value); | |||
| if (selectedOption) { | |||
| this.$refs.stepFormPackageRef.updateFormData(key, [selectedOption.raw.remark]); | |||
| } | |||
| } | |||
| async getFormData() { | |||
| return await this.$refs.stepFormPackageRef.getFormData() | |||
| }, | |||
| getFilledFormData() { | |||
| return this.$refs.stepFormPackageRef?.getFilledFormData() | |||
| }, | |||
| getSjResource() { | |||
| return this.$refs.stepFormPackageRef?.getSjResource() | |||
| }, | |||
| //试验配制条件options | |||
| getDictOptions(dictType) { | |||
| return this.dict.type[dictType] || [] | |||
| }, | |||
| resetRecord() { | |||
| this.$refs.stepFormPackageRef.resetRecord() | |||
| }, | |||
| //更新温层数据 | |||
| updateWcData(key, value) { | |||
| const options = this.getDictOptions('business_ccwz') | |||
| const selectedOption = options.find((item) => item.value === value) | |||
| if (selectedOption) { | |||
| this.$refs.stepFormPackageRef.updateFormData(key, [ | |||
| selectedOption.raw.remark | |||
| ]) | |||
| } | |||
| } | |||
| } | |||
| } | |||
| @ -1,156 +1,155 @@ | |||
| export const getBaseInfoFormConfig = (formType) => { | |||
| return [ | |||
| { | |||
| 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: formType === 'sp0020' ? 'actFill' : 'preFill', | |||
| maxlength: 50 | |||
| }, | |||
| versionNum: { | |||
| label: 'template.common.versionNumber', | |||
| type: 'inputNumber', | |||
| fillType: formType === 'sp0020' ? 'actFill' : 'preFill', | |||
| prepend: 'V', | |||
| maxlength: 50 | |||
| }, | |||
| clpbh: { | |||
| label: '处理批编号', | |||
| type: 'input', | |||
| fillType: 'actFill', | |||
| maxlength: 50 | |||
| }, | |||
| fxpbh: { | |||
| label: '分析批编号', | |||
| type: 'input', | |||
| fillType: 'actFill', | |||
| maxlength: 50 | |||
| }, | |||
| } | |||
| return [ | |||
| { | |||
| 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: formType === 'sp0020' ? 'actFill' : 'preFill', | |||
| maxlength: 50 | |||
| }, | |||
| versionNum: { | |||
| label: 'template.common.versionNumber', | |||
| type: 'inputNumber', | |||
| fillType: formType === 'sp0020' ? 'actFill' : 'preFill', | |||
| prepend: 'V', | |||
| maxlength: 50 | |||
| }, | |||
| clpbh: { | |||
| label: '处理批编号', | |||
| type: 'input', | |||
| fillType: 'actFill', | |||
| maxlength: 50 | |||
| }, | |||
| fxpbh: { | |||
| label: '分析批编号', | |||
| type: 'input', | |||
| fillType: 'actFill', | |||
| maxlength: 50 | |||
| } | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| export const getStorageFormConfig = ($this)=>{ | |||
| return[ | |||
| { | |||
| type: 'step', | |||
| config: { | |||
| spzxh: { | |||
| label: '色谱柱型号', | |||
| type: 'select', | |||
| fillType: 'actFill', | |||
| options: $this.spzxhOptions, | |||
| filledCodes:['mc','bh'], | |||
| selectRemote: true, | |||
| }, | |||
| } | |||
| }, | |||
| ] | |||
| export const getStorageFormConfig = ($this) => { | |||
| return [ | |||
| { | |||
| type: 'step', | |||
| config: { | |||
| spzxh: { | |||
| label: '色谱柱型号', | |||
| type: 'select', | |||
| fillType: 'actFill', | |||
| options: $this.spzxhOptions, | |||
| filledCodes: ['mc', 'bh'], | |||
| selectRemote: true | |||
| } | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| //仪器信息 | |||
| export const getYqColumns = ($this) => { | |||
| return [ | |||
| { | |||
| label: 'template.common.instrumentCode', | |||
| prop: "bh", | |||
| bodyType: "yq", | |||
| bodyFillType: 'actFill', | |||
| },//仪器编号 | |||
| { | |||
| label: 'template.common.instrumentName', | |||
| prop: "mc", | |||
| bodyType: "input", | |||
| bodyType: "input", | |||
| bodyDisabled: true, | |||
| bodyFillType: 'actFill', | |||
| },//仪器名称 | |||
| { | |||
| label: 'template.common.instrumentModel', | |||
| prop: "xh", | |||
| bodyType: "input", | |||
| bodyDisabled: true, | |||
| bodyFillType: 'actFill', | |||
| },//仪器型号 | |||
| { | |||
| label: 'template.common.nextTestDate', | |||
| prop: "jzrq", | |||
| bodyType: "input", | |||
| bodyDisabled: true, | |||
| bodyFillType: 'actFill', | |||
| },//下次测试/校准/检定日期 | |||
| ] | |||
| return [ | |||
| { | |||
| label: 'template.common.instrumentCode', | |||
| prop: 'bh', | |||
| bodyType: 'yq', | |||
| bodyFillType: 'actFill' | |||
| }, //仪器编号 | |||
| { | |||
| label: 'template.common.instrumentName', | |||
| prop: 'mc', | |||
| bodyType: 'input', | |||
| bodyType: 'input', | |||
| bodyDisabled: true, | |||
| bodyFillType: 'actFill' | |||
| }, //仪器名称 | |||
| { | |||
| label: 'template.common.instrumentModel', | |||
| prop: 'xh', | |||
| bodyType: 'input', | |||
| bodyDisabled: true, | |||
| bodyFillType: 'actFill' | |||
| }, //仪器型号 | |||
| { | |||
| label: 'template.common.nextTestDate', | |||
| prop: 'jzrq', | |||
| bodyType: 'input', | |||
| bodyDisabled: true, | |||
| bodyFillType: 'actFill' | |||
| } //下次测试/校准/检定日期 | |||
| ] | |||
| } | |||
| //溶液 | |||
| export const getRyColumns = ($this) => { | |||
| return [ | |||
| { | |||
| label: '溶液类型', | |||
| prop: "rylx", | |||
| bodyType: "select", | |||
| otherCode:'rylxOther', | |||
| width:380, | |||
| bodyOptions: $this.getDictOptions('business_rylx'), | |||
| bodyFillType: 'preFill', | |||
| }, | |||
| { | |||
| label: '溶液名称(编号)', | |||
| prop: "rymc", | |||
| bodyType: "sj", | |||
| bodyFillType: 'actFill', | |||
| filledCodes:['mc','bh'], | |||
| }, | |||
| { | |||
| label: '配置日期', | |||
| prop: "pzrq", | |||
| bodyType: "input", | |||
| bodyDisabled: true, | |||
| bodyFillType: 'actFill', | |||
| }, | |||
| { | |||
| label: '失效日', | |||
| prop: "sxr", | |||
| bodyType: "input", | |||
| bodyDisabled: true, | |||
| bodyFillType: 'actFill', | |||
| }, | |||
| ] | |||
| return [ | |||
| { | |||
| label: '溶液类型', | |||
| prop: 'rylx', | |||
| bodyType: 'select', | |||
| otherCode: 'rylxOther', | |||
| width: 380, | |||
| bodyOptions: $this.getDictOptions('business_rylx'), | |||
| bodyFillType: 'preFill' | |||
| }, | |||
| { | |||
| label: '溶液名称(编号)', | |||
| prop: 'rymc', | |||
| bodyType: 'sj', | |||
| bodyFillType: 'actFill', | |||
| filledCodes: ['mc', 'bh'] | |||
| }, | |||
| { | |||
| label: '配制日期', | |||
| prop: 'pzrq', | |||
| bodyType: 'input', | |||
| bodyDisabled: true, | |||
| bodyFillType: 'actFill' | |||
| }, | |||
| { | |||
| label: '失效日', | |||
| prop: 'sxr', | |||
| bodyType: 'input', | |||
| bodyDisabled: true, | |||
| bodyFillType: 'actFill' | |||
| } | |||
| ] | |||
| } | |||
| //仪器平衡 | |||
| export const getYqphFormConfig = () => { | |||
| return [ | |||
| { | |||
| type: 'checkboxList', | |||
| config: { | |||
| yqph: { | |||
| label: '仪器平衡', | |||
| type: 'checkboxTree', | |||
| fillType: 'actFill', | |||
| span:1, | |||
| options: [ | |||
| { label: '流动相平衡', value: '流动相平衡' }, | |||
| { label: '样品平衡', value: '样品平衡' }, | |||
| { label: '样品', value: '样品'}, | |||
| { label: '未平衡', value: '未平衡' } | |||
| ] | |||
| }, | |||
| } | |||
| return [ | |||
| { | |||
| type: 'checkboxList', | |||
| config: { | |||
| yqph: { | |||
| label: '仪器平衡', | |||
| type: 'checkboxTree', | |||
| fillType: 'actFill', | |||
| span: 1, | |||
| options: [ | |||
| { label: '流动相平衡', value: '流动相平衡' }, | |||
| { label: '样品平衡', value: '样品平衡' }, | |||
| { label: '样品', value: '样品' }, | |||
| { label: '未平衡', value: '未平衡' } | |||
| ] | |||
| } | |||
| ] | |||
| } | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| @ -1,161 +1,155 @@ | |||
| // checkboxTree 类型的配置 | |||
| // checkboxTree 类型的配制 | |||
| const getOptions = (sn) => { | |||
| let children = [ | |||
| { label: '储备液比对', value: '储备液比对' }, | |||
| { label: '标准曲线线性范围', value: '标准曲线线性范围' }, | |||
| { label: '准确度与精密度&灵敏度', value: '准确度与精密度&灵敏度' }, | |||
| { label: '残留', value: '残留' }, | |||
| { label: '选择性与特异性', value: '选择性与特异性' }, | |||
| { label: '基质效应', value: '基质效应' }, | |||
| { label: '提取回收率', value: '提取回收率' }, | |||
| { label: '溶血基质效应', value: '溶血基质效应' }, | |||
| { label: '批最大样本数', value: '批最大样本数' }, | |||
| { label: '基质样品', value: '基质样品' }, | |||
| { label: '基质样品长期冻存稳定性', value: '基质样品长期冻存稳定性' }, | |||
| { label: '反复冻融稳定性', value: '反复冻融稳定性' }, | |||
| { label: '稀释可靠性', value: '稀释可靠性' }, | |||
| { label: '处理后样品稳定性', value: '处理后样品稳定性' }, | |||
| { label: '进样重现性', value: '进样重现性' }, | |||
| { label: '全血稳定性', value: '全血稳定性' }, | |||
| { label: '储备液短期稳定性', value: '储备液短期稳定性' }, | |||
| { label: '储备液长期稳定性', value: '储备液长期稳定性' }, | |||
| { label: '工作液短期稳定性', value: '工作液短期稳定性' }, | |||
| { label: '工作液长期稳定性', value: '工作液长期稳定性' } | |||
| ]; | |||
| if (sn === 'PCR006') { | |||
| children = [ | |||
| { label: '基质效应', value: '基质效应' }, | |||
| { label: '选择性', value: '选择性' }, | |||
| { label: '特异性', value: '特异性' }, | |||
| { label: '方法耐用性', value: '方法耐用性' }, | |||
| { label: '精密度与准确性', value: '精密度与准确性' }, | |||
| { label: '检测限', value: '检测限' }, | |||
| { label: '提取精密度', value: '提取精密度' }, | |||
| { label: '提取前样品稳定性', value: '提取前样品稳定性' }, | |||
| { label: '提取后样品稳定性', value: '提取后样品稳定性' }, | |||
| { label: 'cDNA样品稳定性', value: 'cDNA样品稳定性' }, | |||
| { label: '方法适用性', value: '方法适用性' }, | |||
| { label: '基因组DNA残留测定', value: '基因组DNA残留测定' }, | |||
| { label: '稀释线性', value: '稀释线性' }, | |||
| { label: '反复动态稳定性', value: '反复动态稳定性' }, | |||
| { label: '标准工作液稳定性', value: '标准工作液稳定性' } | |||
| ] | |||
| } | |||
| return [ | |||
| { | |||
| label: '方法学验证', | |||
| value: '方法学验证', | |||
| children | |||
| }, | |||
| { | |||
| label: '样品分析', | |||
| value: '样品分析', | |||
| children: [ | |||
| { label: '样品信息', value: '样品信息' } | |||
| ] | |||
| }, | |||
| { | |||
| label: '其他', | |||
| value: '其他', | |||
| children: [] | |||
| } | |||
| let children = [ | |||
| { label: '储备液比对', value: '储备液比对' }, | |||
| { label: '标准曲线线性范围', value: '标准曲线线性范围' }, | |||
| { label: '准确度与精密度&灵敏度', value: '准确度与精密度&灵敏度' }, | |||
| { label: '残留', value: '残留' }, | |||
| { label: '选择性与特异性', value: '选择性与特异性' }, | |||
| { label: '基质效应', value: '基质效应' }, | |||
| { label: '提取回收率', value: '提取回收率' }, | |||
| { label: '溶血基质效应', value: '溶血基质效应' }, | |||
| { label: '批最大样本数', value: '批最大样本数' }, | |||
| { label: '基质样品', value: '基质样品' }, | |||
| { label: '基质样品长期冻存稳定性', value: '基质样品长期冻存稳定性' }, | |||
| { label: '反复冻融稳定性', value: '反复冻融稳定性' }, | |||
| { label: '稀释可靠性', value: '稀释可靠性' }, | |||
| { label: '处理后样品稳定性', value: '处理后样品稳定性' }, | |||
| { label: '进样重现性', value: '进样重现性' }, | |||
| { label: '全血稳定性', value: '全血稳定性' }, | |||
| { label: '储备液短期稳定性', value: '储备液短期稳定性' }, | |||
| { label: '储备液长期稳定性', value: '储备液长期稳定性' }, | |||
| { label: '工作液短期稳定性', value: '工作液短期稳定性' }, | |||
| { label: '工作液长期稳定性', value: '工作液长期稳定性' } | |||
| ] | |||
| if (sn === 'PCR006') { | |||
| children = [ | |||
| { label: '基质效应', value: '基质效应' }, | |||
| { label: '选择性', value: '选择性' }, | |||
| { label: '特异性', value: '特异性' }, | |||
| { label: '方法耐用性', value: '方法耐用性' }, | |||
| { label: '精密度与准确性', value: '精密度与准确性' }, | |||
| { label: '检测限', value: '检测限' }, | |||
| { label: '提取精密度', value: '提取精密度' }, | |||
| { label: '提取前样品稳定性', value: '提取前样品稳定性' }, | |||
| { label: '提取后样品稳定性', value: '提取后样品稳定性' }, | |||
| { label: 'cDNA样品稳定性', value: 'cDNA样品稳定性' }, | |||
| { label: '方法适用性', value: '方法适用性' }, | |||
| { label: '基因组DNA残留测定', value: '基因组DNA残留测定' }, | |||
| { label: '稀释线性', value: '稀释线性' }, | |||
| { label: '反复动态稳定性', value: '反复动态稳定性' }, | |||
| { label: '标准工作液稳定性', value: '标准工作液稳定性' } | |||
| ] | |||
| } | |||
| } | |||
| return [ | |||
| { | |||
| label: '方法学验证', | |||
| value: '方法学验证', | |||
| children | |||
| }, | |||
| { | |||
| label: '样品分析', | |||
| value: '样品分析', | |||
| children: [{ label: '样品信息', value: '样品信息' }] | |||
| }, | |||
| { | |||
| label: '其他', | |||
| value: '其他', | |||
| children: [] | |||
| } | |||
| ] | |||
| } | |||
| //试验内容 | |||
| export const getSynrFormConfig = ($this) => { | |||
| return [ | |||
| { | |||
| type: 'checkboxList', | |||
| config: { | |||
| ffxyz: { | |||
| type: 'checkboxTree', | |||
| label: '方法学验证', | |||
| options: getOptions($this.sn), | |||
| span: 1, | |||
| fillType: "actFill" | |||
| }, | |||
| } | |||
| }, | |||
| ] | |||
| return [ | |||
| { | |||
| type: 'checkboxList', | |||
| config: { | |||
| ffxyz: { | |||
| type: 'checkboxTree', | |||
| label: '方法学验证', | |||
| options: getOptions($this.sn), | |||
| span: 1, | |||
| fillType: 'actFill' | |||
| } | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| //仪器结果 | |||
| export const getYqjgFormConfig = () => { | |||
| return [ | |||
| { | |||
| type: 'checkboxList', | |||
| config: { | |||
| jg: { | |||
| type: 'checkboxTree', | |||
| label: '结果', | |||
| options: [ | |||
| { label: '分析批接受', value: '分析批接受' }, | |||
| { label: '分析批拒绝', value: '分析批拒绝' }, | |||
| { label: '部分接受', value: '部分接受' }, | |||
| ], | |||
| span: 1, | |||
| fillType: "actFill" | |||
| }, | |||
| yzkcjg: { | |||
| type: 'textarea', | |||
| label: '验证考察结果', | |||
| span: 1, | |||
| fillType: "actFill", | |||
| maxlength: 1000, | |||
| rows: 5 | |||
| }, | |||
| } | |||
| return [ | |||
| { | |||
| type: 'checkboxList', | |||
| config: { | |||
| jg: { | |||
| type: 'checkboxTree', | |||
| label: '结果', | |||
| options: [ | |||
| { label: '分析批接受', value: '分析批接受' }, | |||
| { label: '分析批拒绝', value: '分析批拒绝' }, | |||
| { label: '部分接受', value: '部分接受' } | |||
| ], | |||
| span: 1, | |||
| fillType: 'actFill' | |||
| }, | |||
| ] | |||
| yzkcjg: { | |||
| type: 'textarea', | |||
| label: '验证考察结果', | |||
| span: 1, | |||
| fillType: 'actFill', | |||
| maxlength: 1000, | |||
| rows: 5 | |||
| } | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| //分析批数据文件 | |||
| export const getFxpsjwjFormConfig = () => { | |||
| return [ | |||
| { | |||
| type: 'checkboxList', | |||
| config: { | |||
| fxpsjwjm: { | |||
| type: 'input', | |||
| label: '分析批数据文件名', | |||
| span: 1, | |||
| fillType: "actFill", | |||
| maxlength: 100, | |||
| }, | |||
| fxpsjlj: { | |||
| type: 'input', | |||
| label: '分析批数据路径', | |||
| span: 1, | |||
| fillType: "actFill", | |||
| maxlength: 150, | |||
| }, | |||
| } | |||
| return [ | |||
| { | |||
| type: 'checkboxList', | |||
| config: { | |||
| fxpsjwjm: { | |||
| type: 'input', | |||
| label: '分析批数据文件名', | |||
| span: 1, | |||
| fillType: 'actFill', | |||
| maxlength: 100 | |||
| }, | |||
| ] | |||
| fxpsjlj: { | |||
| type: 'input', | |||
| label: '分析批数据路径', | |||
| span: 1, | |||
| fillType: 'actFill', | |||
| maxlength: 150 | |||
| } | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| //采集日期 | |||
| export const getCjrqFormConfig = () => { | |||
| return [ | |||
| { | |||
| type: 'cellItem', | |||
| config: { | |||
| cjksrq: { | |||
| type: 'datePicker', | |||
| label: '采集开始日期', | |||
| fillType: "actFill" | |||
| }, | |||
| cjjsrq: { | |||
| type: 'datePicker', | |||
| label: '采集结束日期', | |||
| fillType: "actFill" | |||
| }, | |||
| } | |||
| return [ | |||
| { | |||
| type: 'cellItem', | |||
| config: { | |||
| cjksrq: { | |||
| type: 'datePicker', | |||
| label: '采集开始日期', | |||
| fillType: 'actFill' | |||
| }, | |||
| ] | |||
| } | |||
| cjjsrq: { | |||
| type: 'datePicker', | |||
| label: '采集结束日期', | |||
| fillType: 'actFill' | |||
| } | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| @ -1,361 +1,371 @@ | |||
| //操作第二步配置 | |||
| //操作第二步配制 | |||
| export const getStepSecond = ($this) => { | |||
| return [{ | |||
| config:{ | |||
| text1:{ | |||
| label:"待测样品于", | |||
| type:"text", | |||
| }, | |||
| dcyb:{ | |||
| type:"input", | |||
| fillType:"preFill", | |||
| }, | |||
| text2:{ | |||
| label:"解冻完成后,分别使用移液器", | |||
| type:"text", | |||
| }, | |||
| yyqfirst:{ | |||
| type:"yq", | |||
| fillType:"actFill", | |||
| }, | |||
| text3:{ | |||
| label:"取待测血清预计", | |||
| type:"text", | |||
| }, | |||
| dcxqyj:{ | |||
| type:"inputNumber", | |||
| fillType:"preFill", | |||
| }, | |||
| dcxqyjdw:{ | |||
| type:"select", | |||
| options:$this.getDictOptions("business_tjdw"), | |||
| fillType:"preFill", | |||
| }, | |||
| text4:{ | |||
| label:"实际", | |||
| type:"text", | |||
| }, | |||
| dcxqsj:{ | |||
| type:"inputNumber", | |||
| fillType:"actFill", | |||
| compareTo:"dcxqyj", | |||
| copyFrom:"dcxqyj" | |||
| }, | |||
| dcxqsjdw:{ | |||
| type:"select", | |||
| options:$this.getDictOptions("business_tjdw"), | |||
| fillType:"actFill", | |||
| compareTo:"dcxqyjdw", | |||
| copyFrom:"dcxqyjdw" | |||
| }, | |||
| text5:{ | |||
| label:"加入稀释深孔板,再分别使用移液器", | |||
| type:"text", | |||
| }, | |||
| yyqsecond:{ | |||
| type:"yq", | |||
| fillType:"actFill", | |||
| }, | |||
| text6:{ | |||
| label:"取BBS", | |||
| type:"text", | |||
| }, | |||
| bbs:{ | |||
| type:"sj", | |||
| fillType:"actFill", | |||
| }, | |||
| text7:{ | |||
| label:"预计", | |||
| type:"text", | |||
| }, | |||
| bbsyj:{ | |||
| type:"inputNumber", | |||
| fillType:"preFill", | |||
| }, | |||
| bbsyjdw:{ | |||
| type:"select", | |||
| options:$this.getDictOptions("business_tjdw"), | |||
| fillType:"preFill", | |||
| }, | |||
| text8:{ | |||
| label:"实际", | |||
| type:"text", | |||
| }, | |||
| bbssj:{ | |||
| type:"inputNumber", | |||
| fillType:"actFill", | |||
| compareTo:"bbsyj", | |||
| copyFrom:"bbsyj" | |||
| }, | |||
| bbssjdw:{ | |||
| type:"select", | |||
| options:$this.getDictOptions("business_tjdw"), | |||
| fillType:"actFill", | |||
| compareTo:"bbsyjdw", | |||
| copyFrom:"bbsyjdw" | |||
| }, | |||
| text9:{ | |||
| label:"加入稀释深孔板,放在摇床上", | |||
| type:"text", | |||
| }, | |||
| yc:{ | |||
| type:"yq", | |||
| fillType:"actFill", | |||
| }, | |||
| text10:{ | |||
| label:"充分摇匀。", | |||
| type:"text", | |||
| }, | |||
| return [ | |||
| { | |||
| config: { | |||
| text1: { | |||
| label: '待测样品于', | |||
| type: 'text' | |||
| }, | |||
| dcyb: { | |||
| type: 'input', | |||
| fillType: 'preFill' | |||
| }, | |||
| text2: { | |||
| label: '解冻完成后,分别使用移液器', | |||
| type: 'text' | |||
| }, | |||
| yyqfirst: { | |||
| type: 'yq', | |||
| fillType: 'actFill' | |||
| }, | |||
| text3: { | |||
| label: '取待测血清预计', | |||
| type: 'text' | |||
| }, | |||
| dcxqyj: { | |||
| type: 'inputNumber', | |||
| fillType: 'preFill' | |||
| }, | |||
| dcxqyjdw: { | |||
| type: 'select', | |||
| options: $this.getDictOptions('business_tjdw'), | |||
| fillType: 'preFill' | |||
| }, | |||
| text4: { | |||
| label: '实际', | |||
| type: 'text' | |||
| }, | |||
| dcxqsj: { | |||
| type: 'inputNumber', | |||
| fillType: 'actFill', | |||
| compareTo: 'dcxqyj', | |||
| copyFrom: 'dcxqyj' | |||
| }, | |||
| dcxqsjdw: { | |||
| type: 'select', | |||
| options: $this.getDictOptions('business_tjdw'), | |||
| fillType: 'actFill', | |||
| compareTo: 'dcxqyjdw', | |||
| copyFrom: 'dcxqyjdw' | |||
| }, | |||
| text5: { | |||
| label: '加入稀释深孔板,再分别使用移液器', | |||
| type: 'text' | |||
| }, | |||
| yyqsecond: { | |||
| type: 'yq', | |||
| fillType: 'actFill' | |||
| }, | |||
| text6: { | |||
| label: '取BBS', | |||
| type: 'text' | |||
| }, | |||
| bbs: { | |||
| type: 'sj', | |||
| fillType: 'actFill' | |||
| }, | |||
| text7: { | |||
| label: '预计', | |||
| type: 'text' | |||
| }, | |||
| bbsyj: { | |||
| type: 'inputNumber', | |||
| fillType: 'preFill' | |||
| }, | |||
| bbsyjdw: { | |||
| type: 'select', | |||
| options: $this.getDictOptions('business_tjdw'), | |||
| fillType: 'preFill' | |||
| }, | |||
| text8: { | |||
| label: '实际', | |||
| type: 'text' | |||
| }, | |||
| bbssj: { | |||
| type: 'inputNumber', | |||
| fillType: 'actFill', | |||
| compareTo: 'bbsyj', | |||
| copyFrom: 'bbsyj' | |||
| }, | |||
| bbssjdw: { | |||
| type: 'select', | |||
| options: $this.getDictOptions('business_tjdw'), | |||
| fillType: 'actFill', | |||
| compareTo: 'bbsyjdw', | |||
| copyFrom: 'bbsyjdw' | |||
| }, | |||
| text9: { | |||
| label: '加入稀释深孔板,放在摇床上', | |||
| type: 'text' | |||
| }, | |||
| yc: { | |||
| type: 'yq', | |||
| fillType: 'actFill' | |||
| }, | |||
| text10: { | |||
| label: '充分摇匀。', | |||
| type: 'text' | |||
| } | |||
| }] | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| //操作第三步配置 | |||
| //操作第三步配制 | |||
| export const getStepThird = ($this) => { | |||
| return [{ | |||
| config:{ | |||
| text1:{ | |||
| label:"分别使用移液器", | |||
| type:"text", | |||
| }, | |||
| yyqfirst:{ | |||
| type:"yq", | |||
| fillType:"actFill", | |||
| }, | |||
| text2:{ | |||
| label:"取BBS", | |||
| type:"text", | |||
| }, | |||
| bbs:{ | |||
| type:"sj", | |||
| fillType:"actFill", | |||
| }, | |||
| text3:{ | |||
| label:"预计", | |||
| type:"text", | |||
| }, | |||
| bbsyj:{ | |||
| type:"inputNumber", | |||
| fillType:"preFill", | |||
| }, | |||
| bbsyjdw:{ | |||
| type:"select", | |||
| options:$this.getDictOptions("business_tjdw"), | |||
| fillType:"preFill", | |||
| }, | |||
| text4:{ | |||
| label:"实际", | |||
| type:"text", | |||
| }, | |||
| bbssj:{ | |||
| type:"inputNumber", | |||
| fillType:"actFill", | |||
| compareTo:"bbsyj", | |||
| copyFrom:"bbsyj" | |||
| }, | |||
| bbssjdw:{ | |||
| type:"select", | |||
| options:$this.getDictOptions("business_tjdw"), | |||
| fillType:"actFill", | |||
| compareTo:"bbsyjdw", | |||
| copyFrom:"bbsyjdw" | |||
| }, | |||
| text5:{ | |||
| label:"加入对照管中,再分别使用移液器", | |||
| type:"text", | |||
| }, | |||
| yyqsecond:{ | |||
| type:"yq", | |||
| fillType:"actFill", | |||
| }, | |||
| text6:{ | |||
| label:"取PEG-NaF", | |||
| type:"text", | |||
| }, | |||
| pegnaf:{ | |||
| type:"sj", | |||
| fillType:"actFill", | |||
| }, | |||
| text7:{ | |||
| label:"预计", | |||
| type:"text", | |||
| }, | |||
| pegnafyj:{ | |||
| type:"inputNumber", | |||
| fillType:"preFill", | |||
| }, | |||
| pegnafyjdw:{ | |||
| type:"select", | |||
| options:$this.getDictOptions("business_tjdw"), | |||
| fillType:"preFill", | |||
| }, | |||
| text8:{ | |||
| label:"实际", | |||
| type:"text", | |||
| }, | |||
| pegnafsj:{ | |||
| type:"inputNumber", | |||
| fillType:"actFill", | |||
| compareTo:"pegnafyj", | |||
| copyFrom:"pegnafyj" | |||
| }, | |||
| pegnafsjdw:{ | |||
| type:"select", | |||
| options:$this.getDictOptions("business_tjdw"), | |||
| fillType:"actFill", | |||
| compareTo:"pegnafyjdw", | |||
| copyFrom:"pegnafyjdw" | |||
| }, | |||
| text9:{ | |||
| label:"加入测试管中。", | |||
| type:"text", | |||
| }, | |||
| return [ | |||
| { | |||
| config: { | |||
| text1: { | |||
| label: '分别使用移液器', | |||
| type: 'text' | |||
| }, | |||
| yyqfirst: { | |||
| type: 'yq', | |||
| fillType: 'actFill' | |||
| }, | |||
| text2: { | |||
| label: '取BBS', | |||
| type: 'text' | |||
| }, | |||
| bbs: { | |||
| type: 'sj', | |||
| fillType: 'actFill' | |||
| }, | |||
| text3: { | |||
| label: '预计', | |||
| type: 'text' | |||
| }, | |||
| bbsyj: { | |||
| type: 'inputNumber', | |||
| fillType: 'preFill' | |||
| }, | |||
| bbsyjdw: { | |||
| type: 'select', | |||
| options: $this.getDictOptions('business_tjdw'), | |||
| fillType: 'preFill' | |||
| }, | |||
| text4: { | |||
| label: '实际', | |||
| type: 'text' | |||
| }, | |||
| bbssj: { | |||
| type: 'inputNumber', | |||
| fillType: 'actFill', | |||
| compareTo: 'bbsyj', | |||
| copyFrom: 'bbsyj' | |||
| }, | |||
| bbssjdw: { | |||
| type: 'select', | |||
| options: $this.getDictOptions('business_tjdw'), | |||
| fillType: 'actFill', | |||
| compareTo: 'bbsyjdw', | |||
| copyFrom: 'bbsyjdw' | |||
| }, | |||
| text5: { | |||
| label: '加入对照管中,再分别使用移液器', | |||
| type: 'text' | |||
| }, | |||
| yyqsecond: { | |||
| type: 'yq', | |||
| fillType: 'actFill' | |||
| }, | |||
| text6: { | |||
| label: '取PEG-NaF', | |||
| type: 'text' | |||
| }, | |||
| pegnaf: { | |||
| type: 'sj', | |||
| fillType: 'actFill' | |||
| }, | |||
| text7: { | |||
| label: '预计', | |||
| type: 'text' | |||
| }, | |||
| pegnafyj: { | |||
| type: 'inputNumber', | |||
| fillType: 'preFill' | |||
| }, | |||
| pegnafyjdw: { | |||
| type: 'select', | |||
| options: $this.getDictOptions('business_tjdw'), | |||
| fillType: 'preFill' | |||
| }, | |||
| text8: { | |||
| label: '实际', | |||
| type: 'text' | |||
| }, | |||
| pegnafsj: { | |||
| type: 'inputNumber', | |||
| fillType: 'actFill', | |||
| compareTo: 'pegnafyj', | |||
| copyFrom: 'pegnafyj' | |||
| }, | |||
| pegnafsjdw: { | |||
| type: 'select', | |||
| options: $this.getDictOptions('business_tjdw'), | |||
| fillType: 'actFill', | |||
| compareTo: 'pegnafyjdw', | |||
| copyFrom: 'pegnafyjdw' | |||
| }, | |||
| text9: { | |||
| label: '加入测试管中。', | |||
| type: 'text' | |||
| } | |||
| }] | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| //操作第四步配置 | |||
| //操作第四步配制 | |||
| export const getStepFourth = ($this) => { | |||
| return [{ | |||
| config:{ | |||
| text1:{ | |||
| label:"使用移液器", | |||
| type:"text", | |||
| }, | |||
| yyq:{ | |||
| type:"yq", | |||
| fillType:"actFill", | |||
| }, | |||
| text2:{ | |||
| label:"分别往对照管和测试管中各加入已稀释的待测血清预计", | |||
| type:"text", | |||
| }, | |||
| dcxqyj:{ | |||
| type:"inputNumber", | |||
| fillType:"preFill", | |||
| }, | |||
| dcxqyjdw:{ | |||
| type:"select", | |||
| options:$this.getDictOptions("business_tjdw"), | |||
| fillType:"preFill", | |||
| }, | |||
| text3:{ | |||
| label:"实际", | |||
| type:"text", | |||
| }, | |||
| dcxqsj:{ | |||
| type:"inputNumber", | |||
| fillType:"actFill", | |||
| compareTo:"dcxqyj", | |||
| copyFrom:"dcxqyj" | |||
| }, | |||
| dcxqsjdw:{ | |||
| type:"select", | |||
| options:$this.getDictOptions("business_tjdw"), | |||
| fillType:"actFill", | |||
| compareTo:"dcxqyjdw", | |||
| copyFrom:"dcxqyjdw" | |||
| } | |||
| return [ | |||
| { | |||
| config: { | |||
| text1: { | |||
| label: '使用移液器', | |||
| type: 'text' | |||
| }, | |||
| yyq: { | |||
| type: 'yq', | |||
| fillType: 'actFill' | |||
| }, | |||
| text2: { | |||
| label: '分别往对照管和测试管中各加入已稀释的待测血清预计', | |||
| type: 'text' | |||
| }, | |||
| dcxqyj: { | |||
| type: 'inputNumber', | |||
| fillType: 'preFill' | |||
| }, | |||
| dcxqyjdw: { | |||
| type: 'select', | |||
| options: $this.getDictOptions('business_tjdw'), | |||
| fillType: 'preFill' | |||
| }, | |||
| text3: { | |||
| label: '实际', | |||
| type: 'text' | |||
| }, | |||
| dcxqsj: { | |||
| type: 'inputNumber', | |||
| fillType: 'actFill', | |||
| compareTo: 'dcxqyj', | |||
| copyFrom: 'dcxqyj' | |||
| }, | |||
| dcxqsjdw: { | |||
| type: 'select', | |||
| options: $this.getDictOptions('business_tjdw'), | |||
| fillType: 'actFill', | |||
| compareTo: 'dcxqyjdw', | |||
| copyFrom: 'dcxqyjdw' | |||
| } | |||
| }] | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| //操作第五步配置 | |||
| //操作第五步配制 | |||
| export const getStepFivth = ($this) => { | |||
| return [{ | |||
| config:{ | |||
| text1:{ | |||
| label:"将以上缓冲液与血清放在摇床", | |||
| type:"text", | |||
| }, | |||
| yc:{ | |||
| type:"yq", | |||
| fillType:"actFill", | |||
| }, | |||
| text2:{ | |||
| label:"上充分混匀,置于孵育箱", | |||
| type:"text", | |||
| }, | |||
| fyx:{ | |||
| type:"yq", | |||
| fillType:"actFill", | |||
| }, | |||
| text3:{ | |||
| label:"中,设置预计温度", | |||
| type:"text", | |||
| }, | |||
| yjwd:{ | |||
| type:"inputNumber", | |||
| fillType:"preFill", | |||
| }, | |||
| text4:{ | |||
| label:"℃,实际温度", | |||
| type:"text", | |||
| }, | |||
| sjwd:{ | |||
| type:"inputNumber", | |||
| fillType:"actFill", | |||
| compareTo:"yjwd", | |||
| copyFrom:"yjwd" | |||
| }, | |||
| text5:{ | |||
| label:"℃,孵育", | |||
| type:"text", | |||
| }, | |||
| fysj:{ | |||
| type:"inputNumber", | |||
| fillType:"preFill", | |||
| }, | |||
| text6:{ | |||
| label:"小时。", | |||
| type:"text", | |||
| }, | |||
| return [ | |||
| { | |||
| config: { | |||
| text1: { | |||
| label: '将以上缓冲液与血清放在摇床', | |||
| type: 'text' | |||
| }, | |||
| yc: { | |||
| type: 'yq', | |||
| fillType: 'actFill' | |||
| }, | |||
| text2: { | |||
| label: '上充分混匀,置于孵育箱', | |||
| type: 'text' | |||
| }, | |||
| fyx: { | |||
| type: 'yq', | |||
| fillType: 'actFill' | |||
| }, | |||
| text3: { | |||
| label: '中,设置预计温度', | |||
| type: 'text' | |||
| }, | |||
| yjwd: { | |||
| type: 'inputNumber', | |||
| fillType: 'preFill' | |||
| }, | |||
| text4: { | |||
| label: '℃,实际温度', | |||
| type: 'text' | |||
| }, | |||
| sjwd: { | |||
| type: 'inputNumber', | |||
| fillType: 'actFill', | |||
| compareTo: 'yjwd', | |||
| copyFrom: 'yjwd' | |||
| }, | |||
| text5: { | |||
| label: '℃,孵育', | |||
| type: 'text' | |||
| }, | |||
| fysj: { | |||
| type: 'inputNumber', | |||
| fillType: 'preFill' | |||
| }, | |||
| text6: { | |||
| label: '小时。', | |||
| type: 'text' | |||
| } | |||
| }] | |||
| } | |||
| } | |||
| ] | |||
| } | |||
| //操作第六步配置 | |||
| //操作第六步配制 | |||
| export const getStepSixth = ($this) => { | |||
| return [{ | |||
| config:{ | |||
| text1:{ | |||
| label:"孵育完成后,使用移液器", | |||
| type:"text", | |||
| }, | |||
| yyq:{ | |||
| type:"yq", | |||
| fillType:"actFill", | |||
| }, | |||
| text2:{ | |||
| label:"将对照管和测试管的溶液转移至对应的比色皿,用紫外分光光度计", | |||
| type:"text", | |||
| }, | |||
| zwfggdj:{ | |||
| type:"yq", | |||
| fillType:"actFill", | |||
| }, | |||
| text3:{ | |||
| label:",设置预计波长", | |||
| type:"text", | |||
| }, | |||
| yjbc:{ | |||
| type:"inputNumber", | |||
| fillType:"preFill", | |||
| }, | |||
| text4:{ | |||
| label:"nm,实际波长", | |||
| type:"text", | |||
| }, | |||
| sjbc:{ | |||
| type:"inputNumber", | |||
| fillType:"actFill", | |||
| compareTo:"yjbc", | |||
| copyFrom:"yjbc" | |||
| }, | |||
| text5:{ | |||
| label:"nm,测定其OD值。", | |||
| type:"text", | |||
| }, | |||
| return [ | |||
| { | |||
| config: { | |||
| text1: { | |||
| label: '孵育完成后,使用移液器', | |||
| type: 'text' | |||
| }, | |||
| yyq: { | |||
| type: 'yq', | |||
| fillType: 'actFill' | |||
| }, | |||
| text2: { | |||
| label: '将对照管和测试管的溶液转移至对应的比色皿,用紫外分光光度计', | |||
| type: 'text' | |||
| }, | |||
| zwfggdj: { | |||
| type: 'yq', | |||
| fillType: 'actFill' | |||
| }, | |||
| text3: { | |||
| label: ',设置预计波长', | |||
| type: 'text' | |||
| }, | |||
| yjbc: { | |||
| type: 'inputNumber', | |||
| fillType: 'preFill' | |||
| }, | |||
| text4: { | |||
| label: 'nm,实际波长', | |||
| type: 'text' | |||
| }, | |||
| sjbc: { | |||
| type: 'inputNumber', | |||
| fillType: 'actFill', | |||
| compareTo: 'yjbc', | |||
| copyFrom: 'yjbc' | |||
| }, | |||
| text5: { | |||
| label: 'nm,测定其OD值。', | |||
| type: 'text' | |||
| } | |||
| }] | |||
| } | |||
| } | |||
| } | |||
| ] | |||
| } | |||