Commit 552b6e08 by 叶富雄

侦查指令模块

parent 6600719b
......@@ -62,8 +62,19 @@ export const getHbDetailByFpbh = params =>
//
export const getChildUnitAndPeople = params =>
post(`${base.alyIP}/zczl/getChildUnitAndPeople`, params);
//人像比对详情
// export const rxdbDetail = params =>
// post(`${base.alyIP}/rxbz/queryByXxzjbh`, params);
//详情
export const getZczltoMeInfomation = params =>
post(`${base.alyIP}/zczl/getZczltoMeInfomation`, params);
//修改回报
export const editHbInfo = params =>
postform(`${base.alyIP}/zczl/editHbInfo`, params);
//评价
export const doEvaluate = params =>
postform(`${base.alyIP}/zczl/doEvaluate`, params);
//回报信息
export const getAllHbInfoByFpbh = params =>
post(`${base.alyIP}/zczl/getAllHbInfoByFpbh`, params);
//附件下载
export const downloadZczlAttachment = params =>
post(`${base.alyIP}/zczl/downloadZczlAttachment`, params);
......@@ -129,6 +129,15 @@ const menuLayouts = [
},
component: () => import("@/views/zczl/zczl/addsqfbzl.vue")
},
{
path: "/detailZczl",
name: "detailZczl",
meta: {
title: '侦查指令详情',
isAdd: true
},
component: () => import("@/views/zczl/zczl/detailZczl.vue")
},
];
......@@ -136,4 +145,4 @@ export default {
path: "/right",
component: menuLayout,
children: [...menuLayouts]
};
\ No newline at end of file
};
<template>
<div>
</div>
</template>
<script>
export default {
name: "detail"
}
</script>
<style scoped>
</style>
<template>
<div class="Content">
<h5>
<div v-if="sub==='FP'">指令分派</div>
<div v-if="sub==='HB'">指令回报</div>
<div v-if="sub==='YJ'">指令移交</div>
<div v-if="sub==='SP'">指令审批</div>
<div v-if="sub==='QS'">指令签收</div>
<div v-if="sub==='PJ'">评价</div>
</h5>
<el-divider></el-divider>
<h4>基本信息</h4>
<ol>
<li>
<div>
<span>业务名称:</span>{{info.zczlMainInfo.ywmc}}
</div>
<div>
<span>回报期限:</span>{{info.zczlMainInfo.hbqx}}
</div>
</li>
<li>
<div>
<span>指令类型:</span>{{info.zczlMainInfo.zllx}}
</div>
<div>
<span>指令接收单位:</span>{{info.zczlMainInfo.zljsdwdm}}
</div>
</li>
<li>
<div>
<span>指令事由:</span>{{info.zczlMainInfo.zlsy}}
</div>
<div>
<span>工作要求:</span>{{info.zczlMainInfo.gzyq}}
</div>
</li>
<li>
<div>
<span>发起人姓名:</span>{{info.zczlMainInfo.zlfqrxm}}
</div>
<div>
<span>分派编号:</span>{{info.zczlMainInfo.fpbh}}
</div>
</li>
<li>
<div>
<span>签收单位名称:</span>{{info.zczlMainInfo.qsrdwmc}}
</div>
<div>
<span>分派时间:</span>{{info.zczlMainInfo.fpsj}}
</div>
</li>
</ol>
<h4>流程信息</h4>
<div class="block">
<el-timeline>
<el-timeline-item
v-for="(activity, index) in activities"
:key="index"
:icon="activity.icon"
:type="activity.type"
:color="activity.color"
:size="activity.size"
:timestamp="activity.timestamp">
{{activity.content}}
</el-timeline-item>
</el-timeline>
</div>
<div v-if="sub==='SP'" class="SP subBox" style="margin-top: 30px;">
<el-form ref="form" :model="SPform" label-width="100px">
<el-form-item label="审批意见:">
<el-input type="textarea" v-model="SPform.spyj"></el-input>
</el-form-item>
<el-divider></el-divider>
<el-form-item style="text-align: right">
<el-button type="primary" @click="adopt(0)">不同意</el-button>
<el-button @click="adopt(1)">同意</el-button>
</el-form-item>
</el-form>
</div>
<div v-if="sub==='QS'" class="SP subBox" style="margin-top: 30px;">
<el-form ref="form" :model="SPform" label-width="100px">
<el-divider></el-divider>
<el-form-item style="text-align: right">
<el-button type="primary" @click="Sign(0)">取消</el-button>
<el-button @click="Sign(1)">签收</el-button>
</el-form-item>
</el-form>
</div>
<div v-if="sub==='HBXG'" class="SP subBox" style="margin-top: 30px;">
<el-form ref="form" :model="SPform" label-width="100px">
<el-form-item label="回报内容:">
<el-input type="textarea" v-model="HBform.hbnr"></el-input>
</el-form-item>
<el-form-item label="附件信息" style="width:100%">
<el-upload
class="upload-demo"
action="#"
accept=".xls,.xlsx"
:on-change="fileOnchange"
:on-preview="handlePreview"
:on-remove="
(flie, fileList) => {
fileArr = fileList;
}
"
:auto-upload="false"
:http-request="() => {}"
:file-list="fileArr"
>
<el-button size="small" type="primary">选择上传</el-button>
</el-upload>
</el-form-item>
<el-divider></el-divider>
<el-form-item style="text-align: right">
<el-button @click="backXG(1)">确认</el-button>
</el-form-item>
</el-form>
</div>
<div v-if="sub==='HB'" class="SP subBox" style="margin-top: 30px;">
<el-form ref="form" :model="SPform" label-width="100px">
<el-form-item label="回报内容:">
<el-input type="textarea" v-model="HBform.hbnr"></el-input>
</el-form-item>
<el-form-item label="附件信息" style="width:100%">
<el-upload
class="upload-demo"
action="#"
accept=".xls,.xlsx"
:on-change="fileOnchange"
:on-remove="
(flie, fileList) => {
fileArr = fileList;
}
"
:auto-upload="false"
:http-request="() => {}"
:file-list="fileArr"
>
<el-button size="small" type="primary">选择上传</el-button>
</el-upload>
</el-form-item>
<el-divider></el-divider>
<el-form-item style="text-align: right">
<el-button @click="back(1)">确认</el-button>
</el-form-item>
</el-form>
</div>
<div v-if="sub==='PJ'" class="SP subBox" style="margin-top: 30px;">
<el-form ref="form" :model="PJform" label-width="100px" style="margin-bottom: 30px;">
<el-table
:data="melist"
style="width: 100%">
<el-table-column prop="zczlbh" label="侦查指令编号"></el-table-column>
<el-table-column prop="hbrdwmc" label="回报单位"></el-table-column>
<el-table-column prop="hbnr" label="回报内容"></el-table-column>
<el-table-column prop="hbsjDate" label="回报时间"></el-table-column>
<el-table-column
fixed="right"
label="操作"
width="120">
<template slot-scope="scope">
<el-button v-if="scope.row.pjdj=='' ||scope.row.pjdj==null " @click.native.prevent="pingjia(scope, tableData)">评价</el-button>
<el-button v-else @click.native.prevent="Seepingjia(scope, tableData)">查看评价</el-button>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
<div v-if="sub==='YJ'" class="SP subBox" style="margin-top: 30px;">
<el-form ref="form" :model="YJForm" label-width="100px">
<el-form-item label="移交人警号:">
<el-select v-model="YJForm.qsrjh" placeholder="请选择" style="width: 400px;">
<el-option
v-for="item in unitChilds"
:key="item.value"
:label="item.peopleName+'('+item.peopleAccount+')'"
:value="item.peopleAccount">
</el-option>
</el-select>
</el-form-item>
<el-divider></el-divider>
<el-form-item style="text-align: right">
<el-button @click="basis(1)">确认</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">
<select-tree-dialog
style="width:500px"
:placeholder="'请选择'"
:formData="FPForm"
:currentItem="GD.qsrgajgdm"
/>
</el-form-item>
<el-form-item label="签收人警号" label-width="100px" style="width:100%" prop="fpgzyq">
<el-button type="primary" @click="FPTableData=true">选择</el-button>
<div v-if="list.length">
<el-tag
v-for="(tag, k) in list"
:key="k"
closable
style="margin-right: 3px;"
@close="tagClose(k)"
>
{{tag.peopleAccount}}
</el-tag>
</div>
</el-form-item>
<el-form-item label="工作要求" label-width="100px" style="width:100%" prop="fpgzyq">
<el-input
type="textarea"
v-model="FPForm.fpgzyq"
style="width:500px"
placeholder="请输入"
></el-input>
</el-form-item>
<el-divider></el-divider>
<el-form-item style="text-align: right">
<el-button @click="assign(1)">确认</el-button>
</el-form-item>
</el-form>
</div>
<el-drawer
title="人员列表"
:append-to-body="true"
size="70%"
:visible.sync="FPTableData">
<el-tabs >
<el-tab-pane
v-for="(m,p) in tableData"
:key="p" :label="m.unitName"
:name="m.unitCode">
<el-table
:data="m.childs"
style="width: 100%"
:ref="'multipleTable'+p"
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="unitName" label="单位名称"></el-table-column>
<el-table-column prop="peopleName" label="人员名字"></el-table-column>
<el-table-column prop="peopleAccount" label="人员警号"></el-table-column>
<el-table-column prop="peopleIdNumber" label="身份证号"></el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<div style="text-align: right;margin-top: 20px;"><el-button type="primary" @click="subFPTableData">确认</el-button></div>
</el-drawer>
<el-drawer
title="评价"
:append-to-body="true"
size="70%"
:visible.sync="PJTableData">
<el-form ref="form" :model="PJform" label-width="100px">
<el-form-item label="评价等级" style="width: 500px;">
<el-select :disabled="!PJSE" v-model="PJform.pjdj" placeholder="请选择评价等级" style="width: 500px;">
<el-option label="不合格" value="0"></el-option>
<el-option label="合格" value="1"></el-option>
<el-option label="优秀" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="评价内容:">
<el-input autosize :disabled="!PJSE" type="textarea" v-model="PJform.pjnr" style="width: 500px;"></el-input>
</el-form-item>
</el-form>
<div v-if="PJSE" style="text-align: right;margin-top: 20px;"><el-button type="primary" @click="ONPJ">确认</el-button></div>
</el-drawer>
</div>
</template>
<script>
import {getChildUnitAndPeople,getHbDetailByFpbh,getZczltoMeInfomation,getAllHbInfoByFpbh,doEvaluate} from "@/api/zczl/zczl.js"
import SelectTreeDialog from "@c/treeCode_components.vue";
import axios from "@/utils/http.js"
import base from "@/api/base";
let id = 0;
export default {
name: "detailZczl",
components: {SelectTreeDialog},
props:{
zczlbh:String, //侦查指令编号
fpbh:String, //分派编号
sub:String, //侦查指令编号
},
data() {
return {
PJSE:true,
PJform:{
pjdj:'',
pjnr:'',
hbbh:''
},
GD:{
qsrgajgdm: {
name: "接收单位",
id: "qsrgajgdm",
type: "codeTreeDialog",
props: "checkEmpty",
value: "540000000000",
placeholder: "请选择",
col: "3",
codeOptions: [],
codeTree: "CODE_UNIT",
multiple:true
}
},
FPTableData:false,
PJTableData:false,
tableData: [],
melist:[],
fileArr:[],
//需要我审批模块
SPform:{
spyj:'',
zczlbh:'',
spsftg:''
},
//回报
HBform:{
file:'',
hbnr:'',//回报内容
},
//移交
YJForm: {
qsrjh:''
},
//分派
FPForm:{
qsrgajgdm:[],
qsrjh:'',
fpgzyq:''
},
PJform:{pjnr:''},//评价
activities: [
{
content: '等待审批',
timestamp: '2018-04-12 20:46',
size: 'large',
type: 'primary',
}, {
content: '支持自定义颜色',
timestamp: '2018-04-03 20:46',
color: '#0bbd87',
icon:'el-icon-success'
}, {
content: '支持自定义尺寸',
timestamp: '2018-04-03 20:46',
size: 'large'
}, {
content: '默认样式的节点',
timestamp: '2018-04-03 20:46'
}],
unitChilds:[],
unitCode:[],
info:{
fpDetailList:[],
zczlMainInfo:{},
zlfjlist:[]
},
list:[],
};
},
methods:{
ONPJ(){
doEvaluate(this.PJform)
let params = new FormData();
params.append('hbbh',this.PJform.hbbh)
params.append('pjdj',this.PJform.pjdj)
params.append('pjnr',this.PJform.pjnr)
doEvaluate(params).then(res=>{
if(res.code === 200){
this.$message.success('评价成功')
this.PJTableData =false
}else {
this.$message.warning(res.message)
}
})
},
Seepingjia(row){
this.PJform.pjdj = row.row.pjdj;
this.PJform.pjnr = row.row.pjnr;
this.PJTableData= true;
this.PJSE= false;
},
pingjia(row){
this.PJTableData= true
this.PJform.hbbh = row.row.hbbh
},
handlePreview(i){
let dzwjwz = i.dzwjwz;
let dzwjmc = i.dzwjmc;
let params = new FormData();
params.append('dzwjwz',dzwjwz)
params.append('dzwjmc',dzwjmc)
let loading = this.$loading({
lock: true,
text: "正在下载...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
axios
.post(`${base.alyIP}/zczl/downloadZczlAttachment`, params, {
responseType: "blob",
})
.then((res) => {
loading.close();
let blob = new Blob([res]);
// 组装a标签
let elink = document.createElement("a");
// 设置下载文件名
elink.download = dzwjmc;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
document.body.removeChild(elink);
});
},
backXG(){
let params = new FormData()
params.append('hbnr',this.HBform.hbnr)
params.append('hbbh',this.HBform.hbbh)
for (let i = 0; i < this.fileArr.length; i++) {
params.append("file", this.fileArr[i].raw);
}
this.$emit('post',params)
},
getJson() {
let self= this
axios.get(`JsonData/CODE_UNIT.json`).then((response) => {
if (response.success === true) {
self.GD.qsrgajgdm.codeOptions = response.data.rows
}
});
},
tagClose(i){
this.list.splice(i,1)
console.log(this.list);
},
handleSelectionChange(rows){
console.log(rows);
},
subFPTableData(){
let list = []
for(let i in this.tableData){
let selection = this.$refs['multipleTable'+i][0].selection;
list = [...list,...selection]
}
this.list = list;
this.FPTableData = false;
},
handleChange(value) {
console.log(value);
},
fileOnchange(file, fileList) {
this.fileArr = fileList;
},
adopt(i){
this.SPform.spsftg =i
this.SPform.zczlbh = this.zczlbh
this.$emit('post',this.SPform)
},//需要我审批模块
Sign(i){
this.$emit('post',{state:i,zczlbh:this.zczlbh})
},//签收
back(i){
if(i){
let params = new FormData()
params.append('hbnr',this.HBform.hbnr)
for (let i = 0; i < this.fileArr.length; i++) {
params.append("file", this.fileArr[i].raw);
}
this.$emit('post',params)
}
},//回报
basis(i){
if(i){
this.$emit('post',this.YJForm)
}
},//移交
assign(i){
let s = []
for(let f of this.list.values()){
s.push(`${f.unitCode}|${f.peopleAccount}`)
}
this.FPForm.qsrjh = s
this.$emit('post',this.FPForm)
},//分派
},
created() {
this.getJson()
getZczltoMeInfomation({zczlbh:'460000050000202112060031711103'}).then(res=>{
if(res.code ===200){
this.info = res.data
}
})
if(this.sub==='YJ'){
getChildUnitAndPeople({onlyLly:1}).then(res=>{
if (res.code == 200 && res.success) {
let list = res.data.unitChilds;
let account = JSON.parse(sessionStorage.getItem('userInfo')).account
for(let i in list){
let peopleAccount = list[i].peopleAccount;
if(peopleAccount ===account ){
list.splice(i,1)
}
}
this.unitChilds = list
}
})
}
if(this.sub ==='FP'){
getChildUnitAndPeople({onlyUnit:1}).then(res=>{
if (res.code == 200 && res.success) {
let list = res.data.unitChilds;
this.unitCode = list
}
})
getChildUnitAndPeople({unitAndLly:1}).then(res=>{
if (res.code == 200 && res.success) {
let list = res.data.unitChilds;
let account = JSON.parse(sessionStorage.getItem('userInfo')).account
for(let i in list){
let peopleAccount = list[i].peopleAccount;
if(peopleAccount ===account ){
list.splice(i,1)
}
}
this.unitChilds = list
}
})
}
if(this.sub==='HBXG'){
getHbDetailByFpbh({fpbh:this.zczlbh,sfxbxg:0}).then(res=>{
if (res.success && res.code == 200) {
this.HB = '回报修改或续报修改';
this.HBform.hbnr = res.data.hbnr;
if(res.data.fjList.length){
this.HBform.HBform = res.data.fjList;
}
this.fileArr= [
{
name:res.data.fjList[0].dzwjmc,
dzwjwz:res.data.fjList[0].dzwjwz,
dzwjmc:res.data.fjList[0].dzwjmc,
}
]
this.HBform['hbbh'] = res.data.hbbh;
}
else {
this.$message.error(res.message);
}
})
}
if(this.sub==='PJ'){
getAllHbInfoByFpbh({fpbh:this.fpbh}).then(res=>{
if(res.code=== 200){
this.melist = res.data.hbDetailList
}
})
}
},
watch:{
'FPForm.qsrgajgdm':function (r) {
console.log(r);
if(r.length){
let cd = r.toString();
getChildUnitAndPeople({unitCodes:cd,onlyLly:1}).then(res=>{
this.tableData =res.data.unitChilds
})
}
}
}
}
</script>
<style scoped lang="scss">
.Content{
h5{
font-size: 16px;
color: #1A1A1A;
}
h4{
font-size: 16px;
color: #1A1A1A;
margin: 36px 0;
}
ol{
li{
display: flex;
margin: 10px 0;
div{
flex: 1;
color: #808591;
span{
display: inline-block;
width: 120px;
font-size: 14px;
color: #363636;
}
}
}
}
.subBox{
margin-right: 20px;
}
}
</style>
<style>
.el-drawer__wrapper,.el-drawer__body{
overflow: auto !important;
}
</style>
......@@ -24,6 +24,12 @@
</el-button>
</template>
</right-content>
<el-drawer
size="80%"
:with-header="false"
:visible.sync="drawer">
<zczl v-if="drawer" :zczlbh="zczlbh" :fpbh="fpbh" :sub="sub"></zczl>
</el-drawer>
</div>
</template>
......@@ -31,14 +37,18 @@
import rightContent from "@c/ptCxForm_components.vue";
import {zlToDelete, zlTqsp} from "@/api/zczl/zczl.js";
import {spsftg, sfczhbxx} from "@/assets/js/transformFormTable.js";
import zczl from '@p/zczl/zczl/detailZczl.vue'
export default {
name: "rlqbxsxx",
components: {
rightContent,
rightContent,zczl
},
data() {
return {
zczlbh:'',
fpbh:'',
sub:'',
drawer: false,
tableOperation: true,
tableOperationWidth: 200,
header: "我发起的工作指令",
......@@ -237,15 +247,12 @@ export default {
],
cxDefaultFormThead: [
{
label: "工作指令编号",
label: "侦查指令编号",
prop: "zczlbh",
width:'300',
toInfor:true
},
/* {
label: "分派编号",
prop: "fpbh",
},*/
{
/*table默认得表头*/
label: "指令事由",
prop: "zlsy",
},
......@@ -386,13 +393,10 @@ export default {
});
},
toInfor(scope) {
this.$router.push({
path: "/detailRlqbxs",
query: {
xxzjbh: scope.xxzjbh,
type: "xdzl",
},
});
this.sub = 'PJ';
this.drawer = true;
this.zczlbh = scope.zczlbh;
this.fpbh = scope.fpbh;
},
},
mounted() {
......
......@@ -16,7 +16,12 @@
<el-button :disabled="scope.scope.row.ifsp!='能'" @click="examine(scope.scope)" type="text">审批</el-button>
</template>
</right-content>
<el-drawer
size="80%"
:with-header="false"
:visible.sync="drawer">
<zczl v-if="drawer" @post="post" :zczlbh="zczlbh" sub="SP"></zczl>
</el-drawer>
<!-- 撤控 -->
<el-dialog title="申请指令信息" :visible.sync="revokeVisiable" width="30%">
<el-form :inline="true" :model="ckForm" class="demo-form-inline">
......@@ -64,16 +69,19 @@
<script>
import rightContent from "@c/ptCxForm_components.vue";
import {tjsp, queryZlxqByZczlbh} from "@/api/zczl/zczl.js";
import zczl from '@p/zczl/zczl/detailZczl.vue'
import {tjsp} from "@/api/zczl/zczl.js";
import {spsftg, ifsp} from "@/assets/js/transformFormTable.js";
export default {
name: "rlqbxsxx",
components: {
rightContent,
rightContent,zczl
},
data() {
return {
zczlbh:'',
drawer: false,
tableOperation: true,
transformFormTable: {
ifsp,
......@@ -263,6 +271,17 @@ export default {
this.$store.commit("user/SET_Menu", this.Menu);
},
methods: {
post(params){
tjsp(params).then((res) => {
if (res.success && res.code == 200) {
this.$message.success("审批成功");
this.drawer = false;
this.$refs.rightContent.doQuery("yes");
} else {
this.$message.error("审批失败");
}
});
},
submitCKD(tgzt) {
this.$set(this.params, "spsftg", tgzt);
tjsp(this.params).then((res) => {
......@@ -280,7 +299,9 @@ export default {
this.$message.error("不可以审批此条消息");
return;
}
let params = new FormData();
this.drawer = true;
this.zczlbh = scope.row.zczlbh
/* let params = new FormData();
let self = this;
params.append("zczlbh", scope.row.zczlbh);
this.$set(self.params, "zczlbh", scope.row.zczlbh);
......@@ -316,7 +337,7 @@ export default {
loading.close();
this.$message.error("提取信息失败");
}
});
});*/
},
},
mounted() {
......
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