Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
wangjian963
2026-01-21 13:38:23 +08:00
3 changed files with 54 additions and 2 deletions

View File

@@ -386,6 +386,12 @@ function parseClassEnumValues(value) {
/** 搜索按钮操作 */ /** 搜索按钮操作 */
function handleQuery() { function handleQuery() {
queryParams.value.pageNo = 1; queryParams.value.pageNo = 1;
if (Array.isArray(queryParams.value.classEnum)) {
queryParams.value.classEnum =
queryParams.value.classEnum.length > 0
? queryParams.value.classEnum.join(',')
: undefined;
}
getPageList(); getPageList();
} }

View File

@@ -44,6 +44,7 @@
align="center" align="center"
key="name" key="name"
prop="name" prop="name"
width="300"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
<template #default="scope"> <template #default="scope">
@@ -51,8 +52,10 @@
<el-select <el-select
v-model="scope.row.organizationId" v-model="scope.row.organizationId"
placeholder="请选择" placeholder="请选择"
:class="{ 'error-border': scope.row.error }"
clearable clearable
style="width: 200px"
:class="{ 'error-border': scope.row.error }"
filterable
> >
<el-option <el-option
v-for="item in departmentOptions" v-for="item in departmentOptions"

View File

@@ -88,6 +88,7 @@
v-for="(item, index) in tableData" v-for="(item, index) in tableData"
:key="index" :key="index"
:class="{ 'editing-row': item.editing, 'child-row': item.row.includes('.') }" :class="{ 'editing-row': item.editing, 'child-row': item.row.includes('.') }"
@click="handleRowClick(index)"
> >
<td>{{ item.row }}</td> <td>{{ item.row }}</td>
<td> <td>
@@ -967,6 +968,14 @@ async function loadMenuData(menu) {
} }
} }
// 处理行点击进入编辑状态
function handleRowClick(index) {
const item = tableData.value[index];
if (!item.editing) {
item.editing = true;
}
}
// 处理编辑按钮点击 // 处理编辑按钮点击
function handleEdit(index) { function handleEdit(index) {
const item = tableData.value[index]; const item = tableData.value[index];
@@ -982,6 +991,25 @@ function handleCancelEdit(index) {
// 处理确认按钮点击 // 处理确认按钮点击
async function handleConfirm(index) { async function handleConfirm(index) {
const item = tableData.value[index]; const item = tableData.value[index];
// 必填字段验证
if (!item.code || item.code.trim() === '') {
ElMessage.error('编码不能为空');
return;
}
if (!item.name || item.name.trim() === '') {
ElMessage.error('名称不能为空');
return;
}
if (!item.type || item.type.trim() === '') {
ElMessage.error('检查类型不能为空');
return;
}
if (!item.department || item.department.trim() === '') {
ElMessage.error('执行科室不能为空');
return;
}
try { try {
// 根据当前激活的菜单调用不同的API // 根据当前激活的菜单调用不同的API
if (activeMenu.value === '检查方法') { if (activeMenu.value === '检查方法') {
@@ -1212,9 +1240,24 @@ function handleAddNewRow() {
function handleAdd(index) { function handleAdd(index) {
const parentRow = tableData.value[index]; const parentRow = tableData.value[index];
// 查找该父行的所有现有子行,确定下一个子行号
const parentRowPrefix = parentRow.row + '.';
let maxChildNum = 0;
tableData.value.forEach((item, idx) => {
if (item.row.startsWith(parentRowPrefix) && idx > index) {
const childNum = parseInt(item.row.split('.').pop());
if (childNum > maxChildNum) {
maxChildNum = childNum;
}
}
});
const nextChildNum = maxChildNum + 1;
// 创建子行数据,继承父行的编码 // 创建子行数据,继承父行的编码
const childRow = { const childRow = {
row: parentRow.row + '.1', // 子行编号 row: parentRow.row + '.' + nextChildNum, // 子行编号
code: parentRow.code, // 继承父行编码 code: parentRow.code, // 继承父行编码
name: '', name: '',
type: '', type: '',