| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342 |
- <!--
- * @Title:
- * @Description: 管理工作台
- * @Author: swp
- * @Date: 2022-08-24 10:49:21
- * @LastEditors:
- * @LastEditTime: 2022-08-24 10:49:21
- -->
- <template>
- <view class="container">
- <uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
- @clickLeft="toBack">
- <view class="nav-title">
- <text>{{title}}</text>
- </view>
- </uni-nav-bar>
- <uni-section title="行政区选择" type="line">
- <view class="search-block">
- <view style="padding-left: 10px;padding-right: 10px;">
- <uni-data-select v-model="cityRegionValue" :localdata="cityRegionData" @change="cityRegionChange"
- :clear="false" placeholder="请选择盟市"></uni-data-select>
- </view>
- <view style="padding-left: 10px;padding-right: 10px;margin-top: 10px;">
- <uni-data-select v-model="districtRegionValue" :localdata="districtRegionData"
- @change="districtRegionChange" placeholder="请选择区旗县"></uni-data-select>
- </view>
- <view style="padding-left: 10px;padding-right: 10px;margin-top: 10px;">
- <uni-data-select v-model="townRegionValue" :localdata="townRegionData" @change="townRegionChange"
- placeholder="请选择乡镇"></uni-data-select>
- </view>
- <view style="padding-left: 10px;padding-right: 10px;margin-top: 10px;">
- <uni-data-select v-model="countryRegionValue" :localdata="countryRegionData"
- @change="countryRegionChange" placeholder="请选择村"></uni-data-select>
- </view>
- </view>
- </uni-section>
- <view class="search-block">
- <view class="rtu-code">
- <uni-easyinput :styles="inputStyles" @input="searchRtuCodeValClear" prefixIcon="search"
- v-model="searchRtuCodeVal" placeholder="请录入危险区名称">
- </uni-easyinput>
- </view>
- <view class="submit-btn">
- <button type="default" @click="search">查 询</button>
- </view>
- </view>
- <view v-if="list.length>0">
- <uni-list>
- <uni-list-item v-for="item in list" :key="item.id">
- <template v-slot:body>
- <view class="list-item-block">
- <view class="line">
- <text class="title text-ellipsis text-underline" style="color: blue;"
- @click="selectDangerArea(item)">{{item.dangerAreaName}}</text>
- </view>
- <view class="line" style="margin-top: 5px;">
- <!-- <uni-icons class="input-uni-icon" type="map-pin-ellipse" size="18" color="orangered" /> -->
- <text class="lable">所属行政区:</text>
- <text class="content" style="color: gray;">{{item.adnm}}</text>
- </view>
- </view>
- </template>
- </uni-list-item>
- </uni-list>
- <uni-group>
- <view class="pagination-block">
- <uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
- @change="pageChange" />
- </view>
- </uni-group>
- </view>
- <view v-else class="view-flex-inline-center">
- <view style="margin-top: 10px;color: gray;font-size: 1rem;">暂无数据</view>
- </view>
- </view>
- </view>
- </template>
- <script>
- import http from '@/http/api.js';
- export default {
- name: 'regionSelect',
- components: {},
- data() {
- return {
- title: '危险区选择',
- cityRegionValue: '',
- districtRegionValue: '',
- townRegionValue: '',
- countryRegionValue: '',
- cityRegionData: [],
- districtRegionData: [],
- townRegionData: [],
- countryRegionData: [],
- pageSize: 10,
- pageCurrent: 1,
- total: 0,
- list: [],
- searchRtuCodeVal: '',
- query: {},
- inputStyles: {
- color: '#808080',
- borderColor: '#d3d3d3'
- },
- loading: false,
- searchViewStyles: {
- width: '100%',
- height: '40px'
- },
- }
- },
- computed: {
- },
- onInit(option) {
- },
- onLoad(option) {
- this.getCityRegion({});
- },
- onShow() {
- },
- onReady() {
- },
- methods: {
- //返回上一页
- toBack() {
- uni.navigateBack({
- delta: 1
- })
- },
- // 分页触发
- pageChange(e) {
- this.pageCurrent = e.current;
- let params = {};
- if (this.searchRtuCodeVal != '' && this.searchRtuCodeVal.length > 0) {
- params['dangerAreaName'] = this.searchRtuCodeVal;
- }
- this.getDangerAreaPage(params);
- },
- cityRegionChange(e) {
- this.cityRegionValue = e;
- this.districtRegionData = [];
- this.districtRegionValue = '';
- this.townRegionData = [];
- this.townRegionValue = '';
- this.countryRegionData = [];
- this.countryRegionValue = '';
- let p = {
- 'parentCode': this.cityRegionValue
- }
- this.getDistrictRegion(p);
- this.pageCurrent = 1;
- this.query['adcd'] = this.cityRegionValue;
- this.getDangerAreaPage({});
- },
- districtRegionChange(e) {
- if (e == undefined || e == null || e == '') {
- this.districtRegionValue = '';
- this.townRegionData = [];
- this.townRegionValue = '';
- this.countryRegionData = [];
- this.countryRegionValue = '';
- this.pageCurrent = 1;
- this.query['adcd'] = this.cityRegionValue;
- this.getDangerAreaPage({});
- } else {
- this.districtRegionValue = e;
- this.townRegionData = [];
- this.townRegionValue = '';
- this.countryRegionData = [];
- this.countryRegionValue = '';
- let p = {
- 'parentCode': this.districtRegionValue
- }
- this.getTownRegion(p);
- this.pageCurrent = 1;
- this.query['adcd'] = this.districtRegionValue;
- this.getDangerAreaPage({});
- }
- },
- townRegionChange(e) {
- if (e == undefined || e == null || e == '') {
- this.townRegionValue = '';
- this.countryRegionData = [];
- this.countryRegionValue = '';
- this.pageCurrent = 1;
- this.query['adcd'] = this.districtRegionValue;
- this.getDangerAreaPage({});
- } else {
- this.townRegionValue = e;
- this.countryRegionData = [];
- this.countryRegionValue = '';
- let p = {
- 'parentCode': this.townRegionValue
- }
- this.getCountryRegion(p);
- this.pageCurrent = 1;
- this.query['adcd'] = this.townRegionValue;
- this.getDangerAreaPage({});
- }
- },
- countryRegionChange(e) {
- if (e == undefined || e == null || e == '') {
- this.countryRegionValue = '';
- this.pageCurrent = 1;
- this.query['adcd'] = this.townRegionValue;
- this.getDangerAreaPage({});
- } else {
- this.countryRegionValue = e;
- this.pageCurrent = 1;
- this.query['adcd'] = this.countryRegionValue;
- this.getDangerAreaPage({});
- }
- },
- getCityRegion(params = {}) {
- let that = this;
- http.request({
- url: '/galaxy-business/baseinfo/region/whole/yj/list',
- method: 'GET',
- data: params,
- }).then(res => {
- that.cityRegionData = res.data.map(item => {
- return {
- value: item.adcd,
- text: item.adnm,
- }
- })
- }).catch(err => {
- console.log(err)
- })
- },
- getDistrictRegion(params = {}) {
- let that = this;
- http.request({
- url: '/galaxy-business/baseinfo/region/whole/yj/list',
- method: 'GET',
- data: params,
- }).then(res => {
- that.districtRegionData = res.data.map(item => {
- return {
- value: item.adcd,
- text: item.adnm,
- }
- })
- }).catch(err => {
- console.log(err)
- })
- },
- getTownRegion(params = {}) {
- let that = this;
- http.request({
- url: '/galaxy-business/baseinfo/region/whole/yj/list',
- method: 'GET',
- data: params,
- }).then(res => {
- that.townRegionData = res.data.map(item => {
- return {
- value: item.adcd,
- text: item.adnm,
- }
- })
- }).catch(err => {
- console.log(err)
- })
- },
- getCountryRegion(params = {}) {
- let that = this;
- http.request({
- url: '/galaxy-business/baseinfo/region/whole/yj/list',
- method: 'GET',
- data: params,
- }).then(res => {
- that.countryRegionData = res.data.map(item => {
- return {
- value: item.adcd,
- text: item.adnm,
- }
- })
- }).catch(err => {
- console.log(err)
- })
- },
- getDangerAreaPage(params = {}) {
- const current = this.pageCurrent;
- const size = this.pageSize;
- let postData = Object.assign(params, this.query);
- let that = this;
- http.request({
- url: '/galaxy-business/map/dangerarea/page',
- method: 'GET',
- params: {
- current,
- size,
- },
- data: postData,
- }).then(res => {
- if (res.data.records != null) {
- that.list = res.data.records;
- }
- this.total = res.data.total;
- }).catch(err => {
- console.log(err)
- })
- },
- search() {
- this.pageCurrent = 1;
- let params = {};
- if (this.searchRtuCodeVal != '' && this.searchRtuCodeVal.length > 0) {
- params['dangerAreaName'] = this.searchRtuCodeVal;
- }
- this.getDangerAreaPage(params);
- },
- searchRtuCodeValClear(e) {
- if (e == null || e == '' || e.length == 0) {
- this.searchRtuCodeVal = '';
- this.getDangerAreaPage({});
- }
- },
- onBackPress() {
- // #ifdef APP-PLUS
- plus.key.hideSoftKeybord();
- // #endif
- },
- selectDangerArea(item) {
- let p = {
- 'dangerAreaId': item.dangerAreaPid,
- 'dangerAreaName': item.dangerAreaName
- };
- uni.$emit('dangerAreaId', JSON.stringify(p))
- this.toBack();
- },
- }
- }
- </script>
- <style lang="scss" scoped>
- $nav-height: 75px;
- </style>
|