添加零工服务

This commit is contained in:
18500206848
2024-05-09 23:13:07 +08:00
parent 3dbcdb6038
commit dadc29c4fc
11 changed files with 3198 additions and 73 deletions

View File

@@ -0,0 +1,201 @@
<template>
<div>
<basic-container>
<el-form
size="small"
label-position="right"
style="padding-left: 10px; padding-right: 10px"
:inline="true"
>
<el-row :span="24">
<el-form-item label="类型:">
<el-select v-model="query.type">
<el-option
v-for="(item, index) in types"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="日期类型:" v-if="query.type === 2">
<el-select v-model="query.timeType" @blur="delete query.time">
<el-option
v-for="(item, index) in times"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="日期:" v-if="query.type === 2">
<el-date-picker
v-if="timeEleType[query.timeType] === 'monthrange'"
v-model="query.time"
:type="timeEleType[query.timeType]"
placeholder="选择开始日期"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
<YearRange
v-else
v-model="query.time"
></YearRange>
</el-form-item>
<div class="searchBtn">
<el-button
type="primary"
size="small"
icon="el-icon-search"
@click="searchTabs"
>
</el-button
>
<el-button size="small" icon="el-icon-delete" @click="searchReset"
>
</el-button
>
</div>
</el-row>
</el-form>
<avue-crud
:option="option"
:table-loading="loading"
:page.sync="page"
:data="data"
ref="crud"
v-model="form"
></avue-crud>
</basic-container>
</div>
</template>
<script>
import {
getAllCountPostCount
} from "@/api/work/work";
import YearRange from "@/components/yearRange/index.vue";
import {missionState} from "@/common/dic";
import {dateFormat} from "@/util/date";
let types = [
{value: 0, label: '供需人数'},
{value: 1, label: '按行业'},
{value: 2, label: '按时间'},
]
let times = [
{value: 3, label: '年'},
{value: 1, label: '月'},
// {value: 3, label: '周'},
]
let timeEleType = {
3: 'year',
1: 'monthrange',
// 3: 'week',
}
export default {
name: 'supplyDemand',
components: {YearRange},
data() {
return {
types,
times,
timeEleType,
loading: false,
data: [],
form: {},
query: {
type: 0,
timeType: 1
},
page: {
pageSize: 10,
currentPage: 1,
total: 0,
},
}
},
created() {
this.getDetail()
},
computed: {
option() {
return {
height: "auto",
tip: false,
columnBtn: false,
searchShow: true,
searchMenuSpan: 5,
menuWidth: 110,
border: true,
selection: false,
viewBtn: false,
menu: false,
addBtn: false,
editBtn: false,
delBtn: false,
dialogClickModal: false,
dialogType: "drawer",
dialogFullscreen: true,
mStatusList: missionState,
align: 'center',
column: [
{
label: "名称",
prop: "name",
},
{
label: "零工人数",
prop: "workerCount",
},
{
label: "零工岗位人数",
prop: "workCount",
},
{
label: "求人倍率",
prop: "ratio",
},
]
}
}
},
methods: {
searchTabs() {
this.getDetail()
},
searchReset() {
this.query = {
type: 0,
timeType: 1
}
this.getDetail()
},
async getDetail() {
let params = {
...this.query,
}
if (params.type === 2 && params.timeType) {
if (params.time && params.time.length === 2) {
params.stime = dateFormat(typeof params.time[0] === 'string' ? new Date(params.time[0]) : params.time[0], 'yyyy-MM-dd hh:mm:ss')
params.etime = dateFormat(typeof params.time[1] === 'string' ? new Date(params.time[1]) : params.time[1], 'yyyy-MM-dd hh:mm:ss')
delete params.time
} else {
return this.$message({type: "info", message: "请选择日期"});
}
}
let resData = await getAllCountPostCount(params)
if (resData.data.code === 200) {
console.log(resData.data)
const {records, page, size, total} = resData.data.data
this.data = records
}
}
}
}
</script>
<style>
</style>