From 1b2642c615001b3435a9e99e478517a917f656af Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期五, 26 四月 2024 17:27:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/ProjectWeb/src/views/base/UIContentArea.vue | 102 ++++++++++++++++++++++++++++++++++-----------------
1 files changed, 68 insertions(+), 34 deletions(-)
diff --git a/Source/ProjectWeb/src/views/base/UIContentArea.vue b/Source/ProjectWeb/src/views/base/UIContentArea.vue
index 10e9627..d6c7056 100644
--- a/Source/ProjectWeb/src/views/base/UIContentArea.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentArea.vue
@@ -22,9 +22,12 @@
</el-collapse>
<div v-else class="componentVO">
<compoent-index :key="areasName+'componentVO-'+areaItem.componentVOs[0].oid"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:inDialog="inDialog"
:componentVO="areaItem.componentVOs[0]"
:sourceData="newSourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
@@ -41,9 +44,12 @@
</template>
<div class="componentVO">
<compoent-index :key="areasName+'componentVO-'+componentVO.oid"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:inDialog="inDialog"
:componentVO="componentVO"
:sourceData="newSourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
@@ -54,9 +60,12 @@
</el-collapse>
<div v-else class="componentVO">
<compoent-index :key="areasName+'componentVO-'+newAreasData[0].componentVOs[0].oid"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:inDialog="inDialog"
:componentVO="newAreasData[0].componentVOs[0]"
:sourceData="newSourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
@@ -75,16 +84,7 @@
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=""
@@ -92,7 +92,6 @@
show-icon
description="涓嶆弧瓒虫樉绀鸿〃杈惧紡鏉′欢锛屾病鏈夊彲鏄剧ず鐨勫唴瀹广��">
</el-alert>
- {{newSourceData}}
</div>
</basic-container>
</template>
@@ -104,6 +103,14 @@
name: "UIContentArea",
components:{compoentIndex},
props:{
+ //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
+ uiBtmType: {
+ type: String
+ },
+ //ui涓婁笅鏂�
+ uiContext:{
+ type: String
+ },
inDialog: {
type: Boolean,
default: false
@@ -121,6 +128,10 @@
type:Object,
default: {}
},
+ //涓婁竴鍖哄煙涓氬姟绫诲瀷
+ sourceBtmType:{
+ type: String
+ },
dataStore:{
//寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁
type:Array,
@@ -135,24 +146,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){
//婧愭暟鎹槸鏍戣妭鐐�
@@ -161,27 +159,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,'')
- if(eval('('+newDisplayExpressionStr+')')){
- checkdisplay=true;
+ 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, '')
+
+ try {
+ if (eval('(' + newDisplayExpressionStr + ')')) {
+ checkdisplay = true;
+ }
+ }catch (e) {
+ console.log(displayExpressionStr);
}
+
return checkdisplay;
},
tabHandleClick(tab, event) {
--
Gitblit v1.9.3