diff --git a/绿纤uni-app/pages/addServiceLog/addServiceLogcopy.vue b/绿纤uni-app/pages/addServiceLog/addServiceLogcopy.vue
new file mode 100644
index 0000000..f3cf011
--- /dev/null
+++ b/绿纤uni-app/pages/addServiceLog/addServiceLogcopy.vue
@@ -0,0 +1,1149 @@
+
+
+
+
+
+ 👤
+
+ {{ memberName }}
+ 消费记录ID: {{ consumeId }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/绿纤uni-app/pages/expansion/expansion.vue b/绿纤uni-app/pages/expansion/expansion.vue
index 3df9f0f..c6e0ae7 100644
--- a/绿纤uni-app/pages/expansion/expansion.vue
+++ b/绿纤uni-app/pages/expansion/expansion.vue
@@ -54,8 +54,8 @@
-
+
{{ loading ? '提交中...' : '保存' }}
@@ -129,15 +129,24 @@
message: '请输入顾客姓名',
trigger: 'blur'
}],
- customerPhone: [{
+ customerPhone: [
+ {
required: true,
message: '请输入电话号码',
- trigger: 'blur'
+ trigger: ['blur', 'change']
},
{
- pattern: /^1[3-9]\d{9}$/,
- message: '请输入正确的手机号码',
- trigger: 'blur'
+ validator: (rule, value, callback) => {
+ const phone = String(value || '').trim()
+ if (!phone) {
+ callback(new Error('请输入电话号码'))
+ } else if (!/^1[3-9]\d{9}$/.test(phone)) {
+ callback(new Error('请输入正确的手机号码'))
+ } else {
+ callback()
+ }
+ },
+ trigger: ['blur', 'change']
}
],
paymentMethod: [{
@@ -327,16 +336,25 @@
// 处理表单提交
async handleFormSubmit() {
- console.error('【【【【【【')
try {
- // 使用 uview 表单验证
+ // 先走 uview 自带必填等校验
await this.$refs.form.validate()
+ // 再做一层自定义业务校验(尤其是手机号)
+ const errors = await this.validateForm()
+ if (errors && errors.length > 0) {
+ uni.showToast({
+ title: errors[0],
+ icon: 'none',
+ duration: 2000
+ })
+ return
+ }
+
// 收集表单数据
const formData = this.collectFormData()
console.log('表单数据:', formData)
- // 提交数据
await this.submitExpansion(formData)
} catch (error) {
console.log('表单验证失败:', error)
@@ -355,7 +373,8 @@
// console.error(pushUrl)
// return
const res = await this.API.submitExpansion(data)
-
+ // console.error(res)
+ // return
if (res.code === 200 && res.data && res.data.entity) {
let tkinfo = res.data
@@ -390,7 +409,7 @@
// 格式化时间
const formatTime = (timestamp) => {
const date = new Date(timestamp)
- return uni.$u.timeFormat(date,'yyyy/mm/dd hh:MM')
+ return uni.$u.timeFormat(date, 'yyyy/mm/dd hh:MM')
}
const datanew = {
diff --git a/绿纤uni-app/unpackage/dist/build/mp-weixin/pages/expansion/expansion.js b/绿纤uni-app/unpackage/dist/build/mp-weixin/pages/expansion/expansion.js
index dc47ea4..85a07e2 100644
--- a/绿纤uni-app/unpackage/dist/build/mp-weixin/pages/expansion/expansion.js
+++ b/绿纤uni-app/unpackage/dist/build/mp-weixin/pages/expansion/expansion.js
@@ -1 +1 @@
-(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/expansion/expansion"],{"0ac1":function(e,t,n){"use strict";n.r(t);var r=n("20b8"),a=n("2242");for(var o in a)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(o);n("9854");var i=n("828b"),u=Object(i["a"])(a["default"],r["b"],r["c"],!1,null,"6122c20a",null,!1,r["a"],void 0);t["default"]=u.exports},"20b8":function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return r}));var r={uForm:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-form/u-form")]).then(n.bind(null,"63f8"))},uFormItem:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-form-item/u-form-item")]).then(n.bind(null,"eabc"))},uPicker:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-picker/u-picker")]).then(n.bind(null,"0e74"))},uIcon:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-icon/u-icon")]).then(n.bind(null,"3f69"))},uInput:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-input/u-input")]).then(n.bind(null,"5f80"))},uTextarea:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-textarea/u-textarea")]).then(n.bind(null,"269f"))},uButton:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-button/u-button")]).then(n.bind(null,"11af"))}},a=function(){var e=this,t=e.$createElement;e._self._c;e._isMounted||(e.e0=function(t){e.showEventPicker=!1},e.e1=function(t){e.showEventPicker=!1},e.e2=function(t){e.showEventPicker=!0},e.e3=function(t){e.showPaymentPicker=!1},e.e4=function(t){e.showPaymentPicker=!1},e.e5=function(t){e.showPaymentPicker=!0},e.e6=function(t){e.showWeChatPicker=!1},e.e7=function(t){e.showWeChatPicker=!1},e.e8=function(t){e.showWeChatPicker=!0},e.e9=function(t){!e.loading&&e.handleFormSubmit()})},o=[]},2242:function(e,t,n){"use strict";n.r(t);var r=n("2567"),a=n.n(r);for(var o in r)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(o);t["default"]=a.a},2567:function(e,t,n){"use strict";(function(e){var r=n("47a9");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n("7eb4")),o=r(n("ee10")),i=(n("8f59"),{data:function(){return{loading:!1,userInfo:null,currentEventId:null,eventList:[],formData:{eventId:"",customerName:"",customerPhone:"",paymentMethod:"微信",isAddWeChat:"否",remarks:""},showEventPicker:!1,showPaymentPicker:!1,showWeChatPicker:!1,selectedEventName:"",paymentOptions:[{text:"微信",value:"微信"},{text:"支付宝",value:"支付宝"},{text:"现金",value:"现金"},{text:"银行转账",value:"银行转账"}],weChatOptions:[{text:"是",value:"是"},{text:"否",value:"否"}],rules:{eventId:[{required:!0,message:"请选择拓客活动",trigger:"change"}],customerName:[{required:!0,message:"请输入顾客姓名",trigger:"blur"}],customerPhone:[{required:!0,message:"请输入电话号码",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"请输入正确的手机号码",trigger:"blur"}],paymentMethod:[{required:!0,message:"请选择支付方式",trigger:"change"}],isAddWeChat:[{required:!0,message:"请选择是否加微信",trigger:"change"}]},inputStyle:{backgroundColor:"#f9fff9",border:"3rpx solid #c8e6c9",borderRadius:"20rpx",padding:"24rpx",fontSize:"28rpx",color:"#2e7d32"},textareaStyle:{backgroundColor:"#f9fff9",border:"3rpx solid #c8e6c9",borderRadius:"20rpx",padding:"32rpx",fontSize:"28rpx",color:"#2e7d32"},buttonStyle:{width:"100%",height:"80rpx",borderRadius:"24rpx",fontSize:"32rpx",fontWeight:"600",letterSpacing:"2rpx",background:"linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)",boxShadow:"0 8rpx 32rpx rgba(67, 233, 123, 0.3)",marginTop:"64rpx",borderColor:"rgba(67, 233, 123, 0.3)"}}},onLoad:function(){this.initializePage()},methods:{initializePage:function(){var t=this;return(0,o.default)(a.default.mark((function n(){return a.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(n.prev=0,t.userInfo=e.getStorageSync("userInfo"),t.userInfo&&0!==Object.keys(t.userInfo).length){n.next=5;break}return e.reLaunch({url:"/pages/login/login"}),n.abrupt("return");case 5:return console.log("用户信息:",t.userInfo),t.setDefaultDateTime(),n.next=9,t.getCurrentEvent();case 9:n.next=15;break;case 11:n.prev=11,n.t0=n["catch"](0),console.error("页面初始化失败:",n.t0),e.showToast({title:"页面初始化失败,请刷新重试",icon:"none",duration:3e3});case 15:case"end":return n.stop()}}),n,null,[[0,11]])})))()},setDefaultDateTime:function(){this.formData.paymentMethod="微信",this.formData.isAddWeChat="否"},getCurrentEvent:function(){var e=this;return(0,o.default)(a.default.mark((function t(){var n;return a.default.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e.API.getCurrentEvent(e.userInfo.userId);case 3:n=t.sent,200===n.code&&n.data&&n.data.length>0?(e.eventList=n.data.map((function(e){return{text:e.EventName,value:e.EventId}})),n.data.length>0&&(e.currentEventId=n.data[0].EventId,e.formData.eventId=e.currentEventId,e.selectedEventName=n.data[0].EventName,console.log("当前活动ID:",e.currentEventId))):console.warn("未找到当前活动"),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),console.error("获取当前活动失败:",t.t0);case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()},validateForm:function(){var e=this;return(0,o.default)(a.default.mark((function t(){var n,r,o;return a.default.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=[],e.formData.eventId||n.push("请选择拓客活动"),e.formData.customerName.trim()||n.push("请输入顾客姓名"),r=e.formData.customerPhone.trim(),r?(o=/^1[3-9]\d{9}$/,o.test(r)||n.push("请输入正确的手机号码")):n.push("请输入电话号码"),e.formData.paymentMethod||n.push("请选择支付方式"),e.formData.isAddWeChat||n.push("请选择是否加微信"),t.abrupt("return",n);case 8:case"end":return t.stop()}}),t)})))()},collectFormData:function(){return{expansionTime:null,customerName:this.formData.customerName.trim(),customerPhone:this.formData.customerPhone.trim(),buyNumber:1,paymentMethod:this.formData.paymentMethod,isAddWeChat:this.formData.isAddWeChat,remarks:this.formData.remarks.trim(),expansionUserId:this.userInfo.userId,eventId:this.formData.eventId}},onEventConfirm:function(e){var t=e.value;this.formData.eventId=t[0].value,this.selectedEventName=t[0].text,this.showEventPicker=!1},onPaymentConfirm:function(e){var t=e.value;this.formData.paymentMethod=t[0].value,this.showPaymentPicker=!1},onWeChatConfirm:function(e){var t=e.value;this.formData.isAddWeChat=t[0].value,this.showWeChatPicker=!1},handleFormSubmit:function(){var e=this;return(0,o.default)(a.default.mark((function t(){var n;return a.default.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return console.error("【【【【【【"),t.prev=1,t.next=4,e.$refs.form.validate();case 4:return n=e.collectFormData(),console.log("表单数据:",n),t.next=8,e.submitExpansion(n);case 8:t.next=13;break;case 10:t.prev=10,t.t0=t["catch"](1),console.log("表单验证失败:",t.t0);case 13:case"end":return t.stop()}}),t,null,[[1,10]])})))()},submitExpansion:function(t){var n=this;return(0,o.default)(a.default.mark((function r(){var o,i,u,c,s;return a.default.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.prev=0,e.showLoading({title:"正在提交..."}),n.loading=!0,r.next=5,n.API.getEvent(t.eventId);case 5:return o=r.sent,i=o.data&&o.data.pushUrl?o.data.pushUrl:"",r.next=9,n.API.submitExpansion(t);case 9:if(u=r.sent,200!==u.code||!u.data||!u.data.entity){r.next=16;break}return c=u.data,r.next=14,n.sendWeChatNotification(c,t,i);case 14:r.next=19;break;case 16:e.hideLoading(),e.showToast({title:"添加失败:".concat((null===(s=u.data)||void 0===s?void 0:s.Message)||"未知错误"),icon:"none",duration:3e3}),n.loading=!1;case 19:r.next=27;break;case 21:r.prev=21,r.t0=r["catch"](0),console.error("提交失败:",r.t0),e.hideLoading(),e.showToast({title:"网络错误,请稍后重试",icon:"none",duration:3e3}),n.loading=!1;case 27:case"end":return r.stop()}}),r,null,[[0,21]])})))()},sendWeChatNotification:function(t,n,r){var i=this;return(0,o.default)(a.default.mark((function o(){var u,c,s,d,l;return a.default.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return a.prev=0,d=function(t){var n=new Date(t);return e.$u.timeFormat(n,"yyyy/mm/dd hh:MM")},l={webhookUrl:r||"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=581c22a6-cb67-42e5-8c76-b8e90052e188",content:"🎉 拓客记录\n⏩门店:".concat((null===(u=t.storeinfo)||void 0===u?void 0:u.Dm)||"未知","\n⏩拓客人员:").concat(i.userInfo.userName||"未知","\n⏩战队:").concat((null===(c=t.entity)||void 0===c?void 0:c.TeamName)||"未知","\n⏩顾客姓名:").concat(n.customerName,"\n⏩电话号码:").concat(n.customerPhone,"\n⏩购买张数:").concat(n.buyNumber,"\n⏩拓客时间:").concat(d(null===(s=t.entity)||void 0===s?void 0:s.ExpansionTime),"\n⏩支付方式:").concat(n.paymentMethod,"\n⏩是否加微信:").concat(n.isAddWeChat,"\n⏩备注:").concat(n.remarks||"")},a.next=5,i.API.sendWeChatNotification(l);case 5:e.hideLoading(),e.showToast({title:"拓客数据提交成功!",icon:"success",duration:2e3}),i.loading=!1,i.clearForm(),a.next=14;break;case 11:a.prev=11,a.t0=a["catch"](0),console.error("发送微信通知失败:",a.t0);case 14:case"end":return a.stop()}}),o,null,[[0,11]])})))()},clearForm:function(){var e=this;try{if(this.formData={eventId:this.currentEventId||"",customerName:"",customerPhone:"",paymentMethod:"微信",isAddWeChat:"否",remarks:""},this.currentEventId&&this.eventList.length>0){var t=this.eventList.find((function(t){return t.value===e.currentEventId}));this.selectedEventName=t?t.text:""}else this.selectedEventName="";this.$refs.form&&this.$refs.form.clearValidate(),console.log("表单已清空")}catch(n){console.error("清空表单失败:",n)}}}});t.default=i}).call(this,n("df3c")["default"])},"34c6":function(e,t,n){},9854:function(e,t,n){"use strict";var r=n("34c6"),a=n.n(r);a.a},e61b:function(e,t,n){"use strict";(function(e,t){var r=n("47a9");n("2fec");r(n("3240"));var a=r(n("0ac1"));e.__webpack_require_UNI_MP_PLUGIN__=n,t(a.default)}).call(this,n("3223")["default"],n("df3c")["createPage"])}},[["e61b","common/runtime","common/vendor"]]]);
\ No newline at end of file
+(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/expansion/expansion"],{"0ac1":function(e,t,n){"use strict";n.r(t);var r=n("79c0"),a=n("2242");for(var o in a)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(o);n("a2de");var i=n("828b"),u=Object(i["a"])(a["default"],r["b"],r["c"],!1,null,"05d8df92",null,!1,r["a"],void 0);t["default"]=u.exports},2242:function(e,t,n){"use strict";n.r(t);var r=n("2567"),a=n.n(r);for(var o in r)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(o);t["default"]=a.a},2567:function(e,t,n){"use strict";(function(e){var r=n("47a9");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n("7eb4")),o=r(n("ee10")),i=(n("8f59"),{data:function(){return{loading:!1,userInfo:null,currentEventId:null,eventList:[],formData:{eventId:"",customerName:"",customerPhone:"",paymentMethod:"微信",isAddWeChat:"否",remarks:""},showEventPicker:!1,showPaymentPicker:!1,showWeChatPicker:!1,selectedEventName:"",paymentOptions:[{text:"微信",value:"微信"},{text:"支付宝",value:"支付宝"},{text:"现金",value:"现金"},{text:"银行转账",value:"银行转账"}],weChatOptions:[{text:"是",value:"是"},{text:"否",value:"否"}],rules:{eventId:[{required:!0,message:"请选择拓客活动",trigger:"change"}],customerName:[{required:!0,message:"请输入顾客姓名",trigger:"blur"}],customerPhone:[{required:!0,message:"请输入电话号码",trigger:["blur","change"]},{validator:function(e,t,n){var r=String(t||"").trim();r?/^1[3-9]\d{9}$/.test(r)?n():n(new Error("请输入正确的手机号码")):n(new Error("请输入电话号码"))},trigger:["blur","change"]}],paymentMethod:[{required:!0,message:"请选择支付方式",trigger:"change"}],isAddWeChat:[{required:!0,message:"请选择是否加微信",trigger:"change"}]},inputStyle:{backgroundColor:"#f9fff9",border:"3rpx solid #c8e6c9",borderRadius:"20rpx",padding:"24rpx",fontSize:"28rpx",color:"#2e7d32"},textareaStyle:{backgroundColor:"#f9fff9",border:"3rpx solid #c8e6c9",borderRadius:"20rpx",padding:"32rpx",fontSize:"28rpx",color:"#2e7d32"},buttonStyle:{width:"100%",height:"80rpx",borderRadius:"24rpx",fontSize:"32rpx",fontWeight:"600",letterSpacing:"2rpx",background:"linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)",boxShadow:"0 8rpx 32rpx rgba(67, 233, 123, 0.3)",marginTop:"64rpx",borderColor:"rgba(67, 233, 123, 0.3)"}}},onLoad:function(){this.initializePage()},methods:{initializePage:function(){var t=this;return(0,o.default)(a.default.mark((function n(){return a.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(n.prev=0,t.userInfo=e.getStorageSync("userInfo"),t.userInfo&&0!==Object.keys(t.userInfo).length){n.next=5;break}return e.reLaunch({url:"/pages/login/login"}),n.abrupt("return");case 5:return console.log("用户信息:",t.userInfo),t.setDefaultDateTime(),n.next=9,t.getCurrentEvent();case 9:n.next=15;break;case 11:n.prev=11,n.t0=n["catch"](0),console.error("页面初始化失败:",n.t0),e.showToast({title:"页面初始化失败,请刷新重试",icon:"none",duration:3e3});case 15:case"end":return n.stop()}}),n,null,[[0,11]])})))()},setDefaultDateTime:function(){this.formData.paymentMethod="微信",this.formData.isAddWeChat="否"},getCurrentEvent:function(){var e=this;return(0,o.default)(a.default.mark((function t(){var n;return a.default.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e.API.getCurrentEvent(e.userInfo.userId);case 3:n=t.sent,200===n.code&&n.data&&n.data.length>0?(e.eventList=n.data.map((function(e){return{text:e.EventName,value:e.EventId}})),n.data.length>0&&(e.currentEventId=n.data[0].EventId,e.formData.eventId=e.currentEventId,e.selectedEventName=n.data[0].EventName,console.log("当前活动ID:",e.currentEventId))):console.warn("未找到当前活动"),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),console.error("获取当前活动失败:",t.t0);case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()},validateForm:function(){var e=this;return(0,o.default)(a.default.mark((function t(){var n,r,o;return a.default.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=[],e.formData.eventId||n.push("请选择拓客活动"),e.formData.customerName.trim()||n.push("请输入顾客姓名"),r=e.formData.customerPhone.trim(),r?(o=/^1[3-9]\d{9}$/,o.test(r)||n.push("请输入正确的手机号码")):n.push("请输入电话号码"),e.formData.paymentMethod||n.push("请选择支付方式"),e.formData.isAddWeChat||n.push("请选择是否加微信"),t.abrupt("return",n);case 8:case"end":return t.stop()}}),t)})))()},collectFormData:function(){return{expansionTime:null,customerName:this.formData.customerName.trim(),customerPhone:this.formData.customerPhone.trim(),buyNumber:1,paymentMethod:this.formData.paymentMethod,isAddWeChat:this.formData.isAddWeChat,remarks:this.formData.remarks.trim(),expansionUserId:this.userInfo.userId,eventId:this.formData.eventId}},onEventConfirm:function(e){var t=e.value;this.formData.eventId=t[0].value,this.selectedEventName=t[0].text,this.showEventPicker=!1},onPaymentConfirm:function(e){var t=e.value;this.formData.paymentMethod=t[0].value,this.showPaymentPicker=!1},onWeChatConfirm:function(e){var t=e.value;this.formData.isAddWeChat=t[0].value,this.showWeChatPicker=!1},handleFormSubmit:function(){var t=this;return(0,o.default)(a.default.mark((function n(){var r,o;return a.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,t.$refs.form.validate();case 3:return n.next=5,t.validateForm();case 5:if(r=n.sent,!(r&&r.length>0)){n.next=9;break}return e.showToast({title:r[0],icon:"none",duration:2e3}),n.abrupt("return");case 9:return o=t.collectFormData(),console.log("表单数据:",o),n.next=13,t.submitExpansion(o);case 13:n.next=18;break;case 15:n.prev=15,n.t0=n["catch"](0),console.log("表单验证失败:",n.t0);case 18:case"end":return n.stop()}}),n,null,[[0,15]])})))()},submitExpansion:function(t){var n=this;return(0,o.default)(a.default.mark((function r(){var o,i,u,c,s;return a.default.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.prev=0,e.showLoading({title:"正在提交..."}),n.loading=!0,r.next=5,n.API.getEvent(t.eventId);case 5:return o=r.sent,i=o.data&&o.data.pushUrl?o.data.pushUrl:"",r.next=9,n.API.submitExpansion(t);case 9:if(u=r.sent,200!==u.code||!u.data||!u.data.entity){r.next=16;break}return c=u.data,r.next=14,n.sendWeChatNotification(c,t,i);case 14:r.next=19;break;case 16:e.hideLoading(),e.showToast({title:"添加失败:".concat((null===(s=u.data)||void 0===s?void 0:s.Message)||"未知错误"),icon:"none",duration:3e3}),n.loading=!1;case 19:r.next=27;break;case 21:r.prev=21,r.t0=r["catch"](0),console.error("提交失败:",r.t0),e.hideLoading(),e.showToast({title:"网络错误,请稍后重试",icon:"none",duration:3e3}),n.loading=!1;case 27:case"end":return r.stop()}}),r,null,[[0,21]])})))()},sendWeChatNotification:function(t,n,r){var i=this;return(0,o.default)(a.default.mark((function o(){var u,c,s,d,l;return a.default.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return a.prev=0,d=function(t){var n=new Date(t);return e.$u.timeFormat(n,"yyyy/mm/dd hh:MM")},l={webhookUrl:r||"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=581c22a6-cb67-42e5-8c76-b8e90052e188",content:"🎉 拓客记录\n⏩门店:".concat((null===(u=t.storeinfo)||void 0===u?void 0:u.Dm)||"未知","\n⏩拓客人员:").concat(i.userInfo.userName||"未知","\n⏩战队:").concat((null===(c=t.entity)||void 0===c?void 0:c.TeamName)||"未知","\n⏩顾客姓名:").concat(n.customerName,"\n⏩电话号码:").concat(n.customerPhone,"\n⏩购买张数:").concat(n.buyNumber,"\n⏩拓客时间:").concat(d(null===(s=t.entity)||void 0===s?void 0:s.ExpansionTime),"\n⏩支付方式:").concat(n.paymentMethod,"\n⏩是否加微信:").concat(n.isAddWeChat,"\n⏩备注:").concat(n.remarks||"")},a.next=5,i.API.sendWeChatNotification(l);case 5:e.hideLoading(),e.showToast({title:"拓客数据提交成功!",icon:"success",duration:2e3}),i.loading=!1,i.clearForm(),a.next=14;break;case 11:a.prev=11,a.t0=a["catch"](0),console.error("发送微信通知失败:",a.t0);case 14:case"end":return a.stop()}}),o,null,[[0,11]])})))()},clearForm:function(){var e=this;try{if(this.formData={eventId:this.currentEventId||"",customerName:"",customerPhone:"",paymentMethod:"微信",isAddWeChat:"否",remarks:""},this.currentEventId&&this.eventList.length>0){var t=this.eventList.find((function(t){return t.value===e.currentEventId}));this.selectedEventName=t?t.text:""}else this.selectedEventName="";this.$refs.form&&this.$refs.form.clearValidate(),console.log("表单已清空")}catch(n){console.error("清空表单失败:",n)}}}});t.default=i}).call(this,n("df3c")["default"])},7445:function(e,t,n){},"79c0":function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return r}));var r={uForm:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-form/u-form")]).then(n.bind(null,"63f8"))},uFormItem:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-form-item/u-form-item")]).then(n.bind(null,"eabc"))},uPicker:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-picker/u-picker")]).then(n.bind(null,"0e74"))},uIcon:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-icon/u-icon")]).then(n.bind(null,"3f69"))},uInput:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-input/u-input")]).then(n.bind(null,"5f80"))},uTextarea:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-textarea/u-textarea")]).then(n.bind(null,"269f"))},uButton:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/uview-ui/components/u-button/u-button")]).then(n.bind(null,"11af"))}},a=function(){var e=this,t=e.$createElement;e._self._c;e._isMounted||(e.e0=function(t){e.showEventPicker=!1},e.e1=function(t){e.showEventPicker=!1},e.e2=function(t){e.showEventPicker=!0},e.e3=function(t){e.showPaymentPicker=!1},e.e4=function(t){e.showPaymentPicker=!1},e.e5=function(t){e.showPaymentPicker=!0},e.e6=function(t){e.showWeChatPicker=!1},e.e7=function(t){e.showWeChatPicker=!1},e.e8=function(t){e.showWeChatPicker=!0},e.e9=function(t){!e.loading&&e.handleFormSubmit()})},o=[]},a2de:function(e,t,n){"use strict";var r=n("7445"),a=n.n(r);a.a},e61b:function(e,t,n){"use strict";(function(e,t){var r=n("47a9");n("2fec");r(n("3240"));var a=r(n("0ac1"));e.__webpack_require_UNI_MP_PLUGIN__=n,t(a.default)}).call(this,n("3223")["default"],n("df3c")["createPage"])}},[["e61b","common/runtime","common/vendor"]]]);
\ No newline at end of file
diff --git a/绿纤uni-app/unpackage/dist/build/mp-weixin/pages/expansion/expansion.wxml b/绿纤uni-app/unpackage/dist/build/mp-weixin/pages/expansion/expansion.wxml
index 574f61b..70a10dc 100644
--- a/绿纤uni-app/unpackage/dist/build/mp-weixin/pages/expansion/expansion.wxml
+++ b/绿纤uni-app/unpackage/dist/build/mp-weixin/pages/expansion/expansion.wxml
@@ -1 +1 @@
-{{selectedEventName||'请选择拓客活动'}}{{formData.paymentMethod||'请选择支付方式'}}{{formData.isAddWeChat||'请选择是否加微信'}}{{''+(loading?'提交中...':'保存')+''}}
\ No newline at end of file
+{{selectedEventName||'请选择拓客活动'}}{{formData.paymentMethod||'请选择支付方式'}}{{formData.isAddWeChat||'请选择是否加微信'}}{{''+(loading?'提交中...':'保存')+''}}
\ No newline at end of file
diff --git a/绿纤uni-app/unpackage/dist/build/mp-weixin/pages/expansion/expansion.wxss b/绿纤uni-app/unpackage/dist/build/mp-weixin/pages/expansion/expansion.wxss
index 8608c14..b085086 100644
--- a/绿纤uni-app/unpackage/dist/build/mp-weixin/pages/expansion/expansion.wxss
+++ b/绿纤uni-app/unpackage/dist/build/mp-weixin/pages/expansion/expansion.wxss
@@ -1,7 +1,7 @@
-.container.data-v-6122c20a{font-family:PingFang SC,Microsoft YaHei,Arial,sans-serif;margin:0;height:100vh;background:linear-gradient(135deg,#e8f5e9,#b2dfdb);padding:40rpx;width:100%;box-sizing:border-box;overflow-y:scroll}.page-title.data-v-6122c20a{text-align:center;color:#388e3c;margin-bottom:36rpx;letter-spacing:4rpx;font-size:36rpx;font-weight:700}.form-card.data-v-6122c20a{background:#fff;border-radius:40rpx;box-shadow:0 16rpx 64rpx 0 rgba(76,175,80,.15);border:2rpx solid #e8f5e9;overflow:hidden}.form-content.data-v-6122c20a{padding:64rpx;box-sizing:border-box}.form-group.data-v-6122c20a{margin-bottom:48rpx}.form-group.data-v-6122c20a:last-child{margin-bottom:0}label.data-v-6122c20a{display:block;margin-bottom:20rpx;font-weight:600;color:#2e7d32;letter-spacing:1rpx;font-size:28rpx}.input-wrapper.data-v-6122c20a{position:relative}.input-icon.data-v-6122c20a{position:absolute;left:24rpx;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:40rpx;height:40rpx;color:#6a9c6a}input.data-v-6122c20a,
-textarea.data-v-6122c20a,
-._select.data-v-6122c20a,
-.form-select.data-v-6122c20a{width:100%;padding:24rpx;border:3rpx solid #c8e6c9;border-radius:20rpx;font-size:28rpx;transition:all .2s ease;background:#f9fff9;color:#2e7d32;font-family:inherit;box-sizing:border-box}textarea.data-v-6122c20a{min-height:200rpx;resize:vertical;padding:32rpx;line-height:1.5}._select.data-v-6122c20a{cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236a9c6a' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right 24rpx center;background-repeat:no-repeat;background-size:32rpx;padding-right:80rpx;appearance:none;-webkit-appearance:none;-moz-appearance:none}._select.data-v-6122c20a:focus{outline:none;border-color:#43a047;box-shadow:0 0 0 6rpx rgba(76,175,80,.1);background-color:#fff}input.data-v-6122c20a:focus,
-textarea.data-v-6122c20a:focus,
-._select.data-v-6122c20a:focus,
-.form-select.data-v-6122c20a:focus{outline:none;border-color:#43a047;box-shadow:0 0 0 6rpx rgba(76,175,80,.1);background:#fff}input.data-v-6122c20a:disabled{background:#f5f5f5;color:#666;cursor:not-allowed}.btn.data-v-6122c20a{width:100%;padding:32rpx 40rpx;border:none;border-radius:24rpx;font-size:32rpx;font-weight:600;cursor:pointer;transition:all .3s ease;letter-spacing:2rpx;background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff;box-shadow:0 8rpx 32rpx rgba(67,233,123,.3);margin-top:64rpx}.btn.data-v-6122c20a:hover{box-shadow:0 12rpx 48rpx rgba(67,233,123,.4);-webkit-transform:translateY(-4rpx);transform:translateY(-4rpx)}.btn.data-v-6122c20a:active{-webkit-transform:translateY(0);transform:translateY(0)}.picker-trigger.data-v-6122c20a{display:flex;align-items:center;justify-content:space-between;width:100%;padding:24rpx;background:#f9fff9;border:3rpx solid #c8e6c9;border-radius:20rpx;font-size:28rpx;color:#2e7d32;transition:all .2s ease;box-sizing:border-box}.picker-trigger.data-v-6122c20a:active{border-color:#43a047;box-shadow:0 0 0 6rpx rgba(76,175,80,.1);background:#fff}.picker-text.data-v-6122c20a{flex:1;color:#2e7d32}
\ No newline at end of file
+.container.data-v-05d8df92{font-family:PingFang SC,Microsoft YaHei,Arial,sans-serif;margin:0;height:100vh;background:linear-gradient(135deg,#e8f5e9,#b2dfdb);padding:40rpx;width:100%;box-sizing:border-box;overflow-y:scroll}.page-title.data-v-05d8df92{text-align:center;color:#388e3c;margin-bottom:36rpx;letter-spacing:4rpx;font-size:36rpx;font-weight:700}.form-card.data-v-05d8df92{background:#fff;border-radius:40rpx;box-shadow:0 16rpx 64rpx 0 rgba(76,175,80,.15);border:2rpx solid #e8f5e9;overflow:hidden}.form-content.data-v-05d8df92{padding:64rpx;box-sizing:border-box}.form-group.data-v-05d8df92{margin-bottom:48rpx}.form-group.data-v-05d8df92:last-child{margin-bottom:0}label.data-v-05d8df92{display:block;margin-bottom:20rpx;font-weight:600;color:#2e7d32;letter-spacing:1rpx;font-size:28rpx}.input-wrapper.data-v-05d8df92{position:relative}.input-icon.data-v-05d8df92{position:absolute;left:24rpx;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:40rpx;height:40rpx;color:#6a9c6a}input.data-v-05d8df92,
+textarea.data-v-05d8df92,
+._select.data-v-05d8df92,
+.form-select.data-v-05d8df92{width:100%;padding:24rpx;border:3rpx solid #c8e6c9;border-radius:20rpx;font-size:28rpx;transition:all .2s ease;background:#f9fff9;color:#2e7d32;font-family:inherit;box-sizing:border-box}textarea.data-v-05d8df92{min-height:200rpx;resize:vertical;padding:32rpx;line-height:1.5}._select.data-v-05d8df92{cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236a9c6a' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right 24rpx center;background-repeat:no-repeat;background-size:32rpx;padding-right:80rpx;appearance:none;-webkit-appearance:none;-moz-appearance:none}._select.data-v-05d8df92:focus{outline:none;border-color:#43a047;box-shadow:0 0 0 6rpx rgba(76,175,80,.1);background-color:#fff}input.data-v-05d8df92:focus,
+textarea.data-v-05d8df92:focus,
+._select.data-v-05d8df92:focus,
+.form-select.data-v-05d8df92:focus{outline:none;border-color:#43a047;box-shadow:0 0 0 6rpx rgba(76,175,80,.1);background:#fff}input.data-v-05d8df92:disabled{background:#f5f5f5;color:#666;cursor:not-allowed}.btn.data-v-05d8df92{width:100%;padding:32rpx 40rpx;border:none;border-radius:24rpx;font-size:32rpx;font-weight:600;cursor:pointer;transition:all .3s ease;letter-spacing:2rpx;background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff;box-shadow:0 8rpx 32rpx rgba(67,233,123,.3);margin-top:64rpx}.btn.data-v-05d8df92:hover{box-shadow:0 12rpx 48rpx rgba(67,233,123,.4);-webkit-transform:translateY(-4rpx);transform:translateY(-4rpx)}.btn.data-v-05d8df92:active{-webkit-transform:translateY(0);transform:translateY(0)}.picker-trigger.data-v-05d8df92{display:flex;align-items:center;justify-content:space-between;width:100%;padding:24rpx;background:#f9fff9;border:3rpx solid #c8e6c9;border-radius:20rpx;font-size:28rpx;color:#2e7d32;transition:all .2s ease;box-sizing:border-box}.picker-trigger.data-v-05d8df92:active{border-color:#43a047;box-shadow:0 0 0 6rpx rgba(76,175,80,.1);background:#fff}.picker-text.data-v-05d8df92{flex:1;color:#2e7d32}
\ No newline at end of file
diff --git a/绿纤uni-app/unpackage/dist/build/mp-weixin/project.private.config.json b/绿纤uni-app/unpackage/dist/build/mp-weixin/project.private.config.json
index 6cbcbe7..3b22717 100644
--- a/绿纤uni-app/unpackage/dist/build/mp-weixin/project.private.config.json
+++ b/绿纤uni-app/unpackage/dist/build/mp-weixin/project.private.config.json
@@ -1,4 +1,4 @@
{
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
- "libVersion": "3.14.1"
+ "libVersion": "3.14.3"
}
\ No newline at end of file
diff --git a/绿纤uni-app/unpackage/dist/build/mp-weixin/uni_modules/uview-ui/components/u-gap/u-gap.json b/绿纤uni-app/unpackage/dist/build/mp-weixin/uni_modules/uview-ui/components/u-gap/u-gap.json
index 4575d1b..e8cfaaf 100644
--- a/绿纤uni-app/unpackage/dist/build/mp-weixin/uni_modules/uview-ui/components/u-gap/u-gap.json
+++ b/绿纤uni-app/unpackage/dist/build/mp-weixin/uni_modules/uview-ui/components/u-gap/u-gap.json
@@ -1,4 +1,4 @@
{
- "usingComponents": {},
- "component": true
+ "component": true,
+ "usingComponents": {}
}
\ No newline at end of file
diff --git a/绿纤uni-app/unpackage/dist/build/mp-weixin/uni_modules/uview-ui/components/u-toolbar/u-toolbar.json b/绿纤uni-app/unpackage/dist/build/mp-weixin/uni_modules/uview-ui/components/u-toolbar/u-toolbar.json
index 4575d1b..e8cfaaf 100644
--- a/绿纤uni-app/unpackage/dist/build/mp-weixin/uni_modules/uview-ui/components/u-toolbar/u-toolbar.json
+++ b/绿纤uni-app/unpackage/dist/build/mp-weixin/uni_modules/uview-ui/components/u-toolbar/u-toolbar.json
@@ -1,4 +1,4 @@
{
- "usingComponents": {},
- "component": true
+ "component": true,
+ "usingComponents": {}
}
\ No newline at end of file
diff --git a/绿纤uni-app/unpackage/dist/dev/mp-weixin/pages/expansion/expansion.js b/绿纤uni-app/unpackage/dist/dev/mp-weixin/pages/expansion/expansion.js
index 846f278..9e66778 100644
--- a/绿纤uni-app/unpackage/dist/dev/mp-weixin/pages/expansion/expansion.js
+++ b/绿纤uni-app/unpackage/dist/dev/mp-weixin/pages/expansion/expansion.js
@@ -341,11 +341,19 @@ var _default = {
customerPhone: [{
required: true,
message: '请输入电话号码',
- trigger: 'blur'
+ trigger: ['blur', 'change']
}, {
- pattern: /^1[3-9]\d{9}$/,
- message: '请输入正确的手机号码',
- trigger: 'blur'
+ validator: function validator(rule, value, callback) {
+ var phone = String(value || '').trim();
+ if (!phone) {
+ callback(new Error('请输入电话号码'));
+ } else if (!/^1[3-9]\d{9}$/.test(phone)) {
+ callback(new Error('请输入正确的手机号码'));
+ } else {
+ callback();
+ }
+ },
+ trigger: ['blur', 'change']
}],
paymentMethod: [{
required: true,
@@ -571,36 +579,48 @@ var _default = {
handleFormSubmit: function handleFormSubmit() {
var _this4 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
- var formData;
+ var errors, formData;
return _regenerator.default.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
- console.error('【【【【【【');
- _context4.prev = 1;
- _context4.next = 4;
+ _context4.prev = 0;
+ _context4.next = 3;
return _this4.$refs.form.validate();
- case 4:
+ case 3:
+ _context4.next = 5;
+ return _this4.validateForm();
+ case 5:
+ errors = _context4.sent;
+ if (!(errors && errors.length > 0)) {
+ _context4.next = 9;
+ break;
+ }
+ uni.showToast({
+ title: errors[0],
+ icon: 'none',
+ duration: 2000
+ });
+ return _context4.abrupt("return");
+ case 9:
// 收集表单数据
formData = _this4.collectFormData();
console.log('表单数据:', formData);
-
- // 提交数据
- _context4.next = 8;
- return _this4.submitExpansion(formData);
- case 8:
_context4.next = 13;
+ return _this4.submitExpansion(formData);
+ case 13:
+ _context4.next = 18;
break;
- case 10:
- _context4.prev = 10;
- _context4.t0 = _context4["catch"](1);
+ case 15:
+ _context4.prev = 15;
+ _context4.t0 = _context4["catch"](0);
console.log('表单验证失败:', _context4.t0);
- case 13:
+ case 18:
case "end":
return _context4.stop();
}
}
- }, _callee4, null, [[1, 10]]);
+ }, _callee4, null, [[0, 15]]);
}))();
},
// 提交扩展邀约数据
diff --git a/绿纤uni-app/unpackage/dist/dev/mp-weixin/project.private.config.json b/绿纤uni-app/unpackage/dist/dev/mp-weixin/project.private.config.json
index 6e7cee7..bc38335 100644
--- a/绿纤uni-app/unpackage/dist/dev/mp-weixin/project.private.config.json
+++ b/绿纤uni-app/unpackage/dist/dev/mp-weixin/project.private.config.json
@@ -4,6 +4,20 @@
"miniprogram": {
"list": [
{
+ "name": "pages/expansion/expansion",
+ "pathName": "pages/expansion/expansion",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/addServiceLog/addServiceLog",
+ "pathName": "pages/addServiceLog/addServiceLog",
+ "query": "consumeId=800705717190264069&memberName=%25E5%2588%2598%25E7%258E%2589%25E5%2585%25B0",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
"name": "pages/web/web",
"pathName": "pages/web/web",
"query": "url=https%253A%252F%252Ferp.lvqianmeiye.com%252Fhtml%252FdailyReport.html",