修改了一堆乱七八糟

This commit is contained in:
Euni4U 2025-03-28 20:36:39 +08:00
parent 1371f42ef3
commit cd1a1f68ca
3 changed files with 71 additions and 46 deletions

View File

@ -25,8 +25,8 @@
class="!w-160px"
/>
</el-form-item>
<el-form-item label="模板类型" prop="type" class="w-200px">
<el-select v-model="queryParams.type" placeholder="请选择模板类型" clearable>
<el-form-item label="检查项" prop="type" class="w-200px">
<el-select v-model="queryParams.type" placeholder="请选择检查项" clearable>
<el-option label="一般检查" value="一般检查" />
<el-option label="超声" value="超声" />
<el-option label="心电图" value="心电图" />
@ -37,12 +37,12 @@
<el-option label="汇总" value="汇总" />
</el-select>
</el-form-item>
<el-form-item label="模板类别" prop="category" class="w-200px">
<el-select v-model="queryParams.category" placeholder="请选择模板类别" clearable>
<el-form-item label="部位" prop="category" class="w-200px">
<el-select v-model="queryParams.category" placeholder="请选择部位" clearable>
<el-option v-for="item in categoryOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item>
<el-form-item class="ml-40px">
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
</el-form-item>
@ -63,8 +63,8 @@
@row-click="handleRowClick"
:header-cell-style="{ background: 'rgb(235, 241, 250)', height: '56px', color: '#333333' }"
>
<el-table-column prop="type" label="模板类型" width="180" />
<el-table-column prop="category" label="模板类别" width="180" />
<el-table-column prop="type" label="检查项" width="180" />
<el-table-column prop="category" label="部位" width="180" />
<el-table-column prop="contentName" label="模板名称" />
<el-table-column prop="content" label="模板内容" />
</el-table>
@ -158,6 +158,9 @@ const visible = computed({
watch(visible, (newVal) => {
if (newVal) {
Type.value = props.templateType
//
queryParams.contentName = undefined
queryParams.category = undefined
getList()
getCategoryOptions() //
}
@ -166,7 +169,15 @@ watch(visible, (newVal) => {
/** 获取所有模板类别 */
const getCategoryOptions = async () => {
try {
const categories = await TemplateApi.getAllCategories()
let categories;
if (Type.value = '汇总') {
// getCategory
categories = await TemplateApi.getAllCategories()
} else {
//
categories = await TemplateApi.getCategory(Type.value)
}
categoryOptions.value = categories.map(category => ({
label: category,
value: category

View File

@ -7,8 +7,8 @@
label-width="100px"
v-loading="formLoading"
>
<el-form-item label="模板类型" prop="type">
<el-select v-model="formData.type" placeholder="请选择模板类型" clearable>
<el-form-item label="检查项" prop="type">
<el-select v-model="formData.type" placeholder="请选择检查项" clearable>
<el-option label="一般检查" value="一般检查" />
<el-option label="超声" value="超声" />
<el-option label="心电图" value="心电图" />
@ -19,12 +19,20 @@
<el-option label="汇总" value="汇总" />
</el-select>
</el-form-item>
<el-form-item label="模板类别" prop="category">
<el-select v-model="formData.category" placeholder="请选择模板类别" clearable :loading="loadingCategories">
<el-option v-for="item in categoryOptions" :key="item" :label="item" :value="item" />
<el-form-item label="部位" prop="category">
<el-select
v-model="formData.category"
placeholder="请选择部位"
clearable
:loading="loadingCategories"
filterable
allow-create
default-first-option
>
<el-option v-for="item in categoryOptions" :key="item" :label="item" :value="item" />
</el-select>
</el-form-item>
<el-form-item label="模板名称" prop="contentName">
<el-form-item label="模板名称" prop="contentName">
<el-input v-model="formData.contentName" placeholder="请输入模板名称" />
</el-form-item>
@ -34,17 +42,16 @@
<el-radio-button label="禁用" value="0" />
</el-radio-group>
</el-form-item>
<el-form-item label="模板内容" prop="content">
<el-input
v-model="formData.content"
type="textarea"
:rows="10"
<el-input
v-model="formData.content"
type="textarea"
:rows="10"
resize="none"
placeholder="请输入模板内容"
placeholder="请输入模板内容"
/>
</el-form-item>
</el-form>
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
@ -74,10 +81,9 @@ const formData = ref({
orderNum: undefined,
createId: undefined,
contentName: undefined,
category: undefined,
})
const formRules = reactive({
category: undefined
})
const formRules = reactive({})
const formRef = ref() // Ref
//
@ -86,27 +92,30 @@ const categoryOptions = ref([])
const loadingCategories = ref(false)
//
watch(() => formData.value.type, async (newType) => {
if (newType) {
await loadCategoryOptions(newType)
} else {
//
categoryOptions.value = []
formData.value.category = undefined
watch(
() => formData.value.type,
async (newType) => {
if (newType) {
await loadCategoryOptions(newType)
} else {
//
categoryOptions.value = []
formData.value.category = undefined
}
}
})
)
//
const loadCategoryOptions = async (type) => {
if (!type) return
loadingCategories.value = true
//
// formData.value.category = undefined
try {
//
categoryOptions.value = await TemplateApi.getCategory(type)
categoryOptions.value = await TemplateApi.getCategory(type)
} catch (error) {
console.error('加载类别选项失败', error)
message.error('加载类别选项失败')
@ -122,7 +131,7 @@ const open = async (type: string, id?: number) => {
dialogTitle.value = t('action.' + type)
formType.value = type
resetForm()
//
if (id) {
formLoading.value = true
@ -175,8 +184,8 @@ const resetForm = () => {
orderNum: undefined,
createId: undefined,
contentName: undefined,
category: undefined,
category: undefined
}
formRef.value?.resetFields()
}
</script>
</script>

View File

@ -28,8 +28,8 @@
class="!w-240px"
/>
</el-form-item>
<el-form-item label="模板类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择模板类型" clearable class="!w-240px">
<el-form-item label="检查项" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择检查项" clearable class="!w-240px">
<el-option label="一般检查" value="一般检查" />
<el-option label="超声" value="超声" />
<el-option label="心电图" value="心电图" />
@ -40,8 +40,8 @@
<el-option label="汇总" value="汇总" />
</el-select>
</el-form-item>
<el-form-item label="模板类别" prop="category">
<el-select v-model="queryParams.category" placeholder="请选择模板类别" clearable class="!w-240px">
<el-form-item label="部位" prop="category">
<el-select v-model="queryParams.category" placeholder="请选择部位" clearable class="!w-240px">
<el-option v-for="item in categoryOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
@ -76,14 +76,19 @@
style="width: 100%"
row-key="id"
border
default-expand-all
:tree-props="{ children: 'children' }"
:header-cell-style="{ background: 'rgb(235, 241, 250)', height: '56px', color: '#333333' }"
:resizable="false"
>
<el-table-column prop="type" label="模板类型" width="180" />
<el-table-column prop="category" label="模板类别" width="200" />
<el-table-column prop="contentName" label="模板名称" width="300" />
<el-table-column prop="type" label="检查项" width="180" />
<el-table-column prop="category" label="部位" width="200" />
<el-table-column label="模板名称" width="300">
<template #default="scope">
<el-tag v-if="scope.row.contentName" type="success">
{{ scope.row.contentName }}
</el-tag>
</template>
</el-table-column>
<el-table-column prop="content" label="模板内容" />
<el-table-column label="状态" align="center" width="100">
<template #default="scope">