From bfee44c01a3f5f6de96c9dfa1e12cef4700eaf5b Mon Sep 17 00:00:00 2001
From: shikeying <pxzsky@163.com>
Date: 星期二, 11 四月 2023 20:18:12 +0800
Subject: [PATCH] 测试引入的组件列表,修改响应参数

---
 src/views/system/config/index.vue       |  138 ++++++++----
 src/views/user/login.vue                |    7 
 src/views/system/config/index_bak.vue   |  343 +++++++++++++++++++++++++++++++
 src/layout/index.vue                    |   61 +++++
 public/static/config.js                 |    5 
 src/views/components/myTableV3.vue      |   46 ++--
 src/views/activiti/definition/index.vue |    1 
 src/views/components/myButtonV2.vue     |   13 
 8 files changed, 535 insertions(+), 79 deletions(-)

diff --git a/public/static/config.js b/public/static/config.js
index 66d193d..d8322de 100644
--- a/public/static/config.js
+++ b/public/static/config.js
@@ -23,4 +23,7 @@
   timeout: 15 // 璇锋眰瓒呮椂鏃堕棿銆�
 }
 
-const globalConf = dev
+const globalConf = dev;
+
+/** 骞冲彴缁熶竴鍒嗛〉澶у皬锛�2023-04-11 */
+const platformPageSize = 10;
diff --git a/src/layout/index.vue b/src/layout/index.vue
index 65d45ae..0a47150 100644
--- a/src/layout/index.vue
+++ b/src/layout/index.vue
@@ -108,4 +108,65 @@
   .mobile .fixed-header {
     width: 100%;
   }
+
+  // mike, 2023-04-11
+  .noselect {
+    -webkit-touch-callout: none; /* iOS Safari */
+    -webkit-user-select: none; /* Chrome/Safari/Opera */
+    -khtml-user-select: none; /* Konqueror */
+    -moz-user-select: none; /* Firefox */
+    -ms-user-select: none; /* Internet Explorer/Edge */
+    user-select: none; /* Non-prefixed version, currently not supported by any browser */
+  }
+  .main {
+    max-width: 1200px;
+    margin-left: auto;
+    margin-right: auto;
+    padding-left: 25px;
+  }
+
+  .app-main {
+    width: 100%;
+    display: flex;
+  }
+
+  .base-container {
+    /*50 = navbar  */
+    flex: 1;
+    height: calc(100vh - 198px);
+    border-radius:10px;
+    overflow: auto;
+    scrollbar-width: none; /* Firefox */
+    -ms-overflow-style: none; /* IE 10+ */
+    &::-webkit-scrollbar {
+      display: none; /* Chrome Safari */
+    }
+    .box-card{
+      .el-card__body{
+        padding-top: 0;
+        .el-form-item--small.el-form-item{
+          margin-top: 20px;
+          margin-bottom: 0;
+        }
+        .el-form-item--mini.el-form-item{
+          margin-top: 20px;
+          margin-bottom: 0;
+        }
+      }
+    }
+  }
+
+  .sidebar-box {
+    margin: 0 20px 0 0 ;
+    .box-card{
+      min-height: 300px;
+      max-height: calc(100vh - 198px);
+      overflow: auto;
+      scrollbar-width: none; /* Firefox */
+      -ms-overflow-style: none; /* IE 10+ */
+      &::-webkit-scrollbar {
+        display: none; /* Chrome Safari */
+      }
+    }
+  }
 </style>
diff --git a/src/views/activiti/definition/index.vue b/src/views/activiti/definition/index.vue
index 0ec5d26..613cdeb 100644
--- a/src/views/activiti/definition/index.vue
+++ b/src/views/activiti/definition/index.vue
@@ -71,7 +71,6 @@
             type="text"
             icon="el-icon-edit"
             @click="OnlineModificationProcess(scope.row)"
-            v-hasPermi="['activiti:modeler']"
           >鏌ョ湅
           </el-button>
           <el-button
