作者 xiaoqiu

完成修改

# 页面标题
VITE_APP_TITLE = 广西车险登记平台
VITE_APP_TITLE = 广西车险投保登记平台
# 开发环境配置
VITE_APP_ENV = 'development'
... ...
# 页面标题
VITE_APP_TITLE = 广西车险登记平台
VITE_APP_TITLE = 广西车险投保登记平台
# 生产环境配置
VITE_APP_ENV = 'production'
... ...
... ... @@ -7,7 +7,7 @@
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="/favicon.ico">
<title>广西保险行业协会车险投保登记平台</title>
<title>广西车险投保登记平台</title>
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<style>
html,
... ...
不能预览此文件类型
... ... @@ -18,4 +18,11 @@ onMounted(() => {
input::-webkit-inner-spin-button {
-webkit-appearance: none !important;
}
* {
margin: 0;
padding: 0;
}
img {
width: 100%;
}
</style>
... ...
.depreacatContent {
width: 100%;
height: 200px;
overflow: scroll;
background-color: #f5f7fa;
border: 1px solid #dcdfe6;
border-radius: 4px;
padding-left: 11px;
color: #bbb;
}
\ No newline at end of file
... ...
... ... @@ -50,7 +50,7 @@
<script setup>
import variables from "@/assets/styles/variables.module.scss";
import logo from "@/assets/logo/logo.png";
import logo from "@/assets/logo/logo.jpg";
import useSettingsStore from "@/store/modules/settings";
defineProps({
... ...
... ... @@ -137,7 +137,7 @@
<el-form-item label="企业名称" prop="businessName">
<el-input
v-model="form.businessName"
:disabled="!hasRole"
disabled
placeholder="请输入企业名称"
/>
</el-form-item>
... ... @@ -146,7 +146,7 @@
<el-form-item label="联系电话" prop="businessPhone">
<el-input
v-model="form.businessPhone"
:disabled="!hasRole"
disabled
placeholder="请输入联系电话"
/>
</el-form-item>
... ... @@ -173,7 +173,7 @@
<el-form-item label="信用代码" prop="uniformCreditCode">
<el-input
v-model="form.uniformCreditCode"
:disabled="!hasRole"
disabled
placeholder="请输入信用代码"
/>
</el-form-item>
... ... @@ -194,7 +194,7 @@
</el-col>
</el-row>
<el-form-item label="作废原因" prop="progress">
<QuillEditor :value="form.deprecatedReason" @updateValue="getMsg" />
<div class="depreacatContent" v-html="form.deprecatedReason"></div>
</el-form-item>
</el-form>
</el-dialog>
... ... @@ -254,11 +254,10 @@ function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
const getMsg = (val) => {
console.log(val);
};
getList();
</script>
<style></style>
<style lang="scss" scoped>
@import "@/assets/styles/fullText.scss";
</style>
... ...
... ... @@ -282,7 +282,7 @@
</el-col>
</el-row>
<el-form-item label="保单回馈" prop="progress">
<QuillEditor :value="form.message" @updateValue="getMsg" />
<div class="depreacatContent" v-html="form.message"></div>
</el-form-item>
</el-form>
</el-dialog>
... ... @@ -296,7 +296,6 @@ const loading = ref(false);
const total = ref(5);
const open = ref(false);
const form = ref({});
const timer = ref(null);
const showSearch = ref(true);
const hasRole = computed(() => {
return !proxy.$auth.hasRole("associationemployee");
... ... @@ -367,13 +366,9 @@ function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
const getMsg = (val) => {
clearTimeout(timer.value);
timer.value = setTimeout(() => {
form.value.message = val;
}, 1000);
};
getList();
</script>
<style></style>
<style lang="scss" scoped>
@import "@/assets/styles/fullText.scss";
</style>
... ...
... ... @@ -295,24 +295,45 @@
width="500"
append-to-body
>
<el-form :model="FeedbackForm" ref="policyRef" label-width="100px">
<el-form-item label="商险单号" prop="progress">
<el-input
v-model="FeedbackForm.commercialinsurancepolicynumber"
placeholder="请输入保单号"
:disabled="hasRole"
/>
</el-form-item>
<el-form-item label="强险单号" prop="progress">
<el-input
v-model="FeedbackForm.stronginsurancepolicynumber"
placeholder="请输入保单号"
:disabled="hasRole"
/>
</el-form-item>
<el-form-item label="保单回馈" prop="progress">
<QuillEditor :value="FeedbackForm.message" @updateValue="getMsg" />
</el-form-item>
<p style="margin-bottom: 10px; color: red">请根据实际情况填写保单号</p>
<el-form
:model="FeedbackForm"
ref="policyRef"
label-width="100px"
label-position="top"
>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="商业险保单号" prop="progress">
<el-input
v-model="FeedbackForm.commercialinsurancepolicynumber"
placeholder="请输入保单号"
:disabled="hasRole"
style="width: 220px"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="交强险保单号" prop="progress">
<el-input
v-model="FeedbackForm.stronginsurancepolicynumber"
placeholder="请输入保单号"
:disabled="hasRole"
style="width: 220px"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item prop="progress" label="保单回馈内容">
<QuillEditor
:value="FeedbackForm.message"
@updateValue="getMsg"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<div class="dialog-footer">
... ... @@ -866,7 +887,6 @@ const getReason = (val) => {
const submitUpdate = () => {
updateCarInfo(form.value).then((response) => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
};
... ...
... ... @@ -18,7 +18,7 @@
type="primary"
plain
icon="Plus"
v-hasPermi="['system:rule:add']"
v-hasRole="['admin']"
@click="handleAdd"
>新增</el-button
>
... ... @@ -28,6 +28,7 @@
type="success"
plain
icon="Edit"
v-hasRole="['admin']"
:disabled="multiple"
@click="handleMultipleUpdate"
>批量修改</el-button
... ... @@ -53,6 +54,11 @@
/>
</template>
</el-table-column>
<el-table-column label="当前轮次分配数" align="center">
<template #default="{ row }">
<span>{{ row.quantity < 0 ? 0 : row.quantity }}</span>
</template>
</el-table-column>
<el-table-column
label="周期分配订单"
width="240"
... ... @@ -64,6 +70,7 @@
</template>
</el-table-column>
<el-table-column
v-if="checkRole(['admin'])"
label="操作"
align="center"
fixed="right"
... ... @@ -131,6 +138,7 @@ import {
} from "@/api/configurationCenter/rules.js";
import { getCount } from "@/api/policy/index";
import { listDept } from "@/api/system/dept";
import { checkRole } from "@/utils/permission"; // 权限判断函数
const { proxy } = getCurrentInstance();
const loading = ref(false);
const multiple = ref(true);
... ...
... ... @@ -47,7 +47,50 @@
</el-card>
</el-col>
<el-col :span="18" :xs="24">
<PanelGroup :totalList="totalList" />
<!-- 个人车险 -->
<div style="font-weight: 500">{{ peopleCompany }}个人车险统计</div>
<div
v-hasRole="['admin', 'associationemployee']"
class="select_company"
>
<p>选择保险公司</p>
<el-select
v-model="queryParamsPeople.deptIds[0]"
placeholder="请选择保险公司"
style="width: 240px"
@change="getPeopleList"
>
<el-option
v-for="item in deptOptions"
:key="item.deptId"
:label="item.deptName"
:value="item.deptId"
/>
</el-select>
</div>
<PanelGroup :totalList="peopleTotalList" />
<!-- 企业车险 -->
<div style="font-weight: 500">{{ businessCompany }}企业车险统计</div>
<div
v-hasRole="['admin', 'associationemployee']"
class="select_company"
>
<p>选择保险公司</p>
<el-select
v-model="queryParamsBusiness.deptIds[0]"
placeholder="请选择保险公司"
style="width: 240px"
@change="getBusinessList"
>
<el-option
v-for="item in deptOptions"
:key="item.deptId"
:label="item.deptName"
:value="item.deptId"
/>
</el-select>
</div>
<PanelGroup :totalList="businessTotalList" />
<!-- 统计柱状图 -->
<div class="echarts_box">
<div
... ... @@ -56,7 +99,7 @@
>
<p>选择保险公司</p>
<el-select
v-model="queryParams.deptIds[0]"
v-model="allQueryParams.deptIds[0]"
placeholder="请选择保险公司"
style="width: 240px"
@change="getList"
... ... @@ -87,7 +130,13 @@ const { proxy } = getCurrentInstance();
const userStore = useUserStore();
const chartRef = ref(null);
const listData = ref([]);
const totalList = ref({
const peopleTotalList = ref({
0: 0,
1: 0,
2: 0,
3: 0,
});
const businessTotalList = ref({
0: 0,
1: 0,
2: 0,
... ... @@ -95,9 +144,32 @@ const totalList = ref({
});
const xList = ref([]);
const company = ref("");
const businessCompany = ref("");
const peopleCompany = ref("");
const option = ref({});
const deptOptions = ref([]);
const queryParams = reactive({
// 个人车险请求参数
const queryParamsPeople = reactive({
deptIds: [""],
type: 1,
registrationType: 0,
startTime: proxy.parseTime(
new Date().setFullYear(new Date().getFullYear() - 1)
),
endTime: proxy.parseTime(new Date()),
});
// 个人车险请求参数
const queryParamsBusiness = reactive({
deptIds: [""],
type: 1,
registrationType: 1,
startTime: proxy.parseTime(
new Date().setFullYear(new Date().getFullYear() - 1)
),
endTime: proxy.parseTime(new Date()),
});
// 全部请求参数
const allQueryParams = reactive({
deptIds: [""],
type: 1,
startTime: proxy.parseTime(
... ... @@ -113,6 +185,8 @@ const state = reactive({
onMounted(() => {
getList();
getPeopleList();
getBusinessList();
if (proxy.$auth.hasRoleOr(["admin", "associationemployee"])) {
getDeptList();
}
... ... @@ -142,7 +216,7 @@ const showText = (index) => {
};
// 获取统计数据
const getList = async () => {
const { data } = await getStatistics(queryParams);
const { data } = await getStatistics(allQueryParams);
xList.value = data?.map((item) => item.month);
let newData = data?.map((data) => data.statisticsVo[0]);
let newArr = newData?.map((item) => {
... ... @@ -157,7 +231,6 @@ const getList = async () => {
for (let i = 0; i < 4; i++) {
for (let j = 0; j < 13; j++) {
arrList[i]?.push(newArr[j][i]);
totalList.value[i] += newArr[j][i];
}
}
listData.value = arrList.map((child, index) => {
... ... @@ -174,6 +247,62 @@ const getList = async () => {
init();
};
// 获个人车险统计
const getPeopleList = async () => {
peopleTotalList.value = {
0: 0,
1: 0,
2: 0,
3: 0,
};
const { data } = await getStatistics(queryParamsPeople);
let newData = data?.map((data) => data.statisticsVo[0]);
let newArr = newData?.map((item) => {
return [
item.toBeUndertaken,
item.undertaken,
item.notCompleted,
item.completed,
];
});
const arrList = [[], [], [], []];
for (let i = 0; i < 4; i++) {
for (let j = 0; j < 13; j++) {
arrList[i]?.push(newArr[j][i]);
peopleTotalList.value[i] += newArr[j][i];
}
}
peopleCompany.value = data[0]?.statisticsVo[0]?.deptName;
};
// 获取企业车险统计
const getBusinessList = async () => {
businessTotalList.value = {
0: 0,
1: 0,
2: 0,
3: 0,
};
const { data } = await getStatistics(queryParamsBusiness);
let newData = data?.map((data) => data.statisticsVo[0]);
let newArr = newData?.map((item) => {
return [
item.toBeUndertaken,
item.undertaken,
item.notCompleted,
item.completed,
];
});
const arrList = [[], [], [], []];
for (let i = 0; i < 4; i++) {
for (let j = 0; j < 13; j++) {
arrList[i]?.push(newArr[j][i]);
businessTotalList.value[i] += newArr[j][i];
}
}
businessCompany.value = data[0]?.statisticsVo[0]?.deptName;
};
const init = () => {
const myChart = proxy.echarts.init(chartRef.value);
option.value = {
... ...
... ... @@ -6,7 +6,7 @@
:rules="loginRules"
class="login-form"
>
<h3 class="title">广西保险行业协会车险投保登记平台</h3>
<h3 class="title">广西车险投保登记平台</h3>
<el-form-item prop="username">
<el-input
v-model="loginForm.username"
... ...
... ... @@ -179,7 +179,7 @@
</el-col>
</el-row>
<el-form-item label="作废原因" prop="progress">
<QuillEditor :value="form.deprecatedReason" @updateValue="getMsg" />
<div class="depreacatContent" v-html="form.deprecatedReason"></div>
</el-form-item>
</el-form>
</el-dialog>
... ... @@ -239,11 +239,10 @@ function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
const getMsg = (val) => {
console.log(val);
};
getList();
</script>
<style></style>
<style lang="scss" scoped>
@import "@/assets/styles/fullText.scss";
</style>
... ...
... ... @@ -236,7 +236,7 @@
</el-col>
</el-row>
<el-form-item label="保单回馈" prop="progress">
<QuillEditor :value="form.message" @updateValue="getMsg" />
<div class="depreacatContent" v-html="form.message"></div>
</el-form-item>
</el-form>
</el-dialog>
... ... @@ -250,7 +250,6 @@ const loading = ref(false);
const total = ref(5);
const open = ref(false);
const form = ref({});
const timer = ref(null);
const showSearch = ref(true);
const hasRole = computed(() => {
return !proxy.$auth.hasRole("associationemployee");
... ... @@ -321,13 +320,9 @@ function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
const getMsg = (val) => {
clearTimeout(timer.value);
timer.value = setTimeout(() => {
form.value.message = val;
}, 1000);
};
getList();
</script>
<style></style>
<style lang="scss" scoped>
@import "@/assets/styles/fullText.scss";
</style>
... ...
... ... @@ -289,24 +289,45 @@
width="500"
append-to-body
>
<el-form :model="FeedbackForm" ref="policyRef" label-width="100px">
<el-form-item label="商险单号" prop="progress">
<el-input
v-model="FeedbackForm.commercialinsurancepolicynumber"
placeholder="请输入保单号"
:disabled="hasRole"
/>
</el-form-item>
<el-form-item label="强险单号" prop="progress">
<el-input
v-model="FeedbackForm.stronginsurancepolicynumber"
placeholder="请输入保单号"
:disabled="hasRole"
/>
</el-form-item>
<el-form-item label="保单回馈" prop="progress">
<QuillEditor :value="FeedbackForm.message" @updateValue="getMsg" />
</el-form-item>
<p style="margin-bottom: 10px; color: red">请根据实际情况填写保单号</p>
<el-form
:model="FeedbackForm"
ref="policyRef"
label-width="100px"
label-position="top"
>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="商业险保单号" prop="progress">
<el-input
v-model="FeedbackForm.commercialinsurancepolicynumber"
placeholder="请输入保单号"
:disabled="hasRole"
style="width: 220px"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="交强险保单号" prop="progress">
<el-input
v-model="FeedbackForm.stronginsurancepolicynumber"
placeholder="请输入保单号"
:disabled="hasRole"
style="width: 220px"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item prop="progress" label="保单回馈内容">
<QuillEditor
:value="FeedbackForm.message"
@updateValue="getMsg"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<div class="dialog-footer">
... ... @@ -449,7 +470,7 @@
</el-row>
<!-- 流转提示 -->
<div class="transferTip">
<span>本次订单流转:{{ transferTip }}</span>
<span>自动订单流转:{{ transferTip }}</span>
<el-button :loading="loadingBtn" @click="getTransferTip"
>刷新</el-button
>
... ... @@ -468,16 +489,16 @@
<el-button
type="primary"
v-hasRole="['associationemployee']"
@click.stop="handleSuccess('0')"
@click="submitUpdate"
>修改保存</el-button
>
通过
</el-button>
<el-button
type="primary"
v-hasRole="['associationemployee']"
@click="submitUpdate"
>保存</el-button
@click.stop="handleSuccess('0')"
>
通过
</el-button>
<el-button
type="primary"
v-hasRole="['associationemployee']"
... ... @@ -494,7 +515,7 @@
type="primary"
v-hasRole="['associationemployee']"
@click.stop="handleAuthCompany('0')"
>分配</el-button
>人工分配</el-button
>
</div>
</template>
... ... @@ -549,7 +570,12 @@ const getParams = reactive({
pageSize: 100,
});
const companyShow = ref(false);
const deptOptions = ref([]);
const deptOptions = ref([
{
deptId: "0",
deptName: "无",
},
]);
const transferOptions = ref([]);
const deprecatedShow = ref(false);
const deprecatedForm = ref({
... ... @@ -767,12 +793,13 @@ const getDeptList = () => {
listDept(companyQueryParams).then((response) => {
let newArr = [];
newArr = response.data.filter((item) => item.parentId === 100);
deptOptions.value = newArr.map((child) => {
let arrNew = newArr.map((child) => {
return {
deptId: child.deptId.toString(),
deptName: child.deptName,
};
});
deptOptions.value.push(...arrNew);
});
};
/** 重置操作表单 */
... ... @@ -859,7 +886,6 @@ const getReason = (val) => {
const submitUpdate = () => {
updateCarInfo(form.value).then((response) => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
};
... ...
... ... @@ -236,7 +236,7 @@ const { sys_notice_status, sys_notice_type } = proxy.useDict(
"sys_notice_status",
"sys_notice_type"
);
const timer = ref(null);
const noticeList = ref([]);
const open = ref(false);
const loading = ref(true);
... ... @@ -326,8 +326,10 @@ function handleUpdate(row) {
});
}
const getMsg = (val) => {
console.log(val);
form.value.noticeContent = val;
clearTimeout(timer.value);
timer.value = setTimeout(() => {
form.value.noticeContent = val;
}, 1000);
};
/** 提交按钮 */
function submitForm() {
... ...