活动按钮状态流转

This commit is contained in:
2026-03-25 15:53:37 +08:00
commit 37346e790f
2762 changed files with 240282 additions and 0 deletions

View File

@@ -0,0 +1 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesMall/address/add"],{"06f8":function(t,e,a){},2336:function(t,e,a){"use strict";a.r(e);var n=a("86af"),o=a("98ec");for(var i in o)["default"].indexOf(i)<0&&function(t){a.d(e,t,(function(){return o[t]}))}(i);a("bf9a");var r=a("828b"),s=Object(r["a"])(o["default"],n["b"],n["c"],!1,null,null,null,!1,n["a"],void 0);e["default"]=s.exports},"86af":function(t,e,a){"use strict";a.d(e,"b",(function(){return n})),a.d(e,"c",(function(){return o})),a.d(e,"a",(function(){}));var n=function(){var t=this,e=t.$createElement;t._self._c;t._isMounted||(t.e0=function(e){t.formData.is_default=1==t.formData.is_default?0:1})},o=[]},"92b2":function(t,e,a){"use strict";(function(t){var n=a("47a9");Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o=n(a("7ca3")),i=a("8f59");function r(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}var s={data:function(){return{loadEnd:!1,pageTitle:"",formData:{name:"",tel:"",address:"",is_default:0},delayer:null}},computed:function(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?r(Object(a),!0).forEach((function(e){(0,o.default)(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}({},(0,i.mapState)({themeColor:function(t){return t.app.themeColor}})),onLoad:function(t){var e=this;t.addressData&&(this.formData=JSON.parse(t.addressData)),this.formData.id?this.pageTitle="编辑地址":this.pageTitle="添加地址",this.$nextTick((function(){e.loadEnd=!0}))},onUnload:function(){clearTimeout(this.delayer)},methods:{handleSubmit:function(){var e=this;if(this.formData.name)if(this.formData.tel)if(this.$util.validation("phone",this.formData.tel))if(this.formData.address){t.showLoading({title:"加载中",mask:!0});var a="";a=this.formData.id?"mall.address.edit":"mall.address.add",this.$util.request(a,this.formData).then((function(a){t.hideLoading(),1==a.code?(t.showToast({title:e.formData.id?"编辑成功":"添加成功",icon:"success",mask:!0,duration:1500}),e.delayer=setTimeout((function(){t.navigateBack()}),1500)):t.showToast({title:a.msg,icon:"none"})})).catch((function(e){t.hideLoading(),console.error("添加/编辑地址 ",e)}))}else t.showToast({icon:"none",title:"请输入收货地址"});else t.showToast({icon:"none",title:"请输入正确的手机号"});else t.showToast({icon:"none",title:"请输入收件人手机号"});else t.showToast({icon:"none",title:"请输入收件人姓名"})},chooseLocation:function(){var e=this;t.chooseLocation({success:function(t){e.formData.address=t.address}})}}};e.default=s}).call(this,a("df3c")["default"])},"98ec":function(t,e,a){"use strict";a.r(e);var n=a("92b2"),o=a.n(n);for(var i in n)["default"].indexOf(i)<0&&function(t){a.d(e,t,(function(){return n[t]}))}(i);e["default"]=o.a},b64c:function(t,e,a){"use strict";(function(t,e){var n=a("47a9");a("aa6c");n(a("3240"));var o=n(a("2336"));t.__webpack_require_UNI_MP_PLUGIN__=a,e(o.default)}).call(this,a("3223")["default"],a("df3c")["createPage"])},bf9a:function(t,e,a){"use strict";var n=a("06f8"),o=a.n(n);o.a}},[["b64c","common/runtime","common/vendor"]]]);

View File

@@ -0,0 +1,4 @@
{
"navigationBarTitleText": "",
"usingComponents": {}
}

View File

