8ce59662 by 焦泽平
2 parents 3269ef39 b8ef51ba
1 import request from '@/plugin/axios' 1 import request from '@/plugin/axios'
2 /** 2 /**
3 * 综合查询 3 * 待办箱综合查询
4 */ 4 */
5 export function getDbxList(data) { 5 export function getDbxList(data) {
6 return request({ 6 return request({
...@@ -8,4 +8,25 @@ export function getDbxList(data) { ...@@ -8,4 +8,25 @@ export function getDbxList(data) {
8 method: 'post', 8 method: 'post',
9 data : data, 9 data : data,
10 }) 10 })
11 }
12
13 /**
14 * 已办箱综合查询
15 */
16 export function getYbxList(data) {
17 return request({
18 url: '/workflow/queryWorkflowProcess',
19 method: 'post',
20 data : data,
21 })
22 }
23
24 /**
25 * 通过名称获取字典
26 */
27 export function queryByBusinessId(businessId) {
28 return request({
29 url: '/system/basiccommon/query/'+businessId,
30 method: 'get',
31 })
11 } 32 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -115,3 +115,18 @@ export function booleanWorkflow(data) { ...@@ -115,3 +115,18 @@ export function booleanWorkflow(data) {
115 }) 115 })
116 } 116 }
117 117
118
119 /**
120 * 获取工作流大纲
121 */
122 export function getProcessOutlineByYbx(data) {
123 return request({
124 url: '/workflow/getProcessOutline',
125 method: 'get',
126 params: {
127 processInstanceId:data,
128 isCurrent:false
129 }
130 })
131 }
132
......
1 <template>
2 <el-row class="box">
3 <el-col :span="24">
4 <el-row>
5 <el-col :span="18">
6 <el-form :inline="true" class="demo-form-inline" label-width="106px">
7 <el-form-item label="">
8 <el-date-picker
9 v-model="chooseDate"
10 type="datetimerange"
11 :picker-options="pickerOptions"
12 range-separator="至"
13 start-placeholder="开始日期"
14 end-placeholder="结束日期"
15 value-format="yyyy-MM-dd HH:mm:ss"
16 align="right">
17 </el-date-picker>
18 </el-form-item>
19 <el-form-item label="登记类型">
20 <el-select v-model="djlx" placeholder="请选择">
21 <el-option
22 v-for="item in options"
23 :key="item.value"
24 :label="item.label"
25 :value="item.value">
26 </el-option>
27 </el-select>
28 </el-form-item>
29 </el-form>
30 </el-col>
31 <el-col :span="6" aria-rowspan="3">
32 <el-button type="primary" @click="query" icon="el-icon-search">查询</el-button>
33 <el-button type="warning" @click="reset" icon="el-icon-refresh">重置</el-button>
34 </el-col>
35 </el-row>
36 </el-col>
37 </el-row>
38 </template>
39
40 <script>
41 export default {
42 name: "",
43 components: {},
44 props: {
45 type:{
46 type:String,
47 default:'all',
48 required:true
49 }
50 },
51 data() {
52 return {
53 offset: 22,
54 ismore: false,
55 chooseDate:[],
56 djlx:'',
57 options: [{
58 value: '选项1',
59 label: '黄金糕'
60 }, {
61 value: '选项2',
62 label: '双皮奶'
63 }, {
64 value: '选项3',
65 label: '蚵仔煎'
66 }, {
67 value: '选项4',
68 label: '龙须面'
69 }, {
70 value: '选项5',
71 label: '北京烤鸭'
72 }],
73 queryData: {
74 page:0,
75 size:20,
76 current:false,
77 currentUser:true,
78 createDateStart:"",
79 createDateEnd:"",
80 title:"",
81 templateName:""
82 },
83 pickerOptions: {
84 shortcuts: [{
85 text: '最近一周',
86 onClick(picker) {
87 const end = new Date();
88 const start = new Date();
89 start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
90 picker.$emit('pick', [start, end]);
91 }
92 }, {
93 text: '最近一个月',
94 onClick(picker) {
95 const end = new Date();
96 const start = new Date();
97 start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
98 picker.$emit('pick', [start, end]);
99 }
100 }, {
101 text: '最近三个月',
102 onClick(picker) {
103 const end = new Date();
104 const start = new Date();
105 start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
106 picker.$emit('pick', [start, end]);
107 }
108 }]
109 },
110 };
111 },
112 created() {
113 },
114 mounted() {
115 let self = this;
116 document.onkeydown = function(e) {
117 //按下回车提交
118 let key = window.event.keyCode;
119 //事件中keycode=13为回车事件
120 if (key == 13) {
121 // self.onSubmit();
122 }
123 };
124 },
125 methods: {
126 //重置
127 reset() {
128 this.queryData = {
129 page:0,
130 size:20,
131 current:false,
132 currentUser:true,
133 createDateStart:"",
134 createDateEnd:"",
135 title:"",
136 templateName:""
137 };
138 this.query();
139 },
140 //查询
141 query() {
142 console.log(this.chooseDate,"chooseDate")
143 console.log(this.djlx,"djlx")
144 if(this.chooseDate.length>0){
145 this.queryData.createDateStart = this.chooseDate[0];
146 this.queryData.createDateEnd = this.chooseDate[1];
147 }
148 this.queryData.templateName = this.djlx;
149 //子组件点击查询时将表单数据发送给父组件
150 this.$emit("getSearchCondition", this.queryData);
151 },
152 // 高级查询
153 moreSearch(){
154 if(this.ismore === true){
155 this.ismore = false;
156 this.$parent.tableHeight+=55;
157 }else {
158 this.ismore = true;
159 this.$parent.tableHeight-=55;
160 }
161
162 // this.$message('待开发');
163 }
164 },
165 computed: {},
166 watch: {},
167 };
168 </script>
169 <style scoped lang="less">
170 .box{
171 background-color: #FFFFFF;
172 box-sizing: border-box;
173 padding: 18px 0 0 25px;
174 border: 1px solid #E6E6E6;
175 .el-col{
176 .el-row{
177 margin-left: -10px;
178 }
179 }
180 margin-bottom: 10px;
181 }
182 .el-button {
183 width: 100px;
184 }
185 .row3 {
186 height: 55px;
187 }
188 .moreSearchBtn{
189 background-color: #1AD6E1;
190 border-color: #1AD6E1;
191 }
192 </style>
...@@ -101,9 +101,15 @@ const constantRoutes = [ ...@@ -101,9 +101,15 @@ const constantRoutes = [
101 }, 101 },
102 { 102 {
103 path: "/dbx", 103 path: "/dbx",
104 name: "办箱", 104 name: "办箱",
105 code: "2-1", 105 code: "2-1",
106 component: () => import("@/views/dbx/index"), 106 component: () => import("@/views/dbx/index"),
107 },
108 {
109 path: "/ybx",
110 name: "已办箱",
111 code: "2-1",
112 component: () => import("@/views/ybx/index"),
107 } 113 }
108 ], 114 ],
109 }, 115 },
......
...@@ -54,6 +54,7 @@ const store = new Vuex.Store({ ...@@ -54,6 +54,7 @@ const store = new Vuex.Store({
54 oldZdbsm:'', 54 oldZdbsm:'',
55 newZdbsm:'', 55 newZdbsm:'',
56 isWorkFlow:false, // 判断是否工作流数据 56 isWorkFlow:false, // 判断是否工作流数据
57 lcgzShow:false,//是否待办箱的数据,显示流程追踪
57 }, 58 },
58 modules: { 59 modules: {
59 user, 60 user,
......
...@@ -181,7 +181,10 @@ export default { ...@@ -181,7 +181,10 @@ export default {
181 }else if(newPath == '/zrz' || newPath == '/zd' || newPath == '/dz'){ 181 }else if(newPath == '/zrz' || newPath == '/zd' || newPath == '/dz'){
182 booleanWorkflow(this.$route.query.ywbsm).then(res=>{ 182 booleanWorkflow(this.$route.query.ywbsm).then(res=>{
183 this.$store.state.isWorkFlow = res.result; 183 this.$store.state.isWorkFlow = res.result;
184 }) 184 });
185 if(typeof this.$route.query.processInstanceId !== 'undefined'){
186 this.$store.state.lcgzShow = true;
187 }
185 } 188 }
186 }, 189 },
187 "$store.state.treeData":function (val) { 190 "$store.state.treeData":function (val) {
......
...@@ -193,11 +193,11 @@ ...@@ -193,11 +193,11 @@
193 </tbody> 193 </tbody>
194 </table> 194 </table>
195 </el-form> 195 </el-form>
196 <div class="header-button" :style="{width:mainBoxWidth+'px'}" v-if="$store.state.isWorkFlow"> 196 <div class="header-button" :style="{width:mainBoxWidth+'px'}" v-if="$store.state.isWorkFlow && workitemInstanceFlag">
197 <el-button type="primary" class="saveBtn" @click="onSave" :disabled="disabled">保存</el-button> 197 <el-button type="primary" class="saveBtn" @click="onSave" :disabled="disabled">保存</el-button>
198 <el-button type="primary" @click="registerCall">登记调用</el-button> 198 <el-button type="primary" @click="registerCall">登记调用</el-button>
199 </div> 199 </div>
200 <div class="sh-btn" v-if="$store.state.isWorkFlow"> 200 <div class="sh-btn" v-if="$store.state.isWorkFlow && workitemInstanceFlag">
201 <el-button type="primary" @click="lczz" v-show="workFlowphase == 'modify'">终止</el-button> 201 <el-button type="primary" @click="lczz" v-show="workFlowphase == 'modify'">终止</el-button>
202 <el-button type="primary" @click="thzd" v-show="rollbackDetails.length>0">退回</el-button> 202 <el-button type="primary" @click="thzd" v-show="rollbackDetails.length>0">退回</el-button>
203 <el-button type="primary" @click="onSubmit" :disabled="disabled" v-if="!workFlowState">提交</el-button> 203 <el-button type="primary" @click="onSubmit" :disabled="disabled" v-if="!workFlowState">提交</el-button>
...@@ -297,7 +297,8 @@ ...@@ -297,7 +297,8 @@
297 workFlowState:false, 297 workFlowState:false,
298 workFlowData:{}, 298 workFlowData:{},
299 workFlowphase:'', 299 workFlowphase:'',
300 rollbackDetails:[] 300 rollbackDetails:[],
301 workitemInstanceFlag:false
301 } 302 }
302 }, 303 },
303 created() { 304 created() {
...@@ -315,7 +316,10 @@ ...@@ -315,7 +316,10 @@
315 this.getActivityDetail(); 316 this.getActivityDetail();
316 this.$nextTick(() => { 317 this.$nextTick(() => {
317 this.mainBoxWidth = this.$refs.mainBox.clientWidth; 318 this.mainBoxWidth = this.$refs.mainBox.clientWidth;
318 }) 319 });
320 if(typeof this.$route.query.workitemInstanceId !== 'undefined'){
321 this.workitemInstanceFlag = true;
322 }
319 }, 323 },
320 methods: { 324 methods: {
321 325
...@@ -653,7 +657,6 @@ ...@@ -653,7 +657,6 @@
653 watch:{ 657 watch:{
654 658
655 dzbsm:function (val) { 659 dzbsm:function (val) {
656 debugger
657 console.log(val,'多幢BSM') 660 console.log(val,'多幢BSM')
658 this.getDzDetailByBsm(val) 661 this.getDzDetailByBsm(val)
659 }, 662 },
......
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
5 <el-tab-pane label="附件材料" name="fjcl"><fjcl v-if="fjclVisible" ref="fjcl" :is-disabled="isDisabled"></fjcl></el-tab-pane> 5 <el-tab-pane label="附件材料" name="fjcl"><fjcl v-if="fjclVisible" ref="fjcl" :is-disabled="isDisabled"></fjcl></el-tab-pane>
6 <el-tab-pane label="历史回溯" name="lshs"><lshs v-if="lshsVisible" :type="type" :bsm="$route.query.bsm"></lshs></el-tab-pane> 6 <el-tab-pane label="历史回溯" name="lshs"><lshs v-if="lshsVisible" :type="type" :bsm="$route.query.bsm"></lshs></el-tab-pane>
7 <el-tab-pane label="登记簿" name="djb"><djb></djb></el-tab-pane> 7 <el-tab-pane label="登记簿" name="djb"><djb></djb></el-tab-pane>
8 8 <el-tab-pane label="流程跟踪" name="lcgz" v-if="$store.state.isWorkFlow || $store.state.lcgzShow" lazy>
9 <lcgz ref="lcgz" ></lcgz>
10 </el-tab-pane>
9 </el-tabs> 11 </el-tabs>
10 </div> 12 </div>
11 </template> 13 </template>
...@@ -15,11 +17,12 @@ ...@@ -15,11 +17,12 @@
15 import fjcl from "./../zd/fjcl/fjcl" 17 import fjcl from "./../zd/fjcl/fjcl"
16 import {queryStatus} from "@api/search" 18 import {queryStatus} from "@api/search"
17 import Lshs from '@components/lshs/index'; 19 import Lshs from '@components/lshs/index';
20 import Lcgz from "../zd/lcgz"
18 import djb from "./djb"; 21 import djb from "./djb";
19 export default { 22 export default {
20 name: "", 23 name: "",
21 components: { 24 components: {
22 dzxx,fjcl,Lshs,djb 25 dzxx,fjcl,Lshs,djb,Lcgz
23 }, 26 },
24 props: {}, 27 props: {},
25 data() { 28 data() {
......
...@@ -115,14 +115,14 @@ ...@@ -115,14 +115,14 @@
115 115
116 <script> 116 <script>
117 import { Chart, registerShape } from '@antv/g2'; 117 import { Chart, registerShape } from '@antv/g2';
118 import {getDbxList} from "@api/dbx"; 118 import {getDbxList,getYbxList} from "@api/dbx";
119 export default { 119 export default {
120 components:{}, 120 components:{},
121 data() { 121 data() {
122 return { 122 return {
123 workList: [ 123 workList: [
124 { name: "待办箱", img: require("@assets/images/dbx.png"),count:0,path:'/dbx' }, 124 { name: "待办箱", img: require("@assets/images/dbx.png"),count:0,path:'/dbx' },
125 { name: "退件箱", img: require("@assets/images/tjx.png"),count:0 }, 125 { name: "已办箱", img: require("@assets/images/tjx.png"),count:0,path:'ybx' },
126 ], 126 ],
127 list: [ 127 list: [
128 { name: "宗地分割", img: require("@assets/images/zdfg.png"),path:'change',oLevel:'fg',tLevel:'zd'}, 128 { name: "宗地分割", img: require("@assets/images/zdfg.png"),path:'change',oLevel:'fg',tLevel:'zd'},
...@@ -182,6 +182,7 @@ export default { ...@@ -182,6 +182,7 @@ export default {
182 this.imgHeight = this.$refs.enterBox.offsetHeight - 10 182 this.imgHeight = this.$refs.enterBox.offsetHeight - 10
183 }); 183 });
184 this.getDbxCount(); 184 this.getDbxCount();
185 this.getYbxCount();
185 this.initG2qllx(); 186 this.initG2qllx();
186 this.initG2tdfwtj(); 187 this.initG2tdfwtj();
187 this.initG2xntjid(); 188 this.initG2xntjid();
...@@ -248,6 +249,23 @@ export default { ...@@ -248,6 +249,23 @@ export default {
248 } 249 }
249 }) 250 })
250 }, 251 },
252 getYbxCount(){
253 let data = {
254 page:0,
255 size:20,
256 current:false,
257 currentUser:true,
258 createDateStart:"",
259 createDateEnd:""
260 }
261 getYbxList(data).then((res)=>{
262 this.workList.forEach((item,index)=>{
263 if(item.name === '已办箱'){
264 item.count = res.totalElements;
265 }
266 })
267 })
268 },
251 initG2qllx(){ 269 initG2qllx(){
252 const data = [ 270 const data = [
253 { item: '国有建设用地使用权', count: 40, percent: 0.4 }, 271 { item: '国有建设用地使用权', count: 40, percent: 0.4 },
......
1 <template>
2 <el-tabs v-model="activeName" @tab-remove="removeTab">
3 <el-tab-pane label="已办箱" name="ybx"><ybxInfo></ybxInfo></el-tab-pane>
4 <!-- <el-tab-pane-->
5 <!-- v-for="(item, index) in editableTabs"-->
6 <!-- :key="item.name"-->
7 <!-- :label="item.title"-->
8 <!-- :name="item.name"-->
9 <!-- >-->
10 <!-- {{item.content}}-->
11 <!-- </el-tab-pane>-->
12 </el-tabs>
13 </template>
14 <script>
15 import ybxInfo from "@/views/ybx/ybinfo/index"
16
17 export default {
18 name: "",
19 inject:['getRightTree','getTreeByBsm'],
20 components: {ybxInfo},
21 props: {},
22 data() {
23 return {
24 activeName:'ybx',
25 type:'all',
26 total: 0,
27 pageNo: 1,
28 pageSize: 15,
29 tableData: [],
30 tableHeight: 0,
31 queryData: {},
32 editableTabs: [
33 // {
34 // title: 'Tab 1',
35 // name: '1',
36 // content: 'Tab 1 content'
37 // }
38 ],
39 };
40 },
41 created() {
42 },
43 mounted() {
44 this.queryData.pageSize=this.pageSize;
45 this.queryData.pageNo=this.pageNo;
46 },
47 methods: {
48 changeActiveName(data){
49 this.activeName = data;
50 },
51 removeTab(targetName) {
52 let tabs = this.editableTabs;
53 let activeName = this.activeName;
54 if (activeName === targetName) {
55 tabs.forEach((tab, index) => {
56 if (tab.name === targetName) {
57 let nextTab = tabs[index + 1] || tabs[index - 1];
58 if (nextTab) {
59 activeName = nextTab.name;
60 }
61 }
62 });
63 }
64 this.activeName = activeName;
65 this.editableTabs = tabs.filter(tab => tab.name !== targetName);
66 },
67 },
68 computed: {},
69 watch: {},
70 };
71 </script>
72 <style scoped lang="less">
73 .main {
74 width: 100%;
75 height: 100%;
76 box-sizing: border-box;
77 padding: 0 18px 0 0;
78 display: flex;
79 flex-direction: column;
80 background-color: #F4F9FF;
81 .tips{
82 color: #9B9B9B;
83 margin-left: 2px;
84 margin-bottom: 10px;
85 }
86 .demo-form-inline {
87 margin-top: 18px;
88 .moreSearchBtn {
89 background-color: #1ad6e1;
90 border-color: #1ad6e1;
91 }
92 .moreSearchBtn:focus,
93 .moreSearchBtn:hover {
94 background-color: rgba(28, 200, 229, 0.6);
95 }
96 }
97 .dataGrid {
98 flex: 1;
99 .pagination {
100 padding: 18px 0;
101 }
102 }
103 .hbjDialog{
104 /deep/ .el-dialog{
105 margin-top: 10vh!important;
106 }
107 }
108 .btnGroup{
109 margin: 20px auto 0;
110 width: 230px;
111 }
112 }
113 </style>
1 <template>
2 <div class="main">
3 <!-- <p class="tips">查询条件</p> -->
4 <SearchHeadYbx @getSearchCondition="geQuerytData" :type="type"></SearchHeadYbx>
5 <!-- <p class="tips">查询列表</p> -->
6 <div class="dataGrid" ref="dataGrid">
7 <el-table
8 :data="tableData"
9 :height="tableHeight"
10 :row-class-name="tableRowClassName"
11 @row-dblclick="doubleClick"
12 >
13 <el-table-column type="index" width="80" align="center" label="序号">
14 </el-table-column>
15 <el-table-column prop="businessId" align="left" label="业务号">
16 </el-table-column>
17 <el-table-column prop="creatorName" align="left" label="创建人">
18 </el-table-column>
19 <el-table-column prop="templetName" align="left" label="业务类型">
20 </el-table-column>
21 <el-table-column prop="createDate" align="left" label="创建时间">
22 </el-table-column>
23 <el-table-column prop="finishDate" align="left" label="完成时间">
24 </el-table-column>
25 <!-- <el-table-column prop="cjr" align="left" width="120" label="创建人">
26 </el-table-column> -->
27 <el-table-column label="操作" align="center" width="100">
28 <template slot-scope="scope">
29 <el-tooltip class="item" effect="light" content="查看" placement="top">
30 <i class="iconfont iconbanli iconfontEdit" @click="handleClick(scope.row)" style="padding:0 10px"></i>
31 </el-tooltip>
32 <!-- <el-tooltip class="item" effect="light" content="定位" placement="top">
33 <i class="iconfont icondingwei iconfontEdit" @click="postionToMap(scope.row)"></i>
34 </el-tooltip> -->
35 </template>
36 </el-table-column>
37 </el-table>
38 <div class="pagination">
39 <el-pagination background layout="prev, pager, next,total" :total="total"
40 :current-page="page" :page-size="pageSize" @current-change="handleCurrentChange">
41 </el-pagination>
42 </div>
43
44 </div>
45 </div>
46 </template>
47
48 <script>
49 import SearchHeadYbx from "@components/searchHead/searchHeadYbx";
50 import {getYbxList,queryByBusinessId} from "@api/dbx";
51
52 export default {
53 name: "",
54 inject:['getRightTree','getTreeByBsm'],
55 components: {SearchHeadYbx},
56 props: {},
57 data() {
58 return {
59 activeName:'dbx',
60 type:'add',
61 total: 0,
62 page: 0,
63 pageSize: 15,
64 tableData: [],
65 tableHeight: 0,
66 queryData: {
67 page:0,
68 size:20,
69 current:false,
70 currentUser:true,
71 createDateStart:"",
72 createDateEnd:""
73 },
74 };
75 },
76 created() {
77 },
78 mounted() {
79 this.queryData.pageSize=this.pageSize;
80 this.queryData.page=this.page;
81 this.getData(this.queryData);
82 this.$nextTick(()=>{
83 this.tableHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 332;
84 })
85 },
86 methods: {
87 onSubmit() {
88 },
89 getBusinessDetail(businessId){
90 queryByBusinessId(businessId).then((res)=>{
91 if(res.code === 200){
92 console.log(res.result)
93 }
94 })
95 },
96
97 doubleClick(row, column, event){
98 this.handleClick(row);
99 },
100 tableRowClassName({row, rowIndex}) {
101 if (rowIndex % 2 !== 0) {
102 return "even-row";
103 } else {
104 return "";
105 }
106 },
107 handleCurrentChange(val) {
108 this.page = val;
109 this.queryData.page = val;
110 this.getData(this.queryData);
111 },
112 getData(data) {
113 data['type'] = this.type
114 getYbxList(data).then(res => {
115 this.tableData = res.content
116 this.total = res.totalElements
117 });
118 },
119 //获取子组件点击查询触发的事件
120 geQuerytData(obj) {
121 this.queryData = obj
122 //将obj作为参数调用接口查询表格数据
123 this.queryData['pageSize'] = this.pageSize
124 this.page = 1
125 this.queryData['page'] = 1
126 this.getData(this.queryData)
127 },
128 //点击办理
129 handleClick(row) {
130 let data = {};
131 queryByBusinessId(row.businessId).then((res)=>{
132 if(res.code === 200){
133 data = res.result;
134 console.log(data);
135
136 let path = "";
137 this.$store.state.oldZdbsm = '';
138 switch (data.dylx) {
139 case "zrz":
140 this.$store.state.zrzbsm = data.glbsm;
141 this.getTreeByBsm(data.glbsm,data.dylx,'0,1,2');
142 path = "/zrz";
143 break;
144 case "zd":
145 this.$store.state.zdbsm = data.glbsm;
146 this.getRightTree(data.glbsm,'0,1,2');
147 path = "/zd";
148 break;
149 case "dz":
150 this.$store.state.dzbsm = data.glbsm;
151 this.getTreeByBsm(data.glbsm,data.dylx,'0,1,2');
152 path = "/dz";
153 break;
154 case "h":
155 case "h0":
156 case "h1":
157 path="/h";
158 this.$store.state.hbsm=data.glbsm
159 this.getTreeByBsm(data.glbsm,'h','0,1,2');
160 break;
161 case "gzw":
162 this.$store.state.gzwbsm = data.glbsm;
163 this.getTreeByBsm(data.glbsm,"gzw",'0,1,2');
164 path = "/gzw";
165 break;
166 default:
167 break;
168 }
169 this.$router.push({
170 path: path,
171 query: {
172 bsm: data.glbsm,
173 ywbsm: data.glbsm,
174 source: 2,
175 auth: '0,1,2',
176 processInstanceId:row.id
177 }
178 });
179
180 }
181 })
182
183
184 },
185 //定位
186 //图形定位
187 postionToMap(rowData){
188 if(rowData.dylx == "zrz" || rowData.dylx == "zd"){
189 var curretRouterInfo = {
190 path:this.$route.path,
191 query:this.$route.query
192 }
193 sessionStorage.setItem("curretRouterInfo",JSON.stringify(curretRouterInfo));
194 this.$router.push({
195 path: "/viewMap",
196 query: {
197 bsm: rowData.glbsm,
198 type: rowData.dylx
199 }
200 });
201 }
202 }
203 },
204 computed: {},
205 watch: {},
206 };
207 </script>
208 <style scoped lang="less">
209 .main {
210 width: 100%;
211 height: 100%;
212 box-sizing: border-box;
213 padding: 0 18px 0 0;
214 display: flex;
215 flex-direction: column;
216 //background-color: #F4F9FF;
217 background-color: #F4F9FF;
218 .tips{
219 color: #9B9B9B;
220 margin-left: 2px;
221 margin-bottom: 10px;
222 }
223 .demo-form-inline {
224 margin-top: 18px;
225 .moreSearchBtn {
226 background-color: #1ad6e1;
227 border-color: #1ad6e1;
228 }
229 .moreSearchBtn:focus,
230 .moreSearchBtn:hover {
231 background-color: rgba(28, 200, 229, 0.6);
232 }
233 }
234 .dataGrid {
235 flex: 1;
236 .pagination {
237 padding: 18px 0;
238 }
239 }
240 .hbjDialog{
241 /deep/ .el-dialog{
242 margin-top: 10vh!important;
243 }
244 }
245 .btnGroup{
246 margin: 20px auto 0;
247 width: 230px;
248 }
249 }
250 </style>
...@@ -69,6 +69,10 @@ ...@@ -69,6 +69,10 @@
69 isDisabled:{ 69 isDisabled:{
70 type:Boolean, 70 type:Boolean,
71 default:false 71 default:false
72 },
73 lpbParent:{
74 type:Boolean,
75 default:false
72 } 76 }
73 }, 77 },
74 methods: { 78 methods: {
...@@ -128,7 +132,7 @@ ...@@ -128,7 +132,7 @@
128 default: 132 default:
129 break 133 break
130 } 134 }
131 getFileLis(this.fileData.glbsm).then(res => { 135 getFileLis(this.lpbParent ? this.$store.state.hbsm : this.fileData.glbsm).then(res => {
132 if (res.success) { 136 if (res.success) {
133 this.list = res.result; 137 this.list = res.result;
134 } else { 138 } else {
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
15 <el-tab-pane label="附件材料" name="fjcl"> 15 <el-tab-pane label="附件材料" name="fjcl">
16 <fjcl v-if="fjclVisible" ref="fjcl" :is-disabled="isDisabled"></fjcl> 16 <fjcl v-if="fjclVisible" ref="fjcl" :is-disabled="isDisabled"></fjcl>
17 </el-tab-pane> 17 </el-tab-pane>
18 <el-tab-pane label="流程跟踪" name="lcgz" v-if="$store.state.isWorkFlow" lazy> 18 <el-tab-pane label="流程跟踪" name="lcgz" v-if="$store.state.isWorkFlow || $store.state.lcgzShow" lazy>
19 <lcgz ref="lcgz" ></lcgz> 19 <lcgz ref="lcgz" ></lcgz>
20 </el-tab-pane> 20 </el-tab-pane>
21 </el-tabs> 21 </el-tabs>
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
26 <span>创建人</span> 26 <span>创建人</span>
27 <span>{{lcInfo.processInstance.creatorName}}</span> 27 <span>{{lcInfo.processInstance.creatorName}}</span>
28 </li> 28 </li>
29 <li> 29 <li v-if="lcInfo.workitemInstance">
30 <span>流程阶段</span> 30 <span>流程阶段</span>
31 <span>{{lcInfo.workitemInstance.nodeName}}</span> 31 <span>{{lcInfo.workitemInstance.nodeName}}</span>
32 </li> 32 </li>
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
34 <span>流程状态</span> 34 <span>流程状态</span>
35 <span>{{lcInfo.processInstance.state}}</span> 35 <span>{{lcInfo.processInstance.state}}</span>
36 </li> 36 </li>
37 <li> 37 <li v-if="lcInfo.workitemInstance">
38 <span>当前责任人</span> 38 <span>当前责任人</span>
39 <span>{{lcInfo.workitemInstance.actorName}}</span> 39 <span>{{lcInfo.workitemInstance.actorName}}</span>
40 </li> 40 </li>
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
64 </template> 64 </template>
65 65
66 <script> 66 <script>
67 import { getActivityDetail,templateLoad,getProcessOutline } from "@api/user"; 67 import { getActivityDetail,templateLoad,getProcessOutline,getProcessOutlineByYbx } from "@api/user";
68 import flowNode from "./flownode" 68 import flowNode from "./flownode"
69 export default { 69 export default {
70 name: "", 70 name: "",
...@@ -81,7 +81,12 @@ export default { ...@@ -81,7 +81,12 @@ export default {
81 }, 81 },
82 created() {}, 82 created() {},
83 mounted() { 83 mounted() {
84 this.getTemplate(); 84 if(typeof this.$route.query.workitemInstanceId !== 'undefined'){
85 this.getTemplate();
86 }else if(typeof this.$route.query.processInstanceId !== 'undefined'){
87 this.getTemplateByProcessInstanceId();
88 }
89
85 }, 90 },
86 methods: { 91 methods: {
87 getTemplate(){ 92 getTemplate(){
...@@ -122,6 +127,35 @@ export default { ...@@ -122,6 +127,35 @@ export default {
122 vm.loadingHide(); 127 vm.loadingHide();
123 }); 128 });
124 }, 129 },
130
131 getTemplateByProcessInstanceId(){
132 vm.loadingShow('数据获取中');
133 getProcessOutlineByYbx(this.$route.query.processInstanceId).then((res) => {
134 console.log(res.processInstance.templetId);
135 this.lcInfo = res;
136 templateLoad(res.processInstance.templetId).then((res1) => {
137 vm.loadingHide();
138 console.log(this.$x2js.xml2js(res1).Process,'Process');
139 this.flowData = this.$x2js.xml2js(res1).Process;
140 console.log(res1.activityOutlines,'res.activityOutlines');
141 this.flowState = res.activityOutlines;
142 this.$nextTick(()=>{
143 this.flowData.Nodes.ManualNode.push(this.flowData.Nodes.EndNode);
144 this.flowData.Nodes.ManualNode.unshift(this.flowData.Nodes.StartNode);
145 this.flowData.Nodes.ManualNode.forEach(item => {
146 item.activityState = this.flowState.filter( i => i.activityTemplateId == item.id)[0].activityState;
147 });
148 this.flowShow = true;
149 })
150 })
151 .catch((error) => {
152 vm.loadingHide();
153 });
154 })
155 .catch((error) => {
156 vm.loadingHide();
157 });
158 },
125 //获取当前点击节点名称 159 //获取当前点击节点名称
126 getCurNode(name){ 160 getCurNode(name){
127 console.log(name); 161 console.log(name);
......
...@@ -363,12 +363,12 @@ ...@@ -363,12 +363,12 @@
363 </td> 363 </td>
364 </tr> 364 </tr>
365 </table> 365 </table>
366 <div class="header-button" :style="{width:mainBoxWidth+'px'}" v-if="$store.state.isWorkFlow"> 366 <div class="header-button" :style="{width:mainBoxWidth+'px'}" v-if="$store.state.isWorkFlow && workitemInstanceFlag">
367 <el-button type="primary" class="saveBtn" @click="updateZDxx" :disabled="disabled" icon="iconfont iconbaocun">保存</el-button> 367 <el-button type="primary" class="saveBtn" @click="updateZDxx" :disabled="disabled" icon="iconfont iconbaocun">保存</el-button>
368 <el-button type="primary" @click="registerCall">登记调用</el-button> 368 <el-button type="primary" @click="registerCall">登记调用</el-button>
369 </div> 369 </div>
370 </div> 370 </div>
371 <div class="sh-btn" v-if="$store.state.isWorkFlow"> 371 <div class="sh-btn" v-if="$store.state.isWorkFlow && workitemInstanceFlag">
372 <el-button type="primary" @click="lczz" v-show="workFlowphase == 'modify'">终止</el-button> 372 <el-button type="primary" @click="lczz" v-show="workFlowphase == 'modify'">终止</el-button>
373 <el-button type="primary" @click="thzd" v-show="rollbackDetails.length>0">退回</el-button> 373 <el-button type="primary" @click="thzd" v-show="rollbackDetails.length>0">退回</el-button>
374 <el-button type="primary" @click="submitZDxx" :disabled="disabled" v-if="!workFlowState">提交</el-button> 374 <el-button type="primary" @click="submitZDxx" :disabled="disabled" v-if="!workFlowState">提交</el-button>
...@@ -486,7 +486,8 @@ ...@@ -486,7 +486,8 @@
486 workFlowState:false, 486 workFlowState:false,
487 workFlowData:{}, 487 workFlowData:{},
488 workFlowphase:'', 488 workFlowphase:'',
489 rollbackDetails:[] 489 rollbackDetails:[],
490 workitemInstanceFlag:false
490 }; 491 };
491 }, 492 },
492 mixins: [geoUtils], 493 mixins: [geoUtils],
...@@ -499,6 +500,9 @@ ...@@ -499,6 +500,9 @@
499 this.$nextTick(() => { 500 this.$nextTick(() => {
500 this.mainBoxWidth = this.$refs.mainBox.clientWidth; 501 this.mainBoxWidth = this.$refs.mainBox.clientWidth;
501 }) 502 })
503 if(typeof this.$route.query.workitemInstanceId !== 'undefined'){
504 this.workitemInstanceFlag = true;
505 }
502 }, 506 },
503 methods: { 507 methods: {
504 getActivityDetail(){ 508 getActivityDetail(){
......
...@@ -6,6 +6,9 @@ ...@@ -6,6 +6,9 @@
6 <el-tab-pane label="楼盘表" name="lpb"><lpb v-if="lpbLoad"></lpb></el-tab-pane> 6 <el-tab-pane label="楼盘表" name="lpb"><lpb v-if="lpbLoad"></lpb></el-tab-pane>
7 <el-tab-pane label="历史回溯" name="lshs"><lshs v-if="lshsVisible" :type="type" :bsm="$route.query.bsm"></lshs></el-tab-pane> 7 <el-tab-pane label="历史回溯" name="lshs"><lshs v-if="lshsVisible" :type="type" :bsm="$route.query.bsm"></lshs></el-tab-pane>
8 <el-tab-pane label="附件材料" name="fjcl"><fjcl ref="fjcl" :is-disabled="isDisabled"></fjcl></el-tab-pane> 8 <el-tab-pane label="附件材料" name="fjcl"><fjcl ref="fjcl" :is-disabled="isDisabled"></fjcl></el-tab-pane>
9 <el-tab-pane label="流程跟踪" name="lcgz" v-if="$store.state.isWorkFlow || $store.state.lcgzShow" lazy>
10 <lcgz ref="lcgz" ></lcgz>
11 </el-tab-pane>
9 </el-tabs> 12 </el-tabs>
10 </template> 13 </template>
11 14
...@@ -16,11 +19,12 @@ import djb from "./djb"; ...@@ -16,11 +19,12 @@ import djb from "./djb";
16 import lpb from "./lpb"; 19 import lpb from "./lpb";
17 import lshs from "./lshs"; 20 import lshs from "./lshs";
18 import fjcl from "./../zd/fjcl/fjcl"; 21 import fjcl from "./../zd/fjcl/fjcl";
22 import Lcgz from "../zd/lcgz"
19 import {queryStatus} from "@api/search" 23 import {queryStatus} from "@api/search"
20 export default { 24 export default {
21 name: "", 25 name: "",
22 components: { 26 components: {
23 zrzxx,yzgy,djb,lpb,lshs,fjcl 27 zrzxx,yzgy,djb,lpb,lshs,fjcl,Lcgz
24 }, 28 },
25 props: {}, 29 props: {},
26 data() { 30 data() {
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
7 <djb v-if="djbVisible" :style="{'height' : formHeight+'px'}"></djb> 7 <djb v-if="djbVisible" :style="{'height' : formHeight+'px'}"></djb>
8 </el-tab-pane> 8 </el-tab-pane>
9 <el-tab-pane label="附件材料" name="fjcl"> 9 <el-tab-pane label="附件材料" name="fjcl">
10 <fjcl v-if="fjclVisible" ref="fjcl" :style="{'height' : formHeight+'px'}" :is-disabled="isDisabled"></fjcl> 10 <fjcl v-if="fjclVisible" ref="fjcl" :lpbParent="true" :style="{'height' : formHeight+'px'}" :is-disabled="isDisabled"></fjcl>
11 </el-tab-pane> 11 </el-tab-pane>
12 </el-tabs> 12 </el-tabs>
13 </template> 13 </template>
...@@ -22,6 +22,9 @@ ...@@ -22,6 +22,9 @@
22 components: { 22 components: {
23 hbj, djb, fjcl 23 hbj, djb, fjcl
24 }, 24 },
25 props:{
26 bsm:String, //户标识码
27 },
25 data() { 28 data() {
26 return { 29 return {
27 isDisabled:false, 30 isDisabled:false,
...@@ -37,7 +40,6 @@ ...@@ -37,7 +40,6 @@
37 }, 40 },
38 methods: { 41 methods: {
39 loadingStatus() { 42 loadingStatus() {
40 debugger
41 let bsm=this.$store.state.hbsm; 43 let bsm=this.$store.state.hbsm;
42 queryStatus(bsm).then(res => { 44 queryStatus(bsm).then(res => {
43 if (res.success) { 45 if (res.success) {
......
...@@ -83,14 +83,14 @@ ...@@ -83,14 +83,14 @@
83 label="7" 83 label="7"
84 border 84 border
85 @click="batchDelete" 85 @click="batchDelete"
86 ><i class="iconfont iconhuzhongxinlazong"></i>批量删除</el-button 86 ><i class="iconfont iconshanchu"></i>批量删除</el-button
87 > 87 >
88 <el-button 88 <el-button
89 class="radioBtn" 89 class="radioBtn"
90 label="7" 90 label="7"
91 border 91 border
92 @click="batchUpload" 92 @click="batchUpload"
93 ><i class="iconfont iconhuzhongxinlazong"></i>批量上传</el-button 93 ><i class="iconfont iconshangchuan"></i>批量上传</el-button
94 > 94 >
95 </div> 95 </div>
96 </el-col> 96 </el-col>
...@@ -309,6 +309,33 @@ ...@@ -309,6 +309,33 @@
309 <pl-zl :pl-zl-visible="plzlVisible" :bsms="bsms" @close="plZlClose" @lodding="lodding"></pl-zl> 309 <pl-zl :pl-zl-visible="plzlVisible" :bsms="bsms" @close="plZlClose" @lodding="lodding"></pl-zl>
310 <pl-c :plc-visible="plcVisible" :bsms="cbsmList" @close="plcClose" @lodding="lodding"></pl-c> 310 <pl-c :plc-visible="plcVisible" :bsms="cbsmList" @close="plcClose" @lodding="lodding"></pl-c>
311 <pl-sh :plShVisible="plShVisible" :bsms="bsms" @close="plshClose" @lodding="lodding"></pl-sh> 311 <pl-sh :plShVisible="plShVisible" :bsms="bsms" @close="plshClose" @lodding="lodding"></pl-sh>
312 <el-dialog v-dialogDrag :close-on-click-modal="false" title="批量上传" :visible.sync="uploadVisible" width="30%" >
313 <div class="wrap">
314 <div class="main-button">
315 <el-upload
316 class="upload-demo"
317 action="/api/file/uploadListByGlbsm"
318 :data="fileData"
319 :on-preview="handlePreview"
320 :on-remove="handleRemove"
321 :before-remove="beforeRemove"
322 :on-success="uploadSuccess"
323 :on-error="uploadError"
324 :show-file-list="false"
325 multiple
326 :limit="1"
327 :on-exceed="handleExceed"
328 >
329 <el-button type="primary" icon="iconfont iconshangchuan">上传附件</el-button>
330 </el-upload>
331 </div>
332 <el-button type="primary" class="download" @click="uploadVisible = false"
333 >取消</el-button>
334
335 </div>
336 <span slot="footer" class="dialog-footer">
337 </span>
338 </el-dialog>
312 </div> 339 </div>
313 </template> 340 </template>
314 341
...@@ -432,6 +459,11 @@ export default { ...@@ -432,6 +459,11 @@ export default {
432 taskTitle:'添加', 459 taskTitle:'添加',
433 curBsm:'', 460 curBsm:'',
434 qsztList:[], 461 qsztList:[],
462 uploadVisible:false, //批量上传弹框
463 fileData:{
464 glbsmList:[],
465 dylx:'h'
466 }
435 }; 467 };
436 }, 468 },
437 created() { 469 created() {
...@@ -473,7 +505,8 @@ export default { ...@@ -473,7 +505,8 @@ export default {
473 } 505 }
474 }, 506 },
475 //批量删除 507 //批量删除
476 batchDelete(){ if (this.bsms.length <= 0) { 508 batchDelete(){
509 if (this.bsms.length <= 0) {
477 Message.warning("请选择操作户") 510 Message.warning("请选择操作户")
478 return 511 return
479 }else{ 512 }else{
...@@ -491,6 +524,39 @@ export default { ...@@ -491,6 +524,39 @@ export default {
491 } 524 }
492 } 525 }
493 }, 526 },
527 //批量上传 start
528 batchUpload(){
529 if (this.bsms.length < 1 ) {
530 Message.warning("请选择操作户")
531 return
532 }else{
533 this.uploadVisible = true
534 }
535 },
536 uploadError(err, file, fileList) {
537 Message.error("上传文件失败")
538 console.log("上传文件失败", err)
539 },
540 uploadSuccess(res, file, fileList) {
541 Message.success("上传成功")
542 this.uploadVisible = false;
543 },
544 handleRemove(file, fileList) {
545 console.log(file, fileList);
546 },
547 handlePreview(file) {
548 console.log(file);
549 },
550 handleExceed(files, fileList) {
551 console.log(fileList)
552 // this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
553 this.$message.warning("上传失败")
554 },
555 beforeRemove(file, fileList) {
556 return this.$confirm(`确定移除 ${ file.name }?`);
557 },
558 //批量上传 end
559
494 loading(){ 560 loading(){
495 this.getLpbMenuTree(this.$store.state.zrzbsm); 561 this.getLpbMenuTree(this.$store.state.zrzbsm);
496 }, 562 },
...@@ -922,6 +988,10 @@ export default { ...@@ -922,6 +988,10 @@ export default {
922 selectedZt(n){ 988 selectedZt(n){
923 this.legendToggleFlag = true; 989 this.legendToggleFlag = true;
924 }, 990 },
991 bsms(n){
992 this.fileData.glbsmList = n;
993 console.log(this.fileData,'filedata');
994 }
925 }, 995 },
926 }; 996 };
927 </script> 997 </script>
...@@ -1098,5 +1168,25 @@ export default { ...@@ -1098,5 +1168,25 @@ export default {
1098 .fa{ 1168 .fa{
1099 padding-right: 4px; 1169 padding-right: 4px;
1100 } 1170 }
1171
1172 .wrap{
1173 width: 100%;
1174 height: 30px;
1175 position: relative;
1176 .main-button {
1177 display: -webkit-flex;
1178 display: flex;
1179 flex-direction: column-reverse;
1180 flex-wrap: nowrap;
1181 position: absolute;
1182 left: 165px;
1183 top: 18px;
1184 }
1185 .download{
1186 position: absolute;
1187 left: 312px;
1188 top: 19px;
1189 }
1190 }
1101 } 1191 }
1102 </style> 1192 </style>
......
...@@ -272,15 +272,15 @@ ...@@ -272,15 +272,15 @@
272 </tr> 272 </tr>
273 273
274 </table> 274 </table>
275 <div class="header-button" :style="{width:mainBoxWidth+'px'}" v-if="$store.state.isWorkFlow"> 275 <div class="header-button" :style="{width:mainBoxWidth+'px'}" v-if="$store.state.isWorkFlow && workitemInstanceFlag">
276 <el-button type="primary" class="saveBtn" @click="onSave" :disabled="disabled" icon="iconfont iconbaocun">保存</el-button> 276 <el-button type="primary" class="saveBtn" @click="onSave" :disabled="disabled" icon="iconfont iconbaocun">保存</el-button>
277 <el-button type="primary" @click="registerCall">登记调用</el-button> 277 <el-button type="primary" @click="registerCall">登记调用</el-button>
278 <!-- <el-button type="primary" class="saveBtn" @click="save">保存</el-button> --> 278 <!-- <el-button type="primary" class="saveBtn" @click="save">保存</el-button> -->
279 </div> 279 </div>
280 </div> 280 </div>
281 <div class="sh-btn" v-if="$store.state.isWorkFlow"> 281 <div class="sh-btn" v-if="$store.state.isWorkFlow && workitemInstanceFlag">
282 <el-button type="primary" @click="lczz" v-show="workFlowphase == 'modify'">终止</el-button> 282 <el-button type="primary" @click="lczz" v-show="workFlowphase == 'modify'">终止</el-button>
283 <el-button type="primary" @click="thzd" v-show="rollbackDetails.length>0">退回</el-button> 283 <el-button type="primary" @click="thzrz" v-show="rollbackDetails.length>0">退回</el-button>
284 <el-button type="primary" @click="onSubmit" :disabled="disabled" v-if="!workFlowState">提交</el-button> 284 <el-button type="primary" @click="onSubmit" :disabled="disabled" v-if="!workFlowState">提交</el-button>
285 <el-button type="primary" @click="shzrz" v-if="workFlowState">审核</el-button> 285 <el-button type="primary" @click="shzrz" v-if="workFlowState">审核</el-button>
286 </div> 286 </div>
...@@ -305,6 +305,7 @@ ...@@ -305,6 +305,7 @@
305 data () { 305 data () {
306 return { 306 return {
307 307
308
308 //树型结构 309 //树型结构
309 show:true, 310 show:true,
310 clearable: true, 311 clearable: true,
...@@ -419,7 +420,8 @@ ...@@ -419,7 +420,8 @@
419 workFlowState:false, 420 workFlowState:false,
420 workFlowData:{}, 421 workFlowData:{},
421 workFlowphase:'', 422 workFlowphase:'',
422 rollbackDetails:[] 423 rollbackDetails:[],
424 workitemInstanceFlag:false
423 } 425 }
424 }, 426 },
425 mixins:[geoUtils], 427 mixins:[geoUtils],
...@@ -880,7 +882,10 @@ ...@@ -880,7 +882,10 @@
880 this.getActivityDetail(); 882 this.getActivityDetail();
881 this.$nextTick(() => { 883 this.$nextTick(() => {
882 this.mainBoxWidth = this.$refs.mainBox.clientWidth; 884 this.mainBoxWidth = this.$refs.mainBox.clientWidth;
883 }) 885 });
886 if(typeof this.$route.query.workitemInstanceId !== 'undefined'){
887 this.workitemInstanceFlag = true;
888 }
884 }, 889 },
885 computed: { 890 computed: {
886 zrzbsm() { 891 zrzbsm() {
......