Commit e1ddb05b by chenqiang

栏目、模型、门户,首页

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