From c4d9e7a20dac267c5496ad3586c5053be279a17a Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 26 四月 2024 20:09:59 +0800
Subject: [PATCH] 添加action,表单组件

---
 Source/ProjectWeb/src/views/base/UIContentArea.vue |   92 +++++++++++++++++++++++++++------------------
 1 files changed, 55 insertions(+), 37 deletions(-)

diff --git a/Source/ProjectWeb/src/views/base/UIContentArea.vue b/Source/ProjectWeb/src/views/base/UIContentArea.vue
index 82f2975..3978afc 100644
--- a/Source/ProjectWeb/src/views/base/UIContentArea.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentArea.vue
@@ -84,24 +84,21 @@
         description="璇ュ尯鍩熸病鏈夐厤缃樉绀虹殑鍐呭">
       </el-alert>
       <el-alert
-        v-else-if="Object.keys(newSourceData).length === 0"
-        class="alert"
-        :closable="false"
-        title="婧愭暟鎹负绌�"
-        type="error"
-        show-icon
-        description="涓嶆弧瓒虫樉绀鸿〃杈惧紡鏉′欢锛屾病鏈夊彲鏄剧ず鐨勫唴瀹�">
-      </el-alert>
-      <el-alert
-        v-else
+        v-else-if="Object.keys(newSourceData).length== 0"
         class="alert"
         :closable="false"
         title=""
-        type="error"
-        show-icon
+        type="info"
+        description="娌℃湁鍙樉绀虹殑鍐呭锛岃閫夋嫨鏉ユ簮鏁版嵁銆�">
+      </el-alert>
+      <el-alert
+        v-else-if="newAreasData.length== 0"
+        class="alert"
+        :closable="false"
+        title=""
+        type="info"
         description="涓嶆弧瓒虫樉绀鸿〃杈惧紡鏉′欢锛屾病鏈夊彲鏄剧ず鐨勫唴瀹广��">
       </el-alert>
-      {{newSourceData}}
     </div>
   </basic-container>
 </template>
@@ -156,24 +153,11 @@
   data(){
     return{
       activeName:this.areasName+'-Tab-0',
-      collapseActiveNames:[this.areasName+'-collapse-0']
+      collapseActiveNames:[this.areasName+'-collapse-0'],
+      newAreasData:[]
     }
   },
   computed:{
-    newAreasData(){
-      let newAreasData = [];
-      this.areasData.forEach(areaData => {
-        //楠岃瘉鏄惧紡琛ㄨ揪寮�
-        if (!validatenull(areaData.displayExpression)) {
-          if (this.checkDisplayExpression(areaData.displayExpression)) {
-            newAreasData.push(areaData)
-          }
-        } else {
-          newAreasData.push(areaData)
-        }
-      })
-     return newAreasData;
-    },
     newSourceData(){
       if(this.sourceData.attributes && this.sourceData.parentId!=undefined && this.sourceData.parentId !=null){
         //婧愭暟鎹槸鏍戣妭鐐�
@@ -182,29 +166,63 @@
       return this.sourceData;
     }
   },
+  watch: {
+    'newSourceData':{
+      handler(newval) {
+        this.getNewAreasData();
+      }
+    }
+  },
   created() {
-
+    this.getNewAreasData();
   },
   mounted() {
     // console.log(this.areasData);
   },
   methods:{
-    checkDisplayExpression(displayExpressionStr){
+    getNewAreasData(){
+      if(Object.keys(this.newSourceData).length> 0){
+        let newAreasData = [];
+        this.areasData.forEach(areaData => {
+          //楠岃瘉鏄惧紡琛ㄨ揪寮�
+          if (!validatenull(areaData.displayExpression)) {
+            if (this.checkDisplayExpression(areaData.displayExpression)) {
+              newAreasData.push(areaData)
+            }
+          } else {
+            newAreasData.push(areaData)
+          }
+        })
+        this.newAreasData = newAreasData;
+      }else {
+        this.newAreasData=this.areasData;
+      }
+    },
+    checkDisplayExpression(displayExpressionStr) {
       //"${folderbusinesstype}"<>"workunit" and "${folderbusinesstype}"<>"part"  and "${folderbusinesstype}"<>"Terminology" and  "${folderbusinesstype}"<>"AssMaterial" and  "${folderbusinesstype}"<>"resourcelib" and  "${folderbusinesstype}"<>"material"  and "${folderbusinesstype}"<>"machine"
       // "${folderbusinesstype}"="AssMaterial" or "${folderbusinesstype}"="assmaterial"
       //"${folderbusinesstype}"="material"
+      //("${btmname}"="浜у搧鍨嬪彿" and "${producttype}"<>"璇曢獙浠�") or "${btmname}"="ppart"or "${btmname}"="宸ヨ壓闆朵欢"or "${btmname}"="part"or "${btmname}"="闆朵欢"
       //${folderbusinesstype}涓烘簮鏁版嵁涓殑灞炴��
 
-      let checkdisplay=false;
+      let checkdisplay = false;
       //鏇挎崲and鍜宱r
-      let newDisplayExpressionStr=displayExpressionStr.replace(/"\s*and\s*"/g,'" && "').replace(/"\s*AND\s*"/g,'" && "').replace(/"\s*or\s*"/g,'" || "').replace(/"\s*OR\s*"/g,'" || "');
-      newDisplayExpressionStr=newDisplayExpressionStr.replace(/"\s*<>\s*"/g,'" != "').replace(/"\s*=\s*"/g,'" == "');
-      newDisplayExpressionStr=newDisplayExpressionStr.replace(/"\$\{/g,'this.newSourceData.').replace(/\}"/g,'')
+      let newDisplayExpressionStr = displayExpressionStr.replace(/"\s*and\s*"/g, '" && "').replace(/"\s*AND\s*"/g, '" && "').replace(/"\s*or\s*"/g, '" || "').replace(/"\s*OR\s*"/g, '" || "');
+      newDisplayExpressionStr = newDisplayExpressionStr.replace(/\)\s*and\s*"/g, ') && "').replace(/\)\s*AND\s*"/g, ') && "').replace(/\)\s*or\s*"/g, ') || "').replace(/\)\s*OR\s*"/g, ') || "');
+      newDisplayExpressionStr = newDisplayExpressionStr.replace(/"\s*and\s*\(/g, '" && (').replace(/"\s*AND\s*\(/g, '" && (').replace(/"\s*or\s*\(/g, '" || (').replace(/"\s*OR\s*\(/g, '" || (');
+      newDisplayExpressionStr = newDisplayExpressionStr.replace(/\)\s*and\s*\(/g, ') && (').replace(/\)\s*AND\s*\(/g, ') && (').replace(/\)\s*or\s*\(/g, ') || (').replace(/\)\s*OR\s*\(/g, ') || (');
+      //鏇挎崲绗﹀彿
+      newDisplayExpressionStr = newDisplayExpressionStr.replace(/"\s*<>\s*"/g, '" != "').replace(/"\s*=\s*"/g, '" == "');
+      newDisplayExpressionStr = newDisplayExpressionStr.replace(/"\$\{/g, 'this.newSourceData.').replace(/\}"/g, '')
 
-      const sandbox = {};
-      if(eval('('+newDisplayExpressionStr+')')){
-        checkdisplay=true;
+      try {
+        if (eval('(' + newDisplayExpressionStr + ')')) {
+          checkdisplay = true;
+        }
+      }catch (e) {
+        console.log(displayExpressionStr);
       }
+
       return checkdisplay;
     },
     tabHandleClick(tab, event) {

--
Gitblit v1.9.3