Commit e1ddb05b by chenqiang

栏目、模型、门户,首页

parent 0845063d
......@@ -5,15 +5,18 @@
<span style="padding-left: 12px;">欢迎您:{{userInfo.unitname}}<span style="padding-left: 15px;">{{userInfo.true_name}}</span></span>
</div>
<div class="header_box_right">
<div class="iconfont iconlianjie paddingLeft32"></div>
<el-badge :value="12" class="item">
<div class="iconfont iconxiaoxitongzhi paddingLeft32"></div>
</el-badge>
<div @click="LoginOut" class="iconfont icontuichuzhuxiao paddingLeft32" v-if="isFalg"></div>
<div @click="LoginOut" v-if="isFalg" style="cursor: pointer;">
<i class="el-icon-switch-button"></i>
<span style="padding-left: 5px;">登出</span>
</div>
<div @click="getLogin" style="margin-left: 32px;cursor: pointer;" v-else>
<img src="@/assets/img/tb_login.png" alt="">
<span style="padding-left: 5px;">登录</span>
</div>
<div @click="goTo" style="padding-left: 22px;cursor: pointer;">
<i class="el-icon-s-home"></i>
<span style="padding-left: 5px;">首页</span>
</div>
</div>
<!--登录弹窗-->
<login v-show="sptc" @sptcFn="sptcFn"/>
......@@ -38,6 +41,11 @@ export default {
this.isFalg = true
this.userInfo = JSON.parse(localStorage.getItem('userInfo'))
},
// 去首页
goTo(){
let self = this
self.$router.push('/sy')
},
// 点击登录按钮
getLogin() {
this.sptc = true
......
......@@ -55,6 +55,7 @@ export default {
self.login1()
self.login2()
self.login3()
self.login4()
self.$router.push('/mhgl')
// let routeData = self.$router.resolve({
// path: '/mhgl',
......@@ -90,6 +91,12 @@ export default {
})
},
login4(){
let self = this
axios.post('/tgxx/getRecentXtgxx',{}).then(res=>{
debugger
})
},
// PKI登录
PKIlogin() {
// this.sptc = false
......
......@@ -8,7 +8,7 @@
export default [
{
path: '/',
redirect: '/login'
redirect: '/sy'
},
{
path: '/login',
......
......@@ -245,7 +245,7 @@ export default {
if (val) {
self.page = 1
}
axios.get('/xzz/getXtgxxPage', {
axios.get('/xxzz/getXtgxxPage', {
params: {
mbbt: self.form.mbbt,
page: self.page,
......@@ -284,7 +284,7 @@ export default {
// 嫌疑人
param.append('wbggnr', self.formItem.wbggnr)
param.append('mbbt', self.formItem.mbbt)
axios.post('/xzz/addXtggxx', param).then(res => {
axios.post('/xxzz/addXtggxx', param).then(res => {
if (res.state == 'success') {
self.$message.success('新增成功')
self.dialogFormVisible = false
......@@ -305,7 +305,7 @@ export default {
let param = {
xxbh: row.xxbh
}
axios.post('/xzz/deleteTbXtgg', param, {
axios.post('/xxzz/deleteTbXtgg', param, {
headers: {
'content-Type': 'application/json'
}
......
......@@ -20,7 +20,16 @@
<div class="mhgl_box_content_bottom_tb">
<div class="mhgl_box_content_bottom_nr" v-show="item.children.length > 0">
<div class="mhgl_box_content_bottom_nr_lj" v-for="val in item.children" :key="val.url">
<div class="mhgl_box_content_bottom_nr_lj_name" @click="getUrl(val.path,val.name)">{{val.name}}</div>
<!-- <div class="mhgl_box_content_bottom_nr_lj_name" @click="getUrl(val.path,val.name)">{{val.name}}</div>-->
<el-button v-if="val.flag" type="text" class="mhgl_box_content_bottom_nr_lj_name"
@click="getUrl(val.path,val.name)">{{val.name}}
</el-button>
<el-button v-else disabled="" type="text"
class="mhgl_box_content_bottom_nr_lj_name1"
@click="getUrl(val.path,val.name)">
{{val.name}}
<img style="vertical-align: bottom;" src="@/assets/img/suo.png" alt="">
</el-button>
<hr style="width: 164px;background-color: #C6D0D6;height: 1px;border: none;">
</div>
</div>
......@@ -36,6 +45,7 @@
import headerBoxMh from '@/components/headerBoxMh.vue'
import {mapGetters} from 'vuex'
import axios from 'axios'
let Base64 = require('js-base64').Base64
export default {
......@@ -93,7 +103,8 @@
url: require('@/assets/img/tb992.png'),
children: []
}
]
],
keyStr: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
}
},
mounted() {
......@@ -104,8 +115,13 @@
methods: {
// 跳转
getUrl(val, name) {
debugger
let self = this;
let url = '';
let idCard = '';
let xm = '';
let policeId = '';
let unitcode = '';
let unitcode1 = '';
if (val == '/indexList') {
let routeData = self.$router.resolve({
path: val,
......@@ -127,15 +143,61 @@
pwd = JSON.parse(localStorage.getItem('userInfo')).password;
pwd = Base64.decode(pwd);
// pwd = '12345f'
let unitcode = JSON.parse(localStorage.getItem('userInfo')).unitcode.substring(0, 6);
let unitcode1 = JSON.parse(localStorage.getItem('userInfo')).unitcode.substring(0, 8);
let url = "";
unitcode = JSON.parse(localStorage.getItem('userInfo')).unitcode.substring(0, 6);
unitcode1 = JSON.parse(localStorage.getItem('userInfo')).unitcode.substring(0, 8);
if ('500107' == unitcode || '500235' == unitcode || '500154' == unitcode || '50000038' == unitcode1) {
url = "http://77.1.24.143:8051/#/loginnaotu/" + username + "/" + pwd;
} else {
url = "http://77.1.24.144:8050/#/loginnaotu/" + username + "/" + pwd;
}
window.open(url);
} else if (name == '用户管理') {
unitcode = JSON.parse(localStorage.getItem('userInfo')).unitcode.substring(0, 6);
unitcode1 = JSON.parse(localStorage.getItem('userInfo')).unitcode.substring(0, 8);
if ('500107' == unitcode || '500235' == unitcode || '500154' == unitcode || '50000038' == unitcode1) {
url = "http://77.1.24.143:10051/doLogin?token=" + self.getCookie('userSIDKey')
} else {
url = "http://77.1.24.51:10051/doLogin?token=" + self.getCookie('userSIDKey')
}
window.open(url);
} else if (name == '审批') {
idCard = self.encode1(JSON.parse(localStorage.getItem('userInfo')).identitycard)
xm = self.encode1(JSON.parse(localStorage.getItem('userInfo')).true_name)
policeId = self.encode1(JSON.parse(localStorage.getItem('userInfo')).username)
url = val + '?zjhm=' + idCard + '&cxrXm=' + xm + '&cxrJh=' + policeId
window.open(url);
} else if (name == '系统日志') {
url = val + '?yhjh=' + JSON.parse(localStorage.getItem('userInfo')).username
window.open(url);
} else if (name == '基础数据') {
debugger
// idCard = self.encode1(JSON.parse(localStorage.getItem('userInfo')).identitycard)
idCard = Base64.encode(JSON.parse(localStorage.getItem('userInfo')).identitycard)
xm = self.encode1(JSON.parse(localStorage.getItem('userInfo')).true_name)
// policeId = self.encode1(JSON.parse(localStorage.getItem('userInfo')).username)
policeId = Base64.encode(JSON.parse(localStorage.getItem('userInfo')).username)
let time = new Date()
let trueName = JSON.parse(localStorage.getItem('userInfo')).true_name
let asjbh = "智慧侦查-" + time
let objValue = ''
let asjmc = '智慧侦查-基础数据查询'
url = val + '?userCid=' + idCard + '&objValue='+ objValue + '&asjbh=' +
asjbh + '&asjmc=' + asjmc + '&trueName=' + trueName + '&username=' +
policeId + '&source=ZJM' + 'objType='
unitcode = JSON.parse(localStorage.getItem('userInfo')).unitcode.substring(0, 6);
unitcode1 = JSON.parse(localStorage.getItem('userInfo')).unitcode.substring(0, 8);
if ('500107' == unitcode || '500235' == unitcode || '500154' == unitcode || '50000038' == unitcode1) {
url = 'http://77.1.24.143:9060/toJcsjcxJsp?userCid=' + idCard + '&objValue='+ objValue + '&asjbh=' +
asjbh + '&asjmc=' + asjmc + '&trueName=' + trueName + '&username=' +
policeId + '&source=ZJM' + 'objType='
} else {
url = 'http://77.1.24.51:9060/toJcsjcxJsp?userCid=' + idCard + '&objValue='+ objValue + '&asjbh=' +
asjbh + '&asjmc=' + asjmc + '&trueName=' + trueName + '&username=' +
policeId + '&source=ZJM' + 'objType='
}
window.open(url);
} else {
window.open(val)
}
......@@ -148,20 +210,117 @@
})
window.open(routeData.href, '_blank')
}
},
encode1(input) {
var output = "";
let self = this
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
var i = 0;
input = self._utf8_encode(input);
while (i < input.length) {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output +
self.keyStr.charAt(enc1) + self.keyStr.charAt(enc2) +
self.keyStr.charAt(enc3) + self.keyStr.charAt(enc4);
}
return output;
},
decode1(input) {
var output = "";
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
while (i < input.length) {
enc1 = this.keyStr.indexOf(input.charAt(i++));
enc2 = this.keyStr.indexOf(input.charAt(i++));
enc3 = this.keyStr.indexOf(input.charAt(i++));
enc4 = this.keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;
output = output + String.fromCharCode(chr1);
if (enc3 != 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3);
}
}
output = this._utf8_decode(output);
return output;
},
_utf8_encode(string) {
string = string.replace(/\r\n/g, "\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
} else if ((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
} else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
},
_utf8_decode(utftext) {
var string = "";
var i = 0;
var c = c1 = c2 = 0;
while (i < utftext.length) {
c = utftext.charCodeAt(i);
if (c < 128) {
string += String.fromCharCode(c);
i++;
} else if ((c > 191) && (c < 224)) {
c2 = utftext.charCodeAt(i + 1);
string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
i += 2;
} else {
c2 = utftext.charCodeAt(i + 1);
c3 = utftext.charCodeAt(i + 2);
string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
i += 3;
}
}
return string;
},
// 获取cookie
getCookie(cookieName) {
let arr, reg = new RegExp('(^|)' + cookieName + '=([^;]*)(;|$)')
if (arr = document.cookie.match(reg)) {
return unescape(arr[2])
} else {
return null
}
},
// 鼠标移入
mouseHandel(item, index) {
item.flag = true
let dom = document.getElementsByClassName('mhgl_box_content_bottom')
console.log(dom)
dom[index].style.top = '-80px'
},
// 鼠标移出
mouseHandelOut(item, index) {
item.flag = false
let dom = document.getElementsByClassName('mhgl_box_content_bottom')
console.log(dom)
dom[index].style.top = '0px'
},
// 栏目查询
......@@ -179,21 +338,40 @@
{headers: headers}
)
.then(function (res) {
debugger
let isDis = JSON.parse(localStorage.getItem('userInfo')).username == 'admin' ? true : false
self.urlImg.forEach(item => {
res.data.list.forEach(each => {
if (item.id == each.id) {
item.name = each.name
}
if (item.id == each.prentId) {
let obj = each
if (isDis) {
obj.flag = true
} else {
if (each.name == '门户管理') {
obj.flag = false
} else {
obj.flag = true
}
}
item.children.push(each)
}
if(item.id == '11' && each.state == 2){
if (item.id == '11' && each.state == 2) {
let obj = each
if (isDis) {
obj.flag = true
} else {
if (each.name == '门户管理') {
obj.flag = false
} else {
obj.flag = true
}
}
item.children.push(each)
}
})
})
console.log(self.urlImg)
})
.catch(function (err) {
console.log(err)
......@@ -299,11 +477,30 @@
font-family: PingFang SC;
color: #111418;
/*border-bottom: 1px solid #C6D0D6;*/
.mhgl_box_content_bottom_nr_lj_name {
font-size: 16px;
cursor: pointer;
font-weight: 600;
padding: 0;
font-family: PingFang SC;
color: #111418;
}
.mhgl_box_content_bottom_nr_lj_name1 {
color: #666666;
font-size: 16px;
font-weight: 600;
padding: 0;
font-family: PingFang SC;
}
.mhgl_box_content_bottom_nr_lj_name:hover {
/*background-color: #fff;*/
font-size: 18px;
color: #3a80ec;
}
}
.mhgl_box_content_bottom_nr_lj_name:hover {
/*background-color: #fff;*/
font-size: 18px;
}
}
}
}
......
<template>
<div id="mxgl_table">
<el-container>
<el-header>
<header-box/>
</el-header>
<el-main>
<div class="form_box">
<el-form abel-position="right"
label-width="140px"
ref="queryForm" :model="form" inline style="text-align: left">
<el-form-item label="模板名称">
<el-input v-model="form.name" clearable></el-input>
</el-form-item>
<el-form-item label="模板类型:">
<el-select v-model="form.type" placeholder="请选择" clearable>
<el-option
v-for="item in mxlxList"
:key="item.value"
:label="item.name"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getData('yes')">查询</el-button>
</el-form-item>
</el-form>
</div>
<div style="padding: 10px;background-color: #fff;margin-top: 18px;border-radius: 4px;">
<div style="height: 28px;line-height: 28px;background-color: #fff;padding: 10px;">
<span style="color:#333333;vertical-align: middle;">查询结果</span>
<!--可配置化图标-->
<div
style="
<div id="mxgl_table">
<el-container>
<el-header>
<header-box/>
</el-header>
<el-main>
<div class="form_box">
<el-form abel-position="right"
label-width="140px"
ref="queryForm" :model="form" inline style="text-align: left">
<el-form-item label="模板名称">
<el-input v-model="form.name" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getData('yes')">查询</el-button>
</el-form-item>
</el-form>
</div>
<div style="padding: 10px;background-color: #fff;margin-top: 18px;border-radius: 4px;">
<div style="height: 28px;line-height: 28px;background-color: #fff;padding: 10px;">
<span style="color:#333333;vertical-align: middle;">查询结果</span>
<!--可配置化图标-->
<div
style="
vertical-align: middle;
height: 30px;
line-height: 30px;
......@@ -45,96 +35,103 @@
<span style="color: #f22">{{ total }}</span>
条查询结果
</span>
</div>
</div>
<el-table
:data="tableData"
v-loading="tableLoading"
element-loading-text="拼命加载中"
ref="itsmDataTable"
tooltip-effect="dark"
max-height="600"
width="100%"
size="small"
:cell-style="{
</div>
</div>
<el-table
:data="tableData"
v-loading="tableLoading"
element-loading-text="拼命加载中"
ref="itsmDataTable"
tooltip-effect="dark"
max-height="600"
width="100%"
size="small"
:cell-style="{
color: '#525252',
}"
:header-row-style="{ 'background-color': '#FAFAFA', color: '#333333' }"
:header-cell-style="{ 'background-color': '#FAFAFA' }">
<el-table-column
prop="name"
label="模板名称"
width="180">
</el-table-column>
<el-table-column
prop="typeStr"
label="模板类型">
</el-table-column>
<el-table-column
prop="djsj"
label="创建时间">
</el-table-column>
<el-table-column
prop="fbsj"
label="发布时间">
</el-table-column>
<el-table-column
label="是否发布">
<template slot-scope="scope">
<span v-if="scope.row.stat == '1'"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column
prop="bz"
label="备注">
</el-table-column>
<el-table-column label="操作" width="300">
<template slot-scope="scope">
<el-button @click="add(scope.row)" type="text" size="small">评价</el-button>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination background
@size-change="handleSizeChange"
style="text-align: center;padding-top: 10px;"
@current-change="handleCurrentChange"
:current-page.sync="page"
:page-sizes="[10, 20, 50, 100]"
:page-size="limit"
layout="sizes,prev, pager, next"
:total="total">
</el-pagination>
</div>
<el-dialog title="添加评价"
:visible.sync="dialogFormVisible"
width="900"
ref="ruleForm3"
custom-class="tztgClassIndex">
<div style="margin-bottom: 16px;
:header-row-style="{ 'background-color': '#FAFAFA', color: '#333333' }"
:header-cell-style="{ 'background-color': '#FAFAFA' }">
<el-table-column
prop="name"
label="模板名称"
width="300">
</el-table-column>
<el-table-column
prop="typeStr"
label="模板类型">
</el-table-column>
<el-table-column
prop="djsj"
label="创建时间">
</el-table-column>
<el-table-column
prop="fbsj"
label="发布时间">
</el-table-column>
<el-table-column
width="80"
label="是否发布">
<template slot-scope="scope">
<span v-if="scope.row.stat == '1'"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column
prop="bz"
width="320"
label="备注">
</el-table-column>
<el-table-column label="操作" width="200">
<template slot-scope="scope">
<el-button @click="add(scope.row)" type="primary" size="mini">评价</el-button>
<el-button @click="detail(scope.row)" type="danger" size="mini">进入模型</el-button>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination background
@size-change="handleSizeChange"
style="text-align: center;padding-top: 10px;"
@current-change="handleCurrentChange"
:current-page.sync="page"
:page-sizes="[10, 20, 50, 100]"
:page-size="limit"
layout="sizes,prev, pager, next"
:total="total">
</el-pagination>
</div>
<el-dialog title="添加评价"
:visible.sync="dialogFormVisible"
width="900"
ref="ruleForm3"
custom-class="tztgClassIndex">
<div style="margin-bottom: 16px;
height: 127px;
background-color: #fff;
padding-left: 32px;
display: flex;
flex-direction: column;
justify-content: center;">
<div style="color:#525252;">
<div style="color:#525252;">
<span
style="font-size: 20px;
style="font-size: 20px;
color:#525252;
font-weight: bold;
font-family: PingFangSC-Medium">模型名称:</span>
<span>{{editObj.name}}</span>
</div>
<div style="color:#767676;margin-top: 16px;">
<span>模型用途:</span>
<span>{{editObj.bz}}</span>
</div>
</div>
<div style="background-color: #fff;">
<div
style="height: 55px;
<span>{{editObj.name}}</span>
</div>
<div style="color:#767676;margin-top: 16px;">
<span>模型用途:</span>
<span>{{editObj.bz}}</span>
</div>
<div style="color:#767676;margin-top: 16px;">
<span>路径:</span>
<a :href="editObj.path">{{editObj.path}}</a>
</div>
</div>
<div style="background-color: #fff;">
<div
style="height: 55px;
color:#525252;
padding-left: 32px;
line-height: 55px;
......@@ -142,405 +139,412 @@
font-family: PingFangSC-Medium;
font-weight: bold;
font-size: 16px;">
模型输入输出
</div>
<div style="display: flex;padding-left: 36px;padding-right: 36px;">
<div style="width: 50%;padding-right: 15px;">
<div style="padding: 16px 0;color:#525252;font-size: 14px;font-weight: bold;">输入</div>
<el-table
:data="srTableData"
width="100%"
:row-style="{
模型输入输出
</div>
<div style="display: flex;padding-left: 36px;padding-right: 36px;">
<div style="width: 50%;padding-right: 15px;">
<div style="padding: 16px 0;color:#525252;font-size: 14px;font-weight: bold;">输入</div>
<el-table
:data="srTableData"
width="100%"
:row-style="{
'background-color': '#FAFAFA',
'font-size': '14px',
'font-family': 'Microsoft YaHei',
'font-weight': '400',
'color': '#525252',
'margin-top': '10px'}"
:cell-style="{
:cell-style="{
'border-bottom': '1px dashed #4D6F9E',}"
:header-cell-style="{ 'background-color': '#506683','color': '#fff' }">
<el-table-column
prop="paraName"
label="参数名称">
</el-table-column>
<el-table-column
prop="paraType"
label="参数类型">
</el-table-column>
<el-table-column
prop="paraMs"
label="参数描述">
</el-table-column>
</el-table>
</div>
<div style="width: 50%;padding-left: 15px;">
<div style="padding: 16px 0;color:#525252;font-size: 14px;font-weight: bold;">输出</div>
<el-table
:data="scTableData"
width="100%"
:row-style="{
:header-cell-style="{ 'background-color': '#506683','color': '#fff' }">
<el-table-column
prop="paraName"
label="参数名称">
</el-table-column>
<el-table-column
prop="paraType"
label="参数类型">
</el-table-column>
<el-table-column
prop="paraMs"
label="参数描述">
</el-table-column>
</el-table>
</div>
<div style="width: 50%;padding-left: 15px;">
<div style="padding: 16px 0;color:#525252;font-size: 14px;font-weight: bold;">输出</div>
<el-table
:data="scTableData"
width="100%"
:row-style="{
'background-color': '#FAFAFA',
'font-size': '14px',
'font-family': 'Microsoft YaHei',
'font-weight': '400',
'color': '#525252',
'margin-top': '10px'}"
:cell-style="{
:cell-style="{
'border-bottom': '1px dashed #4D6F9E',}"
:header-cell-style="{ 'background-color': '#5D9696','color': '#fff' }">
<el-table-column
prop="paraName"
label="参数名称">
</el-table-column>
<el-table-column
prop="paraType"
label="参数类型">
</el-table-column>
<el-table-column
prop="paraMs"
label="参数描述">
</el-table-column>
</el-table>
</div>
</div>
</div>
<div style="background-color: #fff;margin-top: 16px;padding: 0 32px;">
<div
style="height: 55px;
:header-cell-style="{ 'background-color': '#5D9696','color': '#fff' }">
<el-table-column
prop="paraName"
label="参数名称">
</el-table-column>
<el-table-column
prop="paraType"
label="参数类型">
</el-table-column>
<el-table-column
prop="paraMs"
label="参数描述">
</el-table-column>
</el-table>
</div>
</div>
</div>
<div style="background-color: #fff;margin-top: 16px;padding: 0 32px;">
<div
style="height: 55px;
color:#525252;
line-height: 55px;
border-bottom: 1px solid #E9E9E9;
font-family: PingFangSC-Medium;
font-weight: bold;
font-size: 16px;">
评论详情
</div>
<el-form label-position="right"
label-width="100px"
class="form_wdpl"
ref="queryForm" :model="formItem" style="text-align: left">
<el-form-item label="我的评论:" style="text-align: left;padding-left: 4px;font-weight: bold;">
<el-rate v-model="formItem.yhpf"></el-rate>
<el-input type="textarea" v-model="formItem.yhpjnr"
style="width: calc(100% - 32px);padding: 10px 0 20px 0;"
:rows="8"></el-input>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="submit">确 定</el-button>
</div>
</el-dialog>
</el-main>
</el-container>
</div>
评论详情
</div>
<el-form label-position="right"
label-width="100px"
class="form_wdpl"
ref="queryForm" :model="formItem" style="text-align: left">
<el-form-item label="我的评论:" style="text-align: left;padding-left: 4px;font-weight: bold;">
<el-rate v-model="formItem.yhpf"></el-rate>
<el-input type="textarea" v-model="formItem.yhpjnr"
style="width: calc(100% - 32px);padding: 10px 0 20px 0;"
:rows="8"></el-input>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="submit">确 定</el-button>
</div>
</el-dialog>
</el-main>
</el-container>
</div>
</template>
<script>
import axios from 'axios'
import headerBox from '../../components/headerBox.vue'
import axios from 'axios'
import headerBox from '../../components/headerBox.vue'
export default {
name: 'index',
components: { headerBox },
data() {
return {
tableData: [],
tableLoading: false,
dialogFormVisible: false,
form: {
name: '',
type: ''
},
formItem: {
yhjh: '123',
xxzjbh: 'TP163132970890043c44e',
yhpjnr: '',
yhpf: ''
},
srTableData: [
{
paraName: '1',
paraType: '2',
paraMs: '3'
export default {
name: 'index',
components: {headerBox},
data() {
return {
tableData: [],
tableLoading: false,
dialogFormVisible: false,
form: {
name: '',
type: ''
},
formItem: {
yhjh: '123',
xxzjbh: 'TP163132970890043c44e',
yhpjnr: '',
yhpf: ''
},
srTableData: [
{
paraName: '1',
paraType: '2',
paraMs: '3'
}
],
scTableData: [
{
paraName: '4',
paraType: '5',
paraMs: '6'
}
],
page: 1,
limit: 10,
total: 0,
editObj: {},
// 模型类型
mxlxList: [
{
name: '虚实身份转换算法模型',
value: '1'
}, {
name: '虚拟关系人比对算法模型',
value: '2'
}, {
name: '电子围栏算法模型',
value: '3'
}, {
name: '网络围栏算法模型',
value: '4'
}, {
name: '多点轨迹碰撞算法模型',
value: '5'
}, {
name: '人车机时空轨迹伴随算法模型',
value: '6'
}, {
name: '三网电子固证算法模型',
value: '7'
}, {
name: '人案智能推荐算法模型',
value: '8'
}, {
name: '侦查研判算法模型',
value: '9'
}, {
name: '预警预测算法模型',
value: '10'
}, {
name: '关系网络算法模型',
value: '11'
}, {
name: '时空算法模型',
value: '12'
}, {
name: '其他',
value: '999'
}
]
}
},
created() {
this.form.type = this.$route.query.type
},
mounted() {
this.getData('yes')
},
methods: {
handleCurrentChange(val) {
this.page = val
this.getData()
},
handleSizeChange(val) {
this.limit = val
this.getData()
},
// 查询总数
getCount() {
let self = this
let param = {
name: self.form.name,
type: self.form.type,
stat: '1'
}
axios.post('/mxgl/template/selectTbStTemplateCount', param, {
headers: {
'content-Type': 'application/json',
}
}).then(res => {
if (res.status == 200) {
self.total = res.data
}
})
},
// 查询
getData(val) {
let self = this
self.tableLoading = true
if (val) {
self.page = 1
}
let param = {
name: self.form.name,
type: self.form.type,
page: self.page,
limit: self.limit,
stat: '1'
}
axios.post('/mxgl/template/selectTbStTemplateList', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
if (res.status == 200) {
self.tableLoading = false
self.tableData = res.data
}
})
self.getCount()
},
detail(row){
debugger
let self = this
if(row.path){
window.open(row.path)
}
},
// 新增评价
add(row) {
let self = this
self.formItem = {
yhjh: '',
xxzjbh: '',
yhpjnr: '',
yhpf: ''
}
self.dialogFormVisible = true
self.getDatasc(row)
self.getDatasr(row)
self.editObj = row
},
submit() {
let self = this
let param = {
yhjh: '123',
xxzjbh: self.editObj.xxzjbh,
yhpjnr: self.formItem.yhpjnr,
yhpf: self.formItem.yhpf
}
axios.post('/mxgl/template/insertPJ', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
if (res.data.status == 'success') {
self.$message.success('新增评价成功')
self.dialogFormVisible = false
self.getData('yes')
}
})
},
// 参数输入查询
getDatasr(row) {
let self = this
let param = {
xxzjbh: row.xxzjbh
}
axios.post('/mxgl/template/selectModelSrList', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
if (res.status == '200') {
self.srTableData = res.data
}
})
},
// 参数输出查询
getDatasc(row) {
let self = this
let param = {
xxzjbh: row.xxzjbh
}
axios.post('/mxgl/template/selectModelScList', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
if (res.status == '200') {
self.scTableData = res.data
}
})
}
}
],
scTableData: [
{
paraName: '4',
paraType: '5',
paraMs: '6'
}
],
page: 1,
limit: 10,
total: 0,
editObj: {},
// 模型类型
mxlxList: [
{
name: '虚实身份转换算法模型',
value: '1'
}, {
name: '虚拟关系人比对算法模型',
value: '2'
}, {
name: '电子围栏算法模型',
value: '3'
}, {
name: '网络围栏算法模型',
value: '4'
}, {
name: '多点轨迹碰撞算法模型',
value: '5'
}, {
name: '人车机时空轨迹伴随算法模型',
value: '6'
}, {
name: '三网电子固证算法模型',
value: '7'
}, {
name: '人案智能推荐算法模型',
value: '8'
}, {
name: '侦查研判算法模型',
value: '9'
}, {
name: '预警预测算法模型',
value: '10'
}, {
name: '关系网络算法模型',
value: '11'
}, {
name: '时空算法模型',
value: '12'
}, {
name: '其他',
value: '999'
}
]
}
},
created() {
this.form.type = this.$route.query.type
},
mounted() {
this.getData('yes')
},
methods: {
handleCurrentChange(val) {
this.page = val
this.getData()
},
handleSizeChange(val) {
this.limit = val
this.getData()
},
// 查询总数
getCount() {
let self = this
let param = {
name: self.form.name,
type: self.form.type,
stat: '1'
}
axios.post('/mxgl/template/selectTbStTemplateCount', param, {
headers: {
'content-Type': 'application/json',
}
}).then(res => {
if (res.status == 200) {
self.total = res.data
}
})
},
// 查询
getData(val) {
let self = this
self.tableLoading = true
if (val) {
self.page = 1
}
let param = {
name: self.form.name,
type: self.form.type,
page: self.page,
limit: self.limit,
stat: '1'
}
axios.post('/mxgl/template/selectTbStTemplateList', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
if (res.status == 200) {
self.tableLoading = false
self.tableData = res.data
}
})
self.getCount()
},
// 新增评价
add(row) {
let self = this
self.formItem = {
yhjh: '',
xxzjbh: '',
yhpjnr: '',
yhpf: ''
}
self.dialogFormVisible = true
self.getDatasc(row)
self.getDatasr(row)
self.editObj = row
},
submit() {
let self = this
let param = {
yhjh: '123',
xxzjbh: self.editObj.xxzjbh,
yhpjnr: self.formItem.yhpjnr,
yhpf: self.formItem.yhpf
}
axios.post('/mxgl/template/insertPJ', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
if (res.data.status == 'success') {
self.$message.success('新增评价成功')
self.dialogFormVisible = false
self.getData('yes')
}
})
},
// 参数输入查询
getDatasr(row) {
let self = this
let param = {
xxzjbh: row.xxzjbh
}
axios.post('/mxgl/template/selectModelSrList', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
if (res.status == '200') {
self.srTableData = res.data
}
})
},
// 参数输出查询
getDatasc(row) {
let self = this
let param = {
xxzjbh: row.xxzjbh
}
axios.post('/mxgl/template/selectModelScList', param, {
headers: {
'content-Type': 'application/json'
}
}).then(res => {
if (res.status == '200') {
self.scTableData = res.data
}
})
}
}
}
</script>
<style scoped lang="scss">
#mxgl_table {
/deep/ .el-header {
padding: 0;
height: 48px !important;
background-color: rgba(18, 35, 87, .7);
}
#mxgl_table {
/deep/ .el-header {
padding: 0;
height: 48px !important;
background-color: rgba(18, 35, 87, .7);
}
.el-main {
height: calc(100vh - 48px);
margin: 0;
border: none;
width: 100%;
padding: 24px;
background-color: #ECEEF2;
}
.el-main {
height: calc(100vh - 48px);
margin: 0;
border: none;
width: 100%;
padding: 24px;
background-color: #ECEEF2;
}
.total {
color: #999;
margin-left: 28px;
margin-right: 22px;
float: left;
}
.total {
color: #999;
margin-left: 28px;
margin-right: 22px;
float: left;
}
.form_box {
background-color: #fff;
padding-top: 20px;
border-radius: 4px;
.form_box {
background-color: #fff;
padding-top: 20px;
border-radius: 4px;
}
}
}
</style>
<style lang="scss">
#mxgl_table {
.tztgClassIndex {
#mxgl_table {
.tztgClassIndex {
.el-dialog__header {
text-align: left;
border-bottom: 1px solid #ccc;
padding: 10px 10px 10px 24px;
.el-dialog__header {
text-align: left;
border-bottom: 1px solid #ccc;
padding: 10px 10px 10px 24px;
.el-dialog__title {
font-size: 15px;
color: #222;
font-weight: bold;
}
.el-dialog__title {
font-size: 15px;
color: #222;
font-weight: bold;
}
.el-dialog__headerbtn {
top: 14px;
}
}
.el-dialog__headerbtn {
top: 14px;
}
}
.el-dialog__body {
max-height: 420px;
padding: 0 !important;
overflow: auto;
background-color: #F5F5F5;
.el-dialog__body {
max-height: 420px;
padding: 0 !important;
overflow: auto;
background-color: #F5F5F5;
.zdycol22 {
width: 90% !important;
margin-top: 20px !important;
margin-bottom: 0;
}
.zdycol22 {
width: 90% !important;
margin-top: 20px !important;
margin-bottom: 0;
}
.zdycol23 {
width: 90% !important;
height: 160px;
margin-top: 20px !important;
margin-bottom: 0;
.zdycol23 {
width: 90% !important;
height: 160px;
margin-top: 20px !important;
margin-bottom: 0;
.el-textarea__inner {
max-height: 150px !important;
min-height: 150px !important;
}
}
}
.el-textarea__inner {
max-height: 150px !important;
min-height: 150px !important;
}
}
}
.el-dialog__footer {
border-top: 1px solid #ccc;
}
.el-dialog__footer {
border-top: 1px solid #ccc;
}
.form_wdpl {
.el-form-item__label {
margin-top: 5px;
.form_wdpl {
.el-form-item__label {
margin-top: 5px;
}
}
}
}
}
.el-rate {
margin: 15px 0 5px 0;
.el-rate {
margin: 15px 0 5px 0;
}
}
}
</style>
......@@ -80,9 +80,9 @@
prop="bz"
label="备注">
</el-table-column>
<el-table-column label="操作" width="300">
<el-table-column label="操作" width="80">
<template slot-scope="scope">
<el-button @click="submit(scope.row)" type="text" size="small">发布</el-button>
<el-button @click="submit(scope.row)" type="primary" size="mini">发布</el-button>
<!-- <el-button @click="del(scope.row)" type="text" size="small">删除</el-button>-->
</template>
</el-table-column>
......
......@@ -93,10 +93,10 @@
prop="bz"
label="备注">
</el-table-column>
<el-table-column label="操作" width="300">
<el-table-column label="操作" width="180">
<template slot-scope="scope">
<el-button @click="edit(scope.row)" type="text" size="small">修改</el-button>
<el-button @click="del(scope.row)" type="text" size="small">删除</el-button>
<el-button @click="edit(scope.row)" type="primary" size="mini">修改</el-button>
<el-button @click="del(scope.row)" type="danger" size="mini">删除</el-button>
</template>
</el-table-column>
</el-table>
......@@ -137,13 +137,16 @@
</el-form-item>
</div>
<div>
<el-form-item label="路径:">
<el-input v-model="form.path" clearable></el-input>
</el-form-item>
<el-form-item label="模板描述:">
<el-input
type="textarea"
:rows="4"
v-model="form.bz"
autocomplete="off"
style="width: 565px"
style="width: 228px"
clearable></el-input>
</el-form-item>
</div>
......@@ -305,6 +308,7 @@ export default {
bz: '',
type: '',
name: '',
path: '',
xxzjbh: '',
cssr: [
{
......@@ -340,8 +344,8 @@ export default {
getCount() {
let self = this
let param = {
name: self.form.name,
type: self.form.type,
name: self.formItem.name,
type: self.formItem.type,
stat: ''
}
axios.post('/mxgl/template/selectTbStTemplateCount', param, {
......@@ -389,6 +393,7 @@ export default {
xxzjbh: self.form.xxzjbh,
name: self.form.name,
type: self.form.type,
path: self.form.path,
bz: self.form.bz,
cssr: self.form.cssr,
cssc: self.form.cssc
......@@ -417,6 +422,7 @@ export default {
self.form.name = row.name
self.form.type = row.type
self.form.bz = row.bz
self.form.path = row.path
self.form.xxzjbh = row.xxzjbh
self.getDatasr(row)
self.getDatasc(row)
......@@ -495,7 +501,7 @@ export default {
}
}).then(res => {
if (res.status == '200') {
self.form.cssr = res.data
self.form.cssr = res.data.length > 0 ? res.data : self.form.cssr
}
})
},
......@@ -511,7 +517,7 @@ export default {
}
}).then(res => {
if (res.status == '200') {
self.form.cssc = res.data
self.form.cssc = res.data.length > 0 ? res.data : self.form.cssc
}
})
}
......
......@@ -84,9 +84,9 @@
prop="bz"
label="备注">
</el-table-column>
<el-table-column label="操作" width="300">
<el-table-column label="操作" width="80">
<template slot-scope="scope">
<el-button @click="detail(scope.row)" type="text" size="small">详情</el-button>
<el-button @click="detail(scope.row)" type="primary" size="mini">详情</el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -18,6 +18,9 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="路径">
<el-input v-model="form.path" clearable></el-input>
</el-form-item>
</div>
<div>
<el-form-item label="模板描述:">
......@@ -169,6 +172,7 @@ export default {
bz: '',
type: '',
name: '',
path: '',
cssr: [
{
paraName: '',
......
......@@ -17,7 +17,17 @@
background-repeat: no-repeat;
background-size: contain;
}
.sy_box_head_left{
position: absolute;
left: 10px;
top: 10px;
font-size: 14px;
color: #64a2d6;
.sy_box_head_right_nr {
padding-left: 31px;
cursor: pointer;
}
}
.sy_box_head_right {
display: flex;
position: absolute;
......
<template>
<div id="syBox" class="sy_box">
<div class="sy_box_head">
<div class="sy_box_head_title"></div>
<div class="sy_box_head_right">
<div class="sy_box_head_right_nr" @click="getTxl">
<img src="@/assets/img/tb_txl.png" alt="">
<span style="padding-left: 5px;">通讯录</span>
</div>
<div class="sy_box_head_right_nr" @click="getWdxz">
<img src="@/assets/img/tb_wdxz.png" alt="">
<span style="padding-left: 5px;">文档下载</span>
</div>
<div class="sy_box_head_right_nr" v-if="isFalg">
<el-dropdown trigger="click" style="color:#64a2d6; font-size: 14px;" @command="LoginOut">
<span class="el-dropdown-link">
<img src="@/assets/img/tb_tc.png" alt="">
<span style="padding-left: 5px;">欢迎您:{{userInfo.unitname}}&nbsp;&nbsp;&nbsp;{{userInfo.true_name}}</span>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="a">退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<div class="sy_box_head_right_nr" @click="getLogin" v-else>
<img src="@/assets/img/tb_login.png" alt="">
<span style="padding-left: 5px;">登录</span>
</div>
</div>
</div>
<div class="sy_box_content">
<!-- 左侧部分 -->
<div class="sy_box_content_l">
<!-- 常用工具 -->
<div class="sy_box_content_l_t">
<div class="sy_box_content_l_t_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_l_t_title_span">常用工具</span>
</div>
<div class="sy_box_content_l_t_box">
<div v-for="(item, index) in list1" class="sy_box_content_l_t_box_nr" :key="index">
<div class="sy_box_content_l_t_box_nr_img">
<div class="sy_box_content_l_t_box_nr_img_border_div">
<img :src="item.imgUrl" alt=""/>
<div id="syBox" class="sy_box">
<div class="sy_box_head">
<div class="sy_box_head_title"></div>
<div class="sy_box_head_left">
<div class="sy_box_head_right_nr" v-if="isFalg">
<span style="padding-left: 5px;">欢迎您:{{userInfo.unitname}}&nbsp;&nbsp;&nbsp;{{userInfo.true_name}}</span>
</div>
</div>
<span class="sy_box_content_l_t_box_nr_text">{{
item.name
}}</span>
</div>
</div>
</div>
<!-- 左侧中间 -->
<div class="sy_box_content_l_m">
<!-- 鲜活展示 -->
<div class="sy_box_content_l_m_t">
<div class="sy_box_content_l_m_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_l_m_title_span">鲜活展示</span>
</div>
<div class="sy_box_content_l_m_show">
<div class="item yazc">
<div class="icon">
<img src="../../assets/img/xhzs/yazc.png" alt="">
</div>
<div class="content">
<div class="name">以案侦查</div>
<div class="num">129009</div>
</div>
</div>
<div class="item dtjs">
<div class="icon">
<img src="../../assets/img/xhzs/dtjs.png" alt="">
</div>
<div class="content">
<div class="name">地图检索</div>
<div class="num">77544</div>
</div>
</div>
<div class="item zzdt">
<div class="icon">
<img src="../../assets/img/xhzs/zzdt.png" alt="">
</div>
<div class="content">
<div class="name">智侦导图</div>
<div class="num">643</div>
</div>
</div>
<div class="item xxtk">
<div class="icon">
<img src="../../assets/img/xhzs/xxtk.png" alt="">
</div>
<div class="content">
<div class="name">刑嫌调控</div>
<div class="num">107</div>
</div>
</div>
<div class="item zhzf">
<div class="icon">
<img src="../../assets/img/xhzs/zhzf.png" alt="">
</div>
<div class="content">
<div class="name">综合战法</div>
<div class="num">498271</div>
<div class="sy_box_head_right">
<div class="sy_box_head_right_nr" @click="getTxl">
<img src="@/assets/img/tb_txl.png" alt="">
<span style="padding-left: 5px;">通讯录</span>
</div>
</div>
<div class="item gjfx">
<div class="icon">
<img src="../../assets/img/xhzs/gjfx.png" alt="">
<div class="sy_box_head_right_nr" @click="getWdxz">
<img src="@/assets/img/tb_wdxz.png" alt="">
<span style="padding-left: 5px;">文档下载</span>
</div>
<div class="content">
<div class="name">轨迹分析</div>
<div class="num">38483</div>
<div class="sy_box_head_right_nr" @click="goTo" v-if="isFalg">
<i class="el-icon-s-home"></i>
<span style="padding-left: 5px;">门户</span>
</div>
</div>
<div class="item yczc">
<div class="icon">
<img src="../../assets/img/xhzs/yczc.png" alt="">
<div class="sy_box_head_right_nr" @click="getLogin" v-if="!isFalg">
<img src="@/assets/img/tb_login.png" alt="">
<span style="padding-left: 5px;">登录</span>
</div>
<div class="content">
<div class="name">以车侦查</div>
<div class="num">21204</div>
<div class="sy_box_head_right_nr" v-if="isFalg" @click="LoginOut">
<!-- <span class="iconfont icontuichuzhuxiao"></span>-->
<i class="el-icon-switch-button"></i>
<span style="padding-left: 5px;">登出</span>
</div>
</div>
<div class="item yrzc">
<div class="icon">
<img src="../../assets/img/xhzs/yrzc.png" alt="">
</div>
<div class="content">
<div class="name">以人侦查</div>
<div class="num">3</div>
</div>
</div>
</div>
</div>
<!-- 访问统计 -->
<div class="sy_box_content_l_m_b">
<div class="sy_box_content_l_m_b_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_l_m_b_title_span">访问统计</span>
</div>
<div class="sy_box_content_l_m_b_echarts">
<div id="line-echarts" class="sy_box_content_l_m_b_echarts_id"></div>
</div>
</div>
</div>
<!-- 动态感知采集 -->
<div class="sy_box_content_l_b">
<div class="sy_box_content_l_b_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_l_b_title_span">动态感知采集</span>
</div>
<div class="sy_box_content_l_b_d">
<div class="sy_box_content_l_b_d_l">
<div id="pie-charts" class="sy_box_content_l_b_d_l_pie"></div>
</div>
<div class="sy_box_content_l_b_d_r">
<div v-for="(item, index) in list2" :key="index" class="sy_box_content_l_b_d_item">
<img :src="item.imgUrl" class="sy_box_content_l_b_d_item_img"/>
<div class="sy_box_content_l_b_d_item_r">
<span style="color:#FEFEFE;">{{ item.name }}</span>
<span class="sy_box_content_l_b_d_item_r_content">{{
<div class="sy_box_content">
<!-- 左侧部分 -->
<div class="sy_box_content_l">
<!-- 常用工具 -->
<div class="sy_box_content_l_t">
<div class="sy_box_content_l_t_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_l_t_title_span">常用工具</span>
</div>
<div class="sy_box_content_l_t_box">
<div v-for="(item, index) in list1" class="sy_box_content_l_t_box_nr" :key="index">
<div class="sy_box_content_l_t_box_nr_img">
<div class="sy_box_content_l_t_box_nr_img_border_div">
<img :src="item.imgUrl" alt=""/>
</div>
</div>
<span class="sy_box_content_l_t_box_nr_text">{{
item.name
}}</span>
</div>
</div>
</div>
<!-- 左侧中间 -->
<div class="sy_box_content_l_m">
<!-- 鲜活展示 -->
<div class="sy_box_content_l_m_t">
<div class="sy_box_content_l_m_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_l_m_title_span">鲜活展示</span>
</div>
<div class="sy_box_content_l_m_show">
<div class="item yazc">
<div class="icon">
<img src="../../assets/img/xhzs/yazc.png" alt="">
</div>
<div class="content">
<div class="name">以案侦查</div>
<div class="num">129009</div>
</div>
</div>
<div class="item dtjs">
<div class="icon">
<img src="../../assets/img/xhzs/dtjs.png" alt="">
</div>
<div class="content">
<div class="name">地图检索</div>
<div class="num">77544</div>
</div>
</div>
<div class="item zzdt">
<div class="icon">
<img src="../../assets/img/xhzs/zzdt.png" alt="">
</div>
<div class="content">
<div class="name">智侦导图</div>
<div class="num">643</div>
</div>
</div>
<div class="item xxtk">
<div class="icon">
<img src="../../assets/img/xhzs/xxtk.png" alt="">
</div>
<div class="content">
<div class="name">刑嫌调控</div>
<div class="num">107</div>
</div>
</div>
<div class="item zhzf">
<div class="icon">
<img src="../../assets/img/xhzs/zhzf.png" alt="">
</div>
<div class="content">
<div class="name">综合战法</div>
<div class="num">498271</div>
</div>
</div>
<div class="item gjfx">
<div class="icon">
<img src="../../assets/img/xhzs/gjfx.png" alt="">
</div>
<div class="content">
<div class="name">轨迹分析</div>
<div class="num">38483</div>
</div>
</div>
<div class="item yczc">
<div class="icon">
<img src="../../assets/img/xhzs/yczc.png" alt="">
</div>
<div class="content">
<div class="name">以车侦查</div>
<div class="num">21204</div>
</div>
</div>
<div class="item yrzc">
<div class="icon">
<img src="../../assets/img/xhzs/yrzc.png" alt="">
</div>
<div class="content">
<div class="name">以人侦查</div>
<div class="num">3</div>
</div>
</div>
</div>
</div>
<!-- 访问统计 -->
<div class="sy_box_content_l_m_b">
<div class="sy_box_content_l_m_b_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_l_m_b_title_span">访问统计</span>
</div>
<div class="sy_box_content_l_m_b_echarts">
<div id="line-echarts" class="sy_box_content_l_m_b_echarts_id"></div>
</div>
</div>
</div>
<!-- 动态感知采集 -->
<div class="sy_box_content_l_b">
<div class="sy_box_content_l_b_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_l_b_title_span">动态感知采集</span>
</div>
<div class="sy_box_content_l_b_d">
<div class="sy_box_content_l_b_d_l">
<div id="pie-charts" class="sy_box_content_l_b_d_l_pie"></div>
</div>
<div class="sy_box_content_l_b_d_r">
<div v-for="(item, index) in list2" :key="index" class="sy_box_content_l_b_d_item">
<img :src="item.imgUrl" class="sy_box_content_l_b_d_item_img"/>
<div class="sy_box_content_l_b_d_item_r">
<span style="color:#FEFEFE;">{{ item.name }}</span>
<span class="sy_box_content_l_b_d_item_r_content">{{
item.total
}}</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 中间部分 -->
<div class="sy_box_content_m">
<!-- 上方统计部分 -->
<div class="sy_box_content_m_t">
<div class="top">
<div class="item" v-for="(item,index) in list4" :key="index">
<div class="name">
<div class="icon">
<img :src="item.imgUrl" alt="">
<!-- 中间部分 -->
<div class="sy_box_content_m">
<!-- 上方统计部分 -->
<div class="sy_box_content_m_t">
<div class="top">
<div class="item" v-for="(item,index) in list4" :key="index">
<div class="name">
<div class="icon">
<img :src="item.imgUrl" alt="">
</div>
<div class="txt">{{item.name}}</div>
</div>
<div class="num">
<span class="count">{{item.total}}</span>
</div>
</div>
</div>
<div class="content">
<div class="left"></div>
<div class="center">
<div class="circle_outer">
<div class="item one">
<div class="icon">
<img src="../../assets/img/center/xtmc1.png" alt="">
</div>
<div class="title">系统名称1</div>
</div>
<div class="item two">
<div class="icon">
<img src="../../assets/img/center/xtmc2.png" alt="">
</div>
<div class="title">系统名称2</div>
</div>
<div class="item three">
<div class="icon">
<img src="../../assets/img/center/xtmc3.png" alt="">
</div>
<div class="title">系统名称3</div>
</div>
<div class="item four">
<div class="icon">
<img src="../../assets/img/center/xtmc4.png" alt="">
</div>
<div class="title">系统名称4</div>
</div>
</div>
<div class="circle_inner"></div>
<div class="circle_lft">
<span>常用业务系统</span>
</div>
</div>
<div class="right"></div>
</div>
</div>
<div class="txt">{{item.name}}</div>
</div>
<div class="num">
<span class="count">{{item.total}}</span>
</div>
</div>
</div>
<div class="content">
<div class="left"></div>
<div class="center">
<div class="circle_outer">
<div class="item one">
<div class="icon">
<img src="../../assets/img/center/xtmc1.png" alt="">
</div>
<div class="title">系统名称1</div>
</div>
<div class="item two">
<div class="icon">
<img src="../../assets/img/center/xtmc2.png" alt="">
</div>
<div class="title">系统名称2</div>
</div>
<div class="item three">
<div class="icon">
<img src="../../assets/img/center/xtmc3.png" alt="">
</div>
<div class="title">系统名称3</div>
<!-- 下方基础数据统计 -->
<div class="sy_box_content_m_b">
<div class="sy_box_content_m_b_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_m_b_title_span">基础数据统计</span>
</div>
<div class="sy_box_content_m_b_total">
<div class="sy_box_content_m_b_content" v-for="(item,i) in statistics" :key="i">
<div class="top">
{{item.total}}
</div>
<div class="bottom">
<div class="title">
{{item.name}}
</div>
</div>
</div>
</div>
</div>
<div class="item four">
<div class="icon">
<img src="../../assets/img/center/xtmc4.png" alt="">
</div>
<div class="title">系统名称4</div>
</div>
</div>
<div class="circle_inner"></div>
<div class="circle_lft">
<span>常用业务系统</span>
</div>
</div>
<div class="right"></div>
</div>
</div>
<!-- 下方基础数据统计 -->
<div class="sy_box_content_m_b">
<div class="sy_box_content_m_b_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_m_b_title_span">基础数据统计</span>
</div>
<div class="sy_box_content_m_b_total">
<div class="sy_box_content_m_b_content" v-for="(item,i) in statistics" :key="i">
<div class="top">
{{item.total}}
</div>
<div class="bottom">
<div class="title">
{{item.name}}
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 右边部分 -->
<div class="sy_box_content_r">
<!-- 人员通讯录 -->
<div class="sy_box_content_r_t">
<div class="sy_box_content_r_t_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_r_t_title_span">人员通讯录</span>
</div>
<!-- 下面的 table 部分 -->
<div class="sy_box_content_r_t_content">
<el-table :data="tableData" :row-style="{
<!-- 右边部分 -->
<div class="sy_box_content_r">
<!-- 资金止付情况 -->
<div class="sy_box_content_r_t">
<div class="sy_box_content_r_t_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_r_t_title_span">资金止付情况</span>
</div>
<!-- 下面的 table 部分 -->
<div class="sy_box_content_r_t_content">
<el-table :data="tableData2" :row-style="{
'background-color': 'transparent',
'font-size': '14px',
'font-family': 'Microsoft YaHei',
'font-weight': '400',
color: '#FFFFFF',
color: '#add8f3',
'margin-top': '10px'
}" :cell-style="{
background: 'transparent',
......@@ -271,598 +273,648 @@
'background-color': '#002d65',
'border-bottom': 'none'
}" stripe style="width: 432px;margin:auto;background: transparent;" height="390">
<el-table-column prop="department" label="部门">
</el-table-column>
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="Jnumber" label="警号"></el-table-column>
<el-table-column prop="phone" label="联系电话"></el-table-column>
</el-table>
</div>
</div>
<div class="sy_box_content_r_b">
<div class="sy_box_content_r_b_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_r_b_title_span">最新公告</span>
</div>
<div class="sy_box_content_r_b_content">
<div class="sy_box_content_r_b_content_p" v-for="(item,index) in tableDataTztg" :key="index">
<div class="sy_box_content_r_b_content_bj">
<div class="sy_box_content_r_b_content_span">{{item.fbsj}}</div>
</div>
<div class="sy_box_content_r_b_content_text">
<el-tooltip placement="top" effect="light">
<div slot="content">{{item.wbggnr}}</div>
<div
class="sy_box_content_r_b_content_text_span">{{item.wbggnr}}
</div>
</el-tooltip>
</div>
<el-table-column prop="type" label="类型" width="50"></el-table-column>
<el-table-column prop="id" label="银行卡"></el-table-column>
<el-table-column prop="number" label="金额" width="70"></el-table-column>
<el-table-column prop="date" label="日期" width="110"></el-table-column>
</el-table>
</div>
</div>
<div class="sy_box_content_r_b">
<div class="sy_box_content_r_b_title">
<img src="@/assets/img/sy_1.png" alt=""/>
<span class="sy_box_content_r_b_title_span">最新公告</span>
</div>
<div class="sy_box_content_r_b_content">
<div class="sy_box_content_r_b_content_p" v-for="(item,index) in tableDataTztg" :key="index">
<div class="sy_box_content_r_b_content_bj">
<div class="sy_box_content_r_b_content_span">{{item.fbsj}}</div>
</div>
<div class="sy_box_content_r_b_content_text">
<el-tooltip placement="top" effect="light">
<div slot="content">{{item.wbggnr}}</div>
<div
class="sy_box_content_r_b_content_text_span">{{item.wbggnr}}
</div>
</el-tooltip>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!--通讯录弹窗-->
<div class="txl" @click.self="closeSptc" v-show="txl">
<div class="txl_content">
<div class="top">
<div class="title">通讯录</div>
<div class="close" @click.stop="closeSptc">
<img src="../../assets/img/txl/close.png" alt="">
</div>
</div>
<div class="dashed_line">
<img src="../../assets/img/txl/dashed.png" alt="">
</div>
<div class="table">
<el-table :highlight-current-row="false" ref="table" class="tableData" border max-height="320"
:header-cell-style="{'background':'#053878', 'color':'#CEE7F7'}" :data="txlData" style="width: 100%"
:row-class-name="tableRowClassName">
<el-table-column prop="date" label="部门" width="auto" align="center">
</el-table-column>
<el-table-column prop="name" label="姓名" width="auto" align="center">
</el-table-column>
<el-table-column prop="jh" label="警号" width="auto" align="center">
</el-table-column>
<el-table-column prop="lxdh" label="联系电话" width="auto" align="center">
</el-table-column>
</el-table>
</div>
</div>
</div>
<!--文档下载弹窗-->
<div class="wdxz" @click.self="closeSptc" v-show="wdxz">
<div class="txl_content">
<div class="top">
<div class="title">文档下载</div>
<div class="close" @click.stop="closeSptc">
<img src="../../assets/img/txl/close.png" alt="">
</div>
</div>
<div class="dashed_line">
<img src="../../assets/img/txl/dashed.png" alt="">
<!--通讯录弹窗-->
<div class="txl" @click.self="closeSptc" v-show="txl">
<div class="txl_content">
<div class="top">
<div class="title">通讯录</div>
<div class="close" @click.stop="closeSptc">
<img src="../../assets/img/txl/close.png" alt="">
</div>
</div>
<div class="dashed_line">
<img src="../../assets/img/txl/dashed.png" alt="">
</div>
<div class="table">
<el-table :highlight-current-row="false" ref="table" class="tableData" border max-height="320"
:header-cell-style="{'background':'#053878', 'color':'#CEE7F7'}" :data="txlData"
style="width: 100%"
:row-class-name="tableRowClassName">
<el-table-column prop="date" label="部门" width="auto" align="center">
</el-table-column>
<el-table-column prop="name" label="姓名" width="auto" align="center">
</el-table-column>
<el-table-column prop="jh" label="警号" width="auto" align="center">
</el-table-column>
<el-table-column prop="lxdh" label="联系电话" width="auto" align="center">
</el-table-column>
</el-table>
</div>
</div>
</div>
<div class="table">
<el-table :highlight-current-row="false" ref="table" class="tableData" border max-height="320"
:header-cell-style="{'background':'#053878', 'color':'#CEE7F7'}" :data="wdxzData" style="width: 100%"
:row-class-name="tableRowClassName">
<el-table-column prop="date" label="文档名称" width="441">
</el-table-column>
<el-table-column prop="name" label="操作" width="auto" align="center">
</el-table-column>
</el-table>
<!--文档下载弹窗-->
<div class="wdxz" @click.self="closeSptc" v-show="wdxz">
<div class="txl_content">
<div class="top">
<div class="title">文档下载</div>
<div class="close" @click.stop="closeSptc">
<img src="../../assets/img/txl/close.png" alt="">
</div>
</div>
<div class="dashed_line">
<img src="../../assets/img/txl/dashed.png" alt="">
</div>
<div class="table">
<el-table :highlight-current-row="false" ref="table" class="tableData" border max-height="320"
:header-cell-style="{'background':'#053878', 'color':'#CEE7F7'}" :data="wdxzData"
style="width: 100%"
:row-class-name="tableRowClassName">
<el-table-column prop="date" label="文档名称" width="441">
</el-table-column>
<el-table-column prop="name" label="操作" width="auto" align="center">
</el-table-column>
</el-table>
</div>
</div>
</div>
</div>
<!--登录弹窗-->
<login v-show="sptc" @sptcFn="sptcFn"/>
</div>
<!--登录弹窗-->
<login v-show="sptc" @sptcFn="sptcFn"/>
</div>
</template>
<script>
import zoom from '@/utils/autosize.js'
import echarts from 'echarts'
import login from '@c/login.vue'
import * as am4core from '@amcharts/amcharts4/core'
import * as am4charts from '@amcharts/amcharts4/charts'
import am4themes_animated from '@amcharts/amcharts4/themes/animated'
import axios from 'axios'
import moment from 'moment'
import zoom from '@/utils/autosize.js'
import echarts from 'echarts'
import login from '@c/login.vue'
import * as am4core from '@amcharts/amcharts4/core'
import * as am4charts from '@amcharts/amcharts4/charts'
import am4themes_animated from '@amcharts/amcharts4/themes/animated'
import axios from 'axios'
import moment from 'moment'
am4core.useTheme(am4themes_animated)
export default {
name: 'index',
components:{ login },
data() {
return {
userInfo: JSON.parse(localStorage.getItem('userInfo')) || {},
isFalg: localStorage.getItem('isFalg') || false,
txlData: [{
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}, {
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}, {
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}, {
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}, {
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}, {
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}, {
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}],
wdxzData: [{
date: '重庆市***区公安局市xxx文档',
name: '下载'
}, {
date: '重庆市***区公安局市xxx文档',
name: '下载'
}, {
date: '重庆市***区公安局市xxx文档',
name: '下载'
}],
dialogFormVisible: false,
list1: [
{
name: '用户手册',
imgUrl: require('@/assets/img/cygj_yhsc.png')
},
{
name: '数字证书',
imgUrl: require('@/assets/img/cygj_szzs.png')
},
{
name: '浏览器',
imgUrl: require('@/assets/img/cygj_llq.png')
},
{
name: '空间转换',
imgUrl: require('@/assets/img/cygj_kjzh.png')
}
],
label: [233, 233, 200, 180, 199, 233, 210, 180],
value: [233, 233, 200, 180, 199, 233, 210, 180],
list2: [
{
imgUrl: require('@/assets/img/sy_kk.png'),
name: '卡口',
total: 129
},
{
imgUrl: require('@/assets/img/sy_sp.png'),
name: '视频',
total: 129
},
{
imgUrl: require('@/assets/img/sy_wb.png'),
name: '网吧',
total: 129
},
{
imgUrl: require('@/assets/img/sy_ld.png'),
name: '旅店',
total: 129
}
],
list4: [],
tableData: [
{
department: '2016-05-02',
name: '王小虎',
Jnumber: '688369',
phone: '18330987255'
},
{
department: '2016-05-04',
name: '王小虎',
Jnumber: '688369',
phone: '18330987255'
},
{
department: '2016-05-01',
name: '王小虎',
Jnumber: '688369',
phone: '18330987255'
},
{
department: '2016-05-03',
name: '王小虎',
Jnumber: '688369',
phone: '18330987255'
}
],
statistics: [
{
name: '案件总数',
total: 3566
},
{
name: '嫌疑人数',
total: 3481
},
{
name: '重点人员数',
total: 3292
},
{
name: '可疑人员数',
total: 4630
},
{
name: '可疑车辆数',
total: 4200
},
{
name: '可疑标识数',
total: 2440
}
],
sptc: false,
txl: false,
wdxz: false,
tableDataTztg: [],
}
},
mounted() {
this.getData()
this.getDataTztg()
this.initLineEcharts()
this.$refs.table.clearSort()
// 屏幕自适应
zoom('syBox')
window.addEventListener('resize', function () {
zoom('syBox')
})
},
methods: {
sptcFn(val){
this.sptc = val
},
// 通知通告
getDataTztg() {
let self = this
axios.get('/xzz/getXtgxxPage', {
params: {
mbbt: '',
page: 1,
row: 9999
}
}).then(res => {
if (res.state == 'success') {
self.tableLoading = false
self.tableDataTztg = res.data
// self.total = res.count
if (self.tableDataTztg.length > 0) {
self.tableDataTztg.forEach(item => {
if (item.fbsj) {
item.fbsj = moment(item.fbsj).format('MM月DD日')
}
})
}
}
})
},
// 接口1
getData() {
let self = this
axios.post('/xxyy/selectCounts').then(res => {
self.list2 = res.list2
self.list2.forEach(item => {
switch (item.name) {
case '卡口':
item.imgUrl = require('@/assets/img/sy_kk.png')
break
case '视频':
item.imgUrl = require('@/assets/img/sy_sp.png')
break
case '网吧':
item.imgUrl = require('@/assets/img/sy_wb.png')
break
case '旅店':
item.imgUrl = require('@/assets/img/sy_ld.png')
break
}
})
self.statistics = res.list3
self.list4 = res.list1
self.list4.forEach(item => {
switch (item.name) {
case '卷宗统计':
item.imgUrl = require('@/assets/img/center/jztj.png')
break
case '申请单统计':
item.imgUrl = require('@/assets/img/center/sqdtj.png')
break
case '线索统计':
item.imgUrl = require('@/assets/img/center/xstj.png')
break
case '审批统计':
item.imgUrl = require('@/assets/img/center/sptj.png')
break
}
})
self.initPieEcharts()
})
},
tableRowClassName({ row, rowIndex }) {
return 'rowClass'
},
closeSptc() {
this.sptc = false
this.txl = false
this.wdxz = false
},
// 点击通讯录按钮
getTxl() {
this.txl = true
},
// 点击文档下载按钮
getWdxz() {
this.wdxz = true
},
// 点击登录按钮
getLogin() {
this.sptc = true
},
// 点击退出登录
LoginOut() {
let self = this
self.$confirm('此操作将退出登录状态, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
self.$message({
type: 'success',
message: '退出登录成功!'
});
self.isFalg = false
localStorage.clear()
// self.$router.push('/sy')
self.userInfo = {}
self.$forceUpdate()
// window.opener.location.reload()
// window.close()
}).catch(() => {
self.$message({
type: 'info',
message: '已取消退出登录'
});
});
},
/**
* @description: 初始化线echarts图
* @param {*}
* @return {*}
* @author: 赵鹏龙
*/
initLineEcharts() {
let self = this
let myChart = echarts.init(document.getElementById('line-echarts'))
let option = {
grid: {
top: '10px'
},
tooltip: {
trigger: 'axis',
axisPointer: {
lineStyle: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [
{
offset: 0,
color: 'rgba(255,255,255,0)' // 0% 处的颜色
},
{
offset: 0.5,
color: 'rgba(255,255,255,1)' // 100% 处的颜色
},
{
offset: 1,
color: 'rgba(255,255,255,0)' // 100% 处的颜色
}
am4core.useTheme(am4themes_animated)
export default {
name: 'index',
components: {login},
data() {
return {
userInfo: JSON.parse(localStorage.getItem('userInfo')) || {},
isFalg: localStorage.getItem('isFalg') || false,
txlData: [{
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}, {
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}, {
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}, {
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}, {
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}, {
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}, {
date: '刑侦总队',
name: '下载',
jh: '560528',
lxdh: '15183424744'
}],
wdxzData: [{
date: '重庆市***区公安局市xxx文档',
name: '下载'
}, {
date: '重庆市***区公安局市xxx文档',
name: '下载'
}, {
date: '重庆市***区公安局市xxx文档',
name: '下载'
}],
dialogFormVisible: false,
list1: [
{
name: '用户手册',
imgUrl: require('@/assets/img/cygj_yhsc.png')
},
{
name: '数字证书',
imgUrl: require('@/assets/img/cygj_szzs.png')
},
{
name: '浏览器',
imgUrl: require('@/assets/img/cygj_llq.png')
},
{
name: '空间转换',
imgUrl: require('@/assets/img/cygj_kjzh.png')
}
],
label: [233, 233, 200, 180, 199, 233, 210, 180],
value: [233, 233, 200, 180, 199, 233, 210, 180],
list2: [
{
imgUrl: require('@/assets/img/sy_kk.png'),
name: '卡口',
total: 129
},
{
imgUrl: require('@/assets/img/sy_sp.png'),
name: '视频',
total: 129
},
{
imgUrl: require('@/assets/img/sy_wb.png'),
name: '网吧',
total: 129
},
{
imgUrl: require('@/assets/img/sy_ld.png'),
name: '旅店',
total: 129
}
],
list4: [],
tableData: [
{
department: '2016-05-02',
name: '王小虎',
Jnumber: '688369',
phone: '18330987255'
},
{
department: '2016-05-04',
name: '王小虎',
Jnumber: '688369',
phone: '18330987255'
},
{
department: '2016-05-01',
name: '王小虎',
Jnumber: '688369',
phone: '18330987255'
},
{
department: '2016-05-03',
name: '王小虎',
Jnumber: '688369',
phone: '18330987255'
}
],
tableData2: [
{
date: '2016/05/02',
type: '转出',
number: '688.69',
id: '6217220000121245454'
},
{
date: '2016/05/02',
type: '转入',
number: '688.69',
id: '6217220000121245454'
},
{
date: '2016/05/02',
type: '转出',
number: '688.69',
id: '6217220000121245454'
},
{
date: '2016/05/02',
type: '转入',
number: '688.69',
id: '6217220000121245454'
},
{
date: '2016/05/02',
type: '转出',
number: '688.69',
id: '6217220000121245454'
},
{
date: '2016/05/02',
type: '转入',
number: '688.69',
id: '6217220000121245454'
},
{
date: '2016/05/02',
type: '转入',
number: '688.69',
id: '6217220000121245454'
}
],
global: false // 缺省为 false
}
statistics: [
{
name: '案件总数',
total: 3566
},
{
name: '嫌疑人数',
total: 3481
},
{
name: '重点人员数',
total: 3292
},
{
name: '可疑人员数',
total: 4630
},
{
name: '可疑车辆数',
total: 4200
},
{
name: '可疑标识数',
total: 2440
}
],
sptc: false,
txl: false,
wdxz: false,
tableDataTztg: [],
}
}
},
xAxis: [
{
type: 'category',
boundaryGap: false,
axisLabel: {
formatter: '{value}',
fontSize: 14,
margin: 20,
textStyle: {
color: '#7ec7ff'
}
mounted() {
this.getData()
this.getDataTztg()
this.initLineEcharts()
this.$refs.table.clearSort()
// 屏幕自适应
zoom('syBox')
window.addEventListener('resize', function () {
zoom('syBox')
})
},
methods: {
// 去门户
goTo() {
let self = this
self.$router.push('/mhgl')
},
axisLine: {
lineStyle: {
color: '#243753'
}
sptcFn(val) {
this.sptc = val
},
splitLine: {
show: false,
lineStyle: {
color: '#243753'
}
// 通知通告
getDataTztg() {
let self = this
axios.get('/xxzz/getXtgxxPage', {
params: {
mbbt: '',
page: 1,
row: 9999
}
}).then(res => {
if (res.state == 'success') {
self.tableLoading = false
self.tableDataTztg = res.data
// self.total = res.count
if (self.tableDataTztg.length > 0) {
self.tableDataTztg.forEach(item => {
if (item.fbsj) {
item.fbsj = moment(item.fbsj).format('MM月DD日')
}
})
}
}
})
},
axisTick: {
show: false
// 接口1
getData() {
let self = this
axios.post('/xxyy/selectCounts').then(res => {
self.list2 = res.list2
self.list2.forEach(item => {
switch (item.name) {
case '卡口':
item.imgUrl = require('@/assets/img/sy_kk.png')
break
case '视频':
item.imgUrl = require('@/assets/img/sy_sp.png')
break
case '网吧':
item.imgUrl = require('@/assets/img/sy_wb.png')
break
case '旅店':
item.imgUrl = require('@/assets/img/sy_ld.png')
break
}
})
self.statistics = res.list3
self.list4 = res.list1
self.list4.forEach(item => {
switch (item.name) {
case '卷宗统计':
item.imgUrl = require('@/assets/img/center/jztj.png')
break
case '申请单统计':
item.imgUrl = require('@/assets/img/center/sqdtj.png')
break
case '线索统计':
item.imgUrl = require('@/assets/img/center/xstj.png')
break
case '审批统计':
item.imgUrl = require('@/assets/img/center/sptj.png')
break
}
})
self.initPieEcharts()
})
},
data: self.label
}
],
yAxis: [
{
boundaryGap: false,
type: 'value',
axisLabel: {
textStyle: {
color: '#7ec7ff'
}
tableRowClassName({row, rowIndex}) {
return 'rowClass'
},
nameTextStyle: {
color: '#fff',
fontSize: 12
closeSptc() {
this.sptc = false
this.txl = false
this.wdxz = false
},
splitLine: {
show: false,
lineStyle: {
color: '#243753'
}
// 点击通讯录按钮
getTxl() {
this.txl = true
},
axisLine: {
show: true,
lineStyle: {
color: '#283352'
}
// 点击文档下载按钮
getWdxz() {
this.wdxz = true
},
axisTick: {
show: false
}
}
],
series: [
{
name: '报名',
type: 'line',
smooth: true,
showSymbol: true,
symbolSize: 8,
zlevel: 3,
itemStyle: {
color: '#19a3df',
borderColor: '#a3c8d8'
// 点击登录按钮
getLogin() {
this.sptc = true
},
lineStyle: {
normal: {
width: 2,
color: '#19a3df'
}
// 点击退出登录
LoginOut() {
let self = this
self.$confirm('此操作将退出登录状态, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
self.$message({
type: 'success',
message: '退出登录成功!'
});
self.isFalg = false
localStorage.clear()
// self.$router.push('/sy')
self.userInfo = {}
self.$forceUpdate()
// window.opener.location.reload()
// window.close()
}).catch(() => {
self.$message({
type: 'info',
message: '已取消退出登录'
});
});
},
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: 'rgba(88,255,255,0.2)'
/**
* @description: 初始化线echarts图
* @param {*}
* @return {*}
* @author: 赵鹏龙
*/
initLineEcharts() {
let self = this
let myChart = echarts.init(document.getElementById('line-echarts'))
let option = {
grid: {
top: '10px'
},
{
offset: 0.8,
color: 'rgba(88,255,255,0)'
}
],
false
)
}
tooltip: {
trigger: 'axis',
axisPointer: {
lineStyle: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [
{
offset: 0,
color: 'rgba(255,255,255,0)' // 0% 处的颜色
},
{
offset: 0.5,
color: 'rgba(255,255,255,1)' // 100% 处的颜色
},
{
offset: 1,
color: 'rgba(255,255,255,0)' // 100% 处的颜色
}
],
global: false // 缺省为 false
}
}
}
},
xAxis: [
{
type: 'category',
boundaryGap: false,
axisLabel: {
formatter: '{value}',
fontSize: 14,
margin: 20,
textStyle: {
color: '#7ec7ff'
}
},
axisLine: {
lineStyle: {
color: '#243753'
}
},
splitLine: {
show: false,
lineStyle: {
color: '#243753'
}
},
axisTick: {
show: false
},
data: self.label
}
],
yAxis: [
{
boundaryGap: false,
type: 'value',
axisLabel: {
textStyle: {
color: '#7ec7ff'
}
},
nameTextStyle: {
color: '#fff',
fontSize: 12
},
splitLine: {
show: false,
lineStyle: {
color: '#243753'
}
},
axisLine: {
show: true,
lineStyle: {
color: '#283352'
}
},
axisTick: {
show: false
}
}
],
series: [
{
name: '报名',
type: 'line',
smooth: true,
showSymbol: true,
symbolSize: 8,
zlevel: 3,
itemStyle: {
color: '#19a3df',
borderColor: '#a3c8d8'
},
lineStyle: {
normal: {
width: 2,
color: '#19a3df'
}
},
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: 'rgba(88,255,255,0.2)'
},
{
offset: 0.8,
color: 'rgba(88,255,255,0)'
}
],
false
)
}
},
data: self.value
}
]
}
myChart.setOption(option)
},
data: self.value
}
]
}
myChart.setOption(option)
},
initPieEcharts() {
// Themes begin
let self = this
am4core.useTheme(am4themes_animated)
// Themes end
initPieEcharts() {
// Themes begin
let self = this
am4core.useTheme(am4themes_animated)
// Themes end
var chart = am4core.create('pie-charts', am4charts.PieChart3D)
chart.data = []
chart.hiddenState.properties.opacity = 0 // this creates initial fade-in
var chart = am4core.create('pie-charts', am4charts.PieChart3D)
chart.data = []
chart.hiddenState.properties.opacity = 0 // this creates initial fade-in
self.list2.forEach(item => {
let obj = {}
switch (item.name) {
case '卡口':
obj.color = am4core.color('#CD2EF8')
break
case '视频':
obj.color = am4core.color('#0BBAE6')
break
case '网吧':
obj.color = am4core.color('#904AFD')
break
case '旅店':
obj.color = am4core.color('#3764FC')
break
}
obj.country = item.name
obj.litres = item.total
chart.data.push(obj)
})
self.list2.forEach(item => {
let obj = {}
switch (item.name) {
case '卡口':
obj.color = am4core.color('#CD2EF8')
break
case '视频':
obj.color = am4core.color('#0BBAE6')
break
case '网吧':
obj.color = am4core.color('#904AFD')
break
case '旅店':
obj.color = am4core.color('#3764FC')
break
}
obj.country = item.name
obj.litres = item.total
chart.data.push(obj)
})
chart.depth = 50
var series = chart.series.push(new am4charts.PieSeries3D())
series.dataFields.value = 'litres'
series.dataFields.depthValue = 'litres'
series.dataFields.category = 'country'
series.angle = 45
series.slices.template.cornerRadius = 5
series.ticks.template.disabled = true
series.alignLabels = false
series.labels.template.text = '{value.percent.formatNumber(\'#.0\')}%'
series.labels.template.radius = am4core.percent(-40)
series.labels.template.fill = am4core.color('white')
series.colors.step = 3
chart.depth = 50
var series = chart.series.push(new am4charts.PieSeries3D())
series.dataFields.value = 'litres'
series.dataFields.depthValue = 'litres'
series.dataFields.category = 'country'
series.angle = 45
series.slices.template.cornerRadius = 5
series.ticks.template.disabled = true
series.alignLabels = false
series.labels.template.text = '{value.percent.formatNumber(\'#.0\')}%'
series.labels.template.radius = am4core.percent(-40)
series.labels.template.fill = am4core.color('white')
series.colors.step = 3
}
}
}
}
}
</script>
<style scoped lang="scss">
@import './index.scss';
@import './index.scss';
</style>
<style lang="scss">
.sy_box_content_r_b_content::-webkit-scrollbar-track {
background-color: #072550;
}
.sy_box_content_r_b_content::-webkit-scrollbar-track {
background-color: #072550;
}
.sy_box_content_r_b_content::-webkit-scrollbar {
width: 5px;
}
.sy_box_content_r_b_content::-webkit-scrollbar {
width: 5px;
}
.sy_box_content_r_b_content::-webkit-scrollbar-thumb {
background-color: #000;
/*border-radius: 50%;*/
}
.sy_box_content_r_b_content::-webkit-scrollbar-thumb {
background-color: #000;
/*border-radius: 50%;*/
}
</style>
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