From c7bc3eb18e1fda4254ca0195e2133d2ed978de11 Mon Sep 17 00:00:00 2001
From: china <527956374@qq.com>
Date: 星期四, 11 五月 2023 17:48:48 +0800
Subject: [PATCH] 样式调整

---
 src/views/components/myTableV3.vue |  106 +++++++++++++++++++++++++++++++++-------------------
 1 files changed, 67 insertions(+), 39 deletions(-)

diff --git a/src/views/components/myTableV3.vue b/src/views/components/myTableV3.vue
index e852263..9ea4c56 100644
--- a/src/views/components/myTableV3.vue
+++ b/src/views/components/myTableV3.vue
@@ -7,6 +7,7 @@
         v-for="(custom, idx) in myTable.tools.custom"
         :key="idx"
         site="tools"
+        :type="custom.myType"
         :check-permission="custom.checkPermission"
         :name="custom.name"
         @click="custom.click"
@@ -24,7 +25,7 @@
               <el-radio label="2">鍏ㄩ儴</el-radio>
             </el-radio-group>
           </el-form-item>
-          <el-form-item label="椤电爜" style="display: none;" prop="pageNumber"><el-input v-model="exportParams.pageNumber" /></el-form-item>
+          <el-form-item label="椤电爜" style="display: none;" prop="pageNum"><el-input v-model="exportParams.pageNum" /></el-form-item>
           <el-form-item label="姝ラ暱" style="display: none;" prop="pageSize"><el-input v-model="exportParams.pageSize" /></el-form-item>
         </el-form>
         <div style="text-align: right; margin: 0">
@@ -80,7 +81,7 @@
       <!--搴忓彿 鏈夊垎椤垫椂-->
       <el-table-column v-if="myTable.showIndex && myTable.paging.page.pageSize != undefined" label="搴忓彿" align="center" width="60">
         <template slot-scope="scope">
-          <span>{{ scope.$index + (myTable.paging.page.pageNumber - 1) * myTable.paging.page.pageSize + 1 }}</span>
+          <span>{{ scope.$index + (myTable.paging.page.pageNum - 1) * myTable.paging.page.pageSize + 1 }}</span>
         </template>
       </el-table-column>
 
@@ -94,8 +95,7 @@
           :sortable="column.sortable"
           :label="column.title"
           :type="column.type"
-          :width="column.width"
-          :min-width="column.minWidth"
+          :min-width="column.width"
           :align="column.align"
           :header-align="column.align"
         >
@@ -122,7 +122,8 @@
             <template v-else>
               <!--鐐瑰嚮寮瑰嚭鍗曞厓鏍煎唴瀹�-->
               <el-popover placement="top-start" trigger="click" :content="getPopoverContent(scope.row, column)">
-                <span slot="reference" class="content-text">{{ scope.row[column.field] }}</span>
+<!--                <span slot="reference" class="content-text">{{ scope.row[column.field] }}</span>-->
+                <span slot="reference" class="content-text">{{ splitField(scope.row, column.field) }}</span>
               </el-popover>
             </template>
           </template>
@@ -134,7 +135,7 @@
         v-if="myTable.operation.show"
         label="鎿嶄綔"
         align="center"
-        :width="myTable.operation.width"
+        :min-width="myTable.operation.width"
         fixed="right"
       >
         <template slot-scope="scope">
@@ -175,7 +176,7 @@
     </el-table>
     <el-pagination
       :small="myTable.paging.page.small"
-      :current-page="myTable.paging.page.pageNumber"
+      :current-page="myTable.paging.page.pageNum"
       :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
       :page-size="myTable.paging.page.pageSize"
       layout="total, sizes, prev, pager, next, jumper"
@@ -187,13 +188,14 @@
 </template>
 
 <script>
