zhaoke 1 year ago
parent
commit
35d0a5ce22
2 changed files with 32 additions and 16 deletions
  1. 1 2
      src/components/publicPageTree/index.vue
  2. 31 14
      src/views/tablePage/index.vue

+ 1 - 2
src/components/publicPageTree/index.vue

@@ -61,10 +61,9 @@ export default {
     },
     async queryTreeData (defaultfilter, serviceid, pagename) {
       this.loading = true;
-      const datacontent = { filter: defaultfilter, serviceid }
+      const datacontent = { filter: defaultfilter }
       try {
         const { code, returnData } = await Query({
-          page: ++this.page,
           serviceid,
           datacontent,
           event: '0'

+ 31 - 14
src/views/tablePage/index.vue

@@ -8,7 +8,7 @@
       <div v-if="treeData.length" class="TablePage_content_left">
         <PublicPageTree :tree-data="treeData" @treeNodeClick="treeNodeClick" />
       </div>
-      <div class="TablePage_content_right">
+      <div :class="treeData.length ? 'tableSacle' : 'tableAuto'" class="TablePage_content_right">
         <PublicPageTable :loading="loading" :table-cols="tableCols" :table-btns="authBtns" :data="tableData" :header-cell-class-name="headerCellClass" :row-class-name="rowClass" :cell-class-name="cellClass" :formatter="tableFormatter" show-summary @mounted="tableMountedHandler" @load="load" @cell-click="cellClickHandler" @handleEdit="handleEdit" @handleOther="handleOther" @handleRemove="handleRemove" />
       </div>
     </div>
@@ -94,6 +94,7 @@ export default {
       loading: false, //页面加载
       advancedDrawer: false, //高级查询弹框开关
       defaultfilter: { 1: 1 }, //默认查询参数
+      pageQuery: {},
       dialogFlag: false,
       pageTitle: '', //页面名称
       treeData: [], //tree数据
@@ -163,6 +164,9 @@ export default {
   methods: {
     //页面初始化
     pageInit () {
+      //获取页面查询参数
+      const { query } = this.$route
+      this.pageQuery = query
       //获取页面配置
       const { pagecode, qid, auth_id } = this.$route.meta
       //获取页面权限类型组件  pagetype 1模块  2页面  3按钮 4表格 5树形  6弹窗
@@ -199,8 +203,7 @@ export default {
       this.authBtns = pageAuths.filter(item => item.superiorid == pageconfigurationid && item.pagetype == 4)
       this.pageServiceId = serviceid;
       this.pageTitle = pagename
-      console.log(defaultfilter)
-      this.defaultfilter = defaultfilter ? defaultfilter : { 1: 1 }
+      this.defaultfilter = Object.keys(this.pageQuery).length ? this.pageQuery : defaultfilter ? defaultfilter : { 1: 1 }
       this.getColumnData(pagecode, userpermissionsid)
     },
     //根据页面按钮设置数据
@@ -236,7 +239,7 @@ export default {
       const filterItem = this.formatDefault(this.treeParameters, data)
       if (!Object.keys(filterItem).length) return
       this.defaultfilter = filterItem
-      this.queryTableData()
+      this.queryTableData(true)
     },
     //格式化传递参数数据
     formatDefault (item, data) {
@@ -277,9 +280,9 @@ export default {
     },
     //表格-其他类型按钮操作
     handleOther (row, auth) {
-      const { openmode, pageroute } = this.pageAuthBtnOther
+      const { openmode, pageroute, passparameters } = this.pageAuthBtnOther
       if (!openmode) return
-      if (openmode != 2) this.autoBtnClick(openmode, pageroute)
+      if (openmode != 2) this.autoBtnClick(openmode, pageroute, passparameters, row)
     },
     //表格-删除
     handleRemove (row) {
@@ -399,12 +402,18 @@ export default {
         this.tableForm = {};
       }
     },
-    autoBtnClick (id, url) {
-      switch (id) {
-        case '1':
-          this.$message.warning('平铺功能开发中')
+    autoBtnClick (id, url, passparameters, row = {}) {
+      switch (Number(id)) {
+        case 1:
+          if (passparameters && Object.keys(row).length) {
+            const filterItem = this.formatDefault(passparameters, row)
+            this.$router.push({
+              path: url,
+              query: filterItem
+            })
+          }
           break;
-        case '2':
+        case 2:
           this.$router.push(url)
           break;
         default:
@@ -515,8 +524,11 @@ export default {
       }
       this.queryTableData()
     },
-    async queryTableData () {
-      this.resetTable()
+    async queryTableData (jumpSing = false) {
+      if (jumpSing) {
+        const initialize = _.once(this.resetTable)
+        initialize()
+      }
       this.loading = true;
       const datacontent = { filter: this.defaultfilter }
       try {
@@ -558,7 +570,12 @@ export default {
       margin-right: 20px;
     }
     &_right {
-      flex: 1;
+    }
+    .tableAuto {
+      width: 100%;
+    }
+    .tableSacle {
+      width: calc(100% - 380px);
     }
   }
 }