Commit 36f8eae31188615784e2a204ea4b5e8500659c91

Authored by iceling
1 parent 6e196763

提交评价,历史服务重置,订单列表数据填充

pages/user/my_service/appment_main.js
@@ -9,10 +9,13 @@ Page({ @@ -9,10 +9,13 @@ Page({
9 * 页面的初始数据 9 * 页面的初始数据
10 */ 10 */
11 data: { 11 data: {
  12 + inurl: a.url, //接口网址
12 iurl: a.imghost, //服务器网址 13 iurl: a.imghost, //服务器网址
13 store: 0, //是否显示服务门店列表 14 store: 0, //是否显示服务门店列表
14 beautician: 0, //是否显示美容师列表 15 beautician: 0, //是否显示美容师列表
15 beautician_name: "", //选中的美容师名称 16 beautician_name: "", //选中的美容师名称
  17 + beauticianID: "", //美容师id
  18 + bea_index: "", //美容师列表下标
16 placeholder: "填写备注", //备注为空的placeholder 19 placeholder: "填写备注", //备注为空的placeholder
17 store_list: [], //门店列表 20 store_list: [], //门店列表
18 beautician_list: [], //美容师列表 21 beautician_list: [], //美容师列表
@@ -22,7 +25,7 @@ Page({ @@ -22,7 +25,7 @@ Page({
22 pageSize: 8, //页大小 25 pageSize: 8, //页大小
23 total: 0, 26 total: 0,
24 ismore: 0, //是否加载完毕 27 ismore: 0, //是否加载完毕
25 - itemId: "08AD49D5-BAFD-4B5E-ABBA-B180EB64EED6", //项目id 28 + itemId: "", //项目id
26 isScroll: true, //scroll-y是否可以滑动 29 isScroll: true, //scroll-y是否可以滑动
27 key_word: "", //是否按门店文字查询 30 key_word: "", //是否按门店文字查询
28 is_service_read: 0, //是否调用过门店接口 31 is_service_read: 0, //是否调用过门店接口
@@ -30,7 +33,10 @@ Page({ @@ -30,7 +33,10 @@ Page({
30 is_success: 0, //是否提交成功 33 is_success: 0, //是否提交成功
31 remarks: "", //备注 34 remarks: "", //备注
32 storageId: "", //线下门店id 35 storageId: "", //线下门店id
33 - url:"/pages/user/my_service/appment_main",//本页面地址路径用于选择时间页面跳转回来 36 + url: "/pages/user/my_service/appment_main", //本页面地址路径用于选择时间页面跳转回来
  37 + buyType: "", //项目类型
  38 + time: "", //选择预约时间
  39 + tment_count: "", //可预约人数
34 }, 40 },
35 onclickstore: function() { 41 onclickstore: function() {
36 var th = this; 42 var th = this;
@@ -61,51 +67,61 @@ Page({ @@ -61,51 +67,61 @@ Page({
61 //提交预约 67 //提交预约
62 sub_success: function() { 68 sub_success: function() {
63 var th = this; 69 var th = this;
64 - var store = th.data.store_name; //门店  
65 - var bea_name = th.data.beautician_name; //选择的美容师  
66 - // var time = th.data.time; //选择服务的时间  
67 - // //提交预约前的判断  
68 - // if (store == "") {  
69 - // getApp().my_warnning("请选择服务门店", 0, th);  
70 - // return false;  
71 - // } else if (bea_name == "") {  
72 - // getApp().my_warnning("请选择美容师", 0, th);  
73 - // return false;  
74 - // } else if (time == "") {  
75 - // getApp().my_warnning("请选择预约时间", 0, th);  
76 - // return false;  
77 - // }  
78 -  
79 - // var url = "/api/weshop/marketing/reservation/reservation/insert";  
80 - // getApp().request.post(url, {  
81 - // data: {  
82 - // projectID: "",  
83 - // beauticianID: "",  
84 - // buyType: "",  
85 - // storeId: a.stoid,  
86 - // storageID: "",  
87 - // arrangeTime: "",  
88 - // userId: d.user_id,  
89 - // remark: "",  
90 - // states: ""  
91 - // }  
92 - // }).then(res => {  
93 - // if (res.data.code == 0) {  
94 - // th.setData({  
95 - // is_success: 1  
96 - // })  
97 - // wx.navigateTo({  
98 - // url: "/pages/user/my_service/tment_details"  
99 - // });  
100 - // } else {  
101 - // getApp().my_warnning(res.data.msg, 0, th);  
102 - // }  
103 - // })  
104 -  
105 - //测试  
106 - wx.navigateTo({  
107 - url: "/pages/user/my_service/tment_details"  
108 - }); 70 + var store = th.data.store_name; //门店名称
  71 + var bea_name = th.data.beautician_name; //美容师名称
  72 + var time = th.data.time; //预约时间
  73 + //提交预约前的判断
  74 + if (store == "") {
  75 + getApp().my_warnning("请选择服务门店", 0, th);
  76 + return false;
  77 + } else if (bea_name == "") {
  78 + getApp().my_warnning("请选择美容师", 0, th);
  79 + return false;
  80 + } else if (time == "") {
  81 + getApp().my_warnning("请选择预约时间", 0, th);
  82 + return false;
  83 + } else {
  84 + var url = th.data.inurl + "/api/weshop/marketing/reservation/reservation/insert"; //接口路径
  85 + var projectID = th.data.itemId; //项目id
  86 + var beauticianID = th.data.beauticianID; //美容师id
  87 + var buyType = th.data.buyType; //服务项目类型
  88 + var storeId = a.stoid; //商家id
  89 + var storageId = th.data.storageId; //门店id
  90 + var userId = d.user_id; //用户id
  91 + var remarks = th.data.remarks;
  92 + var json = {
  93 + "projectID": projectID,
  94 + "beauticianID": beauticianID,
  95 + "buyType": buyType,
  96 + "storeId": storeId,
  97 + "storageID": storageId,
  98 + "arrangeTime": time,
  99 + "userId": userId,
  100 + "remark": remarks,
  101 + "states": 0
  102 + }
  103 + var data = JSON.stringify(json);
  104 + wx.request({
  105 + url: url,
  106 + data: json,
  107 + method: 'post',
  108 + header: {
  109 + 'content-type': 'application/json'
  110 + }, // 设置请求的 header
  111 + success: function(res) {
  112 + if (res.data.code == 0) {
  113 + th.setData({
  114 + is_success: 1
  115 + })
  116 + wx.redirectTo({
  117 + url: "/pages/user/my_service/tment_order_list"
  118 + });
  119 + } else {
  120 + getApp().my_warnning(res.data.msg, 0, th);
  121 + }
  122 + }
  123 + })
  124 + }
109 }, 125 },
110 goto: function(e) { 126 goto: function(e) {
111 var th = this; 127 var th = this;
@@ -128,7 +144,10 @@ Page({ @@ -128,7 +144,10 @@ Page({
128 return false; 144 return false;
129 } else { 145 } else {
130 th.setData({ 146 th.setData({
131 - fir_pick_index: index_c 147 + fir_pick_index: index_c,
  148 + beautician_name: "",
  149 + time: "2019-12-10 18:00:00",
  150 + tment_count: ""
132 }) 151 })
133 } 152 }
134 }, 153 },
@@ -157,8 +176,7 @@ Page({ @@ -157,8 +176,7 @@ Page({
157 //分页查询门店信息 176 //分页查询门店信息
158 query_store: function() { 177 query_store: function() {
159 var th = this; 178 var th = this;
160 - // var itemId = th.data.itemId;//正式使用项目id  
161 - var itemId = "08AD49D5-BAFD-4B5E-ABBA-B180EB64EED6"; //测试的项目id 179 + var itemId = th.data.itemId; //正式使用项目id
162 var url = "/api/weshop/marketing/reservation/storage/page"; 180 var url = "/api/weshop/marketing/reservation/storage/page";
163 var key_word = th.data.key_word; 181 var key_word = th.data.key_word;
164 getApp().request.promiseGet(url, { 182 getApp().request.promiseGet(url, {
@@ -205,11 +223,9 @@ Page({ @@ -205,11 +223,9 @@ Page({
205 beautician: 0 223 beautician: 0
206 }) 224 })
207 } 225 }
208 - var itemid = "08AD49D5-BAFD-4B5E-ABBA-B180EB64EED6"; //测试的项目id  
209 - // var itemid = th.data.itemId;//正式使用的项目id  
210 - // var storageId = th.data.storageId;//正式使用的线下门店id  
211 - var storageId = "FD8EC44A-6474-4BA1-A17C-A87306690E59"; //测试的线下门店id  
212 - var url = "/api/weshop/marketing/reservation/staff/page"; 226 + var itemid = th.data.itemId; //正式使用的项目id
  227 + var storageId = th.data.storageId; //正式使用的线下门店id
  228 + var url = "/api/weshop/marketing/reservation/staff/page"; //接口地址
213 getApp().request.promiseGet(url, { 229 getApp().request.promiseGet(url, {
214 data: { 230 data: {
215 storeId: a.stoid, 231 storeId: a.stoid,
@@ -228,10 +244,16 @@ Page({ @@ -228,10 +244,16 @@ Page({
228 }, 244 },
229 choice_beautician: function(e) { 245 choice_beautician: function(e) {
230 var th = this; 246 var th = this;
231 - var bea_name = e.currentTarget.dataset.beaname; 247 + var bea_index = e.currentTarget.dataset.baaindex;
  248 + var bea_name = th.data.beautician_list[bea_index].StaffName;
  249 + var BeauticianID = th.data.beautician_list[bea_index].Id;
232 th.setData({ 250 th.setData({
233 beautician_name: bea_name, 251 beautician_name: bea_name,
234 - beautician: 0 252 + beautician: 0,
  253 + bea_index: bea_index,
  254 + beauticianID: BeauticianID,
  255 + time: "2019-12-10 19:00:00",
  256 + tment_count: ""
235 }) 257 })
236 258
237 }, 259 },
@@ -281,14 +303,42 @@ Page({ @@ -281,14 +303,42 @@ Page({
281 onLoad: function(options) { 303 onLoad: function(options) {
282 var th = this; 304 var th = this;
283 th.setData({ 305 th.setData({
284 - itemId: options.itemId 306 + itemId: options.itemId,
  307 + buyType: options.BuyType
285 }) 308 })
286 }, 309 },
  310 + //查询剩下可预约人数
  311 + query_more: function() {
  312 + var th = this;
  313 + var url = "/api/weshop/marketing/reservation/marketing/can/reservation/count";
  314 + var beauticianID = th.data.beauticianID; //美容师id
  315 + var projectID = th.data.itemId; //项目id
  316 + var seekTime = th.data.time.substring(0, 11); //预约日期
  317 + var storageId = th.data.storageId; //门店id
  318 + var storeId = a.stoid; //商家id
  319 + getApp().request.promiseGet(url, {
  320 + data: {
  321 + beauticianID: beauticianID,
  322 + projectID: projectID,
  323 + seekTime: seekTime,
  324 + storageId: storageId,
  325 + storeId: storeId
  326 + }
  327 + }).then(res => {
  328 + if (res.data.code == 0) {
  329 + var tment_count = res.data.data.CanReservation;
  330 + th.setData({
  331 + tment_count: tment_count
  332 + })
  333 + }
  334 + })
287 335
  336 + },
288 /** 337 /**
289 * 生命周期函数--监听页面显示 338 * 生命周期函数--监听页面显示
290 */ 339 */
291 onShow: function() { 340 onShow: function() {
292 - 341 + var th = this;
  342 + th.query_more();
293 } 343 }
294 }) 344 })
295 \ No newline at end of file 345 \ No newline at end of file
pages/user/my_service/appment_main.wxml
@@ -34,7 +34,7 @@ @@ -34,7 +34,7 @@
34 <!-- 美容师下拉列表 --> 34 <!-- 美容师下拉列表 -->
35 <view class="beauticians abs" wx:if="{{beautician}}"> 35 <view class="beauticians abs" wx:if="{{beautician}}">
36 <!-- 到时候要做判断如果是index==循环的最后一个则把下边线去掉:(beaclone去掉的css) --> 36 <!-- 到时候要做判断如果是index==循环的最后一个则把下边线去掉:(beaclone去掉的css) -->
37 - <view class="beautician flex-vertical fs26" wx:for="{{beautician_list}}" bindtap="choice_beautician" data-beaname="{{item.StaffName}}"> 37 + <view class="beautician flex-vertical fs26" wx:for="{{beautician_list}}" bindtap="choice_beautician" data-baaindex="{{key}}" wx:for-index="key">
38 <view>{{item.StaffName}}</view> 38 <view>{{item.StaffName}}</view>
39 </view> 39 </view>
40 <view> 40 <view>
@@ -54,8 +54,8 @@ @@ -54,8 +54,8 @@
54 </view> 54 </view>
55 55
56 <!-- 选择门店 --> 56 <!-- 选择门店 -->
57 - <view class="flex-vertical-between fs26 select" data-url="/pages/user/my_service/beauty_deta?url+{{url}}" bindtap="goto">  
58 - <view class="color">选择时间</view> 57 + <view class="flex-vertical-between fs26 select" data-url="/pages/user/my_service/beauty_deta?url+{{url}}&BeauticianID={{beauticianID}}&itemId={{itemId}}" bindtap="goto">
  58 + <view class="color">{{time==""?'选择时间':time}}</view>
59 <view class="angle angler">∟</view> 59 <view class="angle angler">∟</view>
60 </view> 60 </view>
61 </view> 61 </view>
@@ -78,8 +78,8 @@ @@ -78,8 +78,8 @@
78 </block> 78 </block>
79 </view> 79 </view>
80 </view> 80 </view>
81 - <view class="notes flex-level-right fs24 color">  
82 - <view>注:剩余可预约人数10人</view> 81 + <view wx:if="{{tment_count!=''}}" class="notes flex-level-right fs24 color">
  82 + <view>注:剩余可预约人数{{tment_count}}人</view>
83 </view> 83 </view>
84 84
85 <view class="submitMax flex-space-between fs30"> 85 <view class="submitMax flex-space-between fs30">
pages/user/my_service/beauty_deta.js
@@ -10,63 +10,41 @@ Page({ @@ -10,63 +10,41 @@ Page({
10 */ 10 */
11 data: { 11 data: {
12 iurl: a.imghost, 12 iurl: a.imghost,
13 - url:"",//选择选择时间后返回的页面 13 + url: "", //选择选择时间后返回的页面
14 defimgurl: "/miniapp/images/yyservice/yyxmdefault.jpg", 14 defimgurl: "/miniapp/images/yyservice/yyxmdefault.jpg",
15 - seekTime: "2019-11-18", //当前服务预约选择的时间 15 + seekTime: "", //当前服务预约选择的时间
16 time_list: [], //可预约时间 16 time_list: [], //可预约时间
17 name: "", //美容师姓名 17 name: "", //美容师姓名
18 comment: "", //美容师评价 18 comment: "", //美容师评价
  19 + aweeks: [], //七天的预约时间
19 head_img: "", //美容师头像 20 head_img: "", //美容师头像
20 time: ["08:00:00", "09:00:00 ", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", "22:00"], 21 time: ["08:00:00", "09:00:00 ", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", "22:00"],
21 time_index: 0, //选择预约时间下标 22 time_index: 0, //选择预约时间下标
22 - date: [{  
23 - date_name: "今天",  
24 - id: 0,  
25 - date_value: "09月10日"  
26 - }, {  
27 - date_name: "星期四",  
28 - id: 1,  
29 - date_value: "09月11日"  
30 - }, {  
31 - date_name: "星期五",  
32 - id: 2,  
33 - date_value: "09月12日"  
34 - }, {  
35 - date_name: "星期六",  
36 - id: 3,  
37 - date_value: "09月13日"  
38 - }, {  
39 - date_name: "星期天",  
40 - id: 4,  
41 - date_value: "09月14日"  
42 - }, {  
43 - date_name: "下礼拜一",  
44 - id: 5,  
45 - date_value: "09月15日"  
46 - }, {  
47 - date_name: "下礼拜二",  
48 - id: 6,  
49 - date_value: "09月16日"  
50 - }, ],  
51 date_id: 0, //选择日期的id 23 date_id: 0, //选择日期的id
  24 + beautician_id: "", //美容师id
  25 + itemId: "", //项目id
52 }, 26 },
53 27
54 /** 28 /**
55 * 生命周期函数--监听页面加载 29 * 生命周期函数--监听页面加载
56 */ 30 */
57 onLoad: function(options) { 31 onLoad: function(options) {
58 - var th = this;  
59 - th.setData({  
60 - url:options.url  
61 - }) 32 + var th = this;
  33 + var beautician_id = options.BeauticianID;
  34 + th.setData({
  35 + url: options.url,
  36 + beautician_id: beautician_id,
  37 + itemId: options.itemId
  38 + })
62 th.query_beatea(); 39 th.query_beatea();
63 - th.query_date(); 40 + th.query_aweek();
  41 + // th.query_date();
64 }, 42 },
65 /** 43 /**
66 * 生命周期函数--监听页面显示 44 * 生命周期函数--监听页面显示
67 */ 45 */
68 onShow: function() { 46 onShow: function() {
69 - 47 +
70 }, 48 },
71 //图片失败,默认图片 49 //图片失败,默认图片
72 bind_bnerr1: function(e) { 50 bind_bnerr1: function(e) {
@@ -82,31 +60,30 @@ Page({ @@ -82,31 +60,30 @@ Page({
82 check_date: function(e) { 60 check_date: function(e) {
83 var th = this; 61 var th = this;
84 var id = e.currentTarget.dataset.dateid; 62 var id = e.currentTarget.dataset.dateid;
  63 + var seekTime = th.data.aweeks[id].time;
85 th.setData({ 64 th.setData({
86 - date_id: id 65 + date_id: id,
  66 + seekTime: seekTime
87 }) 67 })
  68 + th.query_date();
88 }, 69 },
89 //获取美容师信息 70 //获取美容师信息
90 query_beatea: function() { 71 query_beatea: function() {
91 var th = this; 72 var th = this;
92 - var url = "/api/weshop/marketing/reservation/staff/page"; //接口路径  
93 - var itemId = "08AD49D5-BAFD-4B5E-ABBA-B180EB64EED6",  
94 - storageId = "FD8EC44A-6474-4BA1-A17C-A87306690E59";  
95 - 73 + var url = "/api/weshop/marketing/reservation/staff/get"; //接口路径
  74 + var beautician_id = th.data.beautician_id;
96 getApp().request.promiseGet(url, { 75 getApp().request.promiseGet(url, {
97 data: { 76 data: {
98 - itemId: itemId,  
99 - storageId: storageId,  
100 - storeId: 1,  
101 - userId: 5682130 77 + BeauticianID: beautician_id,
  78 + storeId: a.stoid,
102 } 79 }
103 }).then(res => { 80 }).then(res => {
104 if (res.data.code == 0) { 81 if (res.data.code == 0) {
105 - var data = res.data.data.pageData; 82 + var data = res.data.data;
106 th.setData({ 83 th.setData({
107 - name: data[0].StaffName,  
108 - comment: data[0].Remark1,  
109 - head_img: data[0].PhotoUrl 84 + name: data.StaffName,
  85 + comment: data.Remark1,
  86 + head_img: data.PhotoUrl
110 }) 87 })
111 } else { 88 } else {
112 getApp().my_warnning(res.data.msg, 0, th); 89 getApp().my_warnning(res.data.msg, 0, th);
@@ -130,13 +107,47 @@ Page({ @@ -130,13 +107,47 @@ Page({
130 th.setData({ 107 th.setData({
131 time_index: index 108 time_index: index
132 }) 109 })
133 - } 110 + }
  111 + },
  112 + //查询七天预约时间
  113 + query_aweek: function() {
  114 + var th = this;
  115 + var beautician_id = th.data.beautician_id; //美容师id
  116 + var itemId = th.data.itemId; //项目id
  117 + var url = "/api/weshop/marketing/reservation/staff/seven/time/list"; //接口地址
  118 + getApp().request.promiseGet(url, {
  119 + data: {
  120 + BeauticianID: beautician_id,
  121 + ProjectID: itemId,
  122 + storeId: a.stoid,
  123 + }
  124 + }).then(res => {
  125 + if (res.data.code == 0) {
  126 + var data = res.data.data;
  127 + var arr = [];
  128 + for (var i in data) {
  129 + var em = {
  130 + "time": i,
  131 + "val": data[i]
  132 + };
  133 + arr.push(em);
  134 + console.log(arr[0].time.length + "1111111111111111111111111" + arr[0].time[0]);
  135 + }
  136 + th.setData({
  137 + aweeks: arr
  138 + })
  139 + } else {
  140 + getApp().my_warnning(res.data.msg, 0, th);
  141 + }
  142 + })
  143 +
134 }, 144 },
135 145
136 query_date: function() { 146 query_date: function() {
137 var th = this; 147 var th = this;
  148 + var date_id = th.data.date_id; //日期下标
  149 + var SeekTime = th.data.aweeks[date_id];
138 var url = "/api/weshop/marketing/reservation/staff/time/list"; 150 var url = "/api/weshop/marketing/reservation/staff/time/list";
139 - var SeekTime = th.data.seekTime;  
140 getApp().request.promiseGet(url, { 151 getApp().request.promiseGet(url, {
141 data: { 152 data: {
142 BeauticianID: "337C11B8-034B-495D-B360-FC2F6CB29394", 153 BeauticianID: "337C11B8-034B-495D-B360-FC2F6CB29394",
@@ -147,21 +158,21 @@ Page({ @@ -147,21 +158,21 @@ Page({
147 }).then(res => { 158 }).then(res => {
148 if (res.data.code == 0) { 159 if (res.data.code == 0) {
149 var data = res.data.data; 160 var data = res.data.data;
150 - var time = th.data.time; //固定时间  
151 - var time_list = [];  
152 - for (var i = 0; i < time.length; i++) {  
153 - for (var ii = ii; ii < data.length; ii++) {  
154 - if (time[i] == data[ii].GroupHour) {  
155 - time_list[i] = data[ii].GroupHour;  
156 - break;  
157 - } else {  
158 - time_list[i] = "";  
159 - }  
160 - }  
161 - }  
162 - console.log("1111111111" + time_list.length); 161 + // var date_id = th.data.date_id; //选择日期
  162 + // var time = th.data.aweeks[date_id].val; //固定时间
  163 + // var time_list = [];
  164 + // for (var i = 0; i < time.length; i++) {
  165 + // for (var ii = ii; ii < data.length; ii++) {
  166 + // if (time[i] == data[ii].GroupHour) {
  167 + // time_list.push(data[ii].GroupHour);
  168 + // continue;
  169 + // } else {
  170 + // time_list.push("");
  171 + // }
  172 + // }
  173 + // }
163 th.setData({ 174 th.setData({
164 - time_list: time_list 175 + time_list: data
165 }) 176 })
166 } else { 177 } else {
167 getApp().my_warnning(res.data.msg, 0, th); 178 getApp().my_warnning(res.data.msg, 0, th);
pages/user/my_service/beauty_deta.wxml
@@ -20,10 +20,10 @@ @@ -20,10 +20,10 @@
20 <view> 20 <view>
21 <view class="fs36" style="margin-bottom:35rpx;">服务预约</view> 21 <view class="fs36" style="margin-bottom:35rpx;">服务预约</view>
22 <scroll-view class="scroll-h fs26 " scroll-x> 22 <scroll-view class="scroll-h fs26 " scroll-x>
23 - <view class="rel" wx:for="{{date}}" style="display: inline-block;"> 23 + <view class="rel" wx:for="{{aweeks}}" style="display: inline-block;">
24 <view class="scroll-item-h bd {{index==date_id?'chbd':''}}" bindtap="check_date" data-dateid="{{index}}"> 24 <view class="scroll-item-h bd {{index==date_id?'chbd':''}}" bindtap="check_date" data-dateid="{{index}}">
25 - <view>{{item.date_name}}</view>  
26 - <view>{{item.date_value}}</view> 25 + <view>{{item.time}}</view>
  26 + <view></view>
27 </view> 27 </view>
28 <block wx:if="{{index==date_id}}"> 28 <block wx:if="{{index==date_id}}">
29 <view class="abs box"></view> 29 <view class="abs box"></view>
@@ -35,12 +35,11 @@ @@ -35,12 +35,11 @@
35 <!-- 选择时间 --> 35 <!-- 选择时间 -->
36 <view class="Times"> 36 <view class="Times">
37 37
38 - <view class="flex-center" wx:for="{{time}}" style="display:inline-block;">  
39 - <block wx:if="{{item!=time_list[index]}}">  
40 - <!-- {{item==time_list[index]}} -->  
41 - <view class="Time flex-center {{time_index==index?'chTime':''}}" bindtap="Selection_time" data-index="{{index}}"> 38 + <view class="flex-center" wx:for="{{aweeks[date_id].time}}" style="display:inline-block;" wx:for-index="key" wx:for="it">
  39 + <block wx:if="{{item.GroupHour==time_list[key].GroupHour}}">
  40 + <view class="Time flex-center {{time_index==key?'chTime':''}}" bindtap="Selection_time" data-index="{{key}}">
42 <view> 41 <view>
43 - <view class="fs26">{{item}}</view> 42 + <view class="fs26">{{it.GroupHour}}</view>
44 <block wx:if="{{flase}}"> 43 <block wx:if="{{flase}}">
45 <view class="fs24">约满</view> 44 <view class="fs24">约满</view>
46 </block> 45 </block>
@@ -48,9 +47,9 @@ @@ -48,9 +47,9 @@
48 </view> 47 </view>
49 </block> 48 </block>
50 <block wx:else> 49 <block wx:else>
51 - <view class="Time flex-center nochTime"> 50 + <view class="Time flex-center nochTime">
52 <view> 51 <view>
53 - <view class="fs26">{{item}}</view> 52 + <view class="fs26">{it.GroupHour}}</view>
54 </view> 53 </view>
55 </view> 54 </view>
56 </block> 55 </block>
pages/user/my_service/cosmetology_list.js
@@ -34,7 +34,7 @@ Page({ @@ -34,7 +34,7 @@ Page({
34 getApp().request.promiseGet(url, { 34 getApp().request.promiseGet(url, {
35 data: { 35 data: {
36 storeId: a.stoid, 36 storeId: a.stoid,
37 - userId: 5682130, //5682130 d.user_id 37 + userId: d.user_id,
38 itemId:"08AD49D5-BAFD-4B5E-ABBA-B180EB64EED6", 38 itemId:"08AD49D5-BAFD-4B5E-ABBA-B180EB64EED6",
39 storageId: "FD8EC44A-6474-4BA1-A17C-A87306690E59", 39 storageId: "FD8EC44A-6474-4BA1-A17C-A87306690E59",
40 page: th.data.curpage, 40 page: th.data.curpage,
pages/user/my_service/cosmetology_list.wxml
@@ -34,7 +34,7 @@ @@ -34,7 +34,7 @@
34 </view> 34 </view>
35 35
36 <!-- 预约状态 --> 36 <!-- 预约状态 -->
37 - <navigator class="flex-center gofu go" url="/pages/user/my_service/beauty_deta"> 37 + <navigator class="flex-center gofu go" url="/pages/user/my_service/beauty_deta?BeauticianID={{item.Id}}">
38 <view class="fs24">预约</view> 38 <view class="fs24">预约</view>
39 </navigator> 39 </navigator>
40 <!-- <block wx:else> 40 <!-- <block wx:else>
pages/user/my_service/hist_service.js
@@ -30,6 +30,7 @@ Page({ @@ -30,6 +30,7 @@ Page({
30 total: 0, 30 total: 0,
31 ismore: 0, //是否加载完毕 31 ismore: 0, //是否加载完毕
32 is_screen: 0, //是否通过筛选来选择历史服务 32 is_screen: 0, //是否通过筛选来选择历史服务
  33 + is_reset:0,//是否重复点击
33 }, 34 },
34 pickerShow: function() { 35 pickerShow: function() {
35 this.setData({ 36 this.setData({
@@ -71,8 +72,7 @@ Page({ @@ -71,8 +72,7 @@ Page({
71 /** 72 /**
72 * 生命周期函数--监听页面显示 73 * 生命周期函数--监听页面显示
73 */ 74 */
74 - onShow: function() {  
75 - }, 75 + onShow: function() {},
76 76
77 /** 77 /**
78 * 页面上拉触底事件的处理函数 78 * 页面上拉触底事件的处理函数
@@ -87,6 +87,22 @@ Page({ @@ -87,6 +87,22 @@ Page({
87 }) 87 })
88 th.query_service(); 88 th.query_service();
89 }, 89 },
  90 + //重置历史服务数据
  91 + his_reset: function() {
  92 + var th = this;
  93 + var is_reset = th.data.is_reset;
  94 + if (is_reset==0){
  95 + th.setData({
  96 + hist_List: [],
  97 + curpage: 1,
  98 + is_screen: 0,
  99 + is_service_read: 0,
  100 + is_screen: 1,
  101 + is_reset:1
  102 + })
  103 + th.query_hist();
  104 + }
  105 + },
90 query_hist: function() { 106 query_hist: function() {
91 107
92 var th = this; 108 var th = this;
@@ -96,7 +112,7 @@ Page({ @@ -96,7 +112,7 @@ Page({
96 getApp().request.promiseGet(url, { 112 getApp().request.promiseGet(url, {
97 data: { 113 data: {
98 storeId: a.stoid, 114 storeId: a.stoid,
99 - userId: 5682130, //5682130 d.user_id 115 + userId: d.user_id,
100 beginDate: startTime, 116 beginDate: startTime,
101 endDate: endTime, 117 endDate: endTime,
102 page: th.data.curpage, 118 page: th.data.curpage,
@@ -116,14 +132,10 @@ Page({ @@ -116,14 +132,10 @@ Page({
116 total: res.data.data.total, 132 total: res.data.data.total,
117 ismore: ismore, 133 ismore: ismore,
118 is_service_read: 1, 134 is_service_read: 1,
  135 + is_reset:0
119 }), wx.stopPullDownRefresh(); //停止下拉刷新 136 }), wx.stopPullDownRefresh(); //停止下拉刷新
120 } else { 137 } else {
121 getApp().my_warnning(res.data.msg, 0, this); 138 getApp().my_warnning(res.data.msg, 0, this);
122 -  
123 - // else {  
124 - // th.setData({  
125 - // is_service_read: 1  
126 - // })  
127 } 139 }
128 }) 140 })
129 }, 141 },
pages/user/my_service/hist_service.wxml
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 次服务 7 次服务
8 </view> 8 </view>
9 <view class="flex"> 9 <view class="flex">
10 - <view class="Resetfram flex-center"> 10 + <view class="Resetfram flex-center" bindtap="his_reset">
11 <view class="Reset">重置</view> 11 <view class="Reset">重置</view>
12 <image class="Resetsub" src="{{iurl}}/miniapp/images/reset.png"></image> 12 <image class="Resetsub" src="{{iurl}}/miniapp/images/reset.png"></image>
13 </view> 13 </view>
@@ -39,6 +39,7 @@ @@ -39,6 +39,7 @@
39 <view wx:if="{{item.State==1}}">已服务</view> 39 <view wx:if="{{item.State==1}}">已服务</view>
40 <view wx:if="{{item.State==2}}">已过期</view> 40 <view wx:if="{{item.State==2}}">已过期</view>
41 <view wx:if="{{item.State==3}}">已取消</view> 41 <view wx:if="{{item.State==3}}">已取消</view>
  42 + <view wx:if="{{item.State==4}}">已评价</view>
42 </view> 43 </view>
43 </view> 44 </view>
44 <!-- 没有数据 --> 45 <!-- 没有数据 -->
pages/user/my_service/i_service.js
@@ -82,8 +82,8 @@ Page({ @@ -82,8 +82,8 @@ Page({
82 ismore: ismore, 82 ismore: ismore,
83 is_service_read: 1, 83 is_service_read: 1,
84 }), wx.stopPullDownRefresh(); //停止下拉刷新 84 }), wx.stopPullDownRefresh(); //停止下拉刷新
85 - }else{  
86 - getApp().my_warnning(res.data.msg,0,th); 85 + } else {
  86 + getApp().my_warnning(res.data.msg, 0, th);
87 } 87 }
88 }) 88 })
89 }, 89 },
@@ -92,7 +92,7 @@ Page({ @@ -92,7 +92,7 @@ Page({
92 var th = this; 92 var th = this;
93 var ind = e.currentTarget.dataset.ind; 93 var ind = e.currentTarget.dataset.ind;
94 var item = this.data.service_List[ind]; 94 var item = this.data.service_List[ind];
95 - var ewm = "^" + th.data.userinfo.erpvipid + "|" + item.ProjectID + "|" + item.BuyType + "|" + item.Validay + "|TY01|"; 95 + var ewm = "^" + th.data.userinfo.erpvipid + "|" + item.ID + "|" + item.BuyType + "|" + item.Validay + "|TY01|";
96 var tt = th.format_time(1); 96 var tt = th.format_time(1);
97 ewm = ewm + tt; 97 ewm = ewm + tt;
98 th.data.qr_code_object.val = ewm; 98 th.data.qr_code_object.val = ewm;
@@ -106,7 +106,7 @@ Page({ @@ -106,7 +106,7 @@ Page({
106 var _Img = e.target.dataset.img; 106 var _Img = e.target.dataset.img;
107 if (_Img != undefined) { 107 if (_Img != undefined) {
108 var _errObj = {}; 108 var _errObj = {};
109 - _errObj[_errImg] = "/miniapp/images/no_cate_def.png"; 109 + _errObj[_errImg] = "/miniapp/images/no_cate_def.png";
110 this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; 110 this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
111 } 111 }
112 }, 112 },
pages/user/my_service/i_service.wxml
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 <!-- 项目框架 --> 8 <!-- 项目框架 -->
9 <view class="Serviceitems"> 9 <view class="Serviceitems">
10 <!-- 单个项目 --> 10 <!-- 单个项目 -->
11 - <view class="rel" wx:for="{{service_List}}"> 11 + <view class="rel" wx:for="{{service_List}}" wx:if="{{item.State>0}}">
12 <view class="abs"> 12 <view class="abs">
13 <!-- 皇冠log --> 13 <!-- 皇冠log -->
14 <block wx:if="{{item.BuyType==4}}"> 14 <block wx:if="{{item.BuyType==4}}">
@@ -49,7 +49,7 @@ @@ -49,7 +49,7 @@
49 <view>立即使用</view> 49 <view>立即使用</view>
50 </view> 50 </view>
51 <!-- 可预约 --> 51 <!-- 可预约 -->
52 - <navigator class="flex-level appointment yellow-b" url="/pages/user/my_service/appment_main?itemId={{item.ProjectID}}"> 52 + <navigator class="flex-level appointment yellow-b" url="/pages/user/my_service/appment_main?itemId={{item.ProjectID}}&BuyType={{item.BuyType}}">
53 <view>预约</view> 53 <view>预约</view>
54 </navigator> 54 </navigator>
55 </view> 55 </view>
pages/user/my_service/tment_details.js
@@ -11,6 +11,10 @@ Page({ @@ -11,6 +11,10 @@ Page({
11 data: { 11 data: {
12 iurl: a.imghost, 12 iurl: a.imghost,
13 tment_details: [], //预约详情 13 tment_details: [], //预约详情
  14 + number:"",//订单号
  15 + arrangeTime:"",//预约年月日
  16 + day:"",//判断是上午还是下午
  17 +
14 }, 18 },
15 19
16 /** 20 /**
@@ -18,33 +22,48 @@ Page({ @@ -18,33 +22,48 @@ Page({
18 */ 22 */
19 onLoad: function(options) { 23 onLoad: function(options) {
20 var th = this; 24 var th = this;
21 - var url = "http://localhost:8022/api/weshop/yy_fuwu_meirsxiangq";  
22 - wx.request({  
23 - url: url,  
24 - success: function(res) {  
25 - if (res.data.code == 0) {  
26 - th.setData({  
27 - tment_details:res.data.data  
28 - })  
29 - }  
30 - } 25 + th.setData({
  26 + number: options.number
31 }) 27 })
32 - /* 28 + th.query_bea();
  29 + },
  30 + //查询美容师详情
  31 + query_bea: function() {
  32 + var th = this;
  33 + var number = th.data.number;
33 var url = "/api/weshop/marketing/reservation/reservation/page"; 34 var url = "/api/weshop/marketing/reservation/reservation/page";
34 getApp().request.promiseGet(url, { 35 getApp().request.promiseGet(url, {
35 data: { 36 data: {
36 - storeId: 1,  
37 - userId: 5682130 37 + storeId: a.stoid,
  38 + userId: d.user_id,
  39 + number: number
38 } 40 }
39 }).then(res => { 41 }).then(res => {
40 if (res.data.code == 0) { 42 if (res.data.code == 0) {
41 var data = res.data.data.pageData; 43 var data = res.data.data.pageData;
  44 + var arrangeTime = data[0].ArrangeTime.substring(0,11);
  45 + var day = data[0].ArrangeTime.substring(12, 13);
  46 + if (day<12){
  47 + day = "上午"
  48 + }else{
  49 + day = "下午"
  50 + }
42 th.setData({ 51 th.setData({
43 - tment_details: data 52 + tment_details: data,
  53 + arrangeTime: arrangeTime,
  54 + day:day
44 }) 55 })
  56 +
  57 + }else{
  58 + getApp().my_warnning(res.data.msg, 0, th);
45 } 59 }
46 }) 60 })
47 - */ 61 + },
  62 + //跳到首页
  63 + goto: function (e) {
  64 + wx.switchTab({
  65 + url: '/pages/index/index/index',
  66 + })
48 }, 67 },
49 /** 68 /**
50 * 生命周期函数--监听页面显示 69 * 生命周期函数--监听页面显示
pages/user/my_service/tment_details.wxml
1 -<view class="container"> 1 +<view class="container" wx:for="{{tment_details}}" wx:if="{{index<1}}">
2 <!-- 预约人的属性 --> 2 <!-- 预约人的属性 -->
3 <view class="Subscriber"> 3 <view class="Subscriber">
4 <!-- 状态栏 --> 4 <!-- 状态栏 -->
5 <view class="statusBar fs32 flex-vertical-between lf"> 5 <view class="statusBar fs32 flex-vertical-between lf">
6 <view>预约状态:</view> 6 <view>预约状态:</view>
7 - <view wx:if="{{tment_details.state==1}}">未服务</view>  
8 - <view wx:if="{{tment_details.state==2}}">已服务</view>  
9 - <view wx:if="{{tment_details.state==3}}">已过期</view>  
10 - <view wx:if="{{tment_details.state==4}}">已取消</view> 7 + <view wx:if="{{item.State==0}}">未服务</view>
  8 + <view wx:if="{{item.State==1}}">已服务</view>
  9 + <view wx:if="{{item.State==2}}">已过期</view>
  10 + <view wx:if="{{item.State==3}}">已取消</view>
11 </view> 11 </view>
12 <view class="fs30"> 12 <view class="fs30">
13 <view class="items lf"> 13 <view class="items lf">
14 <!-- 预约门店 --> 14 <!-- 预约门店 -->
15 <view class="flex-vertical bmt"> 15 <view class="flex-vertical bmt">
16 <view class="name">预约门店:</view> 16 <view class="name">预约门店:</view>
17 - <view class="ellipsis-1 value">{{tment_details.store_name}}</view> 17 + <view class="ellipsis-1 value">{{item.ProjectName}}</view>
18 </view> 18 </view>
19 19
20 <!-- 预约项目 --> 20 <!-- 预约项目 -->
21 <view class="flex-vertical bmt"> 21 <view class="flex-vertical bmt">
22 <view class="name">预约项目:</view> 22 <view class="name">预约项目:</view>
23 - <view class="ellipsis-1 value">{{tment_details.item}}</view> 23 + <view class="ellipsis-1 value">{{item.StorageName}}</view>
24 </view> 24 </view>
25 25
26 <!-- 预约时间 --> 26 <!-- 预约时间 -->
27 <view class="flex-vertical bmt"> 27 <view class="flex-vertical bmt">
28 <view class="name">预约时间:</view> 28 <view class="name">预约时间:</view>
29 - <view class="date">{{tment_details.time}}</view>  
30 - <view>{{tment_details.time_interval}}</view> 29 + <view class="date">{{arrangeTime}}</view>
  30 + <view>{{day}}</view>
31 </view> 31 </view>
32 </view> 32 </view>
33 <view class="bt"> 33 <view class="bt">
@@ -39,7 +39,7 @@ @@ -39,7 +39,7 @@
39 <view>容</view> 39 <view>容</view>
40 <view>师:</view> 40 <view>师:</view>
41 </view> 41 </view>
42 - <view class="ellipsis-1 value">{{tment_details.Beautician}}</view> 42 + <view class="ellipsis-1 value">{{item.BeauticianName}}</view>
43 </view> 43 </view>
44 <!-- 预约人及联系方式 --> 44 <!-- 预约人及联系方式 -->
45 <!-- 姓名 --> 45 <!-- 姓名 -->
@@ -49,7 +49,7 @@ @@ -49,7 +49,7 @@
49 <view>约</view> 49 <view>约</view>
50 <view>人:</view> 50 <view>人:</view>
51 </view> 51 </view>
52 - <view class="ellipsis-1 value">{{tment_details.name}}</view> 52 + <view class="ellipsis-1 value">{{item.VIPName}}</view>
53 </view> 53 </view>
54 <!-- 号码 --> 54 <!-- 号码 -->
55 <view class="flex-vertical"> 55 <view class="flex-vertical">
@@ -58,7 +58,7 @@ @@ -58,7 +58,7 @@
58 <view>机</view> 58 <view>机</view>
59 <view>人:</view> 59 <view>人:</view>
60 </view> 60 </view>
61 - <view>{{tment_details.phone}}</view> 61 + <view>{{item.MobileTel}}</view>
62 </view> 62 </view>
63 </view> 63 </view>
64 </view> 64 </view>
@@ -82,22 +82,25 @@ @@ -82,22 +82,25 @@
82 <!-- submit栏 --> 82 <!-- submit栏 -->
83 <view class="subs flex-vertical-between fs32"> 83 <view class="subs flex-vertical-between fs32">
84 <!-- 左边栏 --> 84 <!-- 左边栏 -->
85 - <view class="sub flex-center yellow-b" wx:if="{{tment_details.state==1}}">  
86 - <view class="yellow-b" wx:if="{{tment_details.state==1}}">取消预约</view> 85 + <view class="sub flex-center yellow-b" wx:if="{{item.States==1}}">
  86 + <view class="yellow-b" wx:if="{{item.States==1}}">取消预约</view>
87 </view> 87 </view>
88 - <navigator wx:if="{{tment_details.state!=1}}" class="sub flex-center yellow-b" url="/pages/user/my_service/tment_order_list"> 88 + <navigator wx:if="{{item.States!=1}}" class="sub flex-center yellow-b" url="/pages/user/my_service/tment_order_list">
89 <view class="yellow-b">我的服务</view> 89 <view class="yellow-b">我的服务</view>
90 </navigator> 90 </navigator>
91 <!-- 右边栏 --> 91 <!-- 右边栏 -->
92 - <navigator wx:if="{{tment_details.state==1}}" class="sub rb flex-center" url="/pages/user/my_service/beauty_deta"> 92 + <navigator wx:if="{{item.States==0}}" class="sub rb flex-center" url="/pages/user/my_service/beauty_deta">
93 <view>更改时间</view> 93 <view>更改时间</view>
94 </navigator> 94 </navigator>
95 - <navigator wx:if="{{tment_details.state==2}}" class="sub rb flex-center" url="/pages/user/my_service/tment_eval"> 95 + <navigator wx:if="{{item.States==1}}" class="sub rb flex-center" url="/pages/user/my_service/tment_eval">
96 <view>发表评价</view> 96 <view>发表评价</view>
97 </navigator> 97 </navigator>
98 - <navigator wx:if="{{tment_details.state==3}}" class="sub rb flex-center" url="/pages/user/my_service/appment_main"> 98 + <navigator wx:if="{{item.States==2}}" class="sub rb flex-center" url="/pages/user/my_service/appment_main">
99 <view>重新预约</view> 99 <view>重新预约</view>
100 </navigator> 100 </navigator>
  101 + <navigator wx:if="{{item.States==3}}" class="sub rb flex-center" bindtap="goto">
  102 + <view>回到首页</view>
  103 + </navigator>
101 104
102 </view> 105 </view>
103 </view> 106 </view>
pages/user/my_service/tment_eval.js
@@ -9,10 +9,16 @@ Page({ @@ -9,10 +9,16 @@ Page({
9 * 页面的初始数据 9 * 页面的初始数据
10 */ 10 */
11 data: { 11 data: {
  12 + url: a.url, //接口网址
12 iurl: a.imghost, 13 iurl: a.imghost,
13 - stars_index: -1,  
14 - labels: [],  
15 - sub_evaluate:0 14 + stars_index: -1, //当前点击的星星下标
  15 + labels: [], //星级标签数组
  16 + sub_evaluate: 0, //是否评价成功
  17 + proposal: "", //用户输入的建议
  18 + proposal_size: 100, //评价意见和建议限定字数
  19 + number: "", //订单单号
  20 + beautician: "", //美容师信息
  21 + fromType: "服务评价", //评价来源
16 }, 22 },
17 //点击星级 23 //点击星级
18 check_stars: function(e) { 24 check_stars: function(e) {
@@ -41,15 +47,13 @@ Page({ @@ -41,15 +47,13 @@ Page({
41 }) 47 })
42 } 48 }
43 }, 49 },
44 - //提交评价  
45 - Subs: function() {  
46 - var th = this;  
47 - th.setData({  
48 - sub_evaluate:1  
49 - })  
50 - wx.navigateTo({  
51 - url: "/pages/user/my_service/tment_order_list"  
52 - }); 50 + //输入评价意见和建议
  51 + input_proposal: function(e) {
  52 + var th = this;
  53 + var value = e.detail.value;
  54 + th.setData({
  55 + proposal: value
  56 + })
53 }, 57 },
54 //图片失败,默认图片 58 //图片失败,默认图片
55 bind_bnerr1: function(e) { 59 bind_bnerr1: function(e) {
@@ -76,11 +80,90 @@ Page({ @@ -76,11 +80,90 @@ Page({
76 [labels]: label_id 80 [labels]: label_id
77 }) 81 })
78 }, 82 },
  83 + //查询美容师信息
  84 + query_bea: function() {
  85 + var th = this;
  86 + var url = "/api/weshop/marketing/reservation/reservation/page";
  87 + var number = th.data.number; //订单编号
  88 + getApp().request.promiseGet(url, {
  89 + data: {
  90 + storeId: a.stoid,
  91 + userId: d.user_id,
  92 + number: number
  93 + }
  94 + }).then(res => {
  95 + if (res.data.code == 0) {
  96 + var data = res.data.data.pageData;
  97 + data = data[0].ArrangeTime.substring(0, 11);
  98 + th.setData({
  99 + beautician: data[0]
  100 + })
  101 + } else {
  102 + getApp().my_warnning(res.data.msg, 0, th);
  103 + }
  104 + })
  105 + },
  106 + //提交评价
  107 + evaluate_save: function() {
  108 + var th = this;
  109 + var stars = th.data.stars_index; //评价星级
  110 + //判断是否评级
  111 + if (stars < 0) {
  112 + getApp().my_warnning("请进行评分", 0, th);
  113 + return false;
  114 + }
  115 + var labels = th.data.labels; //星级标签数组
  116 + var evaLabList = []; //用户选择的评价标签
  117 + // 查询评价标签
  118 + for (var i = 0; i < labels.length; i++) {
  119 + if (labels[i].check) {
  120 + evaLabList.push(labels[i].LabelName);
  121 + }
  122 + }
  123 + var url = th.data.url + "/api/weshop/evaluation/evaluate/save";
  124 + var posNo = th.data.number; //收银单号
  125 + var proposal = th.data.proposal; //用户建议内容
  126 + var fromType = th.data.fromType; //评价来源
  127 + var json = {
  128 + "storeId": a.stoid,
  129 + "evaLabList": evaLabList,
  130 + "fromType": "预约评价",
  131 + "posNo": posNo,
  132 + "remark": proposal,
  133 + "star": stars + 1
  134 + };
  135 + var data = JSON.stringify(json); //转换成json格式
  136 + wx.request({
  137 + url: url,
  138 + data: data,
  139 + method: 'POST',
  140 + header: {
  141 + 'content-type': 'application/json'
  142 + }, // 设置请求的 header
  143 + success: function(res) {
  144 + if (res.data.code == 0) {
  145 + th.setData({
  146 + sub_evaluate: 1
  147 + })
  148 + wx.navigateTo({
  149 + url: "/pages/user/my_service/tment_order_list"
  150 + });
  151 + } else {
  152 + getApp().my_warnning(res.data.msg, 0, th);
  153 + }
  154 + }
  155 + })
  156 +
  157 + },
79 /** 158 /**
80 * 生命周期函数--监听页面加载 159 * 生命周期函数--监听页面加载
81 */ 160 */
82 onLoad: function(options) { 161 onLoad: function(options) {
83 - 162 + var th = this;
  163 + th.setData({
  164 + number: options.Number
  165 + })
  166 + th.query_bea();
84 }, 167 },
85 168
86 /** 169 /**
pages/user/my_service/tment_eval.wxml
@@ -8,19 +8,19 @@ @@ -8,19 +8,19 @@
8 <!-- 姓名 --> 8 <!-- 姓名 -->
9 <view class="flex-level item"> 9 <view class="flex-level item">
10 <view class="itemlf fs32">美容师:</view> 10 <view class="itemlf fs32">美容师:</view>
11 - <view class="itemlr fs30 ellipsis-1">钱巧玲</view> 11 + <view class="itemlr fs30 ellipsis-1">{{beautician.BeauticianName}}</view>
12 </view> 12 </view>
13 13
14 <!-- 项目 --> 14 <!-- 项目 -->
15 <view class="flex-center item"> 15 <view class="flex-center item">
16 <view class="itemlf fs32">服务项目:</view> 16 <view class="itemlf fs32">服务项目:</view>
17 - <view class="itemlr fs30 ellipsis-1">头部按摩</view> 17 + <view class="itemlr fs30 ellipsis-1">{{beautician.ProjectName}}</view>
18 </view> 18 </view>
19 19
20 <!-- 时间 --> 20 <!-- 时间 -->
21 <view class="flex-center"> 21 <view class="flex-center">
22 <view class="itemlf fs32">服务时间:</view> 22 <view class="itemlf fs32">服务时间:</view>
23 - <view class="itemlr fs30">2019-09-06</view> 23 + <view class="itemlr fs30">{{beautician.ArrangeTime}}</view>
24 </view> 24 </view>
25 <!-- 设置虚线 --> 25 <!-- 设置虚线 -->
26 26
@@ -31,13 +31,17 @@ @@ -31,13 +31,17 @@
31 </view> 31 </view>
32 <view class="tea_labs"> 32 <view class="tea_labs">
33 <view class="flex-center fs26"> 33 <view class="flex-center fs26">
34 - <textarea placeholder="写其他意见和建议" placeholder-class="fs24" maxlength="270"></textarea> 34 + <textarea class="rel" placeholder="写其他意见和建议" placeholder-class="fs24" maxlength="{{proposal_size}}" bindinput="input_proposal" value="{{proposal}}">
  35 + <!-- 提示已输入多少数字 -->
  36 + <view class="proposal abs">{{proposal.length}}/{{proposal_size}}</view>
  37 + </textarea>
35 </view> 38 </view>
36 39
37 - <view wx:if="{{labels.length>0}}" class="labels flex fs26 ellipsis-3"> 40 + <view wx:if="{{labels.length>0}}" class="labels flex fs24 ellipsis-3">
38 <view class="label {{item.check==1?'checklabel':''}} flex-center" wx:for="{{labels}}" bindtap="check_label" data-index="{{key}}" wx:for-index="key"> 41 <view class="label {{item.check==1?'checklabel':''}} flex-center" wx:for="{{labels}}" bindtap="check_label" data-index="{{key}}" wx:for-index="key">
39 <view class="ellipsis-1">{{item.LabelName}}</view> 42 <view class="ellipsis-1">{{item.LabelName}}</view>
40 </view> 43 </view>
  44 +
41 </view> 45 </view>
42 </view> 46 </view>
43 47
@@ -45,7 +49,7 @@ @@ -45,7 +49,7 @@
45 <view>满意的话请打五星噢,谢谢您的支持!</view> 49 <view>满意的话请打五星噢,谢谢您的支持!</view>
46 </view> 50 </view>
47 51
48 - <navigator class="Subs fs32 flex-center" bindtap="Subs"> 52 + <navigator class="Subs fs32 flex-center" bindtap="evaluate_save">
49 <view class="Submission flex-center"> 53 <view class="Submission flex-center">
50 <view>确认提交</view> 54 <view>确认提交</view>
51 </view> 55 </view>
pages/user/my_service/tment_eval.wxss
1 .container { 1 .container {
2 border-top: 7rpx solid rgb(245, 245, 245); 2 border-top: 7rpx solid rgb(245, 245, 245);
  3 + padding-bottom: 100rpx;
3 } 4 }
4 5
5 .head { 6 .head {
@@ -41,9 +42,15 @@ @@ -41,9 +42,15 @@
41 padding: 0rpx 56rpx; 42 padding: 0rpx 56rpx;
42 } 43 }
43 44
  45 +.proposal {
  46 + right: 20rpx;
  47 + bottom: 20rpx;
  48 + color: rgb(152, 152, 152);
  49 +}
  50 +
44 textarea { 51 textarea {
45 width: 100%; 52 width: 100%;
46 - height: 240rpx; 53 + height: 200rpx;
47 margin-top: 70rpx; 54 margin-top: 70rpx;
48 border: 2rpx solid rgb(203, 203, 203); 55 border: 2rpx solid rgb(203, 203, 203);
49 border-radius: 13rpx; 56 border-radius: 13rpx;
@@ -55,21 +62,25 @@ textarea { @@ -55,21 +62,25 @@ textarea {
55 } 62 }
56 63
57 .labels { 64 .labels {
58 - margin-bottom: 35rpx; 65 + margin-bottom: 25rpx;
59 display: inline-block; 66 display: inline-block;
60 max-height: 240rxp; 67 max-height: 240rxp;
  68 + line-height: 50rpx;
  69 + padding-left: 15rpx;
61 } 70 }
62 71
63 .label { 72 .label {
64 - padding: 0rpx 15rpx; 73 + padding: 0rpx 10rpx;
65 height: 48rpx; 74 height: 48rpx;
66 line-height: 48rpx; 75 line-height: 48rpx;
67 border: 2rpx solid rgb(218, 218, 218); 76 border: 2rpx solid rgb(218, 218, 218);
68 color: rgb(152, 152, 152); 77 color: rgb(152, 152, 152);
69 border-radius: 5rpx; 78 border-radius: 5rpx;
70 - margin-right: 15rpx;  
71 - max-width: 165rpx; 79 + margin-right: 20rpx;
  80 + width: 165rpx;
72 display: inline-block; 81 display: inline-block;
  82 + text-align: center;
  83 + margin-bottom: 10rpx;
73 } 84 }
74 85
75 /* 选择标签的样式 */ 86 /* 选择标签的样式 */
@@ -85,14 +96,17 @@ textarea { @@ -85,14 +96,17 @@ textarea {
85 margin-bottom: 70rpx; 96 margin-bottom: 70rpx;
86 } 97 }
87 98
88 -.Subs{  
89 - background-color: rgb(255,255,255); 99 +.Subs {
  100 + background-color: rgb(255, 255, 255);
  101 + position: fixed;
  102 + width: 100%;
  103 + bottom: 40rpx;
90 } 104 }
91 105
92 .Submission { 106 .Submission {
93 width: 400rpx; 107 width: 400rpx;
94 height: 65rpx; 108 height: 65rpx;
95 - border-radius: 40rpx; 109 + border-radius: 60rpx;
96 background-color: rgb(214, 1, 33); 110 background-color: rgb(214, 1, 33);
97 color: rgb(255, 255, 255); 111 color: rgb(255, 255, 255);
98 } 112 }
pages/user/my_service/tment_order_list.js
@@ -9,7 +9,8 @@ Page({ @@ -9,7 +9,8 @@ Page({
9 * 页面的初始数据 9 * 页面的初始数据
10 */ 10 */
11 data: { 11 data: {
12 - iurl: a.imghost, 12 + url: a.url, //接口网址
  13 + iurl: a.imghost, //图片网址
13 activeCategoryId: 0, //类别选中下标 14 activeCategoryId: 0, //类别选中下标
14 defimgurl: "/miniapp/images/yyservice/yyxmdefault.jpg", 15 defimgurl: "/miniapp/images/yyservice/yyxmdefault.jpg",
15 categories: [{ 16 categories: [{
@@ -26,11 +27,12 @@ Page({ @@ -26,11 +27,12 @@ Page({
26 id: 3 27 id: 3
27 }], 28 }],
28 tm_order_list: [], //我的预约订单列表 29 tm_order_list: [], //我的预约订单列表
29 - is_service_read: 0,  
30 curpage: 1, //当前分页数 30 curpage: 1, //当前分页数
31 pageSize: 10, //页大小 31 pageSize: 10, //页大小
32 total: 0, 32 total: 0,
33 ismore: 0, //是否加载完毕 33 ismore: 0, //是否加载完毕
  34 + is_read: 0, //是否加载接口
  35 + states: 4, //4为取消预约
34 }, 36 },
35 37
36 /** 38 /**
@@ -48,7 +50,8 @@ Page({ @@ -48,7 +50,8 @@ Page({
48 activeCategoryId: id, 50 activeCategoryId: id,
49 tm_order_list: [], 51 tm_order_list: [],
50 curpage: 1, 52 curpage: 1,
51 - ismore: 0 53 + ismore: 0,
  54 + is_read: 0
52 }) 55 })
53 th.query_orderList(); 56 th.query_orderList();
54 } else { 57 } else {
@@ -80,17 +83,76 @@ Page({ @@ -80,17 +83,76 @@ Page({
80 getApp().request.promiseGet(url, { 83 getApp().request.promiseGet(url, {
81 data: { 84 data: {
82 storeId: a.stoid, 85 storeId: a.stoid,
83 - userId: 5682130,  
84 - state: state_index 86 + userId: d.user_id,
  87 + state: state_index,
  88 + page: th.data.curpage,
  89 + pageSize: th.data.pageSize
85 } 90 }
86 }).then(res => { 91 }).then(res => {
  92 +
87 if (res.data.code == 0) { 93 if (res.data.code == 0) {
88 - var data = res.data.data.pageData; 94 + wx.hideLoading();
  95 + th.data.curpage++;
  96 + var arr1 = th.data.tm_order_list;
  97 + var arr2 = res.data.data.pageData;
  98 + var arr3 = [...arr1, ...arr2];
  99 + var ismore = 0;
  100 + if (arr3.length == res.data.data.total) ismore = 1
89 th.setData({ 101 th.setData({
90 - tm_order_list: data  
91 - }) 102 + tm_order_list: arr3,
  103 + total: res.data.data.total,
  104 + ismore: ismore,
  105 + is_read:1
  106 + }), wx.stopPullDownRefresh(); //停止下拉刷新 {
92 } else { 107 } else {
93 - getApp().my_warnning(res.data.msg, 0, this); //调用失败提示 108 + th.setData({
  109 + tm_order_list: [],
  110 + is_read: 1
  111 + })
  112 + }
  113 + })
  114 +
  115 + },
  116 + //取消预约
  117 + cancel_tment: function(e) {
  118 + var th = this;
  119 + var index = e.currentTarget.dataset.index;
  120 + var states = th.data.states;
  121 + var order_list = th.data.tm_order_list;
  122 + var number = order_list[index].Number;
  123 + var json = {
  124 + "number": number,
  125 + "storeId": a.stoid,
  126 + "states": 3
  127 + };
  128 + var data = JSON.stringify(json);
  129 + var url = th.data.url + "/api/weshop/marketing/reservation/reservation/update"; //预约接口地址
  130 + wx.request({
  131 + url: url,
  132 + data: data,
  133 + method: 'put',
  134 + header: {
  135 + 'content-type': 'application/json'
  136 + }, // 设置请求的 header
  137 + success: function(res) {
  138 + if (res.data.code == 0) {
  139 + getApp().my_warnning("取消成功", 0, th);
  140 + var id = th.data.activeCategoryId;
  141 + if (id == 1) {
  142 + order_list.splice(index, 1);
  143 + th.setData({
  144 + tm_order_list: order_list
  145 + })
  146 + } else {
  147 + var start = 'tm_order_list[' + index + '].State';
  148 + th.setData({
  149 + [start]: 3
  150 + })
  151 + }
  152 +
  153 + } else {
  154 + getApp().my_warnning(res.data.msg, 0, th);
  155 + }
94 } 156 }
95 }) 157 })
96 158
@@ -118,8 +180,8 @@ Page({ @@ -118,8 +180,8 @@ Page({
118 */ 180 */
119 onReachBottom: function() { 181 onReachBottom: function() {
120 var th = this; 182 var th = this;
121 - if (this.data.total <= th.data.pageSize) return;  
122 - if (this.data.ismore) return; 183 + if (th.data.total <= th.data.pageSize) return;
  184 + if (th.data.ismore) return;
123 185
124 wx.showLoading({ 186 wx.showLoading({
125 title: '加载中...', 187 title: '加载中...',
pages/user/my_service/tment_order_list.wxml
@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
18 <view wx:if="{{item.State==1}}">已服务</view> 18 <view wx:if="{{item.State==1}}">已服务</view>
19 <view wx:if="{{item.State==2}}">已过期</view> 19 <view wx:if="{{item.State==2}}">已过期</view>
20 <view wx:if="{{item.State==3}}">已取消</view> 20 <view wx:if="{{item.State==3}}">已取消</view>
  21 + <view wx:if="{{item.State>3}}">订单异常</view>
21 </view> 22 </view>
22 </view> 23 </view>
23 24
@@ -36,7 +37,7 @@ @@ -36,7 +37,7 @@
36 </view> 37 </view>
37 <view class="item flex-vertical"> 38 <view class="item flex-vertical">
38 <view class="itemname">预约项目:</view> 39 <view class="itemname">预约项目:</view>
39 - <view class="itemvalue ellipsis-1">{{item.projectName}}</view> 40 + <view class="itemvalue ellipsis-1">{{item.ProjectName}}</view>
40 </view> 41 </view>
41 <view class="item flex-vertical"> 42 <view class="item flex-vertical">
42 <view class="itemname">美容师:</view> 43 <view class="itemname">美容师:</view>
@@ -44,11 +45,11 @@ @@ -44,11 +45,11 @@
44 </view> 45 </view>
45 <view class="item flex-vertical"> 46 <view class="item flex-vertical">
46 <view class="itemname">预约时间:</view> 47 <view class="itemname">预约时间:</view>
47 - <view>{{item.ArrangeTime}}</view> 48 + <view>{{item.BillDate}}</view>
48 </view> 49 </view>
49 - <view class="item flex-vertical" wx:if="{{item.BillDate==''?false:true}}"> 50 + <view class="item flex-vertical" wx:if="{{item.ArrangeTime==''?false:true}}">
50 <view class="itemname">服务时间:</view> 51 <view class="itemname">服务时间:</view>
51 - <view>{{item.BillDate}}</view> 52 + <view>{{item.ArrangeTime}}</view>
52 </view> 53 </view>
53 </view> 54 </view>
54 55
@@ -57,18 +58,17 @@ @@ -57,18 +58,17 @@
57 <view class="Unim flex-right-vertical fs26 padding"> 58 <view class="Unim flex-right-vertical fs26 padding">
58 <image wx:if="{{item.State==0}}" src="{{iurl}}miniapp/images/order/code.png" class="code" bindtap="code_show" data-order_sn="{{item.Number}}"></image> 59 <image wx:if="{{item.State==0}}" src="{{iurl}}miniapp/images/order/code.png" class="code" bindtap="code_show" data-order_sn="{{item.Number}}"></image>
59 <block wx:if="{{item.State==0}}"> 60 <block wx:if="{{item.State==0}}">
60 - <navigator url="/pages/user/my_service/tment_details" class="Unimportance flex-level">取消预约</navigator> 61 + <view class="Unimportance flex-level" data-index="{{index}}" bindtap="cancel_tment">取消预约</view>
61 </block> 62 </block>
62 <block wx:else> 63 <block wx:else>
63 - <navigator url="/pages/user/my_service/tment_details" class="Unimportance flex-level">查看详情</navigator> 64 + <navigator url="/pages/user/my_service/tment_details?number={{item.Number}}" class="Unimportance flex-level">查看详情</navigator>
64 </block> 65 </block>
65 - <navigator wx:if="{{item.State==0}}" class="important Unimportance flex-level" url="/pages/user/my_service/beauty_deta">更改时间</navigator>  
66 - <navigator wx:if="{{item.State==1}}" url="/pages/user/my_service/tment_eval" class="important Unimportance flex-level">发表评价</navigator>  
67 - <navigator wx:if="{{item.State==2}}" url="/pages/user/my_service/appment_main" class="important Unimportance flex-level">重新预约</navigator>  
68 - 66 + <navigator wx:if="{{item.State==0}}" class="important Unimportance flex-level" url="/pages/user/my_service/beauty_deta?BeauticianID={{item.BeauticianID}}">更改时间</navigator>
  67 + <navigator wx:if="{{item.State==1}}" url="/pages/user/my_service/tment_eval?Number={{item.Number}}" class="important Unimportance flex-level">发表评价</navigator>
  68 + <navigator wx:if="{{item.State==2 || item.State==3}}" url="/pages/user/my_service/appment_main?itemId={{item.ProjectID}}&BuyType={{item.BuyType}}" class="important Unimportance flex-level">重新预约</navigator>
69 </view> 69 </view>
70 </view> 70 </view>
71 - <view class="exactly flex-center fs26" wx:if="{{ismore && service_List.length>=pageSize}}"> 71 + <view class="exactly flex-center fs26" wx:if="{{ismore & tm_order_list.length>3}}">
72 <view class="line"></view> 72 <view class="line"></view>
73 <view class="exactly_text">到底了</view> 73 <view class="exactly_text">到底了</view>
74 <view class="line"></view> 74 <view class="line"></view>
@@ -77,9 +77,9 @@ @@ -77,9 +77,9 @@
77 </view> 77 </view>
78 78
79 <!-- 无预约订单 --> 79 <!-- 无预约订单 -->
80 -<view class="empty_order" wx:if="{{tm_order_list.length<1 && is_service_read }}"> 80 +<view class="empty_order" wx:if="{{tm_order_list.length<1 && is_read}}">
81 <view class="flex-level"> 81 <view class="flex-level">
82 - <image src="{{iurl}}miniapp/images/order/empty_order.png"></image> 82 + <image src="{{iurl}}miniapp/images/order/empty_order.png" lazy-load="true"></image>
83 </view> 83 </view>
84 <view class="flex-level fs30 xc-ash">暂无预约记录</view> 84 <view class="flex-level fs30 xc-ash">暂无预约记录</view>
85 <view class="flex-level"> 85 <view class="flex-level">
pages/user/my_service/tment_order_list.wxss
@@ -115,7 +115,7 @@ page { @@ -115,7 +115,7 @@ page {
115 115
116 .empty_order image { 116 .empty_order image {
117 width: 300rpx; 117 width: 300rpx;
118 - height: 300rpx; 118 + height: 280rpx;
119 margin-top: 202rpx; 119 margin-top: 202rpx;
120 } 120 }
121 121