|
|
|
<template>
|
|
|
|
<div class="app-container">
|
|
|
|
<!-- 表格数据 -->
|
|
|
|
<el-table v-loading="loading" :data="policyList">
|
|
|
|
<el-table v-loading="loading" :data="policyList" @row-click="handleTask">
|
|
|
|
<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="createTime"
|
|
|
|
width="160"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="车牌号"
|
|
|
|
prop="licensePlateNumber"
|
|
...
|
...
|
@@ -16,80 +16,64 @@ |
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="车架号"
|
|
|
|
label="车辆识别代号"
|
|
|
|
width="180"
|
|
|
|
prop="frameNumber"
|
|
|
|
align="center"
|
|
|
|
:show-overflow-tooltip="true"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="车主姓名"
|
|
|
|
prop="name"
|
|
|
|
width="100"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="联系电话"
|
|
|
|
prop="phone"
|
|
|
|
label="发动机号"
|
|
|
|
width="180"
|
|
|
|
prop="engineNumber"
|
|
|
|
align="center"
|
|
|
|
:show-overflow-tooltip="true"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="上年承保公司"
|
|
|
|
prop="sysDeptName"
|
|
|
|
width="150"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
v-show="hasCompanyadmin"
|
|
|
|
label="分配机制"
|
|
|
|
prop="distributionMechanism"
|
|
|
|
label="是否新能源"
|
|
|
|
prop="isNewEnergy"
|
|
|
|
width="150"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="订单分配时间"
|
|
|
|
prop="distributionTime"
|
|
|
|
width="160"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="保单进度"
|
|
|
|
prop="orderProgress"
|
|
|
|
width="150"
|
|
|
|
label="车主姓名"
|
|
|
|
prop="name"
|
|
|
|
width="100"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
label="承接时间"
|
|
|
|
prop="companyEmployeeUndertakeTime"
|
|
|
|
width="160"
|
|
|
|
label="联系电话"
|
|
|
|
prop="phone"
|
|
|
|
width="180"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
v-show="hasCompanyadmin"
|
|
|
|
label="分配人"
|
|
|
|
prop="associationEmployeeUserName"
|
|
|
|
label="上年承保公司"
|
|
|
|
prop="sysDeptName"
|
|
|
|
width="150"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
v-show="hasCompanyadmin"
|
|
|
|
label="承接人"
|
|
|
|
prop="companyEmployeeUserName"
|
|
|
|
width="150"
|
|
|
|
align="center"
|
|
|
|
/>
|
|
|
|
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="380"
|
|
|
|
min-width="280"
|
|
|
|
fixed="right"
|
|
|
|
>
|
|
|
|
<template #default="{ row }">
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-hasPermi="['policy:pending:continue']"
|
|
|
|
@click.stop="handleContinue(row)"
|
|
|
|
@click="handleContinue(row)"
|
|
|
|
>{{
|
|
|
|
row.orderProgress === "已承接" ? "承接回馈" : "承接"
|
|
|
|
}}</el-button
|
|
...
|
...
|
@@ -97,53 +81,59 @@ |
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="
|
|
|
|
row.policyStatus !== '疑难件' && row.orderProgress === '已承接'
|
|
|
|
row.policyStatus !== '问题件' && row.orderProgress === '已承接'
|
|
|
|
"
|
|
|
|
v-hasPermi="['policy:pending:troubleshooting']"
|
|
|
|
@click.stop="handleTroubleshooting(row.taskId)"
|
|
|
|
>疑难件</el-button
|
|
|
|
@click="handleTroubleshooting(row.taskId)"
|
|
|
|
>问题件</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-hasPermi="['policy:pending:sharing']"
|
|
|
|
@click.stop="handleSharing(row.taskId)"
|
|
|
|
v-hasRole="['companyadmin']"
|
|
|
|
@click="handleSharing(row.taskId)"
|
|
|
|
>分配</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="row.orderProgress !== '已承接'"
|
|
|
|
v-hasPermi="['policy:pending:transfer']"
|
|
|
|
@click.stop="handleSharing(row.taskId)"
|
|
|
|
@click="handleSharing(row.taskId)"
|
|
|
|
>转办</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="hasRole"
|
|
|
|
@click.stop="handleSuccess('0', row.taskId)"
|
|
|
|
>通过</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="hasRole"
|
|
|
|
@click.stop="handleFallback('1', row.taskId)"
|
|
|
|
>退回</el-button
|
|
|
|
v-show="
|
|
|
|
row.policyStatus !== '问题件' &&
|
|
|
|
checkRole(['associationemployee'])
|
|
|
|
"
|
|
|
|
@click="handleUpdate(row)"
|
|
|
|
>审核</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="hasRole"
|
|
|
|
@click.stop="handleUpdate(row)"
|
|
|
|
>修改</el-button
|
|
|
|
v-show="
|
|
|
|
row.policyStatus === '问题件' &&
|
|
|
|
checkRole(['associationemployee'])
|
|
|
|
"
|
|
|
|
@click="lookReason(row)"
|
|
|
|
>查询</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="hasRole"
|
|
|
|
@click.stop="handleVoid('2', row.taskId)"
|
|
|
|
v-show="
|
|
|
|
row.policyStatus === '问题件' &&
|
|
|
|
checkRole(['associationemployee'])
|
|
|
|
"
|
|
|
|
@click="handleVoid('2')"
|
|
|
|
>作废</el-button
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
type="primary"
|
|
|
|
v-show="hasRole"
|
|
|
|
@click.stop="handleAuthCompany('0', row.taskId)"
|
|
|
|
v-show="
|
|
|
|
row.policyStatus === '问题件' &&
|
|
|
|
checkRole(['associationemployee'])
|
|
|
|
"
|
|
|
|
@click="handleAuthCompany('0')"
|
|
|
|
>分配</el-button
|
|
|
|
>
|
|
|
|
</template>
|
|
...
|
...
|
@@ -159,10 +149,10 @@ |
|
|
|
@pagination="getList"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<!-- 表单作废对话框 -->
|
|
|
|
<!-- 表单作废,退回。问题件对话框 -->
|
|
|
|
<el-dialog
|
|
|
|
v-model="deprecatedShow"
|
|
|
|
title="温馨提示:该保单作废后车牌号、车架号在本自然年度无法重新提交"
|
|
|
|
:title="activeTitle"
|
|
|
|
width="500"
|
|
|
|
append-to-body
|
|
|
|
>
|
|
...
|
...
|
@@ -195,14 +185,16 @@ |
|
|
|
/>
|
|
|
|
<el-button type="primary" @click="getDeptList">查询</el-button>
|
|
|
|
</div>
|
|
|
|
<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 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">
|
|
...
|
...
|
@@ -225,14 +217,14 @@ |
|
|
|
v-for="item in transferOptions"
|
|
|
|
:key="item.userName"
|
|
|
|
:label="item.userName"
|
|
|
|
>{{ item.userName }}</el-radio
|
|
|
|
>{{ item.nickName }}</el-radio
|
|
|
|
>
|
|
|
|
</el-radio-group>
|
|
|
|
<div v-show="transferOptions.length === 0">暂无其他员工</div>
|
|
|
|
</div>
|
|
|
|
<template #footer>
|
|
|
|
<div class="dialog-footer">
|
|
|
|
<el-button @click="companyShow = false">取消</el-button>
|
|
|
|
<el-button @click="transferShow = false">取消</el-button>
|
|
|
|
<el-button type="primary" @click="submitTransfer">确定</el-button>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
...
|
...
|
@@ -248,14 +240,14 @@ |
|
|
|
<el-form :model="FeedbackForm" ref="policyRef" label-width="100px">
|
|
|
|
<el-form-item label="商险单号" prop="progress">
|
|
|
|
<el-input
|
|
|
|
v-model="FeedbackForm.shoppolicynumber"
|
|
|
|
v-model="FeedbackForm.commercialinsurancepolicynumber"
|
|
|
|
placeholder="请输入保单号"
|
|
|
|
:disabled="hasRole"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="交强险单号" prop="progress">
|
|
|
|
<el-form-item label="强险单号" prop="progress">
|
|
|
|
<el-input
|
|
|
|
v-model="FeedbackForm.policynumber"
|
|
|
|
v-model="FeedbackForm.stronginsurancepolicynumber"
|
|
|
|
placeholder="请输入保单号"
|
|
|
|
:disabled="hasRole"
|
|
|
|
/>
|
|
...
|
...
|
@@ -272,6 +264,15 @@ |
|
|
|
</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">
|
|
...
|
...
|
@@ -286,7 +287,7 @@ |
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="车架号" prop="frameNumber">
|
|
|
|
<el-form-item label="车辆识别号" prop="frameNumber">
|
|
|
|
<el-input
|
|
|
|
v-model="form.frameNumber"
|
|
|
|
:disabled="!hasRole"
|
|
...
|
...
|
@@ -317,17 +318,17 @@ |
|
|
|
</el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="车辆类型" prop="vehicleType">
|
|
|
|
<el-form-item label="上年承保公司" prop="sysDeptId">
|
|
|
|
<el-select
|
|
|
|
v-model="form.vehicleTypeId"
|
|
|
|
v-model="form.sysDeptId"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
style="width: 230px"
|
|
|
|
>
|
|
|
|
<el-option
|
|
|
|
v-for="item in carTypeOption"
|
|
|
|
:key="item.id"
|
|
|
|
:label="item.name"
|
|
|
|
:value="item.id"
|
|
|
|
v-for="item in deptOptions"
|
|
|
|
:key="item.deptId"
|
|
|
|
:label="item.deptName"
|
|
|
|
:value="item.deptId"
|
|
|
|
/>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
...
|
...
|
@@ -351,43 +352,23 @@ |
|
|
|
</el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="核定载客数" prop="passengersNumber">
|
|
|
|
<el-form-item label="发动机号" prop="engineNumber">
|
|
|
|
<el-input
|
|
|
|
v-model="form.passengersNumber"
|
|
|
|
v-model="form.engineNumber"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
placeholder="请输入核定载客数"
|
|
|
|
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 v-if="isCustom" :span="12">
|
|
|
|
<el-form-item label="中文品牌" prop="vehicleBrand">
|
|
|
|
<el-form-item label="是否新能源" prop="isNewEnergy">
|
|
|
|
<el-select
|
|
|
|
v-model="form.vehicleBrandId"
|
|
|
|
v-model="form.isNewEnergy"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
style="width: 230px"
|
|
|
|
>
|
|
|
|
<el-option
|
|
|
|
v-for="item in carBrandOption"
|
|
|
|
v-for="item in NewEnergyOption"
|
|
|
|
:key="item.id"
|
|
|
|
:label="item.name"
|
|
|
|
:value="item.id"
|
|
...
|
...
|
@@ -395,54 +376,9 @@ |
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col v-else :span="12">
|
|
|
|
<el-form-item label="中文品牌" prop="vehicleBrand">
|
|
|
|
<el-input
|
|
|
|
v-model="form.customizeVehicleBrand"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
placeholder="中文品牌"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="车辆型号" prop="customizeVehicleModel">
|
|
|
|
<el-input
|
|
|
|
v-model="form.customizeVehicleModel"
|
|
|
|
: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="customizeVehicleModel">
|
|
|
|
<el-select
|
|
|
|
v-model="form.lincensePlateTypeId"
|
|
|
|
:disabled="!hasRole"
|
|
|
|
style="width: 230px"
|
|
|
|
>
|
|
|
|
<el-option
|
|
|
|
v-for="item in carNumOption"
|
|
|
|
:key="item.id"
|
|
|
|
:label="item.name"
|
|
|
|
:value="item.id"
|
|
|
|
/>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="保险需求" prop="requirements">
|
|
|
|
<el-select
|
|
|
|
v-model="form.requirementsId"
|
|
...
|
...
|
@@ -459,11 +395,55 @@ |
|
|
|
</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">
|
|
|
|
<el-button @click="open = false">取消</el-button>
|
|
|
|
<el-button type="primary" @click="submitUpdate">提交修改</el-button>
|
|
|
|
<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>
|
|
...
|
...
|
@@ -478,18 +458,23 @@ import { |
|
|
|
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 { queryCarBrand } from "@/api/configurationCenter/carBrand.js";
|
|
|
|
import { queryCarNum } from "@/api/configurationCenter/carNum.js";
|
|
|
|
import { queryNeed } from "@/api/configurationCenter/need.js";
|
|
|
|
import { listDept } from "@/api/system/dept";
|
|
|
|
import { ref } from "vue";
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
|
const loading = ref(false);
|
|
|
|
const activeTitle = ref("");
|
|
|
|
const loadingBtn = ref(false);
|
|
|
|
const showIssue = ref(false);
|
|
|
|
const total = ref(0);
|
|
|
|
const isCustom = ref(false);
|
|
|
|
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);
|
|
...
|
...
|
@@ -497,9 +482,13 @@ const form = ref({}); |
|
|
|
const showFeedback = ref(false);
|
|
|
|
const transferShow = ref(false);
|
|
|
|
const transferForm = ref({});
|
|
|
|
const taskId = ref("");
|
|
|
|
const IssueForm = ref({
|
|
|
|
deprecatedReason: "",
|
|
|
|
});
|
|
|
|
const FeedbackForm = ref({
|
|
|
|
shoppolicynumber: "",
|
|
|
|
policynumber: "",
|
|
|
|
stronginsurancepolicynumber: "",
|
|
|
|
commercialinsurancepolicynumber: "",
|
|
|
|
message: "",
|
|
|
|
});
|
|
|
|
const getParams = reactive({
|
|
...
|
...
|
@@ -510,7 +499,10 @@ const companyShow = ref(false); |
|
|
|
const deptOptions = ref([]);
|
|
|
|
const transferOptions = ref([]);
|
|
|
|
const deprecatedShow = ref(false);
|
|
|
|
const deprecatedForm = ref({});
|
|
|
|
const deprecatedForm = ref({
|
|
|
|
deprecatedReason: "",
|
|
|
|
associationapprove: "",
|
|
|
|
});
|
|
|
|
const companyForm = ref({});
|
|
|
|
const queryParams = reactive({
|
|
|
|
pageNum: 1,
|
|
...
|
...
|
@@ -527,17 +519,18 @@ const hasRole = computed(() => { |
|
|
|
return proxy.$auth.hasRole("associationemployee");
|
|
|
|
});
|
|
|
|
|
|
|
|
const hasCompanyadmin = computed(() => {
|
|
|
|
return proxy.$auth.hasRole("companyadmin");
|
|
|
|
});
|
|
|
|
// 新能源
|
|
|
|
const NewEnergyOption = ref([
|
|
|
|
{
|
|
|
|
id: "0",
|
|
|
|
name: "否",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "1",
|
|
|
|
name: "是",
|
|
|
|
},
|
|
|
|
]);
|
|
|
|
|
|
|
|
// 号牌种类
|
|
|
|
const carNumOption = ref([]);
|
|
|
|
const getCarNumOption = async () => {
|
|
|
|
const { data } = await queryCarNum(getParams);
|
|
|
|
carNumOption.value = data.records;
|
|
|
|
};
|
|
|
|
getCarNumOption();
|
|
|
|
// 车辆类型
|
|
|
|
const carTypeOption = ref([]);
|
|
|
|
const getCarTypeOption = async () => {
|
|
...
|
...
|
@@ -552,13 +545,6 @@ const getcarNatureOption = async () => { |
|
|
|
carNatureOption.value = data.records;
|
|
|
|
};
|
|
|
|
getcarNatureOption();
|
|
|
|
// 中文品牌
|
|
|
|
const carBrandOption = ref([]);
|
|
|
|
const getCarBrandOption = async () => {
|
|
|
|
const { data } = await queryCarBrand(getParams);
|
|
|
|
carBrandOption.value = data.records;
|
|
|
|
};
|
|
|
|
getCarBrandOption();
|
|
|
|
|
|
|
|
// 保险需求
|
|
|
|
const needOption = ref([]);
|
|
...
|
...
|
@@ -568,6 +554,11 @@ const getNeedOption = async () => { |
|
|
|
};
|
|
|
|
getNeedOption();
|
|
|
|
|
|
|
|
// 赋值taskId
|
|
|
|
const handleTask = (row) => {
|
|
|
|
taskId.value = row.taskId;
|
|
|
|
};
|
|
|
|
|
|
|
|
const getList = async () => {
|
|
|
|
loading.value = true;
|
|
|
|
const { data } = await queryMyList(queryParams);
|
|
...
|
...
|
@@ -596,76 +587,100 @@ const handleContinue = (row) => { |
|
|
|
showFeedback.value = true;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
// 疑难件
|
|
|
|
// 问题件
|
|
|
|
const handleTroubleshooting = (taskId) => {
|
|
|
|
const data = {
|
|
|
|
policystatus: "1",
|
|
|
|
};
|
|
|
|
disposeUser(data, taskId).then((res) => {
|
|
|
|
getList();
|
|
|
|
proxy.$modal.msgSuccess("处理成功");
|
|
|
|
});
|
|
|
|
deprecatedForm.value.taskId = taskId;
|
|
|
|
activeTitle.value = "问题件退回至协会";
|
|
|
|
typeId.value = 0;
|
|
|
|
deprecatedShow.value = true;
|
|
|
|
};
|
|
|
|
// 通过保单
|
|
|
|
const handleSuccess = (associationapprove, taskId) => {
|
|
|
|
const handleSuccess = (associationapprove) => {
|
|
|
|
proxy.$modal
|
|
|
|
.confirm("是否通过该保单")
|
|
|
|
.then(function () {})
|
|
|
|
.then(() => {
|
|
|
|
disposeUser({ associationapprove }, taskId).then((res) => {
|
|
|
|
proxy.$modal.msgSuccess("保单已通过");
|
|
|
|
getList();
|
|
|
|
});
|
|
|
|
.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, taskId) => {
|
|
|
|
proxy.$modal
|
|
|
|
.confirm("是否退回该保单")
|
|
|
|
.then(function () {})
|
|
|
|
.then(() => {
|
|
|
|
disposeUser({ associationapprove }, taskId).then((res) => {
|
|
|
|
proxy.$modal.msgSuccess("保单已退回");
|
|
|
|
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, taskId) => {
|
|
|
|
const handleVoid = (associationapprove) => {
|
|
|
|
clearTimeout(timerReason.value);
|
|
|
|
deprecatedForm.value = {
|
|
|
|
associationapprove,
|
|
|
|
taskId,
|
|
|
|
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 = () => {
|
|
|
|
const data = {
|
|
|
|
associationapprove: deprecatedForm.value.associationapprove,
|
|
|
|
comment: deprecatedForm.value.deprecatedReason,
|
|
|
|
};
|
|
|
|
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("保单已作废");
|
|
|
|
proxy.$modal.msgSuccess("操作成功");
|
|
|
|
});
|
|
|
|
};
|
|
|
|
// 分配承保公司
|
|
|
|
const handleAuthCompany = (associationapprove, taskId) => {
|
|
|
|
const handleAuthCompany = (associationapprove) => {
|
|
|
|
companyForm.value = {
|
|
|
|
associationapprove,
|
|
|
|
taskId,
|
|
|
|
taskId: taskId.value,
|
|
|
|
};
|
|
|
|
companyShow.value = true;
|
|
|
|
getDeptList();
|
|
|
|
};
|
|
|
|
|
|
|
|
// 获取人员列表
|
|
...
|
...
|
@@ -683,22 +698,19 @@ const handleSharing = (id) => { |
|
|
|
const getDeptList = () => {
|
|
|
|
loading.value = true;
|
|
|
|
listDept(companyQueryParams).then((response) => {
|
|
|
|
deptOptions.value = response.data.filter((item) => item.parentId === 100);
|
|
|
|
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() {
|
|
|
|
form.value = {
|
|
|
|
policyId: undefined,
|
|
|
|
createTime: undefined,
|
|
|
|
carNum: undefined,
|
|
|
|
frameNum: undefined,
|
|
|
|
name: undefined,
|
|
|
|
phone: undefined,
|
|
|
|
company: undefined,
|
|
|
|
};
|
|
|
|
proxy.resetForm("policyRef");
|
|
|
|
}
|
|
|
|
|
|
...
|
...
|
@@ -706,14 +718,15 @@ function reset() { |
|
|
|
const handleUpdate = async (row) => {
|
|
|
|
reset();
|
|
|
|
const { data } = await getCarDetail(row.businessKey);
|
|
|
|
getTransferTip();
|
|
|
|
form.value = data;
|
|
|
|
isCustom.value = data.isCustomizeBrandAndModel == "0";
|
|
|
|
open.value = true;
|
|
|
|
};
|
|
|
|
/** 提交通过分配承保公司 */
|
|
|
|
function submitForm() {
|
|
|
|
const data = {
|
|
|
|
associationapprove: companyForm.value.associationapprove,
|
|
|
|
associationapprovetype: "1",
|
|
|
|
deptid: companyForm.value.deptId.toString(),
|
|
|
|
};
|
|
|
|
const taskId = companyForm.value.taskId;
|
|
...
|
...
|
@@ -742,7 +755,9 @@ const submit = () => { |
|
|
|
const data = {
|
|
|
|
policystatus: "2",
|
|
|
|
message: FeedbackForm.value.comment,
|
|
|
|
policynumber: FeedbackForm.value.policynumber,
|
|
|
|
commercialinsurancepolicynumber:
|
|
|
|
FeedbackForm.value.commercialinsurancepolicynumber,
|
|
|
|
stronginsurancepolicynumber: FeedbackForm.value.stronginsurancepolicynumber,
|
|
|
|
};
|
|
|
|
disposeUser(data, FeedbackForm.value.taskId).then((res) => {
|
|
|
|
getList();
|
|
...
|
...
|
@@ -758,11 +773,20 @@ const getMsg = (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.deprecatedReaso = val;
|
|
|
|
deprecatedForm.value.deprecatedReason = val;
|
|
|
|
}, 1000);
|
|
|
|
};
|
|
|
|
// 提交修改
|
|
...
|
...
|
@@ -775,6 +799,9 @@ const submitUpdate = () => { |
|
|
|
};
|
|
|
|
|
|
|
|
getList();
|
|
|
|
if (checkRole(["associationemployee"])) {
|
|
|
|
getDeptList();
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
...
|
...
|
@@ -788,4 +815,16 @@ getList(); |
|
|
|
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> |
...
|
...
|
|