1
0

2 Commits fe137912a1 ... 0ac5fd1d02

Autor SHA1 Nachricht Datum
  suixueyan 0ac5fd1d02 Merge remote-tracking branch 'origin/master' vor 8 Monaten
  suixueyan 6380d21204 添加服务和活动售后 vor 8 Monaten

+ 4 - 2
common/api/activity.js

@@ -13,8 +13,10 @@ export const getActivityList = data => {
 export const addActivityEntry = data => {
     return request.post('/wechat/auth.activity/entry', data)
 }
-
-
+// 获取支付参数
+export const addActivityPayment= data => {
+    return request.post('/wechat/auth.activity/payment', data)
+}
 export const getMyActivity = data => {
     return request.get('/wechat/auth.activity/myActivity',data)
 }

+ 9 - 2
common/api/yvyeService.js

@@ -7,8 +7,10 @@ export const itemTimes = data => {
 export const CreateItem = data => {
     return request.post('/wechat/auth.admit/create', data)
 }
-
-
+// 预约
+export const admitPayment = data => {
+    return request.post('/wechat/auth.admit/payment', data)
+}
 // 我的预约列表
 export const getYvyueOrderList = data => {
     return request.post('/wechat/auth.admit/index', data)
@@ -24,6 +26,11 @@ export const yvyueOrderCancel= data => {
 export const updateItem = data => {
     return request.post('/wechat/auth.admit/update', data)
 }
+// 获取技师列表
+export const getWorkers = data => {
+    return request.post('/wechat/auth.admit/workers', data)
+}
+
 
 
 

+ 54 - 0
common/utils/tools.js

@@ -1,5 +1,7 @@
 import moment from 'moment'
 import { getOrderPayData } from '@/common/api'
+import {addActivityPayment} from "../api/activity";
+import {admitPayment} from "../api/yvyeService";
 
 // 获取微信支付并支付
 export const toWechatPay = (orderNo, remark,type) => {
@@ -30,6 +32,58 @@ export const toWechatPay = (orderNo, remark,type) => {
 	})
 }
 
+// 获取微信支付并支付
+export const toWechatPayActivitySave = (orderNo, remark) => {
+	let sendData = { order_no: orderNo }
+	if (remark) {
+		sendData.order_remark = remark
+	}
+	addActivityPayment(sendData).then(res => {
+		const { appId, nonceStr, paySign, signType, timeStamp } = res.data.param
+		const { activity_id } = res.data.order
+		uni.requestPayment({
+			provider: 'wxpay',
+			nonceStr,
+			package: res.data.param.package,
+			paySign,
+			signType,
+			timeStamp,
+			success: function(res) {
+				uni.navigateTo({ url: `/subPages/activityDetail/activitySave?activityId=${activity_id}` })
+			},
+			fail: function(err) {
+				uni.navigateTo({ url: `/subPages/activityDetail/activitySave?activityId=${activity_id}` })
+			}
+		})
+	})
+}
+// 获取微信支付并支付https://clone.somnisix.net/wechat/auth.admit/payment
+export const toWechatPayPaymentSave = (orderNo, remark) => {
+	let sendData = { order_no: orderNo }
+	if (remark) {
+		sendData.order_remark = remark
+	}
+	admitPayment(sendData).then(res => {
+		const { appId, nonceStr, paySign, signType, timeStamp } = res.data.param
+		const { goods_code,id } = res.data.order
+		uni.requestPayment({
+			provider: 'wxpay',
+			nonceStr,
+			package: res.data.param.package,
+			paySign,
+			signType,
+			timeStamp,
+			success: function(res) {
+				uni.navigateTo({
+					url: `/subPages/service/settlement?code=${goods_code}&orderId=${id}`
+				})
+			},
+			fail: function(err) {
+			}
+		})
+	})
+}
+
 // 简单对象去空
 export const jsonFilterEmpty = data => {
 	let tempData = {}

Datei-Diff unterdrückt, da er zu groß ist
+ 4023 - 212
package-lock.json


+ 2 - 1
package.json

@@ -7,11 +7,12 @@
     "jsqr": "^1.4.0",
     "moment": "^2.29.4",
     "uview-ui": "^2.0.38",
+    "vant": "^4.9.19",
     "vant-weapp": "^0.5.29",
     "vconsole": "^3.14.6",
-    "vue-baidu-map": "^0.21.22",
     "vue-jsonp": "^2.0.0",
     "vue-pdf": "^4.3.0",
+    "vue3-baidu-map": "^1.0.0",
     "wot-design-uni": "^1.7.1"
   }
 }

+ 3 - 1
pages.json

@@ -701,7 +701,9 @@
 			"van-tab": "/wxcomponents/vant/dist/tab/index",
 			"van-tabs": "/wxcomponents/vant/dist/tabs/index",
 			"van-toast": "/wxcomponents/vant/dist/toast/index",
-			"van-count-down": "/wxcomponents/vant/dist/count-down/index"
+			"van-count-down": "/wxcomponents/vant/dist/count-down/index",
+			"van-popup": "/wxcomponents/vant/dist/popup/index",
+			"van-picker": "/wxcomponents/vant/dist/picker/index"
 		}
 	},
 	"condition": { //模式配置,仅开发期间生效

+ 15 - 15
pages/mine/index.vue

@@ -120,20 +120,20 @@
 
           </view>
         </view>
-        <view class="member-info-card">
-          <view class="member-card">
-            <text class="card-title">分销商</text>
-            <u-line color="#F4F4F4"></u-line>
-            <view class="menu-box">
-              <view class="menu-item" @click="goToPath(item)" v-for="(item, index) in menuList">
-                <view class="menu-item-bgColor">
-                  <image :src="item.url" mode="heightFix"></image>
-                  <text>{{ item.name }}</text>
-                </view>
-              </view>
-            </view>
-          </view>
-        </view>
+<!--        <view class="member-info-card">-->
+<!--          <view class="member-card">-->
+<!--            <text class="card-title">分销商</text>-->
+<!--            <u-line color="#F4F4F4"></u-line>-->
+<!--            <view class="menu-box">-->
+<!--              <view class="menu-item" @click="goToPath(item)" v-for="(item, index) in menuList">-->
+<!--                <view class="menu-item-bgColor">-->
+<!--                  <image :src="item.url" mode="heightFix"></image>-->
+<!--                  <text>{{ item.name }}</text>-->
+<!--                </view>-->
+<!--              </view>-->
+<!--            </view>-->
+<!--          </view>-->
+<!--        </view>-->
 
       </view>
     </view>
@@ -290,7 +290,7 @@ export default {
         // {
         //   name: "线下消费记录",
         //   url: require("@/static/ic-other-i.png"),
-        //   path: "/subPages/storeConsumption/storeConsumption?orderNo=SP20250509680265",
+        //   path: "/subPages/storeConsumption/storeConsumption?orderNo=SP2025051517460011",
         //   isVip: true
         // },
         {

+ 24 - 9
subPages/activityDetail/activitySave.vue

@@ -53,13 +53,13 @@
     <van-toast id="van-toast"/>
     <view class="bottom-navigation" v-if=" !(MyActivityInfo.status==4|| MyActivityInfo.status==0|| MyActivityInfo.status==-1)" >
       <view class="bottom-navigation-div" v-if="!is_entry">
-        应付款: <span>¥<span style="font-size: 40rpx;">{{ activityInfo.fee * formData.num}}</span></span>
+        应付款: <span>¥<span style="font-size: 40rpx;">{{ (activityInfo.fee && formData.num ? (activityInfo.fee * formData.num).toFixed(2) : '0.00') }}</span></span>
       </view>
       <view class="bottom-navigation-div" v-else-if="is_entry&&(MyActivityInfo.status==1||MyActivityInfo.status==1)">
-        应付款: <span>¥<span style="font-size: 40rpx;">{{ MyActivityInfo.amount_real}}</span></span>
+        应付款: <span>¥<span style="font-size: 40rpx;">{{ MyActivityInfo.amount_real.toFixed(2)}}</span></span>
       </view>
       <view class="bottom-navigation-div" v-else-if="is_entry&&MyActivityInfo.status==3">
-        已付款: <span>¥<span style="font-size: 40rpx;">{{ MyActivityInfo.amount_real}}</span></span>
+        已付款: <span>¥<span style="font-size: 40rpx;">{{ MyActivityInfo.amount_real.toFixed(2)}}</span></span>
       </view>
       <button  class="activity-button" v-if="!is_entry" @click="handleRegister">立即报名</button>
       <button  class="activity-button" v-else-if="is_entry" @click="handleEntryUpdate">修改报名信息</button>
@@ -70,7 +70,14 @@
 <script>
 
 import Toast from "../../wxcomponents/vant/dist/toast/toast";
-import {getActivityDetail,addActivityEntry,getMyActivity,entryUpdate} from "../../common/api/activity";
+import {
+  getActivityDetail,
+  addActivityEntry,
+  getMyActivity,
+  entryUpdate,
+  addActivityPayment
+} from "../../common/api/activity";
+import {toWechatPayActivitySave} from "../../common/utils/tools";
 
 
 export default {
@@ -205,7 +212,17 @@ export default {
     },
 
 
-    handleRegister() {
+    addActivityEntry() {
+      addActivityEntry(this.formData).then(({data}) => {
+        if (data.status !== 3) {
+          Toast('报名成功,请尽快支付!');
+          toWechatPayActivitySave(data.order_no, data.order_remark)
+        }else{
+          Toast('报名成功!');
+        }
+        this.getActivityDetail()
+      });
+    }, handleRegister() {
       if (!this.formData.username){
         Toast('请输入姓名');
       }
@@ -218,10 +235,8 @@ export default {
         return;
       }
       this.formData.id=this.activityId
-      addActivityEntry(this.formData).then(({data}) => {
-        Toast('报名成功');
-        this.getActivityDetail()
-      });
+
+      this.addActivityEntry();
     },
     handleEntryUpdate() {
       if (!this.formData.username){

+ 1 - 1
subPages/collectList/collectList.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="app-page">
 		<view class="activity-box">
-			<view class="activity-list" v-for="(item, index) in mList" :key="index" @click="toDetail(item)">
+			<view class="activity-list" v-for="(item, index) in mList" :key="index" @click="toDetails(item)">
 				<image style="width: 100%; height: 344rpx; border-radius: 20rpx 20rpx 0 0" :src="item.cover"
 					mode="aspectFill">
 				</image>

+ 3 - 2
subPages/myOrder/activityOrderItem.vue

@@ -19,7 +19,7 @@
 		</view>
 		<view class="goods-total display-flex-between">
 			<view >
-				<text class="fs12 lh18 color-3E3D44 fw400">实付:</text><text class="fs18 lh15 fw600 color-556"><text class="fs10">¥</text>{{data.payment_amount}}</text>
+				<text class="fs12 lh18 color-3E3D44 fw400">实付:</text><text class="fs18 lh15 fw600 color-556"><text class="fs10">¥</text>{{data.amount_total}}</text>
 			</view>
 			<view class="display-flex-center">
 				<text class="btn-gray-border" @click.stop="cancelOrder"
@@ -38,6 +38,7 @@
 <script>
 	import AfterReson from '@/components/AfterReson.vue'
   import {cancel} from "@/common/api/activity";
+  import {toWechatPayActivitySave} from "../../common/utils/tools";
 	export default {
 		props: {
 			data: {
@@ -138,7 +139,7 @@
 
 			toPay() {
 				// 立即付款
-				this.$toWechatPay(this.data.order_no)
+				toWechatPayActivitySave(this.data.order_no)
 			},
 			cancelAfter() {
 				this.confirmShow = true

+ 29 - 28
subPages/myOrder/serverOrderItem.vue

@@ -38,6 +38,7 @@
 <script>
 	import AfterReson from '@/components/AfterReson.vue'
   import {yvyueOrderCancel} from "@/common/api/yvyeService";
+  import {toWechatPayPaymentSave} from "../../common/utils/tools";
 	export default {
 		props: {
 			data: {
@@ -111,12 +112,17 @@
 			}
 		},
 		methods: {
-			confirmHandler() {
-				// 确认弹框
-				let currentApi = null
-				if (this.confirmType == 'cancelOrder') {
-					// 取消订单
-          yvyueOrderCancel({id: this.data.id}).then(({data}) => {
+			toPay() {
+				// 立即付款
+				toWechatPayPaymentSave(this.data.order_no)
+			},
+
+      confirmHandler() {
+        // 确认弹框
+        let currentApi = null
+        if (this.confirmType == 'cancelOrder') {
+          // 取消订单
+          yvyueOrderCancel({order_no: this.data.order_no}).then(({data}) => {
             uni.showToast({
               title:"取消成功",
               icon: 'none'
@@ -124,28 +130,23 @@
             this.confirmShow = false
             this.$emit('refresh')
           });
-				} else if (this.confirmType == 'confirm') {
-					this.$api.confirmOrder({ order_no: this.data.order_no }).then(res => {
-						this.confirmShow = false
-						this.$emit('refresh')
-					}).catch(() => {
-						this.confirmShow = false
-					})
-				} else if (this.confirmType == 'cancelAfter') {
-					this.$api.cancelAfterSales({ order_no: this.data.order_no }).then(res => {
-						this.confirmShow = false
-						this.$emit('refresh')
-					}).catch(() => {
-						this.confirmShow = false
-					})
-				}
-			},
-
-			toPay() {
-				// 立即付款
-				this.$toWechatPay(this.data.order_no)
-			},
-			cancelAfter() {
+        } else if (this.confirmType == 'confirm') {
+          this.$api.confirmOrder({ order_no: this.data.order_no }).then(res => {
+            this.confirmShow = false
+            this.$emit('refresh')
+          }).catch(() => {
+            this.confirmShow = false
+          })
+        } else if (this.confirmType == 'cancelAfter') {
+          this.$api.cancelAfterSales({ order_no: this.data.order_no }).then(res => {
+            this.confirmShow = false
+            this.$emit('refresh')
+          }).catch(() => {
+            this.confirmShow = false
+          })
+        }
+      },
+      cancelAfter() {
 				this.confirmShow = true
 				this.confirmType = 'cancelAfter'
 				this.confirmData = {

+ 67 - 15
subPages/service/serviceSave.vue

@@ -1,5 +1,7 @@
 <template>
   <view style="width:100%;height: 100%">
+
+
     <view class="shopping-wrapper">
       <view class="list-item display-flex-content-center mt10">
         <image
@@ -84,6 +86,13 @@
           </view>
         </view>
         <u-divider  ></u-divider>
+        <view class="display-flex-between" @click="openWorkerShow()">
+          <text class="left-title">技师</text>
+          <view class="h-view" :style="[workerName ?{color:'#333333',fontSize: '15px'}:{color:'#c0c4cc',fontSize: '15px'}]">
+              {{workerName || "请选择技师"}}
+          </view>
+        </view>
+        <u-divider  ></u-divider>
         <view class="display-flex-between" >
           <text class="left-title">联系方式</text>
           <view class="h-view" >
@@ -143,9 +152,18 @@
       <view  v-if="type=='set'"  class="activity-button"  :style="{background:'#F9F2E6',color:'#C29556',border: '1rpx solid #F9F2E6' ,width: '336rpx',margin:'0rpx 9rpx'}" @click="yvyueOrderCancel()">取消预约订单</view>
       <view  v-if="type=='set'"  class="activity-button" :style="{width: '336rpx' ,margin:'0rpx 9rpx'}" @click="setyvyueOrder()">修改预约信息</view>
     </view>
+      <!-- picker 内容 -->
+      <u-picker
+          :show="workerShow"
+          :columns="[workers]"
+          mode="region"
+          key-name="realname"
+          @confirm="workerConfirm"
+          @cancel="workerCancel"
+          :default-index="0"
+      >
+      </u-picker>
   </view>
-
-
 </template>
 
 <script>
@@ -155,17 +173,23 @@ import {
   getYvyueOrderList,
   itemTimes,
   yvyueOrderCancel,
-  getYvyueOrderInfo, updateItem
+  getYvyueOrderInfo, updateItem, getWorkers
 } from "../../common/api/yvyeService"
+import {toWechatPayActivitySave, toWechatPayPaymentSave} from "../../common/utils/tools";
 var  yvyueOrderList={}
 export default {
-  components: {},
+  components: { },
   data() {
     return {
+      columns: [
+        ['中国', '美国', '日本']
+      ],
       page: 1,
       pageSize: 10,
       goods_code: 0,
       courseInfo: {},
+      workers: [],
+      workerName: "",
       orderTimeFalg:false,
       futureDates: [],
       yvyueData: [],
@@ -174,8 +198,10 @@ export default {
         order_num:1
       },
       orderId:0,
+      order_no:"",
       setid:null,
       show:false,
+      workerShow:false,
       status:"",
       order_date: "",
       dateTimeSelect: "",
@@ -195,10 +221,12 @@ export default {
 
 
     this.getCourseDetail()
+    this.getWorkers()
     if (this.setid ){
       this.orderId=this.setid
       getYvyueOrderInfo({id: this.orderId}). then(({data}) => {
         this.orderInfo = data
+        this.order_no=data.order_no
         // 获取今天的日期
         const today = new Date(); // 当前日期时间
         today.setHours(0, 0, 0, 0); // 清除时间部分,只保留日期
@@ -208,7 +236,6 @@ export default {
           this.getitemTimes()
           this.getYvyueOrderList()
         } else {
-
           this.orderTimeFalg = false;
         }
         this.status = data.status
@@ -217,6 +244,7 @@ export default {
         this.form.order_time = data.order_time
         this.form.order_date = data.order_date
         this.form.user_name = data.user_name
+        this.workerName= data.tech_name
         this.form.user_phone = data.user_phone
         this.form.order_num = data.order_num
         this.form.order_remark = data.order_remark
@@ -227,6 +255,7 @@ export default {
 
       });
     }else{
+      this.orderTimeFalg = true;
       this.getFutureDates()
       this.getitemTimes()
       this.getYvyueOrderList()
@@ -276,12 +305,20 @@ export default {
   },
   watch: {},
   methods: {
+    // 回调参数为包含columnIndex、value、values
+    workerConfirm(e) {
+      console.log('confirm', e)
+      this.workerName=e.value[0].realname
+      this.form.tech_uid=e.value[0].id
+      this.workerShow = false
+    },
+    workerCancel() {
+      this.workerShow = false
+    },
+    openWorkerShow(){
+      console.log("222222222222222")
+      this.workerShow=true},
     numChange(item) {
-      const {
-        name,
-        value
-      } = item
-
     },
     verifyData(){
       if (!this.form.order_time){
@@ -290,6 +327,9 @@ export default {
       if (!this.form.user_name){
         return {msg:"请输入预约人名称",status:true}
       }
+      if (!this.form.tech_uid){
+        return {msg:"请选择技师",status:true}
+      }
       if (!this.form.user_phone){
         return {msg:"请输入联系方式",status:true}
       }
@@ -349,7 +389,7 @@ export default {
       return day;
     },
     yvyueOrderCancel() {
-      yvyueOrderCancel({id: this.orderId}).then(({data}) => {
+      yvyueOrderCancel({order_no: this.order_no}).then(({data}) => {
         uni.showToast({
           title:"取消成功",
           icon: 'none'
@@ -362,6 +402,7 @@ export default {
       //
 
     },
+
     getDateTimeSelectClass(date){
       if (date.date+' '+date.time==this.dateTimeSelect || yvyueOrderList[date.date] &&yvyueOrderList[date.date][date.period_start]){
         return 'list-item-date-Selected';
@@ -380,9 +421,7 @@ export default {
         })
       }
       CreateItem(this.form).then(({data})=>{
-        uni.navigateTo({
-          url: `/subPages/service/settlement?code=${this.goods_code}&orderId=${data.id}`
-        })
+        toWechatPayPaymentSave(data.order_no, data.order_remark)
       })
     },
     SetDateTimeSelect(item) {
@@ -411,10 +450,12 @@ export default {
           this.form={order_num:1};
         }
         this.orderId=0
+        this.order_no=''
         this.type="add"
       }
     },
     getYvyueOrderInfo(item) {
+      this.order_no=item.order_no
       this.orderId=item.id
       this.form.order_time = item.order_time
       this.form.user_name = item.user_name
@@ -424,6 +465,8 @@ export default {
       this.form.customer_id = item.customer_id
       this.form.id = item.id
       this.form.tech_uid = item.tech_uid
+      this.workerName= item.tech_name
+
     },
     getitemTimes(){
       this.yvyueData=[]
@@ -445,7 +488,7 @@ export default {
       getYvyueOrderList({order_date: this.now_date}).then(({data}) => {
         if (data&&data.list) {
           data.list.forEach(item => {
-              if (item.status ==1||item.status ==2||item.status ==9 ){
+              if (item.status ==1||item.status ==2||item.status ==9 ||item.status ==3 ){
                 if (!yvyueOrderList[item.order_date]){
                 yvyueOrderList[item.order_date]={}
                 }
@@ -480,6 +523,14 @@ export default {
         this.courseInfo = data.goods
       });
     },
+    getWorkers() {
+      getWorkers().then(({data}) => {
+        this.workers = data
+        console.log(data,"good=============")
+      });
+    },
+
+
     // 获取未来五天的日期
     getFutureDates(startDateStr = null) {
       const today = startDateStr ? new Date(startDateStr) : new Date();
@@ -531,6 +582,7 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+/* 确保引入了 Vant Weapp 的样式 */
 .shopping-wrapper {
   width: 690rpx;
   margin: 20rpx auto 0rpx;

+ 10 - 1
subPages/service/settlement.vue

@@ -56,6 +56,13 @@
           </view>
         </view>
         <u-divider  ></u-divider>
+        <view class="display-flex-between" >
+          <text class="left-title">技师</text>
+          <view class="h-view" :style="[{color:'#333333',fontSize: '15px'}]">
+            {{orderInfo.tech_name || ""}}
+          </view>
+        </view>
+        <u-divider  ></u-divider>
         <view class="display-flex-between" >
           <text class="left-title">联系方式</text>
           <view class="h-view" >
@@ -104,6 +111,7 @@ export default {
       courseInfo: {},
       orderInfo: {},
       orderId: 0,
+      order_no:"",
       goods_code:"",
       topData: {
         top: 0,
@@ -132,10 +140,11 @@ export default {
     getYvyueOrderInfo() {
       getYvyueOrderInfo({id: this.orderId}).then(({data}) => {
         this.orderInfo = data
+        this.order_no=data.order_no
       });
     },
     yvyueOrderCancel() {
-      yvyueOrderCancel({id: this.orderId}).then(({data}) => {
+      yvyueOrderCancel({order_no: this.order_no}).then(({data}) => {
         uni.showToast({
           title:"取消成功",
           icon: 'none'

+ 30 - 0
subPages/settleCenter/settleCenter.vue

@@ -219,6 +219,8 @@ export default {
           this.getExpressFee()
         }
         uni.removeStorageSync('selectAddress')
+      }else{
+        this.getSelectAddress("cart")
       }
     } else {
       this.getCouponList()
@@ -231,6 +233,32 @@ export default {
      * @param {Object} item - 优惠券对象
      * @returns {Object} - 优惠券配置对象
      */
+    getSelectAddress(type=""){
+      this.$api.getAddressList().then(res => {
+        // uni.hideLoading()
+        let addressList = res.data || []
+        for (let item of addressList) {
+          if (item.type === 1) {
+            uni.setStorageSync('selectAddress', JSON.stringify(item))
+            const selectAddress = uni.getStorageSync('selectAddress') || undefined
+            if (selectAddress) {
+              const tempAddress = JSON.parse(selectAddress)
+              if (!this.mAddress.code || (this.mAddress && this.mAddress.code != tempAddress.code)) {
+                this.mAddress = tempAddress
+                if (type==="cart"){
+                  this.getExpressFee()
+                }else{
+                  this.addressConfirm()
+                }
+              }
+              uni.removeStorageSync('selectAddress')
+            }
+            break
+          }
+        }
+      })
+
+    },
     getItemConfig(item) {
       let itemConfig = {
         btnText: '去使用',
@@ -438,6 +466,8 @@ export default {
             this.addressConfirm()
           }
           uni.removeStorageSync('selectAddress')
+        }else{
+          this.getSelectAddress()
         }
       })
     },

+ 18 - 11
subPages/storeConsumption/storeConsumption.vue

@@ -1,5 +1,4 @@
 <script>
-import {expenseDetail,expensePay} from "../../common/api";
 import UCodeInput from "../../components/uview-ui/components/u-code-input/u-code-input.vue";
 import {
   getCustomerInfo, getUserInfo,
@@ -10,14 +9,20 @@ export default {
   data() {
     return {
       orderNo: '',
-      goodsList: [
-        {}, {}
-      ],
+      goodsList: [],
       pwd:"",
       show: false,
       userInfo: {},
       customerInfo: {},
-      detailData: {},
+      detailData: {
+        amount_discount:0,
+        discount:0,
+        order_no:"--",
+        created_at:"--",
+        amount_goods:0,
+        number_item:0,
+        status:1
+      },
       topData: {
         top: 0,
         height: 0
@@ -55,7 +60,8 @@ export default {
           });
     },
     toPay() {
-      this.show = true
+      this.show = true;
+      this.pwd = ""; // 清空上次输入的密码
     },
     expenseDetail() {
       getCustomerInfo().then(res => {
@@ -80,6 +86,7 @@ export default {
           success: (res) => {
             this.close()
             this.expenseDetail()
+            uni.hideKeyboard();
           },
         });
       })
@@ -157,17 +164,17 @@ export default {
           </image>
           <view class="ml10" style=" width: 100%">
             <view class="display-flex-center mb10">
-              <text class=" text-overflow-single goods-name">{{ item.goods_name }}</text>
+              <text class=" text-overflow-single goods-name">{{ item.goods_name||"--" }}</text>
             </view>
             <view class="display-flex-center mb10">
               <text class="color-888 flex-shrink fw400 fs12 lh16">规格:</text>
-              <text class=" text-overflow-single fw400 fs12 lh16">{{ splitStr(item.goods_spec) }}</text>
+              <text class=" text-overflow-single fw400 fs12 lh16">{{ splitStr(item.goods_spec ||"--") }}</text>
             </view>
             <view class="display-flex-between " style="justify-content: space-between; width: 100%">
               <text class="fw400 color-333   fs12 mb8">¥
-                <text class="fw700 color-333  fs16 mb8">{{ item.price_selling }}</text>
+                <text class="fw700 color-333  fs16 mb8">{{ item.price_selling || 0 }}</text>
               </text>
-              <text class="color-888">×{{ item.item_num }}</text>
+              <text class="color-888">×{{ item.item_num || 0 }}</text>
             </view>
           </view>
         </view>
@@ -218,7 +225,7 @@ export default {
           </text>
         </view>
         <view class=" display-flex-content-center mt30">
-          <u-code-input @finish="finish" v-model="pwd" :maxlength="6" mode="box"  dot :focus="true"></u-code-input>
+          <u-code-input ref="codeInputRef" @finish="finish" v-model="pwd" :maxlength="6" mode="box"  dot :focus="true"></u-code-input>
         </view>
         <view class="forgot-password  display-flex-content-center mt20" @click="forgotPwd">未设置/忘记密码?</view>
       </view>

+ 1 - 1
subPages/storeConsumption/storeConsumptionOrder.vue

@@ -15,7 +15,7 @@ export default {
       pwd:"",
       show: false,
       userInfo: {},
-      customerInfo: {},
+      customerInfo: {balance_num:0},
       detailDataList: [],
       pageParams: {
         page: 1,

+ 1 - 1
uview-ui1/components/u1-picker/u-picker.vue

@@ -595,7 +595,7 @@ export default {
 
 <style lang="scss" scoped>
 @import '../../libs/css/style.components.scss';
-
+@import "../../theme.scss";
 .u-datetime-picker {
 	position: relative;
 	z-index: 999;

Datei-Diff unterdrückt, da er zu groß ist
+ 1023 - 34
yarn.lock


Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.