Helius
2022-05-27 4351e71d782741143a98f86f6648acd16689165f
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yypb-form.html
@@ -19,7 +19,7 @@
<body>
<div class="ibox-content" id="app" v-cloak>
    <form class="form-horizontal" id="dataform"
          onsubmit="javascripr:return false;">
          onsubmit="javascript:return false;">
        <input autocomplete="off"   type="hidden" v-model="projService.id">
        <div class="form-group">
@@ -48,7 +48,8 @@
                            </div>
                            <label class="col-md-1 control-label">服务时长</label>
                            <div class="col-md-3">
                                <el-input @change="changeYyTime()" v-model="projService.totalTime"></el-input>
<!--                                <el-input @change="changeYyTime()" v-model="projService.totalTime"></el-input>-->
                                <label class="control-label">{{projService.totalTime}}</label>
                            </div>
                        </div>
                        <div class="form-group">
@@ -100,20 +101,31 @@
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-md-1 control-label"></label>
                            <div class="col-md-11">
                                <el-button size="medium" type="primary" @click="addProjForm">新增项目</el-button>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-md-1 control-label">服务设置</label>
                            <div class="col-md-11">
                                <table class="table table-bordered">
                                    <tr>
                                        <th>项目名称</th>
                                        <th width="50px">服务时长</th>
                                        <th>次数</th>
                                        <th>划扣金额</th>
                                        <th width="100px">服务时长(分钟)</th>
                                        <th>服务时间</th>
                                        <th width="300px">美疗师</th>
                                        <th style="width: 100px;">提成</th>
                                        <th>操作</th>
                                    </tr>
                                    <tr v-for="(item,index) in projService.serviceItems">
                                        <td>{{item.projInfo.name}}</td>
                                        <td>{{item.projInfo.timeLength}}(分钟)</td>
                                        <td>{{item.projInfo.name}}【{{item.projUse.source}}】</td>
                                        <td>{{item.count}}</td>
                                        <td>{{item.projUse.price * item.count}}</td>
                                        <td><el-input @change="changeTimeLength" v-model="item.projInfo.timeLength"></el-input></td>
                                        <td>
                                            <div style="display: flex;">
@@ -152,6 +164,10 @@
                                        <td>
                                            <el-input v-model="item.extract"></el-input>
                                        </td>
                                        <td>
                                            <el-button size="mini" type="danger"
                                                    @click="handleDelete(index)">删除</el-button>
                                        </td>
                                    </tr>
@@ -185,6 +201,7 @@
</div>
<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
<script type="text/javascript" th:src="@{/plugin/bootstrap-3.3.5/js/bootstrap.min.js}"></script>
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
@@ -200,6 +217,8 @@
            },
            //美疗师分配列表
            serviceItems: [],
            // 删除的服务单明细
            deleteItems : [],
            //美疗师
            beauty: [],
            pls: [],
@@ -248,7 +267,7 @@
                        //处理空对象和时间
                        let projService = data.mapInfo.projService;
                        console.log(projService);
                        let serviceItems = projService.serviceItems;
                        //转换床位时间格式
@@ -323,6 +342,7 @@
                        endTime: endTime,
                        staffId: beStates.staffId,
                        extract: beStates.extract,
                        excTime : beStates.projInfo.timeLength,
                        id: beStates.id,
                    });
@@ -331,12 +351,14 @@
                var params = {
                    id: projService.id,
                    state : projService.state,
                    totalTime: projService.totalTime,
                    remark: projService.remark,
                    bedId: projService.bedId,
                    devisionId: projService.devisionId,
                    yyTime: projService.yyTime,
                    serviceItems: serviceItems,
                    deleteItems : _this.deleteItems,
                    //床位时间
                    bedState: {
                        startTime: startTime,
@@ -433,12 +455,12 @@
                });
            }
            ,
            getFreedBeautyd: function (index) {
            getFreedBeautyd: function () {
                console.log("获取美疗师");
                let _this = this;
                let projService = _this.projService;
                let beStates = projService.serviceItems[index];
                let beStates = projService.serviceItems[0];
                console.log(beStates);
                if (beStates == null ||  MTools.isBlank(beStates.beginTimeForm) ||    MTools.isBlank(beStates.endTimeForm )  ){
                    return;
                }
@@ -465,8 +487,102 @@
                });
            }
            ,
            },
            changeTimeLength:function() {
                let _this = this;
                var totalTime = 0;
                _this.projService.serviceItems.forEach(item => {
                    totalTime += parseInt(item.projInfo.timeLength);
                });
                _this.projService.totalTime = totalTime;
                _this.changeYyTime();
            },
            handleDelete : function(index) {
                let _this = this;
                var items = this.projService.serviceItems;
                if (items.length > 1) {
                    let delItem = items.splice(index, 1);
                    if (delItem[0].servicesId) {
                        AjaxProxy.requst({
                            app: _this,
                            url: basePath + "/admin/projService/delServiceOrderItems?id="+delItem[0].id,
                            callback: function (data) {
                                _this.$message({
                                    message: data.info,
                                    type: 'success'
                                });
                            }
                        });
                    }
                } else {
                    this.$message({
                        message: '需保留一个项目',
                        type: 'error'
                    });
                }
            },
            addProjForm() {
                var vipId = this.projService.vipInfo.id;
                layer.full(layer.open({
                    type: 2,
                    title: "添加项目",
                    maxmin: true,
                    area: [MUI.SIZE_L, '500px'],
                    content: [basePath + '/admin/redirect/hive/beautySalon/yyServiceAddForm?id='+vipId]
                }));
            },
            addProjItems(rows) {
                let _this = this;
                var serviceItems = this.projService.serviceItems;
                for (let i = 0; i < rows.length; i++) {
                    let row = rows[i]
                    let flag = false;
                    for (let j = 0; j < serviceItems.length; j++) {
                        let item = serviceItems[j];
                        if (item.puseId == row.projUse.id) {
                            flag = true;
                            break;
                        }
                    }
                    if (flag) {
                        continue;
                    }
                    let items = [];
                    row.projUse.projInfo.name = row.name + "--" + row.projUse.projName;
                    items.push({
                        puseId : row.projUse.id,
                        count : row.count,
                        projUse : row.projUse,
                        projInfo : row.projUse.projInfo
                    });
                    let data = {};
                    data.id = _this.projService.id;
                    data.state = _this.projService.state;
                    data.serviceItems = items;
                    AjaxProxy.requst({
                        app: _this,
                        data : data,
                        url: basePath + "/admin/projService/addService",
                        callback: function (data) {
                            _this.$message({
                                message: "添加成功",
                                type: 'success'
                            });
                            _this.loadInfo();
                        }
                    });
                }
            },
        },