|  |  |  | 
|---|
|  |  |  | <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); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|