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