From 5788eb7e2d6ba09c732a87b6213a50b30cc80eb4 Mon Sep 17 00:00:00 2001
From: wangting <wangting@vci-tech.com>
Date: 星期五, 27 十二月 2024 18:16:19 +0800
Subject: [PATCH] 调整按钮设计页面,调整UI页签窗口

---
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue                            |    2 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue |  175 ++++++++++++++++++++++++++-----------------
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/components/dialog.vue               |    6 +
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/plShow.vue            |    6 +
 Source/plt-web/plt-web-ui/src/styles/ui.scss                                                   |    7 +
 Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue                    |    2 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue                           |    3 
 7 files changed, 122 insertions(+), 79 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue
index 1b14178..a0596a1 100644
--- a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue
+++ b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/input-icon.vue
@@ -14,7 +14,7 @@
                @close="dialogClose">
       <div style="display: flex;justify-content: space-between;flex-wrap: wrap">
         <div class="tag-group">
-          <span class="tag-group__title">鍒嗙被</span>
+          <span class="tag-group__title" v-if="types.length>0">鍒嗙粍</span>
           <el-tag
             v-for="item in types"
             :key="item.key"
diff --git a/Source/plt-web/plt-web-ui/src/styles/ui.scss b/Source/plt-web/plt-web-ui/src/styles/ui.scss
index 19ebae7..bc94532 100644
--- a/Source/plt-web/plt-web-ui/src/styles/ui.scss
+++ b/Source/plt-web/plt-web-ui/src/styles/ui.scss
@@ -377,7 +377,7 @@
   margin-top: 0 !important;
 }
 .avue-dialog .el-dialog__body{
-  padding: 20px 20px 0px 20px; // 涓婂彸涓嬪乏 鍙栨秷琛ㄦ牸涓嬭竟璺濓紙浼氬嚭鐜版粴鍔ㄦ潯锛�
+  padding: 15px 15px 0px 15px; // 涓婂彸涓嬪乏 鍙栨秷琛ㄦ牸涓嬭竟璺濓紙浼氬嚭鐜版粴鍔ㄦ潯锛�
   margin-bottom: 10px !important;
 }
 .avue-dialog .el-dialog__body .avue-form{
@@ -528,7 +528,7 @@
 }
 
 /*
-鏍�
+  鏍�
  */
 /***闅愯棌鏍戞噿鍔犺浇鏃惰妭鐐逛笂鐨刲oading锛岄槻姝㈣妭鐐规姈鍔�*****/
 .el-tree .el-tree-node__loading-icon{
@@ -540,6 +540,9 @@
   height: 14px !important;
   margin-right: 3px;
 }
