From 90258f31791787cae3ec50bdfc5780a1d4a66032 Mon Sep 17 00:00:00 2001 From: Apcallover <1503963513@qq.com> Date: Tue, 23 Apr 2024 19:42:48 +0800 Subject: [PATCH] =?UTF-8?q?flat:=20cityId=20=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/city-cascader/label.vue | 57 ++ src/main.js | 11 +- src/store/modules/area.js | 22 +- .../tenant/mission/Dialog/CopyMission.vue | 4 +- src/views/tenant/works/Dialog/CopyMission.vue | 512 +++++++++--------- src/views/util/mission-view.vue | 120 ++-- src/views/util/work-view.vue | 463 ++++++++-------- vue.config.js | 4 +- 8 files changed, 660 insertions(+), 533 deletions(-) create mode 100644 src/components/city-cascader/label.vue diff --git a/src/components/city-cascader/label.vue b/src/components/city-cascader/label.vue new file mode 100644 index 0000000..c1cd800 --- /dev/null +++ b/src/components/city-cascader/label.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/main.js b/src/main.js index 4e9e5a4..67e16db 100644 --- a/src/main.js +++ b/src/main.js @@ -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,8 +40,9 @@ Vue.component('basicContainer', basicContainer); Vue.component('basicBlock', basicBlock); Vue.component('jl-go-back', goBack); Vue.component('jl-city-cascader', cityCascader); -Vue.component('tag-select',tagSelect) -Vue.component('tool-tip',tooltip) +Vue.component('jl-cityLabel-cascader', cityLabelCascader); +Vue.component('tag-select', tagSelect) +Vue.component('tool-tip', tooltip) // 加载相关url地址 Object.keys(urls).forEach(key => { Vue.prototype[key] = urls[key]; @@ -52,10 +54,11 @@ Vue.prototype.website = website; // loadStyle(iconfontUrl.replace('$key', ele)); // }); // 睡眠函数 -function sleep (time) { +function sleep(time) { return new Promise((resolve) => setTimeout(resolve, time)) } -Vue.prototype.$api = { sleep } + +Vue.prototype.$api = {sleep} Vue.config.productionTip = false; new Vue({router, store, i18n, render: h => h(App)}).$mount('#app') diff --git a/src/store/modules/area.js b/src/store/modules/area.js index 7a7370b..24842f4 100644 --- a/src/store/modules/area.js +++ b/src/store/modules/area.js @@ -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,9 +61,10 @@ const area = { SET_AREA: (state, data) => { state.data = data.data state.dic = data.dic + state.labelData = data.labelData }, }, - getters:{ + getters: { getAreaParents: (state) => (id) => { const res = []; let item = state.dic[id]; diff --git a/src/views/tenant/mission/Dialog/CopyMission.vue b/src/views/tenant/mission/Dialog/CopyMission.vue index 66532e6..76406ec 100644 --- a/src/views/tenant/mission/Dialog/CopyMission.vue +++ b/src/views/tenant/mission/Dialog/CopyMission.vue @@ -18,12 +18,12 @@ @submit="submit" > @@ -146,12 +148,12 @@ diff --git a/src/views/util/mission-view.vue b/src/views/util/mission-view.vue index 1bc8c71..0901714 100644 --- a/src/views/util/mission-view.vue +++ b/src/views/util/mission-view.vue @@ -11,21 +11,23 @@ {{ - model.missionTitle - }} + model.missionTitle + }} + {{ - model.missionNo - }} + model.missionNo + }} + - {{ format(model.stime) }} + {{ format(model.stime) }} - {{ format(model.etime) }} + {{ format(model.etime) }} @@ -41,15 +43,18 @@ {{ model.peopleNum }}人 - {{ model.wage - }}{{ wageUnitCategory[model.wageUnitCategory] }} + {{ + model.wage + }}{{ wageUnitCategory[model.wageUnitCategory] }} + {{ - model.tradeNames - }} + model.tradeNames + }} + @@ -62,8 +67,9 @@ {{ - model.missionDesc - }} + model.missionDesc + }} + @@ -75,27 +81,31 @@ + + + + + + - {{ - model.userNature - }} + {{ + education[model.education] + }} + {{ - model.ageDesc - }} + model.ageDesc + }} + - - {{ - education[model.education] - }} - {{ - model.experienceDesc - }} + model.experienceDesc + }} + @@ -109,42 +119,49 @@ {{ - model.missionCompanyName - }} + model.missionCompanyName + }} + {{ - model.missionCompanyScale - }} + model.missionCompanyScale + }} + {{ - model.missionCompanyNature - }} + model.missionCompanyNature + }} + {{ - model.missionCompanyIndustry - }} + model.missionCompanyIndustry + }} + {{ - model.missionCompanyDescription - }} + model.missionCompanyDescription + }} + {{ - model.callName - }} + model.callName + }} + {{ - model.callTel - }} + model.callTel + }} + @@ -155,15 +172,15 @@ - {{ city[0] && city[0].label }} {{ city[1] && city[1].label }} - {{ city[2] && city[2].label }} + {{ model.cityId }} {{ - model.address - }} + model.address + }} + @@ -179,14 +196,16 @@ {{ recruit[model.reviewState] - }} + }} + {{ model.reviewMsg || '无' - }} + }} + @@ -197,8 +216,8 @@ +.mission-view .el-collapse { + border-top: 0px; +} + diff --git a/vue.config.js b/vue.config.js index daacde0..3f344eb 100644 --- a/vue.config.js +++ b/vue.config.js @@ -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": {