|
|
|
<template>
|
|
|
|
<div class="app-container">
|
|
|
|
<!-- 表格数据 -->
|
|
|
|
<el-table v-loading="loading" :data="policyList" @row-click="handleTask">
|
|
|
|
<el-table-column label="序号" width="55" type="index" />
|
|
|
|
<el-table-column
|
|
|
|
label="登记时间"
|
|
|
|
prop="createTime"
|
|
|
|
width="160"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="车牌号"
|
|
|
|
prop="licensePlateNumber"
|
|
|
|
width="150"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="车辆识别代号"
|
|
|
|
width="180"
|
|
|
|
prop="frameNumber"
|
|
|
|
align="center"
|
|
|
|
:show-overflow-tooltip="true"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="发动机号"
|
|
|
|
width="180"
|
|
|
|
prop="engineNumber"
|
|
|
|
align="center"
|
|
|
|
:show-overflow-tooltip="true"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="是否新能源"
|
|
|
|
prop="isNewEnergy"
|
|
|
|
width="150"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="企业名称"
|
|
|
|
prop="businessName"
|
|
|
|
width="100"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="统一信用代码"
|
|
|
|
prop="uniformCreditCode"
|
|
|
|
width="180"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="联系电话"
|
|
|
|
prop="businessPhone"
|
|
|
|
width="150"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="上年承保公司"
|
|
|
|
prop="sysDeptName"
|
|
|
|
width="150"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
v-hasRole="['associationemployee']"
|
|
|
|
label="保单状态"
|
|
|
|
width="100"
|
|
|
|
prop="statue"
|
|
|
|
>
|
|
|
|
<template #default="{ row }">
|
|
|
|
{{ row.policyStatus || "待处理" }}
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
|
|
label="操作"
|
|
|
|
align="center"
|
|
|
|
min-width="280"
|
|
|
|
fixed="right"
|
|
|
|
>
|
|
|
|
<template #default="{ row }">
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-hasPermi="['policy:pending:continue']"
|
|
|
|
@click="handleContinue(row)"
|
|
|
|
>{{
|
|
|
|
row.orderProgress === "已承接" ? "承接回馈" : "承接"
|
|
|
|
}}</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="
|
|
|
|
row.policyStatus !== '问题件' && row.orderProgress === '已承接'
|
|
|
|
"
|
|
|
|
v-hasPermi="['policy:pending:troubleshooting']"
|
|
|
|
@click="handleTroubleshooting(row.taskId)"
|
|
|
|
>问题件</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-hasRole="['companyadmin']"
|
|
|
|
@click="handleSharing(row.taskId)"
|
|
|
|
>分配</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="row.orderProgress !== '已承接'"
|
|
|
|
v-hasPermi="['policy:pending:transfer']"
|
|
|
|
@click="handleSharing(row.taskId)"
|
|
|
|
>转办</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="
|
|
|
|
row.policyStatus !== '问题件' &&
|
|
|
|
checkRole(['associationemployee'])
|
|
|
|
"
|
|
|
|
@click="handleUpdate(row)"
|
|
|
|
>审核</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="
|
|
|
|
row.policyStatus === '问题件' &&
|
|
|
|
checkRole(['associationemployee'])
|
|
|
|
"
|
|
|
|
@click="lookReason(row)"
|
|
|
|
>查询</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="
|
|
|
|
row.policyStatus === '问题件' &&
|
|
|
|
checkRole(['associationemployee'])
|
|
|
|
"
|
|
|
|
@click="handleVoid('2')"
|
|
|
|
>作废</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="
|
|
|
|
row.policyStatus === '问题件' &&
|
|
|
|
checkRole(['associationemployee'])
|
|
|
|
"
|
|
|
|
@click="handleAuthCompany('0')"
|
|
|
|
>分配</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
|
|
|
|
v-model="deprecatedShow"
|
|
|
|
:title="activeTitle"
|
|
|
|
width="500"
|
|
|
|
append-to-body
|
|
|
|
>
|
|
|
|
<QuillEditor
|
|
|
|
:value="deprecatedForm.deprecatedReason"
|
|
|
|
@updateValue="getReason"
|
|
|
|
/>
|
|
|
|
<template #footer>
|
|
|
|
<div class="dialog-footer">
|
|
|
|
<el-button @click="deprecatedShow = false">取消</el-button>
|
|
|
|
<el-button type="primary" @click="sunmitDeprecated">确定</el-button>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
<!-- 分配承保公司对话框 -->
|
|
|
|
<el-dialog
|
|
|
|
v-model="companyShow"
|
|
|
|
title="分配承保公司:"
|
|
|
|
width="500"
|
|
|
|
append-to-body
|
|
|
|
>
|
|
|
|
<div class="company_box">
|
|
|
|
<div class="header_top">
|
|
|
|
<el-input
|
|
|
|
v-model="companyQueryParams.deptName"
|
|
|
|
style="width: 380px"
|
|
|
|
placeholder="请输入承保公司名称(支持模糊查询)"
|
|
|
|
prefix-icon="Search"
|
|
|
|
/>
|
|
|
|
<el-button type="primary" @click="getDeptList">查询</el-button>
|
|
|
|
</div>
|
|
|
|
<div class="company_content">
|
|
|
|
<el-radio-group v-model="companyForm.deptId">
|
|
|
|
<el-radio
|
|
|
|
v-for="item in deptOptions"
|
|
|
|
:key="item.deptId"
|
|
|
|
:label="item.deptId"
|
|
|
|
>{{ item.deptName }}</el-radio
|
|
|
|
>
|
|
|
|
</el-radio-group>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<template #footer>
|
|
|
|
<div class="dialog-footer">
|
|
|
|
<el-button @click="companyShow = false">取消</el-button>
|
|
|
|
<el-button type="primary" @click="submitForm">确定</el-button>
|
|
|
|
</div>
|
|
|
|
</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.nickName }}</el-radio
|
|
|
|
>
|
|
|
|
</el-radio-group>
|
|
|
|
<div v-show="transferOptions.length === 0">暂无其他员工</div>
|
|
|
|
</div>
|
|
|
|
<template #footer>
|
|
|
|
<div class="dialog-footer">
|
|
|
|
<el-button @click="transferShow = false">取消</el-button>
|
|
|
|
<el-button type="primary" @click="submitTransfer">确定</el-button>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
<!-- 承接回馈对话框 -->
|
|
|
|
<el-dialog
|
|
|
|
v-model="showFeedback"
|
|
|
|
title="填写承接回馈"
|
|
|
|
width="500"
|
|
|
|
append-to-body
|
|
|
|
>
|
|
|
|
<el-form :model="FeedbackForm" ref="policyRef" label-width="100px">
|
|
|
|
<el-form-item label="商险单号" prop="progress">
|
|
|
|
<el-input
|
|
|
|
v-model="FeedbackForm.commercialinsurancepolicynumber"
|
|
|
|
placeholder="请输入保单号"
|
|
|
|
:disabled="hasRole"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="强险单号" prop="progress">
|
|
|
|
<el-input
|
|
|
|
v-model="FeedbackForm.stronginsurancepolicynumber"
|
|
|
|
placeholder="请输入保单号"
|
|
|
|
:disabled="hasRole"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="保单回馈" prop="progress">
|
|
|
|
<QuillEditor :value="FeedbackForm.message" @updateValue="getMsg" />
|
|
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
|
|
<template #footer>
|
|
|
|
<div class="dialog-footer">
|
|
|
|
<el-button @click="showFeedback = false">取消</el-button>
|
|
|
|
<el-button type="primary" @click="submit">提交回馈</el-button>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
<!-- 查询问题件弹出框 -->
|
|
|
|
<el-dialog v-model="showIssue" title="保单信息" width="700" append-to-body>
|
|
|
|
<el-form :model="IssueForm" ref="policyRef" label-width="100px">
|
|
|
|
<el-form-item label="问题件原因" prop="progress">
|
|
|
|
<QuillEditor :value="IssueForm.deprecatedReason" />
|
|
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
<!-- 编辑对话框 -->
|
|
|
|
<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="licensePlateNumber">
|
|
|
|
<el-input
|
|
|
|
v-model="form.licensePlateNumber"
|
|
|
|
placeholder="请输入车牌号"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="车辆识别号" prop="frameNumber">
|
|
|
|
<el-input
|
|
|
|
v-model="form.frameNumber"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
placeholder="请输入车架号"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="企业名称" prop="businessName">
|
|
|
|
<el-input
|
|
|
|
v-model="form.businessName"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
placeholder="请输入企业名称"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="联系电话" prop="businessPhone">
|
|
|
|
<el-input
|
|
|
|
v-model="form.businessPhone"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
placeholder="请输入联系电话"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="上年承保公司" prop="sysDeptId">
|
|
|
|
<el-select
|
|
|
|
v-model="form.sysDeptId"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
style="width: 230px"
|
|
|
|
>
|
|
|
|
<el-option
|
|
|
|
v-for="item in deptOptions"
|
|
|
|
:key="item.deptId"
|
|
|
|
:label="item.deptName"
|
|
|
|
:value="item.deptId"
|
|
|
|
/>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="车辆使用性质" prop="vehicleNature">
|
|
|
|
<el-select
|
|
|
|
v-model="form.vehicleNatureId"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
style="width: 230px"
|
|
|
|
>
|
|
|
|
<el-option
|
|
|
|
v-for="item in carNatureOption"
|
|
|
|
:key="item.id"
|
|
|
|
:label="item.name"
|
|
|
|
:value="item.id"
|
|
|
|
/>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="发动机号" prop="engineNumber">
|
|
|
|
<el-input
|
|
|
|
v-model="form.engineNumber"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
placeholder="请输入发动机号"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="是否新能源" prop="isNewEnergy">
|
|
|
|
<el-select
|
|
|
|
v-model="form.isNewEnergy"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
style="width: 230px"
|
|
|
|
>
|
|
|
|
<el-option
|
|
|
|
v-for="item in NewEnergyOption"
|
|
|
|
:key="item.id"
|
|
|
|
:label="item.name"
|
|
|
|
:value="item.id"
|
|
|
|
/>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="信用代码" prop="uniformCreditCode">
|
|
|
|
<el-input
|
|
|
|
v-model="form.uniformCreditCode"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
placeholder="请输入信用代码"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="保险需求" prop="requirements">
|
|
|
|
<el-select
|
|
|
|
v-model="form.requirementsId"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
style="width: 230px"
|
|
|
|
>
|
|
|
|
<el-option
|
|
|
|
v-for="item in needOption"
|
|
|
|
:key="item.id"
|
|
|
|
:label="item.name"
|
|
|
|
:value="item.id"
|
|
|
|
/>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
<!-- 流转提示 -->
|
|
|
|
<div class="transferTip">
|
|
|
|
<span>本次订单流转:{{ transferTip }}</span>
|
|
|
|
<el-button :loading="loadingBtn" @click="getTransferTip"
|
|
|
|
>刷新</el-button
|
|
|
|
>
|
|
|
|
</div>
|
|
|
|
</el-form>
|
|
|
|
<template #footer>
|
|
|
|
<div
|
|
|
|
class="dialog-footer"
|
|
|
|
style="
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-around;
|
|
|
|
width: 65%;
|
|
|
|
margin-left: auto;
|
|
|
|
"
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-hasRole="['associationemployee']"
|
|
|
|
@click.stop="handleSuccess('0')"
|
|
|
|
>
|
|
|
|
通过
|
|
|
|
</el-button>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-hasRole="['associationemployee']"
|
|
|
|
@click="submitUpdate"
|
|
|
|
>保存</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-hasRole="['associationemployee']"
|
|
|
|
@click="handleVoid('2')"
|
|
|
|
>作废</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-hasRole="['associationemployee']"
|
|
|
|
@click="handleFallback('1')"
|
|
|
|
>退回</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-hasRole="['associationemployee']"
|
|
|
|
@click.stop="handleAuthCompany('0')"
|
|
|
|
>分配</el-button
|
|
|
|
>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</el-dialog>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
import {
|
|
|
|
queryMyList,
|
|
|
|
disposeUser,
|
|
|
|
transfer,
|
|
|
|
getUserList,
|
|
|
|
updateCarInfo,
|
|
|
|
getCarDetail,
|
|
|
|
getCompanyTip,
|
|
|
|
queryDefeatContent,
|
|
|
|
} from "@/api/policy/index";
|
|
|
|
import { checkRole } from "@/utils/permission"; // 权限判断函数
|
|
|
|
import { queryCarType } from "@/api/configurationCenter/carType.js";
|
|
|
|
import { queryCarNature } from "@/api/configurationCenter/carNature.js";
|
|
|
|
import { queryNeed } from "@/api/configurationCenter/need.js";
|
|
|
|
import { listDept } from "@/api/system/dept";
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
|
const loading = ref(false);
|
|
|
|
const activeTitle = ref("");
|
|
|
|
const loadingBtn = ref(false);
|
|
|
|
const showIssue = ref(false);
|
|
|
|
const total = ref(0);
|
|
|
|
const typeId = ref(0); // 判断类型 0 问题件 1 退回 2 作废
|
|
|
|
const transferTip = ref(""); //流转下一家名称
|
|
|
|
const transferDeptId = ref(""); // 流转的部门公司ID
|
|
|
|
const open = ref(false);
|
|
|
|
const timer = ref(null);
|
|
|
|
const timerReason = ref(null);
|
|
|
|
const form = ref({});
|
|
|
|
const showFeedback = ref(false);
|
|
|
|
const transferShow = ref(false);
|
|
|
|
const transferForm = ref({});
|
|
|
|
const taskId = ref("");
|
|
|
|
const IssueForm = ref({
|
|
|
|
deprecatedReason: "",
|
|
|
|
});
|
|
|
|
const FeedbackForm = ref({
|
|
|
|
stronginsurancepolicynumber: "",
|
|
|
|
commercialinsurancepolicynumber: "",
|
|
|
|
message: "",
|
|
|
|
});
|
|
|
|
const getParams = reactive({
|
|
|
|
pageNum: 1,
|
|
|
|
pageSize: 100,
|
|
|
|
});
|
|
|
|
const companyShow = ref(false);
|
|
|
|
const deptOptions = ref([]);
|
|
|
|
const transferOptions = ref([]);
|
|
|
|
const deprecatedShow = ref(false);
|
|
|
|
const deprecatedForm = ref({
|
|
|
|
deprecatedReason: "",
|
|
|
|
associationapprove: "",
|
|
|
|
});
|
|
|
|
const companyForm = ref({});
|
|
|
|
const queryParams = reactive({
|
|
|
|
pageNum: 1,
|
|
|
|
pageSize: 10,
|
|
|
|
type: 1,
|
|
|
|
});
|
|
|
|
const companyQueryParams = reactive({
|
|
|
|
deptName: undefined,
|
|
|
|
status: undefined,
|
|
|
|
});
|
|
|
|
const policyList = ref([]);
|
|
|
|
|
|
|
|
// 判断是否有权限
|
|
|
|
const hasRole = computed(() => {
|
|
|
|
return proxy.$auth.hasRole("associationemployee");
|
|
|
|
});
|
|
|
|
|
|
|
|
// 新能源
|
|
|
|
const NewEnergyOption = ref([
|
|
|
|
{
|
|
|
|
id: "0",
|
|
|
|
name: "否",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "1",
|
|
|
|
name: "是",
|
|
|
|
},
|
|
|
|
]);
|
|
|
|
|
|
|
|
// 车辆类型
|
|
|
|
const carTypeOption = ref([]);
|
|
|
|
const getCarTypeOption = async () => {
|
|
|
|
const { data } = await queryCarType(getParams);
|
|
|
|
carTypeOption.value = data.records;
|
|
|
|
};
|
|
|
|
getCarTypeOption();
|
|
|
|
// 车辆使用性质
|
|
|
|
const carNatureOption = ref([]);
|
|
|
|
const getcarNatureOption = async () => {
|
|
|
|
const { data } = await queryCarNature(getParams);
|
|
|
|
carNatureOption.value = data.records;
|
|
|
|
};
|
|
|
|
getcarNatureOption();
|
|
|
|
|
|
|
|
// 保险需求
|
|
|
|
const needOption = ref([]);
|
|
|
|
const getNeedOption = async () => {
|
|
|
|
const { data } = await queryNeed(getParams);
|
|
|
|
needOption.value = data.records;
|
|
|
|
};
|
|
|
|
getNeedOption();
|
|
|
|
|
|
|
|
// 赋值taskId
|
|
|
|
const handleTask = (row) => {
|
|
|
|
taskId.value = row.taskId;
|
|
|
|
};
|
|
|
|
|
|
|
|
const getList = async () => {
|
|
|
|
loading.value = true;
|
|
|
|
const { data } = await queryMyList(queryParams);
|
|
|
|
policyList.value = data.rows;
|
|
|
|
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();
|
|
|
|
FeedbackForm.value.taskId = row.taskId;
|
|
|
|
showFeedback.value = true;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
// 问题件
|
|
|
|
const handleTroubleshooting = (taskId) => {
|
|
|
|
deprecatedForm.value.taskId = taskId;
|
|
|
|
activeTitle.value = "问题件退回至协会";
|
|
|
|
typeId.value = 0;
|
|
|
|
deprecatedShow.value = true;
|
|
|
|
};
|
|
|
|
// 通过保单
|
|
|
|
const handleSuccess = (associationapprove) => {
|
|
|
|
proxy.$modal
|
|
|
|
.confirm("是否通过该保单")
|
|
|
|
.then(function () {})
|
|
|
|
.then(async () => {
|
|
|
|
await updateCarInfo(form.value);
|
|
|
|
await disposeUser(
|
|
|
|
{
|
|
|
|
associationapprove,
|
|
|
|
associationapprovetype: "0",
|
|
|
|
deptid: transferDeptId.value,
|
|
|
|
},
|
|
|
|
taskId.value
|
|
|
|
);
|
|
|
|
proxy.$modal.msgSuccess("保单已通过");
|
|
|
|
open.value = false;
|
|
|
|
getList();
|
|
|
|
})
|
|
|
|
.catch(() => {
|
|
|
|
proxy.$modal.msg("取消通过");
|
|
|
|
});
|
|
|
|
};
|
|
|
|
// 退回保单
|
|
|
|
const handleFallback = (associationapprove) => {
|
|
|
|
clearTimeout(timerReason.value);
|
|
|
|
deprecatedForm.value = {
|
|
|
|
associationapprove,
|
|
|
|
taskId: taskId.value,
|
|
|
|
};
|
|
|
|
deprecatedForm.value.deprecatedReason = "";
|
|
|
|
typeId.value = 1;
|
|
|
|
activeTitle.value = "退回后用户需修改后重新提交";
|
|
|
|
deprecatedShow.value = true;
|
|
|
|
};
|
|
|
|
// 作废保单
|
|
|
|
const handleVoid = (associationapprove) => {
|
|
|
|
clearTimeout(timerReason.value);
|
|
|
|
deprecatedForm.value = {
|
|
|
|
associationapprove,
|
|
|
|
taskId: taskId.value,
|
|
|
|
};
|
|
|
|
deprecatedForm.value.deprecatedReason = "";
|
|
|
|
typeId.value = 2;
|
|
|
|
activeTitle.value =
|
|
|
|
"温馨提示:该保单作废后车牌号、车架号在本自然年度无法重新提交";
|
|
|
|
deprecatedShow.value = true;
|
|
|
|
};
|
|
|
|
// 提交方法
|
|
|
|
|
|
|
|
// 查询问题件原因
|
|
|
|
const lookReason = async (row) => {
|
|
|
|
const { data } = await queryDefeatContent({
|
|
|
|
processInstanceId: row.processInstanceId,
|
|
|
|
type: 0,
|
|
|
|
});
|
|
|
|
IssueForm.value.deprecatedReason = data.message;
|
|
|
|
showIssue.value = true;
|
|
|
|
};
|
|
|
|
// 提交作废,退回,问题件表单
|
|
|
|
const sunmitDeprecated = () => {
|
|
|
|
let data = {};
|
|
|
|
if (typeId.value === 0) {
|
|
|
|
data = {
|
|
|
|
policystatus: "1",
|
|
|
|
comment: deprecatedForm.value.deprecatedReason,
|
|
|
|
};
|
|
|
|
} else {
|
|
|
|
data = {
|
|
|
|
associationapprove: deprecatedForm.value.associationapprove,
|
|
|
|
comment: deprecatedForm.value.deprecatedReason,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
const taskId = deprecatedForm.value.taskId;
|
|
|
|
disposeUser(data, taskId).then((res) => {
|
|
|
|
getList();
|
|
|
|
deprecatedShow.value = false;
|
|
|
|
proxy.$modal.msgSuccess("操作成功");
|
|
|
|
});
|
|
|
|
};
|
|
|
|
// 分配承保公司
|
|
|
|
const handleAuthCompany = (associationapprove) => {
|
|
|
|
companyForm.value = {
|
|
|
|
associationapprove,
|
|
|
|
taskId: taskId.value,
|
|
|
|
};
|
|
|
|
companyShow.value = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
// 获取人员列表
|
|
|
|
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;
|
|
|
|
listDept(companyQueryParams).then((response) => {
|
|
|
|
let newArr = [];
|
|
|
|
newArr = response.data.filter((item) => item.parentId === 100);
|
|
|
|
deptOptions.value = newArr.map((child) => {
|
|
|
|
return {
|
|
|
|
deptId: child.deptId.toString(),
|
|
|
|
deptName: child.deptName,
|
|
|
|
};
|
|
|
|
});
|
|
|
|
loading.value = false;
|
|
|
|
});
|
|
|
|
};
|
|
|
|
/** 重置操作表单 */
|
|
|
|
function reset() {
|
|
|
|
proxy.resetForm("policyRef");
|
|
|
|
}
|
|
|
|
|
|
|
|
/** 修改按钮操作 */
|
|
|
|
const handleUpdate = async (row) => {
|
|
|
|
reset();
|
|
|
|
const { data } = await getCarDetail(row.businessKey);
|
|
|
|
getTransferTip();
|
|
|
|
form.value = data;
|
|
|
|
open.value = true;
|
|
|
|
};
|
|
|
|
/** 提交通过分配承保公司 */
|
|
|
|
function submitForm() {
|
|
|
|
const data = {
|
|
|
|
associationapprove: companyForm.value.associationapprove,
|
|
|
|
associationapprovetype: "1",
|
|
|
|
deptid: companyForm.value.deptId.toString(),
|
|
|
|
};
|
|
|
|
const taskId = companyForm.value.taskId;
|
|
|
|
disposeUser(data, taskId).then((res) => {
|
|
|
|
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: FeedbackForm.value.comment,
|
|
|
|
commercialinsurancepolicynumber:
|
|
|
|
FeedbackForm.value.commercialinsurancepolicynumber,
|
|
|
|
stronginsurancepolicynumber: FeedbackForm.value.stronginsurancepolicynumber,
|
|
|
|
};
|
|
|
|
disposeUser(data, FeedbackForm.value.taskId).then((res) => {
|
|
|
|
getList();
|
|
|
|
proxy.$modal.msgSuccess("回馈成功");
|
|
|
|
showFeedback.value = false;
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
const getMsg = (val) => {
|
|
|
|
clearTimeout(timer.value);
|
|
|
|
timer.value = setTimeout(() => {
|
|
|
|
FeedbackForm.value.comment = val;
|
|
|
|
}, 1000);
|
|
|
|
};
|
|
|
|
|
|
|
|
// 获取流转下一家分配公司
|
|
|
|
const getTransferTip = async () => {
|
|
|
|
loadingBtn.value = true;
|
|
|
|
const { data } = await getCompanyTip();
|
|
|
|
transferTip.value = data.deptName;
|
|
|
|
transferDeptId.value = data.deptId;
|
|
|
|
loadingBtn.value = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
// 填写作废原因
|
|
|
|
const getReason = (val) => {
|
|
|
|
clearTimeout(timerReason.value);
|
|
|
|
timerReason.value = setTimeout(() => {
|
|
|
|
deprecatedForm.value.deprecatedReason = val;
|
|
|
|
}, 1000);
|
|
|
|
};
|
|
|
|
// 提交修改
|
|
|
|
const submitUpdate = () => {
|
|
|
|
updateCarInfo(form.value).then((response) => {
|
|
|
|
proxy.$modal.msgSuccess("修改成功");
|
|
|
|
open.value = false;
|
|
|
|
getList();
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
getList();
|
|
|
|
if (checkRole(["associationemployee"])) {
|
|
|
|
getDeptList();
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
::v-deep(.el-radio-group) {
|
|
|
|
align-items: start;
|
|
|
|
flex-direction: column;
|
|
|
|
}
|
|
|
|
.header_top {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
gap: 30px;
|
|
|
|
margin-bottom: 20px;
|
|
|
|
}
|
|
|
|
.transferTip {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
gap: 20px;
|
|
|
|
font-size: 14px;
|
|
|
|
color: #666;
|
|
|
|
}
|
|
|
|
.company_content {
|
|
|
|
width: 100%;
|
|
|
|
height: 200px;
|
|
|
|
overflow-y: scroll;
|
|
|
|
}
|
|
|
|
</style> |
...
|
...
|
|