作者 xiaoqiu

接入了保单接口数据

不能预览此文件类型
import request from '@/utils/request'
// 查询保单报表
export function queryList(params) {
return request({
url: '/registration/monitor/listReports',
method: 'get',
params
})
}
// 查询已处理保单
export function queryProcessedList(params) {
return request({
url: '/registration/monitor/listProcessed',
method: 'get',
params
})
}
// 查询进行中保单
export function queryOngoingList(params) {
return request({
url: '/registration/monitor/listOngoing',
method: 'get',
params
})
}
// 查询已完结保单
export function queryEndedList(params) {
return request({
url: '/registration/monitor/listEnded',
method: 'get',
params
})
}
// 查询已作废保单
export function queryDeprecatedList(params) {
return request({
url: '/registration/monitor/listDeprecated',
method: 'get',
params
})
}
// 查询保单回馈
export function queryResult(params) {
return request({
url: '/registration/monitor/getResult',
method: 'get',
params
})
}
// 获取待办任务
export function queryMyList(params) {
return request({
url: '/registration/mylist',
method: 'get',
params
})
}
// 办理一个用户任务
export function disposeUser(data) {
return request({
url: '/registration/completeTask/{taskId}',
method: 'post',
data
})
}
// 转办
export function transfer(taskId) {
return request({
url: `/registration/completeTask/${taskId}`,
method: 'post'
})
}
... ...
... ... @@ -23,16 +23,19 @@
import { QuillEditor } from "@vueup/vue-quill";
import "@vueup/vue-quill/dist/vue-quill.snow.css";
import { reactive, onMounted, ref, toRaw, watch } from "vue";
// import { backsite } from '@/api'
import { uploadAvatar } from "@/api/system/user";
const props = defineProps(["value"]);
const emit = defineEmits(["updateValue"]);
const content = ref("");
const myQuillEditor = ref();
// watch(() => props.value, (val) => {
// console.log(toRaw(myQuillEditor.value))
// toRaw(myQuillEditor.value).setHTML(val)
// }, { deep: true })
watch(
() => props.value,
(val) => {
toRaw(myQuillEditor.value).setHTML(val);
},
{ deep: true }
);
const fileBtn = ref();
const data = reactive({
content: "",
... ... @@ -65,33 +68,29 @@ const setValue = () => {
};
const handleUpload = (e) => {
const files = Array.prototype.slice.call(e.target.files);
console.log(files, "files");
if (!files) {
return;
}
const formdata = new FormData();
formdata.append("file", files[0]);
formdata.append("avatarfile", files[0]);
const quill = toRaw(myQuillEditor.value).getQuill();
const length = quill.getSelection().index;
// 插入图片,res为服务器返回的图片链接地址
quill.insertEmbed(
length,
"image",
"https://img.zcool.cn/community/0159645d5a2f40a80120695c8d54fc.jpg@1280w_1l_2o_100sh.jpg"
);
// 调整光标到最后
quill.setSelection(length + 1);
// backsite.uploadFile(formdata)
// .then(res => {
// if (res.data.url) {
// const quill = toRaw(myQuillEditor.value).getQuill()
// const length = quill.getSelection().index
// // 插入图片,res为服务器返回的图片链接地址
// quill.insertEmbed(length, 'image', res.data.url)
// // 调整光标到最后
// quill.setSelection(length + 1)
// }
// })
uploadAvatar(formdata).then((res) => {
if (res.imgUrl) {
const quill = toRaw(myQuillEditor.value).getQuill();
const length = quill.getSelection().index;
// 插入图片,res为服务器返回的图片链接地址
quill.insertEmbed(
length,
"image",
import.meta.env.VITE_APP_TAB_URL_PREFIX + res.imgUrl
);
// 调整光标到最后
quill.setSelection(length + 1);
}
});
};
onMounted(() => {
const quill = toRaw(myQuillEditor.value).getQuill();
... ...
... ... @@ -60,15 +60,7 @@ export const constantRoutes = [
{
path: '',
component: Layout,
redirect: '/index',
children: [
{
path: '/index',
component: () => import('@/views/index'),
name: 'Index',
meta: { title: '首页', icon: 'dashboard', affix: true }
}
]
redirect: '/policy/pending'
},
{
path: '/user',
... ...
... ... @@ -15,15 +15,6 @@
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
v-hasPermi="['system:role:export']"
>导出</el-button
>
</el-col>
</el-row>
<!-- 表格数据 -->
... ... @@ -64,7 +55,7 @@
<!-- 添加或修改用户配置对话框 -->
<el-dialog :title="title" v-model="open" width="600px" append-to-body>
<el-form :model="form" :rules="rules" ref="rulesRef" label-width="100px">
<el-form :model="form" :rules="rules" ref="rulesRef" label-width="120px">
<el-form-item label="承保公司名称" prop="deptId">
<el-tree-select
v-model="form.deptId"
... ... @@ -154,16 +145,17 @@ function handleAdd() {
}
/** 修改角色 */
function handleUpdate(row) {
const handleUpdate = async (row) => {
reset();
form.value = row;
title.value = "修改规则";
open.value = true;
}
await updateRules([form.value]);
proxy.$modal.msgSuccess("修改成功");
getList();
};
/** 删除按钮操作 */
function handleDelete(row) {
const Ids = row.id ? [row.id] : ids.value;
const Ids = row.deptId ? [row.deptId] : ids.value;
proxy.$modal.confirm("是否确认删除该数据项?").then(async () => {
await delRules(Ids);
proxy.$modal.msgSuccess("删除成功");
... ... @@ -183,7 +175,7 @@ function reset() {
/** 多选框选中数据 */
function handleSelectionChange(selection) {
ids.value = selection.map((item) => item.roleId);
ids.value = selection.map((item) => item.deptId);
multiple.value = !selection.length;
}
... ... @@ -197,7 +189,7 @@ function submitForm() {
getList();
open.value = false;
} else {
await addRules(form.value);
await addRules([form.value]);
getList();
proxy.$modal.msgSuccess("新增成功");
open.value = false;
... ...
... ... @@ -17,18 +17,18 @@
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="车牌号" prop="carNum">
<el-form-item label="车牌号" prop="licensePlate">
<el-input
v-model="queryParams.carNum"
v-model="queryParams.licensePlate"
placeholder="请输入车牌号"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="操作人员" prop="editAuth">
<el-form-item label="操作人员" prop="association">
<el-input
v-model="queryParams.editAuth"
v-model="queryParams.association"
placeholder="填写操作人员"
clearable
style="width: 200px"
... ... @@ -197,6 +197,7 @@
</template>
<script setup>
import { queryDeprecatedList } from "@/api/policy";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const total = ref(5);
... ... @@ -207,89 +208,11 @@ const queryParams = reactive({
pageNum: 1,
pageSize: 10,
name: "",
carNum: "",
editAuth: "",
assignment: "",
status: "",
licensePlate: "",
association: "",
});
const policyList = ref([
{
policyId: 1,
createTime: "2024-01-01",
carNum: "桂A 1234",
frameNum: "123456789012345678",
name: "张三",
phone: "12345678901",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
handler: "张三",
statue: 0,
deprecatedReason: "无",
},
{
policyId: 2,
createTime: "2024-01-02",
carNum: "粤B 1234",
frameNum: "123456789012345678",
name: "李四",
phone: "12345678902",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
handler: "张三",
status: 0,
deprecatedReason: "无",
},
{
policyId: 3,
createTime: "2024-01-03",
carNum: "粤C 1234",
frameNum: "123456789012345678",
name: "王五",
phone: "12345678903",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
handler: "张三",
status: 0,
deprecatedReason: "无",
},
{
policyId: 4,
createTime: "2024-01-04",
carNum: "粤D 1234",
frameNum: "123456789012345678",
name: "赵六",
phone: "12345678904",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 1,
handler: "张三",
status: 1,
deprecatedReason: "无",
},
{
policyId: 5,
createTime: "2024-01-05",
carNum: "粤E 1234",
frameNum: "123456789012345678",
name: "孙七",
phone: "12345678905",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 1,
handler: "张三",
status: 1,
deprecatedReason: "无",
},
]);
const policyList = ref([]);
/** 多选框选中数据 */
function handleSelectionChange(selection) {
... ... @@ -310,7 +233,13 @@ function handleUpdate(row) {
form.value = row;
open.value = true;
}
const getList = () => {};
const getList = async () => {
loading.value = true;
const res = await queryDeprecatedList(queryParams);
policyList.value = res.rows;
total.value = res.total;
loading.value = false;
};
/** 搜索按钮操作 */
function handleQuery() {
... ... @@ -325,6 +254,8 @@ function resetQuery() {
const getMsg = (val) => {
console.log(val);
};
getList();
</script>
<style></style>
... ...
... ... @@ -17,27 +17,27 @@
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="车牌号" prop="carNum">
<el-form-item label="车牌号" prop="licensePlate">
<el-input
v-model="queryParams.carNum"
v-model="queryParams.licensePlate"
placeholder="请输入车牌号"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="操作人员" prop="editAuth">
<el-form-item label="操作人员" prop="association">
<el-input
v-model="queryParams.editAuth"
v-model="queryParams.association"
placeholder="填写操作人员"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="分配机制" prop="assignment">
<el-form-item label="分配机制" prop="associationapprovetype">
<el-select
v-model="queryParams.assignment"
v-model="queryParams.associationapprovetype"
placeholder="系统分配"
clearable
style="width: 200px"
... ... @@ -50,21 +50,6 @@
/>
</el-select>
</el-form-item>
<el-form-item label="保单状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="选择进度"
clearable
style="width: 200px"
>
<el-option
v-for="dict in statusOption"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"
>查询</el-button
... ... @@ -80,72 +65,46 @@
@selection-change="handleSelectionChange"
@row-click="handleUpdate"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
label="序号"
prop="policyId"
width="120"
align="center"
/>
<el-table-column
label="登记时间"
prop="createTime"
prop="initialRegistrationTime"
width="150"
align="center"
/>
<el-table-column
label="车牌号"
prop="carNum"
width="150"
align="center"
/>
<el-table-column
label="车架号"
prop="frameNum"
width="240"
align="center"
/>
<el-table-column
label="车主姓名"
prop="name"
width="100"
align="center"
/>
<el-table-column
label="联系电话"
prop="phone"
width="180"
align="center"
/>
<el-table-column label="车牌号" prop="licensePlateNumber" width="150" />
<el-table-column label="车架号" prop="frameNumber" width="240" />
<el-table-column label="车主姓名" prop="name" width="100" />
<el-table-column label="联系电话" prop="phone" width="180" />
<el-table-column
align="center"
label="分配机制"
width="120"
prop="assignment"
>
<template #default="scope">
prop="distributionMechanism"
/>
<el-table-column label="承保公司" prop="companyName" width="150" />
<el-table-column label="操作人员" width="150">
<template #default="{ row }">
<span>{{
scope.row.assignment === 0 ? "系统分配" : "人工分配"
row.associationEmployeeUserName || row.companyEmployeeUserName
}}</span>
</template>
</el-table-column>
<el-table-column label="操作时间" width="170">
<template #default="{ row }">
<span>{{
row.companyEmployeeUndertakeTime || row.distributionTime
}}</span>
</template>
</el-table-column>
<el-table-column
label="承保公司"
prop="company"
width="150"
align="center"
/>
<el-table-column
label="办理人"
prop="handler"
prop="companyEmployeeUserName"
width="100"
align="center"
/>
<el-table-column label="保单状态" width="100" prop="statue">
<template #default="scope">
<template #default="{ row }">
<span
:style="{ color: scope.row.status === 0 ? '#409EFF' : '#67C23A' }"
>{{ scope.row.status === 0 ? "疑难件" : "已办结" }}</span
:style="{ color: row.status === '进行中' ? '#409EFF' : '#67C23A' }"
>{{ row.policyStatus }}</span
>
</template>
</el-table-column>
... ... @@ -153,6 +112,7 @@
label="保单回馈"
fixed="right"
width="100"
show-overflow-tooltip
prop="Feedback"
>
<template #default>
... ... @@ -173,18 +133,18 @@
<el-form :model="form" ref="policyRef" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="车牌号" prop="carNum">
<el-form-item label="车牌号" prop="licensePlateNumber">
<el-input
v-model="form.carNum"
v-model="form.licensePlateNumber"
placeholder="请输入车牌号"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车架号" prop="frameNum">
<el-form-item label="车架号" prop="frameNumber">
<el-input
v-model="form.frameNum"
v-model="form.frameNumber"
disabled
placeholder="请输入车架号"
/>
... ... @@ -213,18 +173,18 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="登记时间" prop="createTime">
<el-form-item label="车辆类型" prop="vehicleType">
<el-input
v-model="form.createTime"
v-model="form.vehicleType"
disabled
placeholder="请输入登记时间"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="办理人" prop="handler">
<el-form-item label="车辆使用性质" prop="vehicleNature">
<el-input
v-model="form.handler"
v-model="form.vehicleNature"
disabled
placeholder="请输入办理人"
/>
... ... @@ -233,27 +193,18 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="分配机制" prop="createTime">
<el-select
v-model="form.assignment"
placeholder="系统分配"
clearable
<el-form-item label="核定载客数" prop="passengersNumber">
<el-input
v-model="form.passengersNumber"
disabled
style="width: 230px"
>
<el-option
v-for="dict in options"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="承保公司" prop="company">
<el-form-item label="核定载质量" prop="passengerCapacity">
<el-input
v-model="form.company"
v-model="form.passengerCapacity"
disabled
placeholder="请输入承保公司"
/>
... ... @@ -262,21 +213,61 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="保单状态" prop="progress">
<el-select
v-model="form.status"
placeholder="保单状态"
clearable
<el-form-item label="排量毫升" prop="emissions">
<el-input
v-model="form.emissions"
disabled
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="中文品牌" prop="vehicleBrand">
<el-input
v-model="form.vehicleBrand"
disabled
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="车辆型号" prop="vehicleModel">
<el-input
v-model="form.vehicleModel"
disabled
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="准牵引准质量" prop="tractionMass">
<el-input
v-model="form.tractionMass"
disabled
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="保险需求" prop="requirements">
<el-input
v-model="form.requirements"
disabled
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="承保单号" prop="policyNumber">
<el-input
v-model="form.policyNumber"
disabled
style="width: 230px"
>
<el-option
v-for="dict in statusOption"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
</el-row>
... ... @@ -286,7 +277,7 @@
disabled
type="textarea"
placeholder="请输入保单回馈"
v-model="form.feedbank"
v-model="form.message"
resize="none"
/>
</el-form-item>
... ... @@ -302,6 +293,7 @@
</template>
<script setup>
import { queryEndedList, queryResult } from "@/api/policy";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const total = ref(5);
... ... @@ -312,23 +304,11 @@ const queryParams = reactive({
pageNum: 1,
pageSize: 10,
name: "",
carNum: "",
editAuth: "",
assignment: "",
status: "",
licensePlate: "",
association: "",
associationapprovetype: "",
});
const statusOption = ref([
{
value: 0,
label: "疑难件",
},
{
value: 1,
label: "已办结",
},
]);
const options = [
{
value: 0,
... ... @@ -340,83 +320,7 @@ const options = [
},
];
const policyList = ref([
{
policyId: 1,
createTime: "2024-01-01",
carNum: "桂A 1234",
frameNum: "123456789012345678",
name: "张三",
phone: "12345678901",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
handler: "张三",
statue: 0,
feedbank: "无",
},
{
policyId: 2,
createTime: "2024-01-02",
carNum: "粤B 1234",
frameNum: "123456789012345678",
name: "李四",
phone: "12345678902",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
handler: "张三",
status: 0,
feedbank: "无",
},
{
policyId: 3,
createTime: "2024-01-03",
carNum: "粤C 1234",
frameNum: "123456789012345678",
name: "王五",
phone: "12345678903",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
handler: "张三",
status: 0,
feedbank: "无",
},
{
policyId: 4,
createTime: "2024-01-04",
carNum: "粤D 1234",
frameNum: "123456789012345678",
name: "赵六",
phone: "12345678904",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 1,
handler: "张三",
status: 1,
feedbank: "无",
},
{
policyId: 5,
createTime: "2024-01-05",
carNum: "粤E 1234",
frameNum: "123456789012345678",
name: "孙七",
phone: "12345678905",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 1,
handler: "张三",
status: 1,
feedbank: "无",
},
]);
const policyList = ref([]);
/** 多选框选中数据 */
function handleSelectionChange(selection) {
... ... @@ -433,14 +337,24 @@ function reset() {
/** 修改按钮操作 */
function handleUpdate(row) {
reset();
form.value = row;
open.value = true;
queryResult({ processInstanceId: row.processInstanceId }).then((res) => {
form.value = row;
form.value.policyNumber = res?.data?.policyNumber;
form.value.message = res?.data?.message;
open.value = true;
});
}
const getList = () => {};
const getList = async () => {
loading.value = true;
const res = await queryEndedList(queryParams);
policyList.value = res.rows;
total.value = res.total;
loading.value = false;
};
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1;
queryParams.pageNum = 1;
getList();
}
/** 重置按钮操作 */
... ... @@ -448,6 +362,8 @@ function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
getList();
</script>
<style></style>
... ...
... ... @@ -17,27 +17,27 @@
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="车牌号" prop="carNum">
<el-form-item label="车牌号" prop="licensePlate">
<el-input
v-model="queryParams.carNum"
v-model="queryParams.licensePlate"
placeholder="请输入车牌号"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="操作人员" prop="editAuth">
<el-form-item label="操作人员" prop="association">
<el-input
v-model="queryParams.editAuth"
v-model="queryParams.association"
placeholder="填写操作人员"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="分配机制" prop="assignment">
<el-form-item label="分配机制" prop="associationapprovetype">
<el-select
v-model="queryParams.assignment"
v-model="queryParams.associationapprovetype"
placeholder="系统分配"
clearable
style="width: 200px"
... ... @@ -50,9 +50,9 @@
/>
</el-select>
</el-form-item>
<el-form-item label="保单进度" prop="progress">
<el-form-item label="保单进度" prop="orderprogress">
<el-select
v-model="queryParams.progress"
v-model="queryParams.orderprogress"
placeholder="选择进度"
clearable
style="width: 200px"
... ... @@ -65,6 +65,21 @@
/>
</el-select>
</el-form-item>
<el-form-item label="保单状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="选择进度"
clearable
style="width: 200px"
>
<el-option
v-for="dict in statusOption"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"
>查询</el-button
... ... @@ -80,85 +95,44 @@
@selection-change="handleSelectionChange"
@row-click="handleUpdate"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
label="序号"
prop="policyId"
width="120"
align="center"
/>
<el-table-column label="序号" type="index" width="55" />
<el-table-column
label="登记时间"
prop="createTime"
width="150"
align="center"
/>
<el-table-column
label="车牌号"
prop="carNum"
width="150"
align="center"
/>
<el-table-column
label="车架号"
prop="frameNum"
width="240"
align="center"
/>
<el-table-column
label="车主姓名"
prop="name"
width="100"
align="center"
/>
<el-table-column
label="联系电话"
prop="phone"
width="180"
align="center"
/>
<el-table-column
label="操作时间"
prop="authTime"
prop="initialRegistrationTime"
width="150"
align="center"
/>
<el-table-column label="车牌号" prop="licensePlateNumber" width="150" />
<el-table-column label="车架号" prop="frameNumber" width="240" />
<el-table-column label="车主姓名" prop="name" width="100" />
<el-table-column label="联系电话" prop="phone" width="180" />
<el-table-column
label="操作人员"
prop="editAuth"
width="120"
align="center"
/>
<el-table-column
align="center"
label="分配机制"
width="120"
prop="assignment"
>
<template #default="scope">
<span>{{ scope.row.progress === 0 ? "系统分配" : "人工分配" }}</span>
prop="distributionMechanism"
/>
<el-table-column label="承保公司" prop="companyName" width="150" />
<el-table-column label="操作人员" width="150">
<template #default="{ row }">
<span>{{
row.associationEmployeeUserName || row.companyEmployeeUserName
}}</span>
</template>
</el-table-column>
<el-table-column
label="承保公司"
prop="company"
width="150"
align="center"
/>
<el-table-column label="操作时间" width="170">
<template #default="{ row }">
<span>{{
row.companyEmployeeUndertakeTime || row.distributionTime
}}</span>
</template>
</el-table-column>
<el-table-column
label="办理人"
prop="handler"
width="100"
align="center"
/>
<el-table-column label="保单进度" width="100" prop="progress">
<template #default="scope">
<span
:style="{ color: scope.row.progress === 0 ? '#409EFF' : '#67C23A' }"
>{{ scope.row.progress === 0 ? "待承接" : "已承接" }}</span
>
</template>
</el-table-column>
<el-table-column label="保单进度" width="100" prop="orderProgress" />
</el-table>
<pagination
... ... @@ -174,18 +148,18 @@
<el-form :model="form" ref="policyRef" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="车牌号" prop="carNum">
<el-form-item label="车牌号" prop="licensePlateNumber">
<el-input
v-model="form.carNum"
v-model="form.licensePlateNumber"
placeholder="请输入车牌号"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车架号" prop="frameNum">
<el-form-item label="车架号" prop="frameNumber">
<el-input
v-model="form.frameNum"
v-model="form.frameNumber"
disabled
placeholder="请输入车架号"
/>
... ... @@ -214,20 +188,20 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="登记时间" prop="createTime">
<el-form-item label="登记时间" prop="initialRegistrationTime">
<el-input
v-model="form.createTime"
v-model="form.initialRegistrationTime"
disabled
placeholder="请输入登记时间"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="办理人" prop="handler">
<el-form-item label="上年承保公司" prop="sysDeptName">
<el-input
v-model="form.handler"
v-model="form.sysDeptName"
disabled
placeholder="请输入办理人"
placeholder="请输入上年承保公司"
/>
</el-form-item>
</el-col>
... ... @@ -238,69 +212,44 @@
<el-input
v-model="form.authTime"
disabled
placeholder="请输入操作时间"
:placeholder="
form.companyEmployeeUndertakeTime || form.distributionTime
"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="操作人员" prop="editAuth">
<el-input
v-model="form.editAuth"
disabled
placeholder="请输入操作人员"
:placeholder="
form.associationEmployeeUserName ||
form.companyEmployeeUserName
"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="分配机制" prop="createTime">
<el-select
v-model="form.assignment"
placeholder="系统分配"
clearable
<el-form-item label="分配机制" prop="distributionMechanism">
<el-input
v-model="form.distributionMechanism"
disabled
style="width: 230px"
>
<el-option
v-for="dict in options"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
placeholder="请输入登记时间"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="承保公司" prop="company">
<el-form-item label="承保公司" prop="companyName">
<el-input
v-model="form.company"
v-model="form.companyName"
disabled
placeholder="请输入承保公司"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="保单进度" prop="progress">
<el-select
v-model="form.progress"
placeholder="保单进度"
clearable
disabled
style="width: 230px"
>
<el-option
v-for="dict in progressOption"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<div class="dialog-footer">
... ... @@ -313,6 +262,8 @@
</template>
<script setup>
import { queryOngoingList } from "@/api/policy";
import { get } from "@vueuse/core";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const total = ref(5);
... ... @@ -323,10 +274,11 @@ const queryParams = reactive({
pageNum: 1,
pageSize: 10,
name: "",
carNum: "",
editAuth: "",
assignment: "",
progress: "",
licensePlate: "",
association: "",
associationapprovetype: "",
orderprogress: "",
policystatus: "",
});
const progressOption = ref([
... ... @@ -350,79 +302,21 @@ const options = [
label: "人工分配",
},
];
const policyList = ref([
{
policyId: 1,
createTime: "2024-01-01",
carNum: "桂A 1234",
frameNum: "123456789012345678",
name: "张三",
phone: "12345678901",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
handler: "张三",
progress: 0,
},
const statusOption = ref([
{
policyId: 2,
createTime: "2024-01-02",
carNum: "粤B 1234",
frameNum: "123456789012345678",
name: "李四",
phone: "12345678902",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
handler: "张三",
progress: 0,
},
{
policyId: 3,
createTime: "2024-01-03",
carNum: "粤C 1234",
frameNum: "123456789012345678",
name: "王五",
phone: "12345678903",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
handler: "张三",
progress: 0,
value: 0,
label: "进行中",
},
{
policyId: 4,
createTime: "2024-01-04",
carNum: "粤D 1234",
frameNum: "123456789012345678",
name: "赵六",
phone: "12345678904",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 1,
handler: "张三",
progress: 1,
value: 1,
label: "疑难件",
},
{
policyId: 5,
createTime: "2024-01-05",
carNum: "粤E 1234",
frameNum: "123456789012345678",
name: "孙七",
phone: "12345678905",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 1,
handler: "张三",
progress: 1,
value: 2,
label: "已办结",
},
]);
const policyList = ref([]);
/** 多选框选中数据 */
function handleSelectionChange(selection) {
... ... @@ -432,7 +326,13 @@ function handleSelectionChange(selection) {
console.log(selection);
}
const getList = () => {};
const getList = async () => {
loading.value = true;
const res = await queryOngoingList(queryParams);
policyList.value = res.rows;
total.value = res.total;
loading.value = false;
};
/** 重置操作表单 */
function reset() {
... ... @@ -456,6 +356,7 @@ function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
getList();
</script>
<style></style>
... ...
... ... @@ -46,48 +46,15 @@
align="center"
/>
<el-table-column label="操作" align="center" width="360" fixed="right">
<template #default="{ row }">
<el-popconfirm
width="200"
hide-icon
:title="
row.company === '无'
? '该登记信息未选择上年承保公司,系统将执行自动分配规则'
: '该登记信息存在上年承保公司,系统自动流转保单至上年承保公司处理'
"
confirm-button-text="确定"
cancel-button-text="取消"
@confirm="handleSuccess(row)"
<template #default>
<el-button type="primary" v-hasPermi="['policy:pending:continue']"
>承接</el-button
>
<template #reference>
<el-button type="success" @click.stop="">通过</el-button>
</template>
</el-popconfirm>
<el-popconfirm
width="200"
hide-icon
title="保单将退回至用户界面,用户修改后重新提交"
confirm-button-text="确定"
cancel-button-text="取消"
@confirm="handleFallback(row)"
>
<template #reference>
<el-button @click.stop="">退回</el-button>
</template>
</el-popconfirm>
<el-button
type="danger"
@click.stop="handleVoid(row)"
v-hasPermi="['system:role:edit']"
>作废</el-button
<el-button type="primary" v-hasPermi="['policy:pending:sharing']"
>分配</el-button
>
<el-button
type="primary"
@click.stop="handleAuthCompany(row)"
v-hasPermi="['system:role:edit']"
>分配承保公司</el-button
<el-button type="primary" v-hasPermi="['policy:pending:transfer']"
>转办</el-button
>
</template>
</el-table-column>
... ... @@ -235,6 +202,7 @@
</template>
<script setup>
import { queryMyList } from "@/api/policy/index";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const total = ref(5);
... ... @@ -269,53 +237,7 @@ const queryParams = reactive({
pageNum: 1,
pageSize: 10,
});
const policyList = ref([
{
policyId: 1,
createTime: "2024-01-01",
carNum: "桂A 1234",
frameNum: "123456789012345678",
name: "张三",
phone: "12345678901",
company: "中国平安",
},
{
policyId: 2,
createTime: "2024-01-02",
carNum: "粤B 1234",
frameNum: "123456789012345678",
name: "李四",
phone: "12345678902",
company: "中国平安",
},
{
policyId: 3,
createTime: "2024-01-03",
carNum: "粤C 1234",
frameNum: "123456789012345678",
name: "王五",
phone: "12345678903",
company: "中国平安",
},
{
policyId: 4,
createTime: "2024-01-04",
carNum: "粤D 1234",
frameNum: "123456789012345678",
name: "赵六",
phone: "12345678904",
company: "中国平安",
},
{
policyId: 5,
createTime: "2024-01-05",
carNum: "粤E 1234",
frameNum: "123456789012345678",
name: "孙七",
phone: "12345678905",
company: "中国平安",
},
]);
const policyList = ref([]);
/** 多选框选中数据 */
function handleSelectionChange(selection) {
... ... @@ -325,7 +247,11 @@ function handleSelectionChange(selection) {
console.log(selection);
}
const getList = () => {
const getList = async () => {
loading.value = true;
const res = await queryMyList(queryParams);
policyList.value = res.rows;
total.value = res.total;
loading.value = false;
};
const handleSuccess = () => {
... ... @@ -369,6 +295,8 @@ function submitForm() {
}
});
}
getList();
</script>
<style lang="scss" scoped>
... ...
... ... @@ -17,28 +17,28 @@
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="车牌号" prop="carNum">
<el-form-item label="车牌号" prop="licensePlate">
<el-input
v-model="queryParams.carNum"
v-model="queryParams.licensePlate"
placeholder="请输入车牌号"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="操作人员" prop="editAuth">
<el-form-item label="操作人员" prop="association">
<el-input
v-model="queryParams.editAuth"
v-model="queryParams.association"
placeholder="填写操作人员"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="分配机制" prop="assignment">
<el-form-item label="分配机制" prop="associationapprovetype">
<el-select
v-model="queryParams.assignment"
placeholder="系统分配"
v-model="queryParams.associationapprovetype"
placeholder="选择分配机制"
clearable
style="width: 200px"
>
... ... @@ -51,7 +51,11 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"
<el-button
type="primary"
icon="Search"
v-hasPermi="['system:registrationmonitor:listProcessed']"
@click="handleQuery"
>查询</el-button
>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
... ... @@ -65,33 +69,37 @@
@selection-change="handleSelectionChange"
@row-click="handleUpdate"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" prop="policyId" width="120" />
<el-table-column label="登记时间" prop="createTime" width="150" />
<el-table-column label="车牌号" prop="carNum" width="150" />
<el-table-column label="车架号" prop="frameNum" width="240" />
<el-table-column label="车主姓名" prop="name" width="100" />
<el-table-column label="联系电话" prop="phone" width="180" />
<el-table-column label="序号" type="index" width="55" />
<el-table-column
label="上年承保公司"
prop="last_year_company"
label="登记时间"
prop="initialRegistrationTime"
width="150"
/>
<el-table-column label="操作时间" prop="authTime" width="150" />
<el-table-column label="操作人员" prop="editAuth" width="120" />
<el-table-column
align="center"
label="分配机制"
width="120"
prop="assignment"
>
<template #default="scope">
<el-table-column label="车牌号" prop="licensePlateNumber" width="150" />
<el-table-column label="车架号" prop="frameNumber" width="240" />
<el-table-column label="车主姓名" prop="name" width="100" />
<el-table-column label="联系电话" prop="phone" width="180" />
<el-table-column label="上年承保公司" prop="sysDeptName" width="150" />
<el-table-column label="操作人员" width="150">
<template #default="{ row }">
<span>{{
scope.row.assignment === 0 ? "系统分配" : "人工分配"
row.associationEmployeeUserName || row.companyEmployeeUserName
}}</span>
</template>
</el-table-column>
<el-table-column label="承保公司" prop="company" width="150" />
<el-table-column label="操作时间" width="170">
<template #default="{ row }">
<span>{{
row.companyEmployeeUndertakeTime || row.distributionTime
}}</span>
</template>
</el-table-column>
<el-table-column
label="分配机制"
width="120"
prop="distributionMechanism"
/>
<el-table-column label="承保公司" prop="companyName" width="150" />
</el-table>
<pagination
... ... @@ -107,18 +115,18 @@
<el-form :model="form" ref="policyRef" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="车牌号" prop="carNum">
<el-form-item label="车牌号" prop="licensePlateNumber">
<el-input
v-model="form.carNum"
v-model="form.licensePlateNumber"
placeholder="请输入车牌号"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车架号" prop="frameNum">
<el-form-item label="车架号" prop="frameNumber">
<el-input
v-model="form.frameNum"
v-model="form.frameNumber"
disabled
placeholder="请输入车架号"
/>
... ... @@ -147,18 +155,18 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="登记时间" prop="createTime">
<el-form-item label="登记时间" prop="initialRegistrationTime">
<el-input
v-model="form.createTime"
v-model="form.initialRegistrationTime"
disabled
placeholder="请输入登记时间"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上年承保公司" prop="last_year_company">
<el-form-item label="上年承保公司" prop="sysDeptName">
<el-input
v-model="form.last_year_company"
v-model="form.sysDeptName"
disabled
placeholder="请输入上年承保公司"
/>
... ... @@ -171,43 +179,38 @@
<el-input
v-model="form.authTime"
disabled
placeholder="请输入操作时间"
:placeholder="
form.companyEmployeeUndertakeTime || form.distributionTime
"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="操作人员" prop="editAuth">
<el-input
v-model="form.editAuth"
disabled
placeholder="请输入操作人员"
:placeholder="
form.associationEmployeeUserName ||
form.companyEmployeeUserName
"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="分配机制" prop="createTime">
<el-select
v-model="form.assignment"
placeholder="系统分配"
clearable
<el-form-item label="分配机制" prop="distributionMechanism">
<el-input
v-model="form.distributionMechanism"
disabled
style="width: 230px"
>
<el-option
v-for="dict in options"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
placeholder="请输入登记时间"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="承保公司" prop="company">
<el-form-item label="承保公司" prop="companyName">
<el-input
v-model="form.company"
v-model="form.companyName"
disabled
placeholder="请输入承保公司"
/>
... ... @@ -226,9 +229,10 @@
</template>
<script setup>
import { queryProcessedList } from "@/api/policy/index";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const total = ref(5);
const total = ref(0);
const open = ref(false);
const form = ref({});
const showSearch = ref(true);
... ... @@ -236,9 +240,9 @@ const queryParams = reactive({
pageNum: 1,
pageSize: 10,
name: "",
carNum: "",
editAuth: "",
assignment: "",
licensePlate: "",
association: "",
associationapprovetype: "",
});
const options = [
... ... @@ -252,73 +256,7 @@ const options = [
},
];
const policyList = ref([
{
policyId: 1,
createTime: "2024-01-01",
carNum: "桂A 1234",
frameNum: "123456789012345678",
name: "张三",
phone: "12345678901",
company: "中国平安",
last_year_company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
},
{
policyId: 2,
createTime: "2024-01-02",
carNum: "粤B 1234",
frameNum: "123456789012345678",
name: "李四",
phone: "12345678902",
company: "中国平安",
last_year_company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 1,
},
{
policyId: 3,
createTime: "2024-01-03",
carNum: "粤C 1234",
frameNum: "123456789012345678",
name: "王五",
phone: "12345678903",
company: "中国平安",
last_year_company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 1,
},
{
policyId: 4,
createTime: "2024-01-04",
carNum: "粤D 1234",
frameNum: "123456789012345678",
name: "赵六",
phone: "12345678904",
company: "中国平安",
last_year_company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
},
{
policyId: 5,
createTime: "2024-01-05",
carNum: "粤E 1234",
frameNum: "123456789012345678",
name: "孙七",
phone: "12345678905",
company: "中国平安",
last_year_company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
},
]);
const policyList = ref([]);
/** 多选框选中数据 */
function handleSelectionChange(selection) {
... ... @@ -328,7 +266,13 @@ function handleSelectionChange(selection) {
console.log(selection);
}
const getList = () => {};
const getList = async () => {
loading.value = true;
const res = await queryProcessedList(queryParams);
policyList.value = res.rows;
total.value = res.total;
loading.value = false;
};
/** 重置操作表单 */
function reset() {
... ... @@ -344,7 +288,7 @@ function handleUpdate(row) {
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1;
queryParams.pageNum = 1;
getList();
}
/** 重置按钮操作 */
... ... @@ -352,6 +296,8 @@ function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
getList();
</script>
<style></style>
... ...
... ... @@ -8,9 +8,9 @@
:inline="true"
label-width="68px"
>
<el-form-item label="分配机制" prop="assignment">
<el-form-item label="分配机制" prop="associationapprovetype">
<el-select
v-model="queryParams.assignment"
v-model="queryParams.associationapprovetype"
placeholder="系统分配"
clearable
style="width: 220px"
... ... @@ -23,9 +23,9 @@
/>
</el-select>
</el-form-item>
<el-form-item label="操作人员" prop="editAuth">
<el-form-item label="操作人员" prop="association">
<el-input
v-model="queryParams.editAuth"
v-model="queryParams.association"
placeholder="填写操作人员"
clearable
style="width: 220px"
... ... @@ -41,18 +41,18 @@
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="承接人" prop="handler">
<el-form-item label="承接人" prop="companyEmployeeUserName">
<el-input
v-model="queryParams.handler"
v-model="queryParams.companyEmployeeUserName"
placeholder="请输入承接人"
clearable
style="width: 220px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="保单状态" prop="status">
<el-form-item label="保单状态" prop="policystatus">
<el-select
v-model="queryParams.status"
v-model="queryParams.policystatus"
placeholder="选择进度"
clearable
style="width: 220px"
... ... @@ -65,9 +65,9 @@
/>
</el-select>
</el-form-item>
<el-form-item label="保单进度" prop="progress">
<el-form-item label="保单进度" prop="orderprogress">
<el-select
v-model="queryParams.progress"
v-model="queryParams.orderprogress"
placeholder="选择进度"
clearable
style="width: 220px"
... ... @@ -89,9 +89,9 @@
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="车牌号" prop="carNum">
<el-form-item label="车牌号" prop="licensePlate">
<el-input
v-model="queryParams.carNum"
v-model="queryParams.licensePlate"
placeholder="请输入车牌号"
clearable
style="width: 220px"
... ... @@ -100,11 +100,12 @@
</el-form-item>
<el-form-item label="时间范围" prop="timeFrame">
<el-date-picker
v-model="queryParams.timeFrame"
v-model="timeFrame"
type="datetimerange"
range-separator="To"
start-placeholder="开始时间"
end-placeholder="结束时间"
@change="handleTime"
/>
</el-form-item>
<el-form-item>
... ... @@ -124,34 +125,23 @@
</div>
<!-- 表格数据 -->
<el-table
v-loading="loading"
:data="policyList"
@selection-change="handleSelectionChange"
@row-click="handleUpdate"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
label="序号"
prop="policyId"
width="120"
align="center"
/>
<el-table v-loading="loading" :data="policyList" @row-click="handleUpdate">
<el-table-column label="序号" type="index" />
<el-table-column
label="登记时间"
prop="createTime"
prop="initialRegistrationTime"
width="150"
align="center"
/>
<el-table-column
label="车牌号"
prop="carNum"
prop="licensePlateNumber"
width="150"
align="center"
/>
<el-table-column
label="车架号"
prop="frameNum"
prop="frameNumber"
width="240"
align="center"
/>
... ... @@ -168,55 +158,25 @@
align="center"
/>
<el-table-column
label="操作时间"
prop="authTime"
width="150"
align="center"
/>
<el-table-column
label="操作人员"
prop="editAuth"
width="120"
align="center"
/>
<el-table-column
align="center"
label="分配机制"
width="120"
prop="assignment"
>
<template #default="scope">
<span>{{ scope.row.progress === 0 ? "系统分配" : "人工分配" }}</span>
</template>
</el-table-column>
prop="distributionMechanism"
/>
<el-table-column
label="承保公司"
prop="company"
prop="companyName"
width="150"
align="center"
/>
<el-table-column
label="办理人"
prop="handler"
prop="companyEmployeeUserName"
width="100"
align="center"
/>
<el-table-column label="保单进度" width="100" prop="progress">
<template #default="scope">
<span
:style="{ color: scope.row.progress === 0 ? '#409EFF' : '#67C23A' }"
>{{ scope.row.progress === 0 ? "待承接" : "已承接" }}</span
>
</template>
</el-table-column>
<el-table-column label="保单状态" width="100" prop="statue">
<template #default="scope">
<span
:style="{ color: scope.row.status === 0 ? '#409EFF' : '#67C23A' }"
>{{ scope.row.status === 0 ? "疑难件" : "已办结" }}</span
>
</template>
</el-table-column>
<el-table-column label="保单进度" width="100" prop="orderProgress" />
<el-table-column label="保单状态" width="100" prop="policyStatus" />
<el-table-column
label="查询回馈"
fixed="right"
... ... @@ -241,18 +201,18 @@
<el-form :model="form" ref="policyRef" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="车牌号" prop="carNum">
<el-form-item label="车牌号" prop="licensePlateNumber">
<el-input
v-model="form.carNum"
v-model="form.licensePlateNumber"
placeholder="请输入车牌号"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车架号" prop="frameNum">
<el-form-item label="车架号" prop="frameNumber">
<el-input
v-model="form.frameNum"
v-model="form.frameNumber"
disabled
placeholder="请输入车架号"
/>
... ... @@ -281,27 +241,38 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="分配机制" prop="createTime">
<el-select
v-model="form.assignment"
placeholder="系统分配"
clearable
<el-form-item label="车辆类型" prop="vehicleType">
<el-input
v-model="form.vehicleType"
disabled
placeholder="请输入登记时间"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车辆使用性质" prop="vehicleNature">
<el-input
v-model="form.vehicleNature"
disabled
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="核定载客数" prop="passengersNumber">
<el-input
v-model="form.passengersNumber"
disabled
style="width: 230px"
>
<el-option
v-for="dict in options"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="承保公司" prop="company">
<el-form-item label="核定载质量" prop="passengerCapacity">
<el-input
v-model="form.company"
v-model="form.passengerCapacity"
disabled
placeholder="请输入承保公司"
/>
... ... @@ -310,80 +281,71 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="操作时间" prop="authTime">
<el-form-item label="排量毫升" prop="emissions">
<el-input
v-model="form.authTime"
v-model="form.emissions"
disabled
placeholder="请输入操作时间"
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="操作人员" prop="editAuth">
<el-form-item label="中文品牌" prop="vehicleBrand">
<el-input
v-model="form.editAuth"
v-model="form.vehicleBrand"
disabled
placeholder="请输入操作人员"
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="保单状态" prop="progress">
<el-select
v-model="form.status"
placeholder="保单状态"
clearable
<el-form-item label="车辆型号" prop="vehicleModel">
<el-input
v-model="form.vehicleModel"
disabled
style="width: 230px"
>
<el-option
v-for="dict in statusOption"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="保单进度" prop="progress">
<el-select
v-model="form.progress"
placeholder="保单进度"
clearable
<el-form-item label="准牵引准质量" prop="tractionMass">
<el-input
v-model="form.tractionMass"
disabled
style="width: 230px"
>
<el-option
v-for="dict in progressOption"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="登记时间" prop="createTime">
<el-form-item label="保险需求" prop="requirements">
<el-input
v-model="form.createTime"
v-model="form.requirements"
disabled
placeholder="请输入登记时间"
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="承保单号" prop="policyNumber">
<el-input
v-model="form.policyNumber"
disabled
placeholder="请输入办理人"
/>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="作废原因" prop="progress">
<el-form-item label="保单回馈" prop="progress">
<el-input
:rows="6"
disabled
type="textarea"
placeholder="请输入作废原因"
v-model="form.deprecatedReason"
placeholder="请输入保单回馈"
v-model="form.message"
resize="none"
/>
</el-form-item>
... ... @@ -399,6 +361,7 @@
</template>
<script setup>
import { queryList, queryResult } from "@/api/policy";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const total = ref(5);
... ... @@ -409,28 +372,29 @@ const queryParams = reactive({
pageNum: 1,
pageSize: 10,
name: "",
carNum: "",
editAuth: "",
assignment: "",
progress: "",
licensePlate: "",
association: "",
company: "",
handler: "",
status: "",
timeFrame: "",
associationapprovetype: "",
companyEmployeeUserName: "",
orderprogress: "",
policystatus: "",
startTime: "",
endTime: "",
});
const timeFrame = ref(null);
const statusOption = ref([
{
value: 0,
label: "疑难件",
label: "进行中",
},
{
value: 1,
label: "已办结",
label: "疑难件",
},
{
value: 3,
label: "已作废",
value: 2,
label: "已办结",
},
]);
... ... @@ -456,93 +420,19 @@ const options = [
},
];
const policyList = ref([
{
policyId: 1,
createTime: "2024-01-01",
carNum: "桂A 1234",
frameNum: "123456789012345678",
name: "张三",
phone: "12345678901",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
handler: "张三",
progress: 0,
status: 0,
},
{
policyId: 2,
createTime: "2024-01-02",
carNum: "粤B 1234",
frameNum: "123456789012345678",
name: "李四",
phone: "12345678902",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
handler: "张三",
progress: 0,
status: 1,
},
{
policyId: 3,
createTime: "2024-01-03",
carNum: "粤C 1234",
frameNum: "123456789012345678",
name: "王五",
phone: "12345678903",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 0,
handler: "张三",
progress: 0,
status: 0,
},
{
policyId: 4,
createTime: "2024-01-04",
carNum: "粤D 1234",
frameNum: "123456789012345678",
name: "赵六",
phone: "12345678904",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 1,
handler: "张三",
progress: 1,
status: 0,
},
{
policyId: 5,
createTime: "2024-01-05",
carNum: "粤E 1234",
frameNum: "123456789012345678",
name: "孙七",
phone: "12345678905",
company: "中国平安",
editAuth: "管理员",
authTime: "2024-01-01",
assignment: 1,
handler: "张三",
progress: 1,
status: 1,
},
]);
/** 多选框选中数据 */
function handleSelectionChange(selection) {
// ids.value = selection.map(item => item.roleId);
// single.value = selection.length != 1;
// multiple.value = !selection.length;
console.log(selection);
}
const policyList = ref([]);
const getList = () => {};
const handleTime = (valu) => {
queryParams.startTime = proxy.parseTime(valu[0]);
queryParams.endTime = proxy.parseTime(valu[1]);
};
const getList = async () => {
loading.value = true;
const res = await queryList(queryParams);
policyList.value = res.rows;
total.value = res.total;
loading.value = false;
};
/** 重置操作表单 */
function reset() {
... ... @@ -552,8 +442,12 @@ function reset() {
/** 修改按钮操作 */
function handleUpdate(row) {
reset();
form.value = row;
open.value = true;
queryResult({ processInstanceId: row.processInstanceId }).then((res) => {
form.value = row;
form.value.policyNumber = res?.data?.policyNumber;
form.value.message = res?.data?.message;
open.value = true;
});
}
/** 搜索按钮操作 */
... ... @@ -566,6 +460,8 @@ function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
getList();
</script>
<style>
... ...
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch">
<el-form-item label="公告标题" prop="noticeTitle">
<el-input
v-model="queryParams.noticeTitle"
placeholder="请输入公告标题"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="操作人员" prop="createBy">
<el-input
v-model="queryParams.createBy"
placeholder="请输入操作人员"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="类型" prop="noticeType">
<el-select v-model="queryParams.noticeType" placeholder="公告类型" clearable style="width: 200px">
<el-option
<div class="app-container">
<el-form
:model="queryParams"
ref="queryRef"
:inline="true"
v-show="showSearch"
>
<el-form-item label="公告标题" prop="noticeTitle">
<el-input
v-model="queryParams.noticeTitle"
placeholder="请输入公告标题"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="操作人员" prop="createBy">
<el-input
v-model="queryParams.createBy"
placeholder="请输入操作人员"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="类型" prop="noticeType">
<el-select
v-model="queryParams.noticeType"
placeholder="公告类型"
clearable
style="width: 200px"
>
<el-option
v-for="dict in sys_notice_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"
>搜索</el-button
>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['system:notice:add']"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="Edit"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:notice:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:notice:remove']"
>删除</el-button
>
</el-col>
<right-toolbar
v-model:showSearch="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="noticeList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
label="序号"
align="center"
prop="noticeId"
width="100"
/>
<el-table-column
label="公告标题"
align="center"
prop="noticeTitle"
:show-overflow-tooltip="true"
/>
<el-table-column
label="公告类型"
align="center"
prop="noticeType"
width="100"
>
<template #default="scope">
<dict-tag :options="sys_notice_type" :value="scope.row.noticeType" />
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status" width="100">
<template #default="scope">
<dict-tag :options="sys_notice_status" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column
label="创建者"
align="center"
prop="createBy"
width="100"
/>
<el-table-column
label="创建时间"
align="center"
prop="createTime"
width="100"
>
<template #default="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template #default="scope">
<el-button
link
type="primary"
icon="Edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:notice:edit']"
>修改</el-button
>
<el-button
link
type="primary"
icon="Delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:notice:remove']"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改公告对话框 -->
<el-dialog :title="title" v-model="open" width="780px" append-to-body>
<el-form ref="noticeRef" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="公告标题" prop="noticeTitle">
<el-input
v-model="form.noticeTitle"
placeholder="请输入公告标题"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公告类型" prop="noticeType">
<el-select v-model="form.noticeType" placeholder="请选择">
<el-option
v-for="dict in sys_notice_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item>
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in sys_notice_status"
:key="dict.value"
:label="dict.value"
>{{ dict.label }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="内容">
<QuillEditor :value="form.noticeContent" @updateValue="getMsg" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['system:notice:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="Edit"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:notice:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:notice:remove']"
>删除</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="noticeList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" align="center" prop="noticeId" width="100" />
<el-table-column
label="公告标题"
align="center"
prop="noticeTitle"
:show-overflow-tooltip="true"
/>
<el-table-column label="公告类型" align="center" prop="noticeType" width="100">
<template #default="scope">
<dict-tag :options="sys_notice_type" :value="scope.row.noticeType" />
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status" width="100">
<template #default="scope">
<dict-tag :options="sys_notice_status" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="创建者" align="center" prop="createBy" width="100" />
<el-table-column label="创建时间" align="center" prop="createTime" width="100">
<template #default="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:notice:edit']">修改</el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:notice:remove']" >删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改公告对话框 -->
<el-dialog :title="title" v-model="open" width="780px" append-to-body>
<el-form ref="noticeRef" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="公告标题" prop="noticeTitle">
<el-input v-model="form.noticeTitle" placeholder="请输入公告标题" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公告类型" prop="noticeType">
<el-select v-model="form.noticeType" placeholder="请选择">
<el-option
v-for="dict in sys_notice_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in sys_notice_status"
:key="dict.value"
:label="dict.value"
>{{ dict.label }}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="内容">
<el-input
:rows="6"
type="textarea"
placeholder="请输入内容"
v-model="form.noticeContent"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</template>
</el-dialog>
</div>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="Notice">
import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api/system/notice";
import {
listNotice,
getNotice,
delNotice,
addNotice,
updateNotice,
} from "@/api/system/notice";
const { proxy } = getCurrentInstance();
const { sys_notice_status, sys_notice_type } = proxy.useDict("sys_notice_status", "sys_notice_type");
const { sys_notice_status, sys_notice_type } = proxy.useDict(
"sys_notice_status",
"sys_notice_type"
);
const noticeList = ref([]);
const open = ref(false);
... ... @@ -186,11 +254,15 @@ const data = reactive({
pageSize: 10,
noticeTitle: undefined,
createBy: undefined,
status: undefined
status: undefined,
},
rules: {
noticeTitle: [{ required: true, message: "公告标题不能为空", trigger: "blur" }],
noticeType: [{ required: true, message: "公告类型不能为空", trigger: "change" }]
noticeTitle: [
{ required: true, message: "公告标题不能为空", trigger: "blur" },
],
noticeType: [
{ required: true, message: "公告类型不能为空", trigger: "change" },
],
},
});
... ... @@ -199,7 +271,7 @@ const { queryParams, form, rules } = toRefs(data);
/** 查询公告列表 */
function getList() {
loading.value = true;
listNotice(queryParams.value).then(response => {
listNotice(queryParams.value).then((response) => {
noticeList.value = response.rows;
total.value = response.total;
loading.value = false;
... ... @@ -216,8 +288,8 @@ function reset() {
noticeId: undefined,
noticeTitle: undefined,
noticeType: undefined,
noticeContent: undefined,
status: "0"
noticeContent: "",
status: "0",
};
proxy.resetForm("noticeRef");
}
... ... @@ -233,7 +305,7 @@ function resetQuery() {
}
/** 多选框选中数据 */
function handleSelectionChange(selection) {
ids.value = selection.map(item => item.noticeId);
ids.value = selection.map((item) => item.noticeId);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
... ... @@ -247,24 +319,28 @@ function handleAdd() {
function handleUpdate(row) {
reset();
const noticeId = row.noticeId || ids.value;
getNotice(noticeId).then(response => {
getNotice(noticeId).then((response) => {
form.value = response.data;
open.value = true;
title.value = "修改公告";
});
}
const getMsg = (val) => {
console.log(val);
form.value.noticeContent = val;
};
/** 提交按钮 */
function submitForm() {
proxy.$refs["noticeRef"].validate(valid => {
proxy.$refs["noticeRef"].validate((valid) => {
if (valid) {
if (form.value.noticeId != undefined) {
updateNotice(form.value).then(response => {
updateNotice(form.value).then((response) => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
} else {
addNotice(form.value).then(response => {
addNotice(form.value).then((response) => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
... ... @@ -275,13 +351,17 @@ function submitForm() {
}
/** 删除按钮操作 */
function handleDelete(row) {
const noticeIds = row.noticeId || ids.value
proxy.$modal.confirm('是否确认删除公告编号为"' + noticeIds + '"的数据项?').then(function() {
return delNotice(noticeIds);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
}).catch(() => {});
const noticeIds = row.noticeId || ids.value;
proxy.$modal
.confirm('是否确认删除公告编号为"' + noticeIds + '"的数据项?')
.then(function () {
return delNotice(noticeIds);
})
.then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
})
.catch(() => {});
}
getList();
... ...