+.el-tree-node__label [class*=" el-icon-"],.el-tree-node__label [class^=el-icon-]{
+  font-size: 14px;margin-top: 3px;
+}
 
 .el-select{
   width: 100%;
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/components/dialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/components/dialog.vue
index ed80440..fa491cb 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/components/dialog.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/components/dialog.vue
@@ -163,6 +163,7 @@
       this.dialog.loading = false;
       this.dialog.showDialog = false;
       this.$refs.tree.setCurrentKey(null);
+      this.$emit('cancelAction',null);
     },
     submitDialog() {
       if (this.selectList.length==0) {
@@ -179,8 +180,9 @@
         this.$emit('updataAction', this.selectList[0]);
       }
 
-      this.cancelDialog();
-
+      this.dialog.loading = false;
+      this.dialog.showDialog = false;
+      this.$refs.tree.setCurrentKey(null);
     },
     // 宸︿晶鏍戣姹�
     getTreeList(status) {
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue
index 3586e44..fcf06d1 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue
@@ -214,10 +214,11 @@
         highlightCurrentRow: true,
         rowKey: 'id',
         rowParentKey: 'pid',
-        menuWidth: 360,
+        menuWidth: 300,
         span: 24,
         labelWidth: 100,
         dialogWidth: '800',
+        align:'left',
         column: [{
           label: '鍒嗙被鍚嶇О',
           prop: 'name',
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue
index 13c1cf5..17f529e 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Icons/index.vue
@@ -4,7 +4,7 @@
       <basic-container>
         <div style="display: flex;justify-content: space-between;flex-wrap: wrap">
           <div class="tag-group">
-            <span class="tag-group__title">鍒嗙粍</span>
+            <span class="tag-group__title" v-if="types.length>0">鍒嗙粍</span>
             <el-tag
               v-for="item in types"
               :key="item.key"
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
index 8f682cd..ad32bea 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
@@ -109,28 +109,28 @@
       append-to-body="true"
       class="avue-dialog"
       title="閰嶇疆鎸夐挳"
-      width="75%"
-      @close="dialogClose">
+      width="1200px"
+      @close="$refs.form.clearValidate();disabledBtn=true;">
       <el-container v-loading="dialogLoading">
-        <el-header style="height: 40px !important;">
+        <el-header style="height: 40px !important;padding-left: 5px;">
           <div style="display: flex">
-            <el-button :disabled="!disabledBtn" plain size="mini" type="primary" @click="addClickBtnHandler">娣诲姞
+            <el-button v-show="disabledBtn" :disabled="!disabledBtn" plain size="mini" type="primary" @click="addClickBtnHandler">娣诲姞
             </el-button>
-            <el-button :disabled="!disabledBtn" plain size="mini" type="primary" @click="editClickBtnHandler">淇敼
+            <el-button v-show="disabledBtn" :disabled="!disabledBtn" plain size="mini" type="primary" @click="editClickBtnHandler">淇敼
             </el-button>
-            <el-button :disabled="!disabledBtn" plain size="mini" type="danger" @click="delClickBtnHandler">鍒犻櫎
+            <el-button v-show="disabledBtn" :disabled="!disabledBtn" plain size="mini" type="danger" @click="delClickBtnHandler">鍒犻櫎
             </el-button>
-            <el-button :disabled="disabledBtn" plain size="mini" type="primary" @click="saveClickBtnHandler">淇濆瓨
+            <el-button v-show="!disabledBtn" :disabled="disabledBtn" plain size="mini" icon="el-icon-check" type="success" @click="saveClickBtnHandler">淇濆瓨
             </el-button>
-            <el-button :disabled="disabledBtn" plain size="mini" type="primary" @click="escClickBtnHandler">鍙栨秷
+            <el-button v-show="!disabledBtn" :disabled="disabledBtn" plain size="mini" icon="el-icon-close" type="danger" @click="escClickBtnHandler">鍙栨秷
             </el-button>
-            <el-button plain size="mini" type="primary" @click="changeBottomBtnHandler">璋冩暣涓轰笅绾ф寜閽�</el-button>
-            <el-button plain size="mini" type="primary" @click="changeTopBtnHandler">璋冩暣涓轰笂绾ф寜閽�</el-button>
-            <el-button plain size="mini" type="primary" @click="cloneClickBtnHandler">澶嶅埗鍒板叾浠栫粍浠�</el-button>
+            <el-button v-show="disabledBtn"  plain size="mini" type="primary" @click="changeBottomBtnHandler">璋冩暣涓轰笅绾ф寜閽�</el-button>
+            <el-button v-show="disabledBtn"  plain size="mini" type="primary" @click="changeTopBtnHandler">璋冩暣涓轰笂绾ф寜閽�</el-button>
+            <el-button v-show="disabledBtn"  plain size="mini" type="primary" @click="cloneClickBtnHandler">澶嶅埗鍒板叾浠栫粍浠�</el-button>
           </div>
         </el-header>
         <el-container>
-          <el-aside width="20%">
+          <el-aside width="25%">
             <basic-container>
               <div style="height:650px;">
                 <avue-tree
@@ -141,9 +141,10 @@
                   node-key="value"
                   @node-click="nodeTreeClick">
                   <span slot-scope="{ node, data }" class="el-tree-node__label">
-                    <span style="font-size: 14px">
-                    <i class="el-icon-s-promotion"></i>
-                      {{ (node || {}).label }}
+                    <span style="display: flex">
+                      <i v-if="data.oId=='parentNode'" class="iconShow el-icon-s-home"></i>
+                      <icon-show v-else :name="data.iconPath"></icon-show>
+                        {{ (node || {}).label }}
                     </span>
                   </span>
                 </avue-tree>
@@ -154,30 +155,29 @@
           <el-main>
             <basic-container>
               <el-divider content-position="left">鍩虹淇℃伅</el-divider>
-              <el-form ref="form" :model="basicForm" :rules="rules" label-width="90px" size="small"
+              <el-form ref="form" :model="basicForm" :rules="rules" label-width="100px" size="small"
                        style="margin-top: 20px">
                 <el-row>
-                  <el-form-item :inline-message='true' label="缂栧彿锛�" prop="seq">
-                    <el-input-number v-model="basicForm.seq" :disabled="disabledBtn" :max="9999" :min="1"
-                                     controls-position="right"></el-input-number>
-                  </el-form-item>
+                  <el-col :span="12">
+                    <el-form-item :inline-message='true' label="缂栧彿锛�" prop="seq">
+                      <el-input-number v-model="basicForm.seq" :disabled="disabledBtn" :max="9999" :min="1"
+                                       controls-position="right"></el-input-number>
+                    </el-form-item>
+                  </el-col>
 
-                  <el-form-item :inline-message='true' label="鍚嶇О锛�" prop="label">
-                    <el-col :span="14">
-                      <el-input v-model="basicForm.label" :readonly="disabledBtn"></el-input>
-                    </el-col>
-                  </el-form-item>
+                  <el-col :span="12">
+                    <el-form-item :inline-message='true' label="鍚嶇О锛�" prop="label">
+                      <el-input v-model="basicForm.label" :disabled="disabledBtn"></el-input>
+                    </el-form-item>
+                  </el-col>
 
-                  <el-form-item label="Action锛�" prop="Action">
-                    <el-col :span="14">
-                      <div style="display: flex">
-                        <el-input v-model="basicForm.actionName" :readonly="disabledBtn"></el-input>
-                        <el-button :disabled="disabledBtn" size="mini" style="margin-left: 10px" type="success"
-                                   @click="actionFoucus">閫夋嫨
-                        </el-button>
-                      </div>
-                    </el-col>
-                  </el-form-item>
+                  <el-col :span="12">
+                    <el-form-item label="Action锛�" prop="actionName">
+                      <el-input v-model="basicForm.actionName" :disabled="disabledBtn" :clearable="true" @focus="actionFoucus" @clear="clearActionValue">
+                        <i slot="suffix" class="el-input__icon el-icon-search" style="cursor: pointer" @click="actionFoucus"></i>
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
 
                   <el-col :span="12">
                     <el-form-item label="鏄惁鎺堟潈锛�" prop="authorization">
@@ -185,7 +185,8 @@
                       <el-radio v-model="basicForm.authorization" :disabled="disabledBtn" label="1">鍚�</el-radio>
                     </el-form-item>
                   </el-col>
-
+                  <el-col :span="24">
+                  </el-col>
                   <el-col :span="12">
                     <el-form-item label="鏄惁鏄剧ず锛�" prop="show">
                       <el-radio v-model="basicForm.show" :disabled="disabledBtn" label="0">鏄�</el-radio>
@@ -193,18 +194,22 @@
                     </el-form-item>
                   </el-col>
 
-                  <el-col :span="12">
+                  <el-col :span="12" v-show="basicForm.show=='0'">
                     <el-form-item label="鏄剧ず鏂瑰紡锛�" prop="showType">
                       <el-radio v-model="basicForm.displayMode" :disabled="disabledBtn" label="text">鏂囧瓧</el-radio>
                       <el-radio v-model="basicForm.displayMode" :disabled="disabledBtn" label="image">鍥炬爣</el-radio>
-                      <el-radio v-model="basicForm.displayMode" :disabled="disabledBtn" label="textandimage">鏂囧瓧鍜屽浘鏍�
-                      </el-radio>
+                      <el-radio v-model="basicForm.displayMode" :disabled="disabledBtn" label="textandimage">鏂囧瓧鍜屽浘鏍�</el-radio>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24" v-show="basicForm.show=='0' && (basicForm.displayMode=='image'||basicForm.displayMode=='textandimage')">
+                    <el-form-item label="鍥炬爣锛�" prop="iconPath">
+                      <input-icon v-model="basicForm.iconPath" :disabled="disabledBtn"></input-icon>
                     </el-form-item>
                   </el-col>
 
-                  <el-col :span="12">
+                  <el-col :span="24">
                     <el-form-item label="鎻愮ず淇℃伅锛�" prop="desc">
-                      <el-input v-model="basicForm.desc" :readonly="disabledBtn" type="textarea"></el-input>
+                      <el-input v-model="basicForm.desc" :disabled="disabledBtn" type="textarea"></el-input>
                     </el-form-item>
                   </el-col>
 
@@ -241,7 +246,7 @@
         </el-container>
       </el-container>
     </el-dialog>
-    <action-dialog ref="actionDialog" @updataAction="actionSaveHandler"></action-dialog>
+    <action-dialog ref="actionDialog" @cancelAction="actionCancelHandler" @updataAction="actionSaveHandler"></action-dialog>
     <clone-dialog ref="cloneDialog" :fromOid="fromOid" :sourceOId="sourceOId" paramsType="tab"
                   type="pageDef"></clone-dialog>
     <clone-dialog ref="cloneBtnDialog" :fromOid="formBtnOid" :sourceOId="sourceBtnOid" paramsType="pageDef"
@@ -358,10 +363,13 @@
         editBtn: false,
         delBtn: false,
         refreshBtn: false,
+        dialogWidth:'600',
+        menuWidth:'150',
         column: [
           {
             label: '鍚嶇О',
             prop: 'name',
+            width:180,
             span: 24,
             rules: [
               {
@@ -374,6 +382,7 @@
           {
             label: '鍊�',
             prop: 'value',
+            type:'textarea',
             span: 24,
             rules: [
               {
@@ -391,6 +400,9 @@
         ],
         label: [
           {required: true, message: '璇疯緭鍏ュ悕绉�', trigger: 'blur'},
+        ],
+        actionName: [
+          {required: true, message: '璇烽�夋嫨Action', trigger: 'blur'},
         ],
       },
       // 鎸夐挳璁捐 鍩虹淇℃伅
@@ -1176,6 +1188,7 @@
         value: value
       })) : [];
       this.disabledBtn = true;
+      this.$refs.form.clearValidate()
     },
 
     // 鎸夐挳璁捐鍙傛暟淇℃伅鍒犻櫎
@@ -1253,37 +1266,47 @@
 
     // 鎸夐挳璁捐淇濆瓨
     saveClickBtnHandler() {
-      this.dialogLoading = true;
-      const saveFunction = this.saveType === 'add' ? addTapButton : updateTapButton;
-      const bottomParams = {};
-      if (this.paramsData.length > 0) {
-        this.paramsData.forEach(item => {
-          bottomParams[item.name] = item.value
-        })
+      if (this.basicForm.show == '0' && (this.basicForm.displayMode == 'image' || this.basicForm.displayMode == 'textandimage') && this.basicForm.iconPath == '') {
+        this.$message.error('璇烽�夋嫨鍥炬爣');
+        return;
       }
+      this.$refs.form.validate((valid, done) => {
+        if (valid) {
+          this.dialogLoading = true;
+          const saveFunction = this.saveType === 'add' ? addTapButton : updateTapButton;
+          const bottomParams = {};
+          if (this.paramsData.length > 0) {
+            this.paramsData.forEach(item => {
+              bottomParams[item.name] = item.value
+            })
+          }
+          const params = this.saveType === 'add' ? {
+            ...this.basicForm,
+            parentId: this.nodeTreeRow.oId === 'parentNode' ? '' : this.nodeTreeRow.parentId,
+            buttonParams: bottomParams,
+            tableOId: this.selectList[0].id
+          } : {
+            ...this.basicForm,
+            buttonParams: bottomParams
+          }
 
-      const params = this.saveType === 'add' ? {
-        ...this.basicForm,
-        parentId: this.nodeTreeRow.oId === 'parentNode' ? '' : this.nodeTreeRow.parentId,
-        buttonParams: bottomParams,
-        tableOId: this.selectList[0].id
-      } : {
-        ...this.basicForm,
-        buttonParams: bottomParams
-      }
-
-      saveFunction(params).then(res => {
-        if (res.data.code === 200) {
-          this.$message.success(res.data.obj);
-          this.disabledBtn = true;
-          this.getTabBtnTree();
-          this.basicForm = {};
-          this.paramsData = [];
-          this.dialogLoading = false;
+          saveFunction(params).then(res => {
+            if (res.data.code === 200) {
+              this.$message.success(res.data.obj);
+              this.disabledBtn = true;
+              this.getTabBtnTree();
+              this.basicForm = {};
+              this.paramsData = [];
+              this.dialogLoading = false;
+            }
+          }).catch(err => {
+            this.dialogLoading = false;
+          })
+        } else {
+          return false;
         }
-      }).catch(err => {
-        this.dialogLoading = false;
-      })
+        done();
+      });
     },
 
     // 鎸夐挳璁捐鍒犻櫎
@@ -1342,8 +1365,20 @@
     actionSaveHandler(val) {
       this.$set(this.basicForm, 'actionName', val.plName);
       this.$set(this.basicForm, 'actionOId', val.plOId);
+      this.$refs.form.clearValidate('Action')
+    },
+    // action閫夋嫨寮圭獥鐩存帴鍏抽棴
+    actionCancelHandler() {
+      if(this.basicForm.actionOId){
+        this.$refs.form.clearValidate('Action')
+      }
     },
 
+    //娓呴櫎action
+    clearActionValue(){
+      this.$set(this.basicForm, 'actionName', '');
+      this.$set(this.basicForm, 'actionOId', '');
+    },
     // 鎵撳紑鍏嬮殕瀵硅瘽妗�
     rowCloneHandler(row) {
       this.fromOid = this.sourceData.plOId;
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/plShow.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/plShow.vue
index 1429d44..c1146d4 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/plShow.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/plShow.vue
@@ -54,7 +54,8 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="搴忓彿锛�" prop="plSeq">
-              <el-input v-model="form.plSeq"></el-input>
+              <el-input-number  v-model="form.plSeq" :max="9999" :min="1"
+                                controls-position="right"></el-input-number >
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -324,7 +325,7 @@
     },
     // 缂栬緫鎸夐挳
     rowEditBtnClick(row) {
-      this.form=row;
+      this.form=JSON.parse(JSON.stringify(row));
       this.dialogType = 'edit';
       this.dialogVisible = true;
     },
@@ -388,6 +389,7 @@
         } else {
           return false;
         }
+        done();
       });
     },
     rowCloneHandler(row) {

--
Gitblit v1.9.3