From 9c791d431038fe79a111805762ee2f42c96b51c5 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 08 Nov 2021 17:03:15 +0800
Subject: [PATCH] fix

---
 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html |  288 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 245 insertions(+), 43 deletions(-)

diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
index 00ed863..654e4b9 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
@@ -127,6 +127,7 @@
                 <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="info" plain @click="exportExcel">导出项目</el-button>
             </el-col>
         </el-header>
         <el-container>
@@ -149,7 +150,8 @@
                     <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>
@@ -177,10 +179,7 @@
                     <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>
@@ -198,7 +197,7 @@
                             </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>
@@ -229,9 +228,11 @@
                             <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"
@@ -256,10 +257,11 @@
                                 </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>
@@ -269,9 +271,16 @@
                                     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"
@@ -292,10 +301,11 @@
                                 </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>
@@ -336,10 +346,6 @@
                                         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>
@@ -353,10 +359,11 @@
                                 </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>
@@ -458,8 +465,8 @@
                                     <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="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>
@@ -534,14 +541,6 @@
                                         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>
@@ -573,6 +572,69 @@
                                     :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>
@@ -632,10 +694,31 @@
                             </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>
@@ -700,6 +783,23 @@
                     total : 0
                 }
             },
+            //用户积分tab
+            scoreTab : {
+                scoreTableDate : [],
+                selectTime : '',
+                remarks:'',
+                showChangePaln:false,
+                page : {
+                    currentPage : 1,
+                    pageSize : 10,
+                    total : 0
+                },
+                form:{
+                    amount:'',
+                    remarks:'',
+                }
+
+            },
             // 皮肤检测tab
             skinTab : {
                 skinTableDate : [],
@@ -720,6 +820,15 @@
             }
         },
         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: {
@@ -739,6 +848,7 @@
             },
             handleSelect(row) {
                 this.vipInfoFn(row.key);
+                this.searchValue=row.key;
             },
             // 请求会员信息
             vipInfoFn(key) {
@@ -772,7 +882,7 @@
                             _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();
@@ -1074,8 +1184,8 @@
                 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
@@ -1124,7 +1234,7 @@
             },
             // 取消
             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) {
@@ -1157,8 +1267,8 @@
                 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
@@ -1214,6 +1324,85 @@
             },
             /********* 订单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();
@@ -1232,8 +1421,8 @@
                 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
@@ -1303,6 +1492,11 @@
                         this.skinCheckTableDataQueryFn();
                     }
                 }
+                if (tab.name === "scoreTab") {
+                    if (_this.scoreTab.scoreTableDate.length <= 0) {
+                        this.scoreCheckTableDataQueryFn();
+                    }
+                }
             },
 
             /********** 标签代码 start ************/
@@ -1348,7 +1542,15 @@
                     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() {
@@ -1371,10 +1573,10 @@
             /********** 顶部按钮 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");
             },
         }
     });

--
Gitblit v1.9.1