Commit c9cd1b31 by gao_yingdong

态势分析修改

parent c2f76b84
......@@ -12,7 +12,7 @@ export default {};
/*每个页面公共css */
@import "assets/styles/main.scss";
#app {
height: 100%;
height: 100vh;
width: 100%;
}
</style>
......@@ -12,5 +12,12 @@ export const xalbJoinGWDQ = params =>
export const queryXalbJoinGWDQ = params =>
post("/api/dic/queryXalbJoinGWDQ", params);
\ No newline at end of file
// 人员
export const EsAsjXyrQuery = params =>
post("/api/latsfx/EsAsjXyrQuery", params);
// 案件
export const esAsjQuery = params =>
post("/api/latsfx/esAsjQuery", params);
......@@ -554,7 +554,7 @@ export default {
left: 50%;
margin-top: -223px !important;
margin-left: -340px;
z-index: 100;
z-index: 20004;
.el-dialog__body {
height: 500px;
......
/**
* 项目默认配置项
* primaryColor - 默认主题色, 如果修改颜色不生效,请清理 localStorage
* navTheme - sidebar theme ['dark', 'light'] 两种主题
* colorWeak - 色盲模式
* layout - 整体布局方式 ['sidemenu', 'topmenu'] 两种布局
* fixedHeader - 固定 Header : boolean
* fixSiderbar - 固定左侧菜单栏 : boolean
* autoHideHeader - 向下滚动时,隐藏 Header : boolean
* contentWidth - 内容区布局: 流式 | 固定
*
* storageOptions: {} - Vue-ls 插件配置项 (localStorage/sessionStorage)
*
*/
export default {
primaryColor: '#1890FF', // primary color of ant design
navTheme: 'dark', // theme for nav menu
layout: 'sidemenu', // nav menu position: sidemenu or topmenu
contentWidth: 'Fluid', // layout of content: Fluid or Fixed, only works when layout is topmenu
fixedHeader: true, // sticky header
fixSiderbar: true, // sticky siderbar
autoHideHeader: false, // auto hide header
colorWeak: false,
multiTab: false,
production: process.env.NODE_ENV === 'production' && process.env.VUE_APP_PREVIEW !== 'true',
// vue-ls options
storageOptions: {
namespace: 'pro__',
name: 'ls',
storage: 'local'
},
windowWidth: 1920,
windowHeight: 1080
}
......@@ -40,6 +40,15 @@ export default [
component: () => import("@/views/index/kshData.vue")
},
{
path: "/kshTable",
name: "kshTable",
meta: {
title: "数据可视化",
auth: "5"
},
component: () => import("@/views/index/kshTable.vue")
},
{
path: "/ypbg",
name: "ypbg",
meta: {
......
/* eslint-disable */
import cfg from '@/config/defaultSettings'
export default function zoom(id) {
const width = cfg.windowWidth
const height = cfg.windowHeight
let x = window.innerWidth / width
let y = window.innerHeight / height
let scale = 'scale(' + x + ',' + y + ')'
let cssText = 'overflow:hidden;'
cssText += 'width:' + width + 'px;'
cssText += 'height:' + height + 'px;'
let browsers = ['', '-ms-', '-moz-', '-webkit-', '-o-']
browsers.forEach((key) => {
cssText += key + 'transform:' + scale + ' translate3d(0,0,0);'
cssText += key + 'transform-origin: left top 0;'
})
if (id) {
console.log('auto', document.getElementById(id));
document.getElementById(id).style.cssText = cssText
} else {
document.body.style.cssText = cssText
}
}
/* eslint-disable */
// import cfg from '../config/defaultSettings'
//
// let zoom = function zoom(width, height) {
// let x = window.innerWidth / width
// let y = window.innerHeight / height
// let scale = 'scale(' + x + ',' + y + ')'
// let cssText = 'overflow:hidden;'
//
// cssText += 'width:' + width + 'px;'
// cssText += 'height:' + height + 'px;'
//
// let browsers = ['', '-ms-', '-moz-', '-webkit-', '-o-']
// browsers.forEach((key) => {
// cssText += key + 'transform:' + scale + ';'
// cssText += key + 'transform-origin: left top 0;'
// })
// document.body.style.cssText = cssText
// }
// zoom(cfg.windowWidth, cfg.windowHeight)
//
// window.addEventListener('resize', function () {
// zoom(cfg.windowWidth, cfg.windowHeight)
// })
//
// export default {
// zoom
// }
......@@ -113,7 +113,9 @@
backgroundColor: item.color,
}"
></p>
<span class="num">{{ item.value == null ? 0 : item.value }}</span>
<span style="cursor: pointer" @click="goAj(item)" class="num">{{
item.value == null ? 0 : item.value
}}</span>
</div>
</div>
<div
......@@ -124,6 +126,21 @@
></div>
<!-- <div>{{ Toploading }}</div> -->
</div>
<!-- <span
style="
z-index: 300;
position: absolute;
top: 10px;
font-size: 50px;
color: #15baff;
right: 22%;
cursor: pointer;
"
v-if="formData.unitcode"
@click="backToUper"
>
<i class="el-icon-back"></i>
</span> -->
<div
class="map"
id="map"
......@@ -137,18 +154,18 @@
<span
:class="{ activeBtn: activeBtn == `1-${fpaLegth1}` }"
v-if="fpaLegth1 > 0"
@click="updateBtn(`1-${fpaLegth1}`, 0, fpaLegth1-1)"
@click="updateBtn(`1-${fpaLegth1}`, 0, fpaLegth1 - 1)"
>1-{{ fpaLegth1 }}</span
>
<span
:class="{ activeBtn: activeBtn == `13-${fpaLegth2}` }"
v-if="fpaLegth2 > 0"
@click="updateBtn(`13-${fpaLegth2}`, 12, fpaLegth2-1)"
@click="updateBtn(`13-${fpaLegth2}`, 12, fpaLegth2 - 1)"
>13-{{ fpaLegth2 }}</span
>
<span
:class="{ activeBtn: activeBtn == `25-${fpaLegth3}` }"
@click="updateBtn(`25-${fpaLegth3}`, 24, fpaLegth3-1)"
@click="updateBtn(`25-${fpaLegth3}`, 24, fpaLegth3 - 1)"
v-if="fpaLegth3 > 0"
>25-{{ fpaLegth3 }}</span
>
......@@ -265,8 +282,9 @@
</template>
<script>
import SelectTreeDialog from "@c/treeCode_components.vue";
import LazySelectTreeDialog from "@c/lazy_treeCode_components.vue";
import LazySelectTreeDialog from "@c/lazy_treeCode.vue";
import "echarts/map/js/china.js";
import zoom from "@/utils/autosize";
// import "echarts/map/js/province/neimenggu.js";
import {
EslaTopTenQuery,
......@@ -290,9 +308,10 @@ export default {
asjfssjAsjfskssjEnd: "",
ajlbdm: "",
gabAjxzlb: "",
asjfsddXzqhdm: "",
ladwGajgjgdms: "",
gabAjxalb: "",
},
clickCity: "",
propQueryField: [
{
name: "发案时间",
......@@ -335,15 +354,15 @@ export default {
codeTree: "CODE_GABAJXZLB",
},
{
name: "行政区划",
id: "asjfsddXzqhdm",
placeholder: "行政区划",
type: "codeTreeDialog",
name: "立案单位",
id: "ladwGajgjgdms",
placeholder: "立案单位",
type: "lazyCodeTreeDialog",
props: [], //字典弹框需要的字段
value: "",
col: "3",
codeOptions: [],
codeTree: "CODE_XZQH",
codeTree: "CODE_QGUNIT",
},
],
propQueryField2: [
......@@ -355,27 +374,27 @@ export default {
col: "3",
},
{
name: "行政区划",
id: "asjfsddXzqhdm",
placeholder: "行政区划",
type: "codeTreeDialog",
name: "立案单位",
id: "ladwGajgjgdms",
placeholder: "立案单位",
type: "lazyCodeTreeDialog",
props: [], //字典弹框需要的字段
value: "",
col: "3",
codeOptions: [],
codeTree: "CODE_XZQH",
},
{
name: "前科人员数",
id: "zacsXyrMin",
id2: "zacsXyrMax",
type: "zdyText",
value: "",
placeholder: "最小作案次数",
value2: "",
placeholder2: "最大作案次数",
col: "3",
codeTree: "CODE_QGUNIT",
},
// {
// name: "前科人员数",
// id: "zacsXyrMin",
// id2: "zacsXyrMax",
// type: "zdyText",
// value: "",
// placeholder: "最小作案次数",
// value2: "",
// placeholder2: "最大作案次数",
// col: "3",
// },
],
date: this.$moment(new Date()).format("YYYY-MM-DD"),
activeText: "类案态势分析",
......@@ -385,7 +404,7 @@ export default {
asjfssjAsjfskssjEnd: "",
zacsXyrMax: "",
zacsXyrMin: "",
asjfsddXzqhdm: "",
ladwGajgjgdms: "",
},
colorList: [
"#39B3FF",
......@@ -855,10 +874,13 @@ export default {
香港特别行政区: "810100",
澳门特别行政区: "820000",
},
Loading: null,
allData1: [],
allData2: [],
allData3: [],
allCode: [],
chartsList: {},
echartsNum: 0,
fpaLegth1: 0,
fpaLegth2: 0,
......@@ -882,50 +904,52 @@ export default {
},
mounted() {
var self = this;
let unitcode = JSON.parse(
sessionStorage.getItem("userInfo")
).unitcode.slice(0, 6);
let unitcode =
JSON.parse(sessionStorage.getItem("userInfo")).unitcode.slice(0, 2) +
"0000000000";
let unit = unitcode == "010000000000" ? "" : unitcode;
self.$set(self.formData, "ladwGajgjgdms", unit);
let unit = unitcode == "010000" ? "" : unitcode;
self.$set(self.formData, "asjfsddXzqhdm", unit);
self.xzqh =
unitcode == "010000" ? "china" : self.provinceCodes[unitcode.slice(0, 2)];
unitcode == "010000000000"
? "china"
: self.provinceCodes[unitcode.slice(0, 2)];
self.propQueryField.forEach((val) => {
if (val.type == "code" || val.type == "codeTreeDialog") {
if (val.codeOptions.length == 0) {
axios
.get(`JsonData/${val.codeTree}.json`)
.then((res) => {
if(val.codeTree =='CODE_XZQH'){
let arr1 = res.data.data.rows.filter(
(item) => item.id.slice(0, 2) == unitcode.slice(0, 2)
);
let arr2 = [];
let arr3 = [];
let arr4 = [];
if (arr1.length > 0) {
arr2 = arr1[0].children.filter(
(item) => item.id.slice(0, 4) == unitcode.slice(0, 4)
);
}
if (arr2.length > 0) {
arr3 = arr2[0].children.filter(
(item) => item.id.slice(0, 6) == unitcode
);
}
arr4 =
unitcode == "010000"
? res.data.data.rows
: arr3.length > 0
? arr3
: arr2.length > 0
? arr2
: arr1
if (arr4.length > 0) {
self.$set(val, "codeOptions", arr4);
}
}else{
if (val.codeTree == "CODE_XZQH") {
// let arr1 = res.data.data.rows.filter(
// (item) => item.id.slice(0, 2) == unitcode.slice(0, 2)
// );
// let arr2 = [];
// let arr3 = [];
// let arr4 = [];
// if (arr1.length > 0) {
// arr2 = arr1[0].children.filter(
// (item) => item.id.slice(0, 4) == unitcode.slice(0, 4)
// );
// }
// if (arr2.length > 0) {
// arr3 = arr2[0].children.filter(
// (item) => item.id.slice(0, 6) == unitcode
// );
// }
// arr4 =
// unitcode == "010000"
// ? res.data.data.rows
// : arr3.length > 0
// ? arr3
// : arr2.length > 0
// ? arr2
// : arr1;
// if (arr4.length > 0) {
// self.$set(val, "codeOptions", arr4);
// }
} else {
self.$set(val, "codeOptions", res.data.data.rows);
}
})
......@@ -947,12 +971,40 @@ export default {
this.getEsFpaTsfxQueryAll(0, 11);
this.getEsFpaTsfxQuerys();
// if (
// this.formData.asjfsddXzqhdm.slice(2, 6) == "0000" ||
// this.formData.asjfsddXzqhdm == ""
// this.formData.ladwGajgjgdms.slice(2, 6) == "0000" ||
// this.formData.ladwGajgjgdms == ""
// ) {
// this.getEsFpaTsfxQuerys();
// }
// this.getEsFpaTsfxQuerys();
//监听浏览器视图变化
window.onresize = () => {
for (var charKey in self.chartsList) {
var chartItem = self.chartsList[charKey];
if (chartItem.getDom().id == "map") {
chartItem.resize({
width: $("#map").width(),
height: $("#map").height(),
});
} else if (chartItem.getDom().id == "suchCaseTop10") {
chartItem.resize({
width: $("#suchCaseTop10").width(),
height: $("#suchCaseTop10").height(),
});
} else if (chartItem.getDom().id == "aside_highRisk") {
chartItem.resize({
width: $("#aside_highRisk").width(),
height: $("#aside_highRisk").height(),
});
} else {
chartItem.resize();
}
}
};
zoom("dataVId");
window.addEventListener("resize", function () {
zoom("dataVId");
});
},
watch: {
activeText: {
......@@ -965,19 +1017,18 @@ export default {
// spinner: "el-icon-loading",
// background: "rgba(255, 255, 255, 0.7)",
// });
let unitcode = JSON.parse(
sessionStorage.getItem("userInfo")
).unitcode.slice(0, 6);
let unit = unitcode == "010000" ? "" : unitcode;
self.$set(self.form2, "asjfsddXzqhdm", unit);
let unitcode =
JSON.parse(sessionStorage.getItem("userInfo")).unitcode.slice(0, 2) +
"0000000000";
let unit = unitcode == "01000000000000" ? "" : unitcode;
self.$set(self.form2, "ladwGajgjgdms", unit);
self.propQueryField2.forEach((val) => {
if (val.type == "code" || val.type == "codeTreeDialog") {
if (val.codeOptions.length == 0) {
axios
.get(`JsonData/${val.codeTree}.json`)
.then((res) => {
if(val.codeTree =='CODE_XZQH'){
if (val.codeTree == "CODE_XZQH") {
let arr1 = res.data.data.rows.filter(
(item) => item.id.slice(0, 2) == unitcode.slice(0, 2)
);
......@@ -1005,7 +1056,7 @@ export default {
if (arr4.length > 0) {
self.$set(val, "codeOptions", arr4);
}
}else{
} else {
self.$set(val, "codeOptions", res.data.rows);
}
})
......@@ -1015,7 +1066,7 @@ export default {
}
}
});
self.$set(self.formData, "asjfsddXzqhdm", unit);
self.$set(self.formData, "ladwGajgjgdms", unit);
if (val == "前科人员态势分析") {
this.$nextTick(() => {
//折线图
......@@ -1036,8 +1087,8 @@ export default {
this.getEsFpaTsfxQueryAll(0, 11);
this.getEsFpaTsfxQuerys();
// if (
// this.formData.asjfsddXzqhdm.slice(2, 6) == "0000" ||
// this.formData.asjfsddXzqhdm == ""
// this.formData.ladwGajgjgdms.slice(2, 6) == "0000" ||
// this.formData.ladwGajgjgdms == ""
// ) {
// this.getEsFpaTsfxQuerys();
// }
......@@ -1057,6 +1108,16 @@ export default {
},
},
methods: {
/**
* 返回地图上一级
*/
backToUper() {
debugger;
if (this.chartsList["map"]) {
this.formData.ladwGajgjgdms = "";
this.getEsFpaTsfxQuerysList('')
}
},
getCodeSeleted(codeValue, item) {
// this.getSeleted(item, codeValue);
},
......@@ -1130,7 +1191,7 @@ export default {
self.ajtjList = [];
self.bothloading = true;
EsLatsfxFpaQuery({
asjfsddXzqhdm: self.formData.asjfsddXzqhdm,
ladwGajgjgdms: self.formData.ladwGajgjgdms,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjzlb: self.formData.ajlbdm,
gabAjxalb: self.formData.gabAjxalb,
......@@ -1138,6 +1199,7 @@ export default {
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart[0],
}).then((res) => {
if (res.code == 200) {
debugger;
self.bothloading = false;
this.ajtjList = [
{
......@@ -1176,9 +1238,9 @@ export default {
let lineData1 = [];
let lineData2 = [];
let myChart = this.$echarts.init(this.$refs.lineDiagram);
self.lineDiagramloading = true
self.lineDiagramloading = true;
EsXyrNldXbQuery({
asjfsddXzqhdm: self.form2.asjfsddXzqhdm,
ladwGajgjgdms: self.form2.ladwGajgjgdms,
zacsXyrMax: self.form2.zacsXyrMax,
zacsXyrMin: self.form2.zacsXyrMin,
asjfssjAsjfskssjEnd: self.form2.asjfssjAsjfskssjStart[1],
......@@ -1191,9 +1253,7 @@ export default {
lineData2.push(item.womenNum);
});
self.echartsNum++;
self.setLineDiagram(lineData1, lineData2, nlData,myChart);
self.setLineDiagram(lineData1, lineData2, nlData, myChart);
}
});
},
......@@ -1203,10 +1263,10 @@ export default {
* @param {*} data2 线2数据
* @return {*}
*/
setLineDiagram(data1, data2, nlData,myChart) {
setLineDiagram(data1, data2, nlData, myChart) {
// 基于准备好的dom,初始化echarts实例
// let myChart = this.$echarts.init(this.$refs.lineDiagram);
this.lineDiagramloading = false
this.lineDiagramloading = false;
myChart.setOption({
title: {
text: "年龄段和性别分布",
......@@ -1367,14 +1427,32 @@ export default {
window.addEventListener("resize", () => {
myChart.resize();
});
let self = this;
myChart.off("click");
myChart.on("click", function (params) {
debugger;
let routeData = self.$router.pushToTab({
path: "/kshTable",
query: {
ladwGajgjgdms: self.form2.ladwGajgjgdms,
asjfssjAsjfskssjStart: self.form2.asjfssjAsjfskssjStart[1],
asjfssjAsjfskssjEnd: self.form2.asjfssjAsjfskssjStart[0],
xyrXb: params.seriesName == "男性" ? "1" : "2",
xyrNld: params.name,
type: "ry",
title: "年龄段和性别分布详情",
},
});
window.open(routeData.href, "_blank");
});
},
//职业数据分布
getEsqkryzyQuery() {
var self = this;
let myChart = this.$echarts.init(this.$refs.roseDiagram);
self.roseDiagramloading =true
let myChart = this.$echarts.init(this.$refs.roseDiagram);
self.roseDiagramloading = true;
EsqkryzyQuery({
asjfsddXzqhdm: self.form2.asjfsddXzqhdm,
ladwGajgjgdms: self.form2.ladwGajgjgdms,
zacsXyrMax: self.form2.zacsXyrMax,
zacsXyrMin: self.form2.zacsXyrMin,
asjfssjAsjfskssjEnd: self.form2.asjfssjAsjfskssjStart[1],
......@@ -1386,7 +1464,7 @@ export default {
dataZy.push({ name: item.name, value: item.sum });
});
self.echartsNum++;
self.setRoseDiagram(dataZy,myChart);
self.setRoseDiagram(dataZy, myChart);
}
});
},
......@@ -1395,8 +1473,8 @@ export default {
* @param {*} data 玫瑰图数据
* @return {*}
*/
setRoseDiagram(data,myChart) {
this.roseDiagramloading =false
setRoseDiagram(data, myChart) {
this.roseDiagramloading = false;
//颜色组
const colorList = [
"#58D5FF",
......@@ -1489,13 +1567,30 @@ export default {
window.addEventListener("resize", () => {
myChart.resize();
});
let self = this;
myChart.off("click");
myChart.on("click", function (params) {
debugger;
let routeData = self.$router.pushToTab({
path: "/kshTable",
query: {
ladwGajgjgdms: self.form2.ladwGajgjgdms,
asjfssjAsjfskssjStart: self.form2.asjfssjAsjfskssjStart[1],
asjfssjAsjfskssjEnd: self.form2.asjfssjAsjfskssjStart[0],
xyrZy: params.name,
type: "ry",
title: "职业数据分布详情",
},
});
window.open(routeData.href, "_blank");
});
},
getEsxlsjfbQuery() {
var self = this;
let myChart = this.$echarts.init(this.$refs.pieDiagram);
self.pieDiagramloading =true
self.pieDiagramloading = true;
EsxlsjfbQuery({
asjfsddXzqhdm: self.form2.asjfsddXzqhdm,
ladwGajgjgdms: self.form2.ladwGajgjgdms,
zacsXyrMax: self.form2.zacsXyrMax,
zacsXyrMin: self.form2.zacsXyrMin,
asjfssjAsjfskssjEnd: self.form2.asjfssjAsjfskssjStart[1],
......@@ -1507,7 +1602,7 @@ export default {
dataZy.push({ name: item.name, value: item.sum });
});
self.echartsNum++;
self.setPieDiagram(dataZy,myChart);
self.setPieDiagram(dataZy, myChart);
}
});
},
......@@ -1516,8 +1611,8 @@ export default {
* @param {*} data 饼图数据
* @return {*}
*/
setPieDiagram(data,myChart) {
this.pieDiagramloading =false
setPieDiagram(data, myChart) {
this.pieDiagramloading = false;
//颜色组
const colorList = [
"#58D5FF",
......@@ -1611,16 +1706,34 @@ export default {
window.addEventListener("resize", () => {
myChart.resize();
});
let self = this;
myChart.off("click");
myChart.on("click", function (params) {
debugger;
let routeData = self.$router.pushToTab({
path: "/kshTable",
query: {
ladwGajgjgdms: self.form2.ladwGajgjgdms,
asjfssjAsjfskssjStart: self.form2.asjfssjAsjfskssjStart[1],
asjfssjAsjfskssjEnd: self.form2.asjfssjAsjfskssjStart[0],
xyrXl: params.name,
type: "ry",
title: "学历分布详情",
},
});
window.open(routeData.href, "_blank");
});
},
//小类案TOP10
getEslaXyrTopTenQuery() {
var self = this;
let ydata = [];
let data4 = [];
let data6 = [];
let myChart = this.$echarts.init(this.$refs.barDiagram);
self.barDiagramloading = true
self.barDiagramloading = true;
EslaXyrTopTenQuery({
asjfsddXzqhdm: self.form2.asjfsddXzqhdm,
ladwGajgjgdms: self.form2.ladwGajgjgdms,
zacsXyrMax: self.form2.zacsXyrMax,
zacsXyrMin: self.form2.zacsXyrMin,
asjfssjAsjfskssjEnd: self.form2.asjfssjAsjfskssjStart[1],
......@@ -1630,9 +1743,10 @@ export default {
res.data.rows.forEach((item) => {
ydata.push(item.name);
data4.push(item.countla);
data6.push(item.code);
});
self.echartsNum++;
self.setBarDiagram(ydata, data4, self.colorList,myChart);
self.setBarDiagram(ydata, data4, self.colorList, myChart, data6);
}
});
},
......@@ -1643,9 +1757,9 @@ export default {
* @param {*} colorList 颜色数据
* @return {*}
*/
setBarDiagram(y, data, colorList,myChart) {
setBarDiagram(y, data, colorList, myChart, data6) {
// 基于准备好的dom,初始化echarts实例
this.barDiagramloading = false
this.barDiagramloading = false;
//let myChart = this.$echarts.init(this.$refs.barDiagram);
myChart.setOption({
title: {
......@@ -1730,15 +1844,33 @@ export default {
window.addEventListener("resize", () => {
myChart.resize();
});
let self = this;
myChart.off("click");
myChart.on("click", function (params) {
debugger;
let routeData = self.$router.pushToTab({
path: "/kshTable",
query: {
ladwGajgjgdms: self.form2.ladwGajgjgdms,
asjfssjAsjfskssjStart: self.form2.asjfssjAsjfskssjStart[1],
asjfssjAsjfskssjEnd: self.form2.asjfssjAsjfskssjStart[0],
ajxlb: data6[params.dataIndex],
type: "aj",
title: "小类案TOP10详情",
},
});
window.open(routeData.href, "_blank");
});
},
getEsFpaTsfxQueryAll() {
var self = this;
self.allData1 = [];
self.allData2 = [];
self.allData3 = [];
self.asideloading = true;
self.allCode = [];
self.asideloading = true;
EsFpaTsfxQuery({
asjfsddXzqhdm: self.formData.asjfsddXzqhdm,
ladwGajgjgdms: self.formData.ladwGajgjgdms,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjxalb: self.formData.gabAjxalb,
gabAjzlb: self.formData.ajlbdm,
......@@ -1746,26 +1878,26 @@ export default {
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart[0],
}).then((res) => {
if (res.code == 200) {
debugger
debugger;
let fpaLegth = res.data.rows.length % 12;
// let num = parseInt(res.data.rows.length / 12);
// self.fpaLegth1 = (num == 0 && res.data.rows.length<=12) ? fpaLegth : 12;
if( res.data.rows.length > 12 && res.data.rows.length < 24){
self.fpaLegth2 = fpaLegth + 12
self.fpaLegth3 = 0
self.fpaLegth1 = 0
}else if(res.data.rows.length < 12 || res.data.rows.length === 12){
self.fpaLegth1 = res.data.rows.length
self.fpaLegth2 = 0
self.fpaLegth3 = 0
}else if( res.data.rows.length > 24){
self.fpaLegth1 = 12
self.fpaLegth2 = 24
self.fpaLegth3 = fpaLegth + 24
}else if(res.data.rows.length === 24){
self.fpaLegth3 = 0
self.fpaLegth2 = 24
self.fpaLegth1 = 12
if (res.data.rows.length > 12 && res.data.rows.length < 24) {
self.fpaLegth2 = fpaLegth + 12;
self.fpaLegth3 = 0;
self.fpaLegth1 = 0;
} else if (res.data.rows.length < 12 || res.data.rows.length === 12) {
self.fpaLegth1 = res.data.rows.length;
self.fpaLegth2 = 0;
self.fpaLegth3 = 0;
} else if (res.data.rows.length > 24) {
self.fpaLegth1 = 12;
self.fpaLegth2 = 24;
self.fpaLegth3 = fpaLegth + 24;
} else if (res.data.rows.length === 24) {
self.fpaLegth3 = 0;
self.fpaLegth2 = 24;
self.fpaLegth1 = 12;
}
// self.fpaLegth2 =
// (num == 1 && res.data.rows.length > 12) ? fpaLegth + 12 : self.fpaLegth1 == 12 ? 25 : 0;
......@@ -1774,6 +1906,7 @@ export default {
self.allData1.push(item.name);
self.allData2.push(item.numFa);
self.allData3.push(item.numPa);
self.allCode.push(item.code);
});
self.getEsFpaTsfxQuery(0, 11);
self.activeBtn = `1-${self.fpaLegth1}`;
......@@ -1787,6 +1920,7 @@ export default {
let areaYData = [];
let data4 = [];
let data5 = [];
let data6 = [];
let myChart = this.$echarts.init(this.$refs.aside_solveacase);
for (let i = num1; i <= num2; i++) {
......@@ -1794,9 +1928,10 @@ export default {
areaYData.push(self.allData1[i]);
data4.push(self.allData2[i]);
data5.push(self.allData3[i]);
data6.push(self.allCode[i]);
}
}
self.setAside_solveacase(areaYData, data4, data5, myChart);
self.setAside_solveacase(areaYData, data4, data5, myChart, data6);
this.asideloading = false;
},
getEsFpaTsfxQuerys() {
......@@ -1804,8 +1939,8 @@ export default {
let myChart = this.$echarts.init(this.$refs.map);
self.maploading = true;
EsFpaTsfxQuery({
asjfsddXzqhdm: self.formData.asjfsddXzqhdm
? `${self.formData.asjfsddXzqhdm.slice(0, 2)}0000`
ladwGajgjgdms: self.formData.ladwGajgjgdms
? self.formData.ladwGajgjgdms
: "",
gabAjxzlb: self.formData.gabAjxzlb,
gabAjxalb: self.formData.gabAjxalb,
......@@ -1816,6 +1951,32 @@ export default {
.then((res) => {
if (res.code == 200) {
// self.zxqh = self.zxqh ? self.xzqh:'china'
debugger;
self.setMap(self.xzqh, res.data.rows, myChart);
}
})
.catch((err) => {
// self.Loading.close();
});
},
getEsFpaTsfxQuerysList(params) {
debugger;
var self = this;
let myChart = this.$echarts.init(this.$refs.map);
self.maploading = true;
EsFpaTsfxQuery({
ladwGajgjgdms: params.data.unitCode,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjxalb: self.formData.gabAjxalb,
gabAjzlb: self.formData.ajlbdm,
asjfssjAsjfskssjEnd: self.formData.asjfssjAsjfskssjStart[1],
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart[0],
})
.then((res) => {
if (res.code == 200) {
// self.zxqh = self.zxqh ? self.xzqh:'china'
debugger;
self.xzqh = params.data.unitCode;
self.setMap(self.xzqh, res.data.rows, myChart);
}
})
......@@ -1830,8 +1991,7 @@ export default {
* @param {*} data2 破案数数据
* @return {*}
*/
setAside_solveacase(y, data1, data2, myChart) {
setAside_solveacase(y, data1, data2, myChart, data6) {
// let myChart = this.$echarts.init(this.$refs.aside_solveacase);
myChart.setOption({
title: {
......@@ -1958,16 +2118,38 @@ export default {
window.addEventListener("resize", () => {
myChart.resize();
});
let self = this;
myChart.off("click");
myChart.on("click", function (params) {
debugger;
let routeData = self.$router.pushToTab({
path: "/kshTable",
query: {
ladwGajgjgdms: self.formData.ladwGajgjgdms,
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart[1],
asjfssjAsjfskssjEnd: self.formData.asjfssjAsjfskssjStart[0],
gabAjzlb: self.formData.gabAjzlb,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjxalb: self.formData.gabAjxalb,
fpaType: params.seriesName == "发案数" ? "1" : "2",
ajxlb: data6[params.dataIndex],
type: "aj",
title: "发破案态势统计详情",
},
});
window.open(routeData.href, "_blank");
});
},
//地域性高危人群top10
getEsdyxgwrqTopTenQuery() {
var self = this;
let highRiskX = [];
let highRiskData = [];
let dataCode = [];
let myChart = this.$echarts.init(this.$refs.aside_highRisk);
self.highRiskloading = true;
EsdyxgwrqTopTenQuery({
asjfsddXzqhdm: self.formData.asjfsddXzqhdm,
ladwGajgjgdms: self.formData.ladwGajgjgdms,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjxalb: self.formData.gabAjxalb,
gabAjzlb: self.formData.ajlbdm,
......@@ -1978,9 +2160,10 @@ export default {
res.data.rows.forEach((item) => {
highRiskX.push(item.name);
highRiskData.push(item.sum);
dataCode.push(item.code);
});
}
this.aside_highRisk(highRiskX, highRiskData, myChart);
this.aside_highRisk(highRiskX, highRiskData, myChart, dataCode);
});
},
/**
......@@ -1990,7 +2173,7 @@ export default {
* @param {*} rotate x轴文字倾斜度数
* @return {*}
*/
aside_highRisk(x, data, myChart) {
aside_highRisk(x, data, myChart, dataCode) {
this.highRiskloading = false;
// let myChart = this.$echarts.init(this.$refs.aside_highRisk);
var option = {
......@@ -2128,25 +2311,37 @@ export default {
},
],
};
// setInterval(()=>{
// if(option.dataZoom[0].endValue == x.length){
// option.dataZoom[0].endValue = 10;
// option.dataZoom[0].startValue = 0;
// }else{
// option.dataZoom[0].endValue = option.dataZoom[0].endValue + 1;
// option.dataZoom[0].startValue = option.dataZoom[0].startValu + 1;
// }
// myChart.setOption(option)
// },1000)
this.chartsList["aside_highRisk"] = myChart;
myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
});
let self = this;
myChart.off("click");
myChart.on("click", function (params) {
debugger;
let routeData = self.$router.pushToTab({
path: "/kshTable",
query: {
ladwGajgjgdms: self.formData.ladwGajgjgdms,
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart[1],
asjfssjAsjfskssjEnd: self.formData.asjfssjAsjfskssjStart[0],
gabAjzlb: self.formData.gabAjzlb,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjxalb: self.formData.gabAjxalb,
xyrXzqh: dataCode[params.dataIndex],
type: "ry",
title: "地域性高危人群top10",
},
});
window.open(routeData.href, "_blank");
});
},
//类案TOP10
getEslaTopTenQuery() {
var self = this;
let ydata = [];
let data6 = [];
let data4 = [];
let myChart = this.$echarts.init(this.$refs.suchCaseTop10);
// if (myChart) {
......@@ -2159,7 +2354,7 @@ export default {
// });
EslaTopTenQuery({
asjfsddXzqhdm: self.formData.asjfsddXzqhdm,
ladwGajgjgdms: self.formData.ladwGajgjgdms,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjxalb: self.formData.gabAjxalb,
gabAjzlb: self.formData.ajlbdm,
......@@ -2167,17 +2362,18 @@ export default {
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart[0],
})
.then((res) => {
console.log('res....',res);
console.log("res....", res);
if (res.code == 200) {
res.data.rows.forEach((item) => {
ydata.push(item.name);
data4.push(item.countla);
data6.push(item.code);
});
} else {
self.Loading.close();
}
self.setSuchCaseTop10(ydata, data4, myChart);
self.setSuchCaseTop10(ydata, data4, myChart, data6);
})
.catch((err) => {
// self.Loading.close();
......@@ -2190,7 +2386,7 @@ export default {
* @param {*} colorList 颜色数据
* @return {*}
*/
setSuchCaseTop10(ydata, data4, myChart) {
setSuchCaseTop10(ydata, data4, myChart, data6) {
var self = this;
this.Toploading = false;
// let myChart = this.$echarts.init(this.$refs.suchCaseTop10);
......@@ -2276,8 +2472,48 @@ export default {
window.addEventListener("resize", () => {
myChart.resize();
});
// let self = this;
myChart.off("click");
myChart.on("click", function (params) {
debugger;
let routeData = self.$router.pushToTab({
path: "/kshTable",
query: {
ladwGajgjgdms: self.formData.ladwGajgjgdms,
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart[1],
asjfssjAsjfskssjEnd: self.formData.asjfssjAsjfskssjStart[0],
gabAjzlb: self.formData.gabAjzlb,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjxalb: self.formData.gabAjxalb,
ajxlb: data6[params.dataIndex],
type: "aj",
title: "类案TOP10详情",
},
});
window.open(routeData.href, "_blank");
});
self.chartsList["suchCaseTop10"] = myChart;
// this.TopMyChar.hideLoading(); //提示关闭
},
goAj(item) {
let self = this;
debugger;
self.$router.pushToTab({
path: "/kshTable",
query: {
ladwGajgjgdms: self.formData.ladwGajgjgdms,
asjfssjAsjfskssjStart: self.formData.asjfssjAsjfskssjStart[1],
asjfssjAsjfskssjEnd: self.formData.asjfssjAsjfskssjStart[0],
gabAjzlb: self.formData.gabAjzlb,
gabAjxzlb: self.formData.gabAjxzlb,
gabAjxalb: self.formData.gabAjxalb,
fpaType: item.id == "maFaCount" ? "1" : "2",
type: "aj",
title: item.id == "maFaCount" ? "发案数据详情" : "破案数据详情",
},
});
},
/**
* @description: 地图数据封装
* @param {*} type 地图类型(中国为china,省份为内蒙古等)
......@@ -2285,6 +2521,7 @@ export default {
* @return {*}
*/
setMap(type = "china", list, myChart) {
debugger;
var self = this;
self.maploading = false;
// let mapLoading = this.$loading({
......@@ -2307,6 +2544,7 @@ export default {
value: [item.jd, item.wd],
num: parseInt(item.numPa) + parseInt(item.numFa),
name: showName,
unitCode: item.code,
numPa: parseInt(item.numPa),
numFa: parseInt(item.numFa),
});
......@@ -2463,10 +2701,31 @@ export default {
// myChart.setOption(option);
// }
myChart.setOption(option);
this.chartsList["map"] = myChart;
// mapLoading.close();
window.addEventListener("resize", () => {
myChart.resize();
});
myChart.off("click");
myChart.on("click", function (params) {
if (params.data && params.data.unitCode) {
//debugger;
//省
self.clickCity = params;
if (self.provinces[params.name]) {
import(
"echarts/map/js/province/" + self.provinces[params.name]
).then(() => {
option.series[0].map = params.name;
option.geo.map = params.name;
myChart.setOption(option);
});
self.formData.unitcode =
params.data.unitCode.substr(0, 2) + "0000000000";
self.getEsFpaTsfxQuerysList(params); //数据上图
}
}
});
},
/**
* @description: 数组中某个对象的某个字段的数求和
......@@ -2495,15 +2754,15 @@ export default {
* @return {*}
*/
searchSuchCase() {
let unitcode = JSON.parse(
sessionStorage.getItem("userInfo")
).unitcode.slice(0, 6);
if (!this.formData.asjfsddXzqhdm) {
if (unitcode != "010000") {
this.$message.error("请选择行政单位");
let unitcode =
JSON.parse(sessionStorage.getItem("userInfo")).unitcode.slice(0, 2) +
"0000000000";
if (!this.form2.ladwGajgjgdms) {
if (unitcode != "010000000000") {
this.$message.error("请选择立案单位");
} else {
this.xzqh =
this.provinceCodes[this.formData.asjfsddXzqhdm.slice(0, 2)];
this.provinceCodes[this.formData.ladwGajgjgdms.slice(0, 2)];
// this.Loading = this.$loading({
// lock: true,
// text: "正在查询...",
......@@ -2516,8 +2775,8 @@ export default {
this.getEsdyxgwrqTopTenQuery();
this.getEsFpaTsfxQueryAll(0, 11);
if (
this.formData.asjfsddXzqhdm.slice(2, 6) == "0000" ||
this.formData.asjfsddXzqhdm == ""
this.formData.ladwGajgjgdms.slice(2, 6) == "0000" ||
this.formData.ladwGajgjgdms == ""
) {
this.getEsFpaTsfxQuerys();
} else {
......@@ -2525,7 +2784,7 @@ export default {
}
}
} else {
this.xzqh = this.provinceCodes[this.formData.asjfsddXzqhdm.slice(0, 2)];
this.xzqh = this.provinceCodes[this.formData.ladwGajgjgdms.slice(0, 2)];
// this.Loading = this.$loading({
// lock: true,
// text: "正在查询...",
......@@ -2538,8 +2797,8 @@ export default {
this.getEsdyxgwrqTopTenQuery();
this.getEsFpaTsfxQueryAll(0, 11);
if (
this.formData.asjfsddXzqhdm.slice(2, 6) == "0000" ||
this.formData.asjfsddXzqhdm == ""
this.formData.ladwGajgjgdms.slice(2, 6) == "0000" ||
this.formData.ladwGajgjgdms == ""
) {
this.getEsFpaTsfxQuerys();
} else {
......@@ -2560,10 +2819,10 @@ export default {
// this.getEsFpaTsfxQueryALl(0, 11);
// this.getEsFpaTsfxQuerys();
},
resetSuchCase2(){
resetSuchCase2() {
this.$refs.form2.resetFields();
for(let key in this.form2){
this.form2[key] = ''
for (let key in this.form2) {
this.form2[key] = "";
}
},
/**
......@@ -2579,12 +2838,12 @@ export default {
// spinner: "el-icon-loading",
// background: "rgba(255, 255, 255, 0.7)",
// });
let unitcode = JSON.parse(
sessionStorage.getItem("userInfo")
).unitcode.slice(0, 6);
if (!this.form2.asjfsddXzqhdm) {
if (unitcode != "010000") {
this.$message.error("请选择行政单位");
let unitcode =
JSON.parse(sessionStorage.getItem("userInfo")).unitcode.slice(0, 2) +
"0000000000";
if (!this.form2.ladwGajgjgdms) {
if (unitcode != "010000000000") {
this.$message.error("请选择立案单位");
} else {
//折线图
this.getEsXyrNldXbQuery();
......@@ -2631,7 +2890,12 @@ export default {
},
};
</script>
<style lang="scss">
/*覆盖ui库得样式,在scoped里没效果*/
.v-modal {
z-index: -10 !important;
}
</style>
<style scoped lang="scss">
@mixin scrollBarStyle() {
&::-webkit-scrollbar {
......@@ -2677,7 +2941,7 @@ export default {
}
}
.daping_box {
height: 100vh;
// height: 100vh;
background-image: url("~@/assets/img/bg13.png");
.header {
height: 80px;
......@@ -2798,12 +3062,12 @@ export default {
}
}
> #suchCaseTop10 {
height: 35%;
height: 350px;
width: 100%;
}
}
.map {
height: 98%;
height: 800px;
width: calc(100% - 840px) !important;
}
.aside {
......@@ -2865,7 +3129,7 @@ export default {
}
> div {
width: 100%;
height: 100%;
// height: 100%;
padding: 0 55px;
position: relative;
}
......
<template>
<div>
<div class="headerTitle">
<img
src="@/assets/img/jinghui.png"
style="width: 34px; margin-bottom: 5px"
alt=""
/>
{{ propTitle }}
</div>
<div class="tableContent">
<div style="text-align: right; padding: 10px 20px 0px">
共查询 <span class="wz"> {{ count }}</span>数据结果
</div>
<div class="table">
<el-table
v-loading="loading"
element-loading-text="拼命加载中"
:data="tableData"
border
style="width: 100%"
>
<el-table-column
v-for="(item, index) in tableDataList"
:key="index"
:prop="item.prop"
:label="item.label"
:width="item.width"
align="center"
>
</el-table-column>
</el-table>
</div>
<div style="margin-left: 41%; padding: 20px">
<!--分页-->
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage1"
:page-sizes="[10, 20, 50, 100]"
:page-size="page_size"
layout="sizes,prev, pager, next"
:total="count"
>
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import { EsAsjXyrQuery, esAsjQuery } from "@/api/zdgl.js";
export default {
data() {
return {
propTitle: "测试",
loading: false,
count: 0,
currentPage1: 1,
page_size: 10,
tableData: [],
tableDataList: [],
// 案件
ajTableList: [
{
label: "案件编号",
prop: "asjbh",
width: "280",
},
{
label: "案件名称",
prop: "ajmc",
width: "280",
},
{
label: "立案日期",
prop: "larq",
width: "280",
},
{
label: "案发日期",
prop: "asjfssjAsjfskssj",
width: "280",
},
{
label: "简要案情",
prop: "jyaq",
width: "320",
},
{
label: "类别",
prop: "lbText",
width: "300",
},
{
label: "案发地点",
prop: "asjfsddDzmc",
width: "280",
},
{
label: "损失总价值",
prop: "ssjzrmby",
width: "280",
},
{
label: "立案单位",
prop: "ladwPcs",
width: "280",
},
],
// 人员
ryTableList: [
{
label: "案件编号",
prop: "asjbh",
width: "250",
},
{
label: "姓名",
prop: "xm",
width: "200",
},
{
label: "证件号码",
prop: "zjhm",
width: "200",
},
{
label: "人员编号",
prop: "rybh",
width: "250",
},
{
label: "性别",
prop: "xb",
width: "100",
},
{
label: "民族",
prop: "mz",
width: "200",
},
{
label: "国籍",
prop: "gj",
width: "200",
},
{
label: "户籍地区划",
prop: "hdjdm",
width: "230",
},
{
label: "户籍地详址",
prop: "hjdzDzmc",
width: "230",
},
{
label: "抓获日期",
prop: "zhrq",
width: "230",
},
{
label: "抓获单位",
prop: "zhdw",
width: "230",
},
],
};
},
methods: {
handleSizeChange(val) {
this.page_size = val;
if (self.$route.query.type == "ry") {
self.EsAsjXyrQueryList();
} else if (self.$route.query.type == "aj") {
self.esAsjQueryList();
}
},
handleCurrentChange(val) {
this.currentPage1 = val;
if (self.$route.query.type == "ry") {
self.EsAsjXyrQueryList();
} else if (self.$route.query.type == "aj") {
self.esAsjQueryList();
}
},
EsAsjXyrQueryList() {
debugger;
let self = this;
self.loading = true;
let json = {
page: self.currentPage1,
limit: self.page_size,
ladwGajgjgdms: self.$route.query.ladwGajgjgdms
? self.$route.query.ladwGajgjgdms
: "",
asjfssjAsjfskssjStart: self.$route.query.asjfssjAsjfskssjStart
? self.$route.query.asjfssjAsjfskssjStart
: "",
asjfssjAsjfskssjEnd: self.$route.query.asjfssjAsjfskssjEnd
? self.$route.query.asjfssjAsjfskssjEnd
: "",
gabAjzlb: self.$route.query.gabAjzlb ? self.$route.query.gabAjzlb : "",
gabAjxzlb: self.$route.query.gabAjxzlb
? self.$route.query.gabAjxzlb
: "",
gabAjxalb: self.$route.query.gabAjxalb
? self.$route.query.gabAjxalb
: "",
xyrXzqh: self.$route.query.xyrXzqh ? self.$route.query.xyrXzqh : "",
xyrXb: self.$route.query.xyrXb ? self.$route.query.xyrXb : "",
xyrNld: self.$route.query.xyrNld ? self.$route.query.xyrNld : "",
xyrZy: self.$route.query.xyrZy ? self.$route.query.xyrZy : "",
xyrXl: self.$route.query.xyrXl ? self.$route.query.xyrXl : "",
};
self.tableDataList = self.ryTableList;
EsAsjXyrQuery(json).then((res) => {
if (res.code == 200) {
self.tableData = res.data.rows;
self.count = res.data.total;
self.loading = false;
}
});
},
esAsjQueryList() {
let self = this;
self.loading = true;
let obj = {
page: self.currentPage1,
limit: self.page_size,
ladwGajgjgdms: self.$route.query.ladwGajgjgdms
? self.$route.query.ladwGajgjgdms
: "",
asjfssjAsjfskssjStart: self.$route.query.asjfssjAsjfskssjStart
? self.$route.query.asjfssjAsjfskssjStart
: "",
asjfssjAsjfskssjEnd: self.$route.query.asjfssjAsjfskssjEnd
? self.$route.query.asjfssjAsjfskssjEnd
: "",
gabAjzlb: self.$route.query.gabAjzlb ? self.$route.query.gabAjzlb : "",
gabAjxzlb: self.$route.query.gabAjxzlb
? self.$route.query.gabAjxzlb
: "",
gabAjxalb: self.$route.query.gabAjxalb
? self.$route.query.gabAjxalb
: "",
fpaType: self.$route.query.fpaType ? self.$route.query.fpaType : "",
ajxlb: self.$route.query.ajxlb ? self.$route.query.ajxlb : "",
};
self.tableDataList = self.ajTableList;
esAsjQuery(obj).then((res) => {
if (res.code == 200) {
res.data.rows.forEach((item) => {
item.lbText = item.ajzlbMc
? `${item.ajlbdmMc}/${item.ajzlbMc}/${item.ajxzlbMc}`
: `${item.ajlbdmMc}`;
});
self.tableData = res.data.rows;
self.loading = false;
self.count = res.data.total;
}
});
},
},
created() {
let self = this;
(self.currentPage1 = 1),
(self.page_size = 10),
(self.propTitle = self.$route.query.title);
if (self.$route.query.type == "ry") {
self.EsAsjXyrQueryList();
} else if (self.$route.query.type == "aj") {
self.esAsjQueryList();
}
},
mounted() {},
};
</script>
<style scoped lang='scss'>
.headerTitle {
height: 48px;
line-height: 48px;
background: #1f212c;
color: #ffffff;
font-size: 16px;
font-weight: bold;
padding-left: 30px;
}
.tableContent {
margin: 20px 56px;
background: white;
.wz {
color: rgb(255, 136, 0);
}
.table {
padding: 10px 20px;
}
}
</style>
\ No newline at end of file
......@@ -66,8 +66,8 @@ module.exports = {
// }
// },
"/api": {
target: "http://26.3.14.165:8762/", //me 公安网
// target: "http://192.168.1.112:8762/", //me
// target: "http://26.3.14.165:8762/", //me 公安网
target: "http://47.92.48.137:1007/", //me
ws: true,
changeOrigin: true,
pathRewrite: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment