ソースを参照

推荐管理重构

DESKTOP-2S67K1S\31396 2 年 前
コミット
a3b13cc74d
1 ファイル変更26 行追加8 行削除
  1. 26 8
      src/views/operation/recommend/index.vue

+ 26 - 8
src/views/operation/recommend/index.vue

@@ -1,12 +1,14 @@
 <template>
   <div class="app-container">
-    <el-button type="primary" icon="el-icon-plus" size="mini" @click="dialogVisible = true">新增</el-button>
+    <el-button type="primary" icon="el-icon-plus" size="mini" @click="dialogVisible = true"
+      v-hasPermi="['operation:recommend:add']">新增</el-button>
     <!-- 列表 -->
     <el-table :data="tableData" ref="tableData" row-key="id" :default-sort="{ prop: 'sort', order: 'ascending' }"
       :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
       <el-table-column width="80px">
         <template slot-scope="scope">
-          <el-link v-if="scope.row.hidden" :underline="false" class="el-icon-arrow-right" @click="getList(scope.row, scope.$index)" />
+          <el-link v-if="scope.row.hidden" :underline="false" class="el-icon-arrow-right"
+            @click="getList(scope.row, scope.$index)" />
         </template>
       </el-table-column>
       <el-table-column label="排序" align="center">
@@ -28,17 +30,20 @@
         <template slot-scope="scope">
           <el-date-picker v-if="scope.row.lv === 3" v-model="scope.row.rsDates" type="datetimerange"
             start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd HH:mm:ss"
-            @change="getChange(scope.row)" />
+            @change="getChange(scope.row)" :readonly="checkPermi(['operation:recommend:time'])" />
         </template>
       </el-table-column>
       <el-table-column label="操作" align="center">
         <template slot-scope="scope">
-          <el-button v-if="scope.row.lv === 2" type="text" @click="getDetail(scope.row, '新增')">新增</el-button>
+          <el-button v-if="scope.row.lv === 2" type="text" @click="getDetail(scope.row, '新增')"
+            v-hasPermi="['operation:recommend:add']">新增</el-button>
           <el-button v-if="scope.row.lv === 1" type="text" @click="getDialog(scope.row.id)">历史记录</el-button>
           <span v-else style="margin-left: 10px">
             <el-button type="text" @click="getOpen(scope.row, '查看', true)">查看</el-button>
-            <el-button type="text" @click="getOpen(scope.row, '编辑')">编辑</el-button>
-            <el-button type="delete" @click="getDelete(scope.row)">删除</el-button>
+            <el-button type="text" @click="getOpen(scope.row, '编辑')"
+              v-hasPermi="['operation:recommend:edit']">编辑</el-button>
+            <el-button type="delete" @click="getDelete(scope.row)"
+              v-hasPermi="['operation:recommend:delete']">删除</el-button>
           </span>
         </template>
       </el-table-column>
@@ -97,11 +102,13 @@
         <el-table-column label="当前状态" prop="status" align="center" :formatter="statusFormatter" />
         <el-table-column label="创建时间" prop="createTime" align="center" />
         <el-table-column label="操作" align="center">
-          <template>
-            <el-button type="text">查看</el-button>
+          <template slot-scope="scope">
+            <el-button type="text" @click="getOpen(scope.row, '查看', true)">查看</el-button>
           </template>
         </el-table-column>
       </el-table>
+      <pagination v-show="total > 0" :total="total" :page.sync="dialogForm_list.pageNum"
+        :limit.sync="dialogForm_list.pageSize" @pagination="getHistoryList" />
     </el-dialog>
   </div>
 </template>
@@ -109,6 +116,7 @@
 <script>
 import { tabList, typeList, list, submit, listDetail, remove, history, timeChange } from '@/api/operation/recommend'
 import { currentMixin } from '@/mixin/index'
+import { checkPermi } from '@/utils/permission'
 export default {
   mixins: [currentMixin],
   data() {
@@ -130,6 +138,8 @@ export default {
       title: '新增',
       // 弹窗列表
       dialogTableData: [],
+      // 总数据
+      total: 0,
       // 导航栏
       tabOptions: [],
       // 模板类型
@@ -269,6 +279,11 @@ export default {
       this.dialogVisible_list = true
       this.loading = true
       this.dialogForm_list.categoryId = id
+      this.getHistoryList()
+    },
+
+    // 历史记录列表
+    getHistoryList() {
       history(this.dialogForm_list).then(res => {
         if (res.code === 0) {
           this.dialogTableData = res.data.records
@@ -295,6 +310,9 @@ export default {
     statusFormatter(row) {
       return this.selectDictLabel(this.currentOptions, row.status)
     },
+
+    // 权限判断
+    checkPermi
   }
 }
 </script>