识别与服务管理页面

This commit is contained in:
dengxin
2024-02-21 15:02:40 +08:00
parent af6dd6ac00
commit 43ac897859
7 changed files with 158 additions and 41 deletions

View File

@@ -20,7 +20,7 @@ export const add =
export const update = export const update =
(row) => { (row) => {
return request({ return request({
url: '/api/jobslink-api/label/tenant/update', url: '/api/jobslink-api/label/update',
method: 'post', method: 'post',
data: row data: row
}) })

106
src/api/tenant/serve.js Normal file
View File

@@ -0,0 +1,106 @@
import request from '@/router/axios';
/*获取人才列表*/
export const getList =
(current, size, params, groupId) => {
return request({
url: '/api/jobslink-api/serve/list',
method: 'get',
params: {...params, current, size, groupId}
})
}
/*新增人才*/
export const add =
(row) => {
return request(
{url: '/api/jobslink-api/serve/save', method: 'post', data: row})
}
/*编辑人才*/
export const update =
(row) => {
return request({
url: '/api/jobslink-api/serve/update',
method: 'post',
data: row
})
}
/*删除人才*/
export const remove =
(ids) => {
return request({
url: '/api/jobslink-api/serve/remove',
method: 'post',
params: {ids}
})
}
/*人才详情*/
export const detail =
(id) => {
return request({
url: '/api/jobslink-api/serve/detail',
method: 'get',
params: {id}
})
}
/*获取分组*/
export const getDept =
() => {
return request({
url: '/api/jobslink-api/serve/group/listAll',
method: 'get',
params: {}
})
}
/*新建分组*/
export const addDept =
(row) => {
return request({
url: '/api/jobslink-api/serve/group/save',
method: 'post',
data: row
})
}
/*编辑分组*/
export const updateDept =
(row) => {
return request({
url: '/api/jobslink-api/serve/group/update',
method: 'post',
data: row
})
}
/*删除分组*/
export const removeDept =
(ids) => {
return request({
url: '/api/jobslink-api/serve/group/remove',
method: 'post',
params: {ids}
})
}
/*转移分组*/
export const transferDept =
(groupIds, ids) => {
return request({
url: '/api/jobslink-api/serve/updateAllGroup',
method: 'post',
params: {groupIds, ids}
})
}
/*导入人才库*/
export const upload = () => {
return `/api/jobslink-api/serve/group/import?isCovered=1`
}

View File

@@ -6,43 +6,54 @@
* isTab是否加入到tag导航 * isTab是否加入到tag导航
* isAuth是否需要授权 * isAuth是否需要授权
*/ */
import Vue from 'vue'; import Vue from "vue";
import VueRouter from 'vue-router'; import VueRouter from "vue-router";
import PageRouter from './page/' // 页面路由 import PageRouter from "./page/"; // 页面路由
import ViewsRouter from './views/' // 页面路由 import ViewsRouter from "./views/"; // 页面路由
import AvueRouter from './avue-router'; //封装的路由控制方法 import AvueRouter from "./avue-router"; //封装的路由控制方法
import i18n from '@/lang' // Internationalization 国际化 多语言 import i18n from "@/lang"; // Internationalization 国际化 多语言
import Store from '../store/'; // vuex import Store from "../store/"; // vuex
Vue.use(VueRouter) Vue.use(VueRouter);
//创建路由 //创建路由
export const createRouter = () => new VueRouter({ export const createRouter = () =>
// https://router.vuejs.org/zh/guide/advanced/scroll-behavior.html#%E5%BC%82%E6%AD%A5%E6%BB%9A%E5%8A%A8 new VueRouter({
// 这个方法 是控制滚动条 // https://router.vuejs.org/zh/guide/advanced/scroll-behavior.html#%E5%BC%82%E6%AD%A5%E6%BB%9A%E5%8A%A8
// 如果 retuen falsy || {} ,则不发生滚动 // 这个方法 是控制滚动
scrollBehavior (to, from, savedPosition) { // 如果 retuen falsy || {} ,则不发生滚动
// savedPosition 这个参数当且仅当导航 (通过浏览器的 前进/后退 按钮触发) 时才可用 效果和 router.go() 或 router.back() scrollBehavior(to, from, savedPosition) {
if (savedPosition) { // savedPosition 这个参数当且仅当导航 (通过浏览器的 前进/后退 按钮触发) 时才可用 效果和 router.go() 或 router.back()
// 返回savedPosition 其实就是 当用户点击 返回的话,保持之前游览的高度 if (savedPosition) {
return savedPosition // 返回savedPosition 其实就是 当用户点击 返回的话,保持之前游览的高度
} else { return savedPosition;
if (from.meta.keepAlive) { } else {
from.meta.savedPosition = document.body.scrollTop if (from.meta.keepAlive) {
from.meta.savedPosition = document.body.scrollTop;
}
return {
x: 0,
y: to.meta.savedPosition || 0
};
} }
return { },
x: 0, routes: [...PageRouter, ...ViewsRouter]
y: to.meta.savedPosition || 0 });
}
} const Router = createRouter(); // 获得 route 实例
}, AvueRouter.install(Vue, Router, Store, i18n); // 初始化和注册 AvueRouter
routes: [...PageRouter, ...ViewsRouter]
})
const Router = createRouter() // 获得 route 实例
AvueRouter.install(Vue, Router, Store, i18n); // 初始化和注册 AvueRouter
Router.$avueRouter.formatRoutes(Store.state.user.menuAll, true); // 动态路由核心方法 Router.$avueRouter.formatRoutes(Store.state.user.menuAll, true); // 动态路由核心方法
Router.addRoutes([...PageRouter, ...ViewsRouter]); Router.addRoutes([...PageRouter, ...ViewsRouter]);
export function resetRouter () { // 重置路由 比如用于身份验证失败,需要重新登录时 先清空当前的路有权限
const newRouter = createRouter() export function resetRouter() {
Router.matcher = newRouter.matcher // reset router // 重置路由 比如用于身份验证失败,需要重新登录时 先清空当前的路有权限
const newRouter = createRouter();
Router.matcher = newRouter.matcher; // reset router
AvueRouter.install(Vue, Router, Store, i18n); AvueRouter.install(Vue, Router, Store, i18n);
} }
export default Router
Router.beforeEach(async (to, from, next) => {
console.log(to, from, "router-------------------");
// debugger
next();
});
export default Router;

