jyy
2021-03-16 51b1242dc2f55276b65f287974e7f86dcab8c74d
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
@@ -95,6 +95,14 @@
        .el-autocomplete {
            display: block !important;
        }
        .vip-info {
            padding: 30px 20px;
        }
        .vip-info p {
            line-height: 30px;
        }
    </style>
</head>
@@ -119,7 +127,6 @@
                <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-col>
        </el-header>
        <el-container>
@@ -142,7 +149,7 @@
                    <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.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>
@@ -152,7 +159,6 @@
                                size="small"
                                :key="tag.label"
                                v-for="tag in tags.tags"
                                closable
                                :disable-transitions="false"
                                @close="handleClose(tag)">
                            {{tag.label}}
@@ -166,15 +172,12 @@
                                @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>
@@ -182,7 +185,7 @@
            <el-main style="background-color: white; margin-right: 15px; padding: 20px 30px;">
                <el-tabs v-model="activeName" type="card" @tab-click="tabHandleClick">
                    <el-tab-pane label="会员信息" name="vipInfo">
                        <el-row>
                        <el-row class="vip-info">
                            <el-col :span="10">
                                <p>生日 : {{vipInfo.birthday1}}</p>
                                <p>会员状态 : {{vipInfo.vipState}}</p>
@@ -223,9 +226,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"
@@ -254,6 +259,8 @@
                                        <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 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>
@@ -262,9 +269,11 @@
                                    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="status"
@@ -289,6 +298,8 @@
                                        <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-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>
@@ -328,10 +339,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>
@@ -345,10 +352,12 @@
                                </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>
@@ -449,10 +458,10 @@
                                    <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>
@@ -523,14 +532,6 @@
                                <el-table-column
                                        prop="staffName"
                                        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"
@@ -637,7 +638,7 @@
    var app = new Vue({
        el: '#app',
        data : {
            circleUrl : "https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png",
            circleUrl : "",
            activeName : 'vipInfo',
            tags : {
                tags : [],
@@ -711,6 +712,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: {
@@ -734,6 +744,9 @@
            // 请求会员信息
            vipInfoFn(key) {
                let _this = this;
                if (!key) {
                    key = _this.vipInfo.phone;
                }
                // 请求用户信息
                $.AjaxProxy({
                    p: {
@@ -749,7 +762,7 @@
                    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;
@@ -760,9 +773,13 @@
                            _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) {
@@ -963,6 +980,28 @@
                    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;
@@ -1036,8 +1075,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
@@ -1081,7 +1120,7 @@
                }));
            },
            // 划扣
            openHkService(index, row) {
            hkService(index, row) {
                openHkServcie(row.id);
            },
            // 取消
@@ -1119,8 +1158,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
@@ -1194,8 +1233,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
@@ -1333,10 +1372,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");
            },
        }
    });