作者 吴孟雨

优化申诉详情,优化打卡,优化预约时购买畅玩卡并提交,用户拒绝授权时默认加载北京的轮播图,添加空预约记录页和上拉加载,

购卡页添加学员的加载更多事件,添加团购分享好友页接口,修改团购详情页分享后再次打开的页面,添加我的畅玩卡接口,修改确认订单逻辑
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <project version="4"> 2 <project version="4">
3 <component name="ChangeListManager"> 3 <component name="ChangeListManager">
4 - <list default="true" id="632eecf6-91e3-4185-aea4-06d243e51935" name="Default" comment="申诉上传图片,优化弹框模板,添加学员调用城市列表,添加订单上拉加载,全局判断是否绑定手机号,"> 4 + <list default="true" id="632eecf6-91e3-4185-aea4-06d243e51935" name="Default" comment="申诉详情,二次申诉">
5 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> 5 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
6 - <change beforePath="$PROJECT_DIR$/pages/clock/clock.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/clock.wxss" afterDir="false" /> 6 + <change beforePath="$PROJECT_DIR$/pages/clock/clock.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/clock.js" afterDir="false" />
7 <change beforePath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js" afterDir="false" /> 7 <change beforePath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js" afterDir="false" />
8 - <change beforePath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxml" afterDir="false" />  
9 - <change beforePath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxss" afterDir="false" />  
10 - <change beforePath="$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.js" afterDir="false" />  
11 - <change beforePath="$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.wxml" afterDir="false" /> 8 + <change beforePath="$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.wxml" afterDir="false" />
  9 + <change beforePath="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.js" afterDir="false" />
  10 + <change beforePath="$PROJECT_DIR$/pages/index/go-appointment/go-appointment.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/go-appointment/go-appointment.js" afterDir="false" />
12 <change beforePath="$PROJECT_DIR$/pages/index/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/index.js" afterDir="false" /> 11 <change beforePath="$PROJECT_DIR$/pages/index/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/index.js" afterDir="false" />
13 - <change beforePath="$PROJECT_DIR$/pages/index/index.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/index.wxss" afterDir="false" />  
14 - <change beforePath="$PROJECT_DIR$/pages/my/my.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/my.wxss" afterDir="false" />  
15 - <change beforePath="$PROJECT_DIR$/wxParse/html2json.js" beforeDir="false" afterPath="$PROJECT_DIR$/wxParse/html2json.js" afterDir="false" /> 12 + <change beforePath="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxml" afterDir="false" />
  13 + <change beforePath="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxss" afterDir="false" />
  14 + <change beforePath="$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.js" afterDir="false" />
  15 + <change beforePath="$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.wxml" afterDir="false" />
  16 + <change beforePath="$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.wxss" afterDir="false" />
  17 + <change beforePath="$PROJECT_DIR$/pages/my/buyCard/buyCard.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/buyCard/buyCard.js" afterDir="false" />
  18 + <change beforePath="$PROJECT_DIR$/pages/my/groupBuy/groupBuy.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/groupBuy/groupBuy.js" afterDir="false" />
  19 + <change beforePath="$PROJECT_DIR$/pages/my/groupBuy/groupBuy.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/groupBuy/groupBuy.wxml" afterDir="false" />
  20 + <change beforePath="$PROJECT_DIR$/pages/my/groupBuy/groupBuy.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/groupBuy/groupBuy.wxss" afterDir="false" />
  21 + <change beforePath="$PROJECT_DIR$/pages/my/groupBuyDetail/groupBuyDetail.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/groupBuyDetail/groupBuyDetail.js" afterDir="false" />
  22 + <change beforePath="$PROJECT_DIR$/pages/my/myCard/myCard.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/myCard/myCard.js" afterDir="false" />
  23 + <change beforePath="$PROJECT_DIR$/pages/my/myCard/myCard.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/myCard/myCard.wxml" afterDir="false" />
  24 + <change beforePath="$PROJECT_DIR$/pages/my/myCard/myCard.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/myCard/myCard.wxss" afterDir="false" />
  25 + <change beforePath="$PROJECT_DIR$/pages/my/order-detail/order-detail.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/order-detail/order-detail.js" afterDir="false" />
  26 + <change beforePath="$PROJECT_DIR$/pages/my/order-detail/order-detail.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/order-detail/order-detail.wxml" afterDir="false" />
  27 + <change beforePath="$PROJECT_DIR$/pages/my/order-detail/order-detail.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/order-detail/order-detail.wxss" afterDir="false" />
  28 + <change beforePath="$PROJECT_DIR$/pages/my/shareGroupBuy/shareGroupBuy.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/shareGroupBuy/shareGroupBuy.js" afterDir="false" />
  29 + <change beforePath="$PROJECT_DIR$/pages/my/shareGroupBuy/shareGroupBuy.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/shareGroupBuy/shareGroupBuy.wxml" afterDir="false" />
16 </list> 30 </list>
17 <ignored path="$PROJECT_DIR$/.tmp/" /> 31 <ignored path="$PROJECT_DIR$/.tmp/" />
18 <ignored path="$PROJECT_DIR$/temp/" /> 32 <ignored path="$PROJECT_DIR$/temp/" />
@@ -27,152 +41,145 @@ @@ -27,152 +41,145 @@
27 <session id="-381596063"> 41 <session id="-381596063">
28 <usages-collector id="statistics.lifecycle.project"> 42 <usages-collector id="statistics.lifecycle.project">
29 <counts> 43 <counts>
30 - <entry key="project.closed" value="16" /> 44 + <entry key="project.closed" value="18" />
31 <entry key="project.open.time.0" value="6" /> 45 <entry key="project.open.time.0" value="6" />
32 - <entry key="project.open.time.1" value="7" /> 46 + <entry key="project.open.time.1" value="8" />
  47 + <entry key="project.open.time.10" value="1" />
33 <entry key="project.open.time.2" value="2" /> 48 <entry key="project.open.time.2" value="2" />
34 <entry key="project.open.time.8" value="2" /> 49 <entry key="project.open.time.8" value="2" />
35 <entry key="project.open.time.9" value="1" /> 50 <entry key="project.open.time.9" value="1" />
36 - <entry key="project.opened" value="18" /> 51 + <entry key="project.opened" value="20" />
37 </counts> 52 </counts>
38 </usages-collector> 53 </usages-collector>
39 <usages-collector id="statistics.file.extensions.open"> 54 <usages-collector id="statistics.file.extensions.open">
40 <counts> 55 <counts>
41 - <entry key="js" value="143" /> 56 + <entry key="js" value="163" />
42 <entry key="json" value="31" /> 57 <entry key="json" value="31" />
43 - <entry key="wxml" value="112" />  
44 - <entry key="wxss" value="49" /> 58 + <entry key="wxml" value="129" />
  59 + <entry key="wxss" value="51" />
45 </counts> 60 </counts>
46 </usages-collector> 61 </usages-collector>
47 <usages-collector id="statistics.file.types.open"> 62 <usages-collector id="statistics.file.types.open">
48 <counts> 63 <counts>
49 - <entry key="CSS" value="49" />  
50 - <entry key="HTML" value="112" /> 64 + <entry key="CSS" value="51" />
  65 + <entry key="HTML" value="129" />
51 <entry key="JSON" value="31" /> 66 <entry key="JSON" value="31" />
52 - <entry key="JavaScript" value="143" /> 67 + <entry key="JavaScript" value="163" />
53 </counts> 68 </counts>
54 </usages-collector> 69 </usages-collector>
55 <usages-collector id="statistics.file.extensions.edit"> 70 <usages-collector id="statistics.file.extensions.edit">
56 <counts> 71 <counts>
57 - <entry key="js" value="13513" /> 72 + <entry key="js" value="15129" />
58 <entry key="json" value="158" /> 73 <entry key="json" value="158" />
59 - <entry key="txt" value="279" />  
60 - <entry key="wxml" value="3146" />  
61 - <entry key="wxss" value="1477" /> 74 + <entry key="txt" value="288" />
  75 + <entry key="wxml" value="3443" />
  76 + <entry key="wxss" value="1590" />
62 </counts> 77 </counts>
63 </usages-collector> 78 </usages-collector>
64 <usages-collector id="statistics.file.types.edit"> 79 <usages-collector id="statistics.file.types.edit">
65 <counts> 80 <counts>
66 - <entry key="CSS" value="1477" />  
67 - <entry key="HTML" value="3146" /> 81 + <entry key="CSS" value="1590" />
  82 + <entry key="HTML" value="3443" />
68 <entry key="JSON" value="158" /> 83 <entry key="JSON" value="158" />
69 - <entry key="JavaScript" value="13513" />  
70 - <entry key="PLAIN_TEXT" value="279" /> 84 + <entry key="JavaScript" value="15129" />
  85 + <entry key="PLAIN_TEXT" value="288" />
  86 + </counts>
  87 + </usages-collector>
  88 + <usages-collector id="statistics.vcs.git.usages">
  89 + <counts>
  90 + <entry key="git.branch.merge" value="2" />
71 </counts> 91 </counts>
72 </usages-collector> 92 </usages-collector>
73 </session> 93 </session>
74 </component> 94 </component>
75 <component name="FileEditorManager"> 95 <component name="FileEditorManager">
76 <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> 96 <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
77 - <file pinned="false" current-in-tab="false">  
78 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.js"> 97 + <file pinned="false" current-in-tab="true">
  98 + <entry file="file://$PROJECT_DIR$/pages/clock/clock.js">
79 <provider selected="true" editor-type-id="text-editor"> 99 <provider selected="true" editor-type-id="text-editor">
80 - <state relative-caret-position="506">  
81 - <caret line="94" column="10" lean-forward="true" selection-start-line="94" selection-start-column="10" selection-end-line="94" selection-end-column="10" /> 100 + <state relative-caret-position="773">
  101 + <caret line="159" column="10" lean-forward="true" selection-start-line="159" selection-start-column="10" selection-end-line="159" selection-end-column="10" />
82 <folding> 102 <folding>
83 - <element signature="e#1652#2617#0" /> 103 + <element signature="e#152#1691#0" />
  104 + <element signature="e#4857#8107#0" />
84 </folding> 105 </folding>
85 </state> 106 </state>
86 </provider> 107 </provider>
87 </entry> 108 </entry>
88 </file> 109 </file>
89 <file pinned="false" current-in-tab="false"> 110 <file pinned="false" current-in-tab="false">
90 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.wxml">  
91 - <provider selected="true" editor-type-id="text-editor">  
92 - <state relative-caret-position="154">  
93 - <caret line="28" column="37" lean-forward="true" selection-start-line="28" selection-start-column="37" selection-end-line="28" selection-end-column="37" />  
94 - </state>  
95 - </provider> 111 + <entry file="file://$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.wxml">
  112 + <provider selected="true" editor-type-id="text-editor" />
96 </entry> 113 </entry>
97 </file> 114 </file>
98 <file pinned="false" current-in-tab="false"> 115 <file pinned="false" current-in-tab="false">
99 - <entry file="file://$PROJECT_DIR$/pages/clock/clock.wxml"> 116 + <entry file="file://$PROJECT_DIR$/pages/my/shareGroupBuy/shareGroupBuy.wxml">
100 <provider selected="true" editor-type-id="text-editor"> 117 <provider selected="true" editor-type-id="text-editor">
101 - <state relative-caret-position="66">  
102 - <caret line="3" column="43" selection-start-line="3" selection-start-column="32" selection-end-line="3" selection-end-column="43" />  
103 - <folding>  
104 - <element signature="n#style#0;n#view#0;n#!!top" expanded="true" />  
105 - </folding> 118 + <state relative-caret-position="594">
  119 + <caret line="27" column="13" selection-start-line="27" selection-start-column="7" selection-end-line="27" selection-end-column="13" />
106 </state> 120 </state>
107 </provider> 121 </provider>
108 </entry> 122 </entry>
109 </file> 123 </file>
110 <file pinned="false" current-in-tab="false"> 124 <file pinned="false" current-in-tab="false">
111 - <entry file="file://$PROJECT_DIR$/pages/clock/clock.js"> 125 + <entry file="file://$PROJECT_DIR$/pages/my/shareGroupBuy/shareGroupBuy.js">
112 <provider selected="true" editor-type-id="text-editor"> 126 <provider selected="true" editor-type-id="text-editor">
113 - <state relative-caret-position="1518">  
114 - <caret line="117" column="41" lean-forward="true" selection-start-line="117" selection-start-column="41" selection-end-line="117" selection-end-column="41" />  
115 - <folding>  
116 - <element signature="e#152#1691#0" />  
117 - </folding> 127 + <state relative-caret-position="74">
  128 + <caret line="63" column="34" lean-forward="true" selection-start-line="63" selection-start-column="34" selection-end-line="63" selection-end-column="34" />
118 </state> 129 </state>
119 </provider> 130 </provider>
120 </entry> 131 </entry>
121 </file> 132 </file>
122 <file pinned="false" current-in-tab="false"> 133 <file pinned="false" current-in-tab="false">
123 - <entry file="file://$PROJECT_DIR$/pages/clock/clock.wxss"> 134 + <entry file="file://$PROJECT_DIR$/pages/my/takeGroupBuy/takeGroupBuy.wxml">
124 <provider selected="true" editor-type-id="text-editor"> 135 <provider selected="true" editor-type-id="text-editor">
125 - <state relative-caret-position="455">  
126 - <caret line="32" column="14" lean-forward="true" selection-start-line="32" selection-start-column="14" selection-end-line="32" selection-end-column="14" /> 136 + <state relative-caret-position="1232">
  137 + <caret line="92" column="49" selection-start-line="92" selection-start-column="44" selection-end-line="92" selection-end-column="49" />
127 </state> 138 </state>
128 </provider> 139 </provider>
129 </entry> 140 </entry>
130 </file> 141 </file>
131 <file pinned="false" current-in-tab="false"> 142 <file pinned="false" current-in-tab="false">
132 - <entry file="file://$PROJECT_DIR$/pages/my/my.wxss"> 143 + <entry file="file://$PROJECT_DIR$/pages/my/takeGroupBuy/takeGroupBuy.js">
133 <provider selected="true" editor-type-id="text-editor"> 144 <provider selected="true" editor-type-id="text-editor">
134 - <state relative-caret-position="550">  
135 - <caret line="25" column="14" lean-forward="true" selection-start-line="25" selection-start-column="14" selection-end-line="25" selection-end-column="14" /> 145 + <state relative-caret-position="674">
  146 + <caret line="62" column="34" lean-forward="true" selection-start-line="62" selection-start-column="34" selection-end-line="62" selection-end-column="34" />
136 </state> 147 </state>
137 </provider> 148 </provider>
138 </entry> 149 </entry>
139 </file> 150 </file>
140 <file pinned="false" current-in-tab="false"> 151 <file pinned="false" current-in-tab="false">
141 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxml"> 152 + <entry file="file://$PROJECT_DIR$/pages/my/groupBuy/groupBuy.wxml">
142 <provider selected="true" editor-type-id="text-editor"> 153 <provider selected="true" editor-type-id="text-editor">
143 - <state relative-caret-position="558">  
144 - <caret line="102" column="57" lean-forward="true" selection-start-line="102" selection-start-column="57" selection-end-line="102" selection-end-column="57" /> 154 + <state relative-caret-position="509">
  155 + <caret line="134" column="31" lean-forward="true" selection-start-line="134" selection-start-column="31" selection-end-line="134" selection-end-column="31" />
145 </state> 156 </state>
146 </provider> 157 </provider>
147 </entry> 158 </entry>
148 </file> 159 </file>
149 - <file pinned="false" current-in-tab="true">  
150 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js"> 160 + <file pinned="false" current-in-tab="false">
  161 + <entry file="file://$PROJECT_DIR$/pages/my/groupBuyDetail/groupBuyDetail.wxml">
151 <provider selected="true" editor-type-id="text-editor"> 162 <provider selected="true" editor-type-id="text-editor">
152 - <state relative-caret-position="608">  
153 - <caret line="143" selection-start-line="143" selection-end-line="143" />  
154 - <folding>  
155 - <element signature="e#1398#2534#0" />  
156 - <element signature="e#2559#3773#0" />  
157 - </folding> 163 + <state relative-caret-position="740">
  164 + <caret line="57" column="63" lean-forward="true" selection-start-line="57" selection-start-column="63" selection-end-line="57" selection-end-column="63" />
158 </state> 165 </state>
159 </provider> 166 </provider>
160 </entry> 167 </entry>
161 </file> 168 </file>
162 <file pinned="false" current-in-tab="false"> 169 <file pinned="false" current-in-tab="false">
163 - <entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxml"> 170 + <entry file="file://$PROJECT_DIR$/pages/my/groupBuyDetail/groupBuyDetail.js">
164 <provider selected="true" editor-type-id="text-editor"> 171 <provider selected="true" editor-type-id="text-editor">
165 - <state relative-caret-position="22">  
166 - <caret line="5" column="72" lean-forward="true" selection-start-line="5" selection-start-column="72" selection-end-line="5" selection-end-column="72" /> 172 + <state relative-caret-position="-28">
  173 + <caret line="89" column="5" selection-start-line="89" selection-start-column="5" selection-end-line="89" selection-end-column="5" />
167 </state> 174 </state>
168 </provider> 175 </provider>
169 </entry> 176 </entry>
170 </file> 177 </file>
171 <file pinned="false" current-in-tab="false"> 178 <file pinned="false" current-in-tab="false">
172 - <entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.js"> 179 + <entry file="file://$PROJECT_DIR$/pages/my/groupBuy/groupBuy.js">
173 <provider selected="true" editor-type-id="text-editor"> 180 <provider selected="true" editor-type-id="text-editor">
174 - <state relative-caret-position="462">  
175 - <caret line="120" column="8" lean-forward="true" selection-start-line="120" selection-start-column="8" selection-end-line="130" selection-end-column="28" /> 181 + <state relative-caret-position="495">
  182 + <caret line="170" column="49" selection-start-line="170" selection-start-column="36" selection-end-line="170" selection-end-column="49" />
176 </state> 183 </state>
177 </provider> 184 </provider>
178 </entry> 185 </entry>
@@ -181,55 +188,57 @@ @@ -181,55 +188,57 @@
181 </component> 188 </component>
182 <component name="FindInProjectRecents"> 189 <component name="FindInProjectRecents">
183 <findStrings> 190 <findStrings>
184 - <find>getSlideImage</find>  
185 - <find>punch</find>  
186 - <find>xxx</find>  
187 - <find>changeState</find>  
188 - <find>pay_success</find> 191 + <find>getAppointmentList</find>
  192 + <find>modal</find>
189 <find>refreshBuyState</find> 193 <find>refreshBuyState</find>
190 - <find>state_data</find>  
191 - <find>chooseChildren</find>  
192 - <find>session_info</find>  
193 <find>getAppointmentInfo</find> 194 <find>getAppointmentInfo</find>
194 - <find>swiperChange</find>  
195 - <find>wrap</find>  
196 - <find>cur</find>  
197 - <find>current</find> 195 + <find>student_id</find>
  196 + <find>indexOf</find>
  197 + <find>new_itmes</find>
  198 + <find>请选择两个学员</find>
  199 + <find>has_more</find>
  200 + <find>changeState</find>
  201 + <find>picker</find>
  202 + <find>num</find>
  203 + <find>is_choose_student</find>
  204 + <find>reservation_id</find>
  205 + <find>currentTab</find>
  206 + <find>student_num</find>
  207 + <find>detail.num</find>
  208 + <find>state_data</find>
  209 + <find>student_list</find>
  210 + <find>buy</find>
  211 + <find>new_arr</find>
  212 + <find>getStudentList</find>
  213 + <find>from_appointment</find>
  214 + <find>page_num</find>
  215 + <find>id</find>
  216 + <find>recordList</find>
  217 + <find>打卡</find>
  218 + <find>test</find>
  219 + <find>postPosition</find>
