From 208548501db7256ab364f904196f614c4f1a0b40 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 29 四月 2024 11:51:14 +0800
Subject: [PATCH] 添加action

---
 Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue |   46 ++++++++------
 Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue           |    9 +++
 Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue |    5 +
 Source/ProjectWeb/src/components/dynamic-components/index.vue          |    9 +++
 Source/ProjectWeb/src/views/base/UIContentArea.vue                     |    8 ++
 Source/ProjectWeb/src/components/actions/AddEditDialog.vue             |   33 +++++++++-
 Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue   |    7 ++
 Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue  |    5 +
 Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue   |    5 +
 9 files changed, 101 insertions(+), 26 deletions(-)

diff --git a/Source/ProjectWeb/src/components/actions/AddEditDialog.vue b/Source/ProjectWeb/src/components/actions/AddEditDialog.vue
index a051c80..09b5960 100644
--- a/Source/ProjectWeb/src/components/actions/AddEditDialog.vue
+++ b/Source/ProjectWeb/src/components/actions/AddEditDialog.vue
@@ -12,19 +12,23 @@
     <basic-form ref="formRef" v-if="paramVOS.form"
                 :key="'dialog-'+paramVOS.form"
                 :span="span"
+                :style="fullscreen?'':'height:'+height"
+                :isEdit="true"
                 :formItems="formItems"
                 :formData="form">
     </basic-form>
     <ui-view ref="uiViewRef" v-else-if="paramVOS.context"
              :key="'AddEditDialog-'+type"
+             :style="fullscreen?'':'height:'+height"
              :btmType="paramVOS.type"
              :context="paramVOS.context"
              :inDialog="true"
+             :canEdit="true"
              :sourceData="sourceData"
              :dataStore="dataStore"
              :paramVOS="paramVOS"
     ></ui-view>
-    <div class="dialog-footer avue-dialog__footer">
+    <div v-if="showSave" class="dialog-footer avue-dialog__footer">
       <el-button type="primary" plain size="small" @click="saveHandler">淇� 瀛�</el-button>
       <el-button size="small" @click="dialogClose">鍙� 娑�</el-button>
       <el-button size="small" @click="resetValue" v-if="paramVOS.form">閲� 缃�</el-button>
@@ -36,6 +40,7 @@
 import uiView from "@/views/base/UIContentViewerInDialog"
 import {getFormDefineById,dataForm} from "@/api/base/ui";
 import {addSave,editSave} from "@/api/base/actions"
