Commit 63bdfdac76d59c4cf3d38128ab4f76226740aa58
1 parent
fc4f87d8
改目录
Showing
33 changed files
with
2397 additions
and
2 deletions
app.json
1 | { | 1 | { |
2 | "pages": [ | 2 | "pages": [ |
3 | - "pages/user/Appment_main/Appment_main", | ||
4 | - "pages/user/my_service/my_service", | 3 | + "pages/user/my_service/appment_main", |
4 | + "pages/user/my_service/i_service", | ||
5 | + "pages/user/my_service/cosmetology_list", | ||
6 | + "pages/user/my_service/hist_service", | ||
7 | + "pages/user/my_service/tment_details", | ||
8 | + "pages/user/my_service/tment_eval", | ||
9 | + "pages/user/my_service/tment_order_list", | ||
10 | + "pages/user/my_service/beauty_deta", | ||
5 | "pages/index/index/index", | 11 | "pages/index/index/index", |
6 | "pages/goods/categoryList/categoryList", | 12 | "pages/goods/categoryList/categoryList", |
7 | "pages/cart/cart/cart", | 13 | "pages/cart/cart/cart", |
pages/user/my_service/appment_main.js
0 → 100644
1 | +var e = getApp(), | ||
2 | + a = e.globalData.setting, | ||
3 | + os = a, | ||
4 | + t = e.request; | ||
5 | +Page({ | ||
6 | + | ||
7 | + /** | ||
8 | + * 页面的初始数据 | ||
9 | + */ | ||
10 | + data: { | ||
11 | + iurl: a.imghost, //服务器网址 | ||
12 | + store: 0, //是否显示服务门店列表 | ||
13 | + beautician: 0, //是否显示美容师列表 | ||
14 | + beautician_name: null, //选中的美容师名称 | ||
15 | + placeholder: "填写备注", //备注为空的placeholder | ||
16 | + store_list: null, //门店列表 | ||
17 | + store_name: null, //选择的服务门店 | ||
18 | + fir_pick_index: 0, //选择的门店下标 | ||
19 | + }, | ||
20 | + onclickstore: function() { | ||
21 | + var th = this; | ||
22 | + var store = th.data.store; | ||
23 | + if (store) { | ||
24 | + th.setData({ | ||
25 | + store: 0, | ||
26 | + placeholder: "填写备注" | ||
27 | + }) | ||
28 | + } else { | ||
29 | + th.setData({ | ||
30 | + store: 1, | ||
31 | + placeholder: "" | ||
32 | + }) | ||
33 | + } | ||
34 | + }, | ||
35 | + query_bea: function(e) { | ||
36 | + var th = this; | ||
37 | + //获取选择美容师字段是不是为null,是的话就提示用户先选择门店 | ||
38 | + if (true) { | ||
39 | + var beautician = th.data.beautician; | ||
40 | + var beaname = e.currentTarget.dataset.beaname; | ||
41 | + if (beautician) { | ||
42 | + // 判断是否选择美容师没有的话就把美容师列表收起来 | ||
43 | + if (beaname != undefined) { | ||
44 | + th.setData({ | ||
45 | + beautician: 0, | ||
46 | + beautician_name: beaname, | ||
47 | + placeholder: "填写备注" | ||
48 | + }) | ||
49 | + } else { | ||
50 | + th.setData({ | ||
51 | + beautician: 0, | ||
52 | + placeholder: "填写备注" | ||
53 | + }) | ||
54 | + } | ||
55 | + } else { | ||
56 | + th.setData({ | ||
57 | + beautician: 1, | ||
58 | + placeholder: "" | ||
59 | + }) | ||
60 | + } | ||
61 | + | ||
62 | + } else { | ||
63 | + getApp().my_warnning("请先选择服务门店", 0, th); | ||
64 | + } | ||
65 | + }, | ||
66 | + goto: function(e) { | ||
67 | + var th = this; | ||
68 | + if (th.data.beautician_name != null) { | ||
69 | + var url = e.currentTarget.dataset.url; | ||
70 | + getApp().goto(url); | ||
71 | + } else { | ||
72 | + getApp().my_warnning("请先选择美容师", 0, th); | ||
73 | + } | ||
74 | + }, | ||
75 | + //点击选择门店 | ||
76 | + choose_for_store: function(e) { | ||
77 | + var th = this; | ||
78 | + var index_c = e.currentTarget.dataset.ind; | ||
79 | + var fir_pick_index = th.data.fir_pick_index; | ||
80 | + //判断是否点击选中的门店,防止重复点击重复设置选中下标 | ||
81 | + if (index_c == fir_pick_index) { | ||
82 | + return false; | ||
83 | + } else { | ||
84 | + th.setData({ | ||
85 | + fir_pick_index: index_c | ||
86 | + }) | ||
87 | + } | ||
88 | + }, | ||
89 | + //确认选择门店 | ||
90 | + choice_store: function() { | ||
91 | + var th = this; | ||
92 | + var index = th.data.fir_pick_index; | ||
93 | + var pickup_name = th.data.store_list[index].pickup_name; | ||
94 | + th.setData({ | ||
95 | + store: 0, | ||
96 | + store_name: pickup_name | ||
97 | + }) | ||
98 | + }, | ||
99 | + /** | ||
100 | + * 生命周期函数--监听页面加载 | ||
101 | + */ | ||
102 | + onLoad: function(options) { | ||
103 | + | ||
104 | + }, | ||
105 | + | ||
106 | + /** | ||
107 | + * 生命周期函数--监听页面显示 | ||
108 | + */ | ||
109 | + onShow: function() { | ||
110 | + var th = this; | ||
111 | + wx.request({ | ||
112 | + url: 'http://localhost:8022/api/weshop/yy_fuwu_sto', | ||
113 | + success: function(e) { | ||
114 | + if (e.data.code == 0) { | ||
115 | + th.setData({ | ||
116 | + store_list: e.data.data.pageData | ||
117 | + }) | ||
118 | + } | ||
119 | + } | ||
120 | + }) | ||
121 | + } | ||
122 | +}) | ||
0 | \ No newline at end of file | 123 | \ No newline at end of file |
pages/user/my_service/appment_main.json
0 → 100644
pages/user/my_service/appment_main.wxml
0 → 100644
1 | +<view class="container"> | ||
2 | + <image class="main" src="{{iurl}}/miniapp/images/yyservice/main.png"></image> | ||
3 | + | ||
4 | + <view class="Fram"> | ||
5 | + <!-- 选择门店 --> | ||
6 | + <view class="flex-vertical mabot"> | ||
7 | + <!-- 门店 --> | ||
8 | + <view class="flex-vertical-between head fs28"> | ||
9 | + <view>门</view> | ||
10 | + <view>店</view> | ||
11 | + </view> | ||
12 | + | ||
13 | + <!-- 选择门店 --> | ||
14 | + <view class="flex-vertical-between fs26 select" bindtap="onclickstore"> | ||
15 | + <view class="color value ellipsis-1">{{store_name==null?'选择服务门店':store_name}}</view> | ||
16 | + <view class="angle">∟</view> | ||
17 | + </view> | ||
18 | + </view> | ||
19 | + <!-- 选择美容师 --> | ||
20 | + <view class="flex-vertical mabot"> | ||
21 | + <!-- 门店 --> | ||
22 | + <view class="flex-vertical-between head fs28"> | ||
23 | + <view>美</view> | ||
24 | + <view>容</view> | ||
25 | + <view>师</view> | ||
26 | + </view> | ||
27 | + | ||
28 | + <!-- 选择门店 --> | ||
29 | + <view class="rel fs26"> | ||
30 | + <view class="flex-vertical-between Cosmetology" bindtap="query_bea"> | ||
31 | + <view class="color value ellipsis-1">{{beautician_name==null?'选择美容师':beautician_name}}</view> | ||
32 | + <view class="angle">∟</view> | ||
33 | + </view> | ||
34 | + <!-- 美容师下拉列表 --> | ||
35 | + <view class="beauticians abs" wx:if="{{beautician}}"> | ||
36 | + <!-- 到时候要做判断如果是index==循环的最后一个则把下边线去掉:(beaclone去掉的css) --> | ||
37 | + <view class="beautician flex-vertical fs26" wx:for="11" bindtap="query_bea" data-beaname="钱巧玲"> | ||
38 | + <view>钱巧玲</view> | ||
39 | + </view> | ||
40 | + <view> | ||
41 | + </view> | ||
42 | + </view> | ||
43 | + </view> | ||
44 | + <navigator class="flex-center" url="/pages/user/Cosmetology_list/Cosmetology_list"> | ||
45 | + <image class="user" src="{{iurl}}/miniapp/images/yyservice/user.png"></image> | ||
46 | + </navigator> | ||
47 | + </view> | ||
48 | + | ||
49 | + <!-- 选择时间 --> | ||
50 | + <view class="flex-vertical mabot"> | ||
51 | + <!-- 门店 --> | ||
52 | + <view class="head fs28"> | ||
53 | + <view>预约时间</view> | ||
54 | + </view> | ||
55 | + | ||
56 | + <!-- 选择门店 --> | ||
57 | + <view class="flex-vertical-between fs26 select" data-url="/pages/user/beauty_deta/beauty_deta" bindtap="goto"> | ||
58 | + <view class="color">选择时间</view> | ||
59 | + <view class="angle angler">∟</view> | ||
60 | + </view> | ||
61 | + </view> | ||
62 | + | ||
63 | + <!-- 备注 --> | ||
64 | + <view class="flex Remarks"> | ||
65 | + <!-- 门店 --> | ||
66 | + <view class="flex-space-between head fs28"> | ||
67 | + <view>备</view> | ||
68 | + <view>注</view> | ||
69 | + </view> | ||
70 | + <view class="flex fs26"> | ||
71 | + <block wx:if="{{store==0 && beautician==0}}"> | ||
72 | + <textarea class="textarea" disabled="{{store || beautician}}" placeholder="{{placeholder}}" placeholder-class="fs26 color" value=""> | ||
73 | + </textarea> | ||
74 | + </block> | ||
75 | + <block wx:else> | ||
76 | + <view class="textarea">填写备注 | ||
77 | + </view> | ||
78 | + </block> | ||
79 | + </view> | ||
80 | + </view> | ||
81 | + <view class="notes flex-level-right fs24 color"> | ||
82 | + <view>注:剩余可预约人数10人</view> | ||
83 | + </view> | ||
84 | + | ||
85 | + <view class="submitMax flex-space-between fs30"> | ||
86 | + <navigator class="appment flex-center" url="/pages/user/my_service/tment_order_list/tment_order_list"> | ||
87 | + <view>我的预约</view> | ||
88 | + </navigator> | ||
89 | + <view class="sub_appment flex-center"> | ||
90 | + <view>提交预约</view> | ||
91 | + </view> | ||
92 | + </view> | ||
93 | + | ||
94 | + <block wx:if="{{false}}"> | ||
95 | + <view class="subSuccess fs36"> | ||
96 | + <image class="Success" src="{{iurl}}/miniapp/images/yyservice/Success.png"></image> | ||
97 | + <view>预约成功</view> | ||
98 | + </view> | ||
99 | + </block> | ||
100 | + </view> | ||
101 | + | ||
102 | +</view> | ||
103 | + | ||
104 | +<!-- 门店列表显示 --> | ||
105 | +<view wx:if="{{store}}" class="storeList fixed"> | ||
106 | + <view class="choice flex-vertical-between fs32 storeListpadd"> | ||
107 | + <view>选择服务门店</view> | ||
108 | + <icon bindtap="onclickstore" color="black" size="22" type="cancel"></icon> | ||
109 | + </view> | ||
110 | + <view class="searchbar flex-vertical-between storeListpadd"> | ||
111 | + <input class="inputstore fs28" placeholder="输入要搜索的门店" placeholder-class="fs28" maxlength="16" /> | ||
112 | + <view class="search flex-center"> | ||
113 | + <view class="fs28">搜索</view> | ||
114 | + </view> | ||
115 | + </view> | ||
116 | + <!-- 选择门店 --> | ||
117 | + <view class="stores"> | ||
118 | + <view class="store flex-vertical" wx:for="{{store_list}}" bindtap="choose_for_store" data-ind="{{index}}"> | ||
119 | + <block wx:if="{{index==fir_pick_index}}"> | ||
120 | + <icon class="icon" type="success" color="red" size="20"></icon> | ||
121 | + </block> | ||
122 | + <block wx:else> | ||
123 | + <view class="circular"></view> | ||
124 | + </block> | ||
125 | + <view class="store_name_dis"> | ||
126 | + <view class="name_dis flex-vertical-between"> | ||
127 | + <view class="store_name fs28 ellipsis-1">{{item.pickup_name}}</view> | ||
128 | + <view class="store_dis flex fs22"> | ||
129 | + <view class="ellipsis-1">距您: 728m</view> | ||
130 | + </view> | ||
131 | + </view> | ||
132 | + <view class="store_address fs24 ellipsis-2">地址:{{item.fulladdress}}</view> | ||
133 | + </view> | ||
134 | + </view> | ||
135 | + </view> | ||
136 | + <!-- sub --> | ||
137 | + <view class="flex-center fs32" bindtap="choice_store"> | ||
138 | + <view class="determine flex-center"> | ||
139 | + <view>确定</view> | ||
140 | + </view> | ||
141 | + </view> | ||
142 | +</view> | ||
143 | +<!-- 蒙尘 --> | ||
144 | +<view wx:if="{{store}}" class="disgraceful" bindtap="onclickstore"></view> | ||
145 | +<warn id="warn"></warn> | ||
0 | \ No newline at end of file | 146 | \ No newline at end of file |
pages/user/my_service/appment_main.wxss
0 → 100644
1 | +.container { | ||
2 | + border-top: 7rpx solid rgb(245, 245, 245); | ||
3 | +} | ||
4 | + | ||
5 | +.main { | ||
6 | + width: 100%; | ||
7 | + height: 305rpx; | ||
8 | +} | ||
9 | + | ||
10 | +.angle { | ||
11 | + transform: rotate(-45deg); | ||
12 | + margin-right: 15rpx; | ||
13 | + margin-bottom: 10rpx; | ||
14 | + font-size: 26rpx; | ||
15 | + color: rgb(142,142,142); | ||
16 | +} | ||
17 | +.angler{ | ||
18 | + transform: rotate(227deg); | ||
19 | + margin-bottom: 0rpx; | ||
20 | +} | ||
21 | + | ||
22 | +.user { | ||
23 | + width: 40rpx; | ||
24 | + height: 40rpx; | ||
25 | + margin-left: 15rpx; | ||
26 | +} | ||
27 | + | ||
28 | +.Fram { | ||
29 | + padding: 0rpx 60rpx; | ||
30 | + margin-top: 60rpx; | ||
31 | +} | ||
32 | + | ||
33 | +.subSuccess { | ||
34 | + position: fixed; | ||
35 | + z-index: 3; | ||
36 | + top: 420rpx; | ||
37 | + left: 110rpx; | ||
38 | + width: 540rpx; | ||
39 | + height: 315rpx; | ||
40 | + background-color: #a6a6a6a4; | ||
41 | + text-align: center; | ||
42 | + border-radius: 20rpx; | ||
43 | + color: rgb(255, 255, 255); | ||
44 | + font-weight: bold; | ||
45 | +} | ||
46 | + | ||
47 | +.Success { | ||
48 | + width: 110rpx; | ||
49 | + height: 110rpx; | ||
50 | + margin-top: 70rpx; | ||
51 | + margin-bottom: 30rpx; | ||
52 | +} | ||
53 | + | ||
54 | +.appment, .sub_appment { | ||
55 | + width: 270rpx; | ||
56 | + height: 55rpx; | ||
57 | + border-radius: 40rpx; | ||
58 | +} | ||
59 | + | ||
60 | +.appment { | ||
61 | + background-color: rgb(238, 238, 238); | ||
62 | +} | ||
63 | + | ||
64 | +.sub_appment { | ||
65 | + background-color: rgb(214, 1, 33); | ||
66 | + color: rgb(255, 255, 255); | ||
67 | +} | ||
68 | + | ||
69 | +.head { | ||
70 | + width: 112rpx; | ||
71 | + margin-right: 40rpx; | ||
72 | + height: 50rpx; | ||
73 | + line-height: 50rpx; | ||
74 | +} | ||
75 | + | ||
76 | +.textarea { | ||
77 | + width: 420rpx; | ||
78 | + background-color: rgb(238, 238, 238); | ||
79 | + border-radius: 10rpx; | ||
80 | + height: 130rpx; | ||
81 | + padding-left: 40rpx; | ||
82 | + padding-right: 15rpx; | ||
83 | + padding-top: 15rpx; | ||
84 | + padding-bottom: 15rpx; | ||
85 | +} | ||
86 | + | ||
87 | +.mabot { | ||
88 | + margin-bottom: 35rpx; | ||
89 | +} | ||
90 | + | ||
91 | +.select { | ||
92 | + width: 420rpx; | ||
93 | + height: 50rpx; | ||
94 | + line-height: 50rpx; | ||
95 | + background-color: rgb(238, 238, 238); | ||
96 | + border-radius: 10rpx; | ||
97 | + padding-left: 40rpx; | ||
98 | + padding-right: 15rpx; | ||
99 | +} | ||
100 | + | ||
101 | +.Cosmetology { | ||
102 | + padding-left: 40rpx; | ||
103 | + padding-right: 15rpx; | ||
104 | + width: 365rpx; | ||
105 | + background-color: rgb(238, 238, 238); | ||
106 | + height: 50rpx; | ||
107 | + line-height: 50rpx; | ||
108 | + border-radius: 10rpx; | ||
109 | +} | ||
110 | + | ||
111 | +.beauticians{ | ||
112 | + width: 407rpx; | ||
113 | + z-index: 3; | ||
114 | + top: 45rpx; | ||
115 | + left: 0rpx; | ||
116 | + padding: 0rpx 5rpx; | ||
117 | + border: 2rpx solid rgb(238, 238, 238); | ||
118 | + background-color: rgb(255, 255, 255); | ||
119 | +} | ||
120 | + | ||
121 | +.beautician { | ||
122 | + height: 60rpx; | ||
123 | + border-bottom: 2rpx solid rgb(238, 238, 238); | ||
124 | + padding-left: 25rpx; | ||
125 | +} | ||
126 | +.beaclone{ | ||
127 | + border-bottom: 0rpx; | ||
128 | +} | ||
129 | +.notes { | ||
130 | + margin-top: 15rpx; | ||
131 | + margin-bottom: 60rpx; | ||
132 | + margin-right: 8rpx; | ||
133 | +} | ||
134 | + | ||
135 | +.color { | ||
136 | + color: rgb(172, 172, 172); | ||
137 | +} | ||
138 | + | ||
139 | +.submitMax { | ||
140 | + margin-top: 50rpx; | ||
141 | + padding: 0rpx 15rpx; | ||
142 | +} | ||
143 | + | ||
144 | +.Remarks { | ||
145 | + margin-top: 15rpx; | ||
146 | +} | ||
147 | + | ||
148 | +/* 蒙尘 */ | ||
149 | + | ||
150 | +.disgraceful { | ||
151 | + position: fixed; | ||
152 | + z-index: 3; | ||
153 | + width: 100%; | ||
154 | + height: 100%; | ||
155 | + top: 0rpx; | ||
156 | + left: 0rpx; | ||
157 | + background-color: rgba(0, 0, 0, 0.4); | ||
158 | +} | ||
159 | + | ||
160 | +.storeList { | ||
161 | + z-index: 4; | ||
162 | + left: 0rpx; | ||
163 | + border-top-left-radius: 25rpx; | ||
164 | + border-top-right-radius: 25rpx; | ||
165 | + background-color: rgb(255, 255, 255); | ||
166 | + width: 100%; | ||
167 | + padding: 45rpx 0rpx; | ||
168 | +} | ||
169 | + | ||
170 | +.storeListpadd { | ||
171 | + padding: 0rpx 31rpx; | ||
172 | +} | ||
173 | + | ||
174 | +.choice { | ||
175 | + margin-bottom: 5rpx; | ||
176 | +} | ||
177 | + | ||
178 | +.inputstore { | ||
179 | + width: 510rpx; | ||
180 | + height: 43rpx; | ||
181 | + line-height: 43rpx; | ||
182 | + border-radius: 30rpx; | ||
183 | + border: 2rpx solid rgb(238, 238, 238); | ||
184 | + padding-left: 30rpx; | ||
185 | +} | ||
186 | + | ||
187 | +.searchbar { | ||
188 | + height: 95rpx; | ||
189 | + border-bottom: 2rpx solid rgb(238, 238, 238); | ||
190 | +} | ||
191 | + | ||
192 | +.search { | ||
193 | + width: 125rpx; | ||
194 | + height: 45rpx; | ||
195 | + line-height: 45rpx; | ||
196 | + background-color: rgb(219, 27, 52); | ||
197 | + border-radius: 30rpx; | ||
198 | + color: rgb(255, 255, 255); | ||
199 | +} | ||
200 | + | ||
201 | +.stores { | ||
202 | + height: 468rpx; | ||
203 | + overflow-y: scroll; | ||
204 | +} | ||
205 | + | ||
206 | +.store { | ||
207 | + margin: 0rpx 16rpx; | ||
208 | + padding-right: 15rpx; | ||
209 | + border-bottom: 2rpx solid rgb(238, 238, 238); | ||
210 | + padding: 20rpx 0rpx; | ||
211 | +} | ||
212 | + | ||
213 | +.icon { | ||
214 | + padding: 0rpx 15rpx; | ||
215 | +} | ||
216 | + | ||
217 | +.circular { | ||
218 | + width: 36rpx; | ||
219 | + height: 36rpx; | ||
220 | + border-radius: 50%; | ||
221 | + border: 2rpx solid rgb(52, 52, 52); | ||
222 | + margin: 0rpx 15rpx; | ||
223 | +} | ||
224 | + | ||
225 | +.store_name_dis { | ||
226 | + width: 90%; | ||
227 | +} | ||
228 | + | ||
229 | +.name_dis { | ||
230 | + margin-bottom: 5rpx; | ||
231 | +} | ||
232 | + | ||
233 | +.store_name { | ||
234 | + max-width: 420rpx; | ||
235 | +} | ||
236 | + | ||
237 | +.store_dis { | ||
238 | + height: 30rpx; | ||
239 | + padding: 5rpx 15rpx; | ||
240 | + background-color: rgb(227, 227, 227); | ||
241 | + border-radius: 25rpx; | ||
242 | + margin-right: 20rpx; | ||
243 | + color: rgb(159, 159, 159); | ||
244 | + max-width: 150rpx; | ||
245 | +} | ||
246 | + | ||
247 | +.store_address { | ||
248 | + color: rgb(159, 159, 159); | ||
249 | +} | ||
250 | + | ||
251 | +.determine { | ||
252 | + background-color: rgb(196, 24, 26); | ||
253 | + width: 500rpx; | ||
254 | + border-radius: 35rpx; | ||
255 | + height: 60rpx; | ||
256 | + color: rgb(255, 255, 255); | ||
257 | + margin: 20rpx 0rpx; | ||
258 | +} | ||
259 | +.value{ | ||
260 | + max-width: 300rpx; | ||
261 | +} | ||
0 | \ No newline at end of file | 262 | \ No newline at end of file |
pages/user/my_service/beauty_deta.js
0 → 100644
1 | +var e = getApp(), a = e.globalData.setting, os = a, t = e.request; | ||
2 | +Page({ | ||
3 | + | ||
4 | + /** | ||
5 | + * 页面的初始数据 | ||
6 | + */ | ||
7 | + data: { | ||
8 | + iurl: a.imghost, | ||
9 | + }, | ||
10 | + | ||
11 | + /** | ||
12 | + * 生命周期函数--监听页面加载 | ||
13 | + */ | ||
14 | + onLoad: function (options) { | ||
15 | + | ||
16 | + }, | ||
17 | + | ||
18 | + /** | ||
19 | + * 生命周期函数--监听页面初次渲染完成 | ||
20 | + */ | ||
21 | + onReady: function () { | ||
22 | + | ||
23 | + }, | ||
24 | + | ||
25 | + /** | ||
26 | + * 生命周期函数--监听页面显示 | ||
27 | + */ | ||
28 | + onShow: function () { | ||
29 | + | ||
30 | + }, | ||
31 | + | ||
32 | + /** | ||
33 | + * 生命周期函数--监听页面隐藏 | ||
34 | + */ | ||
35 | + onHide: function () { | ||
36 | + | ||
37 | + }, | ||
38 | + | ||
39 | + /** | ||
40 | + * 生命周期函数--监听页面卸载 | ||
41 | + */ | ||
42 | + onUnload: function () { | ||
43 | + | ||
44 | + }, | ||
45 | + | ||
46 | + /** | ||
47 | + * 页面相关事件处理函数--监听用户下拉动作 | ||
48 | + */ | ||
49 | + onPullDownRefresh: function () { | ||
50 | + | ||
51 | + }, | ||
52 | + | ||
53 | + /** | ||
54 | + * 页面上拉触底事件的处理函数 | ||
55 | + */ | ||
56 | + onReachBottom: function () { | ||
57 | + | ||
58 | + }, | ||
59 | + | ||
60 | + /** | ||
61 | + * 用户点击右上角分享 | ||
62 | + */ | ||
63 | + onShareAppMessage: function () { | ||
64 | + | ||
65 | + } | ||
66 | +}) | ||
0 | \ No newline at end of file | 67 | \ No newline at end of file |
pages/user/my_service/beauty_deta.json
0 → 100644
pages/user/my_service/beauty_deta.wxml
0 → 100644
1 | +<view class="container"> | ||
2 | + <view class="backcolor"></view> | ||
3 | + | ||
4 | + | ||
5 | + <view class="comments"> | ||
6 | + <!-- 个人信息 --> | ||
7 | + <view class="Personal"> | ||
8 | + <view class="name fs36 ellipsis-1">兰陵王</view> | ||
9 | + <image class="head" src="{{iurl}}/miniapp/images/yyservice/Cosm_appo.png"></image> | ||
10 | + | ||
11 | + <view class="introduce fs26"> | ||
12 | + <block wx:if="{{true}}"> | ||
13 | + 在职业培训、职业技能鉴定与企业用人要求之间建立一-个有效实用的联系,经研究决定,以《职业技能鉴定国家题库操作技能考试手册》的方式,向全社会公布国家题库扬权技能张甲成试题库的全部内容。 | ||
14 | + </block> | ||
15 | + <block wx:else> | ||
16 | + 暂无介绍 | ||
17 | + </block> | ||
18 | + </view> | ||
19 | + </view> | ||
20 | + | ||
21 | + <view> | ||
22 | + <view class="fs36" style="margin-bottom:35rpx;">服务预约</view> | ||
23 | + <scroll-view class="scroll-h fs26 " scroll-x> | ||
24 | + <view class="rel" wx:for="111111" style="display: inline-block;"> | ||
25 | + <view class="scroll-item-h bd {{index==0?'chbd':''}}"> | ||
26 | + <view>今天</view> | ||
27 | + <view>09月10日</view> | ||
28 | + </view> | ||
29 | + <block wx:if="{{index==0}}"> | ||
30 | + <view class="abs box"></view> | ||
31 | + </block> | ||
32 | + </view> | ||
33 | + | ||
34 | + </scroll-view> | ||
35 | + | ||
36 | + <!-- 选择时间 --> | ||
37 | + <view class="Times"> | ||
38 | + <view class="flex-center" wx:for="111110000000" style="display:inline-block;"> | ||
39 | + | ||
40 | + <view class="Time flex-center {{index==0?'chTime':'nochTime'}}"> | ||
41 | + <view> | ||
42 | + <view class="fs26">09:00</view> | ||
43 | + <block wx:if="{{flase}}"> | ||
44 | + <view class="fs24">约满</view> | ||
45 | + </block> | ||
46 | + </view> | ||
47 | + </view> | ||
48 | + </view> | ||
49 | + </view> | ||
50 | + | ||
51 | + <view class="choice flex-center fs32"> | ||
52 | + <view>确定选择</view> | ||
53 | + </view> | ||
54 | + | ||
55 | + </view> | ||
56 | + | ||
57 | + | ||
58 | + | ||
59 | + | ||
60 | + </view> | ||
61 | + | ||
62 | +</view> | ||
0 | \ No newline at end of file | 63 | \ No newline at end of file |
pages/user/my_service/beauty_deta.wxss
0 → 100644
1 | +.container { | ||
2 | + border-top: 7rpx solid rgb(245, 245, 245); | ||
3 | +} | ||
4 | + | ||
5 | +.backcolor { | ||
6 | + position: absolute; | ||
7 | + top: 0rpx; | ||
8 | + left: 0rpx; | ||
9 | + z-index: 0; | ||
10 | + width: 100%; | ||
11 | + height: 270rpx; | ||
12 | + background-color: rgb(214, 1, 33); | ||
13 | +} | ||
14 | + | ||
15 | +.comments { | ||
16 | + position: absolute; | ||
17 | + top: 45rpx; | ||
18 | + left: 0rpx; | ||
19 | + z-index: 1; | ||
20 | + padding: 0rpx 23rpx; | ||
21 | +} | ||
22 | + | ||
23 | +.name { | ||
24 | + font-weight: bold; | ||
25 | + float: left; | ||
26 | + width: 250rpx; | ||
27 | +} | ||
28 | + | ||
29 | +.head { | ||
30 | + width: 130rpx; | ||
31 | + height: 130rpx; | ||
32 | + border-radius: 50%; | ||
33 | + float: right; | ||
34 | + margin: 0rpx 15rpx; | ||
35 | + border: 2rpx solid red; | ||
36 | +} | ||
37 | + | ||
38 | +.introduce { | ||
39 | + margin-top: 90rpx; | ||
40 | + text-indent: 2em; | ||
41 | + color: rgb(102, 102, 102); | ||
42 | +} | ||
43 | + | ||
44 | +.Personal { | ||
45 | + width: 640rpx; | ||
46 | + height: 300rpx; | ||
47 | + background-color: rgb(255, 255, 255); | ||
48 | + border-radius: 5rpx; | ||
49 | + box-shadow: 0rpx 2rpx 2rpx 2rpx rgb(250, 228, 230); | ||
50 | + margin-bottom: 65rpx; | ||
51 | + padding-top: 40rpx; | ||
52 | + padding-left: 35rpx; | ||
53 | + padding-right: 35rpx; | ||
54 | +} | ||
55 | + | ||
56 | +.choice { | ||
57 | + width: 704rpx; | ||
58 | + height: 70rpx; | ||
59 | + background-color: rgb(214, 1, 33); | ||
60 | + color: rgb(255, 255, 255); | ||
61 | +} | ||
62 | + | ||
63 | +.scroll-h { | ||
64 | + white-space: nowrap; | ||
65 | + width: 704rpx; | ||
66 | + margin-bottom: 25rpx; | ||
67 | + overflow: visible; | ||
68 | + height: 125rpx; | ||
69 | + color: transparent; | ||
70 | +} | ||
71 | + | ||
72 | +.scroll-item-h { | ||
73 | + display: inline-block; | ||
74 | + width: 172rpx; | ||
75 | + text-align: center; | ||
76 | + overflow: visible; | ||
77 | + height: 70rpx; | ||
78 | + padding: 15rpx 0rpx; | ||
79 | +} | ||
80 | +::-webkit-scrollbar{ | ||
81 | + width: 0; | ||
82 | + height: 0; | ||
83 | + color: transparent; | ||
84 | +} | ||
85 | +.box { | ||
86 | + width: 0px; | ||
87 | + height: 0px; | ||
88 | + margin-left: 15rpx; | ||
89 | + border-top: 21rpx solid transparent; | ||
90 | + border-right: 21rpx solid transparent; | ||
91 | + border-left: 21rpx solid transparent; | ||
92 | + display: inline-block; | ||
93 | + transform: rotate(180deg); | ||
94 | + border-bottom: 21rpx solid rgb(214, 1, 33); | ||
95 | +} | ||
96 | + | ||
97 | +.bd { | ||
98 | + border: 2rpx solid rgb(238, 238, 238); | ||
99 | + background-color: rgb(255, 255, 255); | ||
100 | + color: rgb(20, 20, 20); | ||
101 | +} | ||
102 | + | ||
103 | +.chbd { | ||
104 | + border: 2rpx solid rgb(214, 1, 33); | ||
105 | + background-color: rgb(214, 1, 33); | ||
106 | + color: rgb(255, 255, 255); | ||
107 | +} | ||
108 | + | ||
109 | +.Times { | ||
110 | + background-color: rgb(238, 243, 247); | ||
111 | + margin-bottom: 30rpx; | ||
112 | + width: 704rpx; | ||
113 | +} | ||
114 | + | ||
115 | +.Time { | ||
116 | + border: 2rpx solid rgb(238, 238, 238); | ||
117 | + width: 172rpx; | ||
118 | + height: 70rpx; | ||
119 | + background-color: rgb(255, 255, 255); | ||
120 | + text-align: center; | ||
121 | + padding-top: 15rpx; | ||
122 | + padding-bottom: 15rpx; | ||
123 | +} | ||
124 | +.chTime{ | ||
125 | + border-color: rgb(214, 1, 33); | ||
126 | +} | ||
127 | +.nochTime{ | ||
128 | + color: rgb(174,177,177); | ||
129 | + background-color: rgb(250,250,250); | ||
130 | +} | ||
131 | +.abs { | ||
132 | + left: 55rpx; | ||
133 | + bottom: -39rpx; | ||
134 | +} |
pages/user/my_service/cosmetology_list.js
0 → 100644
1 | +var e = getApp(), | ||
2 | + a = e.globalData.setting, | ||
3 | + os = a, | ||
4 | + t = e.request; | ||
5 | +Page({ | ||
6 | + | ||
7 | + /** | ||
8 | + * 页面的初始数据 | ||
9 | + */ | ||
10 | + data: { | ||
11 | + iurl: a.imghost, | ||
12 | + cosmetology_list: null, //美容师列表 | ||
13 | + }, | ||
14 | + query_cosmetology: function() { | ||
15 | + var th = this; | ||
16 | + var url = "http://localhost:8022/api/weshop/yy_fuwu_meirongshi"; | ||
17 | + wx.request({ | ||
18 | + url: url, | ||
19 | + success: function(res) { | ||
20 | + if (res.data.code == 0) { | ||
21 | + th.setData({ | ||
22 | + cosmetology_list: res.data.data.pageData | ||
23 | + }) | ||
24 | + } | ||
25 | + } | ||
26 | + | ||
27 | + }) | ||
28 | + }, | ||
29 | + /** | ||
30 | + * 生命周期函数--监听页面加载 | ||
31 | + */ | ||
32 | + onLoad: function(options) { | ||
33 | + // var th = this; | ||
34 | + // var label = "技术好|长得帅|很可爱"; | ||
35 | + // var split = label.split("|");//标签通过分割符 | ||
36 | + // for (var i = 0; i < split.length; i++) { | ||
37 | + // console.log("成功啦啦啦啦"+split[i]+i); | ||
38 | + // } | ||
39 | + }, | ||
40 | + | ||
41 | + /** | ||
42 | + * 生命周期函数--监听页面显示 | ||
43 | + */ | ||
44 | + onShow: function() { | ||
45 | + var th = this; | ||
46 | + th.query_cosmetology(); | ||
47 | + }, | ||
48 | + | ||
49 | +}) | ||
0 | \ No newline at end of file | 50 | \ No newline at end of file |
pages/user/my_service/cosmetology_list.json
0 → 100644
pages/user/my_service/cosmetology_list.wxml
0 → 100644
1 | +<view class="container"> | ||
2 | + <image class="appointment" src="{{iurl}}/miniapp/images/yyservice/Cosm_appo.png"></image> | ||
3 | + | ||
4 | + <!-- 总预约 --> | ||
5 | + <view wx:if="{{true}}"> | ||
6 | + <!-- 当个预约 --> | ||
7 | + <view class="single" wx:for="{{cosmetology_list}}"> | ||
8 | + <!-- 个人属性 --> | ||
9 | + <view class="flex-vertical-between"> | ||
10 | + <view class="flex-vertical"> | ||
11 | + <image class="portrait" src="{{item.img}}"></image> | ||
12 | + <view> | ||
13 | + <!-- 用户名 --> | ||
14 | + <view class="UserName ellipsis-1 fs32">{{item.name}}</view> | ||
15 | + <!-- 评价星数 --> | ||
16 | + <view class="flex" style="margin-top:10rpx;"> | ||
17 | + <image class="Stars" src="{{iurl}}/miniapp/images/StarsredCk.png" wx:for="11111"></image> | ||
18 | + <!-- images/StarswhiteUnCk.png//白色星星地址 --> | ||
19 | + </view> | ||
20 | + <!-- 个人标签 --> | ||
21 | + <view class="Label fs22 flex" wx:if="{{true}}"> | ||
22 | + <view class="flex-center Labelitem itone"> | ||
23 | + <view>{{item.type_a}}</view> | ||
24 | + </view> | ||
25 | + <view class="flex-center Labelitem itwo"> | ||
26 | + <view>{{item.type_b}}</view> | ||
27 | + </view> | ||
28 | + <view class="flex-center Labelitem ith"> | ||
29 | + <view>{{item.type_c}}</view> | ||
30 | + </view> | ||
31 | + | ||
32 | + </view> | ||
33 | + </view> | ||
34 | + </view> | ||
35 | + | ||
36 | + <!-- 预约状态 --> | ||
37 | + <block wx:if="{{0}}"> | ||
38 | + <navigator class="flex-center gofu go" url="/pages/user/beauty_deta/beauty_deta"> | ||
39 | + <view class="fs24">预约</view> | ||
40 | + </navigator> | ||
41 | + </block> | ||
42 | + <block wx:else> | ||
43 | + <view class="flex-center gofu gofull"> | ||
44 | + <view class="fs24">已约满</view> | ||
45 | + </view> | ||
46 | + </block> | ||
47 | + </view> | ||
48 | + <view class="fs26 information"> | ||
49 | + <block wx:if="{{true}}"> | ||
50 | + <view class="ellipsis-3">在职业培训、职业技能鉴定与企业用人要求之间建立一个有效实用的联系,经研究 决定,以《职业技能鉴定国家题库操作技能考试手册》的方式,向全社会公布国家题库 操作技能考核试题库的全部内容。 | ||
51 | + </view> | ||
52 | + </block> | ||
53 | + <block wx:else> | ||
54 | + <view>暂无对自己的介绍</view> | ||
55 | + </block> | ||
56 | + </view> | ||
57 | + </view> | ||
58 | + </view> | ||
59 | +</view> | ||
60 | +<!-- 无美容师 --> | ||
61 | +<view class="empty_order" wx:if="{{false}}"> | ||
62 | + <view class="flex-level"> | ||
63 | + <image src="{{iurl}}miniapp/images/yyservice/no_beauty.png"></image> | ||
64 | + </view> | ||
65 | + <view class="flex-level fs30 xc-ash">暂无美容师</view> | ||
66 | + <view class="flex-level"> | ||
67 | + <navigator url="/pages/user/my_service/my_service" bindtap="goto"> | ||
68 | + <view class="flex-center fs28 white">其他项目</view> | ||
69 | + </navigator> | ||
70 | + </view> | ||
71 | +</view> | ||
0 | \ No newline at end of file | 72 | \ No newline at end of file |
pages/user/my_service/cosmetology_list.wxss
0 → 100644
1 | +page{ | ||
2 | + height: 100%; | ||
3 | + background-color: rgb(238, 238, 238); | ||
4 | +} | ||
5 | +.container{ | ||
6 | + background-color: rgb(255,255,255); | ||
7 | +} | ||
8 | +.appointment { | ||
9 | + width: 100%; | ||
10 | + height: 305rpx; | ||
11 | +} | ||
12 | + | ||
13 | +.single { | ||
14 | + margin-left: 10rpx; | ||
15 | + border-bottom: 1rpx solid rgb(229, 229, 229); | ||
16 | + padding-bottom: 30rpx; | ||
17 | + padding-left: 20rpx; | ||
18 | + padding-right: 35rpx; | ||
19 | + padding-top: 30rpx; | ||
20 | +} | ||
21 | + | ||
22 | +.portrait { | ||
23 | + width: 140rpx; | ||
24 | + height: 140rpx; | ||
25 | + border-radius: 50%; | ||
26 | + margin-right: 30rpx; | ||
27 | +} | ||
28 | +.UserName{ | ||
29 | + max-width: 250rpx; | ||
30 | +} | ||
31 | +.Stars { | ||
32 | + width: 25rpx; | ||
33 | + height: 25rpx; | ||
34 | + margin-right: 7rpx; | ||
35 | +} | ||
36 | + | ||
37 | +.Label { | ||
38 | + margin-top: 25rpx; | ||
39 | +} | ||
40 | + | ||
41 | +.Labelitem { | ||
42 | + width: 100rpx; | ||
43 | + height: 30rpx; | ||
44 | + border-radius: 20rpx; | ||
45 | + line-height: 30rpx; | ||
46 | + margin-right: 14rpx; | ||
47 | +} | ||
48 | + | ||
49 | +.itone { | ||
50 | + border: 2rpx solid rgb(22, 232, 131); | ||
51 | + color: rgb(22, 232, 131); | ||
52 | +} | ||
53 | + | ||
54 | +.itwo { | ||
55 | + border: 2rpx solid rgb(92, 135, 248); | ||
56 | + color: rgb(92, 135, 248); | ||
57 | +} | ||
58 | + | ||
59 | +.ith { | ||
60 | + border: 2rpx solid rgb(244, 143, 55); | ||
61 | + color: rgb(244, 143, 55); | ||
62 | +} | ||
63 | + | ||
64 | +.gofu { | ||
65 | + width: 120rpx; | ||
66 | + padding: 5rpx 0rpx; | ||
67 | + border-radius: 25rpx; | ||
68 | +} | ||
69 | + | ||
70 | +.go { | ||
71 | + border: 1rpx solid rgb(196, 26, 46); | ||
72 | + color: rgb(196, 26, 46); | ||
73 | +} | ||
74 | + | ||
75 | +.gofull { | ||
76 | + border: 1rpx solid rgb(185, 185, 185); | ||
77 | + color: rgb(185, 185, 185); | ||
78 | +} | ||
79 | + | ||
80 | +.information { | ||
81 | + margin-top: 25rpx; | ||
82 | + text-indent: 2em; | ||
83 | + color: rgb(103, 103, 103); | ||
84 | +} | ||
85 | +/* 无订单 */ | ||
86 | +.empty_order image { | ||
87 | + width: 330rpx; | ||
88 | + height: 280rpx; | ||
89 | + margin-top: 120rpx; | ||
90 | +} | ||
91 | + | ||
92 | +.empty_order .xc-ash { | ||
93 | + margin-top: 10rpx; | ||
94 | + font-weight: 600px; | ||
95 | +} | ||
96 | + | ||
97 | +.empty_order navigator { | ||
98 | + margin-top: 60rpx; | ||
99 | + border-radius: 40rpx; | ||
100 | +} | ||
101 | + | ||
102 | +.empty_order navigator view { | ||
103 | + width: 247rpx; | ||
104 | + height: 56rpx; | ||
105 | + background-color: rgb(255, 72, 72); | ||
106 | + border-radius: 40rpx; | ||
107 | +} | ||
0 | \ No newline at end of file | 108 | \ No newline at end of file |
pages/user/my_service/hist_service.js
0 → 100644
1 | +var e = getApp(), | ||
2 | + a = e.globalData.setting, | ||
3 | + os = a, | ||
4 | + t = e.request; | ||
5 | +Page({ | ||
6 | + | ||
7 | + /** | ||
8 | + * 页面的初始数据 | ||
9 | + */ | ||
10 | + data: { | ||
11 | + iurl: a.imghost, | ||
12 | + isPickerShow: false, | ||
13 | + isPickerRender: false, | ||
14 | + startTime: 0, | ||
15 | + endTime: 0, | ||
16 | + pickerConfig: { | ||
17 | + endDate: true, | ||
18 | + column: "", | ||
19 | + dateLimit: true, | ||
20 | + initStartTime: "2019-01-01 12:32:44", | ||
21 | + initEndTime: "2019-12-01 12:32:44", | ||
22 | + limitStartTime: "1917-05-06 12:32:44", | ||
23 | + limitEndTime: "2055-05-06 12:32:44" | ||
24 | + }, | ||
25 | + }, | ||
26 | + pickerShow: function() { | ||
27 | + this.setData({ | ||
28 | + isPickerShow: true, | ||
29 | + isPickerRender: true, | ||
30 | + chartHide: true | ||
31 | + }); | ||
32 | + }, | ||
33 | + pickerHide: function() { | ||
34 | + var th = this; | ||
35 | + th.setData({ | ||
36 | + isPickerShow: false, | ||
37 | + chartHide: false | ||
38 | + }); | ||
39 | + }, | ||
40 | + //--选择时间-- | ||
41 | + setPickerTime: function(val) { | ||
42 | + let data = val.detail, | ||
43 | + gl_data = getApp().globalData, | ||
44 | + th = this; | ||
45 | + th.setData({ | ||
46 | + startTime: data.startTime, | ||
47 | + endTime: data.endTime, | ||
48 | + val: 0, | ||
49 | + distance: 0, | ||
50 | + }); | ||
51 | + console.log("开始" + data.startTime + "结束" + data.endTime, ); | ||
52 | + }, | ||
53 | + /** | ||
54 | + * 生命周期函数--监听页面加载 | ||
55 | + */ | ||
56 | + onLoad: function(options) { | ||
57 | + | ||
58 | + }, | ||
59 | + | ||
60 | + /** | ||
61 | + * 生命周期函数--监听页面初次渲染完成 | ||
62 | + */ | ||
63 | + onReady: function() { | ||
64 | + | ||
65 | + }, | ||
66 | + | ||
67 | + /** | ||
68 | + * 生命周期函数--监听页面显示 | ||
69 | + */ | ||
70 | + onShow: function() { | ||
71 | + | ||
72 | + }, | ||
73 | + | ||
74 | + /** | ||
75 | + * 生命周期函数--监听页面隐藏 | ||
76 | + */ | ||
77 | + onHide: function() { | ||
78 | + | ||
79 | + }, | ||
80 | + | ||
81 | + /** | ||
82 | + * 生命周期函数--监听页面卸载 | ||
83 | + */ | ||
84 | + onUnload: function() { | ||
85 | + | ||
86 | + }, | ||
87 | + | ||
88 | + /** | ||
89 | + * 页面相关事件处理函数--监听用户下拉动作 | ||
90 | + */ | ||
91 | + onPullDownRefresh: function() { | ||
92 | + | ||
93 | + }, | ||
94 | + | ||
95 | + /** | ||
96 | + * 页面上拉触底事件的处理函数 | ||
97 | + */ | ||
98 | + onReachBottom: function() { | ||
99 | + | ||
100 | + }, | ||
101 | + | ||
102 | + /** | ||
103 | + * 用户点击右上角分享 | ||
104 | + */ | ||
105 | + onShareAppMessage: function() { | ||
106 | + | ||
107 | + } | ||
108 | +}) | ||
0 | \ No newline at end of file | 109 | \ No newline at end of file |
pages/user/my_service/hist_service.json
0 → 100644
pages/user/my_service/hist_service.wxml
0 → 100644
1 | +<view wx:if="{{true}}" class="{{isPickerRender==true?'container':''}}"> | ||
2 | + <!-- 点击方法 --> | ||
3 | + <view class="exption flex-vertical-between fs28"> | ||
4 | + <view class="flex"> | ||
5 | + 共使用 | ||
6 | + <view class="count">36</view> | ||
7 | + 次服务 | ||
8 | + </view> | ||
9 | + <view class="flex"> | ||
10 | + <view class="Resetfram flex-center"> | ||
11 | + <view class="Reset">重置</view> | ||
12 | + <image class="Resetsub" src="{{iurl}}/miniapp/images/reset.png"></image> | ||
13 | + </view> | ||
14 | + <view class="flex-center"> | ||
15 | + <view>筛选</view> | ||
16 | + <view bindtap='pickerShow' wx:if="{{true}}" class="box"></view> | ||
17 | + <!-- <view bindtap='pickerShow' wx:else class="box"></view> --> | ||
18 | + </view> | ||
19 | + </view> | ||
20 | + </view> | ||
21 | + | ||
22 | + <!-- 总的服务列表 --> | ||
23 | + <view> | ||
24 | + <!-- 单个 --> | ||
25 | + <view class="item flex-vertical-between" wx:for="11111"> | ||
26 | + <!-- left --> | ||
27 | + <view> | ||
28 | + <view class="flex fs28"> | ||
29 | + <view class="itemName ellipsis-1">头部按摩</view> | ||
30 | + <view>(美容师:</view> | ||
31 | + <view class="itemUsna ellipsis-1">花木兰</view> | ||
32 | + ) | ||
33 | + </view> | ||
34 | + <view class="fs24">2019-07-02 23:25:45</view> | ||
35 | + </view> | ||
36 | + <!-- right --> | ||
37 | + <view class="serState fs32">已服务</view> | ||
38 | + </view> | ||
39 | + </view> | ||
40 | +</view> | ||
41 | +<!-- 无历史服务 --> | ||
42 | +<view class="empty_order" wx:if="{{true}}"> | ||
43 | + <view class="flex-level"> | ||
44 | + <image src="{{iurl}}miniapp/images/yyservice/no_history.png"></image> | ||
45 | + </view> | ||
46 | + <view class="flex-level fs30 xc-ash">暂无服务记录</view> | ||
47 | + <view class="flex-level"> | ||
48 | + <navigator url="/pages/user/my_service/my_service" bindtap="goto"> | ||
49 | + <view class="flex-center fs28 white">前往使用</view> | ||
50 | + </navigator> | ||
51 | + </view> | ||
52 | +</view> | ||
53 | + | ||
54 | + | ||
55 | +<!-- 引用时间主键 --> | ||
56 | +<timePicker pickerShow="{{isPickerShow}}" id="picker" wx:if="{{isPickerRender}}" bind:hidePicker="pickerHide" bind:setPickerTime="setPickerTime" config="{{pickerConfig}}"></timePicker> | ||
57 | +<warn id="warn"></warn> | ||
0 | \ No newline at end of file | 58 | \ No newline at end of file |
pages/user/my_service/hist_service.wxss
0 → 100644
1 | +page { | ||
2 | + height: 100%; | ||
3 | +} | ||
4 | + | ||
5 | +.box { | ||
6 | + width: 0px; | ||
7 | + height: 0px; | ||
8 | + margin-left: 15rpx; | ||
9 | + border-top: 11rpx solid rgba(0, 0, 0, 0); | ||
10 | + border-right: 10rpx solid rgba(0, 0, 0, 0); | ||
11 | + border-left: 10rpx solid rgba(0, 0, 0, 0); | ||
12 | + display: inline-block; | ||
13 | + margin-bottom: 10rpx; | ||
14 | + color: red; | ||
15 | + transform: rotate(0deg); | ||
16 | + border-bottom: 18rpx solid rgb(153, 153, 153); | ||
17 | +} | ||
18 | + | ||
19 | +.exption { | ||
20 | + padding: 0rpx 45rpx; | ||
21 | + background-color: rgb(238, 238, 238); | ||
22 | + height: 70rpx; | ||
23 | + color: rgb(153, 153, 153); | ||
24 | +} | ||
25 | + | ||
26 | +.count { | ||
27 | + margin: 0rpx 5rpx; | ||
28 | +} | ||
29 | + | ||
30 | +.Resetfram { | ||
31 | + margin-right: 40rpx; | ||
32 | +} | ||
33 | + | ||
34 | +.Reset { | ||
35 | + margin-right: 5rpx; | ||
36 | +} | ||
37 | + | ||
38 | +.Resetsub { | ||
39 | + width: 30rpx; | ||
40 | + height: 30rpx; | ||
41 | +} | ||
42 | + | ||
43 | +.item { | ||
44 | + margin: 0rpx 25rpx; | ||
45 | + padding: 0rpx 20rpx; | ||
46 | + height: 135rpx; | ||
47 | + border-bottom: 1rpx solid rgb(242, 242, 242); | ||
48 | +} | ||
49 | + | ||
50 | +.itemName { | ||
51 | + margin-right: 5rpx; | ||
52 | + max-width: 200rpx; | ||
53 | +} | ||
54 | + | ||
55 | +.itemUsna { | ||
56 | + max-width: 200rpx; | ||
57 | +} | ||
58 | + | ||
59 | +.serState { | ||
60 | + color: rgb(255, 82, 125); | ||
61 | +} | ||
62 | + | ||
63 | +.container { | ||
64 | + position: fixed; | ||
65 | + width: 100%; | ||
66 | + top: 0rpx; | ||
67 | +} | ||
68 | + | ||
69 | +/* 无历史服务 */ | ||
70 | + | ||
71 | +.empty_order { | ||
72 | + height: 100%; | ||
73 | + background-color: rgb(238, 238, 238); | ||
74 | +} | ||
75 | + | ||
76 | +.empty_order image { | ||
77 | + width: 329rpx; | ||
78 | + height: 229rpx; | ||
79 | + margin-top: 202rpx; | ||
80 | +} | ||
81 | + | ||
82 | +.empty_order .xc-ash { | ||
83 | + margin-top: 10rpx; | ||
84 | + font-weight: 600px; | ||
85 | +} | ||
86 | + | ||
87 | +.empty_order navigator { | ||
88 | + margin-top: 60rpx; | ||
89 | + border-radius: 40rpx; | ||
90 | +} | ||
91 | + | ||
92 | +.empty_order navigator view { | ||
93 | + width: 247rpx; | ||
94 | + height: 56rpx; | ||
95 | + background-color: rgb(255, 72, 72); | ||
96 | + border-radius: 40rpx; | ||
97 | +} |
pages/user/my_service/i_service.js
0 → 100644
1 | +var e = getApp(), | ||
2 | + a = e.globalData.setting, | ||
3 | + os = a, | ||
4 | + t = e.request, | ||
5 | + d = e.globalData; | ||
6 | +Page({ | ||
7 | + | ||
8 | + /** | ||
9 | + * 页面的初始数据 | ||
10 | + */ | ||
11 | + data: { | ||
12 | + qr_code_object: { | ||
13 | + val: "12121", | ||
14 | + content: "请将二维码展示给核销员,服务更快捷!" | ||
15 | + }, | ||
16 | + iurl: a.imghost, | ||
17 | + defimgurl: "/miniapp/images/yyservice/yyxmdefault.jpg", | ||
18 | + service_List: [], //服务项目列表 | ||
19 | + is_service_read: 0, | ||
20 | + curpage: 1, //当前分页数 | ||
21 | + pageSize: 8, //页大小 | ||
22 | + total: 0, | ||
23 | + ismore: 0, //是否加载完毕 | ||
24 | + userinfo: null, | ||
25 | + }, | ||
26 | + | ||
27 | + /** | ||
28 | + * 生命周期函数--监听页面加载 | ||
29 | + */ | ||
30 | + onLoad: function(options) { | ||
31 | + var userinfo = getApp().globalData.userInfo; | ||
32 | + if (userinfo == null) { | ||
33 | + //界面必须使用warn 做ID,并调用 | ||
34 | + getApp().my_warnning("会员为空", 0, this); | ||
35 | + return false; | ||
36 | + } | ||
37 | + this.setData({ | ||
38 | + userinfo: userinfo | ||
39 | + }); | ||
40 | + }, | ||
41 | + /** | ||
42 | + * 生命周期函数--监听页面显示 | ||
43 | + */ | ||
44 | + onShow: function() { | ||
45 | + var th = this; | ||
46 | + th.query_service(); | ||
47 | + }, | ||
48 | + onReachBottom: function() { | ||
49 | + var th = this; | ||
50 | + if (this.data.total <= th.data.pageSize) return; | ||
51 | + if (this.data.ismore) return; | ||
52 | + this.query_service(); | ||
53 | + }, | ||
54 | + //查询服务项目列表 | ||
55 | + query_service: function() { | ||
56 | + var th = this; | ||
57 | + var url = "/api/weshop/marketing/reservation/sm/page"; | ||
58 | + getApp().request.promiseGet(url, { | ||
59 | + data: { | ||
60 | + storeId: a.stoid, | ||
61 | + userId: d.user_id, | ||
62 | + page: th.data.curpage, | ||
63 | + pageSize: th.data.pageSize | ||
64 | + } | ||
65 | + }).then(res => { | ||
66 | + if (res.data.code == 0) { | ||
67 | + th.data.curpage++; | ||
68 | + var arr1 = th.data.service_List; | ||
69 | + var arr2 = res.data.data.pageData; | ||
70 | + var arr3 = [...arr1, ...arr2]; | ||
71 | + var ismore = 0; | ||
72 | + if (arr3.length == res.data.data.total) ismore = 1 | ||
73 | + th.setData({ | ||
74 | + service_List: arr3, | ||
75 | + total: res.data.data.total, | ||
76 | + ismore: ismore, | ||
77 | + is_service_read: 1 | ||
78 | + }), wx.stopPullDownRefresh(); //停止下拉刷新 | ||
79 | + } | ||
80 | + }) | ||
81 | + }, | ||
82 | + /*-- 打开服务项目 --*/ | ||
83 | + open_fw: function(e) { | ||
84 | + var th = this; | ||
85 | + var ind = e.currentTarget.dataset.ind; | ||
86 | + var item = this.data.service_List[ind]; | ||
87 | + | ||
88 | + var ewm = "^" + th.data.userinfo.erpvipid + "|" + item.ProjectID + "|" + item.BuyType + "|" + item.Validay + "|TY01|"; | ||
89 | + var tt = th.format_time(1); | ||
90 | + ewm = ewm + tt; | ||
91 | + th.data.qr_code_object.val = ewm; | ||
92 | + th.data.qr_code_object.is_fw = 1; | ||
93 | + console.log(ewm); | ||
94 | + var qc_com = th.selectComponent("#qc_com"); //组件的id | ||
95 | + qc_com.open(th.data.qr_code_object) | ||
96 | + }, | ||
97 | + //图片失败,默认图片 | ||
98 | + bind_bnerr1: function(e) { | ||
99 | + var _errImg = e.target.dataset.errorimg; | ||
100 | + var _Img = e.target.dataset.img; | ||
101 | + if (_Img != undefined) { | ||
102 | + var _errObj = {}; | ||
103 | + _errObj[_errImg] = "/miniapp/images/no_cate_def.png"; | ||
104 | + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | ||
105 | + } | ||
106 | + }, | ||
107 | + format_time: function(isFull) { | ||
108 | + var d = new Date(); | ||
109 | + var m = d.getMonth() + 1; | ||
110 | + if (m < 10) m = "0" + m; | ||
111 | + var dd = d.getDate(); | ||
112 | + if (dd < 10) dd = "0" + dd; | ||
113 | + var fm = [d.getFullYear(), m, dd].join('-'); | ||
114 | + if (isFull == 1) | ||
115 | + fm = fm + ' ' + [d.getHours(), d.getMinutes(), d.getSeconds()].join(':') | ||
116 | + return fm; | ||
117 | + }, | ||
118 | + //跳转到首页 | ||
119 | + goto: function(e) { | ||
120 | + var url = e.currentTarget.dataset.url; | ||
121 | + getApp().goto(url); | ||
122 | + } | ||
123 | +}) | ||
0 | \ No newline at end of file | 124 | \ No newline at end of file |
pages/user/my_service/i_service.json
0 → 100644
pages/user/my_service/i_service.wxml
0 → 100644
1 | +<!-- 背景图片 --> | ||
2 | +<view> | ||
3 | + <image class="backimage" src="{{iurl}}/miniapp/images/yyservice/backimage.png" mode="widthFix"></image> | ||
4 | + <navigator class="History fs26" url="/pages/user/hist_service/hist_service">历史服务</navigator> | ||
5 | +</view> | ||
6 | + | ||
7 | +<!-- 预约内容 --> | ||
8 | +<!-- 项目框架 --> | ||
9 | +<view class="Serviceitems"> | ||
10 | + <!-- 单个项目 --> | ||
11 | + <view class="rel" wx:for="{{service_List}}"> | ||
12 | + <view class="abs"> | ||
13 | + <!-- 皇冠log --> | ||
14 | + <block wx:if="{{item.BuyTepy==4}}"> | ||
15 | + <image class="equity_money" src="{{iurl}}/miniapp/images//yyservice/equity.png" lazy-load="true"></image> | ||
16 | + </block> | ||
17 | + <!-- 金钱log --> | ||
18 | + <block wx:if="{{item.BuyTepy==1}}"> | ||
19 | + <image class="equity_money" src="{{iurl}}/miniapp/images/yyservice/money.png" lazy-load="true"></image> | ||
20 | + </block> | ||
21 | + <!-- 礼包log --> | ||
22 | + <block wx:if="{{item.BuyTepy==3}}"> | ||
23 | + <image class="equity_money" src="{{iurl}}/miniapp/images/yyservice/giftpackage.png" lazy-load="true"></image> | ||
24 | + </block> | ||
25 | + </view> | ||
26 | + <view> | ||
27 | + <view class="flex-center"> | ||
28 | + <image class="itemimage" src="{{item.ImageUrl==''?iurl+defimgurl:item.ImageUrl}}" lazy-load="true" data-errorimg="service_List[{{index}}].img" binderror="bind_bnerr1" data-img="{{item.img}}"></image> | ||
29 | + </view> | ||
30 | + | ||
31 | + <view class="flex-center itemName"> | ||
32 | + <view class="fs32 Name ellipsis-1">{{item.ProjectName}}</view> | ||
33 | + </view> | ||
34 | + | ||
35 | + <view class="flex-center fs24 itemCount"> | ||
36 | + <view>剩余次数:</view> | ||
37 | + <view>{{item.ObtainTimes}}</view> | ||
38 | + </view> | ||
39 | + | ||
40 | + <view class="flex-center fs24 itemEffective"> | ||
41 | + <view>有效期至</view> | ||
42 | + <view class="Date">{{item.Validay==""?"长期有效":item.Validay}}</view> | ||
43 | + </view> | ||
44 | + | ||
45 | + </view> | ||
46 | + | ||
47 | + <view class="flex-center fs24 functionMax"> | ||
48 | + <view class="flex-level Use" bindtap="open_fw" data-ind="{{index}}"> | ||
49 | + <view>立即使用</view> | ||
50 | + </view> | ||
51 | + <!-- 可预约 --> | ||
52 | + <navigator class="flex-level appointment" url="/pages/user/my_service/appment_main/appment_main"> | ||
53 | + <view>预约</view> | ||
54 | + </navigator> | ||
55 | + </view> | ||
56 | + </view> | ||
57 | + | ||
58 | +</view> | ||
59 | +<!-- 无服务项目 --> | ||
60 | +<view wx:if="{{service_List.length<0 && ismore}}"> | ||
61 | + <!-- 遮住 --> | ||
62 | + <view class="cover"></view> | ||
63 | + <!-- 无历史服务 --> | ||
64 | + <view class="empty_order" wx:if="{{true}}"> | ||
65 | + <view class="flex-level"> | ||
66 | + <image src="{{iurl}}miniapp/images/yyservice/no_history.png"></image> | ||
67 | + </view> | ||
68 | + <view class="flex-level fs30 xc-ash">暂无服务项目</view> | ||
69 | + <view class="flex-level"> | ||
70 | + <navigator data-url="/pages/user/index/index" bindtap="goto"> | ||
71 | + <view class="flex-center fs28 white">回到首页</view> | ||
72 | + </navigator> | ||
73 | + </view> | ||
74 | + </view> | ||
75 | + | ||
76 | +</view> | ||
77 | + | ||
78 | + | ||
79 | +<!-- 弹出框扫描 --> | ||
80 | +<qr_code id="qc_com"></qr_code> | ||
81 | +<warn id="warn"></warn> | ||
0 | \ No newline at end of file | 82 | \ No newline at end of file |
pages/user/my_service/i_service.wxss
0 → 100644
1 | +page { | ||
2 | + overflow-x: scroll; | ||
3 | +} | ||
4 | + | ||
5 | +/* 背景定位 */ | ||
6 | + | ||
7 | +.backimage { | ||
8 | + position: absolute; | ||
9 | + top: 0rpx; | ||
10 | + left: 0rpx; | ||
11 | + z-index: 0; | ||
12 | + width: 100%; | ||
13 | + height: 100%; | ||
14 | +} | ||
15 | + | ||
16 | +/* 历史服务定位 */ | ||
17 | + | ||
18 | +.History { | ||
19 | + position: absolute; | ||
20 | + top: 30rpx; | ||
21 | + right: 20rpx; | ||
22 | + z-index: 1; | ||
23 | + color: rgb(255, 255, 255); | ||
24 | +} | ||
25 | + | ||
26 | +.rel { | ||
27 | + background-color: rgb(255, 255, 255); | ||
28 | + width: 350rpx; | ||
29 | + height: 420rpx; | ||
30 | + border-radius: 20rpx; | ||
31 | + display: inline-block; | ||
32 | + margin-right: 15rpx; | ||
33 | + margin-bottom: 20rpx; | ||
34 | + box-shadow: 0rpx 3rpx 3rpx 3rpx rgb(233, 233, 233); | ||
35 | +} | ||
36 | + | ||
37 | +.abs { | ||
38 | + left: 10rpx; | ||
39 | + top: 10rpx; | ||
40 | +} | ||
41 | + | ||
42 | +.equity_money { | ||
43 | + width: 50rpx; | ||
44 | + height: 55rpx; | ||
45 | +} | ||
46 | + | ||
47 | +.Serviceitems { | ||
48 | + position: relative; | ||
49 | + top: 370rpx; | ||
50 | + left: 0rpx; | ||
51 | + z-index: 2; | ||
52 | + padding-left: 18rpx; | ||
53 | +} | ||
54 | + | ||
55 | +.itemimage { | ||
56 | + width: 120rpx; | ||
57 | + height: 120rpx; | ||
58 | + border-radius: 50%; | ||
59 | + margin-top: 30rpx; | ||
60 | + margin-bottom: 20rpx; | ||
61 | +} | ||
62 | + | ||
63 | +.itemName { | ||
64 | + margin-bottom: 25rpx; | ||
65 | + color: rgb(48, 48, 48); | ||
66 | +} | ||
67 | + | ||
68 | +.itemName .Name { | ||
69 | + max-width: 250rpx; | ||
70 | + text-align: center; | ||
71 | +} | ||
72 | + | ||
73 | +.itemCount { | ||
74 | + margin-bottom: 5rpx; | ||
75 | + color: rgb(177, 177, 177); | ||
76 | +} | ||
77 | + | ||
78 | +.itemEffective { | ||
79 | + margin-bottom: 30rpx; | ||
80 | + color: rgb(177, 177, 177); | ||
81 | +} | ||
82 | + | ||
83 | +.functionMax { | ||
84 | + padding: 0rpx 25rpx; | ||
85 | + color: rgb(254, 255, 255); | ||
86 | +} | ||
87 | + | ||
88 | +.Use { | ||
89 | + width: 170rpx; | ||
90 | + height: 40rpx; | ||
91 | + line-height: 40rpx; | ||
92 | + border-radius: 25rpx; | ||
93 | + background-color: red; | ||
94 | +} | ||
95 | + | ||
96 | +.appointment { | ||
97 | + width: 115rpx; | ||
98 | + height: 40rpx; | ||
99 | + line-height: 40rpx; | ||
100 | + border-radius: 25rpx; | ||
101 | + background-color: #ff9c00; | ||
102 | + margin-left: 20rpx; | ||
103 | +} | ||
104 | + | ||
105 | +.Date { | ||
106 | + margin-left: 10rpx; | ||
107 | +} | ||
108 | +/* 无服务项目 */ | ||
109 | +.cover{ | ||
110 | + position: fixed; | ||
111 | + z-index: 1; | ||
112 | + left: 0rpx; | ||
113 | + top: 390rpx; | ||
114 | + width: 100%; | ||
115 | + height: 200rpx; | ||
116 | + background-color: rgb(255, 255, 255); | ||
117 | +} | ||
118 | +/* 无历史服务 */ | ||
119 | +.empty_order{ | ||
120 | + position: fixed; | ||
121 | + left: 0rpx; | ||
122 | + top: 500rpx; | ||
123 | + z-index: 2; | ||
124 | + width: 100%; | ||
125 | +} | ||
126 | + | ||
127 | +.empty_order image { | ||
128 | + width: 329rpx; | ||
129 | + height: 229rpx; | ||
130 | + margin-top: 80rpx; | ||
131 | +} | ||
132 | + | ||
133 | +.empty_order .xc-ash { | ||
134 | + margin-top: 10rpx; | ||
135 | + font-weight: 600px; | ||
136 | +} | ||
137 | + | ||
138 | +.empty_order navigator { | ||
139 | + margin-top: 60rpx; | ||
140 | + border-radius: 40rpx; | ||
141 | +} | ||
142 | + | ||
143 | +.empty_order navigator view { | ||
144 | + width: 247rpx; | ||
145 | + height: 56rpx; | ||
146 | + background-color: rgb(255, 72, 72); | ||
147 | + border-radius: 40rpx; | ||
148 | +} | ||
0 | \ No newline at end of file | 149 | \ No newline at end of file |
pages/user/my_service/tment_details.js
0 → 100644
1 | +var e = getApp(), | ||
2 | + a = e.globalData.setting, | ||
3 | + os = a, | ||
4 | + t = e.request; | ||
5 | +Page({ | ||
6 | + | ||
7 | + /** | ||
8 | + * 页面的初始数据 | ||
9 | + */ | ||
10 | + data: { | ||
11 | + iurl: a.imghost, | ||
12 | + }, | ||
13 | + | ||
14 | + /** | ||
15 | + * 生命周期函数--监听页面加载 | ||
16 | + */ | ||
17 | + onLoad: function(options) { | ||
18 | + | ||
19 | + }, | ||
20 | + /** | ||
21 | + * 生命周期函数--监听页面显示 | ||
22 | + */ | ||
23 | + onShow: function() { | ||
24 | + | ||
25 | + }, | ||
26 | +}) | ||
0 | \ No newline at end of file | 27 | \ No newline at end of file |
pages/user/my_service/tment_details.json
0 → 100644
pages/user/my_service/tment_details.wxml
0 → 100644
1 | +<view class="container"> | ||
2 | + <!-- 预约人的属性 --> | ||
3 | + <view class="Subscriber"> | ||
4 | + <!-- 状态栏 --> | ||
5 | + <view class="statusBar fs32 flex-vertical-between lf"> | ||
6 | + <view>预约状态:</view> | ||
7 | + <view>未服务</view> | ||
8 | + <view wx:if="{{false}}">已服务</view> | ||
9 | + <view wx:if="{{false}}">已过期</view> | ||
10 | + </view> | ||
11 | + <view class="fs30"> | ||
12 | + <view class="items lf"> | ||
13 | + <!-- 预约门店 --> | ||
14 | + <view class="flex-vertical bmt"> | ||
15 | + <view class="name">预约门店:</view> | ||
16 | + <view class="ellipsis-1 value">王者峡谷中路店</view> | ||
17 | + </view> | ||
18 | + | ||
19 | + <!-- 预约项目 --> | ||
20 | + <view class="flex-vertical bmt"> | ||
21 | + <view class="name">预约项目:</view> | ||
22 | + <view class="ellipsis-1 value">王者峡谷中路店</view> | ||
23 | + </view> | ||
24 | + | ||
25 | + <!-- 预约时间 --> | ||
26 | + <view class="flex-vertical bmt"> | ||
27 | + <view class="name">预约时间:</view> | ||
28 | + <view class="date">2018-08-16</view> | ||
29 | + <view>10:00</view> | ||
30 | + </view> | ||
31 | + </view> | ||
32 | + <view class="bt"> | ||
33 | + | ||
34 | + <!-- 美容师 --> | ||
35 | + <view class="flex-vertical bmt"> | ||
36 | + <view class="name flex-vertical-between"> | ||
37 | + <view>美</view> | ||
38 | + <view>容</view> | ||
39 | + <view>师:</view> | ||
40 | + </view> | ||
41 | + <view class="ellipsis-1 value">王者峡谷中路店</view> | ||
42 | + </view> | ||
43 | + <!-- 预约人及联系方式 --> | ||
44 | + <!-- 姓名 --> | ||
45 | + <view class="flex-vertical bmt"> | ||
46 | + <view class="name flex-vertical-between"> | ||
47 | + <view>预</view> | ||
48 | + <view>约</view> | ||
49 | + <view>人:</view> | ||
50 | + </view> | ||
51 | + <view class="ellipsis-1 value">钱巧玲</view> | ||
52 | + </view> | ||
53 | + <!-- 号码 --> | ||
54 | + <view class="flex-vertical"> | ||
55 | + <view class="name flex-vertical-between"> | ||
56 | + <view>手</view> | ||
57 | + <view>机</view> | ||
58 | + <view>人:</view> | ||
59 | + </view> | ||
60 | + <view>18065336494</view> | ||
61 | + </view> | ||
62 | + </view> | ||
63 | + </view> | ||
64 | + | ||
65 | + </view> | ||
66 | + | ||
67 | + <!-- 温馨提示内容 --> | ||
68 | + <view class="Tips fs30 lf rel"> | ||
69 | + <!-- 棒槌 --> | ||
70 | + <view class="Stickl abs"></view> | ||
71 | + <view class="Stickl Stickr abs"></view> | ||
72 | + | ||
73 | + <view class="Cozy flex-center" style="background-image: url({{iurl}}/miniapp/images/yyservice/icon.png);"> | ||
74 | + <view>温馨提示</view> | ||
75 | + </view> | ||
76 | + <view>1.预约成功后需在指定时间前到达;</view> | ||
77 | + <view>2.如有任何问题可致电咨询;</view> | ||
78 | + <view>3.如需退约,需提前取消。</view> | ||
79 | + </view> | ||
80 | + | ||
81 | + <!-- submit栏 --> | ||
82 | + <view class="subs flex-vertical-between fs32"> | ||
83 | + | ||
84 | + <view class="sub lb flex-center"> | ||
85 | + <view>取消预约</view> | ||
86 | + <view wx:if="{{false}}">删除订单</view> | ||
87 | + <view wx:if="{{false}}">更改时间</view> | ||
88 | + </view> | ||
89 | + | ||
90 | + <view class="sub rb flex-center"> | ||
91 | + <view>更改时间</view> | ||
92 | + <view wx:if="{{false}}">重新预约</view> | ||
93 | + <view wx:if="{{false}}">发表评价</view> | ||
94 | + </view> | ||
95 | + | ||
96 | + </view> | ||
97 | +</view> | ||
0 | \ No newline at end of file | 98 | \ No newline at end of file |
pages/user/my_service/tment_details.wxss
0 → 100644
1 | +page { | ||
2 | + width: 100%; | ||
3 | + height: 100%; | ||
4 | + background-color: rgb(238, 238, 238); | ||
5 | +} | ||
6 | + | ||
7 | +/* 公用 */ | ||
8 | + | ||
9 | +.lf { | ||
10 | + padding: 0rpx 40rpx; | ||
11 | +} | ||
12 | + | ||
13 | +.bt { | ||
14 | + margin: 0rpx 15rpx; | ||
15 | + padding: 0rpx 25rpx; | ||
16 | + border-top: 2rpx dashed rgb(238, 238, 238); | ||
17 | + padding-top: 50rpx; | ||
18 | + padding-bottom: 50rpx; | ||
19 | +} | ||
20 | + | ||
21 | +.bmt { | ||
22 | + margin-bottom: 45rpx; | ||
23 | +} | ||
24 | + | ||
25 | +.name { | ||
26 | + width: 130rpx; | ||
27 | + margin-right: 25rpx; | ||
28 | +} | ||
29 | + | ||
30 | +.value { | ||
31 | + max-width: 450rpx; | ||
32 | +} | ||
33 | + | ||
34 | +/* 公用 */ | ||
35 | + | ||
36 | +.container { | ||
37 | + padding: 0rpx 20rpx; | ||
38 | +} | ||
39 | + | ||
40 | +.Subscriber { | ||
41 | + overflow: hidden; | ||
42 | + width: 100%; | ||
43 | + margin-top: 25rpx; | ||
44 | + background-color: rgb(255, 255, 255); | ||
45 | + border-radius: 10rpx; | ||
46 | +} | ||
47 | + | ||
48 | +.statusBar { | ||
49 | + height: 80rpx; | ||
50 | + background-color: rgb(214, 1, 33); | ||
51 | + color: rgb(255, 255, 255); | ||
52 | +} | ||
53 | + | ||
54 | +.date { | ||
55 | + margin-right: 25rpx; | ||
56 | +} | ||
57 | + | ||
58 | +.items { | ||
59 | + margin: 55rpx 0rpx; | ||
60 | +} | ||
61 | + | ||
62 | +.Tips { | ||
63 | + margin-top: 20rpx; | ||
64 | + padding-top: 35rpx; | ||
65 | + height: 255rpx; | ||
66 | + border-radius: 10rpx; | ||
67 | + background-color: rgb(255, 255, 255); | ||
68 | + margin-bottom: 50rpx; | ||
69 | +} | ||
70 | + | ||
71 | +.Cozy { | ||
72 | + width: 165rpx; | ||
73 | + height: 43rpx; | ||
74 | + margin-bottom: 20rpx; | ||
75 | + color: rgb(255, 255, 255); | ||
76 | + background-size: 100%; | ||
77 | +} | ||
78 | + | ||
79 | +.subs { | ||
80 | + padding: 0rpx 5rpx; | ||
81 | +} | ||
82 | + | ||
83 | +.sub { | ||
84 | + width: 325rpx; | ||
85 | + height: 65rpx; | ||
86 | + border-radius: 30rpx; | ||
87 | + color: rgb(255, 255, 255); | ||
88 | +} | ||
89 | + | ||
90 | +.lb { | ||
91 | + background-color: rgb(153, 153, 153); | ||
92 | +} | ||
93 | + | ||
94 | +.rb { | ||
95 | + background-color: rgb(214, 1, 33); | ||
96 | +} | ||
97 | + | ||
98 | +/* 棒槌 */ | ||
99 | + | ||
100 | +.Stickl { | ||
101 | + width: 39rpx; | ||
102 | + height: 8rpx; | ||
103 | + background-color: rgb(153, 153, 153); | ||
104 | + transform: rotate(270deg); | ||
105 | + border-radius: 8rpx; | ||
106 | + left: 95rpx; | ||
107 | + top: -15rpx; | ||
108 | +} | ||
109 | + | ||
110 | +.Stickr { | ||
111 | + left: 590rpx; | ||
112 | +} |
pages/user/my_service/tment_eval.js
0 → 100644
1 | +var e = getApp(), | ||
2 | + a = e.globalData.setting, | ||
3 | + os = a, | ||
4 | + t = e.request; | ||
5 | +Page({ | ||
6 | + | ||
7 | + /** | ||
8 | + * 页面的初始数据 | ||
9 | + */ | ||
10 | + data: { | ||
11 | + iurl: a.imghost, | ||
12 | + }, | ||
13 | + | ||
14 | + /** | ||
15 | + * 生命周期函数--监听页面加载 | ||
16 | + */ | ||
17 | + onLoad: function(options) { | ||
18 | + | ||
19 | + }, | ||
20 | + | ||
21 | + /** | ||
22 | + * 生命周期函数--监听页面显示 | ||
23 | + */ | ||
24 | + onShow: function() { | ||
25 | + | ||
26 | + }, | ||
27 | +}) | ||
0 | \ No newline at end of file | 28 | \ No newline at end of file |
pages/user/my_service/tment_eval.json
0 → 100644
pages/user/my_service/tment_eval.wxml
0 → 100644
1 | +<view class="container"> | ||
2 | + | ||
3 | + <!-- 头像 --> | ||
4 | + <view class="flex-center head"> | ||
5 | + <image class="headimg" src="{{iurl}}/miniapp/images/yyservice/Cosm_appo.png"></image> | ||
6 | + </view> | ||
7 | + | ||
8 | + <!-- 姓名 --> | ||
9 | + <view class="flex-level item"> | ||
10 | + <view class="itemlf fs32">美容师:</view> | ||
11 | + <view class="itemlr fs30 ellipsis-1">钱巧玲</view> | ||
12 | + </view> | ||
13 | + | ||
14 | + <!-- 项目 --> | ||
15 | + <view class="flex-center item"> | ||
16 | + <view class="itemlf fs32">服务项目:</view> | ||
17 | + <view class="itemlr fs30 ellipsis-1">头部按摩</view> | ||
18 | + </view> | ||
19 | + | ||
20 | + <!-- 时间 --> | ||
21 | + <view class="flex-center"> | ||
22 | + <view class="itemlf fs32">服务时间:</view> | ||
23 | + <view class="itemlr fs30">2019-09-06</view> | ||
24 | + </view> | ||
25 | + <!-- 设置虚线 --> | ||
26 | + | ||
27 | + <view class="flex-center"> | ||
28 | + <view class="starss"> | ||
29 | + <image class="stars" src="{{iurl}}/miniapp/images/StarsredCk.png" wx:for="11111"></image> | ||
30 | + </view> | ||
31 | + </view> | ||
32 | + <view class="tea_labs"> | ||
33 | + <view class="flex-center fs26"> | ||
34 | + <textarea placeholder="写其他意见和建议" placeholder-class="fs24"></textarea> | ||
35 | + </view> | ||
36 | + | ||
37 | + <view class="labels flex fs26"> | ||
38 | + <view class="label checklabel"> | ||
39 | + <view>衣着整洁</view> | ||
40 | + </view> | ||
41 | + <view class="label"> | ||
42 | + <view>穿着专业</view> | ||
43 | + </view> | ||
44 | + <view class="label"> | ||
45 | + <view>准时到达</view> | ||
46 | + </view> | ||
47 | + <view class="label clonri"> | ||
48 | + <view>服务态度好</view> | ||
49 | + </view> | ||
50 | + </view> | ||
51 | + </view> | ||
52 | + | ||
53 | + <view class="feedback flex-center fs28"> | ||
54 | + <view>满意的话请打五星噢,谢谢您的支持!</view> | ||
55 | + </view> | ||
56 | + | ||
57 | + <navigator class="fs32 flex-center"> | ||
58 | + <view class="Submission flex-center"> | ||
59 | + <view>确认提交</view> | ||
60 | + </view> | ||
61 | + </navigator> | ||
62 | + | ||
63 | + <block wx:if="{{false}}"> | ||
64 | + <view class="subSuccess"> | ||
65 | + <view class="flex-center"> | ||
66 | + <image class="Success" src="{{iurl}}/miniapp/images/yyservice/Success.png"></image> | ||
67 | + </view> | ||
68 | + <view class="fs36 flex-center"> | ||
69 | + <view>评论成功</view> | ||
70 | + </view> | ||
71 | + </view> | ||
72 | + </block> | ||
73 | +</view> | ||
0 | \ No newline at end of file | 74 | \ No newline at end of file |
pages/user/my_service/tment_eval.wxss
0 → 100644
1 | +.container { | ||
2 | + border-top: 7rpx solid rgb(245, 245, 245); | ||
3 | +} | ||
4 | + | ||
5 | +.head { | ||
6 | + height: 270rpx; | ||
7 | +} | ||
8 | + | ||
9 | +.headimg { | ||
10 | + width: 190rpx; | ||
11 | + height: 190rpx; | ||
12 | + border-radius: 50%; | ||
13 | +} | ||
14 | + | ||
15 | +.item { | ||
16 | + margin-bottom: 20rpx; | ||
17 | +} | ||
18 | + | ||
19 | +.itemlf { | ||
20 | + width: 160rpx; | ||
21 | +} | ||
22 | + | ||
23 | +.itemlr { | ||
24 | + width: 190rpx; | ||
25 | +} | ||
26 | + | ||
27 | +.starss { | ||
28 | + margin-top: 15rpx; | ||
29 | + border-top: 3rpx dashed rgb(203, 203, 203); | ||
30 | + padding-top: 25rpx; | ||
31 | + padding-left: 15rpx; | ||
32 | +} | ||
33 | + | ||
34 | +.stars { | ||
35 | + width: 50rpx; | ||
36 | + height: 50rpx; | ||
37 | + margin-right: 20rpx; | ||
38 | +} | ||
39 | + | ||
40 | +.tea_labs { | ||
41 | + padding: 0rpx 56rpx; | ||
42 | +} | ||
43 | + | ||
44 | +textarea { | ||
45 | + width: 100%; | ||
46 | + height: 280rpx; | ||
47 | + margin-top: 70rpx; | ||
48 | + border: 2rpx solid rgb(203, 203, 203); | ||
49 | + border-radius: 15rpx; | ||
50 | + padding-top: 25rpx; | ||
51 | + padding-left: 30rpx; | ||
52 | + margin-bottom: 32rpx; | ||
53 | + padding-right: 15rpx; | ||
54 | +} | ||
55 | + | ||
56 | +.labels { | ||
57 | + margin-bottom: 55rpx; | ||
58 | +} | ||
59 | + | ||
60 | +.label { | ||
61 | + padding: 0rpx 15rpx; | ||
62 | + height: 48rpx; | ||
63 | + line-height: 48rpx; | ||
64 | + border: 2rpx solid rgb(218, 218, 218); | ||
65 | + color: rgb(152, 152, 152); | ||
66 | + margin-right: 22rpx; | ||
67 | + border-radius: 5rpx; | ||
68 | +} | ||
69 | + | ||
70 | +/* 选择标签的样式 */ | ||
71 | + | ||
72 | +.checklabel { | ||
73 | + border: 2rpx solid rgb(214, 1, 33); | ||
74 | + color: rgb(214, 1, 33); | ||
75 | +} | ||
76 | + | ||
77 | +.feedback { | ||
78 | + color: rgb(152, 152, 152); | ||
79 | + margin-bottom: 90rpx; | ||
80 | +} | ||
81 | + | ||
82 | +.Submission { | ||
83 | + width: 400rpx; | ||
84 | + height: 65rpx; | ||
85 | + border-radius: 30rpx; | ||
86 | + background-color: rgb(214, 1, 33); | ||
87 | + color: rgb(255, 255, 255); | ||
88 | +} | ||
89 | + | ||
90 | +.clonri { | ||
91 | + margin: 0rpx; | ||
92 | +} | ||
93 | + | ||
94 | +.subSuccess { | ||
95 | + position: fixed; | ||
96 | + z-index: 3; | ||
97 | + top: 435rpx; | ||
98 | + left: 66rpx; | ||
99 | + background-color: #a6a6a6a4; | ||
100 | + width: 615rpx; | ||
101 | + height: 315rpx; | ||
102 | + border-radius: 20rpx; | ||
103 | + color: rgb(255, 255, 255); | ||
104 | +} | ||
105 | + | ||
106 | +.Success { | ||
107 | + width: 110rpx; | ||
108 | + height: 110rpx; | ||
109 | + margin-top: 50rpx; | ||
110 | + margin-bottom: 45rpx; | ||
111 | +} |
pages/user/my_service/tment_order_list.js
0 → 100644
1 | +var e = getApp(), | ||
2 | + a = e.globalData.setting, | ||
3 | + os = a, | ||
4 | + t = e.request; | ||
5 | +Page({ | ||
6 | + | ||
7 | + /** | ||
8 | + * 页面的初始数据 | ||
9 | + */ | ||
10 | + data: { | ||
11 | + iurl: a.imghost, | ||
12 | + activeCategoryId: 0, //类别选中下标 | ||
13 | + categories: [{ | ||
14 | + name: "全部", | ||
15 | + id: 0 | ||
16 | + }, { | ||
17 | + name: "未服务", | ||
18 | + id: 1 | ||
19 | + }, { | ||
20 | + name: "已服务", | ||
21 | + id: 2 | ||
22 | + }, { | ||
23 | + name: "已过期", | ||
24 | + id: 3 | ||
25 | + }], | ||
26 | + }, | ||
27 | + | ||
28 | + /** | ||
29 | + * 生命周期函数--监听页面加载 | ||
30 | + */ | ||
31 | + onLoad: function(options) { | ||
32 | + | ||
33 | + }, | ||
34 | + changeTab: function(e) { | ||
35 | + var th = this; | ||
36 | + var id = e.currentTarget.dataset.id; | ||
37 | + th.setData({ | ||
38 | + activeCategoryId: id | ||
39 | + }) | ||
40 | + }, | ||
41 | + | ||
42 | + /** | ||
43 | + * 生命周期函数--监听页面显示 | ||
44 | + */ | ||
45 | + onShow: function() { | ||
46 | + | ||
47 | + }, | ||
48 | + | ||
49 | + /** | ||
50 | + * 页面上拉触底事件的处理函数 | ||
51 | + */ | ||
52 | + onReachBottom: function() { | ||
53 | + | ||
54 | + } | ||
55 | +}) | ||
0 | \ No newline at end of file | 56 | \ No newline at end of file |
pages/user/my_service/tment_order_list.json
0 → 100644
pages/user/my_service/tment_order_list.wxml
0 → 100644
1 | +<view class="container"> | ||
2 | + <!-- 导航栏 --> | ||
3 | + <view class="type-navbar padding flex-vertical fs30"> | ||
4 | + <view class="type-box flex-center {{activeCategoryId==item.id?'chtypebox':''}}" wx:for="{{categories}}"> | ||
5 | + <view data-id="{{item.id}}" bindtap="changeTab">{{item.name}}</view> | ||
6 | + </view> | ||
7 | + </view> | ||
8 | + <view wx:if="{{true}}"> | ||
9 | + <!-- 预约项目 --> | ||
10 | + <view wx:for="1111"> | ||
11 | + <!-- 商品编号和状态 --> | ||
12 | + <view class="Commodity_number flex-vertical-between fs24 padding"> | ||
13 | + <!--商品编号 --> | ||
14 | + <text class="order_number ellipsis-1" selectable='true'>订单编号:MDDER2019061454879342468</text> | ||
15 | + <!-- 商品评价状态 --> | ||
16 | + <view class="flex-center xc-wc"> | ||
17 | + <!-- 订单状态 --> | ||
18 | + <view>已过期</view> | ||
19 | + <view class="flex-center"> | ||
20 | + <view class="lin"></view> | ||
21 | + <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteOrderData" data-order_id="{{item.order_id}}"></image> | ||
22 | + </view> | ||
23 | + </view> | ||
24 | + </view> | ||
25 | + | ||
26 | + <!-- 项目属性 --> | ||
27 | + <navigator class="items padding flex-vertical" url=""> | ||
28 | + | ||
29 | + <view class="flex-center fs26"> | ||
30 | + <view class="itemimage"> | ||
31 | + <image class="itemimage" src="http://img4.imgtn.bdimg.com/it/u=3313840944,708309586&fm=26&gp=0.jpg"></image> | ||
32 | + </view> | ||
33 | + <!-- 项目内容 --> | ||
34 | + <view class="details"> | ||
35 | + <view class="item flex-vertical"> | ||
36 | + <view class="itemname">预约门店:</view> | ||
37 | + <view class="itemvalue ellipsis-1">王者峡谷中路店</view> | ||
38 | + </view> | ||
39 | + <view class="item flex-vertical"> | ||
40 | + <view class="itemname">预约项目:</view> | ||
41 | + <view class="itemvalue ellipsis-1">头部按摩</view> | ||
42 | + </view> | ||
43 | + <view class="item flex-vertical"> | ||
44 | + <view class="itemname">美容师:</view> | ||
45 | + <view class="itemvalue ellipsis-1">花木兰</view> | ||
46 | + </view> | ||
47 | + <view class="item flex-vertical"> | ||
48 | + <view class="itemname">预约时间:</view> | ||
49 | + <view>2018-08-16 14:00</view> | ||
50 | + </view> | ||
51 | + <view class="item flex-vertical" wx:if="{{true}}"> | ||
52 | + <view class="itemname">服务时间:</view> | ||
53 | + <view>2018-08-16 10:00</view> | ||
54 | + </view> | ||
55 | + </view> | ||
56 | + | ||
57 | + </view> | ||
58 | + </navigator> | ||
59 | + <view class="Unim flex-right-vertical fs26 padding"> | ||
60 | + | ||
61 | + <navigator class="Unimportance flex-level">取消预约</navigator> | ||
62 | + <navigator wx:if="{{false}}" class="Unimportance flex-level">查看详情</navigator> | ||
63 | + | ||
64 | + <navigator class="important Unimportance flex-level">更改时间</navigator> | ||
65 | + <navigator wx:if="{{false}}" class="important Unimportance flex-level">发表评价</navigator> | ||
66 | + <navigator wx:if="{{false}}" class="important Unimportance flex-level">重新预约</navigator> | ||
67 | + | ||
68 | + </view> | ||
69 | + </view> | ||
70 | + <view class="exactly flex-center fs26"> | ||
71 | + <view class="line"></view> | ||
72 | + <view class="exactly_text">到底了</view> | ||
73 | + <view class="line"></view> | ||
74 | + </view> | ||
75 | + </view> | ||
76 | +</view> | ||
77 | + | ||
78 | +<!-- 无预约订单 --> | ||
79 | +<view class="empty_order" wx:if="{{true}}"> | ||
80 | + <view class="flex-level"> | ||
81 | + <image src="{{iurl}}miniapp/images/order/empty_order.png"></image> | ||
82 | + </view> | ||
83 | + <view class="flex-level fs30 xc-ash">暂无预约记录</view> | ||
84 | + <view class="flex-level"> | ||
85 | + <navigator url="/pages/user/my_service/my_service" bindtap="goto"> | ||
86 | + <view class="flex-center fs28 white">立即预约</view> | ||
87 | + </navigator> | ||
88 | + </view> | ||
89 | +</view> | ||
0 | \ No newline at end of file | 90 | \ No newline at end of file |
pages/user/my_service/tment_order_list.wxss
0 → 100644
1 | +page { | ||
2 | + height: 100%; | ||
3 | + background-color: rgb(238, 238, 238); | ||
4 | +} | ||
5 | + | ||
6 | +.container { | ||
7 | + background-color: rgb(255, 255, 255); | ||
8 | +} | ||
9 | + | ||
10 | +.type-navbar { | ||
11 | + border-top: 3rpx solid rgb(221, 221, 221); | ||
12 | + display: flex; | ||
13 | + justify-content: space-between; | ||
14 | +} | ||
15 | + | ||
16 | +.type-box { | ||
17 | + height: 88rpx; | ||
18 | + line-height: 88rpx; | ||
19 | + padding: 0rpx 15rpx; | ||
20 | + border-bottom: 5rpx solid rgb(255, 255, 255); | ||
21 | +} | ||
22 | + | ||
23 | +.chtypebox { | ||
24 | + border-bottom: 5rpx solid rgb(224, 18, 18); | ||
25 | +} | ||
26 | + | ||
27 | +.Commodity_number { | ||
28 | + height: 80rpx; | ||
29 | + border-top: 13rpx solid rgb(245, 245, 245); | ||
30 | +} | ||
31 | + | ||
32 | +.Commodity_number image { | ||
33 | + width: 30rpx; | ||
34 | + height: 32rpx; | ||
35 | +} | ||
36 | + | ||
37 | +.padding { | ||
38 | + padding: 0rpx 27rpx; | ||
39 | +} | ||
40 | + | ||
41 | +.lin { | ||
42 | + border-left: 2rpx solid rgb(211, 29, 54); | ||
43 | + margin-left: 17rpx; | ||
44 | + margin-right: 14rpx; | ||
45 | + height: 40rpx; | ||
46 | +} | ||
47 | + | ||
48 | +.order_number { | ||
49 | + width: 500rpx; | ||
50 | +} | ||
51 | + | ||
52 | +.items { | ||
53 | + border-top: 4rpx solid rgb(245, 245, 245); | ||
54 | + border-bottom: 4rpx solid rgb(245, 245, 245); | ||
55 | + height: 260rpx; | ||
56 | +} | ||
57 | + | ||
58 | +.itemimage { | ||
59 | + width: 190rpx; | ||
60 | + height: 190rpx; | ||
61 | + margin-right: 20rpx; | ||
62 | +} | ||
63 | + | ||
64 | +.details { | ||
65 | + height: 190rpx; | ||
66 | +} | ||
67 | + | ||
68 | +.itemname { | ||
69 | + width: 130rpx; | ||
70 | +} | ||
71 | + | ||
72 | +.itemvalue { | ||
73 | + max-width: 300rpx; | ||
74 | +} | ||
75 | + | ||
76 | +.Unimportance { | ||
77 | + width: 140rpx; | ||
78 | + height: 40rpx; | ||
79 | + line-height: 40rpx; | ||
80 | + border-radius: 8rpx; | ||
81 | + background-color: rgb(255, 255, 255); | ||
82 | + margin-left: 20rpx; | ||
83 | + border: 2rpx solid rgb(191, 191, 191); | ||
84 | +} | ||
85 | + | ||
86 | +.important { | ||
87 | + background-color: rgb(212, 28, 52); | ||
88 | + border: 2rpx solid rgb(212, 28, 52); | ||
89 | + color: rgb(255, 255, 255); | ||
90 | +} | ||
91 | + | ||
92 | +.Unim { | ||
93 | + height: 110rpx; | ||
94 | +} | ||
95 | + | ||
96 | +.exactly { | ||
97 | + height: 80rpx; | ||
98 | + background-color: rgb(245, 245, 245); | ||
99 | +} | ||
100 | + | ||
101 | +.exactly_text { | ||
102 | + margin: 0rpx 15rpx; | ||
103 | +} | ||
104 | + | ||
105 | +.line { | ||
106 | + border-top: 2rpx solid rgb(0, 0, 0); | ||
107 | + width: 130rpx; | ||
108 | +} | ||
109 | + | ||
110 | +/* 无预约 */ | ||
111 | + | ||
112 | +.empty_order image { | ||
113 | + width: 300rpx; | ||
114 | + height: 300rpx; | ||
115 | + margin-top: 202rpx; | ||
116 | +} | ||
117 | + | ||
118 | +.empty_order .xc-ash { | ||
119 | + margin-top: 10rpx; | ||
120 | + font-weight: 600px; | ||
121 | +} | ||
122 | + | ||
123 | +.empty_order navigator { | ||
124 | + margin-top: 60rpx; | ||
125 | + border-radius: 40rpx; | ||
126 | +} | ||
127 | + | ||
128 | +.empty_order navigator view { | ||
129 | + width: 247rpx; | ||
130 | + height: 56rpx; | ||
131 | + background-color: rgb(255, 72, 72); | ||
132 | + border-radius: 40rpx; | ||
133 | +} |