正在显示
19 个修改的文件
包含
283 行增加
和
93 行删除
| @@ -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> |
src/assets/logo/logo.jpg
0 → 100644
169.1 KB
src/assets/logo/logo.png
已删除
100644 → 0
5.5 KB
src/assets/styles/fullText.scss
0 → 100644
| @@ -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() { |
-
请 注册 或 登录 后发表评论