| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356 |
- <template id="edit_member_address">
- <!-- 修改收货地址 -->
- <el-dialog :visible.sync="modal_edit_member_address" width="900px" :title="d_title" center>
- <div style="overflow:auto">
- <div style="">
- <el-form label-position="right" :model="member_address" label-width="15%">
- <el-form-item label="收件人">
- <el-input v-model="member_address.username" style="width:70%"></el-input>
- </el-form-item>
- <el-form-item label="联系电话">
- <el-input v-model="member_address.mobile" style="width:70%"></el-input>
- </el-form-item>
- <el-form-item label="所在区域" v-loading="all_loading">
- <el-select v-model="member_address.province" placeholder="请选择省" clearable style="width:20%" @change="changeProvince()" value-key="id">
- <el-option v-for="item in province_list" :key="item.id" :label="item.areaname" :value="item"></el-option>
- </el-select>
- <el-select v-model="member_address.city" placeholder="请选择市" clearable style="width:20%" value-key="id" @change="changeCity()">
- <el-option v-for="item in city_list" :key="item.id" :label="item.areaname" :value="item"></el-option>
- </el-select>
- <el-select v-model="member_address.district" placeholder="请选择区" clearable style="width:20%" value-key="id" @change="changeDistrict()">
- <el-option v-for="item in district_list" :key="item.id" :label="item.areaname" :value="item"></el-option>
- </el-select>
- <el-select v-if="is_street" v-model="member_address.street" placeholder="请选择街道" clearable style="width:20%" value-key="id">
- <el-option v-for="item in street_list" :key="item.id" :label="item.areaname" :value="item"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="详细地址">
- <el-input v-model="member_address.address" style="width:70%"></el-input>
- </el-form-item>
- <el-form-item label="是否默认">
- <el-radio-group v-model="member_address.isdefault">
- <el-radio :label="1">是</el-radio>
- <el-radio :label="0">否</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-form>
- </div>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button type="primary" @click="confirmSubmit()">确 认</el-button>
- <el-button @click="modal_edit_member_address = false">取 消</el-button>
- </span>
- </el-dialog>
- </template>
- <script>
- Vue.component('editMemberAddress', {
- style:``,
- name:"editMemberAddress",
- template: `#edit_member_address`,
- props: {
- operationType:{
- type:Number|String,
- default:'',
- },
- member_address:{
- type:Object|String,
- default:{},
- },
- is_street:{
- type:Number,
- default:0,
- },
- edit_address_dialog_show:{
- type:Number,
- default:0,
- },
- },
- delimiters: ['[[', ']]'],
- data() {
- return {
- all_loading:false,
- d_title: '编辑收货地址',
- //编辑收货地址
- modal_edit_member_address:false,
- province_list:[],//省
- city_list:[],//市
- district_list:[],//区域
- street_list:[],//街道
- edit_member_address: {
- address: "",
- city: "",
- city_id: 0,
- district: "",
- district_id: 0,
- mobile: "",
- province: "",
- province_id: 0,
- street: "",
- street_id: 0,
- username: "",
- isdefault:0,
- }
- }
- },
- watch:{
- edit_address_dialog_show(val) {
- if (this.operationType == 'create') {
- this.showCreateDialog();
- } else if (this.operationType == 'edit') {
- this.showEditDialog()
- }
- }
- },
- created() {},
- mounted: function () {
- // this.__childInitial();
- },
- methods: {
- //初始化页面数据,请求链接
- __childInitial() {
- if (this.member_address.length==0) {
- this.member_address = {
- address: "",
- city: "",
- city_id: 0,
- district: "",
- district_id: 0,
- mobile: "",
- province: "",
- province_id: 0,
- street: "",
- street_id: 0,
- username: "",
- isdefault:0,
- }
- }
- if (this.operationType == 'create') {
- this.d_title = '新增收货地址';
- }
- },
- showEditDialog() {
- console.log(this.member_address);
- this.modal_edit_member_address = true;
- this.getProvince();
- this.changeProvince(this.member_address.province_id);
- this.changeCity(this.member_address.city_id);
- if(this.is_street) {
- this.changeDistrict(this.member_address.district_id);
- }
- },
- showCreateDialog() {
- console.log(this.member_address);
- this.modal_edit_member_address = true;
- this.getProvince();
- },
- confirmSubmit() {
- if (this.operationType == 'create') {
- this.confirmCreate();
- } else if (this.operationType == 'edit') {
- this.confirmEdit()
- }
- },
- confirmCreate() {
- console.log(this.member_address);
- let address = {
- uid:this.member_address.uid,
- isdefault:this.member_address.isdefault,
- username:this.member_address.username,
- mobile:this.member_address.mobile,
- address:this.member_address.address,
- latitude:this.member_address.latitude,
- longitude:this.member_address.longitude,
- };
- if(this.member_address.province.id) {
- address.province = this.member_address.province.areaname;
- } else {
- address.province = this.member_address.province;
- }
- if(this.member_address.city.id) {
- address.city = this.member_address.city.areaname;
- } else {
- address.city = this.member_address.city;
- }
- if(this.member_address.district.id) {
- address.district = this.member_address.district.areaname;
- } else {
- address.district = this.member_address.district;
- }
- if(this.is_street){
- if(this.member_address.street.id) {
- address.street = this.member_address.street.areaname;
- } else {
- address.street = this.member_address.street;
- }
- }
- console.log({address:address});
- this.$http.post("{!! yzWebFullUrl('plugin.help-user-buying.admin.member-address.create-member-address') !!}",{address:address}).then(response => {
- if(response.data.result==1){
- this.$message.success(response.data.msg);
- this.syncInitAddress();
- } else{
- this.$message.error(response.data.msg);
- }
- this.modal_edit_member_address = false;
- }),function(res){
- console.log(res);
- };
- },
- confirmEdit() {
- console.log(this.member_address);
- let address = {
- isdefault:this.member_address.isdefault,
- username:this.member_address.username,
- mobile:this.member_address.mobile,
- address:this.member_address.address,
- latitude:this.member_address.latitude,
- longitude:this.member_address.longitude,
- };
- if(this.member_address.province.id) {
- address.province = this.member_address.province.areaname;
- } else {
- address.province = this.member_address.province;
- }
- if(this.member_address.city.id) {
- address.city = this.member_address.city.areaname;
- } else {
- address.city = this.member_address.city;
- }
- if(this.member_address.district.id) {
- address.district = this.member_address.district.areaname;
- } else {
- address.district = this.member_address.district;
- }
- if(this.is_street){
- if(this.member_address.street.id) {
- address.street = this.member_address.street.areaname;
- } else {
- address.street = this.member_address.street;
- }
- }
- console.log({id:this.member_address.id,address:address});
- this.$http.post("{!! yzWebFullUrl('plugin.help-user-buying.admin.member-address.edit-member-address') !!}",{id:this.member_address.id,address:address}).then(response => {
- if(response.data.result==1){
- this.syncInitAddress();
- } else{
- this.$message.error(response.data.msg);
- }
- this.modal_edit_member_address = false;
- }),function(res){
- console.log(res);
- };
- },
- //子组件搜索传参到父级
- syncInitAddress() {
- this.$emit('init-address',this.operationType);
- },
- // 获取省份信息
- getProvince() {
- var that = this;
- that.all_loading = true;
- that.$http.get("{!! yzWebFullUrl('plugin.help-user-buying.admin.member-address.get-address',['type' => 'province']) !!}",).then(response => {
- console.log(response);
- if(response.data.result==1){
- this.province_list = response.data.data;
- } else{
- that.$message.error(response.data);
- that.all_loading = false;
- }
- that.all_loading = false;
- }),function(res){
- console.log(res);
- that.all_loading = false;
- };
- },
- // 省份改变
- changeProvince(parentid) {
- var that = this;
- if(!parentid) {
- parentid = that.member_address.province.id;
- that.member_address.city_id = 0;
- that.member_address.city = '';
- that.member_address.district_id = 0;
- that.member_address.district = '';
- that.member_address.street_id = 0;
- that.member_address.street = '';
- }
- that.all_loading = true;
- that.$http.get("{!! yzWebFullUrl('plugin.help-user-buying.admin.member-address.get-address',['type' => 'city','parentid' => '']) !!}"+parentid).then(response => {
- console.log(response);
- if(response.data.result==1){
- this.city_list = response.data.data;
- }
- that.all_loading = false;
- }),function(res){
- console.log(res);
- that.all_loading = false;
- };
- },
- // 城市改变
- changeCity(parentid) {
- var that = this;
- if(!parentid) {
- parentid = that.member_address.city.id;
- that.member_address.district_id = 0;
- that.member_address.district = '';
- that.member_address.street_id = 0;
- that.member_address.street = '';
- }
- that.all_loading = true;
- that.$http.get("{!! yzWebFullUrl('plugin.help-user-buying.admin.member-address.get-address',['type' => 'district','parentid' => '']) !!}"+parentid).then(response => {
- if(response.data.result==1){
- that.district_list = response.data.data;
- }
- that.all_loading = false;
- }),function(res){
- console.log(res);
- that.all_loading = false;
- };
- },
- // 区域改变
- changeDistrict(parentid) {
- var that = this;
- if(this.is_street) {
- if(!parentid) {
- parentid = that.member_address.district.id;
- that.member_address.street_id = 0;
- that.member_address.street = '';
- }
- that.all_loading = true;
- that.$http.get("{!! yzWebFullUrl('plugin.help-user-buying.admin.member-address.get-address',['type' => 'street','parentid' => '']) !!}"+parentid).then(response => {
- if(response.data.result==1){
- that.street_list = response.data.data;
- }
- that.all_loading = false;
- }),function(res){
- console.log(res);
- that.all_loading = false;
- };
- }
- },
- },
- });
- </script>
|