@@ -0,0 +1 @@
<view class="container" style="{{'--theme-color:'+(themeColor)+';'}}"><title-bar vue-id="d68eea56-1" showBack="{{true}}" title="{{pageTitle}}" bind:__l="__l"></title-bar><block wx:if="{{loadEnd}}"><view class="container-main"><view class="main-form"><view class="form-item"><view class="item-title"><text style="color:#E60012;">*</text>收件人 </view><view class="item-input"><input class="input" type="text" placeholder="请填写收件人姓名" placeholder-class="placeholder" data-event-opts="{{[['input',[['__set_model',['$0','name','$event',[]],['formData']]]]]}}" value="{{formData.name}}" bindinput="__e"/></view></view><view class="form-item"><view class="item-title"><text style="color:#E60012;">*</text>收件人电话 </view><view class="item-input"><input class="input" type="number" maxlength="11" placeholder="请填写收件人电话" placeholder-class="placeholder" data-event-opts="{{[['input',[['__set_model',['$0','tel','$event',[]],['formData']]]]]}}" value="{{formData.tel}}" bindinput="__e"/></view></view><view class="form-item"><view class="item-title"><text style="color:#E60012;">*</text>收件地址 </view><view class="item-address flex"><textarea class="textarea flex-item" disabled="{{!formData.address}}" auto-height="{{true}}" data-event-opts="{{[['input',[['__set_model',['$0','address','$event',[]],['formData']]]]]}}" value="{{formData.address}}" bindinput="__e"></textarea><block wx:if="{{!formData.address}}"><view data-event-opts="{{[['tap',[['chooseLocation']]]]}}" class="placeholder" bindtap="__e">请点击选择收件地址</view></block><image class="icon" src="/static/location.png" mode="aspectFit" data-event-opts="{{[['tap',[['chooseLocation']]]]}}" bindtap="__e"></image></view></view><view class="form-item"><view class="item-title">默认地址</view><view class="item-switch flex"><view class="switch-label">是否默认地址</view><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" class="{{['switch-box',(formData.is_default==1)?'select':'']}}" bindtap="__e"><view class="round"></view></view></view></view></view><view class="main-footer"><view data-event-opts="{{[['tap',[['handleSubmit']]]]}}" class="footer-btn" bindtap="__e">{{formData.id?"编辑":"添加"}}</view><view class="safe-padding"></view></view></view></block></view>

View File

