From 75f1c8f7380994e032de7d32ca7890dff543aaa2 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Wed, 21 Jul 2021 10:19:15 +0800
Subject: [PATCH] Merge branch 'score_shop' into api_score_meger
---
zq-erp/src/main/resources/templates/views/admin/hive-erp/products/achieverule-list.html | 290 ++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 221 insertions(+), 69 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 5edbdea..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
@@ -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,26 +44,25 @@
<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"
@@ -83,17 +85,19 @@
</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"
@@ -106,16 +110,73 @@
</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>
@@ -132,29 +193,37 @@
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: {
@@ -169,50 +238,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,13 +289,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.loadData();
_this.$message({
type: 'success',
- message: '删除成功!'
+ message: data.info,
});
- _this.loadData();
}
});
}).catch(() => {
@@ -236,12 +306,94 @@
});
});
},
- //导出
- 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);
+ },
+
}
+
});
--
Gitblit v1.9.1