You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

2 lines
9.1 KiB

"use strict";(self["webpackChunkshiweisuzhou"]=self["webpackChunkshiweisuzhou"]||[]).push([[208],{1734:function(e,i,t){t.d(i,{A:function(){return d}});var s=function(){var e=this,i=e._self._c;return i("el-dialog",{attrs:{title:("add"===e.type?"新增":"编辑")+"收货地址",visible:e.visible,width:"700px"},on:{close:e.handleClose}},[i("el-form",{ref:"addressForm",attrs:{model:e.form,rules:e.rules,"label-width":"100px",size:"small"}},[i("el-form-item",{attrs:{label:"收货人",prop:"username"}},[i("el-input",{attrs:{placeholder:"请填写收货人姓名,限制10个字符",maxlength:"10"},model:{value:e.form.username,callback:function(i){e.$set(e.form,"username",i)},expression:"form.username"}})],1),i("el-form-item",{attrs:{label:"所在地区",prop:"region"}},[i("div",{staticClass:"region-selector"},[i("el-select",{staticClass:"region-select",attrs:{placeholder:"选择省份/直辖市"},on:{change:e.handleProvinceChange},model:{value:e.form.province_id,callback:function(i){e.$set(e.form,"province_id",i)},expression:"form.province_id"}},e._l(e.provinces,function(e){return i("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})}),1),i("el-select",{staticClass:"region-select",attrs:{placeholder:"选择城市",disabled:!e.form.province_id},on:{change:e.handleCityChange},model:{value:e.form.city_id,callback:function(i){e.$set(e.form,"city_id",i)},expression:"form.city_id"}},e._l(e.cities,function(e){return i("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})}),1),i("el-select",{staticClass:"region-select",attrs:{placeholder:"选择县区",disabled:!e.form.city_id},model:{value:e.form.district_id,callback:function(i){e.$set(e.form,"district_id",i)},expression:"form.district_id"}},e._l(e.districts,function(e){return i("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})}),1)],1)]),i("el-form-item",{attrs:{label:"详细地址",prop:"detail_addr"}},[i("el-input",{attrs:{placeholder:"请填写详细地址,限制500个字符",maxlength:"500"},model:{value:e.form.detail_addr,callback:function(i){e.$set(e.form,"detail_addr",i)},expression:"form.detail_addr"}})],1),i("el-form-item",{attrs:{label:"手机号码",prop:"mobile"}},[i("el-input",{attrs:{placeholder:"请填写手机号码,限制11位数字",maxlength:"11",oninput:"value=value.replace(/[^\\d]/g,'')"},model:{value:e.form.mobile,callback:function(i){e.$set(e.form,"mobile",i)},expression:"form.mobile"}})],1)],1),i("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:e.handleClose}},[e._v("取消")]),i("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.saveAddress}},[e._v("保存")])],1)],1)},a=[],r=(t(8111),t(2489),t(116),{name:"AddressFormDialog",props:{visible:{type:Boolean,default:!1},type:{type:String,required:!0,validator:e=>["add","edit"].includes(e)},initialData:{type:Object,default:()=>({})}},data(){const e=(e,i,t)=>i?/^1[3-9]\d{9}$/.test(i)?void t():t(new Error("请输入正确的11位手机号码")):t(new Error("请输入手机号码")),i=(e,i,t)=>{if(!this.form.province_id||!this.form.city_id||!this.form.district_id)return t(new Error("请完整选择省市区"));t()};return{form:{id:null,username:"",detail_addr:"",mobile:"",province_id:null,city_id:null,district_id:null,region:""},rules:{username:[{required:!0,message:"请输入收货人姓名",trigger:"blur"},{max:10,message:"姓名不能超过10个字符",trigger:"blur"}],region:[{required:!0,validator:i,trigger:"change"}],detail_addr:[{required:!0,message:"请输入详细地址",trigger:"blur"},{max:500,message:"详细地址不能超过500个字符",trigger:"blur"}],mobile:[{required:!0,validator:e,trigger:"blur"}]},regionData:[]}},computed:{provinces(){return this.regionData.filter(e=>1===e.level)},cities(){return this.form.province_id?this.regionData.filter(e=>2===e.level&&e.pid===this.form.province_id):[]},districts(){return this.form.city_id?this.regionData.filter(e=>3===e.level&&e.pid===this.form.city_id):[]}},watch:{visible(e){e&&this.initForm()},initialData:{handler(){this.visible&&this.initForm()},deep:!0}},mounted(){this.getRegionData()},methods:{async getRegionData(){try{const e=await this.post({},"/api/uservice/user/getAreas");e&&e.data?this.regionData=e.data:this.$message.error("获取地区数据失败")}catch(e){console.error("获取地区数据出错:",e),this.$message.error("获取地区数据时发生错误")}},initForm(){this.$nextTick(()=>{this.$refs.addressForm&&this.$refs.addressForm.resetFields(),this.form={id:"edit"===this.type?this.initialData.id:null,username:this.initialData.username||"",detail_addr:this.initialData.detail_addr||"",mobile:this.initialData.mobile||"",province_id:this.initialData.province_id||null,city_id:this.initialData.city_id||null,district_id:this.initialData.district_id||null,region:this.initialData.region||""},"edit"===this.type&&this.initialData.region&&!this.form.province_id&&this.echoRegionSelection(this.initialData.region)})},echoRegionSelection(e){const i=e.split(" ");if(i.length<3)return;const t=this.provinces.find(e=>e.name===i[0]);t&&(this.form.province_id=t.id,this.$nextTick(()=>{const e=this.cities.find(e=>e.name===i[1]);e&&(this.form.city_id=e.id,this.$nextTick(()=>{const e=this.districts.find(e=>e.name===i[2]);e&&(this.form.district_id=e.id)}))}))},handleProvinceChange(){this.form.city_id=null,this.form.district_id=null},handleCityChange(){this.form.district_id=null},saveAddress(){this.$refs.addressForm.validate(async e=>{if(!e)return;const i=this.provinces.find(e=>e.id===this.form.province_id),t=this.cities.find(e=>e.id===this.form.city_id),s=this.districts.find(e=>e.id===this.form.district_id);if(!(i&&t&&s))return void this.$message.warning("地区信息不完整");const a={...this.form,region:`${i.name} ${t.name} ${s.name}`};this.$emit("save",a),this.handleClose()})},handleClose(){this.$emit("update:visible",!1)}}}),l=r,n=t(1656),o=(0,n.A)(l,s,a,!1,null,"7d3ebefd",null),d=o.exports},5208:function(e,i,t){t.r(i),t.d(i,{default:function(){return c}});var s=function(){var e=this,i=e._self._c;return i("div",{staticClass:"bg"},[i("el-card",{staticStyle:{width:"100%"}},[i("div",{staticClass:"clearfix flex-between",attrs:{slot:"header"},slot:"header"},[i("div",[e._v(" 收货地址 "),i("span",{staticStyle:{"font-size":"12px",color:"#666"}},[e._v("收票人地址统一使用该地址管理设置")])]),i("el-button",{staticStyle:{float:"right"},attrs:{size:"small",type:"primary"},on:{click:function(i){return e.openDialog("add",{})}}},[e._v("新增地址")])],1),i("el-table",{staticStyle:{width:"100%"},attrs:{data:e.addresses,border:""}},[i("el-table-column",{attrs:{prop:"name",label:"收货人",width:"120"}}),i("el-table-column",{attrs:{prop:"address",label:"收货地址",width:"auto"}}),i("el-table-column",{attrs:{prop:"tel",label:"手机号码",width:"150"}}),i("el-table-column",{attrs:{label:"操作",width:"200"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("el-button",{attrs:{size:"mini"},on:{click:function(i){return e.handleEdit(t.row)}}},[e._v("编辑")]),i("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(i){return e.handleDelete(t.row)}}},[e._v("删除")])]}}])})],1),i("div",{staticStyle:{"text-align":"right","margin-top":"20px"}},[i("el-pagination",{attrs:{"current-page":e.searchParam.currentPage,"page-sizes":[5,10,20],"page-size":e.searchParam.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:e.searchParam.total},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1)],1),i("AddressFormDialog",{attrs:{visible:e.dialogVisible,type:e.dialogType,"initial-data":e.dialogData},on:{"update:visible":function(i){e.dialogVisible=i},save:e.handleSaveAddress}})],1)},a=[],r=t(1734),l={name:"AddressManagement",components:{AddressFormDialog:r.A},data(){return{user:{},searchParam:{pageSize:5,currentPage:1,total:0},dialogVisible:!1,dialogType:"add",dialogData:{},addresses:[]}},mounted(){this.getAddress()},methods:{getAddress(){this.post({contactType:"CONSIGNEE",offset:"0",limit:"100"},"/api/uservice/user/getContactOrConsignee").then(e=>{e&&(this.addresses=e.data||[],this.searchParam.total=this.addresses.length)})},handleSizeChange(e){this.searchParam.pageSize=e,this.searchParam.currentPage=1},handleCurrentChange(e){this.searchParam.currentPage=e},openDialog(e,i){this.dialogType=e,this.dialogData={...i},this.dialogVisible=!0},handleSaveAddress(e){e.is_default=0,"add"===this.dialogType?this.post(e,"/api/uservice/user/addNewConsignee").then(e=>{1==e.code&&(this.$message.success("保存成功"),this.getAddress(),this.dialogVisible=!1)}):this.post(e,"/api/uservice/user/editConsignee").then(e=>{1==e.code&&(this.$message.success("保存成功"),this.getAddress(),this.dialogVisible=!1)})},handleEdit(e){console.log(e),e.username=e.name,e.mobile=e.tel,this.openDialog("edit",e)},handleDelete(e){this.$confirm("此操作将永久删除该地址, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{this.post({id:e.id},"/api/uservice/user/delConsignee").then(e=>{1==e.code&&(this.getAddress(),this.$message.success("删除成功!"))})}).catch(()=>{this.$message.info("已取消删除")})}}},n=l,o=t(1656),d=(0,o.A)(n,s,a,!1,null,"b49931c8",null),c=d.exports}}]);
//# sourceMappingURL=208.50f78b20.js.map