Commit 4aaaaf86 authored by songrui's avatar songrui

诊断检验组件

parent bfe5a7a8
......@@ -57,7 +57,7 @@ export default {
if (!token) {
token = sessionStorage.getItem('token')
if (process.env.NODE_ENV !== 'production') {
token = '35fea16a-be69-4290-b6f0-4f52902c2c72'
token = '2039ead8-da95-4cf7-b2ce-144132d9e0e8'
}
}
if (token) {
......
......@@ -57,7 +57,7 @@ export default {
})
},
onConfirm({ selectedValues, selectedOptions }) {
this.$emit('update:value', selectedValues[0] || {})
this.$emit('update:value', selectedValues[0])
this.$emit('change', selectedOptions[0] || {})
this.$emit('update:show', false)
},
......
......@@ -64,7 +64,7 @@ export default {
})
},
onConfirm({ selectedValues, selectedOptions }) {
this.$emit('update:value', selectedValues[0] || {})
this.$emit('update:value', selectedValues[0])
this.$emit('change', selectedOptions[0] || {})
this.$emit('update:show', false)
},
......
......@@ -74,7 +74,7 @@ export default {
return getUnitByName(query)
},
onConfirm({ selectedValues, selectedOptions }) {
this.$emit('update:value', selectedValues[0] || {})
this.$emit('update:value', selectedValues[0])
this.$emit('change', selectedOptions[0] || {})
this.$emit('update:show', false)
this.searchStr = ''
......
......@@ -3,7 +3,7 @@
:teleport="teleport"
class="input-select">
<van-picker
title="请选择"
title="请选择或录入"
:columns="array"
:columns-field-names="fieldNames"
v-model="innerValue"
......@@ -11,7 +11,7 @@
@cancel="onCancel"
>
<template #columns-top>
<van-field v-model="customValue" placeholder="请输入" clearable/>
<van-field v-model="customValue" placeholder="请输入" clearable maxlength="100"/>
</template>
</van-picker>
</van-popup>
......@@ -57,7 +57,7 @@ export default {
},
methods: {
onConfirm({ selectedValues, selectedOptions }) {
this.$emit('update:value', selectedValues[0] || {})
this.$emit('update:value', selectedValues[0])
this.$emit('change', selectedOptions[0] || {})
this.$emit('update:show', false)
this.customValue = ''
......
......@@ -26,10 +26,9 @@
</van-checkbox-group>
</div>
</van-popup>
<div class="flex flex-col mt-3 instpect-list">
<div v-for="(row, index1) in viewData" :key="row.insType"
class="pt-3 px-2 mb-2"
class="pt-3 px-2 mb-2 instpect-list-item"
:style="`order: ${row.insType}`">
<div class="required-mark mb-3">{{ row.insName }}</div>
<template v-for="(item, index2) in row.items" :key="item.itemCode">
......@@ -39,9 +38,8 @@
:maxLength="100"
:rules="getRule(item)"
:name="['viewData', index1, 'items', index2, 'itemValue'].join('.')"
label-align="top"
class="no-back mb-2"
style="border-radius: .08rem;"
maxlength="100"
v-destory:itemValue="item"
v-if="item.itemType === 1"
>
......@@ -49,9 +47,55 @@
<span class="ml-1">{{ item.unit }}</span>
</template>
</van-field>
<van-field :label="getItemName(item)"
is-link
:modelValue="item.itemValue"
readonly
placeholder='请选择'
:name="['viewData', index1, 'items', index2, 'itemValue'].join('.')"
:rules="getRule(item)"
@click="setSelectOption(item, item.itemType)"
label-align="top"
class="no-back mb-2"
v-destory:itemValue="item"
v-else-if="item.itemType === 3"
>
<template #extra v-if="item.unit">
<span class="ml-1">{{ item.unit }}</span>
</template>
</van-field>
<van-field :label="getItemName(item)"
is-link
:modelValue="item.itemValue"
readonly
placeholder='请选择或录入'
:name="['viewData', index1, 'items', index2, 'itemValue'].join('.')"
:rules="getRule(item)"
@click="setSelectOption(item, item.itemType)"
label-align="top"
class="no-back mb-2"
v-destory:itemValue="item"
v-else-if="item.itemType === 4"
>
<template #extra v-if="item.unit">
<span class="ml-1">{{ item.unit }}</span>
</template>
</van-field>
</template>
</div>
<van-popup v-model:show="selectOption.show3" position="bottom">
<van-picker
title="请选择"
:columns="selectOption.dict"
:columns-field-names="{text: 'name', value: 'value'}"
@confirm="onSelectConfirm"
@cancel="() => selectOption.show = false"
>
</van-picker>
</van-popup>
<InputSelect v-model:show="selectOption.show4"
:dict="selectOption.dict"
@change="onSelectInputConfirm"></InputSelect>
</div>
</div>
</template>
......@@ -60,10 +104,13 @@
import { inspectDefault } from './config.js'
import { getInspectCode } from '@/api/doctor/disease.js'
import { useStore } from '@/doctor/store/index.js'
import InputSelect from './InputSelect.vue'
export default {
name: 'InstpectCommon',
components: {},
components: {
InputSelect
},
props: {
// 初始化数据
info: { default: () => { return {} } },
......@@ -89,7 +136,13 @@ export default {
codeTable: [],
// 图片上传回显
imageData: [],
showInspect: false
showInspect: false,
selectOption: {
show3: false,
show4: false,
dict: [],
item: {}
}
}
},
computed: {
......@@ -159,9 +212,9 @@ export default {
},
getItemName(item) {
if (item.itemCode) {
return `${item.itemName}(${item.itemCode})`
return `${item.itemName}(${item.itemCode}) : `
}
return item.itemName
return item.itemName + ' : '
},
getRule(item) {
if (!item.pattern) {
......@@ -172,15 +225,35 @@ export default {
{ pattern: new RegExp(item.pattern), message: item.message }
]
},
setSelectOption(item, itemType) {
this.selectOption.dict = item.dictItemList
this.selectOption.item = item
this.selectOption['show'+itemType] = true
},
onSelectConfirm({ selectedValues } = {}) {
// console.log(selectedValues)
this.selectOption.item.itemValue = selectedValues[0]
this.selectOption.show3 = false
},
onSelectInputConfirm(option) {
this.selectOption.item.itemValue = option.value
this.selectOption.show4 = false
}
}
}
</script>
<style lang="less" scoped>
.instpect-list {
>div {
.instpect-list-item {
background-color: #F5F5F5;
border-radius: 8px;
}
:deep(.van-field) {
border-radius: .08rem;
.van-field__label {
width: auto;
}
}
}
</style>
<template>
<div class="diagnose-form-cont">
<van-form ref='form' class="doc-form" >
<van-form ref='form' class="doc-form">
<InstpectCommon :disease="diseaseType"/>
</van-form>
</div>
......
......@@ -245,7 +245,7 @@ export default {
},
onRefresh() {
this.pagination.pageIndex = 1
this.load()
this.load(false)
},
tabChange() {
this.pagination.pageIndex = 1
......
......@@ -206,7 +206,7 @@ export default {
},
onRefresh() {
this.pagination.pageIndex = 1
this.load()
this.load(false)
},
openSearch() {
this.searchVisible = !this.searchVisible
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment