flat: 修改cityId备份

This commit is contained in:
Apcallover
2024-04-22 22:29:46 +08:00
parent 32390b29b0
commit 381f2273b3
3 changed files with 487 additions and 454 deletions

View File

@@ -1,117 +1,117 @@
export const wagesStatus = [ export const wagesStatus = [
{ value: 0, label: "未支付" }, {value: 0, label: "未支付"},
{ value: 1, label: "已支付" }, {value: 1, label: "已支付"},
{ value: 2, label: "已取消" }, {value: 2, label: "已取消"},
{ value: 3, label: "已过期" }, {value: 3, label: "已过期"},
{ value: 9, label: "异常" }, {value: 9, label: "异常"},
]; ];
export const orderGoodStatus = [ export const orderGoodStatus = [
{ value: 0, label: "未支付" }, {value: 0, label: "未支付"},
{ value: 1, label: "已支付" }, {value: 1, label: "已支付"},
]; ];
export const insuranceStatus = [ export const insuranceStatus = [
{ value: 1, label: "生效中" }, {value: 1, label: "生效中"},
{ value: 2, label: "即将失效" }, {value: 2, label: "即将失效"},
{ value: 3, label: "已失效" }, {value: 3, label: "已失效"},
{ value: 0, label: "未生效" }, {value: 0, label: "未生效"},
]; ];
export const orderGoods = [ export const orderGoods = [
{ value: 1, label: "服务费订单" }, {value: 1, label: "服务费订单"},
{ value: 0, label: "工资订单" }, {value: 0, label: "工资订单"},
]; ];
export const timeStatus = [ export const timeStatus = [
{ value: 0, label: "开始时间" }, {value: 0, label: "开始时间"},
{ value: 1, label: "结束时间" }, {value: 1, label: "结束时间"},
// { value: 2, label: "截止时间" }, // { value: 2, label: "截止时间" },
]; ];
export const jobStatus = [ export const jobStatus = [
// { value: "", label: "全部" }, // { value: "", label: "全部" },
{ value: 9, label: "审核未通过" }, {value: 9, label: "审核未通过"},
{ value: 1, label: "招聘中" }, {value: 1, label: "招聘中"},
// { value: 2, label: "任务中" }, // { value: 2, label: "任务中" },
{ value: 3, label: "已完成" }, {value: 3, label: "已完成"},
{ value: 4, label: "已失效" }, {value: 4, label: "已失效"},
]; ];
export const bondState = [ export const bondState = [
{ value: "", label: "全部" }, {value: "", label: "全部"},
{ value: 0, label: "已缴" }, {value: 0, label: "已缴"},
{ value: 2, label: "免缴" }, {value: 2, label: "免缴"},
{ value: 1, label: "未缴" }, {value: 1, label: "未缴"},
]; ];
export const enableState = [ export const enableState = [
{ value: "", label: "全部" }, {value: "", label: "全部"},
{ value: 1, label: "启用" }, {value: 1, label: "启用"},
{ value: 0, label: "停用" }, {value: 0, label: "停用"},
]; ];
export const payState = [ export const payState = [
{ value: "", label: "全部" }, {value: "", label: "全部"},
{ value: 0, label: "未支付" }, {value: 0, label: "未支付"},
{ value: 1, label: "已支付" }, {value: 1, label: "已支付"},
]; ];
export const taskState = [ export const taskState = [
{ value: 1, label: "任务汇总" }, {value: 1, label: "任务汇总"},
{ value: 2, label: "任务明细" }, {value: 2, label: "任务明细"},
]; ];
export const postState = [ export const postState = [
{ value: 1, label: "岗位汇总" }, {value: 1, label: "岗位汇总"},
{ value: 2, label: "岗位明细" }, {value: 2, label: "岗位明细"},
]; ];
export const enterpriseState = [ export const enterpriseState = [
{ value: 1, label: "审核中企业" }, {value: 1, label: "审核中企业"},
{ value: 2, label: "合作中企业" }, {value: 2, label: "合作中企业"},
{ value: 3, label: "终止合作企业" }, {value: 3, label: "终止合作企业"},
]; ];
export const companyMissionState = [ export const companyMissionState = [
{ value: 1, label: "招聘中" }, {value: 1, label: "招聘中"},
{ value: 2, label: "任务中" }, {value: 2, label: "任务中"},
{ value: 3, label: "已完成" }, {value: 3, label: "已完成"},
{ value: 4, label: "已失效" }, {value: 4, label: "已失效"},
]; ];
export const companyPostState = [ export const companyPostState = [
{ value: 1, label: "招聘中" }, {value: 1, label: "招聘中"},
// { value: 2, label: "已招" }, // { value: 2, label: "已招" },
{ value: 3, label: "已完成" }, {value: 3, label: "已完成"},
{ value: 4, label: "未发布" }, {value: 4, label: "未发布"},
]; ];
//电子签章管理 //电子签章管理
export const esignatureState = [ export const esignatureState = [
{ value: 0, label: "待签发" }, {value: 0, label: "待签发"},
{ value: 1, label: "签发成功" }, {value: 1, label: "签发成功"},
{ value: 2, label: "签发失败" }, {value: 2, label: "签发失败"},
]; ];
//线上代发工资状态 //线上代发工资状态
export const onLinePayState = [ export const onLinePayState = [
{ value: "wait", label: "待确定" }, {value: "wait", label: "待确定"},
{ value: "ing", label: "发放中" }, {value: "ing", label: "发放中"},
{ value: "moreThan", label: "超三倍工资" }, {value: "moreThan", label: "超三倍工资"},
{ value: "success", label: "发放成功" }, {value: "success", label: "发放成功"},
{ value: "fail", label: "发放失败" }, {value: "fail", label: "发放失败"},
{ value: "pause", label: "暂不发放" }, {value: "pause", label: "暂不发放"},
{ value: "all", label: "发放历史" }, {value: "all", label: "发放历史"},
]; ];
//个税校准管理状态 //个税校准管理状态
export const incomeTaxState = [ export const incomeTaxState = [
{ value: 1, label: "待校准" }, {value: 1, label: "待校准"},
{ value: 2, label: "待确定" }, {value: 2, label: "待确定"},
{ value: 3, label: "补发中" }, {value: 3, label: "补发中"},
{ value: 4, label: "补发成功" }, {value: 4, label: "补发成功"},
{ value: 5, label: "补发失败" }, {value: 5, label: "补发失败"},
{ value: 6, label: "无需补发" }, {value: 6, label: "无需补发"},
]; ];
//线下代发工资状态 //线下代发工资状态
export const offLinePayState = [ export const offLinePayState = [
{ value: "wait", label: "待发放" }, {value: "wait", label: "待发放"},
{ value: "success", label: "发放成功" }, {value: "success", label: "发放成功"},
{ value: "all", label: "发放历史" }, {value: "all", label: "发放历史"},
]; ];
//线上代发发放渠道 //线上代发发放渠道
export const payType = [ export const payType = [
{ value: 0, label: "银联线上" }, {value: 0, label: "银联线上"},
{ value: 1, label: "其他发放" }, {value: 1, label: "其他发放"},
]; ];
//个税校准管理状态 //个税校准管理状态
export const examineListState = [ export const examineListState = [
@@ -181,10 +181,10 @@ export const insureState = [
]; ];
export const wageUnitCategoryState = [ export const wageUnitCategoryState = [
{ value: 1, label: "元/人·时", disable: false }, {value: 1, label: "元/人·时", disable: false},
{ value: 2, label: "元/人·天", disable: false }, {value: 2, label: "元/人·天", disable: false},
{ value: 3, label: "元/人·月", disable: true }, {value: 3, label: "元/人·月", disable: true},
{ value: 4, label: "其他", disable: true }, {value: 4, label: "其他", disable: true},
// { value: 0, label: "元/人·次", disable: true }, // { value: 0, label: "元/人·次", disable: true },
// { value: 4, label: "元/人·周", disable: true }, // { value: 4, label: "元/人·周", disable: true },
// { value: 5, label: "元/人·个", disable: true }, // { value: 5, label: "元/人·个", disable: true },
@@ -355,28 +355,39 @@ export const serviceType = [
]; ];
export const recruitStatus = [ export const recruitStatus = [
{ value: 0, label: "未审核" }, {value: 0, label: "未审核"},
{ value: 1, label: "通过" }, {value: 1, label: "通过"},
{ value: 8, label: "关闭" }, {value: 8, label: "关闭"},
{ value: 9, label: "已驳回" }, {value: 9, label: "已驳回"},
]; ];
export const dataSourcesEnum = [ export const dataSourcesEnum = [
// { value: -1, label: "总集数据中心" }, // { value: -1, label: "总集数据中心" },
{ value: 1, label: "数据共享中心" }, {value: 1, label: "数据共享中心"},
{ value: 2, label: "企业发布" }, {value: 2, label: "企业发布"},
{ value: 3, label: "社区发布" }, {value: 3, label: "社区发布"},
{ value: 4, label: "互联网采集" }, {value: 4, label: "互联网采集"},
] ]
export const companyEnum = [ export const companyEnum = [
{ value: 1, label: "机关/事业单位" }, {value: 1, label: "机关/事业单位"},
{ value: 2, label: "国有企业" }, {value: 2, label: "国有企业"},
{ value: 3, label: "私营企业" }, {value: 3, label: "私营企业"},
{ value: 4, label: "外商及港澳台投资企业" }, {value: 4, label: "外商及港澳台投资企业"},
{ value: 5, label: "股份制企业" }, {value: 5, label: "股份制企业"},
{ value: 6, label: "学校/下级学院" }, {value: 6, label: "学校/下级学院"},
{ value: 7, label: "医院" }, {value: 7, label: "医院"},
{ value: 8, label: "律师事务所" }, {value: 8, label: "律师事务所"},
{ value: 9, label: "银行" }, {value: 9, label: "银行"},
{ value: 10, label: "非盈利社会组织" }, {value: 10, label: "非盈利社会组织"},
{ value: 11, label: "其它" }, {value: 11, label: "其它"},
]
export const addressColumn = [
{value: '95', label: "绵竹市"},
{value: '185', label: "广汉市"},
{value: '143', label: "旌阳区"},
{value: '150', label: "罗江区"},
{value: '42', label: "什邡市"},
{value: '156', label: "中江县"},
{value: '44139628', label: "经济技术开发区"},
{value: '79194151', label: "德阳市开发区"},
] ]

View File

@@ -1,9 +1,11 @@
<template> <template>
<basic-container> <basic-container>
<avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form" <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
:permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" :page.sync="page" :permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" :page.sync="page"
@row-update="rowUpdate" @row-save="rowSave" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @row-update="rowUpdate" @row-save="rowSave" @row-del="rowDel" @search-change="searchChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> @search-reset="searchReset"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
@on-load="onLoad">
<!-- <template slot="menu" slot-scope="{row}">--> <!-- <template slot="menu" slot-scope="{row}">-->
<!-- <el-button--> <!-- <el-button-->
<!-- v-if="vaildData(permission.manage_station_mainList_stop, false) && row.status !== 9"--> <!-- v-if="vaildData(permission.manage_station_mainList_stop, false) && row.status !== 9"-->
@@ -13,37 +15,42 @@
<!-- type="text"--> <!-- type="text"-->
<!-- >终止合作</el-button>--> <!-- >终止合作</el-button>-->
<!-- </template>--> <!-- </template>-->
<template slot="cityIdForm" slot-scope="{disabled}"> <template slot="authUrlIdImgForm">
<jl-city-cascader :disabled="disabled" v-model="form.cityId" filterable clearable></jl-city-cascader> <el-image style="width: 100px; height: 100px" :src="form.authUrlId"
:preview-src-list="[form.authUrlId]"></el-image>
</template> </template>
<template slot="authUrlIdImgForm"> <template slot="authUrlIdImgForm">
<el-image style="width: 100px; height: 100px" :src="form.authUrlId" <el-image style="width: 100px; height: 100px" :src="form.authUrlId"
:preview-src-list="[form.authUrlId]"></el-image> :preview-src-list="[form.authUrlId]"></el-image>
</template>
<template slot="authUrlIdImgForm">
<el-image style="width: 100px; height: 100px" :src="form.authUrlId"
:preview-src-list="[form.authUrlId]"></el-image>
</template> </template>
<template slot="identityUrl4IdImgForm"> <template slot="identityUrl4IdImgForm">
<el-image style="width: 100px; height: 100px" :src="form.identityUrl4Id" <el-image style="width: 100px; height: 100px" :src="form.identityUrl4Id"
:preview-src-list="[form.identityUrl4Id]"></el-image> :preview-src-list="[form.identityUrl4Id]"></el-image>
</template> </template>
<template slot="identityUrl5IdImgForm"> <template slot="identityUrl5IdImgForm">
<el-image style="width: 100px; height: 100px" :src="form.identityUrl5Id" <el-image style="width: 100px; height: 100px" :src="form.identityUrl5Id"
:preview-src-list="[form.identityUrl5Id]"></el-image> :preview-src-list="[form.identityUrl5Id]"></el-image>
</template> </template>
</avue-crud> </avue-crud>
</basic-container> </basic-container>
</template> </template>
<script> <script>
import { companyInfoAdd, companyStationInfo, companyDetail, companyUpdate, stationStop, removeMainList } from "@/api/manage/main"; import {
companyInfoAdd,
companyStationInfo,
companyDetail,
companyUpdate,
stationStop,
removeMainList
} from "@/api/manage/main";
// import { getStationDic } from "@/api/manage/station"; // import { getStationDic } from "@/api/manage/station";
import { mapGetters } from "vuex"; import {mapGetters} from "vuex";
import { isMobile, check18IdCardNo, validatenull } from "@/util/validate"; import {isMobile, check18IdCardNo, validatenull} from "@/util/validate";
import { putFile } from "@/api/resource/oss"; import {putFile} from "@/api/resource/oss";
import {getTradeDic} from "@/api/manage/trade"; import {getTradeDic} from "@/api/manage/trade";
import {companyEnum} from "@/common/dic" import {addressColumn, companyEnum} from "@/common/dic"
const accept = [ const accept = [
"image/png", "image/png",
"image/jpeg", "image/jpeg",
@@ -189,12 +196,12 @@ export default {
], ],
}, },
{ {
type: "input", type: "select",
label: "所在地区", label: "所在地区",
prop: "cityId", prop: "cityId",
span: 12, span: 12,
dicData: addressColumn,
display: true, display: true,
formslot: true,
rules: [ rules: [
{ {
required: true, required: true,
@@ -279,25 +286,25 @@ export default {
value: "id" value: "id"
}, },
dicFormatter(resp) { dicFormatter(resp) {
var result=[]; var result = [];
resp.data.forEach(ele => { resp.data.forEach(ele => {
if(ele.name!="1"){ if (ele.name != "1") {
result.push(ele) result.push(ele)
} }
}); });
return result; return result;
}, },
rules:[ rules: [
{ {
required:true, required: true,
validator: (rule,value,callback) => { validator: (rule, value, callback) => {
if(value=='请选择行业'){ if (value == '请选择行业') {
callback(new Error('请选择行业')); callback(new Error('请选择行业'));
}else{ } else {
callback(); callback();
} }
}, },
trigger:'blur' trigger: 'blur'
} }
] ]
}, },
@@ -438,8 +445,8 @@ export default {
const h = this.$createElement; const h = this.$createElement;
this.$confirm( this.$confirm(
h("div", null, [ h("div", null, [
h("p", { style: "font-size: 16px" }, "您确定要删除此消息吗? "), h("p", {style: "font-size: 16px"}, "您确定要删除此消息吗? "),
h("p", { style: "color: red" }, "一旦删除则无法找回"), h("p", {style: "color: red"}, "一旦删除则无法找回"),
]), ]),
{ {
type: "warning", type: "warning",
@@ -450,7 +457,7 @@ export default {
} }
) )
.then(() => { .then(() => {
return removeMainList({ id: row.id, isDeleted: 1}); return removeMainList({id: row.id, isDeleted: 1});
}) })
.then(() => { .then(() => {
this.$message({ this.$message({
@@ -459,7 +466,8 @@ export default {
}); });
this.refreshChange(); this.refreshChange();
}) })
.catch(() => { }); .catch(() => {
});
}, },
rowSave(row, done, loading) { rowSave(row, done, loading) {
console.log('rowSave') console.log('rowSave')
@@ -595,7 +603,7 @@ export default {
stop(row) { stop(row) {
let h = this.$createElement; let h = this.$createElement;
this.$confirm( this.$confirm(
h("p", { style: "color: #F56C6C" }, "一旦终止结算将会终止"), h("p", {style: "color: #F56C6C"}, "一旦终止结算将会终止"),
"您确定要终止与此公司的合作吗?", "您确定要终止与此公司的合作吗?",
{ {
confirmButtonText: "确定", confirmButtonText: "确定",

View File

@@ -41,7 +41,7 @@
<select-map <select-map
ref="selectMap" ref="selectMap"
@addAddress="addAddress" @addAddress="addAddress"
@addressDel = "addressDel" @addressDel="addressDel"
@input="inputAddress" @input="inputAddress"
:isCanEdit="!disabled" :isCanEdit="!disabled"
:lng="obj.lon" :lng="obj.lon"
@@ -53,7 +53,8 @@
<template slot-scope="{ row }" slot="wage"> <template slot-scope="{ row }" slot="wage">
<el-input placeholder="请输入工资" type="number" v-model="obj.wage" class="input-with-select" @blur="wageBlur"> <el-input placeholder="请输入工资" type="number" v-model="obj.wage" class="input-with-select" @blur="wageBlur">
<el-select v-model="obj.wageUnitCategory" slot="append" placeholder="请选择" @change="getMaxAndMin"> <el-select v-model="obj.wageUnitCategory" slot="append" placeholder="请选择" @change="getMaxAndMin">
<el-option :label="item.label" v-for="item in wageUnitCategory" :key="item.value" :value="item.value"></el-option> <el-option :label="item.label" v-for="item in wageUnitCategory" :key="item.value"
:value="item.value"></el-option>
</el-select> </el-select>
</el-input> </el-input>
</template> </template>
@@ -79,19 +80,19 @@
<!-- 工种 --> <!-- 工种 -->
<template slot="worktypeIds"> <template slot="worktypeIds">
<div class="tradeId"> <div class="tradeId">
<el-autocomplete <el-autocomplete
popper-class="my-autocomplete" popper-class="my-autocomplete"
v-model.trim="workTypeState" v-model.trim="workTypeState"
:fetch-suggestions="querySearchAsyncWorkType" :fetch-suggestions="querySearchAsyncWorkType"
placeholder="请选择工种" placeholder="请选择工种"
@select="handleSelectWorkType" @select="handleSelectWorkType"
show-word-limit show-word-limit
:disabled = "worktypeDisabled" :disabled="worktypeDisabled"
> >
<template slot-scope="{ item }"> <template slot-scope="{ item }">
<div class="name">{{item.value}}</div> <div class="name">{{ item.value }}</div>
</template> </template>
</el-autocomplete> </el-autocomplete>
</div> </div>
</template> </template>
<!--/自定义表单--> <!--/自定义表单-->
@@ -100,7 +101,8 @@
icon="el-icon-circle-close" icon="el-icon-circle-close"
@click="drawer = false" @click="drawer = false"
:loading="disabled" :loading="disabled"
>取消</el-button >取消
</el-button
> >
</template> </template>
</avue-form> </avue-form>
@@ -108,12 +110,12 @@
</template> </template>
<script> <script>
import { add, detail, update, tradeListAdd, workListAdd,getMounthDays, getDictionary} from "@/api/tenant/mission"; import {add, detail, update, tradeListAdd, workListAdd, getMounthDays, getDictionary} from "@/api/tenant/mission";
import { getTrade, getWork, getWorkTypes} from "@/api/tenant/common"; import {getTrade, getWork, getWorkTypes} from "@/api/tenant/common";
import SkillSelect from "../Dialog/Skill"; import SkillSelect from "../Dialog/Skill";
import SelectMap from "@/components/map/selectLocation"; import SelectMap from "@/components/map/selectLocation";
import { isvalidatemobile } from "@/util/validate"; import {isvalidatemobile} from "@/util/validate";
import { mapGetters } from "vuex"; import {mapGetters} from "vuex";
import { import {
wageUnitCategoryState, wageUnitCategoryState,
wageOptionsWithNoMonth, wageOptionsWithNoMonth,
@@ -135,19 +137,19 @@ export default {
id: "", id: "",
title: "", title: "",
type: "", type: "",
tradeBtnState:true, tradeBtnState: true,
workTypeBtnState:true, workTypeBtnState: true,
worktypeDisabled:true, worktypeDisabled: true,
selectedSkillIds: [], selectedSkillIds: [],
selectedName: [], selectedName: [],
selectedSkills: [], selectedSkills: [],
tradeData: [], tradeData: [],
tradeNameAttr:[], tradeNameAttr: [],
tradeIdAttr:[], tradeIdAttr: [],
workData: [], workData: [],
workDataNameAttr:[], workDataNameAttr: [],
workDataIdAttr:[], workDataIdAttr: [],
skillIdAttr:[], skillIdAttr: [],
obj: { obj: {
wage: 0, wage: 0,
wageUnitCategory: 3, wageUnitCategory: 3,
@@ -155,20 +157,20 @@ export default {
ageDesc: "不限年龄", ageDesc: "不限年龄",
education: 7, education: 7,
experienceDesc: "不限经验", experienceDesc: "不限经验",
tradeId:null, tradeId: null,
tradeNames: null, tradeNames: null,
userNature:"灵活用工", userNature: "灵活用工",
}, },
loading: false, loading: false,
drawer: false, drawer: false,
wageUnitCategory: wageUnitCategoryState, wageUnitCategory: wageUnitCategoryState,
restaurants: [], restaurants: [],
tradeState: '', tradeState: '',
workTypeState:'', workTypeState: '',
timeout: null, timeout: null,
days:null,//某个月份的天数 days: null,//某个月份的天数
endTimeFlag:true, endTimeFlag: true,
stimeDate:null, stimeDate: null,
wallMaxAndMin: [] wallMaxAndMin: []
}; };
}, },
@@ -186,12 +188,12 @@ export default {
if (val) { if (val) {
getWork(val).then((res) => { getWork(val).then((res) => {
this.workData = res; this.workData = res;
this.workDataNameAttr = res.map((ele)=>{ this.workDataNameAttr = res.map((ele) => {
return ele.name return ele.name
}) })
this.workDataIdAttr = res.map((ele)=>{ this.workDataIdAttr = res.map((ele) => {
return ele.id return ele.id
}) })
this.worktypeDisabled = false; this.worktypeDisabled = false;
if (val !== oldval && oldval) { if (val !== oldval && oldval) {
this.obj.worktypeIds = ""; this.obj.worktypeIds = "";
@@ -204,15 +206,17 @@ export default {
// "obj.wageUnitCategory": function () { // "obj.wageUnitCategory": function () {
// if (this.$refs.form) this.$refs.form.$refs.form.validateField("wage"); // if (this.$refs.form) this.$refs.form.$refs.form.validateField("wage");
// }, // },
"stimeDate":function(n){ "stimeDate": function (n) {
if(n){ if (n) {
getMounthDays(n).then(res=>{ getMounthDays(n).then(res => {
this.days=res.data.data; this.days = res.data.data;
}) })
} }
}, },
wallMaxAndMin(val) { wallMaxAndMin(val) {
if(!val.length) {return;} if (!val.length) {
return;
}
switch (true) { switch (true) {
case this.obj.wage < Math.min(...val): case this.obj.wage < Math.min(...val):
this.obj.wage = Math.min(...val) this.obj.wage = Math.min(...val)
@@ -278,7 +282,7 @@ export default {
}, },
option() { option() {
const self = this; const self = this;
const validatePass = (rule, value, callback)=>{ const validatePass = (rule, value, callback) => {
let specialKey = "[`~#$^&*()=|{}\\[\\]<>/~#¥……&*()——|{}【】《》%@‘”“']'"; let specialKey = "[`~#$^&*()=|{}\\[\\]<>/~#¥……&*()——|{}【】《》%@‘”“']'";
let flagValue = true; let flagValue = true;
for (var i = 0; i < value.length; i++) { for (var i = 0; i < value.length; i++) {
@@ -286,14 +290,14 @@ export default {
flagValue = false; flagValue = false;
} }
} }
if( flagValue){ if (flagValue) {
callback(); callback();
}else{ } else {
callback(new Error('任务名称不能输入特殊字符')); callback(new Error('任务名称不能输入特殊字符'));
} }
}; };
return { return {
emptyBtn: false, emptyBtn: false,
menuPosition: "right", menuPosition: "right",
@@ -321,7 +325,7 @@ export default {
message: "长度在 3到 30 个字", message: "长度在 3到 30 个字",
trigger: "blur", trigger: "blur",
}, },
{ validator: validatePass, trigger: 'blur' } {validator: validatePass, trigger: 'blur'}
], ],
}, },
{ {
@@ -342,14 +346,13 @@ export default {
); );
}, },
}, },
blur:({value})=>{ blur: ({value}) => {
self.obj.etime=''; self.obj.etime = '';
if(value){ if (value) {
self.stimeDate=value.split(' ')[0] self.stimeDate = value.split(' ')[0]
self.endTimeFlag=false self.endTimeFlag = false
} } else {
else{ self.endTimeFlag = true
self.endTimeFlag=true
} }
}, },
rules: [ rules: [
@@ -368,15 +371,15 @@ export default {
placeholder: "请选择任务结束日期", placeholder: "请选择任务结束日期",
format: "yyyy-MM-dd", format: "yyyy-MM-dd",
valueFormat: "yyyy-MM-dd 23:59:59", valueFormat: "yyyy-MM-dd 23:59:59",
disabled:self.endTimeFlag, disabled: self.endTimeFlag,
pickerOptions: { pickerOptions: {
disabledDate(time) { disabledDate(time) {
if(!self.obj.stime){ if (!self.obj.stime) {
return true return true
} }
if(self.days){ if (self.days) {
// let mutiply=1000*60*60*24; // let mutiply=1000*60*60*24;
return !( time.getTime() > Date.now() && (!self.startTime || (time.getTime() > self.startTime ))) return !(time.getTime() > Date.now() && (!self.startTime || (time.getTime() > self.startTime)))
} }
}, },
}, },
@@ -612,7 +615,7 @@ export default {
dicData: this.tradeData, dicData: this.tradeData,
props: { props: {
label: "name", label: "name",
value: "id", value: "name",
}, },
span: 12, span: 12,
}, },
@@ -727,7 +730,9 @@ export default {
wageBlur(e) { wageBlur(e) {
const value = e.target.value const value = e.target.value
const val = this.wallMaxAndMin const val = this.wallMaxAndMin
if(!val.length) {return;} if (!val.length) {
return;
}
switch (true) { switch (true) {
case this.obj.wage < Math.min(...val): case this.obj.wage < Math.min(...val):
this.obj.wage = Math.min(...val) this.obj.wage = Math.min(...val)
@@ -741,9 +746,9 @@ export default {
let params = { let params = {
code: `wages_limit_${this.obj.wageUnitCategory}` code: `wages_limit_${this.obj.wageUnitCategory}`
} }
const arr = [] const arr = []
const resData = await getDictionary(params) const resData = await getDictionary(params)
if(resData.data.code === 200) { if (resData.data.code === 200) {
resData.data.data.map((item) => { resData.data.data.map((item) => {
arr.push(Number(item.dictKey)) arr.push(Number(item.dictKey))
}) })
@@ -757,130 +762,130 @@ export default {
querySearchAsync(queryString, cb) { querySearchAsync(queryString, cb) {
let results = []; let results = [];
let tradeNameState = this.tradeNameAttr.indexOf(queryString); let tradeNameState = this.tradeNameAttr.indexOf(queryString);
if(tradeNameState == -1){ if (tradeNameState == -1) {
this.tradeBtnState = false; this.tradeBtnState = false;
}else{ } else {
this.tradeBtnState = true; this.tradeBtnState = true;
} }
for(let i of this.tradeData){ for (let i of this.tradeData) {
i.value = i.name; i.value = i.name;
} }
results = queryString ? this.tradeData.filter(this.createStateFilter(queryString)) : this.tradeData; results = queryString ? this.tradeData.filter(this.createStateFilter(queryString)) : this.tradeData;
cb(results); cb(results);
}, },
//工种筛选 //工种筛选
querySearchAsyncWorkType(queryString, cb){ querySearchAsyncWorkType(queryString, cb) {
let results = []; let results = [];
let workDataNameState = this.workDataNameAttr.indexOf(queryString); let workDataNameState = this.workDataNameAttr.indexOf(queryString);
if(workDataNameState == -1){ if (workDataNameState == -1) {
this.workTypeBtnState = false; this.workTypeBtnState = false;
}else{ } else {
this.workTypeBtnState = true;
}
for(let i of this.workData){
i.value = i.name;
}
results = queryString ? this.workData.filter(this.createStateFilter(queryString)) : this.workData;
cb(results);
},
createStateFilter(queryString) {
return (state) => {
return (state.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
};
},
//行业类型
handleSelect(item) {
console.log('11111111111')
console.log(item)
this.tradeBtnState = true;
this.obj.tradeId = item.id
this.obj.tradeNames = item.name
},
//工种
handleSelectWorkType(item){
console.log('222222')
this.workTypeBtnState = true; this.workTypeBtnState = true;
this.obj.worktypeIds = item.id; }
console.log(item) for (let i of this.workData) {
}, i.value = i.name;
//点击行业类型添加按钮 }
handleIconClick() { results = queryString ? this.workData.filter(this.createStateFilter(queryString)) : this.workData;
this.$message.closeAll(); cb(results);
let nameState = this.tradeNameAttr.indexOf(this.tradeState) },
if(this.tradeState == ""){ createStateFilter(queryString) {
this.$message({ return (state) => {
type: "error", return (state.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
message: "请输入要添加的行业类型!", };
}) },
}else if(nameState != -1){ //行业类型
handleSelect(item) {
console.log('11111111111')
console.log(item)
this.tradeBtnState = true;
this.obj.tradeId = item.id
this.obj.tradeNames = item.name
},
//工种
handleSelectWorkType(item) {
console.log('222222')
this.workTypeBtnState = true;
this.obj.worktypeIds = item.id;
console.log(item)
},
//点击行业类型添加按钮
handleIconClick() {
this.$message.closeAll();
let nameState = this.tradeNameAttr.indexOf(this.tradeState)
if (this.tradeState == "") {
this.$message({
type: "error",
message: "请输入要添加的行业类型!",
})
} else if (nameState != -1) {
this.$message({
type: "error",
message: "此行业类型已存在,请在列表中选择!",
})
} else {
tradeListAdd(this.tradeState).then((res) => {
if (res.data.code == 200) {
this.obj.tradeId = res.data.data;
this.$message({
type: "success",
message: res.data.msg,
})
this.tradeBtnState = true;
this.initData();
this.clearValidator('tradeId');
} else {
this.$message({ this.$message({
type: "error", type: "error",
message: "此行业类型已存在,请在列表中选择!", message: res.data.msg,
}) })
}else{ }
tradeListAdd(this.tradeState).then((res) =>{
if(res.data.code == 200){
this.obj.tradeId = res.data.data;
this.$message({
type: "success",
message: res.data.msg,
})
this.tradeBtnState = true;
this.initData();
this.clearValidator('tradeId');
}else{
this.$message({
type: "error",
message: res.data.msg,
})
}
}); });
} }
}, },
//点击工种添加按钮 //点击工种添加按钮
handleIconClickWorkType() { handleIconClickWorkType() {
this.$message.closeAll(); this.$message.closeAll();
let nameState = this.workDataNameAttr.indexOf(this.workTypeState) let nameState = this.workDataNameAttr.indexOf(this.workTypeState)
if(this.workTypeState == ""){ if (this.workTypeState == "") {
this.$message({ this.$message({
type: "error", type: "error",
message: "请输入要添加的工种!", message: "请输入要添加的工种!",
}) })
}else if(nameState != -1){ } else if (nameState != -1) {
this.$message({
type: "error",
message: "此工种已存在,请在列表中选择!",
})
} else {
workListAdd(this.obj.tradeId, this.workTypeState).then((res) => {
if (res.data.code == 200) {
this.obj.worktypeIds = res.data.data;
this.$message({
type: "success",
message: res.data.msg,
})
this.workTypeBtnState = true;
this.clearValidator('worktypeIds');
getWork(this.obj.tradeId).then((res) => {
this.workData = res;
this.workDataNameAttr = res.map((ele) => {
return ele.name
})
})
} else {
this.$message({ this.$message({
type: "error", type: "error",
message: "此工种已存在,请在列表中选择!", message: res.data.msg,
}) })
}else{ }
workListAdd(this.obj.tradeId,this.workTypeState).then((res) =>{
if(res.data.code == 200){
this.obj.worktypeIds = res.data.data;
this.$message({
type: "success",
message: res.data.msg,
})
this.workTypeBtnState = true;
this.clearValidator('worktypeIds');
getWork(this.obj.tradeId).then((res) => {
this.workData = res;
this.workDataNameAttr = res.map((ele)=>{
return ele.name
})
})
}else{
this.$message({
type: "error",
message: res.data.msg,
})
}
}); });
} }
}, },
// //
addressDel(){ addressDel() {
this.obj.address = ""; this.obj.address = "";
}, },
initData() { initData() {
@@ -888,10 +893,10 @@ export default {
this.loading = true; this.loading = true;
getTrade(this.userInfo.company_id).then((res) => { getTrade(this.userInfo.company_id).then((res) => {
this.tradeData = res; this.tradeData = res;
this.tradeNameAttr = res.map((ele)=>{ this.tradeNameAttr = res.map((ele) => {
return ele.name return ele.name
}) })
this.tradeIdAttr = res.map((ele)=>{ this.tradeIdAttr = res.map((ele) => {
return ele.id return ele.id
}) })
this.loading = false; this.loading = false;
@@ -914,7 +919,7 @@ export default {
ageDesc: "不限年龄", ageDesc: "不限年龄",
education: 7, education: 7,
experienceDesc: "不限经验", experienceDesc: "不限经验",
userNature:"灵活用工", userNature: "灵活用工",
}; };
}, },
@@ -933,156 +938,156 @@ export default {
} }
}, },
submit(row, done) { submit(row, done) {
if(this.$refs.selectMap.addressLocation == ""){ if (this.$refs.selectMap.addressLocation == "") {
this.$message({ this.$message({
type: "error", type: "error",
message: "请选择详细地址!", message: "请选择详细地址!",
}); });
}else{ } else {
row.address = this.$refs.selectMap.addressLocation; row.address = this.$refs.selectMap.addressLocation;
// let ids = []; // let ids = [];
// let name = []; // let name = [];
// this.selectedSkills.forEach((ele) => { // this.selectedSkills.forEach((ele) => {
// ids.push(ele.id); // ids.push(ele.id);
// name.push(ele.name); // name.push(ele.name);
// }); // });
if(this.skillArr && this.skillArr.length > 0) { if (this.skillArr && this.skillArr.length > 0) {
this.skillArr.forEach(item => { this.skillArr.forEach(item => {
if(item.id == row.workSkills[0]) { if (item.id == row.workSkills[0]) {
row.worktypeNames = item.name row.worktypeNames = item.name
if(item.child && item.child.length > 0) { if (item.child && item.child.length > 0) {
item.child.forEach(item2 => { item.child.forEach(item2 => {
if(item2.id == row.workSkills[1]) { if (item2.id == row.workSkills[1]) {
row.skillNames = item2.name; row.skillNames = item2.name;
} }
}) })
}
}
})
}
if(this.tradeData && this.tradeData.length > 0) {
this.tradeData.forEach(item => {
if(row.tradeId == item.id) {
row.tradeNames = item.name
}
})
}
if (this.type === "add" || this.type === "copy") {
this.$jlEvent("trialCheck")
.then(() => {
add({
missionTitle: row.missionTitle,
stime: row.stime,
etime: row.etime,
etimePub: row.etimePub,
peopleNum: row.peopleNum,
wage: row.wage,
wageUnitCategory: row.wageUnitCategory,
tradeId: row.tradeId,
tradeNames: row.tradeNames,
worktypeIds: row.workSkills[0],
worktypeNames: row.worktypeNames,
skillIds: row.workSkills[1],
skillNames: row.skillNames,
missionDesc: row.missionDesc,
userNature: row.userNature,
sex: row.sex,
ageDesc: row.ageDesc,
education: row.education,
experienceDesc: row.experienceDesc,
missionCompanyName: row.missionCompanyName,
missionCompanyScale: row.missionCompanyScale,
missionCompanyIndustry: row.missionCompanyIndustry,
missionCompanyNature: row.missionCompanyNature,
missionCompanyDescription: row.missionCompanyDescription,
callName: row.callName,
callTel: row.callTel,
callNumber: row.callNumber,
cityId: row.cityId,
address: row.address,
lat: row.lat,
lon: row.lon,
}).then(
() => {
this.drawer = false;
done();
this.$message({
type: "success",
message: "操作成功!",
});
this.$emit("back");
},
(error) => {
window.console.log(error);
done();
} }
); }
}) })
.catch(() => { }
done();
}); if (this.tradeData && this.tradeData.length > 0) {
} else if (this.type === "edit") { this.tradeData.forEach(item => {
update({ if (row.tradeId == item.id) {
id: this.id, row.tradeNames = item.name
missionTitle: row.missionTitle, }
stime: row.stime, })
etime: row.etime, }
etimePub: row.etimePub,
peopleNum: row.peopleNum,
wage: row.wage, if (this.type === "add" || this.type === "copy") {
wageUnitCategory: row.wageUnitCategory, this.$jlEvent("trialCheck")
tradeId: row.tradeId, .then(() => {
tradeNames: row.tradeNames, add({
worktypeIds: row.workSkills[0],
worktypeNames: row.worktypeNames, missionTitle: row.missionTitle,
skillIds: row.workSkills[1], stime: row.stime,
skillNames: row.skillNames, etime: row.etime,
missionDesc: row.missionDesc, etimePub: row.etimePub,
userNature: row.userNature, peopleNum: row.peopleNum,
sex: row.sex, wage: row.wage,
ageDesc: row.ageDesc, wageUnitCategory: row.wageUnitCategory,
education: row.education, tradeId: row.tradeId,
experienceDesc: row.experienceDesc, tradeNames: row.tradeNames,
missionCompanyIndustry: row.missionCompanyIndustry, worktypeIds: row.workSkills[0],
missionCompanyDescription: row.missionCompanyDescription, worktypeNames: row.worktypeNames,
callName: row.callName, skillIds: row.workSkills[1],
callTel: row.callTel, skillNames: row.skillNames,
callNumber: row.callNumber, missionDesc: row.missionDesc,
cityId: row.cityId, userNature: row.userNature,
address: row.address, sex: row.sex,
lat: row.lat, ageDesc: row.ageDesc,
lon: row.lon, education: row.education,
}).then( experienceDesc: row.experienceDesc,
() => { missionCompanyName: row.missionCompanyName,
this.drawer = false; missionCompanyScale: row.missionCompanyScale,
done(); missionCompanyIndustry: row.missionCompanyIndustry,
this.$message({ missionCompanyNature: row.missionCompanyNature,
type: "success", missionCompanyDescription: row.missionCompanyDescription,
message: "操作成功!", callName: row.callName,
callTel: row.callTel,
callNumber: row.callNumber,
cityId: row.cityId,
address: row.address,
lat: row.lat,
lon: row.lon,
}).then(
() => {
this.drawer = false;
done();
this.$message({
type: "success",
message: "操作成功!",
});
this.$emit("back");
},
(error) => {
window.console.log(error);
done();
}
);
})
.catch(() => {
done();
}); });
this.$emit("back"); } else if (this.type === "edit") {
}, update({
(error) => { id: this.id,
window.console.log(error); missionTitle: row.missionTitle,
done(); stime: row.stime,
} etime: row.etime,
); etimePub: row.etimePub,
} peopleNum: row.peopleNum,
wage: row.wage,
wageUnitCategory: row.wageUnitCategory,
tradeId: row.tradeId,
tradeNames: row.tradeNames,
worktypeIds: row.workSkills[0],
worktypeNames: row.worktypeNames,
skillIds: row.workSkills[1],
skillNames: row.skillNames,
missionDesc: row.missionDesc,
userNature: row.userNature,
sex: row.sex,
ageDesc: row.ageDesc,
education: row.education,
experienceDesc: row.experienceDesc,
missionCompanyIndustry: row.missionCompanyIndustry,
missionCompanyDescription: row.missionCompanyDescription,
callName: row.callName,
callTel: row.callTel,
callNumber: row.callNumber,
cityId: row.cityId,
address: row.address,
lat: row.lat,
lon: row.lon,
}).then(
() => {
this.drawer = false;
done();
this.$message({
type: "success",
message: "操作成功!",
});
this.$emit("back");
},
(error) => {
window.console.log(error);
done();
}
);
}
} }
}, },
clearValidator(val){ clearValidator(val) {
this.$refs.form.clearValidate(val); this.$refs.form.clearValidate(val);
}, },
onLoad(row, type) { onLoad(row, type) {
this.type = type; this.type = type;
this.id = row.id; this.id = row.id;
this.$nextTick(() => { this.$nextTick(() => {
if(type!='edit'){ if (type != 'edit') {
// getLastTaskInfo().then(res=>{ // getLastTaskInfo().then(res=>{
// const data=res.data.data; // const data=res.data.data;
// this.obj.callName=data.callName; // this.obj.callName=data.callName;
@@ -1110,11 +1115,11 @@ export default {
ageDesc: "不限年龄", ageDesc: "不限年龄",
education: 7, education: 7,
experienceDesc: "不限经验", experienceDesc: "不限经验",
userNature:"灵活用工" userNature: "灵活用工"
}; };
this.selectedSkills = []; this.selectedSkills = [];
this.drawer = true; this.drawer = true;
this.$nextTick(() =>{ this.$nextTick(() => {
this.$refs.form.clearValidate(); this.$refs.form.clearValidate();
}) })
if (this.$refs.selectMap) { if (this.$refs.selectMap) {
@@ -1123,7 +1128,7 @@ export default {
} else if (type === "edit") { } else if (type === "edit") {
this.title = "编辑任务"; this.title = "编辑任务";
detail(row.missionNo).then((res) => { detail(row.missionNo).then((res) => {
if(res.cityId === -1) { if (res.cityId === -1) {
res.cityId = '' res.cityId = ''
} }
this.obj = res; this.obj = res;
@@ -1139,7 +1144,7 @@ export default {
}, },
mounted() { mounted() {
} }
}; };
</script> </script>
<style scoped> <style scoped>
@@ -1152,41 +1157,50 @@ export default {
.input-with-select { .input-with-select {
width: 100%; width: 100%;
} }
.copy-form .el-input-group__append { .copy-form .el-input-group__append {
background-color: #fff; background-color: #fff;
} }
.input-with-select .el-input-group__append .el-input__icon { .input-with-select .el-input-group__append .el-input__icon {
display: none; display: none;
} }
.input-with-select .el-input-group__append input { .input-with-select .el-input-group__append input {
width: 105px; width: 105px;
padding: 0; padding: 0;
text-align: center; text-align: center;
} }
.my-autocomplete li{ .my-autocomplete li {
line-height: normal; line-height: normal;
padding: 7px; padding: 7px;
} }
.my-autocomplete li .name{
text-overflow: ellipsis; .my-autocomplete li .name {
overflow: hidden; text-overflow: ellipsis;
overflow: hidden;
} }
.my-autocomplete li .addr{
font-size: 12px; .my-autocomplete li .addr {
color: #b4b4b4; font-size: 12px;
color: #b4b4b4;
} }
.my-autocomplete li .highlighted .addr{
color: #ddd; .my-autocomplete li .highlighted .addr {
color: #ddd;
} }
.tradeId .el-autocomplete{
width:100%; .tradeId .el-autocomplete {
width: 100%;
} }
.tradeId .el-icon-plus:before{
content: "\e6d9 添加行业类型"; .tradeId .el-icon-plus:before {
color: #606266; content: "\e6d9 添加行业类型";
color: #606266;
} }
.tradeId .el-input--small input{
.tradeId .el-input--small input {
padding-right: 150px; padding-right: 150px;
} }
</style> </style>