diff --git a/src/views/components/myButtonV2.vue b/src/views/components/myButtonV2.vue
index 0053304..788b4c6 100644
--- a/src/views/components/myButtonV2.vue
+++ b/src/views/components/myButtonV2.vue
@@ -376,9 +376,16 @@
     }
   },
   created() {
-    if (this.checkPermission != '' && this.$store.getters.myButtonPermission.indexOf(this.checkPermission) < 0) {
-      this.show = false
-      return
+    // console.log(this.$store.getters.permissions);
+    if (this.checkPermission != '') {
+      let userPermission = this.$store.getters.permissions;
+      if(userPermission.indexOf("*:*:*") >= 0){
+        // 鏈夋墍鏈夋潈闄�
+        this.show = true;
+      } else if(userPermission.indexOf(this.checkPermission) < 0){
+        this.show = false
+        return
+      }
     }
     this.myName = this.name
     if (this.site == 'filter') {
diff --git a/src/views/components/myTableV3.vue b/src/views/components/myTableV3.vue
index e852263..ec86898 100644
--- a/src/views/components/myTableV3.vue
+++ b/src/views/components/myTableV3.vue
@@ -24,7 +24,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 +80,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>
 
@@ -175,7 +175,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"
@@ -213,9 +213,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 +282,7 @@
           // 鍒嗛〉淇℃伅
           page: {
             small: false,
-            pageNumber: 1,
+            pageNum: 1,
             pageSize: 10,
             total: 0
           }
@@ -295,13 +295,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()
@@ -336,7 +336,7 @@
   },
   watch: {
     filter(val) {
-      this.search({ pageNumber: 1 })
+      this.search({ pageNum: 1 })
     }
   },
   created() {
@@ -354,7 +354,7 @@
         if (this.myTable.paging.page === undefined) {
           this.$set(this.myTable.paging, 'page', {
             small: false,
-            pageNumber: 1,
+            pageNum: 1,
             pageSize: 10,
             total: 0
           })
@@ -366,7 +366,7 @@
         })
         this.$nextTick(() => {
           if (this.myTable.autoLoad) {
-            this.search({ pageNumber: 1 })
+            this.search({ pageNum: 1 })
           }
         })
       }
@@ -381,25 +381,25 @@
         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
@@ -474,16 +474,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 +571,7 @@
         JSON.stringify(
           Object.assign(
             {
-              pageNumber: this.exportParams.pageNumber,
+              pageNum: this.exportParams.pageNum,
               pageSize: this.exportParams.pageSize
             },
             this.filter
diff --git a/src/views/system/config/index.vue b/src/views/system/config/index.vue
index fcc7efd..07646b4 100644
--- a/src/views/system/config/index.vue
+++ b/src/views/system/config/index.vue
@@ -13,7 +13,7 @@
       <el-form-item label="鍙傛暟閿悕" prop="configKey">
         <el-input
           v-model="queryParams.configKey"
-          placeholder="璇疯緭鍏ュ弬鏁伴敭鍚�"
+          placeholder="璇疯緭鍏ュ弬鏁� KEY"
           clearable
           style="width: 240px"
           @keyup.enter.native="handleQuery"
@@ -102,50 +102,8 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-<!--      <el-table-column label="鍙傛暟涓婚敭" align="center" prop="configId" />-->
-      <el-table-column label="KEY" align="left" prop="config_key" :show-overflow-tooltip="true" />
-      <el-table-column label="VALUE" align="left" prop="config_value" />
-      <el-table-column label="鎻忚堪" align="left" prop="config_name" :show-overflow-tooltip="true" />
-      <el-table-column label="鍐呯疆" align="center" prop="config_type">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.config_type"/>
-        </template>
-      </el-table-column>
-      <el-table-column label="澶囨敞" align="left" prop="remark" :show-overflow-tooltip="true" />
-      <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="create_time" width="180">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.create_time) }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:config:edit']"
-          >淇敼</el-button>
-<!--          <el-button-->
-<!--            size="mini"-->
-<!--            type="text"-->
-<!--            icon="el-icon-delete"-->
-<!--            @click="handleDelete(scope.row)"-->
-<!--            v-hasPermi="['system:config:remove']"-->
-<!--          >鍒犻櫎</el-button>-->
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+    <!--鍒楄〃-->
+    <my-table-v3 ref="myTable" :filter="filterFrom" :table="table" />
 
     <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
@@ -181,9 +139,11 @@
 </template>
 
 <script>
-import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache } from "@/api/system/config";
+  import {addConfig, delConfig, getConfig, listConfig, refreshCache, updateConfig} from "@/api/system/config";
+  import myTableV3 from '@/views/components/myTableV3';
 
