Commit 49ac7abd authored by 王晓倩's avatar 王晓倩

Merge remote-tracking branch 'origin/master'

parents 38bf11bf 272e7779
...@@ -44,8 +44,9 @@ public class TStaningBookController extends BaseController ...@@ -44,8 +44,9 @@ public class TStaningBookController extends BaseController
{ {
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
SysUser user = loginUser.getUser(); SysUser user = loginUser.getUser();
tStaningBook.setUserId(user.getUserId());
startPage(); startPage();
List<TStaningBook> list = tStaningBookService.selectTStaningBookList(tStaningBook,user.getDeptId()); List<TStaningBook> list = tStaningBookService.selectTStaningBookList(tStaningBook,user.getRoles().get(0).getRoleId());
return getDataTable(list); return getDataTable(list);
} }
...@@ -60,7 +61,7 @@ public class TStaningBookController extends BaseController ...@@ -60,7 +61,7 @@ public class TStaningBookController extends BaseController
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
SysUser user = loginUser.getUser(); SysUser user = loginUser.getUser();
startPage(); startPage();
List<TStaningBook> list = tStaningBookService.selectTStaningBookList(tStaningBook,user.getDeptId()); List<TStaningBook> list = tStaningBookService.selectTStaningBookList(tStaningBook,user.getRoles().get(0).getRoleId());
ExcelUtil<TStaningBook> util = new ExcelUtil<TStaningBook>(TStaningBook.class); ExcelUtil<TStaningBook> util = new ExcelUtil<TStaningBook>(TStaningBook.class);
return util.exportExcel(list, "隐患台账数据"); return util.exportExcel(list, "隐患台账数据");
} }
...@@ -83,6 +84,9 @@ public class TStaningBookController extends BaseController ...@@ -83,6 +84,9 @@ public class TStaningBookController extends BaseController
@PostMapping @PostMapping
public AjaxResult add(@RequestBody TStaningBook tStaningBook) public AjaxResult add(@RequestBody TStaningBook tStaningBook)
{ {
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
SysUser user = loginUser.getUser();
tStaningBook.setCreateId(user.getUserId());
return toAjax(tStaningBookService.insertTStaningBook(tStaningBook)); return toAjax(tStaningBookService.insertTStaningBook(tStaningBook));
} }
......
...@@ -12,6 +12,7 @@ import com.zehong.common.utils.ServletUtils; ...@@ -12,6 +12,7 @@ import com.zehong.common.utils.ServletUtils;
import com.zehong.common.utils.poi.ExcelUtil; import com.zehong.common.utils.poi.ExcelUtil;
import com.zehong.framework.web.service.TokenService; import com.zehong.framework.web.service.TokenService;
import com.zehong.system.domain.StatisticsTrainCourse; import com.zehong.system.domain.StatisticsTrainCourse;
import com.zehong.system.domain.TDeviceInfo;
import com.zehong.system.domain.TTrainCourse; import com.zehong.system.domain.TTrainCourse;
import com.zehong.system.domain.TTrainUserCourse; import com.zehong.system.domain.TTrainUserCourse;
import com.zehong.system.domain.vo.UserCourseVo; import com.zehong.system.domain.vo.UserCourseVo;
...@@ -193,4 +194,16 @@ public class TTrainCourseController extends BaseController ...@@ -193,4 +194,16 @@ public class TTrainCourseController extends BaseController
List<TTrainUserCourse> persons = tTrainCourseService.testPersonDetailByCourseId(courseId); List<TTrainUserCourse> persons = tTrainCourseService.testPersonDetailByCourseId(courseId);
return getDataTable(persons); return getDataTable(persons);
} }
/**
* 导出所有考试详细数据项
*/
@Log(title = "设备信息管理", businessType = BusinessType.EXPORT)
@GetMapping("/examDetails")
public AjaxResult examDetails(@RequestParam(value = "courseId") Long courseId)
{
List<TTrainUserCourse> persons = tTrainCourseService.examDetails(courseId);
ExcelUtil<TTrainUserCourse> util = new ExcelUtil<TTrainUserCourse>(TTrainUserCourse.class);
return util.exportExcel(persons, "考试详细数据");
}
} }
package com.zehong.system.domain; package com.zehong.system.domain;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
...@@ -17,6 +18,8 @@ public class TStaff extends BaseEntity ...@@ -17,6 +18,8 @@ public class TStaff extends BaseEntity
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**系统用户id*/
private Integer userId;
/** 员工id */ /** 员工id */
private Integer staffId; private Integer staffId;
...@@ -49,6 +52,9 @@ public class TStaff extends BaseEntity ...@@ -49,6 +52,9 @@ public class TStaff extends BaseEntity
/** 岗位id */ /** 岗位id */
@Excel(name = "岗位id") @Excel(name = "岗位id")
private Integer postId; private Integer postId;
/** 角色组 */
private Long[] roleIds;
/** 角色id */ /** 角色id */
@Excel(name = "角色id") @Excel(name = "角色id")
...@@ -83,6 +89,22 @@ public class TStaff extends BaseEntity ...@@ -83,6 +89,22 @@ public class TStaff extends BaseEntity
@Excel(name = "删除标志", readConverterExp = "0=正常,1删除") @Excel(name = "删除标志", readConverterExp = "0=正常,1删除")
private String isDel; private String isDel;
public Long[] getRoleIds() {
return roleIds;
}
public void setRoleIds(Long[] roleIds) {
this.roleIds = roleIds;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public static long getSerialVersionUID() { public static long getSerialVersionUID() {
return serialVersionUID; return serialVersionUID;
} }
...@@ -246,7 +268,8 @@ public class TStaff extends BaseEntity ...@@ -246,7 +268,8 @@ public class TStaff extends BaseEntity
@Override @Override
public String toString() { public String toString() {
return "TStaff{" + return "TStaff{" +
"staffId=" + staffId + "userId=" + userId +
", staffId=" + staffId +
", userName='" + userName + '\'' + ", userName='" + userName + '\'' +
", password='" + password + '\'' + ", password='" + password + '\'' +
", staffName='" + staffName + '\'' + ", staffName='" + staffName + '\'' +
...@@ -255,6 +278,7 @@ public class TStaff extends BaseEntity ...@@ -255,6 +278,7 @@ public class TStaff extends BaseEntity
", deptId=" + deptId + ", deptId=" + deptId +
", phonenumber='" + phonenumber + '\'' + ", phonenumber='" + phonenumber + '\'' +
", postId=" + postId + ", postId=" + postId +
", roleIds=" + Arrays.toString(roleIds) +
", roleId=" + roleId + ", roleId=" + roleId +
", positionalTitles='" + positionalTitles + '\'' + ", positionalTitles='" + positionalTitles + '\'' +
", profession='" + profession + '\'' + ", profession='" + profession + '\'' +
......
...@@ -145,6 +145,26 @@ public class TStaningBook extends BaseEntity ...@@ -145,6 +145,26 @@ public class TStaningBook extends BaseEntity
private List<Long> deptList; private List<Long> deptList;
private Long userId;
private Long createId;
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getCreateId() {
return createId;
}
public void setCreateId(Long createId) {
this.createId = createId;
}
public List<Long> getDeptList() { public List<Long> getDeptList() {
return deptList; return deptList;
} }
......
...@@ -9,7 +9,7 @@ import com.zehong.common.core.domain.BaseEntity; ...@@ -9,7 +9,7 @@ import com.zehong.common.core.domain.BaseEntity;
/** /**
* 用户课程对象 t_train_user_course * 用户课程对象 t_train_user_course
* *
* @author zehong * @author zehong
* @date 2022-09-19 * @date 2022-09-19
*/ */
...@@ -21,42 +21,60 @@ public class TTrainUserCourse extends BaseEntity ...@@ -21,42 +21,60 @@ public class TTrainUserCourse extends BaseEntity
private Long userCourseId; private Long userCourseId;
/** 用户id */ /** 用户id */
@Excel(name = "用户id")
private Long userId; private Long userId;
/** 课程id */ /** 课程id */
@Excel(name = "课程id")
private Long courseId; private Long courseId;
/** 0未学习 1未通过 2已通过 */
@Excel(name = "0未学习 1未通过 2已通过") /**人员名称**/
private Integer state; @Excel(name = "考试人员")
private String staffName;
/** 创建人 */
private String createUser;
/**人员部门**/
@Excel(name = "所属部门")
private String deptName;
/** 最后一次考试时间 */ /** 最后一次考试时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "最后一次考试时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "考试时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date examinationTime; private Date examinationTime;
/** 最后一次考试结果(答对数量) */ /** 最后一次考试结果(答对数量) */
@Excel(name = "最后一次考试结果", readConverterExp = "答=对数量") @Excel(name = "得分")
private Integer examinationResult; private Integer examinationResult;
/** 创建人 */
@Excel(name = "创建人")
private String createUser;
/** 0未学习 1未通过 2已通过 */
/**人员名称**/ private Integer state;
private String staffName;
/**人员部门**/ /** 0未学习 1未通过 2已通过 */
private String deptName; @Excel(name = "考试结果")
private String states;
private Integer personnelType; private Integer personnelType;
private Integer finishDuration; private Integer finishDuration;
private Integer trainState; private Integer trainState;
public static long getSerialVersionUID() {
return serialVersionUID;
}
public String getStates() {
return states;
}
public void setStates(String states) {
this.states = states;
}
public Integer getFinishDuration() { public Integer getFinishDuration() {
return finishDuration; return finishDuration;
} }
...@@ -86,61 +104,61 @@ public class TTrainUserCourse extends BaseEntity ...@@ -86,61 +104,61 @@ public class TTrainUserCourse extends BaseEntity
this.userCourseId = userCourseId; this.userCourseId = userCourseId;
} }
public Long getUserCourseId() public Long getUserCourseId()
{ {
return userCourseId; return userCourseId;
} }
public void setUserId(Long userId) public void setUserId(Long userId)
{ {
this.userId = userId; this.userId = userId;
} }
public Long getUserId() public Long getUserId()
{ {
return userId; return userId;
} }
public void setCourseId(Long courseId) public void setCourseId(Long courseId)
{ {
this.courseId = courseId; this.courseId = courseId;
} }
public Long getCourseId() public Long getCourseId()
{ {
return courseId; return courseId;
} }
public void setState(Integer state) public void setState(Integer state)
{ {
this.state = state; this.state = state;
} }
public Integer getState() public Integer getState()
{ {
return state; return state;
} }
public void setExaminationTime(Date examinationTime) public void setExaminationTime(Date examinationTime)
{ {
this.examinationTime = examinationTime; this.examinationTime = examinationTime;
} }
public Date getExaminationTime() public Date getExaminationTime()
{ {
return examinationTime; return examinationTime;
} }
public void setExaminationResult(Integer examinationResult) public void setExaminationResult(Integer examinationResult)
{ {
this.examinationResult = examinationResult; this.examinationResult = examinationResult;
} }
public Integer getExaminationResult() public Integer getExaminationResult()
{ {
return examinationResult; return examinationResult;
} }
public void setCreateUser(String createUser) public void setCreateUser(String createUser)
{ {
this.createUser = createUser; this.createUser = createUser;
} }
public String getCreateUser() public String getCreateUser()
{ {
return createUser; return createUser;
} }
...@@ -163,15 +181,20 @@ public class TTrainUserCourse extends BaseEntity ...@@ -163,15 +181,20 @@ public class TTrainUserCourse extends BaseEntity
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return "TTrainUserCourse{" +
.append("userCourseId", getUserCourseId()) "userCourseId=" + userCourseId +
.append("userId", getUserId()) ", userId=" + userId +
.append("courseId", getCourseId()) ", courseId=" + courseId +
.append("state", getState()) ", staffName='" + staffName + '\'' +
.append("examinationTime", getExaminationTime()) ", createUser='" + createUser + '\'' +
.append("examinationResult", getExaminationResult()) ", deptName='" + deptName + '\'' +
.append("createTime", getCreateTime()) ", examinationTime=" + examinationTime +
.append("createUser", getCreateUser()) ", examinationResult=" + examinationResult +
.toString(); ", state=" + state +
", states='" + states + '\'' +
", personnelType=" + personnelType +
", finishDuration=" + finishDuration +
", trainState=" + trainState +
'}';
} }
} }
...@@ -12,7 +12,7 @@ import java.util.Date; ...@@ -12,7 +12,7 @@ import java.util.Date;
/** /**
* 员工信息管理对象 t_staff * 员工信息管理对象 t_staff
* *
* @author zehong * @author zehong
* @date 2022-06-17 * @date 2022-06-17
*/ */
......
...@@ -5,15 +5,15 @@ import com.zehong.system.domain.TTrainUserCourse; ...@@ -5,15 +5,15 @@ import com.zehong.system.domain.TTrainUserCourse;
/** /**
* 用户课程Mapper接口 * 用户课程Mapper接口
* *
* @author zehong * @author zehong
* @date 2022-09-19 * @date 2022-09-19
*/ */
public interface TTrainUserCourseMapper public interface TTrainUserCourseMapper
{ {
/** /**
* 查询用户课程 * 查询用户课程
* *
* @param userCourseId 用户课程ID * @param userCourseId 用户课程ID
* @return 用户课程 * @return 用户课程
*/ */
...@@ -21,7 +21,7 @@ public interface TTrainUserCourseMapper ...@@ -21,7 +21,7 @@ public interface TTrainUserCourseMapper
/** /**
* 查询用户课程列表 * 查询用户课程列表
* *
* @param tTrainUserCourse 用户课程 * @param tTrainUserCourse 用户课程
* @return 用户课程集合 * @return 用户课程集合
*/ */
...@@ -29,7 +29,7 @@ public interface TTrainUserCourseMapper ...@@ -29,7 +29,7 @@ public interface TTrainUserCourseMapper
/** /**
* 新增用户课程 * 新增用户课程
* *
* @param tTrainUserCourse 用户课程 * @param tTrainUserCourse 用户课程
* @return 结果 * @return 结果
*/ */
...@@ -37,7 +37,7 @@ public interface TTrainUserCourseMapper ...@@ -37,7 +37,7 @@ public interface TTrainUserCourseMapper
/** /**
* 修改用户课程 * 修改用户课程
* *
* @param tTrainUserCourse 用户课程 * @param tTrainUserCourse 用户课程
* @return 结果 * @return 结果
*/ */
...@@ -45,7 +45,7 @@ public interface TTrainUserCourseMapper ...@@ -45,7 +45,7 @@ public interface TTrainUserCourseMapper
/** /**
* 删除用户课程 * 删除用户课程
* *
* @param userCourseId 用户课程ID * @param userCourseId 用户课程ID
* @return 结果 * @return 结果
*/ */
...@@ -53,7 +53,7 @@ public interface TTrainUserCourseMapper ...@@ -53,7 +53,7 @@ public interface TTrainUserCourseMapper
/** /**
* 批量删除用户课程 * 批量删除用户课程
* *
* @param userCourseIds 需要删除的数据ID * @param userCourseIds 需要删除的数据ID
* @return 结果 * @return 结果
*/ */
...@@ -65,4 +65,11 @@ public interface TTrainUserCourseMapper ...@@ -65,4 +65,11 @@ public interface TTrainUserCourseMapper
* @return List<TTrainUserCourse> * @return List<TTrainUserCourse>
*/ */
List<TTrainUserCourse> testPersonDetailByCourseId(Long courseId); List<TTrainUserCourse> testPersonDetailByCourseId(Long courseId);
/**
* 导出所有考试详细数据项
* @param courseId
* @return
*/
List<TTrainUserCourse> examDetails(Long courseId);
} }
...@@ -28,7 +28,7 @@ public interface ITStaningBookService ...@@ -28,7 +28,7 @@ public interface ITStaningBookService
* @param tStaningBook 隐患台账 * @param tStaningBook 隐患台账
* @return 隐患台账集合 * @return 隐患台账集合
*/ */
public List<TStaningBook> selectTStaningBookList(TStaningBook tStaningBook,Long deptId); public List<TStaningBook> selectTStaningBookList(TStaningBook tStaningBook,Long roleId);
/** /**
* 新增隐患台账 * 新增隐患台账
......
...@@ -107,5 +107,12 @@ public interface ITTrainCourseService ...@@ -107,5 +107,12 @@ public interface ITTrainCourseService
* @return List<TTrainUserCourse> * @return List<TTrainUserCourse>
*/ */
List<TTrainUserCourse> testPersonDetailByCourseId(Long courseId); List<TTrainUserCourse> testPersonDetailByCourseId(Long courseId);
/**
* 导出所有考试详细数据项
* @param courseId
* @return
*/
List<TTrainUserCourse> examDetails(Long courseId);
} }
...@@ -239,7 +239,7 @@ public class LedserviceImpl { ...@@ -239,7 +239,7 @@ public class LedserviceImpl {
led.AddSinglelineTextToImageTextArea(hProgram,0,1,0,"上海灵信视觉","宋体",12,0xff,0,0,0,6,8,0); led.AddSinglelineTextToImageTextArea(hProgram,0,1,0,"上海灵信视觉","宋体",12,0xff,0,0,0,6,8,0);
//添加数字时钟节目 //添加数字时钟节目
led.AddProgram(hProgram, 1, 0, 1); led.AddProgram(hProgram, 1, 0, 1);
led.AddDigitalClockArea(hProgram,1,1,0,0,ledWidth,ledHeight,"宋体",8,0xff,0,0,0,0,0,0,0,1,1,0,0,0xff,0,0xff,0,0xff,1); led.AddDigitalClockArea(hProgram,1,1,0,0,ledWidth,ledHeight,"宋体",9,0xff,0,0,0,1,0,1,1,1,1,1,0,0xff,0,0xff,3,0xff,0);
int errCode = led.NetWorkSend(strIp, hProgram); int errCode = led.NetWorkSend(strIp, hProgram);
led.DeleteProgram(hProgram); led.DeleteProgram(hProgram);
......
package com.zehong.system.service.impl; package com.zehong.system.service.impl;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.zehong.common.core.domain.entity.SysUser;
import com.zehong.common.utils.DateUtils; import com.zehong.common.utils.DateUtils;
import com.zehong.common.utils.StringUtils;
import com.zehong.system.domain.SysUserRole;
import com.zehong.system.domain.TStaff; import com.zehong.system.domain.TStaff;
import com.zehong.system.domain.form.TStaffForm; import com.zehong.system.domain.form.TStaffForm;
import com.zehong.system.domain.vo.TStaffVo; import com.zehong.system.domain.vo.TStaffVo;
import com.zehong.system.mapper.SysUserRoleMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.zehong.system.mapper.TStaffMapper; import com.zehong.system.mapper.TStaffMapper;
...@@ -12,19 +18,23 @@ import com.zehong.system.service.ITStaffService; ...@@ -12,19 +18,23 @@ import com.zehong.system.service.ITStaffService;
/** /**
* 员工信息管理Service业务层处理 * 员工信息管理Service业务层处理
* *
* @author zehong * @author zehong
* @date 2022-06-17 * @date 2022-06-17
*/ */
@Service @Service
public class TStaffServiceImpl implements ITStaffService public class TStaffServiceImpl implements ITStaffService
{ {
@Autowired @Autowired
private TStaffMapper tStaffMapper; private TStaffMapper tStaffMapper;
@Autowired
private SysUserRoleMapper userRoleMapper;
/** /**
* 查询员工信息管理 * 查询员工信息管理
* *
* @param staffId 员工信息管理ID * @param staffId 员工信息管理ID
* @return 员工信息管理 * @return 员工信息管理
*/ */
...@@ -36,7 +46,7 @@ public class TStaffServiceImpl implements ITStaffService ...@@ -36,7 +46,7 @@ public class TStaffServiceImpl implements ITStaffService
/** /**
* 查询员工信息管理列表 * 查询员工信息管理列表
* *
* @param tStaff 员工信息管理 * @param tStaff 员工信息管理
* @return 员工信息管理 * @return 员工信息管理
*/ */
...@@ -48,7 +58,7 @@ public class TStaffServiceImpl implements ITStaffService ...@@ -48,7 +58,7 @@ public class TStaffServiceImpl implements ITStaffService
/** /**
* 新增员工信息管理 * 新增员工信息管理
* *
* @param tStaff 员工信息管理 * @param tStaff 员工信息管理
* @return 结果 * @return 结果
*/ */
...@@ -58,25 +68,32 @@ public class TStaffServiceImpl implements ITStaffService ...@@ -58,25 +68,32 @@ public class TStaffServiceImpl implements ITStaffService
String staffCode = tStaffMapper.getStaffCode(); String staffCode = tStaffMapper.getStaffCode();
tStaff.setStaffCode(staffCode); tStaff.setStaffCode(staffCode);
tStaff.setCreateTime(DateUtils.getNowDate()); tStaff.setCreateTime(DateUtils.getNowDate());
return tStaffMapper.insertTStaff(tStaff); tStaffMapper.insertTStaff(tStaff);
// 新增用户与角色管理
insertUserRole(tStaff);
return tStaff.getStaffId();
} }
/** /**
* 修改员工信息管理 * 修改员工信息管理
* *
* @param tStaff 员工信息管理 * @param tStaff 员工信息管理
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateTStaff(TStaff tStaff) public int updateTStaff(TStaff tStaff)
{ {
// 删除用户与角色关联
userRoleMapper.deleteUserRoleByUserId(Long.valueOf(tStaff.getStaffId()));
// 新增用户与角色管理
insertUserRole(tStaff);
tStaff.setUpdateTime(DateUtils.getNowDate()); tStaff.setUpdateTime(DateUtils.getNowDate());
return tStaffMapper.updateTStaff(tStaff); return tStaffMapper.updateTStaff(tStaff);
} }
/** /**
* 批量删除员工信息管理 * 批量删除员工信息管理
* *
* @param staffIds 需要删除的员工信息管理ID * @param staffIds 需要删除的员工信息管理ID
* @return 结果 * @return 结果
*/ */
...@@ -88,7 +105,7 @@ public class TStaffServiceImpl implements ITStaffService ...@@ -88,7 +105,7 @@ public class TStaffServiceImpl implements ITStaffService
/** /**
* 删除员工信息管理信息 * 删除员工信息管理信息
* *
* @param staffId 员工信息管理ID * @param staffId 员工信息管理ID
* @return 结果 * @return 结果
*/ */
...@@ -97,4 +114,30 @@ public class TStaffServiceImpl implements ITStaffService ...@@ -97,4 +114,30 @@ public class TStaffServiceImpl implements ITStaffService
{ {
return tStaffMapper.deleteTStaffById(staffId); return tStaffMapper.deleteTStaffById(staffId);
} }
/**
* 新增用户角色信息
*
* @param user 用户对象
*/
public void insertUserRole(TStaff user)
{
Long[] roles = user.getRoleIds();
if (StringUtils.isNotNull(roles))
{
// 新增用户与角色管理
List<SysUserRole> list = new ArrayList<SysUserRole>();
for (Long roleId : roles)
{
SysUserRole ur = new SysUserRole();
ur.setUserId(Long.valueOf(user.getStaffId()));
ur.setRoleId(roleId);
list.add(ur);
}
if (list.size() > 0)
{
userRoleMapper.batchUserRole(list);
}
}
}
} }
...@@ -51,13 +51,11 @@ public class TStaningBookServiceImpl implements ITStaningBookService ...@@ -51,13 +51,11 @@ public class TStaningBookServiceImpl implements ITStaningBookService
* @return 隐患台账 * @return 隐患台账
*/ */
@Override @Override
public List<TStaningBook> selectTStaningBookList(TStaningBook tStaningBook,Long deptId) public List<TStaningBook> selectTStaningBookList(TStaningBook tStaningBook,Long roleId)
{ {
List<Long> oneList = new ArrayList<>(); if(roleId!=3){//当角色是管理员时候查询全部
oneList.add(deptId); tStaningBook.setUserId(0l);
List<Long> deptIds = selectDeptIds(new ArrayList<>(),oneList); }
deptIds.add(deptId);
tStaningBook.setDeptList(deptIds);
List<TStaningBook> list = tStaningBookMapper.selectTStaningBookList(tStaningBook); List<TStaningBook> list = tStaningBookMapper.selectTStaningBookList(tStaningBook);
return list; return list;
} }
......
...@@ -67,7 +67,11 @@ public class TTrainCourseServiceImpl implements ITTrainCourseService ...@@ -67,7 +67,11 @@ public class TTrainCourseServiceImpl implements ITTrainCourseService
return 0; return 0;
} }
List<String> userIds = tTrainPlanMapper.selectAlluserByplanId(course.getCourseType()); List<String> userIds = tTrainPlanMapper.selectAlluserByplanId(course.getCourseType());
tTrainCourseMapper.insertUserCourse(courseId,userIds,course.getPersonnelType()); //异常数据
if(userIds==null||userIds.size()==0){
return 0;
}
tTrainCourseMapper.insertUserCourse(courseId,userIds,course.getPersonnelType());
course.setStatus(1); course.setStatus(1);
course.setReleaseTime(new Date()); course.setReleaseTime(new Date());
return tTrainCourseMapper.updateTTrainCourse(course); return tTrainCourseMapper.updateTTrainCourse(course);
...@@ -332,6 +336,16 @@ public class TTrainCourseServiceImpl implements ITTrainCourseService ...@@ -332,6 +336,16 @@ public class TTrainCourseServiceImpl implements ITTrainCourseService
return tTrainUserCourseMapper.testPersonDetailByCourseId(courseId); return tTrainUserCourseMapper.testPersonDetailByCourseId(courseId);
} }
/**
* 导出所有考试详细数据项
* @param courseId
* @return
*/
@Override
public List<TTrainUserCourse> examDetails(Long courseId) {
return tTrainUserCourseMapper.examDetails(courseId);
}
@Override @Override
public TTrainUserCourse getUserCourse(Long userCourseId){ public TTrainUserCourse getUserCourse(Long userCourseId){
TTrainUserCourse userCourse = tTrainUserCourseMapper.selectTTrainUserCourseById(userCourseId); TTrainUserCourse userCourse = tTrainUserCourseMapper.selectTTrainUserCourseById(userCourseId);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zehong.system.mapper.TContractorTrainResultMapper"> <mapper namespace="com.zehong.system.mapper.TContractorTrainResultMapper">
<resultMap type="TContractorTrainResult" id="TContractorTrainResultResult"> <resultMap type="TContractorTrainResult" id="TContractorTrainResultResult">
<result property="resultId" column="result_id" /> <result property="resultId" column="result_id" />
<result property="beyondUnit" column="beyond_unit" /> <result property="beyondUnit" column="beyond_unit" />
...@@ -25,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -25,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectTContractorTrainResultList" parameterType="TContractorTrainResult" resultMap="TContractorTrainResultResult"> <select id="selectTContractorTrainResultList" parameterType="TContractorTrainResult" resultMap="TContractorTrainResultResult">
<include refid="selectTContractorTrainResultVo"/> <include refid="selectTContractorTrainResultVo"/>
<where> <where>
<if test="beyondUnit != null and beyondUnit != ''"> and beyond_unit = #{beyondUnit}</if> <if test="beyondUnit != null and beyondUnit != ''"> and beyond_unit = #{beyondUnit}</if>
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if> <if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="sex != null and sex != ''"> and sex = #{sex}</if> <if test="sex != null and sex != ''"> and sex = #{sex}</if>
...@@ -34,13 +34,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -34,13 +34,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="score != null and score != ''"> and score = #{score}</if> <if test="score != null and score != ''"> and score = #{score}</if>
<if test="isQualified != null and isQualified != ''"> and is_qualified = #{isQualified}</if> <if test="isQualified != null and isQualified != ''"> and is_qualified = #{isQualified}</if>
</where> </where>
order by result_id desc
</select> </select>
<select id="selectTContractorTrainResultById" parameterType="Long" resultMap="TContractorTrainResultResult"> <select id="selectTContractorTrainResultById" parameterType="Long" resultMap="TContractorTrainResultResult">
<include refid="selectTContractorTrainResultVo"/> <include refid="selectTContractorTrainResultVo"/>
where result_id = #{resultId} where result_id = #{resultId}
</select> </select>
<insert id="insertTContractorTrainResult" parameterType="TContractorTrainResult" useGeneratedKeys="true" keyProperty="resultId"> <insert id="insertTContractorTrainResult" parameterType="TContractorTrainResult" useGeneratedKeys="true" keyProperty="resultId">
insert into t_contractor_train_result insert into t_contractor_train_result
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
...@@ -94,9 +95,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -94,9 +95,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete> </delete>
<delete id="deleteTContractorTrainResultByIds" parameterType="String"> <delete id="deleteTContractorTrainResultByIds" parameterType="String">
delete from t_contractor_train_result where result_id in delete from t_contractor_train_result where result_id in
<foreach item="resultId" collection="array" open="(" separator="," close=")"> <foreach item="resultId" collection="array" open="(" separator="," close=")">
#{resultId} #{resultId}
</foreach> </foreach>
</delete> </delete>
</mapper> </mapper>
\ No newline at end of file
...@@ -71,7 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -71,7 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where t.user_id = #{staffId} where t.user_id = #{staffId}
</select> </select>
<insert id="insertTStaff" parameterType="TStaff"> <insert id="insertTStaff" parameterType="TStaff" useGeneratedKeys = "true" keyProperty = "staffId">
insert into sys_user insert into sys_user
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
user_staff, user_staff,
......
...@@ -37,6 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -37,6 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="workId" column="work_id" /> <result property="workId" column="work_id" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createId" column="create_id" />
<result property="isDel" column="is_del" /> <result property="isDel" column="is_del" />
<result property="deptName" column="deptName" /> <result property="deptName" column="deptName" />
</resultMap> </resultMap>
...@@ -57,9 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -57,9 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN sys_dept d ON d.`dept_id` = b.`dept_id` LEFT JOIN sys_dept d ON d.`dept_id` = b.`dept_id`
<where> <where>
<foreach collection="deptList" item="deptId" open="AND b.dept_id in (" separator="," close=")"> <if test="userId != null and userId != 0"> and (b.escalation=#{userId}||b.rectification = #{userId}||b.create_id = #{userId} ) </if>
#{deptId}
</foreach>
<if test="troubleName != null and troubleName != ''"> and b.trouble_name like concat('%', #{troubleName}, '%')</if> <if test="troubleName != null and troubleName != ''"> and b.trouble_name like concat('%', #{troubleName}, '%')</if>
<if test="findTime != null "> and b.find_time &gt; #{findTime}</if> <if test="findTime != null "> and b.find_time &gt; #{findTime}</if>
<if test="rectificationTime != null "> and b.find_time &lt; #{rectificationTime}</if> <if test="rectificationTime != null "> and b.find_time &lt; #{rectificationTime}</if>
...@@ -103,6 +102,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -103,6 +102,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="workId != null">work_id,</if> <if test="workId != null">work_id,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
<if test="createId != null">create_id,</if>
<if test="isDel != null">is_del,</if> <if test="isDel != null">is_del,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
...@@ -134,6 +134,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -134,6 +134,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="workId != null">#{workId},</if> <if test="workId != null">#{workId},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
<if test="createId != null">#{createId},</if>
<if test="isDel != null">#{isDel},</if> <if test="isDel != null">#{isDel},</if>
</trim> </trim>
</insert> </insert>
...@@ -169,6 +170,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -169,6 +170,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="workId != null">work_id = #{workId},</if> <if test="workId != null">work_id = #{workId},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
<if test="createId != null">create_id = #{createId},</if>
<if test="isDel != null">is_del = #{isDel},</if> <if test="isDel != null">is_del = #{isDel},</if>
</trim> </trim>
where book_id = #{bookId} where book_id = #{bookId}
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zehong.system.mapper.TTrainUserCourseMapper"> <mapper namespace="com.zehong.system.mapper.TTrainUserCourseMapper">
<resultMap type="TTrainUserCourse" id="TTrainUserCourseResult"> <resultMap type="TTrainUserCourse" id="TTrainUserCourseResult">
<result property="userCourseId" column="user_course_id" /> <result property="userCourseId" column="user_course_id" />
<result property="userId" column="user_id" /> <result property="userId" column="user_id" />
...@@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="deptName" column="dept_name"/> <result property="deptName" column="dept_name"/>
<result property="finishDuration" column="finish_duration"/> <result property="finishDuration" column="finish_duration"/>
<result property="trainState" column="train_state"/> <result property="trainState" column="train_state"/>
<result property="states" column="states"/>
</resultMap> </resultMap>
<sql id="selectTTrainUserCourseVo"> <sql id="selectTTrainUserCourseVo">
...@@ -35,12 +36,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -35,12 +36,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createUser != null and createUser != ''"> and create_user = #{createUser}</if> <if test="createUser != null and createUser != ''"> and create_user = #{createUser}</if>
</where> </where>
</select> </select>
<select id="selectTTrainUserCourseById" parameterType="Long" resultMap="TTrainUserCourseResult"> <select id="selectTTrainUserCourseById" parameterType="Long" resultMap="TTrainUserCourseResult">
<include refid="selectTTrainUserCourseVo"/> <include refid="selectTTrainUserCourseVo"/>
where user_course_id = #{userCourseId} where user_course_id = #{userCourseId}
</select> </select>
<insert id="insertTTrainUserCourse" parameterType="TTrainUserCourse" useGeneratedKeys="true" keyProperty="userCourseId"> <insert id="insertTTrainUserCourse" parameterType="TTrainUserCourse" useGeneratedKeys="true" keyProperty="userCourseId">
insert into t_train_user_course insert into t_train_user_course
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
...@@ -91,7 +92,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -91,7 +92,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete> </delete>
<delete id="deleteTTrainUserCourseByIds" parameterType="String"> <delete id="deleteTTrainUserCourseByIds" parameterType="String">
delete from t_train_user_course where user_course_id in delete from t_train_user_course where user_course_id in
<foreach item="userCourseId" collection="array" open="(" separator="," close=")"> <foreach item="userCourseId" collection="array" open="(" separator="," close=")">
#{userCourseId} #{userCourseId}
</foreach> </foreach>
...@@ -102,11 +103,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -102,11 +103,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sys.staff_name, sys.staff_name,
d.dept_name, d.dept_name,
train.examination_result, train.examination_result,
train.state,train.examination_time train.state,
train.examination_time
FROM
t_train_user_course train
LEFT JOIN sys_user sys ON train.user_id = sys.user_id
left join sys_dept d on sys.dept_id = d.dept_id
WHERE train.course_id = #{courseId}
</select>
<!--导出所有考试详细数据项-->
<select id="examDetails" parameterType="Long" resultMap="TTrainUserCourseResult">
SELECT
sys.staff_name,
d.dept_name,
train.examination_result,
train.examination_result,
CASE
WHEN train.state = 0 THEN
'未考试'
WHEN train.state = 1 THEN
'未通过'
WHEN train.state = 2 THEN
'已通过'
END AS states ,
train.examination_time
FROM FROM
t_train_user_course train t_train_user_course train
LEFT JOIN sys_user sys ON train.user_id = sys.user_id LEFT JOIN sys_user sys ON train.user_id = sys.user_id
left join sys_dept d on sys.dept_id = d.dept_id left join sys_dept d on sys.dept_id = d.dept_id
WHERE train.course_id = #{courseId} WHERE train.course_id = #{courseId}
</select> </select>
</mapper> </mapper>
\ No newline at end of file
/*
* @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-12-27 16:04:04
* @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2023-01-31 16:22:00
* @FilePath: /danger-manage-web/src/api/contractTrain/contractTrain.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import request from '@/utils/request' import request from '@/utils/request'
// 查询承包商及访客培训列表 // 查询承包商及访客培训列表
...@@ -9,6 +17,7 @@ export function listCourse(query) { ...@@ -9,6 +17,7 @@ export function listCourse(query) {
}) })
} }
// 查询承包商及访客培训详细 // 查询承包商及访客培训详细
export function getCourse(contractorCourseId) { export function getCourse(contractorCourseId) {
return request({ return request({
......
...@@ -193,3 +193,12 @@ export function bachAddTopicGuest(data) { ...@@ -193,3 +193,12 @@ export function bachAddTopicGuest(data) {
data: data data: data
}) })
} }
export function exportDeviceInfo(query) {
return request({
url: '/system/course/examDetails',
method: 'get',
params: query
})
}
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<div class="upload-file"> <div class="upload-file">
<el-upload <el-upload
:action="uploadFileUrl" :action="uploadFileUrl"
:disabled="disabled"
:before-upload="handleBeforeUpload" :before-upload="handleBeforeUpload"
:file-list="fileArr" :file-list="fileArr"
:limit="1" :limit="1"
...@@ -16,11 +17,11 @@ ...@@ -16,11 +17,11 @@
:show-file-list="true" :show-file-list="true"
:headers="headers" :headers="headers"
class="upload-file-uploader" class="upload-file-uploader"
:class="{ hide: fileArr.length>0 ||addShow }" :class="{ hide: fileArr.length > 0 || addShow }"
ref="upload" ref="upload"
> >
<!-- 上传按钮 --> <!-- 上传按钮 -->
<el-button plain type="primary">选取文件</el-button> <el-button :disabled="disabled" plain type="primary">选取文件</el-button>
<!--<i class="el-icon-plus"></i>--> <!--<i class="el-icon-plus"></i>-->
<!-- 上传提示 --> <!-- 上传提示 -->
<div class="el-upload__tip" slot="tip" v-if="showTip"> <div class="el-upload__tip" slot="tip" v-if="showTip">
...@@ -33,14 +34,14 @@ ...@@ -33,14 +34,14 @@
</template> </template>
的文件,且不超过一个 的文件,且不超过一个
</div> </div>
</el-upload> </el-upload>
<el-image v-show="false" <el-image
id="img" v-show="false"
ref="previewImg" id="img"
:src="dialogImageUrl" ref="previewImg"
:preview-src-list="bigImageArr" :src="dialogImageUrl"
:z-index="9999999" :preview-src-list="bigImageArr"
:z-index="9999999"
></el-image> ></el-image>
<!-- <el-dialog <!-- <el-dialog
:center="true" :center="true"
...@@ -66,199 +67,201 @@ ...@@ -66,199 +67,201 @@
</template> </template>
<script> <script>
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
export default { export default {
props: { props: {
// 值 // 值
value: [String, Object, Array], value: [String, Object, Array],
listType: { listType: {
type: String, type: String,
defaule: "text", defaule: "text",
},
// 大小限制(MB)
fileSize: {
type: Number,
default: 50,
},
fileArr: {
type: Array,
default: [],
},
// 文件类型, 例如['png', 'jpg', 'jpeg']
fileType: {
type: Array,
default: () => ["doc", "xls", "ppt", "txt", "pdf"],
},
// 是否显示提示
isShowTip: {
type: Boolean,
default: true,
},
}, },
data() { // 大小限制(MB)
return { fileSize: {
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址 type: Number,
headers: { default: 50,
Authorization: "Bearer " + getToken(),
},
fileList: [],
modal: false,
dialogVisible: false,
dialogImageUrl: "",
addShow: true,
};
}, },
computed: { fileArr: {
// 是否显示提示 type: Array,
showTip() { default: [],
return this.isShowTip && (this.fileType || this.fileSize); },
}, // 文件类型, 例如['png', 'jpg', 'jpeg']
// 列表 fileType: {
list() { type: Array,
let temp = 1; default: () => ["doc", "xls", "ppt", "txt", "pdf"],
if (this.value) { },
// 首先将值转为数组 // 是否显示提示
const list = Array.isArray(this.value) ? this.value : [this.value]; isShowTip: {
// 然后将数组转为对象数组 type: Boolean,
return list.map((item) => { default: true,
if (typeof item === "string") { },
item = { name: item, url: item }; disabled: {
} type: Boolean,
item.uid = item.uid || new Date().getTime() + temp++; default:false,
return item; },
}); },
} else { data() {
this.fileList = []; return {
return []; uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
} headers: {
}, Authorization: "Bearer " + getToken(),
bigImageArr() {
return [this.dialogImageUrl]
}, },
fileList: [],
modal: false,
dialogVisible: false,
dialogImageUrl: "",
addShow: true,
};
},
computed: {
// 是否显示提示
showTip() {
return this.isShowTip && (this.fileType || this.fileSize);
}, },
methods: { // 列表
// 上传前校检格式和大小 list() {
handleBeforeUpload(file) { let temp = 1;
// 校检文件类型 if (this.value) {
if (this.fileType) { // 首先将值转为数组
let fileExtension = ""; const list = Array.isArray(this.value) ? this.value : [this.value];
if (file.name.lastIndexOf(".") > -1) { // 然后将数组转为对象数组
fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1); return list.map((item) => {
} if (typeof item === "string") {
const isTypeOk = this.fileType.some((type) => { item = { name: item, url: item };
if (file.type.indexOf(type) > -1) return true;
if (fileExtension && fileExtension.indexOf(type) > -1) return true;
return false;
});
if (!isTypeOk) {
this.$message.error(
`文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`
);
return false;
} }
item.uid = item.uid || new Date().getTime() + temp++;
return item;
});
} else {
this.fileList = [];
return [];
}
},
bigImageArr() {
return [this.dialogImageUrl];
},
},
methods: {
// 上传前校检格式和大小
handleBeforeUpload(file) {
// 校检文件类型
if (this.fileType) {
let fileExtension = "";
if (file.name.lastIndexOf(".") > -1) {
fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1);
} }
// 校检文件大小 const isTypeOk = this.fileType.some((type) => {
if (this.fileSize) { if (file.type.indexOf(type) > -1) return true;
const isLt = file.size / 1024 / 1024 < this.fileSize; if (fileExtension && fileExtension.indexOf(type) > -1) return true;
if (!isLt) { return false;
this.$message.error(`上传文件大小不能超过 ${this.fileSize} MB!`); });
return false; if (!isTypeOk) {
} this.$message.error(
`文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`
);
return false;
} }
return true; }
}, // 校检文件大小
// 文件个数超出 if (this.fileSize) {
handleExceed() { const isLt = file.size / 1024 / 1024 < this.fileSize;
this.$message.error(`只允许上传单个文件`); if (!isLt) {
}, this.$message.error(`上传文件大小不能超过 ${this.fileSize} MB!`);
// 上传失败 return false;
handleUploadError(err) {
this.$message.error("上传失败, 请重试");
},
// 上传成功回调
handleUploadSuccess(res, file) {
this.$message.success("上传成功");
this.$emit("resFun", res);
},
// 文件列表移除文件
handleRemove(file, fileList) {
console.log("列表移除", file, fileList);
this.addShow = fileList.length > 0 ? true : false;
this.$emit("remove", file);
},
// 删除文件
handleDelete(index) {
this.fileList.splice(index, 1);
this.$emit("input", "");
// let that = this,
// param;
// param = file.response ? file.response.fileName.replace(/\\/g, "%")
// : file.response.url.replace(/\\/g, "%").slice(9);
// $.ajax({
// type: "GET",
// url: process.env.VUE_APP_BASE_API + "/common/deleteFile",
// data: {savePath: param},
// dataType: "json",
// success: function(data){
// if (data) that.$message.success("删除成功");
// else return false;
// }
// });
},
handleFileClick(file, fileList) {
this.dialogImageUrl = file.response ? file.response.url : file.url;
// this.dialogImageUrl =if(this.fileArr) this.fileArr[0].url;
// this.dialogVisible = true;
this.$refs.previewImg.showViewer = false;
console.log(file);
// console.log(file.response.url)
},
// 获取文件名称
getFileName(name) {
if (name.lastIndexOf("/") > -1) {
return name.slice(name.lastIndexOf("/") + 1).toLowerCase();
} else {
return "";
} }
}, }
// 当改变列表改变时 return true;
fileChange(file, fileList) { },
this.addShow = fileList.length > 0 ? true : false; // 文件个数超出
}, handleExceed() {
this.$message.error(`只允许上传单个文件`);
},
// 上传失败
handleUploadError(err) {
this.$message.error("上传失败, 请重试");
},
// 上传成功回调
handleUploadSuccess(res, file) {
this.$message.success("上传成功");
this.$emit("resFun", res);
}, },
created() { // 文件列表移除文件
console.log(this.fileArr); handleRemove(file, fileList) {
// this.fileList = this.list; console.log("列表移除", file, fileList);
this.addShow = this.fileArr.length > 0 ? true : false; this.addShow = fileList.length > 0 ? true : false;
this.$emit("remove", file);
}, },
// 删除文件
handleDelete(index) {
this.fileList.splice(index, 1);
this.$emit("input", "");
// let that = this,
// param;
// param = file.response ? file.response.fileName.replace(/\\/g, "%")
// : file.response.url.replace(/\\/g, "%").slice(9);
// $.ajax({
// type: "GET",
// url: process.env.VUE_APP_BASE_API + "/common/deleteFile",
// data: {savePath: param},
// dataType: "json",
// success: function(data){
// if (data) that.$message.success("删除成功");
// else return false;
// }
// });
},
handleFileClick(file, fileList) {
this.dialogImageUrl = file.response ? file.response.url : file.url;
// this.dialogImageUrl =if(this.fileArr) this.fileArr[0].url;
// this.dialogVisible = true;
this.$refs.previewImg.showViewer = false;
}; console.log(file);
// console.log(file.response.url)
},
// 获取文件名称
getFileName(name) {
if (name.lastIndexOf("/") > -1) {
return name.slice(name.lastIndexOf("/") + 1).toLowerCase();
} else {
return "";
}
},
// 当改变列表改变时
fileChange(file, fileList) {
this.addShow = fileList.length > 0 ? true : false;
},
},
created() {
console.log(this.fileArr);
// this.fileList = this.list;
this.addShow = this.fileArr.length > 0 ? true : false;
},
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
img { img {
width: 100%; width: 100%;
} }
.upload-file-uploader { .upload-file-uploader {
margin-bottom: 5px; margin-bottom: 5px;
} }
.upload-file-list .el-upload-list__item { .upload-file-list .el-upload-list__item {
border: 1px solid #e4e7ed; border: 1px solid #e4e7ed;
line-height: 2; line-height: 2;
margin-bottom: 10px; margin-bottom: 10px;
position: relative; position: relative;
} }
.upload-file-list .ele-upload-list__item-content { .upload-file-list .ele-upload-list__item-content {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
color: inherit; color: inherit;
} }
.ele-upload-list__item-content-action .el-link { .ele-upload-list__item-content-action .el-link {
margin-right: 10px; margin-right: 10px;
} }
</style> </style>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-12-19 15:23:58 * @Date: 2022-12-19 15:23:58
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2022-12-21 16:56:26 * @LastEditTime: 2023-02-01 17:24:30
* @FilePath: /danger-manage-web/src/views/educationPlanExam/textPaper/components/Lesson-table.vue * @FilePath: /danger-manage-web/src/views/educationPlanExam/textPaper/components/Lesson-table.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -16,7 +16,10 @@ ...@@ -16,7 +16,10 @@
@select-all="all" @select-all="all"
ref="multipleTable" ref="multipleTable"
> >
<el-table-column type="selection"></el-table-column> <el-table-column
v-if='!disabled'
type="selection"
></el-table-column>
<el-table-column label="姓名" align="center" prop="staffName"> <el-table-column label="姓名" align="center" prop="staffName">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -55,10 +58,14 @@ export default { ...@@ -55,10 +58,14 @@ export default {
selectNameList: { selectNameList: {
type: Array, type: Array,
}, },
disabled: {
type: Boolean,
},
}, },
created() { created() {
// this.listStaff(); // this.listStaff();
}, },
data() { data() {
return { return {
queryParams: { queryParams: {
...@@ -71,6 +78,9 @@ export default { ...@@ -71,6 +78,9 @@ export default {
nameList: [], nameList: [],
loading: false, loading: false,
}; };
},
mounted() {
}, },
methods: { methods: {
listStaff() { listStaff() {
...@@ -109,6 +119,11 @@ export default { ...@@ -109,6 +119,11 @@ export default {
} }
this.$emit("selectAll", this.nameList, allSelect); this.$emit("selectAll", this.nameList, allSelect);
}, },
selectable(row, rowIndex) {
if (!this.disabled) {
return true;
}
},
// 切换选项 // 切换选项
toggleSelection(staffId, SeclctFlag = false) { toggleSelection(staffId, SeclctFlag = false) {
const item = this.nameList.find((item) => { const item = this.nameList.find((item) => {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-12-19 17:39:55 * @Date: 2022-12-19 17:39:55
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2023-01-13 15:37:54 * @LastEditTime: 2023-02-02 10:56:52
* @FilePath: /danger-manage-web/src/views/educationPlanExam/textPaper/components/ChangePapel.vue * @FilePath: /danger-manage-web/src/views/educationPlanExam/textPaper/components/ChangePapel.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -36,13 +36,14 @@ ...@@ -36,13 +36,14 @@
> >
</el-input> </el-input>
<div> <div>
<el-button @click="searchTable" size="mini">搜索</el-button> <el-button @click="searchTable" size="mini">搜索</el-button>
</div> </div>
</div> </div>
<div class="left-middle-table"> <div class="left-middle-table">
<ChangPapelTable <ChangPapelTable
ref="table" ref="table"
:selectNameList.sync="selectNameList" :selectNameList.sync="selectNameList"
:disabled="disabled"
@selectOne="selectOne" @selectOne="selectOne"
@selectAll="selectAll" @selectAll="selectAll"
/> />
...@@ -60,7 +61,7 @@ ...@@ -60,7 +61,7 @@
:key="item.staffId" :key="item.staffId"
> >
<div>{{ item.staffName }}</div> <div>{{ item.staffName }}</div>
<div class="close" @click="deleteName(item.staffId)">x</div> <div class="close" @click="deleteName(item.staffId)">x</div>
</div> </div>
</div> </div>
<div class="bottom-text">已选择{{selectNameList.length}}</div> <div class="bottom-text">已选择{{selectNameList.length}}</div>
...@@ -83,6 +84,9 @@ export default { ...@@ -83,6 +84,9 @@ export default {
type: String, type: String,
default: null, default: null,
}, },
disabled:{
type:Boolean,
}
}, },
data() { data() {
return { return {
...@@ -143,6 +147,7 @@ export default { ...@@ -143,6 +147,7 @@ export default {
this.$refs.table.listStaff(); this.$refs.table.listStaff();
}, },
deleteName(staffId) { deleteName(staffId) {
if(this.disabled) return;
const index = this.selectNameList.findIndex((item) => { const index = this.selectNameList.findIndex((item) => {
return item.staffId == staffId; return item.staffId == staffId;
}); });
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
// [114.07708709377842, 38.248960473114614], // [114.07708709377842, 38.248960473114614],
// ], // ],
// colorNum: 1, // colorNum: 1,
// fxlb: "风险区域", // fxlb: "重大风险区域",
// bsjh: "", // bsjh: "",
// wxy: "锅炉操作", // wxy: "锅炉操作",
// fxd: "锅炉点火", // fxd: "锅炉点火",
...@@ -145,7 +145,7 @@ export const dangerArr = [ ...@@ -145,7 +145,7 @@ export const dangerArr = [
[114.08164030994841, 38.25079994477491], [114.08164030994841, 38.25079994477491],
], ],
data: { data: {
fxlb: "较风险" fxlb: "较风险"
}, },
colorNum: 2, colorNum: 2,
}, },
...@@ -160,7 +160,7 @@ export const dangerArr = [ ...@@ -160,7 +160,7 @@ export const dangerArr = [
[114.08037480953207, 38.249932590119556], [114.08037480953207, 38.249932590119556],
], ],
data: { data: {
fxlb: "风险", fxlb: "重大风险",
src: [jzyh, jzdhz, dxzd, dxxl, dxbz, bxdfdmj], src: [jzyh, jzdhz, dxzd, dxxl, dxbz, bxdfdmj],
}, },
colorNum: 1, colorNum: 1,
...@@ -174,7 +174,7 @@ export const dangerArr = [ ...@@ -174,7 +174,7 @@ export const dangerArr = [
[114.08098376391818, 38.24951885572243], [114.08098376391818, 38.24951885572243],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -201,7 +201,7 @@ export const dangerArr = [ ...@@ -201,7 +201,7 @@ export const dangerArr = [
[114.08000932886821, 38.25149427805925], [114.08000932886821, 38.25149427805925],
], ],
data: { data: {
fxlb: "较风险" fxlb: "较风险"
}, },
colorNum: 2, colorNum: 2,
}, },
...@@ -215,7 +215,7 @@ export const dangerArr = [ ...@@ -215,7 +215,7 @@ export const dangerArr = [
[114.07992247747968, 38.2490596822873], [114.07992247747968, 38.2490596822873],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
}, },
{ {
...@@ -240,7 +240,7 @@ export const dangerArr = [ ...@@ -240,7 +240,7 @@ export const dangerArr = [
[114.07896214915758, 38.2485657203445], [114.07896214915758, 38.2485657203445],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -253,7 +253,7 @@ export const dangerArr = [ ...@@ -253,7 +253,7 @@ export const dangerArr = [
[114.07968503158452, 38.249621022521914], [114.07968503158452, 38.249621022521914],
], ],
data: { data: {
fxlb: "较风险" fxlb: "较风险"
}, },
colorNum: 2, colorNum: 2,
}, },
...@@ -266,7 +266,7 @@ export const dangerArr = [ ...@@ -266,7 +266,7 @@ export const dangerArr = [
[114.07932854865001, 38.25049906057526], [114.07932854865001, 38.25049906057526],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -279,7 +279,7 @@ export const dangerArr = [ ...@@ -279,7 +279,7 @@ export const dangerArr = [
[114.07929156270377, 38.24989004286162], [114.07929156270377, 38.24989004286162],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -293,7 +293,7 @@ export const dangerArr = [ ...@@ -293,7 +293,7 @@ export const dangerArr = [
[114.07818775308438, 38.24904718615451], [114.07818775308438, 38.24904718615451],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
}, },
{ {
...@@ -308,7 +308,7 @@ export const dangerArr = [ ...@@ -308,7 +308,7 @@ export const dangerArr = [
[114.07822516569071, 38.24873709204756], [114.07822516569071, 38.24873709204756],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
}, },
{ {
...@@ -320,7 +320,7 @@ export const dangerArr = [ ...@@ -320,7 +320,7 @@ export const dangerArr = [
[114.0778791617466, 38.24978811628299], [114.0778791617466, 38.24978811628299],
], ],
data: { data: {
fxlb: "较风险" fxlb: "较风险"
}, },
colorNum: 2, colorNum: 2,
}, },
...@@ -334,7 +334,7 @@ export const dangerArr = [ ...@@ -334,7 +334,7 @@ export const dangerArr = [
[114.07811902680491, 38.25084109067064], [114.07811902680491, 38.25084109067064],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
}, },
{ {
...@@ -346,7 +346,7 @@ export const dangerArr = [ ...@@ -346,7 +346,7 @@ export const dangerArr = [
[114.07816939918499, 38.250464604821424], [114.07816939918499, 38.250464604821424],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -362,7 +362,7 @@ export const dangerArr = [ ...@@ -362,7 +362,7 @@ export const dangerArr = [
[114.07655032796976, 38.24855692071795], [114.07655032796976, 38.24855692071795],
], ],
data: { data: {
fxlb: "较风险" fxlb: "较风险"
}, },
}, },
{ {
...@@ -375,7 +375,7 @@ export const dangerArr = [ ...@@ -375,7 +375,7 @@ export const dangerArr = [
[114.07645852296761, 38.249258052783055], [114.07645852296761, 38.249258052783055],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
}, },
{ {
...@@ -387,7 +387,7 @@ export const dangerArr = [ ...@@ -387,7 +387,7 @@ export const dangerArr = [
[114.07673177371679, 38.24999869046041], [114.07673177371679, 38.24999869046041],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -400,7 +400,7 @@ export const dangerArr = [ ...@@ -400,7 +400,7 @@ export const dangerArr = [
[114.07638572203807, 38.250006593486276], [114.07638572203807, 38.250006593486276],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -413,7 +413,7 @@ export const dangerArr = [ ...@@ -413,7 +413,7 @@ export const dangerArr = [
[114.0763611632972, 38.2506105391965], [114.0763611632972, 38.2506105391965],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -440,7 +440,7 @@ export const dangerArr = [ ...@@ -440,7 +440,7 @@ export const dangerArr = [
[114.07610863025666, 38.249559594773935], [114.07610863025666, 38.249559594773935],
], ],
data: { data: {
fxlb: "较风险" fxlb: "较风险"
}, },
}, },
{ {
...@@ -452,7 +452,7 @@ export const dangerArr = [ ...@@ -452,7 +452,7 @@ export const dangerArr = [
[114.07629629633044, 38.249994075703896], [114.07629629633044, 38.249994075703896],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -479,7 +479,7 @@ export const dangerArr = [ ...@@ -479,7 +479,7 @@ export const dangerArr = [
[114.07614690640786, 38.250982027231906], [114.07614690640786, 38.250982027231906],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -492,7 +492,7 @@ export const dangerArr = [ ...@@ -492,7 +492,7 @@ export const dangerArr = [
[114.07506815524074, 38.24935807751058], [114.07506815524074, 38.24935807751058],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -505,7 +505,7 @@ export const dangerArr = [ ...@@ -505,7 +505,7 @@ export const dangerArr = [
[114.07575424777615, 38.25022009521355], [114.07575424777615, 38.25022009521355],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -518,7 +518,7 @@ export const dangerArr = [ ...@@ -518,7 +518,7 @@ export const dangerArr = [
[114.07569321404614, 38.25050557141559], [114.07569321404614, 38.25050557141559],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -531,7 +531,7 @@ export const dangerArr = [ ...@@ -531,7 +531,7 @@ export const dangerArr = [
[114.07533109169464, 38.25112532353275], [114.07533109169464, 38.25112532353275],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -544,7 +544,7 @@ export const dangerArr = [ ...@@ -544,7 +544,7 @@ export const dangerArr = [
[114.07506400522227, 38.2498509809399], [114.07506400522227, 38.2498509809399],
], ],
data: { data: {
fxlb: "较风险" fxlb: "较风险"
}, },
colorNum: 2, colorNum: 2,
}, },
...@@ -557,7 +557,7 @@ export const dangerArr = [ ...@@ -557,7 +557,7 @@ export const dangerArr = [
[114.07507104315593, 38.249669088954406], [114.07507104315593, 38.249669088954406],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -571,7 +571,7 @@ export const dangerArr = [ ...@@ -571,7 +571,7 @@ export const dangerArr = [
[114.07329016901807, 38.24975956466659], [114.07329016901807, 38.24975956466659],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
}, },
{ {
...@@ -583,7 +583,7 @@ export const dangerArr = [ ...@@ -583,7 +583,7 @@ export const dangerArr = [
[114.07449942174725, 38.25005976641145], [114.07449942174725, 38.25005976641145],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
...@@ -596,7 +596,7 @@ export const dangerArr = [ ...@@ -596,7 +596,7 @@ export const dangerArr = [
[114.07409377782558, 38.25057015884229], [114.07409377782558, 38.25057015884229],
], ],
data: { data: {
fxlb: "风险" fxlb: "重大风险"
}, },
colorNum: 1, colorNum: 1,
}, },
......
<!--
* @Author: 纪泽龙 jizelong@qq.com
* @Date: 2023-02-01 09:37:02
* @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2023-02-01 09:59:55
* @FilePath: /danger-manage-web/src/views/dangerScale/profile/tiops.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<div class="danger-tips">
<!-- <div>管道压力</div> -->
<div class="hasColorBox" :style="{ color: dangerColor['1'] }">
<div :style="{ backgroundColor: dangerColor['1'] }"></div>
<span>重大风险</span>
</div>
<div class="hasColorBox" :style="{ color: dangerColor[`2`] }">
<div :style="{ backgroundColor: dangerColor[`2`] }"></div>
<span>较大风险</span>
</div>
<div class="hasColorBox" :style="{ color: dangerColor[`3`] }">
<div :style="{ backgroundColor: dangerColor[`3`] }"></div>
<span>一般风险</span>
</div>
<div class="hasColorBox" :style="{ color: dangerColor[`4`] }">
<div :style="{ backgroundColor: dangerColor[`4`] }"></div>
<span>低风险</span>
</div>
</div>
</template>
<script>
export default {
name: "",
data() {
return {
dangerColor: {
1: "red",
2: "orange",
3: "yellow",
4: "blue",
},
};
},
methods: {},
};
</script>
<style lang="scss" scoped>
.danger-tips {
position: absolute;
color: #fff;
left: 10px;
top: 10px;
padding: 1px;
padding-left:10px;
width: 150px;
// background: rgba(6, 29, 51, 0.2);
.hasColorBox {
// border: 1px solid #053b6a;
padding: 2px 5px;
margin-bottom: 5px;
position:relative;
& > div {
display: inline-block;
width: 50px;
height: 20px;
margin-right: 10px;
}
& > span {
position:absolute;
display: inline-block;
width: 100px;
}
}
}
</style>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-06-16 15:03:40 * @Date: 2022-06-16 15:03:40
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2022-10-22 10:39:48 * @LastEditTime: 2023-02-01 09:48:47
* @FilePath: /danger-manage-web/src/views/bigwindow/index.vue * @FilePath: /danger-manage-web/src/views/bigwindow/index.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -20,13 +20,14 @@ ...@@ -20,13 +20,14 @@
> >
</div> --> </div> -->
<div id="mapbox"></div> <div id="mapbox"></div>
<DangerTips />
</div> </div>
</template> </template>
<script> <script>
import CreateCesium, { DEVICE_PIC_TYPE } from "@/utils/cesium/cesiumClass.js"; import CreateCesium, { DEVICE_PIC_TYPE } from "@/utils/cesium/cesiumClass.js";
import { dangerArr } from "@/utils/cesium/dangerArr.js"; import { dangerArr } from "@/utils/cesium/dangerArr.js";
import DangerTips from "./DangerTips.vue";
import Video from "@/components/bigWindow/video"; import Video from "@/components/bigWindow/video";
import Null from "@/components/bigWindow/Null"; import Null from "@/components/bigWindow/Null";
import Danger from "@/components/bigWindow/Danger"; import Danger from "@/components/bigWindow/Danger";
...@@ -42,6 +43,7 @@ export default { ...@@ -42,6 +43,7 @@ export default {
name: "profile", name: "profile",
components: { components: {
Editor, Editor,
DangerTips,
}, },
data() { data() {
return { return {
...@@ -249,6 +251,7 @@ export default { ...@@ -249,6 +251,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.big-window { .big-window {
width: 100%; width: 100%;
position:relative;
// height: calc(100vh - 84px); // height: calc(100vh - 84px);
height: calc(100vh - 50px); height: calc(100vh - 50px);
#mapbox { #mapbox {
......
...@@ -11,9 +11,15 @@ ...@@ -11,9 +11,15 @@
size="mini" size="mini"
@input="topicTypeChange" @input="topicTypeChange"
> >
<el-radio-button :label="1">单选</el-radio-button> <el-radio-button :disabled="checkLock" :label="1"
<el-radio-button :label="2">多选</el-radio-button> >单选</el-radio-button
<el-radio-button :label="3">判断</el-radio-button> >
<el-radio-button :disabled="checkLock" :label="2"
>多选</el-radio-button
>
<el-radio-button :disabled="checkLock" :label="3"
>判断</el-radio-button
>
</el-radio-group> </el-radio-group>
</div> </div>
...@@ -29,7 +35,7 @@ ...@@ -29,7 +35,7 @@
:rules="{ :rules="{
required: true, required: true,
message: '必须输入题目内容', message: '必须输入题目内容',
trigger: 'blur', trigger: ['blur', 'change'],
}" }"
> >
<el-input <el-input
...@@ -38,6 +44,7 @@ ...@@ -38,6 +44,7 @@
resize="none" resize="none"
rows="4" rows="4"
v-model="form.topicTitle" v-model="form.topicTitle"
:disabled="checkLock"
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
...@@ -55,7 +62,7 @@ ...@@ -55,7 +62,7 @@
:rules="{ :rules="{
required: true, required: true,
message: '选项内容不能为空不能为空', message: '选项内容不能为空不能为空',
trigger: 'change', trigger: ['blur', 'change'],
}" }"
> >
<div class="add-select flex"> <div class="add-select flex">
...@@ -65,6 +72,7 @@ ...@@ -65,6 +72,7 @@
style="flex: 1; margin-right: 10px" style="flex: 1; margin-right: 10px"
rows="2" rows="2"
v-model="question.value" v-model="question.value"
:disabled="checkLock"
></el-input> ></el-input>
<div class="flex algin-items"> <div class="flex algin-items">
<div <div
...@@ -79,8 +87,9 @@ ...@@ -79,8 +87,9 @@
<el-button <el-button
size="mini" size="mini"
type="danger" type="danger"
v-if="index > 0" v-if="index > 0 && form.topicType != 3"
@click.prevent="removeDomain(question)" @click.prevent="removeDomain(question)"
:disabled="checkLock"
>删除</el-button >删除</el-button
> >
</div> </div>
...@@ -111,7 +120,11 @@ ...@@ -111,7 +120,11 @@
设为正确答案 设为正确答案
</div> --> </div> -->
<div style="padding-left: 30px" v-if="form.topicType != 3"> <div style="padding-left: 30px" v-if="form.topicType != 3">
<el-button size="mini" type="primary" @click.prevent="add(addValue)" <el-button
size="mini"
:disabled="checkLock"
type="primary"
@click.prevent="add(addValue)"
>新增选项</el-button >新增选项</el-button
> >
</div> </div>
...@@ -146,6 +159,10 @@ export default { ...@@ -146,6 +159,10 @@ export default {
topicId: { topicId: {
type: Number, type: Number,
}, },
// 如果是查看,就禁止修改
checkLock: {
type: Boolean,
},
}, },
components: {}, components: {},
data() { data() {
...@@ -171,7 +188,7 @@ export default { ...@@ -171,7 +188,7 @@ export default {
console.log(res.data); console.log(res.data);
const data = res.data; const data = res.data;
this.form = { this.form = {
topicType :data.topicType, topicType: data.topicType,
topicTitle: data.topicTitle, topicTitle: data.topicTitle,
questions: JSON.parse(data.topicOption), questions: JSON.parse(data.topicOption),
}; };
...@@ -232,6 +249,7 @@ export default { ...@@ -232,6 +249,7 @@ export default {
} }
}, },
rightAnswerClick(index) { rightAnswerClick(index) {
if (this.checkLock) return;
if (this.form.topicType === 2) { if (this.form.topicType === 2) {
const ind = this.answerNum.indexOf(index); const ind = this.answerNum.indexOf(index);
if (ind < 0) { if (ind < 0) {
...@@ -250,6 +268,8 @@ export default { ...@@ -250,6 +268,8 @@ export default {
}, },
// 删除选项 // 删除选项
removeDomain(question) { removeDomain(question) {
if (this.checkLock) return;
const index = this.form.questions.indexOf(question); const index = this.form.questions.indexOf(question);
console.log(index); console.log(index);
// 如果是正确答案,就让正确答案清空 // 如果是正确答案,就让正确答案清空
...@@ -279,7 +299,7 @@ export default { ...@@ -279,7 +299,7 @@ export default {
}, },
save(num = 2) { save(num = 2) {
return new Promise((resove) => { return new Promise((resove) => {
if (this.answerNum.length<=0) { if (this.answerNum.length <= 0) {
this.$message({ this.$message({
message: "警告,请设置一个正确答案", message: "警告,请设置一个正确答案",
type: "warning", type: "warning",
...@@ -292,8 +312,8 @@ export default { ...@@ -292,8 +312,8 @@ export default {
data.topicTitle = this.form.topicTitle; data.topicTitle = this.form.topicTitle;
data.topicOption = JSON.stringify(this.form.questions); data.topicOption = JSON.stringify(this.form.questions);
data.answer = JSON.stringify(this.answerNum); data.answer = JSON.stringify(this.answerNum);
data.topicType=this.form.topicType; data.topicType = this.form.topicType;
console.log(data) console.log(data);
this.addQuestion(data).then((res) => { this.addQuestion(data).then((res) => {
if (res.code == 200) { if (res.code == 200) {
// 把修改的这个归位,变成正常添加 // 把修改的这个归位,变成正常添加
...@@ -323,7 +343,7 @@ export default { ...@@ -323,7 +343,7 @@ export default {
}); });
}, },
reset() { reset() {
const topicType = this.form.topicType const topicType = this.form.topicType;
this.form = { this.form = {
topicType, topicType,
topicTitle: "", topicTitle: "",
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-12-27 09:30:19 * @Date: 2022-12-27 09:30:19
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2022-12-28 10:29:18 * @LastEditTime: 2023-02-01 16:15:10
* @FilePath: /danger-manage-web/src/views/educationPlanExam/textPaper/components/ChangeQuestion.vue * @FilePath: /danger-manage-web/src/views/educationPlanExam/textPaper/components/ChangeQuestion.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -193,7 +193,8 @@ export default { ...@@ -193,7 +193,8 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
saveAndNext() { save(num=2) {
const topicInfos = this.list const topicInfos = this.list
.filter((item) => item.checked) .filter((item) => item.checked)
.map((item) => { .map((item) => {
...@@ -202,18 +203,20 @@ export default { ...@@ -202,18 +203,20 @@ export default {
quan: item.changeNum, quan: item.changeNum,
}; };
}); });
console.log(this.courseId, topicInfos); console.log(this.courseId, topicInfos);
const data = { courseId: this.courseId, topicInfos }; const data = { courseId: this.courseId, topicInfos };
console.log(data); console.log(data);
bachAddTopic(data).then((res) => { bachAddTopic(data).then((res) => {
console.log(res); console.log(res);
if (res.code == 200) { if (res.code == 200) {
this.$parent.$parent.componentsNumChange(2); this.$parent.$parent.componentsNumChange(num);
this.$parent.$parent.$parent.getList(); this.$parent.$parent.$parent.getList();
} }
}); });
}, },
saveAndNext(){
this.save(3)
},
resetClick() {}, resetClick() {},
search() { search() {
this.getList(); this.getList();
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-09-22 10:38:49 * @Date: 2022-09-22 10:38:49
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2023-01-13 15:59:47 * @LastEditTime: 2023-02-01 16:16:44
* @FilePath: /danger-manage-web/src/views/lessonsProgram/components/addLesson.vue * @FilePath: /danger-manage-web/src/views/lessonsProgram/components/addLesson.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
:is="currentComponent" :is="currentComponent"
:courseId.sync="courseId" :courseId.sync="courseId"
:topicId.sync="topicId" :topicId.sync="topicId"
:checkLock="checkLock"
ref="current" ref="current"
></component> ></component>
</transition> </transition>
...@@ -32,27 +33,31 @@ ...@@ -32,27 +33,31 @@
<QuestionList/> --> <QuestionList/> -->
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer" v-if="!checkLock">
<el-button <el-button
type="primary" type="primary"
v-if="this.componentsNum == 2" v-if="this.componentsNum == 2 && !checkLock"
@click="componentsNumChange(4)" @click="componentsNumChange(4)"
>从题库选择</el-button >从题库选择</el-button
> >
<el-button <el-button
type="primary" type="primary"
v-if="this.componentsNum == 1 || this.componentsNum == 3" v-if="this.componentsNum == 4 ||this.componentsNum==3"
@click="save" @click="componentsNumChange(2)"
>保存</el-button >返回题目列表</el-button
> >
<el-button <el-button
type="primary" type="primary"
v-if="this.componentsNum == 4" v-if="
@click="componentsNumChange(2)" this.componentsNum == 1 ||
>返回题目列表</el-button this.componentsNum == 3 ||
this.componentsNum == 4
"
@click="save"
>保存</el-button
> >
<el-button type="primary" @click="saveAndNext">{{
<el-button type="primary" @click="saveAndNext" v-if="!checkLock">{{
saveNextText saveNextText
}}</el-button> }}</el-button>
<el-button <el-button
...@@ -63,6 +68,16 @@ ...@@ -63,6 +68,16 @@
> >
<el-button @click="dialogCancel">取消</el-button> <el-button @click="dialogCancel">取消</el-button>
</div> </div>
<div slot="footer" class="dialog-footer" v-else>
<el-button
type="primary"
v-if="this.componentsNum == 3 && checkLock"
@click="componentsNumChange(2)"
>返回题目列表</el-button
>
<el-button type="primary" @click="dialogCancel">{{ "确认" }}</el-button>
<el-button @click="dialogCancel">取消</el-button>
</div>
</el-dialog> </el-dialog>
</template> </template>
...@@ -72,7 +87,6 @@ import AddQuestion from "./AddQuestion"; ...@@ -72,7 +87,6 @@ import AddQuestion from "./AddQuestion";
import QuestionList from "./QuestionList"; import QuestionList from "./QuestionList";
import ChangeQuestion from "./ChangeQuestion"; import ChangeQuestion from "./ChangeQuestion";
export default { export default {
name: "AnswerLesson", name: "AnswerLesson",
props: { props: {
...@@ -87,6 +101,9 @@ export default { ...@@ -87,6 +101,9 @@ export default {
courseId: { courseId: {
type: Number, type: Number,
}, },
checkLock: {
type: Boolean,
},
}, },
// components: { // components: {
// Lesson, // Lesson,
...@@ -116,14 +133,14 @@ export default { ...@@ -116,14 +133,14 @@ export default {
this.currentComponent = QuestionList; this.currentComponent = QuestionList;
this.title = "题目列表"; this.title = "题目列表";
} else if(num===3) { } else if (num === 3) {
this.currentComponent = AddQuestion; this.currentComponent = AddQuestion;
if (this.topicId) { if (this.topicId) {
this.title = "修改题目"; this.title = "修改题目";
} else { } else {
this.title = "新增题目"; this.title = "新增题目";
} }
}else if (num == 4) { } else if (num == 4) {
this.currentComponent = ChangeQuestion; this.currentComponent = ChangeQuestion;
this.title = "从题库选题"; this.title = "从题库选题";
} }
...@@ -167,6 +184,8 @@ export default { ...@@ -167,6 +184,8 @@ export default {
this.topicId = null; this.topicId = null;
} }
this.$emit("update:visible", false); this.$emit("update:visible", false);
// 关闭的时候归位
this.$emit("update:checkLock", false);
}, },
// 把ID改变了 // 把ID改变了
changeCourseId(courseId) { changeCourseId(courseId) {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-09-22 10:59:44 * @Date: 2022-09-22 10:59:44
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2023-01-04 17:47:53 * @LastEditTime: 2023-02-01 15:21:15
* @FilePath: /danger-manage-web/src/views/lessonsProgram/components/Lession.vue * @FilePath: /danger-manage-web/src/views/lessonsProgram/components/Lession.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -17,34 +17,33 @@ ...@@ -17,34 +17,33 @@
> >
<div class="top flex"> <div class="top flex">
<el-form-item label="课程标题" prop="courseName"> <el-form-item label="课程标题" prop="courseName">
<el-input style="width: 400px" v-model="form.courseName"></el-input> <el-input style="width: 400px" v-model="form.courseName" :disabled="checkLock"></el-input>
</el-form-item> </el-form-item>
<!--<el-form-item label="培训计划" prop="courseType">--> <!--<el-form-item label="培训计划" prop="courseType">-->
<!--<el-select--> <!--<el-select-->
<!--v-model="form.courseType"--> <!--v-model="form.courseType"-->
<!--placeholder="请选择培训计划"--> <!--placeholder="请选择培训计划"-->
<!--clearable--> <!--clearable-->
<!--size="small"--> <!--size="small"-->
<!--&gt;--> <!--&gt;-->
<!--<el-option--> <!--<el-option-->
<!--v-for="course in courseOptions"--> <!--v-for="course in courseOptions"-->
<!--:key="course.planId"--> <!--:key="course.planId"-->
<!--:label="course.planName"--> <!--:label="course.planName"-->
<!--:value="course.planId"--> <!--:value="course.planId"-->
<!--/>--> <!--/>-->
<!--</el-select>--> <!--</el-select>-->
<!--</el-form-item>--> <!--</el-form-item>-->
</div> </div>
<div class="flex"> <div class="flex">
<el-form-item label="培训计划" prop="courseType"> <el-form-item label="培训计划" prop="courseType">
<el-select <el-select
v-model="form.courseType" v-model="form.courseType"
placeholder="请选择培训计划" placeholder="请选择培训计划"
clearable clearable
size="small" size="small"
:disabled="checkLock"
> >
<el-option <el-option
v-for="course in courseOptions" v-for="course in courseOptions"
...@@ -54,8 +53,18 @@ ...@@ -54,8 +53,18 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="培训时长" prop="duration" style="margin-left: 55px"> <el-form-item
<el-input style="width: 220px" placeholder="分钟" type="number" v-model="form.duration"></el-input> label="培训时长"
prop="duration"
style="margin-left: 55px"
>
<el-input
style="width: 220px"
placeholder="分钟"
type="number"
v-model="form.duration"
:disabled="checkLock"
></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="flex"> <div class="flex">
...@@ -67,6 +76,7 @@ ...@@ -67,6 +76,7 @@
type="datetime" type="datetime"
placeholder="选择日期时间" placeholder="选择日期时间"
default-time="00:00:00" default-time="00:00:00"
:disabled="checkLock"
/> />
</el-form-item> </el-form-item>
<el-form-item label="结束时间" prop="testEndTime"> <el-form-item label="结束时间" prop="testEndTime">
...@@ -76,12 +86,13 @@ ...@@ -76,12 +86,13 @@
type="datetime" type="datetime"
placeholder="选择日期时间" placeholder="选择日期时间"
default-time="00:00:00" default-time="00:00:00"
:disabled="checkLock"
/> />
</el-form-item> </el-form-item>
</div> </div>
<!-- </div> --> <!-- </div> -->
<el-form-item label="课程内容" prop="courseConent"> <el-form-item label="课程内容" prop="courseConent">
<Editor v-model="form.courseConent" :min-height="192" /> <Editor v-model="form.courseConent" :min-height="192" :readOnly="checkLock"/>
<el-input <el-input
v-show="false" v-show="false"
disabled disabled
...@@ -90,7 +101,7 @@ ...@@ -90,7 +101,7 @@
</el-form-item> </el-form-item>
<div class="flex"> <div class="flex">
<el-form-item label="视频上传" v-if="!readOnly" prop="video"> <el-form-item label="视频上传" v-if="!readOnly" prop="video">
<FileUpload <FileUpload
listType="picture" listType="picture"
@resFun="getFileInfoVideo" @resFun="getFileInfoVideo"
...@@ -98,6 +109,7 @@ ...@@ -98,6 +109,7 @@
:fileArr="fileListVideo" :fileArr="fileListVideo"
:fileSize="500" :fileSize="500"
:fileType="['mp4']" :fileType="['mp4']"
:disabled="checkLock"
/> />
<el-input v-show="false" disabled v-model="form.video"></el-input> <el-input v-show="false" disabled v-model="form.video"></el-input>
</el-form-item> </el-form-item>
...@@ -108,6 +120,7 @@ ...@@ -108,6 +120,7 @@
@remove="listRemoveFile" @remove="listRemoveFile"
:fileArr="fileListFile" :fileArr="fileListFile"
:fileType="fileType" :fileType="fileType"
:disabled="checkLock"
/> />
<el-input v-show="false" disabled v-model="form.enclosure"></el-input> <el-input v-show="false" disabled v-model="form.enclosure"></el-input>
</el-form-item> </el-form-item>
...@@ -133,6 +146,9 @@ export default { ...@@ -133,6 +146,9 @@ export default {
courseId: { courseId: {
type: Number, type: Number,
}, },
checkLock:{
type:Boolean,
}
}, },
components: { components: {
Editor, Editor,
...@@ -204,8 +220,16 @@ export default { ...@@ -204,8 +220,16 @@ export default {
getLessonById(this.courseId).then((res) => { getLessonById(this.courseId).then((res) => {
if (res.code == 200) { if (res.code == 200) {
const data = res.data; const data = res.data;
const { courseName, courseType, courseConent, video, enclosure,duration,testStartTime,testEndTime } = const {
data; courseName,
courseType,
courseConent,
video,
enclosure,
duration,
testStartTime,
testEndTime,
} = data;
this.form = { this.form = {
courseName, courseName,
courseType, courseType,
...@@ -214,21 +238,22 @@ export default { ...@@ -214,21 +238,22 @@ export default {
enclosure, enclosure,
duration, duration,
testStartTime, testStartTime,
testEndTime testEndTime,
}; };
this.fileListVideo = [ console.log('video',video)
this.fileListVideo = video? [
{ {
name: courseName + "视频", name: courseName + "视频",
url: uploadfile, url: uploadfile,
}, },
]; ]:[];
this.fileListFile = [ this.fileListFile = [
{ {
name: courseName + "附件", name: courseName + "附件",
url: uploadfile, url: uploadfile,
}, },
]; ];
console.log("--",this.fileListFile); console.log("--", this.fileListFile);
} }
}); });
}, },
...@@ -280,14 +305,18 @@ export default { ...@@ -280,14 +305,18 @@ export default {
message: "保存课程成功", message: "保存课程成功",
type: "success", type: "success",
}); });
// 隐藏dia
this.$parent.$parent.dialogCancel()
} else if (num == 3) { } else if (num == 3) {
this.$message({ this.$message({
message: "保存课程成功,请开始录入题目", message: "保存课程成功,请开始录入题目",
type: "success", type: "success",
}); });
// 跳转动态路由,并且把ID改变添加用
this.$parent.$parent.componentsNumChange(num);
this.$parent.$parent.changeCourseId(courseId);
} }
this.$parent.$parent.componentsNumChange(num);
this.$parent.$parent.changeCourseId(courseId);
this.$parent.$parent.$parent.getList(); this.$parent.$parent.$parent.getList();
return true; return true;
...@@ -307,7 +336,7 @@ export default { ...@@ -307,7 +336,7 @@ export default {
.form-wrapper { .form-wrapper {
padding-top: 22px; padding-top: 22px;
width: 100%; width: 100%;
height: 650px; height: 680px;
overflow: hidden; overflow: hidden;
// padding-bottom: 10px; // padding-bottom: 10px;
margin-bottom: 20px; margin-bottom: 20px;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-09-22 17:56:05 * @Date: 2022-09-22 17:56:05
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2023-01-31 14:03:36 * @LastEditTime: 2023-02-02 10:05:15
* @FilePath: /danger-manage-web/src/views/lessonsProgram/components/QuestionList.vue * @FilePath: /danger-manage-web/src/views/lessonsProgram/components/QuestionList.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -71,12 +71,21 @@ ...@@ -71,12 +71,21 @@
<div class="right"> <div class="right">
<div> <div>
<el-button <el-button
v-if="!checkLock"
@click="edit(item.topicId)" @click="edit(item.topicId)"
icon="el-icon-edit" icon="el-icon-edit"
type="text" type="text"
>修改</el-button >修改</el-button
> >
<el-button <el-button
v-if="checkLock"
@click="edit(item.topicId)"
icon="el-icon-edit"
type="text"
>查看</el-button
>
<el-button
v-if="!checkLock"
@click="deleteLesson(item.topicId)" @click="deleteLesson(item.topicId)"
icon="el-icon-delete" icon="el-icon-delete"
type="text" type="text"
...@@ -98,6 +107,7 @@ ...@@ -98,6 +107,7 @@
v-model="bottomFrom.singleChoiceScore" v-model="bottomFrom.singleChoiceScore"
style="width: 50px" style="width: 50px"
size="mini" size="mini"
:disabled="checkLock"
></el-input> ></el-input>
</div> </div>
<div></div> <div></div>
...@@ -109,6 +119,7 @@ ...@@ -109,6 +119,7 @@
v-model="bottomFrom.multipleChoiceScore" v-model="bottomFrom.multipleChoiceScore"
style="width: 50px" style="width: 50px"
size="mini" size="mini"
:disabled="checkLock"
></el-input> ></el-input>
</div> </div>
<div></div> <div></div>
...@@ -121,6 +132,7 @@ ...@@ -121,6 +132,7 @@
v-model="bottomFrom.judgmentScore" v-model="bottomFrom.judgmentScore"
style="width: 50px" style="width: 50px"
size="mini" size="mini"
:disabled="checkLock"
></el-input> ></el-input>
</div> </div>
<div></div> <div></div>
...@@ -133,6 +145,7 @@ ...@@ -133,6 +145,7 @@
v-model="bottomFrom.qualifiedNum" v-model="bottomFrom.qualifiedNum"
style="width: 60px" style="width: 60px"
size="mini" size="mini"
:disabled="checkLock"
></el-input> ></el-input>
</div> </div>
<div>为合格</div> <div>为合格</div>
...@@ -144,6 +157,7 @@ ...@@ -144,6 +157,7 @@
icon="el-icon-check" icon="el-icon-check"
size="mini" size="mini"
type="success" type="success"
:disabled="checkLock"
>保存</el-button >保存</el-button
> >
</div> </div>
...@@ -164,6 +178,9 @@ export default { ...@@ -164,6 +178,9 @@ export default {
courseId: { courseId: {
type: Number, type: Number,
}, },
checkLock: {
type: Boolean,
},
}, },
components: {}, components: {},
data() { data() {
......
...@@ -131,11 +131,13 @@ ...@@ -131,11 +131,13 @@
prop="topicNum" prop="topicNum"
width="180" width="180"
> >
<template v-slot="{ row: { topicNum, courseId } }"> <template v-slot="{ row: { topicNum, courseId, status } }">
<div @click="checkQuestion(courseId)" class="timuNum"> <span @click="checkQuestion(courseId, status)" class="timuNum">
<div v-if="topicNum > 0">{{ `已录入${topicNum}题` }}</div> <span v-if="topicNum > 0">
<div v-else>未录入</div> {{ status == 0 ? `已录入${topicNum}题` : "查看" }}
</div> </span>
<span v-else>未录入</span>
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -153,6 +155,14 @@ ...@@ -153,6 +155,14 @@
@click="changeLesson(courseId)" @click="changeLesson(courseId)"
>修改</el-button >修改</el-button
> >
<el-button
v-if="status == 1"
size="mini"
type="text"
icon="el-icon-edit"
@click="checkLesson(courseId)"
>详情</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
...@@ -165,7 +175,7 @@ ...@@ -165,7 +175,7 @@
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="issueLesson(courseId)" @click="issueDilog(courseId)"
>发布</el-button >发布</el-button
> >
</template> </template>
...@@ -183,18 +193,68 @@ ...@@ -183,18 +193,68 @@
ref="Dia" ref="Dia"
:componentsNum.sync="componentsNum" :componentsNum.sync="componentsNum"
:courseId.sync="courseId" :courseId.sync="courseId"
:checkLock.sync="checkLock"
:visible.sync="dilogFlag" :visible.sync="dilogFlag"
/> />
<el-dialog title="发布详情" :visible.sync="issueVisible" width="60%">
<div class="detail flex">
<div class="detail-item">
单选题<span>{{ bottomFrom.singleChoiceScore }}</span
>/,<span>{{ danxs }}</span
>题,计<span class="textC">{{
danxs * bottomFrom.singleChoiceScore
}}</span
>
</div>
<div class="detail-item">
多选题<span>{{ bottomFrom.multipleChoiceScore }}</span
>/,<span>{{ duoxs }}</span> 题,计<span class="textC">{{
duoxs * bottomFrom.multipleChoiceScore
}}</span
>
</div>
<div class="detail-item">
判断提<span>{{ bottomFrom.judgmentScore }}</span
>/题,共<span>{{ pds }}</span> 题,计<span class="textC">{{
pds * bottomFrom.judgmentScore
}}</span
>
</div>
<div class="detail-item">
合格分数为<span class="textC">{{ bottomFrom.qualifiedNum }}</span
>
</div>
<div class="detail-item">
一共<span>{{ danxs + duoxs + pds }}</span
>道题,总共计<span class="textC">{{
danxs * bottomFrom.singleChoiceScore +
duoxs * bottomFrom.multipleChoiceScore +
pds * bottomFrom.judgmentScore
}}</span
>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="issueVisible = false"> </el-button>
<el-button type="primary" @click="issueLesson(issueCourseId)"
>确认发布</el-button
>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import {
getQuestion,
getLessons, getLessons,
getLessonById, getLessonById,
issue, issue,
deleteLesson, deleteLesson,
} from "@/api/educationPlanExam/lessonsProgram.js"; } from "@/api/educationPlanExam/lessonsProgram.js";
// 获取培训计划 // 获取培训计划
import { getPlanList } from "@/api/educationPlanExam/trainingProgram"; import { getPlanList } from "@/api/educationPlanExam/trainingProgram";
import { mapGetters, mapMutations } from "vuex"; import { mapGetters, mapMutations } from "vuex";
...@@ -222,18 +282,39 @@ export default { ...@@ -222,18 +282,39 @@ export default {
courseName: null, courseName: null,
releaseTime: "", releaseTime: "",
}, },
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
dilogFlag: false, dilogFlag: false,
// 发布弹框
issueVisible: false,
bottomFrom: {
singleChoiceScore: 0,
multipleChoiceScore: 0,
judgmentScore: 0,
qualifiedNum: 0,
},
issueCourseId: null,
questionList: [],
componentsNum: 1, componentsNum: 1,
// 点击的id,如果是新增为空 // 点击的id,如果是新增为空
courseId: null, courseId: null,
// false为编辑,true为查看,查看不允许编辑的时候
checkLock: false,
}; };
}, },
computed: { computed: {
...mapGetters(["courseOptions"]), ...mapGetters(["courseOptions"]),
danxs() {
return this.questionList.filter((item) => item.topicType === 1).length;
},
duoxs() {
return this.questionList.filter((item) => item.topicType === 2).length;
},
pds() {
return this.questionList.filter((item) => item.topicType === 3).length;
},
}, },
created() { created() {
this.getPlanList(); this.getPlanList();
...@@ -275,21 +356,34 @@ export default { ...@@ -275,21 +356,34 @@ export default {
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.checkLock = false;
this.$refs.Dia.title = "新增培训课程"; this.$refs.Dia.title = "新增培训课程";
this.componentsNum = 1; this.componentsNum = 1;
this.courseId = null; this.courseId = null;
this.dilogFlag = true; this.dilogFlag = true;
}, },
changeLesson(courseId) { changeLesson(courseId) {
this.checkLock = false;
this.$refs.Dia.title = "修改培训课程"; this.$refs.Dia.title = "修改培训课程";
this.componentsNum = 1; this.componentsNum = 1;
this.courseId = courseId; this.courseId = courseId;
this.dilogFlag = true; this.dilogFlag = true;
}, },
checkLesson(courseId) {
this.checkLock = true;
this.$refs.Dia.title = "查看培训课程";
this.componentsNum = 1;
this.courseId = courseId;
this.dilogFlag = true;
},
// 直接查看考题 // 直接查看考题
checkQuestion(courseId) { checkQuestion(courseId, status) {
// 要查看考题的id // 要查看考题的id
if (status == 1) {
this.checkLock = true;
}
this.courseId = courseId; this.courseId = courseId;
console.log(this.courseId); console.log(this.courseId);
// 2代表列表组件 // 2代表列表组件
...@@ -331,9 +425,39 @@ export default { ...@@ -331,9 +425,39 @@ export default {
}) })
.catch(() => {}); .catch(() => {});
}, },
// 发布弹框
issueDilog(courseId) {
getQuestion({courseId})
.then((res) => {
this.questionList = res.rows.map((item) => {
return {
topicType: item.topicType,
topicId: item.topicId,
topicTitle: item.topicTitle,
};
});
})
.then((res) => {
return getLessonById(courseId);
})
.then((res) => {
this.bottomFrom = {
singleChoiceScore: res.data.singleChoiceScore,
multipleChoiceScore: res.data.multipleChoiceScore,
judgmentScore: res.data.judgmentScore,
qualifiedNum: res.data.qualifiedNum,
};
})
.then((res) => {
this.issueVisible = true;
this.issueCourseId = courseId;
});
//
},
// 发布 // 发布
issueLesson(courseId) { issueLesson(courseId) {
this.$confirm("请确定发布", { this.$confirm("确定要发布吗", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
...@@ -343,14 +467,14 @@ export default { ...@@ -343,14 +467,14 @@ export default {
return getLessonById(courseId); return getLessonById(courseId);
}) })
.then((res) => { .then((res) => {
if ( // if (
res.data.singleChoiceScore > 0 && // res.data.singleChoiceScore >= 0 &&
res.data.multipleChoiceScore > 0 && // res.data.multipleChoiceScore >= 0 &&
res.data.judgmentScore > 0 && // res.data.judgmentScore >= 0 &&
res.data.qualifiedNum > 0 // res.data.qualifiedNum >= 0
) { // ) {
return true; return true;
} // }
}) })
.then((res) => { .then((res) => {
if (res) { if (res) {
...@@ -370,6 +494,7 @@ export default { ...@@ -370,6 +494,7 @@ export default {
type: "success", type: "success",
}); });
this.getList(); this.getList();
this.issueVisible = false;
} }
}) })
.catch(() => {}); .catch(() => {});
...@@ -469,4 +594,17 @@ export default { ...@@ -469,4 +594,17 @@ export default {
::v-deep .el-dialog { ::v-deep .el-dialog {
margin-top: 15vh !important; margin-top: 15vh !important;
} }
.detail {
// position: absolute;
// bottom: -20px;
// left: 10px;
.textC {
font-weight: 800;
font-size: 18px;
}
.detail-item {
margin-right: 20px;
color: red;
}
}
</style> </style>
...@@ -305,6 +305,12 @@ export default { ...@@ -305,6 +305,12 @@ export default {
}; };
xhr.send(); xhr.send();
}, },
openXslx(url, name) {
// window.open(`https://view.xdocin.com/view?src=${url}`);
console.log(url)
this.ky=`https://view.xdocin.com/view?src=${url}`;
this.iframeVisible=true;
},
}, },
}; };
</script> </script>
......
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
<el-button <el-button
size="mini" size="mini"
type="danger" type="danger"
v-if="index > 0" v-if="index > 0 && form.topicType != 3"
@click.prevent="removeDomain(question)" @click.prevent="removeDomain(question)"
>删除</el-button >删除</el-button
> >
......
...@@ -60,22 +60,22 @@ ...@@ -60,22 +60,22 @@
<el-table-column label="应参加人数" align="center" prop="count"/> <el-table-column label="应参加人数" align="center" prop="count"/>
<el-table-column label="实际考试人数" align="center" prop="test"/> <el-table-column label="实际考试人数" align="center" prop="test"/>
<el-table-column label="合格人数" align="center" prop="pass"/> <el-table-column label="合格人数" align="center" prop="pass"/>
<el-table-column label="合格率" align="center" prop="rate"> <!-- <el-table-column label="合格率" align="center" prop="rate">-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
{{scope.row.rate}}% <!-- {{scope.row.rate}}%-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"
class-name="small-padding fixed-width" class-name="small-padding fixed-width"
> >
<template v-slot="{ row: { courseId } }"> <template v-slot="{ row: { courseId ,courseName}}">
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="courseDetail(courseId)" @click="courseDetail(courseId,courseName)"
>查看详情</el-button> >查看详情</el-button>
</template> </template>
</el-table-column> </el-table-column>
...@@ -89,13 +89,33 @@ ...@@ -89,13 +89,33 @@
/> />
<!--考试详情 --> <!--考试详情 -->
<el-dialog title="考试详情" :visible.sync="testStatDetailOpen" append-to-body :close-on-click-modal="false"> <el-dialog :title="'考试详情:'+courseName" :visible.sync="testStatDetailOpen" append-to-body :close-on-click-modal="false">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
:loading="exportLoading"
@click="handleExport"
style="position: relative;left: 16px;top: -17px;"
>导出</el-button>
<el-table v-loading="loading" :data="testStatDetailData"> <el-table v-loading="loading" :data="testStatDetailData">
<el-table-column label="序号" width='100' align="center" prop="detailNum"/> <el-table-column label="序号" width='100' align="center" prop="detailNum"/>
<el-table-column label="考试人员" align="center" prop="staffName"/> <el-table-column label="考试人员" align="center" prop="staffName"/>
<el-table-column label="所属部门" align="center" prop="deptName"/> <el-table-column label="所属部门" align="center" prop="deptName">
<el-table-column label="考试时间" align="center" prop="examinationTime"/> <span slot-scope="scope" v-if="scope.row.deptName">{{scope.row.deptName}}</span>
<el-table-column label="答对个数" align="center" prop="examinationResult"/> <span v-else>-</span>
</el-table-column>
<el-table-column label="考试时间" align="center" prop="examinationTime">
<span slot-scope="scope" v-if="scope.row.examinationTime">{{scope.row.examinationTime}}</span>
<span v-else>-</span>
</el-table-column>
<el-table-column label="得分" align="center" prop="examinationResult">
<span slot-scope="scope" v-if="scope.row.examinationResult">{{scope.row.examinationResult}}</span>
<span v-else>-</span>
</el-table-column>
<el-table-column label="考试结果" align="center" prop="state"> <el-table-column label="考试结果" align="center" prop="state">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.state == 0">未考试</span> <span v-if="scope.row.state == 0">未考试</span>
...@@ -104,6 +124,7 @@ ...@@ -104,6 +124,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="totalDetail > 0" v-show="totalDetail > 0"
:total="totalDetail" :total="totalDetail"
...@@ -116,7 +137,7 @@ ...@@ -116,7 +137,7 @@
</template> </template>
<script> <script>
import {statisticsTrainCourse,testPersonDetailByCourseId} from "@/api/educationPlanExam/lessonsProgram.js"; import {statisticsTrainCourse,testPersonDetailByCourseId,exportDeviceInfo} from "@/api/educationPlanExam/lessonsProgram.js";
export default { export default {
name: "testStat", name: "testStat",
data(){ data(){
...@@ -126,6 +147,7 @@ ...@@ -126,6 +147,7 @@
// 总条数 // 总条数
total: 0, total: 0,
releaseTime: "", releaseTime: "",
courseName:"",
queryParams:{ queryParams:{
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
...@@ -134,6 +156,8 @@ ...@@ -134,6 +156,8 @@
releaseTimeBegin: "", releaseTimeBegin: "",
releaseTimeEnd: "" releaseTimeEnd: ""
}, },
// 导出遮罩层
exportLoading: false,
testStatData:[], testStatData:[],
testStatDetailOpen: false, testStatDetailOpen: false,
testStatDetailData: [], testStatDetailData: [],
...@@ -141,7 +165,7 @@ ...@@ -141,7 +165,7 @@
queryDetailParams:{ queryDetailParams:{
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
courseId: "" courseId: 0
} }
} }
}, },
...@@ -149,6 +173,20 @@ ...@@ -149,6 +173,20 @@
this.getTestList(); this.getTestList();
}, },
methods: { methods: {
/** 导出按钮操作 */
handleExport() {
this.$confirm('是否确认导出所有考试详细数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.exportLoading = true;
return exportDeviceInfo(this.queryDetailParams);
}).then(response => {
this.download(response.msg);
this.exportLoading = false;
}).catch(() => {});
},
getTestList(){ getTestList(){
console.log("this.queryParams:",this.queryParams) console.log("this.queryParams:",this.queryParams)
statisticsTrainCourse(this.queryParams).then(res=>{ statisticsTrainCourse(this.queryParams).then(res=>{
...@@ -185,8 +223,10 @@ ...@@ -185,8 +223,10 @@
}; };
this.getTestList(); this.getTestList();
}, },
courseDetail(courseId){ courseDetail(courseId,courseName){
this.testStatDetailOpen = true; this.testStatDetailOpen = true;
this.courseName=courseName;
this.queryDetailParams.courseId=courseId;
this.getTestStatDetails(courseId); this.getTestStatDetails(courseId);
}, },
getTestStatDetails(courseId){ getTestStatDetails(courseId){
......
...@@ -11,9 +11,15 @@ ...@@ -11,9 +11,15 @@
size="mini" size="mini"
@input="topicTypeChange" @input="topicTypeChange"
> >
<el-radio-button :label="1">单选</el-radio-button> <el-radio-button :disabled="checkLock" :label="1"
<el-radio-button :label="2">多选</el-radio-button> >单选</el-radio-button
<el-radio-button :label="3">判断</el-radio-button> >
<el-radio-button :disabled="checkLock" :label="2"
>多选</el-radio-button
>
<el-radio-button :disabled="checkLock" :label="3"
>判断</el-radio-button
>
</el-radio-group> </el-radio-group>
</div> </div>
<div class="right">{{ courseName }}</div> <div class="right">{{ courseName }}</div>
...@@ -28,7 +34,7 @@ ...@@ -28,7 +34,7 @@
:rules="{ :rules="{
required: true, required: true,
message: '必须输入题目内容', message: '必须输入题目内容',
trigger: 'blur', trigger: ['blur', 'change'],
}" }"
> >
<el-input <el-input
...@@ -37,6 +43,7 @@ ...@@ -37,6 +43,7 @@
resize="none" resize="none"
rows="4" rows="4"
v-model="form.topicTitle" v-model="form.topicTitle"
:disabled="checkLock"
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
...@@ -54,7 +61,7 @@ ...@@ -54,7 +61,7 @@
:rules="{ :rules="{
required: true, required: true,
message: '第一项不能为空不能为空', message: '第一项不能为空不能为空',
trigger: 'blur', trigger: ['blur', 'change'],
}" }"
> >
<div class="add-select flex"> <div class="add-select flex">
...@@ -64,6 +71,7 @@ ...@@ -64,6 +71,7 @@
style="flex: 1; margin-right: 10px" style="flex: 1; margin-right: 10px"
rows="2" rows="2"
v-model="question.value" v-model="question.value"
:disabled="checkLock"
></el-input> ></el-input>
<div class="flex algin-items"> <div class="flex algin-items">
<div <div
...@@ -76,8 +84,9 @@ ...@@ -76,8 +84,9 @@
<el-button <el-button
size="mini" size="mini"
type="danger" type="danger"
v-if="index > 0" v-if="index > 0 && form.topicType != 3"
@click.prevent="removeDomain(question)" @click.prevent="removeDomain(question)"
:disabled="checkLock"
>删除</el-button >删除</el-button
> >
</div> </div>
...@@ -108,7 +117,11 @@ ...@@ -108,7 +117,11 @@
设为正确答案 设为正确答案
</div> --> </div> -->
<div style="padding-left: 30px"> <div style="padding-left: 30px">
<el-button size="mini" type="primary" @click.prevent="add(addValue)" <el-button
size="mini"
type="primary"
@click.prevent="add(addValue)"
:disabled="checkLock"
>新增选项</el-button >新增选项</el-button
> >
</div> </div>
...@@ -143,6 +156,9 @@ export default { ...@@ -143,6 +156,9 @@ export default {
topicId: { topicId: {
type: Number, type: Number,
}, },
checkLock: {
type: Boolean,
},
}, },
components: {}, components: {},
data() { data() {
...@@ -229,6 +245,7 @@ export default { ...@@ -229,6 +245,7 @@ export default {
} }
}, },
rightAnswerClick(index) { rightAnswerClick(index) {
if (this.checkLock) return;
if (this.form.topicType === 2) { if (this.form.topicType === 2) {
const ind = this.answerNum.indexOf(index); const ind = this.answerNum.indexOf(index);
if (ind < 0) { if (ind < 0) {
...@@ -247,6 +264,7 @@ export default { ...@@ -247,6 +264,7 @@ export default {
}, },
// 删除选项 // 删除选项
removeDomain(question) { removeDomain(question) {
if (this.checkLock) return;
const index = this.form.questions.indexOf(question); const index = this.form.questions.indexOf(question);
console.log(index); console.log(index);
// 如果是正确答案,就让正确答案清空 // 如果是正确答案,就让正确答案清空
...@@ -333,9 +351,9 @@ export default { ...@@ -333,9 +351,9 @@ export default {
reset() { reset() {
this.form = { this.form = {
topicTitle: "", topicTitle: "",
questions: [{ value: "" }, { value: "" }, { value: "" }], questions: [{ value: "" }, { value: "" }],
}; };
this.answerNum = null; this.answerNum = [];
this.addValue = ""; this.addValue = "";
}, },
}, },
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-12-27 09:30:19 * @Date: 2022-12-27 09:30:19
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2022-12-28 10:29:18 * @LastEditTime: 2023-02-01 18:02:14
* @FilePath: /danger-manage-web/src/views/educationPlanExam/textPaper/components/ChangeQuestion.vue * @FilePath: /danger-manage-web/src/views/educationPlanExam/textPaper/components/ChangeQuestion.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -193,7 +193,7 @@ export default { ...@@ -193,7 +193,7 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
saveAndNext() { save(num = 2) {
const topicInfos = this.list const topicInfos = this.list
.filter((item) => item.checked) .filter((item) => item.checked)
.map((item) => { .map((item) => {
...@@ -202,18 +202,20 @@ export default { ...@@ -202,18 +202,20 @@ export default {
quan: item.changeNum, quan: item.changeNum,
}; };
}); });
console.log(this.courseId, topicInfos); console.log(this.courseId, topicInfos);
const data = { courseId: this.courseId, topicInfos }; const data = { courseId: this.courseId, topicInfos };
console.log(data); console.log(data);
bachAddTopic(data).then((res) => { bachAddTopic(data).then((res) => {
console.log(res); console.log(res);
if (res.code == 200) { if (res.code == 200) {
this.$parent.$parent.componentsNumChange(2); this.$parent.$parent.componentsNumChange(num);
this.$parent.$parent.$parent.getList(); this.$parent.$parent.$parent.getList();
} }
}); });
}, },
saveAndNext() {
this.save(3);
},
resetClick() {}, resetClick() {},
search() { search() {
this.getList(); this.getList();
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-09-22 10:38:49 * @Date: 2022-09-22 10:38:49
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2022-12-28 10:31:06 * @LastEditTime: 2023-02-01 17:34:25
* @FilePath: /danger-manage-web/src/views/lessonsProgram/components/addLesson.vue * @FilePath: /danger-manage-web/src/views/lessonsProgram/components/addLesson.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
:is="currentComponent" :is="currentComponent"
:courseId.sync="courseId" :courseId.sync="courseId"
:topicId.sync="topicId" :topicId.sync="topicId"
:checkLock="checkLock"
ref="current" ref="current"
></component> ></component>
</transition> </transition>
...@@ -32,7 +33,7 @@ ...@@ -32,7 +33,7 @@
<QuestionList/> --> <QuestionList/> -->
</div> </div>
<div slot="footer" class="dialog-footer"> <!-- <div slot="footer" class="dialog-footer">
<el-button <el-button
type="primary" type="primary"
v-if="this.componentsNum == 2" v-if="this.componentsNum == 2"
...@@ -62,6 +63,51 @@ ...@@ -62,6 +63,51 @@
>{{ "确认" }}</el-button >{{ "确认" }}</el-button
> >
<el-button @click="dialogCancel">取消</el-button> <el-button @click="dialogCancel">取消</el-button>
</div> -->
<div slot="footer" class="dialog-footer" v-if="!checkLock">
<el-button
type="primary"
v-if="this.componentsNum == 2 && !checkLock"
@click="componentsNumChange(4)"
>从题库选择</el-button
>
<el-button
type="primary"
v-if="this.componentsNum == 4 || this.componentsNum == 3"
@click="componentsNumChange(2)"
>返回题目列表</el-button
>
<el-button
type="primary"
v-if="
this.componentsNum == 1 ||
this.componentsNum == 3 ||
this.componentsNum == 4
"
@click="save"
>保存</el-button
>
<el-button type="primary" @click="saveAndNext" v-if="!checkLock">{{
saveNextText
}}</el-button>
<el-button
v-if="this.componentsNum == 2"
type="primary"
@click="dialogCancel"
>{{ "确认" }}</el-button
>
<el-button @click="dialogCancel">取消</el-button>
</div>
<div slot="footer" class="dialog-footer" v-else>
<el-button
type="primary"
v-if="this.componentsNum == 3 && checkLock"
@click="componentsNumChange(2)"
>返回题目列表</el-button
>
<el-button type="primary" @click="dialogCancel">{{ "确认" }}</el-button>
<el-button @click="dialogCancel">取消</el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
...@@ -86,6 +132,9 @@ export default { ...@@ -86,6 +132,9 @@ export default {
courseId: { courseId: {
type: Number, type: Number,
}, },
checkLock: {
type: Boolean,
},
}, },
// components: { // components: {
// Lesson, // Lesson,
...@@ -137,11 +186,9 @@ export default { ...@@ -137,11 +186,9 @@ export default {
text = "保存并录入题目"; text = "保存并录入题目";
} else if (this.componentsNum == 2) { } else if (this.componentsNum == 2) {
text = "录入考题"; text = "录入考题";
} else if (this.componentsNum == 3) { } else {
text = "保存并录入下一题"; text = "保存并录入下一题";
} else { }
text = "确定选择";
}
return text; return text;
}, },
}, },
...@@ -168,6 +215,7 @@ export default { ...@@ -168,6 +215,7 @@ export default {
this.topicId = null; this.topicId = null;
} }
this.$emit("update:visible", false); this.$emit("update:visible", false);
this.$emit("update:checkLock", false);
}, },
// 把ID改变了 // 把ID改变了
changeCourseId(courseId) { changeCourseId(courseId) {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-09-22 10:59:44 * @Date: 2022-09-22 10:59:44
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2022-12-26 16:31:34 * @LastEditTime: 2023-02-01 16:58:26
* @FilePath: /danger-manage-web/src/views/lessonsProgram/components/Lession.vue * @FilePath: /danger-manage-web/src/views/lessonsProgram/components/Lession.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -16,7 +16,11 @@ ...@@ -16,7 +16,11 @@
:rules="rules" :rules="rules"
> >
<el-form-item label="考试标题" prop="courseName"> <el-form-item label="考试标题" prop="courseName">
<el-input style="width: 700px" v-model="form.courseName"></el-input> <el-input
:disabled="checkLock"
style="width: 700px"
v-model="form.courseName"
></el-input>
</el-form-item> </el-form-item>
<div class="top flex"> <div class="top flex">
<el-form-item label="开始时间" prop="testStartTime"> <el-form-item label="开始时间" prop="testStartTime">
...@@ -27,6 +31,7 @@ ...@@ -27,6 +31,7 @@
type="datetime" type="datetime"
placeholder="选择日期时间" placeholder="选择日期时间"
default-time="00:00:00" default-time="00:00:00"
:disabled="checkLock"
/> />
</el-form-item> </el-form-item>
<el-form-item label="结束时间" prop="testEndTime"> <el-form-item label="结束时间" prop="testEndTime">
...@@ -36,6 +41,7 @@ ...@@ -36,6 +41,7 @@
type="datetime" type="datetime"
placeholder="选择日期时间" placeholder="选择日期时间"
default-time="00:00:00" default-time="00:00:00"
:disabled="checkLock"
/> />
</el-form-item> </el-form-item>
</div> </div>
...@@ -43,6 +49,7 @@ ...@@ -43,6 +49,7 @@
<ChangePapel <ChangePapel
ref="changePaple" ref="changePaple"
:jsonSelectNameList="jsonSelectNameList" :jsonSelectNameList="jsonSelectNameList"
:disabled="checkLock"
@getPeopleList="getPeopleList" @getPeopleList="getPeopleList"
/> />
</el-form-item> </el-form-item>
...@@ -70,6 +77,9 @@ export default { ...@@ -70,6 +77,9 @@ export default {
courseId: { courseId: {
type: Number, type: Number,
}, },
checkLock: {
type: Boolean,
},
}, },
components: { components: {
// Editor, // Editor,
...@@ -196,14 +206,17 @@ export default { ...@@ -196,14 +206,17 @@ export default {
message: "保存课程成功", message: "保存课程成功",
type: "success", type: "success",
}); });
this.$parent.$parent.dialogCancel();
} else if (num == 3) { } else if (num == 3) {
this.$message({ this.$message({
message: "保存课程成功,请开始录入题目", message: "保存课程成功,请开始录入题目",
type: "success", type: "success",
}); });
this.$parent.$parent.componentsNumChange(num);
this.$parent.$parent.changeCourseId(courseId);
} }
this.$parent.$parent.componentsNumChange(num); // this.$parent.$parent.componentsNumChange(num);
this.$parent.$parent.changeCourseId(courseId); // this.$parent.$parent.changeCourseId(courseId);
this.$parent.$parent.$parent.getList(); this.$parent.$parent.$parent.getList();
return true; return true;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 纪泽龙 jizelong@qq.com * @Author: 纪泽龙 jizelong@qq.com
* @Date: 2022-09-22 17:56:05 * @Date: 2022-09-22 17:56:05
* @LastEditors: 纪泽龙 jizelong@qq.com * @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2023-01-31 14:04:09 * @LastEditTime: 2023-02-01 17:45:09
* @FilePath: /danger-manage-web/src/views/lessonsProgram/components/QuestionList.vue * @FilePath: /danger-manage-web/src/views/lessonsProgram/components/QuestionList.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
...@@ -34,13 +34,15 @@ ...@@ -34,13 +34,15 @@
> >
</div> </div>
<div class="detail-item"> <div class="detail-item">
判断提<span>{{ bottomFrom.judgmentScore }}</span>/题,共<span>{{ pds }}</span> 题,计<span 判断提<span>{{ bottomFrom.judgmentScore }}</span
class="textC" >/题,共<span>{{ pds }}</span> 题,计<span class="textC">{{
>{{ pds * bottomFrom.judgmentScore }}</span pds * bottomFrom.judgmentScore
}}</span
> >
</div> </div>
<div class="detail-item"> <div class="detail-item">
一共<span>{{ danxs + duoxs + pds }}</span>道题,总共计<span class="textC">{{ 一共<span>{{ danxs + duoxs + pds }}</span
>道题,总共计<span class="textC">{{
danxs * bottomFrom.singleChoiceScore + danxs * bottomFrom.singleChoiceScore +
duoxs * bottomFrom.multipleChoiceScore + duoxs * bottomFrom.multipleChoiceScore +
pds * bottomFrom.judgmentScore pds * bottomFrom.judgmentScore
...@@ -70,12 +72,21 @@ ...@@ -70,12 +72,21 @@
<div class="right"> <div class="right">
<div> <div>
<el-button <el-button
v-if="!checkLock"
@click="edit(item.topicId)" @click="edit(item.topicId)"
icon="el-icon-edit" icon="el-icon-edit"
type="text" type="text"
>修改</el-button >修改</el-button
> >
<el-button <el-button
v-if="checkLock"
@click="edit(item.topicId)"
icon="el-icon-edit"
type="text"
>查看</el-button
>
<el-button
v-if="!checkLock"
@click="deleteLesson(item.topicId)" @click="deleteLesson(item.topicId)"
icon="el-icon-delete" icon="el-icon-delete"
type="text" type="text"
...@@ -106,6 +117,7 @@ ...@@ -106,6 +117,7 @@
v-model="bottomFrom.singleChoiceScore" v-model="bottomFrom.singleChoiceScore"
style="width: 50px" style="width: 50px"
size="mini" size="mini"
:disabled="checkLock"
></el-input> ></el-input>
</div> </div>
<div></div> <div></div>
...@@ -117,6 +129,7 @@ ...@@ -117,6 +129,7 @@
v-model="bottomFrom.multipleChoiceScore" v-model="bottomFrom.multipleChoiceScore"
style="width: 50px" style="width: 50px"
size="mini" size="mini"
:disabled="checkLock"
></el-input> ></el-input>
</div> </div>
<div></div> <div></div>
...@@ -129,6 +142,7 @@ ...@@ -129,6 +142,7 @@
v-model="bottomFrom.judgmentScore" v-model="bottomFrom.judgmentScore"
style="width: 50px" style="width: 50px"
size="mini" size="mini"
:disabled="checkLock"
></el-input> ></el-input>
</div> </div>
<div></div> <div></div>
...@@ -141,6 +155,7 @@ ...@@ -141,6 +155,7 @@
v-model="bottomFrom.qualifiedNum" v-model="bottomFrom.qualifiedNum"
style="width: 60px" style="width: 60px"
size="mini" size="mini"
:disabled="checkLock"
></el-input> ></el-input>
</div> </div>
<div>为合格</div> <div>为合格</div>
...@@ -151,6 +166,7 @@ ...@@ -151,6 +166,7 @@
icon="el-icon-check" icon="el-icon-check"
size="mini" size="mini"
type="success" type="success"
:disabled="checkLock"
>保存</el-button >保存</el-button
> >
</div> </div>
...@@ -171,6 +187,9 @@ export default { ...@@ -171,6 +187,9 @@ export default {
courseId: { courseId: {
type: Number, type: Number,
}, },
checkLock: {
type: Boolean,
},
}, },
components: {}, components: {},
data() { data() {
......
...@@ -82,15 +82,17 @@ ...@@ -82,15 +82,17 @@
prop="topicNum" prop="topicNum"
width="180" width="180"
> >
<template v-slot="{ row: { topicNum, courseId } }"> <template v-slot="{ row: { topicNum, courseId, status } }">
<div class="timuNum"> <span class="timuNum" @click="checkQuestion(courseId, status)">
<div v-if="topicNum > 0">{{ `已录入${topicNum}题` }}</div> <span v-if="topicNum > 0">
<div v-else>未录入</div> {{ status == 0 ? `已录入${topicNum}题` : "查看" }}
</div> </span>
<span v-else>未录入</span>
</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="答对几题算合格" label="合格分数"
align="center" align="center"
prop="qualifiedNum" prop="qualifiedNum"
:formatter="formatter" :formatter="formatter"
...@@ -102,17 +104,15 @@ ...@@ -102,17 +104,15 @@
> >
<template v-slot="{ row: { status, courseId, qualifiedNum } }"> <template v-slot="{ row: { status, courseId, qualifiedNum } }">
<!-- <div>{{status}}</div> --> <!-- <div>{{status}}</div> -->
<el-button <!-- <el-button
:disabled="status == 1"
v-if="status == 0" v-if="status == 0"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="checkQuestion(courseId)" @click="checkQuestion(courseId)"
>录入考题</el-button >录入考题</el-button
> > -->
<el-button <el-button
:disabled="status == 1"
v-if="status == 0" v-if="status == 0"
size="mini" size="mini"
type="text" type="text"
...@@ -120,6 +120,14 @@ ...@@ -120,6 +120,14 @@
@click="changeLesson(courseId)" @click="changeLesson(courseId)"
>编辑</el-button >编辑</el-button
> >
<el-button
v-if="status == 1"
size="mini"
type="text"
icon="el-icon-edit"
@click="checkLesson(courseId)"
>详情</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
...@@ -128,13 +136,12 @@ ...@@ -128,13 +136,12 @@
>删除</el-button >删除</el-button
> >
<el-button <el-button
:disabled="status == 1"
v-if="status == 0" v-if="status == 0"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="issueLesson(courseId, qualifiedNum)" @click="issueDilog(courseId)"
>发布考试</el-button >发布</el-button
> >
</template> </template>
</el-table-column> </el-table-column>
...@@ -151,16 +158,62 @@ ...@@ -151,16 +158,62 @@
ref="Dia" ref="Dia"
:componentsNum.sync="componentsNum" :componentsNum.sync="componentsNum"
:courseId.sync="courseId" :courseId.sync="courseId"
:checkLock.sync="checkLock"
:visible.sync="dilogFlag" :visible.sync="dilogFlag"
/> />
<el-dialog title="提示" :visible.sync="issue" width="30%"> <el-dialog title="发布详情" :visible.sync="issueVisible" width="60%">
<div>123</div> <div class="detail flex">
<div class="detail-item">
单选题<span>{{ bottomFrom.singleChoiceScore }}</span
>/,<span>{{ danxs }}</span
>题,计<span class="textC">{{
danxs * bottomFrom.singleChoiceScore
}}</span
>
</div>
<div class="detail-item">
多选题<span>{{ bottomFrom.multipleChoiceScore }}</span
>/,<span>{{ duoxs }}</span> 题,计<span class="textC">{{
duoxs * bottomFrom.multipleChoiceScore
}}</span
>
</div>
<div class="detail-item">
判断提<span>{{ bottomFrom.judgmentScore }}</span
>/题,共<span>{{ pds }}</span> 题,计<span class="textC">{{
pds * bottomFrom.judgmentScore
}}</span
>
</div>
<div class="detail-item">
合格分数为<span class="textC">{{ bottomFrom.qualifiedNum }}</span
>
</div>
<div class="detail-item">
一共<span>{{ danxs + duoxs + pds }}</span
>道题,总共计<span class="textC">{{
danxs * bottomFrom.singleChoiceScore +
duoxs * bottomFrom.multipleChoiceScore +
pds * bottomFrom.judgmentScore
}}</span
>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="issueVisible = false"> </el-button>
<el-button type="primary" @click="issueLesson(issueCourseId)"
>确认发布</el-button
>
</span>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import {
getQuestion,
getLessons, getLessons,
getLessonById, getLessonById,
issue, issue,
...@@ -200,14 +253,36 @@ export default { ...@@ -200,14 +253,36 @@ export default {
// 表单校验 // 表单校验
dilogFlag: false, dilogFlag: false,
// 发布
issueVisible: false,
bottomFrom: {
singleChoiceScore: 0,
multipleChoiceScore: 0,
judgmentScore: 0,
qualifiedNum: 0,
},
issueCourseId: null,
questionList: [],
componentsNum: 1, componentsNum: 1,
// 点击的id,如果是新增为空 // 点击的id,如果是新增为空
courseId: null, courseId: null,
issue: false, issue: false,
// false为编辑,true为查看,查看不允许编辑的时候
checkLock: false,
}; };
}, },
computed: { computed: {
...mapGetters(["courseOptions"]), ...mapGetters(["courseOptions"]),
danxs() {
return this.questionList.filter((item) => item.topicType === 1).length;
},
duoxs() {
return this.questionList.filter((item) => item.topicType === 2).length;
},
pds() {
return this.questionList.filter((item) => item.topicType === 3).length;
},
}, },
created() { created() {
// this.getPlanList(); // this.getPlanList();
...@@ -257,12 +332,22 @@ export default { ...@@ -257,12 +332,22 @@ export default {
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.checkLock = false;
this.$refs.Dia.title = "新增考试试卷"; this.$refs.Dia.title = "新增考试试卷";
this.componentsNum = 1; this.componentsNum = 1;
this.courseId = null; this.courseId = null;
this.dilogFlag = true; this.dilogFlag = true;
}, },
changeLesson(courseId) { changeLesson(courseId) {
this.checkLock = false;
this.$refs.Dia.title = "修改考试试卷";
this.componentsNum = 1;
this.courseId = courseId;
this.dilogFlag = true;
},
checkLesson(courseId) {
this.checkLock = true;
this.$refs.Dia.title = "修改考试试卷"; this.$refs.Dia.title = "修改考试试卷";
this.componentsNum = 1; this.componentsNum = 1;
this.courseId = courseId; this.courseId = courseId;
...@@ -270,8 +355,12 @@ export default { ...@@ -270,8 +355,12 @@ export default {
}, },
// 直接查看考题 // 直接查看考题
checkQuestion(courseId) { checkQuestion(courseId, status) {
// 要查看考题的id // 要查看考题的id
if (status == 1) {
this.checkLock = true;
}
this.courseId = courseId; this.courseId = courseId;
console.log(this.courseId); console.log(this.courseId);
// 2代表列表组件 // 2代表列表组件
...@@ -315,8 +404,39 @@ export default { ...@@ -315,8 +404,39 @@ export default {
.catch(() => {}); .catch(() => {});
}, },
// 发布 // 发布
issueLesson(courseId, qualifiedNum) { issueDilog(courseId) {
this.$confirm("请确定发布", { getQuestion({courseId})
.then((res) => {
console.log(res)
this.questionList = res.rows.map((item) => {
return {
topicType: item.topicType,
topicId: item.topicId,
topicTitle: item.topicTitle,
};
});
})
.then((res) => {
return getLessonById(courseId);
})
.then((res) => {
this.bottomFrom = {
singleChoiceScore: res.data.singleChoiceScore ||0,
multipleChoiceScore: res.data.multipleChoiceScore||0,
judgmentScore: res.data.judgmentScore||0,
qualifiedNum: res.data.qualifiedNum||0,
};
})
.then((res) => {
this.issueVisible = true;
this.issueCourseId = courseId;
});
//
},
issueLesson(courseId) {
this.$confirm("确定要发布吗", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
...@@ -326,14 +446,14 @@ export default { ...@@ -326,14 +446,14 @@ export default {
return getLessonById(courseId); return getLessonById(courseId);
}) })
.then((res) => { .then((res) => {
if ( // if (
res.data.singleChoiceScore > 0 && // res.data.singleChoiceScore > 0 &&
res.data.multipleChoiceScore > 0 && // res.data.multipleChoiceScore > 0 &&
res.data.judgmentScore > 0 && // res.data.judgmentScore > 0 &&
res.data.qualifiedNum > 0 // res.data.qualifiedNum > 0
) { // ) {
return true; return true;
} // }
}) })
.then((res) => { .then((res) => {
if (res) { if (res) {
...@@ -355,6 +475,7 @@ export default { ...@@ -355,6 +475,7 @@ export default {
type: "success", type: "success",
}); });
this.getList(); this.getList();
this.issueVisible = false;
} }
}) })
.catch(() => {}); .catch(() => {});
...@@ -373,7 +494,7 @@ export default { ...@@ -373,7 +494,7 @@ export default {
} }
.timuNum { .timuNum {
color: #1d84ff; color: #1d84ff;
// cursor: pointer; cursor: pointer;
} }
::v-deep .el-select { ::v-deep .el-select {
width: 100%; width: 100%;
...@@ -381,4 +502,17 @@ export default { ...@@ -381,4 +502,17 @@ export default {
::v-deep .el-dialog { ::v-deep .el-dialog {
margin-top: 15vh !important; margin-top: 15vh !important;
} }
.detail {
// position: absolute;
// bottom: -20px;
// left: 10px;
.textC {
font-weight: 800;
font-size: 18px;
}
.detail-item {
margin-right: 20px;
color: red;
}
}
</style> </style>
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
<el-button <el-button
size="mini" size="mini"
type="danger" type="danger"
v-if="index > 0" v-if="index > 0 && form.topicType != 3"
@click.prevent="removeDomain(question)" @click.prevent="removeDomain(question)"
plain plain
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -62,9 +62,9 @@ ...@@ -62,9 +62,9 @@
<span>{{ parseTime(scope.row.testEndTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> <span>{{ parseTime(scope.row.testEndTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="正确率" align="center" prop="score"> <el-table-column label="答题得分" align="center" prop="score">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{Math.round(scope.row.score/topicNum* 100)}}%</span> <span>{{scope.row.score}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否合格" align="center" prop="isQualified"> <el-table-column label="是否合格" align="center" prop="isQualified">
......
...@@ -150,7 +150,7 @@ ...@@ -150,7 +150,7 @@
</el-col> </el-col>
</el-row> </el-row>
<!-- 添加或修改参数配置对话框 --> <!-- 添加参数配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
...@@ -238,7 +238,7 @@ ...@@ -238,7 +238,7 @@
<el-row> <el-row>
<el-col :span="11"> <el-col :span="11">
<el-form-item label="角色"> <el-form-item label="角色">
<el-select v-model="form.roleId" placeholder="请选择角色" style="width: 100%"> <el-select v-model="form.roleIds" multiple placeholder="请选择">
<el-option <el-option
v-for="item in roleOptions" v-for="item in roleOptions"
:key="item.roleId" :key="item.roleId"
...@@ -249,6 +249,9 @@ ...@@ -249,6 +249,9 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="23"> <el-col :span="23">
...@@ -294,7 +297,151 @@ ...@@ -294,7 +297,151 @@
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 修改参数配置对话框 -->
<el-dialog :title="title" :visible.sync="opens" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="11">
<el-form-item label="姓名" prop="staffName">
<el-input v-model="form.staffName" placeholder="请输入员工姓名" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别" prop="sex" label-width="140px">
<el-select v-model="form.sex" placeholder="请选择员工性别" style="width: 100%">
<el-option
v-for="dict in sexOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="归属部门" prop="deptId" label-width="140px">
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="岗位" prop="postId">
<el-select v-model="form.postId" placeholder="请选择岗位" style="width: 100%">
<el-option
v-for="item in postOptions"
:key="item.postId"
:label="item.postName"
:value="item.postId"
:disabled="item.status == 1"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="职称" prop="positionalTitles" label-width="140px">
<el-input v-model="form.positionalTitles" placeholder="请输入员工职称" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="工种" prop="profession">
<el-input v-model="form.profession" placeholder="请输入员工工种" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否为特种作业人员" label-width="140px">
<el-select v-model="form.specialOperators" placeholder="请选择是否为特种作业人员" style="width: 100%">
<el-option
v-for="dict in specialOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<!-- <el-form-item label="角色">-->
<!-- <el-select v-model="form.roleId" placeholder="请选择角色" style="width: 100%">-->
<!-- <el-option-->
<!-- v-for="item in roleOptions"-->
<!-- :key="item.roleId"-->
<!-- :label="item.roleName"-->
<!-- :value="item.roleId"-->
<!-- :disabled="item.status == 1"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择">
<el-option
v-for="item in roleOptions"
:key="item.roleId"
:label="item.roleName"
:value="item.roleId"
:disabled="item.status == 1"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="23">
<el-form-item label="证书照片" prop="certificateUrl">
<MyFileUpload
listType="picture-card"
@resFun="getFileInfo"
@remove="listRemove"
:fileArr="fileList"
/>
<el-input v-show="false" disabled v-model="form.certificateUrl"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="证书名称" prop="certificateName">
<el-input v-model="form.certificateName" placeholder="请输入证书名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="证书有效日期" prop="effectiveDate" label-width="140px">
<el-date-picker clearable
v-model="form.effectiveDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择证书有效日期"
style="width: 100%">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="23">
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注信息"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
...@@ -303,6 +450,7 @@ import { listStaff, getStaff, delStaff, addStaff, updateStaff, exportStaff } fro ...@@ -303,6 +450,7 @@ import { listStaff, getStaff, delStaff, addStaff, updateStaff, exportStaff } fro
import { treeselect } from "@/api/system/dept"; import { treeselect } from "@/api/system/dept";
import MyFileUpload from '@/components/MyFileUpload'; import MyFileUpload from '@/components/MyFileUpload';
import Treeselect from "@riophae/vue-treeselect"; import Treeselect from "@riophae/vue-treeselect";
import { listUser, getUser, delUser, addUser, updateUser, exportUser, resetUserPwd, changeUserStatus, importTemplate } from "@/api/system/user";
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default { export default {
...@@ -333,6 +481,8 @@ export default { ...@@ -333,6 +481,8 @@ export default {
deptOptions: undefined, deptOptions: undefined,
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
// 修改是否显示弹出层
opens: false,
openDetail: false, openDetail: false,
// 部门名称 // 部门名称
deptName: undefined, deptName: undefined,
...@@ -431,6 +581,7 @@ export default { ...@@ -431,6 +581,7 @@ export default {
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
this.opens = false;
this.reset(); this.reset();
}, },
cancelDetail() { cancelDetail() {
...@@ -495,7 +646,13 @@ export default { ...@@ -495,7 +646,13 @@ export default {
this.getTreeselect(); this.getTreeselect();
// this.open = true; // this.open = true;
// this.title = "添加员工信息"; // this.title = "添加员工信息";
getStaff().then(response => { // getStaff().then(response => {
// this.postOptions = response.posts;
// this.roleOptions = response.roles;
// this.open = true;
// this.title = "添加员工信息";
// });
getUser().then(response => {
this.postOptions = response.posts; this.postOptions = response.posts;
this.roleOptions = response.roles; this.roleOptions = response.roles;
this.open = true; this.open = true;
...@@ -507,16 +664,18 @@ export default { ...@@ -507,16 +664,18 @@ export default {
this.reset(); this.reset();
this.getTreeselect(); this.getTreeselect();
const staffId = row.staffId || this.ids; const staffId = row.staffId || this.ids;
getUser().then(response => {
this.roleOptions = response.roles;
});
getStaff(staffId).then(response => { getStaff(staffId).then(response => {
this.form = response.data; this.form = response.data;
this.postOptions = response.posts; this.postOptions = response.posts;
this.roleOptions = response.roles;
if (this.form.certificateUrl) { if (this.form.certificateUrl) {
this.fileList.push({ this.fileList.push({
url: this.form.certificateUrl, url: this.form.certificateUrl,
}); });
} }
this.open = true; this.opens = true;
this.title = "修改员工信息"; this.title = "修改员工信息";
}); });
}, },
...@@ -524,11 +683,10 @@ export default { ...@@ -524,11 +683,10 @@ export default {
submitForm: function() { submitForm: function() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
console.log("this.form",this.form)
if (this.form.staffId != null) { if (this.form.staffId != null) {
updateStaff(this.form).then(response => { updateStaff(this.form).then(response => {
this.msgSuccess("修改成功"); this.msgSuccess("修改成功");
this.open = false; this.opens = false;
this.getList(); this.getList();
}); });
} else { } else {
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
v-if="scope.row.state==0" v-if="scope.row.state==0&&scope.row.rectification == user.userId"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
v-hasPermi="['system:book:edit']" v-hasPermi="['system:book:edit']"
>整改</el-button> >整改</el-button>
<el-button <el-button
v-if="scope.row.state==1" v-if="scope.row.state==1&&(scope.row.escalation == user.userId||scope.row.createId == user.userId)"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
...@@ -231,17 +231,17 @@ ...@@ -231,17 +231,17 @@
</el-form-item> </el-form-item>
<el-row :gutter="24" class="mb8"> <el-row :gutter="24" class="mb8">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="责任部门" prop="deptId"> <!--<el-form-item label="责任部门" prop="deptId">-->
<!--<el-input v-model="form.deptId" placeholder="请输入部门id" />--> <!--&lt;!&ndash;<el-input v-model="form.deptId" placeholder="请输入部门id" />&ndash;&gt;-->
<el-select v-model="form.deptId" filterable placeholder="请选择责任部门"> <!--<el-select v-model="form.deptId" filterable placeholder="请选择责任部门">-->
<el-option <!--<el-option-->
v-for="dict in deptList" <!--v-for="dict in deptList"-->
:key="dict.deptId" <!--:key="dict.deptId"-->
:label="dict.deptName" <!--:label="dict.deptName"-->
:value="parseInt(dict.deptId)" <!--:value="parseInt(dict.deptId)"-->
></el-option> <!--&gt;</el-option>-->
</el-select> <!--</el-select>-->
</el-form-item> <!--</el-form-item>-->
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="整改时限" prop="rectificationTerm"> <el-form-item label="整改时限" prop="rectificationTerm">
...@@ -257,20 +257,25 @@ ...@@ -257,20 +257,25 @@
<el-form-item label="整改建议" prop="proposal"> <el-form-item label="整改建议" prop="proposal">
<el-input type="textarea" v-model="form.proposal" placeholder="请输入整改建议" /> <el-input type="textarea" v-model="form.proposal" placeholder="请输入整改建议" />
</el-form-item> </el-form-item>
<!--<el-form-item label="投入费用" prop="investmentCost" v-if="zhong==1">-->
<!--<el-input v-model="form.investmentCost" placeholder="请输入投入费用" />-->
<!--</el-form-item>-->
<!--<el-form-item label="投入物资" prop="investmentMaterial" v-if="zhong==1">-->
<!--<el-input v-model="form.investmentMaterial" placeholder="请输入投入物资" />-->
<!--</el-form-item>-->
<el-divider content-position="left" v-if="zhong==2||fast"><i class="el-icon-info"></i><span class="boxx">整改信息</span></el-divider>
<el-row :gutter="24" class="mb8"> <el-row :gutter="24" class="mb8">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="整改人" prop="rectification" v-if="zhong==2||fast"> <el-form-item label="责任部门" prop="deptId">
<!--<el-input v-model="form.deptId" placeholder="请输入部门id" />-->
<el-select v-model="form.deptId" filterable placeholder="请选择责任部门" @change="switchDept()">
<el-option
v-for="dict in deptList"
:key="dict.deptId"
:label="dict.deptName"
:value="parseInt(dict.deptId)"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="整改人" prop="rectification" >
<el-select v-model="form.rectification" filterable placeholder="请选择"> <el-select v-model="form.rectification" filterable placeholder="请选择">
<el-option <el-option
v-for="item in staffList" v-for="item in staffList2"
:key="item.staffId" :key="item.staffId"
:label="item.staffName" :label="item.staffName"
:value="item.staffId"> :value="item.staffId">
...@@ -278,6 +283,28 @@ ...@@ -278,6 +283,28 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<!--<el-form-item label="投入费用" prop="investmentCost" v-if="zhong==1">-->
<!--<el-input v-model="form.investmentCost" placeholder="请输入投入费用" />-->
<!--</el-form-item>-->
<!--<el-form-item label="投入物资" prop="investmentMaterial" v-if="zhong==1">-->
<!--<el-input v-model="form.investmentMaterial" placeholder="请输入投入物资" />-->
<!--</el-form-item>-->
<el-divider content-position="left" v-if="zhong==2||fast"><i class="el-icon-info"></i><span class="boxx">整改信息</span></el-divider>
<el-row :gutter="24" class="mb8">
<!--<el-col :span="12">-->
<!--<el-form-item label="整改人" prop="rectification" v-if="zhong==2||fast">-->
<!--<el-select v-model="form.rectification" filterable placeholder="请选择">-->
<!--<el-option-->
<!--v-for="item in staffList2"-->
<!--:key="item.staffId"-->
<!--:label="item.staffName"-->
<!--:value="item.staffId">-->
<!--</el-option>-->
<!--</el-select>-->
<!--</el-form-item>-->
<!--</el-col>-->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="整改时间" prop="rectificationTime" v-if ="zhong==2||fast"> <el-form-item label="整改时间" prop="rectificationTime" v-if ="zhong==2||fast">
<el-date-picker clearable size="small" <el-date-picker clearable size="small"
...@@ -643,11 +670,39 @@ ...@@ -643,11 +670,39 @@
</span> </span>
<span v-else>-</span> <span v-else>-</span>
</el-form-item> </el-form-item>
<el-row :gutter="24" class="mb8">
<!--<el-col :span="12">-->
<!--<el-form-item label="责任部门" prop="deptId">-->
<!--&lt;!&ndash;<el-input v-model="form.deptId" placeholder="请输入部门id" />&ndash;&gt;-->
<!--<el-select v-model="form.deptId" filterable placeholder="请选择责任部门" disabled >-->
<!--<el-option-->
<!--v-for="dict in deptList"-->
<!--:key="dict.deptId"-->
<!--:label="dict.deptName"-->
<!--:value="parseInt(dict.deptId)"-->
<!--&gt;</el-option>-->
<!--</el-select>-->
<!--</el-form-item>-->
<!--</el-col>-->
<el-col :span="12">
<el-form-item label="整改时限" prop="rectificationTerm">
<el-date-picker clearable size="small" disabled
v-model="form.rectificationTerm"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择整改时间">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="整改建议" prop="proposal">
<el-input type="textarea" v-model="form.proposal" placeholder="请输入整改建议" disabled/>
</el-form-item>
<el-row :gutter="24" class="mb8"> <el-row :gutter="24" class="mb8">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="责任部门" prop="deptId"> <el-form-item label="责任部门" prop="deptId">
<!--<el-input v-model="form.deptId" placeholder="请输入部门id" />--> <!--<el-input v-model="form.deptId" placeholder="请输入部门id" />-->
<el-select v-model="form.deptId" filterable placeholder="请选择责任部门" disabled> <el-select v-model="form.deptId" filterable placeholder="请选择责任部门" disabled >
<el-option <el-option
v-for="dict in deptList" v-for="dict in deptList"
:key="dict.deptId" :key="dict.deptId"
...@@ -658,19 +713,18 @@ ...@@ -658,19 +713,18 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="整改时限" prop="rectificationTerm"> <el-form-item label="整改人" prop="rectification" >
<el-date-picker clearable size="small" disabled <el-select v-model="form.rectification" filterable placeholder="请选择" disabled>
v-model="form.rectificationTerm" <el-option
type="datetime" v-for="item in staffList"
value-format="yyyy-MM-dd HH:mm:ss" :key="item.staffId"
placeholder="选择整改时间"> :label="item.staffName"
</el-date-picker> :value="item.staffId">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="整改建议" prop="proposal">
<el-input type="textarea" v-model="form.proposal" placeholder="请输入整改建议" disabled/>
</el-form-item>
<!-- <!--
<el-form-item label="备注" prop="remarks"> <el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" placeholder="请输入备注" disabled/> <el-input v-model="form.remarks" placeholder="请输入备注" disabled/>
...@@ -684,18 +738,7 @@ ...@@ -684,18 +738,7 @@
<!--</el-form-item>--> <!--</el-form-item>-->
<el-divider content-position="left" ><i class="el-icon-info"></i><span class="boxx">整改信息</span></el-divider> <el-divider content-position="left" ><i class="el-icon-info"></i><span class="boxx">整改信息</span></el-divider>
<el-row :gutter="24" class="mb8"> <el-row :gutter="24" class="mb8">
<el-col :span="12">
<el-form-item label="整改人" prop="rectification" >
<el-select v-model="form.rectification" filterable placeholder="请选择" :disabled="disabled">
<el-option
v-for="item in staffList"
:key="item.staffId"
:label="item.staffName"
:value="item.staffId">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="整改时间" prop="rectificationTime" > <el-form-item label="整改时间" prop="rectificationTime" >
<el-date-picker clearable size="small" <el-date-picker clearable size="small"
...@@ -792,6 +835,7 @@ ...@@ -792,6 +835,7 @@
import { listBook, getBook, delBook, addBook, updateBook, exportBook } from "@/api/system/book"; import { listBook, getBook, delBook, addBook, updateBook, exportBook } from "@/api/system/book";
import { listDept } from "@/api/system/dept"; import { listDept } from "@/api/system/dept";
import { listStaff } from "@/api/safetyManagement/staff"; import { listStaff } from "@/api/safetyManagement/staff";
import { getUserProfile } from "@/api/system/user";
let uploadfile = require("@/assets/uploadfile.png"); let uploadfile = require("@/assets/uploadfile.png");
export default { export default {
name: "Book", name: "Book",
...@@ -801,6 +845,7 @@ export default { ...@@ -801,6 +845,7 @@ export default {
data() { data() {
return { return {
readOnly:false, readOnly:false,
user:null,
disabled:false, disabled:false,
disabled2:false, disabled2:false,
fast:false, fast:false,
...@@ -862,6 +907,7 @@ export default { ...@@ -862,6 +907,7 @@ export default {
staffName:"" staffName:""
}, },
staffList:[], staffList:[],
staffList2:[],
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
...@@ -881,12 +927,15 @@ export default { ...@@ -881,12 +927,15 @@ export default {
findTime: [ findTime: [
{ required: true, message: "上报时间不能为空", trigger: "blur" } { required: true, message: "上报时间不能为空", trigger: "blur" }
], ],
deptId: [ // deptId: [
{ required: true, message: "责任部门不能为空", trigger: "blur" } // { required: true, message: "责任部门不能为空", trigger: "blur" }
], // ],
rectificationTerm:[ rectificationTerm:[
{ required: true, message: "整改时限不能为空", trigger: "blur" } { required: true, message: "整改时限不能为空", trigger: "blur" }
] ],
rectification:[
{ required: true, message: "整改人不能为空", trigger: "blur" }
],
} }
}; };
}, },
...@@ -900,6 +949,9 @@ export default { ...@@ -900,6 +949,9 @@ export default {
this.getDicts("t_trouble_level").then(response => { this.getDicts("t_trouble_level").then(response => {
this.troubleLevelOptions = response.data; this.troubleLevelOptions = response.data;
}); });
getUserProfile().then(response => {
this.user = response.data;
});
}, },
methods: { methods: {
/** 查询隐患台账列表 */ /** 查询隐患台账列表 */
...@@ -914,11 +966,18 @@ export default { ...@@ -914,11 +966,18 @@ export default {
checkFile(url) { checkFile(url) {
window.open(url,'_blank'); window.open(url,'_blank');
}, },
switchDept(){
//console.log(this.form.deptId);
listStaff({ pageNum: 1,pageSize: 99999,deptId:this.form.deptId}).then(response => {
this.staffList2 = response.rows;
});
},
/** 查询员工列表 */ /** 查询员工列表 */
getStaffList() { getStaffList() {
this.loading = true; this.loading = true;
listStaff(this.queryParams2).then(response => { listStaff(this.queryParams2).then(response => {
this.staffList = response.rows; this.staffList = response.rows;
this.staffList2 = response.rows;
this.loading = false; this.loading = false;
} }
); );
...@@ -961,7 +1020,7 @@ export default { ...@@ -961,7 +1020,7 @@ export default {
troubleLevel: null, troubleLevel: null,
measures: null, measures: null,
troubleHarm: null, troubleHarm: null,
escalation: null, escalation: this.user.userId,
findTime: null, findTime: null,
picture: null, picture: null,
enclosure: null, enclosure: null,
...@@ -1015,6 +1074,7 @@ export default { ...@@ -1015,6 +1074,7 @@ export default {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加隐患台账"; this.title = "添加隐患台账";
this.staffList2 = this.staffList;
}, },
handleFastAdd() { handleFastAdd() {
this.reset(); this.reset();
...@@ -1022,6 +1082,7 @@ export default { ...@@ -1022,6 +1082,7 @@ export default {
this.open = true; this.open = true;
this.title = "添加隐患台账"; this.title = "添加隐患台账";
this.zhong = 3; this.zhong = 3;
this.staffList2 = this.staffList;
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
......
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