-import myButtonV2 from '@/views/components/myButtonV2'
-import myButton from '@/views/components/myButton'
-import mySwitch from './mySwitch'
-import request from '@/utils/request'
-import * as valid from '@/utils/validate'
-import previewPicture from '@/views/components/previewPicture'
-export default {
+  import myButtonV2 from '@/views/components/myButtonV2'
+  import myButton from '@/views/components/myButton'
+  import mySwitch from './mySwitch'
+  import request from '@/utils/request'
+  import * as valid from '@/utils/validate'
+  import previewPicture from '@/views/components/previewPicture'
+
+  export default {
   components: { myButtonV2, myButton, mySwitch, previewPicture },
   props: {
     table: {
@@ -213,9 +215,9 @@
   },
   data() {
     const validatepageNumber = (rule, value, callback) => {
-      if (!valid.isNotEmpty(this.exportParams.pageNumber)) {
+      if (!valid.isNotEmpty(this.exportParams.pageNum)) {
         callback(new Error('璇疯緭鍏ラ〉鐮�'))
-      } else if (!valid.isInteger(this.exportParams.pageNumber)) {
+      } else if (!valid.isInteger(this.exportParams.pageNum)) {
         callback(new Error('椤电爜涓烘鏁存暟'))
       } else {
         callback()
@@ -282,7 +284,7 @@
           // 鍒嗛〉淇℃伅
           page: {
             small: false,
-            pageNumber: 1,
+            pageNum: 1,
             pageSize: 10,
             total: 0
           }
@@ -295,13 +297,13 @@
         fileName: '',
         fileFormat: '.xls',
         page: '2',
-        pageNumber: 1,
+        pageNum: 1,
         pageSize: 20000
       },
       // 瀵煎嚭琛ㄥ崟鏍¢獙
       rules: {
         fileName: [{ required: true, validator: validatefileName, trigger: 'blur' }],
-        pageNumber: [{ required: true, validator: validatepageNumber, trigger: 'blur' }],
+        pageNum: [{ required: true, validator: validatepageNumber, trigger: 'blur' }],
         pageSize: [{ required: true, validator: validatepageSize, trigger: 'blur' }]
       },
       timeStamp: new Date().getTime()
@@ -324,8 +326,6 @@
       return function(row) {
         const arr = []
         that.myTable.operation.attr.map(item => {
-          console.log(item)
-          console.log(!(item.hidden && item.hidden(row)) && item.checkPermission)
           if (!(item.hidden && item.hidden(row)) && item.checkPermission) {
             arr.push(item)
           }
@@ -336,7 +336,7 @@
   },
   watch: {
     filter(val) {
-      this.search({ pageNumber: 1 })
+      this.search({ pageNum: 1 })
     }
   },
   created() {
@@ -348,13 +348,35 @@
     this.initTable()
   },
   methods: {
+    /**
+     * 瑙e喅锛歠ield涓睘鎬у灞炴�х殑鎯呭喌銆�2023-04-25
+     * @param row
+     * @param field
+     */
+    splitField(row, field){
+      if(field.indexOf('.') > -1){
+        const arr = field.split('.');
+        let fieldStr = '';
+        for(let i=0, len=arr.length; i<len; i++){
+          if(i == len - 1){
+            fieldStr += arr[i];
+          } else {
+            fieldStr += arr[i] + '.';
+          }
+        }
+        return eval('row.' + fieldStr);
+      } else {
+        return row[field];
+      }
+    },
+
     initTable() {
       if (this.table !== null) {
         Object.assign(this.myTable, this.table)
         if (this.myTable.paging.page === undefined) {
           this.$set(this.myTable.paging, 'page', {
             small: false,
-            pageNumber: 1,
+            pageNum: 1,
             pageSize: 10,
             total: 0
           })
@@ -366,7 +388,7 @@
         })
         this.$nextTick(() => {
           if (this.myTable.autoLoad) {
-            this.search({ pageNumber: 1 })
+            this.search({ pageNum: 1 })
           }
         })
       }
@@ -381,28 +403,29 @@
         this.myTable.loading = true
         const params = Object.assign({}, this.filter)
         params.pageSize = this.myTable.paging.page.pageSize
-        if (param && param.pageNumber) {
-          this.myTable.paging.page.pageNumber = param.pageNumber
+        if (param && param.pageNum) {
+          this.myTable.paging.page.pageNum = param.pageNum
         }
-        params.pageNumber = this.myTable.paging.page.pageNumber
+        params.pageNum = this.myTable.paging.page.pageNum
         request({
           url: this.myTable.url,
           method: 'get',
           params: params
         }).then(res => {
-          if (res.data.rows) {
-            this.$set(this.myTable, 'rows', res.data.rows)
+          if (res.data) {
+            this.$set(this.myTable, 'rows', res.data.datas);
           }
           this.$set(
             this.myTable.paging,
             'page',
             Object.assign(this.myTable.paging.page, {
               pageSize: res.data.pageSize,
-              pageNumber: res.data.pageNumber,
-              total: res.data.total
+              pageNum: res.data.pageIndex,
+              total: res.data.totalRows
             })
           )
           this.myTable.loading = false
+          // this.$refs[this.myTable.ref].doLayout()
         }).catch(() => {
           this.myTable.loading = false
         })
@@ -474,16 +497,16 @@
 		 */
     handleSizeChange(pageSize) {
       this.myTable.paging.page.pageSize = pageSize
-      this.search({ pageNumber: 1 })
+      this.search({ pageNum: 1 })
     },
     /*
 		 * @Author : liu.q [916000612@qq.com]
 		 * @Date : 2019-07-17 14:22
 		 * @Description :鍒囨崲pageNumber
 		 */
-    handleCurrentChange(pageNumber) {
-      this.myTable.paging.page.pageNumber = pageNumber
-      this.search({ pageNumber: pageNumber })
+    handleCurrentChange(pageNum) {
+      this.myTable.paging.page.pageNum = pageNum
+      this.search({ pageNum: pageNum })
     },
     /*
 		 * @Author : liu.q [916000612@qq.com]
@@ -571,7 +594,7 @@
         JSON.stringify(
           Object.assign(
             {
-              pageNumber: this.exportParams.pageNumber,
+              pageNum: this.exportParams.pageNum,
               pageSize: this.exportParams.pageSize
             },
             this.filter
@@ -605,8 +628,11 @@
 </script>
 
 <style scoped>
->>> .el-table__fixed-right {
-  height: 100% !important;
+>>> .el-table__header {
+  width: 100% !important;
+}
+>>> .el-table__body {
+  width: 100% !important;
 }
 
 /*璇︽儏琛ㄥ崟*/
@@ -641,5 +667,7 @@
   text-align: center;
   margin: 0 auto;
 }
-
+.table-tool-bar{
+  margin-bottom: 20px;
+}
 </style>

--
Gitblit v1.9.1