From 98f9901f5f50f4123557909f511d53c5da1608e9 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期三, 08 五月 2024 16:05:03 +0800
Subject: [PATCH] 删除action
---
Source/ProjectWeb/src/views/base/UIContentArea.vue | 127 ++++++++++++++++++++++++++++++------------
1 files changed, 90 insertions(+), 37 deletions(-)
diff --git a/Source/ProjectWeb/src/views/base/UIContentArea.vue b/Source/ProjectWeb/src/views/base/UIContentArea.vue
index 41c9ee3..c9f0c92 100644
--- a/Source/ProjectWeb/src/views/base/UIContentArea.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentArea.vue
@@ -22,12 +22,17 @@
</el-collapse>
<div v-else class="componentVO">
<compoent-index :key="areasName+'componentVO-'+areaItem.componentVOs[0].oid"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:inDialog="inDialog"
+ :canEdit="canEdit"
:componentVO="areaItem.componentVOs[0]"
:sourceData="newSourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
+ @setData="setData"
@setDataStore="setDataStore"
:isShow="activeName==(areasName+'-Tab-'+index)?true:false"></compoent-index>
</div>
@@ -41,12 +46,17 @@
</template>
<div class="componentVO">
<compoent-index :key="areasName+'componentVO-'+componentVO.oid"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:inDialog="inDialog"
+ :canEdit="canEdit"
:componentVO="componentVO"
:sourceData="newSourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
+ @setData="setData"
@setDataStore="setDataStore"
:isShow="collapseActiveNames.indexOf(areasName+'-collapse-'+componentIndex)!=-1?true:false"></compoent-index>
</div>
@@ -54,12 +64,17 @@
</el-collapse>
<div v-else class="componentVO">
<compoent-index :key="areasName+'componentVO-'+newAreasData[0].componentVOs[0].oid"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:inDialog="inDialog"
+ :canEdit="canEdit"
:componentVO="newAreasData[0].componentVOs[0]"
:sourceData="newSourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
+ @setData="setData"
@setDataStore="setDataStore"
:isShow="true"></compoent-index>
</div>
@@ -75,24 +90,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>
@@ -104,9 +116,22 @@
name: "UIContentArea",
components:{compoentIndex},
props:{
+ //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
+ uiBtmType: {
+ type: String
+ },
+ //ui涓婁笅鏂�
+ uiContext:{
+ type: String
+ },
inDialog: {
type: Boolean,
default: false
+ },
+ canEdit:{
+ //鍐呭鏄惁鍙紪杈�
+ type:Boolean,
+ default:false
},
areasName:{
type:String,
@@ -120,6 +145,10 @@
//鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
type:Object,
default: {}
+ },
+ //涓婁竴鍖哄煙涓氬姟绫诲瀷
+ sourceBtmType:{
+ type: String
},
dataStore:{
//寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁
@@ -135,24 +164,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,29 +177,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) {
@@ -192,6 +242,9 @@
handleChange(val) {
//console.log(val);
},
+ setData(value) {
+ this.$emit("setData", value);
+ },
setDataStore(value) {
this.$emit("setDataStore", value);
this.dataStore = value.dataStore;
--
Gitblit v1.9.3