瀏覽代碼

feature: 格式化代码

ZZH-wl 3 年之前
父節點
當前提交
7bb12af8c8
共有 57 個文件被更改,包括 387 次插入1061 次删除
  1. 2 6
      src/api/base/distr/distr.js
  2. 1 0
      src/api/base/region/region.js
  3. 1 0
      src/api/customer/follow.js
  4. 1 0
      src/api/customer/index.js
  5. 5 24
      src/api/distr.js
  6. 1 6
      src/api/plat/task.js
  7. 1 0
      src/api/product.js
  8. 3 18
      src/api/system/dict.js
  9. 2 12
      src/api/system/role.js
  10. 2 6
      src/api/work/index.js
  11. 2 8
      src/components/table/TableTool.vue
  12. 1 2
      src/utils/pageTitle.js
  13. 8 16
      src/utils/permission.js
  14. 6 22
      src/utils/request.js
  15. 10 30
      src/utils/routes.js
  16. 4 13
      src/utils/validate.js
  17. 3 9
      src/views/403.vue
  18. 3 9
      src/views/404.vue
  19. 1 0
      src/views/base/distributor/components/DistrEdit.vue
  20. 1 0
      src/views/base/distributor/index.vue
  21. 3 11
      src/views/base/region/components/RegEdit.vue
  22. 5 18
      src/views/base/region/components/RegionEdit.vue
  23. 1 0
      src/views/customer/components/Contact.vue
  24. 1 0
      src/views/customer/components/Edit.vue
  25. 10 0
      src/views/customer/components/Merge.vue
  26. 1 0
      src/views/customer/components/Shift.vue
  27. 1 0
      src/views/customer/components/ToOpen.vue
  28. 9 0
      src/views/customer/components/Transfer.vue
  29. 56 0
      src/views/customer/detail.vue
  30. 27 0
      src/views/customer/follow.vue
  31. 1 0
      src/views/customer/list.vue
  32. 1 0
      src/views/customer/openSea.vue
  33. 14 39
      src/views/login/index.vue
  34. 3 13
      src/views/plat/task/components/CommentAdd.vue
  35. 5 22
      src/views/plat/task/components/ProgressAdd.vue
  36. 21 90
      src/views/plat/task/components/TaskAdd.vue
  37. 18 69
      src/views/plat/task/components/TaskDetail.vue
  38. 1 0
      src/views/product/components/ProductEdit.vue
  39. 2 1
      src/views/product/detail.vue
  40. 1 0
      src/views/product/index.vue
  41. 7 27
      src/views/system/dept/components/DeptEdit.vue
  42. 7 31
      src/views/system/dept/index.vue
  43. 6 22
      src/views/system/dict/components/DataEdit.vue
  44. 4 15
      src/views/system/dict/components/TypeEdit.vue
  45. 12 53
      src/views/system/dict/dataList.vue
  46. 14 63
      src/views/system/dict/index.vue
  47. 5 19
      src/views/system/group/components/GroupEdit.vue
  48. 16 57
      src/views/system/menu/components/MenuEdit.vue
  49. 8 34
      src/views/system/menu/index.vue
  50. 5 19
      src/views/system/post/components/PostEdit.vue
  51. 9 38
      src/views/system/role/components/RoleEdit.vue
  52. 11 50
      src/views/system/role/index.vue
  53. 8 36
      src/views/system/systemLog/index.vue
  54. 16 65
      src/views/system/user/components/UserEdit.vue
  55. 14 69
      src/views/system/user/index.vue
  56. 5 19
      src/views/work/order/index.vue
  57. 1 0
      template/edit.hbs

+ 2 - 6
src/api/base/distr/distr.js

@@ -1,4 +1,5 @@
 import micro_request from '@/utils/micro_request'
