From 6a72e9e44dc7278e18d55ccd5637b81a1cb2f047 Mon Sep 17 00:00:00 2001 From: zhangyanpeng <bob.zhang@highdatas.com> Date: 星期一, 04 三月 2024 18:16:36 +0800 Subject: [PATCH] Merge branch 'dev' of http://highdatas.com:9000/r/foundation/designer.approve.2 into dev --- src/views/common/process/viewNodes/ApprovalNode.vue | 122 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 122 insertions(+), 0 deletions(-) diff --git a/src/views/common/process/viewNodes/ApprovalNode.vue b/src/views/common/process/viewNodes/ApprovalNode.vue new file mode 100644 index 0000000..de8dbdc --- /dev/null +++ b/src/views/common/process/viewNodes/ApprovalNode.vue @@ -0,0 +1,122 @@ +<template> + <node :title="config.name" :show-error="showError" :content="content" :error-info="errorInfo" + @selected="$emit('selected')" @delNode="$emit('delNode')" @insertNode="type => $emit('insertNode', type)" + placeholder="璇疯缃鎵逛汉" :header-bgc="headerBgc" header-icon="el-icon-s-check"/> +</template> + +<script> +import Node from './Node.vue' + +export default { + name: "ApprovalNode", + props:{ + config:{ + type: Object, + default: () => { + return {} + } + } + }, + components: {Node}, + data() { + return { + showError: false, + errorInfo: '', + } + }, + computed:{ + headerBgc() { + if (this.$store.state.diagramMode === 'viewer') { + return this.config.props.headerBgc + } else { + return '#ff943e' + } + }, + content(){ + const config = this.config.props + let texts = [] + config.assignedUser.forEach(org => texts.push(org.name)) + return String(texts).replaceAll(',', '銆�') + + }, + // flowText(){ + // const config = this.config + // console.log("flowText-config",config); + // + // // return config.approvalArr.filter(ite=>ite.node_id===config.id)[0].approval_time; + // if(config.approvalArr!==undefined){ + // return "鍙戣捣鏃堕棿:"+config.approvalArr.filter(ite=>ite.node_id===config.id)[0].approval_time; + // } + // + // return '' + // } + }, + created() { + }, + methods: { + getFormItemById(id){ + return this.$store.state.design.formItems.find(item => item.id === id) + }, + //鏍¢獙鏁版嵁閰嶇疆鐨勫悎娉曟�� + validate(err){ + try { + this.showError = !this[`validate_${this.config.props.assignedType}`](err) + + if (this.config.props.nobody.handler === 'TO_USER' && this.config.props.nobody.assignedUser.length === 0) { + this.errorInfo = '瀹℃壒浜轰负绌烘椂锛� 杞氦缁欐寚瀹氫汉鍛橈細銆愯鎸囧畾涓�涓叿浣撶殑浜恒��' + err.push('瀹℃壒浜轰负绌烘椂锛� 杞氦缁欐寚瀹氫汉鍛橈細銆愯鎸囧畾涓�涓叿浣撶殑浜恒��') + this.showError = true + } + + return this.showError + } catch (e) { + return true; + } + }, + validate_ASSIGN_USER(err){ + if(this.config.props.assignedUser.length > 0){ + return true; + }else { + this.errorInfo = '璇锋寚瀹氬鎵逛汉鍛�' + err.push(`${this.config.name} 鏈寚瀹氬鎵逛汉鍛榒) + return false + } + }, + validate_SELF_SELECT(err){ + return true; + }, + validate_LEADER_TOP(err){ + return true; + }, + validate_LEADER(err){ + return true; + }, + validate_ROLE(err){ + if (this.config.props.assignedUser.length <= 0){ + this.errorInfo = '璇锋寚瀹氳礋璐e鎵圭殑绯荤粺瑙掕壊' + err.push(`${this.config.name} 鏈寚瀹氬鎵硅鑹瞏) + return false + } + return true; + }, + validate_SELF(err){ + return true; + }, + validate_FORM_USER(err){ + if (this.config.props.formUser === ''){ + this.errorInfo = '璇锋寚瀹氳〃鍗曚腑鐨勪汉鍛樼粍浠�' + err.push(`${this.config.name} 瀹℃壒浜轰负琛ㄥ崟涓汉鍛橈紝浣嗘湭鎸囧畾`) + return false + } + return true; + }, + validate_REFUSE(err){ + return true; + }, + } +} +</script> + +<style scoped> + +</style> -- Gitblit v1.8.0