@@ -0,0 +1 @@
.container .container-main{padding:32rpx 48rpx 144rpx}.container .container-main .main-form .form-item{margin-top:32rpx}.container .container-main .main-form .form-item:first-child{margin-top:0}.container .container-main .main-form .form-item .item-title{padding-bottom:32rpx;font-size:32rpx;color:#5a5b6e}.container .container-main .main-form .form-item .item-input{border-radius:16rpx;background:#fff;overflow:hidden}.container .container-main .main-form .form-item .item-input .input{font-size:28rpx;color:#5a5b6e;min-height:40rpx;height:40rpx;line-height:40rpx;padding:32rpx}.container .container-main .main-form .form-item .item-input .placeholder{font-size:28rpx;color:#acadb7;line-height:40rpx}.container .container-main .main-form .form-item .item-address{position:relative;border-radius:16rpx;background:#fff;overflow:hidden}.container .container-main .main-form .form-item .item-address .textarea{width:100%;font-size:28rpx;color:#5a5b6e;line-height:40rpx;padding:32rpx 0 32rpx 32rpx;min-height:40rpx}.container .container-main .main-form .form-item .item-address .placeholder{width:100%;font-size:28rpx;color:#acadb7;line-height:40rpx;padding:32rpx;min-height:40rpx;position:absolute;top:0;left:0;right:0;bottom:0;z-index:9}.container .container-main .main-form .form-item .item-address .icon{width:34rpx;height:auto;padding:0 32rpx 0 24rpx}.container .container-main .main-form .form-item .item-switch{padding:32rpx;border-radius:16rpx;background:#fff}.container .container-main .main-form .form-item .item-switch .switch-label{flex:1;font-size:28rpx;color:#5a5b6e}.container .container-main .main-form .form-item .item-switch .switch-box{width:80rpx;height:40rpx;padding:3rpx;background:#d9d9d9;border-radius:20rpx;transition:all .3s}.container .container-main .main-form .form-item .item-switch .switch-box .round{width:34rpx;height:34rpx;border-radius:50%;background:#fff;margin-left:0;transition:all .3s}.container .container-main .main-form .form-item .item-switch .switch-box.select{background:var(--theme-color)}.container .container-main .main-form .form-item .item-switch .switch-box.select .round{margin-left:calc(100% - 34rpx)}.container .container-main .main-footer{position:fixed;left:0;right:0;bottom:0;z-index:99;padding:12rpx 32rpx;background:#fff;border-top:1rpx solid #f6f7fb}.container .container-main .main-footer .footer-btn{color:#fff;font-size:32rpx;line-height:44rpx;padding:22rpx 24rpx;border-radius:16rpx;background:var(--theme-color);text-align:center}

View File

@@ -0,0 +1 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesMall/address/index"],{"0879":function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){}));var o=function(){var t=this.$createElement,e=(this._self._c,this.loadEnd?this.addressList.length:null);this.$mp.data=Object.assign({},{$root:{g0:e}})},i=[]},"3f0a":function(t,e,n){"use strict";(function(t){var o=n("47a9");Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=o(n("7ca3")),r=n("8f59"),a=o(n("f5e9"));function s(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}var c={data:function(){return{loadEnd:!1,addressList:[]}},computed:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?s(Object(n),!0).forEach((function(e){(0,i.default)(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({},(0,r.mapState)({themeColor:function(t){return t.app.themeColor},iconEdit:function(t){return a.default.svgToUrl("edit",t.app.themeColor)}})),onLoad:function(){var e=this;t.showLoading({title:"加载中"}),this.getAddress((function(){t.hideLoading(),e.loadEnd=!0}))},onShow:function(){this.loadEnd&&this.getAddress()},onPullDownRefresh:function(){this.getAddress((function(){t.stopPullDownRefresh()}))},methods:{getAddress:function(e){var n=this;this.$util.request("mall.address.list").then((function(o){e&&e(),1==o.code?(n.addressList=o.data,n.$forceUpdate()):t.showToast({title:o.msg,icon:"none"})})).catch((function(t){e&&e(),console.error("获取地址列表 ",t)}))},handleSwitch:function(e){var n=this;this.$util.request("mall.address.setDefault",{id:e}).then((function(e){1==e.code?n.getAddress((function(){t.hideLoading()})):t.showToast({title:e.msg,icon:"none"})})).catch((function(t){console.error("切换默认地址 ",t)}))},handleAdd:function(){this.$util.toPage({mode:1,path:"/pagesMall/address/add"})},handleEdit:function(t){this.$util.toPage({mode:1,path:"/pagesMall/address/add?addressData="+JSON.stringify(t)})},handleDelete:function(e){var n=this;t.showModal({title:"系统提示",content:"是否删除该地址?",confirmColor:"#E50002",confirmText:"删除",success:function(o){o.confirm&&(t.showLoading({mask:!0,title:"加载中"}),n.$util.request("mall.address.delete",{id:e}).then((function(e){1==e.code?n.getAddress((function(){t.hideLoading(),t.showToast({icon:"success",title:"删除成功"})})):(t.hideLoading(),t.showToast({title:e.msg,icon:"none"}))})).catch((function(e){t.hideLoading(),console.error("删除地址 ",e)})))}})}}};e.default=c}).call(this,n("df3c")["default"])},5460:function(t,e,n){"use strict";n.r(e);var o=n("0879"),i=n("9f5e");for(var r in i)["default"].indexOf(r)<0&&function(t){n.d(e,t,(function(){return i[t]}))}(r);n("9f0b");var a=n("828b"),s=Object(a["a"])(i["default"],o["b"],o["c"],!1,null,null,null,!1,o["a"],void 0);e["default"]=s.exports},"6aec":function(t,e,n){},"8e52":function(t,e,n){"use strict";(function(t,e){var o=n("47a9");n("aa6c");o(n("3240"));var i=o(n("5460"));t.__webpack_require_UNI_MP_PLUGIN__=n,e(i.default)}).call(this,n("3223")["default"],n("df3c")["createPage"])},"9f0b":function(t,e,n){"use strict";var o=n("6aec"),i=n.n(o);i.a},"9f5e":function(t,e,n){"use strict";n.r(e);var o=n("3f0a"),i=n.n(o);for(var r in o)["default"].indexOf(r)<0&&function(t){n.d(e,t,(function(){return o[t]}))}(r);e["default"]=i.a}},[["8e52","common/runtime","common/vendor"]]]);

View File

@@ -0,0 +1,4 @@
{
"navigationBarTitleText": "地址管理",
"usingComponents": {}
}

View File

@@ -0,0 +1 @@
<view class="container" style="{{'--theme-color:'+(themeColor)+';'}}"><title-bar vue-id="10d69744-1" showBack="{{true}}" title="地址管理" bind:__l="__l"></title-bar><block wx:if="{{loadEnd}}"><view class="container-main"><block wx:if="{{$root.g0}}"><view class="main-list"><block wx:for="{{addressList}}" wx:for-item="item" wx:for-index="__i0__" wx:key="id"><view class="list-item"><view class="item-info"><view class="info-address">{{item.address}}</view><view class="info-name flex align-items-center"><text>{{item.name}}</text><text style="margin-left:16rpx;">{{item.tel}}</text></view></view><view class="item-operate flex justify-content-between align-items-center"><view data-event-opts="{{[['tap',[['handleSwitch',['$0'],[[['addressList','id',item.id,'id']]]]]]]}}" class="operate-default flex justify-content-between align-items-center" bindtap="__e"><view class="{{['default-radio',(item.is_default==1)?'select':'']}}"><block wx:if="{{item.is_default==1}}"><image src="/static/tick.png" mode="aspectFit"></image></block></view><view class="default-tag">{{item.is_default==1?'默认地址':'设为默认地址'}}</view></view><view class="operate-btn flex align-items-center"><view data-event-opts="{{[['tap',[['handleEdit',['$0'],[[['addressList','id',item.id]]]]]]]}}" class="btn-box flex align-items-center" bindtap="__e"><block wx:if="{{iconEdit}}"><view class="icon" style="{{'background-image:'+('url('+iconEdit+')')+';'}}"></view></block><text class="text" style="{{'color:'+(themeColor)+';'}}">编辑</text></view><view data-event-opts="{{[['tap',[['handleDelete',['$0'],[[['addressList','id',item.id,'id']]]]]]]}}" class="btn-box flex align-items-center" bindtap="__e"><image class="icon" src="/static/mall/icon_del.png" mode="aspectFit"></image><text class="text">删除</text></view></view></view></view></block></view></block><block wx:else><empty vue-id="10d69744-2" top="10vh" title="暂无相关地址~" data-event-opts="{{[['^callback',[['handleAdd']]]]}}" bind:callback="__e" bind:__l="__l"></empty></block><view class="main-btn"><view data-event-opts="{{[['tap',[['handleAdd']]]]}}" class="btn" bindtap="__e">添加地址</view><view class="safe-padding"></view></view></view></block></view>

View File

@@ -0,0 +1 @@
.container .container-main{padding:32rpx 32rpx 144rpx}.container .container-main .main-list .list-item{margin-top:32rpx;border-radius:16rpx;background:#fff;padding:32rpx}.container .container-main .main-list .list-item:first-child{margin-top:0}.container .container-main .main-list .list-item .item-info .info-address{color:#5a5b6e;font-size:32rpx;line-height:44rpx}.container .container-main .main-list .list-item .item-info .info-name{color:#979797;font-size:28rpx;line-height:40rpx;margin-top:40rpx}.container .container-main .main-list .list-item .item-operate{border-top:1rpx solid rgba(0,0,0,.1);padding-top:20rpx;margin-top:20rpx}.container .container-main .main-list .list-item .item-operate .operate-default .default-radio{width:32rpx;height:32rpx;background:#d9d9d9;border-radius:50%}.container .container-main .main-list .list-item .item-operate .operate-default .default-radio.select{background:var(--theme-color)}.container .container-main .main-list .list-item .item-operate .operate-default .default-tag{margin-left:12rpx;color:#979797;font-size:24rpx;line-height:34rpx}.container .container-main .main-list .list-item .item-operate .operate-btn .btn-box{margin-left:32rpx}.container .container-main .main-list .list-item .item-operate .operate-btn .btn-box .icon{width:48rpx;height:48rpx;background-size:48rpx}.container .container-main .main-list .list-item .item-operate .operate-btn .btn-box .text{margin-left:8rpx;color:#ff626e;font-size:28rpx;line-height:40rpx}.container .container-main .main-btn{width:100%;position:fixed;left:0;bottom:0;z-index:99;background:#fff;padding:12rpx 32rpx}.container .container-main .main-btn .btn{color:#fff;text-align:center;font-size:32rpx;line-height:44rpx;padding:22rpx 32rpx;background:var(--theme-color);border-radius:16rpx}