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

View File

@@ -9,16 +9,35 @@
ref="queryParams" ref="queryParams"
inline 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 <el-input
v-model="queryParams.ruleName" v-model="queryParams.ruleDesc"
size="medium" size="medium"
placeholder="请输入规则名称" placeholder="请输入规则描述"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="规则状态" prop="status">
<el-select v-model="queryParams.status" size="medium"> <el-select v-model="queryParams.status" size="medium" clearable placeholder="请选择规则状态">
<el-option label="全部" value=""></el-option>
<el-option <el-option
v-for="item in statusList" v-for="item in statusList"
:label="item.label" :label="item.label"
@@ -61,22 +80,39 @@ export default {
queryParams: { queryParams: {
page: 1, page: 1,
pageSize: 10, pageSize: 10,
ruleName: '', ruleType: '',
fieldType: '',
ruleDesc: '',
status: '' 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: { tableConfig: {
total: 0, total: 0,
currentPage: 1, currentPage: 1,
pageSize: 10, pageSize: 10,
columns: [ columns: [
{ prop: 'ruleName', key: '规则名称' }, { prop: 'index', key: '序号', width: 60 },
{ prop: 'ruleType', key: '规则类型' },
{ prop: 'fieldType', key: '字段类型' },
{ prop: 'ruleDesc', key: '规则描述' }, { prop: 'ruleDesc', key: '规则描述' },
{ prop: 'createTime', key: '创建时间' }, { prop: 'riskMessage', key: '风险展示话术' },
{ {
prop: 'status', prop: 'status',
key: '状态', key: '规则状态',
render: (h, params) => { render: (h, params) => {
return h( return h(
'el-tag', 'el-tag',
@@ -95,6 +131,20 @@ export default {
isRedraw: true, isRedraw: true,
render: (h, params) => { render: (h, params) => {
return h('div', [ 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( h(
'el-button', '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( h(
'el-button', 'el-button',
{ {
@@ -122,18 +186,9 @@ export default {
title: params.row.status === 0 ? '停用' : '启用' title: params.row.status === 0 ? '停用' : '启用'
}, },
on: { click: () => this.handleToggleStatus(params.row) } 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 = [ this.tableData = [
{ {
id: 1, id: 1,
ruleName: '规则1', index: 1,
ruleType: '类型1',
fieldType: '字段类型1',
ruleDesc: '规则描述1', ruleDesc: '规则描述1',
createTime: '2023-01-01 12:00:00', riskMessage: '风险展示话术1',
status: 0 status: 0
} }
] ]
@@ -176,11 +233,27 @@ export default {
handleAdd() { handleAdd() {
this.$message.info('新增功能待实现') this.$message.info('新增功能待实现')
}, },
handleView(row) {
this.$message.info('查看详情功能待实现')
},
handleEdit(row) { handleEdit(row) {
this.$message.info('编辑功能待实现') this.$message.info('编辑功能待实现')
}, },
handleToggleStatus(row) { 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) { handleSizeChange(val) {
this.queryParams.pageSize = val this.queryParams.pageSize = val