flat: 暂存

This commit is contained in:
Apcallover
2024-05-09 14:34:59 +08:00
parent 461fa8aa5c
commit fd43fc1267
4 changed files with 206 additions and 85 deletions

View File

@@ -0,0 +1,100 @@
<template>
<el-dialog
:title="title"
:visible.sync="visible"
width="40%"
:before-close="handleClose"
append-to-body>
<span>{{ subTitle }}</span>
<div class="input_box">
<el-input type="textarea" v-model="input" placeholder="请输入内容"></el-input>
</div>
<div class="kuajie">
<div class="kuajie_span" v-for="(item, index) in tips" :key="index" @click="input += item">{{ index + 1 }}:{{
item
}}
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose"> </el-button>
<el-button type="warning" @click="handleCancel">驳回</el-button>
<el-button type="primary" @click="handleConfirm"> </el-button>
</span>
</el-dialog>
</template>
<script>
const classEnum = {
small: '56px',
default: '86px',
large: '106px',
largeX: '126px',
largeXX: '146px',
largeXXL: '186px',
}
export default {
name: "promptDialog",
data() {
return {
input: '',
}
},
props: {
visible: {
default: false,
type: Boolean,
required: true,
},
fullScreen: {
default: false,
type: Boolean,
required: false,
},
title: String,
subTitle: String,
tips: {
default: [],
type: Array,
required: false,
}
},
computed: {},
methods: {
handleClose() {
this.$emit('onClose')
},
handleCancel() {
this.$emit('onCancel', this.input)
},
handleConfirm() {
this.$emit('onConfirm', this.input)
},
}
}
</script>
<style scoped lang="scss">
.input_box {
margin-top: 50px;
}
.kuajie {
display: flex;
align-items: center;
justify-content: flex-start;
flex-wrap: wrap;
margin-top: 30px;
.kuajie_span {
padding: 5px 5px;
margin-right: 20px;
color: #666666;
cursor: pointer;
}
.kuajie_span:active {
color: blue;
}
}
</style>

View File

