作者 xiaoqiu

完成角色分配功能

@@ -64,9 +64,9 @@ export function queryMyList(params) { @@ -64,9 +64,9 @@ export function queryMyList(params) {
64 } 64 }
65 65
66 // 办理一个用户任务 66 // 办理一个用户任务
67 -export function disposeUser(data) { 67 +export function disposeUser(data, taskId) {
68 return request({ 68 return request({
69 - url: '/registration/completeTask/{taskId}', 69 + url: `/registration/completeTask/${taskId}`,
70 method: 'post', 70 method: 'post',
71 data 71 data
72 }) 72 })
@@ -75,8 +75,17 @@ export function disposeUser(data) { @@ -75,8 +75,17 @@ export function disposeUser(data) {
75 // 转办 75 // 转办
76 export function transfer(taskId) { 76 export function transfer(taskId) {
77 return request({ 77 return request({
78 - url: `/registration/completeTask/${taskId}`, 78 + url: `/registratiom/transferTask/${taskId}`,
79 method: 'post' 79 method: 'post'
80 }) 80 })
81 } 81 }
82 82
  83 +// 修改登记信息
  84 +export function updateCarInfo(data) {
  85 + return request({
  86 + url: '/registration/edit',
  87 + method: 'post',
  88 + data
  89 + })
  90 +}
  91 +
@@ -137,7 +137,7 @@ @@ -137,7 +137,7 @@
137 <el-input 137 <el-input
138 v-model="form.licensePlateNumber" 138 v-model="form.licensePlateNumber"
139 placeholder="请输入车牌号" 139 placeholder="请输入车牌号"
140 - disabled 140 + :disabled="hasRole"
141 /> 141 />
142 </el-form-item> 142 </el-form-item>
143 </el-col> 143 </el-col>
@@ -145,7 +145,7 @@ @@ -145,7 +145,7 @@
145 <el-form-item label="车架号" prop="frameNumber"> 145 <el-form-item label="车架号" prop="frameNumber">
146 <el-input 146 <el-input
147 v-model="form.frameNumber" 147 v-model="form.frameNumber"
148 - disabled 148 + :disabled="hasRole"
149 placeholder="请输入车架号" 149 placeholder="请输入车架号"
150 /> 150 />
151 </el-form-item> 151 </el-form-item>
@@ -156,7 +156,7 @@ @@ -156,7 +156,7 @@
156 <el-form-item label="车主姓名" prop="name"> 156 <el-form-item label="车主姓名" prop="name">
157 <el-input 157 <el-input
158 v-model="form.name" 158 v-model="form.name"
159 - disabled 159 + :disabled="hasRole"
160 placeholder="请输入车主姓名" 160 placeholder="请输入车主姓名"
161 /> 161 />
162 </el-form-item> 162 </el-form-item>
@@ -165,7 +165,7 @@ @@ -165,7 +165,7 @@
165 <el-form-item label="联系电话" prop="phone"> 165 <el-form-item label="联系电话" prop="phone">
166 <el-input 166 <el-input
167 v-model="form.phone" 167 v-model="form.phone"
168 - disabled 168 + :disabled="hasRole"
169 placeholder="请输入联系电话" 169 placeholder="请输入联系电话"
170 /> 170 />
171 </el-form-item> 171 </el-form-item>
@@ -176,7 +176,7 @@ @@ -176,7 +176,7 @@
176 <el-form-item label="车辆类型" prop="vehicleType"> 176 <el-form-item label="车辆类型" prop="vehicleType">
177 <el-input 177 <el-input
178 v-model="form.vehicleType" 178 v-model="form.vehicleType"
179 - disabled 179 + :disabled="hasRole"
180 placeholder="请输入登记时间" 180 placeholder="请输入登记时间"
181 /> 181 />
182 </el-form-item> 182 </el-form-item>
@@ -185,7 +185,7 @@ @@ -185,7 +185,7 @@
185 <el-form-item label="车辆使用性质" prop="vehicleNature"> 185 <el-form-item label="车辆使用性质" prop="vehicleNature">
186 <el-input 186 <el-input
187 v-model="form.vehicleNature" 187 v-model="form.vehicleNature"
188 - disabled 188 + :disabled="hasRole"
189 placeholder="请输入办理人" 189 placeholder="请输入办理人"
190 /> 190 />
191 </el-form-item> 191 </el-form-item>
@@ -196,7 +196,7 @@ @@ -196,7 +196,7 @@
196 <el-form-item label="核定载客数" prop="passengersNumber"> 196 <el-form-item label="核定载客数" prop="passengersNumber">
197 <el-input 197 <el-input
198 v-model="form.passengersNumber" 198 v-model="form.passengersNumber"
199 - disabled 199 + :disabled="hasRole"
200 placeholder="请输入办理人" 200 placeholder="请输入办理人"
201 /> 201 />
202 </el-form-item> 202 </el-form-item>
@@ -205,7 +205,7 @@ @@ -205,7 +205,7 @@
205 <el-form-item label="核定载质量" prop="passengerCapacity"> 205 <el-form-item label="核定载质量" prop="passengerCapacity">
206 <el-input 206 <el-input
207 v-model="form.passengerCapacity" 207 v-model="form.passengerCapacity"
208 - disabled 208 + :disabled="hasRole"
209 placeholder="请输入承保公司" 209 placeholder="请输入承保公司"
210 /> 210 />
211 </el-form-item> 211 </el-form-item>
@@ -216,7 +216,7 @@ @@ -216,7 +216,7 @@
216 <el-form-item label="排量毫升" prop="emissions"> 216 <el-form-item label="排量毫升" prop="emissions">
217 <el-input 217 <el-input
218 v-model="form.emissions" 218 v-model="form.emissions"
219 - disabled 219 + :disabled="hasRole"
220 placeholder="请输入办理人" 220 placeholder="请输入办理人"
221 /> 221 />
222 </el-form-item> 222 </el-form-item>
@@ -225,7 +225,7 @@ @@ -225,7 +225,7 @@
225 <el-form-item label="中文品牌" prop="vehicleBrand"> 225 <el-form-item label="中文品牌" prop="vehicleBrand">
226 <el-input 226 <el-input
227 v-model="form.vehicleBrand" 227 v-model="form.vehicleBrand"
228 - disabled 228 + :disabled="hasRole"
229 placeholder="请输入办理人" 229 placeholder="请输入办理人"
230 /> 230 />
231 </el-form-item> 231 </el-form-item>
@@ -236,7 +236,7 @@ @@ -236,7 +236,7 @@
236 <el-form-item label="车辆型号" prop="vehicleModel"> 236 <el-form-item label="车辆型号" prop="vehicleModel">
237 <el-input 237 <el-input
238 v-model="form.vehicleModel" 238 v-model="form.vehicleModel"
239 - disabled 239 + :disabled="hasRole"
240 placeholder="请输入办理人" 240 placeholder="请输入办理人"
241 /> 241 />
242 </el-form-item> 242 </el-form-item>
@@ -245,7 +245,7 @@ @@ -245,7 +245,7 @@
245 <el-form-item label="准牵引准质量" prop="tractionMass"> 245 <el-form-item label="准牵引准质量" prop="tractionMass">
246 <el-input 246 <el-input
247 v-model="form.tractionMass" 247 v-model="form.tractionMass"
248 - disabled 248 + :disabled="hasRole"
249 placeholder="请输入办理人" 249 placeholder="请输入办理人"
250 /> 250 />
251 </el-form-item> 251 </el-form-item>
@@ -256,7 +256,7 @@ @@ -256,7 +256,7 @@
256 <el-form-item label="保险需求" prop="requirements"> 256 <el-form-item label="保险需求" prop="requirements">
257 <el-input 257 <el-input
258 v-model="form.requirements" 258 v-model="form.requirements"
259 - disabled 259 + :disabled="hasRole"
260 placeholder="请输入办理人" 260 placeholder="请输入办理人"
261 /> 261 />
262 </el-form-item> 262 </el-form-item>
@@ -265,21 +265,14 @@ @@ -265,21 +265,14 @@
265 <el-form-item label="承保单号" prop="policyNumber"> 265 <el-form-item label="承保单号" prop="policyNumber">
266 <el-input 266 <el-input
267 v-model="form.policyNumber" 267 v-model="form.policyNumber"
268 - disabled 268 + :disabled="hasRole"
269 placeholder="请输入办理人" 269 placeholder="请输入办理人"
270 /> 270 />
271 </el-form-item> 271 </el-form-item>
272 </el-col> 272 </el-col>
273 </el-row> 273 </el-row>
274 <el-form-item label="保单回馈" prop="progress"> 274 <el-form-item label="保单回馈" prop="progress">
275 - <el-input  
276 - :rows="6"  
277 - disabled  
278 - type="textarea"  
279 - placeholder="请输入保单回馈"  
280 - v-model="form.message"  
281 - resize="none"  
282 - /> 275 + <QuillEditor :value="form.message" @updateValue="getMsg" />
283 </el-form-item> 276 </el-form-item>
284 </el-form> 277 </el-form>
285 <template #footer> 278 <template #footer>
@@ -300,6 +293,9 @@ const total = ref(5); @@ -300,6 +293,9 @@ const total = ref(5);
300 const open = ref(false); 293 const open = ref(false);
301 const form = ref({}); 294 const form = ref({});
302 const showSearch = ref(true); 295 const showSearch = ref(true);
  296 +const hasRole = computed(() => {
  297 + return !proxy.$auth.hasRole("associationemployee");
  298 +});
303 const queryParams = reactive({ 299 const queryParams = reactive({
304 pageNum: 1, 300 pageNum: 1,
305 pageSize: 10, 301 pageSize: 10,
@@ -362,7 +358,9 @@ function resetQuery() { @@ -362,7 +358,9 @@ function resetQuery() {
362 proxy.resetForm("queryRef"); 358 proxy.resetForm("queryRef");
363 handleQuery(); 359 handleQuery();
364 } 360 }
365 - 361 +const getMsg = (val) => {
  362 + form.value.message = val;
  363 +};
366 getList(); 364 getList();
367 </script> 365 </script>
368 366
1 <template> 1 <template>
2 <div class="app-container"> 2 <div class="app-container">
3 <!-- 表格数据 --> 3 <!-- 表格数据 -->
4 - <el-table  
5 - v-loading="loading"  
6 - :data="policyList"  
7 - @selection-change="handleSelectionChange"  
8 - @row-click="handleUpdate"  
9 - > 4 + <el-table v-loading="loading" :data="policyList" @row-click="handleUpdate">
10 <el-table-column type="selection" width="55" align="center" /> 5 <el-table-column type="selection" width="55" align="center" />
11 - <el-table-column  
12 - label="序号"  
13 - prop="policyId"  
14 - width="120"  
15 - align="center"  
16 - /> 6 + <el-table-column label="序号" width="55" type="index" />
17 <el-table-column 7 <el-table-column
18 label="登记时间" 8 label="登记时间"
19 - prop="createTime" 9 + prop="initialRegistrationTime"
20 width="150" 10 width="150"
21 align="center" 11 align="center"
22 /> 12 />
23 <el-table-column 13 <el-table-column
24 label="车牌号" 14 label="车牌号"
25 - prop="carNum" 15 + prop="licensePlateNumber"
26 width="150" 16 width="150"
27 align="center" 17 align="center"
28 /> 18 />
29 - <el-table-column label="车架号" prop="frameNum" align="center" /> 19 + <el-table-column label="车架号" prop="frameNumber" align="center" />
30 <el-table-column 20 <el-table-column
31 label="车主姓名" 21 label="车主姓名"
32 prop="name" 22 prop="name"
@@ -41,21 +31,77 @@ @@ -41,21 +31,77 @@
41 /> 31 />
42 <el-table-column 32 <el-table-column
43 label="上年承保公司" 33 label="上年承保公司"
44 - prop="company" 34 + prop="sysDeptName"
  35 + width="150"
  36 + align="center"
  37 + />
  38 + <el-table-column
  39 + v-show="hasCompanyadmin"
  40 + label="分配机制"
  41 + prop="distributionMechanism"
  42 + width="150"
  43 + align="center"
  44 + />
  45 + <el-table-column
  46 + label="订单分配时间"
  47 + prop="distributionTime"
  48 + width="150"
  49 + align="center"
  50 + />
  51 + <el-table-column
  52 + label="保单进度"
  53 + prop="orderProgress"
  54 + width="150"
  55 + align="center"
  56 + />
  57 + <el-table-column
  58 + label="承接时间"
  59 + prop="companyEmployeeUndertakeTime"
  60 + width="150"
  61 + align="center"
  62 + />
  63 + <el-table-column
  64 + v-show="hasCompanyadmin"
  65 + label="承接人"
  66 + prop="associationEmployeeUserName"
45 width="150" 67 width="150"
46 align="center" 68 align="center"
47 /> 69 />
48 <el-table-column label="操作" align="center" width="360" fixed="right"> 70 <el-table-column label="操作" align="center" width="360" fixed="right">
49 - <template #default>  
50 - <el-button type="primary" v-hasPermi="['policy:pending:continue']"  
51 - >承接</el-button  
52 - > 71 + <template #default="{ row }">
  72 + <el-button type="primary" v-hasPermi="['policy:pending:continue']">{{
  73 + row.orderProgress === "已承接" ? "承接回馈" : "承接"
  74 + }}</el-button>
53 <el-button type="primary" v-hasPermi="['policy:pending:sharing']" 75 <el-button type="primary" v-hasPermi="['policy:pending:sharing']"
54 >分配</el-button 76 >分配</el-button
55 > 77 >
56 <el-button type="primary" v-hasPermi="['policy:pending:transfer']" 78 <el-button type="primary" v-hasPermi="['policy:pending:transfer']"
57 >转办</el-button 79 >转办</el-button
58 > 80 >
  81 + <el-button
  82 + type="primary"
  83 + v-show="hasRole"
  84 + @click="handleSuccess(0, row.taskId)"
  85 + >通过</el-button
  86 + >
  87 + <el-button
  88 + type="primary"
  89 + v-show="hasRole"
  90 + @click="handleFallback(1, row.taskId)"
  91 + >退回</el-button
  92 + >
  93 + <el-button
  94 + type="primary"
  95 + v-show="hasRole"
  96 + @click="handleVoid(2, row.taskId)"
  97 + >作废</el-button
  98 + >
  99 + <el-button
  100 + type="primary"
  101 + v-show="hasRole"
  102 + @click="handleAuthCompany(0, row.taskId)"
  103 + >分配承保公司</el-button
  104 + >
59 </template> 105 </template>
60 </el-table-column> 106 </el-table-column>
61 </el-table> 107 </el-table>
@@ -75,19 +121,14 @@ @@ -75,19 +121,14 @@
75 width="500" 121 width="500"
76 append-to-body 122 append-to-body
77 > 123 >
78 - <el-input  
79 - :rows="6"  
80 - type="textarea"  
81 - placeholder="请输入作废原因"  
82 - v-model="deprecatedReason"  
83 - resize="none" 124 + <QuillEditor
  125 + :value="deprecatedForm.deprecatedReason"
  126 + @updateValue="getMsg"
84 /> 127 />
85 <template #footer> 128 <template #footer>
86 <div class="dialog-footer"> 129 <div class="dialog-footer">
87 <el-button @click="deprecatedShow = false">取消</el-button> 130 <el-button @click="deprecatedShow = false">取消</el-button>
88 - <el-button type="primary" @click="deprecatedShow = false"  
89 - >确定</el-button  
90 - > 131 + <el-button type="primary" @click="sunmitDeprecated">确定</el-button>
91 </div> 132 </div>
92 </template> 133 </template>
93 </el-dialog> 134 </el-dialog>
@@ -102,28 +143,26 @@ @@ -102,28 +143,26 @@
102 <div class="company_box"> 143 <div class="company_box">
103 <div class="header_top"> 144 <div class="header_top">
104 <el-input 145 <el-input
105 - v-model="companyValue" 146 + v-model="companyQueryParams.deptName"
106 style="width: 380px" 147 style="width: 380px"
107 placeholder="请输入承保公司名称(支持模糊查询)" 148 placeholder="请输入承保公司名称(支持模糊查询)"
108 prefix-icon="Search" 149 prefix-icon="Search"
109 /> 150 />
110 - <el-button type="primary">查询</el-button> 151 + <el-button type="primary" @click="getDeptList">查询</el-button>
111 </div> 152 </div>
112 - <el-radio-group v-model="company"> 153 + <el-radio-group v-model="companyForm.deptId" @change="handleDeptChange">
113 <el-radio 154 <el-radio
114 - v-for="item in companyList"  
115 - :key="item.id"  
116 - :label="item.value"  
117 - >{{ item.label }}</el-radio 155 + v-for="item in deptOptions"
  156 + :key="item.deptId"
  157 + :label="item.deptId"
  158 + >{{ item.deptName }}</el-radio
118 > 159 >
119 </el-radio-group> 160 </el-radio-group>
120 </div> 161 </div>
121 <template #footer> 162 <template #footer>
122 <div class="dialog-footer"> 163 <div class="dialog-footer">
123 <el-button @click="companyShow = false">取消</el-button> 164 <el-button @click="companyShow = false">取消</el-button>
124 - <el-button type="primary" @click="companyShow = false"  
125 - >确定</el-button  
126 - > 165 + <el-button type="primary" @click="submitForm">确定</el-button>
127 </div> 166 </div>
128 </template> 167 </template>
129 </el-dialog> 168 </el-dialog>
@@ -202,13 +241,22 @@ @@ -202,13 +241,22 @@
202 </template> 241 </template>
203 242
204 <script setup> 243 <script setup>
205 -import { queryMyList } from "@/api/policy/index"; 244 +import { queryMyList, disposeUser } from "@/api/policy/index";
  245 +import { listDept } from "@/api/system/dept";
  246 +import { onMounted, ref } from "vue";
206 const { proxy } = getCurrentInstance(); 247 const { proxy } = getCurrentInstance();
207 const loading = ref(false); 248 const loading = ref(false);
208 -const total = ref(5); 249 +const total = ref(0);
209 const title = ref("保单信息"); 250 const title = ref("保单信息");
210 const open = ref(false); 251 const open = ref(false);
211 const form = ref({}); 252 const form = ref({});
  253 +const hasRole = computed(() => {
  254 + return proxy.$auth.hasRole("associationemployee");
  255 +});
  256 +
  257 +const hasCompanyadmin = computed(() => {
  258 + return proxy.$auth.hasRole("companyadmin");
  259 +});
212 const rules = ref({ 260 const rules = ref({
213 carNum: [{ required: true, message: "车牌号不能为空", trigger: "blur" }], 261 carNum: [{ required: true, message: "车牌号不能为空", trigger: "blur" }],
214 frameNum: [{ required: true, message: "车架号不能为空", trigger: "blur" }], 262 frameNum: [{ required: true, message: "车架号不能为空", trigger: "blur" }],
@@ -223,50 +271,99 @@ const rules = ref({ @@ -223,50 +271,99 @@ const rules = ref({
223 ], 271 ],
224 }); 272 });
225 const companyShow = ref(false); 273 const companyShow = ref(false);
226 -const companyList = ref([  
227 - { id: 1, value: 0, label: "中国太平洋保险集团" },  
228 - { id: 2, value: 1, label: "中国平安财产保险股份有限公司" },  
229 - { id: 3, value: 2, label: "北部湾财产保险股份有限公司" },  
230 - { id: 4, value: 3, label: "华安财产保险股份有限公司" },  
231 -]); 274 +const deptOptions = ref([]);
232 const company = ref(2); 275 const company = ref(2);
233 -const companyValue = ref("");  
234 const deprecatedShow = ref(false); 276 const deprecatedShow = ref(false);
235 -const deprecatedReason = ref(""); 277 +const deprecatedForm = ref({});
  278 +const companyForm = ref({});
236 const queryParams = reactive({ 279 const queryParams = reactive({
237 pageNum: 1, 280 pageNum: 1,
238 pageSize: 10, 281 pageSize: 10,
239 }); 282 });
  283 +const companyQueryParams = reactive({
  284 + deptName: undefined,
  285 + status: undefined,
  286 +});
240 const policyList = ref([]); 287 const policyList = ref([]);
241 288
242 -/** 多选框选中数据 */  
243 -function handleSelectionChange(selection) {  
244 - // ids.value = selection.map(item => item.roleId);  
245 - // single.value = selection.length != 1;  
246 - // multiple.value = !selection.length;  
247 - console.log(selection);  
248 -}  
249 -  
250 const getList = async () => { 289 const getList = async () => {
251 loading.value = true; 290 loading.value = true;
252 - const res = await queryMyList(queryParams);  
253 - policyList.value = res.rows;  
254 - total.value = res.total; 291 + const { data } = await queryMyList(queryParams);
  292 + policyList.value = data.rows;
  293 + total.value = data.total;
255 loading.value = false; 294 loading.value = false;
256 }; 295 };
257 -const handleSuccess = () => {  
258 - console.log("通过"); 296 +// 通过保单
  297 +const handleSuccess = (associationapprove, taskId) => {
  298 + ElMessageBox.confirm("是否通过该保单?", {
  299 + confirmButtonText: "确认通过",
  300 + cancelButtonText: "取消",
  301 + type: "warning",
  302 + })
  303 + .then(() => {
  304 + disposeUser({ associationapprove }, taskId).then((res) => {
  305 + proxy.$modal.msgSuccess("保单已通过");
  306 + });
  307 + })
  308 + .catch(() => {
  309 + proxy.$modal.msg("取消通过");
  310 + });
259 }; 311 };
260 -const handleFallback = () => {  
261 - console.log("退回"); 312 +// 退回保单
  313 +const handleFallback = (associationapprove, taskId) => {
  314 + ElMessageBox.confirm("是否退回该保单?", {
  315 + confirmButtonText: "确认退回",
  316 + cancelButtonText: "取消",
  317 + type: "warning",
  318 + })
  319 + .then(() => {
  320 + disposeUser({ associationapprove }, taskId).then((res) => {
  321 + proxy.$modal.msgSuccess("保单已退回");
  322 + });
  323 + })
  324 + .catch(() => {
  325 + proxy.$modal.msg("已取消");
  326 + });
262 }; 327 };
263 -const handleVoid = () => {  
264 - console.log("作废"); 328 +// 作废保单
  329 +const handleVoid = (associationapprove, taskId) => {
  330 + deprecatedForm.value = {
  331 + associationapprove,
  332 + taskId,
  333 + };
265 deprecatedShow.value = true; 334 deprecatedShow.value = true;
266 }; 335 };
267 -const handleAuthCompany = () => { 336 +
  337 +// 提交作废表单
  338 +const sunmitDeprecated = () => {
  339 + const data = {
  340 + associationapprove: deprecatedForm.value.associationapprove,
  341 + comment: deprecatedForm.value.deprecatedReason,
  342 + };
  343 + const taskId = deprecatedForm.value.taskId;
  344 + disposeUser(data, taskId).then((res) => {
  345 + proxy.$modal.msgSuccess("保单已退回");
  346 + });
  347 +};
  348 +// 分配承保公司
  349 +const handleAuthCompany = (associationapprove, taskId) => {
  350 + companyForm.value = {
  351 + associationapprove,
  352 + taskId,
  353 + };
268 companyShow.value = true; 354 companyShow.value = true;
  355 + getDeptList();
  356 +};
  357 +
  358 +/** 查询部门列表 */
  359 +const getDeptList = () => {
  360 + loading.value = true;
  361 + listDept(companyQueryParams).then((response) => {
  362 + deptOptions.value = response.data.filter((item) => item.parentId === 100);
  363 + loading.value = false;
  364 + });
269 }; 365 };
  366 +
270 /** 重置操作表单 */ 367 /** 重置操作表单 */
271 function reset() { 368 function reset() {
272 form.value = { 369 form.value = {
@@ -287,15 +384,23 @@ function handleUpdate(row) { @@ -287,15 +384,23 @@ function handleUpdate(row) {
287 form.value = row; 384 form.value = row;
288 open.value = true; 385 open.value = true;
289 } 386 }
290 -/** 提交按钮 */ 387 +/** 提交通过分配承保公司 */
291 function submitForm() { 388 function submitForm() {
292 - proxy.$refs["policyRef"].validate((valid) => {  
293 - if (valid) {  
294 - proxy.$modal.msgSuccess("修改成功");  
295 - } 389 + const data = {
  390 + associationapprove: companyForm.value.associationapprove,
  391 + deptId: companyForm.value.deptId,
  392 + };
  393 + const taskId = companyForm.value.taskId;
  394 + disposeUser(data, taskId).then((res) => {
  395 + companyShow.value = true;
  396 + proxy.$modal.msgSuccess("保单已分配成功");
296 }); 397 });
297 } 398 }
298 399
  400 +const getMsg = (val) => {
  401 + deprecatedForm.value.deprecatedReason = val;
  402 +};
  403 +
299 getList(); 404 getList();
300 </script> 405 </script>
301 406
@@ -116,16 +116,16 @@ @@ -116,16 +116,16 @@
116 </el-form-item> 116 </el-form-item>
117 </el-form> 117 </el-form>
118 <!-- 数据统计 --> 118 <!-- 数据统计 -->
119 - <div class="total_line"> 119 + <!-- <div class="total_line">
120 <span>统计:平安保险公司(10条)</span> 120 <span>统计:平安保险公司(10条)</span>
121 <span>已办结:3</span> 121 <span>已办结:3</span>
122 <span>未办结:3</span> 122 <span>未办结:3</span>
123 <span>待承接:2</span> 123 <span>待承接:2</span>
124 <span>已承接:2</span> 124 <span>已承接:2</span>
125 - </div> 125 + </div> -->
126 126
127 <!-- 表格数据 --> 127 <!-- 表格数据 -->
128 - <el-table v-loading="loading" :data="policyList" @row-click="handleUpdate"> 128 + <el-table v-loading="loading" :data="policyList">
129 <el-table-column label="序号" type="index" /> 129 <el-table-column label="序号" type="index" />
130 <el-table-column 130 <el-table-column
131 label="登记时间" 131 label="登记时间"
@@ -183,8 +183,8 @@ @@ -183,8 +183,8 @@
183 width="100" 183 width="100"
184 prop="Feedback" 184 prop="Feedback"
185 > 185 >
186 - <template #default>  
187 - <el-button type="primary">查阅</el-button> 186 + <template #default="{ row }">
  187 + <el-button type="primary" @click="handleUpdate(row)">查阅</el-button>
188 </template> 188 </template>
189 </el-table-column> 189 </el-table-column>
190 </el-table> 190 </el-table>
@@ -205,7 +205,7 @@ @@ -205,7 +205,7 @@
205 <el-input 205 <el-input
206 v-model="form.licensePlateNumber" 206 v-model="form.licensePlateNumber"
207 placeholder="请输入车牌号" 207 placeholder="请输入车牌号"
208 - disabled 208 + :disabled="hasRole"
209 /> 209 />
210 </el-form-item> 210 </el-form-item>
211 </el-col> 211 </el-col>
@@ -213,7 +213,7 @@ @@ -213,7 +213,7 @@
213 <el-form-item label="车架号" prop="frameNumber"> 213 <el-form-item label="车架号" prop="frameNumber">
214 <el-input 214 <el-input
215 v-model="form.frameNumber" 215 v-model="form.frameNumber"
216 - disabled 216 + :disabled="hasRole"
217 placeholder="请输入车架号" 217 placeholder="请输入车架号"
218 /> 218 />
219 </el-form-item> 219 </el-form-item>
@@ -224,7 +224,7 @@ @@ -224,7 +224,7 @@
224 <el-form-item label="车主姓名" prop="name"> 224 <el-form-item label="车主姓名" prop="name">
225 <el-input 225 <el-input
226 v-model="form.name" 226 v-model="form.name"
227 - disabled 227 + :disabled="hasRole"
228 placeholder="请输入车主姓名" 228 placeholder="请输入车主姓名"
229 /> 229 />
230 </el-form-item> 230 </el-form-item>
@@ -233,7 +233,7 @@ @@ -233,7 +233,7 @@
233 <el-form-item label="联系电话" prop="phone"> 233 <el-form-item label="联系电话" prop="phone">
234 <el-input 234 <el-input
235 v-model="form.phone" 235 v-model="form.phone"
236 - disabled 236 + :disabled="hasRole"
237 placeholder="请输入联系电话" 237 placeholder="请输入联系电话"
238 /> 238 />
239 </el-form-item> 239 </el-form-item>
@@ -244,7 +244,7 @@ @@ -244,7 +244,7 @@
244 <el-form-item label="车辆类型" prop="vehicleType"> 244 <el-form-item label="车辆类型" prop="vehicleType">
245 <el-input 245 <el-input
246 v-model="form.vehicleType" 246 v-model="form.vehicleType"
247 - disabled 247 + :disabled="hasRole"
248 placeholder="请输入登记时间" 248 placeholder="请输入登记时间"
249 /> 249 />
250 </el-form-item> 250 </el-form-item>
@@ -253,7 +253,7 @@ @@ -253,7 +253,7 @@
253 <el-form-item label="车辆使用性质" prop="vehicleNature"> 253 <el-form-item label="车辆使用性质" prop="vehicleNature">
254 <el-input 254 <el-input
255 v-model="form.vehicleNature" 255 v-model="form.vehicleNature"
256 - disabled 256 + :disabled="hasRole"
257 placeholder="请输入办理人" 257 placeholder="请输入办理人"
258 /> 258 />
259 </el-form-item> 259 </el-form-item>
@@ -264,7 +264,7 @@ @@ -264,7 +264,7 @@
264 <el-form-item label="核定载客数" prop="passengersNumber"> 264 <el-form-item label="核定载客数" prop="passengersNumber">
265 <el-input 265 <el-input
266 v-model="form.passengersNumber" 266 v-model="form.passengersNumber"
267 - disabled 267 + :disabled="hasRole"
268 placeholder="请输入办理人" 268 placeholder="请输入办理人"
269 /> 269 />
270 </el-form-item> 270 </el-form-item>
@@ -273,7 +273,7 @@ @@ -273,7 +273,7 @@
273 <el-form-item label="核定载质量" prop="passengerCapacity"> 273 <el-form-item label="核定载质量" prop="passengerCapacity">
274 <el-input 274 <el-input
275 v-model="form.passengerCapacity" 275 v-model="form.passengerCapacity"
276 - disabled 276 + :disabled="hasRole"
277 placeholder="请输入承保公司" 277 placeholder="请输入承保公司"
278 /> 278 />
279 </el-form-item> 279 </el-form-item>
@@ -284,7 +284,7 @@ @@ -284,7 +284,7 @@
284 <el-form-item label="排量毫升" prop="emissions"> 284 <el-form-item label="排量毫升" prop="emissions">
285 <el-input 285 <el-input
286 v-model="form.emissions" 286 v-model="form.emissions"
287 - disabled 287 + :disabled="hasRole"
288 placeholder="请输入办理人" 288 placeholder="请输入办理人"
289 /> 289 />
290 </el-form-item> 290 </el-form-item>
@@ -293,7 +293,7 @@ @@ -293,7 +293,7 @@
293 <el-form-item label="中文品牌" prop="vehicleBrand"> 293 <el-form-item label="中文品牌" prop="vehicleBrand">
294 <el-input 294 <el-input
295 v-model="form.vehicleBrand" 295 v-model="form.vehicleBrand"
296 - disabled 296 + :disabled="hasRole"
297 placeholder="请输入办理人" 297 placeholder="请输入办理人"
298 /> 298 />
299 </el-form-item> 299 </el-form-item>
@@ -304,7 +304,7 @@ @@ -304,7 +304,7 @@
304 <el-form-item label="车辆型号" prop="vehicleModel"> 304 <el-form-item label="车辆型号" prop="vehicleModel">
305 <el-input 305 <el-input
306 v-model="form.vehicleModel" 306 v-model="form.vehicleModel"
307 - disabled 307 + :disabled="hasRole"
308 placeholder="请输入办理人" 308 placeholder="请输入办理人"
309 /> 309 />
310 </el-form-item> 310 </el-form-item>
@@ -313,7 +313,7 @@ @@ -313,7 +313,7 @@
313 <el-form-item label="准牵引准质量" prop="tractionMass"> 313 <el-form-item label="准牵引准质量" prop="tractionMass">
314 <el-input 314 <el-input
315 v-model="form.tractionMass" 315 v-model="form.tractionMass"
316 - disabled 316 + :disabled="hasRole"
317 placeholder="请输入办理人" 317 placeholder="请输入办理人"
318 /> 318 />
319 </el-form-item> 319 </el-form-item>
@@ -324,7 +324,7 @@ @@ -324,7 +324,7 @@
324 <el-form-item label="保险需求" prop="requirements"> 324 <el-form-item label="保险需求" prop="requirements">
325 <el-input 325 <el-input
326 v-model="form.requirements" 326 v-model="form.requirements"
327 - disabled 327 + :disabled="hasRole"
328 placeholder="请输入办理人" 328 placeholder="请输入办理人"
329 /> 329 />
330 </el-form-item> 330 </el-form-item>
@@ -333,27 +333,25 @@ @@ -333,27 +333,25 @@
333 <el-form-item label="承保单号" prop="policyNumber"> 333 <el-form-item label="承保单号" prop="policyNumber">
334 <el-input 334 <el-input
335 v-model="form.policyNumber" 335 v-model="form.policyNumber"
336 - disabled 336 + :disabled="hasRole"
337 placeholder="请输入办理人" 337 placeholder="请输入办理人"
338 /> 338 />
339 </el-form-item> 339 </el-form-item>
340 </el-col> 340 </el-col>
341 </el-row> 341 </el-row>
342 <el-form-item label="保单回馈" prop="progress"> 342 <el-form-item label="保单回馈" prop="progress">
343 - <el-input  
344 - :rows="6"  
345 - disabled  
346 - type="textarea"  
347 - placeholder="请输入保单回馈"  
348 - v-model="form.message"  
349 - resize="none"  
350 - /> 343 + <QuillEditor :value="form.comment" @updateValue="getMsg" />
351 </el-form-item> 344 </el-form-item>
352 </el-form> 345 </el-form>
353 <template #footer> 346 <template #footer>
354 <div class="dialog-footer"> 347 <div class="dialog-footer">
355 <el-button @click="open = false">取消</el-button> 348 <el-button @click="open = false">取消</el-button>
356 - <el-button type="primary" @click="open = false">确定</el-button> 349 + <el-button
  350 + type="primary"
  351 + v-hasPermi="['policy:info:edit']"
  352 + @click="submit"
  353 + >提交</el-button
  354 + >
357 </div> 355 </div>
358 </template> 356 </template>
359 </el-dialog> 357 </el-dialog>
@@ -361,7 +359,7 @@ @@ -361,7 +359,7 @@
361 </template> 359 </template>
362 360
363 <script setup> 361 <script setup>
364 -import { queryList, queryResult } from "@/api/policy"; 362 +import { queryList, queryResult, updateCarInfo } from "@/api/policy";
365 const { proxy } = getCurrentInstance(); 363 const { proxy } = getCurrentInstance();
366 const loading = ref(false); 364 const loading = ref(false);
367 const total = ref(5); 365 const total = ref(5);
@@ -382,6 +380,9 @@ const queryParams = reactive({ @@ -382,6 +380,9 @@ const queryParams = reactive({
382 startTime: "", 380 startTime: "",
383 endTime: "", 381 endTime: "",
384 }); 382 });
  383 +const hasRole = computed(() => {
  384 + return !proxy.$auth.hasRole("associationemployee");
  385 +});
385 const timeFrame = ref(null); 386 const timeFrame = ref(null);
386 const statusOption = ref([ 387 const statusOption = ref([
387 { 388 {
@@ -442,14 +443,23 @@ function reset() { @@ -442,14 +443,23 @@ function reset() {
442 /** 修改按钮操作 */ 443 /** 修改按钮操作 */
443 function handleUpdate(row) { 444 function handleUpdate(row) {
444 reset(); 445 reset();
  446 + if (row.policyStatus === "已作废") {
  447 + form.value = row;
  448 + open.value = true;
  449 + } else {
445 queryResult({ processInstanceId: row.processInstanceId }).then((res) => { 450 queryResult({ processInstanceId: row.processInstanceId }).then((res) => {
446 form.value = row; 451 form.value = row;
447 form.value.policyNumber = res?.data?.policyNumber; 452 form.value.policyNumber = res?.data?.policyNumber;
448 - form.value.message = res?.data?.message; 453 + form.value.comment = res?.data?.message;
449 open.value = true; 454 open.value = true;
450 }); 455 });
  456 + }
451 } 457 }
452 458
  459 +const getMsg = (val) => {
  460 + form.value.comment = val;
  461 +};
  462 +
453 /** 搜索按钮操作 */ 463 /** 搜索按钮操作 */
454 function handleQuery() { 464 function handleQuery() {
455 queryParams.value.pageNum = 1; 465 queryParams.value.pageNum = 1;
@@ -460,7 +470,13 @@ function resetQuery() { @@ -460,7 +470,13 @@ function resetQuery() {
460 proxy.resetForm("queryRef"); 470 proxy.resetForm("queryRef");
461 handleQuery(); 471 handleQuery();
462 } 472 }
463 - 473 +const submit = async () => {
  474 + updateCarInfo(form.value).then((response) => {
  475 + proxy.$modal.msgSuccess("修改成功");
  476 + open.value = false;
  477 + getList();
  478 + });
  479 +};
464 getList(); 480 getList();
465 </script> 481 </script>
466 482