Bläddra i källkod

feat: 表单没有填写提醒 100%、个人发起审批是否能撤销配置 100%、扩展配置回显100%、无法选中100%

luoyali 1 år sedan
förälder
incheckning
a227ed7fa4

+ 4 - 0
src/store/modules/flow.ts

@@ -50,6 +50,10 @@ export const useFlowStore = defineStore({
 		// 流程设计
 		setModelContent(value: any) {
 			this.modelContent = value
+		},
+		// 流程设置
+		setProcessSetting(value: any) {
+			this.processSetting = value
 		}
 	},
 	persist: true

+ 7 - 1
src/views/approve/components/approvedContent.vue

@@ -108,7 +108,9 @@
 							@click="openComment('consentOrRefuseVisible', 'reject')"
 							>拒绝</el-button
 						>
-						<el-button v-if="currentTaskType === 'myApplication'" :icon="Close" @click="openComment('reviewVisible', 'revoke')">撤回</el-button>
+						<el-button v-if="currentTaskType === 'myApplication' && allowRevocation" :icon="Close" @click="openComment('reviewVisible', 'revoke')"
+							>撤回</el-button
+						>
 						<el-button v-if="currentTaskType === 'pendingClaim'" :icon="Close" @click="claimTaskEv">认领</el-button>
 						<el-dropdown
 							v-if="currentTaskType === 'pendingApproval' && (allowTransfer || allowRollback || allowAppendNode)"
@@ -225,6 +227,7 @@ const consentOrRefuseVisible = ref(false)
 const deliverToReviewVisible = ref(false)
 const loseSignVisible = ref(false)
 const rollbackVisible = ref(false)
+const allowRevocation = ref(false)
 // 各种操作弹窗显示隐藏 end
 const activeData = ref([])
 const currentType = ref(null)
@@ -339,6 +342,9 @@ const getTaskDetail = () => {
 					allowAppendNode.value = data?.allowAppendNode
 					allowRollback.value = data?.allowRollback
 				}
+				if (props.currentTaskType === 'myApplication') {
+					allowRevocation.value = data?.allowRevocation
+				}
 				/*descItemsData.value.list = JSON.parse(data.formContent).map(item => {
 					const showLabel = item.title
 					let showValue = item.local_value

+ 21 - 24
src/views/flow/create/components/ExtendSet.vue

@@ -1,12 +1,7 @@
 <script setup name="ExtendSet">
-defineProps({
-	label: {
-		type: String
-	},
-	name: {
-		type: String
-	}
-})
+import useFlowStore from '@/store/modules/flow'
+const flowInfo = useFlowStore()
+
 const validate = () => {
 	// 根据后续的业务需求 调整 validate 的功能
 	return new Promise((resolve, reject) => {
@@ -26,25 +21,27 @@ defineExpose({
 					<div class="_1zQ9x381ImhBju8yBmxOez">提交人权限</div>
 					<div class="_2j8sMpwI4XNYcuEeV6f56-">
 						<div class="other-setting-checkbox-item">
-							<el-checkbox label="允许撤销审批中的申请" />
+							<el-checkbox v-model="flowInfo.processSetting.allowRevocation" label="允许撤销审批中的申请" />
 							<p class="revoke-setting-sub-text mtb10">第一个审批节点通过后,提交人仍可撤销申请(配置前已发起的申请不生效)</p>
 						</div>
-<!--						<div class="other-setting-checkbox-item">-->
-<!--							<el-checkbox label="允许撤销31天内通过的审批" />-->
-<!--							<p class="revoke-setting-sub-text mtb10">员工可申请撤销已通过的审批(配置前已通过的审批不可撤销)</p>-->
-<!--						</div>-->
-<!--						<div class="other-setting-checkbox-item">-->
-<!--							<el-checkbox label="允许修改31天内通过的审批" />-->
-<!--							<p class="revoke-setting-sub-text mtb10">提交人可申请修改已通过的审批,用于销假等场景(仅可修改一次,配置前已发起的审批不可修改)</p>-->
-<!--						</div>-->
-<!--						<div class="other-setting-checkbox-item">-->
-<!--							<el-checkbox label="允许代他人提交" />-->
-<!--							<p class="revoke-setting-sub-text mtb10">代提人和实际提交人都需在该审批的发起范围内,提交后将共享审批单后续状态</p>-->
-<!--						</div>-->
+						<template v-if="false">
+							<div class="other-setting-checkbox-item">
+								<el-checkbox label="允许撤销31天内通过的审批" />
+								<p class="revoke-setting-sub-text mtb10">员工可申请撤销已通过的审批(配置前已通过的审批不可撤销)</p>
+							</div>
+							<div class="other-setting-checkbox-item">
+								<el-checkbox label="允许修改31天内通过的审批" />
+								<p class="revoke-setting-sub-text mtb10">提交人可申请修改已通过的审批,用于销假等场景(仅可修改一次,配置前已发起的审批不可修改)</p>
+							</div>
+							<div class="other-setting-checkbox-item">
+								<el-checkbox label="允许代他人提交" />
+								<p class="revoke-setting-sub-text mtb10">代提人和实际提交人都需在该审批的发起范围内,提交后将共享审批单后续状态</p>
+							</div>
+						</template>
 					</div>
 				</div>
 
-				<div class="GS0bhCVCInEfL1rl9MMNr" v-if="false">
+				<div v-if="false" class="GS0bhCVCInEfL1rl9MMNr">
 					<div class="_1zQ9x381ImhBju8yBmxOez">审批人设置</div>
 					<div class="_2j8sMpwI4XNYcuEeV6f56-">
 						<div class="other-setting-checkbox-item">
@@ -62,7 +59,7 @@ defineExpose({
 					</div>
 				</div>
 
-				<div class="GS0bhCVCInEfL1rl9MMNr" v-if="false">
+				<div v-if="false" class="GS0bhCVCInEfL1rl9MMNr">
 					<div class="_1zQ9x381ImhBju8yBmxOez">转发设置</div>
 					<div class="_2j8sMpwI4XNYcuEeV6f56-">
 						<div class="other-setting-checkbox-item">
@@ -72,7 +69,7 @@ defineExpose({
 					</div>
 				</div>
 
-				<div class="GS0bhCVCInEfL1rl9MMNr" v-if="false">
+				<div v-if="false" class="GS0bhCVCInEfL1rl9MMNr">
 					<div class="_1zQ9x381ImhBju8yBmxOez">效率统计</div>
 					<div class="_2j8sMpwI4XNYcuEeV6f56-">
 						<div class="other-setting-checkbox-item">

+ 4 - 0
src/views/flow/create/index.vue

@@ -139,6 +139,9 @@ const validateTabs = async () => {
 			}
 		await _validate().catch(e => {
 			activeTab.value = componentsArr[i].label
+			if (activeTab.value === '表单设计') {
+				ElMessage.error('请为流程设计表单内容')
+			}
 			bool = false
 		})
 		if (!bool) return false
@@ -183,6 +186,7 @@ const getCurrentProcessDetailEv = () => {
 			modelContent.value = JSON.stringify(nodeConfig)
 			processForm.value = res.processForm
 			flowStore.setProcessForm(processForm)
+			flowStore.setProcessSetting(res.processSetting)
 		})
 	}
 }