View File

@@ -53,8 +53,8 @@
<!--搜索栏--> <!--搜索栏-->
<el-form size="small" label-position="right" :inline="true" style="padding-left: 10px; padding-right: 10px"> <el-form size="small" label-position="right" :inline="true" style="padding-left: 10px; padding-right: 10px">
<el-row :span="24"> <el-row :span="24">
<el-form-item label="姓名:"> <el-form-item label="标签:">
<el-input v-model="query.name" placeholder="姓名" clearable></el-input> <el-input v-model="query.name" placeholder="标签" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="服务类型:"> <el-form-item label="服务类型:">
<el-select v-model="query.stype" placeholder="服务类型" style="width: 100%" filterable clearable> <el-select v-model="query.stype" placeholder="服务类型" style="width: 100%" filterable clearable>
@@ -308,7 +308,7 @@ export default {
dialogClickModal: false, dialogClickModal: false,
column: [ column: [
{ {
label: "姓名", label: "标签",
prop: "name", prop: "name",
// search: true, // search: true,
span: 24, span: 24,

View File

@@ -35,7 +35,7 @@
</template> </template>
<script> <script>
import { addDept, updateDept } from "@/api/tenant/talents"; import { addDept, updateDept } from "@/api/tenant/serve";
export default { export default {
data() { data() {
return { return {

View File

@@ -19,7 +19,7 @@
</template> </template>
<script> <script>
import { transferDept } from "@/api/tenant/talents"; import { transferDept } from "@/api/tenant/serve";
export default { export default {
props: { props: {
ids: String, ids: String,

View File

@@ -145,7 +145,7 @@ import {
getDept, getDept,
removeDept, removeDept,
upload, upload,
} from "@/api/tenant/talents"; } from "@/api/tenant/serve";
import { getWorkTypes } from "@/api/tenant/common"; import { getWorkTypes } from "@/api/tenant/common";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import addGroups from "./Dialog/addGroups"; import addGroups from "./Dialog/addGroups";