فهرست منبع

Merge branch 'master' of http://62.234.61.92:3000/wjm/mec-cloud_IntelligentManufacturing_CLIENT

lph 1 سال پیش
والد
کامیت
4eaf9dc015

+ 10 - 1
zkqy-system/src/main/java/com/zkqy/system/mapper/SysUserMapper.java

@@ -118,7 +118,7 @@ public interface SysUserMapper {
      * @param userName 用户名称
      * @return 结果
      */
-    public SysUser checkUserNameUnique(String userName);
+    public SysUser checkUserNameUnique(@Param("tenantID") String tenantID, @Param("userName") String userName);
 
     /**
      * 校验手机号码是否唯一
@@ -161,4 +161,13 @@ public interface SysUserMapper {
      * @return
      */
     int queryCountUserName(String userName);
+
+    /**
+     * 根据账号查询当前库中存在多少相同账号以及租户信息
+     *
+     * @param tenantID 租户ID
+     * @param userName 租户名称
+     * @return
+     */
+    int queryCountTenantUserName(@Param("tenantID") String tenantID, @Param("userName") String userName);
 }

+ 31 - 29
zkqy-system/src/main/java/com/zkqy/system/service/ISysUserService.java

@@ -1,19 +1,19 @@
 package com.zkqy.system.service;
 
 import java.util.List;
+
 import com.zkqy.common.core.domain.entity.SysUser;
 import org.springframework.http.ResponseEntity;
 
 /**
  * 用户 业务层
- * 
+ *
  * @author ruoyi
  */