198 <find>getExperiment</find> 220 <find>getExperiment</find>
199 - <find>goPhoneCode</find>  
200 - <find>console.dir</find>  
201 - <find>city_index</find>  
202 - <find>sex_index</find>  
203 - <find>is_sex_change</find>  
204 - <find>template</find>  
205 - <find>is_birth_change</find>  
206 - <find>form</find>  
207 - <find>tabCharge</find>  
208 - <find>currentSwiper</find>  
209 - <find>listDetail</find>  
210 - <find>submit_btn</find>  
211 - <find>modal</find>  
212 - <find>is_bingding</find>  
213 - <find>getAppointmentList</find>  
214 </findStrings> 221 </findStrings>
215 </component> 222 </component>
216 <component name="Git.Settings"> 223 <component name="Git.Settings">
217 <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> 224 <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
  225 + <favorite-branches>
  226 + <branch-storage>
  227 + <map>
  228 + <entry type="REMOTE">
  229 + <value>
  230 + <list>
  231 + <branch-info repo="$PROJECT_DIR$" source="origin/wumengyu" />
  232 + </list>
  233 + </value>
  234 + </entry>
  235 + </map>
  236 + </branch-storage>
  237 + </favorite-branches>
218 </component> 238 </component>
219 <component name="IdeDocumentHistory"> 239 <component name="IdeDocumentHistory">
220 <option name="CHANGED_PATHS"> 240 <option name="CHANGED_PATHS">
221 <list> 241 <list>
222 - <option value="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.json" />  
223 - <option value="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxml" />  
224 - <option value="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxss" />  
225 - <option value="$PROJECT_DIR$/pages/my/buyCard/buyCard.wxml" />  
226 - <option value="$PROJECT_DIR$/pages/my/buyCard/buyCard.wxss" />  
227 - <option value="$PROJECT_DIR$/pages/my/edit-student/edit-student.js" />  
228 - <option value="$PROJECT_DIR$/pages/my/charge/charge.json" />  
229 - <option value="$PROJECT_DIR$/pages/my/charge/charge.wxss" />  
230 - <option value="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.js" />  
231 - <option value="$PROJECT_DIR$/pages/my/myProfile/myProfile.wxml" />  
232 - <option value="$PROJECT_DIR$/pages/my/myProfile/myProfile.wxss" />  
233 <option value="$PROJECT_DIR$/pages/my/charge/charge.wxml" /> 242 <option value="$PROJECT_DIR$/pages/my/charge/charge.wxml" />
234 <option value="$PROJECT_DIR$/pages/my/charge/charge.js" /> 243 <option value="$PROJECT_DIR$/pages/my/charge/charge.js" />
235 <option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxss" /> 244 <option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxss" />
@@ -238,30 +247,21 @@ @@ -238,30 +247,21 @@
238 <option value="$PROJECT_DIR$/templates/templates.wxss" /> 247 <option value="$PROJECT_DIR$/templates/templates.wxss" />
239 <option value="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxml" /> 248 <option value="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxml" />
240 <option value="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxss" /> 249 <option value="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxss" />
241 - <option value="$PROJECT_DIR$/pages/my/order-detail/order-detail.js" />  
242 - <option value="$PROJECT_DIR$/pages/index/go-appointment/go-appointment.js" />  
243 - <option value="$PROJECT_DIR$/pages/my/order-detail/order-detail.wxml" />  
244 <option value="$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.wxml" /> 250 <option value="$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.wxml" />
245 <option value="$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.wxss" /> 251 <option value="$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.wxss" />
246 <option value="$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.js" /> 252 <option value="$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.js" />
247 - <option value="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.js" />  
248 <option value="$PROJECT_DIR$/pages/my/myProfile/myProfile.js" /> 253 <option value="$PROJECT_DIR$/pages/my/myProfile/myProfile.js" />
249 - <option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.wxml" />  
250 <option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.js" /> 254 <option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.js" />
251 <option value="$PROJECT_DIR$/app.js" /> 255 <option value="$PROJECT_DIR$/app.js" />
252 <option value="$PROJECT_DIR$/pages/my/my.js" /> 256 <option value="$PROJECT_DIR$/pages/my/my.js" />
253 <option value="$PROJECT_DIR$/pages/my/my.wxml" /> 257 <option value="$PROJECT_DIR$/pages/my/my.wxml" />
254 <option value="$PROJECT_DIR$/templates/templates.wxml" /> 258 <option value="$PROJECT_DIR$/templates/templates.wxml" />
255 <option value="$PROJECT_DIR$/pages/clock/clock.wxml" /> 259 <option value="$PROJECT_DIR$/pages/clock/clock.wxml" />
256 - <option value="$PROJECT_DIR$/pages/clock/clock.js" />  
257 <option value="$PROJECT_DIR$/pages/index/phone-code/phone-code.js" /> 260 <option value="$PROJECT_DIR$/pages/index/phone-code/phone-code.js" />
258 - <option value="$PROJECT_DIR$/pages/my/buyCard/buyCard.js" />  
259 <option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxml" /> 261 <option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxml" />
260 - <option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.js" />  
261 <option value="$PROJECT_DIR$/app.json" /> 262 <option value="$PROJECT_DIR$/app.json" />
262 <option value="$PROJECT_DIR$/pages/start/start.js" /> 263 <option value="$PROJECT_DIR$/pages/start/start.js" />
263 <option value="$PROJECT_DIR$/pages/index/index.wxml" /> 264 <option value="$PROJECT_DIR$/pages/index/index.wxml" />
264 - <option value="$PROJECT_DIR$/pages/index/index.js" />  
265 <option value="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxml" /> 265 <option value="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxml" />
266 <option value="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxss" /> 266 <option value="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxss" />
267 <option value="$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.js" /> 267 <option value="$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.js" />
@@ -269,7 +269,27 @@ @@ -269,7 +269,27 @@
269 <option value="$PROJECT_DIR$/pages/index/index.wxss" /> 269 <option value="$PROJECT_DIR$/pages/index/index.wxss" />
270 <option value="$PROJECT_DIR$/pages/clock/clock.wxss" /> 270 <option value="$PROJECT_DIR$/pages/clock/clock.wxss" />
271 <option value="$PROJECT_DIR$/pages/my/my.wxss" /> 271 <option value="$PROJECT_DIR$/pages/my/my.wxss" />
  272 + <option value="$PROJECT_DIR$/pages/index/index.js" />
  273 + <option value="$PROJECT_DIR$/pages/index/go-appointment/go-appointment.js" />
  274 + <option value="$PROJECT_DIR$/pages/my/buyCard/buyCard.js" />
272 <option value="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js" /> 275 <option value="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js" />
  276 + <option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.wxml" />
  277 + <option value="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.js" />
  278 + <option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.js" />
  279 + <option value="$PROJECT_DIR$/pages/my/order-detail/order-detail.wxml" />
  280 + <option value="$PROJECT_DIR$/pages/my/order-detail/order-detail.js" />
  281 + <option value="$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.js" />
  282 + <option value="$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.wxss" />
  283 + <option value="$PROJECT_DIR$/pages/my/myCard/myCard.wxml" />
  284 + <option value="$PROJECT_DIR$/pages/my/myCard/myCard.js" />
  285 + <option value="$PROJECT_DIR$/pages/my/myCard/myCard.wxss" />
  286 + <option value="$PROJECT_DIR$/pages/my/shareGroupBuy/shareGroupBuy.js" />
  287 + <option value="$PROJECT_DIR$/pages/my/shareGroupBuy/shareGroupBuy.wxml" />
  288 + <option value="$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.wxml" />
  289 + <option value="$PROJECT_DIR$/pages/my/groupBuy/groupBuy.js" />
  290 + <option value="$PROJECT_DIR$/pages/my/groupBuy/groupBuy.wxml" />
  291 + <option value="$PROJECT_DIR$/pages/my/groupBuyDetail/groupBuyDetail.js" />
  292 + <option value="$PROJECT_DIR$/pages/clock/clock.js" />
273 </list> 293 </list>
274 </option> 294 </option>
275 </component> 295 </component>
@@ -290,7 +310,6 @@ @@ -290,7 +310,6 @@
290 <foldersAlwaysOnTop value="true" /> 310 <foldersAlwaysOnTop value="true" />
291 </navigator> 311 </navigator>
292 <panes> 312 <panes>
293 - <pane id="Scope" />  
294 <pane id="ProjectPane"> 313 <pane id="ProjectPane">
295 <subPane> 314 <subPane>
296 <expand> 315 <expand>
@@ -347,25 +366,95 @@ @@ -347,25 +366,95 @@
347 <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" /> 366 <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
348 <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" /> 367 <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
349 <item name="pages" type="462c0819:PsiDirectoryNode" /> 368 <item name="pages" type="462c0819:PsiDirectoryNode" />
  369 + <item name="index" type="462c0819:PsiDirectoryNode" />
  370 + <item name="confirm-appointment-info" type="462c0819:PsiDirectoryNode" />
  371 + </path>
  372 + <path>
  373 + <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
  374 + <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
  375 + <item name="pages" type="462c0819:PsiDirectoryNode" />
  376 + <item name="index" type="462c0819:PsiDirectoryNode" />
  377 + <item name="confirm-appointment-info" type="462c0819:PsiDirectoryNode" />
  378 + <item name="add-student" type="462c0819:PsiDirectoryNode" />
  379 + </path>
  380 + <path>
  381 + <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
  382 + <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
  383 + <item name="pages" type="462c0819:PsiDirectoryNode" />
  384 + <item name="my" type="462c0819:PsiDirectoryNode" />
  385 + </path>
  386 + <path>
  387 + <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
  388 + <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
  389 + <item name="pages" type="462c0819:PsiDirectoryNode" />
  390 + <item name="my" type="462c0819:PsiDirectoryNode" />
  391 + <item name="appointmentRecord" type="462c0819:PsiDirectoryNode" />
  392 + </path>
  393 + <path>
  394 + <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
  395 + <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
  396 + <item name="pages" type="462c0819:PsiDirectoryNode" />
  397 + <item name="my" type="462c0819:PsiDirectoryNode" />
  398 + <item name="buyCard" type="462c0819:PsiDirectoryNode" />
  399 + </path>
  400 + <path>
  401 + <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
  402 + <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
  403 + <item name="pages" type="462c0819:PsiDirectoryNode" />
  404 + <item name="my" type="462c0819:PsiDirectoryNode" />
  405 + <item name="groupBuy" type="462c0819:PsiDirectoryNode" />
  406 + </path>
  407 + <path>
  408 + <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
  409 + <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
  410 + <item name="pages" type="462c0819:PsiDirectoryNode" />
350 <item name="my" type="462c0819:PsiDirectoryNode" /> 411 <item name="my" type="462c0819:PsiDirectoryNode" />
  412 + <item name="groupBuyDetail" type="462c0819:PsiDirectoryNode" />
351 </path> 413 </path>
352 <path> 414 <path>
353 <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" /> 415 <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
354 <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" /> 416 <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
355 <item name="pages" type="462c0819:PsiDirectoryNode" /> 417 <item name="pages" type="462c0819:PsiDirectoryNode" />
356 <item name="my" type="462c0819:PsiDirectoryNode" /> 418 <item name="my" type="462c0819:PsiDirectoryNode" />
357 - <item name="all-appointment" type="462c0819:PsiDirectoryNode" /> 419 + <item name="myCard" type="462c0819:PsiDirectoryNode" />
  420 + </path>
  421 + <path>
  422 + <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
  423 + <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
  424 + <item name="pages" type="462c0819:PsiDirectoryNode" />
  425 + <item name="my" type="462c0819:PsiDirectoryNode" />
  426 + <item name="order-detail" type="462c0819:PsiDirectoryNode" />
  427 + </path>
  428 + <path>
  429 + <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
  430 + <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
  431 + <item name="pages" type="462c0819:PsiDirectoryNode" />
  432 + <item name="my" type="462c0819:PsiDirectoryNode" />
  433 + <item name="shareGroupBuy" type="462c0819:PsiDirectoryNode" />
  434 + </path>
  435 + <path>
  436 + <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
  437 + <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
  438 + <item name="pages" type="462c0819:PsiDirectoryNode" />
  439 + <item name="my" type="462c0819:PsiDirectoryNode" />
  440 + <item name="takeGroupBuy" type="462c0819:PsiDirectoryNode" />
  441 + </path>
  442 + <path>
  443 + <item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
  444 + <item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
  445 + <item name="utils" type="462c0819:PsiDirectoryNode" />
358 </path> 446 </path>
359 </expand> 447 </expand>
360 <select /> 448 <select />
361 </subPane> 449 </subPane>
362 </pane> 450 </pane>
  451 + <pane id="Scope" />
363 </panes> 452 </panes>
364 </component> 453 </component>
365 <component name="PropertiesComponent"> 454 <component name="PropertiesComponent">
366 <property name="SearchEverywhereHistoryKey" value="edit&#9;FILE&#9;file://D:/小程序/scienceCaptain/ScienceCaptain/pages/my/edit-student/edit-student.js" /> 455 <property name="SearchEverywhereHistoryKey" value="edit&#9;FILE&#9;file://D:/小程序/scienceCaptain/ScienceCaptain/pages/my/edit-student/edit-student.js" />
367 <property name="WebServerToolWindowFactoryState" value="false" /> 456 <property name="WebServerToolWindowFactoryState" value="false" />
368 - <property name="last_opened_file_path" value="$PROJECT_DIR$" /> 457 + <property name="last_opened_file_path" value="$PROJECT_DIR$/../../遛狗小程序" />
369 <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> 458 <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
370 <property name="nodejs_npm_path_reset_for_default_project" value="true" /> 459 <property name="nodejs_npm_path_reset_for_default_project" value="true" />
371 <property name="settings.editor.selected.configurable" value="project.propDebugger" /> 460 <property name="settings.editor.selected.configurable" value="project.propDebugger" />
@@ -416,7 +505,9 @@ @@ -416,7 +505,9 @@
416 <workItem from="1544490574837" duration="15199000" /> 505 <workItem from="1544490574837" duration="15199000" />
417 <workItem from="1544579843898" duration="5821000" /> 506 <workItem from="1544579843898" duration="5821000" />
418 <workItem from="1544751555564" duration="3866000" /> 507 <workItem from="1544751555564" duration="3866000" />
419 - <workItem from="1545014617044" duration="7283000" /> 508 + <workItem from="1545014617044" duration="13676000" />
  509 + <workItem from="1545095024314" duration="3201000" />
  510 + <workItem from="1545181336636" duration="25141000" />
420 </task> 511 </task>
421 <task id="LOCAL-00001" summary="modal 模板"> 512 <task id="LOCAL-00001" summary="modal 模板">
422 <created>1542274356914</created> 513 <created>1542274356914</created>
@@ -474,11 +565,18 @@ @@ -474,11 +565,18 @@
474 <option name="project" value="LOCAL" /> 565 <option name="project" value="LOCAL" />
475 <updated>1544583498325</updated> 566 <updated>1544583498325</updated>
476 </task> 567 </task>
477 - <option name="localTasksCounter" value="9" /> 568 + <task id="LOCAL-00009" summary="申诉详情,二次申诉">
  569 + <created>1545025106364</created>
  570 + <option name="number" value="00009" />
  571 + <option name="presentableId" value="LOCAL-00009" />
  572 + <option name="project" value="LOCAL" />
  573 + <updated>1545025106365</updated>
  574 + </task>
  575 + <option name="localTasksCounter" value="10" />
478 <servers /> 576 <servers />
479 </component> 577 </component>
480 <component name="TimeTrackingManager"> 578 <component name="TimeTrackingManager">
481 - <option name="totallyTimeSpent" value="197510000" /> 579 + <option name="totallyTimeSpent" value="232245000" />
482 </component> 580 </component>
483 <component name="ToolWindowManager"> 581 <component name="ToolWindowManager">
484 <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" /> 582 <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
@@ -544,141 +642,130 @@ @@ -544,141 +642,130 @@
544 <MESSAGE value="申诉,打卡,编辑删除学员,更换手机号" /> 642 <MESSAGE value="申诉,打卡,编辑删除学员,更换手机号" />
545 <MESSAGE value="预约详情页接口,删除学员,添加formid" /> 643 <MESSAGE value="预约详情页接口,删除学员,添加formid" />
546 <MESSAGE value="申诉上传图片,优化弹框模板,添加学员调用城市列表,添加订单上拉加载,全局判断是否绑定手机号," /> 644 <MESSAGE value="申诉上传图片,优化弹框模板,添加学员调用城市列表,添加订单上拉加载,全局判断是否绑定手机号," />
547 - <option name="LAST_COMMIT_MESSAGE" value="申诉上传图片,优化弹框模板,添加学员调用城市列表,添加订单上拉加载,全局判断是否绑定手机号," /> 645 + <MESSAGE value="申诉详情,二次申诉" />
  646 + <option name="LAST_COMMIT_MESSAGE" value="申诉详情,二次申诉" />
548 </component> 647 </component>
549 <component name="editorHistoryManager"> 648 <component name="editorHistoryManager">
550 - <entry file="file://$PROJECT_DIR$/pages/my/order-detail/order-detail.js"> 649 + <entry file="file://$PROJECT_DIR$/pages/my/edit-student/edit-student.js">
551 <provider selected="true" editor-type-id="text-editor"> 650 <provider selected="true" editor-type-id="text-editor">
552 - <state relative-caret-position="396">  
553 - <caret line="165" column="8" selection-start-line="165" selection-start-column="8" selection-end-line="180" selection-end-column="11" /> 651 + <state relative-caret-position="1254">
  652 + <caret line="57" column="27" selection-start-line="57" selection-start-column="12" selection-end-line="57" selection-end-column="27" />
554 </state> 653 </state>
555 </provider> 654 </provider>
556 </entry> 655 </entry>
557 - <entry file="file://$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.json">  
558 - <provider selected="true" editor-type-id="text-editor" />  
559 - </entry>  
560 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail2/punchAppealDetail2.wxss">  
561 - <provider selected="true" editor-type-id="text-editor" />  
562 - </entry>  
563 - <entry file="file://$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.js"> 656 + <entry file="file://$PROJECT_DIR$/pages/my/edit-student/edit-student.wxml">
564 <provider selected="true" editor-type-id="text-editor"> 657 <provider selected="true" editor-type-id="text-editor">
565 - <state relative-caret-position="462">  
566 - <caret line="22" selection-start-line="22" selection-end-line="23" />  
567 - <folding>  
568 - <element signature="n#!!doc" expanded="true" />  
569 - </folding> 658 + <state relative-caret-position="594">
  659 + <caret line="27" column="51" selection-start-line="27" selection-start-column="51" selection-end-line="27" selection-end-column="51" />
570 </state> 660 </state>
571 </provider> 661 </provider>
572 </entry> 662 </entry>
573 - <entry file="file://$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.wxml"> 663 + <entry file="file://$PROJECT_DIR$/pages/index/activity-detail/activity-detail.wxml">
574 <provider selected="true" editor-type-id="text-editor"> 664 <provider selected="true" editor-type-id="text-editor">
575 - <state relative-caret-position="66">  
576 - <caret line="3" column="60" selection-start-line="3" selection-start-column="60" selection-end-line="3" selection-end-column="60" /> 665 + <state relative-caret-position="352">
  666 + <caret line="16" column="6" lean-forward="true" selection-start-line="16" selection-start-column="6" selection-end-line="17" selection-end-column="67" />
577 </state> 667 </state>
578 </provider> 668 </provider>
579 </entry> 669 </entry>
580 - <entry file="file://$PROJECT_DIR$/pages/index/go-appointment/go-appointment.js"> 670 + <entry file="file://$PROJECT_DIR$/pages/index/activity-detail/activity-detail.js">
581 <provider selected="true" editor-type-id="text-editor"> 671 <provider selected="true" editor-type-id="text-editor">
582 - <state relative-caret-position="276">  
583 - <caret line="226" selection-start-line="226" selection-end-line="247" selection-end-column="4" /> 672 + <state relative-caret-position="22">
  673 + <caret line="1" column="32" selection-start-line="1" selection-start-column="32" selection-end-line="1" selection-end-column="32" />