+import {validatenull} from "@/util/validate"
 
 export default {
   name: "AddEditDialog",
@@ -60,6 +65,7 @@
     return {
       type:"add",
       visible:false,
+      showSave:this.paramVOS.customBtn || true,
       span:12,
       formItems:[],
       form:{}
@@ -69,11 +75,27 @@
     title(){
       return this.paramVOS.title || (this.type=='add'?'娣诲姞':'淇敼')
     },
-    width(){
-      return this.paramVOS.width || "60%"
+    width() {
+      if (!validatenull(this.paramVOS.width)) {
+        if (this.paramVOS.width.includes("px") || this.paramVOS.width.includes("%")) {
+          return this.paramVOS.width;
+        } else {
+          return this.paramVOS.width + "px";
+        }
+      } else {
+        return "60%";
+      }
     },
     height(){
-      return this.paramVOS.height || "500px"
+      if (!validatenull(this.paramVOS.height)) {
+        if (this.paramVOS.height.includes("px") || this.paramVOS.height.includes("%")) {
+          return this.paramVOS.height;
+        } else {
+          return this.paramVOS.height + "px";
+        }
+      } else {
+        return "auto"
+      }
     },
     fullscreen(){
       if(this.paramVOS.width || this.paramVOS.height){
@@ -81,7 +103,7 @@
       }else if(this.paramVOS.form){
         return false;
       }
-      return false;
+      return true;
     }
   },
   created() {
@@ -139,6 +161,7 @@
         });
       }else{
         //this.$refs.uiViewRef.
+        debugger;
         if(this.saveCallback){
           this.saveCallback({});
         }
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue
index 00548e2..d8fd372 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue
@@ -134,7 +134,7 @@
       const paramVOS=buttonitem.paramVOS;
       const DefineVO = this.componentVO.treeDefineVO || this.componentVO.tableDefineVO || this.componentVO.treeTableDefineVO || this.componentVO.formDefineVO;
       if (!paramVOS['title']) {
-        paramVOS['title'] = buttonitem.name + (DefineVO.title || DefineVO.componentTitle || '');
+        paramVOS['title'] = buttonitem.name + (DefineVO.title || this.componentVO.description || '');
       }
 
       if (!paramVOS['type']) {
@@ -146,29 +146,33 @@
         let values = paramVOS['initvalue'].split(';');
         let initValues = {}
         values.forEach((item,i) => {
-          item = item.replace(':', '=');
-          if (item.indexOf('${') > -1) {
-            if (item.split('=')[1].indexOf('.') > -1) {
-              if (this.sourceData.length < 1 || !this.sourceData.oid) {
-                isShow = false;
-                this.$message.error("璇峰厛閫夋嫨涓�鏉℃潵婧愭暟鎹�");
-                return false;
-              }
-              let name = item.split('=')[1].split('.')[1].replace('${', '').replace('}', '');
-              initValues[item.split('=')[0]] = this.sourceData[name]
-            } else {
-              if (this.dataStore.length < 1) {
-                isShow = false;
-                this.$message.error("璇峰厛閫夋嫨涓�鏉℃暟鎹�");
-                return false;
-              }
-              let name = item.split('=')[1].replace('${', '').replace('}', '');
-              initValues[item.split('=')[0]] = this.dataStore[0][name];
+          if(isShow){
+            item = item.replace(':', '=');
+            if (item.indexOf('${') > -1) {
+              if (item.split('=')[1].indexOf('.') > -1) {
+                if (this.sourceData.length < 1 || !this.sourceData.oid) {
+                  isShow = false;
+                  this.$message.error("璇峰厛閫夋嫨涓�鏉℃潵婧愭暟鎹�")
+                  return false;
+                }
+                let name = item.split('=')[1].split('.')[1].replace('${', '').replace('}', '');
+                initValues[item.split('=')[0]] = this.sourceData[name]
+              } else {
+                if (this.dataStore.length < 1) {
+                  isShow = false;
+                  this.$message.error("璇峰厛閫夋嫨涓�鏉℃暟鎹�");
+                  return false;
+                }
+                let name = item.split('=')[1].replace('${', '').replace('}', '');
+                initValues[item.split('=')[0]] = this.dataStore[0][name];
 
+              }
             }
           }
         })
-        paramVOS['initvalue'] = initValues
+        if(isShow){
+          paramVOS['initvalue'] = initValues
+        }
       }
       if(paramVOS['BSContent'] || paramVOS['BSContext']){
         paramVOS['context']=paramVOS['BSContext'] || paramVOS['BSContent']
@@ -177,6 +181,8 @@
 
       const that=this;
       if(isShow) {
+        //paramVOS.customBtn //寮圭獥榛樿鏈変繚瀛樻寜閽�,customBtn涓簍rue鏃跺唴瀹瑰睍绀鸿嚜瀹氫箟鎸夐挳
+        //paramVOS.form="editknowledgefolderall"
         doAction(buttonitem, {
           paramVOS: paramVOS,
           dataStore: this.dataStore || [],
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
index 2358b28..2d6c692 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
@@ -49,6 +49,11 @@
       type: Boolean,
       default: false
     },
+    canEdit:{
+      //鍐呭鏄惁鍙紪杈�
+      type:Boolean,
+      default:false
+    },
     areasName: {
       type: String,
       default: ''
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
index 0ae6114..c05ef39 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
@@ -6,7 +6,7 @@
                 :span="this.componentVO.formDefineVO.columnOneRow?(24/this.componentVO.formDefineVO.columnOneRow) : 12"
                 :formItems="this.componentVO.formDefineVO && this.componentVO.formDefineVO.items"
                 :disabled="!inDialog"
-                :isEdit="inDialog"
+                :isEdit="canEdit"
                 :formData="form">
     </basic-form>
   </div>
@@ -34,6 +34,11 @@
       type: Boolean,
       default: false
     },
+    canEdit:{
+      //鍐呭鏄惁鍙紪杈�
+      type:Boolean,
+      default:false
+    },
     areasName: {
       type: String,
       default: ''
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
index 92ee092..9d6fdf3 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
@@ -54,6 +54,11 @@
       type: Boolean,
       default: false
     },
+    canEdit:{
+      //鍐呭鏄惁鍙紪杈�
+      type:Boolean,
+      default:false
+    },
     areasName: {
       type: String,
       default: ''//westArea瀵艰埅鍖�
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
index a51cb18..191c5e3 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
@@ -50,6 +50,11 @@
       type: Boolean,
       default: false
     },
+    canEdit:{
+      //鍐呭鏄惁鍙紪杈�
+      type:Boolean,
+      default:false
+    },
     areasName:{
       type:String,
       default:''
diff --git a/Source/ProjectWeb/src/components/dynamic-components/index.vue b/Source/ProjectWeb/src/components/dynamic-components/index.vue
index 3ecb0e5..5f62cb1 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/index.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/index.vue
@@ -4,6 +4,7 @@
                  :uiContext="uiContext"
                  :key="areasName+'table-'+componentVO.oid"
                  :inDialog="inDialog"
+                 :canEdit="canEdit"
                  :componentVO="componentVO"
                  :sourceData="sourceData"
                  :sourceBtmType="sourceBtmType"
@@ -19,6 +20,7 @@
                 :uiContext="uiContext"
                 :key="areasName+'form-'+componentVO.oid"
                 :inDialog="inDialog"
+                :canEdit="canEdit"
                 :componentVO="componentVO"
                 :sourceData="sourceData"
                 :sourceBtmType="sourceBtmType"
@@ -34,6 +36,7 @@
                 :uiContext="uiContext"
                 :key="areasName+'tree-'+componentVO.oid"
                 :inDialog="inDialog"
+                :canEdit="canEdit"
                 :componentVO="componentVO"
                 :sourceData="sourceData"
                 :sourceBtmType="sourceBtmType"
@@ -47,6 +50,7 @@
                   :uiBtmType="uiBtmType"
                   :uiContext="uiContext"
                   :inDialog="inDialog"
+                  :canEdit="canEdit"
                   :key="areasName+'custom-'+componentVO.oid"
                   :componentVO="componentVO"
                   :sourceData="sourceData"
@@ -86,6 +90,11 @@
       type: Boolean,
       default: false
     },
+    canEdit:{
+      //鍐呭鏄惁鍙紪杈�
+      type:Boolean,
+      default:false
+    },
     areasName:{
       type:String,
       default:''
diff --git a/Source/ProjectWeb/src/views/base/UIContentArea.vue b/Source/ProjectWeb/src/views/base/UIContentArea.vue
index 3978afc..4ae0be8 100644
--- a/Source/ProjectWeb/src/views/base/UIContentArea.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentArea.vue
@@ -25,6 +25,7 @@
                           :uiBtmType="uiBtmType"
                           :uiContext="uiContext"
                           :inDialog="inDialog"
+                          :canEdit="canEdit"
                           :componentVO="areaItem.componentVOs[0]"
                           :sourceData="newSourceData"
                           :sourceBtmType="sourceBtmType"
@@ -47,6 +48,7 @@
                             :uiBtmType="uiBtmType"
                             :uiContext="uiContext"
                             :inDialog="inDialog"
+                            :canEdit="canEdit"
                             :componentVO="componentVO"
                             :sourceData="newSourceData"
                             :sourceBtmType="sourceBtmType"
@@ -63,6 +65,7 @@
                         :uiBtmType="uiBtmType"
                         :uiContext="uiContext"
                         :inDialog="inDialog"
+                        :canEdit="canEdit"
                         :componentVO="newAreasData[0].componentVOs[0]"
                         :sourceData="newSourceData"
                         :sourceBtmType="sourceBtmType"
@@ -122,6 +125,11 @@
       type: Boolean,
       default: false
     },
+    canEdit:{
+      //鍐呭鏄惁鍙紪杈�
+      type:Boolean,
+      default:false
+    },
     areasName:{
       type:String,
       default:''
diff --git a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
index 3c680d3..c54bf61 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
@@ -9,6 +9,7 @@
                      :dataStore="checkedData.northAreaInDialog.data"
                      :paramVOS="paramVOS"
                      :inDialog="inDialog"
+                     :canEdit="canEdit"
                      :sourceData="sourceData"
                      :sourceBtmType="btmType"
                      areas-name="northArea"
@@ -27,6 +28,7 @@
                        :dataStore="checkedData.westAreaInDialog.data"
                        :paramVOS="paramVOS"
                        :inDialog="inDialog"
+                       :canEdit="canEdit"
                        :sourceData="sourceData"
                        :sourceBtmType="btmType"
                        areas-name="westArea"
@@ -43,6 +45,7 @@
                          :dataStore="checkedData.centerAreaInDialog.data"
                          :paramVOS="paramVOS"
                          :inDialog="inDialog"
+                         :canEdit="canEdit"
                          :sourceData="checkedData.westAreaInDialog.data[checkedData.westAreaInDialog.data.length-1]"
                          :sourceBtmType="checkedData.westAreaInDialog.DefineVOBtmType"
                          areas-name="centerArea"
@@ -59,6 +62,7 @@
                          :dataStore="checkedData.southAreaInDialog.data"
                          :paramVOS="paramVOS"
                          :inDialog="inDialog"
+                         :canEdit="canEdit"
                          :sourceData="checkedData.centerAreaInDialog.data[checkedData.centerAreaInDialog.data.length-1]"
                          :sourceBtmType="checkedData.centerAreaInDialog.DefineVOBtmType"
                          areas-name="southArea"
@@ -90,6 +94,11 @@
       type: Boolean,
       default: false
     },
+    canEdit:{
+      //鍐呭鏄惁鍙紪杈�
+      type:Boolean,
+      default:false
+    },
     sourceData:{
       //鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
       type:Object,

--
Gitblit v1.9.3