正在显示
12 个修改的文件
包含
1041 行增加
和
39 行删除
| 1 | <template> | 1 | <template> |
| 2 | <div class="app-container"> | 2 | <div class="app-container"> |
| 3 | + <div class="tip"> | ||
| 4 | + 提示:订单分配不以保险公司顺序进行分配,系统随机分配;重新添加或修改订单后,系统重新开始计算;分配颜度满了以后,系统重新计算 | ||
| 5 | + </div> | ||
| 6 | + | ||
| 3 | <el-row :gutter="10" class="mb8"> | 7 | <el-row :gutter="10" class="mb8"> |
| 4 | <el-col :span="1.5"> | 8 | <el-col :span="1.5"> |
| 5 | <el-button | 9 | <el-button |
| @@ -175,4 +179,10 @@ function cancel() { | @@ -175,4 +179,10 @@ function cancel() { | ||
| 175 | } | 179 | } |
| 176 | </script> | 180 | </script> |
| 177 | 181 | ||
| 178 | -<style></style> | 182 | +<style scoped> |
| 183 | +.tip { | ||
| 184 | + font-size: 14px; | ||
| 185 | + color: #666; | ||
| 186 | + margin-bottom: 20px; | ||
| 187 | +} | ||
| 188 | +</style> |
| @@ -48,6 +48,7 @@ | @@ -48,6 +48,7 @@ | ||
| 48 | v-loading="loading" | 48 | v-loading="loading" |
| 49 | :data="policyList" | 49 | :data="policyList" |
| 50 | @selection-change="handleSelectionChange" | 50 | @selection-change="handleSelectionChange" |
| 51 | + @row-click="handleUpdate" | ||
| 51 | > | 52 | > |
| 52 | <el-table-column type="selection" width="55" align="center" /> | 53 | <el-table-column type="selection" width="55" align="center" /> |
| 53 | <el-table-column | 54 | <el-table-column |
| @@ -107,6 +108,98 @@ | @@ -107,6 +108,98 @@ | ||
| 107 | v-model:limit="queryParams.pageSize" | 108 | v-model:limit="queryParams.pageSize" |
| 108 | @pagination="getList" | 109 | @pagination="getList" |
| 109 | /> | 110 | /> |
| 111 | + | ||
| 112 | + <el-dialog v-model="open" title="保单信息" width="700" append-to-body> | ||
| 113 | + <el-form :model="form" ref="policyRef" label-width="100px"> | ||
| 114 | + <el-row> | ||
| 115 | + <el-col :span="12"> | ||
| 116 | + <el-form-item label="车牌号" prop="carNum"> | ||
| 117 | + <el-input | ||
| 118 | + v-model="form.carNum" | ||
| 119 | + placeholder="请输入车牌号" | ||
| 120 | + disabled | ||
| 121 | + /> | ||
| 122 | + </el-form-item> | ||
| 123 | + </el-col> | ||
| 124 | + <el-col :span="12"> | ||
| 125 | + <el-form-item label="车架号" prop="frameNum"> | ||
| 126 | + <el-input | ||
| 127 | + v-model="form.frameNum" | ||
| 128 | + disabled | ||
| 129 | + placeholder="请输入车架号" | ||
| 130 | + /> | ||
| 131 | + </el-form-item> | ||
| 132 | + </el-col> | ||
| 133 | + </el-row> | ||
| 134 | + <el-row> | ||
| 135 | + <el-col :span="12"> | ||
| 136 | + <el-form-item label="车主姓名" prop="name"> | ||
| 137 | + <el-input | ||
| 138 | + v-model="form.name" | ||
| 139 | + disabled | ||
| 140 | + placeholder="请输入车主姓名" | ||
| 141 | + /> | ||
| 142 | + </el-form-item> | ||
| 143 | + </el-col> | ||
| 144 | + <el-col :span="12"> | ||
| 145 | + <el-form-item label="联系电话" prop="phone"> | ||
| 146 | + <el-input | ||
| 147 | + v-model="form.phone" | ||
| 148 | + disabled | ||
| 149 | + placeholder="请输入联系电话" | ||
| 150 | + /> | ||
| 151 | + </el-form-item> | ||
| 152 | + </el-col> | ||
| 153 | + </el-row> | ||
| 154 | + <el-row> | ||
| 155 | + <el-col :span="12"> | ||
| 156 | + <el-form-item label="操作时间" prop="authTime"> | ||
| 157 | + <el-input | ||
| 158 | + v-model="form.authTime" | ||
| 159 | + disabled | ||
| 160 | + placeholder="请输入操作时间" | ||
| 161 | + /> | ||
| 162 | + </el-form-item> | ||
| 163 | + </el-col> | ||
| 164 | + <el-col :span="12"> | ||
| 165 | + <el-form-item label="操作人员" prop="editAuth"> | ||
| 166 | + <el-input | ||
| 167 | + v-model="form.editAuth" | ||
| 168 | + disabled | ||
| 169 | + placeholder="请输入操作人员" | ||
| 170 | + /> | ||
| 171 | + </el-form-item> | ||
| 172 | + </el-col> | ||
| 173 | + </el-row> | ||
| 174 | + <el-row> | ||
| 175 | + <el-col :span="12"> | ||
| 176 | + <el-form-item label="登记时间" prop="createTime"> | ||
| 177 | + <el-input | ||
| 178 | + v-model="form.createTime" | ||
| 179 | + disabled | ||
| 180 | + placeholder="请输入登记时间" | ||
| 181 | + /> | ||
| 182 | + </el-form-item> | ||
| 183 | + </el-col> | ||
| 184 | + </el-row> | ||
| 185 | + <el-form-item label="作废原因" prop="progress"> | ||
| 186 | + <el-input | ||
| 187 | + :rows="6" | ||
| 188 | + disabled | ||
| 189 | + type="textarea" | ||
| 190 | + placeholder="请输入作废原因" | ||
| 191 | + v-model="form.deprecatedReason" | ||
| 192 | + resize="none" | ||
| 193 | + /> | ||
| 194 | + </el-form-item> | ||
| 195 | + </el-form> | ||
| 196 | + <template #footer> | ||
| 197 | + <div class="dialog-footer"> | ||
| 198 | + <el-button @click="open = false">取消</el-button> | ||
| 199 | + <el-button type="primary" @click="open = false">确定</el-button> | ||
| 200 | + </div> | ||
| 201 | + </template> | ||
| 202 | + </el-dialog> | ||
| 110 | </div> | 203 | </div> |
| 111 | </template> | 204 | </template> |
| 112 | 205 | ||
| @@ -114,6 +207,8 @@ | @@ -114,6 +207,8 @@ | ||
| 114 | const { proxy } = getCurrentInstance(); | 207 | const { proxy } = getCurrentInstance(); |
| 115 | const loading = ref(false); | 208 | const loading = ref(false); |
| 116 | const total = ref(5); | 209 | const total = ref(5); |
| 210 | +const open = ref(false); | ||
| 211 | +const form = ref({}); | ||
| 117 | const showSearch = ref(true); | 212 | const showSearch = ref(true); |
| 118 | const queryParams = reactive({ | 213 | const queryParams = reactive({ |
| 119 | pageNum: 1, | 214 | pageNum: 1, |
| @@ -125,28 +220,6 @@ const queryParams = reactive({ | @@ -125,28 +220,6 @@ const queryParams = reactive({ | ||
| 125 | status: "", | 220 | status: "", |
| 126 | }); | 221 | }); |
| 127 | 222 | ||
| 128 | -const statusOption = ref([ | ||
| 129 | - { | ||
| 130 | - value: 0, | ||
| 131 | - label: "疑难件", | ||
| 132 | - }, | ||
| 133 | - { | ||
| 134 | - value: 1, | ||
| 135 | - label: "已办结", | ||
| 136 | - }, | ||
| 137 | -]); | ||
| 138 | - | ||
| 139 | -const options = [ | ||
| 140 | - { | ||
| 141 | - value: 0, | ||
| 142 | - label: "系统分配", | ||
| 143 | - }, | ||
| 144 | - { | ||
| 145 | - value: 1, | ||
| 146 | - label: "人工分配", | ||
| 147 | - }, | ||
| 148 | -]; | ||
| 149 | - | ||
| 150 | const policyList = ref([ | 223 | const policyList = ref([ |
| 151 | { | 224 | { |
| 152 | policyId: 1, | 225 | policyId: 1, |
| @@ -161,6 +234,7 @@ const policyList = ref([ | @@ -161,6 +234,7 @@ const policyList = ref([ | ||
| 161 | assignment: 0, | 234 | assignment: 0, |
| 162 | handler: "张三", | 235 | handler: "张三", |
| 163 | statue: 0, | 236 | statue: 0, |
| 237 | + deprecatedReason: "无", | ||
| 164 | }, | 238 | }, |
| 165 | { | 239 | { |
| 166 | policyId: 2, | 240 | policyId: 2, |
| @@ -175,6 +249,7 @@ const policyList = ref([ | @@ -175,6 +249,7 @@ const policyList = ref([ | ||
| 175 | assignment: 0, | 249 | assignment: 0, |
| 176 | handler: "张三", | 250 | handler: "张三", |
| 177 | status: 0, | 251 | status: 0, |
| 252 | + deprecatedReason: "无", | ||
| 178 | }, | 253 | }, |
| 179 | { | 254 | { |
| 180 | policyId: 3, | 255 | policyId: 3, |
| @@ -189,6 +264,7 @@ const policyList = ref([ | @@ -189,6 +264,7 @@ const policyList = ref([ | ||
| 189 | assignment: 0, | 264 | assignment: 0, |
| 190 | handler: "张三", | 265 | handler: "张三", |
| 191 | status: 0, | 266 | status: 0, |
| 267 | + deprecatedReason: "无", | ||
| 192 | }, | 268 | }, |
| 193 | { | 269 | { |
| 194 | policyId: 4, | 270 | policyId: 4, |
| @@ -203,6 +279,7 @@ const policyList = ref([ | @@ -203,6 +279,7 @@ const policyList = ref([ | ||
| 203 | assignment: 1, | 279 | assignment: 1, |
| 204 | handler: "张三", | 280 | handler: "张三", |
| 205 | status: 1, | 281 | status: 1, |
| 282 | + deprecatedReason: "无", | ||
| 206 | }, | 283 | }, |
| 207 | { | 284 | { |
| 208 | policyId: 5, | 285 | policyId: 5, |
| @@ -217,6 +294,7 @@ const policyList = ref([ | @@ -217,6 +294,7 @@ const policyList = ref([ | ||
| 217 | assignment: 1, | 294 | assignment: 1, |
| 218 | handler: "张三", | 295 | handler: "张三", |
| 219 | status: 1, | 296 | status: 1, |
| 297 | + deprecatedReason: "无", | ||
| 220 | }, | 298 | }, |
| 221 | ]); | 299 | ]); |
| 222 | 300 | ||
| @@ -228,6 +306,17 @@ function handleSelectionChange(selection) { | @@ -228,6 +306,17 @@ function handleSelectionChange(selection) { | ||
| 228 | console.log(selection); | 306 | console.log(selection); |
| 229 | } | 307 | } |
| 230 | 308 | ||
| 309 | +/** 重置操作表单 */ | ||
| 310 | +function reset() { | ||
| 311 | + proxy.resetForm("policyRef"); | ||
| 312 | +} | ||
| 313 | + | ||
| 314 | +/** 修改按钮操作 */ | ||
| 315 | +function handleUpdate(row) { | ||
| 316 | + reset(); | ||
| 317 | + form.value = row; | ||
| 318 | + open.value = true; | ||
| 319 | +} | ||
| 231 | const getList = () => {}; | 320 | const getList = () => {}; |
| 232 | 321 | ||
| 233 | /** 搜索按钮操作 */ | 322 | /** 搜索按钮操作 */ |
| @@ -78,6 +78,7 @@ | @@ -78,6 +78,7 @@ | ||
| 78 | v-loading="loading" | 78 | v-loading="loading" |
| 79 | :data="policyList" | 79 | :data="policyList" |
| 80 | @selection-change="handleSelectionChange" | 80 | @selection-change="handleSelectionChange" |
| 81 | + @row-click="handleUpdate" | ||
| 81 | > | 82 | > |
| 82 | <el-table-column type="selection" width="55" align="center" /> | 83 | <el-table-column type="selection" width="55" align="center" /> |
| 83 | <el-table-column | 84 | <el-table-column |
| @@ -167,6 +168,136 @@ | @@ -167,6 +168,136 @@ | ||
| 167 | v-model:limit="queryParams.pageSize" | 168 | v-model:limit="queryParams.pageSize" |
| 168 | @pagination="getList" | 169 | @pagination="getList" |
| 169 | /> | 170 | /> |
| 171 | + | ||
| 172 | + <el-dialog v-model="open" title="保单信息" width="700" append-to-body> | ||
| 173 | + <el-form :model="form" ref="policyRef" label-width="100px"> | ||
| 174 | + <el-row> | ||
| 175 | + <el-col :span="12"> | ||
| 176 | + <el-form-item label="车牌号" prop="carNum"> | ||
| 177 | + <el-input | ||
| 178 | + v-model="form.carNum" | ||
| 179 | + placeholder="请输入车牌号" | ||
| 180 | + disabled | ||
| 181 | + /> | ||
| 182 | + </el-form-item> | ||
| 183 | + </el-col> | ||
| 184 | + <el-col :span="12"> | ||
| 185 | + <el-form-item label="车架号" prop="frameNum"> | ||
| 186 | + <el-input | ||
| 187 | + v-model="form.frameNum" | ||
| 188 | + disabled | ||
| 189 | + placeholder="请输入车架号" | ||
| 190 | + /> | ||
| 191 | + </el-form-item> | ||
| 192 | + </el-col> | ||
| 193 | + </el-row> | ||
| 194 | + <el-row> | ||
| 195 | + <el-col :span="12"> | ||
| 196 | + <el-form-item label="车主姓名" prop="name"> | ||
| 197 | + <el-input | ||
| 198 | + v-model="form.name" | ||
| 199 | + disabled | ||
| 200 | + placeholder="请输入车主姓名" | ||
| 201 | + /> | ||
| 202 | + </el-form-item> | ||
| 203 | + </el-col> | ||
| 204 | + <el-col :span="12"> | ||
| 205 | + <el-form-item label="联系电话" prop="phone"> | ||
| 206 | + <el-input | ||
| 207 | + v-model="form.phone" | ||
| 208 | + disabled | ||
| 209 | + placeholder="请输入联系电话" | ||
| 210 | + /> | ||
| 211 | + </el-form-item> | ||
| 212 | + </el-col> | ||
| 213 | + </el-row> | ||
| 214 | + <el-row> | ||
| 215 | + <el-col :span="12"> | ||
| 216 | + <el-form-item label="登记时间" prop="createTime"> | ||
| 217 | + <el-input | ||
| 218 | + v-model="form.createTime" | ||
| 219 | + disabled | ||
| 220 | + placeholder="请输入登记时间" | ||
| 221 | + /> | ||
| 222 | + </el-form-item> | ||
| 223 | + </el-col> | ||
| 224 | + <el-col :span="12"> | ||
| 225 | + <el-form-item label="办理人" prop="handler"> | ||
| 226 | + <el-input | ||
| 227 | + v-model="form.handler" | ||
| 228 | + disabled | ||
| 229 | + placeholder="请输入办理人" | ||
| 230 | + /> | ||
| 231 | + </el-form-item> | ||
| 232 | + </el-col> | ||
| 233 | + </el-row> | ||
| 234 | + <el-row> | ||
| 235 | + <el-col :span="12"> | ||
| 236 | + <el-form-item label="分配机制" prop="createTime"> | ||
| 237 | + <el-select | ||
| 238 | + v-model="form.assignment" | ||
| 239 | + placeholder="系统分配" | ||
| 240 | + clearable | ||
| 241 | + disabled | ||
| 242 | + style="width: 230px" | ||
| 243 | + > | ||
| 244 | + <el-option | ||
| 245 | + v-for="dict in options" | ||
| 246 | + :key="dict.value" | ||
| 247 | + :label="dict.label" | ||
| 248 | + :value="dict.value" | ||
| 249 | + /> | ||
| 250 | + </el-select> | ||
| 251 | + </el-form-item> | ||
| 252 | + </el-col> | ||
| 253 | + <el-col :span="12"> | ||
| 254 | + <el-form-item label="承保公司" prop="company"> | ||
| 255 | + <el-input | ||
| 256 | + v-model="form.company" | ||
| 257 | + disabled | ||
| 258 | + placeholder="请输入承保公司" | ||
| 259 | + /> | ||
| 260 | + </el-form-item> | ||
| 261 | + </el-col> | ||
| 262 | + </el-row> | ||
| 263 | + <el-row> | ||
| 264 | + <el-col :span="12"> | ||
| 265 | + <el-form-item label="保单状态" prop="progress"> | ||
| 266 | + <el-select | ||
| 267 | + v-model="form.status" | ||
| 268 | + placeholder="保单状态" | ||
| 269 | + clearable | ||
| 270 | + disabled | ||
| 271 | + style="width: 230px" | ||
| 272 | + > | ||
| 273 | + <el-option | ||
| 274 | + v-for="dict in statusOption" | ||
| 275 | + :key="dict.value" | ||
| 276 | + :label="dict.label" | ||
| 277 | + :value="dict.value" | ||
| 278 | + /> | ||
| 279 | + </el-select> | ||
| 280 | + </el-form-item> | ||
| 281 | + </el-col> | ||
| 282 | + </el-row> | ||
| 283 | + <el-form-item label="保单回馈" prop="progress"> | ||
| 284 | + <el-input | ||
| 285 | + :rows="6" | ||
| 286 | + disabled | ||
| 287 | + type="textarea" | ||
| 288 | + placeholder="请输入保单回馈" | ||
| 289 | + v-model="form.feedbank" | ||
| 290 | + resize="none" | ||
| 291 | + /> | ||
| 292 | + </el-form-item> | ||
| 293 | + </el-form> | ||
| 294 | + <template #footer> | ||
| 295 | + <div class="dialog-footer"> | ||
| 296 | + <el-button @click="open = false">取消</el-button> | ||
| 297 | + <el-button type="primary" @click="open = false">确定</el-button> | ||
| 298 | + </div> | ||
| 299 | + </template> | ||
| 300 | + </el-dialog> | ||
| 170 | </div> | 301 | </div> |
| 171 | </template> | 302 | </template> |
| 172 | 303 | ||
| @@ -174,6 +305,8 @@ | @@ -174,6 +305,8 @@ | ||
| 174 | const { proxy } = getCurrentInstance(); | 305 | const { proxy } = getCurrentInstance(); |
| 175 | const loading = ref(false); | 306 | const loading = ref(false); |
| 176 | const total = ref(5); | 307 | const total = ref(5); |
| 308 | +const open = ref(false); | ||
| 309 | +const form = ref({}); | ||
| 177 | const showSearch = ref(true); | 310 | const showSearch = ref(true); |
| 178 | const queryParams = reactive({ | 311 | const queryParams = reactive({ |
| 179 | pageNum: 1, | 312 | pageNum: 1, |
| @@ -221,6 +354,7 @@ const policyList = ref([ | @@ -221,6 +354,7 @@ const policyList = ref([ | ||
| 221 | assignment: 0, | 354 | assignment: 0, |
| 222 | handler: "张三", | 355 | handler: "张三", |
| 223 | statue: 0, | 356 | statue: 0, |
| 357 | + feedbank: "无", | ||
| 224 | }, | 358 | }, |
| 225 | { | 359 | { |
| 226 | policyId: 2, | 360 | policyId: 2, |
| @@ -235,6 +369,7 @@ const policyList = ref([ | @@ -235,6 +369,7 @@ const policyList = ref([ | ||
| 235 | assignment: 0, | 369 | assignment: 0, |
| 236 | handler: "张三", | 370 | handler: "张三", |
| 237 | status: 0, | 371 | status: 0, |
| 372 | + feedbank: "无", | ||
| 238 | }, | 373 | }, |
| 239 | { | 374 | { |
| 240 | policyId: 3, | 375 | policyId: 3, |
| @@ -249,6 +384,7 @@ const policyList = ref([ | @@ -249,6 +384,7 @@ const policyList = ref([ | ||
| 249 | assignment: 0, | 384 | assignment: 0, |
| 250 | handler: "张三", | 385 | handler: "张三", |
| 251 | status: 0, | 386 | status: 0, |
| 387 | + feedbank: "无", | ||
| 252 | }, | 388 | }, |
| 253 | { | 389 | { |
| 254 | policyId: 4, | 390 | policyId: 4, |
| @@ -263,6 +399,7 @@ const policyList = ref([ | @@ -263,6 +399,7 @@ const policyList = ref([ | ||
| 263 | assignment: 1, | 399 | assignment: 1, |
| 264 | handler: "张三", | 400 | handler: "张三", |
| 265 | status: 1, | 401 | status: 1, |
| 402 | + feedbank: "无", | ||
| 266 | }, | 403 | }, |
| 267 | { | 404 | { |
| 268 | policyId: 5, | 405 | policyId: 5, |
| @@ -277,6 +414,7 @@ const policyList = ref([ | @@ -277,6 +414,7 @@ const policyList = ref([ | ||
| 277 | assignment: 1, | 414 | assignment: 1, |
| 278 | handler: "张三", | 415 | handler: "张三", |
| 279 | status: 1, | 416 | status: 1, |
| 417 | + feedbank: "无", | ||
| 280 | }, | 418 | }, |
| 281 | ]); | 419 | ]); |
| 282 | 420 | ||
| @@ -287,7 +425,17 @@ function handleSelectionChange(selection) { | @@ -287,7 +425,17 @@ function handleSelectionChange(selection) { | ||
| 287 | // multiple.value = !selection.length; | 425 | // multiple.value = !selection.length; |
| 288 | console.log(selection); | 426 | console.log(selection); |
| 289 | } | 427 | } |
| 428 | +/** 重置操作表单 */ | ||
| 429 | +function reset() { | ||
| 430 | + proxy.resetForm("policyRef"); | ||
| 431 | +} | ||
| 290 | 432 | ||
| 433 | +/** 修改按钮操作 */ | ||
| 434 | +function handleUpdate(row) { | ||
| 435 | + reset(); | ||
| 436 | + form.value = row; | ||
| 437 | + open.value = true; | ||
| 438 | +} | ||
| 291 | const getList = () => {}; | 439 | const getList = () => {}; |
| 292 | 440 | ||
| 293 | /** 搜索按钮操作 */ | 441 | /** 搜索按钮操作 */ |
| @@ -78,6 +78,7 @@ | @@ -78,6 +78,7 @@ | ||
| 78 | v-loading="loading" | 78 | v-loading="loading" |
| 79 | :data="policyList" | 79 | :data="policyList" |
| 80 | @selection-change="handleSelectionChange" | 80 | @selection-change="handleSelectionChange" |
| 81 | + @row-click="handleUpdate" | ||
| 81 | > | 82 | > |
| 82 | <el-table-column type="selection" width="55" align="center" /> | 83 | <el-table-column type="selection" width="55" align="center" /> |
| 83 | <el-table-column | 84 | <el-table-column |
| @@ -167,6 +168,147 @@ | @@ -167,6 +168,147 @@ | ||
| 167 | v-model:limit="queryParams.pageSize" | 168 | v-model:limit="queryParams.pageSize" |
| 168 | @pagination="getList" | 169 | @pagination="getList" |
| 169 | /> | 170 | /> |
| 171 | + | ||
| 172 | + <!-- 编辑对话框 --> | ||
| 173 | + <el-dialog v-model="open" title="保单信息" width="700" append-to-body> | ||
| 174 | + <el-form :model="form" ref="policyRef" label-width="100px"> | ||
| 175 | + <el-row> | ||
| 176 | + <el-col :span="12"> | ||
| 177 | + <el-form-item label="车牌号" prop="carNum"> | ||
| 178 | + <el-input | ||
| 179 | + v-model="form.carNum" | ||
| 180 | + placeholder="请输入车牌号" | ||
| 181 | + disabled | ||
| 182 | + /> | ||
| 183 | + </el-form-item> | ||
| 184 | + </el-col> | ||
| 185 | + <el-col :span="12"> | ||
| 186 | + <el-form-item label="车架号" prop="frameNum"> | ||
| 187 | + <el-input | ||
| 188 | + v-model="form.frameNum" | ||
| 189 | + disabled | ||
| 190 | + placeholder="请输入车架号" | ||
| 191 | + /> | ||
| 192 | + </el-form-item> | ||
| 193 | + </el-col> | ||
| 194 | + </el-row> | ||
| 195 | + <el-row> | ||
| 196 | + <el-col :span="12"> | ||
| 197 | + <el-form-item label="车主姓名" prop="name"> | ||
| 198 | + <el-input | ||
| 199 | + v-model="form.name" | ||
| 200 | + disabled | ||
| 201 | + placeholder="请输入车主姓名" | ||
| 202 | + /> | ||
| 203 | + </el-form-item> | ||
| 204 | + </el-col> | ||
| 205 | + <el-col :span="12"> | ||
| 206 | + <el-form-item label="联系电话" prop="phone"> | ||
| 207 | + <el-input | ||
| 208 | + v-model="form.phone" | ||
| 209 | + disabled | ||
| 210 | + placeholder="请输入联系电话" | ||
| 211 | + /> | ||
| 212 | + </el-form-item> | ||
| 213 | + </el-col> | ||
| 214 | + </el-row> | ||
| 215 | + <el-row> | ||
| 216 | + <el-col :span="12"> | ||
| 217 | + <el-form-item label="登记时间" prop="createTime"> | ||
| 218 | + <el-input | ||
| 219 | + v-model="form.createTime" | ||
| 220 | + disabled | ||
| 221 | + placeholder="请输入登记时间" | ||
| 222 | + /> | ||
| 223 | + </el-form-item> | ||
| 224 | + </el-col> | ||
| 225 | + <el-col :span="12"> | ||
| 226 | + <el-form-item label="办理人" prop="handler"> | ||
| 227 | + <el-input | ||
| 228 | + v-model="form.handler" | ||
| 229 | + disabled | ||
| 230 | + placeholder="请输入办理人" | ||
| 231 | + /> | ||
| 232 | + </el-form-item> | ||
| 233 | + </el-col> | ||
| 234 | + </el-row> | ||
| 235 | + <el-row> | ||
| 236 | + <el-col :span="12"> | ||
| 237 | + <el-form-item label="操作时间" prop="authTime"> | ||
| 238 | + <el-input | ||
| 239 | + v-model="form.authTime" | ||
| 240 | + disabled | ||
| 241 | + placeholder="请输入操作时间" | ||
| 242 | + /> | ||
| 243 | + </el-form-item> | ||
| 244 | + </el-col> | ||
| 245 | + <el-col :span="12"> | ||
| 246 | + <el-form-item label="操作人员" prop="editAuth"> | ||
| 247 | + <el-input | ||
| 248 | + v-model="form.editAuth" | ||
| 249 | + disabled | ||
| 250 | + placeholder="请输入操作人员" | ||
| 251 | + /> | ||
| 252 | + </el-form-item> | ||
| 253 | + </el-col> | ||
| 254 | + </el-row> | ||
| 255 | + <el-row> | ||
| 256 | + <el-col :span="12"> | ||
| 257 | + <el-form-item label="分配机制" prop="createTime"> | ||
| 258 | + <el-select | ||
| 259 | + v-model="form.assignment" | ||
| 260 | + placeholder="系统分配" | ||
| 261 | + clearable | ||
| 262 | + disabled | ||
| 263 | + style="width: 230px" | ||
| 264 | + > | ||
| 265 | + <el-option | ||
| 266 | + v-for="dict in options" | ||
| 267 | + :key="dict.value" | ||
| 268 | + :label="dict.label" | ||
| 269 | + :value="dict.value" | ||
| 270 | + /> | ||
| 271 | + </el-select> | ||
| 272 | + </el-form-item> | ||
| 273 | + </el-col> | ||
| 274 | + <el-col :span="12"> | ||
| 275 | + <el-form-item label="承保公司" prop="company"> | ||
| 276 | + <el-input | ||
| 277 | + v-model="form.company" | ||
| 278 | + disabled | ||
| 279 | + placeholder="请输入承保公司" | ||
| 280 | + /> | ||
| 281 | + </el-form-item> | ||
| 282 | + </el-col> | ||
| 283 | + </el-row> | ||
| 284 | + <el-row> | ||
| 285 | + <el-col :span="12"> | ||
| 286 | + <el-form-item label="保单进度" prop="progress"> | ||
| 287 | + <el-select | ||
| 288 | + v-model="form.progress" | ||
| 289 | + placeholder="保单进度" | ||
| 290 | + clearable | ||
| 291 | + disabled | ||
| 292 | + style="width: 230px" | ||
| 293 | + > | ||
| 294 | + <el-option | ||
| 295 | + v-for="dict in progressOption" | ||
| 296 | + :key="dict.value" | ||
| 297 | + :label="dict.label" | ||
| 298 | + :value="dict.value" | ||
| 299 | + /> | ||
| 300 | + </el-select> | ||
| 301 | + </el-form-item> | ||
| 302 | + </el-col> | ||
| 303 | + </el-row> | ||
| 304 | + </el-form> | ||
| 305 | + <template #footer> | ||
| 306 | + <div class="dialog-footer"> | ||
| 307 | + <el-button @click="open = false">取消</el-button> | ||
| 308 | + <el-button type="primary" @click="open = false">确定</el-button> | ||
| 309 | + </div> | ||
| 310 | + </template> | ||
| 311 | + </el-dialog> | ||
| 170 | </div> | 312 | </div> |
| 171 | </template> | 313 | </template> |
| 172 | 314 | ||
| @@ -174,6 +316,8 @@ | @@ -174,6 +316,8 @@ | ||
| 174 | const { proxy } = getCurrentInstance(); | 316 | const { proxy } = getCurrentInstance(); |
| 175 | const loading = ref(false); | 317 | const loading = ref(false); |
| 176 | const total = ref(5); | 318 | const total = ref(5); |
| 319 | +const open = ref(false); | ||
| 320 | +const form = ref({}); | ||
| 177 | const showSearch = ref(true); | 321 | const showSearch = ref(true); |
| 178 | const queryParams = reactive({ | 322 | const queryParams = reactive({ |
| 179 | pageNum: 1, | 323 | pageNum: 1, |
| @@ -290,6 +434,18 @@ function handleSelectionChange(selection) { | @@ -290,6 +434,18 @@ function handleSelectionChange(selection) { | ||
| 290 | 434 | ||
| 291 | const getList = () => {}; | 435 | const getList = () => {}; |
| 292 | 436 | ||
| 437 | +/** 重置操作表单 */ | ||
| 438 | +function reset() { | ||
| 439 | + proxy.resetForm("policyRef"); | ||
| 440 | +} | ||
| 441 | + | ||
| 442 | +/** 修改按钮操作 */ | ||
| 443 | +function handleUpdate(row) { | ||
| 444 | + reset(); | ||
| 445 | + form.value = row; | ||
| 446 | + open.value = true; | ||
| 447 | +} | ||
| 448 | + | ||
| 293 | /** 搜索按钮操作 */ | 449 | /** 搜索按钮操作 */ |
| 294 | function handleQuery() { | 450 | function handleQuery() { |
| 295 | queryParams.value.pageNum = 1; | 451 | queryParams.value.pageNum = 1; |
| @@ -5,6 +5,7 @@ | @@ -5,6 +5,7 @@ | ||
| 5 | v-loading="loading" | 5 | v-loading="loading" |
| 6 | :data="policyList" | 6 | :data="policyList" |
| 7 | @selection-change="handleSelectionChange" | 7 | @selection-change="handleSelectionChange" |
| 8 | + @row-click="handleUpdate" | ||
| 8 | > | 9 | > |
| 9 | <el-table-column type="selection" width="55" align="center" /> | 10 | <el-table-column type="selection" width="55" align="center" /> |
| 10 | <el-table-column | 11 | <el-table-column |
| @@ -45,33 +46,46 @@ | @@ -45,33 +46,46 @@ | ||
| 45 | align="center" | 46 | align="center" |
| 46 | /> | 47 | /> |
| 47 | <el-table-column label="操作" align="center" width="360" fixed="right"> | 48 | <el-table-column label="操作" align="center" width="360" fixed="right"> |
| 48 | - <template #default="scope"> | 49 | + <template #default="{ row }"> |
| 49 | <el-popconfirm | 50 | <el-popconfirm |
| 50 | - width="2000" | ||
| 51 | - title="是否通过该保单?" | 51 | + width="200" |
| 52 | + hide-icon | ||
| 53 | + :title=" | ||
| 54 | + row.company === '无' | ||
| 55 | + ? '该登记信息未选择上年承保公司,系统将执行自动分配规则' | ||
| 56 | + : '该登记信息存在上年承保公司,系统自动流转保单至上年承保公司处理' | ||
| 57 | + " | ||
| 52 | confirm-button-text="确定" | 58 | confirm-button-text="确定" |
| 53 | cancel-button-text="取消" | 59 | cancel-button-text="取消" |
| 54 | - @confirm="handleSuccess(scope.row)" | 60 | + @confirm="handleSuccess(row)" |
| 55 | > | 61 | > |
| 56 | <template #reference> | 62 | <template #reference> |
| 57 | - <el-button type="success">通过</el-button> | 63 | + <el-button type="success" @click.stop="">通过</el-button> |
| 58 | </template> | 64 | </template> |
| 59 | </el-popconfirm> | 65 | </el-popconfirm> |
| 60 | 66 | ||
| 61 | - <el-button | ||
| 62 | - @click="handleFallback(scope.row)" | ||
| 63 | - v-hasPermi="['system:role:remove']" | ||
| 64 | - >退回</el-button | 67 | + <el-popconfirm |
| 68 | + width="200" | ||
| 69 | + hide-icon | ||
| 70 | + title="保单将退回至用户界面,用户修改后重新提交" | ||
| 71 | + confirm-button-text="确定" | ||
| 72 | + cancel-button-text="取消" | ||
| 73 | + @confirm="handleFallback(row)" | ||
| 65 | > | 74 | > |
| 75 | + <template #reference> | ||
| 76 | + <el-button @click.stop="">退回</el-button> | ||
| 77 | + </template> | ||
| 78 | + </el-popconfirm> | ||
| 79 | + | ||
| 66 | <el-button | 80 | <el-button |
| 67 | type="danger" | 81 | type="danger" |
| 68 | - @click="handleVoid(scope.row)" | 82 | + @click.stop="handleVoid(row)" |
| 69 | v-hasPermi="['system:role:edit']" | 83 | v-hasPermi="['system:role:edit']" |
| 70 | >作废</el-button | 84 | >作废</el-button |
| 71 | > | 85 | > |
| 72 | <el-button | 86 | <el-button |
| 73 | type="primary" | 87 | type="primary" |
| 74 | - @click="handleAuthCompany(scope.row)" | 88 | + @click.stop="handleAuthCompany(row)" |
| 75 | v-hasPermi="['system:role:edit']" | 89 | v-hasPermi="['system:role:edit']" |
| 76 | >分配承保公司</el-button | 90 | >分配承保公司</el-button |
| 77 | > | 91 | > |
| @@ -86,12 +100,171 @@ | @@ -86,12 +100,171 @@ | ||
| 86 | v-model:limit="queryParams.pageSize" | 100 | v-model:limit="queryParams.pageSize" |
| 87 | @pagination="getList" | 101 | @pagination="getList" |
| 88 | /> | 102 | /> |
| 103 | + | ||
| 104 | + <!-- 表单作废对话框 --> | ||
| 105 | + <el-dialog | ||
| 106 | + v-model="deprecatedShow" | ||
| 107 | + title="温馨提示:该保单作废后车牌号、车架号在本自然年度无法重新提交" | ||
| 108 | + width="500" | ||
| 109 | + append-to-body | ||
| 110 | + > | ||
| 111 | + <el-input | ||
| 112 | + :rows="6" | ||
| 113 | + type="textarea" | ||
| 114 | + placeholder="请输入作废原因" | ||
| 115 | + v-model="deprecatedReason" | ||
| 116 | + resize="none" | ||
| 117 | + /> | ||
| 118 | + <template #footer> | ||
| 119 | + <div class="dialog-footer"> | ||
| 120 | + <el-button @click="deprecatedShow = false">取消</el-button> | ||
| 121 | + <el-button type="primary" @click="deprecatedShow = false" | ||
| 122 | + >确定</el-button | ||
| 123 | + > | ||
| 124 | + </div> | ||
| 125 | + </template> | ||
| 126 | + </el-dialog> | ||
| 127 | + | ||
| 128 | + <!-- 分配承保公司对话框 --> | ||
| 129 | + <el-dialog | ||
| 130 | + v-model="companyShow" | ||
| 131 | + title="分配承保公司:" | ||
| 132 | + width="500" | ||
| 133 | + append-to-body | ||
| 134 | + > | ||
| 135 | + <div class="company_box"> | ||
| 136 | + <div class="header_top"> | ||
| 137 | + <el-input | ||
| 138 | + v-model="companyValue" | ||
| 139 | + style="width: 380px" | ||
| 140 | + placeholder="请输入承保公司名称(支持模糊查询)" | ||
| 141 | + prefix-icon="Search" | ||
| 142 | + /> | ||
| 143 | + <el-button type="primary">查询</el-button> | ||
| 144 | + </div> | ||
| 145 | + <el-radio-group v-model="company"> | ||
| 146 | + <el-radio | ||
| 147 | + v-for="item in companyList" | ||
| 148 | + :key="item.id" | ||
| 149 | + :label="item.value" | ||
| 150 | + >{{ item.label }}</el-radio | ||
| 151 | + > | ||
| 152 | + </el-radio-group> | ||
| 153 | + </div> | ||
| 154 | + <template #footer> | ||
| 155 | + <div class="dialog-footer"> | ||
| 156 | + <el-button @click="companyShow = false">取消</el-button> | ||
| 157 | + <el-button type="primary" @click="companyShow = false" | ||
| 158 | + >确定</el-button | ||
| 159 | + > | ||
| 160 | + </div> | ||
| 161 | + </template> | ||
| 162 | + </el-dialog> | ||
| 163 | + | ||
| 164 | + <!-- 编辑对话框 --> | ||
| 165 | + <el-dialog v-model="open" :title="title" width="700" append-to-body> | ||
| 166 | + <el-form :model="form" :rules="rules" ref="policyRef" label-width="100px"> | ||
| 167 | + <el-row> | ||
| 168 | + <el-col :span="12"> | ||
| 169 | + <el-form-item label="车牌号" prop="carNum"> | ||
| 170 | + <el-input | ||
| 171 | + v-model="form.carNum" | ||
| 172 | + placeholder="请输入车牌号" | ||
| 173 | + maxlength="30" | ||
| 174 | + /> | ||
| 175 | + </el-form-item> | ||
| 176 | + </el-col> | ||
| 177 | + <el-col :span="12"> | ||
| 178 | + <el-form-item label="车架号" prop="frameNum"> | ||
| 179 | + <el-input | ||
| 180 | + v-model="form.frameNum" | ||
| 181 | + placeholder="请输入车架号" | ||
| 182 | + maxlength="30" | ||
| 183 | + /> | ||
| 184 | + </el-form-item> | ||
| 185 | + </el-col> | ||
| 186 | + </el-row> | ||
| 187 | + <el-row> | ||
| 188 | + <el-col :span="12"> | ||
| 189 | + <el-form-item label="车主姓名" prop="name"> | ||
| 190 | + <el-input | ||
| 191 | + v-model="form.name" | ||
| 192 | + placeholder="请输入车主姓名" | ||
| 193 | + maxlength="11" | ||
| 194 | + /> | ||
| 195 | + </el-form-item> | ||
| 196 | + </el-col> | ||
| 197 | + <el-col :span="12"> | ||
| 198 | + <el-form-item label="联系电话" prop="phone"> | ||
| 199 | + <el-input | ||
| 200 | + v-model="form.phone" | ||
| 201 | + placeholder="请输入联系电话" | ||
| 202 | + maxlength="50" | ||
| 203 | + /> | ||
| 204 | + </el-form-item> | ||
| 205 | + </el-col> | ||
| 206 | + </el-row> | ||
| 207 | + <el-row> | ||
| 208 | + <el-col :span="12"> | ||
| 209 | + <el-form-item label="登记时间" prop="createTime"> | ||
| 210 | + <el-input | ||
| 211 | + v-model="form.createTime" | ||
| 212 | + placeholder="请输入登记时间" | ||
| 213 | + /> | ||
| 214 | + </el-form-item> | ||
| 215 | + </el-col> | ||
| 216 | + <el-col :span="12"> | ||
| 217 | + <el-form-item label="上年承保公司" prop="company"> | ||
| 218 | + <el-input | ||
| 219 | + v-model="form.company" | ||
| 220 | + placeholder="请输入上年承保公司" | ||
| 221 | + maxlength="50" | ||
| 222 | + /> | ||
| 223 | + </el-form-item> | ||
| 224 | + </el-col> | ||
| 225 | + </el-row> | ||
| 226 | + </el-form> | ||
| 227 | + <template #footer> | ||
| 228 | + <div class="dialog-footer"> | ||
| 229 | + <el-button @click="open = false">取消</el-button> | ||
| 230 | + <el-button type="primary" @click="open = false">确定</el-button> | ||
| 231 | + </div> | ||
| 232 | + </template> | ||
| 233 | + </el-dialog> | ||
| 89 | </div> | 234 | </div> |
| 90 | </template> | 235 | </template> |
| 91 | 236 | ||
| 92 | <script setup> | 237 | <script setup> |
| 238 | +const { proxy } = getCurrentInstance(); | ||
| 93 | const loading = ref(false); | 239 | const loading = ref(false); |
| 94 | const total = ref(5); | 240 | const total = ref(5); |
| 241 | +const title = ref("保单信息"); | ||
| 242 | +const open = ref(false); | ||
| 243 | +const form = ref({}); | ||
| 244 | +const rules = ref({ | ||
| 245 | + carNum: [{ required: true, message: "车牌号不能为空", trigger: "blur" }], | ||
| 246 | + frameNum: [{ required: true, message: "车架号不能为空", trigger: "blur" }], | ||
| 247 | + name: [{ required: true, message: "车主姓名不能为空", trigger: "blur" }], | ||
| 248 | + createTime: [{ required: true, message: "日期不能为空", trigger: "blur" }], | ||
| 249 | + phone: [ | ||
| 250 | + { | ||
| 251 | + pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, | ||
| 252 | + message: "请输入正确的手机号码", | ||
| 253 | + trigger: "blur", | ||
| 254 | + }, | ||
| 255 | + ], | ||
| 256 | +}); | ||
| 257 | +const companyShow = ref(false); | ||
| 258 | +const companyList = ref([ | ||
| 259 | + { id: 1, value: 0, label: "中国太平洋保险集团" }, | ||
| 260 | + { id: 2, value: 1, label: "中国平安财产保险股份有限公司" }, | ||
| 261 | + { id: 3, value: 2, label: "北部湾财产保险股份有限公司" }, | ||
| 262 | + { id: 4, value: 3, label: "华安财产保险股份有限公司" }, | ||
| 263 | +]); | ||
| 264 | +const company = ref(2); | ||
| 265 | +const companyValue = ref(""); | ||
| 266 | +const deprecatedShow = ref(false); | ||
| 267 | +const deprecatedReason = ref(""); | ||
| 95 | const queryParams = reactive({ | 268 | const queryParams = reactive({ |
| 96 | pageNum: 1, | 269 | pageNum: 1, |
| 97 | pageSize: 10, | 270 | pageSize: 10, |
| @@ -163,10 +336,50 @@ const handleFallback = () => { | @@ -163,10 +336,50 @@ const handleFallback = () => { | ||
| 163 | }; | 336 | }; |
| 164 | const handleVoid = () => { | 337 | const handleVoid = () => { |
| 165 | console.log("作废"); | 338 | console.log("作废"); |
| 339 | + deprecatedShow.value = true; | ||
| 166 | }; | 340 | }; |
| 167 | const handleAuthCompany = () => { | 341 | const handleAuthCompany = () => { |
| 168 | - console.log("分配承保公司"); | 342 | + companyShow.value = true; |
| 169 | }; | 343 | }; |
| 344 | +/** 重置操作表单 */ | ||
| 345 | +function reset() { | ||
| 346 | + form.value = { | ||
| 347 | + policyId: undefined, | ||
| 348 | + createTime: undefined, | ||
| 349 | + carNum: undefined, | ||
| 350 | + frameNum: undefined, | ||
| 351 | + name: undefined, | ||
| 352 | + phone: undefined, | ||
| 353 | + company: undefined, | ||
| 354 | + }; | ||
| 355 | + proxy.resetForm("policyRef"); | ||
| 356 | +} | ||
| 357 | + | ||
| 358 | +/** 修改按钮操作 */ | ||
| 359 | +function handleUpdate(row) { | ||
| 360 | + reset(); | ||
| 361 | + form.value = row; | ||
| 362 | + open.value = true; | ||
| 363 | +} | ||
| 364 | +/** 提交按钮 */ | ||
| 365 | +function submitForm() { | ||
| 366 | + proxy.$refs["policyRef"].validate((valid) => { | ||
| 367 | + if (valid) { | ||
| 368 | + proxy.$modal.msgSuccess("修改成功"); | ||
| 369 | + } | ||
| 370 | + }); | ||
| 371 | +} | ||
| 170 | </script> | 372 | </script> |
| 171 | 373 | ||
| 172 | -<style></style> | 374 | +<style lang="scss" scoped> |
| 375 | +::v-deep(.el-radio-group) { | ||
| 376 | + align-items: start; | ||
| 377 | + flex-direction: column; | ||
| 378 | +} | ||
| 379 | +.header_top { | ||
| 380 | + display: flex; | ||
| 381 | + align-items: center; | ||
| 382 | + gap: 30px; | ||
| 383 | + margin-bottom: 20px; | ||
| 384 | +} | ||
| 385 | +</style> |
| @@ -63,6 +63,7 @@ | @@ -63,6 +63,7 @@ | ||
| 63 | v-loading="loading" | 63 | v-loading="loading" |
| 64 | :data="policyList" | 64 | :data="policyList" |
| 65 | @selection-change="handleSelectionChange" | 65 | @selection-change="handleSelectionChange" |
| 66 | + @row-click="handleUpdate" | ||
| 66 | > | 67 | > |
| 67 | <el-table-column type="selection" width="55" align="center" /> | 68 | <el-table-column type="selection" width="55" align="center" /> |
| 68 | <el-table-column label="序号" prop="policyId" width="120" /> | 69 | <el-table-column label="序号" prop="policyId" width="120" /> |
| @@ -100,6 +101,127 @@ | @@ -100,6 +101,127 @@ | ||
| 100 | v-model:limit="queryParams.pageSize" | 101 | v-model:limit="queryParams.pageSize" |
| 101 | @pagination="getList" | 102 | @pagination="getList" |
| 102 | /> | 103 | /> |
| 104 | + | ||
| 105 | + <!-- 查阅对话框 --> | ||
| 106 | + <el-dialog v-model="open" title="保单信息" width="700" append-to-body> | ||
| 107 | + <el-form :model="form" ref="policyRef" label-width="100px"> | ||
| 108 | + <el-row> | ||
| 109 | + <el-col :span="12"> | ||
| 110 | + <el-form-item label="车牌号" prop="carNum"> | ||
| 111 | + <el-input | ||
| 112 | + v-model="form.carNum" | ||
| 113 | + placeholder="请输入车牌号" | ||
| 114 | + disabled | ||
| 115 | + /> | ||
| 116 | + </el-form-item> | ||
| 117 | + </el-col> | ||
| 118 | + <el-col :span="12"> | ||
| 119 | + <el-form-item label="车架号" prop="frameNum"> | ||
| 120 | + <el-input | ||
| 121 | + v-model="form.frameNum" | ||
| 122 | + disabled | ||
| 123 | + placeholder="请输入车架号" | ||
| 124 | + /> | ||
| 125 | + </el-form-item> | ||
| 126 | + </el-col> | ||
| 127 | + </el-row> | ||
| 128 | + <el-row> | ||
| 129 | + <el-col :span="12"> | ||
| 130 | + <el-form-item label="车主姓名" prop="name"> | ||
| 131 | + <el-input | ||
| 132 | + v-model="form.name" | ||
| 133 | + disabled | ||
| 134 | + placeholder="请输入车主姓名" | ||
| 135 | + /> | ||
| 136 | + </el-form-item> | ||
| 137 | + </el-col> | ||
| 138 | + <el-col :span="12"> | ||
| 139 | + <el-form-item label="联系电话" prop="phone"> | ||
| 140 | + <el-input | ||
| 141 | + v-model="form.phone" | ||
| 142 | + disabled | ||
| 143 | + placeholder="请输入联系电话" | ||
| 144 | + /> | ||
| 145 | + </el-form-item> | ||
| 146 | + </el-col> | ||
| 147 | + </el-row> | ||
| 148 | + <el-row> | ||
| 149 | + <el-col :span="12"> | ||
| 150 | + <el-form-item label="登记时间" prop="createTime"> | ||
| 151 | + <el-input | ||
| 152 | + v-model="form.createTime" | ||
| 153 | + disabled | ||
| 154 | + placeholder="请输入登记时间" | ||
| 155 | + /> | ||
| 156 | + </el-form-item> | ||
| 157 | + </el-col> | ||
| 158 | + <el-col :span="12"> | ||
| 159 | + <el-form-item label="上年承保公司" prop="last_year_company"> | ||
| 160 | + <el-input | ||
| 161 | + v-model="form.last_year_company" | ||
| 162 | + disabled | ||
| 163 | + placeholder="请输入上年承保公司" | ||
| 164 | + /> | ||
| 165 | + </el-form-item> | ||
| 166 | + </el-col> | ||
| 167 | + </el-row> | ||
| 168 | + <el-row> | ||
| 169 | + <el-col :span="12"> | ||
| 170 | + <el-form-item label="操作时间" prop="authTime"> | ||
| 171 | + <el-input | ||
| 172 | + v-model="form.authTime" | ||
| 173 | + disabled | ||
| 174 | + placeholder="请输入操作时间" | ||
| 175 | + /> | ||
| 176 | + </el-form-item> | ||
| 177 | + </el-col> | ||
| 178 | + <el-col :span="12"> | ||
| 179 | + <el-form-item label="操作人员" prop="editAuth"> | ||
| 180 | + <el-input | ||
| 181 | + v-model="form.editAuth" | ||
| 182 | + disabled | ||
| 183 | + placeholder="请输入操作人员" | ||
| 184 | + /> | ||
| 185 | + </el-form-item> | ||
| 186 | + </el-col> | ||
| 187 | + </el-row> | ||
| 188 | + <el-row> | ||
| 189 | + <el-col :span="12"> | ||
| 190 | + <el-form-item label="分配机制" prop="createTime"> | ||
| 191 | + <el-select | ||
| 192 | + v-model="form.assignment" | ||
| 193 | + placeholder="系统分配" | ||
| 194 | + clearable | ||
| 195 | + disabled | ||
| 196 | + style="width: 230px" | ||
| 197 | + > | ||
| 198 | + <el-option | ||
| 199 | + v-for="dict in options" | ||
| 200 | + :key="dict.value" | ||
| 201 | + :label="dict.label" | ||
| 202 | + :value="dict.value" | ||
| 203 | + /> | ||
| 204 | + </el-select> | ||
| 205 | + </el-form-item> | ||
| 206 | + </el-col> | ||
| 207 | + <el-col :span="12"> | ||
| 208 | + <el-form-item label="承保公司" prop="company"> | ||
| 209 | + <el-input | ||
| 210 | + v-model="form.company" | ||
| 211 | + disabled | ||
| 212 | + placeholder="请输入承保公司" | ||
| 213 | + /> | ||
| 214 | + </el-form-item> | ||
| 215 | + </el-col> | ||
| 216 | + </el-row> | ||
| 217 | + </el-form> | ||
| 218 | + <template #footer> | ||
| 219 | + <div class="dialog-footer"> | ||
| 220 | + <el-button @click="open = false">取消</el-button> | ||
| 221 | + <el-button type="primary" @click="open = false">确定</el-button> | ||
| 222 | + </div> | ||
| 223 | + </template> | ||
| 224 | + </el-dialog> | ||
| 103 | </div> | 225 | </div> |
| 104 | </template> | 226 | </template> |
| 105 | 227 | ||
| @@ -107,6 +229,8 @@ | @@ -107,6 +229,8 @@ | ||
| 107 | const { proxy } = getCurrentInstance(); | 229 | const { proxy } = getCurrentInstance(); |
| 108 | const loading = ref(false); | 230 | const loading = ref(false); |
| 109 | const total = ref(5); | 231 | const total = ref(5); |
| 232 | +const open = ref(false); | ||
| 233 | +const form = ref({}); | ||
| 110 | const showSearch = ref(true); | 234 | const showSearch = ref(true); |
| 111 | const queryParams = reactive({ | 235 | const queryParams = reactive({ |
| 112 | pageNum: 1, | 236 | pageNum: 1, |
| @@ -206,6 +330,18 @@ function handleSelectionChange(selection) { | @@ -206,6 +330,18 @@ function handleSelectionChange(selection) { | ||
| 206 | 330 | ||
| 207 | const getList = () => {}; | 331 | const getList = () => {}; |
| 208 | 332 | ||
| 333 | +/** 重置操作表单 */ | ||
| 334 | +function reset() { | ||
| 335 | + proxy.resetForm("policyRef"); | ||
| 336 | +} | ||
| 337 | + | ||
| 338 | +/** 修改按钮操作 */ | ||
| 339 | +function handleUpdate(row) { | ||
| 340 | + reset(); | ||
| 341 | + form.value = row; | ||
| 342 | + open.value = true; | ||
| 343 | +} | ||
| 344 | + | ||
| 209 | /** 搜索按钮操作 */ | 345 | /** 搜索按钮操作 */ |
| 210 | function handleQuery() { | 346 | function handleQuery() { |
| 211 | queryParams.value.pageNum = 1; | 347 | queryParams.value.pageNum = 1; |
| @@ -85,7 +85,7 @@ | @@ -85,7 +85,7 @@ | ||
| 85 | v-model="queryParams.name" | 85 | v-model="queryParams.name" |
| 86 | placeholder="请输入车主" | 86 | placeholder="请输入车主" |
| 87 | clearable | 87 | clearable |
| 88 | - style="width: 200px" | 88 | + style="width: 220px" |
| 89 | @keyup.enter="handleQuery" | 89 | @keyup.enter="handleQuery" |
| 90 | /> | 90 | /> |
| 91 | </el-form-item> | 91 | </el-form-item> |
| @@ -94,10 +94,19 @@ | @@ -94,10 +94,19 @@ | ||
| 94 | v-model="queryParams.carNum" | 94 | v-model="queryParams.carNum" |
| 95 | placeholder="请输入车牌号" | 95 | placeholder="请输入车牌号" |
| 96 | clearable | 96 | clearable |
| 97 | - style="width: 200px" | 97 | + style="width: 220px" |
| 98 | @keyup.enter="handleQuery" | 98 | @keyup.enter="handleQuery" |
| 99 | /> | 99 | /> |
| 100 | </el-form-item> | 100 | </el-form-item> |
| 101 | + <el-form-item label="时间范围" prop="timeFrame"> | ||
| 102 | + <el-date-picker | ||
| 103 | + v-model="queryParams.timeFrame" | ||
| 104 | + type="datetimerange" | ||
| 105 | + range-separator="To" | ||
| 106 | + start-placeholder="开始时间" | ||
| 107 | + end-placeholder="结束时间" | ||
| 108 | + /> | ||
| 109 | + </el-form-item> | ||
| 101 | <el-form-item> | 110 | <el-form-item> |
| 102 | <el-button type="primary" icon="Search" @click="handleQuery" | 111 | <el-button type="primary" icon="Search" @click="handleQuery" |
| 103 | >查询</el-button | 112 | >查询</el-button |
| @@ -105,12 +114,21 @@ | @@ -105,12 +114,21 @@ | ||
| 105 | <el-button icon="Refresh" @click="resetQuery">重置</el-button> | 114 | <el-button icon="Refresh" @click="resetQuery">重置</el-button> |
| 106 | </el-form-item> | 115 | </el-form-item> |
| 107 | </el-form> | 116 | </el-form> |
| 117 | + <!-- 数据统计 --> | ||
| 118 | + <div class="total_line"> | ||
| 119 | + <span>统计:平安保险公司(10条)</span> | ||
| 120 | + <span>已办结:3</span> | ||
| 121 | + <span>未办结:3</span> | ||
| 122 | + <span>待承接:2</span> | ||
| 123 | + <span>已承接:2</span> | ||
| 124 | + </div> | ||
| 108 | 125 | ||
| 109 | <!-- 表格数据 --> | 126 | <!-- 表格数据 --> |
| 110 | <el-table | 127 | <el-table |
| 111 | v-loading="loading" | 128 | v-loading="loading" |
| 112 | :data="policyList" | 129 | :data="policyList" |
| 113 | @selection-change="handleSelectionChange" | 130 | @selection-change="handleSelectionChange" |
| 131 | + @row-click="handleUpdate" | ||
| 114 | > | 132 | > |
| 115 | <el-table-column type="selection" width="55" align="center" /> | 133 | <el-table-column type="selection" width="55" align="center" /> |
| 116 | <el-table-column | 134 | <el-table-column |
| @@ -218,6 +236,165 @@ | @@ -218,6 +236,165 @@ | ||
| 218 | v-model:limit="queryParams.pageSize" | 236 | v-model:limit="queryParams.pageSize" |
| 219 | @pagination="getList" | 237 | @pagination="getList" |
| 220 | /> | 238 | /> |
| 239 | + | ||
| 240 | + <el-dialog v-model="open" title="保单信息" width="700" append-to-body> | ||
| 241 | + <el-form :model="form" ref="policyRef" label-width="100px"> | ||
| 242 | + <el-row> | ||
| 243 | + <el-col :span="12"> | ||
| 244 | + <el-form-item label="车牌号" prop="carNum"> | ||
| 245 | + <el-input | ||
| 246 | + v-model="form.carNum" | ||
| 247 | + placeholder="请输入车牌号" | ||
| 248 | + disabled | ||
| 249 | + /> | ||
| 250 | + </el-form-item> | ||
| 251 | + </el-col> | ||
| 252 | + <el-col :span="12"> | ||
| 253 | + <el-form-item label="车架号" prop="frameNum"> | ||
| 254 | + <el-input | ||
| 255 | + v-model="form.frameNum" | ||
| 256 | + disabled | ||
| 257 | + placeholder="请输入车架号" | ||
| 258 | + /> | ||
| 259 | + </el-form-item> | ||
| 260 | + </el-col> | ||
| 261 | + </el-row> | ||
| 262 | + <el-row> | ||
| 263 | + <el-col :span="12"> | ||
| 264 | + <el-form-item label="车主姓名" prop="name"> | ||
| 265 | + <el-input | ||
| 266 | + v-model="form.name" | ||
| 267 | + disabled | ||
| 268 | + placeholder="请输入车主姓名" | ||
| 269 | + /> | ||
| 270 | + </el-form-item> | ||
| 271 | + </el-col> | ||
| 272 | + <el-col :span="12"> | ||
| 273 | + <el-form-item label="联系电话" prop="phone"> | ||
| 274 | + <el-input | ||
| 275 | + v-model="form.phone" | ||
| 276 | + disabled | ||
| 277 | + placeholder="请输入联系电话" | ||
| 278 | + /> | ||
| 279 | + </el-form-item> | ||
| 280 | + </el-col> | ||
| 281 | + </el-row> | ||
| 282 | + <el-row> | ||
| 283 | + <el-col :span="12"> | ||
| 284 | + <el-form-item label="分配机制" prop="createTime"> | ||
| 285 | + <el-select | ||
| 286 | + v-model="form.assignment" | ||
| 287 | + placeholder="系统分配" | ||
| 288 | + clearable | ||
| 289 | + disabled | ||
| 290 | + style="width: 230px" | ||
| 291 | + > | ||
| 292 | + <el-option | ||
| 293 | + v-for="dict in options" | ||
| 294 | + :key="dict.value" | ||
| 295 | + :label="dict.label" | ||
| 296 | + :value="dict.value" | ||
| 297 | + /> | ||
| 298 | + </el-select> | ||
| 299 | + </el-form-item> | ||
| 300 | + </el-col> | ||
| 301 | + <el-col :span="12"> | ||
| 302 | + <el-form-item label="承保公司" prop="company"> | ||
| 303 | + <el-input | ||
| 304 | + v-model="form.company" | ||
| 305 | + disabled | ||
| 306 | + placeholder="请输入承保公司" | ||
| 307 | + /> | ||
| 308 | + </el-form-item> | ||
| 309 | + </el-col> | ||
| 310 | + </el-row> | ||
| 311 | + <el-row> | ||
| 312 | + <el-col :span="12"> | ||
| 313 | + <el-form-item label="操作时间" prop="authTime"> | ||
| 314 | + <el-input | ||
| 315 | + v-model="form.authTime" | ||
| 316 | + disabled | ||
| 317 | + placeholder="请输入操作时间" | ||
| 318 | + /> | ||
| 319 | + </el-form-item> | ||
| 320 | + </el-col> | ||
| 321 | + <el-col :span="12"> | ||
| 322 | + <el-form-item label="操作人员" prop="editAuth"> | ||
| 323 | + <el-input | ||
| 324 | + v-model="form.editAuth" | ||
| 325 | + disabled | ||
| 326 | + placeholder="请输入操作人员" | ||
| 327 | + /> | ||
| 328 | + </el-form-item> | ||
| 329 | + </el-col> | ||
| 330 | + </el-row> | ||
| 331 | + <el-row> | ||
| 332 | + <el-col :span="12"> | ||
| 333 | + <el-form-item label="保单状态" prop="progress"> | ||
| 334 | + <el-select | ||
| 335 | + v-model="form.status" | ||
| 336 | + placeholder="保单状态" | ||
| 337 | + clearable | ||
| 338 | + disabled | ||
| 339 | + style="width: 230px" | ||
| 340 | + > | ||
| 341 | + <el-option | ||
| 342 | + v-for="dict in statusOption" | ||
| 343 | + :key="dict.value" | ||
| 344 | + :label="dict.label" | ||
| 345 | + :value="dict.value" | ||
| 346 | + /> | ||
| 347 | + </el-select> | ||
| 348 | + </el-form-item> | ||
| 349 | + </el-col> | ||
| 350 | + <el-col :span="12"> | ||
| 351 | + <el-form-item label="保单进度" prop="progress"> | ||
| 352 | + <el-select | ||
| 353 | + v-model="form.progress" | ||
| 354 | + placeholder="保单进度" | ||
| 355 | + clearable | ||
| 356 | + disabled | ||
| 357 | + style="width: 230px" | ||
| 358 | + > | ||
| 359 | + <el-option | ||
| 360 | + v-for="dict in progressOption" | ||
| 361 | + :key="dict.value" | ||
| 362 | + :label="dict.label" | ||
| 363 | + :value="dict.value" | ||
| 364 | + /> | ||
| 365 | + </el-select> | ||
| 366 | + </el-form-item> | ||
| 367 | + </el-col> | ||
| 368 | + </el-row> | ||
| 369 | + <el-row> | ||
| 370 | + <el-col :span="12"> | ||
| 371 | + <el-form-item label="登记时间" prop="createTime"> | ||
| 372 | + <el-input | ||
| 373 | + v-model="form.createTime" | ||
| 374 | + disabled | ||
| 375 | + placeholder="请输入登记时间" | ||
| 376 | + /> | ||
| 377 | + </el-form-item> | ||
| 378 | + </el-col> | ||
| 379 | + </el-row> | ||
| 380 | + <el-form-item label="作废原因" prop="progress"> | ||
| 381 | + <el-input | ||
| 382 | + :rows="6" | ||
| 383 | + disabled | ||
| 384 | + type="textarea" | ||
| 385 | + placeholder="请输入作废原因" | ||
| 386 | + v-model="form.deprecatedReason" | ||
| 387 | + resize="none" | ||
| 388 | + /> | ||
| 389 | + </el-form-item> | ||
| 390 | + </el-form> | ||
| 391 | + <template #footer> | ||
| 392 | + <div class="dialog-footer"> | ||
| 393 | + <el-button @click="open = false">取消</el-button> | ||
| 394 | + <el-button type="primary" @click="open = false">确定</el-button> | ||
| 395 | + </div> | ||
| 396 | + </template> | ||
| 397 | + </el-dialog> | ||
| 221 | </div> | 398 | </div> |
| 222 | </template> | 399 | </template> |
| 223 | 400 | ||
| @@ -225,6 +402,8 @@ | @@ -225,6 +402,8 @@ | ||
| 225 | const { proxy } = getCurrentInstance(); | 402 | const { proxy } = getCurrentInstance(); |
| 226 | const loading = ref(false); | 403 | const loading = ref(false); |
| 227 | const total = ref(5); | 404 | const total = ref(5); |
| 405 | +const open = ref(false); | ||
| 406 | +const form = ref({}); | ||
| 228 | const showSearch = ref(true); | 407 | const showSearch = ref(true); |
| 229 | const queryParams = reactive({ | 408 | const queryParams = reactive({ |
| 230 | pageNum: 1, | 409 | pageNum: 1, |
| @@ -237,6 +416,7 @@ const queryParams = reactive({ | @@ -237,6 +416,7 @@ const queryParams = reactive({ | ||
| 237 | company: "", | 416 | company: "", |
| 238 | handler: "", | 417 | handler: "", |
| 239 | status: "", | 418 | status: "", |
| 419 | + timeFrame: "", | ||
| 240 | }); | 420 | }); |
| 241 | 421 | ||
| 242 | const statusOption = ref([ | 422 | const statusOption = ref([ |
| @@ -248,6 +428,10 @@ const statusOption = ref([ | @@ -248,6 +428,10 @@ const statusOption = ref([ | ||
| 248 | value: 1, | 428 | value: 1, |
| 249 | label: "已办结", | 429 | label: "已办结", |
| 250 | }, | 430 | }, |
| 431 | + { | ||
| 432 | + value: 3, | ||
| 433 | + label: "已作废", | ||
| 434 | + }, | ||
| 251 | ]); | 435 | ]); |
| 252 | 436 | ||
| 253 | const progressOption = ref([ | 437 | const progressOption = ref([ |
| @@ -360,6 +544,18 @@ function handleSelectionChange(selection) { | @@ -360,6 +544,18 @@ function handleSelectionChange(selection) { | ||
| 360 | 544 | ||
| 361 | const getList = () => {}; | 545 | const getList = () => {}; |
| 362 | 546 | ||
| 547 | +/** 重置操作表单 */ | ||
| 548 | +function reset() { | ||
| 549 | + proxy.resetForm("policyRef"); | ||
| 550 | +} | ||
| 551 | + | ||
| 552 | +/** 修改按钮操作 */ | ||
| 553 | +function handleUpdate(row) { | ||
| 554 | + reset(); | ||
| 555 | + form.value = row; | ||
| 556 | + open.value = true; | ||
| 557 | +} | ||
| 558 | + | ||
| 363 | /** 搜索按钮操作 */ | 559 | /** 搜索按钮操作 */ |
| 364 | function handleQuery() { | 560 | function handleQuery() { |
| 365 | queryParams.value.pageNum = 1; | 561 | queryParams.value.pageNum = 1; |
| @@ -372,4 +568,13 @@ function resetQuery() { | @@ -372,4 +568,13 @@ function resetQuery() { | ||
| 372 | } | 568 | } |
| 373 | </script> | 569 | </script> |
| 374 | 570 | ||
| 375 | -<style></style> | 571 | +<style> |
| 572 | +.total_line { | ||
| 573 | + display: flex; | ||
| 574 | + align-items: center; | ||
| 575 | + gap: 10px; | ||
| 576 | + margin-bottom: 20px; | ||
| 577 | + font-size: 14px; | ||
| 578 | + color: #666; | ||
| 579 | +} | ||
| 580 | +</style> |
-
请 注册 或 登录 后发表评论