flat: 暂存
This commit is contained in:
100
src/components/promptDialog/index.vue
Normal file
100
src/components/promptDialog/index.vue
Normal 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>
|
||||||
@@ -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) => ({
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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: {
|
||||||
|
|||||||
Reference in New Issue
Block a user