lrf 10 months ago
parent
commit
e82a268667
68 changed files with 245 additions and 681 deletions
  1. 1 1
      .env.development
  2. 1 1
      .env.production
  3. 2 1
      src/lang/package/zh-cn/errorMessage.js
  4. 1 1
      src/layout/parts/Header.vue
  5. 2 2
      src/layout/parts/Sidebar.vue
  6. 2 2
      src/layout/parts/sidebar/items.vue
  7. 7 4
      src/router/guard.js
  8. 1 1
      src/router/register.js
  9. 1 1
      src/store/api/platform/achievement.js
  10. 1 1
      src/store/api/platform/demand.js
  11. 1 1
      src/store/api/platform/design.js
  12. 1 1
      src/store/api/platform/match.js
  13. 1 1
      src/store/api/platform/news.js
  14. 1 1
      src/store/api/platform/project.js
  15. 1 1
      src/store/api/platform/sign.js
  16. 1 1
      src/store/api/platform/supply.js
  17. 2 2
      src/store/api/system/dept.js
  18. 1 1
      src/store/api/system/dictData.js
  19. 1 1
      src/store/api/system/dictType.js
  20. 1 1
      src/store/api/system/menus.js
  21. 1 1
      src/store/api/system/role.js
  22. 1 1
      src/store/api/system/tags.js
  23. 1 1
      src/store/api/user/admin.js
  24. 1 1
      src/store/api/user/association.js
  25. 1 1
      src/store/api/user/company.js
  26. 1 1
      src/store/api/user/competition.js
  27. 1 1
      src/store/api/user/expert.js
  28. 1 1
      src/store/api/user/incubator.js
  29. 1 1
      src/store/api/user/investment.js
  30. 1 1
      src/store/api/user/state.js
  31. 1 1
      src/store/api/user/unit.js
  32. 1 1
      src/store/api/user/user.js
  33. 2 0
      src/utils/axios-wrapper.js
  34. 2 2
      src/utils/base-methods.js
  35. 1 1
      src/views/account/center/parts/basic.vue
  36. 1 1
      src/views/account/center/parts/password.vue
  37. 13 13
      src/views/achievement/index.vue
  38. 15 67
      src/views/match/info/index.vue
  39. 4 26
      src/views/match/sign/index.vue
  40. 11 11
      src/views/platform/demand/demand/index.vue
  41. 11 11
      src/views/platform/demand/supply/index.vue
  42. 10 48
      src/views/platform/news/index.vue
  43. 10 48
      src/views/platform/policy/index.vue
  44. 15 15
      src/views/project/index.vue
  45. 1 1
      src/views/system/dept/index.vue
  46. 1 1
      src/views/system/dept/parts/left-tree.vue
  47. 1 1
      src/views/system/dept/parts/right-form.vue
  48. 1 1
      src/views/system/dept/parts/right-view.vue
  49. 10 36
      src/views/system/design/index.vue
  50. 3 3
      src/views/system/dict/index.vue
  51. 3 3
      src/views/system/dictData/index.vue
  52. 3 3
      src/views/system/menus/index.vue
  53. 1 1
      src/views/system/menus/parts/menu-table.vue
  54. 1 1
      src/views/system/menus/parts/parts/info.vue
  55. 4 5
      src/views/system/role/index.vue
  56. 1 1
      src/views/system/role/parts/table.vue
  57. 7 7
      src/views/system/tags/index.vue
  58. 8 8
      src/views/user/admin/index.vue
  59. 16 52
      src/views/user/user/index.vue
  60. 4 23
      src/views/user/user/parts/association.vue
  61. 9 57
      src/views/user/user/parts/company.vue
  62. 4 23
      src/views/user/user/parts/competition.vue
  63. 10 60
      src/views/user/user/parts/expert.vue
  64. 4 23
      src/views/user/user/parts/incubator.vue
  65. 6 36
      src/views/user/user/parts/investment.vue
  66. 5 29
      src/views/user/user/parts/state.vue
  67. 3 15
      src/views/user/user/parts/unit.vue
  68. 2 10
      src/views/user/user/parts/user.vue

+ 1 - 1
.env.development

@@ -2,7 +2,7 @@
 NODE_ENV='development'
 # 是否启用加密,应与服务配合使用,否则会一端加密,一端不解密
 # VITE必须得写,不写就需要改默认配置.没必要
-VITE_USE_CRYPTO = true
+VITE_USE_CRYPTO = false
 # 应用端口
 VITE_APP_PORT = 3000
 

+ 1 - 1
.env.production

@@ -4,7 +4,7 @@ NODE_ENV='production'
 # 应用端口
 VITE_APP_PORT = 3000
 # 是否启用加密,应与服务配合使用,否则会一端加密,一端不解密
-VITE_USE_CRYPTO = true
+VITE_USE_CRYPTO = false
 # 代理前缀
 VITE_APP_BASE_API = '/ts/frame/api'
 

+ 2 - 1
src/lang/package/zh-cn/errorMessage.js

@@ -15,5 +15,6 @@ export default {
   DATABASE_FAULT: '数据库错误',
   FILE_FAULT: '文件错误',
   USER_NOT_BIND: '用户未绑定',
-  BUSINESS: '业务错误'
+  BUSINESS: '业务错误',
+  REQUEST_ERROR: '接口请求发生错误'
 }

+ 1 - 1
src/layout/parts/Header.vue

@@ -19,7 +19,7 @@
             </template>
           </el-dropdown>
           <span>
-            {{ user && user._id ? user.nick_name : '游客' }}
+            {{ user && user.id ? user.nick_name : '游客' }}
           </span>
         </div>
       </el-col>

+ 2 - 2
src/layout/parts/Sidebar.vue

