Browse Source

feat:验证码树形组件

hmc 1 year ago
parent
commit
3c6ac38232

+ 13 - 0
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysTenantController.java

@@ -1,6 +1,7 @@
 package com.zkqy.web.controller.system;
 
 import java.util.List;
+import java.util.Map;
 import javax.servlet.http.HttpServletResponse;
 
 import com.zkqy.common.annotation.Anonymous;
@@ -56,6 +57,18 @@ public class SysTenantController extends BaseController {
         return getDataTable(list);
     }
 
+    /**
+     * 激活码页面查询租户信息列表
+     * @return
+     */
+    @GetMapping("/getCodeTenantAllList")
+    public TableDataInfo getCodeTenantAllList() {
+        List<Map<String, Object>> list = sysTenantService.selectCodeTenantAllList();
+        return getDataTable(list);
+    }
+
+
+
     /**
      * 导出租户信息列表
      */

+ 11 - 0
zkqy-common/src/main/java/com/zkqy/common/core/domain/entity/SysUser.java

@@ -71,6 +71,17 @@ public class SysUser extends BaseEntity
     @Excel(name = "最后登录IP", type = Type.EXPORT)
     private String loginIp;
 
+    @Excel(name = "最后登录IP", type = Type.EXPORT)
+    private String isCanTools;
+
+    public String getIsCanTools() {
+        return isCanTools;
+    }
+
+    public void setIsCanTools(String isCanTools) {
+        this.isCanTools = isCanTools;
+    }
+
     /** 最后登录时间 */
     @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
     private Date loginDate;

+ 8 - 0
zkqy-system/src/main/java/com/zkqy/system/mapper/SysTenantMapper.java

@@ -51,6 +51,14 @@ public interface SysTenantMapper {
      */
     public List<SysTenant> selectSysTenantList(SysTenant sysTenant);
 
+    /**
+     * 查询租户信息列表
+     * 不分页,查询激活码租户列表
+     * @return 租户信息集合
+     */
+    public List<SysTenant> selectCodeSysTenantList();
+
+
     /**
      * 新增租户信息
      *

+ 7 - 0
zkqy-system/src/main/java/com/zkqy/system/service/ISysTenantService.java

@@ -1,6 +1,7 @@
 package com.zkqy.system.service;
 
 import java.util.List;
+import java.util.Map;
 
 import com.zkqy.common.core.domain.AjaxResult;
 import com.zkqy.common.core.domain.entity.SysTenant;
@@ -106,4 +107,10 @@ public interface ISysTenantService {
      * @return
      */
     List<SysTenant> selectTenantTree(Long tenantId);
+
+    /**
+     * 激活码页面查询所有的租户信息
+     * @return
+     */
+    List<Map<String, Object>> selectCodeTenantAllList();
 }

+ 2 - 0
zkqy-system/src/main/java/com/zkqy/system/service/impl/SysMenuServiceImpl.java

@@ -138,6 +138,8 @@ public class SysMenuServiceImpl implements ISysMenuService {
             menus = menuMapper.selectMenuTreeAll();
         } else if (user.isTenantAdmin()) {
             menus = menuMapper.selectTenantMenuTreeAll(user.getTenantId());
+        } else if(user.getIsCanTools().equals("0")){
+            menus = menuMapper.selectTenantMenuTreeAll(user.getTenantId());
         } else {
             menus = menuMapper.selectMenuTreeByUserId(userId);
         }

+ 4 - 0
zkqy-system/src/main/resources/mapper/system/SysTenantMapper.xml

@@ -156,4 +156,8 @@
         and tenant_parent_id = #{tenantId} or tenant_id = #{tenantId}
     </select>
 
+    <select id="selectCodeSysTenantList"  resultMap="SysTenantResult">
+        <include refid="selectSysTenantVo"/>
+    </select>
+
 </mapper>

+ 9 - 0
zkqy-ui/src/api/system/tenant.js

@@ -116,3 +116,12 @@ export function activationOperation(data) {
     method: 'get',
   })
 }
+
+
+
+export function getCodeTenantAllList() {
+  return request({
+    url: `/system/tenant/getCodeTenantAllList`,
+    method: 'get',
+  })
+}

+ 5 - 5
zkqy-ui/src/views/asEditor/components/rightslider/investigatestyle/index.vue

@@ -10,7 +10,7 @@
       </p>
     </div>
     <!-- <el-from ref="form" :model="datas" label-width="80px">
-      
+
     </el-from>-->
     <el-form ref="form" :model="datas" label-width="80px">
       <el-form-item label="表单名称">
@@ -187,7 +187,7 @@
           @input="item.value1 = item.value.split('#')"
           placeholder="多项之间用‘#’逗号隔开"
           v-if="
-            item.type !== 0 && item.optionType === '' 
+            item.type !== 0 && item.optionType === ''
           "
         ></el-input>
       </el-form-item>
