Commit 24e70467 by zhangzhijie

工作指令工作效能评估 添加业务类型、指令类型、个人统计评估工作指令工作完成情况查询项

parent feaa298d
{
"code":200,
"data":{
"rows":[
{
"ids":"xsjsbd",
"label":"刑事技术比对",
"codeType":"CODE_ZCZL_MODULE",
"text":"刑事技术比对",
"pId":null,
"id":"xsjsbd",
"isParent":false
},
{
"ids":"xxtk",
"label":"刑嫌调控",
"codeType":"CODE_ZCZL_MODULE",
"text":"刑嫌调控",
"pId":null,
"id":"xxtk",
"isParent":false
},
{
"ids":"hcyp",
"label":"合成研判",
"codeType":"CODE_ZCZL_MODULE",
"text":"合成研判",
"pId":null,
"id":"hcyp",
"isParent":false
},
{
"ids":"lkyj",
"label":"列控预警",
"codeType":"CODE_ZCZL_MODULE",
"text":"列控预警",
"pId":null,
"id":"lkyj",
"isParent":false
},
{
"ids":"zhendi",
"label":"阵地管控",
"codeType":"CODE_ZCZL_MODULE",
"text":"阵地管控",
"pId":null,
"id":"zhendi",
"isParent":false
},
{
"ids":"yzzfzxs",
"label":"有组织犯罪线索",
"codeType":"CODE_ZCZL_MODULE",
"text":"有组织犯罪线索",
"pId":null,
"id":"yzzfzxs",
"isParent":false
},
{
"ids":"ztryyj",
"label":"在逃人员",
"codeType":"CODE_ZCZL_MODULE",
"text":"在逃人员",
"pId":null,
"id":"ztryyj",
"isParent":false
},
{
"ids":"renli",
"label":"人力资源情报",
"codeType":"CODE_ZCZL_MODULE",
"text":"人力资源情报",
"pId":null,
"id":"renli",
"isParent":false
}
]
},
"success":true,
"message":"成功"
}
...@@ -711,6 +711,14 @@ export default { ...@@ -711,6 +711,14 @@ export default {
children: [ children: [
{ {
id: "dwtjtb", id: "dwtjtb",
label: "单位工作效能评估",
index: "zczltj",
auth: "M0101",
className: "iconfont iconrizhi",
disabled: false,
},
{
id: "dwtjtb",
label: "单位统计", label: "单位统计",
index: "dwtjtb", index: "dwtjtb",
auth: "M0101", auth: "M0101",
......
...@@ -153,10 +153,9 @@ export default { ...@@ -153,10 +153,9 @@ export default {
let self = this let self = this
post(`${url.alyIP}${this.cxUrl}`, this.form).then( post(`${url.alyIP}${this.cxUrl}`, this.form).then(
(response) => { (response) => {
if (response.success === true) { if (response.success === true && response.data.rows) {
self.tableData = response.data.rows; self.tableData = response.data.rows;
self.tableDataLength = response.data.rows.length self.tableDataLength = response.data.rows.length
console.log('self.tableData', typeof(self.tableDataLength))
self.closeLoading(); self.closeLoading();
} else { } else {
self.closeLoading(); self.closeLoading();
......
...@@ -10,15 +10,15 @@ ...@@ -10,15 +10,15 @@
<div id="dytj"> <div id="dytj">
<div class="app"> <div class="app">
<el-date-picker <el-date-picker
v-model="value2" v-model="value2"
class="datetimerange" class="datetimerange"
type="datetimerange" type="datetimerange"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
format="yyyy-MM-dd" format="yyyy-MM-dd"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
align="right" align="right"
> >
</el-date-picker> </el-date-picker>
<div class="jsdw"> <div class="jsdw">
...@@ -26,19 +26,30 @@ ...@@ -26,19 +26,30 @@
<span style="font-size: 14px; line-height: 41px">接收单位: </span> <span style="font-size: 14px; line-height: 41px">接收单位: </span>
</div> </div>
<select-tree-dialog <select-tree-dialog
style="width: 500px" style="width: 500px"
:placeholder="'请选择'" :placeholder="'请选择'"
:formData="FPForm" :formData="FPForm"
:currentItem="GD.qsrgajgdm" :currentItem="GD.qsrgajgdm"
/> />
</div> </div>
<div class="jsdw">
<div style="display: inline-flex">
<span style="font-size: 14px; line-height: 41px">个人工作是否完成: </span>
<el-checkbox-group v-model="checkboxValue" style="margin-top: 3%">
<el-checkbox label="否" value="0" @change="checkBoxChange"></el-checkbox>
<el-checkbox label="是" value="1" @change="checkBoxChange"></el-checkbox>
</el-checkbox-group>
</div>
</div>
</div> </div>
<div style="margin-bottom: 10px"> <div style="margin-bottom: 10px">
<el-button <el-button
v-if="SJList.length > 1 && SJcode != ''" v-if="SJList.length > 1 && SJcode != ''"
size="mini" size="mini"
@click="back" @click="back"
>上一级</el-button >上一级
</el-button
> >
<el-button type="primary" size="mini" @click="add">查询</el-button> <el-button type="primary" size="mini" @click="add">查询</el-button>
<el-button size="mini" @click="print">导出</el-button> <el-button size="mini" @click="print">导出</el-button>
...@@ -48,15 +59,17 @@ ...@@ -48,15 +59,17 @@
</div> </div>
</template> </template>
<script> <script>
import { getTjListPic } from "@/api/zczl/zczl.js"; import {getTjListPic} from "@/api/zczl/zczl.js";
import SelectTreeDialog from "@c/treeCode_components.vue"; import SelectTreeDialog from "@c/treeCode_components.vue";
export default { export default {
name: "detailZczl", name: "dwtjtb",
components: { SelectTreeDialog }, components: {SelectTreeDialog},
data() { data() {
return { return {
value2: [], value2: [],
chartsShow: true, chartsShow: true,
checkboxValue: [],
Menu: [ Menu: [
{ {
id: "dwtjtb", id: "dwtjtb",
...@@ -75,7 +88,7 @@ export default { ...@@ -75,7 +88,7 @@ export default {
qsrgajgdm: [], qsrgajgdm: [],
qsrjh: "", qsrjh: "",
fpgzyq: "", fpgzyq: "",
qsrgajgdm: "",
}, },
GD: { GD: {
qsrgajgdm: { qsrgajgdm: {
...@@ -95,6 +108,18 @@ export default { ...@@ -95,6 +108,18 @@ export default {
}; };
}, },
methods: { methods: {
checkBoxChange(val) {
if (val) {
if (this.checkboxValue.length == 2) {
let realValue = this.checkboxValue[1];
this.checkboxValue = [];
this.checkboxValue.push(realValue);
}
} else {
this.checkboxValue = [];
}
console.log(this.checkboxValue);
},
getJson() { getJson() {
debugger; debugger;
let self = this; let self = this;
...@@ -104,12 +129,13 @@ export default { ...@@ -104,12 +129,13 @@ export default {
if (response.status == "200") { if (response.status == "200") {
debugger; debugger;
self.GD.qsrgajgdm.codeOptions = response.data.data.rows; self.GD.qsrgajgdm.codeOptions = response.data.data.rows;
function liMap(ji) { function liMap(ji) {
let mi; let mi;
let gd = ""; let gd = "";
if (ji.length) { if (ji.length) {
mi = ji.filter((item) => mi = ji.filter((item) =>
item.id.includes(unitcode.substring(0, 2)) item.id.includes(unitcode.substring(0, 2))
); );
for (let g of mi.values()) { for (let g of mi.values()) {
if (g.id == unitcode) { if (g.id == unitcode) {
...@@ -330,8 +356,8 @@ export default { ...@@ -330,8 +356,8 @@ export default {
add() { add() {
var userInfo = JSON.parse(sessionStorage.getItem("userInfo")); var userInfo = JSON.parse(sessionStorage.getItem("userInfo"));
let code = this.FPForm.qsrgajgdm let code = this.FPForm.qsrgajgdm
? this.FPForm.qsrgajgdm ? this.FPForm.qsrgajgdm
: userInfo.unitcode; : userInfo.unitcode;
this.getChartsDatas(code); this.getChartsDatas(code);
}, },
...@@ -356,6 +382,9 @@ export default { ...@@ -356,6 +382,9 @@ export default {
params.fbsj_s = this.value2[0]; params.fbsj_s = this.value2[0];
params.fbsj_e = this.value2[1]; params.fbsj_e = this.value2[1];
} }
if (this.checkboxValue.length > 0) {
params.gzzlwcqk = this.checkboxValue[0] == '是' ? '1' : '0';
}
getTjListPic(params).then((res) => { getTjListPic(params).then((res) => {
if (res.success && res.code == 200) { if (res.success && res.code == 200) {
loading.close(); loading.close();
...@@ -370,13 +399,13 @@ export default { ...@@ -370,13 +399,13 @@ export default {
this.chartsShow = true; this.chartsShow = true;
this.CH = true; this.CH = true;
this.getCharts( this.getCharts(
this.getParams.xData, this.getParams.xData,
this.getParams.zls, this.getParams.zls,
this.getParams.pjs, this.getParams.pjs,
this.getParams.qss, this.getParams.qss,
this.getParams.hbs, this.getParams.hbs,
20, 20,
this.getParams.xData this.getParams.xData
); );
} else { } else {
this.$set(this.getParams, "dwdmList", []); this.$set(this.getParams, "dwdmList", []);
...@@ -386,13 +415,13 @@ export default { ...@@ -386,13 +415,13 @@ export default {
this.$set(this.getParams, "qss", []); this.$set(this.getParams, "qss", []);
this.$set(this.getParams, "hbs", []); this.$set(this.getParams, "hbs", []);
this.getCharts( this.getCharts(
this.getParams.xData, this.getParams.xData,
this.getParams.zls, this.getParams.zls,
this.getParams.pjs, this.getParams.pjs,
this.getParams.qss, this.getParams.qss,
this.getParams.hbs, this.getParams.hbs,
20, 20,
this.getParams.xData this.getParams.xData
); );
this.chartsShow = false; this.chartsShow = false;
} }
...@@ -447,13 +476,13 @@ export default { ...@@ -447,13 +476,13 @@ export default {
let self = this; let self = this;
debugger; debugger;
this.getCharts( this.getCharts(
this.getParams.xData, this.getParams.xData,
this.getParams.zls, this.getParams.zls,
this.getParams.pjs, this.getParams.pjs,
this.getParams.qss, this.getParams.qss,
this.getParams.hbs, this.getParams.hbs,
20, 20,
this.getParams.xData this.getParams.xData
).on("click", function (r) { ).on("click", function (r) {
let name; let name;
if (r.componentType === "xAxis") { if (r.componentType === "xAxis") {
...@@ -480,16 +509,20 @@ export default { ...@@ -480,16 +509,20 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
#dytj { #dytj {
position: relative; position: relative;
.app { .app {
display: flex; display: flex;
margin-top: 9px; margin-top: 9px;
} }
.jsdw { .jsdw {
display: flex; display: flex;
margin: 0 0 0 20px; margin: 0 0 0 20px;
} }
.datetimerange { .datetimerange {
margin-bottom: 10px; margin-bottom: 10px;
/deep/ { /deep/ {
.el-icon-time { .el-icon-time {
transform: translateY(-4px); transform: translateY(-4px);
...@@ -507,6 +540,7 @@ export default { ...@@ -507,6 +540,7 @@ export default {
transform: translateX(-50%); transform: translateX(-50%);
font-size: 16px; font-size: 16px;
} }
width: 100%; width: 100%;
height: calc(100% - 88px); height: calc(100% - 88px);
text-align: right; text-align: right;
...@@ -514,11 +548,13 @@ export default { ...@@ -514,11 +548,13 @@ export default {
padding: 20px; padding: 20px;
padding-top: 10px; padding-top: 10px;
position: relative; position: relative;
#charts { #charts {
background-color: #fff; background-color: #fff;
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
#table { #table {
box-sizing: border-box; box-sizing: border-box;
padding-top: 1px !important; padding-top: 1px !important;
...@@ -527,19 +563,23 @@ export default { ...@@ -527,19 +563,23 @@ export default {
background-color: #fff; background-color: #fff;
padding: 20px; padding: 20px;
} }
.returnBtn { .returnBtn {
position: absolute; position: absolute;
top: 30px; top: 30px;
right: 40px; right: 40px;
z-index: 111; z-index: 111;
} }
.tableTitle { .tableTitle {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
padding: 10px 10px; padding: 10px 10px;
> .tableLeft { > .tableLeft {
font-size: 16px; font-size: 16px;
font-weight: 600; font-weight: 600;
span { span {
&:last-of-type { &:last-of-type {
font-size: 14px; font-size: 14px;
......
<template> <template>
<div class="Content"> <div class="Content">
<right-content <right-content
:pageBs="pageBs" :pageBs="pageBs"
:header="header" :header="header"
:cxFormData="cxFormData" :cxFormData="cxFormData"
:cxQueryField="cxQueryField" :cxQueryField="cxQueryField"
:cxDefaultFormThead="cxDefaultFormThead" :cxDefaultFormThead="cxDefaultFormThead"
:cxUrl="cxUrl" :cxUrl="cxUrl"
@add="add" @add="add"
@edit="edit" @edit="edit"
@dele="dele" @dele="dele"
@zczltjExport="zczltjExport" @zczltjExport="zczltjExport"
ref="rightContent" ref="rightContent"
></right-content> ></right-content>
</div> </div>
</template> </template>
<script> <script>
import rightContent from "@c/ptCxForm_components.vue"; import rightContent from "@c/ptCxForm_components.vue";
import { exportZczlExcel } from "@/api/zczl/zczl.js"; import {exportZczlExcel} from "@/api/zczl/zczl.js";
import axios from "@/utils/http.js"; import axios from "@/utils/http.js";
import base from "@/api/base"; import base from "@/api/base";
...@@ -66,27 +66,49 @@ export default { ...@@ -66,27 +66,49 @@ export default {
value: "", value: "",
col: "3", col: "3",
}, },
/*{ {
name: "是否", name: "单位",
id: "isZjdw", id: "searchDwdm",
type: "codeTreeDialogs",
props: "checkEmpty",
value: "",
placeholder: "请选择",
col: "3",
codeOptions: [],
codeTree: "CODE_UNIT",
},
{
name: "指令类型",
id: "zllx",
type: "codeTreeDialog", type: "codeTreeDialog",
props: "checkEmpty", props: "checkEmpty",
value: "", value: "",
placeholder: "请选择", placeholder: "请选择",
col: "3", col: "3",
codeOptions: [], codeOptions: [],
codeTree: "CODE_IF", codeTree: "CODE_ZLLXDM",
},*/ },
{ {
name: "单位", name: "业务类型",
id: "searchDwdm", id: "ywlx",
type: "codeTreeDialogs", type: "codeTreeDialog",
props: "checkEmpty", props: "checkEmpty",
value: "", value: "",
placeholder: "请选择", placeholder: "请选择",
col: "3", col: "3",
codeOptions: [], codeOptions: [],
codeTree: "CODE_UNIT", codeTree: "CODE_ZCZL_MODULE",
},
{
name: "个人工作是否完成",
id: "gzzlwcqk",
type: "codeTreeDialog",
props: "checkEmpty",
value: "",
placeholder: "请选择",
col: "3",
codeOptions: [],
codeTree: "CODE_IF",
}, },
], ],
cxDefaultFormThead: [ cxDefaultFormThead: [
...@@ -202,7 +224,7 @@ export default { ...@@ -202,7 +224,7 @@ export default {
edit(scope) { edit(scope) {
this.$router.pushToTab({ this.$router.pushToTab({
path: "adjustRlqbxs", path: "adjustRlqbxs",
query: { xxzjbh: scope.row.xxzjbh }, query: {xxzjbh: scope.row.xxzjbh},
}); });
}, },
zczltjExport(data) { zczltjExport(data) {
...@@ -218,24 +240,24 @@ export default { ...@@ -218,24 +240,24 @@ export default {
background: "rgba(255, 255, 255, 0.7)", background: "rgba(255, 255, 255, 0.7)",
}); });
axios axios
.post(`${base.alyIP}/zczl/exportZczlExcel`, params, { .post(`${base.alyIP}/zczl/exportZczlExcel`, params, {
responseType: "blob", responseType: "blob",
}) })
.then((res) => { .then((res) => {
loading.close(); loading.close();
let blob = new Blob([res], { let blob = new Blob([res], {
type: "application/vnd.ms-excel", type: "application/vnd.ms-excel",
});
// 组装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);
}); });
// 组装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) { dele(scope) {
console.log(scope); console.log(scope);
...@@ -244,28 +266,29 @@ export default { ...@@ -244,28 +266,29 @@ export default {
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
}) })
.then(() => { .then(() => {
deleteKyxsxx({ deleteKyxsxx({
xxzjbh: scope.row.xxzjbh, xxzjbh: scope.row.xxzjbh,
}).then((res) => { }).then((res) => {
if (res.success && res.code == 200) { if (res.success && res.code == 200) {
this.$message({ this.$message({
type: "success", type: "success",
message: "删除成功", message: "删除成功",
}); });
this.$refs.rightContent.doQuery("yes"); this.$refs.rightContent.doQuery("yes");
} }
}); });
}) })
.catch(() => { .catch(() => {
this.$message({ this.$message({
type: "info", type: "info",
message: "已取消删除", message: "已取消删除",
});
}); });
});
}, },
}, },
mounted() {}, mounted() {
},
}; };
</script> </script>
<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