Commit 22de4e6a authored by lvzhuangzhuang's avatar lvzhuangzhuang

1

parent 6169394c
......@@ -35,19 +35,9 @@ public class SysRuleManagementController extends BaseController
public TableDataInfo list(SysRuleManagement sysRuleManagement)
{
startPage();
List<SysRuleManagement> list = iSysRuleManagement.list();
List<SysRuleManagement> list = iSysRuleManagement.list(sysRuleManagement);
return getDataTable(list);
}
/**
* 保存规则
*/
@PreAuthorize("@ss.hasPermi('system:ruleManagement:save')")
@Log(title = "模板详情", businessType = BusinessType.INSERT)
@PostMapping("/save")
public AjaxResult save(@RequestBody SysRuleManagement sysRuleManagement)
{
return toAjax(iSysRuleManagement.save(sysRuleManagement));
}
/**
* 获取规则详情详细信息
......@@ -60,4 +50,38 @@ public class SysRuleManagementController extends BaseController
return AjaxResult.success(iSysRuleManagement.selectExcelById(id));
}
/**
* 新增规则
*/
@PreAuthorize("@ss.hasPermi('system:ruleManagement:add')")
@Log(title = "规则详情", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody SysRuleManagement sysRuleManagement)
{
return toAjax(iSysRuleManagement.add(sysRuleManagement));
}
/**
* 修改规则
*/
@PreAuthorize("@ss.hasPermi('system:ruleManagement:edit')")
@Log(title = "规则详情", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SysRuleManagement sysRuleManagement)
{
return toAjax(iSysRuleManagement.updateRule(sysRuleManagement));
}
/**
* 删除规则
*/
@PreAuthorize("@ss.hasPermi('system:ruleManagement:remove')")
@Log(title = "规则详情", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public AjaxResult remove(@PathVariable Long id)
{
return toAjax(iSysRuleManagement.deleteRuleById(id));
}
}
......@@ -6,16 +6,16 @@ spring:
druid:
# 主库数据源
master:
url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mysql://localhost:3306/hbghgz_sc?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: root
password: 123456
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
url:
username:
password:
# 初始连接数
initialSize: 5
# 最小连接池数量
......@@ -35,7 +35,7 @@ spring:
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
webStatFilter:
enabled: true
statViewServlet:
enabled: true
......@@ -54,4 +54,4 @@ spring:
merge-sql: true
wall:
config:
multi-statement-allow: true
\ No newline at end of file
multi-statement-allow: true
......@@ -6,16 +6,16 @@ spring:
druid:
# 主库数据源 114.115.162.32 127.0.0.1 hbghgz jDkrSt5Ts77zXWCJ
master:
url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
url: jdbc:mysql://localhost:3306/hbghgz_sc?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
username: root
password: root
password: 123456
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
url:
username:
password:
# 初始连接数
initialSize: 5
# 最小连接池数量
......@@ -35,7 +35,7 @@ spring:
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
webStatFilter:
enabled: true
statViewServlet:
enabled: true
......@@ -54,4 +54,4 @@ spring:
merge-sql: true
wall:
config:
multi-statement-allow: true
\ No newline at end of file
multi-statement-allow: true
......@@ -3,8 +3,8 @@ package com.ruoyi.system.domain;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 物资管理 sys_supplies
*
* 物资管理 sys_rule
*
* @author
* @date
*/
......@@ -15,7 +15,7 @@ public class SysRuleManagement extends BaseEntity
/** 主键 */
private Long id;
/** 模板名称 */
/** 规则名称 */
private String name;
/** JSON */
......
......@@ -6,16 +6,21 @@ import java.util.List;
/**
* 物资管理Mapper接口
*
*
* @author
* @date
*/
public interface ISysRuleManagement
{
Integer save(SysRuleManagement s);
List<SysRuleManagement> list();
List<SysRuleManagement> list(SysRuleManagement sysRuleManagement);
SysRuleManagement selectExcelById(Long id);
Integer add(SysRuleManagement s);
int updateRule(SysRuleManagement sysRuleManagement);
int deleteRuleById(Long id);
}
......@@ -6,16 +6,20 @@ import java.util.List;
/**
* 物资管理Service接口
*
*
* @author
* @date
*/
public interface ISysRuleManagementService
{
List<SysRuleManagement> list();
List<SysRuleManagement> list( SysRuleManagement sysRuleManagement);
Integer save(SysRuleManagement s);
Integer add(SysRuleManagement s);
SysRuleManagement selectExcelById(Long id);
int updateRule(SysRuleManagement sysRuleManagement);
int deleteRuleById(Long id);
}
......@@ -10,7 +10,7 @@ import java.util.List;
/**
* 物资管理Service业务层处理
*
*
* @author
* @date
*/
......@@ -21,8 +21,8 @@ public class SysRuleManagementImpl implements ISysRuleManagementService
private ISysRuleManagement iSysRuleManagement;
@Override
public List<SysRuleManagement> list() {
return iSysRuleManagement.list();
public List<SysRuleManagement> list(SysRuleManagement sysRuleManagement) {
return iSysRuleManagement.list(sysRuleManagement);
}
@Override
......@@ -31,10 +31,22 @@ public class SysRuleManagementImpl implements ISysRuleManagementService
}
@Override
public Integer save(SysRuleManagement sysSupplies) {
return iSysRuleManagement.save(sysSupplies);
public Integer add(SysRuleManagement sysSupplies) {
return iSysRuleManagement.add(sysSupplies);
}
@Override
public int updateRule(SysRuleManagement sysRuleManagement) {
return iSysRuleManagement.updateRule(sysRuleManagement);
}
@Override
public int deleteRuleById(Long id) {
return iSysRuleManagement.deleteRuleById(id);
}
}
......@@ -10,14 +10,18 @@
<result property="jsons" column="jsons"/>
</resultMap>
<select id="list" resultMap="SysRuleManagementResult">
<select id="list" parameterType="SysRuleManagement" resultMap="SysRuleManagementResult">
select
id,
name,
jsons
from sys_rule
where 1=1
<if test="name !=null">
and name = #{name}
</if>
</select>
<select id="selectExcelById" resultMap="SysRuleManagementResult">
select
id,
......@@ -26,7 +30,8 @@
from sys_rule
where id = #{id}
</select>
<insert id="save" parameterType="SysRuleManagement" useGeneratedKeys="true" keyProperty="id">
<!--新增-->
<insert id="add" parameterType="SysRuleManagement" useGeneratedKeys="true" keyProperty="id">
insert into sys_rule
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null">name,</if>
......@@ -39,5 +44,17 @@
</trim>
</insert>
</mapper>
\ No newline at end of file
<!--修改-->
<update id="updateRule" parameterType="SysConfig">
update sys_rule
<set>
<if test="name != null and name != ''">name = #{name},</if>
<if test="jsons != null and jsons != ''">jsons = #{jsons},</if>
</set>
where id = #{id}
</update>
<!--删除-->
<delete id="deleteRuleById" parameterType="Long">
delete from sys_rule where id = #{id}
</delete>
</mapper>
......@@ -15,6 +15,37 @@ export function getRule(id) {
method: 'get'
})
}
// 新增规则详情
export function addRuleManagement(data) {
return request({
url: '/system/ruleManagement/add',
method: 'post',
data: data
})
}
// 修改规则详情
export function updateRuleManagement(data) {
return request({
url: '/system/ruleManagement/edit',
method: 'put',
data: data
})
}
// 删除规则详情
export function delRuleManagement(id) {
return request({
url: '/system/ruleManagement/' + id,
method: 'delete'
})
}
// 查询模板列表
export function listMyluckyexcel(query) {
return request({
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch">
<el-form-item label="组织机构" prop="deptName">
<el-form-item label="规则名称" prop="name">
<el-input
v-model="queryParams.deptName"
placeholder="请输入组织机构名称"
v-model="queryParams.name"
placeholder="请输入规则名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="机构状态" prop="status">
<el-select v-model="queryParams.status" placeholder="机构状态" clearable size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
......@@ -34,7 +24,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:dept:add']"
v-hasPermi="['system:ruleManagement:add']"
>新增</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
......@@ -42,23 +32,14 @@
<el-table
v-loading="loading"
:data="deptList"
row-key="deptId"
:data="ruleList"
row-key="id"
default-expand-all
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column label="序号" type="index" :index="indexFormat"></el-table-column>
<el-table-column prop="deptName" label="组织机构" width="400"></el-table-column>
<el-table-column prop="deptShortName" label="机构简称"></el-table-column>
<el-table-column prop="deptType" label="机构类型" :formatter="deptTypeFormat"></el-table-column>
<el-table-column prop="status" label="状态" :formatter="statusFormat"></el-table-column>
<el-table-column prop="businessSector" label="业务板块" :formatter="businessSectorFormat"></el-table-column>
<el-table-column prop="orderNum" label="排序"></el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="200">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column prop="name" label="规则名称" width="400"></el-table-column>
<el-table-column prop="jsons" label="规则内容"></el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
......@@ -66,14 +47,14 @@
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:dept:edit']"
v-hasPermi="['system:ruleManagement:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['system:dept:add']"
v-hasPermi="['system:ruleManagement:add']"
>新增</el-button>
<el-button
v-if="scope.row.parentId != 0"
......@@ -81,102 +62,29 @@
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:dept:remove']"
v-hasPermi="['system:ruleManagement:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 添加或修改部门对话框 -->
<!-- 添加或修改规则 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="24" v-if="form.parentId !== 0">
<el-form-item label="上级机构" prop="parentId">
<treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级机构" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="组织机构" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入组织机构名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="机构简称" prop="deptShortName">
<el-input v-model="form.deptShortName" placeholder="请输入机构简称" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="机构类型" prop="deptType">
<el-select v-model="form.deptType" placeholder="机构类型" clearable size="small">
<el-option
v-for="dict in deptTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="业务板块" prop="businessSector">
<el-select v-model="form.businessSector" placeholder="业务板块" clearable size="small">
<el-option
v-for="dict in businessSectorOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="负责人" prop="leader">
<el-input v-model="form.leader" placeholder="请输入负责人" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话" prop="phone">
<el-input v-model="form.phone" placeholder="请输入联系电话" maxlength="11" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="联系邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入联系邮箱" maxlength="50" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系地址" prop="address">
<el-input v-model="form.address" placeholder="请输入联系地址" maxlength="50" />
</el-form-item>
</el-col>
</el-row>
<el-form ref="form" :model="form" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="机构状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictValue"
>{{dict.dictLabel}}</el-radio>
</el-radio-group>
<el-form-item label="规则名称" prop="name">
<el-input v-model="form.name" placeholder="请输入规则名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="显示排序" prop="orderNum">
<el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
<el-form-item label="规则内容" prop="jsons">
<el-input v-model="form.jsons" placeholder="请输入规则内容" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
......@@ -187,12 +95,12 @@
</template>
<script>
import {addDept, delDept, getDept, listDept, listDeptExcludeChild, updateDept} from "@/api/system/dept";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {listRule,getRule,addRuleManagement,updateRuleManagement,delRuleManagement} from "@/api/ruoyi-myLuckyexcel/myluckyexcel";
export default {
name: "Dept",
name: "Rule",
components: { Treeselect },
data() {
return {
......@@ -200,110 +108,38 @@
loading: true,
// 显示搜索条件
showSearch: true,
// 表格树数据
deptList: [],
// 部门树选项
deptOptions: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 状态数据字典
statusOptions: [],
// 业务板块数据字典
businessSectorOptions: [],
// 机构类型数据字典
deptTypeOptions: [],
//查询规则
ruleList: [],
// 查询参数
queryParams: {
deptName: undefined,
deptShortName: undefined,
deptType: undefined,
businessSector: undefined,
status: undefined
id: undefined,
name: undefined,
jsons: undefined
},
// 表单参数
form: {},
// 表单校验
rules: {
parentId: [
{ required: true, message: "上级机构不能为空", trigger: "blur" }
],
deptName: [
{ required: true, message: "组织机构不能为空", trigger: "blur" }
],
deptShortName: [
{ required: true, message: "机构简称不能为空", trigger: "blur" }
],
orderNum: [
{ required: true, message: "显示排序不能为空", trigger: "blur" }
],
email: [
{
type: "email",
message: "'请输入正确的邮箱地址",
trigger: ["blur", "change"]
}
],
phone: [
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
}
]
}
};
},
created() {
this.getList();
this.getDicts("sys_normal_disable").then(response => {
this.statusOptions = response.data;
});
this.getDicts("sys_dept_business_type").then(response => {
this.businessSectorOptions = response.data;
});
this.getDicts("sys_dept_type").then(response => {
this.deptTypeOptions = response.data;
});
},
methods: {
/** 查询部门列表 */
getList() {
this.loading = true;
listDept(this.queryParams).then(response => {
this.deptList = this.handleTree(response.data, "deptId");
listRule(this.queryParams).then(response => {
this.ruleList = response.rows;
this.loading = false;
});
},
/** 转换部门数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.deptId,
label: node.deptName,
children: node.children
};
},
indexFormat(index){
return index +1
},
// 机构类型字典翻译
deptTypeFormat(row, column) {
return this.selectDictLabel(this.deptTypeOptions, row.deptType);
},
// 字典状态字典翻译
statusFormat(row, column) {
return this.selectDictLabel(this.statusOptions, row.status);
},
// 字典业务板块字典翻译
businessSectorFormat(row, column) {
return this.selectDictLabel(this.businessSectorOptions, row.businessSector);
},
// 取消按钮
cancel() {
this.open = false;
......@@ -312,18 +148,10 @@
// 表单重置
reset() {
this.form = {
deptId: undefined,
parentId: undefined,
deptName: undefined,
deptShortName: undefined,
businessSector: undefined,
deptType: undefined,
orderNum: undefined,
leader: undefined,
phone: undefined,
email: undefined,
address: undefined,
status: "0"
id: undefined,
name: undefined,
jsons: undefined,
};
this.resetForm("form");
},
......@@ -338,26 +166,18 @@
},
/** 新增按钮操作 */
handleAdd(row) {
this.reset();
if (row != undefined) {
this.form.parentId = row.deptId;
}
this.open = true;
this.title = "添加机构";
listDept().then(response => {
this.deptOptions = this.handleTree(response.data, "deptId");
addRuleManagement(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
getDept(row.deptId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改机构";
});
listDeptExcludeChild(row.deptId).then(response => {
this.deptOptions = this.handleTree(response.data, "deptId");
updateRuleManagement(row.id).then(response => {
});
},
/** 提交按钮 */
......@@ -365,13 +185,13 @@
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.deptId != undefined) {
updateDept(this.form).then(response => {
updateRuleManagement(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addDept(this.form).then(response => {
addRuleManagement(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
......@@ -387,7 +207,7 @@
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delDept(row.deptId);
return delRuleManagement(row.id);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment