修改相关流程功能
Showing
4 changed files
with
253 additions
and
102 deletions
... | @@ -96,3 +96,12 @@ export function stepExpandInfo (data) { | ... | @@ -96,3 +96,12 @@ export function stepExpandInfo (data) { |
96 | data | 96 | data |
97 | }) | 97 | }) |
98 | } | 98 | } |
99 | |||
100 | // 登簿接口 | ||
101 | export function record (data) { | ||
102 | return request({ | ||
103 | url: '/business/workFlow/record', | ||
104 | method: 'post', | ||
105 | data | ||
106 | }) | ||
107 | } | ... | ... |
src/views/components/comMsg.vue
0 → 100644
1 | <template> | ||
2 | <div class="model"> | ||
3 | <div class="mask">123</div> | ||
4 | <div class="model-dialog"> | ||
5 | <div class="model-header"> | ||
6 | <span>提示</span> | ||
7 | <a href="javascript:;" class="icon-close"></a> | ||
8 | </div> | ||
9 | <div class="model-body"> | ||
10 | <div class="body">这是条消息</div> | ||
11 | </div> | ||
12 | <div class="model-footer"> | ||
13 | <button class="btn">确认</button> | ||
14 | </div> | ||
15 | </div> | ||
16 | </div> | ||
17 | </template> | ||
18 | |||
19 | |||
20 | <style scoped lang='scss'> | ||
21 | //css部分 | ||
22 | .mask { | ||
23 | position: fixed; //这里用固定定位,后面设置动画时才不受影响 | ||
24 | top: 0; | ||
25 | height: 100%; | ||
26 | width: 100%; | ||
27 | background-color: rgba(167, 165, 165, 0.486); | ||
28 | opacity: 0.5; | ||
29 | z-index: 9; | ||
30 | } | ||
31 | .model-dialog { | ||
32 | position: absolute; | ||
33 | //让弹框居中显示 | ||
34 | top: 50%; | ||
35 | left: 50%; | ||
36 | transform: translate(-50%, -50%); | ||
37 | background-color: #fff; | ||
38 | border-radius: 12px; | ||
39 | width: 600px; | ||
40 | height: 300px; | ||
41 | border: 1px solid #f5f5f5; | ||
42 | overflow: hidden; | ||
43 | z-index: 10; //这里注意层级要比mask大,覆盖它 | ||
44 | } | ||
45 | .model-header { | ||
46 | position: relative; | ||
47 | height: 50px; | ||
48 | padding-left: 10px; | ||
49 | padding-top: 10px; | ||
50 | font-size: 20px; | ||
51 | line-height: 50px; | ||
52 | background-color: #f5f5f5; | ||
53 | border-bottom: 1px solid rgb(177, 176, 176); | ||
54 | } | ||
55 | .model-body { | ||
56 | height: 150px; | ||
57 | line-height: 150px; | ||
58 | font-size: 28px; | ||
59 | text-align: center; | ||
60 | background-color: #fff; | ||
61 | } | ||
62 | .model-footer { | ||
63 | background-color: #f5f5f5; | ||
64 | height: 100px; | ||
65 | text-align: center; | ||
66 | line-height: 100px; | ||
67 | } | ||
68 | .btn { | ||
69 | width: 180px; | ||
70 | height: 40px; | ||
71 | border-radius: 8px; | ||
72 | background-color: rgb(180, 103, 103); | ||
73 | color: #fff; | ||
74 | font-size: 18px; | ||
75 | border: none; | ||
76 | } | ||
77 | .icon-close { | ||
78 | position: absolute; //如果不加绝对布局,图表显示不出来 | ||
79 | background-color: pink; | ||
80 | right: 15px; | ||
81 | top: 16px; | ||
82 | width: 30px; | ||
83 | height: 30px; | ||
84 | z-index: 10; | ||
85 | //background: url("../assets/icon-close.png") no-repeat; | ||
86 | background-size: contain; | ||
87 | } | ||
88 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -162,11 +162,11 @@ export default { | ... | @@ -162,11 +162,11 @@ export default { |
162 | .spyj { | 162 | .spyj { |
163 | margin-left: 5px; | 163 | margin-left: 5px; |
164 | 164 | ||
165 | .spyj_title { | 165 | .spyj_title { |
166 | text-align: center; | 166 | text-align: center; |
167 | font-size: 24px; | 167 | font-size: 24px; |
168 | display: block; | 168 | display: block; |
169 | margin-bottom: 10px; | 169 | margin: 30px 0; |
170 | } | 170 | } |
171 | 171 | ||
172 | /deep/.el-form-item { | 172 | /deep/.el-form-item { | ... | ... |
1 | <template> | 1 | <template> |
2 | <div class='fqsq'> | 2 | <div class="fqsq"> |
3 | <div class="fqsq-header"> | 3 | <div class="fqsq-header"> |
4 | <ul> | 4 | <ul> |
5 | <li @click="operation(index, item)" v-for="(item, index) in headerleftList" :key="index"> | 5 | <li |
6 | @click="operation(index, item)" | ||
7 | v-for="(item, index) in headerleftList" | ||
8 | :key="index" | ||
9 | > | ||
6 | <svg-icon :icon-class="item.icon" /> | 10 | <svg-icon :icon-class="item.icon" /> |
7 | <span class="iconName">{{ item.name }}</span> | 11 | <span class="iconName">{{ item.name }}</span> |
8 | </li> | 12 | </li> |
9 | </ul> | 13 | </ul> |
10 | <ul> | 14 | <ul> |
11 | <li @click="operation(index, item)" v-for="(item, index) in headerRightList" :key="index"> | 15 | <li |
16 | @click="operation(index, item)" | ||
17 | v-for="(item, index) in headerRightList" | ||
18 | :key="index" | ||
19 | > | ||
12 | <svg-icon class="icon" :icon-class="item.icon" /> | 20 | <svg-icon class="icon" :icon-class="item.icon" /> |
13 | <span class="iconName">{{ item.name }}</span> | 21 | <span class="iconName">{{ item.name }}</span> |
14 | </li> | 22 | </li> |
... | @@ -16,20 +24,30 @@ | ... | @@ -16,20 +24,30 @@ |
16 | </div> | 24 | </div> |
17 | <div class="tabsList"> | 25 | <div class="tabsList"> |
18 | <div class="tabsList-left"> | 26 | <div class="tabsList-left"> |
19 | <div class="map-drawer-click" v-if='!isShowdrawer' @click="() => { | 27 | <div |
20 | this.isShowdrawer = !this.isShowdrawer; | 28 | class="map-drawer-click" |
21 | }"> | 29 | v-if="!isShowdrawer" |
22 | </div> | 30 | @click=" |
23 | <div class="map-drawer-expand" v-else @click="() => { | 31 | () => { |
24 | this.isShowdrawer = !this.isShowdrawer; | 32 | this.isShowdrawer = !this.isShowdrawer; |
25 | }"> | 33 | } |
26 | </div> | 34 | " |
27 | <ul v-if='this.isShowdrawer'> | 35 | ></div> |
28 | <p class="title">受理单元列表({{unitData.length}})</p> | 36 | <div |
29 | <div v-for='(item,index) in unitData' :key='index'> | 37 | class="map-drawer-expand" |
30 | <li @click='unitClick(item)'> | 38 | v-else |
31 | <p>{{item.bdcdyh}}</p> | 39 | @click=" |
32 | <p>{{item.zl}}</p> | 40 | () => { |
41 | this.isShowdrawer = !this.isShowdrawer; | ||
42 | } | ||
43 | " | ||
44 | ></div> | ||
45 | <ul v-if="this.isShowdrawer"> | ||
46 | <p class="title">申请单元列表({{ unitData.length }})</p> | ||
47 | <div v-for="(item, index) in unitData" :key="index"> | ||
48 | <li @click="unitClick(item)"> | ||
49 | <p>{{ item.bdcdyh }}</p> | ||
50 | <p>{{ item.zl }}</p> | ||
33 | </li> | 51 | </li> |
34 | <div class="xian"></div> | 52 | <div class="xian"></div> |
35 | </div> | 53 | </div> |
... | @@ -40,31 +58,54 @@ | ... | @@ -40,31 +58,54 @@ |
40 | <p class="splitScreen tabsList-title">材料信息</p> | 58 | <p class="splitScreen tabsList-title">材料信息</p> |
41 | <div class="splitScreen"></div> | 59 | <div class="splitScreen"></div> |
42 | </div> | 60 | </div> |
43 | <el-tabs v-model="activeName" @tab-click='activeClick'> | 61 | <el-tabs v-model="activeName" @tab-click="activeClick"> |
44 | <el-tab-pane :label="item.name" :name="item.value" v-for="(item, index) in tabList" :key="index"> | 62 | <el-tab-pane |
63 | :label="item.name" | ||
64 | :name="item.value" | ||
65 | v-for="(item, index) in tabList" | ||
66 | :key="index" | ||
67 | > | ||
45 | <div class="splitScreen-con"> | 68 | <div class="splitScreen-con"> |
46 | <component ref='slxx' v-if='index == 0' :is="editItem" :flag="flag" :key="key" /> | 69 | <component |
47 | <component ref='clxx' :is="editItem" v-else-if="index == 1" :key="key" /> | 70 | ref="slxx" |
71 | v-if="index == 0" | ||
72 | :is="editItem" | ||
73 | :flag="flag" | ||
74 | :key="key" | ||
75 | /> | ||
76 | <component | ||
77 | ref="clxx" | ||
78 | :is="editItem" | ||
79 | v-else-if="index == 1" | ||
80 | :key="key" | ||
81 | /> | ||
48 | <component :is="editItem" v-else :key="key" /> | 82 | <component :is="editItem" v-else :key="key" /> |
49 | </div> | 83 | </div> |
50 | </el-tab-pane> | 84 | </el-tab-pane> |
51 | </el-tabs> | 85 | </el-tabs> |
52 | </div> | 86 | </div> |
53 | </div> | 87 | </div> |
54 | <zc ref="zcDialogRef" v-model="zcDialog" :queryForm='queryForm' /> | 88 | <zc ref="zcDialogRef" v-model="zcDialog" :queryForm="queryForm" /> |
55 | <thDialog ref='thdialogRef' v-model="thflag" :taskId='taskId' :bsmBusiness='bsmBusiness' :queryForm='queryForm' /> | 89 | <thDialog |
56 | <zsylDialog v-model='zsylFlag' /> | 90 | ref="thdialogRef" |
91 | v-model="thflag" | ||
92 | :taskId="taskId" | ||
93 | :bsmBusiness="bsmBusiness" | ||
94 | :queryForm="queryForm" | ||
95 | /> | ||
96 | <zsylDialog v-model="zsylFlag" /> | ||
57 | </div> | 97 | </div> |
58 | </template> | 98 | </template> |
59 | <script> | 99 | <script> |
60 | import { leftMenu, stepExpandInfo } from "@/api/fqsq.js" | 100 | import { leftMenu, stepExpandInfo, record } from "@/api/fqsq.js"; |
61 | import zc from "./components/zc.vue" | 101 | import comMsg from "@/views/components/comMsg.vue"; |
62 | import thDialog from "./components/th.vue" | 102 | import zc from "./components/zc.vue"; |
63 | import zsylDialog from './components/zsyl' | 103 | import thDialog from "./components/th.vue"; |
104 | import zsylDialog from "./components/zsyl"; | ||
64 | export default { | 105 | export default { |
65 | /**注册组件*/ | 106 | /**注册组件*/ |
66 | components: { zc, thDialog, zsylDialog }, | 107 | components: { zc, thDialog, zsylDialog, comMsg }, |
67 | data () { | 108 | data() { |
68 | return { | 109 | return { |
69 | zsylFlag: false, | 110 | zsylFlag: false, |
70 | zcDialog: false, | 111 | zcDialog: false, |
... | @@ -78,10 +119,10 @@ export default { | ... | @@ -78,10 +119,10 @@ export default { |
78 | flag: false, | 119 | flag: false, |
79 | headerleftList: [], | 120 | headerleftList: [], |
80 | headerRightList: [], | 121 | headerRightList: [], |
81 | activeName: 'slxx', | 122 | activeName: "slxx", |
82 | tabList1: [], | 123 | tabList1: [], |
83 | tabList: [], | 124 | tabList: [], |
84 | editItem: '', | 125 | editItem: "", |
85 | issplitScreen: false, | 126 | issplitScreen: false, |
86 | unitData: [], | 127 | unitData: [], |
87 | taskId: "", | 128 | taskId: "", |
... | @@ -91,98 +132,113 @@ export default { | ... | @@ -91,98 +132,113 @@ export default { |
91 | }, | 132 | }, |
92 | watch: { | 133 | watch: { |
93 | activeName: { | 134 | activeName: { |
94 | handler (newName, oldName) { | 135 | handler(newName, oldName) { |
95 | this.editItem = this.loadView(newName) | 136 | this.editItem = this.loadView(newName); |
96 | }, | 137 | }, |
97 | immediate: true | 138 | immediate: true, |
98 | } | 139 | }, |
99 | }, | 140 | }, |
100 | mounted () { | 141 | mounted() { |
101 | if (this.$route.query.bsmSlsq) { | 142 | if (this.$route.query.bsmSlsq) { |
102 | this.expandInfo(this.$route.query.bsmSlsq, this.$route.query.bestepid); | 143 | this.expandInfo(this.$route.query.bsmSlsq, this.$route.query.bestepid); |
103 | this.list(this.$route.query.bsmSlsq) | 144 | this.list(this.$route.query.bsmSlsq); |
104 | this.queryForm.bsmSlsq = this.$route.query.bsmSlsq | 145 | this.queryForm.bsmSlsq = this.$route.query.bsmSlsq; |
105 | this.queryForm.bestepid = this.$route.query.bestepid | 146 | this.queryForm.bestepid = this.$route.query.bestepid; |
106 | } | 147 | } |
107 | }, | 148 | }, |
108 | methods: { | 149 | methods: { |
109 | // 获取左侧列表 | 150 | // 获取左侧列表 |
110 | list (id) { | 151 | list(id) { |
111 | let that = this | 152 | let that = this; |
112 | that.id = id | 153 | that.id = id; |
113 | var formdata = new FormData(); | 154 | var formdata = new FormData(); |
114 | formdata.append("bsmSlsq", id); | 155 | formdata.append("bsmSlsq", id); |
115 | leftMenu(formdata).then(res => { | 156 | leftMenu(formdata).then((res) => { |
116 | console.log(res, 'eeeeeeeeeeee'); | 157 | console.log(res, "eeeeeeeeeeee"); |
117 | if (res.code === 200) { | 158 | if (res.code === 200) { |
118 | this.unitData = res.result ? res.result : [] | 159 | this.unitData = res.result ? res.result : []; |
119 | setTimeout(() => { | 160 | setTimeout(() => { |
120 | that.$refs?.slxx[0].list(that.unitData && that.unitData[0].bsmSldy) | 161 | that.$refs?.slxx[0].list(that.unitData && that.unitData[0].bsmSldy); |
121 | this.taskId = that.unitData[0].taskId | 162 | this.taskId = that.unitData[0].taskId; |
122 | this.bsmBusiness = that.unitData[0].bsmBusiness | 163 | this.bsmBusiness = that.unitData[0].bsmBusiness; |
123 | }, 300); | 164 | }, 300); |
124 | } | 165 | } |
125 | }) | 166 | }); |
126 | }, | 167 | }, |
127 | //获取环节扩展信息 | 168 | //获取环节扩展信息 |
128 | expandInfo (bsmSlsq, bestepid) { | 169 | expandInfo(bsmSlsq, bestepid) { |
129 | let that = this | 170 | let that = this; |
130 | var formdata = new FormData(); | 171 | var formdata = new FormData(); |
131 | formdata.append("bsmSlsq", bsmSlsq); | 172 | formdata.append("bsmSlsq", bsmSlsq); |
132 | formdata.append("bestepid", bestepid); | 173 | formdata.append("bestepid", bestepid); |
133 | stepExpandInfo(formdata).then(res => { | 174 | stepExpandInfo(formdata).then((res) => { |
134 | if (res.code === 200) { | 175 | if (res.code === 200) { |
135 | this.tabList1 = [...res.result.form] | 176 | this.tabList1 = [...res.result.form]; |
136 | this.tabList = res.result.form; | 177 | this.tabList = res.result.form; |
137 | this.headerleftList = res.result.button; | 178 | this.headerleftList = res.result.button; |
138 | this.headerRightList = res.result.operation; | 179 | this.headerRightList = res.result.operation; |
139 | } | 180 | } |
140 | }) | 181 | }); |
141 | }, | 182 | }, |
142 | activeClick (tab, event) { | 183 | activeClick(tab, event) { |
143 | if (tab.name == 'slxx') { | 184 | if (tab.name == "slxx") { |
144 | this.list(this.id) | 185 | this.list(this.id); |
145 | } | 186 | } |
146 | }, | 187 | }, |
147 | // 左侧列表点击调用接口 | 188 | // 左侧列表点击调用接口 |
148 | unitClick (item) { | 189 | unitClick(item) { |
149 | this.taskId = item.taskId | 190 | this.taskId = item.taskId; |
150 | this.bsmBusiness = item.bsmBusiness | 191 | this.bsmBusiness = item.bsmBusiness; |
151 | this.$nextTick(() => { | 192 | this.$nextTick(() => { |
152 | this.$refs.slxx[0].list(item.bsmSldy) | 193 | this.$refs.slxx[0].list(item.bsmSldy); |
153 | }) | 194 | }); |
154 | }, | 195 | }, |
155 | operation (index, item) { | 196 | operation(index, item) { |
156 | if (item.value == 'zsyl') { | 197 | switch (item.value) { |
157 | this.zsylFlag = true | 198 | case "zsyl": |
158 | 199 | this.zsylFlag = true; | |
159 | } else if (item.value == 'clfp') { | 200 | break; |
160 | this.key++ | 201 | case "clfp": |
161 | this.issplitScreen = !this.issplitScreen | 202 | this.key++; |
162 | this.flag = !this.flag | 203 | this.issplitScreen = !this.issplitScreen; |
163 | if (this.issplitScreen) { | 204 | this.flag = !this.flag; |
164 | this.tabList.splice(1, 1) | 205 | if (this.issplitScreen) { |
165 | } else { | 206 | this.tabList.splice(1, 1); |
166 | this.tabList = [...this.tabList1] | 207 | } else { |
167 | } | 208 | this.tabList = [...this.tabList1]; |
168 | } else if (item.value == 'th') { | 209 | } |
169 | this.thflag = true | 210 | break; |
170 | this.$nextTick(() => { | 211 | case "th": |
171 | this.$refs.thdialogRef.tablelistFn() | 212 | this.thflag = true; |
172 | }) | 213 | this.$nextTick(() => { |
173 | } | 214 | this.$refs.thdialogRef.tablelistFn(); |
174 | else if (item.value == 'zc') { | 215 | }); |
175 | this.zcDialog = true | 216 | break; |
176 | this.$refs.zcDialogRef.tablelistFn() | 217 | case "zc": |
177 | } else if (item.value === 'tc') { | 218 | this.zcDialog = true; |
178 | window.close() | 219 | this.$refs.zcDialogRef.tablelistFn(); |
220 | break; | ||
221 | case "tc": | ||
222 | window.close(); | ||
223 | break; | ||
224 | case "db": | ||
225 | // comMsg; | ||
226 | var formdata = new FormData(); | ||
227 | formdata.append("bsmSlsq", this.$route.query.bsmSlsq); | ||
228 | formdata.append("bestepid", this.$route.query.bestepid); | ||
229 | record(formdata).then((res) => { | ||
230 | if (res.code === 200) { | ||
231 | } | ||
232 | }); | ||
233 | break; | ||
179 | } | 234 | } |
180 | }, | 235 | }, |
181 | loadView (view) { | 236 | loadView(view) { |
182 | return r => require.ensure([], () => r(require(`./components/${view}.vue`))) | 237 | return (r) => |
238 | require.ensure([], () => r(require(`./components/${view}.vue`))); | ||
183 | }, | 239 | }, |
184 | }, | 240 | }, |
185 | } | 241 | }; |
186 | </script> | 242 | </script> |
187 | <style scoped lang='scss'> | 243 | <style scoped lang='scss'> |
188 | @import "~@/styles/mixin.scss"; | 244 | @import "~@/styles/mixin.scss"; |
... | @@ -222,7 +278,6 @@ export default { | ... | @@ -222,7 +278,6 @@ export default { |
222 | background-color: #ffffff; | 278 | background-color: #ffffff; |
223 | overflow: hidden; | 279 | overflow: hidden; |
224 | 280 | ||
225 | |||
226 | .splitScreen { | 281 | .splitScreen { |
227 | min-width: 50%; | 282 | min-width: 50%; |
228 | } | 283 | } |
... | @@ -231,7 +286,7 @@ export default { | ... | @@ -231,7 +286,7 @@ export default { |
231 | @include flex; | 286 | @include flex; |
232 | width: 100%; | 287 | width: 100%; |
233 | height: 80px; | 288 | height: 80px; |
234 | background-color: #3498DB; | 289 | background-color: #3498db; |
235 | color: #ffffff; | 290 | color: #ffffff; |
236 | justify-content: space-between; | 291 | justify-content: space-between; |
237 | padding-left: 15px; | 292 | padding-left: 15px; |
... | @@ -257,7 +312,6 @@ export default { | ... | @@ -257,7 +312,6 @@ export default { |
257 | border-radius: 5px; | 312 | border-radius: 5px; |
258 | //color: $light-blue ; | 313 | //color: $light-blue ; |
259 | 314 | ||
260 | |||
261 | .svg-icon { | 315 | .svg-icon { |
262 | //color: $light-blue ; | 316 | //color: $light-blue ; |
263 | } | 317 | } |
... | @@ -268,7 +322,7 @@ export default { | ... | @@ -268,7 +322,7 @@ export default { |
268 | .map-drawer-expand { | 322 | .map-drawer-expand { |
269 | width: 20px; | 323 | width: 20px; |
270 | height: 77px; | 324 | height: 77px; |
271 | background: url('../../../image/right.png'); | 325 | background: url("../../../image/right.png"); |
272 | background-size: cover; | 326 | background-size: cover; |
273 | position: absolute; | 327 | position: absolute; |
274 | right: 0%; | 328 | right: 0%; |
... | @@ -280,7 +334,7 @@ export default { | ... | @@ -280,7 +334,7 @@ export default { |
280 | .map-drawer-click { | 334 | .map-drawer-click { |
281 | width: 20px; | 335 | width: 20px; |
282 | height: 77px; | 336 | height: 77px; |
283 | background: url('../../../image/left.png'); | 337 | background: url("../../../image/left.png"); |
284 | background-size: cover; | 338 | background-size: cover; |
285 | position: absolute; | 339 | position: absolute; |
286 | left: 0%; | 340 | left: 0%; |
... | @@ -302,7 +356,7 @@ export default { | ... | @@ -302,7 +356,7 @@ export default { |
302 | @include flex; | 356 | @include flex; |
303 | 357 | ||
304 | .tabsList-left { | 358 | .tabsList-left { |
305 | border-right: 1px solid #EBEEF5; | 359 | border-right: 1px solid #ebeef5; |
306 | position: relative; | 360 | position: relative; |
307 | width: 250px; | 361 | width: 250px; |
308 | box-sizing: border-box; | 362 | box-sizing: border-box; |
... | @@ -311,7 +365,7 @@ export default { | ... | @@ -311,7 +365,7 @@ export default { |
311 | position: relative; | 365 | position: relative; |
312 | 366 | ||
313 | .xian { | 367 | .xian { |
314 | background: #F2F2F2; | 368 | background: #f2f2f2; |
315 | padding: 2px; | 369 | padding: 2px; |
316 | } | 370 | } |
317 | 371 | ||
... | @@ -328,8 +382,8 @@ export default { | ... | @@ -328,8 +382,8 @@ export default { |
328 | } | 382 | } |
329 | 383 | ||
330 | li:hover { | 384 | li:hover { |
331 | color: #0F93F6; | 385 | color: #0f93f6; |
332 | cursor: pointer | 386 | cursor: pointer; |
333 | } | 387 | } |
334 | } | 388 | } |
335 | } | 389 | } |
... | @@ -337,7 +391,7 @@ export default { | ... | @@ -337,7 +391,7 @@ export default { |
337 | .tabsList-right { | 391 | .tabsList-right { |
338 | .fenpin { | 392 | .fenpin { |
339 | min-width: 50%; | 393 | min-width: 50%; |
340 | border-right: 1px solid #EBEEF5; | 394 | border-right: 1px solid #ebeef5; |
341 | } | 395 | } |
342 | 396 | ||
343 | background-color: #ffffff; | 397 | background-color: #ffffff; | ... | ... |
-
Please register or sign in to post a comment