Browse Source

feat:[模板管理][update]

lkf
luojie 2 months ago
parent
commit
8b6bd5a3ae
18 changed files with 280 additions and 32 deletions
  1. +8
    -0
      src/api/business/public/public.js
  2. +47
    -1
      src/components/Template/HandleFormItem.vue
  3. +5
    -0
      src/components/Template/StepComponents/ry/cs.vue
  4. +10
    -0
      src/components/Template/StepComponents/ry/fs.vue
  5. +10
    -0
      src/components/Template/StepComponents/ry/fy.vue
  6. +10
    -0
      src/components/Template/StepComponents/ry/hwhy.vue
  7. +10
    -0
      src/components/Template/StepComponents/ry/jb.vue
  8. +10
    -0
      src/components/Template/StepComponents/ry/jd.vue
  9. +10
    -0
      src/components/Template/StepComponents/ry/jrjb.vue
  10. +10
    -0
      src/components/Template/StepComponents/ry/jz.vue
  11. +5
    -0
      src/components/Template/StepComponents/ry/lx.vue
  12. +10
    -0
      src/components/Template/StepComponents/ry/sy.vue
  13. +10
    -0
      src/components/Template/StepComponents/ry/ym.vue
  14. +5
    -0
      src/components/Template/StepComponents/ry/zyhy.vue
  15. +34
    -4
      src/components/Template/StepFormPackage.vue
  16. +6
    -2
      src/components/Template/mixins/stepMixins.js
  17. +37
    -25
      src/views/business/comps/template/dialog/SelectMixReagentDialog.vue
  18. +43
    -0
      src/views/business/comps/template/formConfig/formConfig.js

+ 8
- 0
src/api/business/public/public.js View File

