flat: 暂存

This commit is contained in:
Apcallover
2024-05-05 17:29:22 +08:00
parent 248a28d822
commit 484e36631e
9 changed files with 270 additions and 14 deletions

View File

@@ -1,5 +1,5 @@
import request from "@/router/axios";
import { getToken } from "@/util/auth";
import {getToken} from "@/util/auth";
export const getList = (current, size, params) => {
return request({
@@ -57,7 +57,7 @@ export const getDetail = (missionNo) => {
return request({
url: "/api/jobslink-api/missions/mission/detail",
method: "get",
params: { missionNo },
params: {missionNo},
});
};
@@ -88,7 +88,7 @@ export const complet = (ids) => {
return request({
url: "/api/jobslink-api/missions/mission/manage/complet",
method: "post",
params: { ids },
params: {ids},
});
};
@@ -117,3 +117,11 @@ export const Auditing = (data) => {
data,
});
};
export const getAllCountWorkCount = (params) => {
return request({
url: "/api/jobslink-api/report/allCount/workCount",
method: "get",
params,
});
};

View File

@@ -12,6 +12,15 @@ export const getTemplate = (type) => {
return request({
url: '/api/jobslink-api/resource/template/docurl',
method: 'get',
params: { type }
params: {type}
})
}
export const getTemplateRecommendExportList = (params) => {
return request({
url: '/api/jobslink-api/tenant/talents/recommend/exportList',
method: 'get',
params,
responseType: 'blob',
})
}

View File

@@ -1,12 +1,60 @@
<template>
<div>
<basic-container>
12312
</basic-container>
<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.stime">
<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-model="query.stime"
:type="timeEleType[query.timeType]"
placeholder="选择日期">
</el-date-picker>
</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"
@@ -16,18 +64,133 @@
</template>
<script>
import {
getAllCountWorkCount
} from "@/api/manage/mission";
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: 'month',
// 3: 'week',
}
export default {
name: 'supplyDemand',
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 {}
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() {
let date = null
switch (this.query.timeType) {
case 3:
date = new Date(this.query.stime);
date.setFullYear(date.getFullYear() + 1)
this.query.etime = date
break
case 1:
date = new Date(this.query.stime);
date.setMonth(date.getMonth() + 1)
this.query.etime = date
break
}
this.getDetail()
},
searchReset() {
this.query = {
type: 0,
time: 1
}
this.getDetail()
},
async getDetail() {
let params = {
...this.query,
}
if (params.stime) {
params.stime = dateFormat(params.stime, 'yyyy-MM-dd hh:mm:ss')
}
if (params.etime) {
params.etime = dateFormat(params.etime, 'yyyy-MM-dd hh:mm:ss')
}
let resData = await getAllCountWorkCount(params)
if (resData.data.code === 200) {
console.log(resData.data)
const {records, page, size, total} = resData.data.data
this.data = records
}
}
}
}

View File

