fad47593 by renchao@pashanhoo.com

1

1 parent 16fa9011
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-04 11:14:25
* @LastEditTime: 2023-07-28 15:27:10
*/
const getters = {
sidebar: state => state.app.sidebar,
......@@ -20,6 +20,7 @@ const getters = {
djbxx: state => state.djbxx.djbxx,
// workflow
isRefresh: state => state.user.isRefresh,
workFresh: state => state.user.workFresh,
yjsqOptions: state => state.workflow.yjsqOptions
}
export default getters
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-04-12 10:47:33
* @LastEditTime: 2023-07-28 15:26:16
*/
import { getUserInfo } from '@/api/user'
const state = {
name: '',
avatar: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png',
isRefresh: false,
// 业务流程刷新
workFresh: false
}
const mutations = {
SET_NAME: (state, data) => {
......@@ -15,6 +17,9 @@ const mutations = {
},
REFRESH: (state, data) => {
state.isRefresh = data
},
SETWORKFRESH: (state, data) => {
state.workFresh = data
}
}
......@@ -29,6 +34,9 @@ const actions = {
refreshPage ({ commit }, data) {
commit('REFRESH', data)
},
reWorkFresh ({ commit }, data) {
commit('SETWORKFRESH', data)
}
}
export default {
namespaced: true,
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-11 08:58:31
* @LastEditTime: 2023-07-28 15:20:00
-->
<template>
<div class="container">
......@@ -12,8 +12,7 @@
<li
@click="operation(item)"
v-for="(item, index) in leftButtonList"
:key="index"
>
:key="index">
<svg-icon class="icon" :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
......@@ -22,8 +21,7 @@
<li
@click="operation(item)"
v-for="(item, index) in rightButtonList"
:key="index"
>
:key="index">
<svg-icon class="icon" :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
......@@ -54,16 +52,14 @@
:label="item.name"
:name="item.value"
v-for="item in tabList"
:key="item.value"
>
:key="item.value">
</el-tab-pane>
</el-tabs>
<component
:key="fresh"
:is="componentTag"
v-bind="currentSelectProps"
/>
v-bind="currentSelectProps" />
</div>
</div>
</div>
......@@ -72,260 +68,258 @@
</div>
</template>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "./workFrame.scss";
@import "~@/styles/mixin.scss";
@import "./workFrame.scss";
</style>
<script>
import WorkFlow from "./mixin/index";
import { getForm } from "./flowform";
import { getStepFormInfo } from "@/api/workFlow.js";
import NoticeBar from "@/components/NoticeBar/index";
// import ProcessViewer from "./components/processViewer.vue";
import WorkFlow from "./mixin/index";
import { getForm } from "./flowform";
import { getStepFormInfo } from "@/api/workFlow.js";
import NoticeBar from "@/components/NoticeBar/index";
// import ProcessViewer from "./components/processViewer.vue";
import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue";
import qllxDailog from "./djbBook/components/qllxDailog";
import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue";
import { loadTreeData, getNode } from "./components/leftmenu/djbFrameData.js";
// 登记簿数据信息
import { addRepairRecord } from "@/api/djbRepair.js";
// 获取权利类型数组
import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue";
import qllxDailog from "./djbBook/components/qllxDailog";
import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue";
import { loadTreeData, getNode } from "./components/leftmenu/djbFrameData.js";
// 登记簿数据信息
import { addRepairRecord } from "@/api/djbRepair.js";
// 获取权利类型数组
import { getBdcqljqtsx } from "@/api/djbDetail.js";
export default {
components: {
selectBdc,
NoticeBar,
ordinaryMenu,
qllxDailog,
},
mixins: [WorkFlow],
data() {
return {
bsmSlsq: this.$route.query.bsmSlsq,
//当前流程所在环节
bestepid: this.$route.query.bestepid,
//当前流程所在环节
zbhj: this.$route.query.zbhj,
//设置那个表单选中
tabName: "",
isEdit: true,
// 弹框显示
dialogVisible: true,
//表单集合
tabList: [],
//选择加载哪一个组件
componentTag: "",
//设置表单传递数据
currentSelectProps: {},
// 首次拿到的业务信息
oneSelectProps: {},
//材料信息选择卡索引
oneget: true,
//页面监听时间
_beforeUnload_time: "",
treedata: {},
tabdata: [],
bsmRepair: "",
defaultNode: {},
clxxForm: "",
//材料信息选择卡索引
clxxIndex: "",
//材料信息选项卡对象
clxxTab: {},
ableOperation: false,
};
},
mounted() {
// this.getleftMenubl()
},
methods: {
/**
* @description: stepForm
* @param {*} qllx
* @author: renchao
*/
stepForm(qllx) {
this.oneSelectProps.qllx = qllx;
if (this.$refs.Menu.supplementarylist.length) {
getStepFormInfo(this.oneSelectProps).then((res) => {
this.$nextTick(function () {
this.tabList = res.result;
console.log("加载的右侧界面组件名称",this.tabList);
this.tabName = this.tabList[0].value;
this.ableOperation = this.tabList[0].ableOperation;
this.getFromRouter(this.tabName);
if (this.tabList.length != 8) {
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;
}
});
}
});
});
}
import { getBdcqljqtsx } from "@/api/djbDetail.js";
export default {
components: {
selectBdc,
NoticeBar,
ordinaryMenu,
qllxDailog,
},
mixins: [WorkFlow],
data () {
return {
bsmSlsq: this.$route.query.bsmSlsq,
//当前流程所在环节
bestepid: this.$route.query.bestepid,
//当前流程所在环节
zbhj: this.$route.query.zbhj,
//设置那个表单选中
tabName: "",
isEdit: true,
// 弹框显示
dialogVisible: true,
//表单集合
tabList: [],
//选择加载哪一个组件
componentTag: "",
//设置表单传递数据
currentSelectProps: {},
// 首次拿到的业务信息
oneSelectProps: {},
//材料信息选择卡索引
oneget: true,
//页面监听时间
_beforeUnload_time: "",
treedata: {},
tabdata: [],
bsmRepair: "",
defaultNode: {},
clxxForm: "",
//材料信息选择卡索引
clxxIndex: "",
//材料信息选项卡对象
clxxTab: {},
ableOperation: false,
};
},
// 获取右侧选项卡
/**
* @description: 获取右侧选项卡
* @param {*} val
* @author: renchao
*/
getCurrentSelectProps(val) {
console.log("渲染右侧选项卡");
this.bsmRepair = val.bsmRepair;
if (val.bdcdyid) {
this.oneSelectProps = val;
}
this.currentSelectProps = val;
if (this.currentSelectProps.bsmRepair) {
this.stepForm(this.currentSelectProps.qllx);
} else if (!this.oneget) {
this.getdjblist();
}
if (this.oneget) {
this.oneget = false;
this.stepForm(this.currentSelectProps.qllx);
}
mounted () {
// this.getleftMenubl()
},
// 获取渲染登记簿列表
/**
* @description: 获取渲染登记簿列表
* @author: renchao
*/
getdjblist() {
getBdcqljqtsx({
bdcdyid: this.currentSelectProps.bdcdyid,
bdcdyh: this.currentSelectProps.bdcdyh,
}).then((res) => {
if (res.code === 200) {
this.treedata = loadTreeData(res.result);
this.$nextTick(function () {
this.defaultNode = getNode(this.currentSelectProps.qllx, {
linShi: 0,
xianShi: 0,
liShi: 0,
methods: {
/**
* @description: stepForm
* @param {*} qllx
* @author: renchao
*/
stepForm (qllx) {
this.oneSelectProps.qllx = qllx;
if (this.$refs.Menu.supplementarylist.length) {
getStepFormInfo(this.oneSelectProps).then((res) => {
this.$nextTick(function () {
this.tabList = res.result;
console.log("加载的右侧界面组件名称", this.tabList);
this.tabName = this.tabList[0].value;
this.ableOperation = this.tabList[0].ableOperation;
this.getFromRouter(this.tabName);
if (this.tabList.length != 8) {
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.tabName = this.defaultNode.id; //data[0].id为默认选中的节点
});
let settree = JSON.parse(JSON.stringify(this.treedata));
this.tabdata = [
...settree,
...settree[1].children[0].children[0].children,
];
this.tabdata.forEach((item, index, arr) => {
arr[index].name = item.label;
arr[index].value = item.id;
});
this.tabList = this.tabdata;
}
});
},
//右侧表单选项卡事件
/**
* @description: 右侧表单选项卡事件
* @param {*} activeName
* @author: renchao
*/
beforeLeave(activeName) {
if (activeName && activeName != 0) this.getFromRouter(activeName);
},
//切换选项卡内容组件
/**
* @description: 切换选项卡内容组件
* @param {*} tabname
* @author: renchao
*/
getFromRouter(tabname) {
this.componentTag = getForm(tabname);
},
// closefp () {
// this.splitScreen = this.splitScreen ? false : true;
// this.$store.dispatch("app/set1tScreen", this.splitScreen);
// this.getFromRouter(this.tabList[0].value);
// this.clxxForm = getForm(this.tabList[1].value);
// this.tabName = this.tabList[0].value
// },
// 增加补录记录
/**
* @description: 增加补录记录
* @param {*} row
* @param {*} del
* @author: renchao
*/
addRepairRecord(row, del) {
console.log("row",row,del);
let from = {
bsmQlxx: "",
bsmSlsq: this.bsmSlsq,
bsmSldy: this.currentSelectProps.bsmSldy,
operate: "C",
qllx: "",
};
if (row) {
from.bsmQlxx = row.bsmQlxx;
if (del) {
from.operate = del;
} else {
from.operate = row.bsmQlxx ? "U" : "C";
},
/**
* @description: 获取右侧选项卡
* @param {*} val
* @author: renchao
*/
getCurrentSelectProps (val) {
this.bsmRepair = val.bsmRepair;
if (val.bdcdyid) {
this.oneSelectProps = val;
}
this.currentSelectProps = val;
if (this.currentSelectProps.bsmRepair) {
this.stepForm(this.currentSelectProps.qllx);
} else if (!this.oneget) {
this.getdjblist();
}
from.qllx = row.qllx;
}
addRepairRecord(from)
.then((res) => {
if (res.code == "200") {
this.$refs.qllxlist.dialogVisible = false;
this.$nextTick(() => {
this.$refs.Menu.getleftMenubl(res.result);
this.$message({
type: "success",
message: "补录成功!",
if (this.oneget) {
this.oneget = false;
this.stepForm(this.currentSelectProps.qllx);
}
},
// 获取渲染登记簿列表
/**
* @description: 获取渲染登记簿列表
* @author: renchao
*/
getdjblist () {
getBdcqljqtsx({
bdcdyid: this.currentSelectProps.bdcdyid,
bdcdyh: this.currentSelectProps.bdcdyh,
}).then((res) => {
if (res.code === 200) {
this.treedata = loadTreeData(res.result);
this.$nextTick(function () {
this.defaultNode = getNode(this.currentSelectProps.qllx, {
linShi: 0,
xianShi: 0,
liShi: 0,
});
this.tabName = this.defaultNode.id; //data[0].id为默认选中的节点
});
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
type: "warning",
let settree = JSON.parse(JSON.stringify(this.treedata));
this.tabdata = [
...settree,
...settree[1].children[0].children[0].children,
];
this.tabdata.forEach((item, index, arr) => {
arr[index].name = item.label;
arr[index].value = item.id;
});
this.tabList = this.tabdata;
}
})
.catch((res) => {
console.log("错", res);
});
},
// openDialog () {
// this.$store.dispatch('user/refreshPage', false)
// let data = JSON.parse(localStorage.getItem('ywbl'))
// let title
// if (data?.sqywmc) {
// title = "申请业务:" + data?.sqywmc
// } else {
// title = "申请业务:" + data?.djywmc
// }
},
//右侧表单选项卡事件
/**
* @description: 右侧表单选项卡事件
* @param {*} activeName
* @author: renchao
*/
beforeLeave (activeName) {
if (activeName && activeName != 0) this.getFromRouter(activeName);
},
//切换选项卡内容组件
/**
* @description: 切换选项卡内容组件
* @param {*} tabname
* @author: renchao
*/
getFromRouter (tabname) {
this.componentTag = getForm(tabname);
},
// closefp () {
// this.splitScreen = this.splitScreen ? false : true;
// this.$store.dispatch("app/set1tScreen", this.splitScreen);
// this.getFromRouter(this.tabList[0].value);
// this.clxxForm = getForm(this.tabList[1].value);
// this.tabName = this.tabList[0].value
// },
// 增加补录记录
/**
* @description: 增加补录记录
* @param {*} row
* @param {*} del
* @author: renchao
*/
addRepairRecord (row, del) {
console.log("row", row, del);
let from = {
bsmQlxx: "",
bsmSlsq: this.bsmSlsq,
bsmSldy: this.currentSelectProps.bsmSldy,
operate: "C",
qllx: "",
};
if (row) {
from.bsmQlxx = row.bsmQlxx;
if (del) {
from.operate = del;
} else {
from.operate = row.bsmQlxx ? "U" : "C";
}
from.qllx = row.qllx;
}
addRepairRecord(from)
.then((res) => {
if (res.code == "200") {
this.$refs.qllxlist.dialogVisible = false;
this.$nextTick(() => {
this.$refs.Menu.getleftMenubl(res.result);
this.$message({
type: "success",
message: "补录成功!",
});
});
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
type: "warning",
});
}
})
.catch((res) => {
console.log("错", res);
});
},
// openDialog () {
// this.$store.dispatch('user/refreshPage', false)
// let data = JSON.parse(localStorage.getItem('ywbl'))
// let title
// if (data?.sqywmc) {
// title = "申请业务:" + data?.sqywmc
// } else {
// title = "申请业务:" + data?.djywmc
// }
// this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'djywbm': this.$route.query.sqywbm, 'isJump': true, 'sqywInfo': data }, "80%", true)
// }
},
};
// this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'djywbm': this.$route.query.sqywbm, 'isJump': true, 'sqywInfo': data }, "80%", true)
// }
},
};
</script>
<style scoped lang="scss">
.rightContainer {
position: relative;
}
.count {
font-size: 14px;
position: absolute;
right: 25px;
top: 12px;
height: 30px;
span {
font-weight: 600;
color: #3498db;
.rightContainer {
position: relative;
}
.count {
font-size: 14px;
position: absolute;
right: 25px;
top: 12px;
height: 30px;
span {
font-weight: 600;
color: #3498db;
}
}
}
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-06-25 11:13:07
* @LastEditTime: 2023-07-28 15:27:37
-->
<template>
<div>
......@@ -71,7 +71,7 @@
}
},
created () {
store.dispatch('user/refreshPage', false)
store.dispatch('user/reWorkFresh', false)
this.columns = datas.columns()
this.ysxlhList()
this.getHeadTabBdcqz()
......@@ -179,7 +179,7 @@
this.$popupCacel()
this.$message.success("提交成功")
//刷新列表
store.dispatch('user/refreshPage', true)
store.dispatch('user/reWorkFresh', true)
} else {
this.$message.error(res.message)
}
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-24 10:22:41
* @LastEditTime: 2023-07-28 15:33:55
-->
<template>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
......@@ -64,6 +64,7 @@
import table from "@/utils/mixin/table";
import { getUnclaimedBdcqz, issueCertificate } from "@/api/bdcqz.js";
import { datas } from "../../javascript/fzxxdata";
import { log } from 'bpmn-js-token-simulation';
export default {
props: {
formData: {
......@@ -123,9 +124,6 @@
getUnclaimedBdcqz({ bsmSlsq: Vue.prototype.$currentRoute.query.bsmSlsq }).then(res => {
if (res.code === 200) {
this.tableData.data = res.result.list;
if(this.tableData.data.length>0) {
this.ruleForm.lzrxm = this.tableData.data[0].qlr
}
this.ruleForm.fzrmc = res.result.fzrmc
this.ruleForm.fzsj = res.result.fzsj
this.ruleForm.fzsl = res.result.fzsl
......@@ -160,7 +158,7 @@
if (res.code == 200) {
this.$message.success('保存成功');
//刷新列表
store.dispatch('user/refreshPage', true)
store.dispatch('user/reWorkFresh', true)
this.$popupCacel()
} else {
this.$message.error(res.message)
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-25 09:26:10
* @LastEditTime: 2023-07-28 15:30:23
-->
<template>
<div class="from-clues">
......@@ -40,9 +40,10 @@
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import table from "@/utils/mixin/table";
import { getCertificateList } from "@/api/bdcqz.js";
import { datas } from "../javascript/fzxxdata";
import { getCertificateList } from "@/api/bdcqz.js";
export default {
mixins: [table],
data () {
......@@ -66,6 +67,16 @@
created () {
this.ableOperation = this.$parent.currentSelectTab.ableOperation
},
computed: {
...mapGetters(['workFresh'])
},
watch: {
workFresh: {
handler (newVal, oldVal) {
if (newVal) this.queryClick()
}
}
},
methods: {
/**
* @description: queryClick
......
......@@ -92,10 +92,10 @@
};
},
computed: {
...mapGetters(['isRefresh'])
...mapGetters(['workFresh'])
},
watch: {
isRefresh: {
workFresh: {
handler (newVal, oldVal) {
if (newVal) this.list()
}
......