Kaynağa Gözat

feat: 审批人调整显示

luoyali 5 ay önce
ebeveyn
işleme
5bfef2242e

+ 26 - 11
src/views/approve/components/consentOrRefuseDialog.vue

@@ -24,17 +24,31 @@
 				required
 				:rules="[{ required: true, message: '请选择下一节点审批人' }]"
 			>
-				<div v-for="(item, index) in nodeModelsData" :key="index" class="flex">
-					<div v-if="item.selectMode" class="mr-2">
-						<el-tooltip content="添加用户" placement="bottom">
-							<el-button style="width: 32px" @click="selectHandler(item, 1)">
-								<svg-icon style="font-size: 18px" icon-class="flow-user-add" />
-							</el-button>
-						</el-tooltip>
-					</div>
-
-					<FlowNodeAvatar v-for="(childItem, childIndex) in item.nodeAssigneeList" :key="childIndex" :name="childItem.name" />
-				</div>
+				<el-timeline>
+					<el-timeline-item v-for="(item, index) in nodeModelsData" :key="index" placement="top" :timestamp="item.nodeName">
+						<div class="flex">
+							<div v-if="item.type === 1">
+								<div v-if="[2, 5].indexOf(item.setType) > -1">
+									<el-tag v-if="item.setType === 2" type="primary">{{ setTypeOptions_config[item.setType] }}</el-tag>
+									<el-tag v-if="item.setType === 5" type="primary">{{
+										item.examineLevel === 1 ? '直接主管' : `发起人的第${item.examineLevel}级主管`
+									}}</el-tag>
+								</div>
+								<div v-if="item.setType === 4">
+									<div v-if="item.selectMode" class="mr-2">
+										<el-tooltip content="添加用户" placement="bottom">
+											<el-button style="width: 32px" @click="selectHandler(item, 1)">
+												<svg-icon style="font-size: 18px" icon-class="flow-user-add" />
+											</el-button>
+										</el-tooltip>
+									</div>
+								</div>
+							</div>
+							<div v-else>其他的类型</div>
+							<FlowNodeAvatar v-for="(childItem, childIndex) in item.nodeAssigneeList" :key="childIndex" :name="childItem.name" />
+						</div>
+					</el-timeline-item>
+				</el-timeline>
 			</el-form-item>
 
 			<el-form-item v-if="currentType !== 'reject'" label="推荐回复">
@@ -83,6 +97,7 @@ import { nextNodesApi, processConsentTaskApi, processPreviousNodeNameApi, proces
 import { ElMessage } from 'element-plus'
 import { debounce } from 'lodash-es'
 import UseSelect from '@/components/scWorkflow/select.vue'
+import { setTypeOptions_config } from '@/components/scWorkflow/nodes/config'
 
 const props = defineProps({
 	// 弹窗是否显示