@@ -184,6 +184,21 @@
<mission-view :model="view"></mission-view> <mission-view :model="view"></mission-view>
</el-drawer> </el-drawer>
<zp-view ref="zpView"></zp-view> <zp-view ref="zpView"></zp-view>
<PromptDialog
:visible="dialogFlag"
title="审核"
sub-title="请核对招聘信息后再进行审核通过 一旦驳回无法进行后续操作"
:tips="[
'招聘职位描述不清晰或过于简单;',
'招聘职位与公司业务不相关;',
'招聘职位存在违法违规行为;',
'招聘职位的薪资、福利等待遇不符合市场标准;',
'用工单位资质不符;',
]"
@onClose="dialogFlag = false"
@onCancel="diaLogCancel"
@onConfirm="diaLogConfirm"
></PromptDialog>
</basic-container> </basic-container>
</template> </template>
@@ -204,6 +219,7 @@ import zpView from "./zpView";
import {missionState, wageUnitCategoryState, recruitStatus, dataSourcesEnum, educationState} from "@/common/dic"; import {missionState, wageUnitCategoryState, recruitStatus, dataSourcesEnum, educationState} from "@/common/dic";
import {calcDate} from "@/util/date"; import {calcDate} from "@/util/date";
import {Message} from "element-ui"; import {Message} from "element-ui";
import PromptDialog from "@/components/promptDialog/index.vue";
const wageUnitCategoryStateEnum = {} const wageUnitCategoryStateEnum = {}
wageUnitCategoryState.map((item) => { wageUnitCategoryState.map((item) => {
@@ -220,10 +236,12 @@ const message = lodash.throttle(
); );
export default { export default {
components: {missionView, zpView}, components: {missionView, zpView, PromptDialog},
name: "manage_mission", name: "manage_mission",
data() { data() {
return { return {
dialogFlag: false,
selectIdList: [],
recruitStatus, recruitStatus,
dataSourcesEnum, dataSourcesEnum,
educationState, educationState,
@@ -557,37 +575,26 @@ export default {
if (idList.length == 0) { if (idList.length == 0) {
this.$message.error("只能驳回【招聘中】的任务"); this.$message.error("只能驳回【招聘中】的任务");
} else { } else {
let h = this.$createElement; this.dialogFlag = true
this.$prompt( this.selectIdList = idList
h("p", {style: "color: #F56C6C"}, "一旦驳回无法进行后续操作"),
"请核对招聘信息后再进行审核通过",
{
distinguishCancelAndClose: true,
confirmButtonText: "通 过",
cancelButtonText: "驳 回",
type: "warning",
center: true,
inputType: "textarea",
inputPlaceholder: "备注驳回原因",
beforeClose: function (action, instance, done) {
if (action === 'cancel') {
if (!instance.inputValue) {
return this.$message({
type: "info",
message: "请输入驳回原因!",
});
}
self.handelFetchAuditing(idList, 9, instance.inputValue, "成功驳回, 操作成功!").then(() => done())
} else if (action === 'confirm') {
self.handelFetchAuditing(idList, 1, instance.inputValue).then(() => done())
} else {
done()
}
}
}
)
} }
}, },
diaLogCancel(value) {
if (!value) {
return this.$message({
type: "info",
message: "请输入驳回原因!",
});
}
this.handelFetchAuditing(this.selectIdList, 9, value, "成功驳回, 操作成功!").then(() => {
this.dialogFlag = false
})
},
diaLogConfirm(value) {
this.handelFetchAuditing(this.selectIdList, 1, value).then(() => {
this.dialogFlag = false
})
},
handelFetchAuditing(idList, reviewState, msg, message) { handelFetchAuditing(idList, reviewState, msg, message) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let arr = idList.map((item) => ({ let arr = idList.map((item) => ({

View File

@@ -69,10 +69,12 @@
size="small" size="small"
icon="el-icon-search" icon="el-icon-search"
@click="searchChange1" @click="searchChange1"
> </el-button >
</el-button
> >
<el-button size="small" icon="el-icon-delete" @click="searchReset1" <el-button size="small" icon="el-icon-delete" @click="searchReset1"
> </el-button >
</el-button
> >
</div> </div>
</el-row> </el-row>
@@ -104,7 +106,8 @@
size="small" size="small"
@click.stop="handleCheck" @click.stop="handleCheck"
type="primary" type="primary"
>审核</el-button >审核
</el-button
> >
</template> </template>
<!-- <template slot="menuRight"> <!-- <template slot="menuRight">
@@ -118,7 +121,8 @@
size="small" size="small"
@click.stop="rowView(row)" @click.stop="rowView(row)"
v-if="vaildData(permission.manage_mission_view, false)" v-if="vaildData(permission.manage_mission_view, false)"
>详情</el-button> >详情
</el-button>
<!-- <el-button <!-- <el-button
type="text" type="text"
size="small" size="small"
@@ -128,11 +132,12 @@
</template> </template>
<template slot="menuRight"> <template slot="menuRight">
<el-button size="small" :disabled="downloadButton" @click.stop="downRecords" type="primary" <el-button size="small" :disabled="downloadButton" @click.stop="downRecords" type="primary"
>导出</el-button >导出
</el-button
> >
</template> </template>
<template slot="wage"slot-scope="{ row }"> <template slot="wage" slot-scope="{ row }">
<div>{{row.wage}}{{wageUnitCategoryStateEnum[row.wageUnitCategory]}}</div> <div>{{ row.wage }}{{ wageUnitCategoryStateEnum[row.wageUnitCategory] }}</div>
</template> </template>
</avue-crud> </avue-crud>
<delay-dialog <delay-dialog
@@ -145,6 +150,21 @@
</el-drawer> </el-drawer>
<zp-view ref="zpView"></zp-view> <zp-view ref="zpView"></zp-view>
<wage-view ref="wageView"></wage-view> <wage-view ref="wageView"></wage-view>
<PromptDialog
:visible="dialogFlag"
title="审核"
sub-title="请核对招聘信息后再进行审核通过 一旦驳回无法进行后续操作"
:tips="[
'招聘职位描述不清晰或过于简单;',
'招聘职位与公司业务不相关;',
'招聘职位存在违法违规行为;',
'招聘职位的薪资、福利等待遇不符合市场标准;',
'用工单位资质不符;',
]"
@onClose="dialogFlag = false"
@onCancel="diaLogCancel"
@onConfirm="diaLogConfirm"
></PromptDialog>
</basic-container> </basic-container>
</template> </template>
@@ -156,7 +176,7 @@ import {
download, download,
exportList exportList
} from "@/api/workstation/post"; } from "@/api/workstation/post";
import { mapGetters } from "vuex"; import {mapGetters} from "vuex";
import postView from "@/views/util/post-view"; import postView from "@/views/util/post-view";
import zpView from "./zpView"; import zpView from "./zpView";
import { import {
@@ -167,10 +187,12 @@ import {
recruitStatus, recruitStatus,
wageUnitCategoryState wageUnitCategoryState
} from "@/common/dic"; } from "@/common/dic";
import { calcDate } from "@/util/date"; import {calcDate} from "@/util/date";
import { Message } from "element-ui"; import {Message} from "element-ui";
import lodash from "lodash"; import lodash from "lodash";
import {Auditing} from "@/api/manage/mission"; import {Auditing} from "@/api/manage/mission";
import PromptDialog from "@/components/promptDialog/index.vue";
const wageUnitCategoryStateEnum = {} const wageUnitCategoryStateEnum = {}
wageUnitCategoryState.map((item) => { wageUnitCategoryState.map((item) => {
wageUnitCategoryStateEnum[item.value] = item.label wageUnitCategoryStateEnum[item.value] = item.label
@@ -180,14 +202,16 @@ const message = lodash.throttle(
Message(options); Message(options);
}, },
3000, 3000,
{ trailing: false } {trailing: false}
); );
export default { export default {
components: {postView, zpView}, components: {postView, zpView, PromptDialog},
name: "manage_mission", name: "manage_mission",
data() { data() {
return { return {
dialogFlag: false,
selectIdList: [],
recruitStatus, recruitStatus,
dataSourcesEnum, dataSourcesEnum,
educationState, educationState,
@@ -196,7 +220,7 @@ export default {
view: {}, view: {},
form: {}, form: {},
selectionList: [], selectionList: [],
query: { type: '' }, query: {type: ''},
loading: false, loading: false,
page: { page: {
pageSize: 10, pageSize: 10,
@@ -207,10 +231,10 @@ export default {
finishDialog: false, finishDialog: false,
viewDrawer: false, viewDrawer: false,
mStatusList: [ mStatusList: [
{ value: 1, label: "招聘中" }, {value: 1, label: "招聘中"},
{ value: 2, label: "任务中" }, {value: 2, label: "任务中"},
{ value: 3, label: "已完成" }, {value: 3, label: "已完成"},
{ value: 4, label: "已失效" }, {value: 4, label: "已失效"},
{ {
label: "审核未通过", label: "审核未通过",
value: 9, value: 9,
@@ -274,14 +298,14 @@ export default {
prop: "ageDesc", prop: "ageDesc",
search: false, search: false,
display: false, display: false,
},{ }, {
label: "学历要求", label: "学历要求",
prop: "education", prop: "education",
type: "select", type: "select",
dicData: educationState, dicData: educationState,
search: false, search: false,
display: false, display: false,
},{ }, {
label: "经验要求", label: "经验要求",
prop: "experienceDesc", prop: "experienceDesc",
search: false, search: false,
@@ -436,7 +460,7 @@ export default {
if (this.query.time) { if (this.query.time) {
this.query.stime = this.query.time[0]; this.query.stime = this.query.time[0];
this.query.etime = this.query.time[1]; this.query.etime = this.query.time[1];
// delete this.query.time; // delete this.query.time;
} }
this.page.currentPage = 1; this.page.currentPage = 1;
this.onLoad(this.page, this.query); this.onLoad(this.page, this.query);
@@ -522,37 +546,26 @@ export default {
if (idList.length == 0) { if (idList.length == 0) {
this.$message.error("只能驳回【招聘中】的任务"); this.$message.error("只能驳回【招聘中】的任务");
} else { } else {
let h = this.$createElement; this.dialogFlag = true
this.$prompt( this.selectIdList = idList
h("p", { style: "color: #F56C6C" }, "一旦驳回无法进行后续操作"),
"请核对招聘信息后再进行审核通过",
{
distinguishCancelAndClose: true,
confirmButtonText: "通 过",
cancelButtonText: "驳 回",
type: "warning",
center: true,
inputType: "textarea",
inputPlaceholder: "备注驳回原因",
beforeClose: function(action, instance, done) {
if(action === 'cancel') {
if (!instance.inputValue) {
return this.$message({
type: "info",
message: "请输入驳回原因!",
});
}
self.handelFetchAuditing(idList, 9, instance.inputValue, "成功驳回, 操作成功!").then(() => done())
} else if(action === 'confirm') {
self.handelFetchAuditing(idList, 1, instance.inputValue).then(() => done())
} else {
done()
}
}
}
)
} }
}, },
diaLogCancel(value) {
if (!value) {
return this.$message({
type: "info",
message: "请输入驳回原因!",
});
}
this.handelFetchAuditing(this.selectIdList, 9, value, "成功驳回, 操作成功!").then(() => {
this.dialogFlag = false
})
},
diaLogConfirm(value) {
this.handelFetchAuditing(this.selectIdList, 1, value).then(() => {
this.dialogFlag = false
})
},
handelFetchAuditing(idList, reviewState, msg, message) { handelFetchAuditing(idList, reviewState, msg, message) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let arr = idList.map((item) => ({ let arr = idList.map((item) => ({
@@ -583,7 +596,7 @@ export default {
this.page.pageSize, this.page.pageSize,
this.query this.query
).then((response) => { ).then((response) => {
const blob = window.URL.createObjectURL(new Blob([response.data], { type: response.headers['content-type']})); 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 fileName = decodeURI(response.headers['content-disposition'].split(';')[1].split('filename=')[1])
let a = document.createElement('a') let a = document.createElement('a')
let event = new MouseEvent('click') let event = new MouseEvent('click')
@@ -600,10 +613,11 @@ export default {
</script> </script>
<style> <style>
.el-form-item { .el-form-item {
margin-right: 18px !important; margin-right: 18px !important;
} }
.searchBtn{
.searchBtn {
display: inline-block; display: inline-block;
} }
</style> </style>

View File

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