From 10f78f85875f539590a757f7c17992c6c0ae0773 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Thu, 03 Jun 2021 23:36:39 +0800 Subject: [PATCH] 业绩规则2 --- /dev/null | 250 ------------------------------- zq-erp/src/main/resources/templates/views/admin/hive-erp/products/achieverule-list.html | 168 +++++++++++++------- zq-erp/src/main/java/com/matrix/system/hiveErp/action/AchieveRuleAction.java | 13 - 3 files changed, 111 insertions(+), 320 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/AchieveRuleAction.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/AchieveRuleAction.java index 0bd78af..8d3d386 100644 --- a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/AchieveRuleAction.java +++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/AchieveRuleAction.java @@ -15,7 +15,6 @@ import com.matrix.system.hive.action.util.QueryUtil; import com.matrix.system.hive.bean.AchieveRule; import com.matrix.system.hive.dao.AchieveRuleDao; -import com.matrix.system.hive.plugin.util.CollectionUtils; import com.matrix.system.hiveErp.pojo.AchieveRuleItem; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; @@ -46,11 +45,8 @@ @PostMapping("/add") public AjaxResult add(@RequestBody @Validated AchieveRule achieveRule) { - WebUtil.setSessionAttribute(MatrixConstance.LOGIN_KEY,sysUsersDao.selectById(2L)); - if(CollectionUtils.isEmpty(achieveRule.getRuleItemList())){ - return AjaxResult.buildFailInstance("规则设置不能为空"); - } + String rules = JSONUtil.toJsonStr(achieveRule.getRuleItemList()); achieveRule.setRules(rules); @@ -72,14 +68,11 @@ */ @PostMapping("/update") public AjaxResult update(@RequestBody @Validated AchieveRule achieveRule) { - WebUtil.setSessionAttribute(MatrixConstance.LOGIN_KEY,sysUsersDao.selectById(2L)); + if (achieveRule.getId() == null) { return AjaxResult.buildFailInstance("id不能为空"); } - if(CollectionUtils.isEmpty(achieveRule.getRuleItemList())){ - return AjaxResult.buildFailInstance("规则设置不能为空"); - } String rules = JSONUtil.toJsonStr(achieveRule.getRuleItemList()); achieveRule.setRules(rules); @@ -111,7 +104,7 @@ */ @PostMapping("/selectList") public AjaxResult selectList(@RequestBody BasePageQueryDto pageDto) { - WebUtil.setSessionAttribute(MatrixConstance.LOGIN_KEY,sysUsersDao.selectById(2L)); + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); Page<AchieveRule> page = new Page<>(pageDto.getPageNum(), pageDto.getPageSize()); LambdaQueryWrapper<AchieveRule> lambdaQueryWrapper = new LambdaQueryWrapper<AchieveRule>() 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 5edbdea..1c379bf 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 @@ -15,21 +15,24 @@ <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; @@ -41,22 +44,22 @@ <div class="panel-body" id="app"> <el-row class="buttonPanel"> - <el-button @click="dialogVisible = true" type="primary" >新增</el-button> + <el-button @click="openAdd" 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="规则名称" @@ -88,12 +91,13 @@ <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="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" @@ -106,9 +110,9 @@ </el-row> <el-dialog - title="提示" + title="title" :visible.sync="dialogVisible" - width="30%" + width="60%" :before-close="handleClose"> <span>这是一段信息</span> <span slot="footer" class="dialog-footer"> @@ -132,29 +136,51 @@ 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: [this.defaultRuleItem] + }, + 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(); + this.loadData(); window.addEventListener("keydown", this.keydown); }, methods: { @@ -169,50 +195,50 @@ 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: '取消', @@ -220,12 +246,14 @@ }).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.$message({ type: 'success', - message: '删除成功!' + message: data.info, }); + debugger _this.loadData(); } }); @@ -236,12 +264,32 @@ }); }); }, - //导出 - 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; + }, + //提交表单 + submit() { + let url = basePath + "/admin/achieveRule/add"; + if (this.type == 'modify') { + url = basePath + "/admin/achieveRule/update"; + } + + + }, + } + }); diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/products/achieverule-list.html b/zq-erp/src/main/resources/templates/views/admin/hive/products/achieverule-list.html deleted file mode 100644 index 5edbdea..0000000 --- a/zq-erp/src/main/resources/templates/views/admin/hive/products/achieverule-list.html +++ /dev/null @@ -1,250 +0,0 @@ -<!DOCTYPE HTML> -<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml"> -<head> - <meta charset="utf-8"> - <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> - <meta name="renderer" content="webkit|ie-comp|ie-stand"> - <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> - <meta name="viewport" - content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/> - <meta http-equiv="Cache-Control" content="no-siteapp"/> - <LINK rel="Bookmark" href="../images/favicon.ico"> - <!-- 本框架基本脚本和样式 --> - <script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script> - <link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}"> - <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/> - <title></title> - <style> - .panel-body{ - overflow: hidden; - } - .buttonPanel{ - background: #ffffff; - padding: 10px 10px ; - margin: 0px 0px 10px 0px; - } - .rowPanel{ - background: #ffffff; - padding: 0px 10px ; - padding-top: 10px; - margin: 0px 0px 10px 0px; - } - .paginationStyle{ - background: #ffffff; - padding: 10px 10px; - margin: 0px 0px 10px 0px; - text-align: right; - } - </style> -</head> -<body> -<div class="panel-body" id="app"> - - <el-row class="buttonPanel"> - <el-button @click="dialogVisible = true" type="primary" >新增</el-button> - </el-row> - - <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 @click="resetForm('form')">重置</el-button> - </el-form> - </el-row> - - <el-row class="table-style" > - - <el-table id="proj" :data="table.rows" :height="height" stripe @sort-change="sortChange"> - <el-table-column - prop="name" - label="规则名称" - width="180"> - </el-table-column> - <el-table-column - prop="updateTime" - sortable="custom" - label="修改时间" - show-overflow-tooltip - width="180"> - </el-table-column> - <el-table-column - prop="updateBy" - label="修改人"> - </el-table-column> - - <el-table-column - prop="createTime" - sortable="custom" - label="创建时间" - show-overflow-tooltip - width="180"> - </el-table-column> - <el-table-column - prop="createBy" - label="创建人"> - </el-table-column> - - <el-table-column label="操作"> - <template slot-scope="scope"> - <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-pagination background - @size-change="changePageSize" - @current-change="changeCurrentPage" - :current-page="table.currentPage" - :page-sizes="[10, 20, 30, 50]" - :page-size="table.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="table.total"> - </el-pagination> - </el-row> - - <el-dialog - title="提示" - :visible.sync="dialogVisible" - width="30%" - :before-close="handleClose"> - <span>这是一段信息</span> - <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> - - -</div> -</body> -<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> -<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script> -<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script> -<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script> -<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script> -<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script> -<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script> -<script type="text/javascript" th:inline="javascript"> - - var vue = new Vue({ - el: '#app', - data: { - table:{ - rows:[], - total:0, - pageSize:10, - currentPage:1, - }, - form:{ - name:null, - datetimeArr:'', - payMethod:'', - flowType:'', - orderNo:'', - oprationMan:'', - queryKey:'', - order:'', - sort:'' - }, - height:'calc(100vh - 240px)', - dialogVisible:false, - - }, - created: function () { - this.loadData(); - window.addEventListener("keydown", this.keydown); - }, - methods: { - changePageSize(val) { - this.table.pageSize = val; - this.loadData(); - }, - changeCurrentPage(val) { - this.table.currentPage = val; - this.loadData(); - }, - 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"; - } - this.form.sort=column.prop; - this.loadData(); - } - }, - loadData:function(){ - let _this = this; - let data=_this.getRequestParam(); - data.pageSize=_this.table.pageSize; - data.pageNum=_this.table.currentPage; - AjaxProxy.requst({ - app: _this, - data:data, - url: basePath + '/admin/achieveRule/selectList', - callback: function (data) { - _this.table.rows = data.rows; - _this.table.total=data.total; - } - }); - }, - getRequestParam(){ - let _this = this; - return { - name:_this.form.name, - } - }, - search:function(){ - this.table.currentPage=1; - this.loadData(); - }, - keydown(evt){ - if(evt.keyCode==13) { - this.search(); - } - }, - - del(index,row){ - let _this=this; - this.$confirm('确认删除该规则吗?', '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - AjaxProxy.requst({ - app: _this, - url: basePath + "/admin/achieveRule/removeById/"+row.id, - callback: function (data) { - _this.$message({ - type: 'success', - message: '删除成功!' - }); - _this.loadData(); - } - }); - }).catch(() => { - this.$message({ - type: 'info', - message: '已取消删除' - }); - }); - }, - //导出 - add(){ - - } - - } - }); - - -</script> -</body> -</html> \ No newline at end of file -- Gitblit v1.9.1