@@ -262,10 +262,15 @@ export default {
],
},
{
type: "select",
label: "用工单位性质",
prop: "nature",
dicData: companyEnum,
type: 'select',
dicUrl: "/api/jobslink-api/system/dict/dictionary?code=company_nature",
props: {
label: "dictKey",
value: "dictValue",
},
// dicData: companyEnum,
rules: [
{
required: true,

View File

@@ -110,6 +110,16 @@
</template>
<!--/自定义按钮-->
<template slot="menuRight">
<el-button
type="primary"
size="small"
:disabled="downloadButton"
@click="handleExport"
>导出
</el-button
>
</template>
</avue-crud>
<!--批量导入-->
@@ -154,7 +164,7 @@ import addGroups from "./Dialog/addGroups";
import transferGroups from "./Dialog/transferGroups";
import Resume from "@/components/resume/index";
import {check18IdCardNo, isvalidatemobile, isExcel} from "@/util/validate";
import {getTemplate} from "@/api/resource/template";
import {getTemplate, getTemplateRecommendExportList} from "@/api/resource/template";
import ied from "@/views/util/import-error-dialog";
import {excelAccept} from "@/common/accept";
import TextTooltip from '@/components/text-tooltip'
@@ -172,6 +182,7 @@ export default {
name: "tenant_talents",
data() {
return {
downloadButton: false,
activeNames: "1",
isIndeterminate: false,
checkAll: false,
@@ -553,6 +564,24 @@ export default {
this.getDept()
},
methods: {
handleExport() {
this.downloadButton = true
// 0 潜在 1 已认定
getTemplateRecommendExportList({
groupType: 1,
...this.query
}).then((response) => {
const blob = window.URL.createObjectURL(new Blob([response.data], {type: response.headers['content-type']}));
let fileName = decodeURI(response.headers['content-disposition'].split(';')[1].split('filename=')[1])
let a = document.createElement('a')
let event = new MouseEvent('click')
a.download = fileName || Date.now() + '.xlsx'
a.href = blob
a.dispatchEvent(event)
this.downloadButton = false
})
},
deptChange({value, column}) {
this.deptId = value
console.log(value)

View File

@@ -110,6 +110,16 @@
</template>
<!--/自定义按钮-->
<template slot="menuRight">
<el-button
type="primary"
size="small"
:disabled="downloadButton"
@click="handleExport"
>导出
</el-button
>
</template>
</avue-crud>
<!--批量导入-->
@@ -155,10 +165,11 @@ import addGroups from "./Dialog/addGroups";
import transferGroups from "./Dialog/transferGroups";
import Resume from "@/components/resume/index";
import {check18IdCardNo, isvalidatemobile, isExcel} from "@/util/validate";
import {getTemplate} from "@/api/resource/template";
import {getTemplate, getTemplateRecommendExportList} from "@/api/resource/template";
import ied from "@/views/util/import-error-dialog";
import {excelAccept} from "@/common/accept";
import TextTooltip from '@/components/text-tooltip'
import {exportList} from "@/api/workstation/post";
export default {
filters: {
@@ -173,6 +184,7 @@ export default {
name: "tenant_talents",
data() {
return {
downloadButton: false,
activeNames: "1",
isIndeterminate: false,
checkAll: false,
@@ -555,6 +567,24 @@ export default {
this.getDept()
},
methods: {
handleExport() {
this.downloadButton = true
// 0 潜在 1 已认定
getTemplateRecommendExportList({
groupType: 0,
...this.query
}).then((response) => {
const blob = window.URL.createObjectURL(new Blob([response.data], {type: response.headers['content-type']}));
let fileName = decodeURI(response.headers['content-disposition'].split(';')[1].split('filename=')[1])
let a = document.createElement('a')
let event = new MouseEvent('click')
a.download = fileName || Date.now() + '.xlsx'
a.href = blob
a.dispatchEvent(event)
this.downloadButton = false
})
},
deptChange({value, column}) {
this.deptId = value
console.log(value)

View File

@@ -622,6 +622,12 @@ export default {
{
label: "企业性质",
prop: "missionCompanyNature",
type: 'select',
dicUrl: "/api/jobslink-api/system/dict/dictionary?code=company_nature",
props: {
label: "dictKey",
value: "dictValue",
},
rules: [
{
required: true,

View File

@@ -742,8 +742,14 @@ export default {
span: 12,
},
{
label: "企业性质",
prop: "jobCompanyNature",
label: "企业性质",
type: 'select',
dicUrl: "/api/jobslink-api/system/dict/dictionary?code=company_nature",
props: {
label: "dictKey",
value: "dictValue",
},
rules: [
{
required: true,

View File

@@ -23,7 +23,7 @@ module.exports = {
port: 1888,
proxy: {
"/api": {
target: 'http://10.165.0.173:8000',
target: 'http://192.168.1.105:8000',
ws: true,
changeOrigin: true,
pathRewrite: {