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