-export default {
+  export default {
+  components: {myTableV3},
   name: "Config",
   dicts: ['sys_yes_no'],
   data() {
@@ -229,13 +189,90 @@
         config_value: [
           { required: true, message: "鍙傛暟閿�间笉鑳戒负绌�", trigger: "blur" }
         ]
+      },
+
+      /** 鎼滅储鏉′欢*/
+      filterFrom: {
+        title: null
+      },
+
+      table: {
+        showIndex: true, // 鏄惁鏄剧ず搴忓彿
+        expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
+        checkBox: false, // 鏄惁鏄剧ず澶嶉�夋
+        url: globalConf.baseUrl + '/system/config/list', // 璇锋眰鍦板潃
+        // 宸ュ叿鏉�
+        tools: {
+          columnsCtrl: {// 鍒楁帶鍒舵寜閽�
+            show: false
+          },
+          generalExport: {// 閫氱敤瀵煎嚭鎸夐挳
+            show: false
+          },
+          custom: [ // 鑷畾涔夊伐鍏锋潯鎸夐挳
+          ]
+        },
+        columns: [
+          { title: 'KEY', field: 'config_key', align: 'left', width: 190 },
+          { title: 'VALUE', field: 'config_value', align: 'left', width: 200 },
+          { title: '鎻忚堪', field: 'config_name', align: 'left', width: 240 },
+          { title: '鍐呯疆', field: 'config_type', align: 'left', width: 60, formatter: row => {
+              let title = '';
+              switch (row.config_type) {
+                case 'Y':
+                  title = '鏄�'
+                  break
+                case 'N':
+                  title = '鍚�'
+                  break
+              }
+              return { value: title }
+            }
+          },
+          { title: '鍒涘缓鏃堕棿', field: 'create_time', align: 'left', width: 170 },
+          { title: '澶囨敞', field: 'remark', align: 'left', width: 260 }
+        ],
+        // 鎿嶄綔淇℃伅
+        operation: {
+          show: true, // 鏄剧ず鎿嶄綔鍒�
+          width: '100', // 鍒楀
+          attr: [
+            {
+              title: '缂栬緫',
+              checkPermission: 'system:config:edit',
+              events: row => {
+                this.handleUpdate(row)
+              }
+            }
+          ]
+        },
+        paging: {
+          show: true, // 鏄剧ず鍒嗛〉
+          // 鍒嗛〉淇℃伅
+          page: {
+            small: false,
+            pageNum: 1,
+            pageSize: platformPageSize,
+            total: 0
+          }
+        }
       }
     };
   },
+
   created() {
-    this.getList();
+    // this.getList();
   },
   methods: {
+    // 鏌ヨtable鍒楄〃
+    search(pageNum) {
+      if (pageNum != undefined) {
+        this.$refs.myTable.search({ pageNum: pageNum })
+      } else {
+        this.$refs.myTable.search()
+      }
+    },
+
     /** 鏌ヨ鍙傛暟鍒楄〃 */
     getList() {
       this.loading = true;
@@ -337,6 +374,11 @@
       refreshCache().then(() => {
         this.$modal.msgSuccess("鍒锋柊鎴愬姛");
       });
+    },
+
+    /** 鏄剧ず閰嶇疆璇︽儏 */
+    showDetail(row){
+
     }
   }
 };
