177 lines
5.2 KiB
Vue
177 lines
5.2 KiB
Vue
<template>
|
|
<view class="container">
|
|
<view class="prefecture form-group br12">
|
|
<view class="form-item">
|
|
<view class="form-label">
|
|
<text class="domation mr10">*</text>
|
|
{{$t('S_C_86')}}
|
|
</view>
|
|
<input class="form-input" type="text" value="" v-model="form.recName" :placeholder="$t('S_C_70')" />
|
|
</view>
|
|
<view class="form-item">
|
|
<view class="form-label">
|
|
<text class="domation mr10">*</text>
|
|
{{$t('MN_F_23')}}
|
|
</view>
|
|
<input class="form-input" type="text" value="" v-model="form.recPhone" :placeholder="$t('S_C_70')" />
|
|
</view>
|
|
<view class="form-item">
|
|
<view class="form-label">
|
|
<text class="domation mr10">*</text>
|
|
{{$t('w_0068')}}
|
|
</view>
|
|
<view class="input-box flex-1 d-b-c" @click="showMulLinkageThreePicker">
|
|
<input class="ml30 f32 " type="text" placeholder-class="grary9"
|
|
:placeholder="$t('w_0069')" v-model="selectCity" disabled="true"
|
|
/>
|
|
<view class="icon iconfont fb icon-icon1"></view>
|
|
</view>
|
|
</view>
|
|
<view class="form-item">
|
|
<view class="form-label">
|
|
<text class="domation mr10">*</text>
|
|
{{$t('S_C_27')}}
|
|
</view>
|
|
<input class="form-input" type="text" value="" v-model="form.recAddress" :placeholder="$t('S_C_70')" />
|
|
</view>
|
|
</view>
|
|
<view class="btnList">
|
|
<view class="normal-sub-btn" @click="clickSearch">查询</view>
|
|
<button class="normal-sub-btn sold" @click="loginOut">{{$t('w_0028')}}</button>
|
|
</view>
|
|
<mpvue-city-picker
|
|
v-if="is_load"
|
|
ref="mpvueCityPicker"
|
|
:province="province"
|
|
:city="city"
|
|
:area="area"
|
|
:pickerValueDefault="cityPickerValueDefault"
|
|
@onConfirm="onConfirm"
|
|
></mpvue-city-picker>
|
|
<member ref="memberRef" />
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue';
|
|
import member from "./member.vue";
|
|
export default {
|
|
components: {
|
|
mpvueCityPicker,
|
|
member,
|
|
},
|
|
data() {
|
|
return {
|
|
selectCity: "",
|
|
form: {
|
|
recProvince: 1,
|
|
recPhone: '',
|
|
recName: '',
|
|
recCounty: '',
|
|
recCity: '',
|
|
recAddress: '',
|
|
dizhi: []
|
|
},
|
|
region: {},
|
|
is_load: false,
|
|
province: [],
|
|
city: [],
|
|
area: [],
|
|
cityPickerValueDefault: [0, 0, 0],
|
|
}
|
|
},
|
|
onLoad(){
|
|
this.getCityData();
|
|
},
|
|
onShow() {
|
|
|
|
},
|
|
methods: {
|
|
showMulLinkageThreePicker() {
|
|
this.$refs.mpvueCityPicker.show();
|
|
},
|
|
getCityData() {
|
|
let self = this;
|
|
self._get('system/api/area/tree', {}, function(res) {
|
|
self.province = res.data;
|
|
self.is_load = true;
|
|
});
|
|
},
|
|
onConfirm(e) {
|
|
this.selectCity = e.label;
|
|
this.form.dizhi = e.cityCode;
|
|
this.form.recProvince = e.cityCode[0];
|
|
this.form.recCity = e.cityCode[1];
|
|
this.form.recCounty = e.cityCode[2];
|
|
},
|
|
loginOut() {
|
|
let self = this;
|
|
self._delete('member/auth/api/logout', '', result => {
|
|
if (result.code == 200) {
|
|
self.gotoPage('/login','reLaunch');
|
|
uni.removeStorageSync('Admin-Token');
|
|
uni.removeStorageSync('expires_in');
|
|
uni.removeStorageSync('loginType');
|
|
uni.removeStorageSync('currentPage');
|
|
}
|
|
});
|
|
},
|
|
clickSearch(){
|
|
if(!this.form.recName){
|
|
uni.showToast({
|
|
title: this.$t('MN_F_T_746'),
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
if(!this.form.recPhone){
|
|
uni.showToast({
|
|
title: this.$t('w_0053'),
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
if(!this.form.recProvince && !this.form.recCity && !this.form.recCounty){
|
|
uni.showToast({
|
|
title: this.$t('S_C_30'),
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
if(!this.form.recAddress){
|
|
uni.showToast({
|
|
title: this.$t('w_0070'),
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
let self = this;
|
|
self._post('member/api/member-special/save-special', self.form, res => {
|
|
const { code } = res;
|
|
if(code == 200){
|
|
self.$refs.memberRef.open(self.form);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.btnList {
|
|
position: fixed;
|
|
bottom: 20rpx;
|
|
|
|
.sold {
|
|
background: transparent;
|
|
color: #f6220c;
|
|
border: 1px solid #f6220c;
|
|
margin-top: 30rpx;
|
|
}
|
|
}
|
|
</style>
|