|  |  | 
 |  |  |     <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/> | 
 |  |  |     <title></title> | 
 |  |  |     <style> | 
 |  |  |         .panel-body{ | 
 |  |  |         .panel-body { | 
 |  |  |             overflow: hidden; | 
 |  |  |         } | 
 |  |  |         .buttonPanel{ | 
 |  |  |  | 
 |  |  |         .buttonPanel { | 
 |  |  |             background: #ffffff; | 
 |  |  |             padding: 10px 10px ; | 
 |  |  |             padding: 10px 10px; | 
 |  |  |             margin: 0px 0px 10px 0px; | 
 |  |  |         } | 
 |  |  |         .rowPanel{ | 
 |  |  |  | 
 |  |  |         .rowPanel { | 
 |  |  |             background: #ffffff; | 
 |  |  |             padding: 0px 10px ; | 
 |  |  |             padding: 0px 10px; | 
 |  |  |             padding-top: 10px; | 
 |  |  |             margin: 0px 0px 10px 0px; | 
 |  |  |         } | 
 |  |  |         .paginationStyle{ | 
 |  |  |  | 
 |  |  |         .paginationStyle { | 
 |  |  |             background: #ffffff; | 
 |  |  |             padding: 10px 10px; | 
 |  |  |             margin: 0px 0px 10px 0px; | 
 |  |  | 
 |  |  | <div class="panel-body" id="app"> | 
 |  |  |  | 
 |  |  |     <el-row class="buttonPanel"> | 
 |  |  |             <el-button @click="dialogVisible = true" type="primary" >新增</el-button> | 
 |  |  |         <el-button @click="openForm('add')" type="primary">新增</el-button> | 
 |  |  |     </el-row> | 
 |  |  |  | 
 |  |  |     <el-row class="rowPanel"  > | 
 |  |  |         <el-form ref="form" :model="form" inline > | 
 |  |  |     <el-row class="rowPanel"> | 
 |  |  |         <el-form ref="form" :model="form" inline> | 
 |  |  |             <el-form-item label="规则名称" prop="queryKey"> | 
 |  |  |                 <el-input v-model="form.keyword" placeholder="请输入规则名称"></el-input> | 
 |  |  |             </el-form-item> | 
 |  |  |             <el-button type="primary" @click="search" >搜索</el-button> | 
 |  |  |             <el-button type="primary" @click="search">搜索</el-button> | 
 |  |  |             <el-button @click="resetForm('form')">重置</el-button> | 
 |  |  |         </el-form> | 
 |  |  |     </el-row> | 
 |  |  |  | 
 |  |  |     <el-row class="table-style"  > | 
 |  |  |     <el-row class="table-style"> | 
 |  |  |  | 
 |  |  |         <el-table id="proj" :data="table.rows"  :height="height" stripe @sort-change="sortChange"> | 
 |  |  |         <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="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-table> | 
 |  |  |     </el-row> | 
 |  |  |     <el-row class="paginationStyle"  > | 
 |  |  |     <el-row class="paginationStyle"> | 
 |  |  |         <el-pagination background | 
 |  |  |                        @size-change="changePageSize" | 
 |  |  |                        @current-change="changeCurrentPage" | 
 |  |  | 
 |  |  |     </el-row> | 
 |  |  |  | 
 |  |  |     <el-dialog | 
 |  |  |             title="提示" | 
 |  |  |             :title="title" | 
 |  |  |             :visible.sync="dialogVisible" | 
 |  |  |             width="30%" | 
 |  |  |             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> | 
 |  |  | 
 |  |  |     var vue = new Vue({ | 
 |  |  |         el: '#app', | 
 |  |  |         data: { | 
 |  |  |             table:{ | 
 |  |  |                 rows:[], | 
 |  |  |                 total:0, | 
 |  |  |                 pageSize:10, | 
 |  |  |                 currentPage:1, | 
 |  |  |             table: { | 
 |  |  |                 rows: [], | 
 |  |  |                 total: 0, | 
 |  |  |                 pageSize: 10, | 
 |  |  |                 currentPage: 1, | 
 |  |  |             }, | 
 |  |  |             form:{ | 
 |  |  |                 name:null, | 
 |  |  |                 datetimeArr:'', | 
 |  |  |                 payMethod:'', | 
 |  |  |                 flowType:'', | 
 |  |  |                 orderNo:'', | 
 |  |  |                 oprationMan:'', | 
 |  |  |                 queryKey:'', | 
 |  |  |                 order:'', | 
 |  |  |                 sort:'' | 
 |  |  |             form: { | 
 |  |  |                 queryKey: null, | 
 |  |  |             }, | 
 |  |  |             height:'calc(100vh - 240px)', | 
 |  |  |             dialogVisible:false, | 
 |  |  |  | 
 |  |  |             height: 'calc(100vh - 240px)', | 
 |  |  |             dialogVisible: false, | 
 |  |  |             title: '', | 
 |  |  |             formData: { | 
 |  |  |                 name: '', | 
 |  |  |                 ruleItemList: [ | 
 |  |  |                     { | 
 |  |  |                         achieveType: 1, | 
 |  |  |                         calculationType: 1, | 
 |  |  |                         lower: '', | 
 |  |  |                         upper: '', | 
 |  |  |                         achieve: '', | 
 |  |  |                     } | 
 |  |  |                 ] | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |             type: '', | 
 |  |  |  | 
 |  |  |         }, | 
 |  |  |         created: function () { | 
 |  |  |            this.loadData(); | 
 |  |  |             this.loadData(); | 
 |  |  |             window.addEventListener("keydown", this.keydown); | 
 |  |  |         }, | 
 |  |  |         methods: { | 
 |  |  | 
 |  |  |             resetForm(formName) { | 
 |  |  |                 this.$refs[formName].resetFields(); | 
 |  |  |             }, | 
 |  |  |             sortChange:function (column){ | 
 |  |  |                 if(column.order){ | 
 |  |  |                     if(column.order.indexOf("desc")){ | 
 |  |  |                         this.form.order="desc"; | 
 |  |  |                     }else{ | 
 |  |  |                         this.form.order="asc"; | 
 |  |  |             sortChange: function (column) { | 
 |  |  |                 if (column.order) { | 
 |  |  |                     if (column.order.indexOf("desc")) { | 
 |  |  |                         this.form.order = "desc"; | 
 |  |  |                     } else { | 
 |  |  |                         this.form.order = "asc"; | 
 |  |  |                     } | 
 |  |  |                     this.form.sort=column.prop; | 
 |  |  |                     this.form.sort = column.prop; | 
 |  |  |                     this.loadData(); | 
 |  |  |                 } | 
 |  |  |             }, | 
 |  |  |             loadData:function(){ | 
 |  |  |             loadData: function () { | 
 |  |  |                 let _this = this; | 
 |  |  |                 let data=_this.getRequestParam(); | 
 |  |  |                 data.pageSize=_this.table.pageSize; | 
 |  |  |                 data.pageNum=_this.table.currentPage; | 
 |  |  |                 let data = _this.getRequestParam(); | 
 |  |  |                 data.pageSize = _this.table.pageSize; | 
 |  |  |                 data.pageNum = _this.table.currentPage; | 
 |  |  |                 AjaxProxy.requst({ | 
 |  |  |                     app: _this, | 
 |  |  |                     data:data, | 
 |  |  |                     data: data, | 
 |  |  |                     url: basePath + '/admin/achieveRule/selectList', | 
 |  |  |                     callback: function (data) { | 
 |  |  |                         _this.table.rows = data.rows; | 
 |  |  |                         _this.table.total=data.total; | 
 |  |  |                         _this.table.total = data.total; | 
 |  |  |                     } | 
 |  |  |                 }); | 
 |  |  |             }, | 
 |  |  |             getRequestParam(){ | 
 |  |  |             getRequestParam() { | 
 |  |  |                 let _this = this; | 
 |  |  |                 return   { | 
 |  |  |                     name:_this.form.name, | 
 |  |  |                 return { | 
 |  |  |                     queryKey: _this.form.queryKey, | 
 |  |  |                 } | 
 |  |  |             }, | 
 |  |  |             search:function(){ | 
 |  |  |                 this.table.currentPage=1; | 
 |  |  |             search: function () { | 
 |  |  |                 this.table.currentPage = 1; | 
 |  |  |                 this.loadData(); | 
 |  |  |             }, | 
 |  |  |             keydown(evt){ | 
 |  |  |                 if(evt.keyCode==13) { | 
 |  |  |             keydown(evt) { | 
 |  |  |                 if (evt.keyCode == 13) { | 
 |  |  |                     this.search(); | 
 |  |  |                 } | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |             del(index,row){ | 
 |  |  |                 let _this=this; | 
 |  |  |             remove(index, row) { | 
 |  |  |                 let _this = this; | 
 |  |  |                 this.$confirm('确认删除该规则吗?', '提示', { | 
 |  |  |                     confirmButtonText: '确定', | 
 |  |  |                     cancelButtonText: '取消', | 
 |  |  | 
 |  |  |                 }).then(() => { | 
 |  |  |                     AjaxProxy.requst({ | 
 |  |  |                         app: _this, | 
 |  |  |                         url: basePath + "/admin/achieveRule/removeById/"+row.id, | 
 |  |  |                         type: 'GET', | 
 |  |  |                         url: basePath + "/admin/achieveRule/removeById/" + row.id, | 
 |  |  |                         callback: function (data) { | 
 |  |  |                             _this.loadData(); | 
 |  |  |                             _this.$message({ | 
 |  |  |                                 type: 'success', | 
 |  |  |                                 message: '删除成功!' | 
 |  |  |                                 message: data.info, | 
 |  |  |                             }); | 
 |  |  |                             _this.loadData(); | 
 |  |  |                         } | 
 |  |  |                     }); | 
 |  |  |                 }).catch(() => { | 
 |  |  | 
 |  |  |                     }); | 
 |  |  |                 }); | 
 |  |  |             }, | 
 |  |  |             //导出 | 
 |  |  |           add(){ | 
 |  |  |             //开启表单弹窗 | 
 |  |  |             openForm(type, data) { | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |                 if (type == 'add') { | 
 |  |  |                     this.title = '新增规则'; | 
 |  |  |                     //this.$refs['formName'].resetFields(); | 
 |  |  |  | 
 |  |  |                 } else { | 
 |  |  |                     this.title = '修改规则'; | 
 |  |  |                     this.formData = data; | 
 |  |  |                 } | 
 |  |  |                 this.type = type; | 
 |  |  |                 this.dialogVisible = true; | 
 |  |  |             }, | 
 |  |  |             //提交表单 | 
 |  |  |             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); | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |  |