f65c5624 by renchao@pashanhoo.com

style:发起申请模块功能的开发

1 parent 7c4cff70
<!--
* @Description: workFrame左侧菜单列表-普通
* @Autor: renchao
* @LastEditTime: 2023-05-18 14:39:07
-->
<template>
<div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
<el-menu :default-active="activeIndex" @select="batchUnitClick" class="title-batch" v-if="showBatch">
<el-menu-item index="-1" key="-1" class="menus">
<div>{{ batchButtonName }}</div>
</el-menu-item>
</el-menu>
<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>
</template>
<script>
import { leftMenu } from "@/api/fqsq.js"
import { deleteFlow } from "@/api/ywbl.js";
export default {
data () {
return {
//受理申请标识码
bsmSlsq: this.$route.query.bsmSlsq,
//当前流程所在环节
bestepid: this.$route.query.bestepid,
// 默认选中
activeIndex: '0',
// 折叠
isShowdrawer: true,
// 批量操作
showBatch: false,
//批量操作按钮名称
batchButtonName: '',
//左侧菜单数据集合
unitData: [],
// 设置表单传递数据
currentSelectProps: {}
}
},
mounted () {
this.loadBdcdylist();
},
methods: {
//读取申请单元信息
loadBdcdylist () {
var formdata = new FormData();
formdata.append("bsmSlsq", this.bsmSlsq);
formdata.append("bestepid", this.bestepid);
leftMenu(formdata).then((res) => {
if (res.code === 200 && res.result) {
this.unitData = res.result;
this.currentSelectProps = res.result[0];
this.$emit('getCurrentSelectProps', this.currentSelectProps);
this.judgeBatchShow();
if (this.showBatch) {
//满足批量查封/批量抵押按钮出现 即先展示批量表单
this.batchUnitClick();
} else {
//默认选择单元列表第一个
this.unitClick(0);
}
}
})
},
//批量按钮判断
judgeBatchShow () {
this.showBatch = false;
if (this.unitData.length > 1) {
let qllx = this.$route.query.sqywbm.substring(0, 3);
switch (qllx) {
case 'B39':
this.showBatch = true;
this.batchButtonName = '批量查封清单信息';
break;
case 'A37':
this.showBatch = true;
this.batchButtonName = '批量抵押';
break;
default:
this.batchButtonName = '批量操作';
}
}
},
/**
* @description: 删除左侧列表
* @param {*} item
* @author: renchao
*/
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.$parent.updateDialog();
} else {
this.$message.error(res.message);
}
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
//批量按钮点击事件
batchUnitClick () {
this.currentSelectProps.batchOperation = true;
this.activeIndex = "-1";
this.$parent.stepForm();
},
//批量操作
handleBatchDel () {
this.$popupDialog("批量删除", "workflow/components/batchDel", {
bsmSlsq: this.bsmSlsq,
dataList: this.unitData,
}, '50%', true)
},
//申请单元点击事件
unitClick (index) {
this.currentSelectProps = this.unitData[index];
this.currentSelectProps.batchOperation = false;
this.activeIndex = index.toString();
this.$parent.stepForm(index);
}
}
}
</script>
<style scoped lang='scss'>
@import "~@/styles/mixin.scss";
@import "../../workFrame.scss";
</style>
\ No newline at end of file
<!--
* @Description: workFrame左侧菜单列表-分割
* @Autor: renchao
* @LastEditTime: 2023-05-18 16:32:02
-->
<template>
<div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
<el-menu :default-active="activeIndex" @select="batchUnitClick" class="title-batch" v-if="showBatch">
<el-menu-item index="-1" key="-1" class="menus">
<div>{{ batchButtonName }}</div>
</el-menu-item>
</el-menu>
<div v-if="this.isShowdrawer">
<!-- 变更前单元 -->
<div class="title">
<b>变更前单元</b>/申请单元列表({{ aroundUnitData.length }})
</div>
<el-menu :default-active="activeIndex" @select="unitClick">
<el-menu-item v-for="(item, index) in aroundUnitData" :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="aroundUnitData.length > 1" @click.stop="handleDel(item)"></i>
</el-menu-item>
</el-menu>
<!-- 变更后单元 -->
<div class="title">
<b>变更后单元</b>/申请单元列表({{ afterUnitData.length }})
</div>
<el-menu :default-active="activeHIndex" @select="handleAfterunitClick">
<el-menu-item v-for="(item, index) in afterUnitData" :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="afterUnitData.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>
</template>
<script>
import { leftMenu } from "@/api/fqsq.js"
import { deleteFlow } from "@/api/ywbl.js";
export default {
data () {
return {
//受理申请标识码
bsmSlsq: this.$route.query.bsmSlsq,
//当前流程所在环节
bestepid: this.$route.query.bestepid,
// 变更前单元默认选中
activeIndex: '0',
// 变更后单元默认选中
activeHIndex: '-1',
// 折叠
isShowdrawer: true,
// 批量操作
showBatch: false,
//批量操作按钮名称
batchButtonName: '',
//左侧菜单数据集合-变更前单元
aroundUnitData: [],
//左侧菜单数据集合-变更后单元
afterUnitData: [],
// 设置表单传递数据
currentSelectProps: {}
}
},
mounted () {
this.loadBdcdylist();
},
methods: {
//读取申请单元信息
loadBdcdylist () {
var formdata = new FormData();
formdata.append("bsmSlsq", this.bsmSlsq);
formdata.append("bestepid", this.bestepid);
leftMenu(formdata).then((res) => {
if (res.code === 200 && res.result) {
this.aroundUnitData = res.result.filter(item => item.bglx == '1')
this.afterUnitData = res.result.filter(item => item.bglx == '2')
this.currentSelectProps = res.result[0];
this.$emit('getCurrentSelectProps', this.currentSelectProps);
this.judgeBatchShow();
if (this.showBatch) {
//满足批量查封/批量抵押按钮出现 即先展示批量表单
this.batchUnitClick();
} else {
//默认选择单元列表第一个
this.unitClick(0);
}
}
})
},
//批量按钮判断
judgeBatchShow () {
this.showBatch = false;
if (this.afterUnitData.length > 1) {
let qllx = this.$route.query.sqywbm.substring(0, 3);
switch (qllx) {
case 'B39':
this.showBatch = true;
this.batchButtonName = '批量查封清单信息';
break;
case 'A37':
this.showBatch = true;
this.batchButtonName = '批量抵押';
break;
default:
this.batchButtonName = '批量操作';
}
}
},
/**
* @description: 删除左侧列表
* @param {*} item
* @author: renchao
*/
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.$parent.updateDialog();
} else {
this.$message.error(res.message);
}
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
//批量按钮点击事件
batchUnitClick () {
this.currentSelectProps.batchOperation = true;
this.activeIndex = "-1";
this.$parent.stepForm();
},
//申请单元点击事件
unitClick (index) {
this.activeHIndex = '-1'
this.currentSelectProps = this.aroundUnitData[index];
this.currentSelectProps.batchOperation = false;
this.activeIndex = index.toString();
this.$parent.stepForm(index);
},
handleAfterunitClick (index) {
this.activeIndex = '-1'
this.currentSelectProps = this.afterUnitData[index];
this.currentSelectProps.batchOperation = false;
this.activeHIndex = index.toString();
this.$parent.stepForm(index);
}
}
}
</script>
<style scoped lang='scss'>
@import "~@/styles/mixin.scss";
@import "../../workFrame.scss";
</style>
\ No newline at end of file
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:38:46
* @LastEditTime: 2023-05-18 15:01:31
*/
import { getWorkFlowImage } from "@/api/workflow/jsydsyqFlow.js";
import { getPrintTemplateByCode } from "@/api/system";
......@@ -10,7 +10,6 @@ import { uploadUndo } from "@/api/clxx";
import { deleteFlow } from "@/api/ywbl";
import { getLodop } from "@/utils/LodopFuncs"
import {
leftMenu,
stepExpandInfo,
record,
completeTask,
......@@ -47,50 +46,8 @@ export default {
},
mounted () {
this.flowInitParam();
this.loadBdcdylist();
},
methods: {
//读取申请单元信息
loadBdcdylist () {
var formdata = new FormData();
formdata.append("bsmSlsq", this.bsmSlsq);
formdata.append("bestepid", this.bestepid);
leftMenu(formdata).then((res) => {
if (res.code === 200) {
if (res.result) {
this.unitData = res.result;
this.currentSelectProps = res.result[0];
this.judgeBatchShow();
if (this.showBatch) {
//满足批量查封/批量抵押按钮出现 即先展示批量表单
this.batchUnitClick();
} else {
//默认选择单元列表第一个
this.unitClick(0);
}
}
}
});
},
//批量按钮判断
judgeBatchShow () {
this.showBatch = false;
if (this.unitData.length > 1) {
let qllx = this.$route.query.sqywbm.substring(0, 3);
switch (qllx) {
case 'B39':
this.showBatch = true;
this.batchButtonName = '批量查封清单信息';
break;
case 'A37':
this.showBatch = true;
this.batchButtonName = '批量抵押';
break;
default:
this.batchButtonName = '批量操作';
}
}
},
//加载流程初始参数
flowInitParam () {
var formdata = new FormData();
......@@ -101,7 +58,7 @@ export default {
this.leftButtonList = res.result.button;
this.rightButtonList = res.result.operation;
}
});
})
},
//流程环节操作按钮
operation (item) {
......
......@@ -8,16 +8,15 @@ import { getHomeNoticeList } from "@/api/user.js"
export default {
data () {
return {
noticeList: [],
noticeList: []
}
},
created () {
this.getHomeNotice()
},
mounted () {
let that = this
window.addEventListener('message', function (messageEvent) {
that.getHomeNotice()
this.getHomeNotice()
}, false)
},
methods: {
......
......@@ -53,7 +53,7 @@
ul {
position: relative;
height: calc(100vh - 120px);
// height: calc(100vh - 120px);
overflow-y: auto;
.xian {
......@@ -157,13 +157,13 @@
}
.map-drawer-expand {
background: url("../../image/right.png");
background: url("~@/image/right.png");
background-size: cover;
right: 0%;
}
.map-drawer-click {
background: url("../../image/left.png");
background: url("~@/image/left.png");
background-size: cover;
left: 0%;
}
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:39:23
* @LastEditTime: 2023-05-18 14:58:55
-->
<template>
<div class="container">
......@@ -25,39 +25,9 @@
</div>
<!-- 内容框架 -->
<div class="containerFrame">
<!-- 左侧菜单栏 -->
<div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
<el-menu :default-active="activeIndex" @select="batchUnitClick" class="title-batch" v-if="showBatch">
<el-menu-item index="-1" key="-1" class="menus">
<div>{{ batchButtonName }}</div>
</el-menu-item>
</el-menu>
<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>
<!-- 左侧菜单栏 区分业务-->
<ordinaryMenu @getCurrentSelectProps="getCurrentSelectProps" />
<!-- <segmentMenu @getCurrentSelectProps="getCurrentSelectProps" /> -->
<div class="leftCon">
<!-- 分屏左侧预览 -->
<div v-if="splitScreen" class="splitScreen-con">
......@@ -89,28 +59,30 @@
</style>
<script>
import { mapGetters } from 'vuex'
import WorkFlow from "./mixin/index";
import publicFlow from "./mixin/public.js";
import { getStepFormInfo } from "@/api/fqsq.js";
import { getForm } from "./flowform";
import NoticeBar from "@/components/NoticeBar/index";
import { deleteFlow, unClaimTask } from "@/api/ywbl.js";
import ProcessViewer from "./components/processViewer.vue";
import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue";
import WorkFlow from "./mixin/index"
import publicFlow from "./mixin/public.js"
import { getStepFormInfo } from "@/api/fqsq.js"
import { getForm } from "./flowform"
import NoticeBar from "@/components/NoticeBar/index"
import { unClaimTask } from "@/api/ywbl.js"
import ProcessViewer from "./components/processViewer.vue"
// 引入左侧菜单
import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue"
// 引入左侧菜单
import segmentMenu from "./components/leftmenu/segmentMenu.vue"
import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue"
export default {
components: {
selectBdc,
NoticeBar,
ProcessViewer,
ordinaryMenu,
segmentMenu
},
mixins: [WorkFlow, publicFlow],
data () {
return {
isDialog: false,
// 折叠
isShowdrawer: true,
// 默认选中
activeIndex: "0",
//受理申请标识码
bsmSlsq: this.$route.query.bsmSlsq,
//当前流程所在环节
......@@ -132,12 +104,8 @@
//材料信息选项卡对象
clxxTab: {},
//页面监听时间
_beforeUnload_time: "",
//批量操作
showBatch: false,
//批量操作按钮名称
batchButtonName: "",
};
_beforeUnload_time: ""
}
},
computed: {
...mapGetters(['isRefresh'])
......@@ -161,6 +129,9 @@
window.removeEventListener("unload", (e) => this.unloadHandler(e));
},
methods: {
getCurrentSelectProps (val) {
this.currentSelectProps = val
},
beforeunloadHandler () {
this._beforeUnload_time = new Date().getTime();
},
......@@ -175,9 +146,6 @@
changeLoadIndex () {
this.loadIndex++;
},
closeDialog () {
this.myValue = false;
},
/**
* @description: 更新列表
* @author: renchao
......@@ -185,37 +153,6 @@
updateDialog () {
this.loadBdcdylist();
},
/**
* @description: 删除左侧列表
* @param {*} item
* @author: renchao
*/
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: "已取消删除",
});
});
},
//申请单元点击事件
stepForm (index) {
getStepFormInfo(this.currentSelectProps).then((res) => {
......@@ -235,23 +172,10 @@
that.clxxForm = getForm(item.value, that.$route.query.sqywbm);
that.clxxTab = item;
}
});
})
}
}
});
},
//申请单元点击事件
unitClick (index) {
this.currentSelectProps = this.unitData[index];
this.currentSelectProps.batchOperation = false;
this.activeIndex = index.toString();
this.stepForm(index);
},
//批量按钮点击事件
batchUnitClick () {
this.currentSelectProps.batchOperation = true;
this.activeIndex = "-1";
this.stepForm();
})
},
openDialog () {
this.$store.dispatch('user/refreshPage', false)
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:38:24
* @LastEditTime: 2023-05-18 11:03:17
-->
<template>
<div class="container">
......@@ -190,7 +190,7 @@
this.$confirm("确定要删除吗, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
type: "warning"
})
.then(() => {
deleteFlow(formdata).then((res) => {
......@@ -209,9 +209,9 @@
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
message: "已取消删除"
})
})
},
//读取申请单元信息
loadBdcdylist () {
......@@ -224,7 +224,7 @@
this.currentSelectProps = res.result[0];
this.unitClick(0);
}
});
})
},
//申请单元点击事件
unitClick (index) {
......@@ -238,8 +238,9 @@
//默认加载第一个表单信息
this.tabName = res.result[0].value;
}
});
},
},
};
})
}
}
}
</script>
......
<!--
* @Description:
* @Description: 选择不动产单元号
* @Autor: renchao
* @LastEditTime: 2023-04-17 16:06:24
* @LastEditTime: 2023-05-18 10:59:48
-->
<template>
<component :is="router" :sqywInfo="formData.sqywInfo" :isJump="formData.isJump ? formData.isJump : false"
@updateDialog="updateDialog" />
</template>
<script>
import { queueDjywmc } from "./slectBdcdata.js";
import { queueDjywmc } from "./javascript/slectBdcdata.js";
export default {
props: {
formData: {
......@@ -39,7 +39,7 @@
},
updateDialog () {
this.$popupCacel()
this.$emit("updateDialog", true);
this.$emit("updateDialog", true)
}
}
}
......