@@ -37,8 +37,8 @@ const getMenu = async () => {
 watch(
   user,
   (newVal) => {
-    if (newVal && newVal._id) {
-      if (newVal && newVal._id) getMenu()
+    if (newVal && newVal.id) {
+      if (newVal && newVal.id) getMenu()
       else ElMessage({ message: `暂无用户信息,无法获取菜单信息`, type: 'error' })
     }
   },

+ 2 - 2
src/layout/parts/sidebar/items.vue

@@ -1,7 +1,7 @@
 <template>
-  <template v-for="item in items" :key="item._id">
+  <template v-for="item in items" :key="item.id">
     <template v-if="item.type === '0'">
-      <el-sub-menu :index="item._id" :key="item._id">
+      <el-sub-menu :index="item.id" :key="item.id">
         <template #title>
           <component class="icon" :is="item.icon"></component>
           <span>{{ $t(item.i18n_code) }}</span>

+ 7 - 4
src/router/guard.js

@@ -6,6 +6,11 @@ import { UserStore } from '@/store/user'
 const whiteList = ['/redirect', '/login', '/401', '/404', '/route/loading']
 NProgress.configure({ showSpinner: false }) // 进度条
 const dontRedirectList = ['/login', '/', '/401', '/404']
+const getRedirectUri = (route) => {
+  const res = dontRedirectList.find((f) => f === route.path)
+  if (res) return
+  else return route.fullPath
+}
 
 // 注册前置守卫
 export const registerBeforeRouter = async (router) => {
@@ -20,8 +25,7 @@ export const registerBeforeRouter = async (router) => {
     if (!token) {
       // 没有登录信息,返回login,并记录当前路由
       console.log('no token & not in whiteList')
-      const redirectPath = to.fullPath
-      next({ path: '/login', query: { redirectPath } })
+      next({ path: '/login', query: { redirectPath: getRedirectUri(to) } })
       return
     } else {
       const userStore = UserStore()
@@ -29,8 +33,7 @@ export const registerBeforeRouter = async (router) => {
       if (!userMenus || userMenus.length <= 0) {
         console.log('has token but no menus')
         // 没有菜单,说明路由没有注册,需要注册路由,记录当前去哪里再跳转至路由
-        let redirectPath = to.fullPath
-        next({ path: '/route/loading', query: { redirectPath } })
+        next({ path: '/route/loading', query: { redirectPath: getRedirectUri(to) } })
         return
       } else {
         // 路由注册了,直接gogogo

+ 1 - 1
src/router/register.js

@@ -91,7 +91,7 @@ const routesRegister = (menus, defaultRoutes, router) => {
         component: loadComponent[`../views${component}.vue`]
       }
       if (parent_id) {
-        const parent = menus.find((f) => f._id === parent_id)
+        const parent = menus.find((f) => f.id === parent_id)
         if (!parent) continue
         const pos = parent.route_name
         router.addRoute(pos, route)

+ 1 - 1
src/store/api/platform/achievement.js

@@ -22,7 +22,7 @@ export const AchievementStore = defineStore('achievement', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/platform/demand.js

@@ -22,7 +22,7 @@ export const DemandStore = defineStore('demand', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/platform/design.js

@@ -22,7 +22,7 @@ export const DesignStore = defineStore('design', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/platform/match.js

@@ -22,7 +22,7 @@ export const MatchStore = defineStore('match', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/platform/news.js

@@ -22,7 +22,7 @@ export const NewsStore = defineStore('news', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/platform/project.js

@@ -22,7 +22,7 @@ export const ProjectStore = defineStore('project', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/platform/sign.js

@@ -22,7 +22,7 @@ export const SignStore = defineStore('sign', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/platform/supply.js

@@ -22,7 +22,7 @@ export const SupplyStore = defineStore('supply', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 2 - 2
src/store/api/system/dept.js

@@ -22,7 +22,7 @@ export const DeptStore = defineStore('dept', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }
@@ -31,7 +31,7 @@ export const DeptStore = defineStore('dept', () => {
     return res
   }
   const nextLevel = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const querys = omit(payload, ['id'])
     const res = await axios.$get(`${url}/nextLevel/${id}`, querys)
     return res

+ 1 - 1
src/store/api/system/dictData.js

@@ -22,7 +22,7 @@ export const DictDataStore = defineStore('dictData', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/system/dictType.js

@@ -22,7 +22,7 @@ export const DictTypeStore = defineStore('dictType', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/system/menus.js

@@ -22,7 +22,7 @@ export const MenusStore = defineStore('menus', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/system/role.js

@@ -22,7 +22,7 @@ export const RoleStore = defineStore('role', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/system/tags.js

@@ -22,7 +22,7 @@ export const TagsStore = defineStore('tags', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/user/admin.js

@@ -22,7 +22,7 @@ export const AdminStore = defineStore('admin', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/user/association.js

@@ -22,7 +22,7 @@ export const AssociationStore = defineStore('association', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/user/company.js

@@ -22,7 +22,7 @@ export const CompanyStore = defineStore('company', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/user/competition.js

@@ -22,7 +22,7 @@ export const CompetitionStore = defineStore('competition', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/user/expert.js

@@ -22,7 +22,7 @@ export const ExpertStore = defineStore('expert', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/user/incubator.js

@@ -22,7 +22,7 @@ export const IncubatorStore = defineStore('incubator', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/user/investment.js

@@ -22,7 +22,7 @@ export const InvestmentStore = defineStore('investment', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/user/state.js

@@ -22,7 +22,7 @@ export const StateStore = defineStore('state', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/user/unit.js

@@ -22,7 +22,7 @@ export const UnitStore = defineStore('unit', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 1 - 1
src/store/api/user/user.js

@@ -22,7 +22,7 @@ export const UserStore = defineStore('users', () => {
     return res
   }
   const update = async (payload) => {
-    const id = get(payload, 'id', get(payload, '_id'))
+    const id = get(payload, 'id', get(payload, 'id'))
     const res = await axios.$post(`${url}/${id}`, payload)
     return res
   }

+ 2 - 0
src/utils/axios-wrapper.js

@@ -8,6 +8,7 @@ import { ErrorCode } from './error-code'
 import router from '@/router'
 import i18n from '@/lang'
 import * as crypto from './crypto'
+import { ElMessage, ElMessageBox } from 'element-plus'
 let currentRequests = 0
 const { VITE_APP_BASE_API, VITE_USE_CRYPTO } = import.meta.env
 const userErrorCodeList = ['NOT_LOGIN', 'ACCOUNT_HAS_EXPIRED', 'ACCOUNT_LOGGED_IN_ELESWHERE', 'USER_NOT_FOUND', 'USER_IS_DISABLED', 'ROLE_IS_DISABLED']
@@ -166,6 +167,7 @@ export class AxiosWrapper {
             const enCodeData = crypto.encrypt(reqCode, strData)
             console.log(`加密后数据:`)
             console.log(enCodeData)
+            console.groupEnd()
             // 替换数据位置
             return JSON.stringify({ data: enCodeData })
           }

+ 2 - 2
src/utils/base-methods.js

@@ -15,7 +15,7 @@ const InitBaseMethods = (store) => {
     }
   }
   const b_delete = async (data) => {
-    const res = await store.del(data._id)
+    const res = await store.del(data.id)
     if ($checkRes(res, true)) {
       b_search({ skip: 0, limit })
     }
@@ -23,7 +23,7 @@ const InitBaseMethods = (store) => {
   const b_save = async () => {
     const data = cloneDeep(form.value)
     let res
-    if (get(data, '_id')) res = await store.update(data)
+    if (get(data, 'id')) res = await store.update(data)
     else res = await store.create(data)
     if ($checkRes(res, true)) {
       b_search({ skip: 0, limit })

+ 1 - 1
src/views/account/center/parts/basic.vue

@@ -63,7 +63,7 @@ const search = async () => {}
 const getRole = (i) => {
   const arr = []
   for (const val of i) {
-    const r = this.roleList.find((f) => f._id === val)
+    const r = this.roleList.find((f) => f.id === val)
     if (r) arr.push(r.name)
   }
   return arr.join(';')

+ 1 - 1
src/views/account/center/parts/password.vue

@@ -51,7 +51,7 @@ onMounted(async () => {
 })
 // 提交保存
 const toSave = async (data) => {
-  let res = await store.rp({ _id: user._id, password: data.password, type: user.role })
+  let res = await store.rp({ id: user.id, password: data.password, type: user.role })
   if ($checkRes(res, true)) {
     userStore.logOut()
     tagsViewStore.delAllViews()

+ 13 - 13
src/views/achievement/index.vue

@@ -2,13 +2,13 @@
   <div class="main animate__animated animate__backInRight" v-loading="loading">
     <custom-search-bar :fields="fields.filter((f) => f.isSearch)" v-model="searchForm" @search="search" @reset="toReset">
       <template #field>
-        <el-option v-for="i in fieldList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in fieldList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
       <template #mature>
-        <el-option v-for="i in matureList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in matureList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
       <template #sell>
-        <el-option v-for="i in sellList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in sellList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
     </custom-search-bar>
     <custom-button-bar :fields="buttonFields" @add="toAdd"></custom-button-bar>
@@ -23,22 +23,22 @@
         <el-col :span="24" v-if="dialog.type == '1'">
           <custom-form v-model="form" :fields="formFields" :rules="rules" @save="toSave">
             <template #is_use>
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{ i.label }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </template>
             <template #field>
-              <el-option v-for="i in fieldList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in fieldList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #attribute>
-              <el-option v-for="i in attributeList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in attributeList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #mature>
-              <el-option v-for="i in matureList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in matureList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #sell>
-              <el-option v-for="i in sellList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in sellList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #technology>
-              <el-option v-for="i in technologyList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in technologyList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #area>
               <el-cascader v-model="form.area" :props="{ value: 'label', label: 'label' }" :options="cityList" style="width: 100%" />
@@ -51,7 +51,7 @@
         <el-col :span="24" v-if="dialog.type == '2'">
           <custom-form v-model="examForm" :fields="examFormFields" :rules="examRules" @save="toExamSave">
             <template #status>
-              <el-option v-for="i in statusList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in statusList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
           </custom-form>
         </el-col>
@@ -196,7 +196,7 @@ const toEdit = (data) => {
 }
 // 删除
 const toDelete = async (data) => {
-  const res = await store.del(data._id)
+  const res = await store.del(data.id)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }
@@ -205,7 +205,7 @@ const toSave = async () => {
   const data = cloneDeep(form.value)
   const other = { status: '0' }
   let res
-  if (get(data, '_id')) res = await store.update({ ...data, ...other })
+  if (get(data, 'id')) res = await store.update({ ...data, ...other })
   else res = await store.create({ ...data, ...other })
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
@@ -230,7 +230,7 @@ const toExamSave = async () => {
 const toUse = async (data, is_use) => {
   ElMessageBox.confirm(`确定修改【${data.name}】数据?`, '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' })
     .then(async () => {
-      let res = await store.update({ _id: get(data, '_id'), is_use })
+      let res = await store.update({ id: get(data, 'id'), is_use })
       if ($checkRes(res, true)) {
         search({ skip: 0, limit })
       }

+ 15 - 67
src/views/match/info/index.vue

@@ -1,77 +1,35 @@
 <template>
   <div class="main animate__animated animate__backInRight" v-loading="loading">
-    <custom-search-bar
-      :fields="fields.filter((f) => f.isSearch)"
-      v-model="searchForm"
-      @search="search"
-      @reset="toReset"
-    >
+    <custom-search-bar :fields="fields.filter((f) => f.isSearch)" v-model="searchForm" @search="search" @reset="toReset">
       <template #type>
-        <el-option v-for="i in typeList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in typeList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
       <template #industry>
-        <el-option
-          v-for="i in industryList"
-          :key="i._id"
-          :label="i.label"
-          :value="i.value"
-        ></el-option>
+        <el-option v-for="i in industryList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
     </custom-search-bar>
     <custom-button-bar :fields="buttonFields" @add="toAdd"></custom-button-bar>
-    <custom-table
-      :data="data"
-      :fields="fields"
-      @query="search"
-      :total="total"
-      :opera="opera"
-      @sign="toSign"
-      @exam="toExam"
-      @edit="toEdit"
-      @delete="toDelete"
-    >
+    <custom-table :data="data" :fields="fields" @query="search" :total="total" :opera="opera" @sign="toSign" @exam="toExam" @edit="toEdit" @delete="toDelete">
       <template #is_use="{ row }">
         <el-tag v-if="row.is_use == '0'" type="success" @click="toUse(row, '1')">启用</el-tag>
         <el-tag v-else type="info" @click="toUse(row, '0')">禁用</el-tag>
       </template>
     </custom-table>
-    <el-dialog
-      v-model="dialog.show"
-      :title="dialog.title"
-      :destroy-on-close="false"
-      @close="toClose"
-    >
+    <el-dialog v-model="dialog.show" :title="dialog.title" :destroy-on-close="false" @close="toClose">
       <el-row>
         <el-col :span="24" v-if="dialog.type == '1'">
           <custom-form v-model="form" :fields="formFields" :rules="rules" @save="toSave">
             <template #is_use>
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
-                i.label
-              }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </template>
             <template #industry>
-              <el-option
-                v-for="i in industryList"
-                :key="i._id"
-                :label="i.label"
-                :value="i.value"
-              ></el-option>
+              <el-option v-for="i in industryList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #type>
-              <el-option
-                v-for="i in typeList"
-                :key="i._id"
-                :label="i.label"
-                :value="i.value"
-              ></el-option>
+              <el-option v-for="i in typeList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #form>
-              <el-option
-                v-for="i in formList"
-                :key="i._id"
-                :label="i.label"
-                :value="i.value"
-              ></el-option>
+              <el-option v-for="i in formList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #rules>
               <div class="rules">
@@ -121,19 +79,9 @@
           </custom-form>
         </el-col>
         <el-col :span="24" v-if="dialog.type == '2'">
-          <custom-form
-            v-model="examForm"
-            :fields="examFormFields"
-            :rules="examRules"
-            @save="toExamSave"
-          >
+          <custom-form v-model="examForm" :fields="examFormFields" :rules="examRules" @save="toExamSave">
             <template #status>
-              <el-option
-                v-for="i in statusList"
-                :key="i._id"
-                :label="i.label"
-                :value="i.value"
-              ></el-option>
+              <el-option v-for="i in statusList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
           </custom-form>
         </el-col>
@@ -310,11 +258,11 @@ const toEdit = (data) => {
 }
 // 报名管理
 const toSign = (data) => {
-  router.push({ path: '/match/sign', query: { id: data._id } })
+  router.push({ path: '/match/sign', query: { id: data.id } })
 }
 // 删除
 const toDelete = async (data) => {
-  const res = await store.del(data._id)
+  const res = await store.del(data.id)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }
@@ -323,7 +271,7 @@ const toSave = async () => {
   const data = cloneDeep(form.value)
   const other = { status: '0' }
   let res
-  if (get(data, '_id')) res = await store.update({ ...data, ...other })
+  if (get(data, 'id')) res = await store.update({ ...data, ...other })
   else res = await store.create({ ...data, ...other })
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
@@ -352,7 +300,7 @@ const toUse = async (data, is_use) => {
     type: 'warning'
   })
     .then(async () => {
-      let res = await store.update({ _id: get(data, '_id'), is_use })
+      let res = await store.update({ id: get(data, 'id'), is_use })
       if ($checkRes(res, true)) {
         search({ skip: 0, limit })
       }

+ 4 - 26
src/views/match/sign/index.vue

@@ -6,20 +6,8 @@
           <el-button type="primary" @click="toBack()">返回</el-button>
         </el-col>
         <el-col :span="24" class="two">
-          <custom-search-bar
-            :fields="fields.filter((f) => f.isSearch)"
-            v-model="searchForm"
-            @search="search"
-            @reset="toReset"
-          ></custom-search-bar>
-          <custom-table
-            :data="data"
-            :fields="fields"
-            @query="search"
-            :total="total"
-            :opera="opera"
-            @view="toView"
-          >
+          <custom-search-bar :fields="fields.filter((f) => f.isSearch)" v-model="searchForm" @search="search" @reset="toReset"></custom-search-bar>
+          <custom-table :data="data" :fields="fields" @query="search" :total="total" :opera="opera" @view="toView">
             <template #is_use="{ row }">
               <el-tag v-if="row.is_use == '0'" type="success" @click="toUse(row, '1')">启用</el-tag>
               <el-tag v-else type="info" @click="toUse(row, '0')">禁用</el-tag>
@@ -28,22 +16,12 @@
         </el-col>
       </el-col>
     </el-row>
-    <el-dialog
-      v-model="dialog.show"
-      :title="dialog.title"
-      :destroy-on-close="false"
-      @close="toClose"
-    >
+    <el-dialog v-model="dialog.show" :title="dialog.title" :destroy-on-close="false" @close="toClose">
       <el-row>
         <el-col :span="24" v-if="dialog.type == '1'">
           <custom-form v-model="form" :fields="formFields" :useSave="false">
             <template #cardType>
-              <el-option
-                v-for="i in cardTypeList"
-                :key="i._id"
-                :label="i.label"
-                :value="i.value"
-              ></el-option>
+              <el-option v-for="i in cardTypeList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
           </custom-form>
         </el-col>

+ 11 - 11
src/views/platform/demand/demand/index.vue

@@ -2,13 +2,13 @@
   <div class="main animate__animated animate__backInRight" v-loading="loading">
     <custom-search-bar :fields="fields.filter((f) => f.isSearch)" v-model="searchForm" @search="search" @reset="toReset">
       <template #field>
-        <el-option v-for="i in fieldList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in fieldList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
       <template #urgent>
-        <el-option v-for="i in urgentList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in urgentList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
       <template #method>
-        <el-option v-for="i in methodList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in methodList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
     </custom-search-bar>
     <custom-button-bar :fields="buttonFields" @add="toAdd"></custom-button-bar>
@@ -23,16 +23,16 @@
         <el-col :span="24" v-if="dialog.type == '1'">
           <custom-form v-model="form" :fields="formFields" :rules="rules" @save="toSave">
             <template #is_use>
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{ i.label }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </template>
             <template #field>
-              <el-option v-for="i in fieldList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in fieldList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #urgent>
-              <el-option v-for="i in urgentList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in urgentList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #method>
-              <el-option v-for="i in methodList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in methodList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #area>
               <el-cascader v-model="form.area" :props="{ value: 'label', label: 'label' }" :options="cityList" style="width: 100%" />
@@ -42,7 +42,7 @@
         <el-col :span="24" v-if="dialog.type == '2'">
           <custom-form v-model="examForm" :fields="examFormFields" :rules="examRules" @save="toExamSave">
             <template #status>
-              <el-option v-for="i in statusList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in statusList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
           </custom-form>
         </el-col>
@@ -174,7 +174,7 @@ const toEdit = (data) => {
 }
 // 删除
 const toDelete = async (data) => {
-  const res = await store.del(data._id)
+  const res = await store.del(data.id)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }
@@ -183,7 +183,7 @@ const toSave = async () => {
   const data = cloneDeep(form.value)
   const other = { status: '0' }
   let res
-  if (get(data, '_id')) res = await store.update({ ...data, ...other })
+  if (get(data, 'id')) res = await store.update({ ...data, ...other })
   else res = await store.create({ ...data, ...other })
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
@@ -208,7 +208,7 @@ const toExamSave = async () => {
 const toUse = async (data, is_use) => {
   ElMessageBox.confirm(`确定修改【${data.name}】数据?`, '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' })
     .then(async () => {
-      let res = await store.update({ _id: get(data, '_id'), is_use })
+      let res = await store.update({ id: get(data, 'id'), is_use })
       if ($checkRes(res, true)) {
         search({ skip: 0, limit })
       }

+ 11 - 11
src/views/platform/demand/supply/index.vue

@@ -2,13 +2,13 @@
   <div class="main animate__animated animate__backInRight" v-loading="loading">
     <custom-search-bar :fields="fields.filter((f) => f.isSearch)" v-model="searchForm" @search="search" @reset="toReset">
       <template #field>
-        <el-option v-for="i in fieldList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in fieldList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
       <template #urgent>
-        <el-option v-for="i in urgentList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in urgentList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
       <template #method>
-        <el-option v-for="i in methodList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in methodList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
     </custom-search-bar>
     <custom-button-bar :fields="buttonFields" @add="toAdd"></custom-button-bar>
@@ -23,16 +23,16 @@
         <el-col :span="24" v-if="dialog.type == '1'">
           <custom-form v-model="form" :fields="formFields" :rules="rules" @save="toSave">
             <template #is_use>
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{ i.label }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </template>
             <template #field>
-              <el-option v-for="i in fieldList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in fieldList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #urgent>
-              <el-option v-for="i in urgentList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in urgentList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #method>
-              <el-option v-for="i in methodList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in methodList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #area>
               <el-cascader v-model="form.area" :props="{ value: 'label', label: 'label' }" :options="cityList" style="width: 100%" />
@@ -42,7 +42,7 @@
         <el-col :span="24" v-if="dialog.type == '2'">
           <custom-form v-model="examForm" :fields="examFormFields" :rules="examRules" @save="toExamSave">
             <template #status>
-              <el-option v-for="i in statusList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in statusList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
           </custom-form>
         </el-col>
@@ -174,7 +174,7 @@ const toEdit = (data) => {
 }
 // 删除
 const toDelete = async (data) => {
-  const res = await store.del(data._id)
+  const res = await store.del(data.id)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }
@@ -183,7 +183,7 @@ const toSave = async () => {
   const data = cloneDeep(form.value)
   const other = { status: '0' }
   let res
-  if (get(data, '_id')) res = await store.update({ ...data, ...other })
+  if (get(data, 'id')) res = await store.update({ ...data, ...other })
   else res = await store.create({ ...data, ...other })
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
@@ -208,7 +208,7 @@ const toExamSave = async () => {
 const toUse = async (data, is_use) => {
   ElMessageBox.confirm(`确定修改【${data.name}】数据?`, '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' })
     .then(async () => {
-      let res = await store.update({ _id: get(data, '_id'), is_use })
+      let res = await store.update({ id: get(data, 'id'), is_use })
       if ($checkRes(res, true)) {
         search({ skip: 0, limit })
       }

+ 10 - 48
src/views/platform/news/index.vue

@@ -1,50 +1,22 @@
 <template>
   <div class="main animate__animated animate__backInRight" v-loading="loading">
-    <custom-search-bar
-      :fields="fields.filter((f) => f.isSearch)"
-      v-model="searchForm"
-      @search="search"
-      @reset="toReset"
-    ></custom-search-bar>
+    <custom-search-bar :fields="fields.filter((f) => f.isSearch)" v-model="searchForm" @search="search" @reset="toReset"></custom-search-bar>
     <custom-button-bar :fields="buttonFields" @add="toAdd"></custom-button-bar>
-    <custom-table
-      :data="data"
-      :fields="fields"
-      @query="search"
-      :total="total"
-      :opera="opera"
-      @exam="toExam"
-      @edit="toEdit"
-      @delete="toDelete"
-    >
+    <custom-table :data="data" :fields="fields" @query="search" :total="total" :opera="opera" @exam="toExam" @edit="toEdit" @delete="toDelete">
       <template #is_use="{ row }">
         <el-tag v-if="row.is_use == '0'" type="success" @click="toUse(row, '1')">启用</el-tag>
         <el-tag v-else type="info" @click="toUse(row, '0')">禁用</el-tag>
       </template>
     </custom-table>
-    <el-dialog
-      v-model="dialog.show"
-      :title="dialog.title"
-      :destroy-on-close="false"
-      @close="toClose"
-    >
+    <el-dialog v-model="dialog.show" :title="dialog.title" :destroy-on-close="false" @close="toClose">
       <el-row>
         <el-col :span="24" v-if="dialog.type == '1'">
           <custom-form v-model="form" :fields="formFields" :rules="rules" @save="toSave">
             <template #logo>
-              <custom-upload
-                model="logo"
-                :list="form.logo"
-                :limit="1"
-                url="/files/web/template_news/upload"
-                @change="onUpload"
-                listType="picture-card"
-              ></custom-upload>
+              <custom-upload model="logo" :list="form.logo" :limit="1" url="/files/web/template_news/upload" @change="onUpload" listType="picture-card"></custom-upload>
             </template>
             <template #is_use>
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
-                i.label
-              }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </template>
             <template #content>
               <WangEditor v-model="form.content" />
@@ -52,19 +24,9 @@
           </custom-form>
         </el-col>
         <el-col :span="24" v-if="dialog.type == '2'">
-          <custom-form
-            v-model="examForm"
-            :fields="examFormFields"
-            :rules="examRules"
-            @save="toExamSave"
-          >
+          <custom-form v-model="examForm" :fields="examFormFields" :rules="examRules" @save="toExamSave">
             <template #status>
-              <el-option
-                v-for="i in statusList"
-                :key="i._id"
-                :label="i.label"
-                :value="i.value"
-              ></el-option>
+              <el-option v-for="i in statusList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
           </custom-form>
         </el-col>
@@ -193,7 +155,7 @@ const toEdit = (data) => {
 }
 // 删除
 const toDelete = async (data) => {
-  const res = await store.del(data._id)
+  const res = await store.del(data.id)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }
@@ -207,7 +169,7 @@ const toSave = async () => {
   const data = cloneDeep(form.value)
   const other = { time: moment().format('YYYY-MM-DD'), person: user.value.nick_name, status: '0' }
   let res
-  if (get(data, '_id')) res = await store.update({ ...data, ...other })
+  if (get(data, 'id')) res = await store.update({ ...data, ...other })
   else res = await store.create({ ...data, ...other })
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
@@ -236,7 +198,7 @@ const toUse = async (data, is_use) => {
     type: 'warning'
   })
     .then(async () => {
-      let res = await store.update({ _id: get(data, '_id'), is_use })
+      let res = await store.update({ id: get(data, 'id'), is_use })
       if ($checkRes(res, true)) {
         search({ skip: 0, limit })
       }

+ 10 - 48
src/views/platform/policy/index.vue

@@ -1,50 +1,22 @@
 <template>
   <div class="main animate__animated animate__backInRight" v-loading="loading">
-    <custom-search-bar
-      :fields="fields.filter((f) => f.isSearch)"
-      v-model="searchForm"
-      @search="search"
-      @reset="toReset"
-    ></custom-search-bar>
+    <custom-search-bar :fields="fields.filter((f) => f.isSearch)" v-model="searchForm" @search="search" @reset="toReset"></custom-search-bar>
     <custom-button-bar :fields="buttonFields" @add="toAdd"></custom-button-bar>
-    <custom-table
-      :data="data"
-      :fields="fields"
-      @query="search"
-      :total="total"
-      :opera="opera"
-      @exam="toExam"
-      @edit="toEdit"
-      @delete="toDelete"
-    >
+    <custom-table :data="data" :fields="fields" @query="search" :total="total" :opera="opera" @exam="toExam" @edit="toEdit" @delete="toDelete">
       <template #is_use="{ row }">
         <el-tag v-if="row.is_use == '0'" type="success" @click="toUse(row, '1')">启用</el-tag>
         <el-tag v-else type="info" @click="toUse(row, '0')">禁用</el-tag>
       </template>
     </custom-table>
-    <el-dialog
-      v-model="dialog.show"
-      :title="dialog.title"
-      :destroy-on-close="false"
-      @close="toClose"
-    >
+    <el-dialog v-model="dialog.show" :title="dialog.title" :destroy-on-close="false" @close="toClose">
       <el-row>
         <el-col :span="24" v-if="dialog.type == '1'">
           <custom-form v-model="form" :fields="formFields" :rules="rules" @save="toSave">
             <template #logo>
-              <custom-upload
-                model="logo"
-                :list="form.logo"
-                :limit="1"
-                url="/files/web/template_news/upload"
-                @change="onUpload"
-                listType="picture-card"
-              ></custom-upload>
+              <custom-upload model="logo" :list="form.logo" :limit="1" url="/files/web/template_news/upload" @change="onUpload" listType="picture-card"></custom-upload>
             </template>
             <template #is_use>
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
-                i.label
-              }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </template>
             <template #content>
               <WangEditor v-model="form.content" />
@@ -52,19 +24,9 @@
           </custom-form>
         </el-col>
         <el-col :span="24" v-if="dialog.type == '2'">
-          <custom-form
-            v-model="examForm"
-            :fields="examFormFields"
-            :rules="examRules"
-            @save="toExamSave"
-          >
+          <custom-form v-model="examForm" :fields="examFormFields" :rules="examRules" @save="toExamSave">
             <template #status>
-              <el-option
-                v-for="i in statusList"
-                :key="i._id"
-                :label="i.label"
-                :value="i.value"
-              ></el-option>
+              <el-option v-for="i in statusList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
           </custom-form>
         </el-col>
@@ -193,7 +155,7 @@ const toEdit = (data) => {
 }
 // 删除
 const toDelete = async (data) => {
-  const res = await store.del(data._id)
+  const res = await store.del(data.id)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }
@@ -209,7 +171,7 @@ const toSave = async () => {
   const data = cloneDeep(form.value)
   const other = { time: moment().format('YYYY-MM-DD'), person: user.value.nick_name, status: '0' }
   let res
-  if (get(data, '_id')) res = await store.update({ ...data, ...other })
+  if (get(data, 'id')) res = await store.update({ ...data, ...other })
   else res = await store.create({ ...data, ...other })
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
@@ -238,7 +200,7 @@ const toUse = async (data, is_use) => {
     type: 'warning'
   })
     .then(async () => {
-      let res = await store.update({ _id: get(data, '_id'), is_use })
+      let res = await store.update({ id: get(data, 'id'), is_use })
       if ($checkRes(res, true)) {
         search({ skip: 0, limit })
       }

+ 15 - 15
src/views/project/index.vue

@@ -2,19 +2,19 @@
   <div class="main animate__animated animate__backInRight" v-loading="loading">
     <custom-search-bar :fields="fields.filter((f) => f.isSearch)" v-model="searchForm" @search="search" @reset="toReset">
       <template #field>
-        <el-option v-for="i in fieldList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in fieldList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
       <template #type>
-        <el-option v-for="i in typeList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in typeList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
       <template #maturity>
-        <el-option v-for="i in maturityList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in maturityList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
       <template #skill>
-        <el-option v-for="i in skillList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in skillList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
       <template #cooperate>
-        <el-option v-for="i in cooperateList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+        <el-option v-for="i in cooperateList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
     </custom-search-bar>
     <custom-button-bar :fields="buttonFields" @add="toAdd"></custom-button-bar>
@@ -29,22 +29,22 @@
         <el-col :span="24" v-if="dialog.type == '1'">
           <custom-form v-model="form" :fields="formFields" :rules="rules" @save="toSave">
             <template #is_use>
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{ i.label }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </template>
             <template #field>
-              <el-option v-for="i in fieldList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in fieldList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #type>
-              <el-option v-for="i in typeList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in typeList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #maturity>
-              <el-option v-for="i in maturityList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in maturityList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #skill>
-              <el-option v-for="i in skillList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in skillList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #cooperate>
-              <el-option v-for="i in cooperateList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in cooperateList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #area>
               <el-cascader v-model="form.area" :props="{ value: 'label', label: 'label' }" :options="cityList" style="width: 100%" />
@@ -54,7 +54,7 @@
         <el-col :span="24" v-if="dialog.type == '2'">
           <custom-form v-model="examForm" :fields="examFormFields" :rules="examRules" @save="toExamSave">
             <template #status>
-              <el-option v-for="i in statusList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in statusList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
           </custom-form>
         </el-col>
@@ -192,7 +192,7 @@ const toEdit = (data) => {
 }
 // 删除
 const toDelete = async (data) => {
-  const res = await store.del(data._id)
+  const res = await store.del(data.id)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }
@@ -201,7 +201,7 @@ const toSave = async () => {
   const data = cloneDeep(form.value)
   const other = { status: '0' }
   let res
-  if (get(data, '_id')) res = await store.update({ ...data, ...other })
+  if (get(data, 'id')) res = await store.update({ ...data, ...other })
   else res = await store.create({ ...data, ...other })
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
@@ -226,7 +226,7 @@ const toExamSave = async () => {
 const toUse = async (data, is_use) => {
   ElMessageBox.confirm(`确定修改【${data.name}】数据?`, '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' })
     .then(async () => {
-      let res = await store.update({ _id: get(data, '_id'), is_use })
+      let res = await store.update({ id: get(data, 'id'), is_use })
       if ($checkRes(res, true)) {
         search({ skip: 0, limit })
       }

+ 1 - 1
src/views/system/dept/index.vue

@@ -74,7 +74,7 @@ provide('treeData', treeData)
 const toSave = async () => {
   const data = cloneDeep(omit(form.value, ['children', 'parent_id_name']))
   let res
-  if (get(data, '_id')) {
+  if (get(data, 'id')) {
     res = await store.update(data)
   } else res = await store.create(data)
   if ($checkRes(res, true)) {

+ 1 - 1
src/views/system/dept/parts/left-tree.vue

@@ -19,7 +19,7 @@ const defaultProps = {
 }
 const handleNodeClick = async (data) => {
   const rd = toRaw(data)
-  const id = get(rd, '_id')
+  const id = get(rd, 'id')
   changeDeptList(id)
 }
 </script>

+ 1 - 1
src/views/system/dept/parts/right-form.vue

@@ -19,7 +19,7 @@ const formFieldsForUpdate = [
   { label: t('pages.dept.order_num'), model: 'order_num', type: 'number' }
 ]
 onMounted(() => {
-  if (!form._id) formFields.value = formFieldsForCreate
+  if (!form.id) formFields.value = formFieldsForCreate
   else formFields.value = formFieldsForUpdate
 })
 </script>

+ 1 - 1
src/views/system/dept/parts/right-view.vue

@@ -21,7 +21,7 @@ const data = inject('list')
 const total = inject('total')
 const fields = [
   { label: t('pages.dept.name'), model: 'name', filter: true },
-  { label: t('pages.dept.partent'), model: 'parent_id_name' },
+  { label: t('pages.dept.partent'), model: 'parent_name' },
   { label: t('pages.dept.status'), model: 'is_use', format: (i) => (i === '0' ? t('common.is_use_abled') : t('common.is_use_disabled')) }
 ]
 const opera = [

+ 10 - 36
src/views/system/design/index.vue

@@ -11,48 +11,19 @@
               <WangEditor v-model="form.brief" />
             </template>
             <template #logoUrl>
-              <custom-upload
-                model="logoUrl"
-                :list="form.logoUrl"
-                :limit="1"
-                url="/files/web/template_design/upload"
-                @change="onUpload"
-              ></custom-upload>
+              <custom-upload model="logoUrl" :list="form.logoUrl" :limit="1" url="/files/web/template_design/upload" @change="onUpload"></custom-upload>
             </template>
             <template #videoUrl>
-              <custom-upload
-                model="videoUrl"
-                :list="form.videoUrl"
-                :limit="1"
-                url="/files/web/template_design/upload"
-                @change="onUpload"
-              ></custom-upload>
+              <custom-upload model="videoUrl" :list="form.videoUrl" :limit="1" url="/files/web/template_design/upload" @change="onUpload"></custom-upload>
             </template>
             <template #footInfo>
               <div class="footInfo">
-                <custom-form
-                  v-model="form.footInfo"
-                  :fields="footFields"
-                  :rules="footRules"
-                  :useSave="false"
-                >
+                <custom-form v-model="form.footInfo" :fields="footFields" :rules="footRules" :useSave="false">
                   <template #Code>
-                    <custom-upload
-                      model="Code"
-                      :list="form.footInfo.Code"
-                      :limit="1"
-                      url="/files/web/template_design/upload"
-                      @change="onFUpload"
-                    ></custom-upload>
+                    <custom-upload model="Code" :list="form.footInfo.Code" :limit="1" url="/files/web/template_design/upload" @change="onFUpload"></custom-upload>
                   </template>
                   <template #Unit>
-                    <custom-upload
-                      model="Unit"
-                      :list="form.footInfo.videoUrl"
-                      :limit="1"
-                      url="/files/web/template_design/upload"
-                      @change="onFUpload"
-                    ></custom-upload>
+                    <custom-upload model="Unit" :list="form.footInfo.videoUrl" :limit="1" url="/files/web/template_design/upload" @change="onFUpload"></custom-upload>
                   </template>
                 </custom-form>
               </div>
@@ -116,13 +87,16 @@ onMounted(async () => {
 })
 const search = async () => {
   const res = await store.query()
-  if (res.errcode == '0') form.value = res.data[0] || { footInfo: {} }
+  if (res.errcode == '0') {
+    form.value = res.data[0] || { footInfo: {} }
+    console.log(form.value)
+  }
 }
 // 提交保存
 const toSave = async () => {
   const data = cloneDeep(form.value)
   let res
-  if (get(data, '_id')) res = await store.update(data)
+  if (get(data, 'id')) res = await store.update(data)
   else res = await store.create(data)
   if ($checkRes(res, true)) search()
 }

+ 3 - 3
src/views/system/dict/index.vue

@@ -13,7 +13,7 @@
         <el-col :span="24" v-if="dialog.type == '1'">
           <custom-form v-model="form" :fields="formFields" :rules="rules" @save="toSave">
             <template #is_use>
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{ i.label }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </template>
           </custom-form>
         </el-col>
@@ -105,7 +105,7 @@ const toEdit = (data) => {
 }
 // 删除
 const toDelete = async (data) => {
-  const res = await store.del(data._id)
+  const res = await store.del(data.id)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }
@@ -113,7 +113,7 @@ const toDelete = async (data) => {
 const toSave = async () => {
   const data = cloneDeep(form.value)
   let res
-  if (get(data, '_id')) res = await store.update(data)
+  if (get(data, 'id')) res = await store.update(data)
   else res = await store.create(data)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })

+ 3 - 3
src/views/system/dictData/index.vue

@@ -11,7 +11,7 @@
     <el-dialog v-model="dialog" :title="$t('pages.dictData.dialogTitle')" :destroy-on-close="false" @close="toClose" width="30%">
       <custom-form v-model="form" :fields="formFields" :rules="rules" @save="toSave">
         <template #is_use>
-          <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{ i.label }}</el-radio>
+          <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
         </template>
       </custom-form>
     </el-dialog>
@@ -88,7 +88,7 @@ const toEdit = (data) => {
 }
 // 删除
 const toDelete = async (data) => {
-  const res = await store.del(data._id)
+  const res = await store.del(data.id)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }
@@ -96,7 +96,7 @@ const toDelete = async (data) => {
 const toSave = async () => {
   const data = cloneDeep(form.value)
   let res
-  if (get(data, '_id')) res = await store.update(data)
+  if (get(data, 'id')) res = await store.update(data)
   else res = await store.create({ ...data, code: codeInfo.value.code })
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })

+ 3 - 3
src/views/system/menus/index.vue

@@ -52,7 +52,7 @@ const search = async () => {
 const toSave = async () => {
   const data = cloneDeep(omit(form.value, ['children', 'parent_name']))
   let res
-  if (get(data, '_id')) {
+  if (get(data, 'id')) {
     res = await store.update(data)
   } else res = await store.create(data)
   if ($checkRes(res, true)) {
@@ -66,7 +66,7 @@ const toDelete = async (row) => {
     cancelButtonText: t('common.cancel'),
     type: 'warning'
   }).then(async () => {
-    const res = await store.del(row._id)
+    const res = await store.del(row.id)
     if ($checkRes(res, true)) {
       search()
     }
@@ -76,7 +76,7 @@ const toDelete = async (row) => {
 
 // #region 工具函数
 const toAddNext = (row) => {
-  const obj = { parent_id: row._id, is_use: '0' }
+  const obj = { parent_id: row.id, is_use: '0' }
   form.value = obj
   dialog.value = true
 }

+ 1 - 1
src/views/system/menus/parts/menu-table.vue

@@ -1,6 +1,6 @@
 <template>
   <div id="menu-table">
-    <el-table :data="data" row-key="_id" border>
+    <el-table :data="data" row-key="id" border>
       <el-table-column align="center" :label="$t('pages.menus.order_num')" sortable prop="order_num" width="80"></el-table-column>
       <el-table-column align="center" :label="$t('pages.menus.icon')" width="80">
         <template #default="{ row }"><span :class="['iconfont', row.icon]"></span></template>

+ 1 - 1
src/views/system/menus/parts/parts/info.vue

@@ -23,7 +23,7 @@
     </el-form-item>
     <el-form-item :label="$t('pages.menus.parentName')">
       <el-select v-model="form.parent_id" placeholder="" :disabled="true">
-        <el-option v-for="(i, index) in getOneDimensionList()" :key="`m${index}`" :label="i.name" :value="i._id"></el-option>
+        <el-option v-for="(i, index) in getOneDimensionList()" :key="`m${index}`" :label="i.name" :value="i.id"></el-option>
       </el-select>
     </el-form-item>
     <template v-if="form.type === '1' || form.type === '2'">

+ 4 - 5
src/views/system/role/index.vue

@@ -59,7 +59,7 @@ const form = ref({})
 const dialog = ref(false)
 
 const toEdit = async (data) => {
-  let res = await store.fetch(data._id)
+  let res = await store.fetch(data.id)
   if ($checkRes(res)) {
     form.value = res.data
     dialog.value = true
@@ -71,7 +71,7 @@ const toDelete = async (data) => {
     cancelButtonText: '取消',
     type: 'warning'
   }).then(async () => {
-    const res = await store.del(data._id)
+    const res = await store.del(data.id)
     if ($checkRes(res, true)) {
       search({ skip: 0, limit })
     }
@@ -79,9 +79,8 @@ const toDelete = async (data) => {
 }
 const onSubmit = async () => {
   const data = cloneDeep(form.value)
-  console.log(data)
   let res
-  if (get(data, '_id')) res = await store.update(data)
+  if (get(data, 'id')) res = await store.update(data)
   else res = await store.create(data)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
@@ -91,7 +90,7 @@ const onSubmit = async () => {
 const changeUse = async (data) => {
   let is_use = '1'
   if (data.is_use === '1') is_use = '0'
-  const res = await store.update({ _id: data._id, is_use })
+  const res = await store.update({ id: data.id, is_use })
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }

+ 1 - 1
src/views/system/role/parts/table.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-table :data="data" row-key="_id" border height="70vh">
+  <el-table :data="data" row-key="id" border height="70vh">
     <el-table-column align="center" :label="$t('pages.role.name')" prop="name"></el-table-column>
     <el-table-column align="center" :label="$t('pages.role.code')" prop="code"></el-table-column>
     <el-table-column align="center" :label="$t('pages.role.is_use')" prop="is_use">

+ 7 - 7
src/views/system/tags/index.vue

@@ -13,7 +13,7 @@
         <el-col :span="24" v-if="dialog.type == '1'">
           <custom-form v-model="form" :fields="formFields" :rules="rules" @save="toSave">
             <template #type>
-              <el-option v-for="i in typeList" :key="i._id" :label="i.label" :value="i.value"></el-option>
+              <el-option v-for="i in typeList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
             <template #children>
               <el-col :span="24" class="button">
@@ -38,7 +38,7 @@
               </el-table>
             </template>
             <template #is_use>
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{ i.label }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </template>
           </custom-form>
         </el-col>
@@ -148,24 +148,24 @@ const toEdit = (data) => {
 }
 // 删除
 const toDelete = async (data) => {
-  const res = await store.del(data._id)
+  const res = await store.del(data.id)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }
 }
 // 添加子菜单
 const toCadd = async () => {
-  form.value.children.push({ type: '1', _id: moment().valueOf() })
+  form.value.children.push({ type: '1', id: moment().valueOf() })
 }
 // 删除子菜单
 const toCdel = async (item) => {
-  const children = form.value.children.filter((i) => i._id != item._id)
+  const children = form.value.children.filter((i) => i.id != item.id)
   form.value.children = children
 }
 const toSave = async () => {
   const data = cloneDeep(form.value)
   let res
-  if (get(data, '_id')) res = await store.update(data)
+  if (get(data, 'id')) res = await store.update(data)
   else res = await store.create(data)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
@@ -185,7 +185,7 @@ const toClose = () => {
 const toUse = async (data, is_use) => {
   ElMessageBox.confirm(`确定修改【${data.title}】数据?`, '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' })
     .then(async () => {
-      let res = await store.update({ _id: get(data, '_id'), is_use })
+      let res = await store.update({ id: get(data, 'id'), is_use })
       if ($checkRes(res, true)) {
         search({ skip: 0, limit })
       }

+ 8 - 8
src/views/user/admin/index.vue

@@ -11,13 +11,13 @@
     <el-dialog v-model="dialog" :title="$t('pages.menus.dialogTitle')" :destroy-on-close="false" @close="toClose">
       <custom-form v-model="form" :fields="formFields" @save="toSave">
         <template #is_use>
-          <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{ i.label }}</el-radio>
+          <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
         </template>
         <template #role>
-          <el-option v-for="i in roleList" :key="i._id" :label="i.name" :value="i.code"></el-option>
+          <el-option v-for="i in roleList" :key="i.id" :label="i.name" :value="i.code"></el-option>
         </template>
         <template #dept>
-          <el-tree-select :props="defaultProps" node-key="_id" accordion v-model="form.dept" :data="deptList" check-strictly :render-after-expand="false" />
+          <el-tree-select :props="defaultProps" node-key="id" accordion v-model="form.dept" :data="deptList" check-strictly :render-after-expand="false" />
         </template>
       </custom-form>
     </el-dialog>
@@ -113,14 +113,14 @@ const searchOther = async () => {
 }
 
 const toDelete = async (data) => {
-  const res = await store.del(data._id)
+  const res = await store.del(data.id)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }
 }
 const userType = 'Admin'
 const toResetPwd = async (data) => {
-  const res = await loginStore.rpNoNewPassword({ type: userType, _id: data._id })
+  const res = await loginStore.rpNoNewPassword({ type: userType, id: data.id })
   if ($checkRes(res, true)) {
     ElMessageBox.confirm(`新密码为:${res.data}`, '请确认', {
       confirmButtonText: '确定',
@@ -130,7 +130,7 @@ const toResetPwd = async (data) => {
   }
 }
 const toChangeUse = async (data) => {
-  const udata = { _id: data._id, is_use: data.is_use === '0' ? '1' : '0' }
+  const udata = { id: data.id, is_use: data.is_use === '0' ? '1' : '0' }
   const res = await store.update(udata)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
@@ -171,7 +171,7 @@ const toEdit = (data) => {
 const toSave = async () => {
   const data = cloneDeep(form.value)
   let res
-  if (get(data, '_id')) res = await store.update(data)
+  if (get(data, 'id')) res = await store.update(data)
   else res = await store.create(data)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
@@ -192,7 +192,7 @@ const getDept = (data) => {
     return result
   }
   const odDeptList = resetList(deptList.value)
-  const result = odDeptList.find((f) => f._id === data)
+  const result = odDeptList.find((f) => f.id === data)
   if (!result) return '暂无'
   return result.name
 }

+ 16 - 52
src/views/user/user/index.vue

@@ -1,44 +1,18 @@
 <template>
   <div class="main animate__animated animate__backInRight">
-    <custom-search-bar
-      v-model="searchForm"
-      :fields="fields.filter((f) => f.filter)"
-      @search="search"
-      @reset="toReset"
-    ></custom-search-bar>
-    <custom-table
-      :data="data"
-      :fields="fields"
-      @search="search"
-      :total="total"
-      :opera="opera"
-      @view="toView"
-      @exam="toExam"
-      @delete="toDelete"
-    >
+    <custom-search-bar v-model="searchForm" :fields="fields.filter((f) => f.filter)" @search="search" @reset="toReset"></custom-search-bar>
+    <custom-table :data="data" :fields="fields" @search="search" :total="total" :opera="opera" @view="toView" @exam="toExam" @delete="toDelete">
       <template #role="{ row }">
         <div class="tags">
-          <el-tag v-for="(item, index) in row.role" :key="index" type="primary">{{
-            getRole(item)
-          }}</el-tag>
+          <el-tag v-for="(item, index) in row.role" :key="index" type="primary">{{ getRole(item) }}</el-tag>
         </div>
       </template>
     </custom-table>
-    <el-dialog
-      v-model="dialog.show"
-      :title="dialog.title"
-      :destroy-on-close="false"
-      @close="toClose"
-    >
+    <el-dialog v-model="dialog.show" :title="dialog.title" :destroy-on-close="false" @close="toClose">
       <el-row>
         <el-col :span="24" v-if="dialog.type == '1'">
           <el-tabs v-model="type" type="card" @tab-change="toChang">
-            <el-tab-pane
-              v-for="(item, index) in role"
-              :key="index"
-              :label="getRole(item)"
-              :name="item"
-            ></el-tab-pane>
+            <el-tab-pane v-for="(item, index) in role" :key="index" :label="getRole(item)" :name="item"></el-tab-pane>
           </el-tabs>
           <user v-if="type == 'User'"></user>
           <expert v-if="type == 'Expert'"></expert>
@@ -51,19 +25,9 @@
           <unit v-if="type == 'Unit'"></unit>
         </el-col>
         <el-col :span="24" v-if="dialog.type == '2'">
-          <custom-form
-            v-model="examForm"
-            :fields="examFormFields"
-            :rules="examRules"
-            @save="toExamSave"
-          >
+          <custom-form v-model="examForm" :fields="examFormFields" :rules="examRules" @save="toExamSave">
             <template #status>
-              <el-option
-                v-for="i in statusList"
-                :key="i._id"
-                :label="i.label"
-                :value="i.value"
-              ></el-option>
+              <el-option v-for="i in statusList" :key="i.id" :label="i.label" :value="i.value"></el-option>
             </template>
           </custom-form>
         </el-col>
@@ -218,7 +182,7 @@ const searchOther = async () => {
 }
 
 const toDelete = async (data) => {
-  const res = await store.del(data._id)
+  const res = await store.del(data.id)
   if ($checkRes(res, true)) {
     search({ skip: 0, limit })
   }
@@ -245,21 +209,21 @@ const toChang = async (name) => {
     if ($checkRes(result)) form.value = result.data
   } else {
     if (name == 'Expert') {
-      result = await expertStore.query({ user: form.value._id })
+      result = await expertStore.query({ user: form.value.id })
     } else if (name == 'Company') {
-      result = await companyStore.query({ user: form.value._id })
+      result = await companyStore.query({ user: form.value.id })
     } else if (name == 'Unit') {
-      result = await unitStore.query({ user: form.value._id })
+      result = await unitStore.query({ user: form.value.id })
     } else if (name == 'Association') {
-      result = await associationStore.query({ user: form.value._id })
+      result = await associationStore.query({ user: form.value.id })
     } else if (name == 'Competition') {
-      result = await competitionStore.query({ user: form.value._id })
+      result = await competitionStore.query({ user: form.value.id })
     } else if (name == 'Incubator') {
-      result = await incubatorStore.query({ user: form.value._id })
+      result = await incubatorStore.query({ user: form.value.id })
     } else if (name == 'Investment') {
-      result = await investmentStore.query({ user: form.value._id })
+      result = await investmentStore.query({ user: form.value.id })
     } else if (name == 'State') {
-      result = await stateStore.query({ user: form.value._id })
+      result = await stateStore.query({ user: form.value.id })
     }
     if ($checkRes(result)) form.value = result.data[0] || {}
   }

+ 4 - 23
src/views/user/user/parts/association.vue

@@ -1,13 +1,6 @@
 <template>
   <div class="index">
-    <el-form
-      ref="ruleFormRef"
-      :model="form"
-      label-width="90px"
-      class="form"
-      label-position="left"
-      disabled
-    >
+    <el-form ref="ruleFormRef" :model="form" label-width="90px" class="form" label-position="left" disabled>
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="商协会名称" prop="name">
@@ -29,31 +22,19 @@
         <el-col :span="12">
           <el-form-item label="是否公开" prop="is_show">
             <el-radio-group v-model="form.is_show">
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
-                i.label
-              }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-col>
       </el-row>
       <el-col :span="24">
         <el-form-item label="地址" prop="address">
-          <el-input
-            v-model="form.address"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入地址"
-          />
+          <el-input v-model="form.address" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入地址" />
         </el-form-item>
       </el-col>
       <el-col :span="24">
         <el-form-item label="简介" prop="brief">
-          <el-input
-            v-model="form.brief"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入简介"
-          />
+          <el-input v-model="form.brief" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入简介" />
         </el-form-item>
       </el-col>
     </el-form>

+ 9 - 57
src/views/user/user/parts/company.vue

@@ -1,23 +1,9 @@
 <template>
   <div class="index">
-    <el-form
-      ref="ruleFormRef"
-      :model="form"
-      label-width="100px"
-      class="form"
-      label-position="left"
-      disabled
-    >
+    <el-form ref="ruleFormRef" :model="form" label-width="100px" class="form" label-position="left" disabled>
       <el-row>
         <el-form-item label="企业Logo" prop="logo">
-          <custom-upload
-            model="logo"
-            :list="form.logo"
-            :limit="1"
-            url="/files/web/template_company/upload"
-            @change="onFUpload"
-            listType="picture-card"
-          ></custom-upload>
+          <custom-upload model="logo" :list="form.logo" :limit="1" url="/files/web/template_company/upload" @change="onFUpload" listType="picture-card"></custom-upload>
         </el-form-item>
       </el-row>
       <el-row :gutter="20">
@@ -29,12 +15,7 @@
         <el-col :span="12">
           <el-form-item label="企业类型" prop="pattern">
             <el-select clearable v-model="form.pattern" placeholder="请选择企业类型">
-              <el-option
-                v-for="(item, index) in patternList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
+              <el-option v-for="(item, index) in patternList" :key="index" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
         </el-col>
@@ -43,12 +24,7 @@
         <el-col :span="12">
           <el-form-item label="企业规模" prop="scale">
             <el-select clearable v-model="form.scale" placeholder="请选择企业规模">
-              <el-option
-                v-for="item in scaleList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              />
+              <el-option v-for="item in scaleList" :key="item.value" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
         </el-col>
@@ -62,25 +38,13 @@
         <el-col :span="12">
           <el-form-item label="所属行业" prop="type">
             <el-select clearable v-model="form.type" placeholder="请选择所属行业">
-              <el-option
-                v-for="(item, index) in IndustryList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
+              <el-option v-for="(item, index) in IndustryList" :key="index" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="所在地区" prop="region">
-            <el-cascader
-              v-model="form.area"
-              :props="{ value: 'label', label: 'label' }"
-              :options="cityList"
-              clearable
-              placeholder="请选择所在地区"
-              style="width: 100%"
-            />
+            <el-cascader v-model="form.area" :props="{ value: 'label', label: 'label' }" :options="cityList" clearable placeholder="请选择所在地区" style="width: 100%" />
           </el-form-item>
         </el-col>
       </el-row>
@@ -111,14 +75,7 @@
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="成立时间" prop="create_time">
-            <el-date-picker
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-              v-model="form.create_time"
-              type="date"
-              placeholder="请选择成立时间"
-              style="width: 100%"
-            />
+            <el-date-picker format="YYYY-MM-DD" value-format="YYYY-MM-DD" v-model="form.create_time" type="date" placeholder="请选择成立时间" style="width: 100%" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
@@ -130,18 +87,13 @@
       <el-col :span="24">
         <el-form-item label="是否公开" prop="is_show">
           <el-radio-group v-model="form.is_show">
-            <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{ i.label }}</el-radio>
+            <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
           </el-radio-group>
         </el-form-item>
       </el-col>
       <el-col :span="24">
         <el-form-item label="简介" prop="brief">
-          <el-input
-            v-model="form.brief"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入简介"
-          />
+          <el-input v-model="form.brief" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入简介" />
         </el-form-item>
       </el-col>
     </el-form>

+ 4 - 23
src/views/user/user/parts/competition.vue

@@ -1,13 +1,6 @@
 <template>
   <div class="index">
-    <el-form
-      ref="ruleFormRef"
-      :model="form"
-      label-width="90px"
-      class="form"
-      label-position="left"
-      disabled
-    >
+    <el-form ref="ruleFormRef" :model="form" label-width="90px" class="form" label-position="left" disabled>
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="名称" prop="name">
@@ -29,31 +22,19 @@
         <el-col :span="12">
           <el-form-item label="是否公开" prop="is_show">
             <el-radio-group v-model="form.is_show">
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
-                i.label
-              }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-col>
       </el-row>
       <el-col :span="24">
         <el-form-item label="地址" prop="address">
-          <el-input
-            v-model="form.address"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入地址"
-          />
+          <el-input v-model="form.address" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入地址" />
         </el-form-item>
       </el-col>
       <el-col :span="24">
         <el-form-item label="简介" prop="brief">
-          <el-input
-            v-model="form.brief"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入简介"
-          />
+          <el-input v-model="form.brief" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入简介" />
         </el-form-item>
       </el-col>
     </el-form>

+ 10 - 60
src/views/user/user/parts/expert.vue

@@ -1,23 +1,9 @@
 <template>
   <div class="index">
-    <el-form
-      ref="ruleFormRef"
-      :model="form"
-      label-width="80px"
-      class="form"
-      label-position="left"
-      disabled
-    >
-    <el-row>
+    <el-form ref="ruleFormRef" :model="form" label-width="80px" class="form" label-position="left" disabled>
+      <el-row>
         <el-form-item label="头像" prop="icon">
-          <custom-upload
-            model="icon"
-            :list="form.icon"
-            :limit="1"
-            url="/files/web/template_expert/upload"
-            @change="onUpload"
-            listType="picture-card"
-          ></custom-upload>
+          <custom-upload model="icon" :list="form.icon" :limit="1" url="/files/web/template_expert/upload" @change="onUpload" listType="picture-card"></custom-upload>
         </el-form-item>
       </el-row>
       <el-row :gutter="20">
@@ -28,14 +14,7 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="出生年月" prop="birth">
-            <el-date-picker
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-              v-model="form.birth"
-              type="date"
-              placeholder="请选择出生年月"
-              style="width: 100%"
-            />
+            <el-date-picker format="YYYY-MM-DD" value-format="YYYY-MM-DD" v-model="form.birth" type="date" placeholder="请选择出生年月" style="width: 100%" />
           </el-form-item>
         </el-col>
       </el-row>
@@ -43,12 +22,7 @@
         <el-col :span="12">
           <el-form-item label="证件类型" prop="cardType">
             <el-select clearable v-model="form.cardType" placeholder="请选择证件类型">
-              <el-option
-                v-for="(item, index) in cardTypeList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
+              <el-option v-for="(item, index) in cardTypeList" :key="index" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
         </el-col>
@@ -62,12 +36,7 @@
         <el-col :span="12">
           <el-form-item label="擅长领域" prop="field">
             <el-select clearable v-model="form.field" placeholder="请选择擅长领域">
-              <el-option
-                v-for="(item, index) in fieldList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
+              <el-option v-for="(item, index) in fieldList" :key="index" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
         </el-col>
@@ -81,25 +50,13 @@
         <el-col :span="12">
           <el-form-item label="最高学历" prop="education">
             <el-select clearable v-model="form.education" placeholder="请选择最高学历">
-              <el-option
-                v-for="(item, index) in educationList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
+              <el-option v-for="(item, index) in educationList" :key="index" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="所在地区" prop="region">
-            <el-cascader
-              v-model="form.area"
-              :props="{ value: 'label', label: 'label' }"
-              :options="cityList"
-              clearable
-              placeholder="请选择所在地区"
-              style="width: 100%"
-            />
+            <el-cascader v-model="form.area" :props="{ value: 'label', label: 'label' }" :options="cityList" clearable placeholder="请选择所在地区" style="width: 100%" />
           </el-form-item>
         </el-col>
       </el-row>
@@ -112,21 +69,14 @@
         <el-col :span="12">
           <el-form-item label="是否公开" prop="is_show">
             <el-radio-group v-model="form.is_show">
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
-                i.label
-              }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-col>
       </el-row>
       <el-col :span="24">
         <el-form-item label="简介" prop="brief">
-          <el-input
-            v-model="form.brief"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入简介"
-          />
+          <el-input v-model="form.brief" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入简介" />
         </el-form-item>
       </el-col>
     </el-form>

+ 4 - 23
src/views/user/user/parts/incubator.vue

@@ -1,13 +1,6 @@
 <template>
   <div class="index">
-    <el-form
-      ref="ruleFormRef"
-      :model="form"
-      label-width="90px"
-      class="form"
-      label-position="left"
-      disabled
-    >
+    <el-form ref="ruleFormRef" :model="form" label-width="90px" class="form" label-position="left" disabled>
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="孵化器名称" prop="name">
@@ -29,31 +22,19 @@
         <el-col :span="12">
           <el-form-item label="是否公开" prop="is_show">
             <el-radio-group v-model="form.is_show">
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
-                i.label
-              }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-col>
       </el-row>
       <el-col :span="24">
         <el-form-item label="地址" prop="address">
-          <el-input
-            v-model="form.address"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入地址"
-          />
+          <el-input v-model="form.address" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入地址" />
         </el-form-item>
       </el-col>
       <el-col :span="24">
         <el-form-item label="简介" prop="brief">
-          <el-input
-            v-model="form.brief"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入简介"
-          />
+          <el-input v-model="form.brief" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入简介" />
         </el-form-item>
       </el-col>
     </el-form>

+ 6 - 36
src/views/user/user/parts/investment.vue

@@ -1,13 +1,6 @@
 <template>
   <div class="index">
-    <el-form
-      ref="ruleFormRef"
-      :model="form"
-      label-width="80px"
-      class="form"
-      label-position="left"
-      disabled
-    >
+    <el-form ref="ruleFormRef" :model="form" label-width="80px" class="form" label-position="left" disabled>
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="姓名" prop="name">
@@ -24,12 +17,7 @@
         <el-col :span="12">
           <el-form-item label="证件类型" prop="cardType">
             <el-select clearable v-model="form.cardType" placeholder="请选择证件类型">
-              <el-option
-                v-for="(item, index) in cardTypeList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
+              <el-option v-for="(item, index) in cardTypeList" :key="index" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
         </el-col>
@@ -43,43 +31,26 @@
         <el-col :span="12">
           <el-form-item label="出资方式" prop="type">
             <el-select clearable v-model="form.type" placeholder="请选择出资方式">
-              <el-option
-                v-for="(item, index) in contributionList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
+              <el-option v-for="(item, index) in contributionList" :key="index" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="是否公开" prop="is_show">
             <el-radio-group v-model="form.is_show">
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
-                i.label
-              }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-col>
       </el-row>
       <el-col :span="24">
         <el-form-item label="地址" prop="address">
-          <el-input
-            v-model="form.address"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入地址"
-          />
+          <el-input v-model="form.address" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入地址" />
         </el-form-item>
       </el-col>
       <el-col :span="24">
         <el-form-item label="简介" prop="brief">
-          <el-input
-            v-model="form.brief"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入简介"
-          />
+          <el-input v-model="form.brief" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入简介" />
         </el-form-item>
       </el-col>
     </el-form>
@@ -92,6 +63,5 @@ const form = inject('form')
 const cardTypeList = inject('cardTypeList')
 const isUseList = inject('isUseList')
 const contributionList = inject('contributionList')
-
 </script>
 <style scoped lang="scss"></style>

+ 5 - 29
src/views/user/user/parts/state.vue

@@ -1,13 +1,6 @@
 <template>
   <div class="index">
-    <el-form
-      ref="ruleFormRef"
-      :model="form"
-      label-width="90px"
-      class="form"
-      label-position="left"
-      disabled
-    >
+    <el-form ref="ruleFormRef" :model="form" label-width="90px" class="form" label-position="left" disabled>
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="名称" prop="name">
@@ -29,12 +22,7 @@
         <el-col :span="12">
           <el-form-item label="部门类型" prop="type">
             <el-select clearable v-model="form.type" placeholder="请选择部门类型">
-              <el-option
-                v-for="(item, index) in typeList"
-                :key="index"
-                :label="item.label"
-                :value="item.value"
-              />
+              <el-option v-for="(item, index) in typeList" :key="index" :label="item.label" :value="item.value" />
             </el-select>
           </el-form-item>
         </el-col>
@@ -43,31 +31,19 @@
         <el-col :span="12">
           <el-form-item label="是否公开" prop="is_show">
             <el-radio-group v-model="form.is_show">
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
-                i.label
-              }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-col>
       </el-row>
       <el-col :span="24">
         <el-form-item label="地址" prop="address">
-          <el-input
-            v-model="form.address"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入地址"
-          />
+          <el-input v-model="form.address" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入地址" />
         </el-form-item>
       </el-col>
       <el-col :span="24">
         <el-form-item label="简介" prop="brief">
-          <el-input
-            v-model="form.brief"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入简介"
-          />
+          <el-input v-model="form.brief" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入简介" />
         </el-form-item>
       </el-col>
     </el-form>

+ 3 - 15
src/views/user/user/parts/unit.vue

@@ -22,31 +22,19 @@
         <el-col :span="12">
           <el-form-item label="是否公开" prop="is_show">
             <el-radio-group v-model="form.is_show">
-              <el-radio v-for="i in isUseList" :key="i._id" :label="i.value">{{
-                i.label
-              }}</el-radio>
+              <el-radio v-for="i in isUseList" :key="i.id" :label="i.value">{{ i.label }}</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-col>
       </el-row>
       <el-col :span="24">
         <el-form-item label="地址" prop="address">
-          <el-input
-            v-model="form.address"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入地址"
-          />
+          <el-input v-model="form.address" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入地址" />
         </el-form-item>
       </el-col>
       <el-col :span="24">
         <el-form-item label="简介" prop="brief">
-          <el-input
-            v-model="form.brief"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            type="textarea"
-            placeholder="请输入简介"
-          />
+          <el-input v-model="form.brief" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" placeholder="请输入简介" />
         </el-form-item>
       </el-col>
     </el-form>

+ 2 - 10
src/views/user/user/parts/user.vue

@@ -3,19 +3,11 @@
     <custom-form v-model="form" :fields="formFields" :useSave="false">
       <template #role>
         <div class="tags">
-          <el-tag v-for="(item, index) in form.role" :key="index" type="primary">{{
-            getRole(item)
-          }}</el-tag>
+          <el-tag v-for="(item, index) in form.role" :key="index" type="primary">{{ getRole(item) }}</el-tag>
         </div>
       </template>
       <template #gender>
-        <el-option
-          disabled
-          v-for="i in genderList"
-          :key="i._id"
-          :label="i.label"
-          :value="i.value"
-        ></el-option>
+        <el-option disabled v-for="i in genderList" :key="i.id" :label="i.label" :value="i.value"></el-option>
       </template>
     </custom-form>
   </div>