584 </state> 674 </state>
585 </provider> 675 </provider>
586 </entry> 676 </entry>
587 - <entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.wxml"> 677 + <entry file="file://$PROJECT_DIR$/pages/index/activity-detail/activity-detail.wxss">
588 <provider selected="true" editor-type-id="text-editor"> 678 <provider selected="true" editor-type-id="text-editor">
589 - <state relative-caret-position="462">  
590 - <caret line="36" column="68" lean-forward="true" selection-start-line="36" selection-start-column="68" selection-end-line="36" selection-end-column="68" /> 679 + <state relative-caret-position="440">
  680 + <caret line="20" column="15" lean-forward="true" selection-start-line="20" selection-start-column="15" selection-end-line="20" selection-end-column="15" />
591 </state> 681 </state>
592 </provider> 682 </provider>
593 </entry> 683 </entry>
594 - <entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.js">  
595 - <provider selected="true" editor-type-id="text-editor">  
596 - <state relative-caret-position="-44">  
597 - <caret line="91" column="36" selection-start-line="91" selection-start-column="36" selection-end-line="91" selection-end-column="36" />  
598 - </state>  
599 - </provider> 684 + <entry file="file://$PROJECT_DIR$/wxParse/html2json.js">
  685 + <provider selected="true" editor-type-id="text-editor" />
600 </entry> 686 </entry>
601 - <entry file="file://$PROJECT_DIR$/pages/index/index.json"> 687 + <entry file="file://$PROJECT_DIR$/wxParse/htmlparser.js">
602 <provider selected="true" editor-type-id="text-editor" /> 688 <provider selected="true" editor-type-id="text-editor" />
603 </entry> 689 </entry>
604 - <entry file="file://$PROJECT_DIR$/app.json"> 690 + <entry file="file://$PROJECT_DIR$/wxParse/showdown.js">
605 <provider selected="true" editor-type-id="text-editor"> 691 <provider selected="true" editor-type-id="text-editor">
606 - <state relative-caret-position="88">  
607 - <caret line="4" column="43" selection-start-line="4" selection-start-column="43" selection-end-line="4" selection-end-column="43" /> 692 + <state relative-caret-position="112">
  693 + <caret line="18" column="30" lean-forward="true" selection-start-line="18" selection-start-column="30" selection-end-line="18" selection-end-column="30" />
608 </state> 694 </state>
609 </provider> 695 </provider>
610 </entry> 696 </entry>
611 - <entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxml"> 697 + <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.wxss">
612 <provider selected="true" editor-type-id="text-editor"> 698 <provider selected="true" editor-type-id="text-editor">
613 - <state relative-caret-position="1012">  
614 - <caret line="46" column="23" lean-forward="true" selection-start-line="46" selection-start-column="23" selection-end-line="46" selection-end-column="23" /> 699 + <state relative-caret-position="704">
  700 + <caret line="32" column="25" selection-start-line="32" selection-start-column="25" selection-end-line="32" selection-end-column="25" />
615 </state> 701 </state>
616 </provider> 702 </provider>
617 </entry> 703 </entry>
618 - <entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.js"> 704 + <entry file="file://$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxss">
619 <provider selected="true" editor-type-id="text-editor"> 705 <provider selected="true" editor-type-id="text-editor">
620 - <state relative-caret-position="431">  
621 - <caret line="272" column="9" lean-forward="true" selection-start-line="272" selection-start-column="9" selection-end-line="272" selection-end-column="9" /> 706 + <state relative-caret-position="270">
  707 + <caret line="143" column="11" selection-start-line="143" selection-start-column="1" selection-end-line="143" selection-end-column="11" />
622 </state> 708 </state>
623 </provider> 709 </provider>
624 </entry> 710 </entry>
625 - <entry file="file://$PROJECT_DIR$/pages/my/my.js">  
626 - <provider selected="true" editor-type-id="text-editor">  
627 - <state relative-caret-position="594">  
628 - <caret line="96" column="64" lean-forward="true" selection-start-line="96" selection-start-column="64" selection-end-line="96" selection-end-column="64" />  
629 - </state>  
630 - </provider> 711 + <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail2/punchAppealDetail2.js">
  712 + <provider selected="true" editor-type-id="text-editor" />
631 </entry> 713 </entry>
632 - <entry file="file://$PROJECT_DIR$/pages/my/my.wxml"> 714 + <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail2/punchAppealDetail2.json">
  715 + <provider selected="true" editor-type-id="text-editor" />
  716 + </entry>
  717 + <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail2/punchAppealDetail2.wxml">
633 <provider selected="true" editor-type-id="text-editor"> 718 <provider selected="true" editor-type-id="text-editor">
634 - <state relative-caret-position="132">  
635 - <caret line="6" column="29" lean-forward="true" selection-start-line="6" selection-start-column="29" selection-end-line="6" selection-end-column="29" /> 719 + <state relative-caret-position="484">
  720 + <caret line="22" column="30" lean-forward="true" selection-start-line="22" selection-start-column="30" selection-end-line="22" selection-end-column="30" />
636 </state> 721 </state>
637 </provider> 722 </provider>
638 </entry> 723 </entry>
639 - <entry file="file://$PROJECT_DIR$/pages/my/buyCard/buyCard.js"> 724 + <entry file="file://$PROJECT_DIR$/pages/index/index.wxss">
640 <provider selected="true" editor-type-id="text-editor"> 725 <provider selected="true" editor-type-id="text-editor">
641 - <state relative-caret-position="432">  
642 - <caret line="105" column="31" lean-forward="true" selection-start-line="105" selection-start-column="31" selection-end-line="105" selection-end-column="31" /> 726 + <state relative-caret-position="374">
  727 + <caret line="17" column="16" lean-forward="true" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="16" />
643 </state> 728 </state>
644 </provider> 729 </provider>
645 </entry> 730 </entry>
646 - <entry file="file://$PROJECT_DIR$/pages/clock/clock.json"> 731 + <entry file="file://$PROJECT_DIR$/pages/my/my.wxss">
647 <provider selected="true" editor-type-id="text-editor"> 732 <provider selected="true" editor-type-id="text-editor">
648 - <state relative-caret-position="44">  
649 - <caret line="2" column="1" lean-forward="true" selection-start-line="2" selection-start-column="1" selection-end-line="2" selection-end-column="1" /> 733 + <state relative-caret-position="550">
  734 + <caret line="25" column="14" selection-start-line="25" selection-start-column="14" selection-end-line="25" selection-end-column="14" />
650 </state> 735 </state>
651 </provider> 736 </provider>
652 </entry> 737 </entry>
653 - <entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.wxml"> 738 + <entry file="file://$PROJECT_DIR$/pages/clock/clock.wxml">
654 <provider selected="true" editor-type-id="text-editor"> 739 <provider selected="true" editor-type-id="text-editor">
655 - <state relative-caret-position="176">  
656 - <caret line="17" column="34" lean-forward="true" selection-start-line="17" selection-start-column="34" selection-end-line="17" selection-end-column="34" /> 740 + <state relative-caret-position="374">
  741 + <caret line="17" column="63" lean-forward="true" selection-start-line="17" selection-start-column="63" selection-end-line="17" selection-end-column="63" />
  742 + <folding>
  743 + <element signature="n#style#0;n#view#0;n#!!top" expanded="true" />
  744 + </folding>
657 </state> 745 </state>
658 </provider> 746 </provider>
659 </entry> 747 </entry>
660 - <entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.js"> 748 + <entry file="file://$PROJECT_DIR$/pages/clock/clock.wxss">
661 <provider selected="true" editor-type-id="text-editor"> 749 <provider selected="true" editor-type-id="text-editor">
662 - <state relative-caret-position="638">  
663 - <caret line="29" column="4" lean-forward="true" selection-start-line="29" selection-start-column="4" selection-end-line="29" selection-end-column="4" /> 750 + <state relative-caret-position="1584">
  751 + <caret line="72" column="3" selection-start-line="72" selection-start-column="3" selection-end-line="72" selection-end-column="3" />
664 </state> 752 </state>
665 </provider> 753 </provider>
666 </entry> 754 </entry>
667 - <entry file="file://$PROJECT_DIR$/pages/index/phone-code/phone-code.js"> 755 + <entry file="file://$PROJECT_DIR$/pages/index/index.wxml">
668 <provider selected="true" editor-type-id="text-editor"> 756 <provider selected="true" editor-type-id="text-editor">
669 - <state relative-caret-position="1936">  
670 - <caret line="88" column="28" selection-start-line="88" selection-start-column="28" selection-end-line="88" selection-end-column="28" /> 757 + <state relative-caret-position="176">
  758 + <caret line="8" column="60" lean-forward="true" selection-start-line="8" selection-start-column="60" selection-end-line="8" selection-end-column="60" />
671 </state> 759 </state>
672 </provider> 760 </provider>
673 </entry> 761 </entry>
674 <entry file="file://$PROJECT_DIR$/app.js"> 762 <entry file="file://$PROJECT_DIR$/app.js">
675 <provider selected="true" editor-type-id="text-editor"> 763 <provider selected="true" editor-type-id="text-editor">
676 - <state relative-caret-position="2112">  
677 - <caret line="164" column="19" selection-start-line="164" selection-start-column="8" selection-end-line="164" selection-end-column="19" /> 764 + <state relative-caret-position="411">
  765 + <caret line="137" column="47" selection-start-line="137" selection-start-column="47" selection-end-line="137" selection-end-column="47" />
678 <folding> 766 <folding>
679 <element signature="e#76#1092#0" /> 767 <element signature="e#76#1092#0" />
680 <element signature="e#4307#4566#0" /> 768 <element signature="e#4307#4566#0" />
681 - <element signature="e#4595#5101#0" />  
682 <element signature="e#5118#5452#0" /> 769 <element signature="e#5118#5452#0" />
683 <element signature="e#5495#5588#0" /> 770 <element signature="e#5495#5588#0" />
684 <element signature="e#5610#5695#0" /> 771 <element signature="e#5610#5695#0" />
@@ -686,217 +773,247 @@ @@ -686,217 +773,247 @@
686 </state> 773 </state>
687 </provider> 774 </provider>
688 </entry> 775 </entry>
689 - <entry file="file://$PROJECT_DIR$/templates/templates.wxml"> 776 + <entry file="file://$PROJECT_DIR$/pages/index/index.js">
690 <provider selected="true" editor-type-id="text-editor"> 777 <provider selected="true" editor-type-id="text-editor">
691 - <state relative-caret-position="1804">  
692 - <caret line="82" selection-start-line="82" selection-end-line="82" selection-end-column="11" /> 778 + <state relative-caret-position="157">
  779 + <caret line="79" column="40" lean-forward="true" selection-start-line="79" selection-start-column="40" selection-end-line="79" selection-end-column="40" />
  780 + <folding>
  781 + <element signature="n#!!doc" expanded="true" />
  782 + <element signature="e#3441#6499#0" />
  783 + </folding>
693 </state> 784 </state>
694 </provider> 785 </provider>
695 </entry> 786 </entry>
696 - <entry file="file://$PROJECT_DIR$/project.config.json"> 787 + <entry file="file://$PROJECT_DIR$/pages/index/go-appointment/go-appointment.wxml">
697 <provider selected="true" editor-type-id="text-editor"> 788 <provider selected="true" editor-type-id="text-editor">
698 - <state relative-caret-position="748">  
699 - <caret line="34" column="26" lean-forward="true" selection-start-line="34" selection-start-column="26" selection-end-line="34" selection-end-column="26" /> 789 + <state relative-caret-position="520">
  790 + <caret line="61" column="63" selection-start-line="61" selection-start-column="48" selection-end-line="61" selection-end-column="63" />
700 </state> 791 </state>
701 </provider> 792 </provider>
702 </entry> 793 </entry>
703 - <entry file="file://$PROJECT_DIR$/pages/index/phone-code/phone-code.wxml">  
704 - <provider selected="true" editor-type-id="text-editor" />  
705 - </entry>  
706 - <entry file="file://$PROJECT_DIR$/pages/start/start.wxml"> 794 + <entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.js">
707 <provider selected="true" editor-type-id="text-editor"> 795 <provider selected="true" editor-type-id="text-editor">
708 - <state relative-caret-position="242">  
709 - <caret line="11" selection-end-line="11" /> 796 + <state relative-caret-position="1892">
  797 + <caret line="185" selection-start-line="185" selection-end-line="186" />
710 </state> 798 </state>
711 </provider> 799 </provider>
712 </entry> 800 </entry>
713 - <entry file="file://$PROJECT_DIR$/pages/start/start.js"> 801 + <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.wxml">
714 <provider selected="true" editor-type-id="text-editor"> 802 <provider selected="true" editor-type-id="text-editor">
715 - <state relative-caret-position="594">  
716 - <caret line="27" column="53" lean-forward="true" selection-start-line="27" selection-start-column="53" selection-end-line="27" selection-end-column="53" /> 803 + <state relative-caret-position="212">
  804 + <caret line="32" column="15" lean-forward="true" selection-start-line="32" selection-start-column="15" selection-end-line="32" selection-end-column="15" />
717 </state> 805 </state>
718 </provider> 806 </provider>
719 </entry> 807 </entry>
720 - <entry file="file://$PROJECT_DIR$/pages/my/edit-student/edit-student.js"> 808 + <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.js">
721 <provider selected="true" editor-type-id="text-editor"> 809 <provider selected="true" editor-type-id="text-editor">
722 - <state relative-caret-position="1254">  
723 - <caret line="57" column="27" selection-start-line="57" selection-start-column="12" selection-end-line="57" selection-end-column="27" /> 810 + <state relative-caret-position="506">
  811 + <caret line="94" column="10" selection-start-line="94" selection-start-column="10" selection-end-line="94" selection-end-column="10" />
724 </state> 812 </state>
725 </provider> 813 </provider>
726 </entry> 814 </entry>
727 - <entry file="file://$PROJECT_DIR$/pages/my/edit-student/edit-student.wxml"> 815 + <entry file="file://$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxml">
728 <provider selected="true" editor-type-id="text-editor"> 816 <provider selected="true" editor-type-id="text-editor">
729 - <state relative-caret-position="594">  
730 - <caret line="27" column="51" selection-start-line="27" selection-start-column="51" selection-end-line="27" selection-end-column="51" /> 817 + <state relative-caret-position="2244">
  818 + <caret line="102" column="57" selection-start-line="102" selection-start-column="57" selection-end-line="102" selection-end-column="57" />
731 </state> 819 </state>
732 </provider> 820 </provider>
733 </entry> 821 </entry>
734 - <entry file="file://$PROJECT_DIR$/pages/index/activity-detail/activity-detail.wxml"> 822 + <entry file="file://$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js">
735 <provider selected="true" editor-type-id="text-editor"> 823 <provider selected="true" editor-type-id="text-editor">
736 - <state relative-caret-position="352">  
737 - <caret line="16" column="6" lean-forward="true" selection-start-line="16" selection-start-column="6" selection-end-line="17" selection-end-column="67" /> 824 + <state relative-caret-position="-1731">
  825 + <caret line="32" column="27" selection-start-line="32" selection-start-column="27" selection-end-line="32" selection-end-column="27" />
  826 + <folding>
  827 + <element signature="e#805#1273#0" />
  828 + <element signature="e#1303#1430#0" />
  829 + <element signature="e#1468#2604#0" />
  830 + <element signature="e#2629#3843#0" />
  831 + </folding>
738 </state> 832 </state>
739 </provider> 833 </provider>
740 </entry> 834 </entry>
741 - <entry file="file://$PROJECT_DIR$/pages/index/activity-detail/activity-detail.js"> 835 + <entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.wxml">
742 <provider selected="true" editor-type-id="text-editor"> 836 <provider selected="true" editor-type-id="text-editor">
743 - <state relative-caret-position="22">  
744 - <caret line="1" column="32" selection-start-line="1" selection-start-column="32" selection-end-line="1" selection-end-column="32" /> 837 + <state relative-caret-position="264">
  838 + <caret line="21" column="37" lean-forward="true" selection-start-line="21" selection-start-column="37" selection-end-line="21" selection-end-column="37" />
745 </state> 839 </state>
746 </provider> 840 </provider>
747 </entry> 841 </entry>
748 - <entry file="file://$PROJECT_DIR$/pages/index/activity-detail/activity-detail.wxss"> 842 + <entry file="file://$PROJECT_DIR$/pages/index/go-appointment/go-appointment.js">
749 <provider selected="true" editor-type-id="text-editor"> 843 <provider selected="true" editor-type-id="text-editor">
750 - <state relative-caret-position="440">  
751 - <caret line="20" column="15" lean-forward="true" selection-start-line="20" selection-start-column="15" selection-end-line="20" selection-end-column="15" /> 844 + <state relative-caret-position="764">
  845 + <caret line="216" column="88" lean-forward="true" selection-start-line="216" selection-start-column="26" selection-end-line="216" selection-end-column="88" />
752 </state> 846 </state>
753 </provider> 847 </provider>
754 </entry> 848 </entry>
755 - <entry file="file://$PROJECT_DIR$/wxParse/html2json.js">  
756 - <provider selected="true" editor-type-id="text-editor" />  
757 - </entry>  
758 - <entry file="file://$PROJECT_DIR$/wxParse/htmlparser.js">  
759 - <provider selected="true" editor-type-id="text-editor" /> 849 + <entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.js">
  850 + <provider selected="true" editor-type-id="text-editor">
  851 + <state relative-caret-position="478">
  852 + <caret line="49" column="66" lean-forward="true" selection-start-line="49" selection-start-column="66" selection-end-line="49" selection-end-column="66" />
  853 + </state>
  854 + </provider>
760 </entry> 855 </entry>
761 - <entry file="file://$PROJECT_DIR$/wxParse/showdown.js"> 856 + <entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxml">
762 <provider selected="true" editor-type-id="text-editor"> 857 <provider selected="true" editor-type-id="text-editor">
763 - <state relative-caret-position="112">  
764 - <caret line="18" column="30" lean-forward="true" selection-start-line="18" selection-start-column="30" selection-end-line="18" selection-end-column="30" /> 858 + <state relative-caret-position="110">
  859 + <caret line="5" column="72" selection-start-line="5" selection-start-column="72" selection-end-line="5" selection-end-column="72" />
765 </state> 860 </state>
766 </provider> 861 </provider>
767 </entry> 862 </entry>
768 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.wxss"> 863 + <entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxml">
769 <provider selected="true" editor-type-id="text-editor"> 864 <provider selected="true" editor-type-id="text-editor">
770 - <state relative-caret-position="704">  
771 - <caret line="32" column="25" selection-start-line="32" selection-start-column="25" selection-end-line="32" selection-end-column="25" /> 865 + <state relative-caret-position="279">
  866 + <caret line="39" column="56" selection-start-line="39" selection-start-column="44" selection-end-line="39" selection-end-column="56" />
772 </state> 867 </state>
773 </provider> 868 </provider>
774 </entry> 869 </entry>
775 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxss"> 870 + <entry file="file://$PROJECT_DIR$/pages/my/order-detail/order-detail.wxml">
776 <provider selected="true" editor-type-id="text-editor"> 871 <provider selected="true" editor-type-id="text-editor">
777 - <state relative-caret-position="270">  
778 - <caret line="143" column="11" selection-start-line="143" selection-start-column="1" selection-end-line="143" selection-end-column="11" /> 872 + <state relative-caret-position="220">
  873 + <caret line="44" column="68" selection-start-line="44" selection-start-column="50" selection-end-line="44" selection-end-column="68" />
779 </state> 874 </state>
780 </provider> 875 </provider>
781 </entry> 876 </entry>
782 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail2/punchAppealDetail2.js">  
783 - <provider selected="true" editor-type-id="text-editor" /> 877 + <entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.js">
  878 + <provider selected="true" editor-type-id="text-editor">
  879 + <state relative-caret-position="641">
  880 + <caret line="361" column="28" lean-forward="true" selection-start-line="361" selection-start-column="28" selection-end-line="361" selection-end-column="28" />
  881 + </state>
  882 + </provider>
