From a68ce68105de4a7d61c89298f4e4ef079443ba4a Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 09 十二月 2024 16:53:58 +0800
Subject: [PATCH] 图标管理

---
 Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-table.vue |   69 +++++++++++++++++++++++++---------
 1 files changed, 50 insertions(+), 19 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-table.vue b/Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-table.vue
index 8a7ccc6..551742c 100644
--- a/Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-table.vue
+++ b/Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-table.vue
@@ -4,15 +4,15 @@
                v-model="form"
                :data="tableList"
                :option="option"
-               :page.sync="pageType"
+               :page.sync="componentVO.uiComponentType == 'TreeTable'?{}:pageType"
                :table-loading="loading"
                @on-load="onLoad"
                @search-reset="searchReset"
+               @search-change='searchChange'
                @refresh-change="handleRefresh"
                @current-change="currentChange"
                @size-change="sizeChange"
                @row-click="rowClickChange"
-               @search-change='searchChange'
                @filter="filterChange"
                @selection-change="selectChange">
       <!--top鍖哄煙鎸夐挳-->
@@ -57,6 +57,14 @@
           <el-button icon="el-icon-refresh" circle @click="$refs.dataTable.refreshChange()"
                      :size="scope.size"></el-button>
         </el-tooltip>
+      </template>
+      <template #icon="{ row }">
+          <span class="avue-icon avue-icon--small">
+            <svg v-if="row.icon && row.icon.indexOf('#')==0" aria-hidden="true">
+              <use :xlink:href="row.icon"></use>
+            </svg>
+            <i v-else :class="row.icon"></i>
+          </span>
       </template>
     </avue-crud>
   </div>
@@ -202,9 +210,8 @@
     },
     isShow: {
       handler(newval) {
-        debugger;
         if (newval && this.$el.clientHeight > 50) {
-          this.parentHeight = this.$el.clientHeight - this.$children[0].$children[1].$children[0].$el.clientHeight - this.$children[0].$children[2].$el.clientHeight - 5;
+          this.parentHeight = this.$el.clientHeight - this.$children[0].$children[1].$children[0].$el.clientHeight - (this.$children[0].$children[2].$el.clientHeight || 57) - 5;
         }
         if(newval){
           this.handleRefresh();
@@ -227,10 +234,10 @@
     },
     'sourceData':{
       handler(newval) {
-        if(newval) {
+        if(newval && Object.keys(newval).length>0) {
           this.sourceDataMapParams=this.sourceDataMap();
           this.getParams();
-          // this.handleRefresh();
+          this.handleRefresh();
         }
       },
       deep: true,
@@ -263,6 +270,7 @@
       const queryFields = !validatenull(this.currentDefineVO.queryColumns) ? this.currentDefineVO.queryColumns.map(item => item.field) : [];
       return this.currentDefineVO.cols[0].map(item => {
         const search = queryFields.includes(item.field); // 鍒ゆ柇 field 鏄惁鍦� queryColumns 閲�
+        item.type = this.columnType[item.fieldType] || item.fieldType;
         if (this.currentDefineVO.btmType == 'fileobject' && item.field == 'name') {
           //鏄枃浠�
           item.formatter = function (d) {
@@ -273,38 +281,57 @@
         if (typeof formatter == "string" && formatter != '') {
           formatter = eval("(" + formatter + ")");
         }
-        item.type = this.columnType[item.fieldType] || item.fieldType;
+        if (['date', 'datetime', 'time'].includes(item.type)) {
+          item.valueFormat = item.dateFormate;
+          item.format = item.dateFormate;
+        }
         return {
           ...item,
           prop: item.field,
           label: item.title,
           search: search,
-          formatter: formatter
+          formatter: formatter,
+          overHidden: true
         };
       });
     },
     sourceDataMap: function () {
       const sourceDataMap = {};
       if (Object.keys(this.sourceData).length>0) {
-        if(this.sourceData.oid ) {
-          if (this.sourceData.oid.indexOf('@vcitreesep@') > -1) {
-            this.sourceData.oid = this.sourceData.oid.split('@vcitreesep@')[1];
+        if(this.sourceData.part && Object.keys(this.sourceData.part).length>0){
+          //璇存槑婧愭暟鎹槸鏍戣妭鐐�
+          if(this.sourceData.part.oid ) {
+            if (this.sourceData.part.oid.indexOf('@vcitreesep@') > -1) {
+              this.sourceData.part.oid = this.sourceData.oid.split('@vcitreesep@')[1];
+            }
+            sourceDataMap.sourceBtmName = this.sourceBtmType;
+            sourceDataMap.sourceOid = this.sourceData.part.oid;
           }
-          sourceDataMap.sourceBtmName = this.sourceBtmType;;
-          sourceDataMap.sourceOid = this.sourceData.oid;
+        }else {
+          if(this.sourceData.oid ) {
+            if (this.sourceData.oid.indexOf('@vcitreesep@') > -1) {
+              this.sourceData.oid = this.sourceData.oid.split('@vcitreesep@')[1];
+            }
+            sourceDataMap.sourceBtmName = this.sourceBtmType;
+            sourceDataMap.sourceOid = this.sourceData.oid;
+          }
         }
+
         for (let i in this.sourceData) {
           const item = this.sourceData[i]
-          if (item && item.constructor === Object) continue;
-          if (i == 'type' || i == 'context' || i == 'content') continue;
-          sourceDataMap['sourceData["' + i + '"]'] = item
+          if (['type', 'context', 'content', 'querytemplate', 'querytype'].includes(i)) continue;
+          if (item && item.constructor === Object) {
+            sourceDataMap['sourceData["' + i + '"]'] = JSON.stringify(item)
+          }else {
+            sourceDataMap['sourceData["' + i + '"]'] = item
+          }
         }
       }
 
       if (Object.keys(this.paramVOS).length>0) {
         for (let j in this.paramVOS) {
           if (this.paramVOS[j] && this.paramVOS[j].constructor === Object) continue;
-          if (j == 'type' || j == 'context' || j == 'content' || j == "getdataurl" || j == "getdatamethod" || j == "url" || j == "method" || j == "uploadfileurl" || j == "title") continue;
+          if (['type', 'context', 'content', "getdataurl", "getdatamethod", "url", "method", "uploadfileurl", "title", 'querytemplate', 'querytype', 'usesourcedata','component'].includes(j)) continue;
           sourceDataMap['sourceData["' + j + '"]'] = this.paramVOS[j]
         }
       }
@@ -312,7 +339,7 @@
     },
     getParams: function () {
       const tableParams = {
-        btmname: this.currentDefineVO.btmType,
+        btmName: this.currentDefineVO.btmType,
         btmType:this.currentDefineVO.btmType,
         tableDefineId: this.currentDefineVO.id,
         componentOid: this.componentVO.oid,
@@ -329,7 +356,11 @@
       if (Object.keys(this.sourceData).length>0 && this.isShow) {
         this.tableList = [];
         this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign({},this.params,this.query,params)).then(res => {
+        let url='';
+        if(this.componentVO.bsCustQueryCLsOrUrl && this.componentVO.bsCustQueryCLsOrUrl.indexOf('/')!=-1){
+          url=this.componentVO.bsCustQueryCLsOrUrl;
+        }
+        getList(page.currentPage, page.pageSize, Object.assign({},this.params,this.query,params),url).then(res => {
           let data = [];
           if (res.data && res.data.data) {
             data = res.data.data;

--
Gitblit v1.9.3