Commit 63bdfdac76d59c4cf3d38128ab4f76226740aa58
1 parent
fc4f87d8
改目录
Showing
33 changed files
with
2397 additions
and
2 deletions
app.json
1 | 1 | { |
2 | 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 | 11 | "pages/index/index/index", |
6 | 12 | "pages/goods/categoryList/categoryList", |
7 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | +} | ... | ... |