784 </entry> 883 </entry>
785 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail2/punchAppealDetail2.json">  
786 - <provider selected="true" editor-type-id="text-editor" /> 884 + <entry file="file://$PROJECT_DIR$/pages/my/buyCard/buyCard.js">
  885 + <provider selected="true" editor-type-id="text-editor">
  886 + <state relative-caret-position="356">
  887 + <caret line="135" column="8" lean-forward="true" selection-start-line="135" selection-start-column="8" selection-end-line="143" selection-end-column="9" />
  888 + <folding>
  889 + <element signature="e#436#575#0" />
  890 + <element signature="e#610#693#0" />
  891 + <element signature="e#724#1510#0" />
  892 + <element signature="e#1539#3054#0" />
  893 + <element signature="e#3694#3993#0" />
  894 + </folding>
  895 + </state>
  896 + </provider>
787 </entry> 897 </entry>
788 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail2/punchAppealDetail2.wxml"> 898 + <entry file="file://$PROJECT_DIR$/pages/my/buyCard/buyCard.wxml">
789 <provider selected="true" editor-type-id="text-editor"> 899 <provider selected="true" editor-type-id="text-editor">
790 - <state relative-caret-position="484">  
791 - <caret line="22" column="30" lean-forward="true" selection-start-line="22" selection-start-column="30" selection-end-line="22" selection-end-column="30" /> 900 + <state relative-caret-position="330">
  901 + <caret line="15" column="91" selection-start-line="15" selection-start-column="78" selection-end-line="15" selection-end-column="91" />
792 </state> 902 </state>
793 </provider> 903 </provider>
794 </entry> 904 </entry>
795 - <entry file="file://$PROJECT_DIR$/pages/index/index.js"> 905 + <entry file="file://$PROJECT_DIR$/pages/my/order-detail/order-detail.js">
796 <provider selected="true" editor-type-id="text-editor"> 906 <provider selected="true" editor-type-id="text-editor">
797 - <state relative-caret-position="421">  
798 - <caret line="187" column="65" lean-forward="true" selection-start-line="187" selection-start-column="65" selection-end-line="187" selection-end-column="65" /> 907 + <state relative-caret-position="125">
  908 + <caret line="36" column="7" selection-start-line="36" selection-start-column="7" selection-end-line="37" selection-end-column="40" />
799 <folding> 909 <folding>
800 - <element signature="n#!!doc" expanded="true" />  
801 - <element signature="e#3441#6499#0" />  
802 - <element signature="e#6947#8019#0" /> 910 + <element signature="e#1630#5581#0" />
  911 + <element signature="e#6965#7419#0" />
803 </folding> 912 </folding>
804 </state> 913 </state>
805 </provider> 914 </provider>
806 </entry> 915 </entry>
807 - <entry file="file://$PROJECT_DIR$/pages/index/index.wxss"> 916 + <entry file="file://$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.wxss">
808 <provider selected="true" editor-type-id="text-editor"> 917 <provider selected="true" editor-type-id="text-editor">
809 - <state relative-caret-position="374">  
810 - <caret line="17" column="16" lean-forward="true" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="16" /> 918 + <state relative-caret-position="440">
  919 + <caret line="26" column="14" selection-start-line="26" selection-start-column="14" selection-end-line="26" selection-end-column="14" />
811 </state> 920 </state>
812 </provider> 921 </provider>
813 </entry> 922 </entry>
814 - <entry file="file://$PROJECT_DIR$/pages/index/index.wxml"> 923 + <entry file="file://$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.js">
815 <provider selected="true" editor-type-id="text-editor"> 924 <provider selected="true" editor-type-id="text-editor">
816 - <state relative-caret-position="33">  
817 - <caret line="3" column="22" selection-start-line="3" selection-start-column="17" selection-end-line="3" selection-end-column="22" /> 925 + <state relative-caret-position="242">
  926 + <caret line="11" column="17" selection-start-line="11" selection-start-column="17" selection-end-line="11" selection-end-column="17" />
818 </state> 927 </state>
819 </provider> 928 </provider>
820 </entry> 929 </entry>
821 - <entry file="file://$PROJECT_DIR$/pages/clock/clock.wxml"> 930 + <entry file="file://$PROJECT_DIR$/pages/my/myCard/myCard.js">
822 <provider selected="true" editor-type-id="text-editor"> 931 <provider selected="true" editor-type-id="text-editor">
823 - <state relative-caret-position="66">  
824 - <caret line="3" column="43" selection-start-line="3" selection-start-column="32" selection-end-line="3" selection-end-column="43" />  
825 - <folding>  
826 - <element signature="n#style#0;n#view#0;n#!!top" expanded="true" />  
827 - </folding> 932 + <state relative-caret-position="704">
  933 + <caret line="41" column="37" lean-forward="true" selection-start-line="41" selection-start-column="37" selection-end-line="41" selection-end-column="37" />
828 </state> 934 </state>
829 </provider> 935 </provider>
830 </entry> 936 </entry>
831 - <entry file="file://$PROJECT_DIR$/pages/clock/clock.wxss"> 937 + <entry file="file://$PROJECT_DIR$/pages/my/myCard/myCard.wxml">
832 <provider selected="true" editor-type-id="text-editor"> 938 <provider selected="true" editor-type-id="text-editor">
833 - <state relative-caret-position="455">  
834 - <caret line="32" column="14" lean-forward="true" selection-start-line="32" selection-start-column="14" selection-end-line="32" selection-end-column="14" /> 939 + <state relative-caret-position="132">
  940 + <caret line="6" column="30" lean-forward="true" selection-start-line="6" selection-start-column="30" selection-end-line="6" selection-end-column="30" />
835 </state> 941 </state>
836 </provider> 942 </provider>
837 </entry> 943 </entry>
838 - <entry file="file://$PROJECT_DIR$/pages/my/my.wxss"> 944 + <entry file="file://$PROJECT_DIR$/pages/my/myCard/myCard.wxss">
839 <provider selected="true" editor-type-id="text-editor"> 945 <provider selected="true" editor-type-id="text-editor">
840 <state relative-caret-position="550"> 946 <state relative-caret-position="550">
841 - <caret line="25" column="14" lean-forward="true" selection-start-line="25" selection-start-column="14" selection-end-line="25" selection-end-column="14" /> 947 + <caret line="25" column="24" selection-start-line="25" selection-start-column="24" selection-end-line="25" selection-end-column="24" />
842 </state> 948 </state>
843 </provider> 949 </provider>
844 </entry> 950 </entry>
845 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.js"> 951 + <entry file="file://$PROJECT_DIR$/pages/my/appointmentRecord/appointmentRecord.wxml">
  952 + <provider selected="true" editor-type-id="text-editor" />
  953 + </entry>
  954 + <entry file="file://$PROJECT_DIR$/pages/my/groupBuy/groupBuy.js">
846 <provider selected="true" editor-type-id="text-editor"> 955 <provider selected="true" editor-type-id="text-editor">
847 - <state relative-caret-position="506">  
848 - <caret line="94" column="10" lean-forward="true" selection-start-line="94" selection-start-column="10" selection-end-line="94" selection-end-column="10" />  
849 - <folding>  
850 - <element signature="e#1652#2617#0" />  
851 - </folding> 956 + <state relative-caret-position="495">
  957 + <caret line="170" column="49" selection-start-line="170" selection-start-column="36" selection-end-line="170" selection-end-column="49" />
852 </state> 958 </state>
853 </provider> 959 </provider>
854 </entry> 960 </entry>
855 - <entry file="file://$PROJECT_DIR$/pages/clock/clock.js"> 961 + <entry file="file://$PROJECT_DIR$/pages/my/shareGroupBuy/shareGroupBuy.js">
856 <provider selected="true" editor-type-id="text-editor"> 962 <provider selected="true" editor-type-id="text-editor">
857 - <state relative-caret-position="1518">  
858 - <caret line="117" column="41" lean-forward="true" selection-start-line="117" selection-start-column="41" selection-end-line="117" selection-end-column="41" />  
859 - <folding>  
860 - <element signature="e#152#1691#0" />  
861 - </folding> 963 + <state relative-caret-position="74">
  964 + <caret line="63" column="34" lean-forward="true" selection-start-line="63" selection-start-column="34" selection-end-line="63" selection-end-column="34" />
862 </state> 965 </state>
863 </provider> 966 </provider>
864 </entry> 967 </entry>
865 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppealDetail/punchAppealDetail.wxml"> 968 + <entry file="file://$PROJECT_DIR$/pages/my/groupBuyDetail/groupBuyDetail.wxml">
866 <provider selected="true" editor-type-id="text-editor"> 969 <provider selected="true" editor-type-id="text-editor">
867 - <state relative-caret-position="154">  
868 - <caret line="28" column="37" lean-forward="true" selection-start-line="28" selection-start-column="37" selection-end-line="28" selection-end-column="37" /> 970 + <state relative-caret-position="740">
  971 + <caret line="57" column="63" lean-forward="true" selection-start-line="57" selection-start-column="63" selection-end-line="57" selection-end-column="63" />
869 </state> 972 </state>
870 </provider> 973 </provider>
871 </entry> 974 </entry>
872 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxml"> 975 + <entry file="file://$PROJECT_DIR$/pages/my/groupBuyDetail/groupBuyDetail.js">
873 <provider selected="true" editor-type-id="text-editor"> 976 <provider selected="true" editor-type-id="text-editor">
874 - <state relative-caret-position="558">  
875 - <caret line="102" column="57" lean-forward="true" selection-start-line="102" selection-start-column="57" selection-end-line="102" selection-end-column="57" /> 977 + <state relative-caret-position="-28">
  978 + <caret line="89" column="5" selection-start-line="89" selection-start-column="5" selection-end-line="89" selection-end-column="5" />
876 </state> 979 </state>
877 </provider> 980 </provider>
878 </entry> 981 </entry>
879 - <entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxml"> 982 + <entry file="file://$PROJECT_DIR$/pages/my/shareGroupBuy/shareGroupBuy.wxml">
880 <provider selected="true" editor-type-id="text-editor"> 983 <provider selected="true" editor-type-id="text-editor">
881 - <state relative-caret-position="22">  
882 - <caret line="5" column="72" lean-forward="true" selection-start-line="5" selection-start-column="72" selection-end-line="5" selection-end-column="72" /> 984 + <state relative-caret-position="594">
  985 + <caret line="27" column="13" selection-start-line="27" selection-start-column="7" selection-end-line="27" selection-end-column="13" />
883 </state> 986 </state>
884 </provider> 987 </provider>
885 </entry> 988 </entry>
886 - <entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.js"> 989 + <entry file="file://$PROJECT_DIR$/pages/my/groupBuy/groupBuy.wxml">
887 <provider selected="true" editor-type-id="text-editor"> 990 <provider selected="true" editor-type-id="text-editor">
888 - <state relative-caret-position="462">  
889 - <caret line="120" column="8" lean-forward="true" selection-start-line="120" selection-start-column="8" selection-end-line="130" selection-end-column="28" /> 991 + <state relative-caret-position="509">
  992 + <caret line="134" column="31" lean-forward="true" selection-start-line="134" selection-start-column="31" selection-end-line="134" selection-end-column="31" />
890 </state> 993 </state>
891 </provider> 994 </provider>
892 </entry> 995 </entry>
893 - <entry file="file://$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js"> 996 + <entry file="file://$PROJECT_DIR$/pages/my/takeGroupBuy/takeGroupBuy.wxml">
  997 + <provider selected="true" editor-type-id="text-editor">
  998 + <state relative-caret-position="1232">
  999 + <caret line="92" column="49" selection-start-line="92" selection-start-column="44" selection-end-line="92" selection-end-column="49" />
  1000 + </state>
  1001 + </provider>
  1002 + </entry>
  1003 + <entry file="file://$PROJECT_DIR$/pages/my/takeGroupBuy/takeGroupBuy.js">
894 <provider selected="true" editor-type-id="text-editor"> 1004 <provider selected="true" editor-type-id="text-editor">
895 - <state relative-caret-position="608">  
896 - <caret line="143" selection-start-line="143" selection-end-line="143" /> 1005 + <state relative-caret-position="674">
  1006 + <caret line="62" column="34" lean-forward="true" selection-start-line="62" selection-start-column="34" selection-end-line="62" selection-end-column="34" />
  1007 + </state>
  1008 + </provider>
  1009 + </entry>
  1010 + <entry file="file://$PROJECT_DIR$/pages/clock/clock.js">
  1011 + <provider selected="true" editor-type-id="text-editor">
  1012 + <state relative-caret-position="773">
  1013 + <caret line="159" column="10" lean-forward="true" selection-start-line="159" selection-start-column="10" selection-end-line="159" selection-end-column="10" />
897 <folding> 1014 <folding>
898 - <element signature="e#1398#2534#0" />  
899 - <element signature="e#2559#3773#0" /> 1015 + <element signature="e#152#1691#0" />
  1016 + <element signature="e#4857#8107#0" />
