|
...
|
...
|
@@ -4,19 +4,24 @@ |
|
|
|
<el-table v-loading="loading" :data="policyList" @row-click="handleUpdate">
|
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
|
<el-table-column label="序号" width="55" type="index" />
|
|
|
|
<el-table-column label="登记时间" width="160" align="center">
|
|
|
|
<template #default="{ row }">
|
|
|
|
<span>{{ row.initialRegistration || row.createTime }}</span>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
label="登记时间"
|
|
|
|
prop="initialRegistrationTime"
|
|
|
|
label="车牌号"
|
|
|
|
prop="licensePlateNumber"
|
|
|
|
width="150"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="车牌号"
|
|
|
|
prop="licensePlateNumber"
|
|
|
|
width="150"
|
|
|
|
label="车架号"
|
|
|
|
width="180"
|
|
|
|
prop="frameNumber"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column label="车架号" prop="frameNumber" align="center" />
|
|
|
|
<el-table-column
|
|
|
|
label="车主姓名"
|
|
|
|
prop="name"
|
|
...
|
...
|
@@ -45,7 +50,7 @@ |
|
|
|
<el-table-column
|
|
|
|
label="订单分配时间"
|
|
|
|
prop="distributionTime"
|
|
|
|
width="150"
|
|
|
|
width="160"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
...
|
...
|
@@ -57,7 +62,7 @@ |
|
|
|
<el-table-column
|
|
|
|
label="承接时间"
|
|
|
|
prop="companyEmployeeUndertakeTime"
|
|
|
|
width="150"
|
|
|
|
width="160"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
...
|
...
|
@@ -67,39 +72,56 @@ |
|
|
|
width="150"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column label="操作" align="center" width="360" fixed="right">
|
|
|
|
<el-table-column
|
|
|
|
label="操作"
|
|
|
|
align="center"
|
|
|
|
min-width="240"
|
|
|
|
fixed="right"
|
|
|
|
>
|
|
|
|
<template #default="{ row }">
|
|
|
|
<el-button type="primary" v-hasPermi="['policy:pending:continue']">{{
|
|
|
|
row.orderProgress === "已承接" ? "承接回馈" : "承接"
|
|
|
|
}}</el-button>
|
|
|
|
<el-button type="primary" v-hasPermi="['policy:pending:sharing']"
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-hasPermi="['policy:pending:continue']"
|
|
|
|
@click.stop="handleContinue(row)"
|
|
|
|
>{{
|
|
|
|
row.orderProgress === "已承接" ? "承接回馈" : "承接"
|
|
|
|
}}</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-hasPermi="['policy:pending:sharing']"
|
|
|
|
@click.stop="handleSharing(row.taskId)"
|
|
|
|
>分配</el-button
|
|
|
|
>
|
|
|
|
<el-button type="primary" v-hasPermi="['policy:pending:transfer']"
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="row.orderProgress !== '已承接'"
|
|
|
|
v-hasPermi="['policy:pending:transfer']"
|
|
|
|
@click.stop="handleSharing(row.taskId)"
|
|
|
|
>转办</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="hasRole"
|
|
|
|
@click="handleSuccess(0, row.taskId)"
|
|
|
|
@click.stop="handleSuccess('0', row.taskId)"
|
|
|
|
>通过</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="hasRole"
|
|
|
|
@click="handleFallback(1, row.taskId)"
|
|
|
|
@click.stop="handleFallback('1', row.taskId)"
|
|
|
|
>退回</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="hasRole"
|
|
|
|
@click="handleVoid(2, row.taskId)"
|
|
|
|
@click.stop="handleVoid('2', row.taskId)"
|
|
|
|
>作废</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="hasRole"
|
|
|
|
@click="handleAuthCompany(0, row.taskId)"
|
|
|
|
@click.stop="handleAuthCompany('0', row.taskId)"
|
|
|
|
>分配承保公司</el-button
|
|
|
|
>
|
|
|
|
</template>
|
|
...
|
...
|
@@ -121,9 +143,12 @@ |
|
|
|
width="500"
|
|
|
|
append-to-body
|
|
|
|
>
|
|
|
|
<QuillEditor
|
|
|
|
:value="deprecatedForm.deprecatedReason"
|
|
|
|
@updateValue="getMsg"
|
|
|
|
<el-input
|
|
|
|
v-model="deprecatedForm.deprecatedReason"
|
|
|
|
style="width: 240px"
|
|
|
|
:rows="2"
|
|
|
|
type="textarea"
|
|
|
|
placeholder="请输入作废原因"
|
|
|
|
/>
|
|
|
|
<template #footer>
|
|
|
|
<div class="dialog-footer">
|
|
...
|
...
|
@@ -150,7 +175,7 @@ |
|
|
|
/>
|
|
|
|
<el-button type="primary" @click="getDeptList">查询</el-button>
|
|
|
|
</div>
|
|
|
|
<el-radio-group v-model="companyForm.deptId" @change="handleDeptChange">
|
|
|
|
<el-radio-group v-model="companyForm.deptId">
|
|
|
|
<el-radio
|
|
|
|
v-for="item in deptOptions"
|
|
|
|
:key="item.deptId"
|
|
...
|
...
|
@@ -167,25 +192,50 @@ |
|
|
|
</template>
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
<!-- 转办分配对话框 -->
|
|
|
|
<el-dialog
|
|
|
|
v-model="transferShow"
|
|
|
|
title="请选择人员:"
|
|
|
|
width="500"
|
|
|
|
append-to-body
|
|
|
|
>
|
|
|
|
<div class="company_box">
|
|
|
|
<el-radio-group v-model="transferForm.username">
|
|
|
|
<el-radio
|
|
|
|
v-for="item in transferOptions"
|
|
|
|
:key="item.userName"
|
|
|
|
:label="item.userName"
|
|
|
|
>{{ item.userName }}</el-radio
|
|
|
|
>
|
|
|
|
</el-radio-group>
|
|
|
|
</div>
|
|
|
|
<template #footer>
|
|
|
|
<div class="dialog-footer">
|
|
|
|
<el-button @click="companyShow = false">取消</el-button>
|
|
|
|
<el-button type="primary" @click="submitTransfer">确定</el-button>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
<!-- 编辑对话框 -->
|
|
|
|
<el-dialog v-model="open" :title="title" width="700" append-to-body>
|
|
|
|
<el-form :model="form" :rules="rules" ref="policyRef" label-width="100px">
|
|
|
|
<el-dialog v-model="open" title="保单信息" width="700" append-to-body>
|
|
|
|
<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="请输入车牌号"
|
|
|
|
maxlength="30"
|
|
|
|
:disabled="hasRole"
|
|
|
|
/>
|
|
|
|
</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="hasRole"
|
|
|
|
placeholder="请输入车架号"
|
|
|
|
maxlength="30"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
...
|
...
|
@@ -195,8 +245,8 @@ |
|
|
|
<el-form-item label="车主姓名" prop="name">
|
|
|
|
<el-input
|
|
|
|
v-model="form.name"
|
|
|
|
:disabled="hasRole"
|
|
|
|
placeholder="请输入车主姓名"
|
|
|
|
maxlength="11"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
...
|
...
|
@@ -204,36 +254,120 @@ |
|
|
|
<el-form-item label="联系电话" prop="phone">
|
|
|
|
<el-input
|
|
|
|
v-model="form.phone"
|
|
|
|
:disabled="hasRole"
|
|
|
|
placeholder="请输入联系电话"
|
|
|
|
maxlength="50"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</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="hasRole"
|
|
|
|
placeholder="请输入登记时间"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="上年承保公司" prop="company">
|
|
|
|
<el-form-item label="车辆使用性质" prop="vehicleNature">
|
|
|
|
<el-input
|
|
|
|
v-model="form.company"
|
|
|
|
placeholder="请输入上年承保公司"
|
|
|
|
maxlength="50"
|
|
|
|
v-model="form.vehicleNature"
|
|
|
|
:disabled="hasRole"
|
|
|
|
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="hasRole"
|
|
|
|
placeholder="请输入办理人"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="核定载质量" prop="passengerCapacity">
|
|
|
|
<el-input
|
|
|
|
v-model="form.passengerCapacity"
|
|
|
|
:disabled="hasRole"
|
|
|
|
placeholder="请输入承保公司"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="排量毫升" prop="emissions">
|
|
|
|
<el-input
|
|
|
|
v-model="form.emissions"
|
|
|
|
:disabled="hasRole"
|
|
|
|
placeholder="请输入办理人"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="中文品牌" prop="vehicleBrand">
|
|
|
|
<el-input
|
|
|
|
v-model="form.vehicleBrand"
|
|
|
|
:disabled="hasRole"
|
|
|
|
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="hasRole"
|
|
|
|
placeholder="请输入办理人"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="准牵引准质量" prop="tractionMass">
|
|
|
|
<el-input
|
|
|
|
v-model="form.tractionMass"
|
|
|
|
:disabled="hasRole"
|
|
|
|
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="hasRole"
|
|
|
|
placeholder="请输入办理人"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="承保单号" prop="policyNumber">
|
|
|
|
<el-input
|
|
|
|
v-model="form.policyNumber"
|
|
|
|
:disabled="hasRole"
|
|
|
|
placeholder="请输入承保单号"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
<el-form-item label="保单回馈" prop="progress">
|
|
|
|
<QuillEditor :value="form.comment" @updateValue="getMsg" />
|
|
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
|
|
<template #footer>
|
|
|
|
<div class="dialog-footer">
|
|
|
|
<el-button @click="open = false">取消</el-button>
|
|
|
|
<el-button type="primary" @click="open = false">确定</el-button>
|
|
|
|
<el-button type="primary" @click="submit">提交回馈</el-button>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</el-dialog>
|
|
...
|
...
|
@@ -241,15 +375,23 @@ |
|
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
import { queryMyList, disposeUser } from "@/api/policy/index";
|
|
|
|
import {
|
|
|
|
queryMyList,
|
|
|
|
disposeUser,
|
|
|
|
transfer,
|
|
|
|
getUserList,
|
|
|
|
} from "@/api/policy/index";
|
|
|
|
import { listDept } from "@/api/system/dept";
|
|
|
|
import { onMounted, ref } from "vue";
|
|
|
|
import { ref } from "vue";
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
|
const loading = ref(false);
|
|
|
|
const total = ref(0);
|
|
|
|
const title = ref("保单信息");
|
|
|
|
const open = ref(false);
|
|
|
|
const timer = ref(null);
|
|
|
|
const form = ref({});
|
|
|
|
const transferShow = ref(false);
|
|
|
|
const transferForm = ref({});
|
|
|
|
const hasRole = computed(() => {
|
|
|
|
return proxy.$auth.hasRole("associationemployee");
|
|
|
|
});
|
|
...
|
...
|
@@ -272,6 +414,7 @@ const rules = ref({ |
|
|
|
});
|
|
|
|
const companyShow = ref(false);
|
|
|
|
const deptOptions = ref([]);
|
|
|
|
const transferOptions = ref([]);
|
|
|
|
const company = ref(2);
|
|
|
|
const deprecatedShow = ref(false);
|
|
|
|
const deprecatedForm = ref({});
|
|
...
|
...
|
@@ -293,16 +436,37 @@ const getList = async () => { |
|
|
|
total.value = data.total;
|
|
|
|
loading.value = false;
|
|
|
|
};
|
|
|
|
// 承接
|
|
|
|
const handleContinue = (row) => {
|
|
|
|
if (row.orderProgress === "待承接") {
|
|
|
|
proxy.$modal
|
|
|
|
.confirm("是否要承接该保单")
|
|
|
|
.then(function () {})
|
|
|
|
.then(() => {
|
|
|
|
disposeUser({}, row.taskId).then((res) => {
|
|
|
|
proxy.$modal.msgSuccess("承接成功");
|
|
|
|
getList();
|
|
|
|
});
|
|
|
|
})
|
|
|
|
.catch(() => {
|
|
|
|
proxy.$modal.msg("已取消");
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
reset();
|
|
|
|
form.value = row;
|
|
|
|
open.value = true;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
// 通过保单
|
|
|
|
const handleSuccess = (associationapprove, taskId) => {
|
|
|
|
ElMessageBox.confirm("是否通过该保单?", {
|
|
|
|
confirmButtonText: "确认通过",
|
|
|
|
cancelButtonText: "取消",
|
|
|
|
type: "warning",
|
|
|
|
})
|
|
|
|
proxy.$modal
|
|
|
|
.confirm("是否通过该保单")
|
|
|
|
.then(function () {})
|
|
|
|
.then(() => {
|
|
|
|
disposeUser({ associationapprove }, taskId).then((res) => {
|
|
|
|
proxy.$modal.msgSuccess("保单已通过");
|
|
|
|
getList();
|
|
|
|
});
|
|
|
|
})
|
|
|
|
.catch(() => {
|
|
...
|
...
|
@@ -311,14 +475,13 @@ const handleSuccess = (associationapprove, taskId) => { |
|
|
|
};
|
|
|
|
// 退回保单
|
|
|
|
const handleFallback = (associationapprove, taskId) => {
|
|
|
|
ElMessageBox.confirm("是否退回该保单?", {
|
|
|
|
confirmButtonText: "确认退回",
|
|
|
|
cancelButtonText: "取消",
|
|
|
|
type: "warning",
|
|
|
|
})
|
|
|
|
proxy.$modal
|
|
|
|
.confirm("是否通过该保单")
|
|
|
|
.then(function () {})
|
|
|
|
.then(() => {
|
|
|
|
disposeUser({ associationapprove }, taskId).then((res) => {
|
|
|
|
proxy.$modal.msgSuccess("保单已退回");
|
|
|
|
getList();
|
|
|
|
});
|
|
|
|
})
|
|
|
|
.catch(() => {
|
|
...
|
...
|
@@ -342,7 +505,8 @@ const sunmitDeprecated = () => { |
|
|
|
};
|
|
|
|
const taskId = deprecatedForm.value.taskId;
|
|
|
|
disposeUser(data, taskId).then((res) => {
|
|
|
|
proxy.$modal.msgSuccess("保单已退回");
|
|
|
|
getList();
|
|
|
|
proxy.$modal.msgSuccess("保单已作废");
|
|
|
|
});
|
|
|
|
};
|
|
|
|
// 分配承保公司
|
|
...
|
...
|
@@ -355,6 +519,17 @@ const handleAuthCompany = (associationapprove, taskId) => { |
|
|
|
getDeptList();
|
|
|
|
};
|
|
|
|
|
|
|
|
// 获取人员列表
|
|
|
|
const getUser = async () => {
|
|
|
|
const { data } = await getUserList();
|
|
|
|
transferOptions.value = data;
|
|
|
|
};
|
|
|
|
// 转办或分配
|
|
|
|
const handleSharing = (id) => {
|
|
|
|
transferForm.value.taskId = id;
|
|
|
|
getUser();
|
|
|
|
transferShow.value = true;
|
|
|
|
};
|
|
|
|
/** 查询部门列表 */
|
|
|
|
const getDeptList = () => {
|
|
|
|
loading.value = true;
|
|
...
|
...
|
@@ -382,6 +557,7 @@ function reset() { |
|
|
|
function handleUpdate(row) {
|
|
|
|
reset();
|
|
|
|
form.value = row;
|
|
|
|
form.value.comment = "";
|
|
|
|
open.value = true;
|
|
|
|
}
|
|
|
|
/** 提交通过分配承保公司 */
|
|
...
|
...
|
@@ -392,13 +568,43 @@ function submitForm() { |
|
|
|
};
|
|
|
|
const taskId = companyForm.value.taskId;
|
|
|
|
disposeUser(data, taskId).then((res) => {
|
|
|
|
companyShow.value = true;
|
|
|
|
companyShow.value = false;
|
|
|
|
getList();
|
|
|
|
proxy.$modal.msgSuccess("保单已分配成功");
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/** 提交通过分配转办人员 */
|
|
|
|
function submitTransfer() {
|
|
|
|
const data = {
|
|
|
|
username: transferForm.value.username,
|
|
|
|
};
|
|
|
|
const taskId = transferForm.value.taskId;
|
|
|
|
transfer(data, taskId).then((res) => {
|
|
|
|
transferShow.value = false;
|
|
|
|
getList();
|
|
|
|
proxy.$modal.msgSuccess("保单已分配成功");
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
// 提交承接回馈
|
|
|
|
const submit = () => {
|
|
|
|
const data = {
|
|
|
|
policystatus: "2",
|
|
|
|
message: form.value.comment,
|
|
|
|
policynumber: form.value.policyNumber,
|
|
|
|
};
|
|
|
|
disposeUser(data, form.value.taskId).then((res) => {
|
|
|
|
getList();
|
|
|
|
proxy.$modal.msgSuccess("回馈成功");
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
const getMsg = (val) => {
|
|
|
|
deprecatedForm.value.deprecatedReason = val;
|
|
|
|
clearTimeout(timer.value);
|
|
|
|
timer.value = setTimeout(() => {
|
|
|
|
form.value.message = val;
|
|
|
|
}, 1000);
|
|
|
|
};
|
|
|
|
|
|
|
|
getList();
|
...
|
...
|
|