Commit ee6d56c2 by zhangzhijie

新增工作指令抄送功能

parent bd2f8002
......@@ -53,6 +53,9 @@ export const doFpNew = params =>
//移交
export const doYjNew = params =>
postform(`${base.alyIP}/zczl/doYjNew`, params);
//抄送
export const doCS = params =>
postform(`${base.alyIP}/zczl/makeCopyForOther`, params);
//指令回报修改或续报修改
export const getHbDetailByFpbh = params =>
post(`${base.alyIP}/zczl/getHbDetailByFpbh`, params);
......@@ -67,7 +70,9 @@ export const getZczltoMeInfomation = params =>
post(`${base.alyIP}/zczl/getZczltoMeInfomation`, params);
export const getHbspInfo = params =>
post(`${base.alyIP}/zczl/getHbspInfo`, params);
//获取已抄送的人员list
export const getAlreadyAcceptCsPeopleList = params =>
post(`${base.alyIP}/zczl/getAlreadyAcceptCsPeopleList`, params);
//修改回报
export const editHbInfo = params =>
postform(`${base.alyIP}/zczl/editHbInfo`, params);
......
......@@ -422,7 +422,7 @@
:show-file-list="false"
:on-change="handleChange"
>
<img v-if="imageUrl" :src="imageUrl" class="avatar" />
<img v-if="imageUrl" :src="imageUrl" class="avatar"/>
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</div>
......@@ -493,43 +493,50 @@
size="mini"
type="primary"
@click="transactionAnalysis('01')"
>交易详情</el-button
>交易详情
</el-button
>
<el-button
size="mini"
type="primary"
@click="transactionAnalysis('02')"
>交易时间规律统计</el-button
>交易时间规律统计
</el-button
>
<el-button
size="mini"
type="primary"
@click="transactionAnalysis('03')"
>交易地域规律统计</el-button
>交易地域规律统计
</el-button
>
<el-button
size="mini"
type="primary"
@click="transactionAnalysis('04')"
>交易频度规律统计</el-button
>交易频度规律统计
</el-button
>
<el-button
size="mini"
type="primary"
@click="transactionAnalysis('05')"
>交易习惯统计</el-button
>交易习惯统计
</el-button
>
<el-button
size="mini"
type="primary"
@click="transactionAnalysis('06')"
>交易关系可视化分析</el-button
>交易关系可视化分析
</el-button
>
<el-button
size="mini"
type="primary"
@click="transactionAnalysis('07')"
>交易活动空间可视化分析</el-button
>交易活动空间可视化分析
</el-button
>
</el-button-group>
......@@ -740,7 +747,8 @@
pageBs != 'queryZtryJkm' &&
pageBs != 'queryRyypNew' &&
pageBs != 'transactionFlow' &&
pageBs != 'queryBsh'
pageBs != 'queryBsh' &&
pageBs != 'csgwdzczl'
"
>
<i class="el-icon-plus"></i> 新增
......@@ -1150,7 +1158,7 @@
{{ scope.row[columnTitle.prop] }}
<el-popover placement="right" width="100" trigger="click">
{{ scope.row[columnTitle.prop] }}<br />
{{ scope.row[columnTitle.prop] }}<br/>
<div
style="cursor: pointer; margin: 10px 7px"
@click="zdRydaxx(scope.row, 'ryda')"
......@@ -1181,7 +1189,7 @@
{{ scope.row[columnTitle.prop] }}
<el-popover placement="right" width="100" trigger="click">
{{ scope.row[columnTitle.prop] }}<br />
{{ scope.row[columnTitle.prop] }}<br/>
<div
style="cursor: pointer; margin: 10px 7px"
@click="goRydaxx(scope.row)"
......@@ -1222,7 +1230,7 @@
/>
{{ scope.row[columnTitle.prop] }}
<el-popover placement="right" width="100" trigger="click">
{{ scope.row[columnTitle.prop] }}<br /><br />
{{ scope.row[columnTitle.prop] }}<br/><br/>
<!-- <div @click="toPeopleDA(scope.row.zjhm)"> -->
<div style="cursor: pointer" @click="goRydaxx(scope.row)">
<i class="el-icon-s-order"></i><span>人员档案</span>
......@@ -1560,7 +1568,7 @@
columnTitle.prop == 'bzrZp' || columnTitle.prop == 'xyrZp'
"
>
<img :src="scope.row[columnTitle.prop]" alt="" />
<img :src="scope.row[columnTitle.prop]" alt=""/>
</div>
<div
v-else-if="
......@@ -1957,7 +1965,8 @@
pageBs == 'queryXnpg' ||
pageBs == 'queryXshbZd' ||
pageBs == 'transactionFlow' ||
pageBs == 'queryAjcc'
pageBs == 'queryAjcc' ||
pageBs == 'csgwdzczl'
)
"
>
......@@ -3081,9 +3090,9 @@ import SelectTreeDialog from "@c/treeCode_components.vue";
import LazySelectTreeDialog from "@c/lazy_treeCode_components.vue";
import Http from "@/utils/http.js";
import axios from "axios";
import { addMenuBt } from "@/api/dwgrxnpg/dwgrxnpg.js";
import { selectMenuList, selectRoleList } from "@/api/userAuth/menu.js";
import { post } from "@/utils/http.js";
import {addMenuBt} from "@/api/dwgrxnpg/dwgrxnpg.js";
import {selectMenuList, selectRoleList} from "@/api/userAuth/menu.js";
import {post} from "@/utils/http.js";
import url from "@/api/base";
import qs from "qs";
import dangBlue from "@/assets/img/dangBlue.png";
......@@ -3101,7 +3110,7 @@ import {
getXxtkZtDetail,
getXxtkXdryDetail,
} from "@/api/xxtk/gzry.js";
import { postform } from "@/utils/http.js";
import {postform} from "@/utils/http.js";
export default {
name: "ptCxForm",
......@@ -3173,7 +3182,7 @@ export default {
type: Array,
default: () => [],
},
scopeYH:Object
scopeYH: Object
},
data() {
return {
......@@ -3712,10 +3721,10 @@ export default {
console.log(scope.row.xzgzrybh, route);
},
handleSwitch(value, item) {
this.$emit("handleSwitch", { value, item });
this.$emit("handleSwitch", {value, item});
},
handleSwitchs(value, item) {
this.$emit("handleSwitchs", { value, item });
this.$emit("handleSwitchs", {value, item});
},
audit(scope) {
this.$emit("audit", scope.row);
......@@ -3936,7 +3945,8 @@ export default {
});
});
})
.catch(() => {});
.catch(() => {
});
} else {
this.$confirm("是否确认关注人员?", "提醒", {
confirmButtonText: "确定",
......@@ -3970,7 +3980,8 @@ export default {
});
});
})
.catch(() => {});
.catch(() => {
});
}
},
dele(scope) {
......@@ -4247,7 +4258,7 @@ export default {
toLasxxg(asjbh, type, type2) {
let routeData = this.$router.resolve({
path: "/malasxmodify",
query: { asjbh: asjbh, type: type, type2 },
query: {asjbh: asjbh, type: type, type2},
});
window.open(routeData.href, "_blank");
},
......@@ -4391,7 +4402,7 @@ export default {
this.$emit("tableDy", html);
},
tableRowClassName({ rowIndex }) {
tableRowClassName({rowIndex}) {
if (rowIndex % 2 == 0) {
return "";
} else {
......@@ -4614,6 +4625,7 @@ export default {
if (JSON.stringify(response.data) == "{}") {
self.closeLoading();
self.tableData = [];
self.tableDataLength = 0;
this.$message({
type: "warning",
message: "暂无数据!",
......@@ -4937,7 +4949,7 @@ export default {
});
return children;
},
sortChange({ column, prop, order }) {
sortChange({column, prop, order}) {
debugger;
if (order == "ascending") {
this.saveSort = order;
......@@ -5114,6 +5126,7 @@ export default {
</script>
<style>
@import url("../assets/iconfont/iconfont.css");
.rightContent .el-textarea__inner,
#formCommonPage .el-textarea__inner {
height: 100px;
......
......@@ -50,6 +50,14 @@ const menuLayouts = [
component: () => import("@/views/zczl/zczl/xywspdfkxx.vue")
},
{
path: "/csgwdzczl",
name: "csgwdzczl",
meta: {
title: '抄送给我的工作指令'
},
component: () => import("@/views/zczl/zczl/csgwdzczl.vue")
},
{
path: "/wsqfbdzczl",
name: "wsqfbdzczl",
meta: {
......
<template>
<div class="Content">
<right-content
:tableOperationWidth="tableOperationWidth"
:pageBs="pageBs"
:header="header"
:cxFormData="cxFormData"
:cxQueryField="cxQueryField"
:cxDefaultFormThead="cxDefaultFormThead"
:cxUrl="cxUrl"
:transformFormTable="transformFormTable"
@add="add"
@edit="edit"
@dele="dele"
@toInfor="toInfor"
ref="rightContent"
>
<template #btnGroup="scope">
<el-button @click="edit(scope.scope)" type="text">修改</el-button>
<el-button @click="dele(scope.scope)" type="text">删除</el-button>
</template>
</right-content>
<el-drawer
size="80%"
:with-header="false"
:visible.sync="drawer">
<zczl infoType="4" v-if="drawer" :zczlbh="zczlbh" :fpbh="fpbh" :sub="sub"></zczl>
</el-drawer>
</div>
</template>
<script>
import rightContent from "@c/ptCxForm_components.vue";
import {deleteKyxsxx} from "@/api/rlqbxs.js";
import {spsftg} from "@/assets/js/transformFormTable.js";
import zczl from '@p/zczl/zczl/detailZczl.vue'
export default {
name: "csgwdzczl",
components: {
rightContent,zczl
},
data() {
return {
zczlbh:'',
fpbh:'',
sub:'CSXQ',
drawer: false,
tableOperation: true,
tableOperationWidth: 200,
transformFormTable: {spsftg},
header: "抄送给我的工作指令",
pageBs: "csgwdzczl",
cxFormData: {
zczlbh:"",
zlwh: "",
zllx: "",
fbsj_s: "",
fbsj_e: "",
zljsdwdm: "",
zlsy: "",
limit: 10,
page: 1,
},
cxQueryField: [
{
name: "指令文号",
id: "zlwh",
placeholder: "请输入",
type: "text",
value: "",
col: "3",
},
{
name: "指令类型",
id: "zllx",
type: "codeTreeDialog",
props: "checkEmpty",
value: "",
placeholder: "请选择",
col: "3",
codeOptions: [],
codeTree: "CODE_ZLLXDM",
},
{
name: "开始发布时间",
id: "fbsj_s",
placeholder: "请输入",
type: "datetime",
value: "",
col: "3",
},
{
name: "结束发布时间",
id: "fbsj_e",
type: "datetime",
value: "",
placeholder: "请选择",
col: "3",
},
{
name: "指令事由",
id: "zlsy",
placeholder: "请输入",
type: "text",
value: "",
col: "3",
},
],
cxDefaultFormThead: [
{
label: "工作指令编号",
prop: "zczlbh",
width:'300',
toInfor:true
},
{
label: "指令文号",
prop: "zlwh",
width:'300',
},
{
label: "指令事由",
prop: "zlsy",
},
{
label: "业务名称",
prop: "ywmc",
},
{
label: "指令类型",
prop: "zllxStr",
},
{
label: "工作要求",
prop: "gzyq",
},
{
label: "发布时间",
prop: "fbsj",
},
/* {
label: "回报期限",
prop: "hbqx",
},*/
{
label: "抄送人",
prop: "fprxm",
},
{
label: "抄送时间",
prop: "cssj",
},
],
cxUrl: "/zczl/getCopyToMeZczlList",
Menu: [
{
id: "csgwdzczl",
label: "抄送给我的工作指令",
index: "csgwdzczl",
auth: "M0101",
className: "iconfont iconrizhi",
disabled: false,
},
],
};
},
created() {
this.$store.commit("user/SET_Menu", this.Menu);
if (this.$route.query.zczlbh != null && this.$route.query.zczlbh != '') {
this.cxFormData.zczlbh = this.$route.query.zczlbh;
}
},
methods: {
add() {
this.$router.push("adjustRlqbxs");
},
edit(scope) {
this.$router.push({
path: "adjustRlqbxs",
query: {xxzjbh: scope.row.xxzjbh},
});
},
dele(scope) {
console.log(scope);
this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
deleteKyxsxx({
xxzjbh: scope.row.xxzjbh,
}).then((res) => {
if (res.success && res.code == 200) {
this.$message({
type: "success",
message: "删除成功",
});
this.$refs.rightContent.doQuery("yes");
}
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
toInfor(scope) {
this.zczlbh = scope.zczlbh;
this.fpbh = scope.fpbh;
this.drawer = true;
},
},
mounted() {
},
};
</script>
<style>
.el-dialog__body {
padding: 10px 15px !important;
}
.rightContent .el-input__inner,
#formCommonPage .el-input__inner {
height: 32px;
line-height: 32px;
font-family: inherit;
}
.el-table__header-wrapper th,
.el-table__header-wrapper tr {
background: #f4f6f7;
}
.rightContent .el-input__icon,
#formCommonPage .el-input__icon,
.el-input__suffix-inner {
line-height: 36px;
}
.rightContent .el-range-separator {
position: relative;
top: -4px;
}
.rightContent .el-textarea__inner,
#formCommonPage .el-textarea__inner {
width: 100%;
font-family: inherit;
}
.rightContent .el-range-input,
#formCommonPage .el-range-input {
vertical-align: top;
}
.rightContent .el-date-editor .el-range__close-icon {
margin-top: -4px;
}
.rightContent .el-form-item__error {
left: calc(66% - 27px);
top: 12px;
}
.success-row {
background-color: #fbf9f4 !important;
}
.Content .el-input,
.Content .el-date-editor--daterange.el-input__inner {
width: 100% !important;
}
</style>
<style scoped lang="scss">
@import "@/assets/styles/rightContent.scss";
</style>
......@@ -4,6 +4,7 @@
<div v-if="sub==='FP'">指令分派</div>
<div v-if="sub==='HB'">指令回报</div>
<div v-if="sub==='YJ'">指令移交</div>
<div v-if="sub==='CS'">指令抄送</div>
<div v-if="sub==='SP'">指令审批</div>
<div v-if="sub==='QS'">指令签收</div>
<div v-if="sub==='PJ'">评价</div>
......@@ -305,6 +306,31 @@
</el-form-item>
</el-form>
</div>
<div v-if="sub==='CS'" class="SP subBox" style="margin-top: 30px;">
<el-form ref="form" :model="CSForm" label-width="100px">
<el-form-item label="待抄送人:">
<el-button size="small" type="primary" @click="makeCopyDialog=true">选择接收人</el-button>
<ul>
<li v-for="item in CSForm.peopleName" :key="item" style="color: dodgerblue">
{{ item }}
</li>
</ul>
</el-form-item>
<el-form-item label="已抄送人:">
<ul>
<li v-for="item in acceptCsPeopleList" :key="item" >
{{ item }}
</li>
</ul>
</el-form-item>
<el-divider></el-divider>
<el-form-item style="text-align: right">
<el-button @click="makeCopyToOther">确认</el-button>
</el-form-item>
</el-form>
</div>
<div v-if="sub==='FP'" class="SP subBox" style="margin-top: 30px;">
<el-form ref="form" :model="FPForm" label-width="100px">
<el-form-item label="接收单位" label-width="100px" style="width:500px">
......@@ -405,6 +431,22 @@
</el-drawer>
<el-dialog title="人员列表" :visible.sync="makeCopyDialog" center>
<ul style="margin-top: 2%">
<li v-for="item in unitChilds" :key="item.peopleAccount">
<el-button v-if="CSForm.qsrjh.indexOf(item.peopleAccount)<0" type="info" @click="setCopyToList('1',item)">
{{ item.peopleName + ' ( ' + item.peopleAccount + ' )' }}
</el-button>
<el-button v-if="CSForm.qsrjh.indexOf(item.peopleAccount)>=0" type="primary" @click="setCopyToList('0',item)">
{{ item.peopleName + ' ( ' + item.peopleAccount + ' )' }}
</el-button>
</li>
</ul>
<span slot="footer" class="dialog-footer">
<el-button size="mini" @click="cancelMakeCopy">取 消</el-button>
<el-button size="mini" type="primary" @click="makeCopyDialog = false">确 定</el-button>
</span>
</el-dialog>
<el-dialog title="下级回报列表" :visible.sync="CKXQZT" width="80%">
<el-table :data="CKXQList" style="width: 100%">
<el-table-column prop="zczlbh" label="工作指令编号"></el-table-column>
......@@ -439,7 +481,8 @@ import {
getHbspInfo,
getAllHbInfoByFpbh,
doEvaluate,
getAllResponseFromMe
getAllResponseFromMe,
getAlreadyAcceptCsPeopleList
} from "@/api/zczl/zczl.js"
import SelectTreeDialog from "@c/treeCode_components.vue";
import axios from "@/utils/http.js"
......@@ -485,6 +528,7 @@ export default {
}
},
FPTableData: false,
makeCopyDialog: false,
PJTableData: false,
tableData: [],
melist: [],
......@@ -508,6 +552,10 @@ export default {
YJForm: {
qsrjh: ''
},
CSForm: {
peopleName: [],
qsrjh: []
},
//分派
FPForm: {
qsrgajgdm: [],
......@@ -536,6 +584,7 @@ export default {
}],
unitChilds: [],
unitCode: [],
acceptCsPeopleList: [],
info: {
fpDetailList: [],
zczlMainInfo: {},
......@@ -553,6 +602,22 @@ export default {
}
})
},
cancelMakeCopy() {
this.CSForm.qsrjh = [];
this.CSForm.peopleName = [];
this.makeCopyDialog = false;
},
setCopyToList(status, item) {
if (status == '0' && this.CSForm.qsrjh.indexOf(item.peopleAccount) >= 0) {
this.CSForm.qsrjh.splice(this.CSForm.qsrjh.indexOf(item.peopleAccount), 1);
this.CSForm.peopleName.splice(this.CSForm.qsrjh.indexOf(item.peopleAccount), 1);
}
if (status == '1' && this.CSForm.qsrjh.indexOf(item.peopleAccount) < 0) {
this.CSForm.qsrjh.push(item.peopleAccount);
this.CSForm.peopleName.push(item.peopleName + ' ( ' + item.peopleAccount + ' )');
}
},
downloadFile(row) {
let loading = this.$loading({
lock: true,
......@@ -709,7 +774,7 @@ export default {
}
for (let i = 0; i < list.length; i++) {
for (let j = 0; j < list.length; j++) {
if(list[i].unitCode == list[j].unitCode && list[i].peopleAccount != list[j].peopleAccount){
if (list[i].unitCode == list[j].unitCode && list[i].peopleAccount != list[j].peopleAccount) {
this.$message.warning("每个单位仅需指定一名接收人")
return;
}
......@@ -745,7 +810,17 @@ export default {
}
this.$emit('post', params)
}
},//回报
},
makeCopyToOther() {
if (this.CSForm.qsrjh.length == 0) {
this.$message.warning("请先选择要抄送的警员");
return;
}
this.$emit('post', JSON.stringify(this.CSForm.qsrjh));
this.CSForm.qsrjh = [];
this.CSForm.peopleName = [];
},
//回报
basis(i) {
if (i) {
this.$emit('post', this.YJForm)
......@@ -761,6 +836,19 @@ export default {
this.$emit('post', this.FPForm)
},//分派
},
mounted() {
if (this.sub === 'CS') {
this.acceptCsPeopleList = [];
getAlreadyAcceptCsPeopleList({zczlbh: this.zczlbh}).then(res => {
if (res.data.unitChilds.length > 0) {
for (let i = 0; i < res.data.unitChilds.length; i++) {
let peopleShowName = res.data.unitChilds[i].peopleName + '(' + res.data.unitChilds[i].peopleAccount + ')';
this.acceptCsPeopleList.push(peopleShowName);
}
}
})
}
},
created() {
// this.$bus.$on('hbspParam',(val)=>{
// this.needApprovalResponse = []
......@@ -810,6 +898,20 @@ export default {
}
})
}
if (this.sub === 'CS') {
getChildUnitAndPeople({onlyPeople: 1}).then(res => {
this.unitChilds = []
if (res.code == 200 && res.success) {
let list = res.data.unitChilds[0].childs;
let account = JSON.parse(sessionStorage.getItem('userInfo')).account
for (let i in list) {
if (list[i].isPeople == '1' && list[i].peopleAccount != account) {
this.unitChilds.push(list[i]);
}
}
}
})
}
if (this.sub === 'FP') {
getChildUnitAndPeople({onlyUnit: 1}).then(res => {
if (res.code == 200 && res.success) {
......
......@@ -570,9 +570,9 @@ export default {
toXdzl() {
this.$router.push({
path: "/addsqfbzl",
query: {
type: "xdzl",
},
// query: {
// type: "xdzl",
// },
});
},
pingjia(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