This commit is contained in:
Apcallover
2024-05-28 09:43:26 +08:00
6 changed files with 340 additions and 9 deletions

View File

@@ -0,0 +1,10 @@
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}
});
};

View File

@@ -262,3 +262,11 @@ export const removeServeLog = data =>
params: data params: data
}); });
/*服务日志*/
export const getMainServeUserLog = params => {
return request({
url: "/api/jobslink-api/tenant/mainserveuserlog/listUserLog",
method: "get",
params: params
});
};

View File

@@ -438,11 +438,12 @@ export default {
}, },
async getRightSearchByUserId() { async getRightSearchByUserId() {
const {currentPage, size} = this.rightPages const {currentPage, size} = this.rightPages
const ids = this.leftUserSelections.map(item => item.userId).join(','); const idNumbers = this.leftUserSelections.map(item => item.idNumber).join(',');
const createTime = Date.now() + 3000 const createTime = Date.now() + 3000
this.rightLoading = true this.rightLoading = true
let params = { let params = {
ids, current: currentPage, idNumbers,
current: currentPage,
size, size,
} }
let resData = await getSearchAllByUserId(params) let resData = await getSearchAllByUserId(params)

View File

@@ -56,6 +56,9 @@
<template slot="jobDescription" slot-scope="{row}"> <template slot="jobDescription" slot-scope="{row}">
<TextTooltip :content="row.jobDescription" length="40"></TextTooltip> <TextTooltip :content="row.jobDescription" length="40"></TextTooltip>
</template> </template>
<template slot="address" slot-scope="{row}">
<TextTooltip :content="row.address" length="40"></TextTooltip>
</template>
</avue-crud> </avue-crud>
<CustomLoading :visible="rightLoading" size="largeXXL" loading-text="智能分析匹配中"></CustomLoading> <CustomLoading :visible="rightLoading" size="largeXXL" loading-text="智能分析匹配中"></CustomLoading>
</div> </div>
@@ -220,6 +223,10 @@ let rightPostOptions = {
}, { }, {
label: '用工单位', label: '用工单位',
prop: 'companyName', prop: 'companyName',
}, {
label: '详细地址',
prop: 'address',
slot: true,
}, { }, {
label: '岗位描述', label: '岗位描述',
prop: 'jobDescription', prop: 'jobDescription',
@@ -438,12 +445,13 @@ export default {
}, },
async getRightSearchByUserId() { async getRightSearchByUserId() {
const {currentPage, size} = this.rightPages const {currentPage, size} = this.rightPages
const ids = this.leftUserSelections.map(item => item.userId).join(','); const idNumbers = this.leftUserSelections.map(item => item.idNumber).join(',');
const willingJobs = this.leftUserSelections.map(item => item.willingJob); const willingJobs = this.leftUserSelections.map(item => item.willingJob);
const createTime = Date.now() + 3000 const createTime = Date.now() + 3000
this.rightLoading = true this.rightLoading = true
let params = { let params = {
ids, current: currentPage, idNumbers,
current: currentPage,
size, size,
} }
let paramsBody = { let paramsBody = {

View File

@@ -104,6 +104,14 @@
</el-button </el-button
> >
</template> </template>
<template slot-scope="{row}" slot="menu">
<el-button type="text"
icon="el-icon-document"
size="small"
@click="serveLog(row)"
>查看日志
</el-button>
</template>
</avue-crud> </avue-crud>
<!--批量导入--> <!--批量导入-->
@@ -118,6 +126,36 @@
</template> </template>
</avue-form> </avue-form>
</el-dialog> </el-dialog>
<!-- log-->
<el-drawer
title="服务日志"
size="80%"
:append-to-body="true"
:before-close="handleCloseLog"
:visible.sync="innerDrawerLog">
<!-- <div>
<span>姓名</span>
<span>身份证号</span>
</div> -->
<avue-crud
:data="logDataSource"
:option="logOption"
:page.sync="logPage"
@row-save="saveLog"
@row-update="saveUpdateLog"
@row-del="removeLog"
@size-change="logSizeChange"
@current-change="logCurrentChange"
>
<!-- <template slot="menuLeft">
<el-button @click="addNewLog" icon="el-icon-plus" type="primary" size="mini">添加</el-button>
</template>
<template slot="menu" slot-scope="{row}">
<el-button type="text" @click="editLogInfo(row.id)" icon="el-icon-edit" size="mini">修改</el-button>
<el-button type="text" @click="editLogInfo(row.id)" icon="el-icon-edit" size="mini">查看附件</el-button>
</template> -->
</avue-crud>
</el-drawer>
<!--/批量导入--> <!--/批量导入-->
<!--新建 编辑分组dialog--> <!--新建 编辑分组dialog-->
<add-groups ref="addGroups" @refresh="refresh" :treeData="treeData"></add-groups> <add-groups ref="addGroups" @refresh="refresh" :treeData="treeData"></add-groups>
@@ -154,7 +192,13 @@ import ied from "@/views/util/import-error-dialog";
import {excelAccept} from "@/common/accept"; import {excelAccept} from "@/common/accept";
import TextTooltip from '@/components/text-tooltip' import TextTooltip from '@/components/text-tooltip'
import {exportList} from "@/api/workstation/post"; import {exportList} from "@/api/workstation/post";
import {addServeLog, getMainServeUserLog, removeServeLog, updateServeLog} from "@/api/tenant/serve";
let page = {
pageSize: 10,
currentPage: 1,
total: 0,
}
export default { export default {
filters: { filters: {
ellipsis(value) { ellipsis(value) {
@@ -184,11 +228,11 @@ export default {
personTotal: 0, personTotal: 0,
treeData: [], treeData: [],
tenantId: "", tenantId: "",
page: { page: Object.assign({}, page),
pageSize: 10, logPage: Object.assign({}, page),
currentPage: 1, logDataSource: [],
total: 0, innerDrawerLog: false,
}, selectUserServeLog: null,
tempWorkType: [], tempWorkType: [],
worktypeDic: {}, worktypeDic: {},
arr: [],////// arr: [],//////
@@ -569,6 +613,43 @@ export default {
} }
return rel; return rel;
}, },
logOption() {
return {
editBtn: true,
delBtn: true,
addBtn: true,
viewBtn: true,
border: true,
index: true,
indexLabel: "序号",
refreshBtn: false,
dialogType: "drawer",
addBtnText: "新增日志",
height: '100',
column: [{
label: '服务时间',
prop: 'createTime',
type: 'date',
format: "yyyy-MM-dd",
valueFormat: "yyyy-MM-dd HH:mm:ss",
}, {
label: '服务发起人',
prop: 'fromName'
}, {
label: '服务对象',
prop: 'toName'
}, {
label: '服务主题',
prop: 'serveTheme'
}, {
label: '服务内容',
prop: 'serveContent'
}, {
label: '备注说明',
prop: 'bak1'
}]
}
}
}, },
created() { created() {
this.initDept(); this.initDept();
@@ -1031,6 +1112,91 @@ export default {
this.selectionList = []; this.selectionList = [];
this.$refs.crud.toggleSelection(); this.$refs.crud.toggleSelection();
}, },
async saveLog(row, index, done, loading) {
let params = {
...row,
serveId: this.selectUserServeLog.serveId,
serveUserId: this.selectUserServeLog.serveUserId,
}
console.log(params)
let resData = await addServeLog(params)
done()
if (resData.data.code === 200) {
this.$message({
type: "success",
message: "添加成功!",
});
this.serveLog(this.selectUserServeLog)
}
},
async saveUpdateLog(row, index, done, loading) {
let params = {
id: row.id,
createTime: row.createTime,
fromName: row.fromName,
toName: row.toName,
serveTheme: row.serveTheme,
serveContent: row.serveContent,
bak1: row.bak1,
}
let resData = await updateServeLog(params)
done()
if (resData.data.code === 200) {
this.$message({
type: "success",
message: "修改成功!",
});
this.serveLog(this.selectUserServeLog)
}
},
removeLog(row, index, done, loading) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
return removeServeLog({ids: row.id});
})
.then(() => {
this.serveLog(this.selectUserServeLog)
this.$message({
type: "success",
message: "操作成功!",
});
});
},
handleCloseLog() {
this.innerDrawerLog = false
},
logSizeChange(pageSize) {
this.logPage.pageSize = pageSize;
this.serveLog(this.selectUserServeLog)
},
logCurrentChange(currentPage) {
this.logPage.currentPage = currentPage;
this.serveLog(this.selectUserServeLog)
},
serveLog(row) {
console.log('服务日志', row)
this.selectUserServeLog = row
getMainServeUserLog({
idNumber: row.id,
current: this.logPage.currentPage,
size: this.logPage.pageSize
}).then(res => {
let _this = this;
const {records, current, size, total} = res.data.data
console.log(records, total)
_this.logDataSource = records
_this.innerDrawerLog = true
_this.logPage = {
pageSize: size,
currentPage: current,
total: total,
}
})
},
/*加载人才列表 */ /*加载人才列表 */
onLoad(page, params = {}) { onLoad(page, params = {}) {
const paramsd = { const paramsd = {

View File

@@ -0,0 +1,138 @@
<template>
<el-row>
<basic-container>
<avue-crud
:option="option"
:table-loading="loading"
:data="dataSource"
:page.sync="page"
ref="crud"
v-model="crudValues"
:permission="permissionList"
@search-change="searchChange"
@search-reset="searchReset"
@current-change="currentChange"
@size-change="sizeChange"
class="customPage"
>
</avue-crud>
</basic-container>
</el-row>
</template>
<script>
import {mapGetters} from "vuex";
import {getList} from "@/api/tenant/personnelserve";
const page = {
pageSize: 10,
currentPage: 1,
total: 0,
}
const baseOptions = {
size: 'medium',
dateBtn: false,
addBtn: false,
editBtn: false,
delBtn: false,
height: "auto",
reserveSelection: false,
border: true,
columnBtn: false,
refreshBtn: false,
menu: true,
tip: false,
selection: false,
align: 'center',
searchMenuSpan: 6,
searchLabelWidth: 60,
}
export default {
data() {
return {
loading: false,
dataSource: [],
crudValues: {},
page: Object.assign({}, page)
}
},
computed: {
...mapGetters(["permission"]),
permissionList() {
return {
addBtn: this.vaildData(this.permission.tenant_main_talents_latent_index_add, false),
viewBtn: true,
delBtn: this.vaildData(this.permission.tenant_main_talents_latent_index_del, false),
editBtn: this.vaildData(this.permission.tenant_main_talents_latent_index_edit, false),
};
},
option() {
return {
...baseOptions,
column: [
{
label: "姓名",
prop: "name",
search: true,
searchSpan: 6,
},
{
label: "身份证",
prop: "idNumber",
search: true,
searchSpan: 6,
},
{
label: "手机号",
prop: "phone",
},
]
}
}
},
methods: {
searchChange(params, done) {
this.query = params;
this.page.currentPage = 1;
this.onLoad(this.page, params);
done();
},
searchReset() {
this.query = {};
this.onLoad(this.page);
},
currentChange(currentPage) {
this.page.currentPage = currentPage;
this.onLoad(this.page, this.query);
},
sizeChange(pageSize) {
this.page.pageSize = pageSize;
this.onLoad(this.page, this.query);
},
onLoad(page, params = {}) {
const {releaseTimeRange} = params;
let values = {
...params,
};
this.loading = true;
getList(
page.currentPage,
page.pageSize,
Object.assign(values, this.query)
).then((res) => {
const {total, records, page} = res.data.data
this.page.total = total;
// this.page.currentPage = page
this.dataSource = records;
this.loading = false;
});
},
}
}
</script>
<style lang="scss" scoped>
</style>