|  |  | 
 |  |  | <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"> | 
 |  |  | 
 |  |  |                             </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>次数</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.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> | 
 |  |  | 
 |  |  |                                         <td> | 
 |  |  |                                             <el-input v-model="item.extract"></el-input> | 
 |  |  |                                         </td> | 
 |  |  |                                         <td> | 
 |  |  |                                             <el-button size="mini" type="danger" | 
 |  |  |                                                     @click="handleDelete(index)">删除</el-button> | 
 |  |  |                                         </td> | 
 |  |  |  | 
 |  |  |                                     </tr> | 
 |  |  |  | 
 |  |  | 
 |  |  | </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> | 
 |  |  | 
 |  |  |             }, | 
 |  |  |             //美疗师分配列表 | 
 |  |  |             serviceItems: [], | 
 |  |  |             // 删除的服务单明细 | 
 |  |  |             deleteItems : [], | 
 |  |  |             //美疗师 | 
 |  |  |             beauty: [], | 
 |  |  |             pls: [], | 
 |  |  | 
 |  |  |  | 
 |  |  |                         //处理空对象和时间 | 
 |  |  |                         let projService = data.mapInfo.projService; | 
 |  |  |  | 
 |  |  |                         console.log(projService); | 
 |  |  |                         let serviceItems = projService.serviceItems; | 
 |  |  |  | 
 |  |  |                         //转换床位时间格式 | 
 |  |  | 
 |  |  |  | 
 |  |  |                 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, | 
 |  |  | 
 |  |  |                 }); | 
 |  |  |             } | 
 |  |  |             , | 
 |  |  |             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; | 
 |  |  |                 } | 
 |  |  | 
 |  |  |                 }); | 
 |  |  |                 _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(); | 
 |  |  |                         } | 
 |  |  |                     }); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         }, | 
 |  |  |         filters: |