+
 const basePath = process.env.VUE_APP_ParentPath
 console.log(basePath)
 export default {
@@ -18,12 +19,7 @@ export default {
   },
   //省市区列表
   getProvinceInfo(query) {
-    return micro_request.postRequest(
-      basePath,
-      'District',
-      'GetProvinceInfo',
-      query
-    )
+    return micro_request.postRequest(basePath, 'District', 'GetProvinceInfo', query)
   },
   //创建经销商
   doAdd(query) {

+ 1 - 0
src/api/base/region/region.js

@@ -1,4 +1,5 @@
 import micro_request from '@/utils/micro_request'
+
 const basePath = process.env.VUE_APP_ParentPath
 console.log(basePath)
 export default {

+ 1 - 0
src/api/customer/follow.js

@@ -7,6 +7,7 @@
  * @FilePath: \opms_frontend\src\api\customer\follow.js
  */
 import micro_request from '@/utils/micro_request'
+
 const basePath = process.env.VUE_APP_ParentPath
 export default {
   // 跟进记录列表

+ 1 - 0
src/api/customer/index.js

@@ -7,6 +7,7 @@
  * @FilePath: \opms_frontend\src\api\customer\index.js
  */
 import micro_request from '@/utils/micro_request'
+
 const basePath = process.env.VUE_APP_ParentPath
 export default {
   // 客户详情

+ 5 - 24
src/api/distr.js

@@ -1,4 +1,5 @@
 import micro_request from '@/utils/micro_request'
+
 const basePath = process.env.VUE_APP_ParentPath
 console.log(basePath)
 export default {
@@ -13,20 +14,10 @@ export default {
     return micro_request.postRequest(basePath, 'Distributor', 'GetList', query)
   },
   getTree(query) {
-    return micro_request.postRequest(
-      basePath,
-      'District',
-      'GetRegionList',
-      query
-    )
+    return micro_request.postRequest(basePath, 'District', 'GetRegionList', query)
   },
   getProvinceInfo(query) {
-    return micro_request.postRequest(
-      basePath,
-      'District',
-      'GetProvinceInfo',
-      query
-    )
+    return micro_request.postRequest(basePath, 'District', 'GetProvinceInfo', query)
   },
   //创建经销商
   doAdd(query) {
@@ -34,20 +25,10 @@ export default {
   },
   //修改经销商
   doEdit(query) {
-    return micro_request.postRequest(
-      basePath,
-      'Distributor',
-      'UpdateById',
-      query
-    )
+    return micro_request.postRequest(basePath, 'Distributor', 'UpdateById', query)
   },
   // 删除
   doDelete(query) {
-    return micro_request.postRequest(
-      basePath,
-      'Distributor',
-      'DeleteByIds',
-      query
-    )
+    return micro_request.postRequest(basePath, 'Distributor', 'DeleteByIds', query)
   },
 }

+ 1 - 6
src/api/plat/task.js

@@ -16,12 +16,7 @@ export default {
   },
   // 统计各类型督办数量
   statisticsTaskNumber(query) {
-    return micro_request.postRequest(
-      basePath,
-      'Task',
-      'StatisticsTaskNumber',
-      query
-    )
+    return micro_request.postRequest(basePath, 'Task', 'StatisticsTaskNumber', query)
   },
   // 数据导出
   exportTasks(query) {

+ 1 - 0
src/api/product.js

@@ -1,4 +1,5 @@
 import micro_request from '@/utils/micro_request'
+
 const basePath = process.env.VUE_APP_ParentPath
 console.log(basePath)
 export default {

+ 3 - 18
src/api/system/dict.js

@@ -14,12 +14,7 @@ export default {
     return micro_request.postRequest(basePath, 'Dict', 'GetDictTypeList', query)
   },
   getDictTypeEntity(query) {
-    return micro_request.postRequest(
-      basePath,
-      'Dict',
-      'GetDictTypeEntity',
-      query
-    )
+    return micro_request.postRequest(basePath, 'Dict', 'GetDictTypeEntity', query)
   },
   createDictType(query) {
     return micro_request.postRequest(basePath, 'Dict', 'CreateDictType', query)
@@ -28,12 +23,7 @@ export default {
     return micro_request.postRequest(basePath, 'Dict', 'UpdateDictType', query)
   },
   deleteDictTypeByIds(query) {
-    return micro_request.postRequest(
-      basePath,
-      'Dict',
-      'DeleteDictTypeByIds',
-      query
-    )
+    return micro_request.postRequest(basePath, 'Dict', 'DeleteDictTypeByIds', query)
   },
 
   // 字典明细
@@ -47,11 +37,6 @@ export default {
     return micro_request.postRequest(basePath, 'Dict', 'UpdateDictData', query)
   },
   deleteDictDataByIds(query) {
-    return micro_request.postRequest(
-      basePath,
-      'Dict',
-      'DeleteDictDataByIds',
-      query
-    )
+    return micro_request.postRequest(basePath, 'Dict', 'DeleteDictDataByIds', query)
   },
 }

+ 2 - 12
src/api/system/role.js

@@ -10,12 +10,7 @@ export default {
     return micro_request.postRequest(basePath, 'Role', 'GetEntityById', query)
   },
   getRoleDeptTreeselect(query) {
-    return micro_request.postRequest(
-      basePath,
-      'Role',
-      'GetRoleDeptTreeselect',
-      query
-    )
+    return micro_request.postRequest(basePath, 'Role', 'GetRoleDeptTreeselect', query)
   },
   doAdd(query) {
     return micro_request.postRequest(basePath, 'Role', 'Create', query)
@@ -24,12 +19,7 @@ export default {
     return micro_request.postRequest(basePath, 'Role', 'UpdateById', query)
   },
   updateRoleDataScope(query) {
-    return micro_request.postRequest(
-      basePath,
-      'Role',
-      'UpdateRoleDataScope',
-      query
-    )
+    return micro_request.postRequest(basePath, 'Role', 'UpdateRoleDataScope', query)
   },
   doDelete(query) {
     return micro_request.postRequest(basePath, 'Role', 'DeleteByIds', query)

+ 2 - 6
src/api/work/index.js

@@ -1,4 +1,5 @@
 import micro_request from '@/utils/micro_request'
+
 const basePath = process.env.VUE_APP_ParentPath
 export default {
   // 工单列表
@@ -11,11 +12,6 @@ export default {
   },
   //详情
   getDetail(query) {
-    return micro_request.postRequest(
-      basePath,
-      'WorkOrder',
-      'GetEntityById',
-      query
-    )
+    return micro_request.postRequest(basePath, 'WorkOrder', 'GetEntityById', query)
   },
 }

+ 2 - 8
src/components/table/TableTool.vue

@@ -35,9 +35,7 @@
         <vab-draggable v-bind="dragOptions" :list="columns">
           <div v-for="(item, index) in columns" :key="item + index">
             <vab-icon icon="drag-drop-line" />
-            <el-checkbox
-              :disabled="item.disableCheck === true"
-              :label="item.label">
+            <el-checkbox :disabled="item.disableCheck === true" :label="item.label">
               {{ item.label }}
             </el-checkbox>
           </div>
@@ -46,11 +44,7 @@
       <template #reference>
         <el-button
           icon="el-icon-setting"
-          style="
-            margin: 0 10px 10px 0 !important;
-            font-size: 18px;
-            color: black;
-          "
+          style="margin: 0 10px 10px 0 !important; font-size: 18px; color: black"
           type="text" />
       </template>
     </el-popover>

+ 1 - 2
src/utils/pageTitle.js

@@ -9,8 +9,7 @@ import i18n from '@/i18n'
  */
 export default function getPageTitle(pageTitle) {
   const title = store.getters['settings/title']
-  if (i18n.te(`vabI18n.${pageTitle}`))
-    pageTitle = i18n.t(`vabI18n.${pageTitle}`)
+  if (i18n.te(`vabI18n.${pageTitle}`)) pageTitle = i18n.t(`vabI18n.${pageTitle}`)
   let newTitles = []
   if (pageTitle) newTitles.push(pageTitle)
   if (title) newTitles.push(title)

+ 8 - 16
src/utils/permission.js

@@ -9,20 +9,15 @@ import { isArray } from '@/utils/validate'
 export function hasPermission(target) {
   if (store.getters['acl/admin']) return true
   if (isArray(target) && target.length > 0)
-    return can(
-      [...store.getters['acl/role'], ...store.getters['acl/permission']],
-      {
-        permission: target,
-        mode: 'oneOf',
-      }
-    )
+    return can([...store.getters['acl/role'], ...store.getters['acl/permission']], {
+      permission: target,
+      mode: 'oneOf',
+    })
   const { role, permission, mode = 'oneOf' } = target
   return can([mode !== 'except'], {
     permission: [
       role ? can(store.getters['acl/role'], { permission: role, mode }) : false,
-      permission
-        ? can(store.getters['acl/permission'], { permission, mode })
-        : false,
+      permission ? can(store.getters['acl/permission'], { permission, mode }) : false,
     ],
     mode,
   })
@@ -37,11 +32,8 @@ export function hasPermission(target) {
 function can(roleOrPermission, target) {
   let hasRole = false
   const { permission, mode } = target
-  if (mode === 'allOf')
-    hasRole = permission.every((item) => roleOrPermission.includes(item))
-  if (mode === 'oneOf')
-    hasRole = permission.some((item) => roleOrPermission.includes(item))
-  if (mode === 'except')
-    hasRole = !permission.every((item) => roleOrPermission.includes(item))
+  if (mode === 'allOf') hasRole = permission.every((item) => roleOrPermission.includes(item))
+  if (mode === 'oneOf') hasRole = permission.some((item) => roleOrPermission.includes(item))
+  if (mode === 'except') hasRole = !permission.every((item) => roleOrPermission.includes(item))
   return hasRole
 }

+ 6 - 22
src/utils/request.js

@@ -19,9 +19,7 @@ import { needErrorLog, addErrorLog } from '@/vab/plugins/errorLog'
 let loadingInstance
 
 // 操作正常Code数组
-const codeVerificationArray = isArray(successCode)
-  ? [...successCode]
-  : [...[successCode]]
+const codeVerificationArray = isArray(successCode) ? [...successCode] : [...[successCode]]
 
 const CODE_MESSAGE = {
   0: '未可知错误,可能是因为后端不支持跨域CORS、接口地址不存在等问题引起',
@@ -64,11 +62,7 @@ const handleData = async ({ data, status = 0, statusText }) => {
       // return data
       return data
     case 401:
-      store
-        .dispatch('user/resetAll')
-        .then(() =>
-          router.push({ path: '/login', replace: true }).then(() => {})
-        )
+      store.dispatch('user/resetAll').then(() => router.push({ path: '/login', replace: true }).then(() => {}))
       break
     case 403:
       router.push({ path: '/403' }).then(() => {})
@@ -77,16 +71,11 @@ const handleData = async ({ data, status = 0, statusText }) => {
   // 异常处理
   // 若data.msg存在,覆盖默认提醒消息
   const errMsg = `${
-    data && data[messageName]
-      ? data[messageName]
-      : CODE_MESSAGE[code]
-      ? CODE_MESSAGE[code]
-      : statusText
+    data && data[messageName] ? data[messageName] : CODE_MESSAGE[code] ? CODE_MESSAGE[code] : statusText
   }`
   Vue.prototype.$baseMessage(errMsg, 'error', 'vab-hey-message-error')
   // 是否添加错误日志(与errorHandler钩子触发逻辑一致)
-  if (needErrorLog())
-    addErrorLog({ message: errMsg, stack: data, isRequest: true })
+  if (needErrorLog()) addErrorLog({ message: errMsg, stack: data, isRequest: true })
   return Promise.reject(data)
 }
 
@@ -116,14 +105,9 @@ instance.interceptors.request.use(
     // 规范写法 不可随意自定义
     if (token) config.headers['Authorization'] = `Bearer ${token}`
 
-    if (
-      config.data &&
-      config.headers['Content-Type'] ===
-        'application/x-www-form-urlencoded;charset=UTF-8'
-    )
+    if (config.data && config.headers['Content-Type'] === 'application/x-www-form-urlencoded;charset=UTF-8')
       config.data = qs.stringify(config.data)
-    if (debounce.some((item) => config.url.includes(item)))
-      loadingInstance = Vue.prototype.$baseLoading()
+    if (debounce.some((item) => config.url.includes(item))) loadingInstance = Vue.prototype.$baseLoading()
     return config
   },
   (error) => {

+ 10 - 30
src/utils/routes.js

@@ -16,13 +16,11 @@ export function convertRouter(asyncRoutes) {
         route.component = (resolve) => require(['@/vab/layouts'], resolve)
       } else {
         const index = route.component.indexOf('views')
-        const path =
-          index > 0 ? route.component.slice(index) : `views/${route.component}`
+        const path = index > 0 ? route.component.slice(index) : `views/${route.component}`
         route.component = (resolve) => require([`@/${path}`], resolve)
       }
     }
-    if (route.children && route.children.length)
-      route.children = convertRouter(route.children)
+    if (route.children && route.children.length) route.children = convertRouter(route.children)
     if (route.children && route.children.length === 0) delete route.children
     return route
   })
@@ -37,27 +35,16 @@ export function convertRouter(asyncRoutes) {
  */
 export function filterRoutes(routes, rolesControl, baseUrl = '/') {
   return routes
-    .filter((route) =>
-      rolesControl && route.meta && route.meta.guard
-        ? hasPermission(route.meta.guard)
-        : true
-    )
+    .filter((route) => (rolesControl && route.meta && route.meta.guard ? hasPermission(route.meta.guard) : true))
     .map((route) => {
       route = { ...route }
-      route.path =
-        route.path !== '*' && !isExternal(route.path)
-          ? resolve(baseUrl, route.path)
-          : route.path
+      route.path = route.path !== '*' && !isExternal(route.path) ? resolve(baseUrl, route.path) : route.path
       if (route.children && route.children.length > 0) {
         route.children = filterRoutes(route.children, rolesControl, route.path)
         if (route.children.length > 0) {
-          route.childrenNameList = route.children.flatMap(
-            (_) => _.childrenNameList
-          )
+          route.childrenNameList = route.children.flatMap((_) => _.childrenNameList)
           if (!route.redirect)
-            route.redirect = route.children[0].redirect
-              ? route.children[0].redirect
-              : route.children[0].path
+            route.redirect = route.children[0].redirect ? route.children[0].redirect : route.children[0].path
         }
       } else route.childrenNameList = [route.name]
       return route
@@ -73,9 +60,7 @@ export function filterRoutes(routes, rolesControl, baseUrl = '/') {
 export function handleMatched(routes, name) {
   return routes
     .filter((route) => route.childrenNameList.indexOf(name) + 1)
-    .flatMap((route) =>
-      route.children ? [route, ...handleMatched(route.children, name)] : [route]
-    )
+    .flatMap((route) => (route.children ? [route, ...handleMatched(route.children, name)] : [route]))
 }
 
 /**
@@ -86,8 +71,7 @@ export function handleTabs(tag) {
   let parentIcon = null
   if (tag.matched)
     for (let i = tag.matched.length - 2; i >= 0; i--)
-      if (!parentIcon && tag.matched[i].meta.icon)
-        parentIcon = tag.matched[i].meta.icon
+      if (!parentIcon && tag.matched[i].meta.icon) parentIcon = tag.matched[i].meta.icon
   if (!parentIcon) parentIcon = 'menu-line'
   const path = handleActivePath(tag, true)
   if (tag.name && tag.meta && tag.meta.tabHidden !== true) {
@@ -110,13 +94,9 @@ export function handleTabs(tag) {
  */
 export function handleActivePath(route, isTab = false) {
   const { meta, path } = route
-  const rawPath = route.matched
-    ? route.matched[route.matched.length - 1].path
-    : path
+  const rawPath = route.matched ? route.matched[route.matched.length - 1].path : path
   const fullPath =
-    route.query && Object.keys(route.query).length
-      ? `${route.path}&${qs.stringify(route.query)}`
-      : route.path
+    route.query && Object.keys(route.query).length ? `${route.path}&${qs.stringify(route.query)}` : route.path
   if (isTab) return meta.dynamicNewTab ? fullPath : rawPath
   if (meta.activeMenu) return meta.activeMenu
   return fullPath

+ 4 - 13
src/utils/validate.js

@@ -114,8 +114,7 @@ export function isArray(arg) {
  * @returns {boolean}
  */
 export function isPort(value) {
-  const reg =
-    /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/
+  const reg = /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/
   return reg.test(value)
 }
 
@@ -135,8 +134,7 @@ export function isPhone(value) {
  * @returns {boolean}
  */
 export function isIdCard(value) {
-  const reg =
-    /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
+  const reg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
   return reg.test(value)
 }
 
@@ -166,13 +164,7 @@ export function isChina(value) {
  * @returns {boolean}
  */
 export function isBlank(value) {
-  return (
-    value === null ||
-    false ||
-    value === '' ||
-    value.trim() === '' ||
-    value.toLocaleLowerCase().trim() === 'null'
-  )
+  return value === null || false || value === '' || value.trim() === '' || value.toLocaleLowerCase().trim() === 'null'
 }
 
 /**
@@ -181,8 +173,7 @@ export function isBlank(value) {
  * @returns {boolean}
  */
 export function isTel(value) {
-  const reg =
-    /^(400|800)([0-9\\-]{7,10})|(([0-9]{4}|[0-9]{3})([- ])?)?([0-9]{7,8})(([- 转])*([0-9]{1,4}))?$/
+  const reg = /^(400|800)([0-9\\-]{7,10})|(([0-9]{4}|[0-9]{3})([- ])?)?([0-9]{7,8})(([- 转])*([0-9]{1,4}))?$/
   return reg.test(value)
 }
 

+ 3 - 9
src/views/403.vue

@@ -4,12 +4,8 @@
       <el-row :gutter="20">
         <el-col :lg="12" :md="12" :sm="24" :xl="12" :xs="24">
           <div class="pic-error">
-            <el-image
-              class="pic-error-parent"
-              :src="require('@/assets/error_images/403.png')" />
-            <el-image
-              class="pic-error-child left"
-              :src="require('@/assets/error_images/cloud.png')" />
+            <el-image class="pic-error-parent" :src="require('@/assets/error_images/403.png')" />
+            <el-image class="pic-error-child left" :src="require('@/assets/error_images/cloud.png')" />
           </div>
         </el-col>
 
@@ -18,9 +14,7 @@
             <div class="bullshit-oops">{{ oops }}</div>
             <div class="bullshit-headline">{{ headline }}</div>
             <div class="bullshit-info">{{ info }}</div>
-            <router-link class="bullshit-return-home" to="/">
-              {{ jumpTime }}s&nbsp;{{ btn }}
-            </router-link>
+            <router-link class="bullshit-return-home" to="/">{{ jumpTime }}s&nbsp;{{ btn }}</router-link>
           </div>
         </el-col>
       </el-row>

+ 3 - 9
src/views/404.vue

@@ -4,12 +4,8 @@
       <el-row :gutter="20">
         <el-col :lg="12" :md="12" :sm="24" :xl="12" :xs="24">
           <div class="pic-error">
-            <el-image
-              class="pic-error-parent"
-              :src="require('@/assets/error_images/404.png')" />
-            <el-image
-              class="pic-error-child left"
-              :src="require('@/assets/error_images/cloud.png')" />
+            <el-image class="pic-error-parent" :src="require('@/assets/error_images/404.png')" />
+            <el-image class="pic-error-child left" :src="require('@/assets/error_images/cloud.png')" />
           </div>
         </el-col>
 
@@ -18,9 +14,7 @@
             <div class="bullshit-oops">{{ oops }}</div>
             <div class="bullshit-headline">{{ headline }}</div>
             <div class="bullshit-info">{{ info }}</div>
-            <router-link class="bullshit-return-home" to="/">
-              {{ jumpTime }}s&nbsp;{{ btn }}
-            </router-link>
+            <router-link class="bullshit-return-home" to="/">{{ jumpTime }}s&nbsp;{{ btn }}</router-link>
           </div>
         </el-col>
       </el-row>

+ 1 - 0
src/views/base/distributor/components/DistrEdit.vue

@@ -122,6 +122,7 @@
 <script>
   import distrApi from '@/api/distr'
   import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+
   export default {
     name: 'UserEdit',
     data() {

+ 1 - 0
src/views/base/distributor/index.vue

@@ -106,6 +106,7 @@
   import Edit from './components/DistrEdit'
   import distrApi from '@/api/distr'
   import TableTool from '@/components/table/TableTool'
+
   export default {
     name: 'Distr',
     components: { Edit, TableTool },

+ 3 - 11
src/views/base/region/components/RegEdit.vue

@@ -1,9 +1,5 @@
 <template>
-  <el-dialog
-    :title="title"
-    :visible.sync="dialogFormVisible"
-    width="500px"
-    @close="close">
+  <el-dialog :title="title" :visible.sync="dialogFormVisible" width="500px" @close="close">
     <el-form ref="form" label-width="80px" :model="form" :rules="regEdit">
       <el-form-item label="区域描述" prop="regionDesc">
         <el-input v-model.trim="form.regionDesc" />
@@ -33,12 +29,8 @@
           regEdit: [],
         },
         regEdit: {
-          regionDesc: [
-            { required: true, trigger: 'blur', message: '请填写区域' },
-          ],
-          userName: [
-            { required: true, trigger: 'blur', message: '请填写区域负责人' },
-          ],
+          regionDesc: [{ required: true, trigger: 'blur', message: '请填写区域' }],
+          userName: [{ required: true, trigger: 'blur', message: '请填写区域负责人' }],
         },
         title: '',
         dialogFormVisible: false,

+ 5 - 18
src/views/base/region/components/RegionEdit.vue

@@ -1,24 +1,12 @@
 <template>
-  <el-dialog
-    :title="title"
-    :visible.sync="dialogFormVisible"
-    width="500px"
-    @close="close">
+  <el-dialog :title="title" :visible.sync="dialogFormVisible" width="500px" @close="close">
     <el-form ref="form" label-width="80px" :model="form" :rules="regionEdit">
       <el-form-item label="区域ID" style="display: none">
         <el-input v-model="form.regionId" type="input" />
       </el-form-item>
       <el-form-item label="省份选择" prop="provinceCode">
-        <el-select
-          ref="optionRef"
-          v-model="form.provinceCode"
-          placeholder="请选择"
-          @change="selectDistrict">
-          <el-option
-            v-for="item in district"
-            :key="item.id"
-            :label="item.distName"
-            :value="item.id" />
+        <el-select ref="optionRef" v-model="form.provinceCode" placeholder="请选择" @change="selectDistrict">
+          <el-option v-for="item in district" :key="item.id" :label="item.distName" :value="item.id" />
         </el-select>
       </el-form-item>
       <el-form-item label="备注">
@@ -35,6 +23,7 @@
 <script>
   import distrApi from '@/api/distr'
   import regionApi from '@/api/base/region/region'
+
   export default {
     name: 'Edit',
     data() {
@@ -43,9 +32,7 @@
           regionEdit: [],
         },
         regionEdit: {
-          provinceCode: [
-            { required: true, trigger: 'blur', message: '请选择省份' },
-          ],
+          provinceCode: [{ required: true, trigger: 'blur', message: '请选择省份' }],
         },
         title: '',
         dialogFormVisible: false,

+ 1 - 0
src/views/customer/components/Contact.vue

@@ -78,6 +78,7 @@
 <script>
   import to from 'await-to-js'
   import api from '@/api/customer'
+
   export default {
     data() {
       var validateTel = (rule, value, callback) => {

+ 1 - 0
src/views/customer/components/Edit.vue

@@ -107,6 +107,7 @@
 <script>
   import to from 'await-to-js'
   import api from '@/api/customer'
+
   export default {
     data() {
       return {

+ 10 - 0
src/views/customer/components/Merge.vue

@@ -67,6 +67,7 @@
 <script>
   import api from '@/api/customer'
   import to from 'await-to-js'
+
   export default {
     data() {
       return {
@@ -135,37 +136,46 @@
   .differ {
     color: #f56c6c;
   }
+
   ::v-deep .el-alert {
     p {
       margin: 0;
       font-weight: normal;
     }
+
     .el-alert__icon {
       font-size: 28px;
       width: 28px;
     }
   }
+
   .merge {
     height: 361px;
     overflow-y: auto;
     display: flex;
+
     ul {
       border: 1px solid #dcdfe6;
+
       & + ul {
         border-left: none;
       }
     }
+
     li {
       height: 40px;
       line-height: 40px;
       border-bottom: 1px solid #dcdfe6;
     }
+
     .title {
       width: 100px;
       text-align: center;
     }
+
     .each {
       flex: 1;
+
       li {
         padding-left: 10px;
       }

+ 1 - 0
src/views/customer/components/Shift.vue

@@ -34,6 +34,7 @@
   import SelectUser from '@/components/select/SelectUser'
   import to from 'await-to-js'
   import api from '@/api/customer'
+
   export default {
     components: {
       SelectUser,

+ 1 - 0
src/views/customer/components/ToOpen.vue

@@ -23,6 +23,7 @@
 <script>
   import to from 'await-to-js'
   import api from '@/api/customer'
+
   export default {
     data() {
       return {

+ 9 - 0
src/views/customer/components/Transfer.vue

@@ -86,38 +86,46 @@
   .transfer {
     height: 500px;
     border: 1px solid #ebeef5;
+
     .el-col {
       height: 100%;
+
       &:first-child {
         border-right: 1px solid #ebeef5;
       }
+
       .el-dropdown {
         height: 50px;
         line-height: 50px;
         margin: 0 8px;
         width: calc(100% - 16px);
         border-bottom: 1px solid #ebeef5;
+
         span {
           display: flex;
           align-items: center;
           justify-content: space-between;
         }
       }
+
       .options {
         margin: 0;
         padding: 0 10px;
         list-style: none;
         height: 400px;
         overflow-y: auto;
+
         li {
           height: 50px;
           line-height: 50px;
           display: flex;
           justify-content: space-between;
           align-items: center;
+
           & i {
             transition: all 0.3s;
             cursor: pointer;
+
             &:hover {
               color: #1d66dc;
               font-weight: bold;
@@ -126,6 +134,7 @@
         }
       }
     }
+
     header {
       height: 50px;
       padding: 9px 8px;

+ 56 - 0
src/views/customer/detail.vue

@@ -276,6 +276,7 @@
   import Shift from './components/Shift'
   import ToOpen from './components/ToOpen'
   import FollowDetail from './components/FollowDetail.vue'
+
   export default {
     name: 'CustomerDetail',
     components: {
@@ -518,22 +519,27 @@
     height: calc(100vh - 60px - 50px - 12px * 2 - 40px);
     display: flex;
     padding: 20px 40px;
+
     > .el-row {
       flex: 1;
+
       > .el-col {
         height: 100%;
       }
     }
+
     .title {
       p,
       h3 {
         margin: 0;
       }
+
       p {
         font-size: 14px;
         font-weight: 400;
         line-height: 22px;
       }
+
       h3 {
         font-size: 24px;
         font-weight: 500;
@@ -543,6 +549,7 @@
         justify-content: space-between;
       }
     }
+
     header {
       height: 74px;
       background: rgba(196, 196, 196, 0.5);
@@ -551,87 +558,109 @@
       align-items: center;
       padding: 0 20px;
       margin-top: 16px;
+
       ::v-deep .el-descriptions__body {
         background: transparent;
       }
+
       ::v-deep .my-label {
         font-size: 14px;
         font-weight: 600;
         color: #1d66dc;
       }
+
       ::v-deep .my-content {
         font-size: 14px;
         font-weight: 600;
         color: #333;
       }
     }
+
     .el-tabs {
       height: calc(100% - 148px);
       display: flex;
       flex-direction: column;
+
       ::v-deep .el-tabs__content {
         flex: 1;
+
         .el-tab-pane {
           height: 100%;
         }
       }
     }
+
     .buttons {
       padding-top: 28px;
       text-align: right;
     }
+
     .records {
       margin: 0;
       padding: 10px 20px;
       list-style: none;
       height: calc(100% - 60px);
       overflow-y: auto;
+
       > li {
         display: flex;
+
         & + li {
           margin-top: 10px;
         }
       }
+
       .date {
         width: 100px;
         display: flex;
         flex-direction: column;
         align-items: center;
+
         h2,
         h3 {
           margin: 0;
         }
+
         h2 {
           font-size: 26px;
           line-height: 32px;
         }
       }
+
       .content {
         flex: 1;
         list-style: none;
+
         li {
           display: flex;
+
           & + li {
             margin-top: 10px;
           }
         }
+
         .user-avatar {
           font-size: 40px;
         }
+
         .text {
           flex: 1;
           padding-left: 20px;
+
           p {
             font-weight: 500;
             margin: 0;
             line-height: 20px;
+
             span {
               color: #1d66dc;
             }
           }
+
           p:nth-child(2) {
             margin-bottom: 10px;
           }
+
           .action {
             font-weight: bold;
             color: #333;
@@ -639,33 +668,41 @@
         }
       }
     }
+
     .follow {
       height: 100%;
       padding: 10px 20px;
       overflow: auto;
+
       > li {
         display: flex;
+
         + li {
           margin-top: 10px;
         }
       }
+
       .date {
         width: 100px;
         display: flex;
         flex-direction: column;
         align-items: center;
+
         h2,
         h3 {
           margin: 0;
         }
+
         h2 {
           font-size: 26px;
           line-height: 32px;
         }
       }
+
       .content {
         flex: 1;
         list-style: none;
+
         > li {
           border: 1px solid rgb(215, 232, 244);
           background: rgb(247, 251, 254);
@@ -676,26 +713,32 @@
           .text-container {
             display: flex;
           }
+
           .comments {
             padding-left: 60px;
             margin-top: 10px;
             max-height: 190px;
             overflow: auto;
+
             li {
               display: flex;
               border-top: 1px solid #e3e5e7;
+
               .text {
                 flex: 1;
                 padding: 0 10px;
+
                 p {
                   font-weight: 500;
                   margin: 0;
                   line-height: 32px;
                 }
+
                 p:first-child {
                   line-height: 30px;
                   font-weight: bold;
                 }
+
                 p:last-child {
                   font-size: 12px;
                   color: #9499a0;
@@ -704,33 +747,41 @@
               }
             }
           }
+
           + li {
             margin-top: 10px;
           }
         }
+
         .user-avatar {
           font-size: 40px;
         }
+
         .text {
           flex: 1;
           padding-left: 20px;
           padding-right: 10px;
+
           p {
             font-weight: 500;
             margin: 0;
             line-height: 32px;
+
             span {
               color: #1d66dc;
             }
           }
+
           .action {
             display: flex;
             justify-content: space-between;
+
             span:first-child {
               font-weight: bold;
               color: #333;
             }
           }
+
           .footer {
             display: flex;
             justify-content: space-between;
@@ -739,6 +790,7 @@
         }
       }
     }
+
     .no-follow {
       height: 100%;
       width: 100%;
@@ -749,17 +801,21 @@
       color: rgba(0, 0, 0, 0.65);
     }
   }
+
   .height-enter-active,
   .height-leave-active {
     transition: all 0.5s;
   }
+
   .height-enter-to,
   .height-leave {
     height: 190px;
   }
+
   .height-enter, .height-leave-to /* .fade-leave-active below version 2.1.8 */ {
     height: 0;
   }
+
   ::v-deep .el-descriptions__table tbody {
     td,
     th {

+ 27 - 0
src/views/customer/follow.vue

@@ -113,6 +113,7 @@
   import to from 'await-to-js'
   import api from '@/api/customer/follow'
   import FollowDetail from './components/FollowDetail.vue'
+
   export default {
     name: 'Follow',
     components: {
@@ -261,31 +262,38 @@
   .follow {
     height: calc(100vh - 240px);
     display: flex;
+
     .comment {
       width: 300px;
       display: flex;
       flex-direction: column;
       border-radius: 4px;
       border: 1px solid rgb(215, 232, 244);
+
       ul {
         flex: 1;
         overflow-y: auto;
         padding: 10px;
+
         li {
           display: flex;
           border-bottom: 1px solid #e3e5e7;
+
           .text {
             flex: 1;
             padding: 0 10px;
+
             p {
               font-weight: 500;
               margin: 0;
               line-height: 32px;
             }
+
             p:first-child {
               line-height: 30px;
               font-weight: bold;
             }
+
             p:last-child {
               font-size: 12px;
               color: #9499a0;
@@ -293,18 +301,22 @@
             }
           }
         }
+
         .user-avatar {
           font-size: 30px;
         }
       }
+
       .form {
         padding: 4px;
         text-align: right;
+
         .el-textarea {
           margin-bottom: 4px;
         }
       }
     }
+
     .records {
       flex: 1;
       margin: 0;
@@ -312,29 +324,36 @@
       padding: 10px 20px;
       list-style: none;
       overflow: auto;
+
       > li {
         display: flex;
+
         + li {
           margin-top: 10px;
         }
       }
+
       .date {
         width: 100px;
         display: flex;
         flex-direction: column;
         align-items: center;
+
         h2,
         h3 {
           margin: 0;
         }
+
         h2 {
           font-size: 26px;
           line-height: 32px;
         }
       }
+
       .content {
         flex: 1;
         list-style: none;
+
         li {
           display: flex;
           cursor: pointer;
@@ -342,33 +361,41 @@
           background: rgb(247, 251, 254);
           border-radius: 4px;
           padding: 8px;
+
           + li {
             margin-top: 10px;
           }
         }
+
         .user-avatar {
           font-size: 40px;
         }
+
         .text {
           flex: 1;
           padding-left: 20px;
           padding-right: 10px;
+
           p {
             font-weight: 500;
             margin: 0;
             line-height: 32px;
+
             span {
               color: #1d66dc;
             }
           }
+
           .action {
             display: flex;
             justify-content: space-between;
+
             span:first-child {
               font-weight: bold;
               color: #333;
             }
           }
+
           .footer {
             display: flex;
             justify-content: space-between;

+ 1 - 0
src/views/customer/list.vue

@@ -133,6 +133,7 @@
   import ToOpen from './components/ToOpen'
   import Merge from './components/Merge'
   import TableTool from '@/components/table/TableTool'
+
   export default {
     components: {
       Edit,

+ 1 - 0
src/views/customer/openSea.vue

@@ -145,6 +145,7 @@
   import Edit from './components/Edit'
   import Allocate from './components/Allocate'
   import TableTool from '@/components/table/TableTool'
+
   export default {
     name: 'OpenSea',
     components: {

+ 14 - 39
src/views/login/index.vue

@@ -5,16 +5,9 @@
         <div style="color: transparent">占位符</div>
       </el-col>
       <el-col :lg="9" :md="12" :sm="24" :xl="9" :xs="24">
-        <el-form
-          ref="form"
-          class="login-form"
-          label-position="left"
-          :model="form"
-          :rules="rules">
+        <el-form ref="form" class="login-form" label-position="left" :model="form" :rules="rules">
           <div class="title">hello !</div>
-          <div class="title-tips">
-            {{ translateTitle('欢迎来到') }}{{ title }}!
-          </div>
+          <div class="title-tips">{{ translateTitle('欢迎来到') }}{{ title }}!</div>
           <el-form-item prop="username" style="margin-top: 40px">
             <el-input
               v-model.trim="form.username"
@@ -22,7 +15,9 @@
               :placeholder="translateTitle('请输入用户名')"
               tabindex="1"
               type="text">
-              <template #prefix><vab-icon icon="user-line" /></template>
+              <template #prefix>
+                <vab-icon icon="user-line" />
+              </template>
             </el-input>
           </el-form-item>
           <el-form-item prop="password">
@@ -38,24 +33,14 @@
                 <vab-icon icon="lock-line" />
               </template>
               <template v-if="passwordType === 'password'" #suffix>
-                <vab-icon
-                  class="show-password"
-                  icon="eye-off-line"
-                  @click="handlePassword" />
+                <vab-icon class="show-password" icon="eye-off-line" @click="handlePassword" />
               </template>
               <template v-else #suffix>
-                <vab-icon
-                  class="show-password"
-                  icon="eye-line"
-                  @click="handlePassword" />
+                <vab-icon class="show-password" icon="eye-line" @click="handlePassword" />
               </template>
             </el-input>
           </el-form-item>
-          <el-button
-            class="login-btn"
-            :loading="loading"
-            type="primary"
-            @click="handleLogin">
+          <el-button class="login-btn" :loading="loading" type="primary" @click="handleLogin">
             {{ translateTitle('登录') }}
           </el-button>
         </el-form>
@@ -87,13 +72,11 @@
     },
     data() {
       const validateUsername = (rule, value, callback) => {
-        if ('' === value)
-          callback(new Error(this.translateTitle('用户名不能为空')))
+        if ('' === value) callback(new Error(this.translateTitle('用户名不能为空')))
         else callback()
       }
       const validatePassword = (rule, value, callback) => {
-        if (!isPassword(value))
-          callback(new Error(this.translateTitle('密码不能少于6位')))
+        if (!isPassword(value)) callback(new Error(this.translateTitle('密码不能少于6位')))
         else callback()
       }
       return {
@@ -141,10 +124,7 @@
       this.form.username = 'admin'
       this.form.password = '123456'
       // 为了演示效果,会在官网演示页自动登录到首页,正式开发可删除
-      if (
-        document.domain === 'vue-admin-beautiful.com' ||
-        document.domain === 'chu1204505056.gitee.io'
-      )
+      if (document.domain === 'vue-admin-beautiful.com' || document.domain === 'chu1204505056.gitee.io')
         this.timer = setTimeout(() => {
           this.handleLogin()
         }, 5000)
@@ -155,17 +135,13 @@
       }),
       translateTitle,
       handlePassword() {
-        this.passwordType === 'password'
-          ? (this.passwordType = '')
-          : (this.passwordType = 'password')
+        this.passwordType === 'password' ? (this.passwordType = '') : (this.passwordType = 'password')
         this.$nextTick(() => {
           this.$refs.password.focus()
         })
       },
       handleRoute() {
-        return this.redirect === '/404' || this.redirect === '/403'
-          ? '/'
-          : this.redirect
+        return this.redirect === '/404' || this.redirect === '/403' ? '/' : this.redirect
       },
       handleLogin() {
         this.$refs.form.validate(async (valid) => {
@@ -189,8 +165,7 @@
 <style lang="scss" scoped>
   .login-container {
     height: 100vh;
-    background: url('~@/assets/login_images/background.jpeg') center center
-      fixed no-repeat;
+    background: url('~@/assets/login_images/background.jpeg') center center fixed no-repeat;
     background-size: cover;
   }
 

+ 3 - 13
src/views/plat/task/components/CommentAdd.vue

@@ -1,19 +1,11 @@
 <!-- eslint-disable vue/no-mutating-props -->
 <template>
-  <el-dialog
-    title="评论"
-    :visible.sync="selfVisible"
-    width="500px"
-    @close="close"
-    @open="open">
+  <el-dialog title="评论" :visible.sync="selfVisible" width="500px" @close="close" @open="open">
     <el-form ref="form" label-width="80px" :model="form" :rules="rules">
       <el-row>
         <el-col :span="24">
           <el-form-item label="评论" prop="content">
-            <el-input
-              v-model="form.content"
-              placeholder="请输入评论"
-              type="textarea" />
+            <el-input v-model="form.content" placeholder="请输入评论" type="textarea" />
           </el-form-item>
         </el-col>
       </el-row>
@@ -56,9 +48,7 @@
         },
         // 校验规则
         rules: {
-          content: [
-            { required: true, message: '评论不能为空', trigger: 'blur' },
-          ],
+          content: [{ required: true, message: '评论不能为空', trigger: 'blur' }],
         },
       }
     },

+ 5 - 22
src/views/plat/task/components/ProgressAdd.vue

@@ -1,11 +1,6 @@
 <!-- eslint-disable vue/no-mutating-props -->
 <template>
-  <el-dialog
-    title="评论"
-    :visible.sync="selfVisible"
-    width="500px"
-    @close="close"
-    @open="open">
+  <el-dialog title="评论" :visible.sync="selfVisible" width="500px" @close="close" @open="open">
     <el-form ref="form" label-width="80px" :model="form" :rules="rules">
       <el-row>
         <el-col :span="12">
@@ -22,27 +17,17 @@
           <el-form-item label="附件" prop="progFile">
             <!-- 此处附件上传组件不可用,等以后再调整 -->
             <!-- <el-button size="mini" type="primary">上传</el-button> -->
-            <el-link
-              v-show="form.progFile != ''"
-              @click="showFile(form.progFile)">
-              查看附件
-            </el-link>
+            <el-link v-show="form.progFile != ''" @click="showFile(form.progFile)">查看附件</el-link>
           </el-form-item>
         </el-col>
         <el-col :span="24">
           <el-form-item label="进展说明" prop="progDesc">
-            <el-input
-              v-model="form.progDesc"
-              placeholder="请输入进展说明"
-              type="textarea" />
+            <el-input v-model="form.progDesc" placeholder="请输入进展说明" type="textarea" />
           </el-form-item>
         </el-col>
         <el-col :span="24">
           <el-form-item label="备注" prop="remark">
-            <el-input
-              v-model="form.remark"
-              placeholder="请输入备注"
-              type="textarea" />
+            <el-input v-model="form.remark" placeholder="请输入备注" type="textarea" />
           </el-form-item>
         </el-col>
       </el-row>
@@ -87,9 +72,7 @@
         },
         // 校验规则
         rules: {
-          progDesc: [
-            { required: true, message: '进展说明不能为空', trigger: 'blur' },
-          ],
+          progDesc: [{ required: true, message: '进展说明不能为空', trigger: 'blur' }],
         },
       }
     },

+ 21 - 90
src/views/plat/task/components/TaskAdd.vue

@@ -1,11 +1,6 @@
 <!-- eslint-disable vue/no-mutating-props -->
 <template>
-  <el-dialog
-    title="添加"
-    :visible.sync="selfVisible"
-    width="650px"
-    @close="close"
-    @open="open">
+  <el-dialog title="添加" :visible.sync="selfVisible" width="650px" @close="close" @open="open">
     <el-form ref="form" label-width="80px" :model="form" :rules="rules">
       <el-row>
         <el-col :span="12">
@@ -15,15 +10,8 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="类型" prop="taskType">
-            <el-select
-              v-model="form.taskType"
-              placeholder="请选择类型"
-              style="width: 100%">
-              <el-option
-                v-for="item in types"
-                :key="item.dictCode"
-                :label="item.dictLabel"
-                :value="item.dictValue" />
+            <el-select v-model="form.taskType" placeholder="请选择类型" style="width: 100%">
+              <el-option v-for="item in types" :key="item.dictCode" :label="item.dictLabel" :value="item.dictValue" />
             </el-select>
           </el-form-item>
         </el-col>
@@ -49,68 +37,34 @@
         </el-col>
         <el-col :span="24">
           <el-form-item label="说明" prop="taskDesc">
-            <el-input
-              v-model="form.taskDesc"
-              placeholder="请输入说明"
-              type="textarea" />
+            <el-input v-model="form.taskDesc" placeholder="请输入说明" type="textarea" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="督办人" prop="supervisorUserId">
-            <el-select
-              v-model="form.supervisorUserId"
-              placeholder="请选择督办人"
-              style="width: 100%">
-              <el-option
-                v-for="item in users"
-                :key="item.id"
-                :label="item.userName"
-                :value="item.id" />
+            <el-select v-model="form.supervisorUserId" placeholder="请选择督办人" style="width: 100%">
+              <el-option v-for="item in users" :key="item.id" :label="item.userName" :value="item.id" />
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="监办人" prop="watchUserId">
-            <el-select
-              v-model="form.watchUserId"
-              clear
-              placeholder="请选择监办人"
-              style="width: 100%">
-              <el-option
-                v-for="item in users"
-                :key="item.id"
-                :label="item.userName"
-                :value="item.id" />
+            <el-select v-model="form.watchUserId" clear placeholder="请选择监办人" style="width: 100%">
+              <el-option v-for="item in users" :key="item.id" :label="item.userName" :value="item.id" />
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="负责人" prop="mainUserId">
-            <el-select
-              v-model="form.mainUserId"
-              placeholder="请选择负责人"
-              style="width: 100%">
-              <el-option
-                v-for="item in users"
-                :key="item.id"
-                :label="item.userName"
-                :value="item.id" />
+            <el-select v-model="form.mainUserId" placeholder="请选择负责人" style="width: 100%">
+              <el-option v-for="item in users" :key="item.id" :label="item.userName" :value="item.id" />
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="团队成员">
-            <el-select
-              v-model="teamIds"
-              clear
-              multiple
-              placeholder="请选择团队成员"
-              style="width: 100%">
-              <el-option
-                v-for="item in users"
-                :key="item.id"
-                :label="item.userName"
-                :value="item.id" />
+            <el-select v-model="teamIds" clear multiple placeholder="请选择团队成员" style="width: 100%">
+              <el-option v-for="item in users" :key="item.id" :label="item.userName" :value="item.id" />
             </el-select>
           </el-form-item>
         </el-col>
@@ -130,25 +84,14 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="关联对象" prop="targetId">
-            <el-select
-              v-model="form.targetId"
-              placeholder="请选择关联对象"
-              style="width: 100%"
-              @change="targetChange">
-              <el-option
-                v-for="item in targets"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value" />
+            <el-select v-model="form.targetId" placeholder="请选择关联对象" style="width: 100%" @change="targetChange">
+              <el-option v-for="item in targets" :key="item.value" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="24">
           <el-form-item label="备注" prop="remark">
-            <el-input
-              v-model="form.remark"
-              placeholder="请输入备注"
-              type="textarea" />
+            <el-input v-model="form.remark" placeholder="请输入备注" type="textarea" />
           </el-form-item>
         </el-col>
       </el-row>
@@ -216,24 +159,12 @@
         },
         // 校验规则
         rules: {
-          taskTitle: [
-            { required: true, message: '标题不能为空', trigger: 'blur' },
-          ],
-          taskType: [
-            { required: true, message: '类型不能为空', trigger: 'blur' },
-          ],
-          taskStartDate: [
-            { required: true, message: '开始时间不能为空', trigger: 'blur' },
-          ],
-          taskEndDate: [
-            { required: true, message: '结束时间不能为空', trigger: 'blur' },
-          ],
-          supervisorUserId: [
-            { required: true, message: '督办人不能为空', trigger: 'change' },
-          ],
-          mainUserId: [
-            { required: true, message: '负责人不能为空', trigger: 'change' },
-          ],
+          taskTitle: [{ required: true, message: '标题不能为空', trigger: 'blur' }],
+          taskType: [{ required: true, message: '类型不能为空', trigger: 'blur' }],
+          taskStartDate: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }],
+          taskEndDate: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }],
+          supervisorUserId: [{ required: true, message: '督办人不能为空', trigger: 'change' }],
+          mainUserId: [{ required: true, message: '负责人不能为空', trigger: 'change' }],
         },
       }
     },

+ 18 - 69
src/views/plat/task/components/TaskDetail.vue

@@ -7,40 +7,22 @@
           <span style="font-size: 18px; margin-right: 10px">
             {{ theTask.taskTitle }}
           </span>
-          <el-button
-            v-show="theTask.isOverdue === '10'"
-            type="primary"
-            @click="changeStatus('IsOverdue', '20')">
+          <el-button v-show="theTask.isOverdue === '10'" type="primary" @click="changeStatus('IsOverdue', '20')">
             超期
           </el-button>
-          <el-button
-            v-show="theTask.taskStatus === '10'"
-            type="primary"
-            @click="changeStatus('TaskStatus', '20')">
+          <el-button v-show="theTask.taskStatus === '10'" type="primary" @click="changeStatus('TaskStatus', '20')">
             关闭
           </el-button>
           <div style="border-bottom: solid 1px; margin-top: 1px"></div>
           <el-row :gutter="20" style="margin-top: 10px">
             <el-col :span="8">督办类型:{{ typeMap[theTask.taskType] }}</el-col>
-            <el-col :span="8">
-              状态:{{ theTask.taskStatus === '10' ? '进行中' : '关闭' }}
-            </el-col>
-            <el-col :span="8">
-              超期:{{ theTask.isOverdue === '10' ? '否' : '是' }}
-            </el-col>
-            <el-col :span="8">
-              开始时间:{{ parseTime(theTask.taskStartDate) }}
-            </el-col>
-            <el-col :span="8">
-              结束时间:{{ parseTime(theTask.taskEndDate) }}
-            </el-col>
+            <el-col :span="8">状态:{{ theTask.taskStatus === '10' ? '进行中' : '关闭' }}</el-col>
+            <el-col :span="8">超期:{{ theTask.isOverdue === '10' ? '否' : '是' }}</el-col>
+            <el-col :span="8">开始时间:{{ parseTime(theTask.taskStartDate) }}</el-col>
+            <el-col :span="8">结束时间:{{ parseTime(theTask.taskEndDate) }}</el-col>
             <el-col :span="24">说明:{{ theTask.taskDesc }}</el-col>
-            <el-col :span="8">
-              督办人:{{ userMap[theTask.supervisorUserId] }}
-            </el-col>
-            <el-col :span="8">
-              监办人:{{ userMap[theTask.watchUserId] }}
-            </el-col>
+            <el-col :span="8">督办人:{{ userMap[theTask.supervisorUserId] }}</el-col>
+            <el-col :span="8">监办人:{{ userMap[theTask.watchUserId] }}</el-col>
             <el-col :span="8">负责人:{{ userMap[theTask.mainUserId] }}</el-col>
             <el-col :span="16">团队成员:{{ teamNames }}</el-col>
             <el-col :span="8">
@@ -52,21 +34,11 @@
             </el-col>
             <el-col :span="8">关联对象:{{ theTask.targetName }}</el-col>
             <el-col :span="8">创建人:{{ theTask.createdName }}</el-col>
-            <el-col :span="8">
-              创建时间:{{ parseTime(theTask.createdTime) }}
-            </el-col>
+            <el-col :span="8">创建时间:{{ parseTime(theTask.createdTime) }}</el-col>
             <el-col :span="24">备注:{{ theTask.remark }}</el-col>
-            <el-button
-              v-show="theTask.taskStatus === '10'"
-              type="primary"
-              @click="addProgress">
-              添加进展
-            </el-button>
+            <el-button v-show="theTask.taskStatus === '10'" type="primary" @click="addProgress">添加进展</el-button>
             <el-table border :data="progressList" height="440">
-              <el-table-column
-                align="center"
-                label="进展说明"
-                prop="progDesc" />
+              <el-table-column align="center" label="进展说明" prop="progDesc" />
               <el-table-column align="center" label="时间" prop="progDate">
                 <template #default="{ row }">
                   {{ parseTime(row.progDate) }}
@@ -74,11 +46,7 @@
               </el-table-column>
               <el-table-column align="center" label="附件" prop="progFile">
                 <template #default="{ row }">
-                  <el-link
-                    v-show="row.progFile != ''"
-                    @click="showFile(row.progFile)">
-                    查看附件
-                  </el-link>
+                  <el-link v-show="row.progFile != ''" @click="showFile(row.progFile)">查看附件</el-link>
                 </template>
               </el-table-column>
               <el-table-column align="center" label="备注" prop="remark" />
@@ -86,25 +54,15 @@
           </el-row>
         </el-col>
         <el-col :span="6">
-          <el-button
-            round
-            :type="rightInfo == 'log' ? 'primary' : 'none'"
-            @click="changeRightInfo('log')">
+          <el-button round :type="rightInfo == 'log' ? 'primary' : 'none'" @click="changeRightInfo('log')">
             流程动态
           </el-button>
-          <el-button
-            round
-            :type="rightInfo == 'comment' ? 'primary' : 'none'"
-            @click="changeRightInfo('comment')">
+          <el-button round :type="rightInfo == 'comment' ? 'primary' : 'none'" @click="changeRightInfo('comment')">
             评论
           </el-button>
           <div style="border-bottom: solid 1px; margin-top: 1px"></div>
           <div style="height: 560px; width: 100%">
-            <div
-              v-for="log in logList"
-              v-show="rightInfo == 'log'"
-              :key="log.id"
-              style="margin-top: 10px">
+            <div v-for="log in logList" v-show="rightInfo == 'log'" :key="log.id" style="margin-top: 10px">
               {{ log.nodeName }}
               <div style="margin-top: 5px">
                 <span style="margin-top: 5px">{{ log.createdName }}</span>
@@ -115,11 +73,7 @@
                 <div style="margin-top: 5px">完成处理:{{ log.endTime }}</div>
               </div>
             </div>
-            <el-button
-              v-show="rightInfo == 'comment'"
-              style="margin-top: 10px"
-              type="primary"
-              @click="addComment">
+            <el-button v-show="rightInfo == 'comment'" style="margin-top: 10px" type="primary" @click="addComment">
               评论
             </el-button>
             <div
@@ -129,9 +83,7 @@
               style="margin-top: 10px">
               {{ comment.createdName }}
               <div style="margin-top: 5px">
-                <span style="margin-top: 5px">
-                  评论时间:{{ comment.createdTime }}
-                </span>
+                <span style="margin-top: 5px">评论时间:{{ comment.createdTime }}</span>
                 <div style="margin-top: 5px">评论:{{ comment.content }}</div>
               </div>
             </div>
@@ -140,10 +92,7 @@
       </el-row>
     </el-dialog>
     <!-- 评论添加 -->
-    <commentAdd
-      :do-refresh="getCommentList"
-      :self-visible.sync="commentAddDialogVisible"
-      :the-task="theTask" />
+    <commentAdd :do-refresh="getCommentList" :self-visible.sync="commentAddDialogVisible" :the-task="theTask" />
     <!-- 进展添加 -->
     <progressAdd
       :do-refresh="doRefreshProgressAndLogs"

+ 1 - 0
src/views/product/components/ProductEdit.vue

@@ -95,6 +95,7 @@
 </template>
 <script>
   import productApi from '@/api/product'
+
   export default {
     //name: 'UserEdit',
     data() {

+ 2 - 1
src/views/product/detail.vue

@@ -44,6 +44,7 @@
 <script>
   import { mapGetters } from 'vuex'
   import api from '@/api/product'
+
   export default {
     name: 'Detail',
     components: {},
@@ -384,7 +385,7 @@
   .height-enter,
 .height-leave-to
 
-/* .fade-leave-active below version 2.1.8 */ {
+  /* .fade-leave-active below version 2.1.8 */ {
     height: 0;
   }
 </style>

+ 1 - 0
src/views/product/index.vue

@@ -89,6 +89,7 @@
   import Edit from './components/ProductEdit'
   import productApi from '@/api/product'
   import TableTool from '@/components/table/TableTool'
+
   export default {
     components: { Edit, TableTool },
     data() {

+ 7 - 27
src/views/system/dept/components/DeptEdit.vue

@@ -1,9 +1,5 @@
 <template>
-  <el-dialog
-    :title="title"
-    :visible.sync="dialogFormVisible"
-    width="500px"
-    @close="close">
+  <el-dialog :title="title" :visible.sync="dialogFormVisible" width="500px" @close="close">
     <el-form ref="form" label-width="80px" :model="form" :rules="rules">
       <el-row>
         <el-col v-if="form.parentId !== 0" :span="24">
@@ -23,35 +19,23 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="显示排序" prop="sort">
-            <el-input-number
-              v-model="form.sort"
-              controls-position="right"
-              :min="0" />
+            <el-input-number v-model="form.sort" controls-position="right" :min="0" />
           </el-form-item>
         </el-col>
 
         <el-col :span="12">
           <el-form-item label="负责人" prop="leader">
-            <el-input
-              v-model="form.leader"
-              maxlength="20"
-              placeholder="请输入负责人" />
+            <el-input v-model="form.leader" maxlength="20" placeholder="请输入负责人" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="联系电话" prop="phone">
-            <el-input
-              v-model="form.phone"
-              maxlength="11"
-              placeholder="请输入联系电话" />
+            <el-input v-model="form.phone" maxlength="11" placeholder="请输入联系电话" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="邮箱" prop="email">
-            <el-input
-              v-model="form.email"
-              maxlength="50"
-              placeholder="请输入邮箱" />
+            <el-input v-model="form.email" maxlength="50" placeholder="请输入邮箱" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
@@ -91,12 +75,8 @@
           status: '10',
         },
         rules: {
-          parentId: [
-            { required: true, trigger: 'blur', message: '请选择上级部门' },
-          ],
-          deptName: [
-            { required: true, trigger: 'blur', message: '请输入部门名称' },
-          ],
+          parentId: [{ required: true, trigger: 'blur', message: '请选择上级部门' }],
+          deptName: [{ required: true, trigger: 'blur', message: '请输入部门名称' }],
           sort: [{ required: true, trigger: 'blur', message: '请输入排序' }],
           email: [
             {

+ 7 - 31
src/views/system/dept/index.vue

@@ -4,15 +4,10 @@
       <vab-query-form-top-panel>
         <el-form :inline="true" :model="queryForm" @submit.native.prevent>
           <el-form-item>
-            <el-input
-              v-model.trim="queryForm.deptName"
-              clearable
-              placeholder="请输入名称" />
+            <el-input v-model.trim="queryForm.deptName" clearable placeholder="请输入名称" />
           </el-form-item>
           <el-form-item>
-            <el-button icon="el-icon-search" type="primary" @click="queryData">
-              查询
-            </el-button>
+            <el-button icon="el-icon-search" type="primary" @click="queryData">查询</el-button>
             <!--            <el-button type="text" @click="handleFold">-->
             <!--              <span v-if="fold">展开</span>-->
             <!--              <span v-else>合并</span>-->
@@ -25,18 +20,8 @@
         </el-form>
       </vab-query-form-top-panel>
       <vab-query-form-left-panel :span="12">
-        <el-button
-          icon="el-icon-plus"
-          type="primary"
-          @click="handleEdit($event)">
-          添加
-        </el-button>
-        <el-button
-          icon="el-icon-delete"
-          type="danger"
-          @click="handleDelete($event)">
-          删除
-        </el-button>
+        <el-button icon="el-icon-plus" type="primary" @click="handleEdit($event)">添加</el-button>
+        <el-button icon="el-icon-delete" type="danger" @click="handleDelete($event)">删除</el-button>
       </vab-query-form-left-panel>
       <vab-query-form-right-panel :span="12">
         <table-tool :check-list.sync="checkList" :columns="columns" />
@@ -74,18 +59,11 @@
       <el-table-column label="操作" width="85">
         <template #default="{ row }">
           <el-button type="text" @click="handleEdit(row)">编辑</el-button>
-          <el-button
-            :disabled="!row.parentId"
-            type="text"
-            @click="handleDelete(row)">
-            删除
-          </el-button>
+          <el-button :disabled="!row.parentId" type="text" @click="handleDelete(row)">删除</el-button>
         </template>
       </el-table-column>
       <template #empty>
-        <el-image
-          class="vab-data-empty"
-          :src="require('@/assets/empty_images/data_empty.png')" />
+        <el-image class="vab-data-empty" :src="require('@/assets/empty_images/data_empty.png')" />
       </template>
     </el-table>
     <el-pagination
@@ -155,9 +133,7 @@
     },
     computed: {
       finallyColumns() {
-        return this.columns.filter((item) =>
-          this.checkList.includes(item.label)
-        )
+        return this.columns.filter((item) => this.checkList.includes(item.label))
       },
     },
     created() {

+ 6 - 22
src/views/system/dict/components/DataEdit.vue

@@ -1,9 +1,5 @@
 <template>
-  <el-dialog
-    :title="title"
-    :visible.sync="dialogFormVisible"
-    width="500px"
-    @close="close">
+  <el-dialog :title="title" :visible.sync="dialogFormVisible" width="500px" @close="close">
     <el-form ref="form" label-width="80px" :model="form" :rules="rules">
       <el-form-item label="字典类型">
         <el-input v-model="form.dictType" :disabled="true" />
@@ -18,10 +14,7 @@
         <el-input v-model="form.cssClass" placeholder="请输入样式属性" />
       </el-form-item>
       <el-form-item label="显示排序" prop="dictSort">
-        <el-input-number
-          v-model="form.dictSort"
-          controls-position="right"
-          :min="0" />
+        <el-input-number v-model="form.dictSort" controls-position="right" :min="0" />
       </el-form-item>
       <el-form-item label="回显样式" prop="listClass">
         <el-select v-model="form.listClass">
@@ -46,10 +39,7 @@
         </el-radio-group>
       </el-form-item>
       <el-form-item label="备注" prop="remark">
-        <el-input
-          v-model="form.remark"
-          placeholder="请输入内容"
-          type="textarea" />
+        <el-input v-model="form.remark" placeholder="请输入内容" type="textarea" />
       </el-form-item>
     </el-form>
     <template #footer>
@@ -68,15 +58,9 @@
       return {
         form: {},
         rules: {
-          dictLabel: [
-            { required: true, message: '数据标签不能为空', trigger: 'blur' },
-          ],
-          dictValue: [
-            { required: true, message: '数据键值不能为空', trigger: 'blur' },
-          ],
-          dictSort: [
-            { required: true, message: '数据顺序不能为空', trigger: 'blur' },
-          ],
+          dictLabel: [{ required: true, message: '数据标签不能为空', trigger: 'blur' }],
+          dictValue: [{ required: true, message: '数据键值不能为空', trigger: 'blur' }],
+          dictSort: [{ required: true, message: '数据顺序不能为空', trigger: 'blur' }],
         },
         title: '',
         dialogFormVisible: false,

+ 4 - 15
src/views/system/dict/components/TypeEdit.vue

@@ -1,9 +1,5 @@
 <template>
-  <el-dialog
-    :title="title"
-    :visible.sync="dialogFormVisible"
-    width="500px"
-    @close="close">
+  <el-dialog :title="title" :visible.sync="dialogFormVisible" width="500px" @close="close">
     <el-form ref="form" label-width="80px" :model="form" :rules="rules">
       <el-form-item label="字典名称" prop="dictName">
         <el-input v-model="form.dictName" placeholder="请输入字典名称" />
@@ -25,10 +21,7 @@
         </el-radio-group>
       </el-form-item>
       <el-form-item label="备注" prop="remark">
-        <el-input
-          v-model="form.remark"
-          placeholder="请输入内容"
-          type="textarea" />
+        <el-input v-model="form.remark" placeholder="请输入内容" type="textarea" />
       </el-form-item>
     </el-form>
     <template #footer>
@@ -47,12 +40,8 @@
       return {
         form: {},
         rules: {
-          dictName: [
-            { required: true, message: '字典名称不能为空', trigger: 'blur' },
-          ],
-          dictType: [
-            { required: true, message: '字典类型不能为空', trigger: 'blur' },
-          ],
+          dictName: [{ required: true, message: '字典名称不能为空', trigger: 'blur' }],
+          dictType: [{ required: true, message: '字典类型不能为空', trigger: 'blur' }],
         },
         title: '',
         dialogFormVisible: false,

+ 12 - 53
src/views/system/dict/dataList.vue

@@ -2,70 +2,39 @@
   <div class="user-management-container">
     <vab-query-form>
       <vab-query-form-left-panel :span="5">
-        <el-button
-          icon="el-icon-plus"
-          type="primary"
-          @click="handleEdit($event)">
-          添加
-        </el-button>
-        <el-button
-          icon="el-icon-delete"
-          type="danger"
-          @click="handleDelete($event)">
-          删除
-        </el-button>
+        <el-button icon="el-icon-plus" type="primary" @click="handleEdit($event)">添加</el-button>
+        <el-button icon="el-icon-delete" type="danger" @click="handleDelete($event)">删除</el-button>
       </vab-query-form-left-panel>
       <vab-query-form-right-panel :span="19">
         <el-form :inline="true" :model="queryForm" @submit.native.prevent>
           <el-form-item label="字典名称" prop="dictName">
-            <el-input
-              v-model.trim="queryForm.dictName"
-              clearable
-              placeholder="请输入字典名称" />
+            <el-input v-model.trim="queryForm.dictName" clearable placeholder="请输入字典名称" />
           </el-form-item>
           <el-form-item label="字典标签" prop="dictLabel">
-            <el-input
-              v-model.trim="queryForm.dictLabel"
-              clearable
-              placeholder="请输入字典标签" />
+            <el-input v-model.trim="queryForm.dictLabel" clearable placeholder="请输入字典标签" />
           </el-form-item>
           <el-form-item label="状态" prop="status">
-            <el-select
-              v-model="queryForm.status"
-              clearable
-              placeholder="数据状态">
+            <el-select v-model="queryForm.status" clearable placeholder="数据状态">
               <el-option label="正常" value="10" />
               <el-option label="停用" value="20" />
             </el-select>
           </el-form-item>
           <el-form-item>
-            <el-button icon="el-icon-search" type="primary" @click="queryData">
-              查询
-            </el-button>
+            <el-button icon="el-icon-search" type="primary" @click="queryData">查询</el-button>
           </el-form-item>
         </el-form>
       </vab-query-form-right-panel>
     </vab-query-form>
 
-    <el-table
-      v-loading="listLoading"
-      border
-      :data="list"
-      :height="height"
-      @selection-change="setSelectRows">
+    <el-table v-loading="listLoading" border :data="list" :height="height" @selection-change="setSelectRows">
       <el-table-column align="center" type="selection" />
       <el-table-column align="center" label="字典编码" prop="dictCode" />
       <el-table-column align="center" label="字典标签" prop="dictLabel">
         <template slot-scope="scope">
-          <span
-            v-if="
-              scope.row.listClass == '' || scope.row.listClass == 'default'
-            ">
+          <span v-if="scope.row.listClass == '' || scope.row.listClass == 'default'">
             {{ scope.row.dictLabel }}
           </span>
-          <el-tag
-            v-else
-            :type="scope.row.listClass == 'primary' ? '' : scope.row.listClass">
+          <el-tag v-else :type="scope.row.listClass == 'primary' ? '' : scope.row.listClass">
             {{ scope.row.dictLabel }}
           </el-tag>
         </template>
@@ -77,30 +46,20 @@
           {{ row.status === '10' ? '正常' : '停用' }}
         </template>
       </el-table-column>
-      <el-table-column
-        align="center"
-        label="备注"
-        prop="remark"
-        show-overflow-tooltip />
+      <el-table-column align="center" label="备注" prop="remark" show-overflow-tooltip />
       <el-table-column align="center" label="创建时间" prop="createdTime">
         <template #default="scope">
           <span>{{ parseTime(scope.row.createdTime) }}</span>
         </template>
       </el-table-column>
-      <el-table-column
-        align="center"
-        label="操作"
-        show-overflow-tooltip
-        width="85">
+      <el-table-column align="center" label="操作" show-overflow-tooltip width="85">
         <template #default="{ row }">
           <el-button type="text" @click="handleEdit(row)">编辑</el-button>
           <el-button type="text" @click="handleDelete(row)">删除</el-button>
         </template>
       </el-table-column>
       <template #empty>
-        <el-image
-          class="vab-data-empty"
-          :src="require('@/assets/empty_images/data_empty.png')" />
+        <el-image class="vab-data-empty" :src="require('@/assets/empty_images/data_empty.png')" />
       </template>
     </el-table>
     <el-pagination

+ 14 - 63
src/views/system/dict/index.vue

@@ -2,76 +2,37 @@
   <div class="user-management-container">
     <vab-query-form>
       <vab-query-form-left-panel :span="5">
-        <el-button
-          icon="el-icon-plus"
-          type="primary"
-          @click="handleEdit($event)">
-          添加
-        </el-button>
-        <el-button
-          icon="el-icon-delete"
-          type="danger"
-          @click="handleDelete($event)">
-          删除
-        </el-button>
+        <el-button icon="el-icon-plus" type="primary" @click="handleEdit($event)">添加</el-button>
+        <el-button icon="el-icon-delete" type="danger" @click="handleDelete($event)">删除</el-button>
       </vab-query-form-left-panel>
       <vab-query-form-right-panel :span="19">
         <el-form :inline="true" :model="queryForm" @submit.native.prevent>
           <el-form-item label="字典名称" prop="dictName">
-            <el-input
-              v-model.trim="queryForm.dictName"
-              clearable
-              placeholder="请输入字典名称" />
+            <el-input v-model.trim="queryForm.dictName" clearable placeholder="请输入字典名称" />
           </el-form-item>
           <el-form-item label="字典类型" prop="dictType">
-            <el-input
-              v-model.trim="queryForm.dictType"
-              clearable
-              placeholder="请输入字典类型" />
+            <el-input v-model.trim="queryForm.dictType" clearable placeholder="请输入字典类型" />
           </el-form-item>
           <el-form-item label="字典状态" prop="status">
-            <el-select
-              v-model="queryForm.status"
-              clearable
-              placeholder="字典状态">
+            <el-select v-model="queryForm.status" clearable placeholder="字典状态">
               <el-option label="正常" value="10" />
               <el-option label="停用" value="20" />
             </el-select>
           </el-form-item>
           <el-form-item>
-            <el-button icon="el-icon-search" type="primary" @click="queryData">
-              查询
-            </el-button>
+            <el-button icon="el-icon-search" type="primary" @click="queryData">查询</el-button>
           </el-form-item>
         </el-form>
       </vab-query-form-right-panel>
     </vab-query-form>
 
-    <el-table
-      v-loading="listLoading"
-      border
-      :data="list"
-      :height="height"
-      @selection-change="setSelectRows">
+    <el-table v-loading="listLoading" border :data="list" :height="height" @selection-change="setSelectRows">
       <el-table-column align="center" show-overflow-tooltip type="selection" />
-      <el-table-column
-        align="center"
-        label="id"
-        prop="id"
-        show-overflow-tooltip />
-      <el-table-column
-        align="center"
-        label="字典名称"
-        prop="dictName"
-        show-overflow-tooltip />
-      <el-table-column
-        align="center"
-        label="字典类型"
-        :show-overflow-tooltip="true">
+      <el-table-column align="center" label="id" prop="id" show-overflow-tooltip />
+      <el-table-column align="center" label="字典名称" prop="dictName" show-overflow-tooltip />
+      <el-table-column align="center" label="字典类型" :show-overflow-tooltip="true">
         <template slot-scope="scope">
-          <router-link
-            class="link-type"
-            :to="'/system/dict-data/' + scope.row.id">
+          <router-link class="link-type" :to="'/system/dict-data/' + scope.row.id">
             <span>{{ scope.row.dictType }}</span>
           </router-link>
         </template>
@@ -81,30 +42,20 @@
           {{ row.status === '10' ? '正常' : '停用' }}
         </template>
       </el-table-column>
-      <el-table-column
-        align="center"
-        label="备注"
-        prop="remark"
-        show-overflow-tooltip />
+      <el-table-column align="center" label="备注" prop="remark" show-overflow-tooltip />
       <el-table-column align="center" label="创建时间" prop="createdTime">
         <template #default="scope">
           <span>{{ parseTime(scope.row.createdTime) }}</span>
         </template>
       </el-table-column>
-      <el-table-column
-        align="center"
-        label="操作"
-        show-overflow-tooltip
-        width="85">
+      <el-table-column align="center" label="操作" show-overflow-tooltip width="85">
         <template #default="{ row }">
           <el-button type="text" @click="handleEdit(row)">编辑</el-button>
           <el-button type="text" @click="handleDelete(row)">删除</el-button>
         </template>
       </el-table-column>
       <template #empty>
-        <el-image
-          class="vab-data-empty"
-          :src="require('@/assets/empty_images/data_empty.png')" />
+        <el-image class="vab-data-empty" :src="require('@/assets/empty_images/data_empty.png')" />
       </template>
     </el-table>
     <el-pagination

+ 5 - 19
src/views/system/group/components/GroupEdit.vue

@@ -1,9 +1,5 @@
 <template>
-  <el-dialog
-    :title="title"
-    :visible.sync="dialogFormVisible"
-    width="500px"
-    @close="close">
+  <el-dialog :title="title" :visible.sync="dialogFormVisible" width="500px" @close="close">
     <el-form ref="form" label-width="100px" :model="form" :rules="rules">
       <el-form-item label="用户组名称" prop="groupName">
         <el-input v-model="form.groupName" placeholder="请输入用户组名称" />
@@ -12,10 +8,7 @@
         <el-input v-model="form.groupCode" placeholder="请输入用户组编号" />
       </el-form-item>
       <el-form-item label="用户组顺序" prop="sort">
-        <el-input-number
-          v-model="form.sort"
-          controls-position="right"
-          :min="0" />
+        <el-input-number v-model="form.sort" controls-position="right" :min="0" />
       </el-form-item>
       <el-form-item label="状态" prop="status">
         <el-radio-group v-model="form.status">
@@ -26,10 +19,7 @@
         </el-radio-group>
       </el-form-item>
       <el-form-item label="备注" prop="remark">
-        <el-input
-          v-model="form.remark"
-          placeholder="请输入内容"
-          type="textarea" />
+        <el-input v-model="form.remark" placeholder="请输入内容" type="textarea" />
       </el-form-item>
     </el-form>
     <template #footer>
@@ -48,12 +38,8 @@
       return {
         form: { status: '10' },
         rules: {
-          groupName: [
-            { required: true, message: '用户组名称不能为空', trigger: 'blur' },
-          ],
-          groupCode: [
-            { required: true, message: '用户组编码不能为空', trigger: 'blur' },
-          ],
+          groupName: [{ required: true, message: '用户组名称不能为空', trigger: 'blur' }],
+          groupCode: [{ required: true, message: '用户组编码不能为空', trigger: 'blur' }],
         },
         title: '',
         dialogFormVisible: false,

+ 16 - 57
src/views/system/menu/components/MenuEdit.vue

@@ -1,12 +1,6 @@
 <template>
   <!-- 添加或修改菜单对话框 -->
-  <el-dialog
-    append-to-body
-    :title="title"
-    :visible.sync="dialogFormVisible"
-    width="50%"
-    @close="close"
-    @open="open">
+  <el-dialog append-to-body :title="title" :visible.sync="dialogFormVisible" width="50%" @close="close" @open="open">
     <el-form ref="form" label-width="100px" :model="form" :rules="rules">
       <el-row>
         <el-col :span="24">
@@ -30,10 +24,7 @@
         </el-col>
         <el-col v-if="form.menuType != 'F'" :span="24">
           <el-form-item label="菜单图标" prop="icon">
-            <el-popover
-              popper-class="icon-selector-popper"
-              trigger="hover"
-              width="292">
+            <el-popover popper-class="icon-selector-popper" trigger="hover" width="292">
               <template #reference>
                 <el-input v-model="form.icon" />
               </template>
@@ -48,18 +39,13 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="显示排序" prop="sort">
-            <el-input-number
-              v-model="form.sort"
-              controls-position="right"
-              :min="0" />
+            <el-input-number v-model="form.sort" controls-position="right" :min="0" />
           </el-form-item>
         </el-col>
         <el-col v-if="form.menuType != 'F'" :span="12">
           <el-form-item prop="isFrame">
             <span slot="label">
-              <el-tooltip
-                content="选择是外链则路由地址需要以`http(s)://`开头"
-                placement="top">
+              <el-tooltip content="选择是外链则路由地址需要以`http(s)://`开头" placement="top">
                 <i class="el-icon-question"></i>
               </el-tooltip>
               是否外链
@@ -86,9 +72,7 @@
         <el-col v-if="form.menuType == 'C'" :span="12">
           <el-form-item prop="component">
             <span slot="label">
-              <el-tooltip
-                content="访问的组件路径,如:`system/user/index`,默认在`views`目录下"
-                placement="top">
+              <el-tooltip content="访问的组件路径,如:`system/user/index`,默认在`views`目录下" placement="top">
                 <i class="el-icon-question"></i>
               </el-tooltip>
               组件路径
@@ -98,10 +82,7 @@
         </el-col>
         <el-col v-if="form.menuType != 'M'" :span="12">
           <el-form-item prop="perms">
-            <el-input
-              v-model="form.perms"
-              maxlength="100"
-              placeholder="请输入权限标识" />
+            <el-input v-model="form.perms" maxlength="100" placeholder="请输入权限标识" />
             <span slot="label">
               <el-tooltip
                 content="控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasPermi('system:user:list')`)"
@@ -114,14 +95,9 @@
         </el-col>
         <el-col v-if="form.menuType == 'C'" :span="12">
           <el-form-item prop="query">
-            <el-input
-              v-model="form.query"
-              maxlength="255"
-              placeholder="请输入路由参数" />
+            <el-input v-model="form.query" maxlength="255" placeholder="请输入路由参数" />
             <span slot="label">
-              <el-tooltip
-                content='访问路由的默认传递参数,如:`{"id": 1, "name": "ry"}`'
-                placement="top">
+              <el-tooltip content='访问路由的默认传递参数,如:`{"id": 1, "name": "ry"}`' placement="top">
                 <i class="el-icon-question"></i>
               </el-tooltip>
               路由参数
@@ -130,10 +106,7 @@
         </el-col>
         <el-col v-if="form.menuType == 'C'" :span="12">
           <el-form-item prop="query">
-            <el-input
-              v-model="form.activeMenu"
-              maxlength="255"
-              placeholder="请输入高亮路由" />
+            <el-input v-model="form.activeMenu" maxlength="255" placeholder="请输入高亮路由" />
             <span slot="label">
               <el-tooltip content="访问路由的高亮路由显示" placement="top">
                 <i class="el-icon-question"></i>
@@ -145,9 +118,7 @@
         <el-col v-if="form.menuType == 'C'" :span="12">
           <el-form-item prop="isCache">
             <span slot="label">
-              <el-tooltip
-                content="选择是则会被`keep-alive`缓存,需要匹配组件的`name`和地址保持一致"
-                placement="top">
+              <el-tooltip content="选择是则会被`keep-alive`缓存,需要匹配组件的`name`和地址保持一致" placement="top">
                 <i class="el-icon-question"></i>
               </el-tooltip>
               是否缓存
@@ -161,9 +132,7 @@
         <el-col v-if="form.menuType != 'F'" :span="12">
           <el-form-item prop="visible">
             <span slot="label">
-              <el-tooltip
-                content="选择隐藏则路由将不会出现在侧边栏,但仍然可以访问"
-                placement="top">
+              <el-tooltip content="选择隐藏则路由将不会出现在侧边栏,但仍然可以访问" placement="top">
                 <i class="el-icon-question"></i>
               </el-tooltip>
               显示状态
@@ -177,9 +146,7 @@
         <el-col v-if="form.menuType != 'F'" :span="12">
           <el-form-item prop="status">
             <span slot="label">
-              <el-tooltip
-                content="选择停用则路由将不会出现在侧边栏,也不能被访问"
-                placement="top">
+              <el-tooltip content="选择停用则路由将不会出现在侧边栏,也不能被访问" placement="top">
                 <i class="el-icon-question"></i>
               </el-tooltip>
               菜单状态
@@ -308,18 +275,10 @@
           },
         },
         rules: {
-          parentId: [
-            { required: true, trigger: 'blur', message: '请输入父级id' },
-          ],
-          menuName: [
-            { required: true, trigger: 'blur', message: '请输入菜单名称' },
-          ],
-          path: [
-            { required: true, trigger: 'blur', message: '请输入路由地址' },
-          ],
-          component: [
-            { required: true, trigger: 'blur', message: '请输入组件路径' },
-          ],
+          parentId: [{ required: true, trigger: 'blur', message: '请输入父级id' }],
+          menuName: [{ required: true, trigger: 'blur', message: '请输入菜单名称' }],
+          path: [{ required: true, trigger: 'blur', message: '请输入路由地址' }],
+          component: [{ required: true, trigger: 'blur', message: '请输入组件路径' }],
           // 'meta.title': [
           //   { required: true, trigger: 'blur', message: '请输入标题' },
           // ],

+ 8 - 34
src/views/system/menu/index.vue

@@ -16,12 +16,7 @@
         <el-card shadow="hover">
           <vab-query-form>
             <vab-query-form-top-panel :span="12">
-              <el-button
-                icon="el-icon-plus"
-                type="primary"
-                @click="handleEdit('')">
-                添加
-              </el-button>
+              <el-button icon="el-icon-plus" type="primary" @click="handleEdit('')">添加</el-button>
             </vab-query-form-top-panel>
           </vab-query-form>
           <el-table
@@ -32,25 +27,12 @@
             :height="$noPagingTableHeight(1)"
             row-key="id"
             :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
-            <el-table-column
-              label="菜单名称"
-              prop="menuName"
-              show-overflow-tooltip />
+            <el-table-column label="菜单名称" prop="menuName" show-overflow-tooltip />
             <!--            <el-table-column label="路径" prop="path" show-overflow-tooltip />-->
-            <el-table-column
-              label="组件路径"
-              prop="component"
-              show-overflow-tooltip />
-            <el-table-column
-              label="权限标识"
-              prop="perms"
-              show-overflow-tooltip />
+            <el-table-column label="组件路径" prop="component" show-overflow-tooltip />
+            <el-table-column label="权限标识" prop="perms" show-overflow-tooltip />
             <el-table-column label="排序" prop="sort" width="60" />
-            <el-table-column
-              label="图标"
-              prop="icon"
-              show-overflow-tooltip
-              width="60">
+            <el-table-column label="图标" prop="icon" show-overflow-tooltip width="60">
               <template #default="{ row }">
                 <vab-icon v-if="row.icon" :icon="row.icon" />
               </template>
@@ -113,22 +95,14 @@
             <!--                {{ row.meta && row.meta.dot ? '是' : '否' }}-->
             <!--              </template>-->
             <!--            </el-table-column>-->
-            <el-table-column
-              fixed="right"
-              label="操作"
-              show-overflow-tooltip
-              width="85">
+            <el-table-column fixed="right" label="操作" show-overflow-tooltip width="85">
               <template #default="{ row }">
                 <el-button type="text" @click="handleEdit(row)">编辑</el-button>
-                <el-button type="text" @click="handleDelete(row)">
-                  删除
-                </el-button>
+                <el-button type="text" @click="handleDelete(row)">删除</el-button>
               </template>
             </el-table-column>
             <template #empty>
-              <el-image
-                class="vab-data-empty"
-                :src="require('@/assets/empty_images/data_empty.png')" />
+              <el-image class="vab-data-empty" :src="require('@/assets/empty_images/data_empty.png')" />
             </template>
           </el-table>
         </el-card>

+ 5 - 19
src/views/system/post/components/PostEdit.vue

@@ -1,9 +1,5 @@
 <template>
-  <el-dialog
-    :title="title"
-    :visible.sync="dialogFormVisible"
-    width="500px"
-    @close="close">
+  <el-dialog :title="title" :visible.sync="dialogFormVisible" width="500px" @close="close">
     <el-form ref="form" label-width="80px" :model="form" :rules="rules">
       <el-form-item label="岗位名称" prop="postName">
         <el-input v-model="form.postName" placeholder="请输入岗位名称" />
@@ -12,10 +8,7 @@
         <el-input v-model="form.postCode" placeholder="请输入岗位编号" />
       </el-form-item>
       <el-form-item label="岗位顺序" prop="sort">
-        <el-input-number
-          v-model="form.sort"
-          controls-position="right"
-          :min="0" />
+        <el-input-number v-model="form.sort" controls-position="right" :min="0" />
       </el-form-item>
       <el-form-item label="状态" prop="status">
         <el-radio-group v-model="form.status">
@@ -26,10 +19,7 @@
         </el-radio-group>
       </el-form-item>
       <el-form-item label="备注" prop="remark">
-        <el-input
-          v-model="form.remark"
-          placeholder="请输入内容"
-          type="textarea" />
+        <el-input v-model="form.remark" placeholder="请输入内容" type="textarea" />
       </el-form-item>
     </el-form>
     <template #footer>
@@ -48,12 +38,8 @@
       return {
         form: { status: '10' },
         rules: {
-          postName: [
-            { required: true, message: '岗位名称不能为空', trigger: 'blur' },
-          ],
-          postCode: [
-            { required: true, message: '岗位编码不能为空', trigger: 'blur' },
-          ],
+          postName: [{ required: true, message: '岗位名称不能为空', trigger: 'blur' }],
+          postCode: [{ required: true, message: '岗位编码不能为空', trigger: 'blur' }],
         },
         title: '',
         dialogFormVisible: false,

+ 9 - 38
src/views/system/role/components/RoleEdit.vue

@@ -1,9 +1,5 @@
 <template>
-  <el-dialog
-    :title="title"
-    :visible.sync="dialogFormVisible"
-    width="500px"
-    @close="close">
+  <el-dialog :title="title" :visible.sync="dialogFormVisible" width="500px" @close="close">
     <el-form ref="form" label-width="80px" :model="form" :rules="rules">
       <el-form-item label="角色名称" prop="roleName">
         <el-input v-model="form.roleName" />
@@ -12,10 +8,7 @@
         <el-input v-model="form.roleKey" />
       </el-form-item>
       <el-form-item label="角色顺序" prop="sort">
-        <el-input-number
-          v-model="form.sort"
-          controls-position="right"
-          :min="0" />
+        <el-input-number v-model="form.sort" controls-position="right" :min="0" />
       </el-form-item>
       <el-form-item label="状态" prop="status">
         <el-radio-group v-model="form.status">
@@ -29,28 +22,13 @@
         </el-radio-group>
       </el-form-item>
       <el-form-item label="菜单权限">
-        <el-checkbox
-          v-model="menuExpand"
-          @change="handleCheckedTreeExpand($event, 'menu')">
-          展开/折叠
-        </el-checkbox>
-        <el-checkbox
-          v-model="menuNodeAll"
-          @change="handleCheckedTreeNodeAll($event, 'menu')">
-          全选/全不选
-        </el-checkbox>
-        <el-checkbox
-          v-model="form.menuCheckStrictly"
-          @change="handleCheckedTreeConnect($event, 'menu')">
+        <el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox>
+        <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选</el-checkbox>
+        <el-checkbox v-model="form.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">
           父子联动
         </el-checkbox>
         <div class="vab-tree-border">
-          <el-tree
-            ref="menu"
-            :check-strictly="!form.menuCheckStrictly"
-            :data="treeList"
-            node-key="id"
-            show-checkbox>
+          <el-tree ref="menu" :check-strictly="!form.menuCheckStrictly" :data="treeList" node-key="id" show-checkbox>
             <template #default="{ data }">
               <span>{{ data.meta.title }}</span>
             </template>
@@ -59,10 +37,7 @@
       </el-form-item>
 
       <el-form-item label="备注" prop="remark">
-        <el-input
-          v-model="form.remark"
-          placeholder="请输入内容"
-          type="textarea" />
+        <el-input v-model="form.remark" placeholder="请输入内容" type="textarea" />
       </el-form-item>
     </el-form>
     <template #footer>
@@ -85,12 +60,8 @@
           status: '10',
         },
         rules: {
-          roleName: [
-            { required: true, trigger: 'blur', message: '请输入角色名称' },
-          ],
-          roleKey: [
-            { required: true, trigger: 'blur', message: '请输入权限字符' },
-          ],
+          roleName: [{ required: true, trigger: 'blur', message: '请输入角色名称' }],
+          roleKey: [{ required: true, trigger: 'blur', message: '请输入权限字符' }],
           status: [{ required: true, trigger: 'blur', message: '请输入状态' }],
         },
         title: '',

+ 11 - 50
src/views/system/role/index.vue

@@ -2,31 +2,16 @@
   <div class="role-management-container">
     <vab-query-form>
       <vab-query-form-left-panel :span="12">
-        <el-button
-          icon="el-icon-plus"
-          type="primary"
-          @click="handleEdit($event)">
-          添加
-        </el-button>
-        <el-button
-          icon="el-icon-delete"
-          type="danger"
-          @click="handleDelete($event)">
-          删除
-        </el-button>
+        <el-button icon="el-icon-plus" type="primary" @click="handleEdit($event)">添加</el-button>
+        <el-button icon="el-icon-delete" type="danger" @click="handleDelete($event)">删除</el-button>
       </vab-query-form-left-panel>
       <vab-query-form-right-panel :span="12">
         <el-form :inline="true" :model="queryForm" @submit.native.prevent>
           <el-form-item>
-            <el-input
-              v-model.trim="queryForm.roleName"
-              clearable
-              placeholder="请输入角色" />
+            <el-input v-model.trim="queryForm.roleName" clearable placeholder="请输入角色" />
           </el-form-item>
           <el-form-item>
-            <el-button icon="el-icon-search" type="primary" @click="queryData">
-              查询
-            </el-button>
+            <el-button icon="el-icon-search" type="primary" @click="queryData">查询</el-button>
           </el-form-item>
         </el-form>
       </vab-query-form-right-panel>
@@ -44,53 +29,29 @@
           {{ $index + 1 }}
         </template>
       </el-table-column>
-      <el-table-column
-        align="center"
-        label="角色名称"
-        prop="roleName"
-        show-overflow-tooltip />
-      <el-table-column
-        align="center"
-        label="权限字符"
-        prop="roleKey"
-        show-overflow-tooltip />
-      <el-table-column
-        align="center"
-        label="显示顺序"
-        prop="sort"
-        show-overflow-tooltip />
+      <el-table-column align="center" label="角色名称" prop="roleName" show-overflow-tooltip />
+      <el-table-column align="center" label="权限字符" prop="roleKey" show-overflow-tooltip />
+      <el-table-column align="center" label="显示顺序" prop="sort" show-overflow-tooltip />
       <el-table-column align="center" label="状态" prop="status">
         <template #default="{ row }">
           {{ row.status === '10' ? '正常' : '停用' }}
         </template>
       </el-table-column>
-      <el-table-column
-        align="center"
-        label="备注"
-        prop="remark"
-        show-overflow-tooltip />
+      <el-table-column align="center" label="备注" prop="remark" show-overflow-tooltip />
       <el-table-column align="center" label="创建时间" prop="createdTime">
         <template #default="scope">
           <span>{{ parseTime(scope.row.createdTime) }}</span>
         </template>
       </el-table-column>
-      <el-table-column
-        align="center"
-        label="操作"
-        show-overflow-tooltip
-        width="150">
+      <el-table-column align="center" label="操作" show-overflow-tooltip width="150">
         <template #default="{ row }">
           <el-button type="text" @click="handleEdit(row)">编辑</el-button>
-          <el-button type="text" @click="handleDataScope(row)">
-            数据权限
-          </el-button>
+          <el-button type="text" @click="handleDataScope(row)">数据权限</el-button>
           <el-button type="text" @click="handleDelete(row)">删除</el-button>
         </template>
       </el-table-column>
       <template #empty>
-        <el-image
-          class="vab-data-empty"
-          :src="require('@/assets/empty_images/data_empty.png')" />
+        <el-image class="vab-data-empty" :src="require('@/assets/empty_images/data_empty.png')" />
       </template>
     </el-table>
     <el-pagination

+ 8 - 36
src/views/system/systemLog/index.vue

@@ -2,16 +2,9 @@
   <div class="system-log-container">
     <vab-query-form>
       <vab-query-form-top-panel>
-        <el-form
-          :inline="true"
-          label-width="60px"
-          :model="queryForm"
-          @submit.native.prevent>
+        <el-form :inline="true" label-width="60px" :model="queryForm" @submit.native.prevent>
           <el-form-item label="账号">
-            <el-input
-              v-model.trim="queryForm.account"
-              clearable
-              placeholder="请输入账号" />
+            <el-input v-model.trim="queryForm.account" clearable placeholder="请输入账号" />
           </el-form-item>
           <el-form-item label="周期">
             <el-date-picker
@@ -23,31 +16,16 @@
               value-format="yyyy-MM-dd" />
           </el-form-item>
           <el-form-item>
-            <el-button icon="el-icon-search" type="primary" @click="queryData">
-              查询
-            </el-button>
+            <el-button icon="el-icon-search" type="primary" @click="queryData">查询</el-button>
           </el-form-item>
         </el-form>
       </vab-query-form-top-panel>
     </vab-query-form>
 
     <el-table v-loading="listLoading" :data="list">
-      <el-table-column
-        align="center"
-        label="日志类型"
-        prop="type"
-        show-overflow-tooltip
-        width="230px" />
-      <el-table-column
-        align="center"
-        label="账号"
-        prop="account"
-        show-overflow-tooltip />
-      <el-table-column
-        align="center"
-        label="执行结果"
-        prop="executeResult"
-        show-overflow-tooltip>
+      <el-table-column align="center" label="日志类型" prop="type" show-overflow-tooltip width="230px" />
+      <el-table-column align="center" label="账号" prop="account" show-overflow-tooltip />
+      <el-table-column align="center" label="执行结果" prop="executeResult" show-overflow-tooltip>
         <template #default="{ row }">
           <span v-if="row.executeResult === '登录成功'">
             <span class="vab-dot vab-dot-success"><span></span></span>
@@ -60,15 +38,9 @@
         </template>
       </el-table-column>
       <el-table-column align="center" label="登录IP" prop="ip" />
-      <el-table-column
-        align="center"
-        label="访问时间"
-        prop="datetime"
-        show-overflow-tooltip />
+      <el-table-column align="center" label="访问时间" prop="datetime" show-overflow-tooltip />
       <template #empty>
-        <el-image
-          class="vab-data-empty"
-          :src="require('@/assets/empty_images/data_empty.png')" />
+        <el-image class="vab-data-empty" :src="require('@/assets/empty_images/data_empty.png')" />
       </template>
     </el-table>
     <el-pagination

+ 16 - 65
src/views/system/user/components/UserEdit.vue

@@ -1,10 +1,6 @@
 <template>
   <!-- 添加或修改参数配置对话框 -->
-  <el-dialog
-    :title="title"
-    :visible.sync="dialogFormVisible"
-    width="600px"
-    @close="close">
+  <el-dialog :title="title" :visible.sync="dialogFormVisible" width="600px" @close="close">
     <el-form ref="form" label-width="80px" :model="form" :rules="rules">
       <el-row>
         <el-col :span="12">
@@ -23,57 +19,35 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="手机号码" prop="phone">
-            <el-input
-              v-model="form.phone"
-              maxlength="11"
-              placeholder="请输入手机号码" />
+            <el-input v-model="form.phone" maxlength="11" placeholder="请输入手机号码" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="邮箱" prop="email">
-            <el-input
-              v-model="form.email"
-              maxlength="50"
-              placeholder="请输入邮箱" />
+            <el-input v-model="form.email" maxlength="50" placeholder="请输入邮箱" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item
-            v-if="form.id == undefined"
-            label="用户账号"
-            prop="userName">
+          <el-form-item v-if="form.id == undefined" label="用户账号" prop="userName">
             <el-input v-model="form.userName" placeholder="请输入用户账号" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item
-            v-if="form.id == undefined"
-            label="用户密码"
-            prop="password">
-            <el-input
-              v-model="form.password"
-              placeholder="请输入用户密码"
-              type="password" />
+          <el-form-item v-if="form.id == undefined" label="用户密码" prop="password">
+            <el-input v-model="form.password" placeholder="请输入用户密码" type="password" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="用户性别">
             <el-select v-model="form.sex" placeholder="请选择">
-              <el-option
-                v-for="dict in sexOptions"
-                :key="dict.key"
-                :label="dict.value"
-                :value="dict.key" />
+              <el-option v-for="dict in sexOptions" :key="dict.key" :label="dict.value" :value="dict.key" />
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="状态">
             <el-radio-group v-model="form.status">
-              <el-radio
-                v-for="dict in statusOptions"
-                :key="dict.key"
-                :label="dict.key">
+              <el-radio v-for="dict in statusOptions" :key="dict.key" :label="dict.key">
                 {{ dict.value }}
               </el-radio>
             </el-radio-group>
@@ -82,42 +56,27 @@
         <el-col :span="12">
           <el-form-item label="岗位">
             <el-select v-model="form.postIds" multiple placeholder="请选择">
-              <el-option
-                v-for="item in postOptions"
-                :key="item.id"
-                :label="item.postName"
-                :value="item.id" />
+              <el-option v-for="item in postOptions" :key="item.id" :label="item.postName" :value="item.id" />
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="角色">
             <el-select v-model="form.roleIds" multiple placeholder="请选择">
-              <el-option
-                v-for="item in roleOptions"
-                :key="item.id"
-                :label="item.roleName"
-                :value="item.id" />
+              <el-option v-for="item in roleOptions" :key="item.id" :label="item.roleName" :value="item.id" />
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="用户组">
             <el-select v-model="form.groupIds" multiple placeholder="请选择">
-              <el-option
-                v-for="item in groupOptions"
-                :key="item.id"
-                :label="item.groupName"
-                :value="item.id" />
+              <el-option v-for="item in groupOptions" :key="item.id" :label="item.groupName" :value="item.id" />
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="24">
           <el-form-item label="备注">
-            <el-input
-              v-model="form.remark"
-              placeholder="请输入内容"
-              type="textarea" />
+            <el-input v-model="form.remark" placeholder="请输入内容" type="textarea" />
           </el-form-item>
         </el-col>
       </el-row>
@@ -147,18 +106,10 @@
           roles: [],
         },
         rules: {
-          userName: [
-            { required: true, message: '用户名称不能为空', trigger: 'blur' },
-          ],
-          nickName: [
-            { required: true, message: '用户昵称不能为空', trigger: 'blur' },
-          ],
-          deptId: [
-            { required: true, message: '归属部门不能为空', trigger: 'blur' },
-          ],
-          password: [
-            { required: true, message: '用户密码不能为空', trigger: 'blur' },
-          ],
+          userName: [{ required: true, message: '用户名称不能为空', trigger: 'blur' }],
+          nickName: [{ required: true, message: '用户昵称不能为空', trigger: 'blur' }],
+          deptId: [{ required: true, message: '归属部门不能为空', trigger: 'blur' }],
+          password: [{ required: true, message: '用户密码不能为空', trigger: 'blur' }],
           email: [
             { required: true, message: '邮箱地址不能为空', trigger: 'blur' },
             {

+ 14 - 69
src/views/system/user/index.vue

@@ -27,83 +27,34 @@
       <el-col :span="20" :xs="24">
         <vab-query-form>
           <vab-query-form-left-panel :span="12">
-            <el-button
-              icon="el-icon-plus"
-              type="primary"
-              @click="handleEdit($event)">
-              添加
-            </el-button>
-            <el-button
-              icon="el-icon-delete"
-              type="danger"
-              @click="handleDelete($event)">
-              删除
-            </el-button>
+            <el-button icon="el-icon-plus" type="primary" @click="handleEdit($event)">添加</el-button>
+            <el-button icon="el-icon-delete" type="danger" @click="handleDelete($event)">删除</el-button>
           </vab-query-form-left-panel>
           <vab-query-form-right-panel :span="12">
             <el-form :inline="true" :model="queryForm" @submit.native.prevent>
               <el-form-item>
-                <el-input
-                  v-model.trim="queryForm.userName"
-                  clearable
-                  placeholder="请输入用户名" />
+                <el-input v-model.trim="queryForm.userName" clearable placeholder="请输入用户名" />
               </el-form-item>
               <el-form-item>
-                <el-button
-                  icon="el-icon-search"
-                  type="primary"
-                  @click="queryData">
-                  查询
-                </el-button>
+                <el-button icon="el-icon-search" type="primary" @click="queryData">查询</el-button>
               </el-form-item>
             </el-form>
           </vab-query-form-right-panel>
         </vab-query-form>
 
-        <el-table
-          v-loading="listLoading"
-          :data="list"
-          :height="height"
-          @selection-change="setSelectRows">
-          <el-table-column
-            align="center"
-            show-overflow-tooltip
-            type="selection" />
+        <el-table v-loading="listLoading" :data="list" :height="height" @selection-change="setSelectRows">
+          <el-table-column align="center" show-overflow-tooltip type="selection" />
           <!--      <el-table-column align="center" label="序号" width="55">
             <template #default="{ $index }">
               {{ $index + 1 }}
             </template>
           </el-table-column>-->
-          <el-table-column
-            align="center"
-            label="id"
-            prop="id"
-            show-overflow-tooltip />
-          <el-table-column
-            align="center"
-            label="用户名"
-            prop="userName"
-            show-overflow-tooltip />
-          <el-table-column
-            align="center"
-            label="昵称"
-            prop="nickName"
-            show-overflow-tooltip />
-          <el-table-column
-            align="center"
-            label="手机号"
-            prop="phone"
-            show-overflow-tooltip />
-          <el-table-column
-            align="center"
-            label="邮箱"
-            prop="email"
-            show-overflow-tooltip />
-          <el-table-column
-            align="center"
-            label="部门"
-            prop="email"
-            show-overflow-tooltip />
+          <el-table-column align="center" label="id" prop="id" show-overflow-tooltip />
+          <el-table-column align="center" label="用户名" prop="userName" show-overflow-tooltip />
+          <el-table-column align="center" label="昵称" prop="nickName" show-overflow-tooltip />
+          <el-table-column align="center" label="手机号" prop="phone" show-overflow-tooltip />
+          <el-table-column align="center" label="邮箱" prop="email" show-overflow-tooltip />
+          <el-table-column align="center" label="部门" prop="email" show-overflow-tooltip />
           <el-table-column align="center" label="角色" show-overflow-tooltip>
             <template #default="{ row }">
               <el-tag v-for="(item, index) in row.roles" :key="index">
@@ -117,20 +68,14 @@
               <span>{{ parseTime(scope.row.createdTime) }}</span>
             </template>
           </el-table-column>
-          <el-table-column
-            align="center"
-            label="操作"
-            show-overflow-tooltip
-            width="85">
+          <el-table-column align="center" label="操作" show-overflow-tooltip width="85">
             <template #default="{ row }">
               <el-button type="text" @click="handleEdit(row)">编辑</el-button>
               <el-button type="text" @click="handleDelete(row)">删除</el-button>
             </template>
           </el-table-column>
           <template #empty>
-            <el-image
-              class="vab-data-empty"
-              :src="require('@/assets/empty_images/data_empty.png')" />
+            <el-image class="vab-data-empty" :src="require('@/assets/empty_images/data_empty.png')" />
           </template>
         </el-table>
         <el-pagination

+ 5 - 19
src/views/work/order/index.vue

@@ -8,26 +8,16 @@
         <el-input v-model="queryForm.orderStatus" placeholder="工单状态" />
       </el-col>
       <el-col :span="4">
-        <el-input
-          v-model="queryForm.assignUserName"
-          placeholder="分派人员姓名" />
+        <el-input v-model="queryForm.assignUserName" placeholder="分派人员姓名" />
       </el-col>
       <el-col :span="12">
-        <el-button icon="el-icon-plus" type="primary" @click="fetchData">
-          查询
-        </el-button>
+        <el-button icon="el-icon-plus" type="primary" @click="fetchData">查询</el-button>
         <el-button icon="el-icon-refresh-right" @click="reset">重置</el-button>
       </el-col>
     </el-row>
     <vab-query-form>
       <vab-query-form-left-panel :span="12">
-        <el-button
-          icon="el-icon-plus"
-          size="mini"
-          type="primary"
-          @click="$refs.edit.init()">
-          新建
-        </el-button>
+        <el-button icon="el-icon-plus" size="mini" type="primary" @click="$refs.edit.init()">新建</el-button>
       </vab-query-form-left-panel>
       <vab-query-form-right-panel :span="12">
         <el-button icon="el-icon-download" @click="exportData" />
@@ -72,9 +62,7 @@
         </template>
       </el-table-column>
       <template #empty>
-        <el-image
-          class="vab-data-empty"
-          :src="require('@/assets/empty_images/data_empty.png')" />
+        <el-image class="vab-data-empty" :src="require('@/assets/empty_images/data_empty.png')" />
       </template>
     </el-table>
 
@@ -160,9 +148,7 @@
       },
       finallyColumns() {
         console.log('finallyColums')
-        return this.columns.filter((item) =>
-          this.checkList.includes(item.label)
-        )
+        return this.columns.filter((item) => this.checkList.includes(item.label))
       },
     },
     mounted() {

+ 1 - 0
template/edit.hbs

@@ -1,5 +1,6 @@
 <template>
   <el-dialog
+    append-to-body
     :title="title"
     :visible.sync="dialogFormVisible"
     width="500px"