|  |  | 
 |  |  | <div class="panel-body" id="app"> | 
 |  |  |  | 
 |  |  |     <el-row class="buttonPanel"> | 
 |  |  |         <el-button @click="openAdd" type="primary">新增</el-button> | 
 |  |  |         <el-button @click="openForm('add')" type="primary">新增</el-button> | 
 |  |  |     </el-row> | 
 |  |  |  | 
 |  |  |     <el-row class="rowPanel"> | 
 |  |  | 
 |  |  |         <el-table id="proj" :data="table.rows" :height="height" stripe @sort-change="sortChange"> | 
 |  |  |             <el-table-column | 
 |  |  |                     prop="name" | 
 |  |  |                     label="规则名称" | 
 |  |  |                     width="180"> | 
 |  |  |                     label="规则名称"> | 
 |  |  |             </el-table-column> | 
 |  |  |             <el-table-column | 
 |  |  |                     prop="updateTime" | 
 |  |  | 
 |  |  |             </el-table-column> | 
 |  |  |             <el-table-column | 
 |  |  |                     prop="createBy" | 
 |  |  |                     label="创建人"> | 
 |  |  |                     label="创建人" | 
 |  |  |                     width="180"> | 
 |  |  |             </el-table-column> | 
 |  |  |  | 
 |  |  |             <el-table-column label="操作"> | 
 |  |  |                 <template slot-scope="scope"> | 
 |  |  |                     <el-button type="text" @click="openModify(scope.$index, scope.row)" size="small">修改</el-button> | 
 |  |  |                     <el-button type="text" @click="openForm('modify', scope.row)" size="small">修改</el-button> | 
 |  |  |                     <el-button type="text" @click="remove(scope.$index, scope.row)" size="small">删除</el-button> | 
 |  |  |                 </template> | 
 |  |  |             </el-table-column> | 
 |  |  | 
 |  |  |     </el-row> | 
 |  |  |  | 
 |  |  |     <el-dialog | 
 |  |  |             title="title" | 
 |  |  |             :title="title" | 
 |  |  |             :visible.sync="dialogVisible" | 
 |  |  |             width="60%" | 
 |  |  |             :before-close="handleClose"> | 
 |  |  |         <span>这是一段信息</span> | 
 |  |  |  | 
 |  |  |         <el-form :model="formData" ref="ruleForm" label-width="100px" class="demo-ruleForm"> | 
 |  |  |  | 
 |  |  |             <el-form-item label="规则名称"  > | 
 |  |  |                 <el-input style="width: 200px" v-model="formData.name"></el-input> | 
 |  |  |                 <el-button type="primary" @click="addRuleItem()" size="small">添加规则</el-button> | 
 |  |  |             </el-form-item> | 
 |  |  |  | 
 |  |  |             <el-form-item label="绩效方案" > | 
 |  |  |                 <el-table | 
 |  |  |                         :data="formData.ruleItemList" | 
 |  |  |                         style="width: 100%"> | 
 |  |  |                     <el-table-column | 
 |  |  |                             label="业绩类型" | 
 |  |  |                     > | 
 |  |  |                         <template slot-scope="scope"> | 
 |  |  |                             <el-select v-model="scope.row.achieveType" placeholder="请选择业绩类型"> | 
 |  |  |                                 <el-option label="本金消耗" :value="1"></el-option> | 
 |  |  |                                 <el-option label="赠送消耗" :value="2"></el-option> | 
 |  |  |                             </el-select> | 
 |  |  |                         </template> | 
 |  |  |                     </el-table-column> | 
 |  |  |                     <el-table-column | 
 |  |  |                             label="计算方式" | 
 |  |  |                     > | 
 |  |  |                         <template slot-scope="scope"> | 
 |  |  |                             <el-select v-model="scope.row.calculationType" placeholder="请选择计算方式"> | 
 |  |  |                                 <el-option label="固定金额" :value="1"></el-option> | 
 |  |  |                                 <el-option label="百分比(%)" :value="2"></el-option> | 
 |  |  |                             </el-select> | 
 |  |  |                         </template> | 
 |  |  |                     </el-table-column> | 
 |  |  |                     <el-table-column | 
 |  |  |                             label="区间" | 
 |  |  |                             width="240"> | 
 |  |  |                         <template slot-scope="scope"> | 
 |  |  |                             <el-input style="width: 100px" v-model="scope.row.lower"></el-input> | 
 |  |  |                             - | 
 |  |  |                             <el-input style="width: 100px" v-model="scope.row.upper"></el-input> | 
 |  |  |                         </template> | 
 |  |  |                     </el-table-column> | 
 |  |  |                     <el-table-column | 
 |  |  |                             label="业绩"> | 
 |  |  |                         <template slot-scope="scope"> | 
 |  |  |                             <el-input v-model="scope.row.achieve"></el-input> | 
 |  |  |                         </template> | 
 |  |  |                     </el-table-column> | 
 |  |  |                     <el-table-column label="操作"> | 
 |  |  |                         <template slot-scope="scope"> | 
 |  |  |                             <el-button  type="text" @click="removeRuleItem(scope.$index, scope.row)" size="small">删除</el-button> | 
 |  |  |                         </template> | 
 |  |  |                     </el-table-column> | 
 |  |  |                 </el-table> | 
 |  |  |             </el-form-item> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         </el-form> | 
 |  |  |         <span slot="footer" class="dialog-footer"> | 
 |  |  |     <el-button @click="dialogVisible = false">取 消</el-button> | 
 |  |  |     <el-button type="primary" @click="dialogVisible = false">确 定</el-button> | 
 |  |  |   </span> | 
 |  |  |     </el-dialog> | 
 |  |  |                 <el-button @click="dialogVisible = false">取 消</el-button> | 
 |  |  |                 <el-button type="primary" @click="submitForm">确 定</el-button> | 
 |  |  |             </span> | 
 |  |  | </el-dialog> | 
 |  |  |  | 
 |  |  |  | 
 |  |  | </div> | 
 |  |  | 
 |  |  |             title: '', | 
 |  |  |             formData: { | 
 |  |  |                 name: '', | 
 |  |  |                 ruleItemList: [this.defaultRuleItem] | 
 |  |  |                 ruleItemList: [ | 
 |  |  |                     { | 
 |  |  |                         achieveType: 1, | 
 |  |  |                         calculationType: 1, | 
 |  |  |                         lower: '', | 
 |  |  |                         upper: '', | 
 |  |  |                         achieve: '', | 
 |  |  |                     } | 
 |  |  |                 ] | 
 |  |  |             }, | 
 |  |  |             defaultRuleItem: { | 
 |  |  |                 achieveType: 1, | 
 |  |  |                 calculationType: 1, | 
 |  |  |                 Lower: '', | 
 |  |  |                 upper: '', | 
 |  |  |                 achieve: '', | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |             type: '', | 
 |  |  |             achieveTypeList: [{ | 
 |  |  |                 label: '本金消耗', | 
 |  |  |                 value: 1 | 
 |  |  |             } | 
 |  |  |                 , { | 
 |  |  |                     label: '赠送消耗', | 
 |  |  |                     value: 2 | 
 |  |  |                 }], | 
 |  |  |             calculationTypeList: [ | 
 |  |  |                 { | 
 |  |  |                 label: '固定值', | 
 |  |  |                 value: 1 | 
 |  |  |                 } | 
 |  |  |                 , { | 
 |  |  |                     label: '百分比', | 
 |  |  |                     value: 2 | 
 |  |  |                 }] | 
 |  |  |  | 
 |  |  |         }, | 
 |  |  |         created: function () { | 
 |  |  |             this.loadData(); | 
 |  |  | 
 |  |  |                         type: 'GET', | 
 |  |  |                         url: basePath + "/admin/achieveRule/removeById/" + row.id, | 
 |  |  |                         callback: function (data) { | 
 |  |  |                             _this.loadData(); | 
 |  |  |                             _this.$message({ | 
 |  |  |                                 type: 'success', | 
 |  |  |                                 message: data.info, | 
 |  |  |                             }); | 
 |  |  |                             debugger | 
 |  |  |                             _this.loadData(); | 
 |  |  |                         } | 
 |  |  |                     }); | 
 |  |  |                 }).catch(() => { | 
 |  |  | 
 |  |  |  | 
 |  |  |                 if (type == 'add') { | 
 |  |  |                     this.title = '新增规则'; | 
 |  |  |                     this.$refs['formName'].resetFields(); | 
 |  |  |                     //this.$refs['formName'].resetFields(); | 
 |  |  |  | 
 |  |  |                 } else { | 
 |  |  |                     this.title = '修改规则'; | 
 |  |  |                     this.formData = data; | 
 |  |  | 
 |  |  |                 this.dialogVisible = true; | 
 |  |  |             }, | 
 |  |  |             //提交表单 | 
 |  |  |             submit() { | 
 |  |  |             submitForm() { | 
 |  |  |                 let url = basePath + "/admin/achieveRule/add"; | 
 |  |  |                 if (this.type == 'modify') { | 
 |  |  |                     url = basePath + "/admin/achieveRule/update"; | 
 |  |  |                 } | 
 |  |  |                 let data=this.formData; | 
 |  |  |  | 
 |  |  |                 if(MTools.isBlank(data.name)){this.$message.error("请输入规则名称");return;} | 
 |  |  |  | 
 |  |  |                 if(data.ruleItemList.length<1){ | 
 |  |  |                     this.$message.error("最少需要一个计算规则");;return;} | 
 |  |  |                 let flag=true; | 
 |  |  |                 data.ruleItemList.forEach(item=>{ | 
 |  |  |                     if(MTools.isBlank(item.lower)){ | 
 |  |  |                         this.$message.error("请输入业绩下限");flag=false;} | 
 |  |  |                     else if(MTools.isBlank(item.upper)){ | 
 |  |  |                         this.$message.error("请输入业绩上限");flag=false;} | 
 |  |  |                     else if(MTools.isBlank(item.achieve)){ | 
 |  |  |                         this.$message.error("请输入业绩金额或者比例");flag=false;} | 
 |  |  |                 }) | 
 |  |  |                 if(flag){ | 
 |  |  |                     var _this=this; | 
 |  |  |                     AjaxProxy.requst({ | 
 |  |  |                         app: _this, | 
 |  |  |                         data:data, | 
 |  |  |                         url:url, | 
 |  |  |                         callback: function (data) { | 
 |  |  |                             _this.$message.success(data.info); | 
 |  |  |                             _this.loadData(); | 
 |  |  |                             _this.dialogVisible = false; | 
 |  |  |                             _this.formData={ | 
 |  |  |                                 name: '', | 
 |  |  |                                 ruleItemList: [ | 
 |  |  |                                     { | 
 |  |  |                                         achieveType: 1, | 
 |  |  |                                         calculationType: 1, | 
 |  |  |                                         lower: '', | 
 |  |  |                                         upper: '', | 
 |  |  |                                         achieve: '', | 
 |  |  |                                     } | 
 |  |  |                                 ] | 
 |  |  |                             }; | 
 |  |  |                         } | 
 |  |  |                     }); | 
 |  |  |  | 
 |  |  |                 } | 
 |  |  |             }, | 
 |  |  |             handleClose(done) { | 
 |  |  |                 this.$confirm('确认关闭?') | 
 |  |  |                     .then(_ => { | 
 |  |  |                         done(); | 
 |  |  |                     }) | 
 |  |  |                     .catch(_ => { | 
 |  |  |                     }); | 
 |  |  |             }, | 
 |  |  |             addRuleItem(){ | 
 |  |  |                 this.formData.ruleItemList.push( | 
 |  |  |                     { | 
 |  |  |                         achieveType: 1, | 
 |  |  |                         calculationType: 1, | 
 |  |  |                         lower: '', | 
 |  |  |                         upper: '', | 
 |  |  |                         achieve: '', | 
 |  |  |                     } | 
 |  |  |                 ); | 
 |  |  |             }, | 
 |  |  |             removeRuleItem(index,row){ | 
 |  |  |                 this.formData.ruleItemList.splice(index, 1); | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |  |