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