Sfoglia il codice sorgente

feat(process):我的流程列表流程撤销功能

wangpx 1 anno fa
parent
commit
eba7a9d2e8
3 ha cambiato i file con 34 aggiunte e 17 eliminazioni
  1. 2 10
      api/process.js
  2. 8 4
      components/ygoa/processList.vue
  3. 24 3
      pages/process/index.vue

+ 2 - 10
api/process.js

@@ -162,7 +162,7 @@ export function submitProcessFlow(flow, form, control) {
 		}
 	})
 }
-
+// 取消流程
 export function cancelProcessFlow(staffId, cancelRemark, {insId, control}) {
 	return request({
 		url: preUrl,
@@ -179,15 +179,7 @@ export function cancelProcessFlow(staffId, cancelRemark, {insId, control}) {
 	})
 }
 
-export function uploadSignatureImg(filePath) {
-	return upload({
-    url: '/MiniAppUploadFileAction.do',
-    name: 'SignatureImg.png',
-    filePath: filePath
-  })
-}
-
-// export function uploadSignatureBoardImg(userId, filePath, elementID, type) {
+// 上传流程审批签名
 export function uploadSignatureBoardImg(userId, filePath, elementID) {
 	return request({
     url: preUrl,

+ 8 - 4
components/ygoa/processList.vue

@@ -62,11 +62,11 @@
 												</uni-row>
 											</view>
 										</uni-col>
-										<!-- <uni-col :xs="5" :sm="5">
+										<uni-col :xs="5" :sm="5" v-if="process.isCancel == '1'">
 											<uni-row>
-												<button type="warn" size="mini">撤回</button>
+												<button type="warn" size="mini" @click.stop.prevent="handleToCancel(process)">撤回</button>
 											</uni-row>
-										</uni-col> -->
+										</uni-col>
 									</uni-row>
 								</view>
 							</uni-card>
@@ -133,7 +133,8 @@ const props = defineProps({
 const emits = defineEmits([
 	'clickSegment', // 点击分段器
 	'clickItem', // 点击内容项
-	'scrollToBottom' // 到达底部
+	'scrollToBottom', // 到达底部
+	'clickCancel', // 点击取消按钮
 ])
 
 const paging = ref(null)
@@ -230,6 +231,9 @@ function scrollQuery(pageNo, pSize) {
 function handleToDetail(process) { // 跳转流程详情页
 	emits('clickItem', process)
 }
+function handleToCancel(process) {
+	emits('clickCancel', process)
+}
 defineExpose({
 	onClickItem,
 });

+ 24 - 3
pages/process/index.vue

@@ -27,7 +27,7 @@
 				activeColor="#409eff"></uni-segmented-control>
 		</view>
 		<view class="process_list">
-			<process-list ref="processListRef" @clickSegment="getProcessData" @clickItem="handleToProcessDetail" @scrollToBottom="getProcessPage" :current="current" :pSize="5"
+			<process-list ref="processListRef" @clickCancel="handleToCancelProcess" @clickSegment="getProcessData" @clickItem="handleToProcessDetail" @scrollToBottom="getProcessPage" :current="current" :pSize="5"
 				:pageNo="1"></process-list>
 		</view>
 		<view class="popup_container">
@@ -47,10 +47,10 @@ import processList from '@/components/ygoa/processList.vue'
 import { onShow } from '@dcloudio/uni-app'
 import { reactive, ref, onMounted } from 'vue';
 import $tab from '@/plugins/tab.js'
-import { getUserProcess, getUserProcessed, getUserProcessing, getUserAllProcess } from '@/api/process';
+import $modal from '@/plugins/modal.js'
+import { getUserProcess, getUserProcessed, getUserProcessing, getUserAllProcess, cancelProcessFlow } from '@/api/process';
 import { useUserStore } from '@/store/user';
 
-
 onMounted(() => {
 	uni.$on('ReloadProcessData', () => {
 		new Promise((resolve, reject) =>{
@@ -163,6 +163,27 @@ function handleToProcessDetail({ username, insId, tinsId, insName, control }) {
 	}
 	$tab.navigateTo(url)
 }
+function handleToCancelProcess(process) {
+	uni.showModal({
+		title: '确认撤回' + process.insName,
+		editable: true,
+		placeholderText: '请输入撤回备注',
+		success: ({confirm, content}) => {
+			if (confirm) {
+				cancelProcessFlow(userStore.user.useId, content, process)
+				.then(({ returnMsg }) => {
+					if (returnMsg.includes('success')) {
+						$modal.msgSuccess('撤销成功')
+						// 通知列表刷新数据
+						processListRef.value.onClickItem() // 调用子组件刷新数据
+					} else {
+						$modal.msgError(returnMsg)
+					}
+				})
+			}
+		}
+	})
+}
 </script>
 
 <style lang="scss" scoped>