Commit 9b409239 by gao_yingdong

工作桌面,带犬人分析,退役犬分析

parent e84c76a2
File deleted
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
"js-cookie": "^2.2.1", "js-cookie": "^2.2.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"moment": "^2.29.4", "moment": "^2.29.4",
"pubsub-js": "^1.9.4",
"qs": "^6.9.4", "qs": "^6.9.4",
"sass-loader": "^7.0.0", "sass-loader": "^7.0.0",
"sass-resources-loader": "^2.1.1", "sass-resources-loader": "^2.1.1",
......
...@@ -35,7 +35,23 @@ export const getArtisanJwjsxl = params => ...@@ -35,7 +35,23 @@ export const getArtisanJwjsxl = params =>
export const getArtisanRyfl = params => export const getArtisanRyfl = params =>
postJson(`${baseUrl}/homePage/getArtisanRyfl`, params) postJson(`${baseUrl}/homePage/getArtisanRyfl`, params)
export const getArtisanToal = params => export const getArtisanToal = params =>
postJson(`${baseUrl}/homePage/getArtisanToal`, params) postJson(`${baseUrl}/homePage/getArtisanToal`, params)
// 退役犬总数
export const getRetiredTotal = params =>
postJson(`${baseUrl}/homePage/getRetiredTotal`, params)
// 退役犬分析
export const getRetiredReasons = params =>
postJson(`${baseUrl}/homePage/getRetiredReasons`, params)
// 等级分布
export const getRetiredDogByType = params =>
postJson(`${baseUrl}/homePage/getRetiredDogByType`, params)
export const getArtisanAge = params =>
postJson(`${baseUrl}/homePage/getArtisanAge`, params)
...@@ -16,3 +16,30 @@ export const getGzqjzTJCountNow = params => ...@@ -16,3 +16,30 @@ export const getGzqjzTJCountNow = params =>
// 数据分析--警用犬种统计 // 数据分析--警用犬种统计
export const getSelectDogQzFlCount = params => export const getSelectDogQzFlCount = params =>
postJson(`${baseUrl}/policeDogScreen/selectDogQzFlCount`, params) postJson(`${baseUrl}/policeDogScreen/selectDogQzFlCount`, params)
// 工作左面 new
// 工作概况
export const getGeneralSituation = params =>
postJson(`${baseUrl}/workDesk/getGeneralSituation`, params)
// 待办事项
export const getTransactPage = params =>
postJson(`${baseUrl}/workDesk/getTransactPage`, params)
// 预警数据
export const getEventWarningPage = params =>
postJson(`${baseUrl}/workDesk/getEventWarningPage`, params)
// 归属警种统计 统计报表
export const getWorkDogPoliceCategory = params =>
postJson(`${baseUrl}/workDesk/getWorkDogPoliceCategory`, params)
// 待办查询
export const getMyMemorandumList = params =>
postJson(`${baseUrl}/workDesk/getMyMemorandumList`, params)
// 待办保存
export const addOrUpdateMemorandum = params =>
postJson(`${baseUrl}/workDesk/addOrUpdateMemorandum`, params)
\ No newline at end of file
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
.rightContent { .rightContent {
flex: 1; flex: 1;
height: 100%; height: 100%;
background: #EFEFEF;
.green { .green {
display: inline-block; display: inline-block;
width: 20px; width: 20px;
......
...@@ -169,6 +169,7 @@ export default { ...@@ -169,6 +169,7 @@ export default {
this.$refs.codeTreeDialog.filter(val); this.$refs.codeTreeDialog.filter(val);
}, },
newValue(val) { newValue(val) {
debugger
// if (val != '' && this.codeTreeConfig.fieldItem == null) { // if (val != '' && this.codeTreeConfig.fieldItem == null) {
if (val != "") { if (val != "") {
var self = this; var self = this;
...@@ -217,6 +218,7 @@ export default { ...@@ -217,6 +218,7 @@ export default {
}, },
methods: { methods: {
getcode() { getcode() {
debugger
var self = this; var self = this;
if (self.curFormData[self.curItem.id]) { if (self.curFormData[self.curItem.id]) {
let parm = { let parm = {
...@@ -399,6 +401,7 @@ export default { ...@@ -399,6 +401,7 @@ export default {
* 展示字典树弹出框 * 展示字典树弹出框
*/ */
showCodeTreeDialog(value, item, realFormLableAlign, realValueKey) { showCodeTreeDialog(value, item, realFormLableAlign, realValueKey) {
debugger
var self = this; var self = this;
//判断是否要回显 //判断是否要回显
if (realFormLableAlign[realValueKey]) { if (realFormLableAlign[realValueKey]) {
...@@ -471,6 +474,7 @@ export default { ...@@ -471,6 +474,7 @@ export default {
* 懒加载节点 * 懒加载节点
*/ */
loadNode(currentNode, resolve) { loadNode(currentNode, resolve) {
debugger
var self = this; var self = this;
var cc = arguments; var cc = arguments;
let parm = { let parm = {
...@@ -480,6 +484,10 @@ export default { ...@@ -480,6 +484,10 @@ export default {
parm.id = currentNode.data.id; parm.id = currentNode.data.id;
parm.grade = "next"; parm.grade = "next";
} }
let grades = JSON.parse(sessionStorage.getItem('userInfo'))
if (grades.grade != 'B' && currentNode.level == 0) {
parm.id = grades.unitcode
}
self.doQueryRequest(parm, "/queryTypeCode").then((codeResult) => { self.doQueryRequest(parm, "/queryTypeCode").then((codeResult) => {
if (codeResult) { if (codeResult) {
//判断是否有下级 //判断是否有下级
......
...@@ -87,11 +87,25 @@ export default [ ...@@ -87,11 +87,25 @@ export default [
{ {
path: 'sjfx', path: 'sjfx',
name: 'sjfx', name: 'sjfx',
component: () => import('@/views/sjfx/sjfx.vue'), component: () => import('@/views/sjfx/sjfxNew/sjfx.vue'),
// component: () => import('@/views/sjfx/sjfx.vue'),
meta: { meta: {
title: '工作桌面', title: '工作桌面',
iconfont: 'icon-shishidapingbeifen_jingquan', iconfont: 'icon-shishidapingbeifen_jingquan',
isOneMenu: true isOneMenu: true,
keepAlive: true,
paixu: 1,
routeNames: ['yjxxDetail']
}
},
{
path: 'yjxxDetail',
name: 'yjxxDetail',
component: () => import('@/views/sjfx/sjfxNew/components/yjxxDetail.vue'),
meta: {
title: '预警数据-详情',
// 编辑新增页面此字段务必设置为true
isEditPage: true
} }
}, },
// 警犬管理(一级菜单) // 警犬管理(一级菜单)
...@@ -158,7 +172,7 @@ export default [ ...@@ -158,7 +172,7 @@ export default [
isEditPage: true isEditPage: true
} }
}, },
// 工作犬复训管理(二级菜单) // 工作犬评定管理(二级菜单)
{ {
path: 'jobDogManage', path: 'jobDogManage',
name: 'jobDogManage', name: 'jobDogManage',
...@@ -177,7 +191,7 @@ export default [ ...@@ -177,7 +191,7 @@ export default [
name: 'jobDogRefreshment', name: 'jobDogRefreshment',
component: () => import('@/views/jobDogRefreshment/index.vue'), component: () => import('@/views/jobDogRefreshment/index.vue'),
meta: { meta: {
title: '审核管理', title: '评定审核',
isOneMenu: false, isOneMenu: false,
keepAlive: true, keepAlive: true,
oneMenuName: 'jqjsgzgl', oneMenuName: 'jqjsgzgl',
...@@ -185,7 +199,7 @@ export default [ ...@@ -185,7 +199,7 @@ export default [
routeNames: ["jobDogManageSp"] routeNames: ["jobDogManageSp"]
} }
}, },
// 工作犬复训管理(编辑页) // 工作犬评定管理(编辑页)
{ {
path: 'jobDogManageSp', path: 'jobDogManageSp',
name: 'jobDogManageSp', name: 'jobDogManageSp',
...@@ -196,7 +210,7 @@ export default [ ...@@ -196,7 +210,7 @@ export default [
isEditPage: true isEditPage: true
} }
}, },
// 工作犬复训管理(编辑页) // 工作犬评定管理(编辑页)
{ {
path: 'jobDogManagetySp', path: 'jobDogManagetySp',
name: 'jobDogManagetySp', name: 'jobDogManagetySp',
...@@ -207,7 +221,7 @@ export default [ ...@@ -207,7 +221,7 @@ export default [
isEditPage: true isEditPage: true
} }
}, },
// 工作犬复训管理(详情) // 工作犬评定管理(详情)
{ {
path: 'jobDogManagetyXq', path: 'jobDogManagetyXq',
name: 'jobDogManagetyXq', name: 'jobDogManagetyXq',
...@@ -218,46 +232,46 @@ export default [ ...@@ -218,46 +232,46 @@ export default [
isEditPage: true isEditPage: true
} }
}, },
// 工作犬复训管理(编辑页) // 工作犬评定管理(编辑页)
{ {
path: 'jobDogManageEdit', path: 'jobDogManageEdit',
name: 'jobDogManageEdit', name: 'jobDogManageEdit',
component: () => import('@/views/jobDogManage/components/jobDogManageEdit2.vue'), component: () => import('@/views/jobDogManage/components/jobDogManageEdit2.vue'),
meta: { meta: {
title: '工作犬复训管理-编辑', title: '工作犬评定管理-编辑',
// 编辑新增页面此字段务必设置为true // 编辑新增页面此字段务必设置为true
isEditPage: true isEditPage: true
} }
}, },
// 工作犬复训管理(新增页) // 工作犬评定管理(新增页)
{ {
path: 'jobDogManageAdd', path: 'jobDogManageAdd',
name: 'jobDogManageAdd', name: 'jobDogManageAdd',
component: () => import('@/views/jobDogManage/components/jobDogManageEdit3.vue'), component: () => import('@/views/jobDogManage/components/jobDogManageEdit3.vue'),
meta: { meta: {
title: '工作犬复训管理-新增', title: '工作犬评定管理-新增',
// 编辑新增页面此字段务必设置为true // 编辑新增页面此字段务必设置为true
isEditPage: true isEditPage: true
} }
}, },
// 工作犬复训管理(新增页) // 工作犬评定管理(新增页)
{ {
path: 'jobDogManagexq', path: 'jobDogManagexq',
name: 'jobDogManagexq', name: 'jobDogManagexq',
component: () => import('@/views/jobDogManage/components/jobDogManageXq.vue'), component: () => import('@/views/jobDogManage/components/jobDogManageXq.vue'),
meta: { meta: {
title: '工作犬复训管理-详情', title: '工作犬评定管理-详情',
// 编辑新增页面此字段务必设置为true // 编辑新增页面此字段务必设置为true
isEditPage: true isEditPage: true
} }
}, },
// 工作犬复训管理(批量新增页) // 工作犬评定管理(批量新增页)
{ {
path: 'jobDogManageBatchAdd', path: 'jobDogManageBatchAdd',
name: 'jobDogManageBatchAdd', name: 'jobDogManageBatchAdd',
component: () => import('@/views/jobDogManage/components/jobDogManageBatchAdd.vue'), component: () => import('@/views/jobDogManage/components/jobDogManageBatchAdd.vue'),
meta: { meta: {
title: '工作犬复训管理-批量新增', title: '工作犬评定管理-批量新增',
// 编辑新增页面此字段务必设置为true // 编辑新增页面此字段务必设置为true
isEditPage: true isEditPage: true
} }
......
...@@ -35,6 +35,7 @@ export const getJsonDataApi = (fileName) => { ...@@ -35,6 +35,7 @@ export const getJsonDataApi = (fileName) => {
// 通过接口获取归属单位数据 // 通过接口获取归属单位数据
export const getUnitData = () => { export const getUnitData = () => {
debugger
let params = { let params = {
type: 'CODE_QGUNIT', type: 'CODE_QGUNIT',
id: '150000010000' id: '150000010000'
......
...@@ -392,7 +392,7 @@ export const getGzqfxglAllColumns = () => { ...@@ -392,7 +392,7 @@ export const getGzqfxglAllColumns = () => {
] ]
return arr return arr
} }
// 工作犬审核管理(全部列) // 工作犬评定审核(全部列)
export const getGzqfxglAllColumnsSh = () => { export const getGzqfxglAllColumnsSh = () => {
let arr = [ let arr = [
{ {
...@@ -507,7 +507,7 @@ export const getGzqfxglDefaultColumns = () => { ...@@ -507,7 +507,7 @@ export const getGzqfxglDefaultColumns = () => {
} }
// 工作犬审核管理(默认列) // 工作犬评定审核(默认列)
export const getGzqfxglDefaultColumnsSh = () => { export const getGzqfxglDefaultColumnsSh = () => {
let arr = [ let arr = [
{ {
...@@ -624,7 +624,7 @@ export const getJyzqDefaultColumns = () => { ...@@ -624,7 +624,7 @@ export const getJyzqDefaultColumns = () => {
// 退役犬审核管理(全部列) // 退役犬评定审核(全部列)
export const getTyshqglAllColumns = () => { export const getTyshqglAllColumns = () => {
let arr = [ let arr = [
{ {
...@@ -684,7 +684,7 @@ export const getTyshqglAllColumns = () => { ...@@ -684,7 +684,7 @@ export const getTyshqglAllColumns = () => {
return arr return arr
} }
// 退役犬审核管理(默认列) // 退役犬评定审核(默认列)
export const getTyshqglDefaultColumns = () => { export const getTyshqglDefaultColumns = () => {
let arr = [ let arr = [
{ {
......
export let yearList = [
{
value: "1990",
label: "1990年",
},
{
value: "1991",
label: "1991年",
},
{
value: "1992",
label: "1992年",
},
{
value: "1993",
label: "1993年",
},
{
value: "1994",
label: "1994年",
},
{
value: "1995",
label: "1995年",
},
{
value: "1996",
label: "1996年",
},
{
value: "1997",
label: "1997年",
},
{
value: "1998",
label: "1998年",
},
{
value: "1999",
label: "1999年",
},
{
value: "2000",
label: "2000年",
},
{
value: "2001",
label: "2001年",
},
{
value: "2002",
label: "2002年",
},
{
value: "2003",
label: "2003年",
},
{
value: "2004",
label: "2004年",
},
{
value: "2005",
label: "2005年",
},
{
value: "2006",
label: "2006年",
},
{
value: "2007",
label: "2007年",
},
{
value: "2008",
label: "2008年",
},
{
value: "2009",
label: "2009年",
},
{
value: "2010",
label: "2010年",
},
{
value: "2011",
label: "2011年",
},
{
value: "2012",
label: "2012年",
},
{
value: "2013",
label: "2013年",
},
{
value: "2014",
label: "2014年",
},
{
value: "2015",
label: "2015年",
},
{
value: "2016",
label: "2016年",
},
{
value: "2017",
label: "2017年",
},
{
value: "2018",
label: "2018年",
},
{
value: "2019",
label: "2019年",
},
{
value: "2020",
label: "2020年",
},
{
value: "2021",
label: "2021年",
},
{
value: "2022",
label: "2022年",
},
{
value: "2023",
label: "2023年",
},
{
value: "2024",
label: "2024年",
},
{
value: "2025",
label: "2025年",
},
{
value: "2026",
label: "2026年",
},
{
value: "2027",
label: "2027年",
},
{
value: "2028",
label: "2028年",
},
{
value: "2029",
label: "2029年",
},
{
value: "2030",
label: "2030年",
},
{
value: "2031",
label: "2031年",
},
{
value: "2032",
label: "2032年",
},
{
value: "2033",
label: "2033年",
},
{
value: "2034",
label: "2034年",
},
{
value: "2035",
label: "2035年",
},
{
value: "2036",
label: "2036年",
},
{
value: "2037",
label: "2037年",
},
{
value: "2038",
label: "2038年",
},
{
value: "2039",
label: "2039年",
},
{
value: "2040",
label: "2040年",
},
{
value: "2041",
label: "2041年",
},
{
value: "2042",
label: "2042年",
},
{
value: "2043",
label: "2043年",
},
{
value: "2044",
label: "2044年",
},
{
value: "2045",
label: "2045年",
},
{
value: "2046",
label: "2046年",
},
{
value: "2047",
label: "2047年",
},
{
value: "2048",
label: "2048年",
},
{
value: "2049",
label: "2049年",
},
{
value: "2050",
label: "2050年",
},
{
value: "2051",
label: "2051年",
},
{
value: "2052",
label: "2052年",
},
{
value: "2053",
label: "2053年",
},
{
value: "2054",
label: "2054年",
},
{
value: "2055",
label: "2055年",
},
{
value: "2056",
label: "2056年",
},
{
value: "2057",
label: "2057年",
},
{
value: "2058",
label: "2058年",
},
{
value: "2059",
label: "2059年",
},
{
value: "2060",
label: "2060年",
},
{
value: "2061",
label: "2061年",
},
{
value: "2062",
label: "2062年",
},
{
value: "2063",
label: "2063年",
},
]
\ No newline at end of file
...@@ -188,7 +188,7 @@ ...@@ -188,7 +188,7 @@
<span v-else-if="item.prop === 'gsdwGajgjgdm'">{{ scope.row.gsdwGajgjgdm }}</span> <span v-else-if="item.prop === 'gsdwGajgjgdm'">{{ scope.row.gsdwGajgjgdm }}</span>
<span v-else-if="item.prop === 'jwjsxlForName'">{{ scope.row.jwjsxlForName }}</span> <span v-else-if="item.prop === 'jwjsxlForName'">{{ scope.row.jwjsxlForName }}</span>
<span v-else-if="item.prop === 'sxjq'">{{ scope.row.sxjq ? scope.row.sxjq + ' / 头' : '' }}</span> <span v-else-if="item.prop === 'sxjq'">{{ scope.row.sxjq ? scope.row.sxjq + ' / 头' : '' }}</span>
<span v-else-if="item.prop === 'workYears'">{{ scope.row.workYears ? scope.row.workYears + ' / 年' : '' }}</span> <span v-else-if="item.prop === 'dqnx'">{{ scope.row.dqnx ? scope.row.dqnx + ' / 年' : '' }}</span>
<span v-else>{{ scope.row[item.prop] }}</span> <span v-else>{{ scope.row[item.prop] }}</span>
</template> </template>
</el-table-column> </el-table-column>
......
...@@ -37,6 +37,8 @@ ...@@ -37,6 +37,8 @@
<JobDog :timeArr="value1" v-if="active == '工作犬分析'"></JobDog> <JobDog :timeArr="value1" v-if="active == '工作犬分析'"></JobDog>
<StudDog :timeArr="value1" v-if="active == '种犬分析'"></StudDog> <StudDog :timeArr="value1" v-if="active == '种犬分析'"></StudDog>
<DataV :timeArr="value1" v-if="active == '桌面'"></DataV> <DataV :timeArr="value1" v-if="active == '桌面'"></DataV>
<RetireDog :timeArr="value1" v-if="active == '退役犬分析'"></RetireDog>
<HumanDog :timeArr="value1" v-if="active == '带犬人分析'"></HumanDog>
</div> </div>
<div class="footer"> <div class="footer">
<div <div
...@@ -67,6 +69,8 @@ ...@@ -67,6 +69,8 @@
<script> <script>
import JobDog from "./components/JobDog.vue"; import JobDog from "./components/JobDog.vue";
import StudDog from "./components/StudDog.vue"; import StudDog from "./components/StudDog.vue";
import RetireDog from './components/retireDog.vue'
import HumanDog from './components/humanDog.vue'
import DataV from "./dataV.vue"; import DataV from "./dataV.vue";
import zoom from "@/utils/autosize"; import zoom from "@/utils/autosize";
export default { export default {
...@@ -74,6 +78,8 @@ export default { ...@@ -74,6 +78,8 @@ export default {
JobDog, JobDog,
DataV, DataV,
StudDog, StudDog,
RetireDog,
HumanDog
}, },
data() { data() {
return { return {
......
...@@ -7,15 +7,10 @@ ...@@ -7,15 +7,10 @@
element-loading-background="rgba(0, 0, 0, 0.8)" element-loading-background="rgba(0, 0, 0, 0.8)"
> >
<!-- 回退 --> <!-- 回退 -->
<div <div id="on-back" class="back" v-show="showBack" @click="goBack">回退</div>
id="on-back"
class="back"
v-show="showBack"
@click="goBack"
>回退</div>
<div <div
id="myEacherForMap" id="myEacherForMap"
style="width:66.08333rem;height: 50.3333rem" style="width: 66.08333rem; height: 50.3333rem"
></div> ></div>
<!-- 左下角信息 --> <!-- 左下角信息 -->
<div <div
...@@ -23,29 +18,29 @@ ...@@ -23,29 +18,29 @@
v-show="currentInfo && Object.keys(currentInfo).length" v-show="currentInfo && Object.keys(currentInfo).length"
> >
<div class="topClass"> <div class="topClass">
<span class="span01">{{currentInfo.name}}</span> <span class="span01">{{ currentInfo.name }}</span>
<span class="span02">{{currentInfo.count}}</span> <span class="span02">{{ currentInfo.count }}</span>
</div> </div>
<ul class="botUl"> <ul class="botUl">
<li class="botLi"> <li class="botLi">
<span class="left_span bg1"></span> <span class="left_span bg1"></span>
<span class="center_span">一级工作犬</span> <span class="center_span">一级工作犬</span>
<span class="right_span">{{currentInfo.dognum1}}</span> <span class="right_span">{{ currentInfo.dognum1 }}</span>
</li> </li>
<li class="botLi"> <li class="botLi">
<span class="left_span bg2"></span> <span class="left_span bg2"></span>
<span class="center_span">二级工作犬</span> <span class="center_span">二级工作犬</span>
<span class="right_span">{{currentInfo.dognum2}}</span> <span class="right_span">{{ currentInfo.dognum2 }}</span>
</li> </li>
<li class="botLi"> <li class="botLi">
<span class="left_span bg3"></span> <span class="left_span bg3"></span>
<span class="center_span">三级工作犬</span> <span class="center_span">三级工作犬</span>
<span class="right_span">{{currentInfo.dognum3}}</span> <span class="right_span">{{ currentInfo.dognum3 }}</span>
</li> </li>
<li class="botLi"> <li class="botLi">
<span class="left_span bg4"></span> <span class="left_span bg4"></span>
<span class="center_span">四级工作犬</span> <span class="center_span">四级工作犬</span>
<span class="right_span">{{currentInfo.dognum4}}</span> <span class="right_span">{{ currentInfo.dognum4 }}</span>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -129,7 +124,7 @@ export default { ...@@ -129,7 +124,7 @@ export default {
}; };
this.mergeProvinces(data, params.names, params.properties); this.mergeProvinces(data, params.names, params.properties);
this.$echarts.registerMap("china", data); this.$echarts.registerMap("china", data);
console.log(222,data) console.log(222, data);
this.loading = false; this.loading = false;
this.myChart = this.$echarts.init( this.myChart = this.$echarts.init(
......
...@@ -440,7 +440,7 @@ export default { ...@@ -440,7 +440,7 @@ export default {
let obj = { let obj = {
data: res.data, data: res.data,
filename: "审核管理.xls", filename: "评定审核.xls",
}; };
handleDownFile(obj); handleDownFile(obj);
this.tableLoading = false; this.tableLoading = false;
......
<template>
<div class="gzgk">
<div class="gzgk_content">
<div class="gzgk_content_title">工作概况</div>
<div class="gzgk_content_forCon">
<div
class="gzgk_content_forCon_for"
v-for="(item, index) in list"
:key="index"
>
<div class="gzgk_content_forCon_for_left">
<div class="gzgk_content_forCon_for_left_title">
{{ item.name }}
</div>
<i
v-if="iconShow"
:style="{
color:
index == 0 ? '#f78a0d' : index == 1 ? '#30be1a' : '#e83334',
fontSize: '33px',
}"
class="el-icon-loading"
></i>
<div
v-else
class="gzgk_content_forCon_for_left_num"
:style="{
color:
index == 0 ? '#f78a0d' : index == 1 ? '#30be1a' : '#e83334',
}"
>
{{ obj[item.id] ? obj[item.id] : "0" }}
</div>
</div>
<div class="gzgk_content_forCon_for_right">
<img :src="item.img" alt="" />
</div>
</div>
</div>
</div>
<div class="gzgk_img"><img src="../img/Frame4.png" alt="" /></div>
</div>
</template>
<script>
import { getGeneralSituation } from "@/api/menuDataApi/sjfxApi.js";
export default {
data() {
return {
iconShow: true,
obj: {},
list: [
{
name: "待办处理",
num: null,
id: "dbnum",
img: require("../img/Frame1.png"),
},
{
name: "已完成",
num: null,
id: "wcnum",
img: require("../img/Frame2.png"),
},
{
name: "预警数据",
num: null,
id: "warningTotal",
img: require("../img/Frame3.png"),
},
],
};
},
methods: {
gkAct() {
let that = this;
that.iconShow = true;
getGeneralSituation({}).then((res) => {
if (res.code == 200) {
that.obj = res.data;
that.iconShow = false;
} else {
that.iconShow = false;
}
});
},
},
};
</script>
<style lang="scss" scoped>
.gzgk {
background: #ffffff;
border-radius: 8px 8px 8px 8px;
padding: 15px 20px 15px;
display: flex;
&_content {
width: calc(100% - 165px);
&_title {
font-size: 16px;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #242424;
line-height: 24px;
margin-bottom: 5px;
}
&_forCon {
display: flex;
margin-top: 9px;
&_for:nth-child(2) {
background: linear-gradient(
90deg,
#e3fee0 0%,
rgba(234, 249, 232, 0.5) 100%
);
}
&_for:nth-child(3) {
margin-right: 0px;
background: linear-gradient(
90deg,
#ffe7e7 0%,
rgba(253, 235, 235, 0.5) 100%
);
}
&_for {
width: 25%;
padding: 15px 20px;
display: flex;
margin-right: 20px;
justify-content: space-between;
background: linear-gradient(
90deg,
#ffead4 0%,
rgba(254, 243, 231, 0.5) 100%
);
border-radius: 12px 12px 12px 12px;
&_left {
&_title {
font-size: 15px;
font-family: Source Han Sans CN-Normal, Source Han Sans CN;
font-weight: 400;
color: #242424;
line-height: 24px;
}
&_num {
font-size: 28px;
font-family: DIN-Medium-Regular, DIN-Medium;
font-weight: 500;
line-height: 32px;
color: #f78a0d;
}
}
&_right {
line-height: 56px;
}
}
}
}
&_img {
}
}
</style>
\ No newline at end of file
<template>
<div class="yjsj">
<div class="yjsj_title">
<div class="yjsj_title_left">
<img src="../img/Frame6.png" alt="" />
<span>预警数据</span>
</div>
<!-- <div class="yjsj_title_img"><img src="../img/upData.png" alt="" /></div> -->
</div>
<div class="yjsj_table">
<table-index
:tableList="tableList"
:loading="loading"
:tableData="tableData"
:page="page"
@handleSizeChange="handleSizeChange"
@handleCurrentChange="handleCurrentChange"
>
<template #btnGroup="scope">
<div class="operate">
<span @click="open(scope)">查看详情</span>
</div>
</template>
</table-index>
</div>
</div>
</template>
<script>
import { getEventWarningPage } from "@/api/menuDataApi/sjfxApi.js";
import tableIndex from "./table.vue";
export default {
components: {
tableIndex,
},
data() {
return {
loading: false,
page: {
pageNow: 1,
pageSize: 5,
total: 0,
},
tableData: [],
tableList: [
// {
// label: "警犬信息主键编号",
// prop: "dogId",
// },
{
label: "事件类型",
prop: "eventTypeStr",
// width: "100",
color: true,
},
{
label: "芯片号",
prop: "chipCode",
},
{
label: "姓名",
prop: "name",
// width: "100",
},
{
label: "归属单位",
prop: "trainingUnitName",
// width: "200",
},
],
};
},
methods: {
open(key) {
debugger
this.$router.push({
name: "yjxxDetail",
query: {
id: key.scope.row.dogId,
},
});
},
doQuery() {
this.loading = true;
getEventWarningPage({
pageNow: this.page.pageNow,
pageSize: this.page.pageSize,
}).then((res) => {
if (res.code == 200) {
this.tableData = res.data.rows;
this.page.total = res.data.total;
this.loading = false;
} else {
this.loading = false;
}
});
},
handleSizeChange(val) {
this.page.pageSize = val;
this.page.pageNow = 1;
this.doQuery();
},
handleCurrentChange(val) {
this.page.pageNow = val;
this.doQuery();
},
},
};
</script>
<style lang="scss" scoped>
.yjsj {
background: #ffffff;
border-radius: 8px 8px 8px 8px;
padding: 8px 20px 14px;
&_title {
display: flex;
justify-content: space-between;
border-bottom: 1px solid #b3b3b3;
&_left {
line-height: 40px;
> img {
position: relative;
bottom: 3px;
margin-right: 8px;
}
> span {
font-size: 16px;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #242424;
line-height: 24px;
}
}
&_img {
line-height: 40px;
cursor: pointer;
> img {
width: 20px;
}
}
}
&_table {
margin: 18px 0px 10px;
}
.operate {
// display: flex;
// justify-content: space-evenly;
> span {
cursor: pointer;
font-size: 14px;
font-family: Source Han Sans CN-Normal, Source Han Sans CN;
font-weight: 400;
color: #266fe8;
line-height: 20px;
}
}
}
</style>
\ No newline at end of file
<template>
<div class="dbsx">
<div class="dbsx_title">
<div class="dbsx_title_left">
<img src="../img/Frame5.png" alt="" />
<span>待办事项</span>
</div>
<!-- <div class="dbsx_title_img"><img src="../img/upData.png" alt="" /></div> -->
</div>
<div class="dbsx_table">
<table-index
:tableList="tableList"
:loading="loading"
:tableData="tableData"
:page="page"
@handleSizeChange="handleSizeChange"
@handleCurrentChange="handleCurrentChange"
>
<template #btnGroup="scope">
<div class="operate">
<span @click="open(scope, 'handle')">办理</span>
</div>
</template>
</table-index>
</div>
</div>
</template>
<script>
import { getTransactPage } from "@/api/menuDataApi/sjfxApi.js";
import tableIndex from "./table.vue";
export default {
components: {
tableIndex,
},
data() {
return {
loading: false,
page: {
pageNow: 1,
pageSize: 5,
total: 0,
},
tableData: [],
tableList: [
{
label: "事件来源",
prop: "eventSourceStr",
ly: true,
},
{
label: "事件类型",
prop: "eventTypeStr",
lx: true,
},
{
label: "申请人",
prop: "sqrxm",
},
{
label: "申请单位",
prop: "sqdw",
width: "200",
},
{
label: "申请时间",
prop: "sqsj",
},
],
};
},
methods: {
open(key, type) {
debugger;
let keys = key.scope.row;
if (keys.eventSource == "1") {
if (
keys.eventType == "00" ||
keys.eventType == "05" ||
keys.eventType == "06" ||
keys.eventType == "07"
) {
this.$router.push({
name: "poDogRetireManageEdit",
query: {
xxzjbh: keys.awaitXxzjbh,
},
});
} else if (
keys.eventType == "01" ||
keys.eventType == "02" ||
keys.eventType == "03"
) {
this.$router.push({
name: "jobDogManagetySp",
query: {
xxzjbh: keys.awaitXxzjbh,
},
});
}
} else if (keys.eventSource == "2") {
if (
keys.eventType == "00" ||
keys.eventType == "05" ||
keys.eventType == "06" ||
keys.eventType == "07"
) {
this.$router.push({
name: "jobDogManageEdit",
query: {
xxzjbh: keys.awaitXxzjbh,
},
});
} else if (
keys.eventType == "01" ||
keys.eventType == "02" ||
keys.eventType == "03"
) {
this.$router.push({
name: "jobDogManageSp",
query: {
xxzjbh: keys.awaitXxzjbh,
},
});
}
}
},
doQuery() {
this.loading = true;
getTransactPage({
pageNow: this.page.pageNow,
pageSize: this.page.pageSize,
}).then((res) => {
if (res.code == 200) {
this.tableData = res.data.rows;
this.page.total = res.data.total;
this.loading = false;
} else {
this.loading = false;
}
});
},
handleSizeChange(val) {
this.page.pageSize = val;
this.page.pageNow = 1;
this.doQuery();
},
handleCurrentChange(val) {
this.page.pageNow = val;
this.doQuery();
},
},
};
</script>
<style lang="scss" scoped>
.dbsx {
background: #ffffff;
border-radius: 8px 8px 8px 8px;
padding: 8px 20px 14px;
&_title {
display: flex;
justify-content: space-between;
border-bottom: 1px solid #b3b3b3;
&_left {
line-height: 40px;
> img {
position: relative;
bottom: 3px;
margin-right: 8px;
}
> span {
font-size: 16px;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #242424;
line-height: 24px;
}
}
&_img {
line-height: 40px;
cursor: pointer;
> img {
width: 20px;
}
}
}
&_table {
margin: 18px 0px 10px;
}
.operate {
display: flex;
justify-content: space-evenly;
> span {
cursor: pointer;
font-size: 14px;
font-family: Source Han Sans CN-Normal, Source Han Sans CN;
font-weight: 400;
color: #266fe8;
line-height: 20px;
}
}
}
</style>
\ No newline at end of file
<template>
<div class="tjtp">
<div class="tjtp_title">
<div class="tjtp_title_left">
<span>统计图表</span>
</div>
<!-- <div class="tjtp_title_img"><img src="../img/upData.png" alt="" /></div> -->
</div>
<div
v-loading="rightLoading"
element-loading-text="拼命加载中"
element-loading-spinner="el-icon-loading"
>
<div ref="tjtb_icon" class="tjtb_icon"></div>
</div>
</div>
</template>
<script>
import { getWorkDogPoliceCategory } from "@/api/menuDataApi/sjfxApi.js";
export default {
data() {
return {
rightLoading: false,
};
},
methods: {
doQuery() {
let that = this;
that.rightLoading = true;
getWorkDogPoliceCategory({}).then((res) => {
if (res.code == 200) {
let result = res.data.rows || [];
let xData = result.map((e) => e.name);
let yData = result.map((e) => e.num);
that.getBarData(xData, yData);
that.rightLoading = false;
} else {
that.rightLoading = false;
}
});
},
//横向柱状图
getBarData(xData, yData) {
let dom = this.$refs.tjtb_icon;
if (!dom) return;
let myChart = this.$echarts.init(dom);
let option = {
grid: {
left: "5%",
right: "5%",
bottom: "5%",
top: "5%",
containLabel: true,
},
tooltip: {
trigger: "axis",
},
xAxis: {
show: false,
type: "value",
},
yAxis: [
{
type: "category",
inverse: true,
axisLabel: {
show: true,
textStyle: {
color: "#5E5E5E",
fontSize: "12",
},
},
splitLine: {
show: false,
},
axisTick: {
show: false,
},
axisLine: {
show: false,
},
data: xData,
},
{
type: "category",
inverse: true,
axisTick: "none",
axisLine: "none",
show: true,
axisLabel: {
textStyle: {
color: "#A6A6A6",
fontSize: "12",
},
},
data: yData,
},
],
series: [
{
type: "bar",
zlevel: 1,
label: {
show: false,
fontSize: 16,
position: [10, 4],
color: "#ffffff",
},
itemStyle: {
normal: {
color: (params) => {
let colors = [
"#2276FC",
"#FFCF5F",
"#EE6F7C",
"#9ED900",
"#44CEF6",
"#8D4BBB",
"#177CB0",
"#955539",
"#DB5A6B",
"#057748",
"#FA8C35",
"#21A675",
"#758A99",
];
return colors[params.dataIndex];
},
},
},
barWidth: 10,
data: yData,
},
],
};
myChart.setOption(option);
},
},
};
</script>
<style lang="scss" scoped>
.tjtp {
background: #ffffff;
border-radius: 8px 8px 8px 8px;
padding: 8px 20px 14px;
&_title {
display: flex;
justify-content: space-between;
border-bottom: 1px solid #b3b3b3;
&_left {
line-height: 40px;
> span {
font-size: 16px;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #242424;
line-height: 24px;
}
}
&_img {
line-height: 40px;
cursor: pointer;
> img {
width: 20px;
}
}
}
.tjtb_icon {
width: 100%;
height: 380px;
}
}
</style>
\ No newline at end of file
<template>
<div>
<el-table
v-loading="loading"
element-loading-text="拼命加载中"
element-loading-spinner="el-icon-loading"
:header-cell-style="{ background: '#F1F2F5', color: '#3e3e3e' }"
ref="singleTable"
:data="tableData"
border
style="
width: 100%;
font-family: Source Han Sans CN-Normal, Source Han Sans CN;
"
>
<el-table-column label="序号" type="index" align="center" width="50">
</el-table-column>
<el-table-column
v-for="(item, index) in tableList"
:key="index"
:prop="item.prop"
:label="item.label"
:width="item.width"
>
<template slot-scope="scope">
<div v-if="item.color">
<div
:style="{
color:
scope.row.eventType == '1'
? 'red'
: scope.row.eventType == '2'
? '#ffa900'
: '#266fe8',
}"
>
{{ scope.row[item.prop] }}
</div>
</div>
<div v-else-if="item.lx">
<div
:style="{
color:
scope.row.eventType == '05' ||
scope.row.eventType == '06' ||
scope.row.eventType == '07'
? 'red'
: scope.row.eventType == '01' ||
scope.row.eventType == '02' ||
scope.row.eventType == '03'
? '#ffa900'
: '#266fe8',
}"
>
{{ scope.row[item.prop] }}
</div>
</div>
<div v-else-if="item.ly">
<div
:style="{
color: scope.row.eventSource == '1' ? 'red' : '#266fe8',
}"
>
{{ scope.row[item.prop] }}
</div>
</div>
<div v-else>
{{ scope.row[item.prop] }}
</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="140">
<template slot-scope="scope">
<slot name="btnGroup" :scope="scope"></slot>
</template>
</el-table-column>
</el-table>
<div style="margin-top: 20px">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="page.pageNow"
:page-size="page.pageSize"
layout=" prev, pager, next"
:total="page.total"
background
>
</el-pagination>
</div>
</div>
</template>
<script>
export default {
props: {
tableList: {
type: Array,
default: () => [],
},
tableData: {
type: Array,
default: () => [],
},
page: {
type: Object,
default: () => {},
},
loading: Boolean,
},
data() {
return {};
},
methods: {
handleSizeChange(val) {
this.$emit("handleSizeChange", val);
},
handleCurrentChange(val) {
this.$emit("handleCurrentChange", val);
},
},
};
</script>
<style lang="scss" scoped>
.el-pagination {
text-align: right !important;
}
</style>
\ No newline at end of file
<template>
<div class="sjfx">
<div class="sjfx_left">
<div class="sjfx_left_one">
<letft-one ref="leftOne"></letft-one>
</div>
<div class="sjfx_left_two">
<left-two ref="leftTwo"></left-two>
</div>
<div class="sjfx_left_three">
<left-three ref="leftThree"></left-three>
</div>
</div>
<div class="sjfx_right">
<div class="sjfx_right_one">
<time-data ref="rightOne"></time-data>
</div>
<div class="sjfx_right_two">
<right-one ref="rightTwo"></right-one>
</div>
</div>
</div>
</template>
<script>
import letftOne from "./components/leftOne.vue";
import leftTwo from "./components/leftTwo.vue";
import leftThree from "./components/leftThree.vue";
import timeData from "./components/time.vue";
import rightOne from "./components/rightOne.vue";
export default {
components: {
letftOne,
leftTwo,
leftThree,
rightOne,
timeData,
},
data() {
return {};
},
mounted() {},
activated() {
debugger
this.$refs.leftTwo.page.pageNow = 1
this.$refs.leftThree.page.pageNow = 1
this.$refs.leftOne.gkAct();
this.$refs.leftTwo.doQuery();
this.$refs.leftThree.doQuery();
this.$refs.rightTwo.doQuery();
this.$refs.rightOne.doQuery();
},
};
</script>
<style lang="scss" scoped>
.sjfx {
padding: 20px 20px 0px;
display: flex;
// height: 89%;
&_left {
width: 70%;
margin-right: 20px;
&_one {
margin-bottom: 20px;
}
&_two {
margin-bottom: 20px;
}
}
&_right {
width: calc(100% - 70%);
&_one {
margin-bottom: 20px;
}
}
}
</style>
\ No newline at end of file
...@@ -122,6 +122,7 @@ export default { ...@@ -122,6 +122,7 @@ export default {
}, },
methods: { methods: {
getMatched(val) { getMatched(val) {
debugger
let matArr = []; let matArr = [];
let curMatched = this.$route.matched[1]; let curMatched = this.$route.matched[1];
if (curMatched.meta.isEditPage) { if (curMatched.meta.isEditPage) {
...@@ -169,6 +170,7 @@ export default { ...@@ -169,6 +170,7 @@ export default {
}, },
watch: { watch: {
"$route.name": function (val) { "$route.name": function (val) {
debugger
this.getMatched(val); this.getMatched(val);
}, },
}, },
...@@ -431,7 +433,7 @@ export default { ...@@ -431,7 +433,7 @@ export default {
} }
.contentBoxClass { .contentBoxClass {
height: calc(100% - 64px); height: calc(100% - 77px);
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
} }
......
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