作者 xiaoqiu

完成修改

1 # 页面标题 1 # 页面标题
2 -VITE_APP_TITLE = 广西车险登记平台 2 +VITE_APP_TITLE = 广西车险投保登记平台
3 3
4 # 开发环境配置 4 # 开发环境配置
5 VITE_APP_ENV = 'development' 5 VITE_APP_ENV = 'development'
1 # 页面标题 1 # 页面标题
2 -VITE_APP_TITLE = 广西车险登记平台 2 +VITE_APP_TITLE = 广西车险投保登记平台
3 3
4 # 生产环境配置 4 # 生产环境配置
5 VITE_APP_ENV = 'production' 5 VITE_APP_ENV = 'production'
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 <meta name="renderer" content="webkit"> 7 <meta name="renderer" content="webkit">
8 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 8 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
9 <link rel="icon" href="/favicon.ico"> 9 <link rel="icon" href="/favicon.ico">
10 - <title>广西保险行业协会车险投保登记平台</title> 10 + <title>广西车险投保登记平台</title>
11 <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]--> 11 <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
12 <style> 12 <style>
13 html, 13 html,
不能预览此文件类型
@@ -18,4 +18,11 @@ onMounted(() => { @@ -18,4 +18,11 @@ onMounted(() => {
18 input::-webkit-inner-spin-button { 18 input::-webkit-inner-spin-button {
19 -webkit-appearance: none !important; 19 -webkit-appearance: none !important;
20 } 20 }
  21 +* {
  22 + margin: 0;
  23 + padding: 0;
  24 +}
  25 +img {
  26 + width: 100%;
  27 +}
21 </style> 28 </style>
  1 +.depreacatContent {
  2 + width: 100%;
  3 + height: 200px;
  4 + overflow: scroll;
  5 + background-color: #f5f7fa;
  6 + border: 1px solid #dcdfe6;
  7 + border-radius: 4px;
  8 + padding-left: 11px;
  9 + color: #bbb;
  10 +}
@@ -50,7 +50,7 @@ @@ -50,7 +50,7 @@
50 50
51 <script setup> 51 <script setup>
52 import variables from "@/assets/styles/variables.module.scss"; 52 import variables from "@/assets/styles/variables.module.scss";
53 -import logo from "@/assets/logo/logo.png"; 53 +import logo from "@/assets/logo/logo.jpg";
54 import useSettingsStore from "@/store/modules/settings"; 54 import useSettingsStore from "@/store/modules/settings";
55 55
56 defineProps({ 56 defineProps({
@@ -137,7 +137,7 @@ @@ -137,7 +137,7 @@
137 <el-form-item label="企业名称" prop="businessName"> 137 <el-form-item label="企业名称" prop="businessName">
138 <el-input 138 <el-input
139 v-model="form.businessName" 139 v-model="form.businessName"
140 - :disabled="!hasRole" 140 + disabled
141 placeholder="请输入企业名称" 141 placeholder="请输入企业名称"
142 /> 142 />
143 </el-form-item> 143 </el-form-item>
@@ -146,7 +146,7 @@ @@ -146,7 +146,7 @@
146 <el-form-item label="联系电话" prop="businessPhone"> 146 <el-form-item label="联系电话" prop="businessPhone">
147 <el-input 147 <el-input
148 v-model="form.businessPhone" 148 v-model="form.businessPhone"
149 - :disabled="!hasRole" 149 + disabled
150 placeholder="请输入联系电话" 150 placeholder="请输入联系电话"
151 /> 151 />
152 </el-form-item> 152 </el-form-item>
@@ -173,7 +173,7 @@ @@ -173,7 +173,7 @@
173 <el-form-item label="信用代码" prop="uniformCreditCode"> 173 <el-form-item label="信用代码" prop="uniformCreditCode">
174 <el-input 174 <el-input
175 v-model="form.uniformCreditCode" 175 v-model="form.uniformCreditCode"
176 - :disabled="!hasRole" 176 + disabled
177 placeholder="请输入信用代码" 177 placeholder="请输入信用代码"
178 /> 178 />
179 </el-form-item> 179 </el-form-item>
@@ -194,7 +194,7 @@ @@ -194,7 +194,7 @@
194 </el-col> 194 </el-col>
195 </el-row> 195 </el-row>
196 <el-form-item label="作废原因" prop="progress"> 196 <el-form-item label="作废原因" prop="progress">
197 - <QuillEditor :value="form.deprecatedReason" @updateValue="getMsg" /> 197 + <div class="depreacatContent" v-html="form.deprecatedReason"></div>
198 </el-form-item> 198 </el-form-item>
199 </el-form> 199 </el-form>
200 </el-dialog> 200 </el-dialog>
@@ -254,11 +254,10 @@ function resetQuery() { @@ -254,11 +254,10 @@ function resetQuery() {
254 proxy.resetForm("queryRef"); 254 proxy.resetForm("queryRef");
255 handleQuery(); 255 handleQuery();
256 } 256 }
257 -const getMsg = (val) => {  
258 - console.log(val);  
259 -};  
260 257
261 getList(); 258 getList();
262 </script> 259 </script>
263 260
264 -<style></style> 261 +<style lang="scss" scoped>
  262 +@import "@/assets/styles/fullText.scss";
  263 +</style>
@@ -282,7 +282,7 @@ @@ -282,7 +282,7 @@
282 </el-col> 282 </el-col>
283 </el-row> 283 </el-row>
284 <el-form-item label="保单回馈" prop="progress"> 284 <el-form-item label="保单回馈" prop="progress">
285 - <QuillEditor :value="form.message" @updateValue="getMsg" /> 285 + <div class="depreacatContent" v-html="form.message"></div>
286 </el-form-item> 286 </el-form-item>
287 </el-form> 287 </el-form>
288 </el-dialog> 288 </el-dialog>
@@ -296,7 +296,6 @@ const loading = ref(false); @@ -296,7 +296,6 @@ const loading = ref(false);
296 const total = ref(5); 296 const total = ref(5);
297 const open = ref(false); 297 const open = ref(false);
298 const form = ref({}); 298 const form = ref({});
299 -const timer = ref(null);  
300 const showSearch = ref(true); 299 const showSearch = ref(true);
301 const hasRole = computed(() => { 300 const hasRole = computed(() => {
302 return !proxy.$auth.hasRole("associationemployee"); 301 return !proxy.$auth.hasRole("associationemployee");
@@ -367,13 +366,9 @@ function resetQuery() { @@ -367,13 +366,9 @@ function resetQuery() {
367 proxy.resetForm("queryRef"); 366 proxy.resetForm("queryRef");
368 handleQuery(); 367 handleQuery();
369 } 368 }
370 -const getMsg = (val) => {  
371 - clearTimeout(timer.value);  
372 - timer.value = setTimeout(() => {  
373 - form.value.message = val;  
374 - }, 1000);  
375 -};  
376 getList(); 369 getList();
377 </script> 370 </script>
378 371
379 -<style></style> 372 +<style lang="scss" scoped>
  373 +@import "@/assets/styles/fullText.scss";
  374 +</style>
@@ -295,24 +295,45 @@ @@ -295,24 +295,45 @@
295 width="500" 295 width="500"
296 append-to-body 296 append-to-body
297 > 297 >
298 - <el-form :model="FeedbackForm" ref="policyRef" label-width="100px">  
299 - <el-form-item label="商险单号" prop="progress">  
300 - <el-input  
301 - v-model="FeedbackForm.commercialinsurancepolicynumber"  
302 - placeholder="请输入保单号"  
303 - :disabled="hasRole"  
304 - />  
305 - </el-form-item>  
306 - <el-form-item label="强险单号" prop="progress">  
307 - <el-input  
308 - v-model="FeedbackForm.stronginsurancepolicynumber"  
309 - placeholder="请输入保单号"  
310 - :disabled="hasRole"  
311 - />  
312 - </el-form-item>  
313 - <el-form-item label="保单回馈" prop="progress">  
314 - <QuillEditor :value="FeedbackForm.message" @updateValue="getMsg" />  
315 - </el-form-item> 298 + <p style="margin-bottom: 10px; color: red">请根据实际情况填写保单号</p>
  299 + <el-form
  300 + :model="FeedbackForm"
  301 + ref="policyRef"
  302 + label-width="100px"
  303 + label-position="top"
  304 + >
  305 + <el-row :gutter="20">
  306 + <el-col :span="12">
  307 + <el-form-item label="商业险保单号" prop="progress">
  308 + <el-input
  309 + v-model="FeedbackForm.commercialinsurancepolicynumber"
  310 + placeholder="请输入保单号"
  311 + :disabled="hasRole"
  312 + style="width: 220px"
  313 + />
  314 + </el-form-item>
  315 + </el-col>
  316 + <el-col :span="12">
  317 + <el-form-item label="交强险保单号" prop="progress">
  318 + <el-input
  319 + v-model="FeedbackForm.stronginsurancepolicynumber"
  320 + placeholder="请输入保单号"
  321 + :disabled="hasRole"
  322 + style="width: 220px"
  323 + />
  324 + </el-form-item>
  325 + </el-col>
  326 + </el-row>
  327 + <el-row>
  328 + <el-col :span="24">
  329 + <el-form-item prop="progress" label="保单回馈内容">
  330 + <QuillEditor
  331 + :value="FeedbackForm.message"
  332 + @updateValue="getMsg"
  333 + />
  334 + </el-form-item>
  335 + </el-col>
  336 + </el-row>
316 </el-form> 337 </el-form>
317 <template #footer> 338 <template #footer>
318 <div class="dialog-footer"> 339 <div class="dialog-footer">
@@ -866,7 +887,6 @@ const getReason = (val) => { @@ -866,7 +887,6 @@ const getReason = (val) => {
866 const submitUpdate = () => { 887 const submitUpdate = () => {
867 updateCarInfo(form.value).then((response) => { 888 updateCarInfo(form.value).then((response) => {
868 proxy.$modal.msgSuccess("修改成功"); 889 proxy.$modal.msgSuccess("修改成功");
869 - open.value = false;  
870 getList(); 890 getList();
871 }); 891 });
872 }; 892 };
@@ -18,7 +18,7 @@ @@ -18,7 +18,7 @@
18 type="primary" 18 type="primary"
19 plain 19 plain
20 icon="Plus" 20 icon="Plus"
21 - v-hasPermi="['system:rule:add']" 21 + v-hasRole="['admin']"
22 @click="handleAdd" 22 @click="handleAdd"
23 >新增</el-button 23 >新增</el-button
24 > 24 >
@@ -28,6 +28,7 @@ @@ -28,6 +28,7 @@
28 type="success" 28 type="success"
29 plain 29 plain
30 icon="Edit" 30 icon="Edit"
  31 + v-hasRole="['admin']"
31 :disabled="multiple" 32 :disabled="multiple"
32 @click="handleMultipleUpdate" 33 @click="handleMultipleUpdate"
33 >批量修改</el-button 34 >批量修改</el-button
@@ -53,6 +54,11 @@ @@ -53,6 +54,11 @@
53 /> 54 />
54 </template> 55 </template>
55 </el-table-column> 56 </el-table-column>
  57 + <el-table-column label="当前轮次分配数" align="center">
  58 + <template #default="{ row }">
  59 + <span>{{ row.quantity < 0 ? 0 : row.quantity }}</span>
  60 + </template>
  61 + </el-table-column>
56 <el-table-column 62 <el-table-column
57 label="周期分配订单" 63 label="周期分配订单"
58 width="240" 64 width="240"
@@ -64,6 +70,7 @@ @@ -64,6 +70,7 @@
64 </template> 70 </template>
65 </el-table-column> 71 </el-table-column>
66 <el-table-column 72 <el-table-column
  73 + v-if="checkRole(['admin'])"
67 label="操作" 74 label="操作"
68 align="center" 75 align="center"
69 fixed="right" 76 fixed="right"
@@ -131,6 +138,7 @@ import { @@ -131,6 +138,7 @@ import {
131 } from "@/api/configurationCenter/rules.js"; 138 } from "@/api/configurationCenter/rules.js";
132 import { getCount } from "@/api/policy/index"; 139 import { getCount } from "@/api/policy/index";
133 import { listDept } from "@/api/system/dept"; 140 import { listDept } from "@/api/system/dept";
  141 +import { checkRole } from "@/utils/permission"; // 权限判断函数
134 const { proxy } = getCurrentInstance(); 142 const { proxy } = getCurrentInstance();
135 const loading = ref(false); 143 const loading = ref(false);
136 const multiple = ref(true); 144 const multiple = ref(true);
@@ -47,7 +47,50 @@ @@ -47,7 +47,50 @@
47 </el-card> 47 </el-card>
48 </el-col> 48 </el-col>
49 <el-col :span="18" :xs="24"> 49 <el-col :span="18" :xs="24">
50 - <PanelGroup :totalList="totalList" /> 50 + <!-- 个人车险 -->
  51 + <div style="font-weight: 500">{{ peopleCompany }}个人车险统计</div>
  52 + <div
  53 + v-hasRole="['admin', 'associationemployee']"
  54 + class="select_company"
  55 + >
  56 + <p>选择保险公司</p>
  57 + <el-select
  58 + v-model="queryParamsPeople.deptIds[0]"
  59 + placeholder="请选择保险公司"
  60 + style="width: 240px"
  61 + @change="getPeopleList"
  62 + >
  63 + <el-option
  64 + v-for="item in deptOptions"
  65 + :key="item.deptId"
  66 + :label="item.deptName"
  67 + :value="item.deptId"
  68 + />
  69 + </el-select>
  70 + </div>
  71 + <PanelGroup :totalList="peopleTotalList" />
  72 + <!-- 企业车险 -->
  73 + <div style="font-weight: 500">{{ businessCompany }}企业车险统计</div>
  74 + <div
  75 + v-hasRole="['admin', 'associationemployee']"
  76 + class="select_company"
  77 + >
  78 + <p>选择保险公司</p>
  79 + <el-select
  80 + v-model="queryParamsBusiness.deptIds[0]"
  81 + placeholder="请选择保险公司"
  82 + style="width: 240px"
  83 + @change="getBusinessList"
  84 + >
  85 + <el-option
  86 + v-for="item in deptOptions"
  87 + :key="item.deptId"
  88 + :label="item.deptName"
  89 + :value="item.deptId"
  90 + />
  91 + </el-select>
  92 + </div>
  93 + <PanelGroup :totalList="businessTotalList" />
51 <!-- 统计柱状图 --> 94 <!-- 统计柱状图 -->
52 <div class="echarts_box"> 95 <div class="echarts_box">
53 <div 96 <div
@@ -56,7 +99,7 @@ @@ -56,7 +99,7 @@
56 > 99 >
57 <p>选择保险公司</p> 100 <p>选择保险公司</p>
58 <el-select 101 <el-select
59 - v-model="queryParams.deptIds[0]" 102 + v-model="allQueryParams.deptIds[0]"
60 placeholder="请选择保险公司" 103 placeholder="请选择保险公司"
61 style="width: 240px" 104 style="width: 240px"
62 @change="getList" 105 @change="getList"
@@ -87,7 +130,13 @@ const { proxy } = getCurrentInstance(); @@ -87,7 +130,13 @@ const { proxy } = getCurrentInstance();
87 const userStore = useUserStore(); 130 const userStore = useUserStore();
88 const chartRef = ref(null); 131 const chartRef = ref(null);
89 const listData = ref([]); 132 const listData = ref([]);
90 -const totalList = ref({ 133 +const peopleTotalList = ref({
  134 + 0: 0,
  135 + 1: 0,
  136 + 2: 0,
  137 + 3: 0,
  138 +});
  139 +const businessTotalList = ref({
91 0: 0, 140 0: 0,
92 1: 0, 141 1: 0,
93 2: 0, 142 2: 0,
@@ -95,9 +144,32 @@ const totalList = ref({ @@ -95,9 +144,32 @@ const totalList = ref({
95 }); 144 });
96 const xList = ref([]); 145 const xList = ref([]);
97 const company = ref(""); 146 const company = ref("");
  147 +const businessCompany = ref("");
  148 +const peopleCompany = ref("");
98 const option = ref({}); 149 const option = ref({});
99 const deptOptions = ref([]); 150 const deptOptions = ref([]);
100 -const queryParams = reactive({ 151 +// 个人车险请求参数
  152 +const queryParamsPeople = reactive({
  153 + deptIds: [""],
  154 + type: 1,
  155 + registrationType: 0,
  156 + startTime: proxy.parseTime(
  157 + new Date().setFullYear(new Date().getFullYear() - 1)
  158 + ),
  159 + endTime: proxy.parseTime(new Date()),
  160 +});
  161 +// 个人车险请求参数
  162 +const queryParamsBusiness = reactive({
  163 + deptIds: [""],
  164 + type: 1,
  165 + registrationType: 1,
  166 + startTime: proxy.parseTime(
  167 + new Date().setFullYear(new Date().getFullYear() - 1)
  168 + ),
  169 + endTime: proxy.parseTime(new Date()),
  170 +});
  171 +// 全部请求参数
  172 +const allQueryParams = reactive({
101 deptIds: [""], 173 deptIds: [""],
102 type: 1, 174 type: 1,
103 startTime: proxy.parseTime( 175 startTime: proxy.parseTime(
@@ -113,6 +185,8 @@ const state = reactive({ @@ -113,6 +185,8 @@ const state = reactive({
113 185
114 onMounted(() => { 186 onMounted(() => {
115 getList(); 187 getList();
  188 + getPeopleList();
  189 + getBusinessList();
116 if (proxy.$auth.hasRoleOr(["admin", "associationemployee"])) { 190 if (proxy.$auth.hasRoleOr(["admin", "associationemployee"])) {
117 getDeptList(); 191 getDeptList();
118 } 192 }
@@ -142,7 +216,7 @@ const showText = (index) => { @@ -142,7 +216,7 @@ const showText = (index) => {
142 }; 216 };
143 // 获取统计数据 217 // 获取统计数据
144 const getList = async () => { 218 const getList = async () => {
145 - const { data } = await getStatistics(queryParams); 219 + const { data } = await getStatistics(allQueryParams);
146 xList.value = data?.map((item) => item.month); 220 xList.value = data?.map((item) => item.month);
147 let newData = data?.map((data) => data.statisticsVo[0]); 221 let newData = data?.map((data) => data.statisticsVo[0]);
148 let newArr = newData?.map((item) => { 222 let newArr = newData?.map((item) => {
@@ -157,7 +231,6 @@ const getList = async () => { @@ -157,7 +231,6 @@ const getList = async () => {
157 for (let i = 0; i < 4; i++) { 231 for (let i = 0; i < 4; i++) {
158 for (let j = 0; j < 13; j++) { 232 for (let j = 0; j < 13; j++) {
159 arrList[i]?.push(newArr[j][i]); 233 arrList[i]?.push(newArr[j][i]);
160 - totalList.value[i] += newArr[j][i];  
161 } 234 }
162 } 235 }
163 listData.value = arrList.map((child, index) => { 236 listData.value = arrList.map((child, index) => {
@@ -174,6 +247,62 @@ const getList = async () => { @@ -174,6 +247,62 @@ const getList = async () => {
174 init(); 247 init();
175 }; 248 };
176 249
  250 +// 获个人车险统计
  251 +const getPeopleList = async () => {
  252 + peopleTotalList.value = {
  253 + 0: 0,
  254 + 1: 0,
  255 + 2: 0,
  256 + 3: 0,
  257 + };
  258 + const { data } = await getStatistics(queryParamsPeople);
  259 + let newData = data?.map((data) => data.statisticsVo[0]);
  260 + let newArr = newData?.map((item) => {
  261 + return [
  262 + item.toBeUndertaken,
  263 + item.undertaken,
  264 + item.notCompleted,
  265 + item.completed,
  266 + ];
  267 + });
  268 + const arrList = [[], [], [], []];
  269 + for (let i = 0; i < 4; i++) {
  270 + for (let j = 0; j < 13; j++) {
  271 + arrList[i]?.push(newArr[j][i]);
  272 + peopleTotalList.value[i] += newArr[j][i];
  273 + }
  274 + }
  275 + peopleCompany.value = data[0]?.statisticsVo[0]?.deptName;
  276 +};
  277 +
  278 +// 获取企业车险统计
  279 +const getBusinessList = async () => {
  280 + businessTotalList.value = {
  281 + 0: 0,
  282 + 1: 0,
  283 + 2: 0,
  284 + 3: 0,
  285 + };
  286 + const { data } = await getStatistics(queryParamsBusiness);
  287 + let newData = data?.map((data) => data.statisticsVo[0]);
  288 + let newArr = newData?.map((item) => {
  289 + return [
  290 + item.toBeUndertaken,
  291 + item.undertaken,
  292 + item.notCompleted,
  293 + item.completed,
  294 + ];
  295 + });
  296 + const arrList = [[], [], [], []];
  297 + for (let i = 0; i < 4; i++) {
  298 + for (let j = 0; j < 13; j++) {
  299 + arrList[i]?.push(newArr[j][i]);
  300 + businessTotalList.value[i] += newArr[j][i];
  301 + }
  302 + }
  303 + businessCompany.value = data[0]?.statisticsVo[0]?.deptName;
  304 +};
  305 +
177 const init = () => { 306 const init = () => {
178 const myChart = proxy.echarts.init(chartRef.value); 307 const myChart = proxy.echarts.init(chartRef.value);
179 option.value = { 308 option.value = {
@@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
6 :rules="loginRules" 6 :rules="loginRules"
7 class="login-form" 7 class="login-form"
8 > 8 >
9 - <h3 class="title">广西保险行业协会车险投保登记平台</h3> 9 + <h3 class="title">广西车险投保登记平台</h3>
10 <el-form-item prop="username"> 10 <el-form-item prop="username">
11 <el-input 11 <el-input
12 v-model="loginForm.username" 12 v-model="loginForm.username"
@@ -179,7 +179,7 @@ @@ -179,7 +179,7 @@
179 </el-col> 179 </el-col>
180 </el-row> 180 </el-row>
181 <el-form-item label="作废原因" prop="progress"> 181 <el-form-item label="作废原因" prop="progress">
182 - <QuillEditor :value="form.deprecatedReason" @updateValue="getMsg" /> 182 + <div class="depreacatContent" v-html="form.deprecatedReason"></div>
183 </el-form-item> 183 </el-form-item>
184 </el-form> 184 </el-form>
185 </el-dialog> 185 </el-dialog>
@@ -239,11 +239,10 @@ function resetQuery() { @@ -239,11 +239,10 @@ function resetQuery() {
239 proxy.resetForm("queryRef"); 239 proxy.resetForm("queryRef");
240 handleQuery(); 240 handleQuery();
241 } 241 }
242 -const getMsg = (val) => {  
243 - console.log(val);  
244 -};  
245 242
246 getList(); 243 getList();
247 </script> 244 </script>
248 245
249 -<style></style> 246 +<style lang="scss" scoped>
  247 +@import "@/assets/styles/fullText.scss";
  248 +</style>
@@ -236,7 +236,7 @@ @@ -236,7 +236,7 @@
236 </el-col> 236 </el-col>
237 </el-row> 237 </el-row>
238 <el-form-item label="保单回馈" prop="progress"> 238 <el-form-item label="保单回馈" prop="progress">
239 - <QuillEditor :value="form.message" @updateValue="getMsg" /> 239 + <div class="depreacatContent" v-html="form.message"></div>
240 </el-form-item> 240 </el-form-item>
241 </el-form> 241 </el-form>
242 </el-dialog> 242 </el-dialog>
@@ -250,7 +250,6 @@ const loading = ref(false); @@ -250,7 +250,6 @@ const loading = ref(false);
250 const total = ref(5); 250 const total = ref(5);
251 const open = ref(false); 251 const open = ref(false);
252 const form = ref({}); 252 const form = ref({});
253 -const timer = ref(null);  
254 const showSearch = ref(true); 253 const showSearch = ref(true);
255 const hasRole = computed(() => { 254 const hasRole = computed(() => {
256 return !proxy.$auth.hasRole("associationemployee"); 255 return !proxy.$auth.hasRole("associationemployee");
@@ -321,13 +320,9 @@ function resetQuery() { @@ -321,13 +320,9 @@ function resetQuery() {
321 proxy.resetForm("queryRef"); 320 proxy.resetForm("queryRef");
322 handleQuery(); 321 handleQuery();
323 } 322 }
324 -const getMsg = (val) => {  
325 - clearTimeout(timer.value);  
326 - timer.value = setTimeout(() => {  
327 - form.value.message = val;  
328 - }, 1000);  
329 -};  
330 getList(); 323 getList();
331 </script> 324 </script>
332 325
333 -<style></style> 326 +<style lang="scss" scoped>
  327 +@import "@/assets/styles/fullText.scss";
  328 +</style>
@@ -289,24 +289,45 @@ @@ -289,24 +289,45 @@
289 width="500" 289 width="500"
290 append-to-body 290 append-to-body
291 > 291 >
292 - <el-form :model="FeedbackForm" ref="policyRef" label-width="100px">  
293 - <el-form-item label="商险单号" prop="progress">  
294 - <el-input  
295 - v-model="FeedbackForm.commercialinsurancepolicynumber"  
296 - placeholder="请输入保单号"  
297 - :disabled="hasRole"  
298 - />  
299 - </el-form-item>  
300 - <el-form-item label="强险单号" prop="progress">  
301 - <el-input  
302 - v-model="FeedbackForm.stronginsurancepolicynumber"  
303 - placeholder="请输入保单号"  
304 - :disabled="hasRole"  
305 - />  
306 - </el-form-item>  
307 - <el-form-item label="保单回馈" prop="progress">  
308 - <QuillEditor :value="FeedbackForm.message" @updateValue="getMsg" />  
309 - </el-form-item> 292 + <p style="margin-bottom: 10px; color: red">请根据实际情况填写保单号</p>
  293 + <el-form
  294 + :model="FeedbackForm"
  295 + ref="policyRef"
  296 + label-width="100px"
  297 + label-position="top"
  298 + >
  299 + <el-row :gutter="20">
  300 + <el-col :span="12">
  301 + <el-form-item label="商业险保单号" prop="progress">
  302 + <el-input
  303 + v-model="FeedbackForm.commercialinsurancepolicynumber"
  304 + placeholder="请输入保单号"
  305 + :disabled="hasRole"
  306 + style="width: 220px"
  307 + />
  308 + </el-form-item>
  309 + </el-col>
  310 + <el-col :span="12">
  311 + <el-form-item label="交强险保单号" prop="progress">
  312 + <el-input
  313 + v-model="FeedbackForm.stronginsurancepolicynumber"
  314 + placeholder="请输入保单号"
  315 + :disabled="hasRole"
  316 + style="width: 220px"
  317 + />
  318 + </el-form-item>
  319 + </el-col>
  320 + </el-row>
  321 + <el-row>
  322 + <el-col :span="24">
  323 + <el-form-item prop="progress" label="保单回馈内容">
  324 + <QuillEditor
  325 + :value="FeedbackForm.message"
  326 + @updateValue="getMsg"
  327 + />
  328 + </el-form-item>
  329 + </el-col>
  330 + </el-row>
310 </el-form> 331 </el-form>
311 <template #footer> 332 <template #footer>
312 <div class="dialog-footer"> 333 <div class="dialog-footer">
@@ -449,7 +470,7 @@ @@ -449,7 +470,7 @@
449 </el-row> 470 </el-row>
450 <!-- 流转提示 --> 471 <!-- 流转提示 -->
451 <div class="transferTip"> 472 <div class="transferTip">
452 - <span>本次订单流转:{{ transferTip }}</span> 473 + <span>自动订单流转:{{ transferTip }}</span>
453 <el-button :loading="loadingBtn" @click="getTransferTip" 474 <el-button :loading="loadingBtn" @click="getTransferTip"
454 >刷新</el-button 475 >刷新</el-button
455 > 476 >
@@ -468,16 +489,16 @@ @@ -468,16 +489,16 @@
468 <el-button 489 <el-button
469 type="primary" 490 type="primary"
470 v-hasRole="['associationemployee']" 491 v-hasRole="['associationemployee']"
471 - @click.stop="handleSuccess('0')" 492 + @click="submitUpdate"
  493 + >修改保存</el-button
472 > 494 >
473 - 通过  
474 - </el-button>  
475 <el-button 495 <el-button
476 type="primary" 496 type="primary"
477 v-hasRole="['associationemployee']" 497 v-hasRole="['associationemployee']"
478 - @click="submitUpdate"  
479 - >保存</el-button 498 + @click.stop="handleSuccess('0')"
480 > 499 >
  500 + 通过
  501 + </el-button>
481 <el-button 502 <el-button
482 type="primary" 503 type="primary"
483 v-hasRole="['associationemployee']" 504 v-hasRole="['associationemployee']"
@@ -494,7 +515,7 @@ @@ -494,7 +515,7 @@
494 type="primary" 515 type="primary"
495 v-hasRole="['associationemployee']" 516 v-hasRole="['associationemployee']"
496 @click.stop="handleAuthCompany('0')" 517 @click.stop="handleAuthCompany('0')"
497 - >分配</el-button 518 + >人工分配</el-button
498 > 519 >
499 </div> 520 </div>
500 </template> 521 </template>
@@ -549,7 +570,12 @@ const getParams = reactive({ @@ -549,7 +570,12 @@ const getParams = reactive({
549 pageSize: 100, 570 pageSize: 100,
550 }); 571 });
551 const companyShow = ref(false); 572 const companyShow = ref(false);
552 -const deptOptions = ref([]); 573 +const deptOptions = ref([
  574 + {
  575 + deptId: "0",
  576 + deptName: "无",
  577 + },
  578 +]);
553 const transferOptions = ref([]); 579 const transferOptions = ref([]);
554 const deprecatedShow = ref(false); 580 const deprecatedShow = ref(false);
555 const deprecatedForm = ref({ 581 const deprecatedForm = ref({
@@ -767,12 +793,13 @@ const getDeptList = () => { @@ -767,12 +793,13 @@ const getDeptList = () => {
767 listDept(companyQueryParams).then((response) => { 793 listDept(companyQueryParams).then((response) => {
768 let newArr = []; 794 let newArr = [];
769 newArr = response.data.filter((item) => item.parentId === 100); 795 newArr = response.data.filter((item) => item.parentId === 100);
770 - deptOptions.value = newArr.map((child) => { 796 + let arrNew = newArr.map((child) => {
771 return { 797 return {
772 deptId: child.deptId.toString(), 798 deptId: child.deptId.toString(),
773 deptName: child.deptName, 799 deptName: child.deptName,
774 }; 800 };
775 }); 801 });
  802 + deptOptions.value.push(...arrNew);
776 }); 803 });
777 }; 804 };
778 /** 重置操作表单 */ 805 /** 重置操作表单 */
@@ -859,7 +886,6 @@ const getReason = (val) => { @@ -859,7 +886,6 @@ const getReason = (val) => {
859 const submitUpdate = () => { 886 const submitUpdate = () => {
860 updateCarInfo(form.value).then((response) => { 887 updateCarInfo(form.value).then((response) => {
861 proxy.$modal.msgSuccess("修改成功"); 888 proxy.$modal.msgSuccess("修改成功");
862 - open.value = false;  
863 getList(); 889 getList();
864 }); 890 });
865 }; 891 };
@@ -236,7 +236,7 @@ const { sys_notice_status, sys_notice_type } = proxy.useDict( @@ -236,7 +236,7 @@ const { sys_notice_status, sys_notice_type } = proxy.useDict(
236 "sys_notice_status", 236 "sys_notice_status",
237 "sys_notice_type" 237 "sys_notice_type"
238 ); 238 );
239 - 239 +const timer = ref(null);
240 const noticeList = ref([]); 240 const noticeList = ref([]);
241 const open = ref(false); 241 const open = ref(false);
242 const loading = ref(true); 242 const loading = ref(true);
@@ -326,8 +326,10 @@ function handleUpdate(row) { @@ -326,8 +326,10 @@ function handleUpdate(row) {
326 }); 326 });
327 } 327 }
328 const getMsg = (val) => { 328 const getMsg = (val) => {
329 - console.log(val);  
330 - form.value.noticeContent = val; 329 + clearTimeout(timer.value);
  330 + timer.value = setTimeout(() => {
  331 + form.value.noticeContent = val;
  332 + }, 1000);
331 }; 333 };
332 /** 提交按钮 */ 334 /** 提交按钮 */
333 function submitForm() { 335 function submitForm() {