From 1d917e41e6a31a535932fbfde6324fe4bdf6ed8b Mon Sep 17 00:00:00 2001 From: jyy <jyy> Date: Fri, 04 Jun 2021 14:55:15 +0800 Subject: [PATCH] 业绩规则3 --- zq-erp/src/main/resources/templates/views/admin/hive-erp/products/achieverule-list.html | 184 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 144 insertions(+), 40 deletions(-) diff --git a/zq-erp/src/main/resources/templates/views/admin/hive-erp/products/achieverule-list.html b/zq-erp/src/main/resources/templates/views/admin/hive-erp/products/achieverule-list.html index 1c379bf..c82e927 100644 --- a/zq-erp/src/main/resources/templates/views/admin/hive-erp/products/achieverule-list.html +++ b/zq-erp/src/main/resources/templates/views/admin/hive-erp/products/achieverule-list.html @@ -44,7 +44,7 @@ <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"> @@ -62,8 +62,7 @@ <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" @@ -86,12 +85,13 @@ </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> @@ -110,16 +110,73 @@ </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> @@ -151,33 +208,19 @@ 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(); @@ -249,12 +292,11 @@ 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(() => { @@ -269,7 +311,8 @@ if (type == 'add') { this.title = '新增规则'; - this.$refs['formName'].resetFields(); + //this.$refs['formName'].resetFields(); + } else { this.title = '修改规则'; this.formData = data; @@ -278,13 +321,74 @@ 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); }, -- Gitblit v1.9.1