diff --git a/src/views/system/config/index_bak.vue b/src/views/system/config/index_bak.vue
new file mode 100644
index 0000000..fcc7efd
--- /dev/null
+++ b/src/views/system/config/index_bak.vue
@@ -0,0 +1,343 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="鍙傛暟鍚嶇О" prop="configName">
+        <el-input
+          v-model="queryParams.configName"
+          placeholder="璇疯緭鍏ュ弬鏁板悕绉�"
+          clearable
+          style="width: 240px"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="鍙傛暟閿悕" prop="configKey">
+        <el-input
+          v-model="queryParams.configKey"
+          placeholder="璇疯緭鍏ュ弬鏁伴敭鍚�"
+          clearable
+          style="width: 240px"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="绯荤粺鍐呯疆" prop="configType">
+        <el-select v-model="queryParams.configType" placeholder="绯荤粺鍐呯疆" clearable>
+          <el-option
+            v-for="dict in dict.type.sys_yes_no"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+<!--      <el-form-item label="鍒涘缓鏃堕棿">-->
+<!--        <el-date-picker-->
+<!--          v-model="dateRange"-->
+<!--          style="width: 240px"-->
+<!--          value-format="yyyy-MM-dd"-->
+<!--          type="daterange"-->
+<!--          range-separator="-"-->
+<!--          start-placeholder="寮�濮嬫棩鏈�"-->
+<!--          end-placeholder="缁撴潫鏃ユ湡"-->
+<!--        ></el-date-picker>-->
+<!--      </el-form-item>-->
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:config:add']"
+        >鏂板</el-button>
+      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="success"-->
+<!--          plain-->
+<!--          icon="el-icon-edit"-->
+<!--          size="mini"-->
+<!--          :disabled="single"-->
+<!--          @click="handleUpdate"-->
+<!--          v-hasPermi="['system:config:edit']"-->
+<!--        >淇敼</el-button>-->
+<!--      </el-col>-->
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="danger"-->
+<!--          plain-->
+<!--          icon="el-icon-delete"-->
+<!--          size="mini"-->
+<!--          :disabled="multiple"-->
+<!--          @click="handleDelete"-->
+<!--          v-hasPermi="['system:config:remove']"-->
+<!--        >鍒犻櫎</el-button>-->
+<!--      </el-col>-->
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:config:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-refresh"
+          size="mini"
+          @click="handleRefreshCache"
+          v-hasPermi="['system:config:remove']"
+        >鍒锋柊缂撳瓨</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+<!--      <el-table-column label="鍙傛暟涓婚敭" align="center" prop="configId" />-->
+      <el-table-column label="KEY" align="left" prop="config_key" :show-overflow-tooltip="true" />
+      <el-table-column label="VALUE" align="left" prop="config_value" />
+      <el-table-column label="鎻忚堪" align="left" prop="config_name" :show-overflow-tooltip="true" />
+      <el-table-column label="鍐呯疆" align="center" prop="config_type">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.config_type"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="澶囨敞" align="left" prop="remark" :show-overflow-tooltip="true" />
+      <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="create_time" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.create_time) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:config:edit']"
+          >淇敼</el-button>
+<!--          <el-button-->
+<!--            size="mini"-->
+<!--            type="text"-->
+<!--            icon="el-icon-delete"-->
+<!--            @click="handleDelete(scope.row)"-->
+<!--            v-hasPermi="['system:config:remove']"-->
+<!--          >鍒犻櫎</el-button>-->
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="鍙傛暟鍚嶇О" prop="config_name">
+          <el-input v-model="form.config_name" placeholder="璇疯緭鍏ュ弬鏁板悕绉�" />
+        </el-form-item>
+        <el-form-item label="KEY" prop="config_key">
+          <el-input v-model="form.config_key" placeholder="璇疯緭鍏ュ弬鏁伴敭鍚�" />
+        </el-form-item>
+        <el-form-item label="VALUE" prop="config_value">
+          <el-input v-model="form.config_value" placeholder="璇疯緭鍏ュ弬鏁伴敭鍊�" />
+        </el-form-item>
+        <el-form-item label="绯荤粺鍐呯疆" prop="config_type">
+          <el-radio-group v-model="form.config_type">
+            <el-radio
+              v-for="dict in dict.type.sys_yes_no"
+              :key="dict.value"
+              :label="dict.value"
+            >{{dict.label}}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="澶囨敞" prop="remark">
+          <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache } from "@/api/system/config";
+
+export default {
+  name: "Config",
+  dicts: ['sys_yes_no'],
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鍙傛暟琛ㄦ牸鏁版嵁
+      configList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏃ユ湡鑼冨洿
+      dateRange: [],
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        configName: undefined,
+        configKey: undefined,
+        configType: undefined
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        config_name: [
+          { required: true, message: "鍙傛暟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        config_key: [
+          { required: true, message: "鍙傛暟閿悕涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        config_value: [
+          { required: true, message: "鍙傛暟閿�间笉鑳戒负绌�", trigger: "blur" }
+        ]
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鍙傛暟鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
+          this.configList = response.data;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        config_id: undefined,
+        config_name: undefined,
+        config_key: undefined,
+        config_value: undefined,
+        config_type: "Y",
+        remark: undefined
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鍙傛暟";
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.configId)
+      this.single = selection.length!=1
+      this.multiple = !selection.length
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const configId = row.config_id || this.ids
+      getConfig(configId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鍙傛暟";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm: function() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.config_id != undefined) {
+            updateConfig(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addConfig(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const configIds = row.config_id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鍙傛暟缂栧彿涓�"' + configIds + '"鐨勬暟鎹」锛�').then(function() {
+          return delConfig(configIds);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('system/config/export', {
+        ...this.queryParams
+      }, `config_${new Date().getTime()}.xlsx`)
+    },
+    /** 鍒锋柊缂撳瓨鎸夐挳鎿嶄綔 */
+    handleRefreshCache() {
+      refreshCache().then(() => {
+        this.$modal.msgSuccess("鍒锋柊鎴愬姛");
+      });
+    }
+  }
+};
+</script>
diff --git a/src/views/user/login.vue b/src/views/user/login.vue
index aa875b7..c3cd50c 100644
--- a/src/views/user/login.vue
+++ b/src/views/user/login.vue
@@ -94,7 +94,7 @@
         code:'',
         uuid: '',
         loginType: 'user_pass',  // 鐢ㄦ埛鍚嶃�佸瘑鐮佹柟寮忕櫥褰�
-        verifyType: 'jigsaw'//  'code': 楠岃瘉鐮�  'slide':婊戝潡  'jigsaw':鎷煎浘
+        verifyType: 'slide'//  'code': 楠岃瘉鐮�  'slide':婊戝潡  'jigsaw':鎷煎浘
         // rememberMe: false,
       },
       loginRules: {
@@ -176,8 +176,9 @@
       this.loginForm.rememberMe = rememberMe === undefined ? this.loginForm.rememberMe : rememberMe
     },
     handleLogin(param) {
-      // console.log(param);
-      if(param != null){
+      if(this.loginForm.verifyType==='jigsaw' && param != null){
+        // console.log(param);
+        // console.log("鎷煎浘鎻愪氦鍙傛暟");
         // 鎷煎浘楠岃瘉鐮佹椂锛岃皟鐢ㄦ柟浼氫紶鍏ode锛堢敤鎴烽獙璇佺爜浣嶇疆锛夛紝uuid
         this.loginForm.code = param.x;
         this.loginForm.uuid = param.uuid;

--
Gitblit v1.9.1