flat: cityId 合并
This commit is contained in:
57
src/components/city-cascader/label.vue
Normal file
57
src/components/city-cascader/label.vue
Normal file
@@ -0,0 +1,57 @@
|
||||
<template>
|
||||
<el-cascader
|
||||
:options="area.labelData"
|
||||
:show-all-levels="showAllLevels"
|
||||
v-model="county"
|
||||
:filterable="filterable"
|
||||
:placeholder="placeholder"
|
||||
:disabled="disabled"
|
||||
:clearable="clearable"
|
||||
></el-cascader>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapGetters} from "vuex";
|
||||
|
||||
export default {
|
||||
props: {
|
||||
value: String,
|
||||
filterable: Boolean,
|
||||
placeholder: String,
|
||||
showAllLevels: {type: Boolean, default: true},
|
||||
disabled: Boolean,
|
||||
clearable: Boolean,
|
||||
splicer: {
|
||||
type: String,
|
||||
default: "-"
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
options: [],
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.$store.dispatch("InitArea");
|
||||
},
|
||||
watch: {},
|
||||
computed: {
|
||||
...mapGetters(["area"]),
|
||||
county: {
|
||||
get() {
|
||||
if (this.value) {
|
||||
return this.value.split(this.splicer);
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
},
|
||||
set(val) {
|
||||
this.$emit("input", val.join(this.splicer));
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@@ -18,6 +18,7 @@ import App from './App';
|
||||
import basicBlock from './components/basic-block/main'
|
||||
import basicContainer from './components/basic-container/main'
|
||||
import cityCascader from './components/city-cascader/main'
|
||||
import cityLabelCascader from './components/city-cascader/label'
|
||||
import goBack from './components/go-back/main'
|
||||
import tagSelect from './components/tag-select/main'
|
||||
import tooltip from './components/tooltip/index'
|
||||
@@ -39,6 +40,7 @@ Vue.component('basicContainer', basicContainer);
|
||||
Vue.component('basicBlock', basicBlock);
|
||||
Vue.component('jl-go-back', goBack);
|
||||
Vue.component('jl-city-cascader', cityCascader);
|
||||
Vue.component('jl-cityLabel-cascader', cityLabelCascader);
|
||||
Vue.component('tag-select', tagSelect)
|
||||
Vue.component('tool-tip', tooltip)
|
||||
// 加载相关url地址
|
||||
@@ -55,6 +57,7 @@ Vue.prototype.website = website;
|
||||
function sleep(time) {
|
||||
return new Promise((resolve) => setTimeout(resolve, time))
|
||||
}
|
||||
|
||||
Vue.prototype.$api = {sleep}
|
||||
Vue.config.productionTip = false;
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
function format(data) {
|
||||
const result = [];
|
||||
const dic = {'0': {label: 'root', value: '0', children: result}};
|
||||
const labelResult = []
|
||||
const labelChild = {'0': {label: 'root', value: '0', children: labelResult}};
|
||||
|
||||
data.forEach(item => {
|
||||
if (item.layer > 3) {
|
||||
@@ -27,15 +29,26 @@ function format(data) {
|
||||
} else {
|
||||
dic[item.areaId] = node;
|
||||
}
|
||||
node.valueId = node.value
|
||||
node.value = item.areaName
|
||||
if (labelChild.hasOwnProperty(item.parentId)) {
|
||||
if (!labelChild[item.parentId].children) {
|
||||
labelChild[item.parentId].children = [];
|
||||
}
|
||||
labelChild[item.parentId].children.push(node);
|
||||
} else {
|
||||
labelChild[item.parentId] = {children: [node]};
|
||||
}
|
||||
});
|
||||
return {data: result, dic};
|
||||
return {data: result, dic, labelData: labelResult};
|
||||
}
|
||||
|
||||
let loaded = false
|
||||
|
||||
const area = {
|
||||
state: {data: [], dic: {}},
|
||||
actions: {InitArea({commit}) {
|
||||
state: {data: [], dic: {}, labelData: []},
|
||||
actions: {
|
||||
InitArea({commit}) {
|
||||
if (!loaded) {
|
||||
loaded = true
|
||||
import('@/util/area').then((resp) => {
|
||||
@@ -48,6 +61,7 @@ const area = {
|
||||
SET_AREA: (state, data) => {
|
||||
state.data = data.data
|
||||
state.dic = data.dic
|
||||
state.labelData = data.labelData
|
||||
},
|
||||
},
|
||||
getters: {
|
||||
|
||||
@@ -18,12 +18,12 @@
|
||||
@submit="submit"
|
||||
>
|
||||
<template slot="cityId" slot-scope="{ disabled }">
|
||||
<jl-city-cascader
|
||||
<jl-cityLabel-cascader
|
||||
:disabled="disabled"
|
||||
filterable
|
||||
v-model="obj.cityId"
|
||||
placeholder="请选择 工作地址"
|
||||
></jl-city-cascader>
|
||||
></jl-cityLabel-cascader>
|
||||
</template>
|
||||
|
||||
<template slot-scope="{ disabled }" slot="skillIds">
|
||||
|
||||
@@ -48,18 +48,19 @@
|
||||
</el-input>
|
||||
</template> -->
|
||||
|
||||
<template slot="city" slot-scope="{ disabled }">
|
||||
<jl-city-cascader
|
||||
<template slot="cityId" slot-scope="{ disabled }">
|
||||
<jl-cityLabel-cascader
|
||||
:disabled="disabled"
|
||||
filterable
|
||||
v-model="obj.city"
|
||||
v-model="obj.cityId"
|
||||
placeholder="请选择 工作地址"
|
||||
></jl-city-cascader>
|
||||
></jl-cityLabel-cascader>
|
||||
</template>
|
||||
<template slot-scope="{ row }" slot="wage">
|
||||
<el-input placeholder="请输入工资" type="number" v-model="obj.wage" class="input-with-select">
|
||||
<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-input>
|
||||
</template>
|
||||
@@ -138,7 +139,8 @@
|
||||
icon="el-icon-circle-close"
|
||||
@click="drawer = false"
|
||||
:loading="disabled"
|
||||
>取消</el-button
|
||||
>取消
|
||||
</el-button
|
||||
>
|
||||
</template>
|
||||
</avue-form>
|
||||
@@ -253,7 +255,9 @@ export default {
|
||||
}
|
||||
},
|
||||
wallMaxAndMin(val) {
|
||||
if(!val.length) {return;}
|
||||
if (!val.length) {
|
||||
return;
|
||||
}
|
||||
switch (true) {
|
||||
case this.obj.wage < Math.min(...val):
|
||||
this.obj.wage = Math.min(...val)
|
||||
@@ -459,8 +463,7 @@ export default {
|
||||
if (value) {
|
||||
self.stimeDate = value.split(' ')[0]
|
||||
self.endTimeFlag = false
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
self.endTimeFlag = true
|
||||
}
|
||||
},
|
||||
@@ -811,7 +814,7 @@ export default {
|
||||
{
|
||||
label: "工作地址",
|
||||
type: "input",
|
||||
prop: "city",
|
||||
prop: "cityId",
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
@@ -849,7 +852,9 @@ export default {
|
||||
wageBlur(e) {
|
||||
const value = e.target.value
|
||||
const val = this.wallMaxAndMin
|
||||
if(!val.length) {return;}
|
||||
if (!val.length) {
|
||||
return;
|
||||
}
|
||||
switch (true) {
|
||||
case this.obj.wage < Math.min(...val):
|
||||
this.obj.wage = Math.min(...val)
|
||||
@@ -1141,7 +1146,7 @@ export default {
|
||||
callName: row.callName,
|
||||
callTel: row.callTel,
|
||||
callNumber: row.callNumber,
|
||||
city: row.city,
|
||||
cityId: row.cityId,
|
||||
address: row.address,
|
||||
lat: row.lat,
|
||||
lon: row.lon,
|
||||
@@ -1190,7 +1195,7 @@ export default {
|
||||
callName: row.callName,
|
||||
callTel: row.callTel,
|
||||
callNumber: row.callNumber,
|
||||
city: row.city,
|
||||
cityId: row.cityId,
|
||||
address: row.address,
|
||||
lat: row.lat,
|
||||
lon: row.lon,
|
||||
@@ -1394,12 +1399,15 @@ export default {
|
||||
.input-with-select {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.copy-form .el-input-group__append {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.input-with-select .el-input-group__append .el-input__icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.input-with-select .el-input-group__append input {
|
||||
width: 105px;
|
||||
padding: 0;
|
||||
@@ -1410,24 +1418,30 @@ export default {
|
||||
line-height: normal;
|
||||
padding: 7px;
|
||||
}
|
||||
|
||||
.my-autocomplete li .name {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.my-autocomplete li .addr {
|
||||
font-size: 12px;
|
||||
color: #b4b4b4;
|
||||
}
|
||||
|
||||
.my-autocomplete li .highlighted .addr {
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
.tradeId .el-autocomplete {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.tradeId .el-icon-plus:before {
|
||||
content: "\e6d9 添加行业类型";
|
||||
color: #606266;
|
||||
}
|
||||
|
||||
.tradeId .el-input--small input {
|
||||
padding-right: 150px;
|
||||
}
|
||||
|
||||
@@ -12,12 +12,14 @@
|
||||
<el-col span="12">
|
||||
<el-form-item label="任务名称:">{{
|
||||
model.missionTitle
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="12">
|
||||
<el-form-item label="任务编码:">{{
|
||||
model.missionNo
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
@@ -41,15 +43,18 @@
|
||||
<el-form-item label="招聘人数:">{{ model.peopleNum }}人</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="12">
|
||||
<el-form-item label="参考工资:">{{ model.wage
|
||||
}}{{ wageUnitCategory[model.wageUnitCategory] }}</el-form-item>
|
||||
<el-form-item label="参考工资:">{{
|
||||
model.wage
|
||||
}}{{ wageUnitCategory[model.wageUnitCategory] }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col span="12">
|
||||
<el-form-item label="行业类型:">{{
|
||||
model.tradeNames
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="12">
|
||||
<el-form-item>
|
||||
@@ -63,7 +68,8 @@
|
||||
<el-col span="24">
|
||||
<el-form-item label="任务描述:">{{
|
||||
model.missionDesc
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
@@ -75,27 +81,31 @@
|
||||
</div>
|
||||
</template>
|
||||
<el-row>
|
||||
<!-- <el-col span="16">-->
|
||||
<!-- <el-form-item label="人员属性:">{{-->
|
||||
<!-- model.userNature-->
|
||||
<!-- }}-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col span="16">
|
||||
<el-form-item label="人员属性:">{{
|
||||
model.userNature
|
||||
}}</el-form-item>
|
||||
<el-form-item label="学历要求:">{{
|
||||
education[model.education]
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="8">
|
||||
<el-form-item label="年龄要求:">{{
|
||||
model.ageDesc
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col span="16">
|
||||
<el-form-item label="学历要求:">{{
|
||||
education[model.education]
|
||||
}}</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="8">
|
||||
<el-form-item label="经验要求:">{{
|
||||
model.experienceDesc
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
@@ -110,41 +120,48 @@
|
||||
<el-col span="12">
|
||||
<el-form-item label="企业名称:">{{
|
||||
model.missionCompanyName
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="12">
|
||||
<el-form-item label="企业信用代码:">{{
|
||||
model.missionCompanyScale
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="12">
|
||||
<el-form-item label="企业性质:">{{
|
||||
model.missionCompanyNature
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="12">
|
||||
<el-form-item label="所属行业:">{{
|
||||
model.missionCompanyIndustry
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col span="24">
|
||||
<el-form-item label="企业介绍:">{{
|
||||
model.missionCompanyDescription
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col span="8">
|
||||
<el-form-item label="联 系 人:">{{
|
||||
model.callName
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="8">
|
||||
<el-form-item label="联系方式:">{{
|
||||
model.callTel
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="8">
|
||||
<el-form-item>
|
||||
@@ -155,15 +172,15 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col span="24">
|
||||
<el-form-item label="工作地址:" v-if="model.cityId">{{ city[0] && city[0].label }} {{ city[1] && city[1].label }}
|
||||
{{ city[2] && city[2].label }}</el-form-item>
|
||||
<el-form-item label="工作地址:" v-if="model.cityId">{{ model.cityId }}</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col span="24">
|
||||
<el-form-item label="详细地址:">{{
|
||||
model.address
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
<select-map :lat="model.lat" :lng="model.lon" :isCanEdit="false" :type="'view'"></select-map>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -179,14 +196,16 @@
|
||||
<el-col span="24">
|
||||
<el-form-item label="审核状态:">{{
|
||||
recruit[model.reviewState]
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col span="24">
|
||||
<el-form-item label="审核备注:">{{
|
||||
model.reviewMsg || '无'
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
@@ -226,7 +245,8 @@ export default {
|
||||
recruit: getDic(recruitStatus),
|
||||
};
|
||||
},
|
||||
mounted() { },
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getSkill(skillStr) {
|
||||
return skillStr.split(",");
|
||||
|
||||
@@ -12,12 +12,14 @@
|
||||
<el-col span="12">
|
||||
<el-form-item label="岗位名称:">{{
|
||||
model.jobName
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="12">
|
||||
<el-form-item label="岗位编码:">{{
|
||||
model.missionNo
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
@@ -46,15 +48,18 @@
|
||||
<el-form-item label="招聘人数:">{{ model.peopleNum }}人</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="12">
|
||||
<el-form-item label="参考工资:">{{ model.wage
|
||||
}}{{ wageUnitCategory[model.wageUnitCategory] }}</el-form-item>
|
||||
<el-form-item label="参考工资:">{{
|
||||
model.wage
|
||||
}}{{ wageUnitCategory[model.wageUnitCategory] }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col span="12">
|
||||
<el-form-item label="行业类型:">{{
|
||||
model.tradeNames
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="12">
|
||||
<el-form-item>
|
||||
@@ -68,7 +73,8 @@
|
||||
<el-col span="24">
|
||||
<el-form-item label="岗位描述:">{{
|
||||
model.jobDescription
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
@@ -80,28 +86,32 @@
|
||||
</div>
|
||||
</template>
|
||||
<el-row>
|
||||
<!-- <el-col span="16">-->
|
||||
<!-- <el-form-item label="人员属性:">{{-->
|
||||
<!-- model.userNature-->
|
||||
<!-- }}</el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col span="16">
|
||||
<el-form-item label="人员属性:">{{
|
||||
model.userNature
|
||||
}}</el-form-item>
|
||||
<el-form-item label="学历要求:">{{
|
||||
education[model.education]
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="8">
|
||||
<el-form-item label="年龄要求:">{{
|
||||
model.ageDesc
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
|
||||
<el-col span="16">
|
||||
<el-form-item label="学历要求:">{{
|
||||
education[model.education]
|
||||
}}</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col span="8">
|
||||
<el-form-item label="经验要求:">{{
|
||||
model.experienceDesc
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
@@ -116,41 +126,48 @@
|
||||
<el-col span="12">
|
||||
<el-form-item label="企业名称:">{{
|
||||
model.jobCompanyName
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="12">
|
||||
<el-form-item label="企业信用代码:">{{
|
||||
model.jobCompanyScale
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="12">
|
||||
<el-form-item label="企业性质:">{{
|
||||
model.jobCompanyNature
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="12">
|
||||
<el-form-item label="所属行业:">{{
|
||||
model.jobCompanyIndustry
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col span="24">
|
||||
<el-form-item label="企业介绍:">{{
|
||||
model.jobCompanyDescription
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col span="8">
|
||||
<el-form-item label="联 系 人:">{{
|
||||
model.callName
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="8">
|
||||
<el-form-item label="联系方式:">{{
|
||||
model.callTel
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col span="8">
|
||||
<el-form-item>
|
||||
@@ -161,15 +178,16 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col span="24">
|
||||
<el-form-item label="工作地址:" v-if="model.cityId">{{ city[0] && city[0].label }} {{ city[1] && city[1].label }}
|
||||
{{ city[2] && city[2].label }}</el-form-item>
|
||||
<el-form-item label="工作地址:" v-if="model.cityId">{{ model.cityId }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col span="24">
|
||||
<el-form-item label="详细地址:">{{
|
||||
model.address
|
||||
}}</el-form-item>
|
||||
}}
|
||||
</el-form-item>
|
||||
<select-map :lat="model.lat" :lng="model.lon" :isCanEdit="false" :type="'view'"></select-map>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -208,7 +226,8 @@
|
||||
gender: getDic(genderState),
|
||||
};
|
||||
},
|
||||
mounted() { },
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getSkill(skillStr) {
|
||||
return skillStr.split(",");
|
||||
|
||||
@@ -23,11 +23,11 @@ module.exports = {
|
||||
port: 1888,
|
||||
proxy: {
|
||||
"/api": {
|
||||
target: 'http://10.165.0.173:8000',
|
||||
target: 'http://192.168.1.101:8200',
|
||||
ws: true,
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
"^/api": "/"
|
||||
"^/api/jobslink-api": "/"
|
||||
}
|
||||
},
|
||||
"/qq/map": {
|
||||
|
||||
Reference in New Issue
Block a user