提交新建的工作流程框架
Showing
11 changed files
with
554 additions
and
427 deletions
1 | <template> | ||
2 | <div class="djxxTable"> | ||
3 | <div class="tableBox"> | ||
4 | <div class="title"> | ||
5 | {{ title }} | ||
6 | <div class="checkbox"> | ||
7 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
8 | <el-checkbox label="临时"></el-checkbox> | ||
9 | <el-checkbox label="现势"></el-checkbox> | ||
10 | <el-checkbox label="历史"></el-checkbox> | ||
11 | </el-checkbox-group> | ||
12 | </div> | ||
13 | </div> | ||
14 | <div class="xxTableBox"> | ||
15 | <table class="xxTable"> | ||
16 | <tr> | ||
17 | <th rowspan="3">业务类型</th> | ||
18 | </tr> | ||
19 | <!-- 第一行表头 --> | ||
20 | <tr class="one"> | ||
21 | <th | ||
22 | v-for="(item, index) in ths" | ||
23 | :key="index" | ||
24 | :class="[item.class, item.type == '临时' ? 'linshiIcon' : '']" | ||
25 | > | ||
26 | <div class="icon" v-if="item.type == '临时'">正在办理</div> | ||
27 | {{ item.type }} | ||
28 | </th> | ||
29 | </tr> | ||
30 | <!-- 第二行表头 --> | ||
31 | <tr class="two"> | ||
32 | <th v-for="(item, index) in ths" :key="index" :class="item.class"> | ||
33 | <p>{{ item.qllxmc }}</p> | ||
34 | <p>{{ item.djlxmc }}</p> | ||
35 | </th> | ||
36 | </tr> | ||
37 | <!-- 数据 --> | ||
38 | <tr v-for="(item, index) in columns" :key="index"> | ||
39 | <td> | ||
40 | {{ item.label }} | ||
41 | </td> | ||
42 | <td | ||
43 | v-for="(item1, index1) in showTableData" | ||
44 | :key="index1" | ||
45 | :class="[ | ||
46 | item1.qszt == '2' ? 'lishi' : '', | ||
47 | item1.qszt == '0' ? 'linshi' : '', | ||
48 | ]" | ||
49 | > | ||
50 | {{ item1[item.prop] }} | ||
51 | </td> | ||
52 | </tr> | ||
53 | </table> | ||
54 | </div> | ||
55 | </div> | ||
56 | </div> | ||
57 | </template> | ||
58 | |||
59 | <script> | ||
60 | import { datas } from "./jsydsyq"; | ||
61 | import { getJsydsyqList } from "@/api/zhcx.js"; | ||
62 | export default { | ||
63 | name: "jsydsyq", | ||
64 | data() { | ||
65 | return { | ||
66 | checkList: ["临时", "现势", "历史"], | ||
67 | tableData: [], | ||
68 | showTableData: [], | ||
69 | ths: [], | ||
70 | columns: [], | ||
71 | title: "建设用地使用权、宅基地使用权登记信息", | ||
72 | emptyData: { | ||
73 | ssywh: "", | ||
74 | dah: "", | ||
75 | ywh: "", | ||
76 | bdcdyh: "", | ||
77 | zl: "", | ||
78 | qlrlx: "", | ||
79 | qlrmc: "", | ||
80 | qlrzjzl: "", | ||
81 | qlrzjhm: "", | ||
82 | gyfs: "", | ||
83 | mj: null, | ||
84 | qlxz: "", | ||
85 | ytmc: "", | ||
86 | syqqzsj: null, | ||
87 | tdsyqx: null, | ||
88 | qdjg: null, | ||
89 | djyy: "", | ||
90 | bdcqzh: null, | ||
91 | djsj: "", | ||
92 | dbr: "", | ||
93 | fj: "", | ||
94 | qllxmc: "", | ||
95 | djlxmc: "", | ||
96 | qszt: "", | ||
97 | }, | ||
98 | }; | ||
99 | }, | ||
100 | async created() { | ||
101 | var Sldy = this.$parent._data.unitData[0]; | ||
102 | // 清空值 | ||
103 | this.tableData = []; | ||
104 | this.ths = []; | ||
105 | this.columns = datas.columns(); | ||
106 | let res = await getJsydsyqList({ | ||
107 | bdcdyid: Sldy.bdcdyid, | ||
108 | qllx: Sldy.qllx, | ||
109 | qszt: [], | ||
110 | }); | ||
111 | let resList = res.result.result ? res.result.result : []; | ||
112 | if (resList.length < 3) { | ||
113 | let num = 3 - resList.length; | ||
114 | for (let i = 0; i < num; i++) { | ||
115 | resList.push(this.emptyData); | ||
116 | } | ||
117 | } | ||
118 | let detail = resList; | ||
119 | detail.length > 0 && | ||
120 | detail.forEach((item) => { | ||
121 | this.tableData.push(item); | ||
122 | if (item.qszt == "0") { | ||
123 | this.ths.push({ | ||
124 | type: "临时", | ||
125 | qllxmc: item.qllxmc, | ||
126 | djlxmc: item.djlxmc, | ||
127 | prop: "linshi", | ||
128 | class: "linshi", | ||
129 | }); | ||
130 | } else if (item.qszt == "1") { | ||
131 | this.ths.push({ | ||
132 | type: "现势", | ||
133 | qllxmc: item.qllxmc, | ||
134 | djlxmc: item.djlxmc, | ||
135 | prop: "xianshi", | ||
136 | class: "xianshi", | ||
137 | }); | ||
138 | } else if (item.qszt == "2") { | ||
139 | this.ths.push({ | ||
140 | type: "历史", | ||
141 | qllxmc: item.qllxmc, | ||
142 | djlxmc: item.djlxmc, | ||
143 | prop: "lishi", | ||
144 | class: "lishi", | ||
145 | }); | ||
146 | } | ||
147 | }); | ||
148 | this.showTableData = this.tableData; | ||
149 | }, | ||
150 | methods: { | ||
151 | checkChange() {}, | ||
152 | }, | ||
153 | }; | ||
154 | </script> | ||
155 | |||
156 | <style lang="scss" scoped> | ||
157 | .djxxTable { | ||
158 | width: 100%; | ||
159 | height: 100%; | ||
160 | background: #fff; | ||
161 | overflow-y: scroll; | ||
162 | color: #333; | ||
163 | |||
164 | .tableBox { | ||
165 | margin: 0 auto; | ||
166 | display: flex; | ||
167 | flex-wrap: wrap; | ||
168 | |||
169 | .title { | ||
170 | width: 100%; | ||
171 | font-weight: 700; | ||
172 | font-size: 16px; | ||
173 | text-align: center; | ||
174 | background: #e9e9e9; | ||
175 | height: 62px; | ||
176 | line-height: 62px; | ||
177 | position: relative; | ||
178 | margin: 1px 0; | ||
179 | |||
180 | .checkbox { | ||
181 | position: absolute; | ||
182 | right: 20px; | ||
183 | bottom: -16px; | ||
184 | height: 62px; | ||
185 | } | ||
186 | } | ||
187 | |||
188 | .xxTableBox { | ||
189 | overflow-x: scroll; | ||
190 | width: 100%; | ||
191 | } | ||
192 | |||
193 | .xxTable > tr:first-child th { | ||
194 | width: 140px; | ||
195 | } | ||
196 | |||
197 | tr td { | ||
198 | border: 1px solid #ccc; | ||
199 | } | ||
200 | |||
201 | .xxTable { | ||
202 | // border-spacing: 0; | ||
203 | border-spacing: 1px; | ||
204 | width: 100%; | ||
205 | |||
206 | tr > th { | ||
207 | background: #464c5b; | ||
208 | color: #fff; | ||
209 | font-size: 16px; | ||
210 | height: 60px; | ||
211 | } | ||
212 | |||
213 | th.linshi, | ||
214 | th.xianshi { | ||
215 | background: #464c5b; | ||
216 | } | ||
217 | |||
218 | th.lishi { | ||
219 | background: rgba(70, 76, 91, 0.8); | ||
220 | } | ||
221 | |||
222 | .one th { | ||
223 | height: 25px; | ||
224 | font-size: 14px; | ||
225 | } | ||
226 | |||
227 | th.linshi { | ||
228 | color: #fe9400; | ||
229 | } | ||
230 | |||
231 | .two th { | ||
232 | height: 45px; | ||
233 | |||
234 | p:nth-child(2) { | ||
235 | font-size: 14px; | ||
236 | } | ||
237 | } | ||
238 | |||
239 | .linshiIcon { | ||
240 | position: relative; | ||
241 | } | ||
242 | |||
243 | .linshiIcon::after { | ||
244 | content: ""; | ||
245 | display: block; | ||
246 | width: 0; | ||
247 | height: 0; | ||
248 | border-width: 0px 0px 55px 55px; | ||
249 | border-style: none solid solid; | ||
250 | border-color: transparent transparent #fe9400; | ||
251 | position: absolute; | ||
252 | top: 0; | ||
253 | right: 0; | ||
254 | transform: rotate(-90deg); | ||
255 | } | ||
256 | |||
257 | .icon { | ||
258 | position: absolute; | ||
259 | top: 13px; | ||
260 | right: -4px; | ||
261 | transform: rotate(45deg); | ||
262 | color: #fff; | ||
263 | font-size: 12px; | ||
264 | z-index: 10; | ||
265 | } | ||
266 | |||
267 | tr td { | ||
268 | text-align: center; | ||
269 | height: 40px; | ||
270 | padding: 4px; | ||
271 | font-size: 13px; | ||
272 | width: 140px; | ||
273 | } | ||
274 | |||
275 | > tr:nth-child(odd) td { | ||
276 | background: #f2f2f2; | ||
277 | } | ||
278 | |||
279 | > tr:nth-child(even) td { | ||
280 | background: #f9f9f9; | ||
281 | } | ||
282 | |||
283 | td.linshi { | ||
284 | color: #fe9400; | ||
285 | } | ||
286 | |||
287 | tr > td.lishi { | ||
288 | color: #7f7f7f; | ||
289 | } | ||
290 | } | ||
291 | } | ||
292 | } | ||
293 | </style> |
... | @@ -150,8 +150,8 @@ export default { | ... | @@ -150,8 +150,8 @@ export default { |
150 | }); | 150 | }); |
151 | }, | 151 | }, |
152 | ywhClick (item) { | 152 | ywhClick (item) { |
153 | const { href } = this.$router.resolve('/fqsq?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1'); | 153 | //const { href } = this.$router.resolve('/fqsq?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1'); |
154 | //const { href } = this.$router.resolve('/workFrame?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1'); | 154 | const { href } = this.$router.resolve('/workFrame?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1'); |
155 | window.open(href, '_blank'); | 155 | window.open(href, '_blank'); |
156 | }, | 156 | }, |
157 | }, | 157 | }, | ... | ... |
... | @@ -289,10 +289,11 @@ import InformationTable from "./InformationTable"; | ... | @@ -289,10 +289,11 @@ import InformationTable from "./InformationTable"; |
289 | import { Init, fristReg } from "@/api/jsydsyqFlow.js"; | 289 | import { Init, fristReg } from "@/api/jsydsyqFlow.js"; |
290 | import { mapGetters } from "vuex"; | 290 | import { mapGetters } from "vuex"; |
291 | export default { | 291 | export default { |
292 | async created() { | 292 | async created() { |
293 | var bsmSldy = this.$parent._data.unitData[0].bsmSldy; | 293 | //var bsmSldy = this.$parent._data.unitData[0].bsmSldy; |
294 | this.propsParam = this.$attrs; | ||
294 | var formdata = new FormData(); | 295 | var formdata = new FormData(); |
295 | formdata.append("bsmSldy", bsmSldy); | 296 | formdata.append("bsmSldy", this.propsParam.bsmSldy); |
296 | Init(formdata).then((res) => { | 297 | Init(formdata).then((res) => { |
297 | if (res.code === 200 && res.result) { | 298 | if (res.code === 200 && res.result) { |
298 | this.ruleForm = { | 299 | this.ruleForm = { |
... | @@ -347,6 +348,8 @@ export default { | ... | @@ -347,6 +348,8 @@ export default { |
347 | // 持证人 | 348 | // 持证人 |
348 | czr: "", | 349 | czr: "", |
349 | }, | 350 | }, |
351 | //传递参数 | ||
352 | propsParam: {}, | ||
350 | rules: {}, | 353 | rules: {}, |
351 | }; | 354 | }; |
352 | }, | 355 | }, | ... | ... |
... | @@ -260,7 +260,7 @@ export default { | ... | @@ -260,7 +260,7 @@ export default { |
260 | loadViewSlsq() { | 260 | loadViewSlsq() { |
261 | return (r) => | 261 | return (r) => |
262 | require.ensure([], () => | 262 | require.ensure([], () => |
263 | r(require("../../components/jsydsyq/jsydsyq.vue")) | 263 | r(require("../../zhcx/djbcx/components/jsydsyq.vue")) |
264 | ); | 264 | ); |
265 | }, | 265 | }, |
266 | }, | 266 | }, | ... | ... |
src/views/ywbl/fqsq/workFrame.js
0 → 100644
1 | |||
2 | // 时间戳转化 | ||
3 | // export default { | ||
4 | // timestampToTime(timestamp) { | ||
5 | // let strDate; | ||
6 | // var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000 | ||
7 | // var Y = date.getFullYear() + '-'; | ||
8 | // var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; | ||
9 | // var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; | ||
10 | // var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; | ||
11 | // var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()); | ||
12 | // strDate = Y + M + D + h + m; | ||
13 | // return strDate; | ||
14 | // }, | ||
15 | // } | ||
16 | |||
17 | |||
18 | //流程环节操作按钮 | ||
19 | export function operation(index, item) { | ||
20 | let that = this; | ||
21 | switch (item.value) { | ||
22 | case "zsyl": | ||
23 | this.zsylFlag = true; | ||
24 | break; | ||
25 | case "clfp": | ||
26 | this.key++; | ||
27 | this.issplitScreen = !this.issplitScreen; | ||
28 | this.flag = !this.flag; | ||
29 | if (this.issplitScreen) { | ||
30 | this.tabList.splice(1, 1); | ||
31 | } else { | ||
32 | this.tabList = [...this.tabList1]; | ||
33 | } | ||
34 | break; | ||
35 | case "th": | ||
36 | this.thflag = true; | ||
37 | this.$nextTick(() => { | ||
38 | this.$refs.thdialogRef.tablelistFn(); | ||
39 | }); | ||
40 | break; | ||
41 | case "zc": | ||
42 | this.zcDialog = true; | ||
43 | this.$refs.zcDialogRef.tablelistFn(); | ||
44 | break; | ||
45 | case "tc": | ||
46 | window.close(); | ||
47 | break; | ||
48 | case "db": | ||
49 | var formdata = new FormData(); | ||
50 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
51 | formdata.append("bestepid", this.bestepid); | ||
52 | // comMsg; | ||
53 | this.$confirm("请确认是否登簿", "提示", { | ||
54 | iconClass: "el-icon-question", //自定义图标样式 | ||
55 | confirmButtonText: "确认", //确认按钮文字更换 | ||
56 | cancelButtonText: "取消", //取消按钮文字更换 | ||
57 | showClose: true, //是否显示右上角关闭按钮 | ||
58 | type: "warning", //提示类型 success/info/warning/error | ||
59 | }).then(function () { | ||
60 | record(formdata).then((res) => { | ||
61 | if (res.code === 200 || res.code === 2002) { | ||
62 | that.$alert(res.message); | ||
63 | } | ||
64 | }); | ||
65 | }); | ||
66 | break; | ||
67 | } | ||
68 | } | ||
69 | |||
70 | export function loadBdcdylist(that) { | ||
71 | var formdata = new FormData(); | ||
72 | formdata.append("bsmSlsq", that.bsmSlsq); | ||
73 | formdata.append("bestepid", that.bestepid); | ||
74 | leftMenu(formdata).then((res) => { | ||
75 | if (res.code === 200) { | ||
76 | that.unitData = res.result; | ||
77 | that.currentSelectProps = res.result[0]; | ||
78 | //debugger; | ||
79 | //this.$alert(res.result[0].bsmSldy); | ||
80 | // setTimeout(() => { | ||
81 | // that.$refs.slxx?.[0].list(that.unitData?.[0]?.bsmSldy); | ||
82 | // this.bsmBusiness = that.unitData?.[0]?.bsmBusiness; | ||
83 | // }, 300); | ||
84 | } | ||
85 | }); | ||
86 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/ywbl/fqsq/workFrame.scss
0 → 100644
1 | |||
2 | #ContainerFrame { | ||
3 | height: 100%; | ||
4 | width: 100%; | ||
5 | position: sticky; | ||
6 | top: 80px; | ||
7 | //background-color: #ffffff; | ||
8 | border: 1px solid #ebeef5; | ||
9 | z-index: 100; | ||
10 | @include flex; | ||
11 | } | ||
12 | |||
13 | #leftmenu { | ||
14 | width: 250px; | ||
15 | border-right: 1px solid #ebeef5; | ||
16 | position: relative; | ||
17 | box-sizing: border-box; | ||
18 | ul { | ||
19 | position: relative; | ||
20 | .xian { | ||
21 | background: #f2f2f2; | ||
22 | padding: 2px; | ||
23 | } | ||
24 | .title { | ||
25 | padding: 5px; | ||
26 | text-align: center; | ||
27 | } | ||
28 | li { | ||
29 | padding: 5px; | ||
30 | font-size: 14px; | ||
31 | color: #606266; | ||
32 | line-height: 20px; | ||
33 | } | ||
34 | li:hover { | ||
35 | color: #0f93f6; | ||
36 | cursor: pointer; | ||
37 | } | ||
38 | } | ||
39 | } | ||
40 | #rightContainer { | ||
41 | .tabDiv { | ||
42 | width: 100%; | ||
43 | height: 100%; | ||
44 | } | ||
45 | // .fenpin { | ||
46 | // min-width: 50%; | ||
47 | // border-right: 1px solid #ebeef5; | ||
48 | // } | ||
49 | |||
50 | background-color: #ffffffe7; | ||
51 | width: 100%; | ||
52 | height: 100%; | ||
53 | z-index: 100; | ||
54 | @include flex; | ||
55 | } | ||
56 | |||
57 | .svg-icon { | ||
58 | width: 2.5em; | ||
59 | height: 2.5em; | ||
60 | } | ||
61 | .iconName { | ||
62 | line-height: 24px; | ||
63 | font-size: 12px; | ||
64 | } | ||
65 | .container { | ||
66 | width: 100%; | ||
67 | height: 100%; | ||
68 | padding: 0; | ||
69 | box-sizing: border-box; | ||
70 | background-color: #ffffff; | ||
71 | overflow: hidden; | ||
72 | } | ||
73 | .topButton { | ||
74 | @include flex; | ||
75 | width: 100%; | ||
76 | height: 80px; | ||
77 | background-color: #3498db; | ||
78 | color: #ffffff; | ||
79 | justify-content: space-between; | ||
80 | padding-left: 15px; | ||
81 | position: sticky; | ||
82 | top: 0; | ||
83 | z-index: 100; | ||
84 | |||
85 | ul { | ||
86 | @include flex; | ||
87 | |||
88 | li { | ||
89 | @include flex-center; | ||
90 | cursor: pointer; | ||
91 | flex-direction: column; | ||
92 | margin-right: 15px; | ||
93 | box-sizing: border-box; | ||
94 | width: 70px; | ||
95 | margin: 0 5px; | ||
96 | } | ||
97 | |||
98 | li:hover { | ||
99 | border: 1px solid #ffffff; | ||
100 | border-radius: 5px; | ||
101 | //color: $light-blue ; | ||
102 | |||
103 | .svg-icon { | ||
104 | //color: $light-blue ; | ||
105 | } | ||
106 | } | ||
107 | } | ||
108 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -29,21 +29,33 @@ | ... | @@ -29,21 +29,33 @@ |
29 | <div id="ContainerFrame"> | 29 | <div id="ContainerFrame"> |
30 | <!-- 左侧菜单栏 --> | 30 | <!-- 左侧菜单栏 --> |
31 | <div id="leftmenu"> | 31 | <div id="leftmenu"> |
32 | <ul> | 32 | <div class="title">申请单元列表({{ unitData.length }})</div> |
33 | <p class="title">申请单元列表({{ unitData.length }})</p> | 33 | <!-- <ul> |
34 | <div v-for="(item, index) in unitData" :key="index"> | 34 | <div v-for="(item, index) in unitData" :key="index"> |
35 | <li @click="unitClick(item)"> | 35 | <li @click="unitClick(item)"> |
36 | <p>{{ item.bdcdyh }}</p> | 36 | <p>{{ item.bdcdyh }}</p> |
37 | <p>{{ item.zl }}</p> | 37 | <p>{{ item.zl }}</p> |
38 | </li> | 38 | </li> |
39 | <!-- <div class="xian"></div> --> | ||
40 | </div> | 39 | </div> |
41 | </ul> | 40 | </ul> --> |
41 | <el-menu default-active="0" @select="selectItems"> | ||
42 | <el-menu-item | ||
43 | :index="index" | ||
44 | v-for="(item, index) in unitData" | ||
45 | :key="index" | ||
46 | > | ||
47 | <i> | ||
48 | <p>{{ item.bdcdyh }}</p> | ||
49 | <p>{{ item.zl }}</p> | ||
50 | </i> | ||
51 | </el-menu-item> | ||
52 | </el-menu> | ||
53 | |||
42 | </div> | 54 | </div> |
43 | <!-- 表单内容区域 --> | 55 | <!-- 表单内容区域 --> |
44 | <div id="rightContainer"> | 56 | <div id="rightContainer"> |
45 | <div class="tabDiv"> | 57 | <div class="tabDiv"> |
46 | <el-tabs v-model="activeName" @tab-click="tabClick"> | 58 | <el-tabs v-model="tabName" @tab-click="tabClick"> |
47 | <el-tab-pane | 59 | <el-tab-pane |
48 | :label="item.name" | 60 | :label="item.name" |
49 | :name="item.value" | 61 | :name="item.value" |
... | @@ -52,7 +64,11 @@ | ... | @@ -52,7 +64,11 @@ |
52 | > | 64 | > |
53 | </el-tab-pane> | 65 | </el-tab-pane> |
54 | </el-tabs> | 66 | </el-tabs> |
55 | <component :is="componentTag" v-bind="currentSelectProps" /> | 67 | <component |
68 | :key="fresh" | ||
69 | :is="componentTag" | ||
70 | v-bind="currentSelectProps" | ||
71 | /> | ||
56 | </div> | 72 | </div> |
57 | <!-- <div style="width: 100%"> | 73 | <!-- <div style="width: 100%"> |
58 | 74 | ||
... | @@ -64,142 +80,40 @@ | ... | @@ -64,142 +80,40 @@ |
64 | 80 | ||
65 | <style scoped lang='scss'> | 81 | <style scoped lang='scss'> |
66 | @import "~@/styles/mixin.scss"; | 82 | @import "~@/styles/mixin.scss"; |
67 | 83 | @import "./workFrame.scss"; | |
68 | #ContainerFrame { | ||
69 | // margin-left: 5px; | ||
70 | // border: 1px solid #ebeef5; | ||
71 | // position: relative; | ||
72 | // box-sizing: border-box; | ||
73 | // width: 100%; | ||
74 | // height: 100%; | ||
75 | // display: inline; | ||
76 | height: 100%; | ||
77 | width: 100%; | ||
78 | position: sticky; | ||
79 | top: 80px; | ||
80 | //background-color: #ffffff; | ||
81 | border: 1px solid #ebeef5; | ||
82 | z-index: 100; | ||
83 | @include flex; | ||
84 | } | ||
85 | |||
86 | #leftmenu { | ||
87 | width: 250px; | ||
88 | border-right: 1px solid #ebeef5; | ||
89 | position: relative; | ||
90 | box-sizing: border-box; | ||
91 | ul { | ||
92 | position: relative; | ||
93 | .xian { | ||
94 | background: #f2f2f2; | ||
95 | padding: 2px; | ||
96 | } | ||
97 | .title { | ||
98 | padding: 5px; | ||
99 | text-align: center; | ||
100 | } | ||
101 | li { | ||
102 | padding: 5px; | ||
103 | font-size: 14px; | ||
104 | color: #606266; | ||
105 | line-height: 20px; | ||
106 | } | ||
107 | li:hover { | ||
108 | color: #0f93f6; | ||
109 | cursor: pointer; | ||
110 | } | ||
111 | } | ||
112 | } | ||
113 | #rightContainer { | ||
114 | .tabDiv { | ||
115 | width: 100%; | ||
116 | height: 100%; | ||
117 | } | ||
118 | // .fenpin { | ||
119 | // min-width: 50%; | ||
120 | // border-right: 1px solid #ebeef5; | ||
121 | // } | ||
122 | |||
123 | background-color: #ffffffe7; | ||
124 | width: 100%; | ||
125 | height: 100%; | ||
126 | z-index: 100; | ||
127 | @include flex; | ||
128 | } | ||
129 | |||
130 | .svg-icon { | ||
131 | width: 2.5em; | ||
132 | height: 2.5em; | ||
133 | } | ||
134 | .iconName { | ||
135 | line-height: 24px; | ||
136 | font-size: 12px; | ||
137 | } | ||
138 | .container { | ||
139 | width: 100%; | ||
140 | height: 100%; | ||
141 | padding: 0; | ||
142 | box-sizing: border-box; | ||
143 | background-color: #ffffff; | ||
144 | overflow: hidden; | ||
145 | } | ||
146 | .topButton { | ||
147 | @include flex; | ||
148 | width: 100%; | ||
149 | height: 80px; | ||
150 | background-color: #3498db; | ||
151 | color: #ffffff; | ||
152 | justify-content: space-between; | ||
153 | padding-left: 15px; | ||
154 | position: sticky; | ||
155 | top: 0; | ||
156 | z-index: 100; | ||
157 | |||
158 | ul { | ||
159 | @include flex; | ||
160 | |||
161 | li { | ||
162 | @include flex-center; | ||
163 | cursor: pointer; | ||
164 | flex-direction: column; | ||
165 | margin-right: 15px; | ||
166 | box-sizing: border-box; | ||
167 | width: 70px; | ||
168 | margin: 0 5px; | ||
169 | } | ||
170 | |||
171 | li:hover { | ||
172 | border: 1px solid #ffffff; | ||
173 | border-radius: 5px; | ||
174 | //color: $light-blue ; | ||
175 | |||
176 | .svg-icon { | ||
177 | //color: $light-blue ; | ||
178 | } | ||
179 | } | ||
180 | } | ||
181 | } | ||
182 | </style> | 84 | </style> |
183 | 85 | ||
184 | <script> | 86 | <script> |
185 | import { leftMenu, stepExpandInfo, record } from "@/api/fqsq.js"; | 87 | import { leftMenu, stepExpandInfo, record } from "@/api/fqsq.js"; |
186 | export default { | 88 | export default { |
187 | components: { | 89 | components: { |
90 | //注册表单组件,后期改为路由模式 | ||
188 | slxx: () => import("./components/slxx.vue"), | 91 | slxx: () => import("./components/slxx.vue"), |
189 | spyj: () => import("./components/spyj.vue"), | 92 | spyj: () => import("./components/spyj.vue"), |
190 | zdjbxx: () => import("../../zhcx/djbcx/components/zdxx.vue"), | 93 | zdjbxx: () => import("../../zhcx/djbcx/components/zdxx.vue"), |
191 | qlxx: () => import("../../components/jsydsyq/jsydsyq.vue"), | 94 | qlxx: () => import("../../zhcx/djbcx/components/jsydsyq.vue"), |
192 | }, | 95 | }, |
193 | data() { | 96 | data() { |
194 | return { | 97 | return { |
98 | //受理申请标识码 | ||
195 | bsmSlsq: "", | 99 | bsmSlsq: "", |
100 | //当前流程所在环节 | ||
196 | bestepid: "", | 101 | bestepid: "", |
102 | //顶部左侧按钮集合 | ||
197 | leftButtonList: [], | 103 | leftButtonList: [], |
104 | //顶部右侧按钮集合 | ||
198 | rightButtonList: [], | 105 | rightButtonList: [], |
106 | //左侧菜单数据集合 | ||
199 | unitData: [], | 107 | unitData: [], |
200 | activeName: "", | 108 | //设置那个表单选中 |
109 | tabName: "", | ||
110 | //表单集合 | ||
201 | tabList: [], | 111 | tabList: [], |
112 | //选择加载哪一个组件 | ||
202 | componentTag: "", | 113 | componentTag: "", |
114 | //设置表单组件是否刷选值 | ||
115 | fresh: 0, | ||
116 | //设置表单传递数据 | ||
203 | currentSelectProps: {}, | 117 | currentSelectProps: {}, |
204 | }; | 118 | }; |
205 | }, | 119 | }, |
... | @@ -210,6 +124,18 @@ export default { | ... | @@ -210,6 +124,18 @@ export default { |
210 | this.flowInitParam(); | 124 | this.flowInitParam(); |
211 | }, | 125 | }, |
212 | methods: { | 126 | methods: { |
127 | selectItems(index) { | ||
128 | //this.$alert(index); | ||
129 | //this.$store.state.adminleftnavnum = index; | ||
130 | |||
131 | if (this.currentSelectProps.bsmSldy != this.unitData[index].bsmSldy) { | ||
132 | this.currentSelectProps = this.unitData[index]; | ||
133 | this.fresh += 1; | ||
134 | } | ||
135 | |||
136 | |||
137 | //按钮选中之后设置当前的index为store里的值。 | ||
138 | }, | ||
213 | //加载流程初始参数 | 139 | //加载流程初始参数 |
214 | flowInitParam() { | 140 | flowInitParam() { |
215 | var formdata = new FormData(); | 141 | var formdata = new FormData(); |
... | @@ -221,7 +147,7 @@ export default { | ... | @@ -221,7 +147,7 @@ export default { |
221 | this.rightButtonList = res.result.operation; | 147 | this.rightButtonList = res.result.operation; |
222 | this.tabList = res.result.form; | 148 | this.tabList = res.result.form; |
223 | //默认选择第一个选项卡内容 | 149 | //默认选择第一个选项卡内容 |
224 | this.activeName = res.result.form[0].value; | 150 | this.tabName = res.result.form[0].value; |
225 | //默认加载第一个选项卡的组件内容 | 151 | //默认加载第一个选项卡的组件内容 |
226 | this.componentTag = res.result.form[0].value; | 152 | this.componentTag = res.result.form[0].value; |
227 | } | 153 | } |
... | @@ -285,6 +211,37 @@ export default { | ... | @@ -285,6 +211,37 @@ export default { |
285 | leftMenu(formdata).then((res) => { | 211 | leftMenu(formdata).then((res) => { |
286 | if (res.code === 200) { | 212 | if (res.code === 200) { |
287 | this.unitData = res.result; | 213 | this.unitData = res.result; |
214 | this.unitData.push({ | ||
215 | bsmSldy: "edd5ffc12c8dcc237ad06447618dcddc", | ||
216 | bsmBusiness: "ee5187fa978c9002c3a2991ae5d70482", | ||
217 | bsmSsql: null, | ||
218 | ybdcqzsh: null, | ||
219 | bdcdyid: "dded1d6615be4fbf02de75c93bb5084e", | ||
220 | bdcdyh: "610102123666GB10165W00000000", | ||
221 | bdcdylx: null, | ||
222 | xmmc: null, | ||
223 | jzwmc: null, | ||
224 | fh: null, | ||
225 | zl: "陕西省新城区大庆路1号村", | ||
226 | bglx: "0", | ||
227 | wqhtid: null, | ||
228 | wqhtbh: null, | ||
229 | htlx: null, | ||
230 | wqsj: null, | ||
231 | ydybh: null, | ||
232 | djyy: "GYJSY2222D", | ||
233 | qllx: "A03", | ||
234 | djlx: "200", | ||
235 | sqzsbs: null, | ||
236 | gyfs: null, | ||
237 | sqfbcz: null, | ||
238 | sfxysczs: null, | ||
239 | sfxyffzs: null, | ||
240 | issave: null, | ||
241 | taskId: null, | ||
242 | }); | ||
243 | // this.unitData.push(res.result[0]); | ||
244 | // this.unitData.push(res.result[0]); | ||
288 | this.currentSelectProps = res.result[0]; | 245 | this.currentSelectProps = res.result[0]; |
289 | //debugger; | 246 | //debugger; |
290 | //this.$alert(res.result[0].bsmSldy); | 247 | //this.$alert(res.result[0].bsmSldy); | ... | ... |
... | @@ -7,9 +7,20 @@ class data extends filter { | ... | @@ -7,9 +7,20 @@ class data extends filter { |
7 | columns () { | 7 | columns () { |
8 | return [ | 8 | return [ |
9 | { | 9 | { |
10 | prop: "qszt", | ||
11 | label: "权属状态", | ||
12 | }, | ||
13 | { | ||
14 | prop: "qllxmc", | ||
15 | label: "权利类型", | ||
16 | }, | ||
17 | { | ||
18 | prop: "djlxmc", | ||
19 | label: "登记类型", | ||
20 | }, | ||
21 | { | ||
10 | prop: "ssywh", | 22 | prop: "ssywh", |
11 | label: "上手业务号", | 23 | label: "上手业务号", |
12 | width: "120" | ||
13 | }, | 24 | }, |
14 | { | 25 | { |
15 | prop: "dah", | 26 | prop: "dah", | ... | ... |
src/views/zhcx/djbcx/components/jsydsyq.vue
0 → 100644
1 | <template> | ||
2 | <div class="djxxTable"> | ||
3 | <div class="tableBox"> | ||
4 | <div class="title"> | ||
5 | {{ title }} | ||
6 | <div class="checkbox"> | ||
7 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
8 | <el-checkbox | ||
9 | v-for="item in qsztList" | ||
10 | :key="item.value" | ||
11 | :label="item.value" | ||
12 | >{{ item.label }}</el-checkbox | ||
13 | > | ||
14 | </el-checkbox-group> | ||
15 | </div> | ||
16 | </div> | ||
17 | <div class="xxTableBox"> | ||
18 | <table class="xxTable"> | ||
19 | <tr v-for="item in columns" :key="item"> | ||
20 | <td> | ||
21 | {{ item.label }} | ||
22 | </td> | ||
23 | <td | ||
24 | v-for="(row, index) in tableData" | ||
25 | :key="index" | ||
26 | :class="[ | ||
27 | row.qszt == '2' ? 'lishi' : '', | ||
28 | row.qszt == '0' ? 'linshi' : '', | ||
29 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', | ||
30 | ]" | ||
31 | > | ||
32 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> | ||
33 | 正在办理 | ||
34 | </div> | ||
35 | <span v-if="item.prop == 'qszt'"> | ||
36 | {{ getQsztName(row[item.prop]) }} | ||
37 | </span> | ||
38 | |||
39 | <span v-else> {{ row[item.prop] }}</span> | ||
40 | </td> | ||
41 | <td v-for="count in emptycolNum" :key="count"></td> | ||
42 | </tr> | ||
43 | </table> | ||
44 | </div> | ||
45 | </div> | ||
46 | </div> | ||
47 | </template> | ||
48 | |||
49 | <script> | ||
50 | import { datas } from "./jsydsyq.js"; | ||
51 | import { getJsydsyqList } from "@/api/zhcx.js"; | ||
52 | export default { | ||
53 | data() { | ||
54 | return { | ||
55 | qsztList: [ | ||
56 | { | ||
57 | value: "0", | ||
58 | label: "临时", | ||
59 | }, | ||
60 | { | ||
61 | value: "1", | ||
62 | label: "现势", | ||
63 | }, | ||
64 | { | ||
65 | value: "2", | ||
66 | label: "历史", | ||
67 | }, | ||
68 | ], | ||
69 | checkList: ["0", "1", "2"], | ||
70 | //传递参数 | ||
71 | propsParam: {}, | ||
72 | //列表数据 | ||
73 | tableData: [], | ||
74 | //空列值个数 | ||
75 | emptycolNum: 0, | ||
76 | //列名称对象 | ||
77 | columns: [], | ||
78 | title: "建设用地使用权、宅基地使用权登记信息", | ||
79 | }; | ||
80 | }, | ||
81 | created() { | ||
82 | this.propsParam = this.$attrs; | ||
83 | this.columns = datas.columns(); | ||
84 | this.loadData(); | ||
85 | }, | ||
86 | methods: { | ||
87 | loadData() { | ||
88 | //this.$alert(this.propsParam.bdcdyh); | ||
89 | getJsydsyqList({ | ||
90 | bdcdyid: this.propsParam.bdcdyid, | ||
91 | qllx: this.propsParam.qllx, | ||
92 | qszt: this.checkList, | ||
93 | }).then((res) => { | ||
94 | if (res.code === 200) { | ||
95 | this.tableData = res.result; | ||
96 | this.emptycolNum = 3 - this.tableData.length; | ||
97 | } | ||
98 | }); | ||
99 | }, | ||
100 | checkChange() { | ||
101 | this.loadData(); | ||
102 | }, | ||
103 | getQsztName(code) { | ||
104 | let name = ""; | ||
105 | for (let item of this.qsztList) { | ||
106 | if (item.value == code) { | ||
107 | name = item.label; | ||
108 | break; | ||
109 | } | ||
110 | } | ||
111 | return name; | ||
112 | }, | ||
113 | }, | ||
114 | }; | ||
115 | </script> | ||
116 | |||
117 | <style lang="scss" scoped> | ||
118 | @import "./qlxxCommon.scss"; | ||
119 | </style> |
1 | .djxxTable { | ||
2 | width: 100%; | ||
3 | height: 100%; | ||
4 | background: #fff; | ||
5 | overflow-y: scroll; | ||
6 | color: #333; | ||
7 | |||
8 | .tableBox { | ||
9 | margin: 0 auto; | ||
10 | display: flex; | ||
11 | flex-wrap: wrap; | ||
12 | |||
13 | .title { | ||
14 | width: 100%; | ||
15 | font-weight: 700; | ||
16 | font-size: 16px; | ||
17 | text-align: center; | ||
18 | background: #e9e9e9; | ||
19 | height: 62px; | ||
20 | line-height: 62px; | ||
21 | position: relative; | ||
22 | margin: 1px 0; | ||
23 | |||
24 | .checkbox { | ||
25 | position: absolute; | ||
26 | right: 20px; | ||
27 | bottom: -16px; | ||
28 | height: 62px; | ||
29 | } | ||
30 | } | ||
31 | |||
32 | .xxTableBox { | ||
33 | overflow-x: scroll; | ||
34 | width: 100%; | ||
35 | } | ||
36 | |||
37 | .xxTable > tr:first-child th { | ||
38 | width: 140px; | ||
39 | } | ||
40 | // tr td { | ||
41 | // border: 1px solid #ccc; | ||
42 | // } | ||
43 | |||
44 | .xxTable { | ||
45 | // border-spacing: 0; | ||
46 | border-spacing: 1px; | ||
47 | width: 100%; | ||
48 | |||
49 | tr > th { | ||
50 | border: 1px solid #ccc; | ||
51 | background: #F2F2F2; | ||
52 | color: #333333; | ||
53 | font-size: 16px; | ||
54 | height: 40px; | ||
55 | } | ||
56 | |||
57 | th.linshi, | ||
58 | th.xianshi { | ||
59 | background: #464c5b; | ||
60 | } | ||
61 | |||
62 | th.lishi { | ||
63 | background: rgba(70, 76, 91, 0.8); | ||
64 | } | ||
65 | |||
66 | .one th { | ||
67 | height: 25px; | ||
68 | font-size: 14px; | ||
69 | } | ||
70 | |||
71 | th.linshi { | ||
72 | color: #fe9400; | ||
73 | } | ||
74 | |||
75 | .two th { | ||
76 | height: 45px; | ||
77 | |||
78 | p:nth-child(2) { | ||
79 | font-size: 14px; | ||
80 | } | ||
81 | } | ||
82 | |||
83 | .linshiIcon { | ||
84 | position: relative; | ||
85 | } | ||
86 | |||
87 | .linshiIcon::after { | ||
88 | content: ""; | ||
89 | display: block; | ||
90 | width: 0; | ||
91 | height: 0; | ||
92 | border-width: 0px 0px 55px 55px; | ||
93 | border-style: none solid solid; | ||
94 | border-color: transparent transparent #fe9400; | ||
95 | position: absolute; | ||
96 | top: 0; | ||
97 | right: 0; | ||
98 | transform: rotate(-90deg); | ||
99 | } | ||
100 | |||
101 | .icon { | ||
102 | position: absolute; | ||
103 | top: 13px; | ||
104 | right: -4px; | ||
105 | transform: rotate(45deg); | ||
106 | color: #fff; | ||
107 | font-size: 12px; | ||
108 | z-index: 10; | ||
109 | } | ||
110 | |||
111 | tr td { | ||
112 | border: 1px solid #ccc; | ||
113 | text-align: center; | ||
114 | height: 40px; | ||
115 | padding: 4px; | ||
116 | font-size: 13px; | ||
117 | width: 140px; | ||
118 | } | ||
119 | > tr:nth-child(odd) td { | ||
120 | background: #f2f2f2; | ||
121 | } | ||
122 | |||
123 | > tr:nth-child(even) td { | ||
124 | background: #f9f9f9; | ||
125 | } | ||
126 | |||
127 | td.linshi { | ||
128 | color: #fe9400; | ||
129 | } | ||
130 | |||
131 | tr > td.lishi { | ||
132 | color: #7f7f7f; | ||
133 | } | ||
134 | } | ||
135 | } | ||
136 | } |
... | @@ -174,7 +174,7 @@ export default { | ... | @@ -174,7 +174,7 @@ export default { |
174 | // computed: { | 174 | // computed: { |
175 | // ...mapGetters(["djbxx"]), | 175 | // ...mapGetters(["djbxx"]), |
176 | // }, | 176 | // }, |
177 | mounted() { | 177 | created() { |
178 | this.propsParam = this.$attrs; | 178 | this.propsParam = this.$attrs; |
179 | this.loadData(); | 179 | this.loadData(); |
180 | //this.$alert(this.param.bdcdyh); | 180 | //this.$alert(this.param.bdcdyh); | ... | ... |
-
Please register or sign in to post a comment