flat: 暂存,add tanlents + loading style

This commit is contained in:
Apcallover
2024-03-25 16:23:27 +08:00
parent 4dd5e36882
commit fc52c46506
6 changed files with 123 additions and 12 deletions

View File

@@ -196,3 +196,9 @@ export const getMatchServeList =
data: params data: params
}) })
export const getListAllTalents = (params) => request({
url: '/api/jobslink-api/serve/listAllTalents',
method: 'get',
params
})

BIN
src/assets/loading.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 KiB

View File

@@ -0,0 +1,65 @@
<template>
<div class="loading-container" v-show="visible">
<div class="content">
<img src="@/assets/loading.gif" class="image" >
<div class="text">
{{loadingText}}
</div>
</div>
</div>
</template>
<script>
export default {
name: "loading",
data: {
},
props: {
visible: {
default: false,
type: Boolean,
required: true,
},
loadingText: {
default: '',
type: String,
required: false,
},
fullScreen: {
default: false,
type: Boolean,
required: false,
},
}
}
</script>
<style scoped lang="scss">
.loading-container{
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, 0.9);
.content{
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
.image{
width: 180px;
height: 180px;
}
.text{
text-align: center;
width: 100%;
color: #666666;
}
}
}
</style>

View File

@@ -20,7 +20,7 @@
</div> </div>
<div data-v-3c692830="" style="text-align: center; margin-top: 20px; padding-bottom: 30px;"> <div data-v-3c692830="" style="text-align: center; margin-top: 20px; padding-bottom: 30px;">
<div data-v-3c692830="" style="font-size: 12px; color: #40a9ff;">Copyright @ 德阳市智慧就业服务中心</div> <div data-v-3c692830="" style="font-size: 12px; color: #40a9ff;">Copyright @ 德阳市人力资源和社会保障局</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -8,13 +8,12 @@
<div> <div>
<div class="content"> <div class="content">
<!-- 用户板块 --> <!-- 用户板块 -->
<div class="content-left"> <div class="content-left relative">
<avue-crud <avue-crud
height="900" height="900"
ref="crud1" ref="crud1"
:data="leftUserDataList" :data="leftUserDataList"
:option="leftUserOptions" :option="leftUserOptions"
:table-loading="leftLoading"
:page.sync="leftPages" :page.sync="leftPages"
@current-change="leftCurrentPageChange" @current-change="leftCurrentPageChange"
@size-change="leftSizePageChange" @size-change="leftSizePageChange"
@@ -39,6 +38,7 @@
<TextTooltip :content="row.labelsBase" length="20"></TextTooltip> <TextTooltip :content="row.labelsBase" length="20"></TextTooltip>
</template> </template>
</avue-crud> </avue-crud>
<CustomLoading :visible="leftLoading" loading-text="用户数据加载中"></CustomLoading>
</div> </div>
<!-- 操作 --> <!-- 操作 -->
<div class="content-center"> <div class="content-center">
@@ -46,15 +46,13 @@
<div style="margin-top: 30px"><el-button type="primary" @click="changeTabs(1)" size="small">匹配岗位</el-button></div> <div style="margin-top: 30px"><el-button type="primary" @click="changeTabs(1)" size="small">匹配岗位</el-button></div>
</div> </div>
<!-- 列表 --> <!-- 列表 -->
<div class="content-right"> <div class="content-right relative">
<div>
<avue-crud <avue-crud
height="900" height="900"
ref="crud2" ref="crud2"
:data="rightDataList" :data="rightDataList"
:option="rightTabs ? rightPostOptions : rightPolicyOptions" :option="rightTabs ? rightPostOptions : rightPolicyOptions"
:page.sync="rightPages" :page.sync="rightPages"
:table-loading="rightLoading"
@selection-change="rightSelectionChange" @selection-change="rightSelectionChange"
> >
<template slot="menuLeft" > <template slot="menuLeft" >
@@ -75,7 +73,7 @@
<TextTooltip :content="row.jobDescription" length="40"></TextTooltip> <TextTooltip :content="row.jobDescription" length="40"></TextTooltip>
</template> </template>
</avue-crud> </avue-crud>
</div> <CustomLoading :visible="rightLoading" loading-text="智能分析匹配中"></CustomLoading>
</div> </div>
</div> </div>
</div> </div>
@@ -92,8 +90,10 @@ import { getListAllByLabels, getListGroupByLabels, getServeAllPolicyList, getLis
import TextTooltip from "@/components/text-tooltip/index.vue"; import TextTooltip from "@/components/text-tooltip/index.vue";
import {debounce} from '@/util/util' import {debounce} from '@/util/util'
import {DateTime} from "@/util/dateTime"; import {DateTime} from "@/util/dateTime";
import CustomLoading from "@/components/Custom-Loading/index.vue";
const pages = { pagerCount: 3, total: 0, size: 10, current: 1 } const pages = { pagerCount: 3, total: 0, size: 10, current: 1 }
const baseOptions = { const baseOptions = {
size: 'medium',
dateBtn: false, dateBtn: false,
addBtn: false, addBtn: false,
editBtn: false, editBtn: false,
@@ -150,7 +150,7 @@ let rightPostOptions = {
}] }]
} }
export default { export default {
components: {TextTooltip}, components: {TextTooltip, CustomLoading},
data() { data() {
return { return {
formInline: {}, formInline: {},
@@ -223,6 +223,7 @@ export default {
this.rightDataList = [] this.rightDataList = []
this.rightTabs = type this.rightTabs = type
this.rightDataSelections = [] this.rightDataSelections = []
this.$message.success('智能分析匹配中');
type === 0 && this.getRightListPolicy() type === 0 && this.getRightListPolicy()
type === 1 && this.getRightSearch() type === 1 && this.getRightSearch()
}, },
@@ -378,7 +379,6 @@ export default {
} }
.content-right{ .content-right{
//修改动画的大小 给文字加粗效果 //修改动画的大小 给文字加粗效果
.right-search{ .right-search{
width: 100%; width: 100%;
} }
@@ -411,4 +411,7 @@ export default {
.content-footer{ .content-footer{
float: right; float: right;
} }
.relative{
position: relative;
}
</style> </style>

View File

@@ -142,6 +142,14 @@
@click="pauseServe(row)" @click="pauseServe(row)"
>关闭</el-button> >关闭</el-button>
</template> </template>
<template slot="talentsNamesForm" slot-scope="{row}">
<el-button type="text"
v-if="row.status == 1"
icon="el-icon-video-pause"
size="small"
@click="pauseServe(row)"
>关闭</el-button>
</template>
<!--/父子表--> <!--/父子表-->
</avue-crud> </avue-crud>
@@ -334,7 +342,8 @@ import {
getMatchWorkStation, getMatchWorkStation,
getMatchPolicy, getMatchPolicy,
getMatchServeList, getMatchServeList,
getListAllPolicy getListAllPolicy,
getListAllTalents
} from "@/api/tenant/serve"; } from "@/api/tenant/serve";
import { detail as missionDetail } from "@/api/tenant/mission"; import { detail as missionDetail } from "@/api/tenant/mission";
import { detail as workDetail } from "@/api/tenant/postzp"; import { detail as workDetail } from "@/api/tenant/postzp";
@@ -454,6 +463,7 @@ export default {
excelForm: { isCovered: 1 }, excelForm: { isCovered: 1 },
listAllPolicyTree: [], listAllPolicyTree: [],
selectPolicyTree: [], selectPolicyTree: [],
talentsList: []
}; };
}, },
components: { addGroups, transferGroups, Resume, ied, missionView, workView, Tinymce, PushService}, components: { addGroups, transferGroups, Resume, ied, missionView, workView, Tinymce, PushService},
@@ -508,6 +518,7 @@ export default {
callback(); callback();
} }
}; };
console.log(self.talentsList)
return { return {
height: "auto", height: "auto",
dialogWidth: "60%", dialogWidth: "60%",
@@ -611,13 +622,27 @@ export default {
slot: true, slot: true,
formslot: true, formslot: true,
}, },
{
label: "重点人群",
prop: "talentsGroupId",
type: "select",
multiple: true,
hide: true,
display: true,
dicData: self.talentsList,
props: {
label: "groupName",
value: "id"
},
span: 24,
},
{ {
label: "服务状态", label: "服务状态",
prop: "status", prop: "status",
display: false, display: false,
span: 24,
slot: true, slot: true,
}, },
{ {
label: "备注", label: "备注",
prop: "remarks", prop: "remarks",
@@ -909,8 +934,15 @@ export default {
// this.getWorkTypes(); // this.getWorkTypes();
this.getLabelList(); this.getLabelList();
this.getListAllPolicyTree() this.getListAllPolicyTree()
this.ListAllTalents()
}, },
methods: { methods: {
async ListAllTalents() {
let resData = await getListAllTalents()
if(resData.data.code === 200) {
this.talentsList = resData.data.data
}
},
selectPushService(row) { selectPushService(row) {
console.log('点击') console.log('点击')
this.selectPushServiceData = deepClone(row) this.selectPushServiceData = deepClone(row)
@@ -1169,6 +1201,7 @@ export default {
serveLabels: row.serveLabels, serveLabels: row.serveLabels,
remarks: row.remarks, remarks: row.remarks,
policyIds: this.selectPolicyTree.map((item) => item[1]).join(','), policyIds: this.selectPolicyTree.map((item) => item[1]).join(','),
talentsGroupId: row.talentsGroupId.join(',')
} }
add(params).then( add(params).then(
() => { () => {
@@ -1196,6 +1229,7 @@ export default {
serveLabels: row.serveLabels, serveLabels: row.serveLabels,
remarks: row.remarks, remarks: row.remarks,
policyIds: this.selectPolicyTree.map((item) => item[1]).join(','), policyIds: this.selectPolicyTree.map((item) => item[1]).join(','),
talentsGroupId: row.talentsGroupId.join(',')
}).then( }).then(
() => { () => {
done(); done();
@@ -1426,7 +1460,10 @@ export default {
).then((res) => { ).then((res) => {
const data = res.data.data; const data = res.data.data;
this.page.total = data.total; this.page.total = data.total;
this.data = data.records; console.log( data.records)
this.data = data.records.map((item) => ({
...item, talentsGroupId: item.talentsGroupId.split(',')
}));
this.loading = false; this.loading = false;
this.selectionClear(); this.selectionClear();
}); });