From 3f2e126dd9ea3c47fa473b18d9fd890763918002 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 22 十一月 2024 15:25:21 +0800
Subject: [PATCH] 首页配置

---
 Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue    |    1 
 Source/plt-web/plt-web-ui/src/views/wel/components/UndoTaskPortlet.vue        |  203 ++++++++++++++++++++++++++++++++++++++++
 Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-table.vue |    9 +
 Source/plt-web/plt-web-ui/src/views/wel/homeConfig.vue                        |   37 +++---
 4 files changed, 228 insertions(+), 22 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue
index ba912dd..3a28de4 100644
--- a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue
+++ b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue
@@ -200,7 +200,6 @@
         value: item.value || item.defaultValue,
         display: item.display || !item.hidden,
         labelSuffix: item.labelSuffix || item.suffix,
-        suffixIcon: item.suffixIcon || item.prefix,
         tip: item.tip || item.tooltips,
         dictCode: item.dictCode || item.comboxKey,
         valueFormat: item.valueFormat ||item.dateFormate ,
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 d964c82..ab8905f 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
@@ -270,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) {
@@ -280,13 +281,17 @@
         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
         };
       });
     },
diff --git a/Source/plt-web/plt-web-ui/src/views/wel/components/UndoTaskPortlet.vue b/Source/plt-web/plt-web-ui/src/views/wel/components/UndoTaskPortlet.vue
new file mode 100644
index 0000000..ae5aa53
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/wel/components/UndoTaskPortlet.vue
@@ -0,0 +1,203 @@
+<template>
+  <!--浠e姙浠诲姟-->
+  <basic-containers  :key="loadKey">
+    <div>
+      <avue-crud
+        ref="crud"
+        :data="data"
+        :option="options"
+        :page.sync="pages"
+        :search.sync="searchParams"
+        :table-loading="loading"
+        @search-change="handleSearch"
+        @search-reset="handleReset"
+        @current-change="currentChange"
+        @size-change="sizeChange">
+        <template slot="title" slot-scope="{row}">
+          <el-link type="primary" @click="linkClickHandler(row)">{{ row.title }}</el-link>
+        </template>
+      </avue-crud>
+    </div>
+  </basic-containers>
+</template>
+
+<script>
+export default {
+  name: "UndoTaskPortlet",
+  data() {
+    return {
+      loadKey:0,
+      data: [],
+      options: {
+        height: 'auto',
+        calcHeight:210,
+        addBtn: false,
+        editBtn: false,
+        delBtn: false,
+        index: true,
+        border: true,
+        menu: false,
+        refreshBtn: false,
+        searchIcon: true,
+        searchShow: true,
+        menuWidth: 120,
+        menuAlign: "center",
+        column: [
+          {
+            label: "绫诲瀷",
+            prop: "msgClassifyText",
+            sortable: true,
+            width: 100,
+          },
+          {
+            label: "娑堟伅鏍囬",
+            prop: "title",
+            search:true,
+            minWidth: 400,
+            sortable: true,
+            searchSpan:6,
+            overHidden: true,
+            slot:true,
+          },
+          {
+            label: "鍙戦�佹椂闂�",
+            prop: "sendTime",
+            width: 130,
+            type:'datetime',
+            overHidden: true,
+            format:'yyyy-MM-dd HH:mm',
+            sortable:true,
+            slot: true
+          },
+          {
+            label: '宸ュ彿',
+            prop: "sendUserCode",
+            searchLabelWidth: 100,
+            search:true,
+            sortable: true,
+            searchSpan:6,
+            width: 130,
+          },
+          {
+            label: "鍙戦�佷汉濮撳悕",
+            prop: "sendUserName",
+            searchLabelWidth: 100,
+            search:true,
+            searchSpan:6,
+            sort: true,
+            width: 130,
+          },
+          {
+            label: "鍐呭",
+            overHidden:true,
+            prop: "msgContent",
+            minWidth: 300
+          },
+        ]
+      },
+      pages: {
+        currentPage: 1,
+        pageSize: 15,
+        pageSizes: [15, 25, 45, 60, 100],
+        total: 0,
+        layout: "prev,pager,next,jumper,sizes,total",
+      },
+      loading: false,
+      searchParams: {
+        pageNum: 1,
+        pageSize: 15,
+      },
+    };
+  },
+  created() {
+    this.getTableList();
+  },
+  mounted() {
+    window.addEventListener('resize', this.handleResize); // 鑾峰彇鐢ㄦ埛缂╂斁浜嬩欢
+  },
+  beforeDestroy() {
+    window.removeEventListener('resize', this.handleResize); // 閿�姣佺粦瀹氱殑鏂规硶
+  },
+  methods: {
+    // 寮哄埗淇敼瀹瑰櫒key鍊�
+    handleResize() {
+      this.loadKey += 1;
+    },
+
+    // 鍒濆鍖栨牴鎹垎杈ㄧ巼鏉ュ喅瀹氶〉闈㈠垵濮嬪灏戞潯鏁版嵁
+    createdPageSize(){
+      let windowHeight = window.outerHeight;
+      if(windowHeight > 1350) this.homeTable.pages.pageSize = 25;
+      if(windowHeight > 1350) this.searchParams.pageSize = 25;
+    },
+
+    getTableList() {
+      this.createdPageSize(); // 鍒ゆ柇椤甸潰鍒嗚鲸鐜�
+
+      getList(this.searchParams).then(res => {
+        if (res && res.success) {
+          this.homeTable.data = res.data;
+          this.homeTable.pages.total = res.total;
+        }
+      });
+    },
+
+    linkClickHandler(row){
+      if(row.msgLink != null && row.msgLink != ''){
+        var link = row.msgLink.replace("inner:","").replace("?","").split("&");
+        var html = link.find((val=>(val.toLowerCase().startsWith("html=")|| val.toLowerCase().startsWith("html ="))));
+        if(html!=null && html!=''){
+          var page = html.split("=")[1].replace("-","/");
+          var single = {
+            fromUndo:true
+          };
+          link.forEach((val)=>{
+            var temp = val.split("=");
+            single[temp[0]] = temp[1];
+          });
+          this.$router.push({
+            path:"/" + page,
+            query:single
+          });
+        }
+      }
+    },
+
+    // 鍒嗛〉閫夋嫨鏄剧ず澶氬皯鏉�
+    sizeChange(val) {
+      this.searchParams.pageSize = val;
+      this.searchParams.pageNum = 1;
+      this.getTableList();
+    },
+
+    // 鍒嗛〉椤电爜
+    currentChange(val) {
+      this.searchParams.pageNum = val;
+      this.getTableList();
+    },
+
+    // 鏌ヨ
+    handleSearch(params, done) {
+      setTimeout(() => {
+        done();
+        this.searchParams = { ...params };
+        this.getTableList();
+      }, 300);
+    },
+
+    // 娓呯┖鎼滅储
+    handleReset() {
+      this.searchParams = this.defaultSearch;
+      this.getTableList();
+    },
+    // 鍒锋柊鏁版嵁
+    handleRefresh() {
+      this.getTableList();
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/wel/homeConfig.vue b/Source/plt-web/plt-web-ui/src/views/wel/homeConfig.vue
index d7efc03..58316cc 100644
--- a/Source/plt-web/plt-web-ui/src/views/wel/homeConfig.vue
+++ b/Source/plt-web/plt-web-ui/src/views/wel/homeConfig.vue
@@ -1,10 +1,9 @@
 <template>
   <basic-container>
     <avue-crud
-      ref="useCrud"
+      ref="crud"
       :data="data"
       :option="option"
-      :page.sync="page"
       :table-loading="loading"
       @selection-change="selectChange"
       @row-click="rowClickHandler"
@@ -37,16 +36,16 @@
       width="500px"
       @close="visibleCloseHandler"
     >
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px" size="small">
+      <el-form ref="form" :model="form" :rules="rules" label-width="90px" size="small">
         <el-row>
           <el-col :span="24">
-            <el-form-item label="鍚嶇О锛�" prop="id">
-              <el-input v-model="form.id"></el-input>
+            <el-form-item label="缁勪欢锛�" prop="id">
+              <avue-select v-model="form.id" placeholder="璇烽�夋嫨缁勪欢" type="tree" :dic="dic"></avue-select>
             </el-form-item>
           </el-col>
           <el-col :span="24">
-            <el-form-item label="鏍囩锛�" prop="name">
-              <el-input v-model="form.name"></el-input>
+            <el-form-item label="鍗犳嵁鍒楁暟锛�" prop="span">
+              <avue-input-number v-model="form.span" precision="0" style="width: 100%" :max="24" :min="1" controls-position="" tip="鎬诲垪鏁颁负24锛屽鍗犳弧鏁磋璇疯緭鍏�24"></avue-input-number>
             </el-form-item>
           </el-col>
           <el-col :span="24">
@@ -91,13 +90,12 @@
         calcHeight: -60,
         column: [
           {
-            label: '鍚嶇О',
+            label: '缁勪欢',
             prop: 'id',
-            sortable: true,
           },
           {
-            label: '鍥炬爣',
-            prop: 'icon'
+            label: '鍗犳嵁鍒楁暟',
+            prop: 'span'
           },
           {
             label: '鏍囩',
@@ -118,18 +116,19 @@
       },
       rules: {
         id: [
-          {required: true, message: '璇疯緭鍏ュ悕绉�', trigger: 'blur'},
+          {required: true, message: '璇烽�夋嫨缁勪欢', trigger: 'blur'},
         ]
       },
+      dic:[{
+        label:'寰呭姙浠诲姟',
+        value:'UndoTaskPortlet'
+      },{
+        label:'閫夐」2',
+        value:1
+      }],
       visible: false,
       selectList: [],
-      lastIndex: null,
-      page: {
-        currentPage: 1,
-        pageSize: 15,
-        total: 0,
-        pageSizes: [15, 30, 50, 100],
-      },
+      lastIndex: null
     }
   },
   created() {

--
Gitblit v1.9.3