Commit c4dda7a6 by cc150520900118

指纹系统

parent 8c269bea
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -18,7 +18,9 @@ let base = {
// naotuurl: "",
Ptlogin: "",
ebss: "",
test: ""
test: "",
cs:'',
zwxt:""
};
if (relUrlIp == "133.8.5.1"||
relUrlIp == "68.174.69.46" ||
......@@ -57,6 +59,8 @@ if (relUrlIp == "133.8.5.1"||
base.BaseURL="/apiAjzb"
//------------------------------刑专二期(日志)服务路径**阿里云**--------------------------------
base.rzURL="/apiXzxt"
base.cs="/cs"
base.zwxt="http://localhost:18800/#"
//------------------------------ 在逃URL------------------------------
base.ztptURL = 'http://26.3.13.120:8088';
//------------------------------刑侦后台服务路径**阿里云**--------------------------------
......
......@@ -7,16 +7,6 @@ import "./plugins/element.js";
import Util from "./utils/util";
import VueWechatTitle from "vue-wechat-title";
import "@/assets/styles/iconfont.css";
import dataV from '@jiaminghi/data-view'
Vue.use(dataV)
import Video from 'video.js'
import 'video.js/dist/video-js.css'
Vue.prototype.$video = Video
// 引入echarts
import echarts from 'echarts'
Vue.prototype.$echarts = echarts
Vue.prototype.bus = new Vue;
import Nsloading from "./components/Loading.vue";
import Loading from "./components/Loading.vue";
......
export default[
{
path: "/",
redirect: "/login"
redirect: "/fingerprintIndex"
},
{
path: "/home",
name: "Home",
path: "/fingerprintIndex",
name: "fingerprintIndex",
meta: {
title: "Home",
title: '指纹界面',
auth: 5
},
component: () => import("@/views/Home.vue")
},
{
path: "/callQuery",
name: "callQuery",
meta: {
title: '查询界面',
auth: 5
},
component: () => import("@/components/demoPrototype/queryPages/callQuery.vue")
},
{
path: "/jccxIndex",
name: "jccxIndex",
meta: {
title: '基础查询界面',
auth: 5
},
component: () => import("@/views/jccx/index.vue")
},
{
path: "/ykgldpIndex",
name: "ykgldpIndex",
meta: {
title: '运控管理大屏',
auth: 5
},
component: () => import("@/views/rzcx/ykgldp.vue")
},
{
path: "/rzcxIndex",
name: "rzcxIndex",
meta: {
title: '日志查询界面',
auth: 5
},
component: () => import("@/views/rzcx/index.vue"),
redirect: {name: "sjzyykgl"}, //输入路由会重定向到dlrz页面
children:
[
{
path: "dlrz",
name: "dlrz",
component: () => import("@/views/rzcx/dlrz.vue"),
meta: {
title: "运控管理"
}
},
{
path: "gnsyrz",
name: "gnsyrz",
component: () => import("@/views/rzcx/gnsyrz.vue"),
meta: {
title: "运控管理"
}
},
{
path: "ldfwrz",
name: "ldfwrz",
component: () => import("@/views/rzcx/ldfwrz.vue"),
meta: {
title: "运控管理"
}
},
{
path: "ykfw",
name: "ykfw",
component: () => import("@/views/rzcx/ykfw.vue"),
meta: {
title: "运控管理"
}
},
{
path: "dwfwyktj",
name: "dwfwyktj",
component: () => import("@/views/rzcx/dwfwyktj.vue"),
meta: {
title: "运控管理"
}
},
{
path: "fwrz",
name: "fwrz",
component: () => import("@/views/rzcx/fwrz.vue"),
meta: {
title: "运控管理"
}
},
{
path: "ykpgbg",
name: "ykpgbg",
component: () => import("@/views/rzcx/ykpgbg.vue"),
meta: {
title: "运控管理"
}
},
{
path: "gnfwtj",
name: "gnfwtj",
component: () => import("@/views/rzcx/gnfwtj.vue"),
meta: {
title: "运控管理"
}
},
{
path: "sjzyykgl",
name: "sjzyykgl",
component: () => import("@/views/rzcx/sjzyykgl.vue"),
meta: {
title: "运控管理"
}
},
{
path: "jwzdjappykgl",
name: "jwzdjappykgl",
component: () => import("@/views/rzcx/jwzdjappykgl.vue"),
meta: {
title: "运控管理"
}
},
]
},
{
path: "/qsajIndex",
name: "qsajIndex",
meta: {
title: '查询全省案件信息',
auth: 5
},
component: () => import("@/views/naoTu/cxqsajxx.vue")
},
{
path: "/qgajIndex",
name: "qgajIndex",
meta: {
title: '查询全国案件信息',
auth: 5
},
component: () => import("@/views/naoTu/cxqgajxx.vue")
},
{
path: "/cxqghcdpxxIndex",
name: "cxqghcdpxxIndex",
meta: {
title: '查询全国火车订票信息',
auth: 5
},
component: () => import("@/views/naoTu/cxqghcdpxx.vue")
},
{
path: "/cxqgkdxxIndex",
name: "cxqgkdxxIndex",
meta: {
title: '查询全国快递信息',
auth: 5
},
component: () => import("@/views/naoTu/cxqgkdxx.vue")
},
{
path: "/cxqshbxxIndex",
name: "cxqshbxxIndex",
meta: {
title: '查询全省航班信息',
auth: 5
},
component: () => import("@/views/naoTu/cxqshbxx.vue")
},
{
path: "/cxqshcxxIndex",
name: "cxqshcxxIndex",
meta: {
title: '查询全省火车信息',
auth: 5
},
component: () => import("@/views/naoTu/cxqshcxx.vue")
},
{
path: "/cxqsldxxIndex",
name: "cxqsldxxIndex",
meta: {
title: '查询全省旅店信息',
auth: 5
},
component: () => import("@/views/naoTu/cxqsldxx.vue")
},
{
path: "/cxqswbxxIndex",
name: "cxqswbxxIndex",
meta: {
title: '查询全省网吧信息',
auth: 5
},
component: () => import("@/views/naoTu/cxqswbxx.vue")
},
{
path: "/cxqskdxxIndex",
name: "cxqskdxxIndex",
meta: {
title: '查询全省快递信息',
auth: 5
},
component: () => import("@/views/naoTu/cxqskdxx.vue")
},
{
path: "/cxhdxxIndex",
name: "cxhdxxIndex",
meta: {
title: '查询话单信息',
auth: 5
},
component: () => import("@/views/naoTu/cxhdxx.vue")
},
{
path: "/cxqghbxxIndex",
name: "cxqghbxxIndex",
meta: {
title: '查询全国航班信息',
auth: 5
},
component: () => import("@/views/naoTu/cxqghbxx.vue")
},
{
path: "/cxtxlxxIndex",
name: "cxtxlxxIndex",
meta: {
title: '查询通讯录信息',
auth: 5
},
component: () => import("@/views/naoTu/cxtxlxx.vue")
},
{
path: "/cxqskyxxIndex",
name: "cxqskyxxIndex",
meta: {
title: '查询全省客运信息',
auth: 5
},
component: () => import("@/views/naoTu/cxqskyxx.vue")
},
{
path: "/claqkryIndex",
name: "claqkryIndex",
meta: {
title: '查询次类案前科人员',
auth: 5
},
component: () => import("@/views/naoTu/claqkry.vue")
},
{
path: "/cxjfcbajxxIndex",
name: "cxjfcbajxxIndex",
meta: {
title: '查询积分串并案件信息',
auth: 5
},
component: () => import("@/views/naoTu/cxjfcbajxx.vue")
},
{
path: "/cxcbxlajxxIndex",
name: "cxcbxlajxxIndex",
meta: {
title: '查询串并系列案件信息',
auth: 5
},
component: () => import("@/views/naoTu/cxcbxlajxx.vue")
},
{
path: "/cxcbxszxxIndex",
name: "cxcbxszxxIndex",
meta: {
title: '查询串并线索组信息',
auth: 5
},
component: () => import("@/views/naoTu/cxcbxszxx.vue")
},
{
path: "/cxclwzxxIndex",
name: "cxclwzxxIndex",
meta: {
title: '查询车辆违章信息',
auth: 5
},
component: () => import("@/views/naoTu/cxclwzxx.vue")
component: () => import("@/views/zwxt/fingerprint.vue")
},
]
var getBase64=(url, callback) =>{
var Img = new Image(),
dataURL = '';
Img.src = url + '?v=' + Math.random();
Img.setAttribute('crossOrigin', 'Anonymous');
Img.onload = function() {
var canvas = document.createElement('canvas'),
width = Img.width,
height = Img.height;
canvas.width = width;
canvas.height = height;
canvas.getContext('2d').drawImage(Img, 0, 0, width, height);
dataURL = canvas.toDataURL('image/jpeg');
return callback ? callback(dataURL) : null;
};
};
export {
getBase64
}
<template>
<div id="ajTable">
<el-dialog title="案件信息" :visible.sync="dialogFyxxVisible" width="1050px" class="jyDialog" center @close="closeDialog">
<el-table
:data="fyxxTable"
style="width: 100%"
highlight-current-row
>
<el-table-column
align="center"
:min-width="
columnTitle.width
? columnTitle.width
: columnTitle.prop == 'jyaq' || columnTitle.prop == 'asjbh'
? '360'
: '160'
"
v-for="columnTitle in ajThead"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
>
<template slot-scope="scope">
<div class="ajxq_s" v-if="columnTitle.prop == 'jyaq'">
<span class="none" v-html="scope.row[columnTitle.prop]"></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.nextSibling.style.display="block"'
style="display: inline-block;width: 100%;text-align: right;color: #3692c6;font-weight:600;"
id="open"
>展开</a
>
</div>
<div class="ajxq_n" style="display:none;">
<span
style="display: block;"
v-html="scope.row[columnTitle.prop]"
></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.previousSibling.style.display="block"'
style="float:right;color: #3692c6;font-weight:600;"
id="stop"
>收起</a
>
</div>
<div
v-if="columnTitle.prop != 'jyaq'"
v-html="scope.row[columnTitle.prop]"
></div>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination
background
@current-change="handleCurrentChange"
:current-page.sync="currentPage1"
:page-size="page_size"
layout="prev, pager, next"
:small="true"
:total="fyTableLength">
</el-pagination>
</el-dialog>
</div>
</template>
<script>
export default {
name: "ajTable",
props:{
DefaultAjFormThead: {
type: Array,
default: () => []
},
ajTableVisi:Boolean,
cxcsAjList: {
type: Array,
default: () => []
},
},
data(){
return {
currentPage1:1,
page_size:10,
fyTableLength:0,
dialogFyxxVisible:this.ajTableVisi,
fyxxTable:this.cxcsAjList,
ajThead:this.DefaultAjFormThead
}
},
methods:{
closeDialog(){
let self=this;
//self.dialogFyxxVisible=false;
self.currentPage1 = 1;
self.$emit("close",false)
},
handleCurrentChange(val){
let self = this;
self.currentPage1 = val;
self.$emit("aginQuery",self.currentPage1)
}
},
watch:{
ajTableVisi(val){
debugger
let self=this;
self.dialogFyxxVisible=val;
},
cxcsAjList(val){
this.fyxxTable=val;
}
},
mounted() {
}
}
</script>
<style scoped>
</style>
<template>
<div class="settingDialog">
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="案件信息" name="ajxx">
<div class="dragwrap">
<div class="selected">
<p class="select-header">已选表头</p>
<div class="contentH">
<draggable
class="list-group"
:list="ajxxList.data"
group="ajxx"
@change="draggableList"
element="ul"
data-listidx="0"
ref="selected_ul"
filter=".undraggable"
v-if="ajxxList.data.length!=0"
>
<li
v-for="element in ajxxList.data"
:key="element.id"
:class="
element.id == 'ajzlb' ||
element.id == 'ajxzlb' ||
element.id == 'xalbdmbcms'
? 'list-group-item undraggable group-item'+element.col
: 'list-group-item draggable group-item'+element.col
"
@click="move(element, 'ajxx', true)"
>
<i class="iconfont iconyixuan"></i>
<div :rel="element.id" :name="element.name">
{{ element.name }}
</div>
</li>
</draggable>
<div v-else class="zwsjWrap">
<img src="../../assets/img/zwsj.png"/><p>暂无数据</p>
</div>
</div>
</div>
<div class="waiting">
<p class="select-header">待选表头</p>
<div class="contentH">
<draggable
class="list-group"
:list="waitAjxx"
group="ajxx"
@change="draggableList"
element="ul"
data-listidx="0"
ref="selected_ul"
v-if="waitAjxx.length!=0"
>
<li
class="list-group-item"
v-for="element in waitAjxx"
:key="element.id"
@click="move(element, 'ajxx', false)"
>
<i class="iconfont iconduoxuan"></i>
<div :rel="element.id" :name="element.name">
{{ element.name }}
</div>
</li>
</draggable>
<div v-else class="zwsjWrap">
<img src="../../assets/img/zwsj.png"/><p>暂无数据</p>
</div>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="嫌疑人信息" name="xyrxx">
<div class="dragwrap">
<div class="selected">
<p class="select-header">已选表头</p>
<div class="contentH">
<draggable
class="list-group"
:list="xyrList.data"
group="xyrxx"
@change="draggableList"
element="ul"
data-listidx="0"
ref="selected_ul"
v-if="xyrList.data.length!=0"
>
<li
:class="'list-group-item group-item'+element.col"
v-for="element in xyrList.data"
:key="element.id"
@click="move(element, 'xyrxx', true)"
>
<i class="iconfont iconyixuan"></i>
<div :rel="element.id" :name="element.name">
{{ element.name }}
</div>
</li>
</draggable>
<div v-else class="zwsjWrap">
<img src="../../assets/img/zwsj.png"/><p>暂无数据</p>
</div>
</div>
</div>
<div class="waiting">
<p class="select-header">待选表头</p>
<div class="contentH">
<draggable
class="list-group"
:list="waitXyrxx"
group="xyrxx"
@change="draggableList"
element="ul"
data-listidx="0"
ref="selected_ul"
v-if="waitXyrxx.length!=0"
>
<li
class="list-group-item"
v-for="element in waitXyrxx"
:key="element.id"
@click="move(element, 'xyrxx', false)"
>
<i class="iconfont iconduoxuan"></i>
<div :rel="element.id" :name="element.name">
{{ element.name }}
</div>
</li>
</draggable>
<div v-else class="zwsjWrap">
<img src="../../assets/img/zwsj.png"/><p>暂无数据</p>
</div>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="受害人信息" name="shrxx">
<div class="dragwrap">
<div class="selected">
<p class="select-header">已选表头</p>
<div class="contentH">
<draggable
class="list-group"
:list="shrList.data"
group="shrxx"
@change="draggableList"
element="ul"
data-listidx="0"
ref="selected_ul"
v-if="shrList.data.length!=0"
>
<li
:class="'list-group-item group-item'+element.col"
v-for="element in shrList.data"
:key="element.id"
@click="move(element, 'shrxx', true)"
>
<i class="iconfont iconyixuan"></i>
<div :rel="element.id" :name="element.name">
{{ element.name }}
</div>
</li>
</draggable>
<div v-else class="zwsjWrap">
<img src="../../assets/img/zwsj.png"/><p>暂无数据</p>
</div>
</div>
</div>
<div class="waiting">
<p class="select-header">待选表头</p>
<div class="contentH">
<draggable
class="list-group"
:list="waitShrxx"
group="shrxx"
@change="draggableList"
element="ul"
data-listidx="0"
ref="selected_ul"
v-if="waitShrxx.length!=0"
>
<li
class="list-group-item"
v-for="element in waitShrxx"
:key="element.id"
@click="move(element, 'shrxx', false)"
>
<i class="iconfont iconduoxuan"></i>
<div :rel="element.id" :name="element.name">
{{ element.name }}
</div>
</li>
</draggable>
<div v-else class="zwsjWrap">
<img src="../../assets/img/zwsj.png"/><p>暂无数据</p>
</div>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="分类信息" name="flxx">
<div class="dragwrap">
<div class="selected" style="width:200px;">
<p class="select-header">已选表头</p>
<div class="contentH">
<draggable
class="list-group"
:list="flxxList.data"
group="flxx"
@change="draggableList"
element="ul"
data-listidx="0"
ref="selected_ul"
v-if="flxxList.data.length!=0"
>
<li
class="list-group-item"
v-for="element in flxxList.data"
:key="element.id"
@click="move(element, 'flxx', true)"
>
<i class="iconfont iconyixuan"></i>
<div :rel="element.id" :name="element.name">
{{ element.name }}
</div>
</li>
</draggable>
<div v-else class="zwsjWrap">
<img src="../../assets/img/zwsj.png"/><p>暂无数据</p>
</div>
</div>
</div>
<div class="waiting">
<p class="select-header">待选表头</p>
<div class="contentH">
<draggable
class="list-group"
:list="waitFlxx"
group="flxx"
@change="draggableList"
element="ul"
data-listidx="0"
ref="selected_ul"
v-if="waitFlxx.length!=0"
>
<li
class="list-group-item"
v-for="element in waitFlxx"
:key="element.id"
@click="move(element, 'flxx', false)"
>
<i class="iconfont iconduoxuan"></i>
<div :rel="element.id" :name="element.name">
{{ element.name }}
</div>
</li>
</draggable>
<div v-else class="zwsjWrap">
<img src="../../assets/img/zwsj.png"/><p>暂无数据</p>
</div>
</div>
</div>
</div>
</el-tab-pane>
</el-tabs>
<div class="ar" style="margin-top:20px;">
<el-button plain size="small" class="zdybtn delete" @click="close"
>关闭</el-button
>
<el-button
type="primary"
size="small"
class="zdybtn search"
@click="enableconfig"
>启用配置</el-button
>
</div>
</div>
</template>
<script>
import draggable from "vuedraggable";
export default {
name: "settingDialog",
components: {
draggable
},
props: {
AjxxDefaultFormField: Object,
xyrxxDefaultField: Object,
shrxxDefaultField: Object,
flxxDefaultField: Object,
waitAjxxField: {
type: Array,
default: () => []
},
waitShrxxField: {
type: Array,
default: () => []
},
waitXyrxxField: {
type: Array,
default: () => []
},
waitFlxxField: {
type: Array,
default: () => []
}
},
data() {
return {
activeName: "ajxx",
ajxxList: JSON.parse(JSON.stringify(this.AjxxDefaultFormField)),
xyrList: JSON.parse(JSON.stringify(this.xyrxxDefaultField)),
shrList: JSON.parse(JSON.stringify(this.shrxxDefaultField)),
flxxList: JSON.parse(JSON.stringify(this.flxxDefaultField)),
waitAjxx: [...this.waitAjxxField],
waitXyrxx: [...this.waitXyrxxField],
waitShrxx: [...this.waitShrxxField],
waitFlxx: [...this.waitFlxxField]
};
},
watch: {
AjxxDefaultFormField(val) {
this.ajxxList = JSON.parse(JSON.stringify(val));
},
xyrxxDefaultField(val) {
this.xyrList = JSON.parse(JSON.stringify(val));
},
shrxxDefaultField(val) {
this.shrList = JSON.parse(JSON.stringify(val));
},
flxxDefaultField(val) {
this.flxxList = JSON.parse(JSON.stringify(val));
},
waitAjxxField(val) {
this.waitAjxx = [...val];
},
waitShrxxField(val) {
this.waitShrxx = [...val];
},
waitXyrxxField(val) {
this.waitXyrxx = [...val];
},
waitFlxxField(val) {
this.waitFlxx = [...val];
}
},
methods: {
move(obj, type, flag) {
if (obj.id != "ajzlb" && obj.id != "ajxzlb" && obj.id != "xalbdmbcms") {
let list = [],
waitList = [],
self = this;
if (type == "ajxx") {
list = self.ajxxList.data;
waitList = self.waitAjxx;
} else if (type == "xyrxx") {
list = self.xyrList.data;
waitList = self.waitXyrxx;
} else if (type == "shrxx") {
list = self.shrList.data;
waitList = self.waitShrxx;
} else if (type == "flxx") {
list = self.flxxList.data;
waitList = self.waitFlxx;
}
if (flag) {
list.splice(
list.findIndex(item => item.id === obj.id),
1
);
self.$set(waitList, waitList.length, obj);
} else {
waitList.splice(
waitList.findIndex(item => item.id === obj.id),
1
);
self.$set(list, list.length, obj);
}
}
},
draggableList() {
console.log("1111");
},
handleClick(tab, event) {
console.log(tab, event);
},
enableconfig() {
let self = this,
ajxxData = {},
xyrData = {},
shrData = {},
flxxData = {}; /*这四个是传给后台保存的数据*/
self.$emit("loading",true);/*显示loading*/
self.$loadingSta=true;
/*案件*/
ajxxData.title = self.ajxxList.title;
ajxxData.id = self.ajxxList.id;
ajxxData.data = [];
self.ajxxList.data.forEach(item => {
let obj = {};
obj.name = item.name;
obj.id = item.id;
self.$set(ajxxData.data, ajxxData.data.length, obj);
});
/*嫌疑人*/
xyrData.title = self.xyrList.title;
xyrData.id = self.xyrList.id;
xyrData.data = [];
self.xyrList.data.forEach(item => {
let obj = {};
obj.name = item.name;
obj.id = item.id;
self.$set(xyrData.data, xyrData.data.length, obj);
});
/*受害人*/
shrData.title = self.shrList.title;
shrData.id = self.shrList.id;
shrData.data = [];
self.shrList.data.forEach(item => {
let obj = {};
obj.name = item.name;
obj.id = item.id;
self.$set(shrData.data, shrData.data.length, obj);
});
/*分类*/
flxxData.title = self.flxxList.title;
flxxData.id = self.flxxList.id;
flxxData.data = [];
flxxData.data = self.flxxList.data;
self.$emit(
"emitDialog",
false,
JSON.stringify(ajxxData),
JSON.stringify(xyrData),
JSON.stringify(shrData),
JSON.stringify(flxxData),
JSON.stringify(self.ajxxList),
JSON.stringify(self.xyrList),
JSON.stringify(self.shrList),
JSON.stringify(self.flxxList)
);
},
close() {
this.ajxxList = JSON.parse(JSON.stringify(this.AjxxDefaultFormField));
this.xyrList = JSON.parse(JSON.stringify(this.xyrxxDefaultField));
this.shrList = JSON.parse(JSON.stringify(this.shrxxDefaultField));
this.flxxList = JSON.parse(JSON.stringify(this.flxxDefaultField));
this.waitAjxx = [...this.waitAjxxField];
this.waitXyrxx = [...this.waitXyrxxField];
this.waitShrxx = [...this.waitShrxxField];
this.waitFlxx = [...this.waitFlxxField];
this.$emit("close", false);
}
}
};
</script>
<style>
.settingDialog .el-tabs--card > .el-tabs__header .el-tabs__nav {
border: none;
}
.settingDialog .el-tabs--card > .el-tabs__header .el-tabs__item:first-child {
border-left: 1px solid #1a81e1 !important;
border-radius: 2px 0px 0px 2px;
}
.settingDialog .el-tabs--card > .el-tabs__header .el-tabs__item:last-child {
border-radius: 0px 2px 2px 0px;
}
.settingDialog .el-tabs--card > .el-tabs__header {
border: none;
}
.settingDialog .el-tabs__item {
height: 32px;
line-height: 32px;
background: #ffffff;
border: 1px solid #1a81e1;
border-bottom: 1px solid #1a81e1 !important;
color: #1a81e1;
padding: 0 27px;
}
.settingDialog .el-tabs--card > .el-tabs__header .el-tabs__item.is-active {
background: #1a81e1;
color: #fff;
border: 1px solid #1a81e1;
}
</style>
<style scoped lang="scss">
@import "../../assets/styles/form.scss";
.settingDialog {
.zdybtn {
height: 36px;
width: 128px;
}
}
</style>
<template>
<div id="jccx" v-loading="pageLoading">
<list-header :headerTitle="headerTitle" ref="header" :headerIcon="headerIcon"></list-header>
<!--<div class="coverText"></div>-->
<list-select
:selectList="selectList"
@cValue="cValue"
@getHeight="getHeight"
@deleteAll="deleteAll"
v-show="selectList.length != 0"
ref="select"
></list-select>
<div class="wrap" :style="{ marginTop: marginTop + 'px' }">
<list-form
ref="form"
:formData="formData"
:AjxxFormField="AjxxFormField"
:XyrxxFormField="XyrxxFormField"
:ShrxxFormField="ShrxxFormField"
:FlxxFormField="FlxxFormField"
:AjxxDefaultFormField="AjxxDefaultFormField"
:XyrxxDefaultFormField="XyrxxDefaultFormField"
:ShrxxDefaultFormField="ShrxxDefaultFormField"
:FlxxDefaultFormField="FlxxDefaultFormField"
:fieldType="fieldType"
:deleteId="deleteId"
@doQueryList="doQueryList"
@getSeletedList="getSeletedList"
@emitLoading="emitLoading"
@closeLoading="closeLoading"
></list-form>
<list-table
:DefaultAjFormThead="DefaultFormThead"
:AllAjThead="AllThead"
:theadType="theadType"
:theadTitle="theadTitle"
:formData="formData"
:dataLength="dataLength"
:queryTableData="queryTableData"
:tableLoadingEmit="tableLoadingEmit"
:ychyDataList="ychyDataList"
:ychyZjhmDataList="ychyZjhmDataList"
:flxxGroup="flxxGroup"
:xzFlxxGroup="xzFlxxGroup"
:xzSFlxxGroup="xzSFlxxGroup"
:yjFlE="yjFlE"
:radioZt="radioZt"
:radioFZt="radioFZt"
:radioSZt="radioSZt"
@getLoading="getLoading"
@getPage="getPage"
@getSort="getSort"
@exportFile="exportFile"
@getFlValue="getFlValue"
@showAjTable="showAjTable"
@changeSize="changeSize"
:pageNum="pageNum"
:tableType="tableType"
v-show="isShowTable"
></list-table>
</div>
<!--加载-->
<Loading :loading="loading" :text="text"></Loading>
<!--案件弹框-->
<aj-table
v-show="ajTableVisi"
:ajTableVisi="ajTableVisi"
:cxcsAjList="cxcsAjList"
@close="close"
:DefaultAjFormThead="DefaultAjFormThead"
></aj-table>
</div>
</template>
<script>
import listForm from "@c/form_components.vue";
import Loading from "@c/Loading.vue";
import ajTable from "@/views/jccx/ajTable.vue";
import listTable from "@c/table_components.vue";
import listHeader from "@c/header_components.vue";
import listSelect from "@/views/jccx/selectedConditions.vue";
import request from "@/api/interface/dictionaryCode.js";
import {
jccxFormData,
jccxHeaderTitle,
jccxHeaderIcon,
jccxAjxxFormField,
jccxXyrxxFormField,
jccxShrxxFormField,
jccxFlxxFormField,
cxAjDefaultFormThead,
AllAjformThead,
cxXyrDefaultFormThead,
AllXyrformThead,
jccxAjxxDefaultFormField,
jccxXyrxxDefaultFormField,
jccxShrxxDefaultFormField,
jccxFlxxDefaultFormField,
cxShrDefaultFormThead,
AllShrformThead,
cxYchyData,
cxYchyZjhmData,
} from "@/utils/params";
export default {
name: "index",
components: {
listForm,
listTable,
listHeader,
listSelect,
Loading,
ajTable
},
data() {
return {
deleteId: "",
pageLoading: true, //页面进来时候的加载
radioFZt: "", //一级状态
radioZt: "", //二级状态
radioSZt: "", //三级状态
yjFlE: {
ajlbdmMc: "" /*案件类别分类*/,
zcjddmMc: "" /*侦查阶段分类*/,
larqYear: "" /*侦查阶段分类*/,
ladwGajgjgdmMc: "" /*立案单位分类*/,
asjfssjAsjfskssjYear: "" /*案发日期分类*/,
asjfsddXzqhdmMc: "" /*案发地区划分类*/,
ssjzrmby: "" /*涉案金额分类*/,
xyrage: "" /*年龄段分类*/,
shrage: "" /*年龄段分类*/,
zhfzxyrXbdmMc: "" /*性别分类*/,
bhrXbdmMc: "" /*性别分类*/,
zhfzxyrGjdmMc: "" /*国籍分类*/,
bhrGjdmMc: "" /*国籍分类*/,
zhfzxyrHjdzXzqhdmMc: "" /*户籍地分类*/,
bhrHjdzXzqhdmMc: "" /*户籍地分类*/,
zhfzxyrMzdmMc: "" /*民族分类*/,
bhrMzdmMc: "" /*民族分类*/,
ladwSj: "" /*立案单位市局分类*/,
ladwFj: "" /*立案单位分局分类*/
},
formData: jccxFormData, //form表单
headerTitle: jccxHeaderTitle, //页面标题
headerIcon:jccxHeaderIcon,//icon
AjxxFormField: jccxAjxxFormField, //案件信息查询所有字段
XyrxxFormField: jccxXyrxxFormField, //嫌疑人信息查询所有字段
ShrxxFormField: jccxShrxxFormField, //受害人信息查询所有字段
FlxxFormField: jccxFlxxFormField, //分类信息查询所有字段
AjxxDefaultFormField: jccxAjxxDefaultFormField, //案件信息默认查询字段
XyrxxDefaultFormField: jccxXyrxxDefaultFormField, //嫌疑人信息默认查询字段
ShrxxDefaultFormField: jccxShrxxDefaultFormField, //受害人信息默认查询字段
FlxxDefaultFormField: jccxFlxxDefaultFormField, //分类信息默认查询字段
DefaultAjFormThead: cxAjDefaultFormThead, //案件默认表头
AllAjThead: AllAjformThead, //案件所有表头
DefaultXyrFormThead: cxXyrDefaultFormThead, //嫌疑人默认表头
AllXyrThead: AllXyrformThead, //嫌疑人所有表头
DefaultShrFormThead: cxShrDefaultFormThead, //受害人默认表头
AllShrThead: AllShrformThead, //受害人所有的表头
fieldType: "jccxField", //保存查询字段的type
ajFieldType: "jccxAjThead", //用来判断是案件查询
xyrFieldType: "jccxXyrThead", //用来判断是嫌疑人查询
shrFieldType: "jccxShrThead", //用来判断是受害人查询
DefaultFormThead: [], //表格用的同一个,用来接收当前的默认表头
AllThead: [], //表格用的同一个,用来接收所有表头
isShowTable: false,
theadType: "",
theadTitle: "",
selectList: [],
marginTop: 76,
queryTableData: [],
dataLength: 0,
tableType: "",
pageNum: 1,
tableLoadingEmit: false,
ychyDataList: cxYchyData,
ychyZjhmDataList: cxYchyZjhmData,
flxxGroup: [] /*查询回来得分类信息*/,
xzFlxxGroup: [],
xzSFlxxGroup: [],
excelHeader: "" /*下载文件的名字*/,
loading: false,
text: "正在保存...",
ajTableVisi: false,
cxcsAjQuery: {
/*查询作案次数后多个案件得form*/
zhfzxyrCyzjZjhm: "",
page: 1,
rows: 5,
index: "asjnm_xyr"
},
cxcsAjList: []
};
},
methods: {
deleteAll() {
this.$refs.form.delete();
},
changeSize(size, type) {
this.formData["rows"] = size;
this.doQueryList(type, this.formData, false, "handleCurrentChange");
},
close(flag) {
let self = this;
self.ajTableVisi = flag;
},
zacsAjDoQuery() {
//作案多次,列表显示图标,点击弹框查询此人做过的多个案子
let self = this;
request.zacsAjDoQuery(JSON.stringify(self.cxcsAjQuery)).then(res => {
if (res.success === true) {
self.cxcsAjList = [];
self.cxcsAjList = res.data.rows;
} else {
self.$message({
type: "error",
message: "查询失败"
});
}
});
},
aginQuery(page) {
//翻页 时候 的查询
this.cxcsAjQuery.page = page;
this.zacsAjDoQuery();
},
showAjTable(zjhm) {
debugger;
//打开作案次数的弹框,默认是第一页
let self = this;
self.ajTableVisi = true;
self.cxcsAjQuery.page = 1;
self.cxcsAjQuery.zhfzxyrCyzjZjhm = zjhm;
self.zacsAjDoQuery();
},
closeLoading(data) {
this.loading = data;
},
emitLoading(data) {
this.loading = data;
},
getHeight(val) {
//头部和已选条件为fixed,内容区的margintop为动态获取
/*已选条件高度变化的回调*/
let padding = 16;
this.marginTop = this.$refs.header.$el.offsetHeight + val + padding;
},
getFlValue(val, type, tableType, whichOne, radio) {
//分类查询结果有一级和二级的情况,点击一级和二级的单选按钮回调whichOne(yjRadio,ejRadio)(larqYear asjfssjAsjfskssjYear )特殊处理
let self = this;
self.openLoading(); //table加载loading
if (whichOne && whichOne == "yjRadio") {
self.yjFlE[type] = radio;
self.formData["page"] = "1";
self.pageNum = 1;
} else if (whichOne && whichOne == "ejRadio") {
self.radioZt = radio;
self.formData["page"] = "1";
self.pageNum = 1;
} else if (whichOne && whichOne == "sjRadio") {
self.radioSZt = radio;
self.formData["page"] = "1";
self.pageNum = 1;
for (let y = self.formData.flxx.length - 1; y >= 0; y--) {
if (self.formData.flxx[y] == "ladwflPcs") {
self.formData.flxx.splice(y, 1);
}
}
}
if (
type != "larqYear" &&
type != "asjfssjAsjfskssjYear" &&
type != "xyrage" &&
type != "shrage" &&
type != "ladwSj" &&
type != "ladwFj" &&
type != "ssjzrmby"
) {
//点击年份和年龄段时候传值需要单独处理,其他情况直接type:val,
self.formData[type] = val;
//self.formData["flxx"] = [];
} else if (type == "larqYear") {
for (let y = self.formData.flxx.length - 1; y >= 0; y--) {
if (self.formData.flxx[y] == "lasjflMonth") {
self.formData.flxx.splice(y, 1);
}
}
if (val != "all") {
self.$set(
self.formData["flxx"],
self.formData["flxx"].length,
"lasjflMonth"
);
} else {
var index = self.formData["flxx"].indexOf("lasjflMonth");
if (index > -1) {
//大于0 代表存在,
self.formData["flxx"].splice(index, 1); //存在就删除
}
}
self.formData[type] = val;
self.radioZt = "全部";
if (Object.prototype.hasOwnProperty.call(self.formData, "larqMonth")) {
self.formData["larqMonth"] = "";
}
} else if (type == "asjfssjAsjfskssjYear") {
for (let y = self.formData.flxx.length - 1; y >= 0; y--) {
if (self.formData.flxx[y] == "afrqflMonth") {
self.formData.flxx.splice(y, 1);
}
}
if (val != "all") {
self.$set(
self.formData["flxx"],
self.formData["flxx"].length,
"afrqflMonth"
);
} else {
var index2 = self.formData["flxx"].indexOf("afrqflMonth");
if (index > -1) {
//大于0 代表存在,
self.formData["flxx"].splice(index2, 1); //存在就删除
}
}
self.formData[type] = val;
self.radioZt = "全部";
if (
Object.prototype.hasOwnProperty.call(
self.formData,
"asjfssjAsjfskssjMonth"
)
) {
self.formData["asjfssjAsjfskssjMonth"] = "";
}
} else if (type == "xyrage" || type == "shrage" || type == "ssjzrmby") {
//年龄段 14以下和70以上传参type:val;年龄段的14-20,是加Min和Max
//self.formData["flxx"] = [];
if (val.indexOf("-") > -1) {
let arr = val.split("-");
self.formData[type + "Min"] = arr[0];
self.formData[type + "Max"] = arr[1];
if (Object.prototype.hasOwnProperty.call(self.formData, type)) {
//年龄段点击14 70 时判断min和max有没有值,有值则清空
self.formData[type] = "";
}
} else if (val == "空" || val == "all") {
self.formData[type] = val;
if (
Object.prototype.hasOwnProperty.call(self.formData, type + "Min")
) {
//年龄段点击14 70 时判断min和max有没有值,有值则清空
self.formData[type + "Min"] = "";
}
if (
Object.prototype.hasOwnProperty.call(self.formData, type + "Max")
) {
//年龄段点击14 70 时判断min和max有没有值,有值则清空
self.formData[type + "Max"] = "";
}
} else {
let reg = /[\u4e00-\u9fa5]/g; //去掉中文
self.formData[type] = val.replace(reg, "");
if (
Object.prototype.hasOwnProperty.call(self.formData, type + "Min")
) {
//年龄段点击14 70 时判断min和max有没有值,有值则清空
self.formData[type + "Min"] = "";
}
if (
Object.prototype.hasOwnProperty.call(self.formData, type + "Max")
) {
//年龄段点击14 70 时判断min和max有没有值,有值则清空
self.formData[type + "Max"] = "";
}
}
} else if (type == "ladwSj" || type == "ladwFj") {
self.radioSZt = "全部";
for (let y = self.formData.flxx.length - 1; y >= 0; y--) {
if (
self.formData.flxx[y] == "ladwflFj" ||
self.formData.flxx[y] == "ladwflPcs"
) {
self.formData.flxx.splice(y, 1);
}
}
if (type == "ladwSj") {
//ladwPcs,ladwFj
if (val != "all") {
self.$set(
self.formData["flxx"],
self.formData["flxx"].length,
"ladwflFj"
);
} else {
var index3 = self.formData["flxx"].indexOf("ladwflFj");
if (index > -1) {
//大于0 代表存在,
self.formData["flxx"].splice(index3, 1); //存在就删除
}
}
for (let i in self.formData) {
if (i == "ladwPcs" || i == "ladwFj") {
self.formData[i] = "";
}
}
} else if (type == "ladwFj") {
if (val != "all") {
self.$set(
self.formData["flxx"],
self.formData["flxx"].length,
"ladwflPcs"
);
} else {
var index4 = self.formData["flxx"].indexOf("ladwflPcs");
if (index > -1) {
//大于0 代表存在,
self.formData["flxx"].splice(index4, 1); //存在就删除
}
}
for (let i in self.formData) {
if (i == "ladwPcs") {
self.formData[i] = "";
}
}
}
self.formData[type] = val;
self.radioZt = "全部";
}
self.excelHeader = self.excelHeader + "(" + val + ")";
self.creatForm(tableType, "flxx");
},
exportFile(type) {
//导出
let self = this;
self.formData.rows = 5000;
self.creatForm(type, "export");
},
getLoading(bool) {
this.tableLoadingEmit = bool;
},
openLoading() {
this.tableLoadingEmit = true;
},
closeTableLoading() {
this.tableLoadingEmit = false;
},
getSort(key, value, type) {
let self = this;
if (key == "asc") {
self.formData[key] = value;
self.formData["desc"] = "";
} else {
self.formData[key] = value;
self.formData["asc"] = "";
}
this.doQueryList(type, self.formData);
},
cValue(id, id2) {
if (id2) {
this.formData[id2] = "";
}
if (id == "flxx") {
this.formData[id] = [];
} else {
this.formData[id] = "";
this.$refs.form.clearSearchValue();
this.deleteId = id;
}
},
getSeletedList(data, obj) {
let self = this;
if (obj) {
//删除值
self.selectList.forEach((val, key) => {
if (val.id == obj.id) {
self.selectList.splice(key, 1);
}
});
} else {
//添加值
data.forEach(val => {
self.selectList.forEach((val2, key) => {
if (val.id == val2.id) {
self.$set(val2, "value", val.value);
if (val2.id2) {
self.$set(val2, "value2", val.value2);
}
self.$set(self.selectList, key, val2);
}
});
});
let arr = data.filter(
item => !self.selectList.some(ele => ele.id === item.id)
);
if (arr.length != 0) {
arr.forEach(val => {
self.$set(self.selectList, self.selectList.length, val);
});
}
}
},
getPage(val, type) {
this.formData.page = val;
this.doQueryList(type, this.formData, false, "handleCurrentChange");
},
creatForm(data, flag) {
//form表单进行时间处理
let self = this;
/*处理时间*/
if (flag == "isbtn") {
/*清空*/
//shrageMax年龄段点击14 70 时判断min和max有没有值,有值则清空
//shrageMin年龄段点击14 70 时判断min和max有没有值,有值则清空
//shrage年龄段点击14 70 时判断min和max有没有值,有值则清空
//xyrageMax年龄段点击14 70 时判断min和max有没有值,有值则清空
//xyrageMin年龄段点击14 70 时判断min和max有没有值,有值则清空
//xyrage年龄段点击14 70 时判断min和max有没有值,有值则清空
for (let i in self.formData) {
if (
i == "ajlbdmMc" ||
i == "zcjddmMc" ||
i == "larqYear" ||
i == "asjfssjAsjfskssjYear" ||
i == "larqMonth" ||
i == "asjfssjAsjfskssjMonth" ||
i == "shrageMax" ||
i == "xyrage" ||
i == "xyrageMin" ||
i == "shrage" ||
i == "xyrageMax" ||
i == "shrageMin" ||
i == "bhrGjdmMc" ||
i == "zhfzxyrHjdzXzqhdmMc" ||
i == "bhrHjdzXzqhdmMc" ||
i == "zhfzxyrMzdmMc" ||
i == "bhrMzdmMc" ||
i == "larqYear" ||
i == "ladwGajgjgdmMc" ||
i == "asjfssjAsjfskssjYear" ||
i == "asjfsddXzqhdmMc" ||
i == "ssjzrmby" ||
i == "ssjzrmbyMax" ||
i == "ssjzrmbyMin" ||
i == "xyrage" ||
i == "shrage" ||
i == "zhfzxyrXbdmMc" ||
i == "bhrXbdmMc" ||
i == "zhfzxyrGjdmMc" ||
i == "ladwSj" ||
i == "ladwFj" ||
i == "ladwPcs"
) {
self.formData[i] = "";
}
}
self.flxxGroup = [];
self.xzFlxxGroup = [];
self.xzSFlxxGroup = [];
for (let i in self.yjFlE) {
self.yjFlE[i] = "全部";
}
for (let y = self.formData.flxx.length - 1; y >= 0; y--) {
if (
self.formData.flxx[y] == "lasjflMonth" ||
self.formData.flxx[y] == "afrqflMonth" ||
self.formData.flxx[y] == "ladwflFj" ||
self.formData.flxx[y] == "ladwflPcs"
) {
self.formData["flxx"].splice(y, 1);
}
}
}
/*点击查询按钮时更新排序等字段的值*/
if (data == "ajxx" && flag == "isbtn") {
self.DefaultFormThead = self.DefaultAjFormThead;
self.AllThead = self.AllAjThead;
self.theadType = self.ajFieldType;
self.theadTitle = "案件信息表头";
self.excelHeader = "案件信息";
self.formData["desc"] = "larq";
self.formData["asc"] = "";
} else if (data == "xyrxx" && flag == "isbtn") {
self.DefaultFormThead = self.DefaultXyrFormThead;
self.AllThead = self.AllXyrThead;
self.theadType = self.xyrFieldType;
self.theadTitle = "嫌疑人信息表头";
self.excelHeader = "嫌疑人信息";
self.formData["desc"] = "zhrq";
self.formData["asc"] = "";
} else if (data == "shrxx" && flag == "isbtn") {
self.DefaultFormThead = self.DefaultShrFormThead;
self.AllThead = self.AllShrThead;
self.theadType = self.shrFieldType;
self.theadTitle = "被害人信息表头";
self.excelHeader = "被害人信息";
self.formData["desc"] = "bhsjKssj";
self.formData["asc"] = "";
}
/*处理时间的字段名*/
let handleForm = JSON.parse(JSON.stringify(self.formData));
for (let z in handleForm) {
if (
z == "asjfssjAsjfskssj" ||
z == "slsj" ||
z == "larq" ||
z == "zczjZxsj01" ||
z == "cxajrq" ||
z == "djsj" ||
z == "zhrq" ||
z == "zhfzxyrCsrqRqgzxx" ||
z == "bhsjKssj" ||
z == "bhrCsrqRqgzxx"
) {
handleForm[z + "Start"] = handleForm[z] == "" ? "" : handleForm[z][0];
handleForm[z + "End"] = handleForm[z] == "" ? "" : handleForm[z][1];
self.$delete(handleForm, z);
}
}
if (!flag || flag == "isbtn") {
//点击查询按钮的时候
self.doQueryRequst(data, handleForm);
} else if (flag == "currentPage") {
self.doQueryRequst(data, handleForm, "currentPage");
} else if (flag == "flxx") {
//点击分类查询结果的时候
let num = 0;
if (Object.prototype.hasOwnProperty.call(self.formData, "ladwSj")) {
//获取二级立案单位
if (self.formData["ladwSj"] != "") {
num++;
}
}
if (Object.prototype.hasOwnProperty.call(self.formData, "ladwFj")) {
//获取二级立案单位
if (self.formData["ladwFj"] != "") {
num++;
}
}
if (Object.prototype.hasOwnProperty.call(self.formData, "ladwPcs")) {
//获取二级立案单位
if (self.formData["ladwPcs"] != "") {
num++;
}
}
if (num == 1) {
self.doQueryRequst(data, handleForm, "noSetFlxx");
return;
} else if (num == 2) {
self.doQueryRequst(data, handleForm, "SetPcsFlxx");
return;
} else if (num == 3) {
self.doQueryRequst(data, handleForm, "SetFlxx");
return;
}
if (Object.prototype.hasOwnProperty.call(self.formData, "larqMonth")) {
if (self.formData["larqMonth"] != "") {
self.doQueryRequst(data, handleForm, "SetFlxx");
return;
}
}
if (
Object.prototype.hasOwnProperty.call(
self.formData,
"asjfssjAsjfskssjMonth"
)
) {
if (self.formData["asjfssjAsjfskssjMonth"] != "") {
self.doQueryRequst(data, handleForm, "SetFlxx");
return;
}
}
self.doQueryRequst(data, handleForm, "noSetFlxx");
} else if (flag == "export") {
self.exportRequst(data, handleForm);
}
},
formatJson(filterVal, jsonData) {
let arr=[];
jsonData.map(v => {
let arr1=[];
filterVal.map(j => {
if(j.indexOf(',') != -1){
let arr=j.split(",");
let data="";
for(let i=0;i<=arr.length-1;i++){
data+=arr[i].split(':')[0]+':'+v[arr[i].split(':')[1]];
}
arr1.push(data);
}else{
arr1.push(v[j]);
}
})
arr.push(arr1);
});
return arr;
},
exportRequst(data, handleForm) {
/*导出*/
let self = this,
tHeader = [],
filterVal = [];
const loading = this.$loading({
lock: true,
text: "正在导出...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)"
});
if (data == "ajxx") {
tHeader = [];
filterVal = [];
self.DefaultAjFormThead.forEach(val => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
request.doQuery(JSON.stringify(handleForm)).then(res => {
if (res.success === true) {
if (res.data.total > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条"
});
} else {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, self.excelHeader);
});
}
loading.close();
} else {
loading.close();
self.$message({
type: "error",
message: "查询失败"
});
}
self.tableLoadingEmit = false;
});
} else if (data == "xyrxx") {
tHeader = [];
filterVal = [];
self.DefaultXyrFormThead.forEach(val => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
request.doXyrQuery(JSON.stringify(handleForm)).then(res => {
if (res.success === true) {
if (res.data.total > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条"
});
} else {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, self.excelHeader);
});
}
loading.close();
} else {
loading.close();
self.$message({
type: "error",
message: "查询失败"
});
}
self.tableLoadingEmit = false;
});
} else if (data == "shrxx") {
tHeader = [];
filterVal = [];
self.DefaultShrFormThead.forEach(val => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
request.doBhrQuery(JSON.stringify(handleForm)).then(res => {
if (res.success === true) {
if (res.data.total > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条"
});
} else {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, self.excelHeader);
});
}
loading.close();
} else {
loading.close();
self.$message({
type: "error",
message: "查询失败"
});
}
self.tableLoadingEmit = false;
});
}
},
doQueryRequst(data, handleForm, noSet) {
//noSet没传的时候点击的是查询按钮或者翻页,noSet为noSetFlxx时点击的是一级查询分类结果,二级需要赋值
let self = this;
if (data == "ajxx") {
request.doQuery(JSON.stringify(handleForm)).then(res => {
if (res.success === true) {
self.queryTableData = res.data.rows;
self.dataLength = res.data.total;
if (!noSet) {
self.flxxGroup = res.data.flxx;
} else if (noSet == "noSetFlxx") {
let arr = res.data.flxx.filter(
item => !self.flxxGroup.some(ele => ele.type === item.type)
);
self.xzFlxxGroup = arr;
} else if (noSet == "SetPcsFlxx") {
let arr = res.data.flxx.filter(
item => !self.flxxGroup.some(ele => ele.type === item.type)
);
self.xzSFlxxGroup = arr;
}
self.closeTableLoading(); //table关闭loading
} else {
self.$message({
type: "error",
message: "查询失败"
});
}
self.tableLoadingEmit = false;
});
} else if (data == "xyrxx") {
request.doXyrQuery(JSON.stringify(handleForm)).then(res => {
if (res.success === true) {
self.queryTableData = res.data.rows;
self.dataLength = res.data.total;
if (!noSet) {
self.flxxGroup = res.data.flxx;
} else if (noSet == "noSetFlxx") {
let arr = res.data.flxx.filter(
item => !self.flxxGroup.some(ele => ele.type === item.type)
);
self.xzFlxxGroup = arr;
} else if (noSet == "SetPcsFlxx") {
let arr = res.data.flxx.filter(
item => !self.flxxGroup.some(ele => ele.type === item.type)
);
self.xzSFlxxGroup = arr;
}
self.closeTableLoading(); //table关闭loading
} else {
self.$message({
type: "error",
message: "查询失败"
});
}
self.tableLoadingEmit = false;
});
} else if (data == "shrxx") {
request.doBhrQuery(JSON.stringify(handleForm)).then(res => {
if (res.success === true) {
self.queryTableData = res.data.rows;
self.dataLength = res.data.total;
if (!noSet) {
self.flxxGroup = res.data.flxx;
} else if (noSet == "noSetFlxx") {
let arr = res.data.flxx.filter(
item => !self.flxxGroup.some(ele => ele.type === item.type)
);
self.xzFlxxGroup = arr;
} else if (noSet == "SetPcsFlxx") {
let arr = res.data.flxx.filter(
item => !self.flxxGroup.some(ele => ele.type === item.type)
);
self.xzSFlxxGroup = arr;
}
self.closeTableLoading(); //table关闭loading
} else {
self.$message({
type: "error",
message: "查询失败"
});
}
self.tableLoadingEmit = false;
});
}
},
doQueryList(data, formList, isBtn, changePage) {
let self = this;
self.tableType = data;
self.isShowTable = true;
//self.formData.rows = 10;
self.formData = formList;
self.pageNum = self.formData.page;
if (
self.formData["flxx"].includes("nldfl1") ||
self.formData["flxx"].includes("nldfl2")
) {
if (self.formData["flxx"].indexOf("nldfl") < 0) {
self.formData["flxx"].indexOf("nldfl1") >= 0
? self.formData["flxx"].splice(
self.formData["flxx"].indexOf("nldfl1"),
1
)
: "";
self.formData["flxx"].indexOf("nldfl2") >= 0
? self.formData["flxx"].splice(
self.formData["flxx"].indexOf("nldfl2"),
1
)
: "";
}
}
if (
self.formData["flxx"].includes("xbfl1") ||
self.formData["flxx"].includes("xbfl2")
) {
if (self.formData["flxx"].indexOf("xbfl") < 0) {
self.formData["flxx"].indexOf("xbfl1") >= 0
? self.formData["flxx"].splice(
self.formData["flxx"].indexOf("xbfl1"),
1
)
: "";
self.formData["flxx"].indexOf("xbfl2") >= 0
? self.formData["flxx"].splice(
self.formData["flxx"].indexOf("xbfl2"),
1
)
: "";
}
}
if (
self.formData["flxx"].includes("gjfl1") ||
self.formData["flxx"].includes("gjfl2")
) {
if (self.formData["flxx"].indexOf("gjfl") < 0) {
self.formData["flxx"].indexOf("gjfl1") >= 0
? self.formData["flxx"].splice(
self.formData["flxx"].indexOf("gjfl1"),
1
)
: "";
self.formData["flxx"].indexOf("gjfl2") >= 0
? self.formData["flxx"].splice(
self.formData["flxx"].indexOf("gjfl2"),
1
)
: "";
}
}
if (
self.formData["flxx"].includes("hjdfl1") ||
self.formData["flxx"].includes("hjdfl2")
) {
if (self.formData["flxx"].indexOf("hjdfl") < 0) {
self.formData["flxx"].indexOf("hjdfl1") >= 0
? self.formData["flxx"].splice(
self.formData["flxx"].indexOf("hjdfl1"),
1
)
: "";
self.formData["flxx"].indexOf("hjdfl2") >= 0
? self.formData["flxx"].splice(
self.formData["flxx"].indexOf("hjdfl2"),
1
)
: "";
}
}
if (
self.formData["flxx"].includes("mzfl1") ||
self.formData["flxx"].includes("mzfl2")
) {
if (self.formData["flxx"].indexOf("mzfl") < 0) {
self.formData["flxx"].indexOf("mzfl1") >= 0
? self.formData["flxx"].splice(
self.formData["flxx"].indexOf("mzfl1"),
1
)
: "";
self.formData["flxx"].indexOf("mzfl2") >= 0
? self.formData["flxx"].splice(
self.formData["flxx"].indexOf("mzfl2"),
1
)
: "";
}
}
if (data != "xyrxx" && self.formData["flxx"].includes("zacsfl")) {
self
.$confirm("不能查询,是否取消作案次数查询?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning"
})
.then(() => {
self.formData["flxx"].splice(
self.formData["flxx"].findIndex(item => item == "zacsfl"),
1
);
self.$message({
type: "success",
message: "已取消作案次数!"
});
if (isBtn) {
self.creatForm(data, "isbtn");
} else {
self.creatForm(data);
}
})
.catch(() => {});
} else {
if (isBtn) {
self.creatForm(data, "isbtn");
} else if (changePage) {
self.creatForm(data, "currentPage");
} else {
self.creatForm(data);
}
}
}
},
mounted() {
let self = this,
obj1 = {},
obj2 = {},
obj3 = {},
obj4 = {};
request.getField(self.fieldType).then(res => {
//查询是否保存过查询字段
if (res.code == 20000) {
console.log(res);
if (res.data.total > 0) {
self.AjxxDefaultFormField = [];
self.XyrxxDefaultFormField = [];
self.ShrxxDefaultFormField = [];
self.FlxxDefaultFormField = [];
/*查询出来的案件信息查询字段*/
obj1.title = res.data.defaultFormThead[0].title;
obj1.id = res.data.defaultFormThead[0].id;
obj1.data = [];
res.data.defaultFormThead[0].data.forEach(val => {
let ret2 = self.AjxxFormField.data.find(v => {
return v.id == val.id;
});
self.$set(obj1.data, obj1.data.length, ret2);
});
self.AjxxDefaultFormField = obj1;
/*嫌疑人数据*/
obj2.title = res.data.defaultFormThead[1].title;
obj2.id = res.data.defaultFormThead[1].id;
obj2.data = [];
res.data.defaultFormThead[1].data.forEach(val => {
let ret2 = self.XyrxxFormField.data.find(v => {
return v.id == val.id;
});
self.$set(obj2.data, obj2.data.length, ret2);
});
self.XyrxxDefaultFormField = obj2;
/*受害人数据*/
obj3.title = res.data.defaultFormThead[2].title;
obj3.id = res.data.defaultFormThead[2].id;
obj3.data = [];
res.data.defaultFormThead[2].data.forEach(val => {
let ret2 = self.ShrxxFormField.data.find(v => {
return v.id == val.id;
});
self.$set(obj3.data, obj3.data.length, ret2);
});
self.ShrxxDefaultFormField = obj3;
/*分类信息*/
obj4.title = res.data.defaultFormThead[3].title;
obj4.id = res.data.defaultFormThead[3].id;
obj4.data = [];
res.data.defaultFormThead[3].data.forEach(val => {
let ret2 = self.FlxxFormField.data.find(v => {
return v.id == val.id;
});
self.$set(obj4.data, obj4.data.length, ret2);
});
self.FlxxDefaultFormField = obj4;
}
self.pageLoading = false;
} else {
self.$message({
type: "error",
message: res.message
});
self.pageLoading = false;
}
return res.data;
});
/*获取案件表头*/
request.getField(self.ajFieldType).then(res => {
if (res.success === true) {
if (res.data.total > 0) {
self.DefaultAjFormThead = [];
self.DefaultAjFormThead = res.data.defaultFormThead;
}
} else {
self.$message({
type: "error",
message: "获取表头失败"
});
}
});
/*获取嫌疑人表头*/
request.getField(self.xyrFieldType).then(res => {
if (res.code == 20000) {
if (res.data.total > 0) {
self.DefaultXyrFormThead = [];
self.DefaultXyrFormThead = res.data.defaultFormThead;
}
} else {
self.$message({
type: "error",
message: "获取表头失败"
});
}
});
/*获取受害人表头*/
request.getField(self.shrFieldType).then(res => {
if (res.code == 20000) {
if (res.data.total > 0) {
self.DefaultShrFormThead = [];
self.DefaultShrFormThead = res.data.defaultFormThead;
}
} else {
self.$message({
type: "error",
message: "获取表头失败"
});
}
});
}
};
</script>
<style scoped lang="scss">
@import "../../assets/styles/form.scss";
</style>
<template>
<div id="selectedConditions" :class="isMinWith?'isMinWith formWrap':'formWrap'" ref="select">
<div class="conditionTitle">已选条件:</div>
<div class="conditionWrap">
<el-tag
:key="tag.id"
v-for="tag in dynamicTags"
closable
:disable-transitions="false"
@close="handleClose(tag)"
>
<div v-if="tag.type == 'zdyText'" class="inline">
{{ tag.name }}{{ tag.value }}{{ tag.value2 }}
</div>
<div v-else-if="tag.type == 'daterange'" class="inline">
{{ tag.name }}{{ tag.value1 }}{{ tag.value2 }}
</div>
<div v-else class="inline">{{ tag.name }}{{ tag.value }}</div>
</el-tag>
</div>
<div class="delete_btn inline">
<a class="zdybtn delete2" @click="deleteField"><i class="el-icon-delete" style="margin-right: 4px;"></i>清空条件</a>
</div>
</div>
</template>
<script>
export default {
name: "selectedConditions",
props: {
selectList: {
type: Array,
default: () => []
}
},
data() {
return {
dynamicTags: this.selectList,
height: 0,
isMinWith:document.body.clientWidth>1680?false:true,
};
},
watch: {
selectList(val) {
let self = this;
self.dynamicTags = val;
self.$nextTick(() => {
self.height = self.$refs.select.offsetHeight;
self.$emit("getHeight", self.height);
});
}
},
methods: {
deleteField(){
let self=this;
self.$emit("deleteAll");
for(let i=self.dynamicTags.length-1;i>=0;i--){
self.handleClose(self.dynamicTags[i])
}
},
handleClose(tag) {
let self = this;
if (tag.type == "zdyText") {
self.$emit("cValue", tag.id, tag.id2);
} else {
self.$emit("cValue", tag.id);
}
self.dynamicTags.splice(self.dynamicTags.indexOf(tag), 1);
self.$nextTick(() => {
self.height = self.$refs.select.offsetHeight;
self.$emit("getHeight", this.height);
});
}
},
};
</script>
<style scoped lang="scss">
@import "../../assets/styles/form.scss";
</style>
<template>
<div id="claqkry">
<card-aj :header="header" :url="url" :formField="formField" :icon="icon" :zjhmYchy="zjhmYchy" :ajYchy="ajYchy"></card-aj>
</div>
</template>
<!--次类案前科人员-->
<script>
import cardAj from "@c/cardAj_components.vue";
import {
claqkryHeader,
claqkryIcon,
claqkryUrl,
claqkryField,
cxYchyZjhmData,
cxYchyData
} from "@/utils/params";
export default {
name: "claqkry",
components:{
cardAj
},
data(){
return{
header:claqkryHeader,
url:claqkryUrl,
formField:claqkryField,
icon:claqkryIcon,
zjhmYchy:cxYchyZjhmData,
ajYchy:cxYchyData
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxcbxlajxx">
<naotu-table :cz="cz" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<!--查询串并系列案件信息-->
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotucxcbxlajxxHeader,
naotucxcbxlajxxHeaderIcon,
naotucxcbxlajxxURL,
naotucxcbxlajxxQueryField,
naotucxcbxlajxxFormData,
naotucxcbxlajxxDefaultFormThead,
naotucxcbxlajxxCz,
} from "@/utils/params";
export default {
name: "cxcbxlajxx",
components:{
naotuTable,
},
data(){
return {
cxQueryField:naotucxcbxlajxxQueryField,
cxDefaultFormThead:naotucxcbxlajxxDefaultFormThead,
cxFormData:naotucxcbxlajxxFormData,
cxUrl:naotucxcbxlajxxURL,
header:naotucxcbxlajxxHeader,
headerIcon:naotucxcbxlajxxHeaderIcon,
cz:naotucxcbxlajxxCz
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxcbxszxx">
<naotu-table :ychyData="ychyData" :cz="cz" :childrenUrl="childrenUrl" :childrenQueryField="childrenQueryField" :childrenFormData="childrenFormData" :childrenFormThead="childrenFormThead" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<!--查询串并线索组信息-->
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
cxYchyData,
/*主表格*/
naotucxcbxszxxHeader,
naotucxcbxszxxHeaderIcon,
naotucxcbxszxxURL,
naotucxcbxszxxQueryField,
naotucxcbxszxxFormData,
naotucxcbxszxxDefaultFormThead,
/*子表格*/
naotucxcbxszxxChildrenURL,
naotucxcbxszxxChildrenQueryField,
naotucxcbxszxxChildrenFormData,
naotucxcbxszxxChildrenDefaultFormThead,
naotucxcbxszxxCz
} from "@/utils/params";
export default {
name: "cxcbxszxx",
components:{
naotuTable,
},
data(){
return {
cxQueryField:naotucxcbxszxxQueryField,
cxDefaultFormThead:naotucxcbxszxxDefaultFormThead,
cxFormData:naotucxcbxszxxFormData,
cxUrl:naotucxcbxszxxURL,
header:naotucxcbxszxxHeader,
headerIcon:naotucxcbxszxxHeaderIcon,
cz:naotucxcbxszxxCz,
/*子表格*/
childrenUrl:naotucxcbxszxxChildrenURL,
childrenQueryField:naotucxcbxszxxChildrenQueryField,
childrenFormData:naotucxcbxszxxChildrenFormData,
childrenFormThead:naotucxcbxszxxChildrenDefaultFormThead,
ychyData:cxYchyData,
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxclwzxx">
<naotu-table :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<!--查询车辆违章信息-->
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotuCxclwzxxHeader,
naotuCxclwzxxHeaderIcon,
naotuCxclwzxxURL,
naotuCxclwzxxQueryField,
naotuCxclwzxxFormData,
naotuCxclwzxxDefaultFormThead,
} from "@/utils/params";
export default {
name: "cxclwzxx",
components:{
naotuTable,
},
data(){
return {
cxQueryField:naotuCxclwzxxQueryField,
cxDefaultFormThead:naotuCxclwzxxDefaultFormThead,
cxFormData:naotuCxclwzxxFormData,
cxUrl:naotuCxclwzxxURL,
header:naotuCxclwzxxHeader,
headerIcon:naotuCxclwzxxHeaderIcon,
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxhdxx">
<naotu-table :paentCxsjRules="paentCxsjRules" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<!--查询话单信息-->
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotuHdHeader,
naotuHdHeaderIcon,
naotuHdURL,
naotuHdQueryField,
naotuHdFormData,
naotuHdDefaultFormThead,
naotuCxSjRules
} from "@/utils/params";
export default {
name: "cxhdxx",
components:{
naotuTable,
},
data(){
return {
paentCxsjRules:naotuCxSjRules,
cxQueryField:naotuHdQueryField,
cxDefaultFormThead:naotuHdDefaultFormThead,
cxFormData:naotuHdFormData,
cxUrl:naotuHdURL,
header:naotuHdHeader,
headerIcon:naotuHdHeaderIcon,
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxjfcbajxx">
<naotu-table :ychyData="ychyData" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<!--查询积分串并案件信息-->
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
cxYchyData,
naotucxjfcbajxxHeader,
naotucxjfcbajxxHeaderIcon,
naotucxjfcbajxxURL,
naotucxjfcbajxxQueryField,
naotucxjfcbajxxFormData,
naotucxjfcbajxxDefaultFormThead,
} from "@/utils/params";
export default {
name: "cxjfcbajxx",
components:{
naotuTable,
},
data(){
return {
cxQueryField:naotucxjfcbajxxQueryField,
cxDefaultFormThead:naotucxjfcbajxxDefaultFormThead,
cxFormData:naotucxjfcbajxxFormData,
cxUrl:naotucxjfcbajxxURL,
header:naotucxjfcbajxxHeader,
headerIcon:naotucxjfcbajxxHeaderIcon,
ychyData:cxYchyData,
}
}
}
</script>
<style scoped>
</style>
<template>
<div class="cxqgajxx">
<naotu-details :header="header" :url="url" :formField="formField" :icon="icon"></naotu-details>
</div>
</template>
<script>
import naotuDetails from "@c/naotuDetails_components.vue";
import {
naotuQgAjHeader,
naotuQgAjIcon,
naotuQgAjUrl,
naotuQgAjField,
} from "@/utils/params";
export default {
name: "cxqgajxx",
components:{
naotuDetails
},
data(){
return{
header:naotuQgAjHeader,
url:naotuQgAjUrl,
formField:naotuQgAjField,
icon:naotuQgAjIcon
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxqghbxx">
<naotu-table :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<!--查询全国航班信息-->
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotuQghbHeader,
naotuQghbHeaderIcon,
naotuQghbURL,
naotuQghbQueryField,
naotuQghbFormData,
naotuQghbDefaultFormThead,
} from "@/utils/params";
export default {
name: "cxqghbxx",
components:{
naotuTable,
},
data(){
return {
cxQueryField:naotuQghbQueryField,
cxDefaultFormThead:naotuQghbDefaultFormThead,
cxFormData:naotuQghbFormData,
cxUrl:naotuQghbURL,
header:naotuQghbHeader,
headerIcon:naotuQghbHeaderIcon,
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxqghcdpxx">
<naotu-table :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotuQgHcHeader,
naotuQgHcHeaderIcon,
naotuQgHcURL,
naotuQgHcQueryField,
naotuQgHcFormData,
naotuQgHcDefaultFormThead,
} from "@/utils/params";
export default {
name: "cxqghcdpxx",
components:{
naotuTable,
},
data(){
return {
cxQueryField:naotuQgHcQueryField,
cxDefaultFormThead:naotuQgHcDefaultFormThead,
cxFormData:naotuQgHcFormData,
cxUrl:naotuQgHcURL,
header:naotuQgHcHeader,
headerIcon:naotuQgHcHeaderIcon,
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxqgkdxx">
<naotu-table :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotuQqKdHeader,
naotuQqKdHeaderIcon,
naotuQqKdURL,
naotuQqKdQueryField,
naotuQqKdFormData,
naotuQqKdDefaultFormThead,
} from "@/utils/params";
export default {
name: "cxqgkdxx",
components:{
naotuTable,
},
data(){
return {
cxQueryField:naotuQqKdQueryField,
cxDefaultFormThead:naotuQqKdDefaultFormThead,
cxFormData:naotuQqKdFormData,
cxUrl:naotuQqKdURL,
header:naotuQqKdHeader,
headerIcon:naotuQqKdHeaderIcon,
}
}
}
</script>
<style scoped>
</style>
<template>
<div class="cxqsajxx">
<naotu-details :header="header" :url="url" :formField="formField" :icon="icon"></naotu-details>
</div>
</template>
<script>
import naotuDetails from "@c/naotuDetails_components.vue";
import {
naotuQsAjHeader,
naotuQsAjIcon,
naotuQsAjUrl,
naotuQsAjField,
} from "@/utils/params";
export default {
name: "cxqsajxx",
components:{
naotuDetails
},
data(){
return{
header:naotuQsAjHeader,
url:naotuQsAjUrl,
formField:naotuQsAjField,
icon:naotuQsAjIcon
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxqshbxx">
<naotu-table :paentCxsjRules="paentCxsjRules" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<!--全省航班-->
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotuQsHbHeader,
naotuQsHbHeaderIcon,
naotuQsHbURL,
naotuQsHbQueryField,
naotuQsHbFormData,
naotuQsHbDefaultFormThead,
naotuCxSjRules
} from "@/utils/params";
export default {
name: "cxqshbxx",
components:{
naotuTable,
},
data(){
return {
paentCxsjRules:naotuCxSjRules,
cxQueryField:naotuQsHbQueryField,
cxDefaultFormThead:naotuQsHbDefaultFormThead,
cxFormData:naotuQsHbFormData,
cxUrl:naotuQsHbURL,
header:naotuQsHbHeader,
headerIcon:naotuQsHbHeaderIcon,
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxqshcxx">
<naotu-table :paentCxsjRules="paentCxsjRules" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotuQsHcHeader,
naotuQsHcHeaderIcon,
naotuQsHcURL,
naotuQsHcQueryField,
naotuQsHcFormData,
naotuQsHcDefaultFormThead,
naotuCxSjRules
} from "@/utils/params";
export default {
name: "cxqshcxx",
components:{
naotuTable,
},
data(){
return {
paentCxsjRules:naotuCxSjRules,
cxQueryField:naotuQsHcQueryField,
cxDefaultFormThead:naotuQsHcDefaultFormThead,
cxFormData:naotuQsHcFormData,
cxUrl:naotuQsHcURL,
header:naotuQsHcHeader,
headerIcon:naotuQsHcHeaderIcon,
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxqskdxx">
<naotu-table :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<!--查询全省快递信息-->
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotuQsKdHeader,
naotuQsKdHeaderIcon,
naotuQsKdURL,
naotuQsKdQueryField,
naotuQsKdFormData,
naotuQsKdDefaultFormThead,
} from "@/utils/params";
export default {
name: "cxqskdxx",
components:{
naotuTable,
},
data(){
return {
cxQueryField:naotuQsKdQueryField,
cxDefaultFormThead:naotuQsKdDefaultFormThead,
cxFormData:naotuQsKdFormData,
cxUrl:naotuQsKdURL,
header:naotuQsKdHeader,
headerIcon:naotuQsKdHeaderIcon,
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxqskyxx">
<naotu-table :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<!--查询全省客运信息-->
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotuQskyxxHeader,
naotuQskyxxHeaderIcon,
naotuQskyxxURL,
naotuQskyxxQueryField,
naotuQskyxxFormData,
naotuQskyxxDefaultFormThead,
} from "@/utils/params";
export default {
name: "cxqskyxx",
components:{
naotuTable,
},
data(){
return {
cxQueryField:naotuQskyxxQueryField,
cxDefaultFormThead:naotuQskyxxDefaultFormThead,
cxFormData:naotuQskyxxFormData,
cxUrl:naotuQskyxxURL,
header:naotuQskyxxHeader,
headerIcon:naotuQskyxxHeaderIcon,
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxqsldxx">
<naotu-table :paentCxsjRules="paentCxsjRules" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<!--//旅店信息查询-->
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotuQsLdHeader,
naotuQsLdHeaderIcon,
naotuQsLdURL,
naotuQsLdQueryField,
naotuQsLdFormData,
naotuQsLdDefaultFormThead,
naotuCxSjRules
} from "@/utils/params";
export default {
name: "cxqsldxx",
components:{
naotuTable,
},
data(){
return {
paentCxsjRules:naotuCxSjRules,
cxQueryField:naotuQsLdQueryField,
cxDefaultFormThead:naotuQsLdDefaultFormThead,
cxFormData:naotuQsLdFormData,
cxUrl:naotuQsLdURL,
header:naotuQsLdHeader,
headerIcon:naotuQsLdHeaderIcon,
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxqswbxx">
<naotu-table :paentCxsjRules="paentCxsjRules" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<!--查询全省网吧信息-->
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotuQsWbHeader,
naotuQsWbHeaderIcon,
naotuQsWbURL,
naotuQsWbQueryField,
naotuQsWbFormData,
naotuQsWbDefaultFormThead,
naotuCxSjRules
} from "@/utils/params";
export default {
name: "cxqsldxx",
components:{
naotuTable,
},
data(){
return {
paentCxsjRules:naotuCxSjRules,
cxQueryField:naotuQsWbQueryField,
cxDefaultFormThead:naotuQsWbDefaultFormThead,
cxFormData:naotuQsWbFormData,
cxUrl:naotuQsWbURL,
header:naotuQsWbHeader,
headerIcon:naotuQsWbHeaderIcon,
}
}
}
</script>
<style scoped>
</style>
<template>
<div id="cxtxlxx">
<naotu-table :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxFormData="cxFormData" :cxUrl="cxUrl" :header="header" :headerIcon="headerIcon"></naotu-table>
</div>
</template>
<!--查询通讯录信息-->
<script>
import naotuTable from "@c/naotuTable_components.vue";
import {
naotuTxlHeader,
naotuTxlHeaderIcon,
naotuTxlURL,
naotuTxlQueryField,
naotuTxlFormData,
naotuTxlDefaultFormThead,
} from "@/utils/params";
export default {
name: "cxtxlxx",
components:{
naotuTable,
},
data(){
return {
cxQueryField:naotuTxlQueryField,
cxDefaultFormThead:naotuTxlDefaultFormThead,
cxFormData:naotuTxlFormData,
cxUrl:naotuTxlURL,
header:naotuTxlHeader,
headerIcon:naotuTxlHeaderIcon,
}
}
}
</script>
<style scoped>
</style>
<template>
<div>
<right-content :header="header" :cxFormData="cxFormData" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxUrl="cxUrl"></right-content>
</div>
</template>
<script>
import rightContent from "@c/ptCxForm_components.vue";
import {
rzcxcxHeader,
rzcxcxFormData,
rzcxCxQueryField,
rzcxCxDefaultFormThead,
rzcxCxURL
} from "@/utils/params";
export default {
name: "dlrz",
components:{
rightContent
},
data() {
return {
cxFormData:rzcxcxFormData,
cxQueryField: rzcxCxQueryField,
cxDefaultFormThead:rzcxCxDefaultFormThead,
cxUrl:rzcxCxURL,
header:rzcxcxHeader
};
}
}
</script>
<style scoped>
</style>
<template>
<div id="dwfwyktj">
<right-content :header="header" :cxFormData="cxFormData" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxUrl="cxUrl" :pageFlag="pageFlag"></right-content>
</div>
</template>
<!--对外服务运控统计-->
<script>
import rightContent from "@c/ptCxForm_components.vue";
import {
rzcxDwfwyktjHeader,
rzcxDwfwyktjFormData,
rzcxDwfwyktjQueryField,
rzcxDwfwyktjDefaultFormThead,
rzcxDwfwyktjURL,
rzcxDwfwyktjpageFlag
} from "@/utils/params";
export default {
name: "dwfwyktj",
components:{
rightContent
},
data() {
return {
cxFormData:rzcxDwfwyktjFormData,
cxQueryField: rzcxDwfwyktjQueryField,
cxDefaultFormThead:rzcxDwfwyktjDefaultFormThead,
cxUrl:rzcxDwfwyktjURL,
header:rzcxDwfwyktjHeader,
pageFlag:rzcxDwfwyktjpageFlag
};
}
}
</script>
<style scoped>
</style>
<template>
<div id="fwrz">
<div class="ar" style="margin-top:10px;">
<el-button
type="primary"
size="small"
@click="back"
class="zdybtn zdy_back_btn" style="margin-right:16px !important;"
>返回</el-button
>
</div>
<right-content :header="header" :cxFormData="cxFormData" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxUrl="cxUrl"></right-content>
</div>
</template>
<script>
import rightContent from "@c/ptCxForm_components.vue";
import {
rzcxDwfwyktjFwrzHeader,
rzcxDwfwyktjFwrzFormData,
rzcxDwfwyktjFwrzQueryField,
rzcxDwfwyktjFwrzDefaultFormThead,
rzcxDwfwyktjFwrzURL,
} from "@/utils/params";
export default {
name: "fwrz",
components:{
rightContent
},
data() {
return {
cxFormData:rzcxDwfwyktjFwrzFormData,
cxQueryField: rzcxDwfwyktjFwrzQueryField,
cxDefaultFormThead:rzcxDwfwyktjFwrzDefaultFormThead,
cxUrl:rzcxDwfwyktjFwrzURL,
header:rzcxDwfwyktjFwrzHeader,
};
},
methods:{
back(){
this.$router.go(-1)
}
},
mounted() {
}
}
</script>
<style scoped>
</style>
<template>
<div id="gnfwtj">
<right-content :header="header" :cxFormData="cxFormData" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxUrl="cxUrl"></right-content>
</div>
</template>
<!--功能访问统计-->
<script>
import rightContent from "@c/ptCxForm_components.vue";
import {
gnfwtjHeader,
gnfwtjFormData,
gnfwtjQueryField,
gnfwtjDefaultFormThead,
gnfwtjURL
} from "@/utils/params";
export default {
name: "gnfwtj",
components:{
rightContent
},
data() {
return {
cxFormData:gnfwtjFormData,
cxQueryField: gnfwtjQueryField,
cxDefaultFormThead:gnfwtjDefaultFormThead,
cxUrl:gnfwtjURL,
header:gnfwtjHeader
};
}
}
</script>
<style scoped>
</style>
<template>
<div>
<right-content :header="header" :cxFormData="cxFormData" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxUrl="cxUrl"></right-content>
</div>
</template>
<script>
import rightContent from "@c/ptCxForm_components.vue";
import {
rzcxGncxHeader,
rzcxGncxFormData,
rzcxGnCxQueryField,
rzcxGnCxDefaultFormThead,
rzcxGnCxURL
} from "@/utils/params";
export default {
name: "gnsyrz",
components:{
rightContent
},
data() {
return {
cxFormData:rzcxGncxFormData,
cxQueryField: rzcxGnCxQueryField,
cxDefaultFormThead:rzcxGnCxDefaultFormThead,
cxUrl:rzcxGnCxURL,
header:rzcxGncxHeader
};
}
}
</script>
<style scoped>
</style>
<template>
<div>
<span class="right-icon" @click="toDp">
<i class="iconfont icondapingzhongduan"></i><span>运控大屏</span>
</span>
<list-header :headerTitle="headerTitle" ref="header" :headerIcon="headerIcon"></list-header>
<div class="content">
<left-menu :propLeftMenu="propLeftMenu" @changeSidebarIndex="changeSidebarIndex" :sidebarItemName="sidebarItemName"></left-menu>
<div class="rightContent">
<router-view></router-view>
</div>
</div>
</div>
</template>
<script>
import listHeader from "@c/header_components.vue";
import leftMenu from "@c/leftMenu_components.vue";
import {
rzcxHeaderTitle,
rzcxHeaderIcon,
rzcxPropLeftMenu,
} from "@/utils/params";
export default {
name: "index",
components: {
listHeader,
leftMenu,
},
data(){
return {
sidebarItemName: this.$route.name,
headerTitle:rzcxHeaderTitle,
propLeftMenu:rzcxPropLeftMenu,
headerIcon:rzcxHeaderIcon,
}
},
methods:{
toDp(){
let routeData = this.$router.resolve({
path: "/ykgldpIndex"
});
window.open(routeData.href, "_blank");
},
changeSidebarIndex(index,item) {
if(index.indexOf("-")==-1){
this.sidebarItemName = item[index-1].id;
this.$router.push({
name: item[index-1].id,
});
}else{//子级的情况有-,如3-1
let arr=index.split("-");
this.sidebarItemName =item[arr[0]-1].children[arr[1]-1].id;
this.$router.push({
name: item[arr[0]-1].children[arr[1]-1].id,
});
}
},
},
mounted() {
}
};
</script>
<style scoped lang="scss">
@import "../../assets/styles/rightContent.scss";
.headerT {
position: inherit !important;text-indent:70px;
}
</style>
<template>
<div id="jwzdjappykgl">
<right-content :header="header" :cxFormData="cxFormData" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxUrl="cxUrl"></right-content>
</div>
</template>
<!--警务终端及APP运控管理-->
<script>
import rightContent from "@c/ptCxForm_components.vue";
import {
jjwzdjappykglHeader,
jjwzdjappykglFormData,
jjwzdjappykglQueryField,
jjwzdjappykglDefaultFormThead,
jjwzdjappykglURL,
} from "@/utils/params";
export default {
name: "sjzyykgl",
components:{
rightContent
},
data() {
return {
cxFormData:jjwzdjappykglFormData,
cxQueryField: jjwzdjappykglQueryField,
cxDefaultFormThead:jjwzdjappykglDefaultFormThead,
cxUrl:jjwzdjappykglURL,
header:jjwzdjappykglHeader
};
}
}
</script>
<style scoped>
</style>
<template>
<div class="Content">
<div class="cxtjWrap paneDiv">
<el-row>
<el-col :span="24">
<span class="flTtitle">查询条件</span>
</el-col>
</el-row>
<el-form
label-position="right"
label-width="140px"
ref="queryForm"
:model="formData"
>
<div class="zdyLine">
<el-form-item
:label="item.name"
v-for="item in propQueryField"
:key="item.id"
:prop="item.id"
v-show="!item.hidden ? true : item.hidden == formData['cxlx']"
:class="'demo-input-suffix zdycol' + item.col"
>
<!--<div class="zdName">{{item.name}}</div>-->
<!--输入框-->
<el-input
clearable
:placeholder="item.placeholder"
v-model="formData[item.id]"
v-if="item.type == 'text'"
>
</el-input>
<!--输入框-最大值与最小值-->
<div
class="zdyInputW zdyInputCol2"
v-else-if="item.type == 'zdyText'"
>
<el-input
clearable
:placeholder="item.placeholder"
v-model="formData[item.id]"
>
</el-input>
<el-input
clearable
:placeholder="item.placeholder2"
v-model="formData[item.id2]"
style="width:calc((100% - 150)/2)"
>
</el-input>
</div>
<!--下拉框-->
<el-select
v-model="formData[item.id]"
clearable
:placeholder="item.placeholder"
v-else-if="item.type == 'select'"
>
<el-option
v-for="item3 in item.selectData"
:key="item3.value"
:label="item3.name"
:value="item3.value"
>
</el-option>
</el-select>
<!--文本域-->
<el-input
type="textarea"
autosize
resize="none"
:placeholder="item.placeholder"
v-model="formData[item.id]"
v-else-if="item.type == 'textarea'"
>
</el-input>
<!--日期框 日期时间-->
<el-date-picker
v-model="formData[item.id]"
type="datetime"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
value-format="yyyy-MM-dd HH:mm:ss"
v-else-if="item.type == 'datetime'"
>
</el-date-picker>
<!--日期框-->
<el-date-picker
v-model="formData[item.id]"
type="daterange"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
value-format="yyyy-MM-dd"
end-placeholder="结束日期"
v-else-if="item.type == 'daterange'"
>
</el-date-picker>
<!--多选框-->
<div class="zdyInputW" v-else-if="item.type == 'checkbox'">
<el-checkbox-group v-model="formData[item.id]" size="small">
<el-checkbox
v-for="item2 in item.checkboxData"
:label="item2"
:key="item2"
>{{ item2 }}</el-checkbox
>
</el-checkbox-group>
</div>
<!--单选框-->
<div class="zdyInputW" v-else-if="item.type == 'radio'">
<el-radio-group v-model="formData[item.id]" size="small">
<el-radio
:label="item2.value"
v-for="item2 in item.radioData"
:key="item2.value"
>{{ item2.name }}</el-radio
>
</el-radio-group>
</div>
<!--字典框 @emitValue="getLbValue"-->
<div
class="zdyInputW"
v-else-if="item.type == 'code' || item.type == 'jlCode'"
>
<select-tree
v-model="formData[item.id]"
:placeholder="'请选择' + item.name"
:options="item.codeOptions"
:sendId="item.id"
/>
</div>
<!--字典弹框 @emitValue="getLbValue"-->
<div
class="zdyInputW"
v-else-if="item.type == 'codeTreeDialog'"
>
<select-tree-dialog
:placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="formData"
:currentItem="item"
/>
</div>
</el-form-item>
</div>
</el-form>
<!--按钮-->
<div class="ar cx-btn">
<!--
<span @click="switchingConditions" class="color1 mg10"><i :class="toggleZd ? 'fa fa-angle-up fa-zdy20':'fa fa-angle-down fa-zdy20'"></i>{{toggleZd ? '收起条件':'更多条件'}}</span>
-->
<el-button
type="primary"
icon="el-icon-search"
size="small"
@click="creteForm(formData['cxlx'])"
class="zdybtn"
>查询</el-button
>
<el-button
plain
icon="el-icon-delete"
size="small"
@click="clearData"
class="zdybtn"
>清空</el-button
>
</div>
</div>
<div class="paneDiv" v-show="YhTable">
<el-row>
<el-col :span="24">
<span class="flTtitle">查询结果</span>
<!--可配置化图标-->
<div
style="height:30px;line-height: 30px;text-align: right;font-size:12px;display: inline-block;width: calc(100% - 140px);"
>
<span class="total">共有{{ tableDataLength }}条查询结果</span>
<el-button
plain
class="zdybtn export"
size="small"
@click="export2Excel('YH')"
><i
class="fa fa-external-link"
aria-hidden="true"
style="margin-right:5px;"
></i
>导出</el-button
>
</div>
</el-col>
</el-row>
<div>
<!--表格-->
<el-table
id="ajzbQuery"
v-loading="tableLoading"
element-loading-text="拼命加载中"
:key="key"
ref="itsmDataTable"
:data="tableData"
tooltip-effect="dark"
style="width: 99%;margin:0 auto"
width="100%"
size="small"
border
:row-class-name="tableRowClassName"
>
<el-table-column
align="center"
:min-width="
columnTitle.width
? columnTitle.width
: columnTitle.prop == 'jyaq' || columnTitle.prop == 'asjbh'
? '360'
: '160'
"
v-for="columnTitle in propdefaultFormTheadYh"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
>
<template slot-scope="scope">
<div v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
</el-table>
<!--分页-->
<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"
:small="true"
:total="tableDataLength"
v-if="pageShow"
>
</el-pagination>
</div>
</div>
<div class="paneDiv" v-show="DwTable">
<el-row>
<el-col :span="24">
<span class="flTtitle">查询结果</span>
<!--可配置化图标-->
<div
style="height:30px;line-height: 30px;text-align: right;font-size:12px;display: inline-block;width: calc(100% - 140px);"
>
<span class="total">共有{{ tableDataLengthDw }}条查询结果</span>
<el-button
plain
class="zdybtn export"
size="small"
@click="export2Excel('DW')"
><i
class="fa fa-external-link"
aria-hidden="true"
style="margin-right:5px;"
></i
>导出</el-button
>
</div>
</el-col>
</el-row>
<!--表格-->
<el-table
id="DwTable"
v-loading="tableLoadingDw"
element-loading-text="拼命加载中"
:key="key"
ref="itsmDataTable"
:data="tableDataDw"
tooltip-effect="dark"
style="width: 99%;margin:0 auto"
width="100%"
size="small"
border
:row-class-name="tableRowClassName"
>
<el-table-column
align="center"
:min-width="
columnTitle.width
? columnTitle.width
: columnTitle.prop == 'jyaq' || columnTitle.prop == 'asjbh'
? '360'
: '160'
"
v-for="columnTitle in propdefaultFormTheadDw"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
>
<template slot-scope="scope">
<div v-if="columnTitle.prop == 'name'">
<span
class="color1 pointer"
@click="
showDwXz(
'DWXZ',
scope.row['unitId'],
scope.row[columnTitle.prop]
)
"
v-if="scope.row['isParent'] == 'true'"
>{{ scope.row[columnTitle.prop] }}</span
>
<span class="inherit" v-else>{{
scope.row[columnTitle.prop]
}}</span>
</div>
<div
v-if="columnTitle.prop != 'name'"
v-html="scope.row[columnTitle.prop]"
></div>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination
background
@size-change="handleSizeChangeDw"
@current-change="handleCurrentChangeDw"
:current-page.sync="currentPage1Dw"
:page-sizes="[10, 20, 50, 100]"
:page-size="page_sizeDw"
layout="sizes,prev, pager, next"
:small="true"
:total="tableDataLengthDw"
>
</el-pagination>
</div>
<div class="paneDiv" v-show="DwXzTable">
<el-row>
<el-col :span="24">
<!--<span class="flTtitle">查询结果</span>-->
<div class="back" @click="showDw" style="display: inline-block; top: -2px;">
<div class="al" style="margin-top:10px;">
<el-button
type="primary"
size="small"
class="zdybtn zdy_back_btn" style="margin-right:16px !important;"
>返回</el-button
>
</div>
</div>
<!--可配置化图标-->
<div
style="height:30px;line-height: 30px;text-align: right;font-size:12px;display: inline-block;width: calc(100% - 200px);"
>
<span class="total">共有{{ tableDataLengthDwXz }}条查询结果</span>
<el-button
plain
class="zdybtn export"
size="small"
@click="export2Excel('DWXZ')"
><i
class="fa fa-external-link"
aria-hidden="true"
style="margin-right:5px;"
></i
>导出</el-button
>
</div>
</el-col>
</el-row>
<!--表格-->
<el-table
id="DwXzTable"
v-loading="tableLoadingDwXz"
element-loading-text="拼命加载中"
:key="key"
ref="itsmDataTable"
:data="tableDataDwXz"
tooltip-effect="dark"
style="width: 99%;margin:6px auto"
width="100%"
size="small"
border
:row-class-name="tableRowClassName"
>
<el-table-column
align="center"
:min-width="
columnTitle.width
? columnTitle.width
: columnTitle.prop == 'jyaq' || columnTitle.prop == 'asjbh'
? '360'
: '160'
"
v-for="columnTitle in propdefaultFormTheadDw"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
>
<template slot-scope="scope">
<div v-if="columnTitle.prop == 'asjbh'">
{{ scope.row[columnTitle.prop] }}
</div>
<div
v-if="columnTitle.prop != 'jyaq' && columnTitle.prop != 'asjbh'"
v-html="scope.row[columnTitle.prop]"
></div>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination
background
@size-change="handleSizeChangeDwXz"
@current-change="handleCurrentChangeDwXz"
:current-page.sync="currentPage1DwXz"
:page-sizes="[10, 20, 50, 100]"
:page-size="page_sizeDwXz"
layout="sizes,prev, pager, next"
:small="true"
:total="tableDataLengthDwXz"
>
</el-pagination>
</div>
</div>
</template>
<script>
import SelectTree from "@c/tree_components.vue";
import SelectTreeDialog from "@c/treeCode_components.vue";
import Http from "@/utils/axiosHttp.js";
import request from "@/api/interface/dictionaryCode.js";
import url from "@/api/base";
import "@/assets/styles/font-awesome.min.css";
import {
rzcxSyqkcxHeader,
rzcxSyqkcxFormDataYh,
rzcxSyqkCxQueryField,
rzcxSyqkCxDefaultFormTheadYh,
rzcxSyqkCxDefaultFormTheadDw,
rzcxSyqkCxURLYh,
rzcxSyqkCxURLDw,
rzcxSyqkCxURLDwXz
} from "@/utils/params";
export default {
name: "ldfwrz",
components: {
SelectTree,
SelectTreeDialog
},
data() {
return {
YhTable: false,
DwTable: true,
DwXzTable: false,
currentPage1: 1, //表格页码
currentPage1Dw: 1, //表格页码
currentPage1DwXz: 1, //表格页码
page_size: 10, //每页显示多少条
page_sizeDw: 10, //每页显示多少条
page_sizeDwXz: 10, //每页显示多少条
pageShow: true, //是否显示分页
formData: rzcxSyqkcxFormDataYh, //查询条件form用户
propQueryField: rzcxSyqkCxQueryField, //查询条件
tableLoading: true, //table得loading
tableLoadingDw: true, //table得loading
tableLoadingDwXz: true, //table得loading
key: 1, //table得key
tableDataLength: 0, //表格总数
tableDataLengthDw: 0, //表格总数
tableDataLengthDwXz: 0, //表格总数
tableData: [], //表格数据
tableDataDw: [], //表格数据
tableDataDwXz: [], //表格数据
propdefaultFormTheadYh: rzcxSyqkCxDefaultFormTheadYh, //表格表头
propdefaultFormTheadDw: rzcxSyqkCxDefaultFormTheadDw, //表格表头
excelHeader: rzcxSyqkcxHeader,
YhcxUrl: rzcxSyqkCxURLYh, //用户路径
DwcxUrl: rzcxSyqkCxURLDw, //单位路径
DwXzcxUrl: rzcxSyqkCxURLDwXz, //单位下钻路径
zdyDwName: "", //保存点击得单位名字
zdyUnitCode: "" //保存点击得单位代码
};
},
watch: {
formData: {
handler(newVal) {
if (newVal.cxlx == "YH") {
this.YhTable = true;
this.DwTable = false;
this.DwXzTable = false;
} else if (newVal.cxlx == "DW") {
this.YhTable = false;
this.DwTable = true;
this.DwXzTable = false;
}
},
deep: true
}
},
methods: {
handleSizeChange(val) {
this.page_size=val;
this.creteForm("YH",false,false,val);
},
handleSizeChangeDw(val) {
debugger
this.page_sizeDw=val;
this.creteForm("DW",false,false,val);
},
handleSizeChangeDwXz(val) {
this.page_sizeDwXz=val;
this.creteForm("DWXZ",this.zdyUnitCode,false,val);
},
showDwXz(flag, id, name) {
this.zdyDwName = name;
this.creteForm(flag, id);
},
showDw() {
this.YhTable = false;
this.DwTable = true;
this.DwXzTable = false;
},
clearData() {
let self = this;
for (let i in self.formData) {
if (i != "limit" || i != "page") {
self.formData[i] = "";
}
}
self.formData["limit"] = 10;
self.formData["page"] = 1;
},
formatJson(filterVal, jsonData) {
let arr=[];
jsonData.map(v => {
let arr1=[];
filterVal.map(j => {
if(j.indexOf(',') != -1){
let arr=j.split(",");
let data="";
for(let i=0;i<=arr.length-1;i++){
data+=arr[i].split(':')[0]+':'+v[arr[i].split(':')[1]];
}
arr1.push(data);
}else{
arr1.push(v[j]);
}
})
arr.push(arr1);
});
return arr;
},
export2Excel(flag) {
/*导出*/
let self = this,
tHeader = [],
filterVal = [];
const loading = this.$loading({
lock: true,
text: "正在导出...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)"
});
tHeader = [];
filterVal = [];
if (flag == "YH") {
if (self.tableDataLength > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条"
});
loading.close();
}else{
self.propdefaultFormTheadYh.forEach(val => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
let excelHeader = "用户" + self.excelHeader;
let json = self.creteForm(flag, self.zdyUnitCode, "export");
self.doQueryRequestYh(JSON.stringify(json)).then(res => {
if (res.success === true) {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, excelHeader);
});
loading.close();
} else {
loading.close();
self.$message({
type: "error",
message: "查询失败"
});
}
self.tableLoadingEmit = false;
});
}
} else if (flag == "DW") {
if (self.tableDataLengthDw > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条"
});
loading.close();
}else{
self.propdefaultFormTheadDw.forEach(val => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
let excelHeader = "单位" + self.excelHeader;
let json = self.creteForm(flag, self.zdyUnitCode, "export");
self.doQueryRequestDw(JSON.stringify(json)).then(res => {
if (res.success === true) {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, excelHeader);
});
loading.close();
} else {
loading.close();
self.$message({
type: "error",
message: "查询失败"
});
}
self.tableLoadingEmit = false;
});
}
} else if (flag == "DWXZ") {
if (self.tableDataLengthDwXz > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条"
});
loading.close();
}else{
self.propdefaultFormTheadDw.forEach(val => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
let excelHeader = self.zdyDwName + self.excelHeader;
let json = self.creteForm(flag, self.zdyUnitCode, "export");
self.doQueryRequestDwXz(JSON.stringify(json)).then(res => {
if (res.success === true) {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, excelHeader);
});
loading.close();
} else {
loading.close();
self.$message({
type: "error",
message: "查询失败"
});
}
self.tableLoadingEmit = false;
});
}
}
},
handleCurrentChange(val) {
this.currentPage1 = val;
this.creteForm("YH");
},
handleCurrentChangeDw(val) {
this.currentPage1Dw = val;
this.creteForm("DW");
},
handleCurrentChangeDwXz(val) {
this.currentPage1DwXz = val;
this.creteForm("DWXZ", this.zdyUnitCode);
},
doQueryRequestYh(form) {
return Http({
url: url.rzURL + this.YhcxUrl,
params: JSON.parse(form),
method: "POST"
});
},
doQueryRequestDw(form) {
return Http({
url: url.rzURL + this.DwcxUrl,
params: JSON.parse(form),
method: "POST"
});
},
doQueryRequestDwXz(form) {
return Http({
url: url.rzURL + this.DwXzcxUrl,
params: JSON.parse(form),
method: "POST"
});
},
tableRowClassName({ rowIndex }) {
if (rowIndex % 2 == 0) {
return "";
} else {
return "success-row";
}
},
orderBy(column) {
console.log(column);
},
doQuery(flag, data) {
let self = this;
if (flag == "YH") {
self.tableLoading=true;
self.doQueryRequestYh(JSON.stringify(data)).then(response => {
if (response.success === true) {
self.tableData = response.data.rows;
self.tableDataLength = response.data.total;
self.tableLoading=false;
} else {
self.$message({
type: "error",
message: response.message
});
self.tableLoading=false;
}
});
} else if (flag == "DW") {
self.tableLoadingDw=true;
self.doQueryRequestDw(JSON.stringify(data)).then(response => {
if (response.success === true) {
self.tableDataDw = response.data.rows;
self.tableDataLengthDw = response.data.total;
self.tableLoadingDw=false;
} else {
self.$message({
type: "error",
message: response.message
});
self.tableLoadingDw=false;
}
});
} else if (flag == "DWXZ") {
self.tableLoadingDwXz=true;
self.doQueryRequestDwXz(JSON.stringify(data)).then(response => {
if (response.success === true) {
self.tableDataDwXz = response.data.rows;
self.tableDataLengthDwXz = response.data.total;
self.tableLoadingDwXz=false;
} else {
self.$message({
type: "error",
message: response.message
});
self.tableLoadingDwXz=false;
}
});
}
},
creteForm(flag, id, isExport,changeLimit) {
//id为下钻时带过来得单位代码
let self = this,
json = {};
if (flag == "YH") {
for (let i in self.formData) {
if (i != "cxlx") {
if (i != "loginTime") {
json[i] = self.formData[i];
} else {
json[i] =
self.formData[i] != ""&&self.formData[i]!=null ? self.formData[i].join(" - ") : "";
}
}
}
json.page = self.currentPage1;
json.limit = self.page_size;
if (isExport) {
json.limit = 5000;
return json;
}else if(changeLimit){
json.limit = changeLimit;
self.doQuery("YH", json);
} else {
self.doQuery("YH", json);
}
} else if (flag == "DW") {
for (let i in self.formData) {
if (i != "cxlx" && i != "name" && i != "policeId") {
if (i != "loginTime") {
json[i] = self.formData[i];
} else {
json[i] =
self.formData[i] != ""&&self.formData[i]!=null ? self.formData[i].join(" - ") : "";
}
}
}
json.page = self.currentPage1Dw;
json.limit = self.page_sizeDw;
if (isExport) {
json.limit = 5000;
return json;
}else if(changeLimit){
json.limit = changeLimit;
self.doQuery("DW", json);
} else {
self.doQuery("DW", json);
}
} else if (flag == "DWXZ") {
this.YhTable = false;
this.DwTable = false;
this.DwXzTable = true;
for (let i in self.formData) {
if (i != "cxlx" && i != "name" && i != "policeId") {
if (i != "loginTime") {
json[i] = self.formData[i];
} else {
json[i] =
self.formData[i] != ""&&self.formData[i]!=null ? self.formData[i].join(" - ") : "";
}
}
}
json.page = self.currentPage1DwXz;
json.limit = self.page_sizeDwXz;
if (id) {
self.zdyUnitCode = id;
json.unitCode = id;
}
if (isExport) {
json.limit = 5000;
return json;
}else if(changeLimit){
json.limit = changeLimit;
self.doQuery("DWXZ", json);
} else {
self.doQuery("DWXZ", json);
}
}
}
},
mounted() {
let self = this;
self.propQueryField.forEach(val => {
if (val.type == "code"||val.type == "codeTreeDialog") {
if (val.codeOptions.length == 0) {
request.axiosCode(val.codeTree).then(response => {
if (response.success === true) {
self.$set(val, "codeOptions", response.data.list);
}
});
}
}
});
self.creteForm("YH");
self.creteForm("DW");
}
};
</script>
<style>
@import url("../../assets/styles/iconfont.css");
.el-dialog__body {
padding: 10px 15px !important;
}
.rightContent .el-input__inner,
#formCommonPage .el-input__inner {
height: 36px;
line-height: 36px;
font-family: inherit;
}
.el-table__header-wrapper th,
.el-table__header-wrapper tr {
background: #f4f6f7;
}
.rightContent .el-input__icon,
#formCommonPage .el-input__icon,
.el-input__suffix-inner {
line-height: 36px;
}
.rightContent .el-range-separator {
position: relative;
top: -4px;
}
.rightContent .el-textarea__inner,
#formCommonPage .el-textarea__inner {
width: 100%;
font-family: inherit;
}
.rightContent .el-range-input,
#formCommonPage .el-range-input {
vertical-align: top;
}
.rightContent .el-date-editor .el-range__close-icon {
margin-top: -4px;
}
.rightContent .el-form-item__error {
left: calc(66% - 27px);
top: 12px;
}
.success-row {
background-color: #fbf9f4 !important;
}
.Content .el-input,
.Content .el-date-editor--daterange.el-input__inner {
width: 100% !important;
}
</style>
<style scoped lang="scss">
@import "../../assets/styles/rightContent.scss";
</style>
<template>
<div>
<right-content :header="header" :cxFormData="cxFormData" :cxQueryField="cxQueryField" :cxDefaultFormThead="cxDefaultFormThead" :cxUrl="cxUrl"></right-content>
</div>
</template>
<!--数据资源运控管理-->
<script>
import rightContent from "@c/ptCxForm_components.vue";
import {
sjzyykglHeader,
sjzyykglFormData,
sjzyykglQueryField,
sjzyykglDefaultFormThead,
sjzyykglURL,
} from "@/utils/params";
export default {
name: "sjzyykgl",
components:{
rightContent
},
data() {
return {
cxFormData:sjzyykglFormData,
cxQueryField: sjzyykglQueryField,
cxDefaultFormThead:sjzyykglDefaultFormThead,
cxUrl:sjzyykglURL,
header:sjzyykglHeader
};
}
}
</script>
<style scoped>
</style>
<template>
<div id="ykfw">
<right-content :header="header" :cxFormData="cxFormData" :cxFormDataXq="cxFormDataXq" :cxQueryField="cxQueryField" :cxQueryFieldXq="cxQueryFieldXq" :cxDefaultFormThead="cxDefaultFormThead" :cxDefaultFormTheadXq="cxDefaultFormTheadXq" :cxUrl="cxUrl" :cxUrlXq="cxUrlXq"></right-content>
</div>
</template>
<script>
import rightContent from "@c/tableXz.vue";
import {
rzcxYkfwcxHeader,
rzcxYkfwcxFormData,
rzcxYkfwcxFormDataXq,
rzcxYkfwCxQueryField,
rzcxYkfwCxQueryFieldXq,
rzcxYkfwCxDefaultFormThead,
rzcxYkfwCxDefaultFormTheadXq,
rzcxYkfwCxURL,
rzcxYkfwCxURLXq,
} from "@/utils/params";
export default {
name: "ykfw",
components:{
rightContent
},
data() {
return {
cxFormData:rzcxYkfwcxFormData,
cxFormDataXq:rzcxYkfwcxFormDataXq,
cxQueryField: rzcxYkfwCxQueryField,
cxQueryFieldXq:rzcxYkfwCxQueryFieldXq,
cxDefaultFormThead:rzcxYkfwCxDefaultFormThead,
cxDefaultFormTheadXq:rzcxYkfwCxDefaultFormTheadXq,
cxUrl:rzcxYkfwCxURL,
cxUrlXq:rzcxYkfwCxURLXq,
header:rzcxYkfwcxHeader
};
}
}
</script>
<style scoped>
</style>
<template>
<div id="ykgldp">
<div class="top">{{header}}</div>
<div class="left_date">{{leftDate}}</div>
<div class="right_date">{{rightDate}}</div>
<div class="content_bg">
<div class="top_content">
<div class="left_top_c">
<div class="top_wrap xtjqrfwl posi">
<span class="lt"></span>
<span class="lr"></span>
<span class="bl"></span>
<span class="br"></span>
<div class="bg-title">系统近七日访问量</div>
<div class="wrap_content" id="xtjqrfwl" v-loading="Loading1" element-loading-text="拼命加载中"></div>
</div>
<div class="top_wrap zxzygn posi">
<span class="lt"></span>
<span class="lr"></span>
<span class="bl"></span>
<span class="br"></span>
<div class="bg-title">刑专主要功能(近7日访问情况)</div>
<div class="wrap_content" id="xzzygn" v-loading="Loading2" element-loading-text="拼命加载中"></div>
</div>
</div>
<div class="center_top_c">
<div class="center posi">
<div class="posi_left">
<p class="center-title">注册用户总数</p>
<p class="num zcyhzs">{{userTotal}}</p>
<p class="center-title">近7日活跃用户数</p>
<p class="num jqrhyzs">{{activeUserNum}}</p>
<p class="center-title">近7日非活跃用户</p>
<p class="num jqrfhyzs">{{InActiveUserNum}}</p>
</div>
<div style="width:100%;height:100%;position: relative;z-index:10;" v-loading="Loading8" element-loading-text="拼命加载中">
<video width="100%" height="100%" id="myVideo" class="video-js video" style="object-fit: fill"
>
<source
src="@/assets/video/center_bg.mp4"
type="video/mp4"
>
</video>
</div>
</div>
</div>
<div class="right_top_c">
<div class="top_wrap zdappyktj posi">
<span class="lt"></span>
<span class="lr"></span>
<span class="bl"></span>
<span class="br"></span>
<div class="bg-title">终端APP运控统计</div>
<div class="wrap_content" id="zdappyktj" v-loading="Loading3" element-loading-text="拼命加载中"></div>
</div>
<div class="top_wrap sjzytj posi">
<span class="lt"></span>
<span class="lr"></span>
<span class="bl"></span>
<span class="br"></span>
<div class="bg-title">数据资源统计</div>
<div class="wrap_content" id="sjzytj" v-loading="Loading4" element-loading-text="拼命加载中"></div>
</div>
</div>
</div>
<div class="bottom_content">
<div class="left_bottom_c posi">
<span class="lt"></span>
<span class="lr"></span>
<span class="bl"></span>
<span class="br"></span>
<div class="bg-title">公共服务(近7日访问情况)</div>
<div class="wrap_content" id="ggfw" v-loading="Loading5" element-loading-text="拼命加载中"></div>
</div>
<div class="center_bottom_c posi">
<span class="lt"></span>
<span class="lr"></span>
<span class="bl"></span>
<span class="br"></span>
<div class="bg-title">刑专各单位使用情况</div>
<div class="table_wrap xzgdwsyqk" ref="tableScroll" v-loading="Loading6" element-loading-text="拼命加载中">
<dv-scroll-board
:config="configdisplacementofDam2"
style="width:100%;height:100%;"/>
</div>
</div>
<div class="right_bottom_c posi">
<span class="lt"></span>
<span class="lr"></span>
<span class="bl"></span>
<span class="br"></span>
<div class="bg-title">部省对接服务统计</div>
<div class="table_wrap bsdjfwtj" v-loading="Loading7" element-loading-text="拼命加载中">
<dv-scroll-board
:config="configdisplacementofDam"
style="width:100%;height:100%;"/>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import {ykgldpHeader,
zdapp1URL,
zdapp2URL,
bsdjfwtjURL,
xzgdwsyqkURL,
xtjqrfwlURL,
xzzygnURL,
ggfwURL,
sjzytjURL,hysURL} from "@/utils/params";
import Http from "@/utils/axiosHttp.js";
import url from "@/api/base";
export default {
name: "ykgldp",
data(){
return {
header:ykgldpHeader,
zdappyktjUrl:zdapp1URL,
zdappyktj2Url:zdapp2URL,
bsdjfwtjUrl:bsdjfwtjURL,
xzgdwsyqkUrl:xzgdwsyqkURL,//刑专各单位使用情况
xtjqrfwlUrl:xtjqrfwlURL,//系统近七日访问量
xzzygnUrl:xzzygnURL,//刑专主要功能(近7日访问情况)
ggfwUrl:ggfwURL,//公共服务(近7日访问情况)
sjzytjUrl:sjzytjURL,//数据资源统计
hysUrl:hysURL,
headerdisplacementofDam: ['服务名称', '服务编号', '调用总数', '近7天调用频率', '上次调用时间'],
datadisplacementofDam: [],
configdisplacementofDam: {},
headerdisplacementofDam2: ['单位名称', '用户数', '活跃用户', '总使用量', '人均使用量'],
datadisplacementofDam2: [],
configdisplacementofDam2: {},
leftDate:"",
rightDate:"",
Loading1:true,
Loading2:true,
Loading3:true,
Loading4:true,
Loading5:true,
Loading6:true,
Loading7:true,
Loading8:true,
totalNum:0,
userTotal:0,
activeUserNum:0,
InActiveUserNum:0,
}
},
methods:{
time() {
// clearTimeout('myTime')
var today = new Date();
var hou;
var time;
var day;
if (today.getHours() < 12 && today.getHours() >= 0) {
hou = today.getHours();
time = "上午";
} else if (today.getHours() <= 24 && today.getHours() > 12) {
hou = today.getHours() - 12;
time = "下午";
}
var d = today.getDay();
if (d == 0) {
day = "日";
} else if (d == 1) {
day = "一";
} else if (d == 2) {
day = "二";
} else if (d == 3) {
day = "三";
} else if (d == 4) {
day = "四";
} else if (d == 5) {
day = "五";
} else if (d == 6) {
day = "六";
}
var minutes = today.getMinutes() > 9 ? today.getMinutes() : '0' + today.getMinutes()
var Seconds = today.getSeconds() > 9 ? today.getSeconds() : '0' + today.getSeconds()
this.leftDate=`${today.getFullYear()}${(today.getMonth() + 1)}${today.getDate()}日 星期${day}`;
this.rightDate=`${time}${hou}:${minutes}:${Seconds}`;
},
initVideo() {
this.Loading8=true;
//初始化视频方法
let myPlayer = this.$video(myVideo, {
//确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
controls: false,
loop:true,
//自动播放属性,muted:静音播放
autoplay: "muted",
//建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
preload: "auto",
//设置视频播放器的显示宽度(以像素为单位)
width: "100%",
//设置视频播放器的显示高度(以像素为单位)
height: "100%"
});
this.Loading8=false;
},
doQueryRequest(form,path) {
return Http({
url: url.rzURL + path,
params: form,
method: "get"
});
},
initZdappyktj(x1,data1,data2){
let ydata1=[data1[0],data1[1],data1[2],data1[3],data1[4],data1[5],data1[6]];
let ydata2=[data2[0],data2[1],data2[2],data2[3],data2[4],data2[5],data2[6]];
let xdata=[x1[0],x1[1],x1[2],x1[3],x1[4],x1[5],x1[6]];
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById('zdappyktj'))
// 绘制图表
let option = {
title: {
text: '',
subtext: ''
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#283b56'
}
}
},
legend: {
data:['注册数', '下载数'],
right: 40,//legend距离canvas右边的距离
//left: 20,
top:5,//legend距离canvas上面的距离
textStyle: {//文字颜色
fontSize: 12,
color: '#fff'
},
},
xAxis: [
{
type: 'category',
boundaryGap: true,
data:xdata ,
axisLine: { //这是x轴文字颜色
lineStyle: {
color: "#fff",
}
},
axisLabel: {
show: true,
interval:0,
formatter:function(params) {
var newParamsName = "";
var paramsNameNumber = params.length;
var provideNumber = 3; //一行显示几个字
var rowNumber = Math.ceil(paramsNameNumber / provideNumber);
if (paramsNameNumber > provideNumber) {
for (var p = 0; p < rowNumber; p++) {
var tempStr = "";
var start = p * provideNumber;
var end = start + provideNumber;
if (p == rowNumber - 1) {
tempStr = params.substring(start, paramsNameNumber);
} else {
tempStr = params.substring(start, end) + "\n";
}
newParamsName += tempStr;
}
} else {
newParamsName = params;
}
return newParamsName
},
textStyle: {
color: '#fff' //文字颜色
}
}
}
],
yAxis: [
{
type: 'value',
scale: true,
name: '',
minInterval:50,
min: 0,
axisLine: { //这是x轴文字颜色
lineStyle: {
color: "#fff",
}
},
boundaryGap: [0.2, 0.2]
}
],
series: [
{
name: '注册数',
type: 'bar',
barWidth : 12,
itemStyle: {
normal: {
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: '#BBFAFB'
}, {
offset: 1,
color: '#36CCFF'
}]),
}
},
data:ydata1
},
{
name: '下载数',
type: 'line',
itemStyle : {
normal : {
color:'#FFDD70', //圈圈的颜色
lineStyle:{
color:'#FFDD70' //线的颜色
}
}
},
data:ydata2,
}
]
};
if(x1.length>7){
let app={};
app.count = 7;
setInterval(function (){
if(app.count==x1.length-1){
app.count=0;
}
var sdata0 = option.series[0].data;
var sdata1 = option.series[1].data;
sdata0.shift();
sdata0.push(data1[app.count]);
sdata1.shift();
sdata1.push(data2[app.count]);
option.xAxis[0].data.shift();
option.xAxis[0].data.push(x1[app.count]);
myChart.setOption(option);
app.count++;
}, 2100);
}else{
myChart.setOption(option);
}
this.Loading3=false;
},
queryZdappyktj(){// 终端APP运控统计柱状数据
let self=this;
self.Loading3=true;
self.doQueryRequest("",self.zdappyktjUrl).then(response => {
if (response.success === true) {
self.queryZdappyktj2(response.data.x,response.data.y)
} else {
self.$message({
type: "error",
message: response.message
});
}
});
},
queryZdappyktj2(x,y){// 终端APP运控统计折现数据
let self=this;
self.doQueryRequest("",self.zdappyktj2Url).then(response => {
if (response.success === true) {
self.initZdappyktj(x,y,response.data.y);
} else {
self.$message({
type: "error",
message: response.message
});
self.Loading3=false;
}
});
},
queryBsdjfwtj(){//部省对接服务统计
let self=this;
self.Loading7=true;
self.doQueryRequest("",self.bsdjfwtjUrl).then(response => {
if (response.success === true) {
response.data.rows.forEach((item,index)=>{
let arr=[];
arr[0]='<span class="yellow1">'+item.service_name+'</span>';
arr[1]=item.service_num;
arr[2]='<span class="blue1">'+item.allCount+'</span>';
arr[3]='<span class="blue1">'+item.lastestCount+'</span>';
arr[4]=item.lastTime;
self.$set(self.datadisplacementofDam,index,arr);
})
self.configdisplacementofDam = {
data: this.datadisplacementofDam, // 表数据
header: this.headerdisplacementofDam, // 表头数据
rowNum: self.totalNum, // 表行数
headerBGC: '#fff', // 表头背景色
oddRowBGC: '#fff', // 奇数行背景色
evenRowBGC: '#fff', // 偶数行背景色
waitTime: 2000, // 轮播时间间隔(ms)
align: 'center'
}
self.Loading7=false;
} else {
self.$message({
type: "error",
message: response.message
});
self.Loading7=false;
}
});
},
queryXzgdwsyqk(){//刑专各单位使用情况
let self=this;
self.Loading6=true;
self.doQueryRequest("",self.xzgdwsyqkUrl).then(response => {
if (response.success === true) {
response.data.rows.forEach((item,index)=>{
let arr=[];
arr[0]='<span class="yellow1" title="'+item.name+'">'+item.name+'</span>';
arr[1]=item.userNumber;
arr[2]=item.actUser;
arr[3]='<span class="blue1">'+item.total+'</span>';
arr[4]='<span class="blue1">'+item.avgr+'</span>';
self.$set(self.datadisplacementofDam2,index,arr);
})
self.configdisplacementofDam2 = {
data: self.datadisplacementofDam2, // 表数据
header: self.headerdisplacementofDam2, // 表头数据
rowNum: self.totalNum, // 表行数
headerBGC: '#fff', // 表头背景色
oddRowBGC: '#fff', // 奇数行背景色
evenRowBGC: '#fff', // 偶数行背景色
waitTime: 1000, // 轮播时间间隔(ms)
align: 'center',
}
self.Loading6=false;
} else {
self.$message({
type: "error",
message: response.message
});
self.Loading6=false;
}
});
},
xtjqrfwlEcharts(x,y){
let myChart = this.$echarts.init(document.getElementById('xtjqrfwl'))
// 绘制图表
myChart.setOption({
xAxis: {
type: 'category',
boundaryGap: false,
data:x,
axisLabel: {
show: true,
interval:0,
formatter:function(params) {
var newParamsName = "";
var paramsNameNumber = params.length;
var provideNumber = 5; //一行显示几个字
var rowNumber = Math.ceil(paramsNameNumber / provideNumber);
if (paramsNameNumber > provideNumber) {
for (var p = 0; p < rowNumber; p++) {
var tempStr = "";
var start = p * provideNumber;
var end = start + provideNumber;
if (p == rowNumber - 1) {
tempStr = params.substring(start, paramsNameNumber);
} else {
tempStr = params.substring(start, end) + "\n";
}
newParamsName += tempStr;
}
} else {
newParamsName = params;
}
return newParamsName
},
textStyle: {
color: '#fff' //文字颜色
}
},
axisLine: { //这是x轴文字颜色
lineStyle: {
color: "#fff",
}
},
},
yAxis: {
type: 'value',
min:0,
axisLine: { //这是x轴文字颜色
lineStyle: {
color: "#fff",
}
},
},
series: [{
data: y,
type: 'line',
lineWidth:20,
areaStyle: {
normal: {
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1,[{
offset: 0, color: '#70FBFF' // 0% 处的颜色
}, {
offset: 1, color: 'rgba(56, 126, 128, 0.3)' // 100% 处的颜色
}]
),
}
},
itemStyle: {
normal: {
color: '#70FBFF', //改变折线点的颜色
lineStyle: {
color: '#70FBFF' //改变折线颜色
}
}
},
}]
});
this.Loading1=false;
},
queryXtjqrfwl(){//系统近七日访问量
let self=this;
self.Loading1=true;
self.doQueryRequest("",self.xtjqrfwlUrl).then(response => {
if (response.success === true) {
let arr=[];
response.data.x.forEach(val=>{
arr.push(val.substring(5))
})
self.xtjqrfwlEcharts(arr,response.data.y)
} else {
self.$message({
type: "error",
message: response.message
});
self.Loading1=false;
}
});
},
xzzygnEcharts(x1,data1){
let ydata1=[],xdata=[],self=this;
if(x1.length>7){
ydata1=[data1[0],data1[1],data1[2],data1[3],data1[4],data1[5],data1[6]];
xdata=[x1[0],x1[1],x1[2],x1[3],x1[4],x1[5],x1[6]];
}else{
x1.forEach(item=>{
xdata.push(item);
})
data1.forEach(item=>{
ydata1.push(item);
})
}
// 基于准备好的dom,初始化echarts实例
let myChart = self.$echarts.init(document.getElementById('xzzygn'))
// 绘制图表
let option = {
title: {
text: '',
subtext: ''
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#283b56'
}
}
},
xAxis: [
{
type: 'category',
boundaryGap: true,
data:xdata ,
axisLine: { //这是x轴文字颜色
lineStyle: {
color: "#fff",
}
},
axisLabel: {
show: true,
interval:0,
formatter:function(params) {
var newParamsName = "";
var paramsNameNumber = params.length;
var provideNumber = 3; //一行显示几个字
var rowNumber = Math.ceil(paramsNameNumber / provideNumber);
if (paramsNameNumber > provideNumber) {
for (var p = 0; p < rowNumber; p++) {
var tempStr = "";
var start = p * provideNumber;
var end = start + provideNumber;
if (p == rowNumber - 1) {
tempStr = params.substring(start, paramsNameNumber);
} else {
tempStr = params.substring(start, end) + "\n";
}
newParamsName += tempStr;
}
} else {
newParamsName = params;
}
return newParamsName
},
textStyle: {
color: '#fff' //文字颜色
}
}
}
],
yAxis: [
{
type: 'value',
scale: true,
name: '',
minInterval:10,
min: 0,
axisLine: { //这是x轴文字颜色
lineStyle: {
color: "#fff",
}
},
boundaryGap: [0.2, 0.2]
}
],
series: [
{
type: 'bar',
barWidth : 12,
itemStyle: {
normal: {
color: function (params){
//我这边就两个柱子,大体就两个柱子颜色渐变,所以数组只有两个值,多个颜色就多个值
var colorList = [
['#FEF0B1','#FEE571'],
['#80FAF5','#04E1C8'],
['#BBFAFB','#36CCFF'],
['#FEB1D6','#FD5E94'],
['#E9ACFF','#D86CFF'],
['#BBFAFB','#36CCFF'],
['#BBFAFB','#36CCFF'],
['#FEF0B1','#FEE571'],
['#80FAF5','#04E1C8'],
['#BBFAFB','#36CCFF'],
['#FEB1D6','#FD5E94'],
['#E9ACFF','#D86CFF'],
['#BBFAFB','#36CCFF'],
['#BBFAFB','#36CCFF']
];
var index=params.dataIndex;
if(params.dataIndex >= colorList.length){
index=params.dataIndex-colorList.length;
}
return new self.$echarts.graphic.LinearGradient(0, 0, 0, 1,
[
{offset: 0, color: colorList[index][0]},
{offset: 1, color: colorList[index][1]},
]);
},
}
},
data:ydata1
},
]
};
if(x1.length>7){
let app={};
app.count = 7;
setInterval(function (){
if(app.count==x1.length-1){
app.count=0;
}
var sdata0 = option.series[0].data;
sdata0.shift();
sdata0.push(data1[app.count]);
option.xAxis[0].data.shift();
option.xAxis[0].data.push(x1[app.count]);
myChart.setOption(option);
app.count++;
}, 2100);
}else{
myChart.setOption(option);
}
this.Loading2=false;
},
queryXzzygn(){//刑专主要功能(近7日访问情况)
let self=this;
self.Loading2=true;
self.doQueryRequest("",self.xzzygnUrl).then(response => {
if (response.success === true) {
self.xzzygnEcharts(response.data.x,response.data.y)
} else {
self.$message({
type: "error",
message: response.message
});
self.Loading2=false;
}
});
},
ggfwEcharts(x1,data1){
let ydata1=[],xdata=[];
if(x1.length>7){
ydata1=[data1[0],data1[1],data1[2],data1[3],data1[4],data1[5],data1[6]];
xdata=[x1[0],x1[1],x1[2],x1[3],x1[4],x1[5],x1[6]];
}else{
x1.forEach(item=>{
xdata.push(item);
})
data1.forEach(item=>{
ydata1.push(item);
})
}
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById('ggfw'))
// 绘制图表
let option = {
title: {
text: '',
subtext: ''
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#283b56'
}
}
},
xAxis: [
{
type: 'category',
boundaryGap: true,
data:xdata ,
axisLine: { //这是x轴文字颜色
lineStyle: {
color: "#fff",
}
},
axisLabel: {
show: true,
interval:0,
formatter:function(params) {
var newParamsName = "";
var paramsNameNumber = params.length;
var provideNumber = 3; //一行显示几个字
var rowNumber = Math.ceil(paramsNameNumber / provideNumber);
if (paramsNameNumber > provideNumber) {
for (var p = 0; p < rowNumber; p++) {
var tempStr = "";
var start = p * provideNumber;
var end = start + provideNumber;
if (p == rowNumber - 1) {
tempStr = params.substring(start, paramsNameNumber);
} else {
tempStr = params.substring(start, end) + "\n";
}
newParamsName += tempStr;
}
} else {
newParamsName = params;
}
return newParamsName
},
textStyle: {
color: '#fff' //文字颜色
}
}
}
],
yAxis: [
{
type: 'value',
scale: true,
name: '',
minInterval:10,
min: 0,
axisLine: { //这是x轴文字颜色
lineStyle: {
color: "#fff",
}
},
boundaryGap: [0.2, 0.2]
}
],
series: [
{
type: 'bar',
barWidth : 12,
itemStyle: {
normal: {
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: '#BBFAFB'
}, {
offset: 1,
color: '#36CCFF'
}]),
}
},
data:ydata1
},
]
};
if(x1.length>7){
let app={};
app.count = 7;
setInterval(function (){
if(app.count==x1.length-1){
app.count=0;
}
var sdata0 = option.series[0].data;
sdata0.shift();
sdata0.push(data1[app.count]);
option.xAxis[0].data.shift();
option.xAxis[0].data.push(x1[app.count]);
myChart.setOption(option);
app.count++;
}, 2100);
}else{
myChart.setOption(option);
}
this.Loading5=false;
},
queryGgfw(){//公共服务(近7日访问情况)
let self=this;
self.Loading5=true;
self.doQueryRequest("",self.ggfwUrl).then(response => {
if (response.success === true) {
self.ggfwEcharts(response.data.x,response.data.y)
} else {
self.$message({
type: "error",
message: response.message
});
self.Loading5=false;
}
});
},
sjzytjEcharts(x1,data1){//数据资源统计echarts
let ydata1=[],xdata=[],self=this;
if(x1.length>7){
ydata1=[data1[0],data1[1],data1[2],data1[3],data1[4],data1[5],data1[6]];
xdata=[x1[0],x1[1],x1[2],x1[3],x1[4],x1[5],x1[6]];
}else{
x1.forEach(item=>{
xdata.push(item);
})
data1.forEach(item=>{
ydata1.push(item);
})
}
// 基于准备好的dom,初始化echarts实例
let myChart = self.$echarts.init(document.getElementById('sjzytj'))
// 绘制图表
let option = {
title: {
text: '',
subtext: ''
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#283b56'
}
}
},
xAxis: [
{
type: 'category',
boundaryGap: true,
data:xdata ,
axisLine: { //这是x轴文字颜色
lineStyle: {
color: "#fff",
}
},
axisLabel: {
show: true,
interval:0,
formatter:function(params) {
var newParamsName = "";
var paramsNameNumber = params.length;
var provideNumber = 3; //一行显示几个字
var rowNumber = Math.ceil(paramsNameNumber / provideNumber);
if (paramsNameNumber > provideNumber) {
for (var p = 0; p < rowNumber; p++) {
var tempStr = "";
var start = p * provideNumber;
var end = start + provideNumber;
if (p == rowNumber - 1) {
tempStr = params.substring(start, paramsNameNumber);
} else {
tempStr = params.substring(start, end) + "\n";
}
newParamsName += tempStr;
}
} else {
newParamsName = params;
}
return newParamsName
},
textStyle: {
color: '#fff' //文字颜色
}
}
}
],
yAxis: [
{
type: 'value',
scale: true,
name: '',
minInterval:50,
min: 0,
axisLine: { //这是x轴文字颜色
lineStyle: {
color: "#fff",
}
},
boundaryGap: [0.2, 0.2]
}
],
series: [
{
type: 'bar',
barWidth : 12,
itemStyle: {
normal: {
color: function (params){
//我这边就两个柱子,大体就两个柱子颜色渐变,所以数组只有两个值,多个颜色就多个值
var colorList = [
['#FEF0B1','#FEE571'],
['#BBFAFB','#36CCFF'],
['#80FAF5','#04E1C8'],
['#FEB1D6','#FD5E94'],
['#FEF0B1','#FEE571'],
['#E9ACFF','#D86CFF'],
['#80FAF5','#04E1C8'],
['#FEF0B1','#FEE571'],
['#BBFAFB','#36CCFF'],
['#80FAF5','#04E1C8'],
['#FEB1D6','#FD5E94'],
['#FEF0B1','#FEE571'],
['#E9ACFF','#D86CFF'],
['#80FAF5','#04E1C8'],
];
var index=params.dataIndex;
if(params.dataIndex >= colorList.length){
index=params.dataIndex-colorList.length;
}
return new self.$echarts.graphic.LinearGradient(0, 0, 0, 1,
[
{offset: 0, color: colorList[index][0]},
{offset: 1, color: colorList[index][1]},
]);
},
}
},
data:ydata1
},
]
};
if(x1.length>7){
let app={};
app.count = 7;
setInterval(function (){
if(app.count==x1.length-1){
app.count=0;
}
var sdata0 = option.series[0].data;
sdata0.shift();
sdata0.push(data1[app.count]);
option.xAxis[0].data.shift();
option.xAxis[0].data.push(x1[app.count]);
myChart.setOption(option);
app.count++;
}, 2100);
}else{
myChart.setOption(option);
}
self.Loading4=false;
},
querySjzytj(){//数据资源统计
let self=this;
self.Loading4=true;
self.doQueryRequest("",self.sjzytjUrl).then(response => {
if (response.success === true) {
self.sjzytjEcharts(response.data.x,response.data.y)
} else {
self.$message({
type: "error",
message: response.message
});
self.Loading4=false;
}
});
},
hys(){
let self=this;
self.doQueryRequest("",self.hysUrl).then(response => {
if (response.success === true) {
self.userTotal=response.data.userTotal;
self.activeUserNum=response.data.activeUserNum;
self.InActiveUserNum=response.data.InActiveUserNum;
} else {
self.$message({
type: "error",
message: response.message
});
}
});
}
},
mounted() {
let self=this;
self.totalNum=parseInt(self.$refs.tableScroll.offsetHeight-35)/32;
console.log(self.totalNum)
self.queryZdappyktj();//终端APP运控统计
self.queryBsdjfwtj();//部省对接服务统计
self.hys();
self.queryXtjqrfwl();//系统近七日访问量
self.queryXzzygn();//刑专主要功能(近7日访问情况)
self.queryGgfw();//公共服务(近7日访问情况)
self.querySjzytj();//数据资源统计
self.initVideo();
self.queryXzgdwsyqk();//刑专各单位使用情况
self.time();
setInterval(self.time, 1000);
let myChart1 = self.$echarts.init(document.getElementById('zdappyktj'))
let myChart2 = self.$echarts.init(document.getElementById('sjzytj'))
let myChart3 = self.$echarts.init(document.getElementById('xtjqrfwl'))
let myChart4 = self.$echarts.init(document.getElementById('xzzygn'))
let myChart5 = self.$echarts.init(document.getElementById('ggfw'))
/*监听窗口变化达到自适应*/
window.onresize = () => {
return (() => {
myChart1.resize();
myChart2.resize();
myChart3.resize();
myChart4.resize();
myChart5.resize();
})();
};
}
}
</script>
<style scoped lang="scss">
@import '../../assets/styles/ykgldp.scss';
</style>
<template>
<div id="ykpgbg" class="ykbg" >
<div class="ykbg_tabs">
<span>选择时间段:</span>
<el-radio-group v-model="dateRage" size="medium">
<el-radio-button label="今天"></el-radio-button>
<el-radio-button label="三天"></el-radio-button>
<el-radio-button label="七天"></el-radio-button>
<el-radio-button label="自定义时间段"></el-radio-button>
</el-radio-group>
<el-date-picker
v-model="zdyDate"
type="datetimerange"
align="right"
:picker-options="pickerOptions"
unlink-panels
suffix-icon="el-icon-date"
value-format="yyyy-MM-dd HH:mm:ss"
prefix-icon="el-icon-date"
@change="changeDate"
v-show="isZdyDate"
style="vertical-align: middle;height: 36px;"
>
</el-date-picker>
<el-button
type="primary"
size="small"
@click="back"
class="zdybtn zdy_back_btn" style="margin-right:16px !important;float: right;width: 120px;font-size:14px;height: 36px;"
>返回</el-button
>
</div>
<div class="ykbg_content">
<!--左-->
<div class="left_con">
<div class="flex">
<div class="fwyxzcl wrap wrap271" ref="fwyxzclWrap">
<p class="wrap_title" ref="fwyxzclTitle">服务运行正确率</p>
<div id="fwyxzcl" style="width:100%;height:calc(100% - 75px)" v-loading="fwyxzqltableLoading" element-loading-text="拼命加载中"></div>
<p class="unit">运行总次数:<span v-show="yxzcsTotal!=null" style="color:#333333">{{yxzcsTotal}}</span><span class="el-icon-loading" v-show="yxzcsTotal===null"></span></p>
</div>
<div class="gxtdqqk wrap wrap271">
<p class="wrap_title">各系统调取情况</p>
<div id="gxtdqqk" style="width:100%;height:calc(100% - 42px)" v-loading="gxtdqqktableLoading" element-loading-text="拼命加载中">
<ul>
<li v-for="(item,index) in gxtdqqk" :key="index" class="list_item" :style="{width:`${listWidth}`}">
<p class="xtTitle">{{item.name}}</p>
<p class="xtCount">{{item.value}}<i class="el-icon-loading" v-if="item.value===''"></i></p>
</li>
</ul>
<p class="unit">数据单位:次</p>
</div>
</div>
</div>
<div class="gsdduqk wrap">
<p class="wrap_title">各时段调取情况</p>
<div id="gsdduqk" style="width:100%;height:calc(100% - 42px)" v-loading="gsddqqktableLoading" element-loading-text="拼命加载中"></div>
</div>
</div>
<!--右-->
<div class="right_con wrap wrapBig">
<p class="wrap_title">服务运行时间统计</p>
<div id="fwyxsjtj" style="width:100%;height:calc(100% - 135px)" v-loading="fwyxsjtjtableLoading" element-loading-text="拼命加载中"></div>
<div class="unit" style="text-indent: 36px;line-height: 26px;margin-top: 36px;">运行总时常:<p v-show="fwyxsjtjTotal!=null" style="color:#333333">{{fwyxsjtjTotal}}</p><p class="el-icon-loading" v-show="fwyxsjtjTotal===null"></p></div>
</div>
</div>
</div>
</template>
<script>
import {
ykpgbgUrlFwyxzql,
ykpgbgUrlGxtdqqk,
ykpgbgUrlFwyxsjtj,
ykpgbgUrlGsddqqk,
ykpgbgFormData
} from "@/utils/params";
import Http from "@/utils/axiosHttp.js";
import url from "@/api/base";
export default {
name: "ykpgbg",
data(){
return {
isZdyDate:false,
zdyDate:'',
dateRage:'七天',
FwyxzqlUrl:ykpgbgUrlFwyxzql,
GxtdqqkUrl:ykpgbgUrlGxtdqqk,
FwyxsjtjUrl:ykpgbgUrlFwyxsjtj,
GsddqqkUrl:ykpgbgUrlGsddqqk,
formData:ykpgbgFormData,
yxzcsTotal:null,//运行总次数
fwyxsjtjTotal:null,//服务运行时间统计
fwyxzqltableLoading:true,
gxtdqqktableLoading:true,
gsddqqktableLoading:true,
fwyxsjtjtableLoading:true,
gxtdqqk:[
{name:'指纹系统',value:'1000'},
{name:'大数据中心',value:''},
{name:'现勘系统',value:''},
{name:'电诈系统',value:''},
{name:'一体化采集系统',value:''},
],
listWidth:'calc(20% - 1px)',
pickerOptions: {
shortcuts: [
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth();
if (month === 0) {
month = 12;
year = year - 1;
}
if(month<0){
month = 12+month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth = year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 2;
if (month === 0) {
month = 12;
year = year - 1;
}
if(month<0){
month = 12+month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth = year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
},
{
text: "最近六个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 5;
if (month === 0) {
month = 12;
year = year - 1;
}
if(month<0){
month = 12+month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth = year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
},
{
text: "最近一年",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 11;
if (month === 0) {
month = 12;
year = year - 1;
}
if(month<0){
month = 12+month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
let firstDayOfPreMonth = year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
}
]
}
}
},
methods:{
changeDate(val){
let self=this;
if(val!=''&&val!=null){
self.getDate();
self.doquery1();
self.doquery2();
self.doquery3();
}
},
back(){
this.$router.go(-1)
},
doQueryRequest(form,path) {
return Http({
url: url.rzURL + path,
params: JSON.parse(form),
method: "get"
});
},
getDate(){
let self=this,num=0,hours='00',minutes='00',seconds='00';
if(self.dateRage!='自定义时间段'){
if(self.dateRage=='今天'){
num=0;
}else if(self.dateRage=='三天'){
num=3;
}else if(self.dateRage=='七天'){
num=7;
}
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month =(start.getMonth()+1)<10?'0'+(start.getMonth()+1):(start.getMonth()+1);
let date = start.getDate()-num;
if(date>0){
if(date<10){
date="0"+date;
}
}else{
month--;
let count=new Date(year,month,0).getDate();
date=(date+count)<10?'0'+(date+count):(date+count);
if (month === 0) {
month = 12;
year = year - 1;
}
if(month<0){
month = 12+month;
year = year - 1;
}
if (month < 10 && month > 0) {
month = "0" + month;
}
}
if(self.dateRage=='今天'){
hours='00';
minutes='00';
seconds='00';
}else{
hours=end.getHours()<10?'0'+end.getHours():end.getHours();
minutes=end.getMinutes()<10?'0'+end.getMinutes():end.getMinutes();
seconds=end.getSeconds()<10?'0'+end.getSeconds():end.getSeconds();
}
let endHours=end.getHours()<10?'0'+end.getHours():end.getHours();
let endMinutes=end.getMinutes()<10?'0'+end.getMinutes():end.getMinutes();
let endSeconds=end.getSeconds()<10?'0'+end.getSeconds():end.getSeconds();
let firstDayOfPreMonth = year + "-" + month + "-" + date+ " "+hours+":"+minutes+":"+seconds;
let endDay=end.getFullYear()+ "-" +((end.getMonth()+1)<10?'0'+(end.getMonth()+1):end.getMonth()+1)+ "-" + (end.getDate()<10?('0'+end.getDate()):(end.getDate()))+" "+endHours+":"+endMinutes+":"+endSeconds;
self.formData.cxSj=firstDayOfPreMonth+' - '+endDay;
}else{
self.formData.cxSj=self.zdyDate!=''&&self.zdyDate!=null?(self.zdyDate.join(" - ")):"";
}
},
fwyxzql(x,y){
//服务正确率
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById('fwyxzcl'))
// 绘制图表
myChart.setOption({
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}({d}%)'
},
legend: {
orient: 'vertical',
left: '53%', //图例距离左的距离
y: 'center', //图例上下居中
data: x
},
series: [
{
name: '',
type: 'pie',
radius: ['50%', '70%'],
center: ['25%', '50%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
labelLine: {
show: false
},
data: y
}
]
});
this.fwyxzqltableLoading=false;
},
fwyxsjtj(x,y){
//服务运行时间统计
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById('fwyxsjtj'))
// 绘制图表
myChart.setOption({
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}({d}%)'
},
legend: {
orient: 'vertical',
left: '10%', //图例距离左的距离
y: 'bottom', //图例上下居中
top:'75%',
data: x
},
series: [
{
name: '',
type: 'pie',
radius: ['40%', '60%'],
center: ['38%', '40%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
labelLine: {
show: false
},
data: y
}
]
});
this.gsddqqktableLoading=false;
},
gsdduqk(x,y){
//各时段调取情况
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById('gsdduqk'))
// 绘制图表
myChart.setOption({
xAxis: {
type: 'category',
data: x,
},
yAxis: {
type: 'value',
name:'次数/时间',
minInterval:1
},
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
},
formatter: function (params) {
var tar;
tar = params[0];
return tar.name + '时'+ ' : ' + tar.value;
}
},
series: [{
data: y,
type: 'bar',
barWidth : 20
}],
color:'#FFAC3B'
});
this.fwyxsjtjtableLoading=false;
},
doquery1(){
let self=this;
self.fwyxzqltableLoading=true;
self.doQueryRequest(JSON.stringify(self.formData),self.FwyxzqlUrl).then(response => {
if (response.success === true) {
let xData=['正常次数'+':'+response.data['success_count'], '异常次数'+':'+response.data['error_count']];
let yData=[];
for(let i in response.data){
if(i=='error_count'){
yData.push({value:response.data[i],name:'异常次数'+':'+response.data['error_count'],itemStyle:{color:"#FFB73C"}})
}else if(i=='success_count'){
yData.push({value:response.data[i],name:'正常次数'+':'+response.data['success_count'],itemStyle:{color:"#60AFFF"}})
}
}
self.yxzcsTotal=response.data['sum_count'];
self.fwyxzql(xData,yData);
} else {
self.$message({
type: "error",
message: response.message
});
self.fwyxzqltableLoading=false;
}
});
},
doquery2(){
let self=this;
self.gxtdqqktableLoading=true;
self.doQueryRequest(JSON.stringify(self.formData),self.GxtdqqkUrl).then(response => {
if (response.success === true) {
if(response.data.list.length!=0){
self.gxtdqqk=[];
response.data.list.forEach((item,index)=>{
let json={};
json.name=item['system_name'];
json.value=item['system_count'];
self.$set(self.gxtdqqk,index,json);
})
let num=100/response.data.list.length+'%';
self.listWidth='calc('+num+' - 1px)';
}else{
self.gxtdqqk.forEach(item=>{
item.value=0;
})
}
self.gxtdqqktableLoading=false;
} else {
self.$message({
type: "error",
message: response.message
});
self.gxtdqqktableLoading=false;
}
});
},
doquery3(){
let self=this;
self.fwyxsjtjtableLoading=true;
self.doQueryRequest(JSON.stringify(self.formData),self.GsddqqkUrl).then(response => {
if (response.success === true) {
self.gsdduqk(response.data.x,response.data.y);
} else {
self.$message({
type: "error",
message: response.message
});
self.fwyxsjtjtableLoading=false;
}
});
},
doquery4(){
let self=this;
self.gsddqqktableLoading=true;
self.doQueryRequest(JSON.stringify(self.formData),self.FwyxsjtjUrl).then(response => {
if (response.success === true) {
let xData=['正常'+":"+response.data['succesTime'], '异常'+":"+response.data['errorTime']];
let yData=[];
for(let i in response.data){
if(i=='errorTime'){
yData.push({value:response.data[i],name:'异常'+":"+response.data['errorTime'],itemStyle:{color:"#FFB73C"}})
}else if(i=='succesTimeSecond'){
yData.push({value:response.data[i],name:'正常'+":"+response.data['succesTime'],itemStyle:{color:"#6DCC71"}})
}
}
self.fwyxsjtjTotal=response.data['allTime'];
self.fwyxsjtj(xData,yData);
} else {
self.$message({
type: "error",
message: response.message
});
self.gsddqqktableLoading=false;
}
});
}
},
watch:{
dateRage(val){
let self=this;
if(val!='自定义时间段'){
self.isZdyDate=false;
self.getDate();
self.doquery1();
self.doquery2();
self.doquery3();
}else{
self.zdyDate='';
self.isZdyDate=true;
}
}
},
mounted() {
let self=this;
let myCharts1=self.$echarts.init(document.getElementById('fwyxzcl'));
let myCharts2=self.$echarts.init(document.getElementById('fwyxsjtj'));
let myCharts3=self.$echarts.init(document.getElementById('gsdduqk'));
if(JSON.stringify(self.$route.params) != "{}"){//传参过来的对象集存入sessionStorage,防止刷新没有参数service_num报错
sessionStorage.setItem("rzxxObj", JSON.stringify(self.$route.params));
}
for(let i in self.formData){
if(i!='cxSj'){
self.formData[i]=JSON.parse(sessionStorage.getItem("rzxxObj"))[i];
}
}
self.getDate();
self.doquery1();
self.doquery2();
self.doquery3();
self.doquery4();
/*监听窗口变化达到自适应*/
window.onresize = () => {
return (() => {
myCharts1.resize();
myCharts2.resize();
myCharts3.resize();
})();
};
}
}
</script>
<style scoped lang="scss">
@import url("../../assets/styles/iconfont.css");
@import "../../assets/styles/ykbg.scss";
</style>
<template>
<div>
<div class="head_box">
</div>
<div class="fingerprint_box">
<div class="select_left">
<div style="font-size: 12px;color: #999999;padding-top: 24px">
<span>采集设备型号</span>
</div>
<div style="padding-top: 30px;height: 33px;">
<el-select v-model="value" clearable placeholder="请选择"
name="fingerprint_select"
class="fingerprint_select">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
<div style="padding-top: 42px;line-height: 4px">
<el-checkbox v-model="checked" class="check_box">四联指平面采集</el-checkbox>
<el-checkbox v-model="checked" class="check_box" style="margin-top: 14px">指纹交叉验证</el-checkbox>
<el-checkbox v-model="checked" class="check_box" style="margin-top: 14px">随时中止采集</el-checkbox>
</div>
<div style="margin-top: 43px;">
<span class="brightness">对比度:{{value1}}</span>
<el-slider v-model="value1" ></el-slider>
<span class="brightness">亮度:{{value2}}</span>
<el-slider v-model="value2" ></el-slider>
</div>
<div>
<el-image :src="src" style="margin-top: 30px"></el-image>
</div>
</div>
<div class="view_middle">
<iframe style="width:100%;height:100%;"
id="main-iframe"
:src="gather"
ref="main_page_iframe"
></iframe>
<div class="container">
<div class="button-container">
<button id="f-0" @click="setUrl('/fingerprint/detail/1/gather')">右拇</button>
<button id="f-1" @click="setUrl('/fingerprint/detail/2/gather')">右食</button>
<button id="f-2" @click="setUrl('/fingerprint/detail/3/gather')">右中</button>
<button id="f-3" @click="setUrl('/fingerprint/detail/4/gather')">右环</button>
<button id="f-4" @click="setUrl('/fingerprint/detail/5/gather')">右小</button>
<button id="f-5" @click="setUrl('/fingerprint/detail/6/gather')">左拇</button>
<button id="f-6" @click="setUrl('/fingerprint/detail/7/gather')">左食</button>
<button id="f-7" @click="setUrl('/fingerprint/detail/8/gather')">左中</button>
<button id="f-8" @click="setUrl('/fingerprint/detail/9/gather')">左环</button>
<button id="f-9" @click="setUrl('/fingerprint/detail/10/gather')">左小</button>
</div>
</div>
</div>
<div class="view_right">
<div class="palmprints" style="margin-top: 51px;">
<div class="rightpalmprint">
<div style="position: relative">
<el-image :src="src"
style="height: 182px;margin-top: -200px"></el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div class="printsname"><span>右掌纹</span></div>
</div>
<div style="display: inline-block;width: 470px">
<div style="display: inline-block">
<div>
<div class="rollname">
<div class="planename">
<span>滚动</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image0"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[0] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image1"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[1] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image2"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[2] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image3"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[3] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image4"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[4] }}</span>
</div>
</div>
</div>
</div>
<div style="display: inline-block">
<div>
<div class="rollname">
<div class="planename">
<span>平面</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image0"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[0] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image1"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[1] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image2"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[2] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image3"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[3] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image4"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[4] }}</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="palmprints" style="margin-top: 0px;">
<div class="rightpalmprint">
<div style="position: relative">
<el-image :src="src"
style="height: 182px;margin-top: -200px"></el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div class="printsname"><span>左掌纹</span></div>
</div>
<div style="display: inline-block;width: 470px">
<div style="display: inline-block">
<div>
<div class="rollname">
<div class="planename">
<span>滚动</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image0"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[0] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image1"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[1] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image2"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[2] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image3"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[3] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image4"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[4] }}</span>
</div>
</div>
</div>
</div>
<div style="display: inline-block">
<div>
<div class="rollname">
<div class="planename">
<span>平面</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image0"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[0] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image1"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[1] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image2"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[2] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image3"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[3] }}</span>
</div>
</div>
<div class="imageblock" >
<div style="position: relative">
<el-image
class="fiveimage"
:src="image4"
fit='fill'>
<div slot="error" class="image-slot">
暂未采集
</div>
</el-image>
<div class="numposition">
<span style="line-height: 14px">100</span>
</div>
</div>
<div style="padding: 0 30px">
<span class="fingername">{{ finger[4] }}</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import {getBase64} from "@/utils/base64";
import url from "@/api/base";
export default {
name: "fingerprint",
data(){
return{
gather:url.zwxt+'/fingerprint/detail/1/gather',
value1: 50,
value2: 50,
checked:"",
options: [{
value: '选项1',
label: '干燥指纹'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
value: '',
src: 'https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg',
fits: ['fill', 'fill', 'fill', 'fill', 'fill'],
finger:['拇','食','中','环','小'],
image0: '',
image1: '',
image2: '',
image3: '',
image4: ''
}
},
methods:{
getImg(){
let self=this;
getBase64(url.cs+'/1.bmp', dataURL => {
self.image0=dataURL;
});
getBase64(url.cs+'/2.bmp', dataURL => {
self.image1=dataURL;
});
getBase64(url.cs+'/3.bmp', dataURL => {
self.image2=dataURL;
});
getBase64(url.cs+'/4.bmp', dataURL => {
self.image3=dataURL;
});
getBase64(url.cs+'/5.bmp', dataURL => {
self.image4=dataURL;
});
},
zsyIframe(){
let self=this;
let ifdoc = self.$refs.main_page_iframe.contentDocument
let cHeight = Math.max(ifdoc.body.clientHeight, ifdoc.documentElement.clientHeight)
let sHeight = Math.max(ifdoc.body.scrollHeight, ifdoc.documentElement.scrollHeight)
self.$refs.main_page_iframe.style.height = Math.max(cHeight, sHeight) + 'px'
},
setUrl(path){
this.gather=url.zwxt+path;
}
},
mounted() {
let self=this;
self.zsyIframe();
self.getImg();
setInterval(self.getImg,10000);
window.onresize = () => {
self.zsyIframe();
}
}
};
</script>
<style>
.head_box{
width: 100%;
height: 52px;
background: #1A88FF;
box-shadow: 0px 2px 4px rgba(26, 136, 255, 0.2);
}
.fingerprint_box {
width: 100%;
height: 800px;
background: #FFFFFF;
border-radius: 8px;
margin-top: 8px;
margin-left: 0px;
}
.image-slot{
line-height: 76px;
text-align: center;
}
.fingerprint_box .select_left {
float: left;
margin-left: 60px;
width: 180px;
height: 800px;
background: #FFFFFF;
}
.fingerprint_box .view_middle{
float: left;
margin-left: 56px;
width: calc(100% - 1015px);
height: 800px;
background: #FFFFFF;
}
.fingerprint_box .view_right{
float: left;
margin-left: 40px;
width: 660px;
height: 800px;
background: #FFFFFF;
}
.imageblock{
display: inline-block;
margin-left: 10px;
}
.rightpalmprint{
width: 182px;
height: 300px;
display: inline-block
}
.fingerprintinput{
width: 114px;
height: 177px;
}
.numorient{
margin-top: 4px;
padding: 0 12px
}
.check_box{
font-size: 14px;
color: #222222;
}
.brightness{
font-size: 12px;
color: #333333;
}
.fingerprint_select{
width: 156px;
border-radius: 4px;
border: 1px solid #CDCDCD;
background: #FFFFFF;
}
.finger{
margin-top: 15px;
display: inline-block;
width: 344px;height: 198px;
border: 1px solid #DFDFDF;
border-radius: 4px;
}
.palmprints{
width: 660px;
height: 240px;
display: inline-block
}
.rollname{
display: inline-block;
margin-left: 16px;width: 24px;
height: 80px;background: #7D8FA0;
border-radius: 2px;float: left;
color: #FFFFFF;
}
.fingername{
color: #333333;
font-size: 12px;
padding: 0;
}
.fiveimage{
width: 76px;
height: 76px;
}
.printsname{
color: #333333;
font-size: 14px;
padding: 0 70px;
}
.numposition{
text-align:center;
width:32px;
height:14px;
color: #FFFFFF;
position: absolute;
bottom: 7px;right: 0;
background-color: #0070F4;
border-radius: 8px 0px 2px 0px;
font-size: 10px;
}
.el-input--suffix .el-input__inner{
height: 33px !important;
}
.planename{
text-align: center;
margin-top: 10px;
}
</style>
......@@ -59,6 +59,14 @@ module.exports = {
errors: false
},
proxy: {
"/cs": {
target: "http://localhost:8001/", //统一的请求头部每次修改都要重启才会生效
ws: true,
changeOrigin: true,
pathRewrite: {
'^/cs': '/'
}
},
"/apiAjzb": {
target: "http://39.99.224.27:8001/", //统一的请求头部每次修改都要重启才会生效
ws: true,
......
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