feat(applicationManagement): 优化雇员记录和规则页面

- 修改雇员记录页面的查询条件和表格列
- 更新规则页面的查询条件和表格列
-增加规则页面的查看详情和删除功能
- 实现规则状态切换功能
This commit is contained in:
陈昱达
2025-07-24 10:24:10 +08:00
parent 7eaa49afbc
commit f9b3698c48
2 changed files with 144 additions and 59 deletions

View File

@@ -9,24 +9,41 @@
ref="queryParams"
inline
>
<el-form-item label="记录名称" prop="recordName">
<el-form-item label="审批单号" prop="approvalNo">
<el-input
v-model="queryParams.recordName"
v-model="queryParams.approvalNo"
size="medium"
placeholder="请输入记录名称"
placeholder="请输入审批单号"
></el-input>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" size="medium">
<el-option label="全部" value=""></el-option>
<el-form-item label="被保人名称" prop="insuredName">
<el-input
v-model="queryParams.insuredName"
size="medium"
placeholder="请输入被保人名称"
></el-input>
</el-form-item>
<el-form-item label="归属机构" prop="institution">
<el-select v-model="queryParams.institution" size="medium" clearable placeholder="请选择归属机构">
<el-option
v-for="item in statusList"
v-for="item in institutionList"
:label="item.label"
:value="item.value"
:key="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="提交时间" prop="submitTime">
<el-date-picker
v-model="queryParams.submitTime"
size="medium"
type="daterange"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-form>
<div class="mt15 flex align-items-c justify-content-b">
<el-button size="medium" type="primary" @click="handleQuery"
@@ -58,35 +75,28 @@ export default {
queryParams: {
page: 1,
pageSize: 10,
recordName: '',
status: ''
approvalNo: '',
insuredName: '',
institution: '',
submitTime: []
},
statusList: [{ label: '成功', value: 0 }, { label: '失败', value: 1 }],
institutionList: [
{ label: '机构1', value: 1 },
{ label: '机构2', value: 2 },
{ label: '机构3', value: 3 }
],
// 表格配置项
tableConfig: {
total: 0,
currentPage: 1,
pageSize: 10,
columns: [
{ prop: 'recordName', key: '记录名称' },
{ prop: 'recordDesc', key: '记录描述' },
{ prop: 'createTime', key: '创建时间' },
{
prop: 'status',
key: '状态',
render: (h, params) => {
return h(
'el-tag',
{
props: {
type: params.row.status === 0 ? 'success' : 'danger',
size: 'small'
}
},
params.row.status === 0 ? '成功' : '失败'
)
}
},
{ prop: 'index', key: '序号', width: 60 },
{ prop: 'approvalNo', key: '审批单号' },
{ prop: 'insuredName', key: '被保险人名称' },
{ prop: 'institution', key: '归属机构' },
{ prop: 'insurancePeriod', key: '保险期限' },
{ prop: 'submitTime', key: '提交时间' },
{
key: '操作',
isRedraw: true,
@@ -99,7 +109,7 @@ export default {
type: 'text',
size: 'mini',
icon: 'el-icon-view',
title: '查看'
title: '查看详情'
},
class: 'normal-button',
on: { click: () => this.handleView(params.row) }
@@ -127,10 +137,12 @@ export default {
this.tableData = [
{
id: 1,
recordName: '记录1',
recordDesc: '记录描述1',
createTime: '2023-01-01 12:00:00',
status: 0
index: 1,
approvalNo: 'AP20230101001',
insuredName: '张三',
institution: '机构1',
insurancePeriod: '2023-01-01 至 2024-01-01',
submitTime: '2023-01-01 12:00:00'
}
]
this.tableConfig.total = 1

View File

@@ -9,16 +9,35 @@
ref="queryParams"
inline
>
<el-form-item label="规则名称" prop="ruleName">
<el-form-item label="规则类型" prop="ruleType">
<el-select v-model="queryParams.ruleType" size="medium" clearable placeholder="请选择规则类型">
<el-option
v-for="item in ruleTypeList"
:label="item.label"
:value="item.value"
:key="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="字段类型" prop="fieldType">
<el-select v-model="queryParams.fieldType" size="medium" clearable placeholder="请选择字段类型">
<el-option
v-for="item in fieldTypeList"
:label="item.label"
:value="item.value"
:key="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="规则描述" prop="ruleDesc">
<el-input
v-model="queryParams.ruleName"
v-model="queryParams.ruleDesc"
size="medium"
placeholder="请输入规则名称"
placeholder="请输入规则描述"
></el-input>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" size="medium">
<el-option label="全部" value=""></el-option>
<el-form-item label="规则状态" prop="status">
<el-select v-model="queryParams.status" size="medium" clearable placeholder="请选择规则状态">
<el-option
v-for="item in statusList"
:label="item.label"
@@ -61,22 +80,39 @@ export default {
queryParams: {
page: 1,
pageSize: 10,
ruleName: '',
ruleType: '',
fieldType: '',
ruleDesc: '',
status: ''
},
statusList: [{ label: '启用', value: 0 }, { label: '停用', value: 1 }],
ruleTypeList: [
{ label: '类型1', value: 1 },
{ label: '类型2', value: 2 },
{ label: '类型3', value: 3 }
],
fieldTypeList: [
{ label: '字段类型1', value: 1 },
{ label: '字段类型2', value: 2 },
{ label: '字段类型3', value: 3 }
],
statusList: [
{ label: '启用', value: 0 },
{ label: '停用', value: 1 }
],
// 表格配置项
tableConfig: {
total: 0,
currentPage: 1,
pageSize: 10,
columns: [
{ prop: 'ruleName', key: '规则名称' },
{ prop: 'index', key: '序号', width: 60 },
{ prop: 'ruleType', key: '规则类型' },
{ prop: 'fieldType', key: '字段类型' },
{ prop: 'ruleDesc', key: '规则描述' },
{ prop: 'createTime', key: '创建时间' },
{ prop: 'riskMessage', key: '风险展示话术' },
{
prop: 'status',
key: '状态',
key: '规则状态',
render: (h, params) => {
return h(
'el-tag',
@@ -95,6 +131,20 @@ export default {
isRedraw: true,
render: (h, params) => {
return h('div', [
h(
'el-button',
{
props: {
type: 'text',
size: 'mini',
icon: 'el-icon-view',
title: '查看详情'
},
class: 'normal-button',
on: { click: () => this.handleView(params.row) }
},
''
),
h(
'el-button',
{
@@ -109,6 +159,20 @@ export default {
},
''
),
h(
'el-button',
{
props: {
type: 'text',
size: 'mini',
style: 'color: #F56C6C',
icon: 'el-icon-delete',
title: '删除'
},
on: { click: () => this.handleDelete(params.row) }
},
''
),
h(
'el-button',
{
@@ -122,18 +186,9 @@ export default {
title: params.row.status === 0 ? '停用' : '启用'
},
on: { click: () => this.handleToggleStatus(params.row) }
}
),
h('el-button', {
props: {
type: 'text',
size: 'mini',
style: 'color: #F56C6C',
icon: 'el-icon-delete',
title: '删除'
},
on: { click: () => this.handleDelete(params.row) }
})
''
)
])
}
}
@@ -155,9 +210,11 @@ export default {
this.tableData = [
{
id: 1,
ruleName: '规则1',
index: 1,
ruleType: '类型1',
fieldType: '字段类型1',
ruleDesc: '规则描述1',
createTime: '2023-01-01 12:00:00',
riskMessage: '风险展示话术1',
status: 0
}
]
@@ -176,11 +233,27 @@ export default {
handleAdd() {
this.$message.info('新增功能待实现')
},
handleView(row) {
this.$message.info('查看详情功能待实现')
},
handleEdit(row) {
this.$message.info('编辑功能待实现')
},
handleToggleStatus(row) {
this.$message.info('状态切换功能待实现')
// 启用的数据能停用,停用的数据反之
const newStatus = row.status === 0 ? 1 : 0;
const statusText = row.status === 0 ? '停用' : '启用';
this.$messageBox(
() => {
// 实际应该调用API更新状态
row.status = newStatus;
this.$message.success(`${statusText}成功`)
},
`确认${statusText}该规则吗?`,
'warning',
'提示'
)
},
handleSizeChange(val) {
this.queryParams.pageSize = val