-public interface ISysUserService
-{
+public interface ISysUserService {
     /**
      * 根据条件分页查询用户列表
-     * 
+     *
      * @param user 用户信息
      * @return 用户信息集合信息
      */
@@ -21,7 +21,7 @@ public interface ISysUserService
 
     /**
      * 根据条件分页查询已分配用户角色列表
-     * 
+     *
      * @param user 用户信息
      * @return 用户信息集合信息
      */
@@ -29,7 +29,7 @@ public interface ISysUserService
 
     /**
      * 根据条件分页查询未分配用户角色列表
-     * 
+     *
      * @param user 用户信息
      * @return 用户信息集合信息
      */
@@ -37,7 +37,7 @@ public interface ISysUserService
 
     /**
      * 通过用户信息查询用户
-     * 
+     *
      * @param userInfo 用户信息
      * @return 用户对象信息
      */
@@ -45,7 +45,7 @@ public interface ISysUserService
 
     /**
      * 通过用户ID查询用户
-     * 
+     *
      * @param userId 用户ID
      * @return 用户对象信息
      */
@@ -53,7 +53,7 @@ public interface ISysUserService
 
     /**
      * 根据用户ID查询用户所属角色组
-     * 
+     *
      * @param userName 用户名
      * @return 结果
      */
@@ -61,7 +61,7 @@ public interface ISysUserService
 
     /**
      * 根据用户ID查询用户所属岗位组
-     * 
+     *
      * @param userName 用户名
      * @return 结果
      */
@@ -69,7 +69,7 @@ public interface ISysUserService
 
     /**
      * 校验用户名称是否唯一
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -93,21 +93,21 @@ public interface ISysUserService
 
     /**
      * 校验用户是否允许操作
-     * 
+     *
      * @param user 用户信息
      */
     public void checkUserAllowed(SysUser user);
 
     /**
      * 校验用户是否有数据权限
-     * 
+     *
      * @param userId 用户id
      */
     public void checkUserDataScope(Long userId);
 
     /**
      * 新增用户信息
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -115,7 +115,7 @@ public interface ISysUserService
 
     /**
      * 注册用户信息
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -123,7 +123,7 @@ public interface ISysUserService
 
     /**
      * 修改用户信息
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -131,15 +131,15 @@ public interface ISysUserService
 
     /**
      * 用户授权角色
-     * 
-     * @param userId 用户ID
+     *
+     * @param userId  用户ID
      * @param roleIds 角色组
      */
     public void insertUserAuth(Long userId, Long[] roleIds);
 
     /**
      * 修改用户状态
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -147,7 +147,7 @@ public interface ISysUserService
 
     /**
      * 修改用户基本信息
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -155,16 +155,16 @@ public interface ISysUserService
 
     /**
      * 修改用户头像
-     * 
+     *
      * @param userName 用户名
-     * @param avatar 头像地址
+     * @param avatar   头像地址
      * @return 结果
      */
     public boolean updateUserAvatar(String userName, String avatar);
 
     /**
      * 重置用户密码
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -172,7 +172,7 @@ public interface ISysUserService
 
     /**
      * 重置用户密码
-     * 
+     *
      * @param userName 用户名
      * @param password 密码
      * @return 结果
@@ -181,7 +181,7 @@ public interface ISysUserService
 
     /**
      * 通过用户ID删除用户
-     * 
+     *
      * @param userId 用户ID
      * @return 结果
      */
@@ -189,7 +189,7 @@ public interface ISysUserService
 
     /**
      * 批量删除用户信息
-     * 
+     *
      * @param userIds 需要删除的用户ID
      * @return 结果
      */
@@ -197,10 +197,10 @@ public interface ISysUserService
 
     /**
      * 导入用户数据
-     * 
-     * @param userList 用户数据列表
+     *
+     * @param userList        用户数据列表
      * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
-     * @param operName 操作用户
+     * @param operName        操作用户
      * @return 结果
      */
     public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
@@ -212,6 +212,7 @@ public interface ISysUserService
 
     /**
      * 查询这组用户中是否存在真实用户
+     *
      * @param userIds
      * @return
      */
@@ -219,6 +220,7 @@ public interface ISysUserService
 
     /**
      * 根据账号查询当前库中存在多少相同账号
+     *
      * @param userName 账号
      * @return
      */

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

@@ -166,7 +166,7 @@ public class SysUserServiceImpl implements ISysUserService {
     @Override
     public boolean checkUserNameUnique(SysUser user) {
         Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
-        SysUser info = userMapper.checkUserNameUnique(user.getUserName());
+        SysUser info = userMapper.checkUserNameUnique(SecurityUtils.getTenantId().toString(),user.getUserName());
         if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
             return UserConstants.NOT_UNIQUE;
         }
@@ -513,7 +513,7 @@ public class SysUserServiceImpl implements ISysUserService {
 
     @Override
     public boolean isExistUser(String userName) {
-        int count = userMapper.queryCountUserName(userName);
+        int count = userMapper.queryCountTenantUserName(SecurityUtils.getTenantId().toString(), userName);
         if (count == 0) {
             return true;
         } else if (count == 1) {

+ 13 - 2
zkqy-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -217,8 +217,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</select>
 	
 	<select id="checkUserNameUnique" parameterType="String" resultMap="SysUserResult">
-		select user_id, user_name from sys_user where user_name = #{userName} and del_flag = '0' limit 1
-	</select>
+        select user_id, user_name
+        from sys_user
+        where tenant_id = #{tenantID}
+          and user_name = #{userName}
+          and del_flag = '0' limit 1
+    </select>
 	
 	<select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
 		select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} and del_flag = '0' limit 1
@@ -329,5 +333,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<select id="queryCountUserName" resultType="int">
 		select count(1) from sys_user where user_name = #{userName} and del_flag = '0'
 	</select>
+	<select id="queryCountTenantUserName" resultType="int">
+        select count(1)
+        from sys_user
+        where user_name = #{userName}
+          and tenant_id = #{tenantID}
+          and del_flag = '0'
+    </select>
 
 </mapper> 

+ 5 - 4
zkqy-ui/src/layout/index.vue

@@ -142,10 +142,11 @@ export default {
         type: "warning",
       })
         .then(() => {
-          let tenantCode = this.tenantInfo.tenantCode;
-          this.$store.dispatch("LogOut").then(() => {
-            this.$router.push({path: "/login", query: {tenantCode: tenantCode}});
-          });
+          // let tenantCode = this.tenantInfo.tenantCode;
+          this.$store.dispatch("LogOut")
+          //   .then(() => {
+          //   this.$router.push({path: "/login", query: {tenantCode: tenantCode}});
+          // });
         })
         .catch(() => {
         });

+ 8 - 2
zkqy-ui/src/store/modules/user.js

@@ -118,6 +118,14 @@ const user = {
     LogOut({commit, state}) {
       return new Promise((resolve, reject) => {
         logout(state.token).then(() => {
+          if (state.userId == 0) {  // 如果当前用户是admin的话
+            location.href = "/login"
+          } else {
+            location.href = state.tenant.tenantClientLoginUrl
+          }
+        }).catch(error => {
+          reject(error)
+        }).finally(() => {
           commit('SET_TOKEN', '')
           commit('SET_ROLES', [])
           commit('SET_PERMISSIONS', [])
@@ -125,8 +133,6 @@ const user = {
           removeToken()
           localStorage.clear();
           resolve()
-        }).catch(error => {
-          reject(error)
         })
       })
     },

+ 60 - 59
zkqy-ui/src/utils/request.js

@@ -1,16 +1,16 @@
 import axios from 'axios'
-import { Notification, MessageBox, Message, Loading } from 'element-ui'
+import {Notification, MessageBox, Message, Loading} from 'element-ui'
 import store from '@/store'
-import { getToken } from '@/utils/auth'
+import {getToken} from '@/utils/auth'
 import errorCode from '@/utils/errorCode'
-import { tansParams, blobValidate } from "@/utils/zkqy";
+import {tansParams, blobValidate} from "@/utils/zkqy";
 import cache from '@/plugins/cache'
-import { saveAs } from 'file-saver'
-import { throttle } from '@/utils/index'
+import {saveAs} from 'file-saver'
+import {throttle} from '@/utils/index'
 
 let downloadLoadingInstance;
 // 是否显示重新登录
-export let isRelogin = { show: false };
+export let isRelogin = {show: false};
 
 
 axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
@@ -69,69 +69,70 @@ service.interceptors.request.use(config => {
 
 // 响应拦截器
 service.interceptors.response.use(res => {
-  // 未设置状态码则默认成功状态
-  const code = res.data.code || 200;
-  // 获取错误信息
-  const msg = errorCode[code] || res.data.msg || errorCode['default']
-  // 二进制数据则直接返回
-  if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
-    return res.data
-  }
-  if (code === 401) {
-    if (!isRelogin.show) {
-      isRelogin.show = true;
-      MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
+    // 未设置状态码则默认成功状态
+    const code = res.data.code || 200;
+    // 获取错误信息
+    const msg = errorCode[code] || res.data.msg || errorCode['default']
+    // 二进制数据则直接返回
+    if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
+      return res.data
+    }
+    if (code === 401) {
+      if (!isRelogin.show) {
+        isRelogin.show = true;
+        MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
+          confirmButtonText: '重新登录',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          isRelogin.show = false;
+          store.dispatch('LogOut')
+          // .then(() => {
+          //   location.href = '/index';
+          // })
+        }).catch(() => {
+          isRelogin.show = false;
+        });
+      }
+      return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
+    } else if (code === 500) {
+      let resUrl = res.config.url;
+      if (resUrl == '/login') {
+        Message({message: msg, type: 'error'})
+        return Promise.reject(new Error(msg))
+      } else {
+        return Promise.resolve()
+      }
+
+    } else if (code === 601) {
+      Message({message: msg, type: 'warning'})
+      return Promise.reject('error')
+    } else if (code == 602) {
+      if (store.state.user.name == 'admin') return
+      MessageBox.confirm('数据源信息异常!请您联系管理员或尝试重新登录系统。', '系统提示', {
         confirmButtonText: '重新登录',
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
         isRelogin.show = false;
-        store.dispatch('LogOut').then(() => {
-          location.href = '/index';
-        })
+        store.dispatch('LogOut')
+        //   .then(() => {
+        //   location.href = '/index';
+        // })
       }).catch(() => {
         isRelogin.show = false;
       });
-    }
-    return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
-  } else if (code === 500) {
-    console.log(res);
-    let resUrl = res.config.url;
-    if (resUrl == '/login') {
-      Message({ message: msg, type: 'error' })
-      return Promise.reject(new Error(msg))
+      return Promise.reject('数据源信息异常!请您联系管理员或尝试重新登录系统。')
+    } else if (code !== 200) {
+      Notification.error({title: msg})
+      return Promise.reject('error')
     } else {
-      return Promise.resolve()
+      return res.data
     }
-
-  } else if (code === 601) {
-    Message({ message: msg, type: 'warning' })
-    return Promise.reject('error')
-  } else if (code == 602) {
-    if (store.state.user.name == 'admin') return
-    MessageBox.confirm('数据源信息异常!请您联系管理员或尝试重新登录系统。', '系统提示', {
-      confirmButtonText: '重新登录',
-      cancelButtonText: '取消',
-      type: 'warning'
-    }).then(() => {
-      isRelogin.show = false;
-      store.dispatch('LogOut').then(() => {
-        location.href = '/index';
-      })
-    }).catch(() => {
-      isRelogin.show = false;
-    });
-    return Promise.reject('数据源信息异常!请您联系管理员或尝试重新登录系统。')
-  } else if (code !== 200) {
-    Notification.error({ title: msg })
-    return Promise.reject('error')
-  } else {
-    return res.data
-  }
-},
+  },
   error => {
     console.log('err' + error)
-    let { message } = error;
+    let {message} = error;
     if (message == "Network Error") {
       message = "后端接口连接异常";
     } else if (message.includes("timeout")) {
@@ -139,7 +140,7 @@ service.interceptors.response.use(res => {
     } else if (message.includes("Request failed with status code")) {
       message = "系统接口" + message.substr(message.length - 3) + "异常";
     }
-    Message({ message: message, type: 'error', duration: 5 * 1000 })
+    Message({message: message, type: 'error', duration: 5 * 1000})
     return Promise.reject(error)
   }
 )
@@ -155,7 +156,7 @@ export function download(url, params, filename, config) {
     transformRequest: [(params) => {
       return tansParams(params)
     }],
-    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
+    headers: {'Content-Type': 'application/x-www-form-urlencoded'},
     responseType: 'blob',
     ...config
   }).then(async (data) => {

+ 65 - 44
zkqy-ui/src/views/system/user/index.vue

@@ -96,10 +96,12 @@
               icon="el-icon-search"
               size="mini"
               @click="handleQuery"
-              >搜索</el-button
+            >搜索
+            </el-button
             >
             <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
-              >重置</el-button
+            >重置
+            </el-button
             >
           </el-form-item>
         </el-form>
@@ -113,7 +115,8 @@
               size="mini"
               @click="handleAdd"
               v-hasPermi="['system:user:add']"
-              >新增</el-button
+            >新增
+            </el-button
             >
           </el-col>
           <!-- <el-col :span="1.5">
@@ -137,7 +140,8 @@
               :disabled="multiple"
               @click="handleDelete"
               v-hasPermi="['system:user:remove']"
-              >删除</el-button
+            >删除
+            </el-button
             >
           </el-col>
           <el-col :span="1.5">
@@ -148,7 +152,8 @@
               size="mini"
               @click="handleImport"
               v-hasPermi="['system:user:import']"
-              >导入</el-button
+            >导入
+            </el-button
             >
           </el-col>
           <el-col :span="1.5">
@@ -160,7 +165,8 @@
               size="mini"
               @click="handleExport"
               v-hasPermi="['system:user:export']"
-              >导出</el-button
+            >导出
+            </el-button
             >
             <ExcelDownLoad
               v-else
@@ -182,7 +188,7 @@
           ref="tableRef"
           @selection-change="handleSelectionChange"
         >
-          <el-table-column type="selection" width="50" align="center" />
+          <el-table-column type="selection" width="50" align="center"/>
           <el-table-column
             label="用户编号"
             align="center"
@@ -270,25 +276,32 @@
                 </el-button>
                 <el-dropdown-menu slot="dropdown">
                   <el-dropdown-item
-                    ><el-button
+                  >
+                    <el-button
                       size="mini"
                       type="text"
                       icon="el-icon-edit"
                       @click="handleUpdate(scope.row)"
                       v-hasPermi="['system:user:edit']"
-                      >修改</el-button
-                    ></el-dropdown-item
+                    >修改
+                    </el-button
+                    >
+                  </el-dropdown-item
                   >
                   <el-dropdown-item
-                    ><el-button
+                  >
+                    <el-button
                       size="mini"
                       type="text"
                       icon="el-icon-delete"
                       @click="handleDelete(scope.row)"
                       v-hasPermi="['system:user:remove']"
-                      >删除</el-button
-                    > </el-dropdown-item
-                  ><el-dropdown-item>
+                    >删除
+                    </el-button
+                    >
+                  </el-dropdown-item
+                  >
+                  <el-dropdown-item>
                     <el-dropdown
                       size="mini"
                       @command="(command) => handleCommand(command, scope.row)"
@@ -298,20 +311,23 @@
                         size="mini"
                         type="text"
                         icon="el-icon-d-arrow-right"
-                        >更多</el-button
+                      >更多
+                      </el-button
                       >
                       <el-dropdown-menu slot="dropdown">
                         <el-dropdown-item
                           command="handleResetPwd"
                           icon="el-icon-key"
                           v-hasPermi="['system:user:resetPwd']"
-                          >重置密码</el-dropdown-item
+                        >重置密码
+                        </el-dropdown-item
                         >
                         <el-dropdown-item
                           command="handleAuthRole"
                           icon="el-icon-circle-check"
                           v-hasPermi="['system:user:edit']"
-                          >分配角色</el-dropdown-item
+                        >分配角色
+                        </el-dropdown-item
                         >
                       </el-dropdown-menu>
                     </el-dropdown>
@@ -455,7 +471,8 @@
                   v-for="dict in dict.type.sys_normal_disable"
                   :key="dict.value"
                   :label="dict.value"
-                  >{{ dict.label }}</el-radio
+                >{{ dict.label }}
+                </el-radio
                 >
               </el-radio-group>
             </el-form-item>
@@ -538,7 +555,7 @@
         <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
         <div class="el-upload__tip text-center" slot="tip">
           <div class="el-upload__tip" slot="tip">
-            <el-checkbox v-model="upload.updateSupport" />
+            <el-checkbox v-model="upload.updateSupport"/>
             是否更新已经存在的用户数据
           </div>
           <span>仅允许导入xls、xlsx格式文件。</span>
@@ -547,7 +564,8 @@
             :underline="false"
             style="font-size: 12px; vertical-align: baseline"
             @click="importTemplate"
-            >下载模板</el-link
+          >下载模板
+          </el-link
           >
         </div>
       </el-upload>
@@ -570,17 +588,17 @@ import {
   changeUserStatus,
   deptTreeSelect,
 } from "@/api/system/user";
-import { getToken } from "@/utils/auth";
+import {getToken} from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-import { mapGetters } from "vuex";
-import { getIsExistUser } from "@/api/system/user";
+import {mapGetters} from "vuex";
+import {getIsExistUser} from "@/api/system/user";
 import ExcelDownLoad from "@/components/ExcelDownLoad/index.vue";
 
 export default {
   name: "User",
   dicts: ["sys_normal_disable", "sys_user_sex"],
-  components: { Treeselect, ExcelDownLoad },
+  components: {Treeselect, ExcelDownLoad},
   data() {
     return {
       // 前端导出数据
@@ -649,7 +667,7 @@ export default {
         // 是否更新已经存在的用户数据
         updateSupport: 0,
         // 设置上传的请求头部
-        headers: { Authorization: "Bearer " + getToken() },
+        headers: {Authorization: "Bearer " + getToken()},
         // 上传的地址
         url: process.env.VUE_APP_BASE_API + "/system/user/importData",
       },
@@ -666,32 +684,32 @@ export default {
       },
       // 列信息
       columns: [
-        { key: 0, label: `用户编号`, visible: true },
-        { key: 1, label: `用户名称`, visible: true },
-        { key: 2, label: `用户昵称`, visible: true },
-        { key: 3, label: `部门`, visible: true },
-        { key: 4, label: `手机号码`, visible: true },
-        { key: 5, label: `状态`, visible: true },
-        { key: 6, label: `创建时间`, visible: true },
-        { key: 7, label: `租户名称`, visible: true },
+        {key: 0, label: `用户编号`, visible: true},
+        {key: 1, label: `用户名称`, visible: true},
+        {key: 2, label: `用户昵称`, visible: true},
+        {key: 3, label: `部门`, visible: true},
+        {key: 4, label: `手机号码`, visible: true},
+        {key: 5, label: `状态`, visible: true},
+        {key: 6, label: `创建时间`, visible: true},
+        {key: 7, label: `租户名称`, visible: true},
       ],
       // 表单校验
       rules: {
         userName: [
-          { required: true, message: "用户名称不能为空", trigger: "blur" },
+          {required: true, message: "用户名称不能为空", trigger: "blur"},
           {
             min: 2,
             max: 20,
             message: "用户名称长度必须介于 2 和 20 之间",
             trigger: "blur",
           },
-          { trigger: "blur", validator: this.validateNickName },
+          {trigger: "blur", validator: this.validateNickName},
         ],
         nickName: [
-          { required: true, message: "用户昵称不能为空", trigger: "blur" },
+          {required: true, message: "用户昵称不能为空", trigger: "blur"},
         ],
         password: [
-          { required: true, message: "用户密码不能为空", trigger: "blur" },
+          {required: true, message: "用户密码不能为空", trigger: "blur"},
           {
             min: 5,
             max: 20,
@@ -747,7 +765,8 @@ export default {
       //   return;
       // }
       if (value) {
-        await getIsExistUser({ userName: value }).then((res) => {
+        await getIsExistUser({userName: value}).then((res) => {
+          console.log(res);
           if (res.code == 200) {
             if (res.data) {
               callback();
@@ -915,12 +934,13 @@ export default {
         inputPattern: /^.{5,20}$/,
         inputErrorMessage: "用户密码长度必须介于 5 和 20 之间",
       })
-        .then(({ value }) => {
+        .then(({value}) => {
           resetUserPwd(row.userId, value).then((response) => {
             this.$modal.msgSuccess("修改成功,新密码是:" + value);
           });
         })
-        .catch(() => {});
+        .catch(() => {
+        });
     },
     /** 分配角色操作 */
     handleAuthRole: function (row) {
@@ -959,7 +979,8 @@ export default {
           this.getList();
           this.$modal.msgSuccess("删除成功");
         })
-        .catch(() => {});
+        .catch(() => {
+        });
     },
     /** 导出按钮操作 */
     handleExport() {
@@ -995,10 +1016,10 @@ export default {
       this.$refs.upload.clearFiles();
       this.$alert(
         "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
-          response.msg +
-          "</div>",
+        response.msg +
+        "</div>",
         "导入结果",
-        { dangerouslyUseHTMLString: true }
+        {dangerouslyUseHTMLString: true}
       );
       this.getList();
     },