|  |  | 
 |  |  |                 <el-button type="primary" plain @click="recharge">充值</el-button> | 
 |  |  |                 <el-button type="warning" plain @click="addOrder">开单</el-button> | 
 |  |  |                 <el-button type="success" plain @click="addServiceOrder">开服务单</el-button> | 
 |  |  |                 <el-button type="danger" plain @click="returnMoney">退款</el-button> | 
 |  |  |                 <el-button type="info" plain @click="exportExcel">导出项目</el-button> | 
 |  |  |             </el-col> | 
 |  |  |         </el-header> | 
 |  |  |         <el-container> | 
 |  |  | 
 |  |  |                     <el-row style="padding: 10px 20px;"> | 
 |  |  |                         <p>余额:<span v-if="vipInfo.balance != null">{{vipInfo.balance}}元</span></p> | 
 |  |  |                         <p>积分:<span v-if="vipInfo.pointAll != null">{{vipInfo.pointAll}}</span></p> | 
 |  |  |                         <p>累计消费金额:<span v-if="vipInfo.totalMoney != null">{{vipInfo.totalMoney}} 元</span></p> | 
 |  |  |                         <p>欠款金额:<span v-if="vipInfo.arrears != null">{{vipInfo.arrears}} 元</span></p> | 
 |  |  |                         <p>累计消费金额:<span v-if="vipInfo.totalMoney != null">{{vipInfo.totalMoney.toFixed(2)}} 元</span></p> | 
 |  |  |                         <p>累计消费次数:<span v-if="vipInfo.totalTimes != null">{{vipInfo.totalTimes}} 次</span></p> | 
 |  |  |                         <p>上次消费时间:<span v-if="vipInfo.payTime">{{vipInfo.payTime}}</span></p> | 
 |  |  |                     </el-row> | 
 |  |  | 
 |  |  |                                 size="small" | 
 |  |  |                                 :key="tag.label" | 
 |  |  |                                 v-for="tag in tags.tags" | 
 |  |  |                                 closable | 
 |  |  |                                 :disable-transitions="false" | 
 |  |  |                                 @close="handleClose(tag)"> | 
 |  |  |                             {{tag.label}} | 
 |  |  | 
 |  |  |                                 @keyup.enter.native="handleInputConfirm" | 
 |  |  |                                 @blur="handleInputConfirm" | 
 |  |  |                         ></el-input> | 
 |  |  |                         <el-button v-else class="button-new-tag" size="mini" @click="showInput">+</el-button> | 
 |  |  | <!--                        <el-button v-else class="button-new-tag" size="mini" @click="showInput">+</el-button>--> | 
 |  |  |                     </el-row> | 
 |  |  |                     <el-row style="padding: 10px 0;"> | 
 |  |  |                         <h4>消费门店</h4> | 
 |  |  |                         <el-row style="text-align: center"> | 
 |  |  |                             <el-col :span="10" v-for="item in vipInfo.shopNames"> | 
 |  |  |                                 <el-avatar size="small" :src="circleUrl"></el-avatar> | 
 |  |  |                                 <span class="col-style">{{item}}</span> | 
 |  |  |                             </el-col> | 
 |  |  |                                 <el-tag v-for="item in vipInfo.shopNames" >{{item}}</el-tag> | 
 |  |  |                         </el-row> | 
 |  |  |                     </el-row> | 
 |  |  |                 </el-row> | 
 |  |  | 
 |  |  |                             </el-col> | 
 |  |  |                             <el-col :span="10"> | 
 |  |  |                                 <p>会员卡类型 : {{vipInfo.vipType}}</p> | 
 |  |  |                                 <p>会员等级 : {{vipInfo.levelName}}</p> | 
 |  |  |                                 <p>会员等级 : {{vipInfo.vipLevel == null ? "" : vipInfo.vipLevel.levelName}}</p> | 
 |  |  |                                 <p>生肖/星座 : {{vipInfo.constell}}</p> | 
 |  |  |                                 <p>地址 : {{vipInfo.addr}}</p> | 
 |  |  |                                 <p>健康顾问 : {{vipInfo.staffName}}</p> | 
 |  |  | 
 |  |  |                             <el-table id="proj" v-show="projTab.projType=='proj'" :data="projTab.projTableData" | 
 |  |  |                                     style="width: 100%"> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="projName" | 
 |  |  |                                         label="项目名称" | 
 |  |  |                                         width="180"> | 
 |  |  |                                     <template slot-scope="scope"> | 
 |  |  |                                         <span >{{scope.row.projName}}({{scope.row.projInfo.code}})</span> | 
 |  |  |                                     </template> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="source" | 
 |  |  | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column label="操作"> | 
 |  |  |                                     <template slot-scope="scope"> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-youxiao" v-if="scope.row.status!='有效'" type="text" size="small" @click="tabProjValid(scope.$index, scope.row)">有效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效'" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结'" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-cardEdit" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipinfoClub-youxiao" v-if="scope.row.status!='有效'" type="text" size="small" @click="tabProjValid(scope.$index, scope.row)">有效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipinfoClub-wuxiao" v-if="scope.row.status!='无效'" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipinfoClub-dongjie" v-if="scope.row.status!='冻结'" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipinfoClub-cardEdit" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button> | 
 |  |  |                                         <el-button type="text"  @click="openOrder(scope.$index, scope.row)" size="small">订单</el-button> | 
 |  |  |                                         <el-button  type="text" size="small" @click="openProjUseFlow(scope.$index, scope.row)">操作记录</el-button> | 
 |  |  |                                     </template> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                             </el-table> | 
 |  |  | 
 |  |  |                                     style="width: 100%;" | 
 |  |  |                                     row-key="id" :tree-props="{children: 'taocanProjUse', hasChildren: 'hasChildren'}"> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="projName" | 
 |  |  |                                         label="名称" | 
 |  |  |                                         width="240"> | 
 |  |  |                                         width="280"> | 
 |  |  |                                     <template slot-scope="scope"> | 
 |  |  |                                         <span >{{scope.row.projName}}({{scope.row.projInfo.code}})</span> | 
 |  |  |                                     </template> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="source" | 
 |  |  |                                         label="来源" | 
 |  |  |                                         width="180"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="status" | 
 |  |  | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column label="操作" fixed="right" width="160"> | 
 |  |  |                                     <template slot-scope="scope"> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-youxiao" v-if="scope.row.status!='有效' && scope.row.taocanId == null" type="text" size="small" @click="tabProjValid(scope.$index, scope.row)">有效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效' && scope.row.taocanId == null" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-youxiao" v-if="scope.row.status!='有效'" type="text" size="small" @click="tabProjValid(scope.$index, scope.row)">有效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效'" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结' && scope.row.taocanId == null" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-cardEdit" v-if="scope.row.taocanId == null" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button> | 
 |  |  |                                         <el-button type="text" v-if="scope.row.orderId != null"  @click="openOrder(scope.$index, scope.row)" size="small">订单</el-button> | 
 |  |  |                                         <el-button  type="text" size="small" @click="openProjUseFlow(scope.$index, scope.row)">操作记录</el-button> | 
 |  |  |                                     </template> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                             </el-table> | 
 |  |  | 
 |  |  |                                         label="状态"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="isVipCar" | 
 |  |  |                                         label="是否是会籍卡"  :formatter="cardIsVipFormatter"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="isOver" | 
 |  |  |                                         label="是否使用完成" :formatter="cardIsOrderFormatter"> | 
 |  |  |                                 </el-table-column> | 
 |  |  | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column label="操作" fixed="right" width="160"> | 
 |  |  |                                     <template slot-scope="scope"> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-youxiao" v-if="scope.row.status!='有效'" type="text" size="small" @click="tabProjValid(scope.$index, scope.row)">有效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效'" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结'" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-youxiao" v-if="scope.row.status!='有效' && scope.row.isVipCar =='N' " type="text" size="small" @click="tabProjValid(scope.$index, scope.row)">有效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效' && scope.row.isVipCar =='N'  " type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结' && scope.row.isVipCar =='N' " type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-cardEdit" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button> | 
 |  |  |                                         <el-button type="text"  v-if="scope.row.isVipCar =='N'"  @click="openOrder(scope.$index, scope.row)" size="small">订单</el-button> | 
 |  |  |                                         <el-button  type="text" size="small" @click="openMoneyCardUseFlow(scope.$index, scope.row)">操作记录</el-button> | 
 |  |  |                                     </template> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                             </el-table> | 
 |  |  | 
 |  |  |                                     <template slot-scope="scope"> | 
 |  |  |                                         <el-button type="text" size="small" @click="lookServiceOrder(scope.$index, scope.row)">查看</el-button> | 
 |  |  |                                         <el-button matrix:btn="serviceClub-paiban" type="text" size="small" v-if="scope.row.state=='待预约'" @click="paiban(scope.$index, scope.row)">排班</el-button> | 
 |  |  |                                         <el-button matrix:btn="serviceClub-paidan" type="text" size="small" v-if="scope.row.state=='预约成功待处理'" @click="giveServiceOrder(scope.$index, scope.row)">派单</el-button> | 
 |  |  |                                         <el-button matrix:btn="serviceClub-edit" type="text" size="small" v-if="scope.row.state=='预约成功待处理'" @click="modifyServiceOrder(scope.$index, scope.row)">修改</el-button> | 
 |  |  | <!--                                        <el-button matrix:btn="serviceClub-paidan" type="text" size="small" v-if="scope.row.state=='预约成功待处理'" @click="giveServiceOrder(scope.$index, scope.row)">派单</el-button>--> | 
 |  |  |                                         <el-button matrix:btn="serviceClub-edit" type="text" size="small" v-if="scope.row.state=='待预约'" @click="modifyServiceOrder(scope.$index, scope.row)">修改</el-button> | 
 |  |  |                                         <el-button matrix:btn="serviceClub-peiliao" type="text" size="small" v-if="scope.row.state=='需配料'" @click="peiliao(scope.$index, scope.row)">配料</el-button> | 
 |  |  |                                         <el-button matrix:btn="serviceClub-huakou" type="text" size="small" v-if="scope.row.state=='服务完成'" @click="openHKService(scope.$index, scope.row)">划扣</el-button> | 
 |  |  |                                         <el-button matrix:btn="serviceClub-huakou" type="text" size="small" v-if="scope.row.state=='服务完成'" @click="hkService(scope.$index, scope.row)">划扣</el-button> | 
 |  |  |                                         <el-button matrix:btn="serviceClub-edit" type="text" size="small" @click="modifyTime(scope.$index, scope.row)">修改时间</el-button> | 
 |  |  |                                         <el-button matrix:btn="serviceClub-del" type="text" size="small" v-if="scope.row.state!='预约取消'" @click="cancelServiceOrder(scope.$index, scope.row)">取消</el-button> | 
 |  |  |                                     </template> | 
 |  |  | 
 |  |  |                                         label="下单顾问"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="cashPay" | 
 |  |  |                                         label="现金支付金额"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="cardPay" | 
 |  |  |                                         label="卡支付金额"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="arrears" | 
 |  |  |                                         label="欠款金额"> | 
 |  |  |                                 </el-table-column> | 
 |  |  | 
 |  |  |                                     :page-size="orderTab.page.pageSize" | 
 |  |  |                                     layout="total, sizes, prev, pager, next, jumper" | 
 |  |  |                                     :total="orderTab.page.total"> | 
 |  |  |                             </el-pagination> | 
 |  |  |                         </el-row> | 
 |  |  |                     </el-tab-pane> | 
 |  |  |                     <el-tab-pane label="积分记录" name="scoreTab"> | 
 |  |  |                         <el-row style="line-height: 40px;"> | 
 |  |  |                             <el-col :span="8"> | 
 |  |  |                                 <el-date-picker v-model="scoreTab.selectTime" | 
 |  |  |                                                 type="daterange" | 
 |  |  |                                                 range-separator="至" | 
 |  |  |                                                 format="yyyy-MM-dd" | 
 |  |  |                                                 start-placeholder="开始日期" | 
 |  |  |                                                 end-placeholder="结束日期"> | 
 |  |  |                                 </el-date-picker> | 
 |  |  |                             </el-col> | 
 |  |  |                             <el-col :span="8">   <el-input v-model="scoreTab.remarks" placeholder="请输入备注查询" ></el-input></el-col> | 
 |  |  |                             <el-col :span="6" style="margin-left: 5px;"> | 
 |  |  |                                 <el-button type="primary" @click="scoreCheckQuery">查询</el-button> | 
 |  |  |                                 <el-button type="primary"  @click="changeScore">调整</el-button> | 
 |  |  |                             </el-col> | 
 |  |  |                         </el-row> | 
 |  |  |                         <el-row class="table-style"> | 
 |  |  |                             <el-table :data="scoreTab.scoreTableDate" | 
 |  |  |                                       style="width: 100%;"> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         type="index" | 
 |  |  |                                         width="50"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="createTime" | 
 |  |  |                                         label="时间"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="optionName" | 
 |  |  |                                         label="操作人员"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="shopName" | 
 |  |  |                                         label="门店"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="recNum" | 
 |  |  |                                         label="修改数量"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="nowScore" | 
 |  |  |                                         label="余额"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                                 <el-table-column | 
 |  |  |                                         prop="remarks" | 
 |  |  |                                         label="备注"> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                             </el-table> | 
 |  |  |                         </el-row> | 
 |  |  |                         <el-row> | 
 |  |  |                             <el-pagination | 
 |  |  |                                     background | 
 |  |  |                                     @size-change="scoreCheckSizeChange" | 
 |  |  |                                     @current-change="scoreCheckCurrentChange" | 
 |  |  |                                     :current-page="scoreTab.page.currentPage" | 
 |  |  |                                     :page-sizes="[10, 20, 30, 50]" | 
 |  |  |                                     :page-size="scoreTab.page.pageSize" | 
 |  |  |                                     layout="total, sizes, prev, pager, next, jumper" | 
 |  |  |                                     :total="scoreTab.page.total"> | 
 |  |  |                             </el-pagination> | 
 |  |  |                         </el-row> | 
 |  |  |                     </el-tab-pane> | 
 |  |  | 
 |  |  |                             </el-pagination> | 
 |  |  |                         </el-row> | 
 |  |  |                     </el-tab-pane> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 </el-tabs> | 
 |  |  |             </el-main> | 
 |  |  |         </el-container> | 
 |  |  |     </el-container> | 
 |  |  |  | 
 |  |  |     <el-dialog title="积分调整" :visible.sync="scoreTab.showChangePaln"> | 
 |  |  |         <el-form :model="scoreTab.form"> | 
 |  |  |              <h3>可用积分:{{vipInfo.pointAll}}</h3> | 
 |  |  |             <el-form-item label="调整数量" > | 
 |  |  |                 <el-input v-model="scoreTab.form.amount" autocomplete="off"></el-input> | 
 |  |  |             </el-form-item> | 
 |  |  |             <el-form-item label="调整备注" > | 
 |  |  |                 <el-input v-model="scoreTab.form.remarks" autocomplete="off"></el-input> | 
 |  |  |             </el-form-item> | 
 |  |  |         </el-form> | 
 |  |  |         <div slot="footer" class="dialog-footer"> | 
 |  |  |             <el-button @click="scoreTab.showChangePaln = false">取 消</el-button> | 
 |  |  |             <el-button type="primary" @click="submitChangeScore" >确 定</el-button> | 
 |  |  |         </div> | 
 |  |  |     </el-dialog> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | </div> | 
 |  |  | </body> | 
 |  |  | <script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script> | 
 |  |  | 
 |  |  |     var app = new Vue({ | 
 |  |  |         el: '#app', | 
 |  |  |         data : { | 
 |  |  |             circleUrl : "https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png", | 
 |  |  |             circleUrl : "", | 
 |  |  |             activeName : 'vipInfo', | 
 |  |  |             tags : { | 
 |  |  |                 tags : [], | 
 |  |  | 
 |  |  |                     total : 0 | 
 |  |  |                 } | 
 |  |  |             }, | 
 |  |  |             //用户积分tab | 
 |  |  |             scoreTab : { | 
 |  |  |                 scoreTableDate : [], | 
 |  |  |                 selectTime : '', | 
 |  |  |                 remarks:'', | 
 |  |  |                 showChangePaln:false, | 
 |  |  |                 page : { | 
 |  |  |                     currentPage : 1, | 
 |  |  |                     pageSize : 10, | 
 |  |  |                     total : 0 | 
 |  |  |                 }, | 
 |  |  |                 form:{ | 
 |  |  |                     amount:'', | 
 |  |  |                     remarks:'', | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             }, | 
 |  |  |             // 皮肤检测tab | 
 |  |  |             skinTab : { | 
 |  |  |                 skinTableDate : [], | 
 |  |  | 
 |  |  |             } | 
 |  |  |         }, | 
 |  |  |         methods : { | 
 |  |  |             //打开订单详情页面 | 
 |  |  |             openOrder(index,row){ | 
 |  |  |                 layer.full(layer.open({ | 
 |  |  |                     type : 2, | 
 |  |  |                     title : "订单详情", | 
 |  |  |                     maxmin : true, | 
 |  |  |                     content : [ basePath + '/admin/order/orderItem?id=' + row.orderId ] | 
 |  |  |                 })); | 
 |  |  |             }, | 
 |  |  |             querySearch(queryString, cb) { | 
 |  |  |                 $.AjaxProxy({ | 
 |  |  |                     p: { | 
 |  |  | 
 |  |  |             }, | 
 |  |  |             handleSelect(row) { | 
 |  |  |                 this.vipInfoFn(row.key); | 
 |  |  |                 this.searchValue=row.key; | 
 |  |  |             }, | 
 |  |  |             // 请求会员信息 | 
 |  |  |             vipInfoFn(key) { | 
 |  |  | 
 |  |  |                     let data = loj[0].result.rows[0]; | 
 |  |  |                     _this.vipInfo = {}; | 
 |  |  |                     _this.vipInfo = data; | 
 |  |  |  | 
 |  |  |                     _this.circleUrl= _this.vipInfo.photo; | 
 |  |  |                     if (data.sysOrder != null) { | 
 |  |  |                         _this.vipInfo.totalMoney = data.sysOrder.zkTotal; | 
 |  |  |                         _this.vipInfo.totalTimes = data.sysOrder.times; | 
 |  |  | 
 |  |  |                             _this.vipInfo.shopNames = shopNames; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     _this.vipInfo.payTime = moment(_this.vipInfo.payTime).format("YYYY-MM-DD HH:mm:ss") | 
 |  |  |                     _this.tags.tags = data.labels; | 
 |  |  |                     _this.projTableQueryFn(); | 
 |  |  |                     _this.serviceOrderTableQueryFn(); | 
 |  |  |                     _this.orderTableDataQueryFn(); | 
 |  |  |                     _this.skinCheckTableDataQueryFn(); | 
 |  |  |                     _this.refreshTable(); | 
 |  |  |                 }); | 
 |  |  |             }, | 
 |  |  |             addLabelFn(key) { | 
 |  |  | 
 |  |  |                     content : [ basePath + url + row.id ] | 
 |  |  |                 }); | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             openProjUseFlow(index, row) { | 
 |  |  |                 layer.open({ | 
 |  |  |                     type : 2, | 
 |  |  |                     title : "操作记录", | 
 |  |  |                     area : MUI.SIZE_M, | 
 |  |  |                     maxmin : true, | 
 |  |  |                     content : [ basePath + "/admin/redirect/hive/beautySalon/projUseFlow-list?projUseId=" + row.id ] | 
 |  |  |                 }); | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |             openMoneyCardUseFlow(index, row) { | 
 |  |  |                 layer.open({ | 
 |  |  |                     type : 2, | 
 |  |  |                     title : "充值卡变更记录", | 
 |  |  |                     area : MUI.SIZE_M, | 
 |  |  |                     maxmin : true, | 
 |  |  |                     content : [ basePath + "/admin/redirect/hive/vip/moneyCardUseFlow-list?vipId=" + row.vipId ] | 
 |  |  |                 }); | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |             tabProjInvalid(index, row) { | 
 |  |  |                 let _this = this; | 
 |  |  |                 let projType = _this.projTab.projType; | 
 |  |  | 
 |  |  |                 params.state = serviceOrderTab.state; | 
 |  |  |                 params.vipId = _this.vipInfo.id; | 
 |  |  |                 if (serviceOrderTab.selectTime) { | 
 |  |  |                     params.beginTime = moment(serviceOrderTab.selectTime[0]).format("YYYY-MM-DD HH:mm"); | 
 |  |  |                     params.closureTime = moment(serviceOrderTab.selectTime[1]).format("YYYY-MM-DD HH:mm"); | 
 |  |  |                     params.beginTime = serviceOrderTab.selectTime?moment(serviceOrderTab.selectTime[0]).format("YYYY-MM-DD HH:mm"):''; | 
 |  |  |                     params.closureTime = serviceOrderTab.selectTime?moment(serviceOrderTab.selectTime[1]).format("YYYY-MM-DD HH:mm"):''; | 
 |  |  |                 } | 
 |  |  |                 $.AjaxProxy({ | 
 |  |  |                     p:params | 
 |  |  | 
 |  |  |                 })); | 
 |  |  |             }, | 
 |  |  |             // 划扣 | 
 |  |  |             openHkService(index, row) { | 
 |  |  |             hkService(index, row) { | 
 |  |  |                 openHkServcie(row.id); | 
 |  |  |             }, | 
 |  |  |             // 取消 | 
 |  |  |             cancelServiceOrder(index, row) { | 
 |  |  |                 MTools.handleItem(basePath + "/admin/projService/cancelOrder?id=" + row.row, "确定取消订单吗?", this.serviceOrderQuery); | 
 |  |  |                 MTools.handleItem(basePath + "/admin/projService/cancelOrder?id=" + row.id, "确定取消订单吗?", this.serviceOrderQuery); | 
 |  |  |             }, | 
 |  |  |             // 修改时间 | 
 |  |  |             modifyTime(index, row) { | 
 |  |  | 
 |  |  |                 params.statu = orderTab.state; | 
 |  |  |                 params.vipId = _this.vipInfo.id; | 
 |  |  |                 if (orderTab.selectTime) { | 
 |  |  |                     params.beginTimeVo = moment(orderTab.selectTime[0]).format("YYYY-MM-DD HH:mm"); | 
 |  |  |                     params.endTimeVo = moment(orderTab.selectTime[1]).format("YYYY-MM-DD HH:mm"); | 
 |  |  |                     params.beginTimeVo = orderTab.selectTime?moment(orderTab.selectTime[0]).format("YYYY-MM-DD HH:mm"):''; | 
 |  |  |                     params.endTimeVo = orderTab.selectTime?moment(orderTab.selectTime[1]).format("YYYY-MM-DD HH:mm"):''; | 
 |  |  |                 } | 
 |  |  |                 $.AjaxProxy({ | 
 |  |  |                     p:params | 
 |  |  | 
 |  |  |             }, | 
 |  |  |             /********* 订单Tab end ***********/ | 
 |  |  |  | 
 |  |  |             /************** 积分tab start **************/ | 
 |  |  |             submitChangeScore(){ | 
 |  |  |                 let _this=this; | 
 |  |  |  | 
 |  |  |                 var params={ | 
 |  |  |                     amount:this.scoreTab.form.amount, | 
 |  |  |                     remarks:this.scoreTab.form.remarks, | 
 |  |  |                     vipId:this.vipInfo.id | 
 |  |  |                 }; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 $.AjaxProxy({ | 
 |  |  |                     p:params, | 
 |  |  |                     json:"json" | 
 |  |  |                 }).invoke(basePath + "/admin/score/changeUserScore", function (loj) { | 
 |  |  |                     _this.$message.success('调整成功'); | 
 |  |  |                     _this.scoreTab.showChangePaln=false; | 
 |  |  |                     _this.scoreTab.form={ | 
 |  |  |                         amount:'', | 
 |  |  |                         remarks:'' | 
 |  |  |                     } | 
 |  |  |                     _this.vipInfoFn(_this.searchValue); | 
 |  |  |                     _this.scoreCheckQuery(); | 
 |  |  |  | 
 |  |  |                 }); | 
 |  |  |  | 
 |  |  |             }, | 
 |  |  |             changeScore(){ | 
 |  |  |                 if (!this.vipInfo.id) { | 
 |  |  |                     this.$message.error('请选择用户'); | 
 |  |  |                     return; | 
 |  |  |                 }else { | 
 |  |  |                     this.scoreTab.showChangePaln=true; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |             scoreCheckQuery() { | 
 |  |  |                 this.scoreCheckTableDataQueryFn(); | 
 |  |  |             }, | 
 |  |  |             scoreCheckTableDataQueryFn() { | 
 |  |  |                 let _this = this; | 
 |  |  |                 let scoreTab = _this.scoreTab; | 
 |  |  |                 let page = scoreTab.page; | 
 |  |  |                 var params = {}; | 
 |  |  |  | 
 |  |  |                 if (!_this.vipInfo.id) { | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 params.pageSize = page.pageSize; | 
 |  |  |                 params.pageNum =page.currentPage ; | 
 |  |  |                 params.vipId = _this.vipInfo.id; | 
 |  |  |                 params.remarks = scoreTab.remarks; | 
 |  |  |                 if (scoreTab.selectTime) { | 
 |  |  |                     params.beginTime = scoreTab.selectTime?moment(scoreTab.selectTime[0]).format("YYYY-MM-DD"):''; | 
 |  |  |                     params.endTime = scoreTab.selectTime?moment(scoreTab.selectTime[1]).format("YYYY-MM-DD"):''; | 
 |  |  |                 } | 
 |  |  |                 $.AjaxProxy({ | 
 |  |  |                     p:params, | 
 |  |  |                     json:"json" | 
 |  |  |                 }).invoke(basePath + "/admin/score/getFlowList", function (loj) { | 
 |  |  |                     scoreTab.page.total = loj.getResult().total; | 
 |  |  |                     scoreTab.scoreTableDate = loj.getValue("rows"); | 
 |  |  |                 }); | 
 |  |  |             }, | 
 |  |  |             scoreCheckSizeChange(val) { | 
 |  |  |                 this.scoreTab.page.pageSize = val; | 
 |  |  |                 this.scoreCheckTableDataQueryFn() | 
 |  |  |             }, | 
 |  |  |             scoreCheckCurrentChange(val) { | 
 |  |  |                 this.scoreTab.page.currentPage = val; | 
 |  |  |                 this.scoreCheckTableDataQueryFn() | 
 |  |  |             }, | 
 |  |  |             /************** 积分tab end **************/ | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             /************** 皮肤检测tab start **************/ | 
 |  |  |             skinCheckQuery() { | 
 |  |  |                 this.skinCheckTableDataQueryFn(); | 
 |  |  | 
 |  |  |                 params.offset = (page.currentPage - 1) * page.pageSize; | 
 |  |  |                 params.userId = _this.vipInfo.id; | 
 |  |  |                 if (skinTab.selectTime) { | 
 |  |  |                     params.beginTime = moment(skinTab.selectTime[0]).format("YYYY-MM-DD"); | 
 |  |  |                     params.endTime = moment(skinTab.selectTime[1]).format("YYYY-MM-DD"); | 
 |  |  |                     params.beginTime = skinTab.selectTime?moment(skinTab.selectTime[0]).format("YYYY-MM-DD"):''; | 
 |  |  |                     params.endTime = skinTab.selectTime?moment(skinTab.selectTime[1]).format("YYYY-MM-DD"):''; | 
 |  |  |                 } | 
 |  |  |                 $.AjaxProxy({ | 
 |  |  |                     p:params | 
 |  |  | 
 |  |  |                         this.skinCheckTableDataQueryFn(); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 if (tab.name === "scoreTab") { | 
 |  |  |                     if (_this.scoreTab.scoreTableDate.length <= 0) { | 
 |  |  |                         this.scoreCheckTableDataQueryFn(); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |             /********** 标签代码 start ************/ | 
 |  |  | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |                 vipId = this.vipInfo.id; | 
 |  |  |                 openAddService(); | 
 |  |  |                 openAddService(vipId); | 
 |  |  |             }, | 
 |  |  |             exportExcel(){ | 
 |  |  |                 if (!this.vipInfo.id) { | 
 |  |  |                     this.$message.error('请选择用户'); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |                 vipId = this.vipInfo.id; | 
 |  |  |                 window.location.href=basePath+"/admin/vipInfo/exportExcel/"+vipId; | 
 |  |  |             }, | 
 |  |  |             // 开订单 | 
 |  |  |             addOrder() { | 
 |  |  | 
 |  |  |             /********** 顶部按钮 start **********/ | 
 |  |  |  | 
 |  |  |             dateFormat(row, column) { | 
 |  |  |                 return moment(column.yyTime).format("YYYY-MM-DD HH:mm"); | 
 |  |  |                 return moment(row.yyTime).format("YYYY-MM-DD HH:mm"); | 
 |  |  |             }, | 
 |  |  |             oderTimeFormat(row, column) { | 
 |  |  |                 return moment(column.orderTime).format("YYYY-MM-DD HH:mm:ss"); | 
 |  |  |                 return moment(row.orderTime).format("YYYY-MM-DD HH:mm:ss"); | 
 |  |  |             }, | 
 |  |  |         } | 
 |  |  |     }); |