Commit 1d05316a by liyuhang19990520

侦查指令

parent c05407e6
/*
* @Author: your name
* @Date: 2021-10-15 10:55:14
* @LastEditTime: 2021-10-15 15:32:03
* @LastEditTime: 2021-10-15 16:48:15
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \founder_vue\src\api\zczl\xxgl.js
......@@ -13,6 +13,8 @@ import base from "@/api/base";
//导出侦查指令统计Excel
export const exportZczlExcel = params =>
postdown(`${base.alyIP}/zczl/exportZczlExcel`, params);
export const getTjListPic = params =>
post(`${base.alyIP}/zczl/getTjListPic`, params);
//人像比对详情
// export const rxdbDetail = params =>
// post(`${base.alyIP}/rxbz/queryByXxzjbh`, params);
......
......@@ -1513,8 +1513,6 @@ export default {
i != "dspbz"
) {
self.formData[i] = "";
} else if (i == "isFirst") {
self.formData["isFirst"] = "no";
}
}
if (self.formData["rows"]) self.formData["rows"] = 10;
......@@ -1580,8 +1578,8 @@ export default {
if (val) {
this.formData.sfhgpdbz = "";
}
if (this.formData.isFirst == "") {
this.formData.isFirst = "no";
if (this.formData.isFirst) {
this.formData.isFirst = "";
}
this.formData.page = 1;
this.doQuery("yes");
......
/*
* @Author: your name
* @Date: 2021-10-14 15:35:19
* @LastEditTime: 2021-10-14 17:31:58
* @LastEditTime: 2021-10-15 16:41:30
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \founder_vue\src\router\modules\zczl.js
......@@ -57,6 +57,14 @@ const menuLayouts = [
component: () => import("@/views/zczl/zczl/zczltj.vue")
},
{
path: "/dwtjtb",
name: "dwtjtb",
meta: {
title: '单位统计'
},
component: () => import("@/views/zczl/zczl/dwtjtb.vue")
},
{
path: "/llycx",
name: "llycx",
meta: {
......
<!--
* @Author: your name
* @Date: 2021-09-03 09:32:50
* @LastEditTime: 2021-10-15 17:39:38
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \founder_vue\src\views\zdry\dytj.vue
-->
<template>
<div id="dytj">
<el-date-picker
v-model="value2"
class="datetimerange"
type="datetimerange"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
align="right"
@change="change"
>
</el-date-picker>
<div id="charts" ref="charts" v-loading="loading"></div>
<div id="noDataText" v-if="!chartsShow">该单位没有统计数据</div>
</div>
</template>
<script>
import { getRybq } from "@/api/zdry/zdryGl.js";
import rightContent from "@c/ptCxForm_components.vue";
import { getTjListPic } from "@/api/zczl/zczl.js";
export default {
components: {
rightContent,
},
data() {
return {
value2: [],
chartsShow: true,
Menu: [
{
id: "dwtjtb",
label: "单位统计",
index: "dwtjtb",
auth: "M0101",
className: "iconfont iconrizhi",
disabled: false,
},
],
loading: false,
};
},
methods: {
//初始化echarts以及添加点击事件
getCharts(x, zls, pjs, qss, hbs, rotate) {
let _this = this;
let myChart = this.$echarts.init(this.$refs.charts);
myChart.setOption({
title: {
text: "单位统计",
textStyle: {
color: "#000",
fontWeight: 600,
fontSize: 18,
},
left: "3%",
top: "5%",
},
tooltip: {
trigger: "axis",
axisPointer: {
label: {
formatter: function (name) {
return name.seriesData[0].name;
},
},
// 坐标轴指示器,坐标轴触发有效
type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
},
},
grid: {
top: "20%",
left: "15%",
right: "10%",
bottom: "20%",
// containLabel: true
},
xAxis: [
{
type: "category",
axisLine: {
show: false,
color: "#A582EA",
},
axisLabel: {
formatter: function (a, b) {
return a;
},
color: "#000",
width: 100,
clickable: true,
rotate: rotate,
},
silent: false,
triggerEvent: true,
splitLine: {
show: false,
},
boundaryGap: true,
data: x,
id: 1,
},
],
yAxis: [
{
type: "value",
min: 0,
splitNumber: 4,
splitLine: {
show: true,
lineStyle: {
color: "#000",
opacity: 0.23,
},
},
axisLine: {
show: false,
},
axisLabel: {
show: true,
margin: 20,
textStyle: {
color: "#000",
},
},
axisTick: {
show: false,
},
},
],
legend: {
right: 35,
top: 52,
textStyle: {
color: "#000",
},
itemWidth: 12,
itemHeight: 10,
// itemGap: 35
},
series: [
{
name: "指令数",
type: "bar",
data: zls,
itemStyle: {
normal: {
color: "#247FDC",
},
},
},
{
name: "评价数",
type: "bar",
data: pjs,
itemStyle: {
normal: {
color: "#FF8D00",
},
},
},
{
name: "签收数",
type: "bar",
data: qss,
itemStyle: {
normal: {
color: "#8C008C",
},
},
},
{
name: "回报数",
type: "bar",
data: hbs,
itemStyle: {
normal: {
color: "#DD2834",
},
},
},
],
});
//自适应
window.addEventListener("resize", () => {
myChart.resize();
});
},
change() {
this.getChartsData();
},
//echarts
getChartsData() {
let loading = this.$loading({
lock: true,
text: "正在加载...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
let params = new Object();
if (!this.value2 || this.value2.length <= 0) {
params.fbsj_s = "";
params.fbsj_e = "";
} else {
params.fbsj_s = this.value2[0];
params.fbsj_e = this.value2[1];
}
getTjListPic(params).then((res) => {
if (res.success && res.code == 200) {
loading.close();
if (res.data.dwmcList.length > 0) {
this.chartsShow = true;
setTimeout(() => {
let xData = res.data.dwmcList;
let zls = res.data.zlsList;
let pjs = res.data.pjsList;
let qss = res.data.qssList;
let hbs = res.data.hbsList;
this.getCharts(xData, zls, pjs, qss, hbs, 20);
}, 20);
} else {
this.chartsShow = false;
}
}
});
},
},
mounted() {
//初始化图形
this.getChartsData();
},
created() {
this.$store.commit("user/SET_Menu", this.Menu);
},
};
</script>
<style lang="scss" scoped>
#dytj {
position: relative;
.datetimerange {
margin-bottom: 10px;
}
#noDataText {
text-align: center;
position: absolute;
color: #555f70;
z-index: 22;
top: 100px;
left: 50%;
transform: translateX(-50%);
font-size: 16px;
}
width: 100%;
height: calc(100% - 88px);
text-align: right;
box-sizing: border-box;
padding: 20px;
padding-top: 10px;
position: relative;
#charts {
background-color: #fff;
width: 100%;
height: 100%;
}
#table {
box-sizing: border-box;
padding-top: 1px !important;
width: 100%;
height: 100%;
background-color: #fff;
padding: 20px;
}
.returnBtn {
position: absolute;
top: 30px;
right: 40px;
z-index: 111;
}
.tableTitle {
display: flex;
justify-content: space-between;
padding: 10px 10px;
> .tableLeft {
font-size: 16px;
font-weight: 600;
span {
&:last-of-type {
font-size: 14px;
font-weight: 400;
margin-left: 20px;
color: #999999;
}
}
}
}
}
</style>
\ No newline at end of file
......@@ -26,10 +26,9 @@ export default {
},
data() {
return {
header: "我负责的侦查指令",
header: "侦查指令",
pageBs: "wfzdzczl",
cxFormData: {
user: JSON.parse(sessionStorage.getItem("userInfo")).account,
zlwh: "",
zllx: "",
ywlx: "",
......@@ -289,12 +288,20 @@ export default {
},
{
id: "zczltj",
label: "侦察指令统计",
label: "侦察指令统计管理",
index: "zczltj",
auth: "M0102",
className: "iconfont icongongnengfuwu",
disabled: false,
},
{
id: "dwtjtb",
label: "单位统计",
index: "dwtjtb",
auth: "M0102",
className: "iconfont icongongnengfuwu",
disabled: false,
},
],
},
{
......
......@@ -20,6 +20,8 @@
<script>
import rightContent from "@c/ptCxForm_components.vue";
import { exportZczlExcel } from "@/api/zczl/zczl.js";
import axios from "@/utils/http.js";
import base from "@/api/base";
export default {
name: "rlqbxsxx",
components: {
......@@ -34,6 +36,7 @@ export default {
fbsj_e: "",
isZjdw: "",
searchDwdm: "",
isFirst: 1,
limit: 10,
page: 1,
},
......@@ -79,49 +82,81 @@ export default {
],
cxDefaultFormThead: [
{
label: "回报期限",
prop: "hbqx",
label: "超期回报数",
prop: "cqhbs",
},
{
/*table默认得表头*/
label: "指令事由",
prop: "zlsy",
label: "不合格率",
prop: "bhgl",
},
{
label: "指令类型",
prop: "zllx_str",
label: "单位名称",
prop: "dwmc",
},
{
label: "指令接收单位名称",
prop: "zljsdwdm_name",
label: "超期签收数",
prop: "cqqss",
},
{
label: "指令文号",
prop: "zlwh",
label: "超期未回报",
prop: "cqwhb",
},
{
label: "业务编号",
prop: "zczlbh",
label: "签收率",
prop: "qsl",
},
{
label: "业务类型",
prop: "ywlx_str",
label: "未签收数",
prop: "wqss",
},
{
label: "是否能审批",
prop: "ifsp",
label: "开始发布时间",
prop: "fbsj_s",
},
{
label: "工作要求",
prop: "gzyq",
label: "结束发布时间",
prop: "fbsj_e",
},
{
label: "发布时间",
prop: "fbsj",
label: "签收数",
prop: "qss",
},
{
label: "业务名称",
prop: "spsftg",
label: "未回报",
prop: "whb",
},
{
label: "指令总数",
prop: "zlzs",
},
{
label: "回报率",
prop: "hbl",
},
{
label: "优秀率",
prop: "yxs",
},
{
label: "合格数",
prop: "hgs",
},
{
label: "超期未签收数",
prop: "cqwqss",
},
{
label: "回报数",
prop: "hbs",
},
{
label: "评价数",
prop: "pjs",
},
{
label: "不合格数",
prop: "bhgs",
},
],
cxUrl: "/zczl/getZczltjxxList",
......@@ -154,15 +189,30 @@ export default {
let params = new FormData();
params.append("fbsj_s", data.fbsj_s);
params.append("fbsj_e", data.fbsj_e);
exportZczlExcel(params).then((res) => {
let loading = this.$loading({
lock: true,
text: "正在导出...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
axios
.post(`${base.alyIP}/zczl/exportZczlExcel`, params, {
responseType: "blob",
})
.then((res) => {
loading.close();
let blob = new Blob([res], {
type: "application/vnd.ms-excel",
});
let objUrl = URL.createObjectURL(blob);
let a = document.createElement("a");
a.setAttribute("href", objUrl);
a.setAttribute("download", "xxx.xls");
a.click();
// 组装a标签
let elink = document.createElement("a");
// 设置下载文件名
elink.download = "侦察指令统计.xls";
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
document.body.removeChild(elink);
});
},
dele(scope) {
......
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