a403ebff by xiaomiao

流程图逻辑处理

1 parent 6aa657ab
1 /* 1 /*
2 * @Description: 引入公共组件 2 * @Description: 引入公共组件
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-04-25 15:18:20 4 * @LastEditTime: 2023-04-26 17:26:12
5 */ 5 */
6 import dialogBox from '@/components/DialogBox/dialogBox.vue' 6 import dialogBox from '@/components/dialogBox/dialogBox.vue'
7 import LbTable from '@/components/LbTable/lb-table.vue' 7 import LbTable from '@/components/LbTable/lb-table.vue'
8 import Theme from '@/components/Theme/theme.vue' 8 import Theme from '@/components/Theme/theme.vue'
9 import Popup from '@/components/Popup/index' 9 import Popup from '@/components/Popup/index'
......
1 <!--
2 * @Author: xiaomiao 1158771342@qq.com
3 * @Date: 2023-03-09 14:54:49
4 * @LastEditors: xiaomiao 1158771342@qq.com
5 * @LastEditTime: 2023-04-27 10:39:11
6 * @FilePath: \不动产登记系统\bdcdj-web\src\views\workflow\components\batchDel.vue
7 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8 -->
1 <template> 9 <template>
2 <div class='batchDel'> 10 <div class='batchDel'>
3 <lb-table :column="columns" :data="formData.dataList" :maxHeight="460" :heightNumSetting="true" :pagination="false" 11 <lb-table :column="columns" :data="formData.dataList" :maxHeight="460" :heightNumSetting="true" :pagination="false"
...@@ -5,7 +13,7 @@ ...@@ -5,7 +13,7 @@
5 </lb-table> 13 </lb-table>
6 <div class="text-center"> 14 <div class="text-center">
7 <el-button @click="$popupCacel">取消</el-button> 15 <el-button @click="$popupCacel">取消</el-button>
8 <el-button type="primary" @click="childFn" plain>确定</el-button> 16 <el-button type="primary" @click="submitdelclick" plain>确定</el-button>
9 </div> 17 </div>
10 </div> 18 </div>
11 </template> 19 </template>
...@@ -46,7 +54,8 @@ ...@@ -46,7 +54,8 @@
46 } 54 }
47 }, 55 },
48 methods: { 56 methods: {
49 childFn () { 57 // 批量删除确定按钮
58 submitdelclick () {
50 var formdata = new FormData(); 59 var formdata = new FormData();
51 formdata.append("bsmSldyList", this.selectBdcdy); 60 formdata.append("bsmSldyList", this.selectBdcdy);
52 formdata.append("bsmSlsq", this.formData.bsmSlsq); 61 formdata.append("bsmSlsq", this.formData.bsmSlsq);
...@@ -60,6 +69,7 @@ ...@@ -60,6 +69,7 @@
60 } 69 }
61 }) 70 })
62 }, 71 },
72 // 批量删除勾选事件
63 handleSelectionChange (e) { 73 handleSelectionChange (e) {
64 this.selectBdcdy = []; 74 this.selectBdcdy = [];
65 e.forEach((item, index) => { 75 e.forEach((item, index) => {
......
...@@ -53,6 +53,12 @@ ...@@ -53,6 +53,12 @@
53 </el-select> 53 </el-select>
54 <el-table :data="taskCommentList" size="mini" border header-cell-class-name="table-header-gray"> 54 <el-table :data="taskCommentList" size="mini" border header-cell-class-name="table-header-gray">
55 <el-table-column label="序号" header-align="center" align="center" type="index" width="55px" /> 55 <el-table-column label="序号" header-align="center" align="center" type="index" width="55px" />
56 <el-table-column label="流程状态" header-align="center" align="center">
57 <template slot-scope="scope">
58 <div v-if="scope.row.finishTime == null">正在办理</div>
59 <div v-else>已完结</div>
60 </template>
61 </el-table-column>
56 <el-table-column label="环节名称" prop="taskName" minWidth="150px" align="center" /> 62 <el-table-column label="环节名称" prop="taskName" minWidth="150px" align="center" />
57 <el-table-column label="办理人" prop="assigneeName" minWidth="100px" align="center" /> 63 <el-table-column label="办理人" prop="assigneeName" minWidth="100px" align="center" />
58 <el-table-column label="处理时间" prop="createTime" width="140px" align="center" /> 64 <el-table-column label="处理时间" prop="createTime" width="140px" align="center" />
...@@ -150,13 +156,12 @@ ...@@ -150,13 +156,12 @@
150 onSelectElement (element) { 156 onSelectElement (element) {
151 this.selectTaskId = undefined 157 this.selectTaskId = undefined
152 this.dlgTitle = undefined 158 this.dlgTitle = undefined
153 159 let allfinishedTaskSet = [...this.processNodeInfo.finishedTaskSet, ...this.processNodeInfo.unfinishedTaskSet]
154 if (this.processNodeInfo == null || this.processNodeInfo.finishedTaskSet == null) return 160 if (this.processNodeInfo == null || allfinishedTaskSet == null)
155 161 return
156 if (element == null || this.processNodeInfo.finishedTaskSet.indexOf(element.id) === -1) { 162 if (element == null || allfinishedTaskSet.indexOf(element.id) === -1) {
157 return 163 return
158 } 164 }
159
160 this.selectTaskId = element.id 165 this.selectTaskId = element.id
161 this.selectValue = element.id 166 this.selectValue = element.id
162 this.dlgTitle = element.businessObject ? element.businessObject.name : undefined 167 this.dlgTitle = element.businessObject ? element.businessObject.name : undefined
...@@ -182,6 +187,9 @@ ...@@ -182,6 +187,9 @@
182 if (this.formData.finishedInfo.finishedTaskSet.includes(item.value)) { 187 if (this.formData.finishedInfo.finishedTaskSet.includes(item.value)) {
183 return item 188 return item
184 } 189 }
190 if (this.formData.finishedInfo.unfinishedTaskSet.includes(item.value)) {
191 return item
192 }
185 }).filter(Boolean); 193 }).filter(Boolean);
186 this.selectValue = xmlData.startEvent._id 194 this.selectValue = xmlData.startEvent._id
187 this.clearViewer('a') 195 this.clearViewer('a')
......
...@@ -95,143 +95,143 @@ ...@@ -95,143 +95,143 @@
95 </div> 95 </div>
96 </template> 96 </template>
97 <script> 97 <script>
98 import { mapGetters } from "vuex"; 98 import { mapGetters } from "vuex";
99 import searchBox from "../components/search.vue"; 99 import searchBox from "../components/search.vue";
100 import table from "@/utils/mixin/table"; 100 import table from "@/utils/mixin/table";
101 import searchMin from "../components/mixin/index"; 101 import searchMin from "../components/mixin/index";
102 import { datas, sendThis } from "./dbxdata"; 102 import { datas, sendThis } from "./dbxdata";
103 import { searchTaskToDo, deleteFlow, claimTask } from "@/api/ywbl"; 103 import { searchTaskToDo, deleteFlow, claimTask } from "@/api/ywbl";
104 import { judgeUserTaskPermission } from "@/api/fqsq"; 104 import { judgeUserTaskPermission } from "@/api/fqsq";
105 export default { 105 export default {
106 name: "dbx", 106 name: "dbx",
107 components: { searchBox }, 107 components: { searchBox },
108 mixins: [table, searchMin], 108 mixins: [table, searchMin],
109 computed: { 109 computed: {
110 ...mapGetters(["dictData", "transfer"]), 110 ...mapGetters(["dictData", "transfer"]),
111 }, 111 },
112 data () { 112 data () {
113 return { 113 return {
114 queryForm: {
115 ywly: "",
116 qllx: "",
117 djlx: "",
118 ywh: "",
119 },
120 searchForm: {
121 ywlymc: "",
122 qllxmc: "",
123 djlxmc: "",
124 ywh: "",
125 },
126 tableData: {
127 total: 0,
128 columns: datas.columns(),
129 data: [],
130 },
131 jumpid: "",
132 };
133 },
134 mounted () {
135 sendThis(this);
136 window["getBpageList"] = () => {
137 this.queryClick();
138 }
139 },
140 watch: {
114 queryForm: { 141 queryForm: {
115 ywly: "", 142 handler (newName, oldName) { },
116 qllx: "", 143 immediate: true,
117 djlx: "",
118 ywh: "",
119 }, 144 },
120 searchForm: { 145 },
121 ywlymc: "", 146 methods: {
122 qllxmc: "", 147 // 列表渲染接口
123 djlxmc: "", 148 queryClick () {
124 ywh: "", 149 this.$startLoading();
150 this.searchForm.ywh = this.queryForm.ywh;
151 this.iterationData();
152 searchTaskToDo({
153 ...this.queryForm,
154 ...this.otherForm,
155 ...this.pageData,
156 }).then((res) => {
157 this.$endLoading();
158 if (res.code === 200) {
159 let { total, records } = res.result;
160 this.tableData.total = total ? total : 0;
161 this.tableData.data = records ? records : [];
162 }
163 });
125 }, 164 },
126 tableData: { 165 handleSort (val) {
127 total: 0, 166 this.queryForm.sortField = val.prop;
128 columns: datas.columns(), 167 this.queryForm.sortOrder = val.order == "ascending" ? "asc" : "desc";
129 data: [], 168 this.queryClick();
130 }, 169 },
131 jumpid: "", 170 del (item) {
132 }; 171 let formdata = new FormData();
133 }, 172 formdata.append("bsmSlsq", item.bsmSlsq);
134 mounted () { 173 this.$confirm("确定要删除吗, 是否继续?", "提示", {
135 sendThis(this); 174 confirmButtonText: "确定",
136 window["getBpageList"] = () => { 175 cancelButtonText: "取消",
137 this.queryClick(); 176 type: "warning",
138 }
139 },
140 watch: {
141 queryForm: {
142 handler (newName, oldName) { },
143 immediate: true,
144 },
145 },
146 methods: {
147 // 列表渲染接口
148 queryClick () {
149 this.$startLoading();
150 this.searchForm.ywh = this.queryForm.ywh;
151 this.iterationData();
152 searchTaskToDo({
153 ...this.queryForm,
154 ...this.otherForm,
155 ...this.pageData,
156 }).then((res) => {
157 this.$endLoading();
158 if (res.code === 200) {
159 let { total, records } = res.result;
160 this.tableData.total = total ? total : 0;
161 this.tableData.data = records ? records : [];
162 }
163 });
164 },
165 handleSort (val) {
166 this.queryForm.sortField = val.prop;
167 this.queryForm.sortOrder = val.order == "ascending" ? "asc" : "desc";
168 this.queryClick();
169 },
170 del (item) {
171 let formdata = new FormData();
172 formdata.append("bsmSlsq", item.bsmSlsq);
173 this.$confirm("确定要删除吗, 是否继续?", "提示", {
174 confirmButtonText: "确定",
175 cancelButtonText: "取消",
176 type: "warning",
177 })
178 .then(() => {
179 deleteFlow(formdata).then((res) => {
180 if (res.code === 200) {
181 this.handleDel();
182 this.$message({
183 type: "success",
184 message: "删除成功!",
185 });
186 this.queryClick();
187 } else {
188 this.$message.error(res.message);
189 }
190 });
191 }) 177 })
192 .catch(() => { 178 .then(() => {
193 this.$message({ 179 deleteFlow(formdata).then((res) => {
194 type: "info", 180 if (res.code === 200) {
195 message: "已取消删除", 181 this.handleDel();
182 this.$message({
183 type: "success",
184 message: "删除成功!",
185 });
186 this.queryClick();
187 } else {
188 this.$message.error(res.message);
189 }
190 });
191 })
192 .catch(() => {
193 this.$message({
194 type: "info",
195 message: "已取消删除",
196 });
196 }); 197 });
197 }); 198 },
198 }, 199 ywhClick (item) {
199 ywhClick (item) { 200 //判断用户是否拥有该任务的权限,若有则跳转,无权限则给予提示并刷新页面
200 //判断用户是否拥有该任务的权限,若有则跳转,无权限则给予提示并刷新页面 201 judgeUserTaskPermission({
201 judgeUserTaskPermission({ 202 bsmSlsq: item.bsmSlsq,
202 bsmSlsq: item.bsmSlsq, 203 bestepid: item.bestepid,
203 bestepid: item.bestepid, 204 }).then((res) => {
204 }).then((res) => { 205 if (res.code == 200) {
205 if (res.code == 200) { 206 if (res.result) {
206 if (res.result) { 207 //有任务权限
207 //有任务权限 208 const { href } = this.$router.resolve(
208 const { href } = this.$router.resolve( 209 "/workFrame?bsmSlsq=" +
209 "/workFrame?bsmSlsq=" + 210 item.bsmSlsq +
210 item.bsmSlsq + 211 "&bestepid=" +
211 "&bestepid=" + 212 item.bestepid +
212 item.bestepid + 213 "&bsmBusiness=" +
213 "&bsmBusiness=" + 214 "&sqywbm=" +
214 "&sqywbm=" + 215 item.djywbm
215 item.djywbm 216 );
216 ); 217 localStorage.setItem('ywbl', JSON.stringify(item));
217 localStorage.setItem('ywbl', JSON.stringify(item)); 218 window.open(href, `urlname${item.bsmSlsq}`);
218 window.open(href, `urlname${item.bsmSlsq}`); 219 //从待办箱进入的调取任务领取接口
219 //从待办箱进入的调取任务领取接口 220 claimTask(item.bsmSlsq, item.bestepid);
220 claimTask(item.bsmSlsq, item.bestepid); 221 } else {
222 //无任务权限
223 this.$message.error("无该任务操作权限,或已被他人抢办,请重新操作");
224 //刷新页面
225 this.queryClick();
226 }
221 } else { 227 } else {
222 //无任务权限 228 this.$message.error("用户任务权限判断失败,请联系管理员");
223 this.$message.error("无该任务操作权限,或已被他人抢办,请重新操作");
224 //刷新页面
225 this.queryClick();
226 } 229 }
227 } else { 230 });
228 this.$message.error("用户任务权限判断失败,请联系管理员"); 231 },
229 }
230 });
231 }, 232 },
232 }, 233 };
233 };
234 </script> 234 </script>
235 <style scoped lang="scss"> 235 <style scoped lang="scss">
236 @import "~@/styles/public.scss"; 236 @import "~@/styles/public.scss";
237 </style> 237 </style>
......