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