7585e648 by 杨威
2 parents 32b02f75 7ec11035
1 import request from '@/plugin/axios'
2 /**
3 * 综合查询
4 */
5 export function getDbxList(data) {
6 return request({
7 url: '/system/basiccommon/queryDbx',
8 method: 'post',
9 data : data,
10 })
11 }
...\ No newline at end of file ...\ No newline at end of file
...@@ -67,7 +67,15 @@ ...@@ -67,7 +67,15 @@
67 <!-- <img class="qsztImg" v-if="item.qszt=='0'" :src="linshi"/> 67 <!-- <img class="qsztImg" v-if="item.qszt=='0'" :src="linshi"/>
68 <img class="qsztImg" v-if="item.qszt=='1'" :src="zhengshi"/> 68 <img class="qsztImg" v-if="item.qszt=='1'" :src="zhengshi"/>
69 <img class="qsztImg" v-if="item.qszt=='2'" :src="xianshi"/> --> 69 <img class="qsztImg" v-if="item.qszt=='2'" :src="xianshi"/> -->
70 <span v-if="item.type=='zrz'" >(自然幢)
71 </span>
72 <span v-if="item.type=='dz'" >(多幢)
73 </span>
74 <span v-if="item.type=='gzw'" >(构筑物)
75 </span>
76
70 {{ item.mc }} 77 {{ item.mc }}
78
71 </div> 79 </div>
72 </div> 80 </div>
73 <line-item 81 <line-item
...@@ -128,6 +136,7 @@ export default { ...@@ -128,6 +136,7 @@ export default {
128 }, 136 },
129 methods: { 137 methods: {
130 itemClick(item) { 138 itemClick(item) {
139 debugger;
131 let self = this; 140 let self = this;
132 // 开启延时器,300ms的间隔区分单击和双击,解决双击时执行两次单击事件 141 // 开启延时器,300ms的间隔区分单击和双击,解决双击时执行两次单击事件
133 clearTimeout(self.time); 142 clearTimeout(self.time);
......
...@@ -93,6 +93,12 @@ const constantRoutes = [ ...@@ -93,6 +93,12 @@ const constantRoutes = [
93 name: "系统管理", 93 name: "系统管理",
94 code: "0-7", 94 code: "0-7",
95 component: () => import("@/views/manage/index"), 95 component: () => import("@/views/manage/index"),
96 },
97 {
98 path: "/dbx",
99 name: "代办箱",
100 code: "2-1",
101 component: () => import("@/views/dbx/index"),
96 } 102 }
97 ], 103 ],
98 }, 104 },
......
1 <template>
2 <el-tabs v-model="activeName" type="card">
3 <div class="main">
4 <!-- <p class="tips">查询条件</p> -->
5 <SearchHead @getSearchCondition="geQuerytData" :type="type"></SearchHead>
6 <!-- <p class="tips">查询列表</p> -->
7 <div class="dataGrid" ref="dataGrid">
8 <el-table
9 :data="tableData"
10 :height="tableHeight"
11 :row-class-name="tableRowClassName"
12 @row-dblclick="doubleClick"
13 >
14 <el-table-column type="index" width="80" align="center" label="序号">
15 </el-table-column>
16 <el-table-column prop="bdcdyh" align="left" label="不动产单元号">
17 </el-table-column>
18 <el-table-column prop="xmmc" align="left" width="150" label="项目名称">
19 </el-table-column>
20 <el-table-column prop="bdcqzh" align="left" label="不动产权证号">
21 </el-table-column>
22 <el-table-column prop="dylx" align="left" width="100" label="类型">
23 <template slot-scope="scope">
24 {{scope.row.dylx | bdcLxFilter}}
25 </template>
26 </el-table-column>
27 <el-table-column prop="qlrmc" align="left" width="120" label="权利人">
28 </el-table-column>
29 <el-table-column prop="zl" align="left" label="坐落"></el-table-column>
30 <el-table-column prop="addtime" align="left" width="120" label="转入时间">
31 <template slot-scope="scope">
32 {{scope.row.addtime | timeFilter}}
33 </template>
34 </el-table-column>
35 <!-- <el-table-column prop="cjr" align="left" width="120" label="创建人">
36 </el-table-column> -->
37 <el-table-column label="操作" align="center" width="100">
38 <template slot-scope="scope">
39 <el-tooltip class="item" effect="light" content="查看" placement="top">
40 <i class="iconfont iconbanli iconfontEdit" @click="handleClick(scope.row)" style="padding:0 10px"></i>
41 </el-tooltip>
42 <el-tooltip class="item" effect="light" content="定位" placement="top">
43 <i class="iconfont icondingwei iconfontEdit" @click="postionToMap(scope.row)"></i>
44 </el-tooltip>
45 </template>
46 </el-table-column>
47 </el-table>
48 <div class="pagination">
49 <el-pagination background layout="prev, pager, next,total" :total="total"
50 :current-page="pageNo" :page-size="pageSize" @current-change="handleCurrentChange">
51 </el-pagination>
52 </div>
53
54 </div>
55 </div>
56 </el-tabs>
57 </template>
58
59 <script>
60 import SearchHead from "@components/searchHead/searchHead";
61 import {getDbxList} from "@api/dbx";
62 import panelSy from "@/views/panel/index"
63
64 export default {
65 name: "",
66 inject:['getRightTree','getTreeByBsm'],
67 components: {SearchHead,panelSy},
68 props: {},
69 data() {
70 return {
71 activeName:'zhcx',
72 type:'all',
73 total: 0,
74 pageNo: 1,
75 pageSize: 15,
76 tableData: [],
77 tableHeight: 0,
78 queryData: {},
79 };
80 },
81 created() {
82 },
83 mounted() {
84 this.queryData.pageSize=this.pageSize;
85 this.queryData.pageNo=this.pageNo;
86 this.getData(this.queryData);
87 this.$nextTick(()=>{
88 this.tableHeight = this.$refs.dataGrid.offsetHeight - 68;
89 })
90 },
91 methods: {
92 onSubmit() {
93 },
94 doubleClick(row, column, event){
95 this.handleClick(row);
96 },
97 tableRowClassName({row, rowIndex}) {
98 if (rowIndex % 2 !== 0) {
99 return "even-row";
100 } else {
101 return "";
102 }
103 },
104 handleCurrentChange(val) {
105 this.pageNo = val;
106 this.queryData.pageNo = val;
107 this.getData(this.queryData);
108 },
109 getData(data) {
110 data['type'] = this.type
111 getDbxList(data).then(res => {
112 this.tableData = res.result.records
113 this.total = res.result.total
114 });
115 },
116 //获取子组件点击查询触发的事件
117 geQuerytData(obj) {
118 this.queryData = obj
119 //将obj作为参数调用接口查询表格数据
120 this.queryData['pageSize'] = this.pageSize
121 this.pageNo = 1
122 this.queryData['pageNo'] = 1
123 this.getData(this.queryData)
124 },
125 //点击办理
126 handleClick(row) {
127 let path = "";
128 this.$store.state.oldZdbsm = '';
129 switch (row.dylx) {
130 case "zrz":
131 this.$store.state.zrzbsm = row.glbsm;
132 this.getTreeByBsm(row.glbsm,row.dylx,'0,1,2');
133 path = "/zrz";
134 break;
135 case "zd":
136 this.$store.state.zdbsm = row.glbsm;
137 this.getRightTree(row.glbsm,'0,1,2');
138 path = "/zd";
139 break;
140 case "dz":
141 this.$store.state.dzbsm = row.glbsm;
142 this.getTreeByBsm(row.glbsm,row.dylx,'0,1,2');
143 path = "/dz";
144 break;
145 case "h":
146 case "h0":
147 case "h1":
148 path="/h";
149 this.$store.state.hbsm=row.glbsm
150 this.getTreeByBsm(row.glbsm,'h','0,1,2');
151 break;
152 case "gzw":
153 this.$store.state.gzwbsm = row.glbsm;
154 this.getTreeByBsm(row.glbsm,"gzw",'0,1,2');
155 path = "/gzw";
156 break;
157 default:
158 break;
159 }
160 this.$router.push({
161 path: path,
162 query: {
163 bsm: row.glbsm,
164 source: 2,
165 auth: '0,1,2'
166 }
167 });
168 },
169 //定位
170 //图形定位
171 postionToMap(rowData){
172 if(rowData.dylx == "zrz" || rowData.dylx == "zd"){
173 var curretRouterInfo = {
174 path:this.$route.path,
175 query:this.$route.query
176 }
177 sessionStorage.setItem("curretRouterInfo",JSON.stringify(curretRouterInfo));
178 this.$router.push({
179 path: "/viewMap",
180 query: {
181 bsm: rowData.glbsm,
182 type: rowData.dylx
183 }
184 });
185 }
186 }
187 },
188 computed: {},
189 watch: {},
190 };
191 </script>
192 <style scoped lang="less">
193 .el-tabs{
194 height: calc(100% - 50px);
195 /deep/.el-tabs__content{
196 height: 100%;
197 /deep/.el-tab-pane{
198 height: 100%;
199 }
200 background: #eaedf5;
201 padding: 0;
202 }
203 /deep/ .el-tabs__item {
204 height: 48px;
205 }
206 /deep/ .el-tabs__header{
207 background-color: #ffffff;
208 margin: 0;
209 }
210 .main {
211 width: 100%;
212 height: 100%;
213 box-sizing: border-box;
214 padding: 0 18px 0 0;
215 display: flex;
216 flex-direction: column;
217 background-color: #EAEDF5;
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 }
251 </style>
1 <template>
2 <el-tabs v-model="activeName" type="card" @tab-remove="removeTab">
3 <!-- <el-tab-pane label="首页" name="sy" ref="sy"><panelSy></panelSy></el-tab-pane>-->
4 <el-tab-pane label="待办箱" name="dbx"><dbxInfo></dbxInfo></el-tab-pane>
5 <el-tab-pane
6 v-for="(item, index) in editableTabs"
7 :key="item.name"
8 :label="item.title"
9 :name="item.name"
10 >
11 {{item.content}}
12 </el-tab-pane>
13 </el-tabs>
14 </template>
15
16 <script>
17 import SearchHead from "@components/searchHead/searchHead";
18 import panelSy from "@/views/panel/index"
19 import dbxInfo from "@/views/dbx/dbxinfo/index"
20
21 export default {
22 name: "",
23 inject:['getRightTree','getTreeByBsm'],
24 components: {SearchHead,panelSy,dbxInfo},
25 props: {},
26 data() {
27 return {
28 activeName:'dbx',
29 type:'all',
30 total: 0,
31 pageNo: 1,
32 pageSize: 15,
33 tableData: [],
34 tableHeight: 0,
35 queryData: {},
36 editableTabs: [
37 // {
38 // title: 'Tab 1',
39 // name: '1',
40 // content: 'Tab 1 content'
41 // }
42 ],
43 };
44 },
45 created() {
46 },
47 mounted() {
48 this.queryData.pageSize=this.pageSize;
49 this.queryData.pageNo=this.pageNo;
50 },
51 methods: {
52 changeActiveName(data){
53 this.activeName = data;
54 },
55 removeTab(targetName) {
56 let tabs = this.editableTabs;
57 let activeName = this.activeName;
58 if (activeName === targetName) {
59 tabs.forEach((tab, index) => {
60 if (tab.name === targetName) {
61 let nextTab = tabs[index + 1] || tabs[index - 1];
62 if (nextTab) {
63 activeName = nextTab.name;
64 }
65 }
66 });
67 }
68
69 this.activeName = activeName;
70 this.editableTabs = tabs.filter(tab => tab.name !== targetName);
71 },
72 },
73 computed: {},
74 watch: {},
75 };
76 </script>
77 <style scoped lang="less">
78 .el-tabs{
79 height: calc(100% - 50px);
80 /deep/.el-tabs__content{
81 height: 100%;
82 /deep/.el-tab-pane{
83 height: 100%;
84 }
85 background: #eaedf5;
86 padding: 0;
87 }
88 /deep/ .el-tabs__item {
89 height: 48px;
90 }
91 /deep/ .el-tabs__header{
92 background-color: #ffffff;
93 margin: 0;
94 border-top: 1px solid #E4E7ED;
95 }
96 .main {
97 width: 100%;
98 height: 100%;
99 box-sizing: border-box;
100 padding: 0 18px 0 0;
101 display: flex;
102 flex-direction: column;
103 background-color: #EAEDF5;
104 .tips{
105 color: #9B9B9B;
106 margin-left: 2px;
107 margin-bottom: 10px;
108 }
109 .demo-form-inline {
110 margin-top: 18px;
111 .moreSearchBtn {
112 background-color: #1ad6e1;
113 border-color: #1ad6e1;
114 }
115 .moreSearchBtn:focus,
116 .moreSearchBtn:hover {
117 background-color: rgba(28, 200, 229, 0.6);
118 }
119 }
120 .dataGrid {
121 flex: 1;
122 .pagination {
123 padding: 18px 0;
124 }
125 }
126 .hbjDialog{
127 /deep/ .el-dialog{
128 margin-top: 10vh!important;
129 }
130 }
131 .btnGroup{
132 margin: 20px auto 0;
133 width: 230px;
134 }
135 }
136 }
137 </style>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
10 class="box" 10 class="box"
11 v-for="(item, index) in workList" 11 v-for="(item, index) in workList"
12 :key="index" 12 :key="index"
13 @click="handleSelect" 13 @click="handleSelect(item)"
14 > 14 >
15 <el-badge :value="item.count" :max="99" class="item"> 15 <el-badge :value="item.count" :max="99" class="item">
16 <img :src="item.img" alt="" /> 16 <img :src="item.img" alt="" />
...@@ -87,12 +87,14 @@ ...@@ -87,12 +87,14 @@
87 </template> 87 </template>
88 88
89 <script> 89 <script>
90 import {getDbxList} from "@api/dbx";
90 export default { 91 export default {
92 components:{},
91 data() { 93 data() {
92 return { 94 return {
93 workList: [ 95 workList: [
94 { name: "待办箱", img: require("@assets/images/dbx.png"),count:10 }, 96 { name: "待办箱", img: require("@assets/images/dbx.png"),count:0,path:'/dbx' },
95 { name: "退件箱", img: require("@assets/images/tjx.png"),count:3 }, 97 { name: "退件箱", img: require("@assets/images/tjx.png"),count:0 },
96 ], 98 ],
97 list: [ 99 list: [
98 { name: "宗地分割", img: require("@assets/images/zdfg.png") }, 100 { name: "宗地分割", img: require("@assets/images/zdfg.png") },
...@@ -123,15 +125,26 @@ export default { ...@@ -123,15 +125,26 @@ export default {
123 this.$nextTick(() => { 125 this.$nextTick(() => {
124 this.tableHeight = this.$refs.notice.offsetHeight - 54; 126 this.tableHeight = this.$refs.notice.offsetHeight - 54;
125 }); 127 });
128 this.getDbxCount();
126 }, 129 },
127 methods: { 130 methods: {
128 download(row,column,event){ 131 download(row,column,event){
129 window.open(row.url) 132 window.open(row.url)
130 }, 133 },
131 handleSelect() { 134 handleSelect(item) {
135 console.log(this.$route.path+":this.$route.params.path")
132 //非编辑状态才可以点击 136 //非编辑状态才可以点击
133 if (!isEdit) { 137 if (!this.isEdit) {
138 if(this.$route.path === '/dbx'){
139 this.$parent.changeActiveName("dbx");
134 140
141 }else {
142 if(item.path){
143 this.$router.push({
144 path:'/dbx'
145 })
146 }
147 }
135 } 148 }
136 }, 149 },
137 tableRowClassName({ row, rowIndex }) { 150 tableRowClassName({ row, rowIndex }) {
...@@ -157,6 +170,21 @@ export default { ...@@ -157,6 +170,21 @@ export default {
157 }).catch(() => { 170 }).catch(() => {
158 171
159 }); 172 });
173 },
174 getDbxCount(){
175 let data = {
176 pageSize:15,
177 pageNo:1
178 }
179 getDbxList(data).then((res)=>{
180 if(res.code === 200){
181 this.workList.forEach((item,index)=>{
182 if(item.name === '待办箱'){
183 item.count = res.result.total;
184 }
185 })
186 }
187 })
160 } 188 }
161 }, 189 },
162 }; 190 };
......