检查项目维护检查方法、部位前端表格数据映射ok
This commit is contained in:
@@ -205,13 +205,13 @@
|
||||
</div>
|
||||
<div class="search-bar">
|
||||
<div class="search-item">
|
||||
<label>检查方法</label>
|
||||
<el-select v-model="searchParams.checkMethod" placeholder="选择检查方法" style="width: 150px">
|
||||
<label>检查类型</label>
|
||||
<el-select v-model="searchParams.checkMethod" placeholder="选择检查方类型" style="width: 150px">
|
||||
<el-option
|
||||
v-for="method in checkMethods"
|
||||
:key="method.code"
|
||||
:label="method.name"
|
||||
:value="method.code"
|
||||
v-for="type in checkTypes"
|
||||
:key="type"
|
||||
:label="type"
|
||||
:value="type"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
@@ -221,7 +221,7 @@
|
||||
<el-input placeholder="名称/编码" v-model="searchParams.name" />
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<label>使用套餐</label>
|
||||
<label>费用套餐</label>
|
||||
<el-select v-model="searchParams.packageId" placeholder="选择使用套餐" style="width: 150px">
|
||||
<el-option
|
||||
v-for="pkg in checkPackages"
|
||||
@@ -245,11 +245,11 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 50px;">行</th>
|
||||
<th style="width: 100px;">*编码</th>
|
||||
<th style="width: 150px;">*方法名称</th>
|
||||
<th style="width: 150px;">关联检查类型</th>
|
||||
<th style="width: 150px;">*执行科室</th>
|
||||
<th style="width: 100px;">收费金额</th>
|
||||
<th style="width: 100px;">代码</th>
|
||||
<th style="width: 150px;">名称</th>
|
||||
<th style="width: 150px;">检查类型</th>
|
||||
<th style="width: 150px;">套餐名称</th>
|
||||
<th style="width: 100px;">曝光次数</th>
|
||||
<th style="width: 100px;">序号</th>
|
||||
<th style="width: 150px;">备注</th>
|
||||
<th style="width: 120px;">操作</th>
|
||||
@@ -281,60 +281,35 @@
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<select v-model="item.type" :class="{ 'placeholder-text': !item.type }">
|
||||
<option value="">选择关联检查类型</option>
|
||||
<option
|
||||
v-for="type in checkTypes"
|
||||
:key="type"
|
||||
:value="type"
|
||||
>
|
||||
{{ type }}
|
||||
</option>
|
||||
</select>
|
||||
<input type="text" placeholder="请输入检查类型" v-model="item.checkType">
|
||||
</template>
|
||||
<template v-else>
|
||||
<span v-if="item.type">{{ item.type }}</span>
|
||||
<span v-else class="placeholder-text">选择关联检查类型</span>
|
||||
{{ item.checkType || '无' }}
|
||||
</template>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<input type="text" placeholder="请输入套餐名称" v-model="item.packageName">
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.packageName || '' }}
|
||||
</template>
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<select v-model="item.department" :class="{ 'placeholder-text': !item.department }">
|
||||
<option value="">选择执行科室</option>
|
||||
<option
|
||||
v-if="item.department"
|
||||
:value="item.department"
|
||||
>
|
||||
{{ item.department }}
|
||||
</option>
|
||||
<option
|
||||
v-for="dept in departments"
|
||||
:key="dept.dictValue"
|
||||
:value="dept.dictLabel"
|
||||
>
|
||||
{{ dept.dictLabel }}
|
||||
</option>
|
||||
</select>
|
||||
<input type="text" v-model="item.exposureNum">
|
||||
</template>
|
||||
<template v-else>
|
||||
<span v-if="item.department">{{ item.department }}</span>
|
||||
<span v-else class="placeholder-text">选择执行科室</span>
|
||||
{{ item.exposureNum || 0}}
|
||||
</template>
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<input type="number" min="0" step="0.01" placeholder="请输入收费金额" v-model="item.amount">
|
||||
<input type="text" v-model="item.orderNum">
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.amount || '0.00' }}
|
||||
</template>
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<input type="text" v-model="item.number">
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.number || '999999' }}
|
||||
{{ item.orderNum || '0' }}
|
||||
</template>
|
||||
</td>
|
||||
<td>
|
||||
@@ -370,13 +345,13 @@
|
||||
</div>
|
||||
<div class="search-bar">
|
||||
<div class="search-item">
|
||||
<label>检查方法</label>
|
||||
<el-select v-model="searchParams.checkMethod" placeholder="选择检查方法" style="width: 150px">
|
||||
<label>检查类型</label>
|
||||
<el-select v-model="searchParams.checkType" placeholder="选择检查类型" style="width: 150px">
|
||||
<el-option
|
||||
v-for="method in checkMethods"
|
||||
:key="method.code"
|
||||
:label="method.name"
|
||||
:value="method.code"
|
||||
v-for="type in checkTypes"
|
||||
:key="type"
|
||||
:label="type"
|
||||
:value="type"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
@@ -387,7 +362,7 @@
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<label>费用套餐</label>
|
||||
<el-input placeholder="名称" v-model="searchParams.name" />
|
||||
<el-input placeholder="费用套餐" v-model="searchParams.packageName" />
|
||||
</div>
|
||||
|
||||
<div class="search-actions">
|
||||
@@ -404,10 +379,14 @@
|
||||
<tr>
|
||||
<th style="width: 50px;">行</th>
|
||||
<th style="width: 100px;">*编码</th>
|
||||
<th style="width: 150px;">*部位名称</th>
|
||||
<th style="width: 120px;">优先级</th>
|
||||
<th style="width: 100px;">是否可见</th>
|
||||
<th style="width: 100px;">序号</th>
|
||||
<th style="width: 150px;">*名称</th>
|
||||
<th style="width: 120px;">检查类型</th>
|
||||
<th style="width: 100px;">曝光次数</th>
|
||||
<th style="width: 120px;">费用套餐</th>
|
||||
<th style="width: 100px;">金额</th>
|
||||
<th style="width: 80px;">序号</th>
|
||||
<th style="width: 120px;">服务范围</th>
|
||||
<th style="width: 120px;">下级医技类型</th>
|
||||
<th style="width: 150px;">备注</th>
|
||||
<th style="width: 120px;">操作</th>
|
||||
</tr>
|
||||
@@ -430,7 +409,7 @@
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<input type="text" placeholder="请输入部位名称" v-model="item.name">
|
||||
<input type="text" placeholder="请输入名称" v-model="item.name">
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.name }}
|
||||
@@ -438,31 +417,60 @@
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<input type="number" min="1" placeholder="请输入优先级" v-model="item.priority">
|
||||
<input type="text" placeholder="请输入检查类型" v-model="item.checkType">
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.priority || '1' }}
|
||||
{{ item.checkType || '无' }}
|
||||
</template>
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<select v-model="item.visible">
|
||||
<option value="1">是</option>
|
||||
<option value="0">否</option>
|
||||
</select>
|
||||
<input type="number" min="0" placeholder="请输入曝光次数" v-model="item.exposureNum">
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.visible === '1' ? '是' : '否' }}
|
||||
{{ item.exposureNum || '0' }}
|
||||
</template>
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<input type="text" v-model="item.number">
|
||||
<input type="text" placeholder="请输入费用套餐" v-model="item.packageName">
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.packageName || '' }}
|
||||
</template>
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<input type="number" step="0.01" min="0" placeholder="请输入金额" v-model="item.price">
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.price || '0.00' }}
|
||||
</template>
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<input type="number" min="0" placeholder="请输入序号" v-model="item.number">
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.number || '999999' }}
|
||||
</template>
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<input type="text" placeholder="请输入服务范围" v-model="item.serviceScope">
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.serviceScope || '' }}
|
||||
</template>
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<input type="text" placeholder="请输入下级医技类型" v-model="item.subType">
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.subType || '' }}
|
||||
</template>
|
||||
</td>
|
||||
<td>
|
||||
<template v-if="item.editing">
|
||||
<input type="text" placeholder="请输入备注" v-model="item.remark">
|
||||
@@ -528,6 +536,8 @@ const searchParams = reactive({
|
||||
checkMethod: '',
|
||||
name: '',
|
||||
packageId: '',
|
||||
packageName: '',
|
||||
checkType: '',
|
||||
checkPartCode: '',
|
||||
checkPartName: '',
|
||||
visible: ''
|
||||
@@ -686,10 +696,10 @@ async function loadMenuData(menu) {
|
||||
row: (index + 1).toString(),
|
||||
code: item.code,
|
||||
name: item.name,
|
||||
type: item.type || '',
|
||||
department: item.department || '',
|
||||
amount: item.amount || '0.00',
|
||||
number: item.number || '999999',
|
||||
checkType: item.checkType || '',
|
||||
packageName: item.packageName || '',
|
||||
exposureNum: item.exposureNum || 0,
|
||||
orderNum: item.orderNum || 0,
|
||||
remark: item.remark || '',
|
||||
actions: true
|
||||
});
|
||||
@@ -701,7 +711,9 @@ async function loadMenuData(menu) {
|
||||
// 构建检查部位的搜索参数
|
||||
const partSearchParams = {
|
||||
code: searchParams.checkPartCode,
|
||||
name: searchParams.checkPartName,
|
||||
name: searchParams.name,
|
||||
checkType: searchParams.checkType,
|
||||
packageName: searchParams.packageName,
|
||||
visible: searchParams.visible
|
||||
};
|
||||
const partResponse = await listCheckPart(partSearchParams);
|
||||
@@ -712,9 +724,13 @@ async function loadMenuData(menu) {
|
||||
row: (index + 1).toString(),
|
||||
code: item.code,
|
||||
name: item.name,
|
||||
priority: item.priority || '1',
|
||||
visible: item.visible !== undefined ? String(item.visible) : '1',
|
||||
checkType: item.checkType || '',
|
||||
exposureNum: item.exposureNum || 0,
|
||||
packageName: item.packageName || '',
|
||||
price: item.price || 0,
|
||||
number: item.number || '999999',
|
||||
serviceScope: item.serviceScope || '',
|
||||
subType: item.subType || '',
|
||||
remark: item.remark || '',
|
||||
actions: true
|
||||
});
|
||||
@@ -832,9 +848,13 @@ function handleAddNewRow() {
|
||||
row: String(maxRowNum + 1),
|
||||
code: '',
|
||||
name: '',
|
||||
priority: '1',
|
||||
visible: '1',
|
||||
checkType: '',
|
||||
exposureNum: 0,
|
||||
packageName: '',
|
||||
price: 0,
|
||||
number: '999999',
|
||||
serviceScope: '',
|
||||
subType: '',
|
||||
remark: '',
|
||||
editing: true, // 新行默认进入编辑状态
|
||||
isNew: true, // 标记为新增行
|
||||
@@ -901,6 +921,8 @@ function handleReset() {
|
||||
searchParams.checkMethod = '';
|
||||
searchParams.name = '';
|
||||
searchParams.packageId = '';
|
||||
searchParams.packageName = '';
|
||||
searchParams.checkType = '';
|
||||
searchParams.checkPartCode = '';
|
||||
searchParams.checkPartName = '';
|
||||
searchParams.visible = '';
|
||||
|
||||
Reference in New Issue
Block a user