member-consume.wxml
16.9 KB
<page-meta page-style="{{pageScrollDisabled?'overflow: hidden;':''}}" class="data-v-7253f40b"></page-meta><view class="member-consume-container data-v-7253f40b"><view class="form-card data-v-7253f40b"><view class="form-content data-v-7253f40b"><form data-event-opts="{{[['submit',[['handleFormSubmit',['$event']]]]]}}" bindsubmit="__e" class="data-v-7253f40b"><view class="form-group data-v-7253f40b"><text class="form-label data-v-7253f40b">会员</text><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" class="custom-select data-v-7253f40b" bindtap="__e"><text class="select-text data-v-7253f40b">{{formData.hy||'请选择会员'}}</text><text class="select-arrow data-v-7253f40b">▼</text></view></view><block wx:if="{{canEditDate&&!removeid}}"><view class="form-group data-v-7253f40b"><text class="form-label data-v-7253f40b">耗卡日期</text><view class="input-wrapper data-v-7253f40b"><picker disabled="{{istime}}" mode="date" value="{{formData.hksj}}" data-event-opts="{{[['change',[['onDateChange',['$event']]]]]}}" bindchange="__e" class="data-v-7253f40b"><view class="custom-select data-v-7253f40b"><text class="select-text data-v-7253f40b">{{formData.hksj||'请选择耗卡日期'}}</text><text class="select-arrow data-v-7253f40b">▼</text></view></picker></view></view></block><view class="form-group data-v-7253f40b"><text class="form-label data-v-7253f40b">品项明细</text><view class="px-container data-v-7253f40b"><block wx:for="{{$root.l0}}" wx:for-item="px" wx:for-index="index" wx:key="index"><view class="px-row data-v-7253f40b"><block wx:if="{{px.$orig.px&&px.$orig.pxmc}}"><view class="px-info data-v-7253f40b"><view class="px-info-title data-v-7253f40b">{{px.$orig.pxmc}}</view><view class="px-info-details data-v-7253f40b"><view class="px-info-item data-v-7253f40b"><text class="px-info-label data-v-7253f40b">单价:</text><text class="px-info-value data-v-7253f40b">{{"¥"+(px.$orig.pxjg||0)}}</text></view><block wx:if="{{px.$orig.TotalPurchased}}"><view class="px-info-item data-v-7253f40b"><text class="px-info-label data-v-7253f40b">总购买:</text><text class="px-info-value data-v-7253f40b">{{px.$orig.TotalPurchased||0}}</text></view></block><block wx:if="{{px.$orig.ConsumedCount}}"><view class="px-info-item data-v-7253f40b"><text class="px-info-label data-v-7253f40b">已消费:</text><text class="px-info-value data-v-7253f40b">{{px.$orig.ConsumedCount||0}}</text></view></block><block wx:if="{{px.$orig.RemainingCount}}"><view class="px-info-item data-v-7253f40b"><text class="px-info-label data-v-7253f40b">剩余:</text><text class="px-info-value data-v-7253f40b">{{px.$orig.RemainingCount||0}}</text></view></block><view class="px-info-item data-v-7253f40b"><text class="px-info-label data-v-7253f40b">来源:</text><text class="px-info-value data-v-7253f40b">{{px.$orig.sourceType||""}}</text></view><view class="px-info-item data-v-7253f40b"><text class="px-info-label data-v-7253f40b">科美手工费:</text><text class="px-info-value data-v-7253f40b">{{px.$orig.techBeautyLaborCost||"0"}}</text></view><view class="px-info-item data-v-7253f40b"><text class="px-info-label data-v-7253f40b">健康师手工费:</text><text class="px-info-value data-v-7253f40b">{{px.$orig.healthCoachLaborCost||"0"}}</text></view><view class="px-info-item data-v-7253f40b"><text class="px-info-label data-v-7253f40b">总业绩:</text><text class="px-info-value data-v-7253f40b">{{px.$orig.pxjg*px.$orig.projectNumber||"0"}}</text></view></view></view></block><block wx:else><view data-event-opts="{{[['tap',[['selectPx',[index]]]]]}}" class="px-select data-v-7253f40b" bindtap="__e"> 选择品项 </view></block><input class="px-number data-v-7253f40b" disabled="{{px.$orig.RemainingCount?false:true}}" type="number" placeholder="次数" min="1" max="{{px.$orig.RemainingCount}}" step="1" data-event-opts="{{[['input',[['__set_model',['$0','projectNumber','$event',[]],[[['pxList','',index]]]],['updatePxNumber',[index,'$event']]]]]}}" value="{{px.$orig.projectNumber}}" bindinput="__e"/><button class="px-delete data-v-7253f40b" type="button" data-event-opts="{{[['tap',[['deletePxRow',[index]]]]]}}" bindtap="__e">删除</button><view class="px-row-third data-v-7253f40b"><view class="px-staff-section data-v-7253f40b"><block wx:if="{{px.$orig.qt2!='医美'}}"><view data-event-opts="{{[['tap',[['selectPxJks',[index]]]]]}}" class="px-jks-select data-v-7253f40b" bindtap="__e"> 添加健康师 </view></block><block wx:if="{{px.g0}}"><view class="px-jks-list data-v-7253f40b"><block wx:for="{{px.$orig.lqXhJksyjList}}" wx:for-item="jks" wx:for-index="jksIndex" wx:key="jksIndex"><view class="px-staff-item data-v-7253f40b"><view class="px-staff-header data-v-7253f40b"><text class="px-staff-name data-v-7253f40b">{{jks.jksxm}}</text><block wx:if="{{px.$orig.qt2!='医美'}}"><button data-event-opts="{{[['tap',[['removePxJks',[index,jksIndex]]]]]}}" class="px-staff-remove data-v-7253f40b" bindtap="__e">删除</button></block></view><view class="px-staff-fields data-v-7253f40b"><view class="px-staff-row data-v-7253f40b"><view class="px-staff-field data-v-7253f40b"><text class="px-staff-field-label data-v-7253f40b">业绩</text><input disabled="{{true}}" type="text" placeholder="请输入业绩" data-event-opts="{{[['change',[['updateJksField',[index,jksIndex,'jksyj','$event']]]],['input',[['__set_model',['$0','jksyj','$event',[]],[[['pxList','',index],['lqXhJksyjList','',jksIndex]]]]]]]}}" value="{{jks.jksyj}}" bindchange="__e" bindinput="__e" class="data-v-7253f40b"/></view><block wx:if="{{px.$orig.qt2!='医美'}}"><view class="px-staff-field data-v-7253f40b"><text class="px-staff-field-label data-v-7253f40b">手工费</text><input disabled="{{true}}" type="number" placeholder="手工费" min="0" step="0.01" data-event-opts="{{[['change',[['updateJksField',[index,jksIndex,'laborCost','$event']]]],['input',[['__set_model',['$0','laborCost','$event',[]],[[['pxList','',index],['lqXhJksyjList','',jksIndex]]]]]]]}}" value="{{jks.laborCost}}" bindchange="__e" bindinput="__e" class="data-v-7253f40b"/></view></block></view><block wx:if="{{px.$orig.qt2!='医美'}}"><view class="px-staff-row data-v-7253f40b"><view class="px-staff-field data-v-7253f40b"><text class="px-staff-field-label data-v-7253f40b">次数</text><input disabled="{{true}}" type="number" placeholder="次数" min="0" step="1" data-event-opts="{{[['change',[['updateJksField',[index,jksIndex,'kdpxNumber','$event']]]],['input',[['__set_model',['$0','kdpxNumber','$event',[]],[[['pxList','',index],['lqXhJksyjList','',jksIndex]]]]]]]}}" value="{{jks.kdpxNumber}}" bindchange="__e" bindinput="__e" class="data-v-7253f40b"/></view><view class="px-staff-field data-v-7253f40b"></view></view></block></view></view></block></view></block></view><view class="px-staff-section data-v-7253f40b"><view data-event-opts="{{[['tap',[['selectPxKjb',[index]]]]]}}" class="px-kjb-select data-v-7253f40b" style="{{'display:'+(px.$orig.qt2==='科美'?'block':'none')+';'}}" bindtap="__e"> 添加科技部老师 </view><block wx:if="{{px.g1}}"><view class="px-kjb-list data-v-7253f40b"><block wx:for="{{px.$orig.lqXhKjbsyjList}}" wx:for-item="kjb" wx:for-index="kjbIndex" wx:key="kjbIndex"><view class="px-staff-item data-v-7253f40b"><view class="px-staff-header data-v-7253f40b"><text class="px-staff-name data-v-7253f40b">{{kjb.kjblsxm}}</text><button data-event-opts="{{[['tap',[['removePxKjb',[index,kjbIndex]]]]]}}" class="px-staff-remove data-v-7253f40b" bindtap="__e">删除</button></view><view class="px-staff-fields data-v-7253f40b"><view class="px-staff-row data-v-7253f40b"><view class="px-staff-field data-v-7253f40b"><text class="px-staff-field-label data-v-7253f40b">业绩</text><input disabled="{{true}}" type="text" placeholder="请输入业绩" data-event-opts="{{[['change',[['updateKjbField',[index,kjbIndex,'kjblsyj','$event']]]],['input',[['__set_model',['$0','kjblsyj','$event',[]],[[['pxList','',index],['lqXhKjbsyjList','',kjbIndex]]]]]]]}}" value="{{kjb.kjblsyj}}" bindchange="__e" bindinput="__e" class="data-v-7253f40b"/></view><view class="px-staff-field data-v-7253f40b"><text class="px-staff-field-label data-v-7253f40b">手工费</text><input disabled="{{true}}" type="number" placeholder="手工费" min="0" step="0.01" data-event-opts="{{[['change',[['updateKjbField',[index,kjbIndex,'laborCost','$event']]]],['input',[['__set_model',['$0','laborCost','$event',[]],[[['pxList','',index],['lqXhKjbsyjList','',kjbIndex]]]]]]]}}" value="{{kjb.laborCost}}" bindchange="__e" bindinput="__e" class="data-v-7253f40b"/></view></view><view class="px-staff-row data-v-7253f40b"><view class="px-staff-field data-v-7253f40b"><text class="px-staff-field-label data-v-7253f40b">次数</text><input disabled="{{true}}" type="number" placeholder="次数" min="0" step="1" data-event-opts="{{[['change',[['updateKjbField',[index,kjbIndex,'hdpxNumber','$event']]]],['input',[['__set_model',['$0','hdpxNumber','$event',[]],[[['pxList','',index],['lqXhKjbsyjList','',kjbIndex]]]]]]]}}" value="{{kjb.hdpxNumber}}" bindchange="__e" bindinput="__e" class="data-v-7253f40b"/></view><view class="px-staff-field data-v-7253f40b"></view></view></view></view></block></view></block></view><block wx:if="{{px.$orig.isAllowAccompanied==1}}"><view class="px-staff-section data-v-7253f40b"><view data-event-opts="{{[['tap',[['selectAccompaniedJks',[index]]]]]}}" class="px-jks-select data-v-7253f40b" bindtap="__e"> 添加陪同健康师 </view><block wx:if="{{px.g2}}"><view class="px-jks-list data-v-7253f40b"><block wx:for="{{px.$orig.accompaniedJksList}}" wx:for-item="accompaniedJks" wx:for-index="accompaniedIndex" wx:key="accompaniedIndex"><view class="px-staff-item data-v-7253f40b"><view class="px-staff-header data-v-7253f40b"><text class="px-staff-name data-v-7253f40b">{{accompaniedJks.jksxm}}</text><button data-event-opts="{{[['tap',[['removeAccompaniedJks',[index,accompaniedIndex]]]]]}}" class="px-staff-remove data-v-7253f40b" bindtap="__e">删除</button></view><view class="px-staff-fields data-v-7253f40b"><view class="px-staff-row data-v-7253f40b"><view class="px-staff-field data-v-7253f40b"><text class="px-staff-field-label data-v-7253f40b">陪同次数</text><input type="digit" placeholder="陪同次数" min="0" step="1" data-event-opts="{{[['change',[['updateAccompaniedJksField',[index,accompaniedIndex,'accompaniedProjectNumber','$event']]]],['input',[['__set_model',['$0','accompaniedProjectNumber','$event',[]],[[['pxList','',index],['accompaniedJksList','',accompaniedIndex]]]]]]]}}" value="{{accompaniedJks.accompaniedProjectNumber}}" bindchange="__e" bindinput="__e" class="data-v-7253f40b"/></view></view></view></view></block></view></block></view></block></view></view></block></view><button class="btn-add-px data-v-7253f40b" type="button" data-event-opts="{{[['tap',[['addPxRow',['$event']]]]]}}" bindtap="__e">添加品项</button></view><view class="form-group data-v-7253f40b"><text class="form-label data-v-7253f40b">消费金额</text><view class="input-wrapper data-v-7253f40b"><input type="number" placeholder="自动计算" min="0" step="0.01" disabled="{{true}}" data-event-opts="{{[['input',[['__set_model',['$0','xfje','$event',[]],['formData']]]]]}}" value="{{formData.xfje}}" bindinput="__e" class="data-v-7253f40b"/></view></view><view class="form-group data-v-7253f40b"><text class="form-label data-v-7253f40b">手工费用</text><view class="input-wrapper data-v-7253f40b"><input type="number" placeholder="自动计算" min="0" step="0.01" disabled="{{true}}" data-event-opts="{{[['input',[['__set_model',['$0','sgfy','$event',[]],['formData']]]]]}}" value="{{formData.sgfy}}" bindinput="__e" class="data-v-7253f40b"/></view></view><block wx:if="{{showOvertimeOption&&!removeid}}"><view class="form-group data-v-7253f40b"><text class="form-label data-v-7253f40b">是否加班</text><text class="tips-text data-v-7253f40b" style="display:block;margin:8rpx 0;font-size:24rpx;color:#666;">7点30后实际操作才选择加班</text><view class="input-wrapper data-v-7253f40b"><checkbox-group data-event-opts="{{[['change',[['onOvertimeChange',['$event']]]]]}}" bindchange="__e" class="data-v-7253f40b"><view data-event-opts="{{[['tap',[['toggleOvertime',['$event']]]]]}}" class="checkbox-wrapper data-v-7253f40b" catchtap="__e"><checkbox value="overtime" checked="{{formData.isOvertime}}" class="data-v-7253f40b"></checkbox><text class="checkbox-label data-v-7253f40b">加班</text></view></checkbox-group><block wx:if="{{formData.isOvertime}}"><view class="overtime-select-wrapper data-v-7253f40b"><picker mode="selector" range="{{overtimeOptions}}" value="{{overtimeIndex}}" data-event-opts="{{[['change',[['onOvertimeCoefficientChange',['$event']]]]]}}" bindchange="__e" class="data-v-7253f40b"><view class="custom-select data-v-7253f40b"><text class="select-text data-v-7253f40b">{{formData.overtimeCoefficient>0?formData.overtimeCoefficient:'请选择加班系数'}}</text><text class="select-arrow data-v-7253f40b">▼</text></view></picker></view></block></view></view></block><block wx:else><block wx:if="{{removeid}}"><view class="form-group data-v-7253f40b"><text class="form-label data-v-7253f40b">是否加班</text><view class="input-wrapper data-v-7253f40b"><view class="custom-select data-v-7253f40b"><text class="select-text data-v-7253f40b">{{formData.overtimeCoefficient>0?formData.overtimeCoefficient:'否'}}</text></view></view></view></block></block><block wx:if="{{!removeid}}"><view class="form-group data-v-7253f40b"><text class="form-label data-v-7253f40b">会员签字</text><view class="input-wrapper data-v-7253f40b"><block wx:if="{{!memberSignature}}"><view class="signature-placeholder data-v-7253f40b"><button data-event-opts="{{[['tap',[['openSignatureModal',['$event']]]]]}}" class="btn-signature-placeholder data-v-7253f40b" bindtap="__e"><text class="signature-placeholder-text data-v-7253f40b">点击进行签字</text></button></view></block><block wx:if="{{memberSignature}}"><view class="signature-preview data-v-7253f40b"><text class="preview-label data-v-7253f40b">签字预览:</text><image class="signature-image data-v-7253f40b" src="{{memberSignature}}" mode="aspectFit" data-event-opts="{{[['tap',[['previewSignature',['$0'],['memberSignature']]]]]}}" bindtap="__e"></image><view class="signature-actions data-v-7253f40b"><button data-event-opts="{{[['tap',[['openSignatureModal',['$event']]]]]}}" class="btn-re-signature data-v-7253f40b" bindtap="__e">重新签字</button><button data-event-opts="{{[['tap',[['clearMemberSignature',['$event']]]]]}}" class="btn-clear-signature data-v-7253f40b" bindtap="__e">清除签字</button></view></view></block></view></view></block><block wx:else><block wx:if="{{memberSignature&&removeid}}"><view class="form-group data-v-7253f40b"><text class="form-label data-v-7253f40b">会员签字</text><view class="input-wrapper data-v-7253f40b"><view class="signature-preview data-v-7253f40b"><image class="signature-image data-v-7253f40b" src="{{baseUrl+memberSignature}}" mode="aspectFit" data-event-opts="{{[['tap',[['previewSignature',[baseUrl+memberSignature]]]]]}}" bindtap="__e"></image></view></view></view></block></block><view class="btn-group data-v-7253f40b"><button class="btn btn-primary data-v-7253f40b" type="submit" data-event-opts="{{[['tap',[['e1',['$event']]]]]}}" bindtap="__e">{{issubmitOrder?'提交':'提交中...'}}</button></view></form></view></view><search-select-modal vue-id="0f1af71b-1" show="{{showModal}}" title="{{modalTitle}}" options="{{currentOptions}}" loading="{{modalLoading}}" has-more="{{hasMoreData}}" search-param="{{searchParam}}" show-cross-store="{{currentSelectField==='hy'||currentSelectField==='jks'}}" is-cross-store="{{currentSelectField==='jks'?!filterByStore:isCrossStore}}" data-event-opts="{{[['^confirm',[['handleModalConfirm']]],['^close',[['closeModal']]],['^loadMore',[['handleLoadMore']]],['^refresh',[['handleRefresh']]],['^search',[['handleSearch']]],['^crossStoreChange',[['onCrossStoreChange']]]]}}" bind:confirm="__e" bind:close="__e" bind:loadMore="__e" bind:refresh="__e" bind:search="__e" bind:crossStoreChange="__e" class="data-v-7253f40b" bind:__l="__l"></search-select-modal><u-toast vue-id="0f1af71b-2" data-ref="uToast" class="data-v-7253f40b vue-ref" bind:__l="__l"></u-toast><block wx:if="{{showSignatureModal}}"><view data-event-opts="{{[['tap',[['closeSignatureModal',['$event']]]]]}}" class="signature-modal-overlay data-v-7253f40b" bindtap="__e"><view data-event-opts="{{[['tap',[['',['$event']]]]]}}" class="signature-modal data-v-7253f40b" catchtap="__e"><view class="signature-modal-header data-v-7253f40b"><text class="signature-modal-title data-v-7253f40b"></text><button data-event-opts="{{[['tap',[['closeSignatureModal',['$event']]]]]}}" class="btn-close-modal data-v-7253f40b" bindtap="__e">×</button></view><view class="signature-modal-content data-v-7253f40b"><signature-pad vue-id="0f1af71b-3" width="{{800}}" height="{{500}}" line-width="{{4}}" stroke-color="#2e7d32" px-info="{{signaturePxInfo}}" signature-type="consume" data-ref="signaturePadModal" data-event-opts="{{[['^confirm',[['handleSignatureConfirm']]],['^clear',[['handleSignatureClear']]]]}}" bind:confirm="__e" bind:clear="__e" class="data-v-7253f40b vue-ref" bind:__l="__l"></signature-pad></view></view></view></block></view>