评估内容部分代码
This commit is contained in:
parent
d2b50c0d72
commit
47369fc805
@ -9,6 +9,15 @@ export function listAssessmentcontent(query) {
|
||||
})
|
||||
}
|
||||
|
||||
// 查询部门下拉树结构
|
||||
export function treeselect() {
|
||||
return request({
|
||||
url: '/benyi/assessmentcontent/treeselect',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 查询评估内容详细
|
||||
export function getAssessmentcontent(id) {
|
||||
return request({
|
||||
|
@ -54,8 +54,6 @@
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<!-- <el-table-column label="编号" align="center" prop="id" /> -->
|
||||
<!-- <el-table-column label="父id" align="center" prop="parentid" /> -->
|
||||
<el-table-column label="名称" align="center" prop="name" />
|
||||
<el-table-column label="是否元素" align="center" prop="iselement" :formatter="iselementFormat" />
|
||||
<el-table-column label="适用范围" align="center" prop="scope" :formatter="scopeFormat" />
|
||||
@ -90,15 +88,13 @@
|
||||
<!-- 添加或修改评估内容对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="所属模块" prop="parentid">
|
||||
<el-select v-model="form.parentid" placeholder="请输入所属模块">
|
||||
<el-option
|
||||
v-for="dict in parentidOptions"
|
||||
:key="dict.id"
|
||||
:label="dict.name"
|
||||
:value="dict.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-form-item label="所属模块" prop="parentId">
|
||||
<treeselect
|
||||
v-model="form.parentId"
|
||||
:options="parentidOptions"
|
||||
:normalizer="normalizer"
|
||||
placeholder="选择上级部门"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="名称" prop="name">
|
||||
<el-input v-model="form.name" type="textarea" placeholder="请输入内容" />
|
||||
@ -114,7 +110,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="适用范围" prop="scope">
|
||||
<el-select v-model="form.scope" placeholder="请选择元素适用范围" >
|
||||
<el-select v-model="form.scope" placeholder="请选择元素适用范围">
|
||||
<el-option
|
||||
v-for="dict in scopeOptions"
|
||||
:key="dict.dictValue"
|
||||
@ -140,9 +136,12 @@ import {
|
||||
addAssessmentcontent,
|
||||
updateAssessmentcontent
|
||||
} from "@/api/benyi/assessmentcontent";
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
|
||||
export default {
|
||||
name: "Assessmentcontent",
|
||||
components: { Treeselect },
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
@ -171,7 +170,7 @@ export default {
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
parentid: undefined,
|
||||
parentId: undefined,
|
||||
name: undefined,
|
||||
iselement: undefined,
|
||||
scope: undefined
|
||||
@ -180,18 +179,14 @@ export default {
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
parentid: [
|
||||
parentId: [
|
||||
{ required: true, message: "所属模块不能为空", trigger: "blur" }
|
||||
],
|
||||
name: [
|
||||
{ required: true, message: "名称不能为空", trigger: "blur" }
|
||||
],
|
||||
name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
|
||||
iselement: [
|
||||
{ required: true, message: "是否元素不能为空", trigger: "blur" }
|
||||
],
|
||||
scope: [
|
||||
{ required: true, message: "范围不能为空", trigger: "blur" }
|
||||
],
|
||||
scope: [{ required: true, message: "范围不能为空", trigger: "blur" }]
|
||||
}
|
||||
};
|
||||
},
|
||||
@ -203,7 +198,6 @@ export default {
|
||||
this.getDicts("sys_yes_no").then(response => {
|
||||
this.iselementOptions = response.data;
|
||||
});
|
||||
this.getPartntid();
|
||||
},
|
||||
methods: {
|
||||
// 性别字典翻译
|
||||
@ -224,13 +218,27 @@ export default {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
getPartntid() {
|
||||
|
||||
/** 查询部门下拉树结构 */
|
||||
getTreeselect() {
|
||||
listAssessmentcontent(null).then(response => {
|
||||
this.parentidOptions = response.rows;
|
||||
this.parentidOptions = this.handleTree(response.rows, "id");
|
||||
console.log(this.parentidOptions);
|
||||
});
|
||||
},
|
||||
|
||||
/** 转换部门数据结构 */
|
||||
normalizer(node) {
|
||||
if (node.children && !node.children.length) {
|
||||
delete node.children;
|
||||
}
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.name,
|
||||
children: node.children
|
||||
};
|
||||
},
|
||||
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
@ -240,7 +248,7 @@ export default {
|
||||
reset() {
|
||||
this.form = {
|
||||
id: undefined,
|
||||
parentid: undefined,
|
||||
parentId: undefined,
|
||||
name: undefined,
|
||||
iselement: undefined,
|
||||
scope: undefined,
|
||||
@ -265,14 +273,19 @@ export default {
|
||||
this.multiple = !selection.length;
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
handleAdd(row) {
|
||||
this.reset();
|
||||
this.getTreeselect();
|
||||
if (row != undefined) {
|
||||
this.form.parentId = row.id;
|
||||
}
|
||||
this.open = true;
|
||||
this.title = "添加评估内容";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
this.getTreeselect();
|
||||
const id = row.id || this.ids;
|
||||
getAssessmentcontent(id).then(response => {
|
||||
this.form = response.data;
|
||||
|
@ -4,6 +4,7 @@ import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.ruoyi.project.benyi.domain.ByAssessmentcontent;
|
||||
import com.ruoyi.project.benyi.domain.ByDayFlowDetail;
|
||||
import com.ruoyi.project.benyi.domain.ByMath;
|
||||
import com.ruoyi.project.benyi.domain.ByTheme;
|
||||
@ -37,6 +38,13 @@ public class TreeSelect implements Serializable
|
||||
this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public TreeSelect(ByAssessmentcontent byAssessmentcontent)
|
||||
{
|
||||
this.id = byAssessmentcontent.getId();
|
||||
this.label = byAssessmentcontent.getName();
|
||||
this.children = byAssessmentcontent.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public TreeSelect(SysMenu menu)
|
||||
{
|
||||
this.id = menu.getMenuId();
|
||||
|
@ -1,6 +1,10 @@
|
||||
package com.ruoyi.project.benyi.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.common.utils.ServletUtils;
|
||||
import com.ruoyi.framework.security.LoginUser;
|
||||
import com.ruoyi.framework.security.service.TokenService;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@ -32,6 +36,8 @@ public class ByAssessmentcontentController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private IByAssessmentcontentService byAssessmentcontentService;
|
||||
@Autowired
|
||||
private TokenService tokenService;
|
||||
|
||||
/**
|
||||
* 查询评估内容列表
|
||||
@ -68,6 +74,18 @@ public class ByAssessmentcontentController extends BaseController
|
||||
return AjaxResult.success(byAssessmentcontentService.selectByAssessmentcontentById(id));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取部门下拉树列表
|
||||
*/
|
||||
@GetMapping("/treeselect")
|
||||
public AjaxResult treeselect(ByAssessmentcontent byAssessmentcontent) {
|
||||
List<ByAssessmentcontent> byAssessmentcontents = byAssessmentcontentService.selectByAssessmentcontentList(byAssessmentcontent);
|
||||
return AjaxResult.success(byAssessmentcontentService.buildByAssessmentcontentTreeSelect(byAssessmentcontents));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增评估内容
|
||||
*/
|
||||
|
@ -5,6 +5,9 @@ import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
|
||||
import com.ruoyi.framework.web.domain.BaseEntity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 评估内容对象 by_assessmentcontent
|
||||
*
|
||||
@ -23,7 +26,7 @@ public class ByAssessmentcontent extends BaseEntity {
|
||||
* 父id
|
||||
*/
|
||||
@Excel(name = "父id")
|
||||
private Long parentid;
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
@ -37,6 +40,28 @@ public class ByAssessmentcontent extends BaseEntity {
|
||||
@Excel(name = "是否元素")
|
||||
private String iselement;
|
||||
|
||||
public String getParentName() {
|
||||
return parentName;
|
||||
}
|
||||
|
||||
public void setParentName(String parentName) {
|
||||
this.parentName = parentName;
|
||||
}
|
||||
|
||||
public List<ByAssessmentcontent> getChildren() {
|
||||
return children;
|
||||
}
|
||||
|
||||
public void setChildren(List<ByAssessmentcontent> children) {
|
||||
this.children = children;
|
||||
}
|
||||
|
||||
/** 父部门名称 */
|
||||
private String parentName;
|
||||
|
||||
/** 子部门 */
|
||||
private List<ByAssessmentcontent> children = new ArrayList<ByAssessmentcontent>();
|
||||
|
||||
/**
|
||||
* 元素才有适用范围;应该以幼儿的岁数为准
|
||||
*/
|
||||
@ -51,14 +76,6 @@ public class ByAssessmentcontent extends BaseEntity {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setParentid(Long parentid) {
|
||||
this.parentid = parentid;
|
||||
}
|
||||
|
||||
public Long getParentid() {
|
||||
return parentid;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
@ -87,11 +104,19 @@ public class ByAssessmentcontent extends BaseEntity {
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("parentid", getParentid())
|
||||
.append("parentId", getParentId())
|
||||
.append("name", getName())
|
||||
.append("iselement", getIselement())
|
||||
.append("scope", getScope())
|
||||
.append("createTime", getCreateTime())
|
||||
.toString();
|
||||
}
|
||||
|
||||
public Long getParentId() {
|
||||
return parentId;
|
||||
}
|
||||
|
||||
public void setParentId(Long parentId) {
|
||||
this.parentId = parentId;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.ruoyi.project.benyi.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.framework.web.domain.TreeSelect;
|
||||
import com.ruoyi.project.benyi.domain.ByAssessmentcontent;
|
||||
|
||||
/**
|
||||
@ -27,6 +28,22 @@ public interface IByAssessmentcontentService {
|
||||
*/
|
||||
public List<ByAssessmentcontent> selectByAssessmentcontentList(ByAssessmentcontent byAssessmentcontent);
|
||||
|
||||
/**
|
||||
* 构建前端所需要树结构
|
||||
*
|
||||
* @param byAssessmentcontents 部门列表
|
||||
* @return 树结构列表
|
||||
*/
|
||||
List<ByAssessmentcontent> buildbyAssessmentcontentTree(List<ByAssessmentcontent> byAssessmentcontents);
|
||||
|
||||
/**
|
||||
* 构建前端所需要下拉树结构
|
||||
*
|
||||
* @param byAssessmentcontents 部门列表
|
||||
* @return 下拉树结构列表
|
||||
*/
|
||||
public List<TreeSelect> buildByAssessmentcontentTreeSelect(List<ByAssessmentcontent> byAssessmentcontents);
|
||||
|
||||
/**
|
||||
* 新增评估内容
|
||||
*
|
||||
|
@ -1,8 +1,13 @@
|
||||
package com.ruoyi.project.benyi.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.framework.web.domain.TreeSelect;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.project.benyi.mapper.ByAssessmentcontentMapper;
|
||||
@ -42,6 +47,44 @@ public class ByAssessmentcontentServiceImpl implements IByAssessmentcontentServi
|
||||
return byAssessmentcontentMapper.selectByAssessmentcontentList(byAssessmentcontent);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建前端所需要树结构
|
||||
*
|
||||
* @param byAssessmentcontents 部门列表
|
||||
* @return 树结构列表
|
||||
*/
|
||||
@Override
|
||||
public List<ByAssessmentcontent> buildbyAssessmentcontentTree(List<ByAssessmentcontent> byAssessmentcontents)
|
||||
{
|
||||
List<ByAssessmentcontent> returnList = new ArrayList<ByAssessmentcontent>();
|
||||
List<Long> tempList = new ArrayList<Long>();
|
||||
for (ByAssessmentcontent byAssessmentcontent : byAssessmentcontents)
|
||||
{
|
||||
tempList.add(byAssessmentcontent.getId());
|
||||
}
|
||||
for (Iterator<ByAssessmentcontent> iterator = byAssessmentcontents.iterator(); iterator.hasNext();)
|
||||
{
|
||||
ByAssessmentcontent byAssessmentcontent = (ByAssessmentcontent) iterator.next();
|
||||
// 如果是顶级节点, 遍历该父节点的所有子节点
|
||||
if (!tempList.contains(byAssessmentcontent.getParentId()))
|
||||
{
|
||||
recursionFn(byAssessmentcontents, byAssessmentcontent);
|
||||
returnList.add(byAssessmentcontent);
|
||||
}
|
||||
}
|
||||
if (returnList.isEmpty())
|
||||
{
|
||||
returnList = byAssessmentcontents;
|
||||
}
|
||||
return returnList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TreeSelect> buildByAssessmentcontentTreeSelect(List<ByAssessmentcontent> byAssessmentcontents) {
|
||||
List<ByAssessmentcontent> byAssessmentcontentTrees = buildbyAssessmentcontentTree(byAssessmentcontents);
|
||||
return byAssessmentcontentTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增评估内容
|
||||
*
|
||||
@ -86,4 +129,54 @@ public class ByAssessmentcontentServiceImpl implements IByAssessmentcontentServi
|
||||
public int deleteByAssessmentcontentById(Long id) {
|
||||
return byAssessmentcontentMapper.deleteByAssessmentcontentById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归列表
|
||||
*/
|
||||
private void recursionFn(List<ByAssessmentcontent> list, ByAssessmentcontent t)
|
||||
{
|
||||
// 得到子节点列表
|
||||
List<ByAssessmentcontent> childList = getChildList(list, t);
|
||||
t.setChildren(childList);
|
||||
for (ByAssessmentcontent tChild : childList)
|
||||
{
|
||||
if (hasChild(list, tChild))
|
||||
{
|
||||
// 判断是否有子节点
|
||||
Iterator<ByAssessmentcontent> it = childList.iterator();
|
||||
while (it.hasNext())
|
||||
{
|
||||
ByAssessmentcontent n = (ByAssessmentcontent) it.next();
|
||||
recursionFn(list, n);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 得到子节点列表
|
||||
*/
|
||||
private List<ByAssessmentcontent> getChildList(List<ByAssessmentcontent> list, ByAssessmentcontent t)
|
||||
{
|
||||
List<ByAssessmentcontent> tlist = new ArrayList<ByAssessmentcontent>();
|
||||
Iterator<ByAssessmentcontent> it = list.iterator();
|
||||
while (it.hasNext())
|
||||
{
|
||||
ByAssessmentcontent n = (ByAssessmentcontent) it.next();
|
||||
if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getId().longValue())
|
||||
{
|
||||
tlist.add(n);
|
||||
}
|
||||
}
|
||||
return tlist;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否有子节点
|
||||
*/
|
||||
private boolean hasChild(List<ByAssessmentcontent> list, ByAssessmentcontent t)
|
||||
{
|
||||
return getChildList(list, t).size() > 0 ? true : false;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
<resultMap type="ByAssessmentcontent" id="ByAssessmentcontentResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="parentid" column="parentId"/>
|
||||
<result property="parentId" column="parentId"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="iselement" column="iselement"/>
|
||||
<result property="scope" column="scope"/>
|
||||
@ -21,7 +21,7 @@
|
||||
resultMap="ByAssessmentcontentResult">
|
||||
<include refid="selectByAssessmentcontentVo"/>
|
||||
<where>
|
||||
<if test="parentid != null ">and parentId = #{parentid}</if>
|
||||
<if test="parentId != null ">and parentId = #{parentId}</if>
|
||||
<if test="name != null and name != ''">and name like concat('%', #{name}, '%')</if>
|
||||
<if test="iselement != null and iselement != ''">and iselement = #{iselement}</if>
|
||||
<if test="scope != null and scope != ''">and scope = #{scope}</if>
|
||||
@ -36,14 +36,14 @@
|
||||
<insert id="insertByAssessmentcontent" parameterType="ByAssessmentcontent" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into by_assessmentcontent
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="parentid != null ">parentId,</if>
|
||||
<if test="parentId != null ">parentId,</if>
|
||||
<if test="name != null and name != ''">name,</if>
|
||||
<if test="iselement != null and iselement != ''">iselement,</if>
|
||||
<if test="scope != null and scope != ''">scope,</if>
|
||||
<if test="createTime != null ">create_time,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="parentid != null ">#{parentid},</if>
|
||||
<if test="parentId != null ">#{parentId},</if>
|
||||
<if test="name != null and name != ''">#{name},</if>
|
||||
<if test="iselement != null and iselement != ''">#{iselement},</if>
|
||||
<if test="scope != null and scope != ''">#{scope},</if>
|
||||
@ -54,7 +54,7 @@
|
||||
<update id="updateByAssessmentcontent" parameterType="ByAssessmentcontent">
|
||||
update by_assessmentcontent
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="parentid != null ">parentId = #{parentid},</if>
|
||||
<if test="parentId != null ">parentId = #{parentId},</if>
|
||||
<if test="name != null and name != ''">name = #{name},</if>
|
||||
<if test="iselement != null and iselement != ''">iselement = #{iselement},</if>
|
||||
<if test="scope != null and scope != ''">scope = #{scope},</if>
|
||||
|
Loading…
x
Reference in New Issue
Block a user