2219f048 by 任超

style:业务办理

1 parent 52f17473
......@@ -31,6 +31,14 @@ export const constantRoutes = [
hidden: true,
meta: { title: '发起申请' }
},
// 业务流程框架
{
path: '/workFramecs',
component: () => import('@/views/workflow/workFrame1.vue'),
name: 'workFramecs',
hidden: true,
meta: { title: '发起申请1' }
},
// 业务流程只读框架
{
path: '/workFrameView',
......
//流程环节操作按钮
export function getForm(tabName, djywbm) {
console.log("88888888" + tabName);
export function getForm (tabName, djywbm) {
let form;
switch (tabName) {
case "jsydsyqslxx100":
......
......@@ -8,7 +8,7 @@ class data extends filter {
constructor() {
super()
}
columns() {
columns () {
return {
//发证列表
fzgrid: [
......@@ -20,13 +20,6 @@ class data extends filter {
{
prop: "bdcqzlx",
label: "不动产权证类型",
// render: (h, scope) => {
// if (scope.row.bdcqzlx == "1") {
// return (<div>不动产权证书</div>)
// } else {
// return (<div>不动产登记证明</div>)
// }
// }
},
{
prop: "qllx",
......@@ -82,13 +75,6 @@ class data extends filter {
prop: "bdcqzlx",
label: "不动产权证类型",
width: '120',
// render: (h, scope) => {
// if (scope.row.bdcqzlx == "1") {
// return (<div>不动产权证书</div>)
// } else {
// return (<div>不动产登记证明</div>)
// }
// }
},
{
prop: "qllx",
......
......@@ -4,14 +4,14 @@
<div class="topButton">
<!-- 左侧业务功能按钮 -->
<ul>
<li @click="operation(index, item)" v-for="(item, index) in leftButtonList" :key="index">
<li @click="operation(item)" v-for="(item, index) in leftButtonList" :key="index">
<svg-icon class="icon" :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
</ul>
<!-- 右侧流程按钮 -->
<ul>
<li @click="operation(index, item)" v-for="(item, index) in rightButtonList" :key="index">
<li @click="operation(item)" v-for="(item, index) in rightButtonList" :key="index">
<svg-icon class="icon" :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
......@@ -231,24 +231,11 @@ export default {
if (res.code === 200) {
this.leftButtonList = res.result.button;
this.rightButtonList = res.result.operation;
//this.tabList = res.result.form;
//默认选择第一个选项卡内容
// this.tabName = res.result.form[0].value;
// let that = this;
// this.tabList.forEach(function (item, index) {
// if (item.value == "clxx") {
// that.clxxIndex = index;
// that.clxxForm = getForm(item.value, that.$route.query.sqywbm);
// that.clxxTab = item;
// }
// });
// //默认加载第一个选项卡的组件内容
// this.getFromRouter(res.result.form[0].value);
}
});
},
//流程环节操作按钮
operation (index, item) {
operation (item) {
//按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿
//操作按钮 登簿:record 转件:transfer 退回:back 退出:signout
let that = this;
......@@ -350,9 +337,9 @@ export default {
bestepid: this.bestepid,
}).then((res) => {
if (res.code === 200) {
if(res.result){
if (res.result) {
this.sendToNext(res.result);
}else{
} else {
this.sendToEnd();
}
}
......@@ -484,12 +471,6 @@ export default {
},
//表单选项卡事件
beforeLeave (activeName, oldActiveName) {
// if (!_.isEqual(this.oldDetail, this.newDetail)) {
// this.$message.error('界面内容有所变化,请先保存')
// return false
// } else {
// if (activeName && activeName != 0) this.getFromRouter(activeName)
// }
if (activeName && activeName != 0) this.getFromRouter(activeName)
},
//切换选项卡内容组件
......@@ -545,7 +526,7 @@ export default {
});
});
},
sendToEnd() {
sendToEnd () {
const h = this.$createElement;
this.$msgbox({
title: "您确定转出吗?",
......
<template>
<div class="container">
<!-- 顶部内容框 -->
<div class="topButton">
<!-- 左侧业务功能按钮 -->
<ul>
<li @click="operation(item)" v-for="(item, index) in leftButtonList" :key="index">
<svg-icon class="icon" :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
</ul>
<!-- 右侧流程按钮 -->
<ul>
<li @click="operation(item)" v-for="(item, index) in rightButtonList" :key="index">
<svg-icon class="icon" :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
</ul>
<NoticeBar class="NoticeBar" :noticeList="noticeList" />
</div>
<!-- 内容框架 -->
<div class="containerFrame">
<!-- 左侧菜单栏 -->
<div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
<div class="title" @click="unitClick(-1)">{{ batchButtonName }}</div>
<div v-if="this.isShowdrawer">
<div class="title">
申请单元列表({{ unitData.length }})
<el-button type="text" class="batchDel" @click="handleBatchDel" v-if="unitData.length > 1">批量删除</el-button>
</div>
<el-menu :default-active="activeIndex" @select="unitClick">
<el-menu-item v-for="(item, index) in unitData" :index="index.toString()" :key="index">
<div>
<p>{{ item.bdcdyh }}</p>
<p class="title-detail">{{ item.zl }}</p>
</div>
<i class="el-icon-delete" v-if="unitData.length > 1" @click.stop="handleDel(item)"></i>
</el-menu-item>
</el-menu>
</div>
<div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click="
() => {
this.isShowdrawer = !this.isShowdrawer;
}
"></div>
<div class="map-drawer-expand map-drawer" v-else @click="
() => {
this.isShowdrawer = !this.isShowdrawer;
}
"></div>
</div>
<div class="leftCon">
<!-- 分屏左侧预览 -->
<div v-if="splitScreen" class="splitScreen-con">
<component :is="clxxForm" v-bind="currentSelectProps" :key="fresh" />
</div>
<!-- 表单内容区域 -->
<div class="rightContainer">
<el-tabs v-model="tabName" :before-leave="beforeLeave">
<el-tab-pane :label="item.name" :name="item.value" v-for="item in tabList" :key="item.value">
</el-tab-pane>
</el-tabs>
<component :key="fresh" :is="componentTag" v-bind="currentSelectProps" />
</div>
</div>
</div>
<fqsqDialog v-model="isDialog" :djywbm="$route.query.sqywbm" :isJump="true" @updateDialog="updateDialog" />
</div>
</template>
<style scoped lang='scss'>
@import "~@/styles/mixin.scss";
@import "./workFrame.scss";
</style>
<script>
import { mapGetters } from "vuex"
import WorkFlow from "./mixin/index"
import { getStepFormInfo } from "@/api/fqsq.js";
import NoticeBar from '@/components/NoticeBar/index'
import { deleteFlow, unClaimTask } from "@/api/ywbl.js";
import ProcessViewer from './components/processViewer.vue'
import { getForm } from "./flowform.js";
import fqsqDialog from "@/views/ywbl/ywsq/slectBdc.vue";
export default {
components: {
fqsqDialog,
NoticeBar,
ProcessViewer
},
mixins: [WorkFlow],
data () {
return {
noticeList: [],
isDialog: false,
// 流程图
// 折叠
isShowdrawer: true,
// 默认选中
activeIndex: "0",
//受理申请标识码
bsmSlsq: this.$route.query.bsmSlsq,
//当前流程所在环节
bestepid: this.$route.query.bestepid,
//设置那个表单选中
tabName: "",
//表单集合
tabList: [],
//选择加载哪一个组件
componentTag: "",
//设置表单传递数据
currentSelectProps: {},
//材料分屏表单
clxxForm: "",
//材料信息选择卡索引
clxxIndex: "",
//材料信息选项卡对象
clxxTab: {},
//页面监听时间
_beforeUnload_time: ""
}
},
mounted () {
//添加页面监听事件
window.addEventListener('beforeunload', e => this.beforeunloadHandler(e))
window.addEventListener('unload', e => this.unloadHandler(e))
},
destroyed () {
window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e))
window.removeEventListener('unload', e => this.unloadHandler(e))
},
computed: {
...mapGetters(["oldDetail", "newDetail"])
},
methods: {
beforeunloadHandler () {
this._beforeUnload_time = new Date().getTime()
},
unloadHandler (e) {
thsi.$alert("234234");
this._gap_time = new Date().getTime() - this._beforeUnload_time
//判断是窗口关闭还是刷新
if (this._gap_time <= 10) {
//取消认领
unClaimTask(this.bsmSlsq, this.bestepid)
}
},
changeLoadIndex () {
this.loadIndex++
},
closeDialog () {
this.myValue = false
},
// 更新列表
updateDialog () {
this.loadBdcdylist();
},
// 删除左侧列表
handleDel (item) {
this.$confirm("确定要删除吗, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
var formdata = new FormData();
formdata.append("bsmSldyList", item.bsmSldy.split(","));
formdata.append("bsmSlsq", this.bsmSlsq);
deleteFlow(formdata).then((res) => {
if (res.code == 200) {
this.$message.success("删除成功");
this.loadBdcdylist();
} else {
this.$message.error(res.message);
}
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
handleBatchDel () {
let that = this;
this.$popup({
title: "批量删除",
width: "50%",
btnShow: true,
editItem: "workflow/components/batchDel",
height: "600px",
formData: {
bsmSlsq: this.bsmSlsq,
dataList: this.unitData,
},
cancel: function () { }, //取消事件的回调
confirm: function () {
that.loadBdcdylist();
}, //确认事件的回调
});
},
//申请单元点击事件
unitClick (index) {
if (index >= 0) {
this.currentSelectProps = this.unitData[index];
this.currentSelectProps.batchOperation = false;
} else {
this.currentSelectProps.batchOperation = true;
}
getStepFormInfo(this.currentSelectProps).then((res) => {
if (res.code === 200) {
this.fresh += 1;
//获取单元对应的所有表单信息
this.tabList = res.result;
//默认加载第一个表单信息
this.tabName = res.result[0].value;
//处理分屏材料信息
let that = this;
this.tabList.forEach(function (item, index) {
if (item.value == "clxx") {
that.clxxIndex = index;
that.clxxForm = getForm(item.value, that.$route.query.sqywbm);
that.clxxTab = item;
}
})
}
})
},
//表单选项卡事件
beforeLeave (activeName, oldActiveName) {
if (activeName && activeName != 0) this.getFromRouter(activeName)
},
//切换选项卡内容组件
getFromRouter (tabname) {
this.componentTag = getForm(tabname, this.$route.query.sqywbm);
}
}
}
</script>
......@@ -170,6 +170,7 @@ export default {
},
ywhClick (item) {
const { href } = this.$router.resolve('/workFrame?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&sqywbm=' + item.djywbm);
// const { href } = this.$router.resolve('/workFramecs?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&sqywbm=' + item.djywbm);
window.open(href, '_blank');
//从待办箱进入的调取任务领取接口
claimTask(item.bsmSlsq, item.bestepid)
......