提交 44dcddd4 编写于 作者: 张磊's avatar 张磊

Merge branch 'feature/zl' into 'release-new'

Feature/zl

See merge request !14
......@@ -18,7 +18,7 @@ VUE_APP_IS_LOCAL=true
VUE_APP_APPID=wxf4e66242d31c81c2
# 本地token
VUE_APP_TOKEN=520A62A63FA043CD90593429C5D12D0D
VUE_APP_TOKEN=208774C74EAC430EB07EF3532B8F942D
# mock的基础地址
VUE_APP_BASE_MOCK_URL=http://192.168.120.69:40001/mock/
......
......@@ -19,162 +19,191 @@
class="cancel-btn"
@click="cancelSelect"
>取消</span>
<h3>选择地区</h3>
<van-tabs
v-model="activetab"
color="#449284"
@change="tabchange"
>
<van-tab title="地区"></van-tab>
<van-tab title="层级"></van-tab>
</van-tabs>
<button
class="submit-btn"
@click="confirm"
>
确定
</button>
<!-- <button :disabled="isDisabled" class="submit-btn" @click="confirm">确定</button> -->
</div>
<div
v-show="areaList.currentOrgList.length"
class="my-org"
>
<span>我所在机构</span>
<ul>
<li
v-for="(provinceItem, index) in areaList.currentOrgList"
:key="index"
class="list"
:class="{ active: provinceItem.selected }"
@click="provinceSelect(provinceItem, index, true)"
>
<span>{{ provinceItem.label }}</span>
<span v-show="provinceItem.selected">
<img src="../../assets/images/sort-select-icon.png">
</span>
</li>
</ul>
</div>
<div class="address-select">
<ul class="show-address-header">
<li
:class="{ active: isShowProvince }"
class="item"
@click="tabAddressClick(1)"
>
{{ value.provinceName ? value.provinceName : '请选择' }}
</li>
<li
v-show="
value.provinceName &&
value.provinceName != '全部' &&
rank > 1 &&
areaList.cityList.length
"
:class="{ active: isShowCity }"
class="item"
@click="tabAddressClick(2)"
>
{{ value.cityName ? value.cityName : '请选择' }}
</li>
<li
v-show="value.cityName && rank > 2 && areaList.countyList.length"
:class="{ active: isShowCounty }"
class="item"
@click="tabAddressClick(3)"
>
{{ value.countyName ? value.countyName : '请选择' }}
</li>
<li
v-show="value.countyName && rank > 3 && areaList.townList.length"
:class="{ active: isShowTown }"
class="item"
@click="tabAddressClick(4)"
>
{{ value.townName ? value.townName : '请选择' }}
</li>
<li
v-show="value.townName && rank > 4 && areaList.newOrgList.length"
:class="{ active: isShowOrg }"
class="item"
@click="tabAddressClick(5)"
>
{{ value.newOrgName ? value.newOrgName : '请选择' }}
</li>
</ul>
<div v-show="activetab == 0">
<div
class="address-content"
@touchmove.stop
v-show="areaList.currentOrgList.length"
class="my-org"
>
<ul
v-show="isShowProvince"
id="province"
>
<span>我所在机构</span>
<ul>
<li
v-for="(provinceItem, index) in areaList.provinceList"
v-for="(provinceItem, index) in areaList.currentOrgList"
:key="index"
class="list"
:class="{ active: provinceItem.selected }"
@click="provinceSelect(provinceItem, index)"
@click="provinceSelect(provinceItem, index, true)"
>
<span>{{ provinceItem.label }}</span>
<span v-show="provinceItem.selected">
<img src="../../assets/images/sort-select-icon.png">
</span>
<img src="../../assets/images/sort-select-icon.png">
</span>
</li>
</ul>
<ul
v-show="isShowCity"
id="city"
>
</div>
<div class="address-select">
<ul class="show-address-header">
<li
v-for="(cityItem, index) in areaList.cityList"
:key="index"
:class="{ active: cityItem.selected }"
@click="citySelect(cityItem, index)"
:class="{ active: isShowProvince }"
class="item"
@click="tabAddressClick(1)"
>
<span>{{ cityItem.label }}</span>
<span v-show="cityItem.selected">
<img src="../../assets/images/sort-select-icon.png">
</span>
{{ value.provinceName ? value.provinceName : '请选择' }}
</li>
</ul>
<ul
v-show="isShowCounty"
id="county"
>
<li
v-for="(countyItem, index) in areaList.countyList"
:key="index"
:class="{ active: countyItem.selected }"
@click="countySelect(countyItem, index)"
v-show="
value.provinceName &&
value.provinceName != '全部' &&
rank > 1 &&
areaList.cityList.length
"
:class="{ active: isShowCity }"
class="item"
@click="tabAddressClick(2)"
>
<span>{{ countyItem.label }}</span>
<span v-show="countyItem.selected">
<img src="../../assets/images/sort-select-icon.png">
</span>
{{ value.cityName ? value.cityName : '请选择' }}
</li>
<li
v-show="value.cityName && rank > 2 && areaList.countyList.length"
:class="{ active: isShowCounty }"
class="item"
@click="tabAddressClick(3)"
>
{{ value.countyName ? value.countyName : '请选择' }}
</li>
<li
v-show="value.countyName && rank > 3 && areaList.townList.length"
:class="{ active: isShowTown }"
class="item"
@click="tabAddressClick(4)"
>
{{ value.townName ? value.townName : '请选择' }}
</li>
<li
v-show="value.townName && rank > 4 && areaList.newOrgList.length"
:class="{ active: isShowOrg }"
class="item"
@click="tabAddressClick(5)"
>
{{ value.newOrgName ? value.newOrgName : '请选择' }}
</li>
</ul>
<ul
v-show="isShowTown"
id="town"
<div
class="address-content"
@touchmove.stop
>
<li
v-for="(townItem, index) in areaList.townList"
:key="index"
:class="{ active: townItem.selected }"
@click="townSelect(townItem, index)"
<ul
v-show="isShowProvince"
id="province"
>
<span>{{ townItem.label }}</span>
<span v-show="townItem.selected">
<li
v-for="(provinceItem, index) in areaList.provinceList"
:key="index"
:class="{ active: provinceItem.selected }"
@click="provinceSelect(provinceItem, index)"
>
<span>{{ provinceItem.label }}</span>
<span v-show="provinceItem.selected">
<img src="../../assets/images/sort-select-icon.png">
</span>
</li>
</ul>
</li>
</ul>
<ul
v-show="isShowCity"
id="city"
>
<li
v-for="(cityItem, index) in areaList.cityList"
:key="index"
:class="{ active: cityItem.selected }"
@click="citySelect(cityItem, index)"
>
<span>{{ cityItem.label }}</span>
<span v-show="cityItem.selected">
<img src="../../assets/images/sort-select-icon.png">
</span>
</li>
</ul>
<ul
v-show="isShowCounty"
id="county"
>
<li
v-for="(countyItem, index) in areaList.countyList"
:key="index"
:class="{ active: countyItem.selected }"
@click="countySelect(countyItem, index)"
>
<span>{{ countyItem.label }}</span>
<span v-show="countyItem.selected">
<img src="../../assets/images/sort-select-icon.png">
</span>
</li>
</ul>
<ul
v-show="isShowTown"
id="town"
>
<li
v-for="(townItem, index) in areaList.townList"
:key="index"
:class="{ active: townItem.selected }"
@click="townSelect(townItem, index)"
>
<span>{{ townItem.label }}</span>
<span v-show="townItem.selected">
<img src="../../assets/images/sort-select-icon.png">
</span>
</li>
</ul>
<ul
v-show="isShowOrg"
id="org"
>
<li
v-for="(orgItem, index) in areaList.newOrgList"
:key="index"
:class="{ active: orgItem.selected }"
@click="orgSelect(orgItem, index)"
>
<span>{{ orgItem.label }}</span>
<span v-show="orgItem.selected">
<img src="../../assets/images/sort-select-icon.png">
</span>
</li>
</ul>
</div>
</div>
</div>
<div v-show="activetab == 1">
<div
class="address-content"
@touchmove.stop
>
<ul
v-show="isShowOrg"
id="org"
>
<li
v-for="(orgItem, index) in areaList.newOrgList"
v-for="(i, index) in hl"
:key="index"
:class="{ active: orgItem.selected }"
@click="orgSelect(orgItem, index)"
:class="{ active: hlselected.hospitalId == i.hospitalId }"
@click="hlSelect(i, index)"
>
<span>{{ orgItem.label }}</span>
<span v-show="orgItem.selected">
<span>{{ i.hospitalName }}</span>
<span v-show=" hlselected.hospitalId == i.hospitalId">
<img src="../../assets/images/sort-select-icon.png">
</span>
</li>
......@@ -187,7 +216,7 @@
</template>
<script>
import { mapGetters, mapActions } from 'vuex';
import { getAreaOrOrgList } from '../../service';
import { getAreaOrOrgList, getAreaOrOrgList2 } from '../../service';
export default {
name: 'PicaArea',
......@@ -237,6 +266,9 @@ export default {
regionId: '',
},
currentOrgList: [],
activetab: '1',
hl:[],
hlselected: ''
};
},
computed: {
......@@ -277,6 +309,7 @@ export default {
this.queryParams.projectId = cQuery.projectId || '';
if (this.queryParams.projectId) {
this.getProvinceData(this.queryParams);
this.getOrgData2({projectId:this.queryParams.projectId});
}
}
},
......@@ -383,6 +416,15 @@ export default {
});
},
async getOrgData2(params) {
await getAreaOrOrgList2(params).then((res) => {
if (res.code === '000000') {
console.log('-res', res);
this.hl = res.data || [];
}
});
},
// 选择省份的操作
provinceSelect(item, idx, isCurrent) {
this.value.regionId = item.id;
......@@ -591,17 +633,24 @@ export default {
}
},
confirm() {
this.$emit('confirm', this.value);
const v = this.activetab == 0 ? this.value : this.hlselected;
console.log('-this.value', v);
this.$emit('confirm', v);
},
cancelSelect() {
this.$emit('cancel', false);
},
tabchange(e) {
console.log('e', e, this.activetab);
},
hlSelect(i) {
this.hlselected = i;
}
},
};
</script>
<style lang="scss" scoped>
.select-wrapper {
font-family: PingFangSC-Regular;
.mask {
position: fixed;
z-index: 1000000015;
......@@ -611,7 +660,6 @@ export default {
bottom: 0;
background: rgba(55, 56, 57, 0.6);
}
.address-wrap {
position: absolute;
width: 100%;
......@@ -656,7 +704,6 @@ export default {
}
}
}
.address-select {
width: 100%;
height: auto;
......@@ -702,7 +749,6 @@ export default {
text-overflow: ellipsis;
white-space: nowrap;
position: relative;
// flex: 1 0 auto;
&:last-of-type {
padding-right: 15px;
}
......@@ -729,54 +775,51 @@ export default {
}
}
}
.address-content {
position: relative;
}
}
.address-content {
position: relative;
width: 100%;
height: 196px;
overflow: hidden;
box-sizing: border-box;
ul {
width: 100%;
height: 196px;
overflow-y: auto;
box-sizing: border-box;
padding: 10px 13px;
-webkit-overflow-scrolling: touch;
position: static;
-webkit-transform: translateZ(0px);
li {
height: 35px;
line-height: 35px;
font-size: 15px;
width: 100%;
// height: 100%;
height: 196px;
overflow: hidden;
overflow-x: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #676869;
cursor: pointer;
box-sizing: border-box;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
justify-content: space-between;
-webkit-justify-content: space-between;
&.active {
color: #449284;
}
ul {
width: 100%;
height: 196px;
overflow-y: auto;
box-sizing: border-box;
padding: 10px 13px;
-webkit-overflow-scrolling: touch;
position: static;
-webkit-transform: translateZ(0px);
li {
height: 35px;
line-height: 35px;
font-size: 15px;
width: 100%;
overflow-x: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #676869;
cursor: pointer;
box-sizing: border-box;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
justify-content: space-between;
-webkit-justify-content: space-between;
&.active {
color: #449284;
}
img {
width: 10px;
height: 10px;
}
}
img {
width: 10px;
height: 10px;
}
}
}
......
......@@ -85,6 +85,7 @@ router.beforeEach(async (to, from, next) => {
setCookie('conslToken', params.userToken);
next();
});
// next();
});
router.addRoutes(routerConfig);
......@@ -19,7 +19,13 @@ export const getAreaOrOrgList = async (params) => {
url: 'stats/region',
});
};
export const getAreaOrOrgList2 = async (params) => {
return request({
method: 'get',
withCredentials: true,
url: `hospital/hospitalStats/portal/hospital/deepLowers/${params.projectId}`,
});
};
/**
* 获取区域(一般是乡镇)下的机构列表
*/
......
......@@ -422,7 +422,7 @@ export default {
this.CNTParams.projectId = this.projectId;
this.queryParams.projectId = this.projectId;
this.getUserInfo();
// this.getProjectInfo(this.queryParams);
this.getProjectInfo(this.queryParams);
},
mounted() {
window.addEventListener(
......@@ -687,6 +687,11 @@ export default {
return;
}
this.clearParams();
if(selData.hospitalId) {
console.log('--selData', selData);
this.areaName = selData.hospitalName;
this.queryGDParams.hospitalIdList = [selData.hospitalId];
}
this.queryGDParams.regionId = selData.regionId;
this.CNTParams.regionId = selData.regionId;
this.getHospitalsCNT(this.CNTParams);
......
......@@ -35,7 +35,7 @@ module.exports = {
port: 8080,
proxy: {
'/proxy': {
target: 'https://sc.yunqueyi.com',
target: 'https://uat-sc.yunqueyi.com',
ws: false,
changeOrigin: true,
secure: true,
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册