@@ -529,9 +529,9 @@ export default {
         margin-bottom: 10px;
       }
       /* &:nth-child(3) {
-         width: 90%; 
-        
-        / flex: 1; 
+         width: 90%;
+
+        / flex: 1;
       } */
       &:nth-child(4) {
         width: 100%;

+ 6 - 4
zkqy-ui/src/views/asEditor/layout/home/index.vue

@@ -30,7 +30,7 @@
         >
       </el-form-item>
     </el-form>
-
+<!--    v-hasPermi="['system:data:add']"-->
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
@@ -39,7 +39,7 @@
           icon="el-icon-plus"
           size="mini"
           @click="handleAdd"
-          v-hasPermi="['system:data:add']"
+
           >新增</el-button
         >
       </el-col>
@@ -55,6 +55,7 @@
           >修改</el-button
         >
       </el-col>
+<!--                v-hasPermi="['system:data:remove']"-->
       <el-col :span="1.5">
         <el-button
           type="danger"
@@ -63,10 +64,11 @@
           size="mini"
           :disabled="multiple"
           @click="handleDelete"
-          v-hasPermi="['system:data:remove']"
+
           >删除</el-button
         >
       </el-col>
+<!--      v-hasPermi="['system:data:export']"-->
       <el-col :span="1.5">
         <el-button
           type="warning"
@@ -74,7 +76,7 @@
           icon="el-icon-download"
           size="mini"
           @click="handleExport"
-          v-hasPermi="['system:data:export']"
+
           >导出</el-button
         >
       </el-col>

+ 32 - 14
zkqy-ui/src/views/system/tenant/code/index.vue

@@ -8,20 +8,25 @@
         label-width="80px"
       >
         <el-form-item label="租户信息" prop="tenantCode">
-          <el-select
-            v-model="activationCode.tenantCode"
-            placeholder="请选择"
-            filterable
-          >
-            <el-option
-              v-for="item in tenantList"
-              :key="item.tenantId"
-              :label="item.tenantName"
-              :value="item.tenantId"
-            >
-            </el-option>
-          </el-select>
+              <treeselect v-model="activationCode.tenantCode" :options="tenantRows" :multiple="false" :disable-branch-nodes="false"
+                      :clear-on-select="true" :flat="true" :show-count="true" placeholder="请选择租户" style="width: 217px" />
         </el-form-item>
+
+<!--        <el-form-item label="租户信息" prop="tenantCode">-->
+<!--          <el-select-->
+<!--            v-model="activationCode.tenantCode"-->
+<!--            placeholder="请选择"-->
+<!--            filterable-->
+<!--          >-->
+<!--            <el-option-->
+<!--              v-for="item in tenantList"-->
+<!--              :key="item.tenantId"-->
+<!--              :label="item.tenantName"-->
+<!--              :value="item.tenantId"-->
+<!--            >-->
+<!--            </el-option>-->
+<!--          </el-select>-->
+<!--        </el-form-item>-->
         <el-form-item
           label="充值时间"
           prop="tenantExpirationDate"
@@ -154,7 +159,7 @@
 </template>
 
 <script>
-import { listTenant, createTenantCode } from "@/api/system/tenant";
+import { listTenant,getCodeTenantAllList, createTenantCode } from "@/api/system/tenant";
 import {
   list,
   delActivationLog,
@@ -163,11 +168,16 @@ import {
 
 import Clipboard from "clipboard";
 
+import Treeselect from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+
 export default {
   name: "TenantCode",
+  components: { Treeselect },
   data() {
     return {
       options: [],
+      tenantRows: [],
       //表单校验
       rulesActivationCode: {
         tenantCode: [
@@ -217,8 +227,16 @@ export default {
   created() {
     this.getList();
     this.getCodeLogList();
+    this.getCodeTenantAllList();
   },
   methods: {
+    //查询租户信息列表
+    getCodeTenantAllList(){
+      getCodeTenantAllList().then((response) => {
+        // console.log(response)
+        this.tenantRows = response.rows;
+      });
+    },
     //查询租户信息列表
     getList() {
       listTenant({ isEnablePaging: false }).then((response) => {

+ 27 - 8
zkqy-ui/src/views/system/tenant/tenantIndex.vue

@@ -653,7 +653,8 @@ export default {
   },
   data() {
     return {
-      tenantProfession:[],
+
+      tenantProfessionList:[],
       tenantAllList: [],
       // 登录页面数据
       isEdit: false,
@@ -825,7 +826,7 @@ export default {
   },
   created() {
     this.getList();
-    this.selectAllUser();
+    // this.selectAllUser();
     this.getTenantTypeList();
   },
   methods: {
@@ -1120,20 +1121,38 @@ export default {
     },
     /** 新增按钮操作 */
     handleAdd() {
+      this.reset();
       this.getTenantAllList();
-      // this.reset();
       this.open = true;
       this.title = "添加租户信息";
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      const tenantId = row.tenantId || this.ids;
-      getTenant(tenantId).then((response) => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改租户信息";
+      this.getTenantAllList();
+      tenantTree().then((response) => {
+        let tenantAllListOne = this.handleTree(
+          response.data,
+          "tenantId",
+          "tenantParentId"
+        );
+        console.log("1h")
+        this.tenantAllList = [
+          // { tenantId: 0, tenantName: "顶级租户" },
+          ...tenantAllListOne,
+        ];
+        //先拿到当前租户的
+        const tenantId = row.tenantId || this.ids;
+        getTenant(tenantId).then((response) => {
+          console.log("5h")
+          response.data.tenantParentId=parseInt(response.data.tenantParentId)
+          this.form = response.data;
+          this.open = true;
+          this.title = "修改租户信息";
+        });
       });
+
+
     },
     /** 绑定数据源按钮操作 */
     bindDatasource(row) {