900 </folding> 1017 </folding>
901 </state> 1018 </state>
902 </provider> 1019 </provider>
@@ -156,7 +156,7 @@ Page({ @@ -156,7 +156,7 @@ Page({
156 this.setData({ 156 this.setData({
157 test: res 157 test: res
158 }); 158 });
159 - this.punch(); 159 + // this.punch();
160 }) 160 })
161 }, 161 },
162 //打卡页面获取位置授权 162 //打卡页面获取位置授权
@@ -168,6 +168,7 @@ Page({ @@ -168,6 +168,7 @@ Page({
168 wx.getLocation({ 168 wx.getLocation({
169 type: 'wgs84', 169 type: 'wgs84',
170 success(res) { 170 success(res) {
  171 + self.setData({latitude:res.latitude,longitude:res.longitude});
171 let params = { 172 let params = {
172 city: wx.getStorageSync('city'), 173 city: wx.getStorageSync('city'),
173 lat: res.latitude,//纬度 174 lat: res.latitude,//纬度
@@ -243,6 +244,7 @@ Page({ @@ -243,6 +244,7 @@ Page({
243 if(wx.getStorageSync('city') !== '') { 244 if(wx.getStorageSync('city') !== '') {
244 self.setData({city: wx.getStorageSync('city')}) 245 self.setData({city: wx.getStorageSync('city')})
245 } 246 }
  247 + self.getExperiment();
246 }, 248 },
247 249
248 /** 250 /**
@@ -27,9 +27,13 @@ Page({ @@ -27,9 +27,13 @@ Page({
27 return false 27 return false
28 } else { 28 } else {
29 this.setData({ 29 this.setData({
30 - current: index 30 + current: index,
  31 + has_more: true,
  32 + page_number:1,
  33 + examining:[]
31 }); 34 });
32 if(index !== 0) { 35 if(index !== 0) {
  36 + console.log('aa');
33 this.getMyComplain(index) 37 this.getMyComplain(index)
34 } 38 }
35 } 39 }
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <view class="input-box"> 3 <view class="input-box">
4 <view class="name-box"> 4 <view class="name-box">
5 <text>姓 名:</text> 5 <text>姓 名:</text>
6 - <input type="text" placeholder="张三" cursor="100" placeholder-class="placeholder-style" 6 + <input type="text" placeholder="请输入姓名" cursor="100" placeholder-class="placeholder-style"
7 value="{{name}}" bindinput="inputName"/> 7 value="{{name}}" bindinput="inputName"/>
8 </view> 8 </view>
9 <picker bindchange="sexPickerChange" value="{{sex_index}}" range="{{sex}}"> 9 <picker bindchange="sexPickerChange" value="{{sex_index}}" range="{{sex}}">
@@ -20,18 +20,15 @@ Page({ @@ -20,18 +20,15 @@ Page({
20 title:'恭喜您!', 20 title:'恭喜您!',
21 content: '您已经预约成功!' 21 content: '您已经预约成功!'
22 }, 22 },
23 - student_list: [{id:1,name:'张三',checked: false},  
24 - {id:2,name:'李思思', checked: false},  
25 - {id:3,name:'王五', checked: false},  
26 - {id:4,name:'赵柳', checked: false},  
27 - {id:5,name:'迪丽热巴-迪力木拉提',checked: false}], 23 + student_list: [],
28 is_choose: false, 24 is_choose: false,
29 num_arr: [], 25 num_arr: [],
30 session_info: {}, 26 session_info: {},
31 student_num: 0, 27 student_num: 0,
32 is_choose_student: false, 28 is_choose_student: false,
33 - is_buy: true,  
34 - student_id:47, 29 + is_buy: false,
  30 + choose_student_id:0,
  31 + // checked_student: [],
35 }, 32 },
36 chooseChildren(e) { 33 chooseChildren(e) {
37 console.log(e,e.detail); 34 console.log(e,e.detail);
@@ -48,7 +45,7 @@ Page({ @@ -48,7 +45,7 @@ Page({
48 console.log('new_arr',new_arr); 45 console.log('new_arr',new_arr);
49 var new_itmes = new_arr; 46 var new_itmes = new_arr;
50 console.log('new_itmes', new_itmes); 47 console.log('new_itmes', new_itmes);
51 - if(that.data.student_num >=2) {//两个学员预约时 48 + if(that.data.student_num >=2) { //两个学员预约时
52 console.log('两个学员'); 49 console.log('两个学员');
53 if (index_arr.length > 2) { 50 if (index_arr.length > 2) {
54 //取出倒数两个值 51 //取出倒数两个值
@@ -71,15 +68,40 @@ Page({ @@ -71,15 +68,40 @@ Page({
71 console.log('student_id', that.data.student_id); 68 console.log('student_id', that.data.student_id);
72 } else { 69 } else {
73 //被选中少于两个,直接设置被选中 70 //被选中少于两个,直接设置被选中
  71 + const checked_student = [];
74 for (var i = 0; i < index_arr.length; i++) { 72 for (var i = 0; i < index_arr.length; i++) {
75 var key = index_arr[i] 73 var key = index_arr[i]
76 console.log('key', key); 74 console.log('key', key);
77 new_itmes[key]['checked'] = true; 75 new_itmes[key]['checked'] = true;
  76 + }
  77 + console.log('选一个时候new_itmes', new_itmes);
  78 + new_itmes.forEach((item) => {
  79 + if(item.checked) {
  80 + checked_student.push(item)
  81 + }
  82 + });
  83 + console.log('选择学员length', checked_student,checked_student.length);
  84 + if(checked_student.length>=2) {
  85 + const arr = [];
  86 + new_itmes.forEach((item) => {
  87 + if(item.checked) {
  88 + arr.push(item.id)
  89 + }
  90 + });
  91 + that.setData({student_id: arr.join(','),is_choose_student:true});
  92 + }else if(checked_student.length<2){
  93 + wx.showToast({title:'请选择两个学员!',icon:'none'});
78 that.setData({student_id: new_itmes[key].id,is_choose_student:true}); 94 that.setData({student_id: new_itmes[key].id,is_choose_student:true});
79 } 95 }
80 console.log('student_id', that.data.student_id); 96 console.log('student_id', that.data.student_id);
81 } 97 }
82 - }else if(that.data.student_num <2){//一个学员预约时 98 + //存入
  99 + that.setData({
  100 + index_arr: index_arr,
  101 + // text: text,
  102 + student_list: new_itmes,
  103 + })
  104 + }else if(that.data.student_num <2){ //一个学员预约时
83 console.log('一个学员'); 105 console.log('一个学员');
84 if (index_arr.length > 1) { 106 if (index_arr.length > 1) {
85 //取出倒数一个值 107 //取出倒数一个值
@@ -117,23 +139,26 @@ Page({ @@ -117,23 +139,26 @@ Page({
117 console.log('333'); 139 console.log('333');
118 console.log('student_id', that.data.student_id); 140 console.log('student_id', that.data.student_id);
119 } 141 }
  142 + //存入
  143 + that.setData({
  144 + index_arr: index_arr,
  145 + // text: text,
  146 + student_list: new_itmes,
  147 + })
120 } 148 }
121 149
122 - //存入  
123 - that.setData({  
124 - index_arr: index_arr,  
125 - // text: text,  
126 - student_list: new_itmes,  
127 - })  
128 -  
129 }, 150 },
  151 + //提交预约
130 formSubmit(e) { 152 formSubmit(e) {
131 - console.log(e.detail); 153 + console.log('预约学生人数',this.data.student_num,e.detail);
132 if(this.data.student_list.length === 0) { 154 if(this.data.student_list.length === 0) {
133 wx.showToast({title: '请添加学员!',icon:'none'}) 155 wx.showToast({title: '请添加学员!',icon:'none'})
134 }else if(!this.data.is_choose_student) { 156 }else if(!this.data.is_choose_student) {
135 wx.showToast({title: '请选择学员!',icon:'none'}) 157 wx.showToast({title: '请选择学员!',icon:'none'})
136 - }else { 158 + }else if(this.data.student_num>=2 && ('' + this.data.student_id).indexOf(',') === -1) {
  159 + console.log('检验student_id',('' + this.data.student_id).indexOf(','));
  160 + wx.showToast({title:'请选择两个学员!',icon:'none'})
  161 + } else {
137 // this.setData({'modal_data.is_showModal': true}) 162 // this.setData({'modal_data.is_showModal': true})
138 let url = '/portal/Experiment/confirm_session_submit'; 163 let url = '/portal/Experiment/confirm_session_submit';
139 let header = { 164 let header = {
@@ -174,7 +199,7 @@ Page({ @@ -174,7 +199,7 @@ Page({
174 }, 199 },
175 modalConfirm() { 200 modalConfirm() {
176 this.setData({'state_data.is_showSuccessModal': false}); 201 this.setData({'state_data.is_showSuccessModal': false});
177 - wx.navigateTo({url: '/pages/my/all-appointment/all-appointment?currentTab=' + 2}) 202 + wx.redirectTo({url: '/pages/my/all-appointment/all-appointment?currentTab=' + 2})
178 }, 203 },
179 disableScroll() {}, 204 disableScroll() {},
180 addStudent() { 205 addStudent() {
@@ -215,37 +240,55 @@ Page({ @@ -215,37 +240,55 @@ Page({
215 //获取学员列表 240 //获取学员列表
216 getStudentList() { 241 getStudentList() {
217 const self = this; 242 const self = this;
218 - self.setData({is_choose_student: true})  
219 - console.log('返回时的学生列表', self.data.student_list);  
220 - let url = '/user/Student/student_list';  
221 - let header = {  
222 - "XX-token": wx.getStorageSync('token')  
223 - };  
224 - let params = {  
225 - page: 1,  
226 - };  
227 - app.post(url,params,header).then((res) => {  
228 - console.log('学员列表',res);  
229 -  
230 - var arr = [];  
231 - for (let i in res.list) {  
232 - arr.push(res.list[i]); //属性  
233 - //arr.push(obj[i]); //值  
234 - }//对象转数组  
235 - console.log('arr',arr);  
236 - var new_arr = [];  
237 - arr.forEach((item) => {  
238 - new_arr.push({ ...item, checked: false })  
239 - });//给每一项添加checked属性  
240 - console.log('new_arr',new_arr);  
241 - this.setData({  
242 - student_list: new_arr,  
243 - new_arr:new_arr,  
244 - // session_info: res.session_info,  
245 - })  
246 - console.log('student_list', this.data.student_list); 243 + console.log('预约学生人数',this.data.student_num);
  244 + self.setData({is_choose_student: true});
  245 + console.log('返回时的学生列表预约信息自带的学员', self.data.student_list);
  246 + const buy_arr = [];
  247 + self.data.student_list.forEach((item) => {
  248 + buy_arr.push({ ...item, checked: false })
  249 + });//给每一项添加checked属性
  250 + console.log('buy_arr', buy_arr);
  251 + this.setData({
  252 + student_list: buy_arr,
  253 + // new_arr:buy_arr,
  254 + // session_info: res.session_info,
  255 + })
247 this.refreshBuyState(); 256 this.refreshBuyState();
248 257
  258 +
  259 +
  260 + // console.log('预约学生人数',this.data.student_num);
  261 + // self.setData({is_choose_student: true})
  262 + // console.log('返回时的学生列表预约信息自带的学员', self.data.student_list);
  263 + // let url = '/user/Student/student_list';
  264 + // let header = {
  265 + // "XX-token": wx.getStorageSync('token')
  266 + // };
  267 + // let params = {
  268 + // page: 2,
  269 + // };
  270 + // app.post(url,params,header).then((res) => {
  271 + // console.log('学员列表',res);
  272 + //
  273 + // var arr = [];
  274 + // for (let i in res.list) {
  275 + // arr.push(res.list[i]); //属性
  276 + // //arr.push(obj[i]); //值
  277 + // }//对象转数组
  278 + // console.log('arr',arr);
  279 + // var new_arr = [];
  280 + // arr.forEach((item) => {
  281 + // new_arr.push({ ...item, checked: false })
  282 + // });//给每一项添加checked属性
  283 + // console.log('new_arr',new_arr);
  284 + // this.setData({
  285 + // student_list: new_arr,
  286 + // new_arr:new_arr,
  287 + // // session_info: res.session_info,
  288 + // })
  289 + // console.log('student_list', this.data.student_list);
  290 + // this.refreshBuyState();
  291 +
249 // res.list.forEach((item) => { 292 // res.list.forEach((item) => {
250 // if(item.time !== '') { 293 // if(item.time !== '') {
251 // self.data.student_list.forEach((item) => { 294 // self.data.student_list.forEach((item) => {
@@ -255,21 +298,35 @@ Page({ @@ -255,21 +298,35 @@ Page({
255 // } 298 // }
256 // }) 299 // })
257 // this.setData({student_list: res.list}) 300 // this.setData({student_list: res.list})
258 - }) 301 + // })
259 }, 302 },
260 //更新购买状态 303 //更新购买状态
261 refreshBuyState() { 304 refreshBuyState() {
262 - console.log('更新购买状态---学生id',this.data.is_buy,this.data.student_id); 305 + console.log('更新购买状态---学生id--人数',this.data.student_num,this.data.is_buy,this.data.choose_student_id);
263 if(this.data.is_buy) { 306 if(this.data.is_buy) {
264 - this.data.student_list.forEach((item) => {  
265 - item.checked = false;  
266 - if (item.id === this.data.student_id) {  
267 - console.log('item.id', item.id);  
268 - item.checked = true;  
269 - }  
270 - });  
271 - this.setData({student_list:this.data.student_list})  
272 - console.log('student_list',this.data.student_list); 307 + if(this.data.student_num<2) {
  308 + this.data.student_list.forEach((item) => {
  309 + item.checked = false;
  310 + if (item.id === this.data.choose_student_id) {
  311 + console.log('item.id', item.id);
  312 + item.checked = true;
  313 + }
  314 + });
  315 + this.setData({student_list:this.data.student_list,is_choose_student:true})
  316 + console.log('student_list',this.data.student_list);
  317 + }else if(this.data.student_num>=2) {
  318 + console.log('购买完进入两个学员student_list',this.data.student_list);
  319 + this.data.student_list.forEach((item) => {
  320 + item.checked = false;
  321 + if (item.id === this.data.choose_student_id) {
  322 + console.log('item.id', item.id);
  323 + item.checked = true;
  324 + // total_student_num.push(item)
  325 + }
  326 + });
  327 + this.setData({student_list:this.data.student_list,is_choose_student:true,});
  328 + console.log('student_list',this.data.student_list);
  329 + }
273 } 330 }
274 }, 331 },
275 /** 332 /**
@@ -301,9 +358,11 @@ Page({ @@ -301,9 +358,11 @@ Page({
301 onShow: function() { 358 onShow: function() {
302 console.log('show'); 359 console.log('show');
303 const self = this; 360 const self = this;
304 - self.getStudentList();  
305 self.setData({is_choose_student: false}); 361 self.setData({is_choose_student: false});
306 - // self.getAppointmentInfo();//需解注释 362 + self.getStudentList();
  363 + if(!self.data.is_buy) {
  364 + self.getAppointmentInfo();//需解注释
  365 + }
307 setTimeout(function() { 366 setTimeout(function() {
308 self.setData({ 367 self.setData({
309 show: true 368 show: true
@@ -3,153 +3,153 @@ const util = require('../../../utils/util.js'); @@ -3,153 +3,153 @@ const util = require('../../../utils/util.js');
3 const app = getApp(); 3 const app = getApp();
4 Page({ 4 Page({
5 5
6 - /**  
7 - * 页面的初始数据  
8 - */  
9 - data: {  
10 - cityList: [],  
11 - // city_index: 0,  
12 - currentCity: '北京市',  
13 - current_test_id: '',  
14 - is_change: false,  
15 - is_choose_session: false,  
16 - is_choose_test: false,  
17 - description: '',  
18 - session_list: {},  
19 - show_submit_btn: false,  
20 - student_num: 0,  
21 - areaTest: [{  
22 - area: '朝阳区',  
23 - list: [{  
24 - id: 1,  
25 - name: '798实验室'  
26 - }, {  
27 - id: 2,  
28 - name: '木鱼湖实验室'  
29 - }, {  
30 - id: 3,  
31 - name: '南锣鼓巷实验室'  
32 - }]  
33 - },  
34 - {  
35 - area: '东城区',  
36 - list: [{  
37 - id: 4,  
38 - name: '798实验室'  
39 - }, {  
40 - id: 5,  
41 - name: '木鱼湖实验室'  
42 - }, {  
43 - id: 6,  
44 - name: '南锣鼓巷实验室'  
45 - }]  
46 - },  
47 - {  
48 - area: '西城区',  
49 - list: [{  
50 - id: 7,  
51 - name: '798实验室'  
52 - }, {  
53 - id: 11,  
54 - name: '木鱼湖实验室'  
55 - }, {  
56 - id: 8,  
57 - name: '南锣鼓巷实验室'  
58 - }]  
59 - },  
60 - {  
61 - area: '昌平区',  
62 - list: [{  
63 - id: 9,  
64 - name: '798实验室'  
65 - }, {  
66 - id: 12,  
67 - name: '木鱼湖实验室'  
68 - }, {  
69 - id: 10,  
70 - name: '南锣鼓巷实验室'  
71 - }]  
72 - },  
73 - ],  
74 - test: {  
75 - title: '798实验室,本实验室分为三个阶段,第一阶段由家长和孩子共同完成,第二阶段由孩子独立完成。家长在旁边指导,第三阶段巴拉巴拉',  
76 - list: [{  
77 - week: '周六',  
78 - date: '10月20日',  
79 - time: '10:00 — 11:30',  
80 - rest: 6 6 + /**
  7 + * 页面的初始数据
  8 + */
  9 + data: {
  10 + cityList: [],
  11 + // city_index: 0,
  12 + currentCity: '北京市',
  13 + current_test_id: '',
  14 + is_change: false,
  15 + is_choose_session: false,
  16 + is_choose_test: false,
  17 + description: '',
  18 + session_list: {},
  19 + show_submit_btn: false,
  20 + student_num: 0,
  21 + areaTest: [{
  22 + area: '朝阳区',
  23 + list: [{
  24 + id: 1,
  25 + name: '798实验室'
  26 + }, {
  27 + id: 2,
  28 + name: '木鱼湖实验室'
  29 + }, {
  30 + id: 3,
  31 + name: '南锣鼓巷实验室'
  32 + }]
81 }, 33 },
82 - {  
83 - week: '周日',  
84 - date: '10月21日',  
85 - time: '15:00 — 16:30',  
86 - rest: 0 34 + {
  35 + area: '东城区',
  36 + list: [{
  37 + id: 4,
  38 + name: '798实验室'
  39 + }, {
  40 + id: 5,
  41 + name: '木鱼湖实验室'
  42 + }, {
  43 + id: 6,
  44 + name: '南锣鼓巷实验室'
  45 + }]
  46 + },
  47 + {
  48 + area: '西城区',
  49 + list: [{
  50 + id: 7,
  51 + name: '798实验室'
  52 + }, {
  53 + id: 11,
  54 + name: '木鱼湖实验室'
  55 + }, {
  56 + id: 8,
  57 + name: '南锣鼓巷实验室'
  58 + }]
  59 + },
  60 + {
  61 + area: '昌平区',
  62 + list: [{
  63 + id: 9,
  64 + name: '798实验室'
  65 + }, {
  66 + id: 12,
  67 + name: '木鱼湖实验室'
  68 + }, {
  69 + id: 10,
  70 + name: '南锣鼓巷实验室'
  71 + }]
  72 + },
  73 + ],
  74 + test: {
  75 + title: '798实验室,本实验室分为三个阶段,第一阶段由家长和孩子共同完成,第二阶段由孩子独立完成。家长在旁边指导,第三阶段巴拉巴拉',
  76 + list: [{
  77 + week: '周六',
  78 + date: '10月20日',
  79 + time: '10:00 — 11:30',
  80 + rest: 6
  81 + },
  82 + {
  83 + week: '周日',
  84 + date: '10月21日',
  85 + time: '15:00 — 16:30',
  86 + rest: 0
  87 + },
  88 + {
  89 + week: '周日',
  90 + date: '10月21日',
  91 + time: '15:00 — 16:30',
  92 + rest: 6
  93 + },
  94 + {
  95 + week: '周日',
  96 + date: '10月21日',
  97 + time: '15:00 — 16:30',
  98 + rest: 0
  99 + },
  100 + // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},
  101 + // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},
  102 + // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},
  103 + // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},
  104 + // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},
  105 + // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},
  106 + // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},
  107 + // {week:'周六',date: '10月20日',time:'10:00 — 11:30',rest: 6}
  108 + ]
87 }, 109 },
88 - {  
89 - week: '周日',  
90 - date: '10月21日',  
91 - time: '15:00 — 16:30',  
92 - rest: 6  
93 - },  
94 - {  
95 - week: '周日',  
96 - date: '10月21日',  
97 - time: '15:00 — 16:30',  
98 - rest: 0  
99 - },  
100 - // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},  
101 - // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},  
102 - // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},  
103 - // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},  
104 - // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},  
105 - // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},  
106 - // {week:'周日',date: '10月21日',time:'15:00 — 16:30',rest: 6},  
107 - // {week:'周六',date: '10月20日',time:'10:00 — 11:30',rest: 6}  
108 - ]  
109 }, 110 },
110 - },  
111 111
112 - //选择城市  
113 - bindPickerChange: function(e) {  
114 - // console.log('picker发送选择改变,携带值为', e.detail.value)  
115 - this.setData({  
116 - city_index: e.detail.value,  
117 - is_change: true,  
118 - });  
119 - this.getChooseSession(this.data.cityList[e.detail.value])  
120 - },  
121 - //选择实验室  
122 - chooseTest(e) {  
123 - // console.log(e);  
124 - // console.log('实验',e.currentTarget.dataset.index);  
125 - const current = e.currentTarget.dataset.index;  
126 - const current_id = e.currentTarget.dataset.id;  
127 - // console.log(this.data.areaTest[0].lab_list[0].session_list[0].id);  
128 - this.setData({  
129 - currentTest: current,  
130 - current_test_id: current_id,  
131 - is_choose_test: true,  
132 - // current_session_id: this.data.areaTest[current].lab_list ? this.data.areaTest[current].lab_list[0].session_list[0].id : '',  
133 - // description: this.data.areaTest[current].lab_list[current].description  
134 - });  
135 - // console.log(util.formatTimeTwo(1543375800,'h:m'),'1543375800');  
136 - // console.log('areaTest',this.data.areaTest);  
137 - return this.data.areaTest.forEach((item,index) => {  
138 - // console.log(item.lab_list[current].id, current_id);  
139 - if(item.lab_list && (item.lab_list[current].id === current_id)) {  
140 - // console.log(current_id, item.lab_list[current].id,item.lab_list[current].description);  
141 - this.setData({  
142 - description: item.lab_list&&item.lab_list[current].description ? item.lab_list[current].description : '',  
143 - session_list: item.lab_list&&item.lab_list[current].session_list ? item.lab_list[current].session_list: '',  
144 - });  
145 - // return  
146 - }  
147 - });  
148 - // console.log(a);  
149 - // console.log(this.data.areaTest[current].lab_list[current].description);  
150 - }, 112 + //选择城市
  113 + bindPickerChange: function (e) {
  114 + // console.log('picker发送选择改变,携带值为', e.detail.value)
  115 + this.setData({
  116 + city_index: e.detail.value,
  117 + is_change: true,
  118 + });
  119 + this.getChooseSession(this.data.cityList[e.detail.value])
  120 + },
  121 + //选择实验室
  122 + chooseTest(e) {
  123 + // console.log(e);
  124 + // console.log('实验',e.currentTarget.dataset.index);
  125 + const current = e.currentTarget.dataset.index;
  126 + const current_id = e.currentTarget.dataset.id;
  127 + // console.log(this.data.areaTest[0].lab_list[0].session_list[0].id);
  128 + this.setData({
  129 + currentTest: current,
  130 + current_test_id: current_id,
  131 + is_choose_test: true,
  132 + // current_session_id: this.data.areaTest[current].lab_list ? this.data.areaTest[current].lab_list[0].session_list[0].id : '',
  133 + // description: this.data.areaTest[current].lab_list[current].description
  134 + });
  135 + // console.log(util.formatTimeTwo(1543375800,'h:m'),'1543375800');
  136 + // console.log('areaTest',this.data.areaTest);
  137 + return this.data.areaTest.forEach((item, index) => {
  138 + // console.log(item.lab_list[current].id, current_id);
  139 + if (item.lab_list && (item.lab_list[current].id === current_id)) {
  140 + // console.log(current_id, item.lab_list[current].id,item.lab_list[current].description);
  141 + this.setData({
  142 + description: item.lab_list && item.lab_list[current].description ? item.lab_list[current].description : '',
  143 + session_list: item.lab_list && item.lab_list[current].session_list ? item.lab_list[current].session_list : '',
  144 + });
  145 + // return
  146 + }
  147 + });
  148 + // console.log(a);
  149 + // console.log(this.data.areaTest[current].lab_list[current].description);
  150 + },
151 151
152 - //选择场次 152 + //选择场次
153 chooseTime(e) { 153 chooseTime(e) {
154 // console.log(e.currentTarget.dataset.index); 154 // console.log(e.currentTarget.dataset.index);
155 const current = e.currentTarget.dataset.index; 155 const current = e.currentTarget.dataset.index;
@@ -161,200 +161,206 @@ Page({ @@ -161,200 +161,206 @@ Page({
161 current_session_id: current_id, 161 current_session_id: current_id,
162 is_choose_session: true, 162 is_choose_session: true,
163 }) 163 })
164 - }else {  
165 - wx.showToast({title:'该场次名额不足!',icon:'none'}) 164 + } else {
  165 + wx.showToast({title: '该场次名额不足!', icon: 'none'})
166 } 166 }
167 }, 167 },
168 168
169 - //点击单人预约  
170 - singleAppointment() {  
171 - if(!this.data.is_choose_session || !this.data.is_choose_test) {  
172 - wx.showToast({title: '请选择实验和场次!',icon: 'none'})  
173 - }else {  
174 - this.setData({  
175 - show_submit_btn: true,  
176 - student_num: 1,  
177 - })  
178 - }  
179 - // wx.navigateTo({  
180 - // url: '/pages/index/confirm-appointment-info/confirm-appointment-info?num=' + 1  
181 - // })  
182 - }, 169 + //点击单人预约
  170 + singleAppointment() {
  171 + if (!this.data.is_choose_session || !this.data.is_choose_test) {
  172 + wx.showToast({title: '请选择实验和场次!', icon: 'none'})
  173 + } else {
  174 + this.setData({
  175 + show_submit_btn: true,
  176 + student_num: 1,
  177 + })
  178 + }
  179 + // wx.navigateTo({
  180 + // url: '/pages/index/confirm-appointment-info/confirm-appointment-info?num=' + 1
  181 + // })
  182 + },
183 183
184 - //点击双人预约  
185 - doubleAppointment() {  
186 - if(!this.data.is_choose_session || !this.data.is_choose_test) {  
187 - wx.showToast({title: '请选择实验和场次!',icon: 'none'})  
188 - }else {  
189 - this.setData({  
190 - show_submit_btn: true,  
191 - student_num: 2,  
192 - })  
193 - }  
194 - // wx.navigateTo({  
195 - // url: '/pages/index/confirm-appointment-info/confirm-appointment-info?num=' + 2  
196 - // })  
197 - },  
198 - //提交  
199 - submit() {  
200 - if(this.data.is_choose_session && this.data.is_choose_test) {  
201 - let url = '/portal/Experiment/submit_session'; 184 + //点击双人预约
  185 + doubleAppointment() {
  186 + if (!this.data.is_choose_session || !this.data.is_choose_test) {
  187 + wx.showToast({title: '请选择实验和场次!', icon: 'none'})
  188 + } else {
  189 + this.setData({
  190 + show_submit_btn: true,
  191 + student_num: 2,
  192 + })
  193 + }
  194 + // wx.navigateTo({
  195 + // url: '/pages/index/confirm-appointment-info/confirm-appointment-info?num=' + 2
  196 + // })
  197 + },
  198 + //提交
  199 + submit() {
  200 + if (this.data.is_choose_session && this.data.is_choose_test) {
  201 + let url = '/portal/Experiment/submit_session';
  202 + let header = {
  203 + "XX-token": wx.getStorageSync('token')
  204 + };
  205 + let params = {
  206 + experiment_id: this.data.experiment_id,
  207 + session_id: this.data.current_session_id,
  208 + student_num: this.data.student_num,
  209 + };
  210 + // wx.navigateTo({
  211 + // url: '/pages/index/confirm-appointment-info/confirm-appointment-info?experiment_id=' + this.data.experiment_id
  212 + // + '&session_id=' + this.data.current_session_id + '&student_num=' + this.data.student_num
  213 + // })
  214 + app.post(url, params, header).then((res) => {
  215 + console.log(res);
  216 + wx.navigateTo({
  217 + url: '/pages/index/confirm-appointment-info/confirm-appointment-info?experiment_id=' + this.data.experiment_id
  218 + + '&session_id=' + this.data.current_session_id
  219 + + '&reservation_id=' + res.reservation_id
  220 + + '&student_num=' + this.data.student_num
  221 + })
  222 + });
  223 + } else {
  224 + wx.showToast({title: '请选择实验和场次!', icon: 'none'})
  225 + }
  226 + },
  227 + //获取城市列表
  228 + getCity() {
  229 + let url = '/portal/Experiment/cityList';
202 let header = { 230 let header = {
203 "XX-token": wx.getStorageSync('token') 231 "XX-token": wx.getStorageSync('token')
204 }; 232 };
  233 + app.post(url, {}, header).then((res) => {
  234 + // console.log(res);
  235 + var city_list = [];
  236 + res.forEach((item, index) => {
  237 + city_list.push(item.city)
  238 + });
  239 + // console.log(city_list,res);
  240 + this.setData({
  241 + cityList: city_list,
  242 + // description: res.list[0].lab_list[0].description,//默认显示第一个实验室的描述
  243 + // session_list: res.list[0].lab_list[0].session_list//默认显示第一个实验室的实验时间
  244 +
  245 + })
  246 + // console.log(this.data.this_week_test_info);
  247 + })
  248 + },
  249 + //获取预约城市、区、实验室、场次
  250 + getChooseSession(city) {
  251 + let url = '/portal/Experiment/choose_session';
205 let params = { 252 let params = {
206 experiment_id: this.data.experiment_id, 253 experiment_id: this.data.experiment_id,
207 - session_id: this.data.current_session_id,  
208 - student_num: this.data.student_num, 254 + city: city,
209 }; 255 };
210 - // wx.navigateTo({  
211 - // url: '/pages/index/confirm-appointment-info/confirm-appointment-info?experiment_id=' + this.data.experiment_id  
212 - // + '&session_id=' + this.data.current_session_id + '&student_num=' + this.data.student_num  
213 - // })  
214 - app.post(url,params,header).then((res) => {  
215 - console.log(res);  
216 - wx.navigateTo({  
217 - url: '/pages/index/confirm-appointment-info/confirm-appointment-info?experiment_id=' + this.data.experiment_id  
218 - + '&session_id=' + this.data.current_session_id  
219 - + '&reservation_id=' + res.reservation_id  
220 - + '&student_num=' + this.data.student_num  
221 - })  
222 - });  
223 - }else {  
224 - wx.showToast({title: '请选择实验和场次!',icon: 'none'})  
225 - }  
226 - },  
227 - //获取城市列表  
228 - getCity() {  
229 - let url = '/portal/Experiment/cityList';  
230 - let header = {  
231 - "XX-token": wx.getStorageSync('token')  
232 - };  
233 - app.post(url, {},header).then((res) => {  
234 - // console.log(res);  
235 - var city_list = [];  
236 - res.forEach((item,index) => {  
237 - city_list.push(item.city)  
238 - });  
239 - // console.log(city_list,res);  
240 - this.setData({  
241 - cityList: city_list,  
242 - // description: res.list[0].lab_list[0].description,//默认显示第一个实验室的描述  
243 - // session_list: res.list[0].lab_list[0].session_list//默认显示第一个实验室的实验时间  
244 -  
245 - })  
246 - // console.log(this.data.this_week_test_info);  
247 - })  
248 - },  
249 - //获取预约城市、区、实验室、场次  
250 - getChooseSession(city) {  
251 - let url = '/portal/Experiment/choose_session';  
252 - let params = {  
253 - experiment_id: this.data.experiment_id,  
254 - city: city,  
255 - };  
256 - let header = {  
257 - "XX-token": wx.getStorageSync('token')  
258 - };  
259 - app.post(url, params,header).then((res) => {  
260 - console.log(res,res.list);  
261 - // res.list.forEach((item,index) => {  
262 - // if(item.lab_list) {  
263 - // item.lab_list.forEach((i,k) => {  
264 - // if(i.session_list) {  
265 - // i.session_list.forEach((j,b) => {  
266 - // j.start_time = util.formatTimeTwo(j.start_time, 'h:m');  
267 - // j.end_time = util.formatTimeTwo(j.end_time, 'h:m');  
268 - // })  
269 - // }  
270 - // })  
271 - // }  
272 - // });  
273 - // console.log(res,res.list);  
274 - // console.log(res.list[0].lab_list[0].id);  
275 - this.setData({  
276 - areaTest: res.list,  
277 - student_num: res.student_num,  
278 - // current_test_id: res.list[0].lab_list ? res.list[0].lab_list[0].id : '',//默认实验室id  
279 - // current_session_id: res.list[0].lab_list ? res.list[0].lab_list[0].session_list[0].id : '',//默认场次id  
280 - description: res.list[0].lab_list ? res.list[0].lab_list[0].description : '',//默认显示第一个实验室的描述  
281 - session_list: res.list[0].lab_list ? res.list[0].lab_list[0].session_list :''//默认显示第一个实验室的实验时间  
282 -  
283 - })  
284 - // console.log(this.data.this_week_test_info);  
285 - })  
286 - },  
287 - /**  
288 - * 生命周期函数--监听页面加载  
289 - */  
290 - onLoad: function(options) {  
291 - const self = this;  
292 - console.log(options);  
293 - self.setData({experiment_id: +options.experiment_id});  
294 - if(wx.getStorageSync('city')) {  
295 - const city = wx.getStorageSync('city');  
296 - self.getChooseSession(city);  
297 - self.setData({currentCity: city})  
298 - }else {  
299 - const city = '北京市';  
300 - self.getChooseSession(city);  
301 - }  
302 - self.getCity();  
303 - // this.data.areaTest.forEach((v, i) => {  
304 - // Object.keys(v).forEach(v => {  
305 - // console.log(v) //取到了key  
306 - // console.log(this.data.areaTest[i][v]) //取到了值  
307 - // })  
308 - // })  
309 - // console.log(this.data.areaTest);  
310 - }, 256 + let header = {
  257 + "XX-token": wx.getStorageSync('token')
  258 + };
  259 + app.post(url, params, header).then((res) => {
  260 + console.log(res, res.list);
  261 + // res.list.forEach((item,index) => {
  262 + // if(item.lab_list) {
  263 + // item.lab_list.forEach((i,k) => {
  264 + // if(i.session_list) {
  265 + // i.session_list.forEach((j,b) => {
  266 + // j.start_time = util.formatTimeTwo(j.start_time, 'h:m');
  267 + // j.end_time = util.formatTimeTwo(j.end_time, 'h:m');
  268 + // })
  269 + // }
  270 + // })
  271 + // }
  272 + // });
  273 + // console.log(res,res.list);
  274 + // console.log(res.list[0].lab_list[0].id);
  275 + this.setData({
  276 + areaTest: res.list,
  277 + student_num: res.student_num,
  278 + // current_test_id: res.list[0].lab_list ? res.list[0].lab_list[0].id : '',//默认实验室id
  279 + // current_session_id: res.list[0].lab_list ? res.list[0].lab_list[0].session_list[0].id : '',//默认场次id
  280 + description: res.list[0].lab_list ? res.list[0].lab_list[0].description : '',//默认显示第一个实验室的描述
  281 + session_list: res.list[0].lab_list ? res.list[0].lab_list[0].session_list : ''//默认显示第一个实验室的实验时间
311 282
312 - /**  
313 - * 生命周期函数--监听页面初次渲染完成  
314 - */  
315 - onReady: function() { 283 + })
  284 + // console.log(this.data.this_week_test_info);
  285 + })
  286 + },
  287 + /**
  288 + * 生命周期函数--监听页面加载
  289 + */
  290 + onLoad: function (options) {
  291 + const self = this;
  292 + console.log('load',options);
  293 + self.setData({experiment_id: +options.experiment_id});
316 294
317 - }, 295 + // this.data.areaTest.forEach((v, i) => {
  296 + // Object.keys(v).forEach(v => {
  297 + // console.log(v) //取到了key
  298 + // console.log(this.data.areaTest[i][v]) //取到了值
  299 + // })
  300 + // })
  301 + // console.log(this.data.areaTest);
  302 + },
318 303
319 - /**  
320 - * 生命周期函数--监听页面显示  
321 - */  
322 - onShow: function() { 304 + /**
  305 + * 生命周期函数--监听页面初次渲染完成
  306 + */
  307 + onReady: function () {
323 308
324 - }, 309 + },
  310 + getData() {
  311 + const self = this;
  312 + if (wx.getStorageSync('city')) {
  313 + const city = wx.getStorageSync('city');
  314 + self.getChooseSession(city);
  315 + self.setData({currentCity: city})
  316 + } else {
  317 + const city = '北京市';
  318 + self.getChooseSession(city);
  319 + }
  320 + self.getCity();
  321 + },
  322 + /**
  323 + * 生命周期函数--监听页面显示
  324 + */
  325 + onShow: function () {
  326 + const self = this;
  327 + console.log('show');
  328 + self.getData();
  329 + self.setData({show_submit_btn: false})
  330 + },
325 331
326 - /**  
327 - * 生命周期函数--监听页面隐藏  
328 - */  
329 - onHide: function() { 332 + /**
  333 + * 生命周期函数--监听页面隐藏
  334 + */
  335 + onHide: function () {
330 336
331 - }, 337 + },
332 338
333 - /**  
334 - * 生命周期函数--监听页面卸载  
335 - */  
336 - onUnload: function() { 339 + /**
  340 + * 生命周期函数--监听页面卸载
  341 + */
  342 + onUnload: function () {
337 343
338 - }, 344 + },
339 345
340 - /**  
341 - * 页面相关事件处理函数--监听用户下拉动作  
342 - */  
343 - onPullDownRefresh: function() { 346 + /**
  347 + * 页面相关事件处理函数--监听用户下拉动作
  348 + */
  349 + onPullDownRefresh: function () {
344 350
345 - }, 351 + },
346 352
347 - /**  
348 - * 页面上拉触底事件的处理函数  
349 - */  
350 - onReachBottom: function() { 353 + /**
  354 + * 页面上拉触底事件的处理函数
  355 + */
  356 + onReachBottom: function () {
351 357
352 - }, 358 + },
353 359
354 - /**  
355 - * 用户点击右上角分享  
356 - */  
357 - onShareAppMessage: function() { 360 + /**
  361 + * 用户点击右上角分享
  362 + */
  363 + onShareAppMessage: function () {
358 364
359 - } 365 + }
360 }) 366 })
@@ -68,7 +68,7 @@ Page({ @@ -68,7 +68,7 @@ Page({
68 //获取轮播图 68 //获取轮播图
69 getSlideImage() { 69 getSlideImage() {
70 let params = {}; 70 let params = {};
71 - if(wx.setStorageSync('city') !== '') { 71 + if(wx.getStorageSync('city') === '') {
72 params = { 72 params = {
73 city: '北京', 73 city: '北京',
74 }; 74 };
@@ -208,7 +208,7 @@ Page({ @@ -208,7 +208,7 @@ Page({
208 longitude: res.longitude//经度 208 longitude: res.longitude//经度
209 }, 209 },
210 success: function (res) { 210 success: function (res) {
211 - console.log(res); 211 + console.log('获取城市',res.result.address_component.city);
212 self.setData({city: res.result.address_component.city}); 212 self.setData({city: res.result.address_component.city});
213 wx.setStorageSync('city', res.result.address_component.city); 213 wx.setStorageSync('city', res.result.address_component.city);
214 self.getSlideImage(); 214 self.getSlideImage();
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@
13 </view> 13 </view>
14 14
15 <!--预约列表--> 15 <!--预约列表-->
16 - <view class="list-box"> 16 + <view class="list-box" wx:if="{{orderList.length > 0}}">
17 <view class="order-box" bindtap="goDetail" wx:for="{{orderList}}" wx:key="index" data-index="{{index}}"> 17 <view class="order-box" bindtap="goDetail" wx:for="{{orderList}}" wx:key="index" data-index="{{index}}">
18 18
19 <view class="head"> 19 <view class="head">
@@ -23,6 +23,10 @@ page { @@ -23,6 +23,10 @@ page {
23 -moz-box-sizing: border-box; 23 -moz-box-sizing: border-box;
24 box-sizing: border-box; 24 box-sizing: border-box;
25 background-color: #fff; 25 background-color: #fff;
  26 + position: fixed;
  27 + top:0;
  28 + left:0;
  29 + z-index:10;
26 /* border-bottom: 1rpx solid #ebebeb; */ 30 /* border-bottom: 1rpx solid #ebebeb; */
27 } 31 }
28 .tab-box view { 32 .tab-box view {
@@ -33,6 +37,9 @@ page { @@ -33,6 +37,9 @@ page {
33 display: flex; 37 display: flex;
34 align-items: center; 38 align-items: center;
35 justify-content: center; 39 justify-content: center;
  40 + margin:auto 0;
  41 + width:100%;
  42 + height: 100%;
36 } 43 }
37 .no-data-box text { 44 .no-data-box text {
38 font-size: 36rpx; 45 font-size: 36rpx;
@@ -44,10 +51,13 @@ page { @@ -44,10 +51,13 @@ page {
44 } 51 }
45 .list-box { 52 .list-box {
46 width: 100%; 53 width: 100%;
  54 + height: 100%;
47 padding: 22rpx 20rpx; 55 padding: 22rpx 20rpx;
48 -webkit-box-sizing: border-box; 56 -webkit-box-sizing: border-box;
49 -moz-box-sizing: border-box; 57 -moz-box-sizing: border-box;
50 box-sizing: border-box; 58 box-sizing: border-box;
  59 + z-index:1;
  60 + margin-top:88rpx;
51 } 61 }
52 .order-box { 62 .order-box {
53 /* height: 274rpx; */ 63 /* height: 274rpx; */
1 // pages/appointmentRecord/appointmentRecord.js 1 // pages/appointmentRecord/appointmentRecord.js
2 -const app=getApp() 2 +const app = getApp()
3 Page({ 3 Page({
4 4
5 - /**  
6 - * 页面的初始数据  
7 - */  
8 - data: {  
9 - student_id:'',  
10 - page:1  
11 - }, 5 + /**
  6 + * 页面的初始数据
  7 + */
  8 + data: {
  9 + student_id: '',
  10 + page_number: 1,
  11 + has_more: true,
  12 + record:[]
  13 + },
  14 +//获取预约记录
  15 + recordList() {
  16 + if(!this.data.has_more) return;
  17 + this.setData({has_more: false});
  18 + let url = '/user/Student/student_reservation_list';
  19 + let params = {
  20 + student_id: this.data.student_id,
  21 + page: this.data.page_number,
  22 + };
  23 + let header = {
  24 + "XX-Token": wx.getStorageSync('token')
  25 + };
  26 + app.post(url, params, header).then((res) => {
  27 + console.log(res);
  28 + if(res.this_page < res.total_page) {
  29 + this.setData({has_more: true});
  30 + }
  31 + this.setData({record:this.data.record.concat(res.list)})
  32 + })
  33 + },
  34 +
  35 + /**
  36 + * 生命周期函数--监听页面加载
  37 + */
  38 + onLoad: function (options) {
  39 + console.log('options', options);
  40 + this.setData({student_id: +options.student_id ? +options.student_id : ''});
  41 + this.recordList()
  42 + },
  43 +
  44 + /**
  45 + * 生命周期函数--监听页面初次渲染完成
  46 + */
  47 + onReady: function () {
  48 +
  49 + },
  50 +
  51 + /**
  52 + * 生命周期函数--监听页面显示
  53 + */
  54 + onShow: function () {
  55 +
  56 + },
  57 +
  58 + /**
  59 + * 生命周期函数--监听页面隐藏
  60 + */
  61 + onHide: function () {
  62 +
  63 + },
  64 +
  65 + /**
  66 + * 生命周期函数--监听页面卸载
  67 + */
  68 + onUnload: function () {
  69 +
  70 + },
  71 +
  72 + /**
  73 + * 页面相关事件处理函数--监听用户下拉动作
  74 + */
  75 + onPullDownRefresh: function () {
  76 +
  77 + },
  78 +
  79 + /**
  80 + * 页面上拉触底事件的处理函数
  81 + */
  82 + onReachBottom: function () {
  83 + if (this.data.has_more) {
  84 + this.data.page_number++;
  85 + this.getStudentList();
  86 + } else {
  87 + wx.showToast({
  88 + title: '没有更多数据了~',
  89 + icon: 'none'
  90 + });
  91 + }
  92 + },
  93 +
  94 + /**
  95 + * 用户点击右上角分享
  96 + */
  97 + onShareAppMessage: function () {
12 98
13 - recordList(){  
14 - let url ='/user/Student/student_reservation_list'  
15 - let params={  
16 - student_id:this.data.student_id,  
17 - page:this.data.page  
18 } 99 }
19 - let header={  
20 - "XX-Token":wx.getStorageSync('token')  
21 - }  
22 - app.post(url,params,header).then((res)=>{  
23 - console.log(res)  
24 - })  
25 - },  
26 -  
27 - /**  
28 - * 生命周期函数--监听页面加载  
29 - */  
30 - onLoad: function (options) {  
31 - this.recordList()  
32 - },  
33 -  
34 - /**  
35 - * 生命周期函数--监听页面初次渲染完成  
36 - */  
37 - onReady: function () {  
38 -  
39 - },  
40 -  
41 - /**  
42 - * 生命周期函数--监听页面显示  
43 - */  
44 - onShow: function () {  
45 -  
46 - },  
47 -  
48 - /**  
49 - * 生命周期函数--监听页面隐藏  
50 - */  
51 - onHide: function () {  
52 -  
53 - },  
54 -  
55 - /**  
56 - * 生命周期函数--监听页面卸载  
57 - */  
58 - onUnload: function () {  
59 -  
60 - },  
61 -  
62 - /**  
63 - * 页面相关事件处理函数--监听用户下拉动作  
64 - */  
65 - onPullDownRefresh: function () {  
66 -  
67 - },  
68 -  
69 - /**  
70 - * 页面上拉触底事件的处理函数  
71 - */  
72 - onReachBottom: function () {  
73 -  
74 - },  
75 -  
76 - /**  
77 - * 用户点击右上角分享  
78 - */  
79 - onShareAppMessage: function () {  
80 -  
81 - }  
82 }) 100 })
1 <!--pages/appointmentRecord/appointmentRecord.wxml--> 1 <!--pages/appointmentRecord/appointmentRecord.wxml-->
2 <view class='content_box'> 2 <view class='content_box'>
3 - <view class='item_list'>  
4 - <view class='list_tab'>  
5 - <view class='list_tab_item'>预约记录</view>  
6 - <view class='list_tab_item'>时间</view> 3 + <view class='item_list'>
  4 + <view class='list_tab title'>
  5 + <view class='list_tab_item'>预约记录</view>
  6 + <view class='list_tab_item'>时间</view>
  7 + </view>
  8 + <view class='list_tab list_content' wx:for="{{record}}" wx:key="index">
  9 + <view class='list_tab_item'>活动报名</view>
  10 + <view class='list_tab_item'>{{item.time}}</view>
  11 + </view>
7 </view> 12 </view>
8 - <view class='list_tab list_content' wx:for='{{[1,2,3]}}' wx:key=''>  
9 - <view class='list_tab_item'>活动报名</view>  
10 - <view class='list_tab_item'>2018.10.10</view>  
11 - </view>  
12 - </view> 13 + <view class="no-data" wx:if="{{record.length === 0}}">暂无记录</view>
13 </view> 14 </view>
1 /* pages/appointmentRecord/appointmentRecord.wxss */ 1 /* pages/appointmentRecord/appointmentRecord.wxss */
2 2
3 /* 团购成交记录 */ 3 /* 团购成交记录 */
4 - 4 +page {
  5 + height: 100%;
  6 +}
  7 +.content_box {
  8 + height: 100%;
  9 +}
  10 +.no-data {
  11 + width: 100%;
  12 + height: 100%;
  13 + display: flex;
  14 + align-items: center;
  15 + justify-content: center;
  16 + color: #cccccc;
  17 + font-size: 30rpx;
  18 + margin: auto 0;
  19 +}
  20 +.title {
  21 + position: fixed;
  22 + top:0;
  23 + left:0;
  24 + z-index:10;
  25 +}
5 .list_tab { 26 .list_tab {
  27 + width: 100%;
6 display: flex; 28 display: flex;
7 align-items: center; 29 align-items: center;
8 justify-content: space-between; 30 justify-content: space-between;
@@ -38,6 +60,8 @@ @@ -38,6 +60,8 @@
38 .list_content { 60 .list_content {
39 border: 0; 61 border: 0;
40 padding: 15rpx 0; 62 padding: 15rpx 0;
  63 + z-index:1;
  64 + margin-top: 100rpx;
41 } 65 }
42 66
43 .list_content .list_tab_item { 67 .list_content .list_tab_item {
@@ -7,22 +7,24 @@ Page({ @@ -7,22 +7,24 @@ Page({
7 */ 7 */
8 data: { 8 data: {
9 card_info: {}, 9 card_info: {},
10 - student_list: {}, 10 + student_list: [],
11 picker_list: {}, 11 picker_list: {},
12 is_agree: true, 12 is_agree: true,
13 userlist: ['张三', '里斯'], 13 userlist: ['张三', '里斯'],
14 index: 0, 14 index: 0,
15 pay_success: false, 15 pay_success: false,
  16 + page_number: 1,
  17 + has_more: true,
16 }, 18 },
17 19
18 - //选择成员  
19 - changeStudent(e) {  
20 - if (this.data.student_list.length === 0) {  
21 -  
22 - } 20 + //选择成员
  21 + changeStudent(e) {
  22 + // if (this.data.student_list.length === 0) {
  23 + //
  24 + // }
23 this.setData({ 25 this.setData({
24 index: e.detail.value, 26 index: e.detail.value,
25 - }) 27 + });
26 }, 28 },
27 //添加学员 29 //添加学员
28 addUser() { 30 addUser() {
@@ -111,7 +113,7 @@ Page({ @@ -111,7 +113,7 @@ Page({
111 // beforePage.refreshStudent() 113 // beforePage.refreshStudent()
112 beforePage.data.is_buy = true; 114 beforePage.data.is_buy = true;
113 console.log('学生id',this.data.student_list[this.data.index].id); 115 console.log('学生id',this.data.student_list[this.data.index].id);
114 - beforePage.student_id = this.data.student_list[this.data.index].id; 116 + beforePage.data.choose_student_id = this.data.student_list[this.data.index].id;
115 beforePage.refreshBuyState() 117 beforePage.refreshBuyState()
116 } 118 }
117 } 119 }
@@ -129,23 +131,43 @@ Page({ @@ -129,23 +131,43 @@ Page({
129 }) 131 })
130 }) 132 })
131 }, 133 },
  134 + getMoreStudent() {
  135 + console.log('has_more',this.data.has_more);
  136 + if (this.data.has_more) {
  137 + this.data.page_number++;
  138 + this.getStudentList();
  139 + } else {
  140 + wx.showToast({
  141 + title: '没有更多数据了~',
  142 + icon: 'none'
  143 + });
  144 + }
  145 + },
132 //获取学员列表 146 //获取学员列表
133 getStudentList() { 147 getStudentList() {
  148 + if(!this.data.has_more) return;
  149 + this.setData({has_more: false});
134 let url = '/user/Student/student_list'; 150 let url = '/user/Student/student_list';
135 let header = { 151 let header = {
136 "XX-token": wx.getStorageSync('token') 152 "XX-token": wx.getStorageSync('token')
137 }; 153 };
138 let params = { 154 let params = {
139 - page: 1, 155 + page: this.data.page_number,
140 }; 156 };
141 var list = []; 157 var list = [];
142 app.post(url,params,header).then((res) => { 158 app.post(url,params,header).then((res) => {
143 - console.log('学员列表',res);  
144 - res.list.forEach((item) => { 159 + // console.log('学员列表',res);
  160 + if(res.this_page < res.total_page) {
  161 + this.setData({has_more: true});
  162 + this.getMoreStudent()
  163 + }
  164 + const concat_list = this.data.student_list.concat(res.list);
  165 + // console.log('concat_list',concat_list);
  166 + concat_list.forEach((item) => {
145 list.push(item.name) 167 list.push(item.name)
146 }); 168 });
147 - console.log('list', list);  
148 - this.setData({student_list: res.list,picker_list: list}) 169 + // console.log('list', list);
  170 + this.setData({student_list: this.data.student_list.concat(res.list),picker_list:list});
149 }) 171 })
150 }, 172 },
151 //同意协议按钮 173 //同意协议按钮
@@ -177,6 +199,7 @@ Page({ @@ -177,6 +199,7 @@ Page({
177 */ 199 */
178 onShow: function() { 200 onShow: function() {
179 const self = this; 201 const self = this;
  202 + self.setData({has_more: true,student_list:[],page_number: 1});
180 self.getStudentList(); 203 self.getStudentList();
181 204
182 }, 205 },
@@ -206,7 +229,6 @@ Page({ @@ -206,7 +229,6 @@ Page({
206 * 页面上拉触底事件的处理函数 229 * 页面上拉触底事件的处理函数
207 */ 230 */
208 onReachBottom: function() { 231 onReachBottom: function() {
209 -  
210 }, 232 },
211 233
212 /** 234 /**
@@ -118,7 +118,7 @@ @@ -118,7 +118,7 @@
118 this.wxPay(res.pay) 118 this.wxPay(res.pay)
119 }) 119 })
120 }, 120 },
121 - //发起团购 121 + //团购配置人数价格
122 PayDetail() { 122 PayDetail() {
123 let url = '/portal/Group/group_option' 123 let url = '/portal/Group/group_option'
124 let params = {} 124 let params = {}
@@ -132,9 +132,24 @@ @@ -132,9 +132,24 @@
132 }) 132 })
133 }) 133 })
134 }, 134 },
  135 + //团购规则
  136 + getRule() {
  137 + let url = '/wxapp/public/arc_group'
  138 + let params = {}
  139 + let header = {
  140 + "XX-Token": wx.getStorageSync('token')
  141 + }
  142 + app.post(url, {}, {}).then((res) => {
  143 + console.log('团购规则',res)
  144 + this.setData({
  145 + rule: res
  146 + })
  147 + })
  148 + },
135 //发起团购支付 149 //发起团购支付
136 wxPay(data) { 150 wxPay(data) {
137 - if (this.data.is_agree){ 151 + const self = this;
  152 + if (self.data.is_agree){
138 wx.requestPayment({ 153 wx.requestPayment({
139 'timeStamp': data.timeStamp, 154 'timeStamp': data.timeStamp,
140 'nonceStr': data.nonceStr, 155 'nonceStr': data.nonceStr,
@@ -148,8 +163,12 @@ @@ -148,8 +163,12 @@
148 icon: 'success', 163 icon: 'success',
149 success: function () { 164 success: function () {
150 setTimeout(function () { 165 setTimeout(function () {
  166 + const params = {
  167 + rule: self.data.rule,
  168 + pay_info: self.data.pay_info,
  169 + }
151 wx.navigateTo({ 170 wx.navigateTo({
152 - url: '/pages/my/shareGroupBuy/shareGroupBuy', 171 + url: '/pages/my/shareGroupBuy/shareGroupBuy?params=' + JSON.stringify(params),
153 }) 172 })
154 }, 500) 173 }, 500)
155 } 174 }
@@ -163,7 +182,7 @@ @@ -163,7 +182,7 @@
163 icon:'none' 182 icon:'none'
164 }) 183 })
165 } 184 }
166 - 185 +
167 186
168 }, 187 },
169 188
@@ -99,9 +99,10 @@ @@ -99,9 +99,10 @@
99 <view class='list_label'>长按兑换码即可复制</view> 99 <view class='list_label'>长按兑换码即可复制</view>
100 </view> 100 </view>
101 </view> 101 </view>
102 - <view class='list_tab list_content' wx:for='{{[1,2,3]}}' wx:key=''>  
103 - <view class='list_tab_item'>2018.10.10</view>  
104 - <view class='list_tab_item'>未兑换</view> 102 + <view class='list_tab list_content' wx:for='{{recordList}}' wx:key=''>
  103 + <view class='list_tab_item' wx:if="{{item.group_status == 1}}">{{item.complete_time}}</view>
  104 + <view class='list_tab_item' wx:if="{{item.group_status == 0}}">{{item.over_time}}</view>
  105 + <view class='list_tab_item'>{{item.group_status == 1?'已完成':'未完成'}}</view>
105 <view class='list_tab_item'> 106 <view class='list_tab_item'>
106 <text selectable='true' bindlongtap='copy'>{{chargenum}}</text> 107 <text selectable='true' bindlongtap='copy'>{{chargenum}}</text>
107 </view> 108 </view>
@@ -122,8 +123,8 @@ @@ -122,8 +123,8 @@
122 <view class='list_title_info'> 123 <view class='list_title_info'>
123 <view class='iconfont icon-zhongdian'> </view> 124 <view class='iconfont icon-zhongdian'> </view>
124 <view> 125 <view>
125 - <view>团购规则说明</view>  
126 - <view class='content_info'>如果因为环境网络问题或者其他原因导致无法打卡,请上传照 片及文字申诉内容,证明您已到场并已经参与活动。</view> 126 + <view>{{rule.title}}</view>
  127 + <view class='content_info'>{{rule.description}}</view>
127 </view> 128 </view>
128 </view> 129 </view>
129 <view class='service_box'> 130 <view class='service_box'>
@@ -366,6 +366,7 @@ page { @@ -366,6 +366,7 @@ page {
366 align-items: center; 366 align-items: center;
367 justify-content: center; 367 justify-content: center;
368 border-radius: 0; 368 border-radius: 0;
  369 + margin:0;
369 } 370 }
370 371
371 .pay_btn::after { 372 .pay_btn::after {
@@ -33,7 +33,6 @@ Page({ @@ -33,7 +33,6 @@ Page({
33 }) 33 })
34 }) 34 })
35 }, 35 },
36 -  
37 /** 36 /**
38 * 生命周期函数--监听页面加载 37 * 生命周期函数--监听页面加载
39 */ 38 */
@@ -89,7 +88,36 @@ Page({ @@ -89,7 +88,36 @@ Page({
89 /** 88 /**
90 * 用户点击右上角分享 89 * 用户点击右上角分享
91 */ 90 */
92 - onShareAppMessage: function() {  
93 -  
94 - } 91 + onShareAppMessage: function () {
  92 + let that = this;
  93 + var id=wx.getStorageSync('id')
  94 + // 设置菜单中的转发按钮触发转发事件时的转发内容
  95 + var shareObj = {
  96 + title: '科学队长', // 默认是小程序的名称(可以写slogan等)
  97 + path: '/pages/my/takeGroupBuy/takeGroupBuy?id=' + id, // 默认是当前页面,必须是以‘/’开头的完整路径
  98 + imageUrl: '', //自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
  99 + success: function (res) {
  100 + if (res.errMsg == 'shareAppMessage:ok') { }
  101 + },
  102 + fail: function () {
  103 + // 转发失败之后的回调
  104 + if (res.errMsg == 'shareAppMessage:fail cancel') {
  105 + // 用户取消转发
  106 + } else if (res.errMsg == 'shareAppMessage:fail') {
  107 + // 转发失败,其中 detail message 为详细失败信息
  108 + }
  109 + },
  110 + complete: function () {
  111 + // 转发结束之后的回调(转发成不成功都会执行)
  112 + }
  113 + }
  114 +
  115 + // 来自页面内的按钮的转发
  116 + // if (option.from == 'button') {
  117 + // // 此处可以修改 shareObj 中的内容
  118 + // // shareObj.imageUrl = '/pages/shareimg/share.png'
  119 + // }   // 返回shareObj
  120 +
  121 + return shareObj;
  122 + },
95 }) 123 })
@@ -2,103 +2,120 @@ @@ -2,103 +2,120 @@
2 const app = getApp() 2 const app = getApp()
3 Page({ 3 Page({
4 4
5 - /**  
6 - * 页面的初始数据  
7 - */  
8 - data: {  
9 - imgsUrl: ['../../../images/aicon_09@2x.png', '../../../images/aicon_09@2x.png', '../../../images/aicon_09@2x.png'],  
10 - swipercurrent: 0,  
11 - },  
12 - //获取轮播当前页  
13 - swiperCharge(e) {  
14 - console.log(e)  
15 - this.setData({  
16 - swipercurrent: e.detail.current  
17 - })  
18 - },  
19 -  
20 -myCardList(){  
21 - let url ='/user/Student/student_card'  
22 - let params={}  
23 - let header={  
24 - "XX-Token":wx.getStorageSync('token')  
25 - }  
26 - app.post(url,params,header).then((res)=>{  
27 - console.log(res)  
28 - })  
29 -},  
30 -  
31 - //跳转预约记录  
32 - record() {  
33 - wx.navigateTo({  
34 - url: '../appointmentRecord/appointmentRecord',  
35 - })  
36 - },  
37 - //立即购买  
38 - buyCard() {  
39 - wx.navigateTo({  
40 - url: '../buyCard/buyCard',  
41 - })  
42 - },  
43 - //团购畅玩卡  
44 - groupBuy() {  
45 - wx.navigateTo({  
46 - url: '../groupBuy/groupBuy',  
47 - })  
48 - },  
49 - /**  
50 - * 生命周期函数--监听页面加载  
51 - */  
52 - onLoad: function(options) {  
53 - this.myCardList()  
54 - },  
55 -  
56 - /**  
57 - * 生命周期函数--监听页面初次渲染完成  
58 - */  
59 - onReady: function() {  
60 -  
61 - },  
62 -  
63 - /**  
64 - * 生命周期函数--监听页面显示  
65 - */  
66 - onShow: function() {  
67 -  
68 - },  
69 -  
70 - /**  
71 - * 生命周期函数--监听页面隐藏  
72 - */  
73 - onHide: function() {  
74 -  
75 - },  
76 -  
77 - /**  
78 - * 生命周期函数--监听页面卸载  
79 - */  
80 - onUnload: function() {  
81 -  
82 - },  
83 -  
84 - /**  
85 - * 页面相关事件处理函数--监听用户下拉动作  
86 - */  
87 - onPullDownRefresh: function() {  
88 -  
89 - },  
90 -  
91 - /**  
92 - * 页面上拉触底事件的处理函数  
93 - */  
94 - onReachBottom: function() {  
95 -  
96 - },  
97 -  
98 - /**  
99 - * 用户点击右上角分享  
100 - */  
101 - onShareAppMessage: function() {  
102 -  
103 - } 5 + /**
  6 + * 页面的初始数据
  7 + */
  8 + data: {
  9 + default_card:[],
  10 + imgsUrl: [],
  11 + swipercurrent: 0,
  12 + current_student: 0,
  13 + },
  14 + //获取轮播当前页
  15 + swiperCharge(e) {
  16 + console.log(e.detail.current)
  17 + this.setData({
  18 + swipercurrent: e.detail.current,
  19 + current_student: e.detail.current,
  20 + })
  21 + },
  22 +
  23 + myCardList() {
  24 + let url = '/user/Student/student_card'
  25 + let params = {}
  26 + let header = {
  27 + "XX-Token": wx.getStorageSync('token')
  28 + }
  29 + app.post(url, params, header).then((res) => {
  30 + console.log(res);
  31 + this.setData({imgsUrl: res.list, service: res.service})
  32 + })
  33 + },
  34 + //畅玩卡说明
  35 + card() {
  36 + let url = '/wxapp/public/arc_card'
  37 + let params = {}
  38 + let header = {
  39 + "XX-Token": wx.getStorageSync('token')
  40 + }
  41 + app.post(url, {}, {}).then((res) => {
  42 + console.log('畅玩卡说明',res);
  43 + this.setData({service: res})
  44 + })
  45 + },
  46 +
  47 + //跳转预约记录
  48 + record() {
  49 + wx.navigateTo({
  50 + url: '../appointmentRecord/appointmentRecord?student_id=' + this.data.imgsUrl[this.data.current_student].id,
  51 + })
  52 + },
  53 + //立即购买
  54 + buyCard() {
  55 + wx.navigateTo({
  56 + url: '../buyCard/buyCard',
  57 + })
  58 + },
  59 + //团购畅玩卡
  60 + groupBuy() {
  61 + wx.navigateTo({
  62 + url: '../groupBuy/groupBuy',
  63 + })
  64 + },
  65 + /**
  66 + * 生命周期函数--监听页面加载
  67 + */
  68 + onLoad: function (options) {
  69 + this.myCardList();
  70 + this.card();
  71 + },
  72 +
  73 + /**
  74 + * 生命周期函数--监听页面初次渲染完成
  75 + */
  76 + onReady: function () {
  77 +
  78 + },
  79 +
  80 + /**
  81 + * 生命周期函数--监听页面显示
  82 + */
  83 + onShow: function () {
  84 +
  85 + },
  86 +
  87 + /**
  88 + * 生命周期函数--监听页面隐藏
  89 + */
  90 + onHide: function () {
  91 +
  92 + },
  93 +
  94 + /**
  95 + * 生命周期函数--监听页面卸载
  96 + */
  97 + onUnload: function () {
  98 +
  99 + },
  100 +
  101 + /**
  102 + * 页面相关事件处理函数--监听用户下拉动作
  103 + */
  104 + onPullDownRefresh: function () {
  105 +
  106 + },
  107 +
  108 + /**
  109 + * 页面上拉触底事件的处理函数
  110 + */
  111 + onReachBottom: function () {
  112 +
  113 + },
  114 +
  115 + /**
  116 + * 用户点击右上角分享
  117 + */
  118 + onShareAppMessage: function () {
  119 +
  120 + }
104 }) 121 })
1 <!--pages/myCard/myCard.wxml--> 1 <!--pages/myCard/myCard.wxml-->
2 <block> 2 <block>
3 <view class='banner_box'> 3 <view class='banner_box'>
4 - <swiper class='swiper_box' wx:key='' interval='2000' duration='500' current='{{swipercurrent}}' bindchange='swiperCharge'>  
5 - <swiper-item class="banner_img" wx:for='{{imgsUrl}}' wx:key=''> 4 + <swiper class='swiper_box' interval='2000' duration='500' current='{{swipercurrent}}' bindchange='swiperCharge'>
  5 + <swiper-item class="banner_img" wx:for='{{imgsUrl || default_card}}' wx:key='index'>
6 <!-- <image class='swiper_img' src='{{item}}'> --> 6 <!-- <image class='swiper_img' src='{{item}}'> -->
7 <view class='img_top'> 7 <view class='img_top'>
8 - <view class='logo_title'>畅玩卡</view>  
9 - <view>20180101-20190102</view> 8 + <view class='logo_title' wx:if="{{imgsUrl.length>0}}">{{item.name}}的畅玩卡</view>
  9 + <view class='logo_title' wx:else>畅玩卡</view>
  10 + <view wx:if="{{imgsUrl.length>0}}">{{item.start_time}}至{{item.over_time}}</view>
  11 + <view wx:else>暂无购买畅玩卡</view>
10 </view> 12 </view>
11 <view class='img_info'> 13 <view class='img_info'>
12 - <view class='info_title'>畅玩卡说明:</view>  
13 - <view>1.年卡只限本人使用年卡只限本人使用年卡只限本人使用年卡只限 本人使用年卡只限本人使用年卡只  
14 - </view>  
15 - <view>2.年卡只限本人使用年卡只限本人使用</view>  
16 - <view>3.年卡只限本人使用年卡只限本人使用年卡只限本人使用年本人使 用本人使用仅限</view> 14 + <view class='info_title'>{{service.title}}:</view>
  15 + <view>{{service.description}}</view>
  16 + <!--<view>1.年卡只限本人使用年卡只限本人使用年卡只限本人使用年卡只限 本人使用年卡只限本人使用年卡只-->
  17 + <!--</view>-->
  18 + <!--<view>2.年卡只限本人使用年卡只限本人使用</view>-->
  19 + <!--<view>3.年卡只限本人使用年卡只限本人使用年卡只限本人使用年本人使 用本人使用仅限</view>-->
17 </view> 20 </view>
18 <!-- </image> --> 21 <!-- </image> -->
19 </swiper-item> 22 </swiper-item>
20 </swiper> 23 </swiper>
21 <view class='indicator_dots'> 24 <view class='indicator_dots'>
22 - <block wx:for='{{imgsUrl}}' wx:key=''> 25 + <block wx:for='{{imgsUrl}}' wx:key='index'>
23 <view class="dot {{ index == swipercurrent ? 'dot_active':''}}"></view> 26 <view class="dot {{ index == swipercurrent ? 'dot_active':''}}"></view>
24 </block> 27 </block>
25 </view> 28 </view>
26 </view> 29 </view>
27 <view class='content_box'> 30 <view class='content_box'>
28 - <view class='item_list' bindtap='record'> 31 + <view class='item_list' bindtap='record' wx:if="{{imgsUrl.length>0}}">
29 <view class='list_title'>预约记录</view> 32 <view class='list_title'>预约记录</view>
30 </view> 33 </view>
31 <view class='item_list' bindtap='buyCard'> 34 <view class='item_list' bindtap='buyCard'>
@@ -21,6 +21,9 @@ page { @@ -21,6 +21,9 @@ page {
21 border-radius: 20rpx; 21 border-radius: 20rpx;
22 overflow: hidden; 22 overflow: hidden;
23 background-image: url('http://science.w.bronet.cn/static/images/background.png'); 23 background-image: url('http://science.w.bronet.cn/static/images/background.png');
  24 + background-repeat: no-repeat;
  25 + -webkit-background-size: 100%;
  26 + background-size: 100%;
24 position: relative; 27 position: relative;
25 } 28 }
26 29
@@ -16,38 +16,45 @@ Page({ @@ -16,38 +16,45 @@ Page({
16 }, 16 },
17 state_data: { 17 state_data: {
18 is_showSuccessModal: false, 18 is_showSuccessModal: false,
  19 + icon: '../../../images/success.png',
19 title:'恭喜您!', 20 title:'恭喜您!',
20 content: '您已经预约成功!' 21 content: '您已经预约成功!'
21 }, 22 },
22 - student_list: [{id:1,name:'张三',checked: false},  
23 - {id:2,name:'李思思', checked: false},  
24 - {id:3,name:'王五', checked: false},  
25 - {id:4,name:'赵柳', checked: false},  
26 - {id:5,name:'迪丽热巴-迪力木拉提',checked: false}], 23 + student_list: [],
27 is_choose: false, 24 is_choose: false,
28 num_arr: [], 25 num_arr: [],
29 session_info: {}, 26 session_info: {},
30 - student_num: 5, 27 + student_num: 0,
31 is_choose_student: false, 28 is_choose_student: false,
  29 + is_buy: false,
  30 + choose_student_id:0,
  31 + // checked_student: [],
  32 + page_number: 1,
  33 + has_more: true,
32 }, 34 },
33 //获取学员列表 35 //获取学员列表
34 getStudentList() { 36 getStudentList() {
  37 + if(!this.data.has_more) return;
  38 + this.setData({has_more: false});
35 let url = '/user/Student/student_list'; 39 let url = '/user/Student/student_list';
36 let header = { 40 let header = {
37 "XX-token": wx.getStorageSync('token') 41 "XX-token": wx.getStorageSync('token')
38 }; 42 };
39 let params = { 43 let params = {
40 - page: 1, 44 + page: this.data.page_number,
41 }; 45 };
42 app.post(url,params,header).then((res) => { 46 app.post(url,params,header).then((res) => {
43 console.log('学员列表',res); 47 console.log('学员列表',res);
  48 + if(res.this_page < res.total_page) {
  49 + this.setData({has_more: true});
  50 + }
44 // console.log('list', list); 51 // console.log('list', list);
45 var new_arr = []; 52 var new_arr = [];
46 res.list.forEach((item) => { 53 res.list.forEach((item) => {
47 new_arr.push({ ...item, checked: false }) 54 new_arr.push({ ...item, checked: false })
48 });//给每一项添加checked属性 55 });//给每一项添加checked属性
49 console.log(new_arr); 56 console.log(new_arr);
50 - this.setData({student_list: new_arr}) 57 + this.setData({student_list:this.data.student_list.concat(new_arr)})
51 }) 58 })
52 }, 59 },
53 //选择学员(待确认可选) 60 //选择学员(待确认可选)
@@ -67,7 +74,7 @@ Page({ @@ -67,7 +74,7 @@ Page({
67 console.log('new_arr',new_arr); 74 console.log('new_arr',new_arr);
68 var new_itmes = new_arr; 75 var new_itmes = new_arr;
69 console.log('new_itmes', new_itmes); 76 console.log('new_itmes', new_itmes);
70 - if(that.data.detail.num >=2) {//两个学员预约时 77 + if(that.data.detail.num >=2) { //两个学员预约时
71 console.log('两个学员'); 78 console.log('两个学员');
72 if (index_arr.length > 2) { 79 if (index_arr.length > 2) {
73 //取出倒数两个值 80 //取出倒数两个值
@@ -89,13 +96,32 @@ Page({ @@ -89,13 +96,32 @@ Page({
89 that.setData({student_id: id_arr.join(','),is_choose_student:true}); 96 that.setData({student_id: id_arr.join(','),is_choose_student:true});
90 console.log('student_id', that.data.student_id); 97 console.log('student_id', that.data.student_id);
91 } else { 98 } else {
  99 + const checked_student = [];
92 //被选中少于两个,直接设置被选中 100 //被选中少于两个,直接设置被选中
93 for (var i = 0; i < index_arr.length; i++) { 101 for (var i = 0; i < index_arr.length; i++) {
94 var key = index_arr[i] 102 var key = index_arr[i]
95 console.log('key', key); 103 console.log('key', key);
96 new_itmes[key]['checked'] = true 104 new_itmes[key]['checked'] = true
97 } 105 }
98 - that.setData({student_id: new_itmes[key].id,is_choose_student:true}); 106 + console.log('选一个时候new_itmes', new_itmes);
  107 + new_itmes.forEach((item) => {
  108 + if(item.checked) {
  109 + checked_student.push(item)
  110 + }
  111 + });
  112 + console.log('选择学员length', checked_student,checked_student.length);
  113 + if(checked_student.length>=2) {
  114 + const arr = [];
  115 + new_itmes.forEach((item) => {
  116 + if(item.checked) {
  117 + arr.push(item.id)
  118 + }
  119 + });
  120 + that.setData({student_id: arr.join(','),is_choose_student:true});
  121 + }else if(checked_student.length<2){
  122 + wx.showToast({title:'请选择两个学员!',icon:'none'});
  123 + that.setData({student_id: new_itmes[key].id,is_choose_student:true});
  124 + }
99 console.log('student_id', that.data.student_id); 125 console.log('student_id', that.data.student_id);
100 } 126 }
101 }else if(that.data.detail.num <2){//一个学员预约时 127 }else if(that.data.detail.num <2){//一个学员预约时
@@ -150,12 +176,12 @@ Page({ @@ -150,12 +176,12 @@ Page({
150 this.setData({ 176 this.setData({
151 'modal_data.currentBtn': e.currentTarget.dataset.index, 177 'modal_data.currentBtn': e.currentTarget.dataset.index,
152 'modal_data.is_showModal': false, 178 'modal_data.is_showModal': false,
153 - 'state_data.is_showSuccessModal': true  
154 }); 179 });
155 - wx.navigateTo({url: '/pages/my/buyCard/buyCard'}) 180 + wx.navigateTo({url: '/pages/my/buyCard/buyCard?from_appointment=' + true})
156 }, 181 },
157 modalConfirm() { 182 modalConfirm() {
158 this.setData({'state_data.is_showSuccessModal': false}) 183 this.setData({'state_data.is_showSuccessModal': false})
  184 + wx.redirectTo({url: '/pages/my/all-appointment/all-appointment?currentTab=' + 2})
159 }, 185 },
160 disableScroll() {}, 186 disableScroll() {},
161 addStudent() { 187 addStudent() {
@@ -163,6 +189,7 @@ Page({ @@ -163,6 +189,7 @@ Page({
163 }, 189 },
164 //获取预约详情 190 //获取预约详情
165 getAppointmentInfo() { 191 getAppointmentInfo() {
  192 + console.log('this.data.student_list', this.data.student_list);
166 let url = '/user/Reservation/reservation_detail'; 193 let url = '/user/Reservation/reservation_detail';
167 let header = { 194 let header = {
168 "XX-token": wx.getStorageSync('token') 195 "XX-token": wx.getStorageSync('token')
@@ -171,15 +198,45 @@ Page({ @@ -171,15 +198,45 @@ Page({
171 reservation_id: this.data.reservation_id, 198 reservation_id: this.data.reservation_id,
172 }; 199 };
173 app.post(url,params,header).then((res) => { 200 app.post(url,params,header).then((res) => {
174 - console.log('预约详情',res); 201 + console.log('预约详情',res.info.status === 1);
175 this.setData({ 202 this.setData({
176 detail: res.info, 203 detail: res.info,
177 }); 204 });
178 - if(this.data.detail.status === 1) { 205 + if(this.data.detail.status === 1 && !this.data.is_buy) {
  206 + console.log('111111111111111');
179 this.getStudentList(); 207 this.getStudentList();
180 } 208 }
181 }); 209 });
182 }, 210 },
  211 + //更新购买状态
  212 + refreshBuyState() {
  213 + console.log('更新购买状态---学生id--人数',this.data.detail.num,this.data.is_buy,this.data.choose_student_id);
  214 + if(this.data.is_buy) {
  215 + if(this.data.detail.num<2) {
  216 + this.data.student_list.forEach((item) => {
  217 + item.checked = false;
  218 + if (item.id === this.data.choose_student_id) {
  219 + console.log('item.id', item.id);
  220 + item.checked = true;
  221 + }
  222 + });
  223 + this.setData({student_list:this.data.student_list,is_choose_student:true})
  224 + console.log('student_list',this.data.student_list);
  225 + }else if(this.data.detail.num>=2) {
  226 + console.log('购买完进入两个学员student_list',this.data.student_list);
  227 + this.data.student_list.forEach((item) => {
  228 + item.checked = false;
  229 + if (item.id === this.data.choose_student_id) {
  230 + console.log('item.id', item.id);
  231 + item.checked = true;
  232 + // total_student_num.push(item)
  233 + }
  234 + });
  235 + this.setData({student_list:this.data.student_list,is_choose_student:true,});
  236 + console.log('student_list',this.data.student_list);
  237 + }
  238 + }
  239 + },
183 //取消 240 //取消
184 clickCancel(e) { 241 clickCancel(e) {
185 console.log('取消',e); 242 console.log('取消',e);
@@ -203,6 +260,9 @@ Page({ @@ -203,6 +260,9 @@ Page({
203 wx.showToast({title: '请添加学员!',icon:'none'}) 260 wx.showToast({title: '请添加学员!',icon:'none'})
204 }else if(!this.data.is_choose_student) { 261 }else if(!this.data.is_choose_student) {
205 wx.showToast({title: '请选择学员!',icon:'none'}) 262 wx.showToast({title: '请选择学员!',icon:'none'})
  263 + }else if(this.data.detail.num>=2 && ('' + this.data.student_id).indexOf(',') === -1) {
  264 + console.log('检验student_id',('' + this.data.student_id).indexOf(','));
  265 + wx.showToast({title:'请选择两个学员!',icon:'none'})
206 }else { 266 }else {
207 // this.setData({'modal_data.is_showModal': true}) 267 // this.setData({'modal_data.is_showModal': true})
208 let url = '/portal/Experiment/confirm_session_submit'; 268 let url = '/portal/Experiment/confirm_session_submit';
@@ -251,9 +311,16 @@ Page({ @@ -251,9 +311,16 @@ Page({
251 * 生命周期函数--监听页面显示 311 * 生命周期函数--监听页面显示
252 */ 312 */
253 onShow: function() { 313 onShow: function() {
254 - console.log('show'); 314 + console.log('show-buy',this.data.has_more,this.data.is_buy);
255 const self = this; 315 const self = this;
  316 + self.setData({is_choose_student: false});
256 self.getAppointmentInfo(); 317 self.getAppointmentInfo();
  318 + if(!self.data.is_buy) {
  319 + self.setData({has_more:true,page_number:1,student_list:[]});
  320 + self.getStudentList();
  321 + }else {
  322 + self.setData({is_choose_student: true});
  323 + }
257 setTimeout(function() { 324 setTimeout(function() {
258 self.setData({ 325 self.setData({
259 show: true 326 show: true
@@ -286,7 +353,15 @@ Page({ @@ -286,7 +353,15 @@ Page({
286 * 页面上拉触底事件的处理函数 353 * 页面上拉触底事件的处理函数
287 */ 354 */
288 onReachBottom: function() { 355 onReachBottom: function() {
289 - 356 + if (this.data.has_more) {
  357 + this.data.page_number++;
  358 + this.getStudentList();
  359 + } else {
  360 + wx.showToast({
  361 + title: '没有更多数据了~',
  362 + icon: 'none'
  363 + });
  364 + }
290 }, 365 },
291 366
292 /** 367 /**
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
42 <!--<image src="../../../images/choose_icon.png" wx:if="{{item.is_choose}}" class="check-icon"></image>--> 42 <!--<image src="../../../images/choose_icon.png" wx:if="{{item.is_choose}}" class="check-icon"></image>-->
43 <!--</view>--> 43 <!--</view>-->
44 <checkbox-group class="check-box" bindchange="{{detail.status === 1?'chooseChildren':''}}"> 44 <checkbox-group class="check-box" bindchange="{{detail.status === 1?'chooseChildren':''}}">
45 - <label class="checkbox" wx:for="{{detail.status === 1?student_list:detail.reservation_student}}" wx:for-item="i" wx:key="index"> 45 + <label class="checkbox" wx:for="{{detail.status == 1?student_list:detail.reservation_student}}" wx:for-item="i" wx:key="index">
46 <view class="name {{i.checked?'change-color':''}}">{{i.name}}</view> 46 <view class="name {{i.checked?'change-color':''}}">{{i.name}}</view>
47 <checkbox wx:if="{{detail.status === 1}}" value="{{index}}" checked="{{i.checked}}" id="{{i.id}}" name="student_id" class="checkbox"/> 47 <checkbox wx:if="{{detail.status === 1}}" value="{{index}}" checked="{{i.checked}}" id="{{i.id}}" name="student_id" class="checkbox"/>
48 </label> 48 </label>
@@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@
16 } 16 }
17 .footer-box1, .footer-box2 { 17 .footer-box1, .footer-box2 {
18 width: 100%; 18 width: 100%;
19 - position: absolute; 19 + position: fixed;
20 bottom: 0; 20 bottom: 0;
21 left: 0; 21 left: 0;
22 } 22 }
@@ -12,7 +12,8 @@ Page({ @@ -12,7 +12,8 @@ Page({
12 * 生命周期函数--监听页面加载 12 * 生命周期函数--监听页面加载
13 */ 13 */
14 onLoad: function (options) { 14 onLoad: function (options) {
15 - 15 + console.log('options', options);
  16 + this.setData({params: options.params?JSON.parse(options.params):''})
16 }, 17 },
17 18
18 /** 19 /**
@@ -2,19 +2,19 @@ @@ -2,19 +2,19 @@
2 <view class='banner_box'> 2 <view class='banner_box'>
3 <view> 3 <view>
4 <text>团购人数:</text> 4 <text>团购人数:</text>
5 - <text class='banner_num'>3人</text> 5 + <text class='banner_num'>{{params.pay_info.num}}人</text>
6 </view> 6 </view>
7 <view> 7 <view>
8 <text>发布倒计时:</text> 8 <text>发布倒计时:</text>
9 - <text class='banner_num'>3小时</text> 9 + <text class='banner_num'>{{params.pay_info.time}}小时</text>
10 </view> 10 </view>
11 </view> 11 </view>
12 <view class='content_box'> 12 <view class='content_box'>
13 <view class='list_title_info'> 13 <view class='list_title_info'>
14 <view class='iconfont icon-zhongdian'> </view> 14 <view class='iconfont icon-zhongdian'> </view>
15 <view> 15 <view>
16 - <view>团购规则说明</view>  
17 - <view class='content_info'>如果因为环境网络问题或者其他原因导致无法打卡,请上传照 片及文字申诉内容,证明您已到场并已经参与活动。</view> 16 + <view>{{params.rule.title}}</view>
  17 + <view class='content_info'>{{params.rule.description}}</view>
18 </view> 18 </view>
19 </view> 19 </view>
20 <view class='service_box'> 20 <view class='service_box'>
@@ -24,8 +24,8 @@ @@ -24,8 +24,8 @@
24 <!-- <text class='service_info' bindtap='serviceProtocol'>服务协议</text> --> 24 <!-- <text class='service_info' bindtap='serviceProtocol'>服务协议</text> -->
25 </view> 25 </view>
26 <view class='service_btn_box'> 26 <view class='service_btn_box'>
27 - <view>参与团购单价:¥188.00</view>  
28 - <button open-type='share' class='pay_btn' bindtap='goPay'>分享好友</button> 27 + <view>参与团购单价:¥{{params.pay_info.price}}</view>
  28 + <button open-type='share' class='pay_btn'>分享好友</button>
29 </view> 29 </view>
30 </view> 30 </view>
31 31