@ -99,6 +99,14 @@ export function public_gspList(query) {
params: query params: query
}) })
} }
// 细胞列表
export function public_xbList(query) {
return request({
url: '/system/business/public/xbList',
method: 'get',
params: query
})
}
// 模板的可选步骤列表 // 模板的可选步骤列表
export function public_templateStepList(query) { export function public_templateStepList(query) {
return request({ return request({

+ 47
- 1
src/components/Template/HandleFormItem.vue View File

@ -35,6 +35,14 @@
:disabled="getDisabled()" format="yyyy/MM/dd" :disabled="getDisabled()" format="yyyy/MM/dd"
:placeholder="getPlaceholder()" @change="(val)=>onDateChange(val,'yyyy/MM/DD')"> :placeholder="getPlaceholder()" @change="(val)=>onDateChange(val,'yyyy/MM/DD')">
</el-date-picker> </el-date-picker>
<el-button v-else-if="type === 'button'"
:class="getFillTypeStyle() + (orangeBg ? ' orange-bg' : '')"
:disabled="getDisabled()"
type="primary"
@click="handleClickButton(item)">
{{ item.buttonName }}
</el-button>
<div class="clickable" <div class="clickable"
:class="getFillTypeStyle() + (getDisabled() ? ' disabled' : '') + (orangeBg ? ' orange-bg' : '')" :class="getFillTypeStyle() + (getDisabled() ? ' disabled' : '') + (orangeBg ? ' orange-bg' : '')"
v-else-if="item.type === 'clickable'" @click="handleClickable(item, $event)"> v-else-if="item.type === 'clickable'" @click="handleClickable(item, $event)">
@ -182,7 +190,6 @@ export default {
watch: { watch: {
value(newVal) { value(newVal) {
this.inputValue = newVal; this.inputValue = newVal;
// typeclickable // typeclickable
if (this.item.type === 'clickable') { if (this.item.type === 'clickable') {
this.$nextTick(() => { this.$nextTick(() => {
@ -198,6 +205,10 @@ export default {
mounted() { mounted() {
}, },
methods: { methods: {
//
handleClickButton(item){
this.$emit('clickButton', item);
},
onDateChange(val,format){ onDateChange(val,format){
this.inputValue = moment(val).format(format); this.inputValue = moment(val).format(format);
console.log(this.inputValue,"inputValue") console.log(this.inputValue,"inputValue")
@ -752,6 +763,41 @@ export default {
.el-checkbox__inner{ .el-checkbox__inner{
border-color: #f9c588 !important; border-color: #f9c588 !important;
} }
}
.el-button--primary{
&.orange-border{
background-color: #f79b31 !important;
border-color: #f79b31 !important;
&:hover {
background-color: #f79b31 !important;
}
&:disabled {
background-color: rgba(#f79b31,.8) !important;
border-color: rgba(#f79b31,.8) !important;
}
&:active {
background-color: rgba(#f79b31,.8) !important;
border-color: rgba(#f79b31,.8) !important;
}
}
&.blue-border {
background-color: #4ea2ff !important;
border-color: #4ea2ff !important;
&:hover {
background-color: #4ea2ff !important;
}
&:disabled {
background-color: rgba(#4ea2ff,.8) !important;
border-color: rgba(#4ea2ff,.8) !important;
}
&:active {
background-color: rgba(#4ea2ff,.8) !important;
border-color: rgba(#4ea2ff,.8) !important;
}
}
} }
.green-border { .green-border {

+ 5
- 0
src/components/Template/StepComponents/ry/cs.vue View File

@ -84,6 +84,11 @@ export default {
label: "超声,超声", label: "超声,超声",
type: "text", type: "text",
}, },
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1: { button1: {
type: "button", type: "button",
buttonName: "开始" buttonName: "开始"

+ 10
- 0
src/components/Template/StepComponents/ry/fs.vue View File

@ -55,6 +55,11 @@ export default {
label: "复苏", label: "复苏",
type: "text", type: "text",
}, },
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1: { button1: {
type: "button", type: "button",
buttonName: "开始", buttonName: "开始",
@ -63,6 +68,11 @@ export default {
label: ",复苏", label: ",复苏",
type: "text", type: "text",
}, },
endDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button2: { button2: {
type: "button", type: "button",
buttonName: "结束", buttonName: "结束",

+ 10
- 0
src/components/Template/StepComponents/ry/fy.vue View File

@ -55,6 +55,11 @@ export default {
label: ",孵育", label: ",孵育",
type: "text", type: "text",
}, },
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1: { button1: {
type: "button", type: "button",
buttonName: "开始", buttonName: "开始",
@ -63,6 +68,11 @@ export default {
type: "text", type: "text",
label: ",孵育", label: ",孵育",
}, },
endDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button2: { button2: {
type: "button", type: "button",
buttonName: "结束", buttonName: "结束",

+ 10
- 0
src/components/Template/StepComponents/ry/hwhy.vue View File

@ -105,6 +105,16 @@ export default {
label: ",进行恒温混匀,混匀", label: ",进行恒温混匀,混匀",
type: "text", type: "text",
}, },
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1: { button1: {
type: "button", type: "button",
buttonName: "开始" buttonName: "开始"

+ 10
- 0
src/components/Template/StepComponents/ry/jb.vue View File

@ -58,6 +58,11 @@ export default {
label: "进行搅拌,搅拌", label: "进行搅拌,搅拌",
type: "text", type: "text",
}, },
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1: { button1: {
type: "button", type: "button",
buttonName: "开始", buttonName: "开始",
@ -66,6 +71,11 @@ export default {
label: "搅拌", label: "搅拌",
type: "text", type: "text",
}, },
endDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button2: { button2: {
type: "button", type: "button",
buttonName: "结束", buttonName: "结束",

+ 10
- 0
src/components/Template/StepComponents/ry/jd.vue View File

@ -94,6 +94,11 @@ export default {
type:"text", type:"text",
label:",解冻", label:",解冻",
}, },
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1:{ button1:{
type:"button", type:"button",
buttonName:"开始", buttonName:"开始",
@ -102,6 +107,11 @@ export default {
type:"text", type:"text",
label:",解冻", label:",解冻",
}, },
endDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button2:{ button2:{
type:"button", type:"button",
buttonName:"结束", buttonName:"结束",

+ 10
- 0
src/components/Template/StepComponents/ry/jrjb.vue View File

@ -75,6 +75,11 @@ import stepMixins from '@/components/Template/mixins/stepMixins.js';
label:"进行搅拌,搅拌", label:"进行搅拌,搅拌",
type:"text", type:"text",
}, },
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1:{ button1:{
type:"button", type:"button",
buttonName:"开始", buttonName:"开始",
@ -83,6 +88,11 @@ import stepMixins from '@/components/Template/mixins/stepMixins.js';
label:"搅拌", label:"搅拌",
type:"text", type:"text",
}, },
endDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button2:{ button2:{
type:"button", type:"button",
buttonName:"结束", buttonName:"结束",

+ 10
- 0
src/components/Template/StepComponents/ry/jz.vue View File

@ -50,6 +50,11 @@ import stepMixins from '@/components/Template/mixins/stepMixins.js';
type:"text", type:"text",
label:"静置", label:"静置",
}, },
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1:{ button1:{
type:"button", type:"button",
buttonName:"开始", buttonName:"开始",
@ -58,6 +63,11 @@ import stepMixins from '@/components/Template/mixins/stepMixins.js';
type:"text", type:"text",
label:",静置", label:",静置",
}, },
endDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button2:{ button2:{
type:"button", type:"button",
buttonName:"结束", buttonName:"结束",

+ 5
- 0
src/components/Template/StepComponents/ry/lx.vue View File

@ -107,6 +107,11 @@ export default {
label: ",进行离心。离心", label: ",进行离心。离心",
type: "text", type: "text",
}, },
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1: { button1: {
type: "button", type: "button",
buttonName: "开始", buttonName: "开始",

+ 10
- 0
src/components/Template/StepComponents/ry/sy.vue View File

@ -46,6 +46,11 @@ import stepMixins from '@/components/Template/mixins/stepMixins.js';
label:"°C,进行水浴,水浴", label:"°C,进行水浴,水浴",
type:"text", type:"text",
}, },
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1:{ button1:{
type:"button", type:"button",
buttonName:"开始" buttonName:"开始"
@ -54,6 +59,11 @@ import stepMixins from '@/components/Template/mixins/stepMixins.js';
label:"水浴", label:"水浴",
type:"text", type:"text",
}, },
endDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button2:{ button2:{
type:"button", type:"button",
buttonName:"结束" buttonName:"结束"

+ 10
- 0
src/components/Template/StepComponents/ry/ym.vue View File

@ -89,6 +89,11 @@ import stepMixins from '@/components/Template/mixins/stepMixins.js';
label:"。研磨", label:"。研磨",
type:"text", type:"text",
}, },
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1:{ button1:{
type:"button", type:"button",
buttonName:"开始" buttonName:"开始"
@ -97,6 +102,11 @@ import stepMixins from '@/components/Template/mixins/stepMixins.js';
label:"研磨", label:"研磨",
type:"text", type:"text",
}, },
endDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button2:{ button2:{
type:"button", type:"button",
buttonName:"结束" buttonName:"结束"

+ 5
- 0
src/components/Template/StepComponents/ry/zyhy.vue View File

@ -90,6 +90,11 @@ import stepMixins from '@/components/Template/mixins/stepMixins.js';
label:",对上表进行混匀,混匀", label:",对上表进行混匀,混匀",
type:"text", type:"text",
}, },
startDate: {
type: "input",
fillType: "actFill",
disabled: true,
},
button1:{ button1:{
type:"button", type:"button",
buttonName:"开始" buttonName:"开始"

+ 34
- 4
src/components/Template/StepFormPackage.vue View File

@ -28,6 +28,12 @@
@copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" @copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false"
:orange-bg="orangeBgFields[key]" /> :orange-bg="orangeBgFields[key]" />
</template> </template>
<template v-else-if="sItem.type === 'button'">
<HandleFormItem
type="button"
:item="getButtonItem(sItem)"
@clickButton="(e)=>handleClickButton(e,item)" />
</template>
<!-- 仪器instrumentregent(药剂) gsp(供试品) mix药剂/供试品/给药制剂 --> <!-- 仪器instrumentregent(药剂) gsp(供试品) mix药剂/供试品/给药制剂 -->
<template v-else-if="sItem.type === 'instrument' || sItem.type === 'regent' || sItem.type === 'gsp' || sItem.type === 'mix' || sItem.type === 'xb'"> <template v-else-if="sItem.type === 'instrument' || sItem.type === 'regent' || sItem.type === 'gsp' || sItem.type === 'mix' || sItem.type === 'xb'">
<HandleFormItem class="step-row" :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" <HandleFormItem class="step-row" :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key"
@ -41,9 +47,7 @@
<template v-else-if="sItem.type === 'span'"> <template v-else-if="sItem.type === 'span'">
<span>{{ formFields[key] }}</span> <span>{{ formFields[key] }}</span>
</template> </template>
<template v-else-if="sItem.type === 'button'">
<el-button type="primary" @click="handleClickButton(key)">{{ sItem.buttonName }}</el-button>
</template>
<div v-show="isShowOther(formFields[key])" class="flex flex1"> <div v-show="isShowOther(formFields[key])" class="flex flex1">
<div class="other-title">{{sItem.otherLabel ? $t(sItem.otherLabel) : $t("template.common.other") }}</div> <div class="other-title">{{sItem.otherLabel ? $t(sItem.otherLabel) : $t("template.common.other") }}</div>
<HandleFormItem class="step-row" :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.otherCode" @blur="onBlur(key, $event)" :item="getOtherItem(sItem)" <HandleFormItem class="step-row" :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.otherCode" @blur="onBlur(key, $event)" :item="getOtherItem(sItem)"
@ -63,6 +67,7 @@ import formPackageMixins from '@/components/Template/mixins/formPackageMixins.js
import { isShowOther } from "@/utils/formPackageCommon.js"; import { isShowOther } from "@/utils/formPackageCommon.js";
import { EventBus } from "@/utils/eventBus"; import { EventBus } from "@/utils/eventBus";
import { getuuid } from "@/utils/index.js"; import { getuuid } from "@/utils/index.js";
import moment from 'moment'
export default { export default {
inject: ['templateFillType','templateData'], inject: ['templateFillType','templateData'],
components: { components: {
@ -110,6 +115,24 @@ export default {
} }
}, },
methods: { methods: {
//
handleClickButton(e,item){
const {buttonName = ""} = e;
const {config} = item;
if(buttonName === '开始' && config.hasOwnProperty("startDate")){
this.formFields["startDate"] = moment().format('YYYY-MM-DD HH:mm:ss');
}else if(buttonName === '结束' && config.hasOwnProperty("endDate")){
this.formFields["endDate"] = moment().format('YYYY-MM-DD HH:mm:ss');
}
this.$emit("clickButton",e,item)
},
//
getButtonItem(sItem) {
return {
...sItem,
fillType:sItem.fillType || "actFill",
}
},
// // // //
onMixReagentSubmit(data){ onMixReagentSubmit(data){
if(data.uuid !== this.uuid) return; if(data.uuid !== this.uuid) return;
@ -149,7 +172,7 @@ export default {
sourceFrom:'step', sourceFrom:'step',
type:"gsp" type:"gsp"
}) })
}else if(type === 'gsp'){
}else if(type === 'mix'){
EventBus.$emit("showSelectMixReagentDialog",{ EventBus.$emit("showSelectMixReagentDialog",{
studyFormId:this.templateData.id, studyFormId:this.templateData.id,
uuid:this.uuid, uuid:this.uuid,
@ -157,6 +180,13 @@ export default {
type:"sj", type:"sj",
mixType:true, mixType:true,
}) })
}else if(type === 'xb'){
EventBus.$emit("showSelectMixReagentDialog",{
studyFormId:this.templateData.id,
uuid:this.uuid,
sourceFrom:'step',
type:"xb",
})
}else if(type === 'instrument'){ }else if(type === 'instrument'){
EventBus.$emit("showSelectInstrumentDialog",{ EventBus.$emit("showSelectInstrumentDialog",{
studyFormId:this.templateData.id, studyFormId:this.templateData.id,

+ 6
- 2
src/components/Template/mixins/stepMixins.js View File

@ -1,5 +1,9 @@
export default { export default {
dicts:["business_tjdw","business_czhj","business_rqcz","business_zldw","business_yqscdw","business_zsdw","business_wddw","business_ccwz","business_ggdw"],
dicts:[
"business_tjdw","business_czhj","business_rqcz","business_zldw",
"business_yqscdw","business_zsdw","business_wddw","business_ccwz","business_ggdw",
"business_hjxx"
],
props: { props: {
formData: { formData: {
type: Object, type: Object,
@ -19,6 +23,6 @@ export default {
}, },
resetRecord() { resetRecord() {
this.$refs.stepFormPackageRef.resetRecord(); this.$refs.stepFormPackageRef.resetRecord();
}
},
}, },
} }

+ 37
- 25
src/views/business/comps/template/dialog/SelectMixReagentDialog.vue View File

@ -2,16 +2,16 @@
<template> <template>
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="$t(title)" @close="onCancel" <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="$t(title)" @close="onCancel"
:visible.sync="visible" append-to-body width="80%"> :visible.sync="visible" append-to-body width="80%">
<el-radio-group v-show = "mixType" v-model="selectType" @change="handleShowTableInfo" class="mt-20 mb-20">
<el-radio-group v-show="mixType" v-model="selectType" @change="handleShowTableInfo" class="mt-20 mb-20">
<el-radio-button label="sj">试剂列表</el-radio-button> <el-radio-button label="sj">试剂列表</el-radio-button>
<el-radio-button label="gsp">供试品列表</el-radio-button> <el-radio-button label="gsp">供试品列表</el-radio-button>
<el-radio-button label="gyzj">给药制剂列表</el-radio-button> <el-radio-button label="gyzj">给药制剂列表</el-radio-button>
</el-radio-group> </el-radio-group>
<SelectTable ref="selectSjRef" :columns="columns" :selectedId="selectedId" :searchForm="searchForm" <SelectTable ref="selectSjRef" :columns="columns" :selectedId="selectedId" :searchForm="searchForm"
:studyFormId="studyFormId" :listApi="listApi" :selectedCode="selectedCode" @radioSelect="handleSelect" /> :studyFormId="studyFormId" :listApi="listApi" :selectedCode="selectedCode" @radioSelect="handleSelect" />
<!-- 只有步骤才会又这个选项 -->
<div v-if = "sourceFrom === 'step'" class="other-reagent">
<!-- 只有步骤才会又这个选项 -->
<div v-if="sourceFrom === 'step'" class="other-reagent">
<el-checkbox v-model="otherChecked" @change="handleOtherChange">其他</el-checkbox> <el-checkbox v-model="otherChecked" @change="handleOtherChange">其他</el-checkbox>
<el-input class="other-reagent-input" v-model="otherReagent"></el-input> <el-input class="other-reagent-input" v-model="otherReagent"></el-input>
</div> </div>
@ -25,26 +25,35 @@
<script> <script>
import SelectTable from '@/components/Template/SelectTable.vue'; import SelectTable from '@/components/Template/SelectTable.vue';
import SelectDept from "@/views/business/comps/select/SelectDept"; import SelectDept from "@/views/business/comps/select/SelectDept";
import { public_sjList,public_gyzjList,public_gspList } from '@/api/business/public/public';
import { getSjSearchForm, getSjColumns,getGyzjSearchForm,getGyzjColumns,getGspSearchForm,getGspColumns } from '@/views/business/comps/template/formConfig/formConfig.js';
import { public_sjList, public_gyzjList, public_gspList, public_xbList } from '@/api/business/public/public';
import { getSjSearchForm, getSjColumns, getGyzjSearchForm, getGyzjColumns, getGspSearchForm, getGspColumns, getXbSearchForm, getXbColumns } from '@/views/business/comps/template/formConfig/formConfig.js';
import { EventBus } from "@/utils/eventBus"; import { EventBus } from "@/utils/eventBus";
const typeMap ={
const typeMap = {
sj: { sj: {
searchForm: getSjSearchForm(), searchForm: getSjSearchForm(),
columns: getSjColumns(), columns: getSjColumns(),
listApi: public_sjList, listApi: public_sjList,
title:"选择试剂"
}, },
gsp: { gsp: {
searchForm: getGspSearchForm(), searchForm: getGspSearchForm(),
columns: getGspColumns(), columns: getGspColumns(),
listApi: public_gspList, listApi: public_gspList,
title:"选择供试品"
},
xb: {
searchForm: getXbSearchForm(),
columns: getXbColumns(),
listApi: public_xbList,
title:"选择细胞"
}, },
gyzj: { gyzj: {
searchForm: getGyzjSearchForm(), searchForm: getGyzjSearchForm(),
columns: getGyzjColumns(), columns: getGyzjColumns(),
listApi: public_gyzjList, listApi: public_gyzjList,
title:"选择给药制剂"
}, },
}
}
export default { export default {
components: { components: {
SelectTable, SelectTable,
@ -55,10 +64,7 @@ export default {
type: String, type: String,
default: "", default: "",
}, },
title: {
type: String,
default: "page.business.resource.sj.xzsj",
},
selectedCode: { selectedCode: {
type: String, type: String,
default: "bh", default: "bh",
@ -79,14 +85,15 @@ export default {
listApi: public_sjList, listApi: public_sjList,
searchForm: getSjSearchForm(), searchForm: getSjSearchForm(),
columns: getSjColumns(), columns: getSjColumns(),
sourceFrom:"step",//
sourceFrom: "step",//
otherReagent: "",// otherReagent: "",//
mixType: false,// mixType: false,//
title:"选择试剂"
} }
}, },
computed: { computed: {
isDisabled() { isDisabled() {
if(this.otherChecked && this.otherReagent){//
if (this.otherChecked && this.otherReagent) {//
return false; return false;
} }
return !this.selectedId; return !this.selectedId;
@ -98,29 +105,30 @@ export default {
this.uuid = data.uuid this.uuid = data.uuid
} }
//type:sj()gsp()gyzj() //type:sj()gsp()gyzj()
const {type,sourceFrom = "step",mixType = false} = data;
const { type, sourceFrom = "step", mixType = false } = data;
this.mixType = mixType; this.mixType = mixType;
this.sourceFrom = sourceFrom; this.sourceFrom = sourceFrom;
this.studyFormId = studyFormId; this.studyFormId = studyFormId;
this.visible = true; this.visible = true;
this.handleShowTableInfo(type); this.handleShowTableInfo(type);
}, },
handleOtherChange(val){
handleOtherChange(val) {
this.otherChecked = val; this.otherChecked = val;
if(val){//id
if (val) {//id
this.selectedId = ""; this.selectedId = "";
this.currentRow = {}; this.currentRow = {};
} }
}, },
handleShowTableInfo(type){
handleShowTableInfo(type) {
this.selectType = type; this.selectType = type;
this.searchForm = typeMap[type].searchForm; this.searchForm = typeMap[type].searchForm;
this.columns = typeMap[type].columns; this.columns = typeMap[type].columns;
this.listApi = typeMap[type].listApi; this.listApi = typeMap[type].listApi;
this.listApi = typeMap[type].listApi || this.listApi; this.listApi = typeMap[type].listApi || this.listApi;
this.title = typeMap[type].title || this.title;
setTimeout(() => { setTimeout(() => {
if(this.$refs.selectSjRef){
if (this.$refs.selectSjRef) {
this.$refs.selectSjRef.show() this.$refs.selectSjRef.show()
} }
}, 10); }, 10);
@ -152,19 +160,23 @@ export default {
align-items: center; align-items: center;
padding: 20px 0; padding: 20px 0;
} }
.other-reagent{
.other-reagent {
display: flex; display: flex;
align-items: center; align-items: center;
padding:20px 0;
padding: 20px 0;
} }
.other-reagent-input{
.other-reagent-input {
width: 200px; width: 200px;
margin-left: 5px; margin-left: 5px;
} }
.mt-20{
.mt-20 {
margin-top: 20px; margin-top: 20px;
} }
.mb-20{
.mb-20 {
margin-bottom: 20px; margin-bottom: 20px;
} }
</style> </style>

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

@ -40,6 +40,20 @@ export const getGyzjSearchForm = () => {
}, },
} }
} }
// 细胞列表查询表单
export const getXbSearchForm = () => {
return {
mc: {
label: 'page.business.resource.sj.mc',
},
bh: {
label: 'page.business.resource.sj.bh',
},
studyMc: {
label: 'page.business.resource.sj.sssy',
},
}
}
// 试剂列表表格列 // 试剂列表表格列
export const getSjColumns = () => { export const getSjColumns = () => {
@ -119,4 +133,33 @@ export const getGyzjColumns = () => {
label: 'page.business.resource.sj.sssy', label: 'page.business.resource.sj.sssy',
}, },
] ]
}
// 细胞列表表格列
export const getXbColumns = () => {
return [
{
prop: 'mc',
label: '名称',
},
{
prop: 'bh',
label: '编号',
},
{
prop: 'tj',
label: '体积',
},
{
prop: 'ly',
label: '来源',
},
{
prop: 'sxr',
label: 'page.business.resource.sj.sxr',
},
{
prop: 'studyName',
label: 'page.business.resource.sj.sssy',
},
]
} }

Loading…
Cancel
Save