作者 吴孟雨

预约详情页接口,删除学员,添加formid

正在显示 45 个修改的文件 包含 1516 行增加913 行删除
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="632eecf6-91e3-4185-aea4-06d243e51935" name="Default" comment="确认预约信息,选择学员,优化单人预约,购买畅玩卡,添加预约详情页底部状态按钮,更换为客户appid">
<list default="true" id="632eecf6-91e3-4185-aea4-06d243e51935" name="Default" comment="申诉,打卡,编辑删除学员,更换手机号">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app.js" beforeDir="false" afterPath="$PROJECT_DIR$/app.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app.json" beforeDir="false" afterPath="$PROJECT_DIR$/app.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/app.wxss" afterDir="false" />
<change beforePath="$PROJECT_DIR$/images/success.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/pages/clock/clock.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/clock.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/clock/clock.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/clock.wxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxss" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/clock/clock.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/clock/clock.wxss" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.js" afterDir="false" />
<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" />
<change beforePath="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxss" afterDir="false" />
<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" />
<change beforePath="$PROJECT_DIR$/pages/index/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/index.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/index/index.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/index.wxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/index/index.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/index.wxss" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/index/phone-code/phone-code.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/phone-code/phone-code.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.js" afterDir="false" />
<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" />
<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" />
<change beforePath="$PROJECT_DIR$/pages/my/buyCard/buyCard.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/buyCard/buyCard.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/buyCard/buyCard.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/buyCard/buyCard.wxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/buyCard/buyCard.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/buyCard/buyCard.wxss" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/charge/charge.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/charge/charge.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/charge/charge.json" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/charge/charge.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/charge/charge.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/charge/charge.wxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/charge/charge.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/charge/charge.wxss" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.json" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxss" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/edit-student/edit-student.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/edit-student/edit-student.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/my.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/my.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/my.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/my.wxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/myProfile/myProfile.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/myProfile/myProfile.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/myProfile/myProfile.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/myProfile/myProfile.wxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/myProfile/myProfile.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/myProfile/myProfile.wxss" afterDir="false" />
<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" />
<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" />
<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" />
<change beforePath="$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.wxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pages/start/start.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/start/start.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/templates.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/templates/templates.wxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/templates.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/templates/templates.wxss" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/.tmp/" />
<ignored path="$PROJECT_DIR$/temp/" />
... ... @@ -33,45 +61,46 @@
<session id="-381596063">
<usages-collector id="statistics.lifecycle.project">
<counts>
<entry key="project.closed" value="8" />
<entry key="project.closed" value="9" />
<entry key="project.open.time.0" value="5" />
<entry key="project.open.time.1" value="3" />
<entry key="project.open.time.2" value="1" />
<entry key="project.opened" value="9" />
<entry key="project.open.time.8" value="1" />
<entry key="project.opened" value="10" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.open">
<counts>
<entry key="js" value="52" />
<entry key="json" value="18" />
<entry key="wxml" value="46" />
<entry key="wxss" value="15" />
<entry key="js" value="92" />
<entry key="json" value="25" />
<entry key="wxml" value="80" />
<entry key="wxss" value="34" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.open">
<counts>
<entry key="CSS" value="15" />
<entry key="HTML" value="46" />
<entry key="JSON" value="18" />
<entry key="JavaScript" value="52" />
<entry key="CSS" value="34" />
<entry key="HTML" value="80" />
<entry key="JSON" value="25" />
<entry key="JavaScript" value="92" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.edit">
<counts>
<entry key="js" value="7079" />
<entry key="json" value="119" />
<entry key="txt" value="144" />
<entry key="wxml" value="1482" />
<entry key="wxss" value="805" />
<entry key="js" value="10172" />
<entry key="json" value="152" />
<entry key="txt" value="166" />
<entry key="wxml" value="2343" />
<entry key="wxss" value="1204" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.edit">
<counts>
<entry key="CSS" value="805" />
<entry key="HTML" value="1482" />
<entry key="JSON" value="119" />
<entry key="JavaScript" value="7079" />
<entry key="PLAIN_TEXT" value="144" />
<entry key="CSS" value="1204" />
<entry key="HTML" value="2343" />
<entry key="JSON" value="152" />
<entry key="JavaScript" value="10172" />
<entry key="PLAIN_TEXT" value="166" />
</counts>
</usages-collector>
</session>
... ... @@ -79,86 +108,98 @@
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.wxml">
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="10" column="34" selection-start-line="10" selection-start-column="14" selection-end-line="10" selection-end-column="34" />
<state relative-caret-position="-3101">
<caret line="78" column="44" selection-start-line="78" selection-start-column="44" selection-end-line="78" selection-end-column="44" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.js">
<entry file="file://$PROJECT_DIR$/pages/index/go-appointment/go-appointment.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="654">
<caret line="99" column="61" lean-forward="true" selection-start-line="99" selection-start-column="61" selection-end-line="99" selection-end-column="61" />
<state relative-caret-position="540">
<caret line="220" column="14" lean-forward="true" selection-start-line="220" selection-start-column="14" selection-end-line="220" selection-end-column="14" />
<folding>
<element signature="e#402#613#0" />
<element signature="e#621#832#0" />
<element signature="e#840#1052#0" />
<element signature="e#1060#1273#0" />
<element signature="e#1292#2413#0" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.js">
<entry file="file://$PROJECT_DIR$/pages/index/go-appointment/go-appointment.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308">
<caret line="14" column="34" selection-start-line="14" selection-start-column="18" selection-end-line="14" selection-end-column="34" />
<state relative-caret-position="110">
<caret line="5" column="51" selection-start-line="5" selection-start-column="51" selection-end-line="5" selection-end-column="51" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.js">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="726">
<caret line="120" column="37" selection-start-line="120" selection-start-column="37" selection-end-line="120" selection-end-column="37" />
<state relative-caret-position="518">
<caret line="28" column="41" lean-forward="true" selection-start-line="28" selection-start-column="41" selection-end-line="28" selection-end-column="41" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.json">
<provider selected="true" editor-type-id="text-editor" />
<entry file="file://$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="220">
<caret line="10" column="54" selection-start-line="10" selection-start-column="47" selection-end-line="10" selection-end-column="54" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app.js">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="256">
<caret line="127" column="11" selection-start-line="127" selection-start-column="4" selection-end-line="127" selection-end-column="11" />
<state relative-caret-position="418">
<caret line="19" column="13" selection-start-line="19" selection-start-column="13" selection-end-line="19" selection-end-column="13" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.json">
<provider selected="true" editor-type-id="text-editor" />
<entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="88">
<caret line="4" column="64" selection-start-line="4" selection-start-column="55" selection-end-line="4" selection-end-column="64" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxml">
<entry file="file://$PROJECT_DIR$/pages/my/order-detail/order-detail.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="638">
<caret line="29" column="23" selection-start-line="29" selection-start-column="15" selection-end-line="29" selection-end-column="23" />
<state relative-caret-position="1518">
<caret line="69" column="58" selection-start-line="69" selection-start-column="58" selection-end-line="69" selection-end-column="58" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/pages/index/phone-code/phone-code.js">
<entry file="file://$PROJECT_DIR$/pages/my/order-detail/order-detail.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="369">
<caret line="65" selection-start-line="65" selection-end-line="104" selection-end-column="6" />
<folding>
<element signature="e#1785#3272#0" />
</folding>
<state relative-caret-position="1056">
<caret line="183" column="20" lean-forward="true" selection-start-line="183" selection-start-column="20" selection-end-line="183" selection-end-column="20" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/pages/index/phone-code/phone-code.wxml">
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxss">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="330">
<caret line="15" column="25" lean-forward="true" selection-start-line="15" selection-start-column="25" selection-end-line="15" selection-end-column="25" />
<state relative-caret-position="500">
<caret line="154" column="21" selection-start-line="154" selection-start-column="21" selection-end-line="154" selection-end-column="21" />
</state>
</provider>
</entry>
... ... @@ -167,29 +208,6 @@
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>skin</find>
<find>verification_code</find>
<find>add</find>
<find>formSubmit</find>
<find>is_showModal</find>
<find>navigateBack</find>
<find>购买畅玩卡</find>
<find>chooseNo</find>
<find>input_style</find>
<find>confirmPay</find>
<find>goBuyCard</find>
<find>QQMapWX</find>
<find>picker</find>
<find>添加</find>
<find>addStudent</find>
<find>from</find>
<find>icon-xuanze1</find>
<find>list_input</find>
<find>icon-xuanzhong</find>
<find>pay_success</find>
<find>@import</find>
<find>tips</find>
<find>changeStudent</find>
<find>getLocation</find>
<find>punchState</find>
<find>upload_item</find>
... ... @@ -197,6 +215,29 @@
<find>is_bingding</find>
<find>punch</find>
<find>checkMobile</find>
<find>save_btn</find>
<find>pay_btn</find>
<find>is_showModal</find>
<find>change-color</find>
<find>chargeBtn</find>
<find>is_showSuccessModal</find>
<find>modal</find>
<find>add_box</find>
<find>title_</find>
<find>dataset</find>
<find>confirm_btn</find>
<find>is_choose_student</find>
<find>shangwutubiao</find>
<find>blue</find>
<find>show</find>
<find>cancel_btn</find>
<find>e.detail.target</find>
<find>background-image</find>
<find>btn-box</find>
<find>checkbox</find>
<find>is_choose</find>
<find>formSubmit</find>
<find>changeTab</find>
</findStrings>
</component>
<component name="Git.Settings">
... ... @@ -205,56 +246,57 @@
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/templates/templates.wxss" />
<option value="$PROJECT_DIR$/templates/templates.wxml" />
<option value="$PROJECT_DIR$/pages/index/activity-detail/activity-detail.js" />
<option value="$PROJECT_DIR$/pages/index/activity-detail/activity-detail.wxml" />
<option value="$PROJECT_DIR$/pages/index/phone-code/phone-code.wxml" />
<option value="$PROJECT_DIR$/pages/my/protocol/protocol.js" />
<option value="$PROJECT_DIR$/pages/my/protocol/protocol.wxml" />
<option value="$PROJECT_DIR$/pages/my/my.wxss" />
<option value="$PROJECT_DIR$/pages/start/start.js" />
<option value="$PROJECT_DIR$/utils/util.js" />
<option value="$PROJECT_DIR$/app.js" />
<option value="$PROJECT_DIR$/pages/clock/clock.wxss" />
<option value="$PROJECT_DIR$/project.config.json" />
<option value="$PROJECT_DIR$/pages/index/index.wxml" />
<option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.wxml" />
<option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxss" />
<option value="$PROJECT_DIR$/pages/index/go-appointment/go-appointment.js" />
<option value="$PROJECT_DIR$/pages/index/go-appointment/go-appointment.wxml" />
<option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxml" />
<option value="$PROJECT_DIR$/pages/my/charge/charge.wxss" />
<option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.js" />
<option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.js" />
<option value="$PROJECT_DIR$/pages/my/buyCard/buyCard.wxml" />
<option value="$PROJECT_DIR$/app.wxss" />
<option value="$PROJECT_DIR$/pages/my/buyCard/buyCard.wxss" />
<option value="$PROJECT_DIR$/pages/my/order-detail/order-detail.json" />
<option value="$PROJECT_DIR$/pages/my/order-detail/order-detail.js" />
<option value="$PROJECT_DIR$/pages/my/order-detail/order-detail.wxss" />
<option value="$PROJECT_DIR$/pages/my/order-detail/order-detail.wxml" />
<option value="$PROJECT_DIR$/app.json" />
<option value="$PROJECT_DIR$/pages/my/buyCard/buyCard.js" />
<option value="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.js" />
<option value="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxml" />
<option value="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxss" />
<option value="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxml" />
<option value="$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js" />
<option value="$PROJECT_DIR$/pages/my/my.wxml" />
<option value="$PROJECT_DIR$/pages/index/index.js" />
<option value="$PROJECT_DIR$/pages/index/phone-code/phone-code.js" />
<option value="$PROJECT_DIR$/pages/clock/clock.wxml" />
<option value="$PROJECT_DIR$/pages/clock/clock.js" />
<option value="$PROJECT_DIR$/pages/my/my.js" />
<option value="$PROJECT_DIR$/pages/my/edit-student/edit-student.json" />
<option value="$PROJECT_DIR$/pages/my/edit-student/edit-student.wxml" />
<option value="$PROJECT_DIR$/pages/my/edit-student/edit-student.wxss" />
<option value="$PROJECT_DIR$/pages/my/my.js" />
<option value="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.json" />
<option value="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxml" />
<option value="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxss" />
<option value="$PROJECT_DIR$/pages/my/buyCard/buyCard.wxml" />
<option value="$PROJECT_DIR$/pages/my/buyCard/buyCard.wxss" />
<option value="$PROJECT_DIR$/pages/index/phone-code/phone-code.js" />
<option value="$PROJECT_DIR$/pages/my/edit-student/edit-student.js" />
<option value="$PROJECT_DIR$/pages/my/charge/charge.json" />
<option value="$PROJECT_DIR$/pages/my/charge/charge.wxss" />
<option value="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.js" />
<option value="$PROJECT_DIR$/pages/index/index.js" />
<option value="$PROJECT_DIR$/pages/start/start.js" />
<option value="$PROJECT_DIR$/pages/clock/clock.wxml" />
<option value="$PROJECT_DIR$/pages/clock/clock.wxss" />
<option value="$PROJECT_DIR$/pages/my/myProfile/myProfile.wxml" />
<option value="$PROJECT_DIR$/pages/my/myProfile/myProfile.wxss" />
<option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.js" />
<option value="$PROJECT_DIR$/pages/my/charge/charge.wxml" />
<option value="$PROJECT_DIR$/pages/my/charge/charge.js" />
<option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxss" />
<option value="$PROJECT_DIR$/app.js" />
<option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxml" />
<option value="$PROJECT_DIR$/app.json" />
<option value="$PROJECT_DIR$/pages/my/buyCard/buyCard.js" />
<option value="$PROJECT_DIR$/app.wxss" />
<option value="$PROJECT_DIR$/pages/my/order-detail/order-detail.wxss" />
<option value="$PROJECT_DIR$/pages/my/my.wxml" />
<option value="$PROJECT_DIR$/pages/my/myProfile/myProfile.js" />
<option value="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxml" />
<option value="$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.js" />
<option value="$PROJECT_DIR$/templates/templates.wxml" />
<option value="$PROJECT_DIR$/templates/templates.wxss" />
<option value="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxml" />
<option value="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxss" />
<option value="$PROJECT_DIR$/pages/my/all-appointment/all-appointment.js" />
<option value="$PROJECT_DIR$/pages/index/index.wxml" />
<option value="$PROJECT_DIR$/pages/index/index.wxss" />
<option value="$PROJECT_DIR$/pages/clock/clock.js" />
<option value="$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.js" />
<option value="$PROJECT_DIR$/pages/my/order-detail/order-detail.js" />
<option value="$PROJECT_DIR$/pages/index/go-appointment/go-appointment.js" />
<option value="$PROJECT_DIR$/pages/my/order-detail/order-detail.wxml" />
<option value="$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.wxml" />
<option value="$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.js" />
</list>
</option>
</component>
... ... @@ -265,8 +307,8 @@
<sorting>DEFINITION_ORDER</sorting>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="-3" />
<option name="y" value="1" />
<option name="x" value="34" />
<option name="y" value="17" />
<option name="width" value="1936" />
<option name="height" value="1047" />
</component>
... ... @@ -292,14 +334,13 @@
<item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
<item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
<item name="pages" type="462c0819:PsiDirectoryNode" />
<item name="index" type="462c0819:PsiDirectoryNode" />
<item name="clock" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
<item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
<item name="pages" type="462c0819:PsiDirectoryNode" />
<item name="index" type="462c0819:PsiDirectoryNode" />
<item name="confirm-appointment-info" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
... ... @@ -307,34 +348,26 @@
<item name="pages" type="462c0819:PsiDirectoryNode" />
<item name="index" type="462c0819:PsiDirectoryNode" />
<item name="confirm-appointment-info" type="462c0819:PsiDirectoryNode" />
<item name="add-student" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
<item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
<item name="pages" type="462c0819:PsiDirectoryNode" />
<item name="index" type="462c0819:PsiDirectoryNode" />
<item name="phone-code" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
<item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
<item name="pages" type="462c0819:PsiDirectoryNode" />
<item name="my" type="462c0819:PsiDirectoryNode" />
<item name="go-appointment" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
<item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
<item name="pages" type="462c0819:PsiDirectoryNode" />
<item name="my" type="462c0819:PsiDirectoryNode" />
<item name="chargePhoneNum" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
<item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
<item name="pages" type="462c0819:PsiDirectoryNode" />
<item name="my" type="462c0819:PsiDirectoryNode" />
<item name="myProfile" type="462c0819:PsiDirectoryNode" />
<item name="all-appointment" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
... ... @@ -347,7 +380,8 @@
<item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
<item name="ScienceCaptain" type="462c0819:PsiDirectoryNode" />
<item name="pages" type="462c0819:PsiDirectoryNode" />
<item name="start" type="462c0819:PsiDirectoryNode" />
<item name="my" type="462c0819:PsiDirectoryNode" />
<item name="serviceWeChat" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="ScienceCaptain" type="b2602c69:ProjectViewProjectNode" />
... ... @@ -367,7 +401,7 @@
</component>
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="last_opened_file_path" value="D:/info/informationPlatform" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="settings.editor.selected.configurable" value="project.propDebugger" />
... ... @@ -409,7 +443,8 @@
<workItem from="1543975238201" duration="27150000" />
<workItem from="1544059385784" duration="3563000" />
<workItem from="1544062971616" duration="25513000" />
<workItem from="1544145384377" duration="6854000" />
<workItem from="1544145384377" duration="29454000" />
<workItem from="1544231015193" duration="23369000" />
</task>
<task id="LOCAL-00001" summary="modal 模板">
<created>1542274356914</created>
... ... @@ -446,11 +481,18 @@
<option name="project" value="LOCAL" />
<updated>1544079539745</updated>
</task>
<option name="localTasksCounter" value="6" />
<task id="LOCAL-00006" summary="申诉,打卡,编辑删除学员,更换手机号">
<created>1544152458854</created>
<option name="number" value="00006" />
<option name="presentableId" value="LOCAL-00006" />
<option name="project" value="LOCAL" />
<updated>1544152458854</updated>
</task>
<option name="localTasksCounter" value="7" />
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="81701000" />
<option name="totallyTimeSpent" value="127670000" />
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
... ... @@ -513,360 +555,369 @@
<MESSAGE value="登录注册,绑定手机号,获取验证码,轮播图,本周实验,往期实验,立即预约,实验详情" />
<MESSAGE value="更换appid和密钥,添加绑定手机后跳转到首页隐藏蒙层,添加解析文件,优化去预约显示的城市" />
<MESSAGE value="确认预约信息,选择学员,优化单人预约,购买畅玩卡,添加预约详情页底部状态按钮,更换为客户appid" />
<option name="LAST_COMMIT_MESSAGE" value="确认预约信息,选择学员,优化单人预约,购买畅玩卡,添加预约详情页底部状态按钮,更换为客户appid" />
<MESSAGE value="申诉,打卡,编辑删除学员,更换手机号" />
<option name="LAST_COMMIT_MESSAGE" value="申诉,打卡,编辑删除学员,更换手机号" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/utils/util.js">
<entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="286">
<caret line="13" column="27" selection-start-line="13" selection-start-column="27" selection-end-line="13" selection-end-column="27" />
<state relative-caret-position="22">
<caret line="1" selection-start-line="1" selection-end-line="2" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/utils/qqmap-wx-jssdk.min.js">
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="22">
<caret line="1" column="110" lean-forward="true" selection-start-line="1" selection-start-column="110" selection-end-line="1" selection-end-column="110" />
<state relative-caret-position="440">
<caret line="20" column="40" selection-start-line="20" selection-start-column="40" selection-end-line="20" selection-end-column="40" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/project.config.json">
<entry file="file://$PROJECT_DIR$/pages/index/phone-code/phone-code.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308">
<caret line="14" column="32" selection-start-line="14" selection-start-column="32" selection-end-line="14" selection-end-column="32" />
<state relative-caret-position="440">
<caret line="20" column="39" lean-forward="true" selection-start-line="20" selection-start-column="39" selection-end-line="20" selection-end-column="39" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/activity-detail/activity-detail.js">
<entry file="file://$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxss">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="462">
<caret line="21" column="22" selection-start-line="21" selection-start-column="22" selection-end-line="21" selection-end-column="22" />
<state relative-caret-position="597">
<caret line="67" column="21" lean-forward="true" selection-start-line="67" selection-start-column="21" selection-end-line="67" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/buyCard/buyCard.json">
<entry file="file://$PROJECT_DIR$/pages/my/groupBuy/groupBuy.js">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="22">
<caret line="1" column="29" selection-start-line="1" selection-start-column="29" selection-end-line="1" selection-end-column="29" />
<state relative-caret-position="44">
<caret line="8" selection-start-line="8" selection-end-line="9" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/templates.wxml">
<entry file="file://$PROJECT_DIR$/pages/my/buyCard/buyCard.wxss">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1254">
<caret line="57" column="43" selection-start-line="57" selection-start-column="35" selection-end-line="57" selection-end-column="43" />
<state relative-caret-position="555">
<caret line="68" column="19" lean-forward="true" selection-start-line="68" selection-start-column="19" selection-end-line="68" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/charge/charge.wxss">
<entry file="file://$PROJECT_DIR$/pages/index/phone-code/phone-code.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="330">
<caret line="15" column="35" selection-start-line="15" selection-start-column="35" selection-end-line="15" selection-end-column="35" />
<state relative-caret-position="484">
<caret line="76" column="36" selection-start-line="76" selection-start-column="36" selection-end-line="76" selection-end-column="36" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/go-appointment/go-appointment.wxml">
<entry file="file://$PROJECT_DIR$/pages/my/edit-student/edit-student.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1314">
<caret line="60" column="15" lean-forward="true" selection-start-line="60" selection-start-column="15" selection-end-line="60" selection-end-column="15" />
<state relative-caret-position="660">
<caret line="122" selection-start-line="122" selection-end-line="122" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/go-appointment/go-appointment.js">
<entry file="file://$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="852">
<caret line="227" selection-start-line="227" selection-end-line="245" selection-end-column="8" />
<state relative-caret-position="22">
<caret line="1" selection-start-line="1" selection-end-line="2" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app.wxss">
<entry file="file://$PROJECT_DIR$/pages/my/buyCard/buyCard.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1188">
<caret line="54" lean-forward="true" selection-start-line="54" selection-end-line="54" />
<state relative-caret-position="22">
<caret line="1" column="29" selection-start-line="1" selection-start-column="29" selection-end-line="1" selection-end-column="29" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/buyCard/buyCard.wxss">
<entry file="file://$PROJECT_DIR$/pages/my/charge/charge.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="533">
<caret line="56" column="19" selection-start-line="56" selection-start-column="19" selection-end-line="56" selection-end-column="19" />
<state relative-caret-position="22">
<caret line="1" column="31" selection-start-line="1" selection-start-column="31" selection-end-line="1" selection-end-column="31" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/buyCard/buyCard.wxml">
<entry file="file://$PROJECT_DIR$/pages/my/charge/charge.wxss">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="522">
<caret line="30" column="40" selection-start-line="30" selection-start-column="26" selection-end-line="30" selection-end-column="40" />
<state relative-caret-position="462">
<caret line="21" lean-forward="true" selection-start-line="21" selection-end-line="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxml">
<entry file="file://$PROJECT_DIR$/pages/start/start.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="674">
<caret line="35" column="64" selection-end-line="62" selection-end-column="7" />
<state relative-caret-position="198">
<caret line="9" column="75" selection-start-line="9" selection-start-column="60" selection-end-line="9" selection-end-column="75" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.json">
<entry file="file://$PROJECT_DIR$/pages/start/start.js">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret selection-end-line="2" selection-end-column="1" />
<state relative-caret-position="638">
<caret line="83" column="21" selection-start-line="83" selection-start-column="21" selection-end-line="83" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/order-detail/order-detail.js">
<entry file="file://$PROJECT_DIR$/pages/index/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="498">
<caret line="127" column="67" lean-forward="true" selection-start-line="127" selection-start-column="67" selection-end-line="127" selection-end-column="67" />
<state relative-caret-position="396">
<caret line="33" column="19" lean-forward="true" selection-start-line="33" selection-start-column="19" selection-end-line="33" selection-end-column="19" />
<folding>
<element signature="n#!!doc" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxss">
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.json">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.wxss">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308">
<caret line="35" selection-start-line="35" selection-end-line="38" selection-end-column="1" />
<state relative-caret-position="1606">
<caret line="73" column="7" selection-start-line="73" selection-start-column="7" selection-end-line="73" selection-end-column="7" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/order-detail/order-detail.json">
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="22">
<caret line="1" column="35" lean-forward="true" selection-start-line="1" selection-start-column="35" selection-end-line="1" selection-end-column="35" />
<state relative-caret-position="594">
<caret line="27" column="3" selection-start-line="27" selection-start-column="3" selection-end-line="27" selection-end-column="3" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/order-detail/order-detail.wxss">
<entry file="file://$PROJECT_DIR$/pages/clock/clock.wxss">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="806">
<caret line="73" column="28" selection-start-line="73" selection-start-column="28" selection-end-line="73" selection-end-column="28" />
<state relative-caret-position="352">
<caret line="16" column="6" selection-start-line="16" selection-start-column="1" selection-end-line="16" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/order-detail/order-detail.wxml">
<entry file="file://$PROJECT_DIR$/pages/my/buyCard/buyCard.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1364">
<caret line="62" selection-start-line="62" selection-end-line="62" />
<state relative-caret-position="674">
<caret line="38" column="54" lean-forward="true" selection-start-line="38" selection-start-column="36" selection-end-line="38" selection-end-column="54" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app.json">
<entry file="file://$PROJECT_DIR$/pages/my/charge/charge.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="88">
<caret line="4" column="40" selection-start-line="4" selection-start-column="40" selection-end-line="4" selection-end-column="40" />
<state relative-caret-position="-140">
<caret line="2" column="4" selection-start-line="2" selection-start-column="4" selection-end-line="2" selection-end-column="4" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxml">
<entry file="file://$PROJECT_DIR$/pages/my/charge/charge.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="630">
<caret line="37" column="41" selection-start-line="37" selection-start-column="41" selection-end-line="37" selection-end-column="41" />
<state relative-caret-position="572">
<caret line="59" column="30" lean-forward="true" selection-start-line="59" selection-start-column="30" selection-end-line="59" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxss">
<entry file="file://$PROJECT_DIR$/app.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="499">
<caret line="104" column="15" selection-start-line="104" selection-start-column="15" selection-end-line="104" selection-end-column="15" />
<state relative-caret-position="322">
<caret line="70" column="40" selection-start-line="70" selection-start-column="40" selection-end-line="70" selection-end-column="40" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.wxml">
<entry file="file://$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="698">
<caret line="50" column="27" lean-forward="true" selection-start-line="50" selection-start-column="27" selection-end-line="50" selection-end-column="27" />
<state relative-caret-position="440">
<caret line="173" column="48" lean-forward="true" selection-start-line="173" selection-start-column="48" selection-end-line="173" selection-end-column="48" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/clock/punchAppeal/punchAppeal.js">
<entry file="file://$PROJECT_DIR$/pages/my/buyCard/buyCard.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="506">
<caret line="104" column="37" lean-forward="true" selection-start-line="104" selection-start-column="37" selection-end-line="104" selection-end-column="37" />
<state relative-caret-position="484">
<caret line="130" column="50" selection-start-line="130" selection-start-column="50" selection-end-line="130" selection-end-column="50" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/index.wxml">
<entry file="file://$PROJECT_DIR$/app.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="66">
<caret line="3" column="45" selection-start-line="3" selection-start-column="34" selection-end-line="3" selection-end-column="45" />
<state relative-caret-position="88">
<caret line="4" column="54" selection-start-line="4" selection-start-column="54" selection-end-line="4" selection-end-column="54" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/start/start.js">
<entry file="file://$PROJECT_DIR$/app.wxss">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1116">
<caret line="53" column="31" selection-start-line="53" selection-start-column="31" selection-end-line="53" selection-end-column="31" />
<state relative-caret-position="377">
<caret line="39" column="19" selection-start-line="39" selection-start-column="19" selection-end-line="39" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.js">
<entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1496">
<caret line="68" column="61" selection-start-line="68" selection-start-column="61" selection-end-line="68" selection-end-column="61" />
<state relative-caret-position="286">
<caret line="13" column="19" selection-start-line="13" selection-start-column="19" selection-end-line="13" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.js">
<entry file="file://$PROJECT_DIR$/pages/clock/clock.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="836">
<caret line="38" column="47" selection-start-line="38" selection-start-column="47" selection-end-line="38" selection-end-column="47" />
<state relative-caret-position="66">
<caret line="3" column="76" lean-forward="true" selection-start-line="3" selection-start-column="76" selection-end-line="3" selection-end-column="76" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/index.js">
<entry file="file://$PROJECT_DIR$/templates/templates.wxss">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2662">
<caret line="122" column="24" selection-start-line="122" selection-start-column="13" selection-end-line="122" selection-end-column="24" />
<folding>
<element signature="n#!!doc" expanded="true" />
</folding>
<state relative-caret-position="775">
<caret line="180" column="29" selection-start-line="180" selection-start-column="29" selection-end-line="180" selection-end-column="29" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/clock/clock.js">
<entry file="file://$PROJECT_DIR$/templates/templates.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="4290">
<caret line="195" column="24" selection-start-line="195" selection-start-column="24" selection-end-line="195" selection-end-column="24" />
<state relative-caret-position="665">
<caret line="79" column="19" lean-forward="true" selection-start-line="79" selection-start-column="19" selection-end-line="79" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/buyCard/buyCard.js">
<entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxss">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1870">
<caret line="118" selection-start-line="118" selection-end-line="136" selection-end-column="6" />
<folding>
<element signature="e#1497#2725#0" />
</folding>
<state relative-caret-position="110">
<caret line="5" column="15" selection-start-line="5" selection-start-column="15" selection-end-line="5" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/clock/clock.wxml">
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="66">
<caret line="3" column="43" selection-start-line="3" selection-start-column="43" selection-end-line="3" selection-end-column="43" />
<state relative-caret-position="337">
<caret line="43" column="66" selection-start-line="43" selection-start-column="52" selection-end-line="43" selection-end-column="66" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/my.js">
<entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1738">
<caret line="79" selection-start-line="79" selection-end-line="89" selection-end-column="6" />
<state relative-caret-position="264">
<caret line="138" selection-start-line="138" selection-end-line="152" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/my.wxml">
<entry file="file://$PROJECT_DIR$/pages/index/index.wxss">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="66">
<caret line="3" column="76" selection-start-line="3" selection-start-column="76" selection-end-line="3" selection-end-column="76" />
<state relative-caret-position="516">
<caret line="103" column="21" selection-start-line="103" selection-start-column="21" selection-end-line="103" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.wxml">
<entry file="file://$PROJECT_DIR$/pages/index/index.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="396">
<caret line="18" column="19" lean-forward="true" selection-end-line="50" selection-end-column="7" />
<state relative-caret-position="-831">
<caret line="13" column="88" lean-forward="true" selection-start-line="13" selection-start-column="88" selection-end-line="13" selection-end-column="88" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.json">
<entry file="file://$PROJECT_DIR$/pages/clock/clock.js">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret selection-end-line="2" selection-end-column="1" />
<state relative-caret-position="396">
<caret line="65" column="12" lean-forward="true" selection-start-line="65" selection-start-column="12" selection-end-line="65" selection-end-column="48" />
<folding>
<element signature="e#152#1609#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/edit-student/edit-student.json">
<entry file="file://$PROJECT_DIR$/pages/my/my.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="22">
<caret line="1" column="31" selection-start-line="1" selection-start-column="31" selection-end-line="1" selection-end-column="31" />
<state relative-caret-position="704">
<caret line="50" column="51" selection-start-line="50" selection-start-column="51" selection-end-line="50" selection-end-column="51" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/edit-student/edit-student.wxss">
<entry file="file://$PROJECT_DIR$/pages/my/my.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="22">
<caret line="1" column="76" selection-start-line="1" selection-start-column="76" selection-end-line="1" selection-end-column="76" />
<state relative-caret-position="500">
<caret line="39" selection-start-line="39" selection-end-line="40" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/edit-student/edit-student.js">
<entry file="file://$PROJECT_DIR$/pages/my/order-detail/order-detail.wxss">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="154">
<caret line="90" column="28" lean-forward="true" selection-start-line="90" selection-start-column="28" selection-end-line="90" selection-end-column="28" />
<state relative-caret-position="302">
<caret line="67" column="15" lean-forward="true" selection-start-line="67" selection-start-column="15" selection-end-line="67" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/edit-student/edit-student.wxml">
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.wxss">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-30">
<caret line="15" column="69" selection-start-line="15" selection-start-column="69" selection-end-line="15" selection-end-column="69" />
<state relative-caret-position="500">
<caret line="154" column="21" selection-start-line="154" selection-start-column="21" selection-end-line="154" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/charge/charge.wxml">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/add-student/add-student.js">
<entry file="file://$PROJECT_DIR$/pages/index/go-appointment/go-appointment.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="654">
<caret line="99" column="61" lean-forward="true" selection-start-line="99" selection-start-column="61" selection-end-line="99" selection-end-column="61" />
<state relative-caret-position="110">
<caret line="5" column="51" selection-start-line="5" selection-start-column="51" selection-end-line="5" selection-end-column="51" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.json">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.wxml">
<entry file="file://$PROJECT_DIR$/pages/index/go-appointment/go-appointment.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="10" column="34" selection-start-line="10" selection-start-column="14" selection-end-line="10" selection-end-column="34" />
<state relative-caret-position="540">
<caret line="220" column="14" lean-forward="true" selection-start-line="220" selection-start-column="14" selection-end-line="220" selection-end-column="14" />
<folding>
<element signature="e#402#613#0" />
<element signature="e#621#832#0" />
<element signature="e#840#1052#0" />
<element signature="e#1060#1273#0" />
<element signature="e#1292#2413#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/phone-code/phone-code.wxml">
<entry file="file://$PROJECT_DIR$/pages/index/confirm-appointment-info/confirm-appointment-info.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="330">
<caret line="15" column="25" lean-forward="true" selection-start-line="15" selection-start-column="25" selection-end-line="15" selection-end-column="25" />
<state relative-caret-position="-3101">
<caret line="78" column="44" selection-start-line="78" selection-start-column="44" selection-end-line="78" selection-end-column="44" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/myProfile/myProfile.js">
<entry file="file://$PROJECT_DIR$/pages/my/order-detail/order-detail.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308">
<caret line="14" column="34" selection-start-line="14" selection-start-column="18" selection-end-line="14" selection-end-column="34" />
<state relative-caret-position="1056">
<caret line="183" column="20" lean-forward="true" selection-start-line="183" selection-start-column="20" selection-end-line="183" selection-end-column="20" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app.js">
<entry file="file://$PROJECT_DIR$/pages/my/order-detail/order-detail.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="256">
<caret line="127" column="11" selection-start-line="127" selection-start-column="4" selection-end-line="127" selection-end-column="11" />
<state relative-caret-position="1518">
<caret line="69" column="58" selection-start-line="69" selection-start-column="58" selection-end-line="69" selection-end-column="58" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/index/phone-code/phone-code.js">
<entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="369">
<caret line="65" selection-start-line="65" selection-end-line="104" selection-end-column="6" />
<folding>
<element signature="e#1785#3272#0" />
</folding>
<state relative-caret-position="88">
<caret line="4" column="64" selection-start-line="4" selection-start-column="55" selection-end-line="4" selection-end-column="64" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.json">
<provider selected="true" editor-type-id="text-editor" />
<entry file="file://$PROJECT_DIR$/pages/my/all-appointment/all-appointment.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="518">
<caret line="28" column="41" lean-forward="true" selection-start-line="28" selection-start-column="41" selection-end-line="28" selection-end-column="41" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.wxml">
<entry file="file://$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.wxml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="638">
<caret line="29" column="23" selection-start-line="29" selection-start-column="15" selection-end-line="29" selection-end-column="23" />
<state relative-caret-position="220">
<caret line="10" column="54" selection-start-line="10" selection-start-column="47" selection-end-line="10" selection-end-column="54" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pages/my/chargePhoneNum/chargePhoneNum.js">
<entry file="file://$PROJECT_DIR$/pages/my/serviceWeChat/serviceWeChat.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="726">
<caret line="120" column="37" selection-start-line="120" selection-start-column="37" selection-end-line="120" selection-end-column="37" />
<state relative-caret-position="418">
<caret line="19" column="13" selection-start-line="19" selection-start-column="13" selection-end-line="19" selection-end-column="13" />
</state>
</provider>
</entry>
... ...
... ... @@ -67,20 +67,23 @@ App({
success: function (res) {//返回取得的数据
if (res.data.code == '20000') {
resolve(res.data.data);
}else if(res.data.code == '30000') {
resolve(res.data);
} else if (res.data.code == '40001') {//返回错误提示信息
wx.showModal({
title: '提示',
content: '登录已过期请重新登录!',
content: res.data.msg,
showCancel: false,
success: function (res) {
if (res.confirm) {
wx.removeStorageSync('token');
wx.navigateTo({
url: '/pages/start/start',
})
// wx.removeStorageSync('token');
// wx.navigateTo({
// url: '/pages/start/start',
// })
}
}
})
});
resolve(res.data.msg);
} else if (res.data.code == '40000') {
wx.showModal({
title: '提示',
... ...
... ... @@ -2,9 +2,9 @@
"pages": [
"pages/start/start",
"pages/index/index",
"pages/index/confirm-appointment-info/confirm-appointment-info",
"pages/my/order-detail/order-detail",
"pages/my/buyCard/buyCard",
"pages/index/confirm-appointment-info/confirm-appointment-info",
"pages/index/confirm-appointment-info/add-student/add-student",
"pages/index/phone-code/phone-code",
"pages/index/activity-detail/activity-detail",
... ...
... ... @@ -37,7 +37,7 @@
.icon-fenxiang:before { content: "\e696"; }
.icon-shangwutubiao-:before { content: "\e644"; }
.icon-shangwutubiao:before { content: "\e644"; }
.icon-xuanzhong:before { content: "\e604"; }
... ...
... ... @@ -61,6 +61,12 @@ Page({
punchState: true,
test: {name: ''},
is_bingding: false,
state_data: {
is_showSuccessModal: false,
icon: '../../../images/success.png',
title:'恭喜您',
content: '打卡成功!'
},
},
//首次登录小程序,跳转到认证手机页面
goPhoneCode() {
... ... @@ -72,11 +78,11 @@ Page({
let header = {
"XX-token": wx.getStorageSync('token')
};
app.post(url, {},header).then((res) => {
app.post(url, {}, header).then((res) => {
console.log(res);
if(res.is_binding) {
if (res.is_binding) {
this.setData({is_bingding: true})
}else {
} else {
this.setData({is_bingding: false})
}
})
... ... @@ -89,25 +95,38 @@ Page({
},
//打卡
punch() {
let url = '/portal/Experiment/user_sign';
let header = {
"XX-token": wx.getStorageSync('token')
};
let params = {
lab_id: this.data.test.id,//实验室id
lat: this.data.latitude,
lng: this.data.longitude,
};
app.post(url, params, header).then((res) => {
console.log('打卡结果',res);
if(res.is_success) {
this.setData({
punchState: false,
})
}
})
if (this.data.test.name !== '') {
let url = '/portal/Experiment/user_sign';
let header = {
"XX-token": wx.getStorageSync('token')
};
let params = {
lab_id: this.data.test.id,//实验室id
lat: this.data.latitude,
lng: this.data.longitude,
};
app.post(url, params, header).then((res) => {
console.log('打卡结果', res);
if (res.is_success) {
this.setData({
punchState: false,
'state_data.is_showSuccessModal': true,
})
}
})
} else {
wx.showToast({
title: '未获取当前位置,无法打卡!',
icon: 'none',
duration: 2000
})
}
},
//关闭打卡成功弹框
modalConfirm() {
this.setData({'state_data.is_showSuccessModal': false})
},
// 打卡页面获取用户所在实验室
postPosition(params) {
let url = '/portal/Experiment/user_session';
... ... @@ -115,7 +134,7 @@ Page({
"XX-token": wx.getStorageSync('token')
};
app.post(url, params, header).then((res) => {
console.log('获取用户所在实验室',res);
console.log('获取用户所在实验室', res);
this.setData({
test: res
})
... ...
... ... @@ -13,4 +13,6 @@
<view class='punch_info' wx:if="{{test.name==''}}">当前:未获取</view>
<view class='punch_info' wx:else>当前:{{test.name}}</view>
<view class='punch_btn' bindtap='punchApply'>打卡申诉</view>
</view>
\ No newline at end of file
</view>
<import src="/templates/templates.wxml" />
<template is="state-modal" data="{{...state_data}}"></template>
\ No newline at end of file
... ...
/* pages/clock/clock.wxss */
@import "../../templates/templates.wxss";
.content_box {
width: 100%;
... ...
... ... @@ -25,6 +25,7 @@ Page({
data: {
name: '',
sex: ['男','女'],
sex_index: 0,
default_sex: {id: 1,name: '男'},
city: ['北京市', '天津市', '河北省'],
default_birth: '2008-11-11',
... ... @@ -86,7 +87,7 @@ Page({
};
let params = {
name: this.data.name,
sex: this.data.default_sex || this.data.sex[this.data.sex_index] === '男'? 1: 2,
sex: this.data.sex[this.data.sex_index] === '男'? 1: 2 || this.data.default_sex.id,
birthday: this.data.birth_date || this.data.default_birth,
city: this.data.city[this.data.city_index] || this.data.default_city,
};
... ...
... ... @@ -10,9 +10,15 @@ Page({
modal_data: {
is_showModal: false,
currentBtn: null,
title: '当前学员还没有购买/兑换畅玩卡,暂不能预约实验活动,是否马上购买/兑换?',
tab_left: '否',
tab_right: '是',
},
state_data: {
is_showSuccessModal: false,
icon: '../../../images/success.png',
title:'恭喜您!',
content: '您已经预约成功!'
},
student_list: [{id:1,name:'张三',checked: false},
{id:2,name:'李思思', checked: false},
... ... @@ -22,7 +28,8 @@ Page({
is_choose: false,
num_arr: [],
session_info: {},
student_num: 5,
student_num: 0,
is_choose_student: false,
},
chooseChildren(e) {
console.log(e.detail);
... ... @@ -57,7 +64,7 @@ Page({
console.log('skin',index_arr);
const id_arr = [];
id_arr.push(new_itmes[key1].id,new_itmes[key2].id);
that.setData({student_id: id_arr.join(',')})
that.setData({student_id: id_arr.join(','),is_choose_student:true});
console.log('student_id', that.data.student_id);
} else {
//被选中少于两个,直接设置被选中
... ... @@ -66,7 +73,7 @@ Page({
console.log('key', key);
new_itmes[key]['checked'] = true
}
that.setData({student_id: new_itmes[key].id})
that.setData({student_id: new_itmes[key].id,is_choose_student:true});
console.log('student_id', that.data.student_id);
}
}else if(that.data.student_num <2){//一个学员预约时
... ... @@ -86,7 +93,7 @@ Page({
//删除被选中的第一个值
index_arr.splice(0, 1);
console.log('skin',index_arr);
that.setData({student_id: new_itmes[key1].id})
that.setData({student_id: new_itmes[key1].id,is_choose_student:true});
console.log('student_id', that.data.student_id);
} else {
//被选中少于1个,直接设置被选中
... ... @@ -95,7 +102,7 @@ Page({
console.log('key', key);
new_itmes[key]['checked'] = true
}
that.setData({student_id: new_itmes[key].id})
that.setData({student_id: new_itmes[key].id,is_choose_student:true});
console.log('student_id', that.data.student_id);
}
}
... ... @@ -110,27 +117,33 @@ Page({
},
formSubmit(e) {
console.log(e.detail);
this.setData({'modal_data.is_showModal': true})
// if(this.data.student_list.length === 0) {
// wx.showToast({title: '请添加学员!',icon:'none'})
// }else {
// // this.setData({'modal_data.is_showModal': true})
// let url = '/portal/Experiment/confirm_session_submit';
// let header = {
// "XX-token": wx.getStorageSync('token')
// };
// let params = {
// _type: 2,
// formId: e.detail.formId,
// experiment_id: this.data.experiment_id,
// session_id: this.data.session_id,
// reservation_id: this.data.reservation_id,
// students: this.data.student_id,
// };
// app.post(url,params,header).then((res) => {
// console.log('提交预约信息',res);
// })
// }
if(this.data.student_list.length === 0) {
wx.showToast({title: '请添加学员!',icon:'none'})
}else if(!this.data.is_choose_student) {
wx.showToast({title: '请选择学员!',icon:'none'})
}else {
// this.setData({'modal_data.is_showModal': true})
let url = '/portal/Experiment/confirm_session_submit';
let header = {
"XX-token": wx.getStorageSync('token')
};
let params = {
_type: 2,//2,活动预约成功
formId: e.detail.formId,
experiment_id: this.data.experiment_id,
session_id: this.data.session_id,
reservation_id: this.data.reservation_id,
students: this.data.student_id,
};
app.post(url,params,header).then((res) => {
console.log('提交预约信息',res);
if(res.data.card_modal === 1) {
this.setData({'modal_data.is_showModal': true});
}else if(res.data.reservation_modal === 1) {
this.setData({'state_data.is_showSuccessModal': true});
}
})
}
},
chooseNo(e) {
this.setData({
... ... @@ -144,12 +157,12 @@ Page({
this.setData({
'modal_data.currentBtn': e.currentTarget.dataset.index,
'modal_data.is_showModal': false,
'state_data.is_showSuccessModal': true
});
wx.navigateTo({url: '/pages/my/buyCard/buyCard'})
wx.navigateTo({url: '/pages/my/buyCard/buyCard?is_back=' + true})
},
modalConfirm() {
this.setData({'state_data.is_showSuccessModal': false})
this.setData({'state_data.is_showSuccessModal': false});
wx.navigateTo({url: '/pages/my/all-appointment/all-appointment?currentTab=' + 2})
},
disableScroll() {},
addStudent() {
... ... @@ -188,19 +201,30 @@ Page({
})
},
//获取学员列表
// getStudentList() {
// let url = '/user/Student/student_list';
// let header = {
// "XX-token": wx.getStorageSync('token')
// };
// let params = {
// page: 1,
// };
// app.post(url,params,header).then((res) => {
// console.log('学员列表',res);
// this.setData({student_list: res.list})
// })
// },
getStudentList() {
const self = this;
self.setData({is_choose_student: true})
console.log('返回时的学生列表', self.data.student_list);
let url = '/user/Student/student_list';
let header = {
"XX-token": wx.getStorageSync('token')
};
let params = {
page: 1,
};
app.post(url,params,header).then((res) => {
console.log('学员列表',res);
res.list.forEach((item) => {
if(item.time !== '') {
// self.data.student_list.forEach((item) => {
// new_arr.push({ ...item, checked: false })
// });//给每一项添加checked属性
}
})
// this.setData({student_list: res.list})
})
},
/**
* 生命周期函数--监听页面加载
*/
... ... @@ -212,8 +236,9 @@ Page({
experiment_id: +options.experiment_id?+options.experiment_id:'',
session_id: +options.session_id?+options.session_id:'',
reservation_id: +options.reservation_id?+options.reservation_id:'',
// student_num: +options.student_num?+options.student_num:'',
student_num: +options.student_num?+options.student_num:'',
});
// self.getAppointmentInfo();
},
/**
... ... @@ -229,9 +254,9 @@ Page({
onShow: function() {
console.log('show');
const self = this;
// self.getStudentList();
self.getStudentList();
self.setData({is_choose_student: false});
self.getAppointmentInfo();
setTimeout(function() {
self.setData({
show: true
... ...
... ... @@ -26,7 +26,7 @@
<view class="phone-num">
<view class="line"></view>
<text>预约电话 :</text>
<text class="phone">188****8888</text>
<text class="phone">{{session_info.mobile}}</text>
</view>
<view class="children-name">
<view class="left-name">
... ... @@ -50,9 +50,9 @@
</view>
<view class="footer">
<view class="confirm_btn" form-type="submit" bindtap="formSubmit">
<button class="confirm_btn" form-type="submit">
<text>确认预约</text>
</view>
</button>
</view>
</form>
<import src="/templates/templates.wxml" />
... ...
... ... @@ -152,6 +152,10 @@ checkbox .wx-checkbox-input.wx-checkbox-input-checked::before{
height: 98rpx;
background-color: #3FA9F5;
text-align: center;
border-radius: 0;
}
.confirm_btn::after {
border: 0;
}
.confirm_btn text {
color: #ffffff;
... ...
... ... @@ -12,7 +12,8 @@ Page({
currentCity: '北京市',
current_test_id: '',
is_change: false,
is_choose: false,
is_choose_session: false,
is_choose_test: false,
description: '',
session_list: {},
show_submit_btn: false,
... ... @@ -127,7 +128,7 @@ Page({
this.setData({
currentTest: current,
current_test_id: current_id,
is_choose: false,//恢复默认值
is_choose_test: true,
// current_session_id: this.data.areaTest[current].lab_list ? this.data.areaTest[current].lab_list[0].session_list[0].id : '',
// description: this.data.areaTest[current].lab_list[current].description
});
... ... @@ -158,7 +159,7 @@ Page({
this.setData({
currentTime: current,
current_session_id: current_id,
is_choose: true,
is_choose_session: true,
})
}else {
wx.showToast({title:'该场次名额不足!',icon:'none'})
... ... @@ -167,7 +168,7 @@ Page({
//点击单人预约
singleAppointment() {
if(!this.data.is_choose) {
if(!this.data.is_choose_session || !this.data.is_choose_test) {
wx.showToast({title: '请选择实验和场次!',icon: 'none'})
}else {
this.setData({
... ... @@ -182,7 +183,7 @@ Page({
//点击双人预约
doubleAppointment() {
if(!this.data.is_choose) {
if(!this.data.is_choose_session || !this.data.is_choose_test) {
wx.showToast({title: '请选择实验和场次!',icon: 'none'})
}else {
this.setData({
... ... @@ -196,7 +197,7 @@ Page({
},
//提交
submit() {
if(this.data.is_choose) {
if(this.data.is_choose_session && this.data.is_choose_test) {
let url = '/portal/Experiment/submit_session';
let header = {
"XX-token": wx.getStorageSync('token')
... ... @@ -216,11 +217,11 @@ Page({
url: '/pages/index/confirm-appointment-info/confirm-appointment-info?experiment_id=' + this.data.experiment_id
+ '&session_id=' + this.data.current_session_id
+ '&reservation_id=' + res.reservation_id
+ '&student_num' + this.data.student_num
+ '&student_num=' + this.data.student_num
})
});
}else {
wx.showToast({title: '请选择场次!',icon: 'none'})
wx.showToast({title: '请选择实验和场次!',icon: 'none'})
}
},
//获取城市列表
... ...
... ... @@ -118,9 +118,9 @@ Page({
const self = this;
console.log(options);
self.setData({is_bingding: +options.is_bingding?+options.is_bingding:''});
self.checkMobile();
self.getTheWeekTest();
self.getPastWeekTest();
self.checkMobile();
//获取当前城市
wx.getLocation({
type: 'wgs84',
... ...
... ... @@ -28,6 +28,7 @@
<view class="btn-box" bindtap="goBuyCard">
<view class="buy-btn">
<text>点击图片可跳转到购买页</text>
<image src="../../images/taimiao@2x.png" mode="aspectFill"></image>
</view>
</view>
... ...
... ... @@ -81,21 +81,32 @@ swiper {
.buy-btn {
width: 100%;
height: 150rpx;
position: relative;
/*padding: 22rpx 20rpx;*/
/*margin-top: 22rpx;*/
/*margin-bottom: 22rpx;*/
/*margin-left: 20rpx;*/
/*margin-right: 20rpx;*/
box-sizing: border-box;
background: #5AB7F9;
border-radius: 20rpx;
/*box-sizing: border-box;*/
/*background: #5AB7F9;*/
/*border-radius: 20rpx;*/
display: flex;
align-items: center;
justify-content: center;
/*background-image: url('../../images/taimiao@2x.png');*/
/*background-repeat: no-repeat;*/
/*-webkit-background-size: cover;*/
/*background-size: cover;*/
}
.buy-btn text {
color: #ffffff;
font-size: 24rpx;
position: absolute;
}
.buy-btn image {
width: 100%;
height: 100%;
border-radius: 20rpx;
}
.experiment_box:nth-child(2) {
margin-bottom: 0;
... ...
... ... @@ -74,7 +74,7 @@ Page({
}else {
let url = '/user/Profile/bindingMobile';
let params = {
_type: 1,
_type: 1,//1,手机号绑定成功
formId: e.detail.formId,
mobile: e.detail.value.phone_number,
verification_code: e.detail.value.verification_code,
... ...
... ... @@ -39,8 +39,32 @@ Page({
self.setData({orderList: res.list})
})
},
goDetail() {
wx.navigateTo({url: '../order-detail/order-detail?currentTab=' + this.data.currentTab})
//查看预约详情
goDetail(e) {
const current = e.currentTarget.dataset.index;
wx.navigateTo({url: '../order-detail/order-detail?currentTab=' + this.data.currentTab
+ '&reservation_id=' + this.data.orderList[current].id
})
},
//取消
clickCancel(e) {
console.log('取消',e);
const current = e.currentTarget.dataset.index;
wx.navigateTo({url: '../order-detail/order-detail?currentTab=' + this.data.currentTab
+ '&reservation_id=' + this.data.orderList[current].id
})
// let url = '/user/Reservation/reservation_cancel';
// let header = {
// "XX-token": wx.getStorageSync('token')
// };
// let params = {
// reservation_id: this.data.orderList[e.detail.target.dataset.index].id,
// formId: e.detail.formId,
// };
// app.post(url, params,header).then((res) => {
// console.log('取消',res);
// // this.setData({orderList: res.list})
// })
},
/**
* 生命周期函数--监听页面加载
... ...
<!--pages/my/all-appointment/all-appointment.wxml-->
<view class="content">
<!--tab-->
<view class="tab-box">
<view wx:for="{{tab}}" wx:key="index" bindtap="changeTab" data-index="{{index}}" class="{{currentTab == index?'change-color':''}}">{{item}}</view>
</view>
<!--预约列表-->
<view class="list-box">
<view class="order-box" bindtap="goDetail" wx:for="{{orderList}}" wx:key="index">
<view class="head">
<text class="number">预约单号:{{item.reservation_sn}}</text>
<text class="appointment-state" wx:if="{{currentTab === 1}}" style="color: #FC5B63;">待确认</text>
<text class="appointment-state" wx:if="{{currentTab === 2}}">已预约</text>
<text class="appointment-state" wx:if="{{currentTab === 3}}" style="color: #464646;">已取消</text>
<text class="appointment-state" wx:if="{{currentTab === 4}}" style="color: #C3C3C3;">已结束</text>
</view>
<view class="section">
<image src="../../../images/red_line.png" wx:if="{{currentTab === 1}}" class="blue-line"></image>
<image src="../../../images/blue_line.png" wx:if="{{currentTab === 2}}" class="blue-line"></image>
<image src="../../../images/deep_grey_line.png" wx:if="{{currentTab === 3}}" class="blue-line"></image>
<image src="../../../images/grey_line.png" wx:if="{{currentTab === 4}}" class="blue-line"></image>
<view class="right-box">
<view class="right-top-box">
<view class="iconfont icon-dingwei"></view>
<view class="address">{{item.address}}</view>
</view>
<view class="right-bottom-box">
<view class="iconfont icon-shangwutubiao"></view>
<view class="date-box">
<view class="date">预约日期:{{item.time}}</view>
<view class="not_confirm" wx:if="{{currentTab === 1}}">
<view class="go-cancel">取消</view>
<view class="go-confirm">去确认</view>
</view>
<view class="cancel" wx:if="{{currentTab === 2}}">取消</view>
<view class="iconfont icon-quxiao" wx:if="{{currentTab === 3}}"></view>
<view class="iconfont icon-jieshu" wx:if="{{currentTab === 4}}"></view>
</view>
</view>
<view class="content {{orderList.length === 0?'change-content':''}}">
<!--tab-->
<view class="tab-box">
<view wx:for="{{tab}}" wx:key="index" bindtap="changeTab" data-index="{{index}}"
class="{{currentTab == index?'change-color':''}}">{{item}}
</view>
</view>
</view>
<!--暂无订单-->
<view class="no-data-box" wx:if="{{orderList.length === 0}}">
<text>暂无订单</text>
</view>
<!--预约列表-->
<view class="list-box">
<view class="order-box" bindtap="goDetail" wx:for="{{orderList}}" wx:key="index" data-index="{{index}}">
<view class="head">
<text class="number">预约单号:{{item.reservation_sn}}</text>
<text class="appointment-state" wx:if="{{item.status === 1}}" style="color: #FC5B63;">待确认</text>
<text class="appointment-state" wx:if="{{item.status === 2}}">已预约</text>
<text class="appointment-state" wx:if="{{item.status === 3}}" style="color: #464646;">已取消</text>
<text class="appointment-state" wx:if="{{item.status === 4}}" style="color: #C3C3C3;">已结束</text>
</view>
<view class="section">
<image src="../../../images/red_line.png" wx:if="{{item.status === 1}}" class="blue-line"></image>
<image src="../../../images/blue_line.png" wx:if="{{item.status === 2}}" class="blue-line"></image>
<image src="../../../images/deep_grey_line.png" wx:if="{{item.status === 3}}"
class="blue-line"></image>
<image src="../../../images/grey_line.png" wx:if="{{item.status === 4}}" class="blue-line"></image>
<view class="right-box">
<view class="right-top-box">
<view class="iconfont icon-dingwei"></view>
<view class="address">{{item.address}}</view>
</view>
<view class="right-bottom-box">
<view class="iconfont icon-shangwutubiao"></view>
<view class="date-box">
<view class="date">预约日期:{{item.time}}</view>
<!--<form bindsubmit="clickCancel" bindreset="formReset" report-submit="true">-->
<view class="not_confirm" wx:if="{{item.status === 1}}">
<view class="go-cancel" data-index="{{index}}" bindtap="clickCancel">取消</view>
<view class="go-confirm" data-index="{{index}}" bindtap="clickConfirm">去确认</view>
</view>
<!--</form>-->
<view class="cancel" wx:if="{{item.status === 2}}">取消</view>
<view class="iconfont icon-quxiao" wx:if="{{item.status === 3}}"></view>
<view class="iconfont icon-jieshu" wx:if="{{item.status === 4}}"></view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
\ No newline at end of file
... ...
/* pages/my/all-appointment/all-appointment.wxss */
page {
background-color: #f2f2f2;
height: 100%;
}
.change-content {
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
}
.tab-box {
width: 100%;
... ... @@ -21,6 +29,15 @@ page {
line-height: 80rpx;
position: relative;
}
.no-data-box {
display: flex;
align-items: center;
justify-content: center;
}
.no-data-box text {
font-size: 36rpx;
color: #cccccc;
}
.change-color {
color: #3FA9F5;
border-bottom: 4rpx solid #3FA9F5;
... ... @@ -64,12 +81,13 @@ page {
}
.blue-line {
width: 12rpx;
height: 147rpx;
height: 107rpx;
position: absolute;
top: 0;
left: 0;
}
.right-box {
width: 100%;
margin-left: 20rpx;
padding-top: 16rpx;
}
... ... @@ -112,7 +130,7 @@ page {
/*width: 130rpx;*/
/*height: 50rpx;*/
/*line-height: 50rpx;*/
padding: 0rpx 44rpx;
padding: 0rpx 32rpx;
border-radius: 20rpx;
background-color: #3FA9F5;
color: #ffffff;
... ... @@ -124,7 +142,7 @@ page {
font-size: 126rpx;
position: absolute;
right: -34rpx;
bottom: -57rpx;
bottom: -52rpx;
}
.not_confirm {
width: 130rpx;
... ...
... ... @@ -36,7 +36,7 @@ Page({
})
},
//确认支付
confirmPay() {
confirmPay(e) {
if(this.data.index !== -1) {
if(this.data.is_agree) {
let url = '/portal/Order/order_add';
... ... @@ -44,6 +44,8 @@ Page({
"XX-token": wx.getStorageSync('token')
};
let params = {
_type: 4,//4:成功购买畅玩卡
formId: e.detail.formId,
id: this.data.student_list[this.data.index].id
};
app.post(url, params,header).then((res) => {
... ... @@ -74,7 +76,7 @@ Page({
icon: 'success',
success: function () {
setTimeout(function () {
if(self.data.is_back) {//如果从首页购买的,成功后返回首
if(self.data.is_back) {//如果从首页或预约时购买的,成功后返回上一
wx.navigateBack({delta: 1})
}else {//否则进入预约订单详情页
wx.redirectTo({
... ... @@ -99,7 +101,7 @@ Page({
if (pages.length > 1) {
var beforePage = pages[pages.length - 2]//获取上一页面实例
if (this.data.pay_success) {
beforePage.refreshModal()
beforePage.refreshStudent()
}
}
},
... ...
<!--pages/buyCard/buyCard.wxml-->
<view class='long_img'>
<view class="title">{{card_info.title}}</view>
<!--<view class="bg"></view>-->
<view class="image">
<image src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1544071979008&di=b42f6a2bbd46902841d0c060ac144d15&imgtype=jpg&src=http%3A%2F%2Fimg1.imgtn.bdimg.com%2Fit%2Fu%3D3708452181%2C3226163538%26fm%3D214%26gp%3D0.jpg" mode="aspectFill"></image>
</view>
</view>
<view class='service_box'>
<view class='add_person_box'>
<view class='list_input'>
<view>绑定学员:</view>
<view class="tips" wx:if="{{student_list.length === 0}}">点击右侧添加学员</view>
<picker value='{{index}}' range='{{picker_list}}' bindchange="changeStudent" wx:else>
<block wx:if='{{index==-1}}'>
<input placeholder='点击右侧添加学员' placeholder-class='input_style' disabled='true'/>
</block>
<block wx:else class="text">
<text>{{picker_list[index]}}</text>
</block>
</picker>
<view class='iconfont icon-daosanjiao'></view>
<view class="title">{{card_info.title}}</view>
<!--<view class="bg"></view>-->
<view class="image">
<image src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1544071979008&di=b42f6a2bbd46902841d0c060ac144d15&imgtype=jpg&src=http%3A%2F%2Fimg1.imgtn.bdimg.com%2Fit%2Fu%3D3708452181%2C3226163538%26fm%3D214%26gp%3D0.jpg"
mode="aspectFill"></image>
</view>
<view class='add_box' bindtap='addUser'>
<text class='iconfont icon-jia'></text>
<text>添加学员</text>
</view>
<form bindsubmit="confirmPay" bindreset="formReset" report-submit="true">
<view class='service_box'>
<view class='add_person_box'>
<view class='list_input'>
<view>绑定学员:</view>
<view class="tips" wx:if="{{student_list.length === 0}}">点击右侧添加学员</view>
<picker value='{{index}}' range='{{picker_list}}' bindchange="changeStudent" wx:else>
<block wx:if='{{index==-1}}'>
<input placeholder='点击右侧添加学员' placeholder-class='input_style' disabled='true'/>
</block>
<block wx:else class="text">
<text>{{picker_list[index]}}</text>
</block>
</picker>
<view class='iconfont icon-daosanjiao'></view>
</view>
<view class='add_box' bindtap='addUser'>
<text class='iconfont icon-jia'></text>
<text>添加学员</text>
</view>
</view>
<view class='service_info_box' bindtap="agree">
<text class='iconfont icon-xuanze1' wx:if="{{!is_agree}}"></text>
<text class='iconfont icon-xuanzhong' wx:if="{{is_agree}}"></text>
<text>我已阅读并同意畅玩卡</text>
<text class='service_info' catchtap='serviceProtocol'>服务协议</text>
</view>
<view class='service_btn_box'>
<view>需支付:¥{{card_info.price}}</view>
<button class='pay_btn' form-type="submit">确定</button>
</view>
</view>
</view>
<view class='service_info_box' bindtap="agree">
<text class='iconfont icon-xuanze1' wx:if="{{!is_agree}}"></text>
<text class='iconfont icon-xuanzhong' wx:if="{{is_agree}}"></text>
<text>我已阅读并同意畅玩卡</text>
<text class='service_info' catchtap='serviceProtocol'>服务协议</text>
</view>
<view class='service_btn_box'>
<view>需支付:¥{{card_info.price}}</view>
<view class='pay_btn' bindtap='confirmPay'>确定</view>
</view>
</view>
\ No newline at end of file
</form>
\ No newline at end of file
... ...
... ... @@ -63,4 +63,12 @@
font-size: 30rpx;
color: #6E6E6E;
}
.pay_btn {
margin: 0;
padding: 0;
border-radius: 0;
}
.pay_btn::after {
border: 0;
}
... ...
// pages/charge/charge.js
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
userlist: ['张三', '里斯'],
index: -1,
},
//选择成员
userList(e) {
this.setData({
index: e.detail.value
})
},
//兑换并绑定按钮
chargeBtn() {
wx.showModal({
title: '',
content: '绑定后无法更改,确定绑定张三吗?',
cancelText: '取消',
confirmText: '确认',
})
},
//添加学员
addUser() {
wx.navigateTo({
url: '../../index/confirm-appointment-info/add-student/add-student',
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function() {
}
/**
* 页面的初始数据
*/
data: {
code:'',
index: 0,
picker_list: [],
modal_data: {
is_showModal: false,
currentBtn: null,
title: '',
tab_left: '取消',
tab_right: '确认',
},
is_confirm: false,
},
//输入兑换码
codeInput(e) {
this.setData({code: e.detail.value})
},
//选择成员
changePicker(e) {
this.setData({
index: e.detail.value
})
},
//兑换并绑定按钮
chargeBtn(e) {
// console.log('34',e.detail);
const self = this;
if(self.data.code === '') {
wx.showToast({title: '请输入兑换码!',icon: 'none'})
}else if(self.data.picker_list.length === 0) {
wx.showToast({title: '请添加学员!',icon: 'none'})
}else {
let url = '/user/Student/student_bind';
let header = {
"XX-token": wx.getStorageSync('token')
};
if(self.data.is_confirm) {
let params = {
id: self.data.student_list[self.data.index].id,
card: self.data.code,
formId: self.data.detail.formId,
};
app.post(url,params,header).then((res) => {
console.log('兑换并绑定',res);
this.setData({is_confirm: false});
if(res === '参数错误') {
}
// console.log('list', list);
// this.setData({picker_list: list})
})
}else {
self.setData({
detail: e.detail,
'modal_data.is_showModal': true,
'modal_data.title': '绑定后无法更改,确认绑定' + self.data.picker_list[self.data.index] + '吗?',
});
}
}
},
//添加学员
addUser() {
wx.navigateTo({
url: '../../index/confirm-appointment-info/add-student/add-student?is_back=' + true,
})
},
chooseNo(e) {
this.setData({
'modal_data.currentBtn': e.currentTarget.dataset.index,
'modal_data.is_showModal': false
});
// wx.switchTab({url: '/pages/index/index'})
// wx.navigateBack({delta: 1})
},
chooseYes(e) {
this.setData({
'modal_data.currentBtn': e.currentTarget.dataset.index,
'modal_data.is_showModal': false,
'state_data.is_showSuccessModal': true,
is_confirm: true,
});
if(this.data.is_confirm) {
this.chargeBtn();
}
},
modalConfirm() {
this.setData({'state_data.is_showSuccessModal': false})
},
disableScroll() {},
//获取学员列表
getStudentList() {
let url = '/user/Student/student_list';
let header = {
"XX-token": wx.getStorageSync('token')
};
let params = {
page: 1,
};
var list = [];
app.post(url,params,header).then((res) => {
console.log('学员列表',res);
res.list.forEach((item) => {
list.push(item.name)
});
console.log('list', list);
this.setData({picker_list: list,student_list: res.list})
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
const self = this;
self.getStudentList();
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
... ...
{}
\ No newline at end of file
{
"navigationBarTitleText": "兑换"
}
\ No newline at end of file
... ...
<!--pages/charge/charge.wxml-->
<view class='content_box'>
<view class='item_list_box'>
<view class='item_list'>
<view class='list_input'>
<view>兑换码:</view>
<input placeholder='请输入您的畅玩卡兑换码' placeholder-class='input_style'></input>
</view>
<view></view>
<form bindsubmit="chargeBtn" bindreset="formReset" report-submit="true">
<view class='content_box'>
<view class='item_list_box'>
<view class='item_list'>
<view class='list_input'>
<view>兑换码:</view>
<input placeholder='请输入您的畅玩卡兑换码' placeholder-class='input_style' bindinput="codeInput"
value="{{code}}"/>
</view>
<view></view>
</view>
<view class='item_list'>
<view class='list_input'>
<view>绑定学员:</view>
<picker value='{{index}}' range='{{picker_list}}' bindchange='changePicker'>
<block wx:if='{{picker_list.length === 0}}'>
<input placeholder='点击右侧添加学员' placeholder-class='input_style' disabled='true'/>
</block>
<block wx:else>
<text>{{picker_list[index]}}</text>
</block>
</picker>
<view class='iconfont icon-daosanjiao'></view>
</view>
<view class='add_box' bindtap='addUser'>
<text class='iconfont icon-jia'></text>
<text>添加学员</text>
</view>
</view>
</view>
</view>
<view class='item_list'>
<view class='list_input'>
<view>绑定学员:</view>
<picker value='{{index}}' range='{{userlist}}' bindchange='userList'>
<block wx:if='{{index==-1}}'>
<input placeholder='点击右侧添加学员' placeholder-class='input_style' disabled='true'></input>
</block>
<block wx:else>
<text>{{userlist[index]}}</text>
</block>
</picker>
<view class='iconfont icon-daosanjiao'></view>
</view>
<view class='add_box' bindtap='addUser'>
<text class='iconfont icon-jia'></text>
<text>添加学员</text>
</view>
<view class='service_box'>
<view class='service_info_box'>
<text>注:如果还未添加学员,点击添加学员添加吧!</text>
</view>
<button class='service_btn_box' form-type="submit">
兑换并绑定
</button>
</view>
</view>
</view>
<view class='service_box'>
<view class='service_info_box'>
<text>注:如果还未添加学员,点击添加学员添加吧!</text>
</view>
<view class='service_btn_box' bindtap='chargeBtn'>
兑换并绑定
</view>
</view>
\ No newline at end of file
</form>
<import src="/templates/templates.wxml"/>
<template is="modal" data="{{...modal_data}}"></template>
\ No newline at end of file
... ...
/* pages/charge/charge.wxss */
@import "../../../templates/templates.wxss";
.modalBackground {
}
.modal {
height: 224rpx;
position: absolute;
top: 280rpx;
left: 50%;
transform: translate(-50%,0);
}
page {
background: #f5f5fa;
... ... @@ -60,6 +71,7 @@ page {
padding: 5rpx;
box-sizing: border-box;
margin-right: 8rpx;
font-size: 24rpx;
}
.add_box {
... ... @@ -96,4 +108,8 @@ page {
display: flex;
align-items: center;
justify-content: center;
border-radius:0;
}
.service_btn_box::after {
border: 0;
}
\ No newline at end of file
... ...
// pages/chargePhoneNum/chargePhoneNum.js
const app = getApp();
var interval = null //倒计时函数
var interval1 = null //倒计时函数
Page({
/**
... ... @@ -8,17 +9,20 @@ Page({
*/
data: {
time: '获取验证码', //倒计时
time1: '获取验证码', //倒计时
currentTime: 61,
currentTime1: 61,
new_phone: '',
old_phone:'',
old_verification_code: '',
new_verification_code: '',
time_flag: '',
},
phoneInput(e) {
this.setData({new_phone: e.detail.value})
},
codeInput(e) {
if(this.data.new_phone === '') {
if(this.data.time_flag === '') {
this.setData({old_verification_code: e.detail.value})
}else {
this.setData({new_verification_code: e.detail.value})
... ... @@ -27,22 +31,42 @@ Page({
//获取验证码
getCode: function (options) {
var that = this;
var currentTime = that.data.currentTime;
interval = setInterval(function () {
currentTime--;
that.setData({
time: currentTime + '秒'
})
if (currentTime <= 0) {
clearInterval(interval);
if(that.data.time_flag === '') {
var currentTime = that.data.currentTime;
interval = setInterval(function () {
currentTime--;
that.setData({
time: '重新发送',
currentTime: 61,
disabled: false
time: currentTime + '秒'
})
}
}, 1000);
if(this.data.new_phone === '') {
if (currentTime <= 0) {
clearInterval(interval);
that.setData({
time: '重新发送',
currentTime: 61,
disabled: false
})
}
}, 1000);
console.log(that.data.disabled);
}else if(that.data.time_flag){
var currentTime1 = that.data.currentTime1;
interval1 = setInterval(function () {
currentTime1--;
that.setData({
time1: currentTime1 + '秒'
})
if (currentTime1 <= 0) {
clearInterval(interval1);
that.setData({
time1: '重新发送',
currentTime1: 61,
disabled1: false
})
}
}, 1000);
console.log(that.data.disabled1);
}
if(this.data.time_flag === '') {
let url = '/user/Profile/getOldCode';
let params = {
mobile: that.data.old_phone,
... ... @@ -52,21 +76,30 @@ Page({
};
app.post(url, params,header).then((res) => {
console.log('旧验证码',res);
that.setData({old_verification_code: res.code})
that.setData({old_verification_code: res.code,old_time: res.time})
// console.log(this.data.this_week_test_info);
})
}else {
let url = '/user/Profile/getNewCode';
let params = {
mobile: that.data.new_phone,
time: app.nowDate(),
time: that.data.time_flag,
};
let header = {
"XX-token": wx.getStorageSync('token')
};
app.post(url, params,header).then((res) => {
console.log('新验证码',res);
that.setData({new_verification_code: res.code})
if(res == '手机号已经存在!') {
clearInterval(interval1);
console.log('...',that.data.disabled1);
that.setData({
time1: '获取验证码',
disabled1:false,
})
}else {
that.setData({new_verification_code: res.code,new_time:res.time})
}
// console.log(this.data.this_week_test_info);
})
}
... ... @@ -74,51 +107,90 @@ Page({
//获取验证码
getVerificationCode() {
var that = this;
if(that.data.new_phone !== '' || that.data.old_phone) {
that.getCode();
that.setData({
disabled: true
})
if(that.data.time_flag === '') {
that.getCode();
that.setData({
disabled: true
})
}else {
that.setData({
disabled: false
});
wx.showToast({title: '请输入手机号!',icon: 'none'})
if(that.data.new_phone === '') {
wx.showToast({title: '请输入手机号!',icon: 'none'})
}else {
that.getCode();
that.setData({
disabled1: true
});
}
}
},
//下一步/保存
save_btn() {
//下一步
next() {
const self = this;
if(self.data.new_phone === '' || self.data.old_phone === '') {
console.log(0);
clearInterval(interval);
if(self.data.old_phone === '') {
console.log(1);
wx.showToast({title: '请输入手机号!',icon: 'none'})
}else if(self.data.old_verification_code === '' || self.data.new_verification_code === '') {
}else if(self.data.old_verification_code === '') {
console.log(2);
wx.showToast({title: '请输入验证码!',icon: 'none'})
}else {
if(self.data.old_phone && self.data.new_phone === '') {
console.log(3);
if(self.data.old_phone && self.data.old_verification_code) {
let url = '/user/Profile/checkOldMobile';
let params = {
mobile: self.data.old_phone,
verification_code: self.data.old_verification_code,
time: app.nowDate(),
time: self.data.old_time,
};
let header = {
"XX-token": wx.getStorageSync('token')
};
app.post(url, params,header).then((res) => {
console.log('原手机号验证结果',res);
self.setData({time_flag: res.time});
});
}else if(self.data.new_phone !== '' && self.data.new_verification_code !== '') {
}
}
},
//保存
formSubmit(e) {
const self = this;
console.log(e,e.detail);
clearInterval(interval1);
if(self.data.new_phone === '') {
console.log(1);
wx.showToast({title: '请输入手机号!',icon: 'none'})
}else if(self.data.new_verification_code === '') {
console.log(2);
wx.showToast({title: '请输入验证码!',icon: 'none'})
}else {
console.log(3);
if(self.data.new_phone && self.data.new_verification_code) {
let url = '/user/Profile/bindingNewMobile';
let params = {
_type: 7,//1,手机号绑定成功
formId: e.detail.formId,
mobile: self.data.new_phone,
verification_code: self.data.new_verification_code,
time: app.nowDate(),
time: self.data.new_time,
};
let header = {
"XX-token": wx.getStorageSync('token')
};
app.post(url, params,header).then((res) => {
console.log('新手机号绑定结果',res);
app.post(url, params, header).then((res) => {
console.log('新手机号绑定结果', res);
if(res.is_bingding) {
wx.showToast({
title: '更换手机号成功!',
icon: 'success',
success: function () {
setTimeout(function () {
wx.navigateBack({delta: 1})
},500)
}
})
}
});
}
... ... @@ -132,6 +204,8 @@ Page({
this.setData({
old_phone: options.old_phone?options.old_phone:'',
old_phone_hidden: options.old_phone_hidden?options.old_phone_hidden:'',
user_nickname: options.user_nickname?options.user_nickname:'',
avatar: options.avatar?options.avatar:'',
})
},
... ...
{}
\ No newline at end of file
{
"navigationBarTitleText": "更换手机号"
}
\ No newline at end of file
... ...
<!--pages/chargePhoneNum/chargePhoneNum.wxml-->
<view class='content_box'>
<view class='banner_box'>
<view class='head_img'>
<image src='../../../images/head.png'></image>
</view>
<view>微信昵称</view>
</view>
<view class='list_box'>
<view class='item_list'>
<view class='info_box'>
<view wx:if="{{old_phone}}">原手机号:</view>
<view wx:if="{{new_phone !== ''}}">新手机号: </view>
<view class='list_input'>
<input placeholder='{{old_phone_hidden}}' value='{{new_phone}}' bindinput="phoneInput"/>
<view class='banner_box'>
<view class='head_img'>
<image src='{{avatar}}'></image>
</view>
</view>
<view>{{user_nickname}}</view>
</view>
<view class='item_list'>
<view class='info_box'>
<text>验证码: </text>
<view class='list_input'>
<input placeholder='输入验证码' value='{{old_verification_code}}' bindinput="codeInput" wx:if="{{new_phone === ''}}"/>
<input placeholder='输入验证码' value='{{new_verification_code}}' bindinput="codeInput" wx:if="{{new_phone !== ''}}"/>
<form bindsubmit="formSubmit" bindreset="formReset" report-submit="true">
<view class='list_box'>
<view class='item_list'>
<view class='info_box'>
<view wx:if="{{time_flag === ''}}">原手机号:</view>
<view wx:if="{{time_flag !== ''}}">新手机号:</view>
<view class='list_input'>
<input wx:if="{{time_flag === ''}}" placeholder='{{old_phone_hidden}}' value='{{new_phone}}'
bindinput="phoneInput"/>
<input wx:if="{{time_flag !== ''}}" placeholder='输入新手机号' value='{{new_phone}}' name="new_phone"
bindinput="phoneInput"/>
</view>
</view>
</view>
<view class='item_list'>
<view class='info_box'>
<text>验证码:</text>
<view class='list_input'>
<input placeholder='输入验证码' value='{{old_verification_code}}' bindinput="codeInput"
wx:if="{{time_flag === ''}}"/>
<input placeholder='输入验证码' value='{{new_verification_code}}' bindinput="codeInput"
wx:if="{{time_flag !== ''}}"/>
</view>
</view>
<button class='get_code' disabled="{{disabled}}" data-id="2" bindtap="getVerificationCode"
wx:if="{{time_flag === ''}}">{{time}}
</button>
<button class='get_code' disabled="{{disabled1}}" data-id="2" bindtap="getVerificationCode"
wx:if="{{time_flag !== ''}}">{{time1}}
</button>
</view>
</view>
</view>
<button class='get_code' disabled="{{disabled}}" data-id="2" bindtap="getVerificationCode">{{time}}</button>
</view>
</view>
<view class='save_btn' wx:if="{{new_phone === ''}}">下一步</view>
<view class='save_btn' wx:if="{{new_phone !== ''}}">保 存</view>
<view class='save_btn' wx:if="{{time_flag === ''}}" bindtap="next">下一步</view>
<button class='save_btn' wx:if="{{time_flag !== ''}}" form-type="submit">保 存</button>
</form>
</view>
\ No newline at end of file
... ...
... ... @@ -57,7 +57,7 @@
line-height: normal!important;
}
.get_code::after {
.get_code::after,.save_btn::after {
border: 0;
}
.save_btn{
... ...
... ... @@ -111,7 +111,7 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
console.log('options', options);
// console.log('options', options);
this.setData({
is_back: options.is_back?options.is_back:'',
current_student: options.current_student?JSON.parse(options.current_student):'',
... ... @@ -120,7 +120,6 @@ Page({
const student = JSON.parse(options.current_student)
this.setData({
name: student.name,
// sex:
})
}
},
... ...
... ... @@ -93,7 +93,6 @@ Page({
*/
onLoad: function (options) {
const self = this;
self.getUser();
self.checkMobile();
},
... ... @@ -108,7 +107,8 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow: function () {
const self =this;
self.getUser();
},
/**
... ...
... ... @@ -9,7 +9,7 @@
</view>
<view>
<view>{{personal_info.user_nickname}}</view>
<view class='phone_num'>{{personal_info.mobile}}</view>
<view class='phone_num'>{{personal_info.hidden_mobile}}</view>
</view>
</view>
<view class='my_info_box' bindtap='myProfile'>
... ... @@ -30,25 +30,25 @@
<view class='list_tab_box'>
<view class='tab_item' bindtap="goNotConfirm">
<view class='list_img'>
<image src='../../images/my1.png'></image>
<image src='../../images/icon_daiqueren@2x.png'></image>
</view>
<view>待确认</view>
</view>
<view class='tab_item' bindtap="goAppointed">
<view class='list_img'>
<image src='../../images/my1.png'></image>
<image src='../../images/icon_yiyuyue@2x.png'></image>
</view>
<view>已预约</view>
</view>
<view class='tab_item' bindtap="goCanceled">
<view class='list_img'>
<image src='../../images/my1.png'></image>
<image src='../../images/icon_yiquxiao@2x.png'></image>
</view>
<view>已取消</view>
</view>
<view class='tab_item' bindtap="goEnded">
<view class='list_img'>
<image src='../../images/my1.png'></image>
<image src='../../images/icon_yijieshu@2x.png'></image>
</view>
<view>已结束</view>
</view>
... ...
... ... @@ -5,14 +5,31 @@ Page({
/**
* 页面的初始数据
*/
data: {},
data: {
modal_data: {
is_showModal: false,
currentBtn: null,
title: '确认删除吗?',
tab_left: '再想想',
tab_right: '确认删除',
},
state_data: {
is_showSuccessModal: false,
icon: '../../../images/fail.png',
title:'提示',
content: '该学员已绑定畅玩卡,不可删除!'
},
is_delete: false,
},
//更换手机号
chargePhoneNum() {
wx.navigateTo({
url: '../chargePhoneNum/chargePhoneNum?old_phone=' +
this.data.personal_info.mobile +
'&old_phone_hidden=' + this.data.personal_info.hidden_mobile,
'&old_phone_hidden=' + this.data.personal_info.hidden_mobile +
'&user_nickname=' + this.data.personal_info.user_nickname +
'&avatar=' + this.data.personal_info.avatar,
})
},
//添加学员
... ... @@ -45,27 +62,68 @@ Page({
url: '../myCard/myCard',
})
},
//再想想
chooseNo(e) {
this.setData({
'modal_data.currentBtn': e.currentTarget.dataset.index,
'modal_data.is_showModal': false
});
},
//确认删除
chooseYes(e) {
this.setData({
'modal_data.currentBtn': e.currentTarget.dataset.index,
'modal_data.is_showModal': false,
is_delete: true,
});
if(this.data.is_delete) {
console.log('diaoyong');
this.delStudent(this.data.current_student);
}
},
//关闭删除成功弹框
modalConfirm() {
this.setData({'state_data.is_showSuccessModal': false})
},
//删除学员
delStudent(e) {
const current = e.currentTarget.dataset.index;
let url = '/user/Student/student_delete';
let header = {
"XX-token": wx.getStorageSync('token')
};
let params = {
id: this.data.student_list[current].id,
};
app.post(url, params, header).then((res) => {
console.log('删除学员结果', res);
});
const arr = []
this.data.student_list.map((item) => {
if(item.id !== this.data.student_list[current].id) {
arr.push(item)
console.log(e);
// var current = e.currentTarget.dataset.index;
if(typeof(e) === "number") {
this.setData({current_student: e});
}else {
this.setData({current_student: e.currentTarget.dataset.index});
}
console.log('current_student',this.data.current_student);
if(this.data.is_delete) {
if(this.data.student_list[this.data.current_student].is_end === 1) {//该学员已绑卡,不能删除
this.setData({'state_data.is_showSuccessModal': true,is_delete: false})
}else {//可删除
let url = '/user/Student/student_delete';
let header = {
"XX-token": wx.getStorageSync('token')
};
let params = {
id: this.data.student_list[this.data.current_student].id,
};
app.post(url, params, header).then((res) => {
console.log('删除学员结果', res);
});
const arr = []
this.data.student_list.map((item) => {
if(item.id !== this.data.student_list[this.data.current_student].id) {
arr.push(item)
}
});
console.log('arr', arr);
this.setData({student_list: arr,is_delete: false});
}
});
console.log('arr', arr);
this.setData({student_list: arr})
}else {
this.setData({
'modal_data.is_showModal': true,
// 'state_data.is_showSuccessModal': true
});
}
},
//获取用户基本信息
getUser() {
... ... @@ -98,7 +156,6 @@ Page({
*/
onLoad: function (options) {
const self = this;
self.getUser();
},
/**
... ... @@ -113,6 +170,7 @@ Page({
*/
onShow: function () {
const self = this;
self.getUser();
self.getStudentList();
},
... ...
... ... @@ -8,14 +8,14 @@
</view>
</view>
<view class='info_box'>
<view>手机号:{{personal_info.mobile}}</view>
<view>手机号:{{personal_info.hidden_mobile}}</view>
<view class='info_content' bindtap='chargePhoneNum'>更换手机号</view>
</view>
<view class='title_box'>
<view class='title-box'>
<view class='list_title'>我的学员</view>
<view class='add_box' bindtap='addUser'>
<text class='iconfont icon-jia'></text>
<text>添加学员</text>
<text class="text">添加学员</text>
</view>
</view>
<!-- 未绑定年卡,就需要显示为“购卡”;已有年卡就显示为“续卡” -->
... ... @@ -39,4 +39,7 @@
<view class='hint_info' wx:if="{{item.is_end === 1}}">畅玩卡周期:{{item.time}}</view>
<view class='hint_info' wx:if="{{item.is_end === 2}}">无绑定畅玩卡</view>
</view>
</view>
\ No newline at end of file
</view>
<import src="/templates/templates.wxml" />
<template is="modal" data="{{...modal_data}}"></template>
<template is="state-modal" data="{{...state_data}}"></template>
\ No newline at end of file
... ...
/* pages/MyProfile/MyProfile.wxss */
@import "../../../templates/templates.wxss";
.yes-no-btn text:nth-child(1) {
color: #3FA9F5;
}
.yes-no-btn text:nth-child(2) {
color: #666666;
}
.tips-word {
text-align: center;
}
page {
background: #f5f5fa;
}
... ... @@ -55,14 +64,14 @@ page {
color: #3fa9f5;
}
.title_box {
.title-box {
display: flex;
align-items: center;
justify-content: space-between;
padding: 20rpx 30rpx;
}
.icon-jia {
.title-box .icon-jia {
display: flex;
align-items: center;
justify-content: center;
... ... @@ -74,6 +83,7 @@ page {
padding: 5rpx;
box-sizing: border-box;
margin-right: 8rpx;
font-size: 24rpx;
}
.add_box {
... ... @@ -83,7 +93,10 @@ page {
display: flex;
align-items: center;
}
.add_box .text {
color: #3FA9F5;
font-size: 24rpx;
}
.list_title {
position: relative;
padding-left: 17rpx;
... ...
... ... @@ -10,9 +10,14 @@ Page({
modal_data: {
is_showModal: false,
currentBtn: null,
title: '当前学员还没有购买/兑换畅玩卡,暂不能预约实验活动,是否马上购买/兑换?',
tab_left: '否',
tab_right: '是',
},
state_data: {
is_showSuccessModal: false,
title:'恭喜您!',
content: '您已经预约成功!'
},
student_list: [{id:1,name:'张三',checked: false},
{id:2,name:'李思思', checked: false},
... ... @@ -23,30 +28,115 @@ Page({
num_arr: [],
session_info: {},
student_num: 5,
is_choose_student: false,
},
formSubmit(e) {
console.log(e.detail);
this.setData({'modal_data.is_showModal': true})
// if(this.data.student_list.length === 0) {
// wx.showToast({title: '请添加学员!',icon:'none'})
// }else {
// // this.setData({'modal_data.is_showModal': true})
// let url = '/portal/Experiment/confirm_session_submit';
// let header = {
// "XX-token": wx.getStorageSync('token')
// };
// let params = {
// _type: 2,
// formId: e.detail.formId,
// experiment_id: this.data.experiment_id,
// session_id: this.data.session_id,
// reservation_id: this.data.reservation_id,
// students: this.data.student_id,
// };
// app.post(url,params,header).then((res) => {
// console.log('提交预约信息',res);
// })
// }
//获取学员列表
getStudentList() {
let url = '/user/Student/student_list';
let header = {
"XX-token": wx.getStorageSync('token')
};
let params = {
page: 1,
};
app.post(url,params,header).then((res) => {
console.log('学员列表',res);
// console.log('list', list);
var new_arr = [];
res.list.forEach((item) => {
new_arr.push({ ...item, checked: false })
});//给每一项添加checked属性
console.log(new_arr);
this.setData({student_list: new_arr})
})
},
//选择学员(待确认可选)
chooseChildren(e) {
console.log('29------e', e);
// const current = e.currentTarget.dataset.index;
const that = this;
if(that.data.detail.status === 1) {//待确认可选择学员
console.log(e.detail);
var index_arr = e.detail.value;
console.log(index_arr);
//新建数组全部设置为没被选中
var new_arr = [];
that.data.student_list.forEach((item) => {
new_arr.push({ ...item, checked: false })
});//给每一项添加checked属性
console.log('new_arr',new_arr);
var new_itmes = new_arr;
console.log('new_itmes', new_itmes);
if(that.data.detail.num >=2) {//两个学员预约时
console.log('两个学员');
if (index_arr.length > 2) {
//取出倒数两个值
var key1 = index_arr[index_arr.length - 1];
var key2 = index_arr[index_arr.length - 2];
// var key3 = skin[skin.length - 3];
// console.log(key1, key2, key3);
console.log(key1, key2);
console.log(new_itmes[key1]['checked'],new_itmes[key1].id,new_itmes[key2].id);
//设置最后两个值为选中状态
new_itmes[key1]['checked'] = true
new_itmes[key2]['checked'] = true
// new_itmes[key3 - 1]['checked'] = 'true'
//删除被选中的第一个值
index_arr.splice(0, 1);
console.log('skin',index_arr);
const id_arr = [];
id_arr.push(new_itmes[key1].id,new_itmes[key2].id);
that.setData({student_id: id_arr.join(','),is_choose_student:true});
console.log('student_id', that.data.student_id);
} else {
//被选中少于两个,直接设置被选中
for (var i = 0; i < index_arr.length; i++) {
var key = index_arr[i]
console.log('key', key);
new_itmes[key]['checked'] = true
}
that.setData({student_id: new_itmes[key].id,is_choose_student:true});
console.log('student_id', that.data.student_id);
}
}else if(that.data.detail.num <2){//一个学员预约时
console.log('一个学员');
if (index_arr.length > 1) {
//取出倒数一个值
var key1 = index_arr[index_arr.length - 1];
// var key2 = skin[skin.length - 2];
// var key3 = skin[skin.length - 3];
// console.log(key1, key2, key3);
console.log(key1);
console.log(new_itmes[key1]['checked'],new_itmes[key1].id);
//设置最后一个值为选中状态
new_itmes[key1]['checked'] = true
// new_itmes[key2]['checked'] = true
// new_itmes[key3 - 1]['checked'] = 'true'
//删除被选中的第一个值
index_arr.splice(0, 1);
console.log('skin',index_arr);
that.setData({student_id: new_itmes[key1].id,is_choose_student:true});
console.log('student_id', that.data.student_id);
} else {
//被选中少于1个,直接设置被选中
for (var i = 0; i < index_arr.length; i++) {
var key = index_arr[i]
console.log('key', key);
new_itmes[key]['checked'] = true
}
that.setData({student_id: new_itmes[key].id,is_choose_student:true});
console.log('student_id', that.data.student_id);
}
}
//存入
that.setData({
index_arr: index_arr,
// text: text,
student_list: new_itmes,
})
}
},
chooseNo(e) {
this.setData({
... ... @@ -69,54 +159,74 @@ Page({
},
disableScroll() {},
addStudent() {
wx.navigateTo({url: './add-student/add-student?is_back=' + true})
wx.navigateTo({url: '../../index/confirm-appointment-info/add-student/add-student?is_back=' + true})
},
//获取预约信息
//获取预约详情
getAppointmentInfo() {
let url = '/portal/Experiment/confirm_session';
let url = '/user/Reservation/reservation_detail';
let header = {
"XX-token": wx.getStorageSync('token')
};
let params = {
experiment_id: this.data.experiment_id,
session_id: this.data.session_id,
reservation_id: this.data.reservation_id,
};
app.post(url,params,header).then((res) => {
console.log('预约信息',res);
var arr = [];
for (let i in res.list) {
arr.push(res.list[i]); //属性
//arr.push(obj[i]); //值
}//对象转数组
console.log('arr',arr);
var new_arr = [];
arr.forEach((item) => {
new_arr.push({ ...item, checked: false })
});//给每一项添加checked属性
console.log(new_arr);
console.log('预约详情',res);
this.setData({
student_list: new_arr,
new_arr:new_arr,
session_info: res.session_info,
})
console.log('student_list', this.data.student_list);
detail: res.info,
});
if(this.data.detail.status === 1) {
this.getStudentList();
}
});
},
//取消
clickCancel(e) {
console.log('取消',e);
let url = '/user/Reservation/reservation_cancel';
let header = {
"XX-token": wx.getStorageSync('token')
};
let params = {
reservation_id: this.data.reservation_id,
formId: e.detail.formId,
};
app.post(url, params,header).then((res) => {
console.log('取消',res);
// this.setData({orderList: res.list})
})
},
//获取学员列表
// getStudentList() {
// let url = '/user/Student/student_list';
// let header = {
// "XX-token": wx.getStorageSync('token')
// };
// let params = {
// page: 1,
// };
// app.post(url,params,header).then((res) => {
// console.log('学员列表',res);
// this.setData({student_list: res.list})
// })
// },
//确认
clickConfirm(e) {
console.log(e.detail);
if(this.data.student_list.length === 0) {
wx.showToast({title: '请添加学员!',icon:'none'})
}else if(!this.data.is_choose_student) {
wx.showToast({title: '请选择学员!',icon:'none'})
}else {
// this.setData({'modal_data.is_showModal': true})
let url = '/portal/Experiment/confirm_session_submit';
let header = {
"XX-token": wx.getStorageSync('token')
};
let params = {
_type: 2,//2,活动预约成功
formId: e.detail.formId,
experiment_id: this.data.detail.experiment_id,
session_id: this.data.detail.session_id,
reservation_id: this.data.reservation_id,
students: this.data.student_id,
};
app.post(url,params,header).then((res) => {
console.log('提交预约信息',res);
if(res.data.card_modal === 1) {
this.setData({'modal_data.is_showModal': true});
}else if(res.data.reservation_modal === 1) {
this.setData({'state_data.is_showSuccessModal': true});
}
})
}
},
/**
* 生命周期函数--监听页面加载
*/
... ... @@ -126,6 +236,7 @@ Page({
console.log(options);
self.setData({
currentTab: +options.currentTab?+options.currentTab:'',
reservation_id: +options.reservation_id?options.reservation_id:'',
});
},
... ... @@ -142,9 +253,7 @@ Page({
onShow: function() {
console.log('show');
const self = this;
// self.getStudentList();
self.getAppointmentInfo();
setTimeout(function() {
self.setData({
show: true
... ...
<!--pages/index/confirm-appointment-info/confirm-appointment-info.wxml-->
<view class="content">
<view class="tips {{show?'active':''}}" wx:if="{{currentTab === 1}}">
<view class="tips {{show?'active':''}}" wx:if="{{detail.status === 1}}">
<!--<view>-->
<view class="iconfont icon-jinggao"></view>
<text>请在15分钟内确认预约,超时系统将自动取消!</text>
... ... @@ -9,7 +9,7 @@
<view class="time">
<view class="line"></view>
<text>预约时间 : </text>
<text class="date-time">{{session_info.time}}</text>
<text class="date-time">{{detail.time}}</text>
</view>
<view class="address">
... ... @@ -19,14 +19,14 @@
</view>
<view class="address-detail">
<!--<text>-->
{{session_info.address}}
{{detail.address}}
<!--</text>-->
</view>
</view>
<view class="phone-num">
<view class="line"></view>
<text>预约电话 :</text>
<text class="phone">188****8888</text>
<text class="phone">{{detail.mobile}}</text>
</view>
<view class="children-name">
<view class="left-name">
... ... @@ -35,48 +35,57 @@
</view>
<image src="../../../images/add_btn.png" bindtap="addStudent"></image>
</view>
<form bindsubmit="formSubmit" bindreset="formReset" report-submit="true">
<!--<form bindsubmit="formSubmit" bindreset="formReset" report-submit="true">-->
<view class="name-box">
<!--<view class="check-box" wx:for="{{student_list}}" wx:key="index" bindtap="chooseChildren" data-index="{{index}}">-->
<!--<view class="name {{item.is_choose?'change-color':''}}">{{item.name}}</view>-->
<!--<image src="../../../images/choose_icon.png" wx:if="{{item.is_choose}}" class="check-icon"></image>-->
<!--</view>-->
<checkbox-group class="check-box" bindchange="chooseChildren">
<label class="checkbox" wx:for="{{student_list}}" wx:for-item="i" wx:key="index">
<checkbox-group class="check-box" bindchange="{{detail.status === 1?'chooseChildren':''}}">
<label class="checkbox" wx:for="{{detail.status === 1?student_list:detail.reservation_student}}" wx:for-item="i" wx:key="index">
<view class="name {{i.checked?'change-color':''}}">{{i.name}}</view>
<checkbox value="{{index}}" checked="{{i.checked}}" id="{{i.id}}" name="student_id" class="checkbox"/>
<checkbox wx:if="{{detail.status === 1}}" value="{{index}}" checked="{{i.checked}}" id="{{i.id}}" name="student_id" class="checkbox"/>
</label>
</checkbox-group>
</view>
<!--</form>-->
<!--待确认-->
<view class="footer-box1" wx:if="{{currentTab === 1}}">
<view class="one_box" form-type="submit" bindtap="formSubmit">
<!--<view class="cancel_box" form-type="submit" bindtap="formSubmit">-->
<view class="cancel">取消</view>
<view class="confirm"><text class="text">确认</text></view>
<!--待确认-->
<view class="footer-box1" wx:if="{{detail.status === 1}}">
<view class="one_box">
<form bindsubmit="clickCancel" bindreset="formReset" report-submit="true">
<button class="cancel" form-type="submit">取消</button>
</form>
<form bindsubmit="clickConfirm" bindreset="formReset" report-submit="true">
<button class="confirm" form-type="submit">
<text class="text">确认</text>
</button>
</form>
</view>
</view>
</view>
<!--已预约-->
<view class="footer-box" wx:if="{{currentTab === 2}}">
<view class="cancel_box" form-type="submit" bindtap="formSubmit">
<text>注:活动开始前 x 小时可取消预约</text>
<view class="cancel_btn"><text class="text">取消预约</text></view>
<!--已预约-->
<view class="footer-box" wx:if="{{detail.status === 2}}">
<form bindsubmit="clickCancel" bindreset="formReset" report-submit="true">
<view class="cancel_box">
<text>注:活动开始前 {{detail.active_time}} 小时可取消预约</text>
<button class="cancel_btn" form-type="submit">
<text class="text">取消预约</text>
</button>
</view>
</form>
</view>
</view>
<!--已取消-->
<view class="footer-box2" wx:if="{{currentTab === 3}}">
<view class="two_box" form-type="submit" bindtap="formSubmit">
<view class="footer-box2" wx:if="{{detail.status === 3}}">
<view class="two_box">
<view>预约已取消</view>
</view>
</view>
<!--已结束-->
<view class="footer-box2" wx:if="{{currentTab === 4}}">
<view class="two_box" form-type="submit" bindtap="formSubmit">
<view class="footer-box2" wx:if="{{detail.status === 4}}">
<view class="two_box">
<view>预约已结束</view>
</view>
</view>
</form>
<import src="/templates/templates.wxml" />
<template is="modal" data="{{...modal_data}}"></template>
<template is="state-modal" data="{{...state_data}}"></template>
... ...
... ... @@ -25,14 +25,18 @@
align-items: center;
justify-content: space-between;
}
.one_box form {
width: 50%;
}
.one_box .cancel, .one_box .confirm{
width: 50%;
width: 100%;
height: 94rpx;
color: #ffffff;
font-size: 36rpx;
display: flex;
align-items: center;
justify-content: center;
border-radius: 0;
}
.one_box .cancel {
background-color: #FC5B63;
... ... @@ -40,6 +44,9 @@
.one_box .confirm {
background-color: #3FA9F5;
}
.one_box .cancel::after, .one_box .confirm::after {
border: 0;
}
.cancel_box {
width: 100%;
display: flex;
... ... @@ -57,7 +64,11 @@
height: 40rpx;
display: flex;
align-items: center;
/* padding: 10rpx; */
margin: 0;
padding: 0;
}
.cancel_btn::after {
border: 0;
}
.cancel_btn .text {
color: #ffffff;
... ...
// pages/serviceWeChat/serviceWeChat.js
Page({
/**
* 页面的初始数据
*/
data: {
imgsUrl: ['../../../images/head.png']
},
//长按保存图片
saveImg(e) {
console.log(e)
var current = e.target.dataset.src
wx.previewImage({
current: current,
urls: this.data.imgsUrl
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function() {
}
/**
* 页面的初始数据
*/
data: {
imgsUrl: ['../../../images/head.png'],
wxn: '1111111'
},
//长按保存图片
saveImg(e) {
console.log(e)
var current = e.target.dataset.src
wx.previewImage({
current: current,
urls: this.data.imgsUrl
})
},
//复制客服微信号
clickCopy() {
wx.setClipboardData({
data: this.data.wxn,
success: function(res) {
console.log('复制微信号', res);
}
});
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
... ...
... ... @@ -8,4 +8,4 @@
短的汉字以内的文字介绍还有简短的汉
字以内的文字介绍还有简短的汉字以</view>
</view>
<view class='bottom_btn'>点击复制客服微信号</view>
\ No newline at end of file
<view class='bottom_btn' bindtap="clickCopy">点击复制客服微信号</view>
\ No newline at end of file
... ...
... ... @@ -11,51 +11,49 @@ Page({
},
// 获取用户信息
start(e) {
let that = this;
let url = '/wxapp/public/login';
let params = {
encrypted_data: e.detail.encryptedData,
iv: e.detail.iv,
raw_data: e.detail.rawData,
signature: e.detail.signature,
openid: that.data.openid,
session_key: that.data.session_key,
}
app.post(url, params).then((ret) => {
wx.setStorageSync('token', ret.token)
app.globalData.userInfo = ret.user_type
// console.log('userInfo',app.globalData.userInfo,ret);
wx.switchTab({
url: '/pages/index/index',
let self = this;
wx.checkSession({
success: function(){
console.log('未过期');
//session_key 未过期,并且在本生命周期一直有效
let url = '/wxapp/public/login';
let params = {
encrypted_data: e.detail.encryptedData,
iv: e.detail.iv,
raw_data: e.detail.rawData,
signature: e.detail.signature,
openid: self.data.openid,
session_key: self.data.session_key,
};
app.post(url, params).then((ret) => {
wx.setStorageSync('token', ret.token);
app.globalData.userInfo = ret.user_type;
// console.log('userInfo',app.globalData.userInfo,ret);
wx.switchTab({
url: '/pages/index/index',
})
})
},
fail: function(){
console.log('session_key 已经失效');
// session_key 已经失效,需要重新执行登录流程
self.login() //重新登录
}
})
},
example() {
app.post(url, {
id: 1
}, {}).then((res) => {
this.setData({
code: res
})
}).catch((err) => {
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let that = this
let url = '/wxapp/public/getSessionKey'
login() {
let self = this;
let url = '/wxapp/public/getSessionKey';
wx.login({
success: function (res) {
// console.log(res)
app.post(url, {
code: res.code
}, {}).then((ret) => {
that.setData({
self.setData({
openid: ret.openid,
session_key: ret.session_key
})
});
})
},
fail: function (res) {
... ... @@ -64,6 +62,12 @@ Page({
},
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
... ... @@ -76,7 +80,8 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow: function () {
let self = this;
self.login();
},
/**
... ...
... ... @@ -53,10 +53,10 @@
</view>
<view class="modalBackground Augly-bouncein">
<view class="modal">
<view class="tips-word">当前学员还没有购买/兑换畅玩卡,暂不能预约实验活动,是否马上购买/兑换?</view>
<view class="tips-word">{{title}}</view>
<view class="yes-no-btn">
<text bindtap="chooseNo" class="{{currentBtn == 0?'change-color':''}}" data-index="{{0}}">否</text>
<text bindtap="chooseYes" class="{{currentBtn == 1?'change-color':''}}" data-index="{{1}}">是</text>
<text bindtap="chooseNo" data-index="{{0}}">{{tab_left}}</text>
<text bindtap="chooseYes" data-index="{{1}}" class="yes">{{tab_right}}</text>
</view>
</view>
</view>
... ... @@ -73,10 +73,10 @@
</view>
<view class="modalBackground Augly-bouncein">
<view class="success-modal">
<image src="../../../images/success.jpg"></image>
<view class="congratulations">恭喜您</view>
<view class="appointment-success">您已经预约成功!</view>
<view class="confirm-btn" bindtap="modalConfirm">确定</view>
<image src="{{icon}}"></image>
<view class="congratulations {{title==='提示'?'change-red':''}}">{{title}}</view>
<view class="appointment-success">{{content}}</view>
<view class="confirm-btn {{title==='提示'?'change-bg-red':''}}" bindtap="modalConfirm">确定</view>
</view>
</view>
</view>
... ...
... ... @@ -101,7 +101,7 @@
}
.modal {
width: 500rpx;
height: 260rpx;
/*height: 260rpx;*/
/* height: 1100rpx; */
background: #ffffff;
border-radius: 10rpx;
... ... @@ -121,8 +121,8 @@
border-radius: 22rpx;
}
.success-modal image {
width: 236rpx;
height: 170rpx;
width: 200rpx;
height: 200rpx;
}
.congratulations {
font-size: 28rpx;
... ... @@ -131,7 +131,7 @@
}
.appointment-success {
font-size: 24rpx;
margin-bottom: 60rpx;
margin-bottom: 40rpx;
}
.confirm-btn {
width: 80%;
... ... @@ -165,9 +165,18 @@
text-align: center;
line-height: 68rpx;
}
.yes-no-btn text:nth-child(2) {
color: #3FA9F5;
}
.yes-no-btn text:nth-child(1) {
border-right: 1rpx solid #d3d3d3;
}
.change-color {
color: #3FA9F5;
}
.change-red {
color: #FC5B63;
}
.change-bg-red {
background-color: #FC5B63;
}
\ No newline at end of file
... ...