diff --git a/src/api/admin/laboratory/achievement.js b/src/api/admin/laboratory/achievement.js new file mode 100644 index 0000000..b54962d --- /dev/null +++ b/src/api/admin/laboratory/achievement.js @@ -0,0 +1,18 @@ +import request from "@/utils/request"; + +// 实验室专利成果 +export const achievementList = (params) => { + return request({ + url: `/app/laboratory/achievementList`, + method: "GET", + params + }); +}; + + +export const deleteAchievements = (ids) => { + return request({ + url: `/app/laboratory/deleteAchievements/${ids}`, + method: "DELETE", + }); +}; \ No newline at end of file diff --git a/src/api/admin/laboratory/equipment.js b/src/api/admin/laboratory/equipment.js new file mode 100644 index 0000000..33b99f6 --- /dev/null +++ b/src/api/admin/laboratory/equipment.js @@ -0,0 +1,28 @@ +import request from "@/utils/request"; + +export const equipmentList = (params) => { + return request({ + url: `/app/casLaboratory/device/list`, method: "GET", params + }); +}; +export const insertEquipment = (data) => { + return request({ + url: `/app/casLaboratory/device`, method: "POST", data + }); +}; +export const updateEquipment = (data) => { + return request({ + url: `/app/casLaboratory/device`, method: "PUT", data + }); +}; +export const deleteEquipment = (ids) => { + return request({ + url: `/app/casLaboratory/device`, method: "DELETE", data: { + ids + } + }); +};export const getEquipment = (id) => { + return request({ + url: `/app/casLaboratory/device/info/${id}`, method: "GET", + }); +}; \ No newline at end of file diff --git a/src/api/admin/laboratory/expert.js b/src/api/admin/laboratory/expert.js new file mode 100644 index 0000000..c9bf4e6 --- /dev/null +++ b/src/api/admin/laboratory/expert.js @@ -0,0 +1,50 @@ +import request from "@/utils/request"; + +// 实验室专家列表 +export const expertList = (params) => { + return request({ + url: `/app/laboratory/expertList`, + method: "GET", + params + }); +}; + + +// 实验室取消专家绑定 +export const deleteBindExpert = (params) => { + return request({ + url: `/app/laboratory/deleteBindExpert/${expertId}`, + method: "PUT", + params + }); +}; + +// 实验室新增专利 +export const insertLabPatent = (data) => { + return request({ + url: `/app/laboratory/patent`, + method: "POST", + data, + }); +}; + + +/** + * 实验室修改专利 + * @param data + * @return {*} + */ +export const updateLabPatent = (data) => { + return request({ + url: `/app/laboratory/patent`, + method: "PUT", + data, + }); +}; + +export const deleteLabPatentByIds = (ids) => { + return request({ + url: `/app/laboratory/deletePatents/${ids}`, + method: "DELETE", + }); +}; \ No newline at end of file diff --git a/src/api/admin/laboratory/paper.js b/src/api/admin/laboratory/paper.js new file mode 100644 index 0000000..ae609e2 --- /dev/null +++ b/src/api/admin/laboratory/paper.js @@ -0,0 +1,41 @@ +import request from "@/utils/request"; + +// 实验室专家列表 +export const paperList = (params) => { + return request({ + url: `/app/laboratory/paperList`, + method: "GET", + params + }); +}; + + +// 实验室新增专利 +export const insertLabPatent = (data) => { + return request({ + url: `/app/laboratory/patent`, + method: "POST", + data, + }); +}; + + +/** + * 实验室修改专利 + * @param data + * @return {*} + */ +export const updateLabPatent = (data) => { + return request({ + url: `/app/laboratory/patent`, + method: "PUT", + data, + }); +}; + +export const deletePaper = (ids) => { + return request({ + url: `/app/laboratory/deletePaper/{ids}`, + method: "DELETE", + }); +}; \ No newline at end of file diff --git a/src/api/admin/laboratory/patent.js b/src/api/admin/laboratory/patent.js index f1caa24..05411d7 100644 --- a/src/api/admin/laboratory/patent.js +++ b/src/api/admin/laboratory/patent.js @@ -3,7 +3,7 @@ import request from "@/utils/request"; // 实验室专利列表 export const labPatentList = (params) => { return request({ - url: `/app/laboratory/patent/list`, + url: `/app/laboratory/patentList`, method: "GET", params }); @@ -34,7 +34,7 @@ export const updateLabPatent = (data) => { export const deleteLabPatentByIds = (ids) => { return request({ - url: `/app/laboratory/patent/${ids}`, + url: `/app/laboratory/deletePatents/${ids}`, method: "DELETE", }); }; \ No newline at end of file diff --git a/src/api/admin/laboratory/research-project.js b/src/api/admin/laboratory/research-project.js new file mode 100644 index 0000000..429d13d --- /dev/null +++ b/src/api/admin/laboratory/research-project.js @@ -0,0 +1,40 @@ +import request from "@/utils/request"; + +// 列表 +export const technologyProjectList = (params) => { + return request({ + url: `/app/laboratory/technologyProjectList`, + method: "GET", + params + }); +}; + +// 实验室新增专利 +export const insertLabPatent = (data) => { + return request({ + url: `/app/laboratory/patent`, + method: "POST", + data, + }); +}; + + +/** + * 实验室修改专利 + * @param data + * @return {*} + */ +export const updateLabPatent = (data) => { + return request({ + url: `/app/laboratory/patent`, + method: "PUT", + data, + }); +}; + +export const deleteTechnologyProject = (ids) => { + return request({ + url: `/app/laboratory/deleteTechnologyProject/${ids}`, + method: "DELETE", + }); +}; \ No newline at end of file diff --git a/src/api/admin/laboratory/service-demand.js b/src/api/admin/laboratory/service-demand.js new file mode 100644 index 0000000..05411d7 --- /dev/null +++ b/src/api/admin/laboratory/service-demand.js @@ -0,0 +1,40 @@ +import request from "@/utils/request"; + +// 实验室专利列表 +export const labPatentList = (params) => { + return request({ + url: `/app/laboratory/patentList`, + method: "GET", + params + }); +}; + +// 实验室新增专利 +export const insertLabPatent = (data) => { + return request({ + url: `/app/laboratory/patent`, + method: "POST", + data, + }); +}; + + +/** + * 实验室修改专利 + * @param data + * @return {*} + */ +export const updateLabPatent = (data) => { + return request({ + url: `/app/laboratory/patent`, + method: "PUT", + data, + }); +}; + +export const deleteLabPatentByIds = (ids) => { + return request({ + url: `/app/laboratory/deletePatents/${ids}`, + method: "DELETE", + }); +}; \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index 8b5f9ec..9090f5f 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -26,193 +26,126 @@ import basicInfo from "../views/admin/enterprise/account/basicInfo.vue"; */ // 公共路由 -export const constantRoutes = [ - { - path: "/", - name: "Home", - component: () => import("../views/website/website-layout.vue"), - hidden: true, - children: [ - { - path: "login", - name: "login", - component: () => import("@/views/website/login/index.vue"), - children: [], - }, - { - path: "", - component: () => import("../views/website/home/index.vue"), - }, - { - path: "searchList/enterprise", - component: () => import("../views/website/searchList/enterprise.vue"), - meta: { - searchType: 1, - }, - }, - { - path: "searchList/enterprise/detail/:id", - component: () => - import("../views/website/searchList/enterpriseDetail.vue"), - meta: { - searchType: 1, - }, - }, - { - path: "searchList/achievement", - component: () => import("../views/website/searchList/achievement.vue"), - meta: { - searchType: 2, - }, - }, - { - path: "searchList/achievement/detail/:id", - component: () => - import("../views/website/searchList/achievementDetail.vue"), - meta: { - searchType: 2, - }, - }, - { - path: "searchList/product/detail/:id", - component: () => - import("../views/website/searchList/productDetail.vue"), - meta: { - searchType: 2, - }, - }, - { - path: "searchList/lab", - component: () => import("../views/website/searchList/lab.vue"), - meta: { - searchType: 8, - }, - }, - { - path: "searchList/lab/detail/:id", - component: () => - import("../views/website/searchList/laboratoryDetail.vue"), - meta: { - searchType: 8, - }, - }, - { - path: "searchList/patent", - component: () => import("../views/website/searchList/patent.vue"), - meta: { - searchType: 4, - }, - }, - { - path: "searchList/patent/detail/:id", - component: () => import("../views/website/searchList/patentDetail.vue"), - meta: { - searchType: 4, - }, - }, - { - path: "searchList/expert", - component: () => import("../views/website/searchList/expert.vue"), - meta: { - searchType: 5, - }, - }, - { - path: "searchList/expert/detail/:id", - component: () => import("../views/website/searchList/expertDetail.vue"), - meta: { - searchType: 5, - }, - }, - { - path: "searchList/serviceDemand", - component: () => - import("../views/website/searchList/serviceDemand.vue"), - meta: { - searchType: 7, - }, - }, - { - path: "searchList/serviceDemand/detail/:id", - component: () => - import("../views/website/searchList/serviceDemandDetail.vue"), - meta: { - searchType: 7, - }, - }, - { - path: "searchList/technologyDemand", - component: () => - import("../views/website/searchList/technologyDemand.vue"), - meta: { - searchType: 6, - }, - }, - { - path: "searchList/technologyDemand/detail/:id", - component: () => - import("../views/website/searchList/technologyDemandDetail.vue"), - meta: { - searchType: 6, - }, - }, - { - path: "solution/:mode", - name: "solution", - component: () => import("../views/website/solution/solution.vue"), - }, - { - path: "solution/detail/:id", - name: "solutionDetail", - component: () => import("../views/website/solution/detail.vue"), - }, - { - path: "/innovate", - name: "innovate", - component: () => import("../views/website/innovate/innovate.vue"), - }, - { - path: "innovate/detail/:id", - name: "innovateDetail", - component: () => import("../views/website/innovate/detail.vue"), - }, - { - path: "activity", - name: "activity", - component: () => import("../views/website/activity/activity.vue"), - // children: [ - // { - // path: '', - // name: 'activityList', - // component: () => import('../views/website/activity/list.vue'), - // }, - // { - // path: 'detail/:id', - // name: 'activityDetail', - // component: () => import('../views/website/activity/detail.vue'), - // }, - // ] - }, - { - path: "about", - name: "about", - component: () => import("../views/website/about/about.vue"), - }, - ], - }, +export const constantRoutes = [{ + path: "/", name: "Home", component: () => import("../views/website/website-layout.vue"), hidden: true, children: [{ + path: "login", name: "login", component: () => import("@/views/website/login/index.vue"), children: [], + }, { + path: "", component: () => import("../views/website/home/index.vue"), + }, { + path: "searchList/enterprise", component: () => import("../views/website/searchList/enterprise.vue"), meta: { + searchType: 1, + }, + }, { + path: "searchList/enterprise/detail/:id", + component: () => import("../views/website/searchList/enterpriseDetail.vue"), + meta: { + searchType: 1, + }, + }, { + path: "searchList/achievement", component: () => import("../views/website/searchList/achievement.vue"), meta: { + searchType: 2, + }, + }, { + path: "searchList/achievement/detail/:id", + component: () => import("../views/website/searchList/achievementDetail.vue"), + meta: { + searchType: 2, + }, + }, { + path: "searchList/product/detail/:id", + component: () => import("../views/website/searchList/productDetail.vue"), + meta: { + searchType: 2, + }, + }, { + path: "searchList/lab", component: () => import("../views/website/searchList/lab.vue"), meta: { + searchType: 8, + }, + }, { + path: "searchList/lab/detail/:id", + component: () => import("../views/website/searchList/laboratoryDetail.vue"), + meta: { + searchType: 8, + }, + }, { + path: "searchList/patent", component: () => import("../views/website/searchList/patent.vue"), meta: { + searchType: 4, + }, + }, { + path: "searchList/patent/detail/:id", + component: () => import("../views/website/searchList/patentDetail.vue"), + meta: { + searchType: 4, + }, + }, { + path: "searchList/expert", component: () => import("../views/website/searchList/expert.vue"), meta: { + searchType: 5, + }, + }, { + path: "searchList/expert/detail/:id", + component: () => import("../views/website/searchList/expertDetail.vue"), + meta: { + searchType: 5, + }, + }, { + path: "searchList/serviceDemand", + component: () => import("../views/website/searchList/serviceDemand.vue"), + meta: { + searchType: 7, + }, + }, { + path: "searchList/serviceDemand/detail/:id", + component: () => import("../views/website/searchList/serviceDemandDetail.vue"), + meta: { + searchType: 7, + }, + }, { + path: "searchList/technologyDemand", + component: () => import("../views/website/searchList/technologyDemand.vue"), + meta: { + searchType: 6, + }, + }, { + path: "searchList/technologyDemand/detail/:id", + component: () => import("../views/website/searchList/technologyDemandDetail.vue"), + meta: { + searchType: 6, + }, + }, { + path: "solution/:mode", name: "solution", component: () => import("../views/website/solution/solution.vue"), + }, { + path: "solution/detail/:id", + name: "solutionDetail", + component: () => import("../views/website/solution/detail.vue"), + }, { + path: "/innovate", name: "innovate", component: () => import("../views/website/innovate/innovate.vue"), + }, { + path: "innovate/detail/:id", + name: "innovateDetail", + component: () => import("../views/website/innovate/detail.vue"), + }, { + path: "activity", name: "activity", component: () => import("../views/website/activity/activity.vue"), // children: [ + // { + // path: '', + // name: 'activityList', + // component: () => import('../views/website/activity/list.vue'), + // }, + // { + // path: 'detail/:id', + // name: 'activityDetail', + // component: () => import('../views/website/activity/detail.vue'), + // }, + // ] + }, { + path: "about", name: "about", component: () => import("../views/website/about/about.vue"), + },], +}, { - path: "/redirect", - component: Layout, - hidden: true, - children: [ - { - path: "/redirect/:path(.*)", - component: () => import("@/views/redirect/index.vue"), - }, - ], - }, - // { + path: "/redirect", component: Layout, hidden: true, children: [{ + path: "/redirect/:path(.*)", component: () => import("@/views/redirect/index.vue"), + },], + }, // { // path: "/login", // component: () => import("@/views/login"), // hidden: true, @@ -223,60 +156,41 @@ export const constantRoutes = [ // hidden: true, // }, { - path: "/:pathMatch(.*)*", - component: () => import("@/views/error/404"), - hidden: true, - }, - { - path: "/401", - component: () => import("@/views/error/401"), - hidden: true, + path: "/:pathMatch(.*)*", component: () => import("@/views/error/404"), hidden: true, + }, { + path: "/401", component: () => import("@/views/error/401"), hidden: true, }, { - path: "/identity", - component: () => import("@/views/identity/layout"), - hidden: true, - children: [ - { - path: "index", - component: () => import("@/views/identity/index"), - name: "index", - meta: {title: "身份选择"}, - }, - { - path: "enterprise", - component: () => import("@/views/identity/enterprise"), - name: "enterprise", - meta: {title: "企业入驻"}, - }, - { - path: "expert", - component: () => import("@/views/identity/expert"), - name: "expert", - meta: {title: "专家入驻"}, - }, - { - path: 'research', - component: () => import('@/views/identity/research'), - name: 'research', - meta: {title: '研究机构入驻'} - }, - { - path: 'laboratory', - component: () => import('@/views/identity/laboratory'), - name: 'laboratory', - meta: {title: '实验室入驻'} - }, - { - path: 'agent', - component: () => import('@/views/identity/agent'), - name: 'agent', - meta: {title: '科技经纪人入驻'} - } - ], - }, - //TODO: + path: "/identity", component: () => import("@/views/identity/layout"), hidden: true, children: [{ + path: "index", component: () => import("@/views/identity/index"), name: "index", meta: {title: "身份选择"}, + }, { + path: "enterprise", + component: () => import("@/views/identity/enterprise"), + name: "enterprise", + meta: {title: "企业入驻"}, + }, { + path: "expert", + component: () => import("@/views/identity/expert"), + name: "expert", + meta: {title: "专家入驻"}, + }, { + path: 'research', + component: () => import('@/views/identity/research'), + name: 'research', + meta: {title: '研究机构入驻'} + }, { + path: 'laboratory', + component: () => import('@/views/identity/laboratory'), + name: 'laboratory', + meta: {title: '实验室入驻'} + }, { + path: 'agent', + component: () => import('@/views/identity/agent'), + name: 'agent', + meta: {title: '科技经纪人入驻'} + }], + }, //TODO: // { // path: '', @@ -292,319 +206,247 @@ export const constantRoutes = [ // ] // }, { - path: "/user", - component: Layout, - hidden: true, - redirect: "noredirect", - children: [ - { - path: "profile", - component: () => import("@/views/system/user/profile/index"), - name: "Profile", - meta: {title: "个人中心", icon: "user"}, - }, - ], - }, -]; + path: "/user", component: Layout, hidden: true, redirect: "noredirect", children: [{ + path: "profile", + component: () => import("@/views/system/user/profile/index"), + name: "Profile", + meta: {title: "个人中心", icon: "user"}, + },], + },]; // 企业后台路由表 -export const enterpriseRoutes = [ - { - path: "/admin", - component: Layout, - redirect: "/admin/index", - children: [ - { - path: "index", - component: () => import("@/views/admin/enterprise/index"), - name: "Index", - meta: {title: "首页", icon: "dashboard", affix: true}, - }, - ], - }, - { - path: "/account", - component: Layout, - meta: {title: "账号管理", icon: "dashboard"}, - alwaysShow: true, - redirect: "/account/basicInfo", - children: [ - { - path: "basicInfo", - component: basicInfo, - name: "basicInfo", - meta: {title: "基本资料", icon: "list"}, - }, - { - path: "joinMembership", - component: () => - import("@/views/admin/enterprise/account/joinMembership"), - name: "joinMembership", - meta: {title: "开通会员", icon: "list"}, - }, - { - path: "bill", - component: () => import("@/views/admin/enterprise/account/bill"), - name: "Bill", - meta: {title: "账单列表", icon: "list"}, - }, - // { - // path: "record", - // component: () => import("@/views/admin/enterprise/account/record"), - // name: "Record", - // meta: { title: "创新币兑换记录", icon: "list" }, - // }, - ], - }, - { - path: "/extension", - component: Layout, - meta: {title: "产品推广", icon: "dashboard"}, - alwaysShow: true, - redirect: "/extension/product", - children: [ - { - path: "product", - component: () => import("@/views/admin/enterprise/extension/product"), - name: "Product", - meta: {title: "产品列表", icon: "list"}, - }, - { - path: "release", - component: () => import("@/views/admin/enterprise/extension/release"), - hidden: true, - name: "Release", - meta: {title: "发布产品", icon: "list"}, - }, - { - path: "results", - component: () => import("@/views/admin/enterprise/extension/results"), - hidden: true, - name: "Results", - meta: {title: "匹配结果", icon: "list", isMatch: true}, - }, - { - path: "business", - component: () => import("@/views/admin/enterprise/extension/business"), - hidden: true, - name: "Business", - meta: {title: "浏览信息", icon: "list"}, - }, - ], - }, - { - path: "/demand", - component: Layout, - meta: {title: "需求管理", icon: "dashboard"}, - alwaysShow: true, - redirect: "/demand/serviceDemand", - children: [ - { - path: "serviceDemand", - component: () => - import("@/views/admin/enterprise/demand/serviceDemand"), - name: "serviceDemand", - meta: {title: "服务需求", icon: "list"}, - }, - { - path: "releaseService", - component: () => - import("@/views/admin/enterprise/demand/releaseService"), - hidden: true, - name: "releaseService", - meta: {title: "发布服务需求", icon: "list"}, - }, - { - path: "technology", - component: () => import("@/views/admin/enterprise/demand/technology"), - name: "technology", - meta: {title: "技术需求", icon: "list"}, - }, - { - path: "releaseTechnology", - component: () => - import("@/views/admin/enterprise/demand/releaseTechnology"), - hidden: true, - name: "releaseTechnology", - meta: {title: "发布技术需求", icon: "list"}, - }, - { - path: "results", - component: () => import("@/views/admin/enterprise/extension/results"), - hidden: true, - name: "results", - meta: {title: "匹配结果", icon: "list", isMatch: true}, - }, - ], - }, - { - path: "/activity", - component: Layout, - meta: {title: "活动管理", icon: "dashboard"}, - alwaysShow: true, - redirect: "/activity/active", - children: [ - { - path: "active", - component: () => import("@/views/admin/enterprise/activity/active"), - name: "Active", - meta: {title: "活动列表", icon: "list"}, - }, - ], - }, -]; +export const enterpriseRoutes = [{ + path: "/admin", component: Layout, redirect: "/admin/index", children: [{ + path: "index", + component: () => import("@/views/admin/enterprise/index"), + name: "Index", + meta: {title: "首页", icon: "dashboard", affix: true}, + },], +}, { + path: "/account", + component: Layout, + meta: {title: "账号管理", icon: "dashboard"}, + alwaysShow: true, + redirect: "/account/basicInfo", + children: [{ + path: "basicInfo", component: basicInfo, name: "basicInfo", meta: {title: "基本资料", icon: "list"}, + }, { + path: "joinMembership", + component: () => import("@/views/admin/enterprise/account/joinMembership"), + name: "joinMembership", + meta: {title: "开通会员", icon: "list"}, + }, { + path: "bill", + component: () => import("@/views/admin/enterprise/account/bill"), + name: "Bill", + meta: {title: "账单列表", icon: "list"}, + }, // { + // path: "record", + // component: () => import("@/views/admin/enterprise/account/record"), + // name: "Record", + // meta: { title: "创新币兑换记录", icon: "list" }, + // }, + ], +}, { + path: "/extension", + component: Layout, + meta: {title: "产品推广", icon: "dashboard"}, + alwaysShow: true, + redirect: "/extension/product", + children: [{ + path: "product", + component: () => import("@/views/admin/enterprise/extension/product"), + name: "Product", + meta: {title: "产品列表", icon: "list"}, + }, { + path: "release", + component: () => import("@/views/admin/enterprise/extension/release"), + hidden: true, + name: "Release", + meta: {title: "发布产品", icon: "list"}, + }, { + path: "results", + component: () => import("@/views/admin/enterprise/extension/results"), + hidden: true, + name: "Results", + meta: {title: "匹配结果", icon: "list", isMatch: true}, + }, { + path: "business", + component: () => import("@/views/admin/enterprise/extension/business"), + hidden: true, + name: "Business", + meta: {title: "浏览信息", icon: "list"}, + },], +}, { + path: "/demand", + component: Layout, + meta: {title: "需求管理", icon: "dashboard"}, + alwaysShow: true, + redirect: "/demand/serviceDemand", + children: [{ + path: "serviceDemand", + component: () => import("@/views/admin/enterprise/demand/serviceDemand"), + name: "serviceDemand", + meta: {title: "服务需求", icon: "list"}, + }, { + path: "releaseService", + component: () => import("@/views/admin/enterprise/demand/releaseService"), + hidden: true, + name: "releaseService", + meta: {title: "发布服务需求", icon: "list"}, + }, { + path: "technology", + component: () => import("@/views/admin/enterprise/demand/technology"), + name: "technology", + meta: {title: "技术需求", icon: "list"}, + }, { + path: "releaseTechnology", + component: () => import("@/views/admin/enterprise/demand/releaseTechnology"), + hidden: true, + name: "releaseTechnology", + meta: {title: "发布技术需求", icon: "list"}, + }, { + path: "results", + component: () => import("@/views/admin/enterprise/extension/results"), + hidden: true, + name: "results", + meta: {title: "匹配结果", icon: "list", isMatch: true}, + },], +}, { + path: "/activity", + component: Layout, + meta: {title: "活动管理", icon: "dashboard"}, + alwaysShow: true, + redirect: "/activity/active", + children: [{ + path: "active", + component: () => import("@/views/admin/enterprise/activity/active"), + name: "Active", + meta: {title: "活动列表", icon: "list"}, + },], +},]; // 专家后台路由表 -export const expertRoutes = [ - { - path: "/admin", - component: Layout, - redirect: "/admin/index", - children: [ - { - path: "index", - component: () => import("@/views/admin/expert/index"), - name: "Index", - meta: {title: "首页", icon: "dashboard", affix: true}, - }, - ], - }, - { - path: "/account", - component: Layout, - meta: {title: "账号管理", icon: "dashboard"}, - alwaysShow: true, - // redirect: 'noRedirect', - redirect: "/account/bill", - children: [ - // { - // path: "bill", - // component: () => import("@/views/admin/expert/account/bill"), - // name: "Bill", - // meta: { title: "账单列表", icon: "list" }, - // }, - // { - // path: "exchange", - // component: () => import("@/views/admin/expert/account/exchange"), - // name: "Exchange", - // meta: { title: "兑换记录", icon: "list" }, - // }, - { - path: "basicInfo", - component: () => import("@/views/admin/expert/account/basicInfo"), - name: "basicInfo", - meta: {title: "基本资料", icon: "list"}, - }, - // { - // path: "transactionAuth", - // component: () => import("@/views/admin/expert/account/transactionAuth"), - // name: "transactionAuth", - // meta: { title: "交易认证", icon: "list" }, - // }, - // { - // path: "profit", - // component: () => import("@/views/admin/expert/account/profit"), - // name: "profit", - // meta: { title: "收益管理", icon: "list" }, - // }, - // { - // path: "withdrawal", - // component: () => import("@/views/admin/expert/account/withdrawal"), - // hidden: true, - // name: "Withdrawal", - // meta: { title: "提现记录", icon: "list" }, - // }, - ], - }, - { - path: "/technology", - component: Layout, - meta: {title: "技术管理", icon: "dashboard"}, - alwaysShow: true, - redirect: "/technology/achievement", - children: [ - { - path: "achievement", - component: () => import("@/views/admin/expert/technology/achievement"), - name: "Achievement", - meta: {title: "成果列表", icon: "list"}, - }, - { - path: "release", - component: () => import("@/views/admin/expert/technology/release"), - hidden: true, - name: "Release", - meta: {title: "发布成果", icon: "list"}, - }, - { - path: "results", - // component: () => import("@/views/admin/expert/technology/results"), - component: () => import("@/views/admin/enterprise/extension/results"), - hidden: true, - name: "Results", - meta: {title: "匹配结果", icon: "list", isMatch: false}, - }, - { - path: "patent", - component: () => import("@/views/admin/expert/technology/patent"), - name: "patent", - meta: {title: "专利列表", icon: "list"}, - }, - { - path: "claimPatent", - component: () => import("@/views/admin/expert/technology/claimPatent"), - hidden: true, - name: "claimPatent", - meta: {title: "认领专利", icon: "list"}, - }, - { - path: "paper", - component: () => import("@/views/admin/expert/technology/paper"), - name: "Paper", - meta: {title: "论文列表", icon: "list"}, - }, - { - path: "research", - component: () => import("@/views/admin/expert/technology/research"), - name: "Research", - meta: {title: "科研项目列表", icon: "list"}, - }, - ], - }, - { - path: "/demand", - component: Layout, - meta: {title: "需求管理", icon: "dashboard"}, - alwaysShow: true, - redirect: "/demand/serviceDemand", - children: [ - { - path: "serviceDemand", - component: () => import("@/views/admin/expert/demand/serviceDemand"), - name: "serviceDemand", - meta: {title: "服务需求", icon: "list"}, - }, - { - path: "release", - component: () => import("@/views/admin/expert/demand/release"), - hidden: true, - name: "release", - meta: {title: "发布需求", icon: "list"}, - }, - { - path: "already", - component: () => import("@/views/admin/expert/demand/already"), - name: "already", - meta: {title: "已合作企业", icon: "list"}, - }, - { - path: "think", - component: () => import("@/views/admin/expert/demand/think"), - name: "think", - meta: {title: "想合作企业", icon: "list"}, - }, - ], - }, +export const expertRoutes = [{ + path: "/admin", component: Layout, redirect: "/admin/index", children: [{ + path: "index", + component: () => import("@/views/admin/expert/index"), + name: "Index", + meta: {title: "首页", icon: "dashboard", affix: true}, + },], +}, { + path: "/account", component: Layout, meta: {title: "账号管理", icon: "dashboard"}, alwaysShow: true, // redirect: 'noRedirect', + redirect: "/account/bill", children: [// { + // path: "bill", + // component: () => import("@/views/admin/expert/account/bill"), + // name: "Bill", + // meta: { title: "账单列表", icon: "list" }, + // }, + // { + // path: "exchange", + // component: () => import("@/views/admin/expert/account/exchange"), + // name: "Exchange", + // meta: { title: "兑换记录", icon: "list" }, + // }, + { + path: "basicInfo", + component: () => import("@/views/admin/expert/account/basicInfo"), + name: "basicInfo", + meta: {title: "基本资料", icon: "list"}, + }, // { + // path: "transactionAuth", + // component: () => import("@/views/admin/expert/account/transactionAuth"), + // name: "transactionAuth", + // meta: { title: "交易认证", icon: "list" }, + // }, + // { + // path: "profit", + // component: () => import("@/views/admin/expert/account/profit"), + // name: "profit", + // meta: { title: "收益管理", icon: "list" }, + // }, + // { + // path: "withdrawal", + // component: () => import("@/views/admin/expert/account/withdrawal"), + // hidden: true, + // name: "Withdrawal", + // meta: { title: "提现记录", icon: "list" }, + // }, + ], +}, { + path: "/technology", + component: Layout, + meta: {title: "技术管理", icon: "dashboard"}, + alwaysShow: true, + redirect: "/technology/achievement", + children: [{ + path: "achievement", + component: () => import("@/views/admin/expert/technology/achievement"), + name: "Achievement", + meta: {title: "成果列表", icon: "list"}, + }, { + path: "release", + component: () => import("@/views/admin/expert/technology/release"), + hidden: true, + name: "Release", + meta: {title: "发布成果", icon: "list"}, + }, { + path: "results", // component: () => import("@/views/admin/expert/technology/results"), + component: () => import("@/views/admin/enterprise/extension/results"), + hidden: true, + name: "Results", + meta: {title: "匹配结果", icon: "list", isMatch: false}, + }, { + path: "patent", + component: () => import("@/views/admin/expert/technology/patent"), + name: "patent", + meta: {title: "专利列表", icon: "list"}, + }, { + path: "claimPatent", + component: () => import("@/views/admin/expert/technology/claimPatent"), + hidden: true, + name: "claimPatent", + meta: {title: "认领专利", icon: "list"}, + }, { + path: "paper", + component: () => import("@/views/admin/expert/technology/paper"), + name: "Paper", + meta: {title: "论文列表", icon: "list"}, + }, { + path: "research", + component: () => import("@/views/admin/expert/technology/research"), + name: "Research", + meta: {title: "科研项目列表", icon: "list"}, + },], +}, { + path: "/demand", + component: Layout, + meta: {title: "需求管理", icon: "dashboard"}, + alwaysShow: true, + redirect: "/demand/serviceDemand", + children: [{ + path: "serviceDemand", + component: () => import("@/views/admin/expert/demand/serviceDemand"), + name: "serviceDemand", + meta: {title: "服务需求", icon: "list"}, + }, { + path: "release", + component: () => import("@/views/admin/expert/demand/release"), + hidden: true, + name: "release", + meta: {title: "发布需求", icon: "list"}, + }, { + path: "already", + component: () => import("@/views/admin/expert/demand/already"), + name: "already", + meta: {title: "已合作企业", icon: "list"}, + }, { + path: "think", + component: () => import("@/views/admin/expert/demand/think"), + name: "think", + meta: {title: "想合作企业", icon: "list"}, + },], +}, { path: "/activity", @@ -612,160 +454,219 @@ export const expertRoutes = [ meta: {title: "活动管理", icon: "dashboard"}, alwaysShow: true, redirect: "/activity/active", - children: [ - { - path: "active", - component: () => import("@/views/admin/expert/activity/active"), - name: "Active", - meta: {title: "活动列表", icon: "list"}, - }, - ], - }, -]; + children: [{ + path: "active", + component: () => import("@/views/admin/expert/activity/active"), + name: "Active", + meta: {title: "活动列表", icon: "list"}, + },], + },]; -export const laboratoryRoutes = [ - { - path: "/admin", - component: Layout, - redirect: "/admin/index", - children: [ - { - path: "index", - component: () => import("@/views/admin/laboratory/index"), - name: "Index", - meta: {title: "首页", icon: "dashboard", affix: true}, - }, - ], +export const laboratoryRoutes = [{ + path: "/admin", component: Layout, redirect: "/admin/index", children: [{ + path: "index", + component: () => import("@/views/admin/laboratory/index"), + name: "Index", + meta: {title: "首页", icon: "dashboard", affix: true}, + },], +}, { + path: "/admin/account", + component: Layout, + meta: {title: "账号管理", icon: "dashboard"}, + alwaysShow: true, + redirect: "/admin/account/basic-info", + children: [{ + path: "basic-info", + component: () => import("@/views/admin/laboratory/account/basic-info.vue"), + name: "basicInfo", + meta: {title: "基本资料", icon: "list"}, }, - { - path: "/admin/account", - component: Layout, - meta: {title: "账号管理", icon: "dashboard"}, - alwaysShow: true, - redirect: "/admin/account/basic-info", - children: [ - { - path: "basic-info", - component: () => import("@/views/admin/laboratory/account/basic-info.vue"), - name: "basicInfo", - meta: {title: "基本资料", icon: "list"}, - }, - ], - }, + ], +}, { + path: "/admin/research", + component: Layout, + meta: {title: "科研管理", icon: "dashboard"}, + alwaysShow: true, + redirect: "/admin/research/patent", + children: [{ + path: "patent", + component: () => import("@/views/admin/laboratory/research/patent/index.vue"), + name: "Patent", + meta: {title: "专利列表", icon: "list"}, + }, { + path: "achievement", + component: () => import("@/views/admin/laboratory/research/achievement/index.vue"), + name: "Achievement", + meta: {title: "成果列表", icon: "list"}, + }, /*{ + path: "service-demand", + component: () => import("@/views/admin/laboratory/research/service-demand/index.vue"), + name: "ServiceDemand", + meta: {title: "服务需求列表", icon: "list"}, + }, { + path: 'service-demand/detail/:id', + component: () => import('@/views/admin/laboratory/research/service-demand/detail.vue'), + hidden: true, + name: 'ServiceDemandDetail', + meta: {title: '查看需求', icon: 'list'} + },*/ { + path: "expert", + component: () => import("@/views/admin/laboratory/research/expert/index.vue"), + name: "Expert", + meta: {title: "专家列表", icon: "list"}, + }, { + path: "research-project", + component: () => import("@/views/admin/laboratory/research/research-project/index.vue"), + name: "ResearchProject", + meta: {title: "科研项目列表", icon: "list"}, + }, { + path: "paper", + component: () => import("@/views/admin/laboratory/research/paper/index.vue"), + name: "Paper", + meta: {title: "论文列表", icon: "list"}, + }, { + path: "laboratory-equipment", + component: () => import("@/views/admin/laboratory/research/laboratory-equipment/index.vue"), + name: "LaboratoryEquipment", + meta: {title: "实验设备", icon: "list"}, + },], +},] + +export const researchRoutes = [{ + /*研究机构后台首页*/ + path: "/admin", component: Layout, redirect: "/admin/index", children: [{ + path: "index", + component: () => import("@/views/admin/research/index"), + name: "Index", + meta: {title: "首页", icon: "dashboard", affix: true}, + },], +}, { + path: "/admin/account", + component: Layout, + meta: {title: "账号管理", icon: "dashboard"}, + alwaysShow: true, + redirect: "/admin/account/basic-info", + children: [{ + path: "basic-info", + component: () => import("@/views/admin/research/account/basic-info.vue"), + name: "basicInfo", + meta: {title: "基本资料", icon: "list"}, + },], +}, + + { path: "/admin/research", component: Layout, meta: {title: "科研管理", icon: "dashboard"}, alwaysShow: true, redirect: "/admin/research/patent", - children: [ - { - path: "patent", - component: () => import("@/views/admin/laboratory/research/patent/index.vue"), - name: "Patent", - meta: {title: "专利列表", icon: "list"}, - }, + children: [{ + path: "patent", + component: () => import("@/views/admin/research/research/patent/index.vue"), + name: "Patent", + meta: {title: "专利列表", icon: "list"}, + }, { + path: "achievement", + component: () => import("@/views/admin/research/research/achievement/index.vue"), + name: "Achievement", + meta: {title: "成果列表", icon: "list"}, + }, { + path: "service-demand", + component: () => import("@/views/admin/research/research/service-demand/index.vue"), + name: "ServiceDemand", + meta: {title: "服务需求列表", icon: "list"}, + }, { + path: 'service-demand/detail/:id', + component: () => import('@/views/admin/research/research/service-demand/detail.vue'), + hidden: true, + name: 'ServiceDemandDetail', + meta: {title: '查看需求', icon: 'list'} + }, { + path: "expert", + component: () => import("@/views/admin/research/research/expert/index.vue"), + name: "Expert", + meta: {title: "专家列表", icon: "list"}, + }, { + path: "research-project", + component: () => import("@/views/admin/research/research/research-project/index.vue"), + name: "ResearchProject", + meta: {title: "科研项目列表", icon: "list"}, + }, { + path: "laboratory", + component: () => import("@/views/admin/research/research/paper/index.vue"), + name: "Laboratory", + meta: {title: "实验室列表", icon: "list"}, + },], + }] - ], - }, -] - -export const researchRoutes = [ - { - /*研究机构后台首页*/ - path: "/admin", - component: Layout, - redirect: "/admin/index", - children: [ - { - path: "index", - component: () => import("@/views/admin/research/index"), - name: "Index", - meta: {title: "首页", icon: "dashboard", affix: true}, - }, - ], - }, -] +/** + * 经纪人路由列表 + * @type {[{redirect: string, path: string, component: {}, children: [{path: string, component: (function(): Promise<{}>), meta: {affix: boolean, icon: string, title: string}, name: string}]}]} + */ +export const agentRoutes = [{ + /*研究机构后台首页*/ + path: "/admin", component: Layout, redirect: "/admin/index", children: [{ + path: "index", + component: () => import("@/views/admin/research/index"), + name: "Index", + meta: {title: "首页", icon: "dashboard", affix: true}, + },], +}, { + path: "/admin/account", + component: Layout, + meta: {title: "账号管理", icon: "dashboard"}, + alwaysShow: true, + redirect: "/admin/account/basic-info", + children: [{ + path: "basic-info", + component: () => import("@/views/admin/agent/account/basic-info.vue"), + name: "basicInfo", + meta: {title: "基本资料", icon: "list"}, + },], +},] // 动态路由,基于用户权限动态去加载 -export const dynamicRoutes = [ - { - path: "/system/user-auth", - component: Layout, - hidden: true, - permissions: ["system:user:edit"], - children: [ - { - path: "role/:userId(\\d+)", - component: () => import("@/views/system/user/authRole"), - name: "AuthRole", - meta: {title: "分配角色", activeMenu: "/system/user"}, - }, - ], - }, - { - path: "/system/role-auth", - component: Layout, - hidden: true, - permissions: ["system:role:edit"], - children: [ - { - path: "user/:roleId(\\d+)", - component: () => import("@/views/system/role/authUser"), - name: "AuthUser", - meta: {title: "分配用户", activeMenu: "/system/role"}, - }, - ], - }, - { - path: "/system/dict-data", - component: Layout, - hidden: true, - permissions: ["system:dict:list"], - children: [ - { - path: "index/:dictId(\\d+)", - component: () => import("@/views/system/dict/data"), - name: "Data", - meta: {title: "字典数据", activeMenu: "/system/dict"}, - }, - ], - }, - { - path: "/monitor/job-log", - component: Layout, - hidden: true, - permissions: ["monitor:job:list"], - children: [ - { - path: "index", - component: () => import("@/views/monitor/job/log"), - name: "JobLog", - meta: {title: "调度日志", activeMenu: "/monitor/job"}, - }, - ], - }, - { - path: "/tool/gen-edit", - component: Layout, - hidden: true, - permissions: ["tool:gen:edit"], - children: [ - { - path: "index/:tableId(\\d+)", - component: () => import("@/views/tool/gen/editTable"), - name: "GenEdit", - meta: {title: "修改生成配置", activeMenu: "/tool/gen"}, - }, - ], - }, -]; +export const dynamicRoutes = [{ + path: "/system/user-auth", component: Layout, hidden: true, permissions: ["system:user:edit"], children: [{ + path: "role/:userId(\\d+)", + component: () => import("@/views/system/user/authRole"), + name: "AuthRole", + meta: {title: "分配角色", activeMenu: "/system/user"}, + },], +}, { + path: "/system/role-auth", component: Layout, hidden: true, permissions: ["system:role:edit"], children: [{ + path: "user/:roleId(\\d+)", + component: () => import("@/views/system/role/authUser"), + name: "AuthUser", + meta: {title: "分配用户", activeMenu: "/system/role"}, + },], +}, { + path: "/system/dict-data", component: Layout, hidden: true, permissions: ["system:dict:list"], children: [{ + path: "index/:dictId(\\d+)", + component: () => import("@/views/system/dict/data"), + name: "Data", + meta: {title: "字典数据", activeMenu: "/system/dict"}, + },], +}, { + path: "/monitor/job-log", component: Layout, hidden: true, permissions: ["monitor:job:list"], children: [{ + path: "index", + component: () => import("@/views/monitor/job/log"), + name: "JobLog", + meta: {title: "调度日志", activeMenu: "/monitor/job"}, + },], +}, { + path: "/tool/gen-edit", component: Layout, hidden: true, permissions: ["tool:gen:edit"], children: [{ + path: "index/:tableId(\\d+)", + component: () => import("@/views/tool/gen/editTable"), + name: "GenEdit", + meta: {title: "修改生成配置", activeMenu: "/tool/gen"}, + },], +},]; const router = createRouter({ - history: createWebHistory(), - routes: constantRoutes, - scrollBehavior(to, from, savedPosition) { + history: createWebHistory(), routes: constantRoutes, scrollBehavior(to, from, savedPosition) { if (savedPosition) { return savedPosition; } else { diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js index 1a175d0..405b115 100644 --- a/src/store/modules/permission.js +++ b/src/store/modules/permission.js @@ -1,5 +1,5 @@ import auth from "@/plugins/auth"; -import {constantRoutes, enterpriseRoutes, expertRoutes, laboratoryRoutes} from "@/router"; +import {agentRoutes, constantRoutes, enterpriseRoutes, expertRoutes, laboratoryRoutes, researchRoutes} from "@/router"; import Layout from "@/layout/index"; import ParentView from "@/components/ParentView"; import InnerLink from "@/layout/components/InnerLink"; @@ -9,36 +9,39 @@ const modules = import.meta.glob("./../../views/**/*.vue"); const usePermissionStore = defineStore("permission", { state: () => ({ - routes: [], - addRoutes: [], - defaultRoutes: [], - topbarRouters: [], - sidebarRouters: [], - }), - actions: { + routes: [], addRoutes: [], defaultRoutes: [], topbarRouters: [], sidebarRouters: [], + }), actions: { setRoutes(routes) { this.addRoutes = routes; this.routes = constantRoutes.concat(routes); - }, - setDefaultRoutes(routes) { + }, setDefaultRoutes(routes) { this.defaultRoutes = constantRoutes.concat(routes); - }, - setTopbarRoutes(routes) { + }, setTopbarRoutes(routes) { this.topbarRouters = routes; - }, - setSidebarRouters(routes) { + }, setSidebarRouters(routes) { this.sidebarRouters = routes; - }, - generateRoutes(roles) { + }, generateRoutes(roles) { return new Promise((resolve) => { console.log(roles) let routesList = []; - if (roles === "1") { - routesList = enterpriseRoutes; - } else if (roles === "2") { - routesList = expertRoutes; - } else if (roles === "3") { - routesList = laboratoryRoutes + switch (roles) { + case "1": + routesList = enterpriseRoutes + break + case "2": + routesList = expertRoutes + break + case "3": + routesList = laboratoryRoutes + break + case '4': + routesList = researchRoutes + break + case '5': + routesList = agentRoutes + break + default: + routesList = [] } this.setRoutes(routesList); this.setSidebarRouters(constantRoutes.concat(routesList)); diff --git a/src/views/admin/agent/account/basic-info.vue b/src/views/admin/agent/account/basic-info.vue new file mode 100644 index 0000000..b69c11f --- /dev/null +++ b/src/views/admin/agent/account/basic-info.vue @@ -0,0 +1,106 @@ + + + + + \ No newline at end of file diff --git a/src/views/admin/laboratory/research/achievement/index.vue b/src/views/admin/laboratory/research/achievement/index.vue new file mode 100644 index 0000000..309fcdc --- /dev/null +++ b/src/views/admin/laboratory/research/achievement/index.vue @@ -0,0 +1,173 @@ + + + diff --git a/src/views/admin/laboratory/research/expert/index.vue b/src/views/admin/laboratory/research/expert/index.vue new file mode 100644 index 0000000..78b656f --- /dev/null +++ b/src/views/admin/laboratory/research/expert/index.vue @@ -0,0 +1,261 @@ + + + diff --git a/src/views/admin/laboratory/research/laboratory-equipment/index.vue b/src/views/admin/laboratory/research/laboratory-equipment/index.vue new file mode 100644 index 0000000..2533a20 --- /dev/null +++ b/src/views/admin/laboratory/research/laboratory-equipment/index.vue @@ -0,0 +1,273 @@ + + + diff --git a/src/views/admin/laboratory/research/paper/index.vue b/src/views/admin/laboratory/research/paper/index.vue new file mode 100644 index 0000000..e3f0c5f --- /dev/null +++ b/src/views/admin/laboratory/research/paper/index.vue @@ -0,0 +1,280 @@ + + + diff --git a/src/views/admin/laboratory/research/patent/index.vue b/src/views/admin/laboratory/research/patent/index.vue index 0720b32..9f8dda7 100644 --- a/src/views/admin/laboratory/research/patent/index.vue +++ b/src/views/admin/laboratory/research/patent/index.vue @@ -33,26 +33,26 @@ - - 新增 - - - - - - 认领 - - - + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/admin/laboratory/research/research-project/index.vue b/src/views/admin/laboratory/research/research-project/index.vue new file mode 100644 index 0000000..02778bf --- /dev/null +++ b/src/views/admin/laboratory/research/research-project/index.vue @@ -0,0 +1,179 @@ + + + diff --git a/src/views/admin/laboratory/research/service-demand/detail.vue b/src/views/admin/laboratory/research/service-demand/detail.vue new file mode 100644 index 0000000..4b2e236 --- /dev/null +++ b/src/views/admin/laboratory/research/service-demand/detail.vue @@ -0,0 +1,171 @@ + + diff --git a/src/views/admin/laboratory/research/service-demand/index.vue b/src/views/admin/laboratory/research/service-demand/index.vue new file mode 100644 index 0000000..0138d10 --- /dev/null +++ b/src/views/admin/laboratory/research/service-demand/index.vue @@ -0,0 +1,179 @@ + + + diff --git a/src/views/admin/research/account/basic-info.vue b/src/views/admin/research/account/basic-info.vue new file mode 100644 index 0000000..ae9f301 --- /dev/null +++ b/src/views/admin/research/account/basic-info.vue @@ -0,0 +1,105 @@ + + + + + \ No newline at end of file diff --git a/src/views/admin/research/research/achievement/index.vue b/src/views/admin/research/research/achievement/index.vue new file mode 100644 index 0000000..309fcdc --- /dev/null +++ b/src/views/admin/research/research/achievement/index.vue @@ -0,0 +1,173 @@ + + + diff --git a/src/views/admin/research/research/expert/index.vue b/src/views/admin/research/research/expert/index.vue new file mode 100644 index 0000000..78b656f --- /dev/null +++ b/src/views/admin/research/research/expert/index.vue @@ -0,0 +1,261 @@ + + + diff --git a/src/views/admin/research/research/laboratory-equipment/index.vue b/src/views/admin/research/research/laboratory-equipment/index.vue new file mode 100644 index 0000000..2533a20 --- /dev/null +++ b/src/views/admin/research/research/laboratory-equipment/index.vue @@ -0,0 +1,273 @@ + + + diff --git a/src/views/admin/research/research/paper/index.vue b/src/views/admin/research/research/paper/index.vue new file mode 100644 index 0000000..e3f0c5f --- /dev/null +++ b/src/views/admin/research/research/paper/index.vue @@ -0,0 +1,280 @@ + + + diff --git a/src/views/admin/research/research/patent/index.vue b/src/views/admin/research/research/patent/index.vue new file mode 100644 index 0000000..9f8dda7 --- /dev/null +++ b/src/views/admin/research/research/patent/index.vue @@ -0,0 +1,388 @@ + + + diff --git a/src/views/admin/research/research/research-project/index.vue b/src/views/admin/research/research/research-project/index.vue new file mode 100644 index 0000000..02778bf --- /dev/null +++ b/src/views/admin/research/research/research-project/index.vue @@ -0,0 +1,179 @@ + + + diff --git a/src/views/admin/research/research/service-demand/detail.vue b/src/views/admin/research/research/service-demand/detail.vue new file mode 100644 index 0000000..4b2e236 --- /dev/null +++ b/src/views/admin/research/research/service-demand/detail.vue @@ -0,0 +1,171 @@ + + diff --git a/src/views/admin/research/research/service-demand/index.vue b/src/views/admin/research/research/service-demand/index.vue new file mode 100644 index 0000000..0138d10 --- /dev/null +++ b/src/views/admin/research/research/service-demand/index.vue @@ -0,0 +1,179 @@ + + + diff --git a/src/views/components/AgentForm/index.vue b/src/views/components/AgentForm/index.vue index aa86e60..13e50c0 100644 --- a/src/views/components/AgentForm/index.vue +++ b/src/views/components/AgentForm/index.vue @@ -7,7 +7,7 @@ >
基本信息
- + @@ -15,7 +15,7 @@ - + @@ -23,27 +23,27 @@ - + - - + + - - + + - + @@ -69,14 +69,14 @@ title="关键词" /> - + - + @@ -84,9 +84,9 @@
身份证人像面
- + @@ -94,9 +94,9 @@
身份证国徽面
- + @@ -108,13 +108,13 @@
- + - + - @@ -153,33 +153,33 @@ const rules = { kind: [{required: true, message: "请选择", trigger: "change"}], code: [{required: true, message: "请输入", trigger: "blur"}], mobile: [ - {required: true, message: "请输入", trigger: "blur"}, + {required: true, message: "请输入手机号码", trigger: "blur"}, { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + pattern: /^1[3-9]\d{9}$/, message: "请输入正确的手机号码", trigger: "blur", }, ], - id_card: [{required: true, message: "请输入", trigger: "blur"}], - work_place: [{required: true, message: "请输入", trigger: "blur"}], - work_experience: [ + idCard: [{required: true, message: "请输入", trigger: "blur"}], + workPlace: [{required: true, message: "请输入", trigger: "blur"}], + workExperience: [ {required: true, message: "请输入", trigger: "blur"}, ], - "id_image.front": [ + "idImage.front": [ { required: true, message: "请上传", trigger: ["blur", "change"], }, ], - "id_image.behind": [ + "idImage.behind": [ { required: true, message: "请上传", trigger: ["blur", "change"], }, ], - "id_image.hold": [ + "idImage.hold": [ { required: true, message: "请上传", @@ -209,8 +209,6 @@ const validateForm = async () => { defineExpose({ validateForm }) - -