已办箱进入逻辑
Showing
4 changed files
with
286 additions
and
2 deletions
| ... | @@ -34,7 +34,7 @@ export const constantRoutes = [ | ... | @@ -34,7 +34,7 @@ export const constantRoutes = [ |
| 34 | hidden: true, | 34 | hidden: true, |
| 35 | meta: { title: '发起申请' } | 35 | meta: { title: '发起申请' } |
| 36 | }, | 36 | }, |
| 37 | // 业务流程框架 | 37 | // 登记簿补录 |
| 38 | { | 38 | { |
| 39 | path: '/djbworkFrame', | 39 | path: '/djbworkFrame', |
| 40 | component: () => import('@/views/djbworkflow/workFrame.vue'), | 40 | component: () => import('@/views/djbworkflow/workFrame.vue'), |
| ... | @@ -42,6 +42,14 @@ export const constantRoutes = [ | ... | @@ -42,6 +42,14 @@ export const constantRoutes = [ |
| 42 | hidden: true, | 42 | hidden: true, |
| 43 | meta: { title: '登记簿补录' } | 43 | meta: { title: '登记簿补录' } |
| 44 | }, | 44 | }, |
| 45 | // 登记簿补录只读框架 | ||
| 46 | { | ||
| 47 | path: '/djbworkFrameView', | ||
| 48 | component: () => import('@/views/djbworkflow/workFrameView.vue'), | ||
| 49 | name: 'djbworkFrameView', | ||
| 50 | hidden: true, | ||
| 51 | meta: { title: '登记簿补录' } | ||
| 52 | }, | ||
| 45 | //登记簿详情 | 53 | //登记簿详情 |
| 46 | { | 54 | { |
| 47 | path: '/djbFrameall', | 55 | path: '/djbFrameall', | ... | ... |
| ... | @@ -43,8 +43,12 @@ export default { | ... | @@ -43,8 +43,12 @@ export default { |
| 43 | //加载流程初始参数 | 43 | //加载流程初始参数 |
| 44 | flowInitParam () { | 44 | flowInitParam () { |
| 45 | var formdata = new FormData(); | 45 | var formdata = new FormData(); |
| 46 | |||
| 46 | formdata.append("bsmSlsq", this.bsmSlsq); | 47 | formdata.append("bsmSlsq", this.bsmSlsq); |
| 47 | formdata.append("bestepid", this.bestepid); | 48 | formdata.append("bestepid", this.bestepid); |
| 49 | if (this.type) { | ||
| 50 | formdata.append("type", "READ_ONLY"); | ||
| 51 | } | ||
| 48 | stepExpandInfo(formdata).then((res) => { | 52 | stepExpandInfo(formdata).then((res) => { |
| 49 | if (res.code === 200) { | 53 | if (res.code === 200) { |
| 50 | this.leftButtonList = res.result.button; | 54 | this.leftButtonList = res.result.button; | ... | ... |
src/views/djbworkflow/workFrameView.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-24 15:31:00 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="container"> | ||
| 8 | <!-- 顶部内容框 --> | ||
| 9 | <div class="topButton"> | ||
| 10 | <!-- 左侧业务功能按钮 --> | ||
| 11 | <ul> | ||
| 12 | <li | ||
| 13 | @click="operation(item)" | ||
| 14 | v-for="(item, index) in leftButtonList" | ||
| 15 | :key="index" | ||
| 16 | > | ||
| 17 | <svg-icon class="icon" :icon-class="item.icon" /> | ||
| 18 | <span class="iconName">{{ item.name }}</span> | ||
| 19 | </li> | ||
| 20 | </ul> | ||
| 21 | <ul> | ||
| 22 | <li | ||
| 23 | @click="operation(item)" | ||
| 24 | v-for="(item, index) in rightButtonList" | ||
| 25 | :key="index" | ||
| 26 | > | ||
| 27 | <svg-icon class="icon" :icon-class="item.icon" /> | ||
| 28 | <span class="iconName">{{ item.name }}</span> | ||
| 29 | </li> | ||
| 30 | </ul> | ||
| 31 | <!-- <NoticeBar | ||
| 32 | class="NoticeBar" | ||
| 33 | :noticeList="noticeList" | ||
| 34 | v-if="noticeList.length > 0" | ||
| 35 | /> --> | ||
| 36 | </div> | ||
| 37 | <!-- 内容框架 --> | ||
| 38 | <div class="containerFrame"> | ||
| 39 | <!-- 左侧菜单栏 区分业务--> | ||
| 40 | <ordinaryMenu ref="Menu" @getCurrentSelectProps="getCurrentSelectProps" /> | ||
| 41 | <div class="leftCon"> | ||
| 42 | <!-- 分屏左侧预览 --> | ||
| 43 | <div v-if="splitScreen" class="splitScreen-con"> | ||
| 44 | <component :is="clxxForm" v-bind="currentSelectProps" :key="fresh" /> | ||
| 45 | </div> | ||
| 46 | <!-- 表单内容区域 --> | ||
| 47 | <div class="rightContainer"> | ||
| 48 | <el-tabs v-model="tabName" :before-leave="beforeLeave"> | ||
| 49 | <el-tab-pane | ||
| 50 | :label="item.name" | ||
| 51 | :name="item.value" | ||
| 52 | v-for="item in tabList" | ||
| 53 | :key="item.value" | ||
| 54 | > | ||
| 55 | </el-tab-pane> | ||
| 56 | </el-tabs> | ||
| 57 | <component | ||
| 58 | :key="fresh" | ||
| 59 | :is="componentTag" | ||
| 60 | v-bind="currentSelectProps" | ||
| 61 | /> | ||
| 62 | </div> | ||
| 63 | </div> | ||
| 64 | </div> | ||
| 65 | <!-- 新增补录信息勾选权利类型 --> | ||
| 66 | <qllxDailog ref="qllxlist" /> | ||
| 67 | </div> | ||
| 68 | </template> | ||
| 69 | <style scoped lang="scss"> | ||
| 70 | @import "~@/styles/mixin.scss"; | ||
| 71 | @import "./workFrame.scss"; | ||
| 72 | </style> | ||
| 73 | <script> | ||
| 74 | import WorkFlow from "./mixin/index"; | ||
| 75 | import { getForm } from "./flowform"; | ||
| 76 | import { getStepFormInfo } from "@/api/fqsq.js"; | ||
| 77 | import NoticeBar from "@/components/NoticeBar/index"; | ||
| 78 | import ProcessViewer from "./components/processViewer.vue"; | ||
| 79 | // 引入左侧菜单 | ||
| 80 | import { leftMenubl } from "@/api/djbbl.js"; | ||
| 81 | import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue"; | ||
| 82 | import qllxDailog from "./djbBook/components/qllxDailog"; | ||
| 83 | import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue"; | ||
| 84 | import { loadTreeData, getNode } from "./components/leftmenu/djbFrameData.js"; | ||
| 85 | // 登记簿数据信息 | ||
| 86 | import { addRepairRecord } from "@/api/djbbl.js"; | ||
| 87 | // 获取权利类型数组 | ||
| 88 | import { getQllxByBdcdyid } from "@/api/djbbl.js"; | ||
| 89 | |||
| 90 | import { getBdcqljqtsx } from "@/api/registerBook.js"; | ||
| 91 | export default { | ||
| 92 | components: { | ||
| 93 | selectBdc, | ||
| 94 | NoticeBar, | ||
| 95 | ProcessViewer, | ||
| 96 | ordinaryMenu, | ||
| 97 | qllxDailog, | ||
| 98 | }, | ||
| 99 | mixins: [WorkFlow], | ||
| 100 | data() { | ||
| 101 | return { | ||
| 102 | bsmSlsq: this.$route.query.bsmSlsq, | ||
| 103 | //当前流程所在环节 | ||
| 104 | bestepid: this.$route.query.bestepid, | ||
| 105 | //受理申请标识码 | ||
| 106 | bdcdyid: this.$route.query.bdcdyid, | ||
| 107 | //当前流程所在环节 | ||
| 108 | bdcdyh: this.$route.query.bdcdyh, | ||
| 109 | qllx: this.$route.query.qllx, | ||
| 110 | //设置那个表单选中 | ||
| 111 | tabName: "", | ||
| 112 | // 弹框显示 | ||
| 113 | dialogVisible: true, | ||
| 114 | //表单集合 | ||
| 115 | tabList: [], | ||
| 116 | type: "READ_ONLY", | ||
| 117 | //选择加载哪一个组件 | ||
| 118 | componentTag: "", | ||
| 119 | //设置表单传递数据 | ||
| 120 | currentSelectProps: {}, | ||
| 121 | // 首次拿到的业务信息 | ||
| 122 | oneSelectProps: {}, | ||
| 123 | //材料信息选择卡索引 | ||
| 124 | oneget: true, | ||
| 125 | //页面监听时间 | ||
| 126 | _beforeUnload_time: "", | ||
| 127 | treedata: {}, | ||
| 128 | tabdata: [], | ||
| 129 | defaultNode: {}, | ||
| 130 | }; | ||
| 131 | }, | ||
| 132 | mounted() { | ||
| 133 | // this.getleftMenubl() | ||
| 134 | }, | ||
| 135 | |||
| 136 | methods: { | ||
| 137 | stepForm(qllx) { | ||
| 138 | this.oneSelectProps.qllx = qllx; | ||
| 139 | if (this.$refs.Menu.supplementarylist.length) { | ||
| 140 | this.oneSelectProps.type = this.type | ||
| 141 | getStepFormInfo(this.oneSelectProps).then((res) => { | ||
| 142 | this.$nextTick(function () { | ||
| 143 | this.tabList = res.result; | ||
| 144 | this.tabName = this.tabList[0].value; | ||
| 145 | this.getFromRouter(this.tabName); | ||
| 146 | }); | ||
| 147 | }); | ||
| 148 | } | ||
| 149 | }, | ||
| 150 | // 获取右侧菜单 | ||
| 151 | // getleftMenubl() { | ||
| 152 | // leftMenubl(this.bsmSlsq).then((res) => { | ||
| 153 | // this.supplementarylist = res.result; | ||
| 154 | // }) | ||
| 155 | // }, | ||
| 156 | getQllxByBdcdyid() { | ||
| 157 | if (this.currentSelectProps.bdcdyid) { | ||
| 158 | getQllxByBdcdyid({ bdcdyid: this.currentSelectProps.bdcdyid }).then( | ||
| 159 | (res) => { | ||
| 160 | if (res.code === 200) { | ||
| 161 | this.$refs.qllxlist.qllxlistdata = res.result; | ||
| 162 | this.$refs.qllxlist.dialogVisible = true; | ||
| 163 | } | ||
| 164 | } | ||
| 165 | ); | ||
| 166 | } | ||
| 167 | }, | ||
| 168 | // 获取右侧选项卡 | ||
| 169 | getCurrentSelectProps(val) { | ||
| 170 | if (val.bdcdyid) { | ||
| 171 | this.oneSelectProps = val; | ||
| 172 | } | ||
| 173 | this.currentSelectProps = val; | ||
| 174 | if (this.currentSelectProps.bsmRepair) { | ||
| 175 | this.stepForm(this.currentSelectProps.qllx); | ||
| 176 | } else if (!this.oneget) { | ||
| 177 | this.getdjblist(); | ||
| 178 | } | ||
| 179 | if (this.oneget) { | ||
| 180 | this.oneget = false; | ||
| 181 | this.stepForm(this.currentSelectProps.qllx); | ||
| 182 | } | ||
| 183 | }, | ||
| 184 | // 获取渲染登记簿列表 | ||
| 185 | getdjblist() { | ||
| 186 | getBdcqljqtsx({ | ||
| 187 | bdcdyid: this.currentSelectProps.bdcdyid, | ||
| 188 | bdcdyh: this.currentSelectProps.bdcdyh, | ||
| 189 | }).then((res) => { | ||
| 190 | if (res.code === 200) { | ||
| 191 | this.treedata = loadTreeData(res.result, this.bdcdyh); | ||
| 192 | this.$nextTick(function () { | ||
| 193 | this.defaultNode = getNode(this.currentSelectProps.qllx, { | ||
| 194 | linShi: 0, | ||
| 195 | xianShi: 0, | ||
| 196 | liShi: 0, | ||
| 197 | }); | ||
| 198 | this.tabName = this.defaultNode.id; //data[0].id为默认选中的节点 | ||
| 199 | }); | ||
| 200 | let settree = JSON.parse(JSON.stringify(this.treedata)); | ||
| 201 | this.tabdata = [ | ||
| 202 | ...settree, | ||
| 203 | ...settree[1].children[0].children[0].children, | ||
| 204 | ]; | ||
| 205 | this.tabdata.forEach((item, index, arr) => { | ||
| 206 | arr[index].name = item.label; | ||
| 207 | arr[index].value = item.id; | ||
| 208 | }); | ||
| 209 | this.tabList = this.tabdata; | ||
| 210 | } | ||
| 211 | }); | ||
| 212 | }, | ||
| 213 | //右侧表单选项卡事件 | ||
| 214 | beforeLeave(activeName) { | ||
| 215 | if (activeName && activeName != 0) this.getFromRouter(activeName); | ||
| 216 | }, | ||
| 217 | //切换选项卡内容组件 | ||
| 218 | getFromRouter(tabname) { | ||
| 219 | console.log("tabnameeeeeeeeeeeeeeeeee", tabname,this.tabList); | ||
| 220 | this.componentTag = getForm(tabname); | ||
| 221 | }, | ||
| 222 | closefp() { | ||
| 223 | console.log("点击分屏"); | ||
| 224 | this.splitScreen = this.splitScreen ? false : true; | ||
| 225 | this.$store.dispatch("app/set1tScreen", this.splitScreen); | ||
| 226 | this.getFromRouter(this.tabList[0].value); | ||
| 227 | this.clxxForm = getForm(this.tabList[1].value); | ||
| 228 | }, | ||
| 229 | // 增加补录记录 | ||
| 230 | addRepairRecord(row, del) { | ||
| 231 | let from = { | ||
| 232 | bsmQlxx: "", | ||
| 233 | bsmSlsq: this.bsmSlsq, | ||
| 234 | bsmSldy: this.currentSelectProps.bsmSldy, | ||
| 235 | operate: "C", | ||
| 236 | qllx: "", | ||
| 237 | }; | ||
| 238 | if (row) { | ||
| 239 | from.bsmQlxx = row.bsmQlxx; | ||
| 240 | if (del) { | ||
| 241 | from.operate = del; | ||
| 242 | } else { | ||
| 243 | from.operate = row.bsmQlxx ? "U" : "C"; | ||
| 244 | } | ||
| 245 | from.qllx = row.qllx; | ||
| 246 | } | ||
| 247 | addRepairRecord(from) | ||
| 248 | .then((res) => { | ||
| 249 | if (res.code == "200") { | ||
| 250 | this.$refs.qllxlist.dialogVisible = false; | ||
| 251 | this.$nextTick(() => { | ||
| 252 | this.$refs.Menu.getleftMenubl(res.result); | ||
| 253 | this.$message({ | ||
| 254 | type: "success", | ||
| 255 | message: "补录成功!", | ||
| 256 | }); | ||
| 257 | }); | ||
| 258 | } else { | ||
| 259 | this.$alert(res.message, "提示", { | ||
| 260 | confirmButtonText: "确定", | ||
| 261 | type: "warning", | ||
| 262 | }); | ||
| 263 | } | ||
| 264 | }) | ||
| 265 | .catch((res) => { | ||
| 266 | console.log("错", res); | ||
| 267 | }); | ||
| 268 | }, | ||
| 269 | }, | ||
| 270 | }; | ||
| 271 | </script> | ||
| 272 | <style scoped lang="scss"></style> |
| ... | @@ -195,7 +195,7 @@ | ... | @@ -195,7 +195,7 @@ |
| 195 | //有任务权限 | 195 | //有任务权限 |
| 196 | if(item.sjlx=="3"){ | 196 | if(item.sjlx=="3"){ |
| 197 | const { href } = this.$router.resolve( | 197 | const { href } = this.$router.resolve( |
| 198 | "/djbworkFrame?bsmSlsq=" + | 198 | "/djbworkFrameview?bsmSlsq=" + |
| 199 | item.bsmSlsq + | 199 | item.bsmSlsq + |
| 200 | "&bestepid=" + | 200 | "&bestepid=" + |
| 201 | item.bestepid + | 201 | item.bestepid + | ... | ... |
-
Please register or sign in to post a comment