adc177b0 by renchao@pashanhoo.com

style:1

1 parent 8f7d18cc
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-12 10:52:18 4 * @LastEditTime: 2023-09-13 13:55:25
5 --> 5 -->
6 <template> 6 <template>
7 <div class="container"> 7 <div class="container">
...@@ -25,8 +25,7 @@ ...@@ -25,8 +25,7 @@
25 <li 25 <li
26 @click="operation(item)" 26 @click="operation(item)"
27 v-for="(item, index) in rightButtonList" 27 v-for="(item, index) in rightButtonList"
28 :key="index" 28 :key="index">
29 >
30 <svg-icon class="icon" :icon-class="item.icon" /> 29 <svg-icon class="icon" :icon-class="item.icon" />
31 <span class="iconName">{{ item.name }}</span> 30 <span class="iconName">{{ item.name }}</span>
32 </li> 31 </li>
...@@ -34,16 +33,14 @@ ...@@ -34,16 +33,14 @@
34 <NoticeBar 33 <NoticeBar
35 class="NoticeBar" 34 class="NoticeBar"
36 :noticeList="noticeList" 35 :noticeList="noticeList"
37 v-if="noticeList.length > 0" 36 v-if="noticeList.length > 0" />
38 />
39 </div> 37 </div>
40 <!-- 内容框架 --> 38 <!-- 内容框架 -->
41 <div class="containerFrame"> 39 <div class="containerFrame">
42 <!-- 左侧菜单栏 区分业务--> 40 <!-- 左侧菜单栏 区分业务-->
43 <segmentMenu 41 <segmentMenu
44 v-if="['A0320099', 'A0330099'].includes(slsq.djqxbm)" 42 v-if="['A0320099', 'A0330099'].includes(slsq.djqxbm)"
45 @getCurrentSelectProps="getCurrentSelectProps" 43 @getCurrentSelectProps="getCurrentSelectProps" />
46 />
47 <ordinaryMenu v-else @getCurrentSelectProps="getCurrentSelectProps" /> 44 <ordinaryMenu v-else @getCurrentSelectProps="getCurrentSelectProps" />
48 <div class="leftCon"> 45 <div class="leftCon">
49 <!-- 分屏左侧预览 --> 46 <!-- 分屏左侧预览 -->
...@@ -59,27 +56,24 @@ ...@@ -59,27 +56,24 @@
59 <el-tabs 56 <el-tabs
60 v-model="tabName" 57 v-model="tabName"
61 :before-leave="beforeLeave" 58 :before-leave="beforeLeave"
62 @tab-click="handleClick" 59 @tab-click="handleClick">
63 >
64 <el-tab-pane 60 <el-tab-pane
65 :label="item.name" 61 :label="item.name"
66 :name="item.value" 62 :name="item.value"
67 v-for="item in tabList" 63 v-for="item in tabList"
68 :key="item.value" 64 :key="item.value">
69 >
70 </el-tab-pane> 65 </el-tab-pane>
71 </el-tabs> 66 </el-tabs>
72 <div v-show="false"> 67 <div v-show="false">
73 <div v-if="shows"> 68 <div v-if="shows">
74 <receipt :Receiptdata="Receiptdata" id="boxaaa"/> 69 <receipt :Receiptdata="Receiptdata" id="boxaaa" />
75 </div> 70 </div>
76 71
77 </div> 72 </div>
78 <component 73 <component
79 :key="fresh" 74 :key="fresh"
80 :is="componentTag" 75 :is="componentTag"
81 v-bind="currentSelectProps" 76 v-bind="currentSelectProps" />
82 />
83 </div> 77 </div>
84 </div> 78 </div>
85 </div> 79 </div>
...@@ -87,15 +81,13 @@ ...@@ -87,15 +81,13 @@
87 <object 81 <object
88 id="LODOP_OB" 82 id="LODOP_OB"
89 classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" 83 classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA"
90 v-show="false" 84 v-show="false">
91 >
92 <embed 85 <embed
93 id="LODOP_EM" 86 id="LODOP_EM"
94 type="application/x-print-lodop" 87 type="application/x-print-lodop"
95 width="820" 88 width="820"
96 height="450" 89 height="450"
97 pluginspage="install_lodop32.exe" 90 pluginspage="install_lodop32.exe" />
98 />
99 </object> 91 </object>
100 <el-upload 92 <el-upload
101 class="fileUpdate" 93 class="fileUpdate"
...@@ -104,257 +96,252 @@ ...@@ -104,257 +96,252 @@
104 multiple 96 multiple
105 :auto-upload="false" 97 :auto-upload="false"
106 :on-change="handleChange" 98 :on-change="handleChange"
107 :before-upload="beforeUpload" 99 :before-upload="beforeUpload">
108 > 100 <el-button id="cldr" icon="el-icon-upload" type="primary" v-show="false">上传</el-button>
109 <el-button id="cldr" icon="el-icon-upload" type="primary" v-show="false"
110 >上传</el-button
111 >
112 </el-upload> 101 </el-upload>
113 </div> 102 </div>
114 </template> 103 </template>
115 <style scoped lang="scss"> 104 <style scoped lang="scss">
116 @import "~@/styles/mixin.scss"; 105 @import "~@/styles/mixin.scss";
117 @import "./workFrame.scss"; 106 @import "./workFrame.scss";
118 </style> 107 </style>
119 <script> 108 <script>
120 import printJS from 'print-js' 109 import printJS from 'print-js'
121 import WorkFlow from "./mixin/index"; 110 import WorkFlow from "./mixin/index";
122 import publicFlow from "./mixin/public.js"; 111 import publicFlow from "./mixin/public.js";
123 import { getStepFormInfo, unClaimTask, getZdInfo } from "@/api/workFlow.js"; 112 import { getStepFormInfo, unClaimTask, getZdInfo } from "@/api/workFlow.js";
124 import { getForm } from "./flowform"; 113 import { getForm } from "./flowform";
125 import NoticeBar from "@/components/NoticeBar/index"; 114 import NoticeBar from "@/components/NoticeBar/index";
126 // import ProcessViewer from "./components/processViewer.vue" 115 // import ProcessViewer from "./components/processViewer.vue"
127 // 引入左侧菜单 116 // 引入左侧菜单
128 import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue"; 117 import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue";
129 // 引入左侧菜单 118 // 引入左侧菜单
130 import segmentMenu from "./components/leftmenu/segmentMenu.vue"; 119 import segmentMenu from "./components/leftmenu/segmentMenu.vue";
131 // 回执单 120 // 回执单
132 import receipt from "./components/receipt.vue"; 121 import receipt from "./components/receipt.vue";
133 import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue"; 122 import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue";
134 import { BatchInit } from "@/api/workflow/cfdjFlow.js"; 123 import { BatchInit } from "@/api/workflow/cfdjFlow.js";
135 export default { 124 export default {
136 components: { 125 components: {
137 selectBdc, 126 selectBdc,
138 NoticeBar, 127 NoticeBar,
139 ordinaryMenu, 128 ordinaryMenu,
140 segmentMenu, 129 segmentMenu,
141 receipt, 130 receipt,
142 }, 131 },
143 mixins: [WorkFlow, publicFlow], 132 mixins: [WorkFlow, publicFlow],
144 data() { 133 data () {
145 return { 134 return {
146 // printObj: { 135 // printObj: {
147 // id: "box", 136 // id: "box",
148 // preview: true, 137 // preview: true,
149 // }, 138 // },
150 isDialog: false, 139 isDialog: false,
151 //受理申请标识码 140 //受理申请标识码
152 bsmSlsq: this.$route.query.bsmSlsq, 141 bsmSlsq: this.$route.query.bsmSlsq,
153 //当前流程所在环节 142 //当前流程所在环节
154 bestepid: this.$route.query.bestepid, 143 bestepid: this.$route.query.bestepid,
155 //当前流程所在环节 144 //当前流程所在环节
156 zbhj: this.$route.query.zbhj, 145 zbhj: this.$route.query.zbhj,
157 //设置那个表单选中 146 //设置那个表单选中
158 tabName: "", 147 tabName: "",
159 //设置那个表单选择 148 //设置那个表单选择
160 currentSelectTab: {}, 149 currentSelectTab: {},
161 //表单集合 150 //表单集合
162 tabList: [], 151 tabList: [],
163 //选择加载哪一个组件 152 //选择加载哪一个组件
164 componentTag: "", 153 componentTag: "",
165 //设置表单传递数据 154 //设置表单传递数据
166 currentSelectProps: {}, 155 currentSelectProps: {},
167 //材料分屏表单 156 //材料分屏表单
168 clxxForm: "", 157 clxxForm: "",
169 //材料信息选择卡索引 158 //材料信息选择卡索引
170 clxxIndex: "", 159 clxxIndex: "",
171 //材料信息选项卡对象 160 //材料信息选项卡对象
172 clxxTab: {}, 161 clxxTab: {},
173 ableOperation: false, 162 ableOperation: false,
174 //页面监听时间 163 //页面监听时间
175 _beforeUnload_time: "", 164 _beforeUnload_time: "",
176 // 宗地id 165 // 宗地id
177 bsmZd: "", 166 bsmZd: "",
178 Receiptdata: {}, 167 Receiptdata: {},
179 shows:false 168 shows: false
180 }; 169 };
181 }, 170 },
182 mounted() { 171 mounted () {
183 this.$store.dispatch("user/refreshPage", false); 172 this.$store.dispatch("user/refreshPage", false);
184 //添加页面监听事件 173 //添加页面监听事件
185 window.addEventListener("beforeunload", (e) => this.beforeunloadHandler(e)); 174 window.addEventListener("beforeunload", (e) => this.beforeunloadHandler(e));
186 window.addEventListener("unload", (e) => this.unloadHandler(e)); 175 window.addEventListener("unload", (e) => this.unloadHandler(e));
187 }, 176 },
188 destroyed() { 177 destroyed () {
189 window.removeEventListener("beforeunload", (e) => 178 window.removeEventListener("beforeunload", (e) =>
190 this.beforeunloadHandler(e) 179 this.beforeunloadHandler(e)
191 ); 180 );
192 window.removeEventListener("unload", (e) => this.unloadHandler(e)); 181 window.removeEventListener("unload", (e) => this.unloadHandler(e));
193 }, 182 },
194 methods: { 183 methods: {
195 /** 184 /**
196 * @description: openPrint 185 * @description: openPrint
197 * @author:miaofang 186 * @author:miaofang
198 */ 187 */
199 openPrint() { 188 openPrint () {
200 189
201 // 获取打印回执数据 190 // 获取打印回执数据
202 var formdata = new FormData(); 191 var formdata = new FormData();
203 formdata.append("bsmSldy", this.currentSelectProps.bsmSldy); 192 formdata.append("bsmSldy", this.currentSelectProps.bsmSldy);
204 formdata.append("bsmSlsq", this.bsmSlsq); 193 formdata.append("bsmSlsq", this.bsmSlsq);
205 formdata.append("djlx", this.currentSelectProps.djlx); 194 formdata.append("djlx", this.currentSelectProps.djlx);
206 BatchInit(formdata).then((res) => { 195 BatchInit(formdata).then((res) => {
207 if (res.code === 200 && res.result) { 196 if (res.code === 200 && res.result) {
208 this.Receiptdata = res.result 197 this.Receiptdata = res.result
209 this.shows=true 198 this.shows = true
210 setTimeout(() => { 199 setTimeout(() => {
211 this.prinsss() 200 this.prinsss()
212 }, 100) 201 }, 100)
213 202
214 } 203 }
215 }) 204 })
216 205
217 }, 206 },
218 /** 207 /**
219 * @description: prinsss 208 * @description: prinsss
220 * @author: miaofang 209 * @author: miaofang
221 */ 210 */
222 prinsss(){ 211 prinsss () {
223 printJS({ 212 printJS({
224 printable: "boxaaa", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 213 printable: "boxaaa", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象
225 type: "html", 214 type: "html",
226 maxWidth: 800, // 最大宽度 215 maxWidth: 800, // 最大宽度
227 font_size: "", // 不设置则使用默认字体大小 216 font_size: "", // 不设置则使用默认字体大小
228 style: `@font-face { 217 style: `@font-face {
229 font-family: "STZHONGS"; 218 font-family: "STZHONGS";
230 src: url(${window.ttf}) format("truetype"); 219 src: url(${window.ttf}) format("truetype");
231 }`, 220 }`,
232 // 继承原来的所有样式 221 // 继承原来的所有样式
233 targetStyles: ["*"] 222 targetStyles: ["*"]
234 }); 223 });
235 }, 224 },
236 /** 225 /**
237 * @description: getCurrentSelectProps 226 * @description: getCurrentSelectProps
238 * @param {*} val 227 * @param {*} val
239 * @author: renchao 228 * @author: renchao
240 */ 229 */
241 getCurrentSelectProps(val) { 230 getCurrentSelectProps (val) {
242 this.currentSelectProps = val; 231 this.currentSelectProps = val;
243 }, 232 },
244 /** 233 /**
245 * @description: beforeunloadHandler 234 * @description: beforeunloadHandler
246 * @author: renchao 235 * @author: renchao
247 */ 236 */
248 beforeunloadHandler() { 237 beforeunloadHandler () {
249 this._beforeUnload_time = new Date().getTime(); 238 this._beforeUnload_time = new Date().getTime();
250 }, 239 },
251 /** 240 /**
252 * @description: unloadHandler 241 * @description: unloadHandler
253 * @param {*} e 242 * @param {*} e
254 * @author: renchao 243 * @author: renchao
255 */ 244 */
256 unloadHandler(e) { 245 unloadHandler (e) {
257 this._gap_time = new Date().getTime() - this._beforeUnload_time; 246 this._gap_time = new Date().getTime() - this._beforeUnload_time;
258 //判断是窗口关闭还是刷新 247 //判断是窗口关闭还是刷新
259 if (this._gap_time <= 10) { 248 if (this._gap_time <= 10) {
260 //取消认领 249 //取消认领
261 unClaimTask(this.bsmSlsq, this.bestepid); 250 unClaimTask(this.bsmSlsq, this.bestepid);
262 } 251 }
263 }, 252 },
264 /** 253 /**
265 * @description: 申请单元点击事件 254 * @description: 申请单元点击事件
266 * @param {*} index 255 * @param {*} index
267 * @author: renchao 256 * @author: renchao
268 */ 257 */
269 stepForm(index) { 258 stepForm (index) {
270 getStepFormInfo(this.currentSelectProps).then((res) => { 259 getStepFormInfo(this.currentSelectProps).then((res) => {
271 if (res.code === 200) { 260 if (res.code === 200) {
272 // this.fresh++; 261 // this.fresh++;
273 //获取单元对应的所有表单信息 262 //获取单元对应的所有表单信息
274 this.tabList = res.result; 263 this.tabList = res.result;
275 //默认加载第一个表单信息 264 //默认加载第一个表单信息
276 let arr = res.result.filter((item) => item.defaultForm); 265 let arr = res.result.filter((item) => item.defaultForm);
277 if (arr.length > 0) { 266 if (arr.length > 0) {
278 this.tabName = arr[0].value; 267 this.tabName = arr[0].value;
279 } else { 268 } else {
280 this.tabName = res.result[0].value; 269 this.tabName = res.result[0].value;
281 } 270 }
282 this.ableOperation = this.tabList[0].ableOperation; 271 this.ableOperation = this.tabList[0].ableOperation;
283 //批量操作无分屏按钮 272 //批量操作无分屏按钮
284 if (index != null) { 273 if (index != null) {
285 //处理分屏材料信息 274 //处理分屏材料信息
286 let that = this; 275 let that = this;
287 276
288 this.tabList.forEach(function (item, index) { 277 this.tabList.forEach(function (item, index) {
289 if (item.value == "clxx") { 278 if (item.value == "clxx") {
290 that.clxxIndex = index; 279 that.clxxIndex = index;
291 that.clxxForm = getForm(item.value, that.$route.query.sqywbm); 280 that.clxxForm = getForm(item.value, that.$route.query.sqywbm);
292 that.clxxTab = item; 281 that.clxxTab = item;
293 } 282 }
294 }); 283 });
284 }
295 } 285 }
296 } 286 });
297 }); 287 },
298 },
299 288
300 /** 289 /**
301 * @description: openDialog 290 * @description: openDialog
302 * @author: renchao 291 * @author: renchao
303 */ 292 */
304 openDialog() { 293 openDialog () {
305 this.$store.dispatch("user/refreshPage", false); 294 this.$store.dispatch("user/refreshPage", false);
306 let data = JSON.parse(localStorage.getItem("ywbl")); 295 let data = JSON.parse(localStorage.getItem("ywbl"));
307 let title; 296 let title;
308 if (data?.sqywmc) { 297 if (data?.sqywmc) {
309 title = "申请业务:" + data?.sqywmc; 298 title = "申请业务:" + data?.sqywmc;
310 } else { 299 } else {
311 title = "申请业务:" + data?.djywmc; 300 title = "申请业务:" + data?.djywmc;
312 } 301 }
313 302
314 this.$popupDialog( 303 this.$popupDialog(
315 title, 304 title,
316 "ywbl/ywsq/selectBdc", 305 "ywbl/ywsq/selectBdc",
317 { djywbm: this.$route.query.sqywbm, isJump: true, sqywInfo: data }, 306 { djywbm: this.$route.query.sqywbm, isJump: true, sqywInfo: data },
318 "80%", 307 "80%",
319 true 308 true
320 ); 309 );
321 }, 310 },
322 //选项卡切换事件 311 /**
323 /** 312 * @description: 右侧表单选项卡事件
324 * @description: 右侧表单选项卡事件 313 * @param {*} handleClick
325 * @param {*} handleClick 314 * @author: renchao
326 * @author: renchao 315 */
327 */ 316 handleClick (a) {
328 handleClick(a) { 317 let p = Object.keys(this.tabList[0]).filter(
329 let p = Object.keys(this.tabList[0]).filter( 318 (item) => item == "ableOperation"
330 (item) => item == "ableOperation" 319 );
331 ); 320 if (p) {
332 if (p) { 321 this.ableOperation = this.tabList[a.index].ableOperation;
333 this.ableOperation = this.tabList[a.index].ableOperation; 322 }
334 } 323 }
335 }, 324 }
336 }, 325 }
337 };
338 </script> 326 </script>
339 <style scoped lang="scss"> 327 <style scoped lang="scss">
340 @page { 328 @page {
341 size: auto; 329 size: auto;
342 margin: 0mm; 330 margin: 0mm;
343 } 331 }
344 .rightContainer { 332 .rightContainer {
345 position: relative; 333 position: relative;
346 }
347
348 .count {
349 font-size: 14px;
350 position: absolute;
351 right: 25px;
352 top: 12px;
353 height: 30px;
354 span {
355 font-weight: 600;
356 color: #3498db;
357 } 334 }
358 335
359 } 336 .count {
337 font-size: 14px;
338 position: absolute;
339 right: 25px;
340 top: 12px;
341 height: 30px;
342 span {
343 font-weight: 600;
344 color: #3498db;
345 }
346 }
360 </style> 347 </style>
......