添加表单
This commit is contained in:
parent
55e4193e97
commit
d87757a164
@ -0,0 +1,135 @@
|
||||
package com.tenlion.twoduty.controller.api.dutylistform;
|
||||
|
||||
import com.tenlion.twoduty.pojo.dtos.dutylistform.HeartTalkDTO;
|
||||
import com.tenlion.twoduty.pojo.dtos.dutylistform.PartyCleanMeetingDTO;
|
||||
import com.tenlion.twoduty.pojo.vos.dutylistform.PartyCleanMeetingVO;
|
||||
import com.tenlion.twoduty.service.dutylistform.IDutyListFormService;
|
||||
import ink.wgink.annotation.CheckRequestBodyAnnotation;
|
||||
import ink.wgink.common.base.DefaultBaseController;
|
||||
import ink.wgink.interfaces.consts.ISystemConstant;
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.result.ErrorResult;
|
||||
import ink.wgink.pojo.result.SuccessResult;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
import io.swagger.annotations.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 责任清单表单接口
|
||||
* @author xwangs
|
||||
* @create 2021-03-29 15:31
|
||||
* @description
|
||||
*/
|
||||
@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "责任清单表单接口")
|
||||
@RestController
|
||||
@RequestMapping(ISystemConstant.API_PREFIX + "/dutylistform")
|
||||
public class DutyListFormController extends DefaultBaseController {
|
||||
|
||||
@Autowired
|
||||
private IDutyListFormService dutyListFormService;
|
||||
|
||||
@ApiOperation(value = "党风廉政大会分页列表", notes = "党风廉政大会分页列表接口")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
|
||||
@ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"),
|
||||
@ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String")
|
||||
})
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@GetMapping("listpagepartycleanmeeting")
|
||||
public SuccessResultList<List<PartyCleanMeetingDTO>> listPagePartyCleanMeeting(ListPage page) {
|
||||
Map<String, Object> params = requestParams();
|
||||
page.setParams(params);
|
||||
return dutyListFormService.listPagePartyCleanMeeting(page);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "党风廉政大会详情", notes = "党风廉政大会详情接口")
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@GetMapping("getpartycleanmeeting/{id}")
|
||||
public PartyCleanMeetingDTO getPartyCleanMeeting(@PathVariable("id") String reportId) {
|
||||
Map<String, Object> params = requestParams();
|
||||
params.put("reportId",reportId);
|
||||
return dutyListFormService.getPartyCleanMeeting(params);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新增党风廉政大会", notes = "新增党风廉政大会接口")
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@PostMapping("savepartycleanmeeting")
|
||||
public SuccessResult savePartyCleanMeeting(@RequestBody PartyCleanMeetingVO partyCleanMeetingVO) throws Exception{
|
||||
dutyListFormService.savePartyCleanMeeting(partyCleanMeetingVO);
|
||||
return new SuccessResult();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "党风廉政大会修改", notes = "党风廉政大会修改接口")
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@PutMapping("updatepartycleanmeeting/{id}")
|
||||
public SuccessResult updatePartyCleanMeeting(@PathVariable("id") String id, @RequestBody PartyCleanMeetingVO partyCleanMeetingVO) {
|
||||
partyCleanMeetingVO.setReportId(id);
|
||||
dutyListFormService.updatePartyCleanMeeting(partyCleanMeetingVO);
|
||||
return new SuccessResult();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "党风廉政大会删除", notes = "党风廉政大会删除接口")
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@DeleteMapping("removepartycleanmeeting/{ids}")
|
||||
public SuccessResult removePartyCleanMeeting(@PathVariable("ids") String ids) {
|
||||
dutyListFormService.removePartyCleanMeeting(Arrays.asList(ids.split("\\_")));
|
||||
return new SuccessResult();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "谈心谈话分页列表", notes = "谈心谈话分页列表接口")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
|
||||
@ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"),
|
||||
@ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = "startTime", value = "谈话时间开始", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = "endTime", value = "谈话时间结束", paramType = "query", dataType = "String")
|
||||
})
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@GetMapping("listpagehearttalk")
|
||||
public SuccessResultList<List<HeartTalkDTO>> listPageHeartTalk(ListPage page) {
|
||||
Map<String, Object> params = requestParams();
|
||||
page.setParams(params);
|
||||
return dutyListFormService.listPageHeartTalk(page);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "谈心谈话详情", notes = "谈心谈话详情接口")
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@GetMapping("gethearttalk/{id}")
|
||||
public HeartTalkDTO getHeartTalk(@PathVariable("id") String reportId) {
|
||||
Map<String, Object> params = requestParams();
|
||||
params.put("reportId",reportId);
|
||||
return dutyListFormService.getHeartTalk(params);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新增谈心谈话", notes = "新增谈心谈话接口")
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@PostMapping("savehearttalk")
|
||||
public SuccessResult saveHeartTalk(@RequestBody HeartTalkDTO heartTalkDTO) throws Exception{
|
||||
dutyListFormService.saveHeartTalk(heartTalkDTO);
|
||||
return new SuccessResult();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "谈心谈话修改", notes = "谈心谈话修改接口")
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@PutMapping("updatehearttalk/{id}")
|
||||
public SuccessResult updateHeartTalk(@PathVariable("id") String id, @RequestBody HeartTalkDTO heartTalkDTO) {
|
||||
heartTalkDTO.setReportId(id);
|
||||
dutyListFormService.updateHeartTalk(heartTalkDTO);
|
||||
return new SuccessResult();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "谈心谈话删除", notes = "谈心谈话删除接口")
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@DeleteMapping("removehearttalk/{ids}")
|
||||
public SuccessResult removeHeartTalk(@PathVariable("ids") String ids) {
|
||||
dutyListFormService.removeHeartTalk(Arrays.asList(ids.split("\\_")));
|
||||
return new SuccessResult();
|
||||
}
|
||||
}
|
@ -0,0 +1,85 @@
|
||||
package com.tenlion.twoduty.dao.dutylistform;
|
||||
|
||||
import com.tenlion.twoduty.pojo.dtos.dutylistform.HeartTalkDTO;
|
||||
import com.tenlion.twoduty.pojo.dtos.dutylistform.PartyCleanMeetingDTO;
|
||||
import ink.wgink.pojo.result.SuccessResultData;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author xwangs
|
||||
* @create 2021-03-29 15:35
|
||||
* @description
|
||||
*/
|
||||
@Repository
|
||||
public interface IDutyListFormDao {
|
||||
|
||||
/**
|
||||
* 党风廉政大会列表
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
List<PartyCleanMeetingDTO> listPartyCleanMeeting(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 党风廉政大会详情
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
PartyCleanMeetingDTO getPartyCleanMeeting(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 党风廉政大会新增
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
void savePartyCleanMeeting(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 党风廉政大会修改
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
void updatePartyCleanMeeting(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 党风廉政大会删除
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
void removePartyCleanMeeting(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 谈心谈话列表
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
List<HeartTalkDTO> listHeartTalk(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 谈心谈话详情
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
HeartTalkDTO getHeartTalk(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 谈心谈话新增
|
||||
* @param params
|
||||
*/
|
||||
void saveHeartTalk(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 谈心谈话修改
|
||||
* @param params
|
||||
*/
|
||||
void updateHeartTalk(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 谈心谈话删除
|
||||
* @param params
|
||||
*/
|
||||
void removeHeartTalk(Map<String, Object> params);
|
||||
}
|
@ -0,0 +1,173 @@
|
||||
package com.tenlion.twoduty.pojo.dtos.dutylistform;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* 谈心谈话DTO
|
||||
* @author xwangs
|
||||
* @create 2021-03-29 15:58
|
||||
* @description
|
||||
*/
|
||||
public class HeartTalkDTO {
|
||||
|
||||
@ApiModelProperty(name = "reportId", value = "主键Id")
|
||||
private String reportId;
|
||||
@ApiModelProperty(name = "dutyIndexLibId", value = "责任清单ID")
|
||||
private String dutyIndexLibId;
|
||||
@ApiModelProperty(name = "orgName", value = "单位名称")
|
||||
private String orgName;
|
||||
@ApiModelProperty(name = "talkObj", value = "谈心谈话对象")
|
||||
private String talkObj;
|
||||
@ApiModelProperty(name = "politicalStatus", value = "政治面貌")
|
||||
private String politicalStatus;
|
||||
@ApiModelProperty(name = "orgJob", value = "单位职务")
|
||||
private String orgJob;
|
||||
@ApiModelProperty(name = "talkReason", value = "谈心谈话原因")
|
||||
private String talkReason;
|
||||
@ApiModelProperty(name = "talkPerson", value = "谈话人")
|
||||
private String talkPerson;
|
||||
@ApiModelProperty(name = "talkPersonOrgJob", value = "谈话人单位职务")
|
||||
private String talkPersonOrgJob;
|
||||
@ApiModelProperty(name = "noteTaker", value = "记录人")
|
||||
private String noteTaker;
|
||||
@ApiModelProperty(name = "talkDateTime", value = "谈话时间")
|
||||
private String talkDateTime;
|
||||
@ApiModelProperty(name = "talkPlace", value = "谈话地点")
|
||||
private String talkPlace;
|
||||
@ApiModelProperty(name = "talkContent", value = "谈心谈话内容")
|
||||
private String talkContent;
|
||||
@ApiModelProperty(name = "talkObjOpinion", value = "谈心谈话对象意见")
|
||||
private String talkObjOpinion;
|
||||
@ApiModelProperty(name = "talkObjSign", value = "谈心谈话对象签字")
|
||||
private String talkObjSign;
|
||||
@ApiModelProperty(name = "signDataTime", value = "签字日期")
|
||||
private String signDataTime;
|
||||
|
||||
public String getReportId() {
|
||||
return reportId == null ? "" : reportId;
|
||||
}
|
||||
|
||||
public void setReportId(String reportId) {
|
||||
this.reportId = reportId;
|
||||
}
|
||||
|
||||
public String getDutyIndexLibId() {
|
||||
return dutyIndexLibId == null ? "" : dutyIndexLibId;
|
||||
}
|
||||
|
||||
public void setDutyIndexLibId(String dutyIndexLibId) {
|
||||
this.dutyIndexLibId = dutyIndexLibId;
|
||||
}
|
||||
|
||||
public String getOrgName() {
|
||||
return orgName == null ? "" : orgName;
|
||||
}
|
||||
|
||||
public void setOrgName(String orgName) {
|
||||
this.orgName = orgName;
|
||||
}
|
||||
|
||||
public String getTalkObj() {
|
||||
return talkObj == null ? "" : talkObj;
|
||||
}
|
||||
|
||||
public void setTalkObj(String talkObj) {
|
||||
this.talkObj = talkObj;
|
||||
}
|
||||
|
||||
public String getPoliticalStatus() {
|
||||
return politicalStatus == null ? "" : politicalStatus;
|
||||
}
|
||||
|
||||
public void setPoliticalStatus(String politicalStatus) {
|
||||
this.politicalStatus = politicalStatus;
|
||||
}
|
||||
|
||||
public String getOrgJob() {
|
||||
return orgJob == null ? "" : orgJob;
|
||||
}
|
||||
|
||||
public void setOrgJob(String orgJob) {
|
||||
this.orgJob = orgJob;
|
||||
}
|
||||
|
||||
public String getTalkReason() {
|
||||
return talkReason == null ? "" : talkReason;
|
||||
}
|
||||
|
||||
public void setTalkReason(String talkReason) {
|
||||
this.talkReason = talkReason;
|
||||
}
|
||||
|
||||
public String getTalkPerson() {
|
||||
return talkPerson == null ? "" : talkPerson;
|
||||
}
|
||||
|
||||
public void setTalkPerson(String talkPerson) {
|
||||
this.talkPerson = talkPerson;
|
||||
}
|
||||
|
||||
public String getTalkPersonOrgJob() {
|
||||
return talkPersonOrgJob == null ? "" : talkPersonOrgJob;
|
||||
}
|
||||
|
||||
public void setTalkPersonOrgJob(String talkPersonOrgJob) {
|
||||
this.talkPersonOrgJob = talkPersonOrgJob;
|
||||
}
|
||||
|
||||
public String getNoteTaker() {
|
||||
return noteTaker == null ? "" : noteTaker;
|
||||
}
|
||||
|
||||
public void setNoteTaker(String noteTaker) {
|
||||
this.noteTaker = noteTaker;
|
||||
}
|
||||
|
||||
public String getTalkDateTime() {
|
||||
return talkDateTime == null ? "" : talkDateTime;
|
||||
}
|
||||
|
||||
public void setTalkDateTime(String talkDateTime) {
|
||||
this.talkDateTime = talkDateTime;
|
||||
}
|
||||
|
||||
public String getTalkPlace() {
|
||||
return talkPlace == null ? "" : talkPlace;
|
||||
}
|
||||
|
||||
public void setTalkPlace(String talkPlace) {
|
||||
this.talkPlace = talkPlace;
|
||||
}
|
||||
|
||||
public String getTalkContent() {
|
||||
return talkContent == null ? "" : talkContent;
|
||||
}
|
||||
|
||||
public void setTalkContent(String talkContent) {
|
||||
this.talkContent = talkContent;
|
||||
}
|
||||
|
||||
public String getTalkObjOpinion() {
|
||||
return talkObjOpinion == null ? "" : talkObjOpinion;
|
||||
}
|
||||
|
||||
public void setTalkObjOpinion(String talkObjOpinion) {
|
||||
this.talkObjOpinion = talkObjOpinion;
|
||||
}
|
||||
|
||||
public String getTalkObjSign() {
|
||||
return talkObjSign == null ? "" : talkObjSign;
|
||||
}
|
||||
|
||||
public void setTalkObjSign(String talkObjSign) {
|
||||
this.talkObjSign = talkObjSign;
|
||||
}
|
||||
|
||||
public String getSignDataTime() {
|
||||
return signDataTime == null ? "" : signDataTime;
|
||||
}
|
||||
|
||||
public void setSignDataTime(String signDataTime) {
|
||||
this.signDataTime = signDataTime;
|
||||
}
|
||||
}
|
@ -0,0 +1,163 @@
|
||||
package com.tenlion.twoduty.pojo.dtos.dutylistform;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* 党风廉政建设大会DTO
|
||||
* @author xwangs
|
||||
* @create 2021-03-29 15:58
|
||||
* @description
|
||||
*/
|
||||
public class PartyCleanMeetingDTO {
|
||||
|
||||
@ApiModelProperty(name = "reportId", value = "主键Id")
|
||||
private String reportId;
|
||||
@ApiModelProperty(name = "dutyIndexLibId", value = "责任清单ID")
|
||||
private String dutyIndexLibId;
|
||||
@ApiModelProperty(name = "title", value = "标题")
|
||||
private String title;
|
||||
@ApiModelProperty(name = "meetingTime", value = "会议时间")
|
||||
private String meetingTime;
|
||||
@ApiModelProperty(name = "meetingPlace", value = "会议地点")
|
||||
private String meetingPlace;
|
||||
@ApiModelProperty(name = "meetingHost", value = "会议主持人")
|
||||
private String meetingHost;
|
||||
@ApiModelProperty(name = "noteTaker", value = "记录人")
|
||||
private String noteTaker;
|
||||
@ApiModelProperty(name = "joinPerson", value = "参会人员")
|
||||
private String joinPerson;
|
||||
@ApiModelProperty(name = "joinPersonCount", value = "参会人数")
|
||||
private String joinPersonCount;
|
||||
@ApiModelProperty(name = "meetingContent", value = "会议纪要内容")
|
||||
private String meetingContent;
|
||||
@ApiModelProperty(name = "meetingArrange", value = "会议安排")
|
||||
private String meetingArrange;
|
||||
@ApiModelProperty(name = "meetingAgenda", value = "会议议程")
|
||||
private String meetingAgenda;
|
||||
@ApiModelProperty(name = "hostContent", value = "主持词")
|
||||
private String hostContent;
|
||||
@ApiModelProperty(name = "partySecretaryTalk", value = "党委书记讲话内容")
|
||||
private String partySecretaryTalk;
|
||||
@ApiModelProperty(name = "remarks", value = "备注")
|
||||
private String remarks;
|
||||
|
||||
public String getReportId() {
|
||||
return reportId == null ? "" : reportId;
|
||||
}
|
||||
|
||||
public void setReportId(String reportId) {
|
||||
this.reportId = reportId;
|
||||
}
|
||||
|
||||
public String getDutyIndexLibId() {
|
||||
return dutyIndexLibId == null ? "" : dutyIndexLibId;
|
||||
}
|
||||
|
||||
public void setDutyIndexLibId(String dutyIndexLibId) {
|
||||
this.dutyIndexLibId = dutyIndexLibId;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title == null ? "" : title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getMeetingTime() {
|
||||
return meetingTime == null ? "" : meetingTime;
|
||||
}
|
||||
|
||||
public void setMeetingTime(String meetingTime) {
|
||||
this.meetingTime = meetingTime;
|
||||
}
|
||||
|
||||
public String getMeetingPlace() {
|
||||
return meetingPlace == null ? "" : meetingPlace;
|
||||
}
|
||||
|
||||
public void setMeetingPlace(String meetingPlace) {
|
||||
this.meetingPlace = meetingPlace;
|
||||
}
|
||||
|
||||
public String getMeetingHost() {
|
||||
return meetingHost == null ? "" : meetingHost;
|
||||
}
|
||||
|
||||
public void setMeetingHost(String meetingHost) {
|
||||
this.meetingHost = meetingHost;
|
||||
}
|
||||
|
||||
public String getNoteTaker() {
|
||||
return noteTaker == null ? "" : noteTaker;
|
||||
}
|
||||
|
||||
public void setNoteTaker(String noteTaker) {
|
||||
this.noteTaker = noteTaker;
|
||||
}
|
||||
|
||||
public String getJoinPerson() {
|
||||
return joinPerson == null ? "" : joinPerson;
|
||||
}
|
||||
|
||||
public void setJoinPerson(String joinPerson) {
|
||||
this.joinPerson = joinPerson;
|
||||
}
|
||||
|
||||
public String getJoinPersonCount() {
|
||||
return joinPersonCount == null ? "" : joinPersonCount;
|
||||
}
|
||||
|
||||
public void setJoinPersonCount(String joinPersonCount) {
|
||||
this.joinPersonCount = joinPersonCount;
|
||||
}
|
||||
|
||||
public String getMeetingContent() {
|
||||
return meetingContent == null ? "" : meetingContent;
|
||||
}
|
||||
|
||||
public void setMeetingContent(String meetingContent) {
|
||||
this.meetingContent = meetingContent;
|
||||
}
|
||||
|
||||
public String getMeetingArrange() {
|
||||
return meetingArrange == null ? "" : meetingArrange;
|
||||
}
|
||||
|
||||
public void setMeetingArrange(String meetingArrange) {
|
||||
this.meetingArrange = meetingArrange;
|
||||
}
|
||||
|
||||
public String getMeetingAgenda() {
|
||||
return meetingAgenda == null ? "" : meetingAgenda;
|
||||
}
|
||||
|
||||
public void setMeetingAgenda(String meetingAgenda) {
|
||||
this.meetingAgenda = meetingAgenda;
|
||||
}
|
||||
|
||||
public String getHostContent() {
|
||||
return hostContent == null ? "" : hostContent;
|
||||
}
|
||||
|
||||
public void setHostContent(String hostContent) {
|
||||
this.hostContent = hostContent;
|
||||
}
|
||||
|
||||
public String getPartySecretaryTalk() {
|
||||
return partySecretaryTalk == null ? "" : partySecretaryTalk;
|
||||
}
|
||||
|
||||
public void setPartySecretaryTalk(String partySecretaryTalk) {
|
||||
this.partySecretaryTalk = partySecretaryTalk;
|
||||
}
|
||||
|
||||
public String getRemarks() {
|
||||
return remarks == null ? "" : remarks;
|
||||
}
|
||||
|
||||
public void setRemarks(String remarks) {
|
||||
this.remarks = remarks;
|
||||
}
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.tenlion.twoduty.pojo.vos.dutylistform;
|
||||
|
||||
import com.tenlion.twoduty.pojo.dtos.dutylistform.PartyCleanMeetingDTO;
|
||||
|
||||
/**
|
||||
* 党风廉政建设大会VO
|
||||
* @author xwangs
|
||||
* @create 2021-03-29 16:26
|
||||
* @description
|
||||
*/
|
||||
public class PartyCleanMeetingVO extends PartyCleanMeetingDTO {
|
||||
|
||||
}
|
@ -0,0 +1,83 @@
|
||||
package com.tenlion.twoduty.service.dutylistform;
|
||||
|
||||
import com.tenlion.twoduty.pojo.dtos.dutylistform.HeartTalkDTO;
|
||||
import com.tenlion.twoduty.pojo.dtos.dutylistform.PartyCleanMeetingDTO;
|
||||
import com.tenlion.twoduty.pojo.vos.dutylistform.PartyCleanMeetingVO;
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.result.SuccessResultData;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author xwangs
|
||||
* @create 2021-03-29 15:33
|
||||
* @description
|
||||
*/
|
||||
public interface IDutyListFormService {
|
||||
|
||||
/**
|
||||
* 党风廉政大会分页列表
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
SuccessResultList<List<PartyCleanMeetingDTO>> listPagePartyCleanMeeting(ListPage page);
|
||||
|
||||
/**
|
||||
* 党风廉政大会详情
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
PartyCleanMeetingDTO getPartyCleanMeeting(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 新增党风廉政大会
|
||||
* @param partyCleanMeetingVO
|
||||
*/
|
||||
void savePartyCleanMeeting(PartyCleanMeetingVO partyCleanMeetingVO) throws Exception;
|
||||
|
||||
/**
|
||||
* 修改党风廉政大会
|
||||
* @param partyCleanMeetingVO
|
||||
*/
|
||||
void updatePartyCleanMeeting(PartyCleanMeetingVO partyCleanMeetingVO);
|
||||
|
||||
/**
|
||||
* 删除党风廉政大会
|
||||
* @param idsList
|
||||
*/
|
||||
void removePartyCleanMeeting(List<String> idsList);
|
||||
|
||||
/**
|
||||
* 谈心谈话分页列表
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
SuccessResultList<List<HeartTalkDTO>> listPageHeartTalk(ListPage page);
|
||||
|
||||
/**
|
||||
* 谈心谈话详情
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
HeartTalkDTO getHeartTalk(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 谈心谈话新增
|
||||
* @param heartTalkDTO
|
||||
*/
|
||||
void saveHeartTalk(HeartTalkDTO heartTalkDTO);
|
||||
|
||||
/**
|
||||
* 谈心谈话修改
|
||||
* @param heartTalkDTO
|
||||
*/
|
||||
void updateHeartTalk(HeartTalkDTO heartTalkDTO);
|
||||
|
||||
/**
|
||||
* 谈心谈话删除
|
||||
* @param asList
|
||||
*/
|
||||
void removeHeartTalk(List<String> asList);
|
||||
}
|
@ -0,0 +1,103 @@
|
||||
package com.tenlion.twoduty.service.dutylistform.impl;
|
||||
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.tenlion.twoduty.dao.dutylistform.IDutyListFormDao;
|
||||
import com.tenlion.twoduty.pojo.dtos.dutylistform.HeartTalkDTO;
|
||||
import com.tenlion.twoduty.pojo.dtos.dutylistform.PartyCleanMeetingDTO;
|
||||
import com.tenlion.twoduty.pojo.vos.dutylistform.PartyCleanMeetingVO;
|
||||
import com.tenlion.twoduty.service.dutylistform.IDutyListFormService;
|
||||
import ink.wgink.common.base.DefaultBaseService;
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
import ink.wgink.util.UUIDUtil;
|
||||
import ink.wgink.util.map.HashMapUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author xwangs
|
||||
* @create 2021-03-29 15:34
|
||||
* @description
|
||||
*/
|
||||
@Service
|
||||
public class DutyListFormServiceImpl extends DefaultBaseService implements IDutyListFormService {
|
||||
|
||||
@Autowired
|
||||
private IDutyListFormDao dutyListFormDao;
|
||||
|
||||
@Override
|
||||
public SuccessResultList<List<PartyCleanMeetingDTO>> listPagePartyCleanMeeting(ListPage page) {
|
||||
PageHelper.startPage(page.getPage(), page.getRows());
|
||||
List<PartyCleanMeetingDTO> dtoList = dutyListFormDao.listPartyCleanMeeting(page.getParams());
|
||||
PageInfo<PartyCleanMeetingDTO> pageInfo = new PageInfo<>(dtoList);
|
||||
return new SuccessResultList<>(dtoList,pageInfo.getPageNum(),pageInfo.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PartyCleanMeetingDTO getPartyCleanMeeting(Map<String, Object> params) {
|
||||
return dutyListFormDao.getPartyCleanMeeting(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void savePartyCleanMeeting(PartyCleanMeetingVO partyCleanMeetingVO) {
|
||||
Map<String,Object> params = HashMapUtil.beanToMap(partyCleanMeetingVO);
|
||||
String id = UUIDUtil.getUUID();
|
||||
params.put("reportId",id);
|
||||
setSaveInfo(params);
|
||||
dutyListFormDao.savePartyCleanMeeting(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePartyCleanMeeting(PartyCleanMeetingVO partyCleanMeetingVO) {
|
||||
Map<String,Object> params = HashMapUtil.beanToMap(partyCleanMeetingVO);
|
||||
setUpdateInfo(params);
|
||||
dutyListFormDao.updatePartyCleanMeeting(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removePartyCleanMeeting(List<String> idsList) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("ids", idsList);
|
||||
dutyListFormDao.removePartyCleanMeeting(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SuccessResultList<List<HeartTalkDTO>> listPageHeartTalk(ListPage page) {
|
||||
PageHelper.startPage(page.getPage(), page.getRows());
|
||||
List<HeartTalkDTO> dtoList = dutyListFormDao.listHeartTalk(page.getParams());
|
||||
PageInfo<HeartTalkDTO> pageInfo = new PageInfo<>(dtoList);
|
||||
return new SuccessResultList<>(dtoList,pageInfo.getPageNum(),pageInfo.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public HeartTalkDTO getHeartTalk(Map<String, Object> params) {
|
||||
return dutyListFormDao.getHeartTalk(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveHeartTalk(HeartTalkDTO heartTalkDTO) {
|
||||
Map<String,Object> params = HashMapUtil.beanToMap(heartTalkDTO);
|
||||
String id = UUIDUtil.getUUID();
|
||||
params.put("reportId",id);
|
||||
setSaveInfo(params);
|
||||
dutyListFormDao.saveHeartTalk(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateHeartTalk(HeartTalkDTO heartTalkDTO) {
|
||||
Map<String,Object> params = HashMapUtil.beanToMap(heartTalkDTO);
|
||||
setUpdateInfo(params);
|
||||
dutyListFormDao.updateHeartTalk(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHeartTalk(List<String> asList) {
|
||||
Map<String, Object> params = getHashMap(2);
|
||||
params.put("ids", asList);
|
||||
dutyListFormDao.removeHeartTalk(params);
|
||||
}
|
||||
}
|
@ -0,0 +1,252 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.tenlion.twoduty.dao.dutylistform.IDutyListFormDao">
|
||||
|
||||
<!--=========党风廉政大会============-->
|
||||
<resultMap id="partyCleanMeetingDTO" type="com.tenlion.twoduty.pojo.dtos.dutylistform.PartyCleanMeetingDTO">
|
||||
<result column="report_id" property="reportId"/>
|
||||
<result column="duty_index_lib_id" property="dutyIndexLibId"/>
|
||||
<result column="title" property="title"/>
|
||||
<result column="meeting_time" property="meetingTime"/>
|
||||
<result column="meeting_place" property="meetingPlace"/>
|
||||
<result column="meeting_host" property="meetingHost"/>
|
||||
<result column="note_taker" property="noteTaker"/>
|
||||
<result column="join_person" property="joinPerson"/>
|
||||
<result column="join_person_count" property="joinPersonCount"/>
|
||||
<result column="meeting_content" property="meetingContent"/>
|
||||
<result column="meeting_arrange" property="meetingArrange"/>
|
||||
<result column="meeting_agenda" property="meetingAgenda"/>
|
||||
<result column="host_content" property="hostContent"/>
|
||||
<result column="party_secretary_talk" property="partySecretaryTalk"/>
|
||||
<result column="remarks" property="remarks"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="listPartyCleanMeeting" parameterType="map" resultMap="partyCleanMeetingDTO">
|
||||
SELECT t1.* FROM t_party_clean_meeting t1
|
||||
WHERE
|
||||
t1.is_delete = '0'
|
||||
<if test="dutyIndexLibId != null and dutyIndexLibId != ''">
|
||||
AND t1.duty_index_lib_id = #{dutyIndexLibId}
|
||||
</if>
|
||||
<if test="keywords != null and keywords != ''">
|
||||
AND (
|
||||
t1.title LIKE CONCAT('%', #{keywords}, '%')
|
||||
)
|
||||
</if>
|
||||
<if test="startTime != null and startTime != ''">
|
||||
AND LEFT(t1.meeting_time, 10) <![CDATA[ >= ]]> #{startTime}
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
AND LEFT(t1.meeting_time, 10) <![CDATA[ <= ]]> #{endTime}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getPartyCleanMeeting" parameterType="map" resultMap="partyCleanMeetingDTO">
|
||||
SELECT t1.* FROM t_party_clean_meeting t1
|
||||
WHERE
|
||||
t1.is_delete = '0'
|
||||
AND t1.report_id = #{reportId}
|
||||
</select>
|
||||
|
||||
<insert id="savePartyCleanMeeting" parameterType="map">
|
||||
INSERT INTO t_party_clean_meeting (
|
||||
report_id,duty_index_lib_id,title,meeting_time,meeting_place,meeting_host,note_taker,
|
||||
join_person,join_person_count,meeting_content,meeting_arrange,meeting_agenda,host_content,
|
||||
party_secretary_talk,remarks,creator,gmt_create,modifier,gmt_modified,is_delete
|
||||
) VALUES (
|
||||
#{reportId},#{dutyIndexLibId},#{title},#{meetingTime},#{meetingPlace},#{meetingHost},#{noteTaker},
|
||||
#{joinPerson},#{joinPersonCount},#{meetingContent},#{meetingArrange},#{meetingAgenda},#{hostContent},
|
||||
#{partySecretaryTalk},#{remarks},#{creator},#{gmtCreate},#{modifier},#{gmtModified},#{isDelete}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updatePartyCleanMeeting" parameterType="map">
|
||||
UPDATE t_party_clean_meeting SET
|
||||
<if test="dutyIndexLibId != null and dutyIndexLibId != ''">
|
||||
duty_index_lib_id = #{dutyIndexLibId},
|
||||
</if>
|
||||
<if test="title != null and title != ''">
|
||||
title = #{title},
|
||||
</if>
|
||||
<if test="meetingTime != null and meetingTime != ''">
|
||||
meeting_time = #{meetingTime},
|
||||
</if>
|
||||
<if test="meetingPlace != null and meetingPlace != ''">
|
||||
meeting_place = #{meetingPlace},
|
||||
</if>
|
||||
<if test="meetingHost != null and meetingHost != ''">
|
||||
meeting_host = #{meetingHost},
|
||||
</if>
|
||||
<if test="noteTaker != null and noteTaker != ''">
|
||||
note_taker = #{noteTaker},
|
||||
</if>
|
||||
<if test="joinPerson != null and joinPerson != ''">
|
||||
join_person = #{joinPerson},
|
||||
</if>
|
||||
<if test="joinPersonCount != null and joinPersonCount != ''">
|
||||
join_person_count = #{joinPersonCount},
|
||||
</if>
|
||||
<if test="meetingContent != null and meetingContent != ''">
|
||||
meeting_content = #{meetingContent},
|
||||
</if>
|
||||
<if test="meetingArrange != null and meetingArrange != ''">
|
||||
meeting_arrange = #{meetingArrange},
|
||||
</if>
|
||||
<if test="meetingAgenda != null and meetingAgenda != ''">
|
||||
meeting_agenda = #{meetingAgenda},
|
||||
</if>
|
||||
<if test="hostContent != null and hostContent != ''">
|
||||
host_content = #{hostContent},
|
||||
</if>
|
||||
<if test="partySecretaryTalk != null and partySecretaryTalk != ''">
|
||||
party_secretary_talk = #{partySecretaryTalk},
|
||||
</if>
|
||||
<if test="remarks != null and remarks != ''">
|
||||
remarks = #{remarks},
|
||||
</if>
|
||||
<if test="gmtModified != null and gmtModified != ''">
|
||||
gmt_modified = #{gmtModified},
|
||||
</if>
|
||||
<if test="modifier != null and modifier != ''">
|
||||
modifier = #{modifier}
|
||||
</if>
|
||||
WHERE report_id = #{reportId}
|
||||
</update>
|
||||
|
||||
<update id="removePartyCleanMeeting" parameterType="map">
|
||||
UPDATE t_party_clean_meeting SET
|
||||
is_delete = 1
|
||||
WHERE
|
||||
report_id IN
|
||||
<foreach collection="ids" index="index" open="(" separator="," close=")">
|
||||
#{ids[${index}]}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<!--=========谈心谈话============-->
|
||||
<resultMap id="heartTalkDTO" type="com.tenlion.twoduty.pojo.dtos.dutylistform.HeartTalkDTO">
|
||||
<result column="report_id" property="reportId"/>
|
||||
<result column="duty_index_lib_id" property="dutyIndexLibId"/>
|
||||
<result column="org_name" property="orgName"/>
|
||||
<result column="talk_obj" property="talkObj"/>
|
||||
<result column="political_status" property="politicalStatus"/>
|
||||
<result column="org_job" property="orgJob"/>
|
||||
<result column="talk_reason" property="talkReason"/>
|
||||
<result column="talk_person" property="talkPerson"/>
|
||||
<result column="talk_person_org_job" property="talkPersonOrgJob"/>
|
||||
<result column="note_taker" property="noteTaker"/>
|
||||
<result column="talk_date_time" property="talkDateTime"/>
|
||||
<result column="talk_place" property="talkPlace"/>
|
||||
<result column="talk_content" property="talkContent"/>
|
||||
<result column="talk_obj_opinion" property="talkObjOpinion"/>
|
||||
<result column="talk_obj_sign" property="talkObjSign"/>
|
||||
<result column="sign_data_time" property="signDataTime"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="listHeartTalk" parameterType="map" resultMap="heartTalkDTO">
|
||||
SELECT t1.* FROM t_heart_talk t1
|
||||
WHERE
|
||||
t1.is_delete = '0'
|
||||
<if test="dutyIndexLibId != null and dutyIndexLibId != ''">
|
||||
AND t1.duty_index_lib_id = #{dutyIndexLibId}
|
||||
</if>
|
||||
<if test="keywords != null and keywords != ''">
|
||||
AND (
|
||||
t1.org_name LIKE CONCAT('%', #{keywords}, '%')
|
||||
OR
|
||||
t1.talk_obj LIKE CONCAT('%', #{keywords}, '%')
|
||||
)
|
||||
</if>
|
||||
<if test="startTime != null and startTime != ''">
|
||||
AND LEFT(t1.talk_date_time, 10) <![CDATA[ >= ]]> #{startTime}
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
AND LEFT(t1.talk_date_time, 10) <![CDATA[ <= ]]> #{endTime}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getHeartTalk" parameterType="map" resultMap="heartTalkDTO">
|
||||
SELECT t1.* FROM t_heart_talk t1
|
||||
WHERE
|
||||
t1.is_delete = '0'
|
||||
AND t1.report_id = #{reportId}
|
||||
</select>
|
||||
|
||||
<insert id="saveHeartTalk" parameterType="map">
|
||||
INSERT INTO t_heart_talk (
|
||||
report_id,duty_index_lib_id,org_name,talk_obj,political_status,org_job,talk_reason,
|
||||
talk_person,talk_person_org_job,note_taker,talk_date_time,talk_place,talk_content,
|
||||
talk_obj_opinion,talk_obj_sign,sign_data_time,creator,gmt_create,modifier,gmt_modified,is_delete
|
||||
) VALUES (
|
||||
#{reportId},#{dutyIndexLibId},#{orgName},#{talkObj},#{politicalStatus},#{orgJob},#{talkReason},
|
||||
#{talkPerson},#{talkPersonOrgJob},#{noteTaker},#{talkDateTime},#{talkPlace},#{talkContent},
|
||||
#{talkObjOpinion},#{talkObjSign},#{signDataTime},#{creator},#{gmtCreate},#{modifier},#{gmtModified},#{isDelete}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateHeartTalk" parameterType="map">
|
||||
UPDATE t_heart_talk SET
|
||||
<if test="dutyIndexLibId != null and dutyIndexLibId != ''">
|
||||
duty_index_lib_id = #{dutyIndexLibId},
|
||||
</if>
|
||||
<if test="orgName != null and orgName != ''">
|
||||
org_name = #{orgName},
|
||||
</if>
|
||||
<if test="talkObj != null and talkObj != ''">
|
||||
talk_obj = #{talkObj},
|
||||
</if>
|
||||
<if test="politicalStatus != null and politicalStatus != ''">
|
||||
political_status = #{politicalStatus},
|
||||
</if>
|
||||
<if test="orgJob != null and orgJob != ''">
|
||||
org_job = #{orgJob},
|
||||
</if>
|
||||
<if test="talkReason != null and talkReason != ''">
|
||||
talk_reason = #{talkReason},
|
||||
</if>
|
||||
<if test="talkPerson != null and talkPerson != ''">
|
||||
talk_person = #{talkPerson},
|
||||
</if>
|
||||
<if test="talkPersonOrgJob != null and talkPersonOrgJob != ''">
|
||||
talk_person_org_job = #{talkPersonOrgJob},
|
||||
</if>
|
||||
<if test="noteTaker != null and noteTaker != ''">
|
||||
note_taker = #{noteTaker},
|
||||
</if>
|
||||
<if test="talkDateTime != null and talkDateTime != ''">
|
||||
talk_date_time = #{talkDateTime},
|
||||
</if>
|
||||
<if test="talkPlace != null and talkPlace != ''">
|
||||
talk_place = #{talkPlace},
|
||||
</if>
|
||||
<if test="talkContent != null and talkContent != ''">
|
||||
talk_content = #{talkContent},
|
||||
</if>
|
||||
<if test="talkObjOpinion != null and talkObjOpinion != ''">
|
||||
talk_obj_opinion = #{talkObjOpinion},
|
||||
</if>
|
||||
<if test="talkObjSign != null and talkObjSign != ''">
|
||||
talk_obj_sign = #{talkObjSign},
|
||||
</if>
|
||||
<if test="signDataTime != null and signDataTime != ''">
|
||||
sign_data_time = #{signDataTime},
|
||||
</if>
|
||||
<if test="gmtModified != null and gmtModified != ''">
|
||||
gmt_modified = #{gmtModified},
|
||||
</if>
|
||||
<if test="modifier != null and modifier != ''">
|
||||
modifier = #{modifier}
|
||||
</if>
|
||||
WHERE report_id = #{reportId}
|
||||
</update>
|
||||
|
||||
<update id="removeHeartTalk" parameterType="map">
|
||||
UPDATE t_heart_talk SET
|
||||
is_delete = 1
|
||||
WHERE
|
||||
report_id IN
|
||||
<foreach collection="ids" index="index" open="(" separator="," close=")">
|
||||
#{ids[${index}]}
|
||||
</foreach>
|
||||
</update>
|
||||
</mapper>
|
357
src/main/resources/static/route/hearttalk/edit-heart-talk.html
Normal file
357
src/main/resources/static/route/hearttalk/edit-heart-talk.html
Normal file
@ -0,0 +1,357 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/twoduty/">
|
||||
<meta charset="utf-8">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||
<link rel="stylesheet" type="text/css" href="assets/js/vendor/viewer/viewer.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-fluid layui-anim layui-anim-fadein">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
<span class="layui-breadcrumb" lay-filter="breadcrumb" style="visibility: visible;">
|
||||
<a class="close" href="javascript:void(0);">返回列表</a><span lay-separator="">/</span>
|
||||
<a href="javascript:void(0);"><cite>编辑谈心谈话</cite></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 15px;">
|
||||
<form class="layui-form layui-form-pane" lay-filter="dataForm">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">单位名称<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="orgName" name="orgName" class="layui-input" value="" autocomplete="off" placeholder="请填写单位名称" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="font-size: 12px">谈心谈话对象</span><span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="talkObj" name="talkObj" class="layui-input" value="" autocomplete="off" placeholder="请填写谈心谈话对象" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">政治面貌<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="politicalStatus" name="politicalStatus" class="layui-input" value="" autocomplete="off" placeholder="请填写政治面貌" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">单位职务<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="orgJob" name="orgJob" class="layui-input" value="" autocomplete="off" placeholder="请填写单位职务" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">谈心谈话原因<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="talkReason" name="talkReason" value="" placeholder="谈心谈话原因"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">谈话人<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="talkPerson" name="talkPerson" class="layui-input" value="" autocomplete="off" placeholder="请填写谈话人" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">单位职务<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="talkPersonOrgJob" name="talkPersonOrgJob" class="layui-input" value="" autocomplete="off" placeholder="请填写单位职务" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">谈话时间<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="talkDateTime" name="talkDateTime" class="layui-input" value=""
|
||||
style="cursor: pointer" placeholder="请选择谈话时间" readonly="readonly" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">谈话地点<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="talkPlace" name="talkPlace" class="layui-input" value="" autocomplete="off" placeholder="请填写谈话地点" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">记录人<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="noteTaker" name="noteTaker" class="layui-input" value="" autocomplete="off" placeholder="请填写记录人" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">谈心谈话内容<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" rows="8" id="talkContent" name="talkContent" value="" placeholder="谈心谈话内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">谈心谈话对象意见<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="talkObjOpinion" name="talkObjOpinion" value="" placeholder="谈心谈话对象意见"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">签字</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="hidden" id="talkObjSign" name="talkObjSign">
|
||||
<div class="layui-btn-container" id="talkObjSignFileBox" style="border: 1px solid #e6e6e6;"></div>
|
||||
<script id="talkObjSignFileDownload" type="text/html">
|
||||
{{# var fileName = 'talkObjSign'; }}
|
||||
{{# if(d[fileName].length > 0) { }}
|
||||
{{# var files = d[fileName];}}
|
||||
{{# for(var i = 0, item = files[i]; item = files[i++];) { }}
|
||||
<div class="upload-image-box">
|
||||
<span class="upload-image-span">
|
||||
<img src="route/file/download/false/{{item.fileId}}" align="加载失败">
|
||||
</span>
|
||||
<a class="layui-btn layui-btn-xs layui-btn-danger text-danger remove-image" href="javascript:void(0);" lay-form-button data-id="{{item.fileId}}" data-name="{{fileName}}" lay-filter="talkObjSignRemoveFile">
|
||||
<i class="fa fa-trash-o"></i>
|
||||
</a>
|
||||
</div>
|
||||
{{# } }}
|
||||
{{# } }}
|
||||
{{# if(d[fileName].length < 1) { }}
|
||||
<div class="upload-image-box" style="width: auto; height: auto; padding: 5px;">
|
||||
<a href="javascript:void(0);" lay-form-button data-explain="附加图片" data-name="talkObjSign" lay-filter="talkObjSignUploadFile">
|
||||
<i class="fa fa-plus-square-o" style="font-size: 70px;"></i>
|
||||
</a>
|
||||
</div>
|
||||
{{# } }}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">签字时间<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="signDataTime" name="signDataTime" class="layui-input" value=""
|
||||
style="cursor: pointer" placeholder="请选择签字时间" readonly="readonly" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-layout-admin">
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-footer" style="left: 0;">
|
||||
<button type="button" class="layui-btn" lay-submit lay-filter="submitForm">提交新增</button>
|
||||
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
||||
<script>
|
||||
layui.config({
|
||||
base: 'assets/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index', 'form', 'laydate', 'laytpl'], function(){
|
||||
var $ = layui.$;
|
||||
var form = layui.form;
|
||||
var laytpl = layui.laytpl;
|
||||
var laydate = layui.laydate;
|
||||
var viewerObj = {};
|
||||
var id = top.restAjax.params(window.location.href).id;
|
||||
|
||||
// 初始化内容
|
||||
function initData() {
|
||||
laydate.render({
|
||||
elem: '#talkDateTime',
|
||||
type: 'datetime',
|
||||
trigger: 'click'
|
||||
})
|
||||
laydate.render({
|
||||
elem: '#signDataTime',
|
||||
type: 'datetime',
|
||||
trigger: 'click'
|
||||
})
|
||||
getFormData();
|
||||
}
|
||||
initData();
|
||||
|
||||
function getFormData(){
|
||||
var loadLayerIndexl;
|
||||
top.restAjax.get(top.restAjax.path('api/dutylistform/gethearttalk/{id}', [id]), {}, null, function(code, data) {
|
||||
var dataFormData = {};
|
||||
for(var i in data) {
|
||||
dataFormData[i] = data[i] +'';
|
||||
}
|
||||
form.val('dataForm', dataFormData);
|
||||
form.render(null, 'dataForm');
|
||||
initTalkObjSignUploadFile();
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
}, function() {
|
||||
loadLayerIndex = top.dialog.msg(top.dataMessage.loading, {icon: 16, time: 0, shade: 0.3});
|
||||
}, function() {
|
||||
top.dialog.close(loadLayerIndex);
|
||||
});
|
||||
}
|
||||
|
||||
// 初始化附加图片图片上传
|
||||
function initTalkObjSignUploadFile() {
|
||||
var files = $('#talkObjSign').val();
|
||||
initFileList('talkObjSign', files, function(fileName) {
|
||||
var viewer = new Viewer(document.getElementById(fileName +'FileBox'), {navbar: false});
|
||||
viewerObj[fileName] = viewer;
|
||||
});
|
||||
|
||||
form.on('button(talkObjSignUploadFile)', function(obj) {
|
||||
var name = this.dataset.name;
|
||||
var explain = this.dataset.explain;
|
||||
top.dialog.file({
|
||||
type: 'image',
|
||||
title: '上传'+ explain,
|
||||
width: '400px',
|
||||
height: '420px',
|
||||
maxFileCount: '1',
|
||||
onClose: function() {
|
||||
var uploadFileArray = top.dialog.dialogData.uploadFileArray;
|
||||
if(typeof(uploadFileArray) != 'undefined' && uploadFileArray.length > 0) {
|
||||
var files = $('#'+ name).val();
|
||||
for(var j = 0, file = uploadFileArray[j]; file = uploadFileArray[j++];) {
|
||||
if(files.length > 0) {
|
||||
files += ',';
|
||||
}
|
||||
files += file.data;
|
||||
}
|
||||
initFileList(name, files, function(fileName) {
|
||||
viewerObj[fileName].update();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
form.on('button(talkObjSignRemoveFile)', function(obj) {
|
||||
var name = this.dataset.name;
|
||||
var id = this.dataset.id;
|
||||
var files = $('#'+ name).val().replace(id, '');
|
||||
files = files.replace(/\,+/g, ',');
|
||||
if(files.charAt(0) == ',') {
|
||||
files = files.substring(1);
|
||||
}
|
||||
if(files.charAt(files.length - 1) == ',') {
|
||||
files = files.substring(0, files.length - 1);
|
||||
}
|
||||
initFileList(name, files, function(fileName) {
|
||||
viewerObj[fileName].update();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 初始化文件列表
|
||||
function initFileList(fileName, ids, callback) {
|
||||
var dataForm = {};
|
||||
dataForm[fileName] = ids;
|
||||
form.val('dataForm', dataForm);
|
||||
|
||||
if(!ids) {
|
||||
refreshDownloadTemplet(fileName, []);
|
||||
if(callback) {
|
||||
callback(fileName, []);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
top.restAjax.get(top.restAjax.path('api/file/list', []), {
|
||||
ids: ids
|
||||
}, null, function(code, data) {
|
||||
refreshDownloadTemplet(fileName, data);
|
||||
if(callback) {
|
||||
callback(fileName, data);
|
||||
}
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
});
|
||||
}
|
||||
|
||||
function refreshDownloadTemplet(fileName, file) {
|
||||
var dataRander = {};
|
||||
dataRander[fileName] = file;
|
||||
|
||||
laytpl(document.getElementById(fileName +'FileDownload').innerHTML).render(dataRander, function(html) {
|
||||
document.getElementById(fileName +'FileBox').innerHTML = html;
|
||||
});
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
form.on('submit(submitForm)', function(formData) {
|
||||
top.dialog.confirm(top.dataMessage.commit, function(index) {
|
||||
top.dialog.close(index);
|
||||
var loadLayerIndex;
|
||||
top.restAjax.put(top.restAjax.path('api/dutylistform/updatehearttalk/{id}', [id]), formData.field, null, function(code, data) {
|
||||
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
|
||||
time: 0,
|
||||
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
||||
shade: 0.3,
|
||||
yes: function(index) {
|
||||
top.dialog.close(index);
|
||||
window.location.reload();
|
||||
},
|
||||
btn2: function() {
|
||||
closeBox();
|
||||
}
|
||||
});
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
}, function() {
|
||||
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
|
||||
}, function() {
|
||||
top.dialog.close(loadLayerIndex);
|
||||
});
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
function closeBox() {
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||
}
|
||||
|
||||
$('.close').on('click', function() {
|
||||
closeBox();
|
||||
});
|
||||
|
||||
// 校验
|
||||
form.verify({
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
358
src/main/resources/static/route/hearttalk/list-heart-talk.html
Normal file
358
src/main/resources/static/route/hearttalk/list-heart-talk.html
Normal file
@ -0,0 +1,358 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/twoduty/">
|
||||
<meta charset="utf-8">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-fluid layui-anim layui-anim-fadein">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="keywords" class="layui-input search-item" autocomplete="off" placeholder="输入关键字">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="startTime" class="layui-input search-item" style="cursor: pointer" placeholder="谈话时间始" readonly>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="endTime" class="layui-input search-item" style="cursor: pointer" placeholder="谈话时间止" readonly>
|
||||
</div>
|
||||
<button type="button" id="search" class="layui-btn layui-btn-sm">
|
||||
<i class="fa fa-lg fa-search"></i> 搜索
|
||||
</button>
|
||||
</div>
|
||||
<!-- 表头按钮组 -->
|
||||
<script type="text/html" id="headerToolBar">
|
||||
<div class="layui-btn-group">
|
||||
<button type="button" class="layui-btn layui-btn-sm" lay-event="saveEvent">
|
||||
<i class="fa fa-lg fa-plus"></i> 新增
|
||||
</button>
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm" lay-event="updateEvent">
|
||||
<i class="fa fa-lg fa-edit"></i> 编辑
|
||||
</button>
|
||||
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm" lay-event="removeEvent">
|
||||
<i class="fa fa-lg fa-trash"></i> 删除
|
||||
</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
||||
<script>
|
||||
layui.config({
|
||||
base: 'assets/layuiadmin/'
|
||||
}).extend({
|
||||
index: 'lib/index'
|
||||
}).use(['index', 'table', 'laydate', 'common'], function() {
|
||||
var $ = layui.$;
|
||||
var $win = $(window);
|
||||
var table = layui.table;
|
||||
var admin = layui.admin;
|
||||
var laydate = layui.laydate;
|
||||
var common = layui.common;
|
||||
var resizeTimeout = null;
|
||||
var dutyIndexLibId = top.restAjax.params(window.location.href).dutyIndexLibId;
|
||||
if(typeof (dutyIndexLibId) === 'undefined'){
|
||||
dutyIndexLibId = '';
|
||||
}
|
||||
var tableUrl = 'api/dutylistform/listpagehearttalk?dutyIndexLibId=' + dutyIndexLibId;
|
||||
|
||||
function initData() {
|
||||
// 查询条件日期初始化
|
||||
laydate.render({
|
||||
elem: '#startTime',
|
||||
format: 'yyyy-MM-dd'
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#endTime',
|
||||
format: 'yyyy-MM-dd'
|
||||
});
|
||||
initTable()
|
||||
|
||||
}
|
||||
initData();
|
||||
|
||||
// 初始化表格
|
||||
function initTable() {
|
||||
table.render({
|
||||
elem: '#dataTable',
|
||||
id: 'dataTable',
|
||||
url: top.restAjax.path(tableUrl, []),
|
||||
width: admin.screen() > 1 ? '100%' : '',
|
||||
height: $win.height() - 90,
|
||||
limit: 20,
|
||||
limits: [20, 40, 60, 80, 100, 200],
|
||||
toolbar: '#headerToolBar',
|
||||
request: {
|
||||
pageName: 'page',
|
||||
limitName: 'rows'
|
||||
},
|
||||
cols: [
|
||||
[
|
||||
{type:'checkbox', fixed: 'left'},
|
||||
{field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '<span>{{d.LAY_INDEX}}</span>'},
|
||||
{field: 'orgName', width: 150, title: '单位名称', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData === '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'talkObj', width: 150, title: '谈心谈话对象', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData === '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'politicalStatus', width: 150, title: '政治面貌', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'orgJob', width: 180, title: '单位职务', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'talkReason', width: 180, title: '谈心谈话原因', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'talkPerson', width: 180, title: '谈话人', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'talkPersonOrgJob', width: 180, title: '谈话人单位职务', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'noteTaker', width: 180, title: '记录人', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'talkDateTime', width: 180, title: '谈话时间', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'talkPlace', width: 180, title: '谈话地点', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'talkContent', width: 180, title: '谈心谈话内容', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'talkObjOpinion', width: 200, title: '谈心谈话对象意见', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'talkObjSign', width: 200, title: '谈心谈话对象签字', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'signDataTime', width: 200, title: '签字日期', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
]
|
||||
],
|
||||
page: true,
|
||||
parseData: function(data) {
|
||||
return {
|
||||
'code': 0,
|
||||
'msg': '',
|
||||
'count': data.total,
|
||||
'data': data.rows
|
||||
};
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 重载表格
|
||||
function reloadTable(currentPage) {
|
||||
table.reload('dataTable', {
|
||||
url: top.restAjax.path(tableUrl, []),
|
||||
where: {
|
||||
keywords: $('#keywords').val(),
|
||||
startTime: $('#startTime').val(),
|
||||
endTime: $('#endTime').val()
|
||||
},
|
||||
page: {
|
||||
curr: currentPage
|
||||
},
|
||||
height: $win.height() - 90,
|
||||
});
|
||||
}
|
||||
|
||||
// 事件 - 增删改
|
||||
table.on('toolbar(dataTable)', function(obj) {
|
||||
var layEvent = obj.event;
|
||||
var checkStatus = table.checkStatus('dataTable');
|
||||
var checkDatas = checkStatus.data;
|
||||
if(layEvent === 'saveEvent') {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: false,
|
||||
closeBtn: 0,
|
||||
area: ['100%', '100%'],
|
||||
shadeClose: true,
|
||||
anim: 2,
|
||||
content: top.restAjax.path('route/hearttalk/save-heart-talk.html?dutyIndexLibId={dutyIndexLibId}',
|
||||
[dutyIndexLibId]),
|
||||
end: function() {
|
||||
reloadTable();
|
||||
}
|
||||
});
|
||||
} else if(layEvent === 'updateEvent') {
|
||||
if(checkDatas.length === 0) {
|
||||
top.dialog.msg(top.dataMessage.table.selectEdit);
|
||||
} else if(checkDatas.length > 1) {
|
||||
top.dialog.msg(top.dataMessage.table.selectOneEdit);
|
||||
} else {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: false,
|
||||
closeBtn: 0,
|
||||
area: ['100%', '100%'],
|
||||
shadeClose: true,
|
||||
anim: 2,
|
||||
content: top.restAjax.path('route/hearttalk/edit-heart-talk.html?id={id}',
|
||||
[checkDatas[0].reportId]),
|
||||
end: function() {
|
||||
reloadTable();
|
||||
}
|
||||
});
|
||||
}
|
||||
} else if(layEvent === 'removeEvent') {
|
||||
if(checkDatas.length === 0) {
|
||||
top.dialog.msg(top.dataMessage.table.selectDelete);
|
||||
} else {
|
||||
var ids = '';
|
||||
for(var i = 0, item; item = checkDatas[i++];) {
|
||||
if(i > 1) {
|
||||
ids += '_';
|
||||
}
|
||||
ids += item['reportId'];
|
||||
}
|
||||
removeData(ids);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 删除
|
||||
function removeData(ids) {
|
||||
top.dialog.msg(top.dataMessage.delete, {
|
||||
time: 0,
|
||||
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
||||
shade: 0.3,
|
||||
yes: function (index) {
|
||||
top.dialog.close(index);
|
||||
var layIndex;
|
||||
top.restAjax.delete(top.restAjax.path('api/dutylistform/removehearttalk/{ids}', [ids]), {}, null, function (code, data) {
|
||||
top.dialog.msg(top.dataMessage.deleteSuccess, {time: 1000});
|
||||
reloadTable();
|
||||
}, function (code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
}, function () {
|
||||
layIndex = top.dialog.msg(top.dataMessage.deleting, {icon: 16, time: 0, shade: 0.3});
|
||||
}, function () {
|
||||
top.dialog.close(layIndex);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 事件 - 页面变化
|
||||
$win.on('resize', function() {
|
||||
clearTimeout(resizeTimeout);
|
||||
resizeTimeout = setTimeout(function() {
|
||||
reloadTable();
|
||||
}, 500);
|
||||
});
|
||||
|
||||
// 事件 - 搜索
|
||||
$(document).on('click', '#search', function() {
|
||||
reloadTable(1);
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
342
src/main/resources/static/route/hearttalk/save-heart-talk.html
Normal file
342
src/main/resources/static/route/hearttalk/save-heart-talk.html
Normal file
@ -0,0 +1,342 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/twoduty/">
|
||||
<meta charset="utf-8">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||
<link rel="stylesheet" type="text/css" href="assets/js/vendor/viewer/viewer.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-fluid layui-anim layui-anim-fadein">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
<span class="layui-breadcrumb" lay-filter="breadcrumb" style="visibility: visible;">
|
||||
<a class="close" href="javascript:void(0);">返回列表</a><span lay-separator="">/</span>
|
||||
<a href="javascript:void(0);"><cite>新增谈心谈话</cite></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 15px;">
|
||||
<form class="layui-form layui-form-pane" lay-filter="dataForm">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">单位名称<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="orgName" name="orgName" class="layui-input" value="" autocomplete="off" placeholder="请填写单位名称" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="font-size: 12px">谈心谈话对象</span><span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="talkObj" name="talkObj" class="layui-input" value="" autocomplete="off" placeholder="请填写谈心谈话对象" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">政治面貌<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="politicalStatus" name="politicalStatus" class="layui-input" value="" autocomplete="off" placeholder="请填写政治面貌" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">单位职务<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="orgJob" name="orgJob" class="layui-input" value="" autocomplete="off" placeholder="请填写单位职务" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">谈心谈话原因<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="talkReason" name="talkReason" value="" placeholder="谈心谈话原因"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">谈话人<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="talkPerson" name="talkPerson" class="layui-input" value="" autocomplete="off" placeholder="请填写谈话人" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">单位职务<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="talkPersonOrgJob" name="talkPersonOrgJob" class="layui-input" value="" autocomplete="off" placeholder="请填写单位职务" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">谈话时间<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="talkDateTime" name="talkDateTime" class="layui-input" value=""
|
||||
style="cursor: pointer" placeholder="请选择谈话时间" readonly="readonly" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">谈话地点<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="talkPlace" name="talkPlace" class="layui-input" value="" autocomplete="off" placeholder="请填写谈话地点" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">记录人<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="noteTaker" name="noteTaker" class="layui-input" value="" autocomplete="off" placeholder="请填写记录人" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">谈心谈话内容<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" rows="8" id="talkContent" name="talkContent" value="" placeholder="谈心谈话内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">谈心谈话对象意见<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="talkObjOpinion" name="talkObjOpinion" value="" placeholder="谈心谈话对象意见"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">签字</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="hidden" id="talkObjSign" name="talkObjSign">
|
||||
<div class="layui-btn-container" id="talkObjSignFileBox" style="border: 1px solid #e6e6e6;"></div>
|
||||
<script id="talkObjSignFileDownload" type="text/html">
|
||||
{{# var fileName = 'talkObjSign'; }}
|
||||
{{# if(d[fileName].length > 0) { }}
|
||||
{{# var files = d[fileName];}}
|
||||
{{# for(var i = 0, item = files[i]; item = files[i++];) { }}
|
||||
<div class="upload-image-box">
|
||||
<span class="upload-image-span">
|
||||
<img src="route/file/download/false/{{item.fileId}}" align="加载失败">
|
||||
</span>
|
||||
<a class="layui-btn layui-btn-xs layui-btn-danger text-danger remove-image" href="javascript:void(0);" lay-form-button data-id="{{item.fileId}}" data-name="{{fileName}}" lay-filter="talkObjSignRemoveFile">
|
||||
<i class="fa fa-trash-o"></i>
|
||||
</a>
|
||||
</div>
|
||||
{{# } }}
|
||||
{{# } }}
|
||||
{{# if(d[fileName].length < 1) { }}
|
||||
<div class="upload-image-box" style="width: auto; height: auto; padding: 5px;">
|
||||
<a href="javascript:void(0);" lay-form-button data-explain="附加图片" data-name="talkObjSign" lay-filter="talkObjSignUploadFile">
|
||||
<i class="fa fa-plus-square-o" style="font-size: 70px;"></i>
|
||||
</a>
|
||||
</div>
|
||||
{{# } }}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">签字时间<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="signDataTime" name="signDataTime" class="layui-input" value=""
|
||||
style="cursor: pointer" placeholder="请选择签字时间" readonly="readonly" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-layout-admin">
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-footer" style="left: 0;">
|
||||
<button type="button" class="layui-btn submit-btn" lay-submit lay-filter="submitForm">提交新增</button>
|
||||
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
||||
<script>
|
||||
layui.config({
|
||||
base: 'assets/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index', 'form', 'laydate', 'laytpl'], function(){
|
||||
var $ = layui.$;
|
||||
var form = layui.form;
|
||||
var laytpl = layui.laytpl;
|
||||
var laydate = layui.laydate;
|
||||
var viewerObj = {};
|
||||
var indexLibParentId = top.restAjax.params(window.location.href).indexLibParentId;
|
||||
if(typeof (indexLibParentId) == 'undefined' || indexLibParentId == ''){
|
||||
$('.submit-btn').remove()
|
||||
}
|
||||
|
||||
// 初始化内容
|
||||
function initData() {
|
||||
laydate.render({
|
||||
elem: '#talkDateTime',
|
||||
type: 'datetime',
|
||||
trigger: 'click'
|
||||
})
|
||||
laydate.render({
|
||||
elem: '#signDataTime',
|
||||
type: 'datetime',
|
||||
trigger: 'click'
|
||||
})
|
||||
initTalkObjSignUploadFile()
|
||||
}
|
||||
initData();
|
||||
|
||||
// 初始化附加图片图片上传
|
||||
function initTalkObjSignUploadFile() {
|
||||
var files = $('#talkObjSign').val();
|
||||
initFileList('talkObjSign', files, function(fileName) {
|
||||
var viewer = new Viewer(document.getElementById(fileName +'FileBox'), {navbar: false});
|
||||
viewerObj[fileName] = viewer;
|
||||
});
|
||||
|
||||
form.on('button(talkObjSignUploadFile)', function(obj) {
|
||||
var name = this.dataset.name;
|
||||
var explain = this.dataset.explain;
|
||||
top.dialog.file({
|
||||
type: 'image',
|
||||
title: '上传'+ explain,
|
||||
width: '400px',
|
||||
height: '420px',
|
||||
maxFileCount: '1',
|
||||
onClose: function() {
|
||||
var uploadFileArray = top.dialog.dialogData.uploadFileArray;
|
||||
if(typeof(uploadFileArray) != 'undefined' && uploadFileArray.length > 0) {
|
||||
var files = $('#'+ name).val();
|
||||
for(var j = 0, file = uploadFileArray[j]; file = uploadFileArray[j++];) {
|
||||
if(files.length > 0) {
|
||||
files += ',';
|
||||
}
|
||||
files += file.data;
|
||||
}
|
||||
initFileList(name, files, function(fileName) {
|
||||
viewerObj[fileName].update();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
form.on('button(talkObjSignRemoveFile)', function(obj) {
|
||||
var name = this.dataset.name;
|
||||
var id = this.dataset.id;
|
||||
var files = $('#'+ name).val().replace(id, '');
|
||||
files = files.replace(/\,+/g, ',');
|
||||
if(files.charAt(0) == ',') {
|
||||
files = files.substring(1);
|
||||
}
|
||||
if(files.charAt(files.length - 1) == ',') {
|
||||
files = files.substring(0, files.length - 1);
|
||||
}
|
||||
initFileList(name, files, function(fileName) {
|
||||
viewerObj[fileName].update();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 初始化文件列表
|
||||
function initFileList(fileName, ids, callback) {
|
||||
var dataForm = {};
|
||||
dataForm[fileName] = ids;
|
||||
form.val('dataForm', dataForm);
|
||||
|
||||
if(!ids) {
|
||||
refreshDownloadTemplet(fileName, []);
|
||||
if(callback) {
|
||||
callback(fileName, []);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
top.restAjax.get(top.restAjax.path('api/file/list', []), {
|
||||
ids: ids
|
||||
}, null, function(code, data) {
|
||||
refreshDownloadTemplet(fileName, data);
|
||||
if(callback) {
|
||||
callback(fileName, data);
|
||||
}
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
});
|
||||
}
|
||||
|
||||
function refreshDownloadTemplet(fileName, file) {
|
||||
var dataRander = {};
|
||||
dataRander[fileName] = file;
|
||||
|
||||
laytpl(document.getElementById(fileName +'FileDownload').innerHTML).render(dataRander, function(html) {
|
||||
document.getElementById(fileName +'FileBox').innerHTML = html;
|
||||
});
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
form.on('submit(submitForm)', function(formData) {
|
||||
formData.field['indexLibParentId'] = indexLibParentId;
|
||||
top.dialog.confirm(top.dataMessage.commit, function(index) {
|
||||
top.dialog.close(index);
|
||||
var loadLayerIndex;
|
||||
top.restAjax.post(top.restAjax.path('api/dutylistform/savehearttalk', []), formData.field, null, function(code, data) {
|
||||
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
|
||||
time: 0,
|
||||
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
||||
shade: 0.3,
|
||||
yes: function(index) {
|
||||
top.dialog.close(index);
|
||||
window.location.reload();
|
||||
},
|
||||
btn2: function() {
|
||||
closeBox();
|
||||
}
|
||||
});
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
}, function() {
|
||||
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
|
||||
}, function() {
|
||||
top.dialog.close(loadLayerIndex);
|
||||
});
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
function closeBox() {
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||
}
|
||||
|
||||
$('.close').on('click', function() {
|
||||
closeBox();
|
||||
});
|
||||
|
||||
// 校验
|
||||
form.verify({
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,228 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/twoduty/">
|
||||
<meta charset="utf-8">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-fluid layui-anim layui-anim-fadein">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
<span class="layui-breadcrumb" lay-filter="breadcrumb" style="visibility: visible;">
|
||||
<a class="close" href="javascript:void(0);">返回列表</a><span lay-separator="">/</span>
|
||||
<a href="javascript:void(0);"><cite>编辑党风廉政建设大会</cite></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 15px;">
|
||||
<form class="layui-form layui-form-pane" lay-filter="dataForm">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="title" name="title" class="layui-input" value="" autocomplete="off" placeholder="请填写标题" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">会议时间<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="meetingTime" name="meetingTime" class="layui-input" value=""
|
||||
style="cursor: pointer" placeholder="请选择会议时间" readonly="readonly" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">会议地点<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="meetingPlace" name="meetingPlace" class="layui-input" value="" autocomplete="off" placeholder="请填写会议地点" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md4">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">主持人<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="meetingHost" name="meetingHost" class="layui-input" value="" autocomplete="off" placeholder="请填写会议主持人" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md4">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">记录人</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="noteTaker" name="noteTaker" class="layui-input" value="" autocomplete="off" placeholder="请填写会议记录人">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md4">
|
||||
<div class="layui-form-item" style="display: inline-block">
|
||||
<label class="layui-form-label">共计参会</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" min="0" id="joinPersonCount" name="joinPersonCount" class="layui-input" value="" autocomplete="off" placeholder="参会共计人数" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">参会人员</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="joinPerson" name="joinPerson" class="layui-input" value="" autocomplete="off" placeholder="请填写参会人员">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">党委会纪要</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="meetingContent" name="meetingContent" value="" placeholder="党委会纪要内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">会议安排</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="meetingArrange" name="meetingArrange" value="" placeholder="会议安排内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">会议议程</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="meetingAgenda" name="meetingAgenda" value="" placeholder="会议议程内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">主持词</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="hostContent" name="hostContent" value="" placeholder="主持词内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">党委书记讲话内容</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="partySecretaryTalk" name="partySecretaryTalk" value="" placeholder="党委书记讲话内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="remarks" name="remarks" value="" placeholder="备注"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-layout-admin">
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-footer" style="left: 0;">
|
||||
<button type="button" class="layui-btn" lay-submit lay-filter="submitForm">提交新增</button>
|
||||
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||
<script>
|
||||
layui.config({
|
||||
base: 'assets/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index', 'form', 'laydate', 'laytpl'], function(){
|
||||
var $ = layui.$;
|
||||
var form = layui.form;
|
||||
var laytpl = layui.laytpl;
|
||||
var laydate = layui.laydate;
|
||||
var id = top.restAjax.params(window.location.href).id;
|
||||
|
||||
// 初始化内容
|
||||
function initData() {
|
||||
laydate.render({
|
||||
elem: '#meetingTime',
|
||||
type: 'datetime',
|
||||
trigger: 'click'
|
||||
})
|
||||
getFormData();
|
||||
}
|
||||
initData();
|
||||
|
||||
function getFormData(){
|
||||
var loadLayerIndexl;
|
||||
top.restAjax.get(top.restAjax.path('api/dutylistform/getpartycleanmeeting/{id}', [id]), {}, null, function(code, data) {
|
||||
var dataFormData = {};
|
||||
for(var i in data) {
|
||||
dataFormData[i] = data[i] +'';
|
||||
}
|
||||
form.val('dataForm', dataFormData);
|
||||
form.render(null, 'dataForm');
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
}, function() {
|
||||
loadLayerIndex = top.dialog.msg(top.dataMessage.loading, {icon: 16, time: 0, shade: 0.3});
|
||||
}, function() {
|
||||
top.dialog.close(loadLayerIndex);
|
||||
});
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
form.on('submit(submitForm)', function(formData) {
|
||||
top.dialog.confirm(top.dataMessage.commit, function(index) {
|
||||
top.dialog.close(index);
|
||||
var loadLayerIndex;
|
||||
top.restAjax.put(top.restAjax.path('api/dutylistform/updatepartycleanmeeting/{id}', [id]), formData.field, null, function(code, data) {
|
||||
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
|
||||
time: 0,
|
||||
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
||||
shade: 0.3,
|
||||
yes: function(index) {
|
||||
top.dialog.close(index);
|
||||
window.location.reload();
|
||||
},
|
||||
btn2: function() {
|
||||
closeBox();
|
||||
}
|
||||
});
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
}, function() {
|
||||
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
|
||||
}, function() {
|
||||
top.dialog.close(loadLayerIndex);
|
||||
});
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
function closeBox() {
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||
}
|
||||
|
||||
$('.close').on('click', function() {
|
||||
closeBox();
|
||||
});
|
||||
|
||||
// 校验
|
||||
form.verify({
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,340 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/twoduty/">
|
||||
<meta charset="utf-8">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-fluid layui-anim layui-anim-fadein">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="keywords" class="layui-input search-item" autocomplete="off" placeholder="输入关键字">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="startTime" class="layui-input search-item" style="cursor: pointer" placeholder="开始时间" readonly>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="endTime" class="layui-input search-item" style="cursor: pointer" placeholder="结束时间" readonly>
|
||||
</div>
|
||||
<button type="button" id="search" class="layui-btn layui-btn-sm">
|
||||
<i class="fa fa-lg fa-search"></i> 搜索
|
||||
</button>
|
||||
</div>
|
||||
<!-- 表头按钮组 -->
|
||||
<script type="text/html" id="headerToolBar">
|
||||
<div class="layui-btn-group">
|
||||
<button type="button" class="layui-btn layui-btn-sm" lay-event="saveEvent">
|
||||
<i class="fa fa-lg fa-plus"></i> 新增
|
||||
</button>
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm" lay-event="updateEvent">
|
||||
<i class="fa fa-lg fa-edit"></i> 编辑
|
||||
</button>
|
||||
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm" lay-event="removeEvent">
|
||||
<i class="fa fa-lg fa-trash"></i> 删除
|
||||
</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
||||
<script>
|
||||
layui.config({
|
||||
base: 'assets/layuiadmin/'
|
||||
}).extend({
|
||||
index: 'lib/index'
|
||||
}).use(['index', 'table', 'laydate', 'common'], function() {
|
||||
var $ = layui.$;
|
||||
var $win = $(window);
|
||||
var table = layui.table;
|
||||
var admin = layui.admin;
|
||||
var laydate = layui.laydate;
|
||||
var common = layui.common;
|
||||
var resizeTimeout = null;
|
||||
var dutyIndexLibId = top.restAjax.params(window.location.href).dutyIndexLibId;
|
||||
if(typeof (dutyIndexLibId) === 'undefined'){
|
||||
dutyIndexLibId = '';
|
||||
}
|
||||
var tableUrl = 'api/dutylistform/listpagepartycleanmeeting?dutyIndexLibId=' + dutyIndexLibId;
|
||||
|
||||
function initData() {
|
||||
// 查询条件日期初始化
|
||||
laydate.render({
|
||||
elem: '#startTime',
|
||||
format: 'yyyy-MM-dd'
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#endTime',
|
||||
format: 'yyyy-MM-dd'
|
||||
});
|
||||
initTable()
|
||||
|
||||
}
|
||||
initData();
|
||||
|
||||
// 初始化表格
|
||||
function initTable() {
|
||||
table.render({
|
||||
elem: '#dataTable',
|
||||
id: 'dataTable',
|
||||
url: top.restAjax.path(tableUrl, []),
|
||||
width: admin.screen() > 1 ? '100%' : '',
|
||||
height: $win.height() - 90,
|
||||
limit: 20,
|
||||
limits: [20, 40, 60, 80, 100, 200],
|
||||
toolbar: '#headerToolBar',
|
||||
request: {
|
||||
pageName: 'page',
|
||||
limitName: 'rows'
|
||||
},
|
||||
cols: [
|
||||
[
|
||||
{type:'checkbox', fixed: 'left'},
|
||||
{field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '<span>{{d.LAY_INDEX}}</span>'},
|
||||
{field: 'title', width: 250, title: '标题', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData === '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'meetingTime', width: 150, title: '会议时间', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData === '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'meetingPlace', width: 150, title: '会议地点', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'meetingHost', width: 180, title: '会议主持人', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'noteTaker', width: 180, title: '记录人', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'joinPersonCount', width: 180, title: '参会人数', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData + '人';
|
||||
}
|
||||
},
|
||||
{field: 'joinPerson', width: 180, title: '参会人员', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'meetingContent', width: 180, title: '会议纪要', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'meetingArrange', width: 180, title: '会议安排', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'meetingAgenda', width: 180, title: '会议议程', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'hostContent', width: 180, title: '主持词', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'partySecretaryTalk', width: 200, title: '党委书记讲话内容', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
]
|
||||
],
|
||||
page: true,
|
||||
parseData: function(data) {
|
||||
return {
|
||||
'code': 0,
|
||||
'msg': '',
|
||||
'count': data.total,
|
||||
'data': data.rows
|
||||
};
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 重载表格
|
||||
function reloadTable(currentPage) {
|
||||
table.reload('dataTable', {
|
||||
url: top.restAjax.path(tableUrl, []),
|
||||
where: {
|
||||
keywords: $('#keywords').val(),
|
||||
startTime: $('#startTime').val(),
|
||||
endTime: $('#endTime').val()
|
||||
},
|
||||
page: {
|
||||
curr: currentPage
|
||||
},
|
||||
height: $win.height() - 90,
|
||||
});
|
||||
}
|
||||
|
||||
// 事件 - 增删改
|
||||
table.on('toolbar(dataTable)', function(obj) {
|
||||
var layEvent = obj.event;
|
||||
var checkStatus = table.checkStatus('dataTable');
|
||||
var checkDatas = checkStatus.data;
|
||||
if(layEvent === 'saveEvent') {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: false,
|
||||
closeBtn: 0,
|
||||
area: ['100%', '100%'],
|
||||
shadeClose: true,
|
||||
anim: 2,
|
||||
content: top.restAjax.path('route/partycleanmeeting/save-party-clean-meeting.html?dutyIndexLibId={dutyIndexLibId}',
|
||||
[dutyIndexLibId]),
|
||||
end: function() {
|
||||
reloadTable();
|
||||
}
|
||||
});
|
||||
} else if(layEvent === 'updateEvent') {
|
||||
if(checkDatas.length === 0) {
|
||||
top.dialog.msg(top.dataMessage.table.selectEdit);
|
||||
} else if(checkDatas.length > 1) {
|
||||
top.dialog.msg(top.dataMessage.table.selectOneEdit);
|
||||
} else {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: false,
|
||||
closeBtn: 0,
|
||||
area: ['100%', '100%'],
|
||||
shadeClose: true,
|
||||
anim: 2,
|
||||
content: top.restAjax.path('route/partycleanmeeting/edit-party-clean-meeting.html?id={id}',
|
||||
[checkDatas[0].reportId]),
|
||||
end: function() {
|
||||
reloadTable();
|
||||
}
|
||||
});
|
||||
}
|
||||
} else if(layEvent === 'removeEvent') {
|
||||
if(checkDatas.length === 0) {
|
||||
top.dialog.msg(top.dataMessage.table.selectDelete);
|
||||
} else {
|
||||
var ids = '';
|
||||
for(var i = 0, item; item = checkDatas[i++];) {
|
||||
if(i > 1) {
|
||||
ids += '_';
|
||||
}
|
||||
ids += item['reportId'];
|
||||
}
|
||||
removeData(ids);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 删除
|
||||
function removeData(ids) {
|
||||
top.dialog.msg(top.dataMessage.delete, {
|
||||
time: 0,
|
||||
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
||||
shade: 0.3,
|
||||
yes: function (index) {
|
||||
top.dialog.close(index);
|
||||
var layIndex;
|
||||
top.restAjax.delete(top.restAjax.path('api/dutylistform/removepartycleanmeeting/{ids}', [ids]), {}, null, function (code, data) {
|
||||
top.dialog.msg(top.dataMessage.deleteSuccess, {time: 1000});
|
||||
reloadTable();
|
||||
}, function (code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
}, function () {
|
||||
layIndex = top.dialog.msg(top.dataMessage.deleting, {icon: 16, time: 0, shade: 0.3});
|
||||
}, function () {
|
||||
top.dialog.close(layIndex);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 事件 - 页面变化
|
||||
$win.on('resize', function() {
|
||||
clearTimeout(resizeTimeout);
|
||||
resizeTimeout = setTimeout(function() {
|
||||
reloadTable();
|
||||
}, 500);
|
||||
});
|
||||
|
||||
// 事件 - 搜索
|
||||
$(document).on('click', '#search', function() {
|
||||
reloadTable(1);
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,213 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/twoduty/">
|
||||
<meta charset="utf-8">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-fluid layui-anim layui-anim-fadein">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
<span class="layui-breadcrumb" lay-filter="breadcrumb" style="visibility: visible;">
|
||||
<a class="close" href="javascript:void(0);">返回列表</a><span lay-separator="">/</span>
|
||||
<a href="javascript:void(0);"><cite>新增党风廉政建设大会</cite></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="layui-card-body" style="padding: 15px;">
|
||||
<form class="layui-form layui-form-pane" lay-filter="dataForm">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="title" name="title" class="layui-input" value="" autocomplete="off" placeholder="请填写标题" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">会议时间<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="meetingTime" name="meetingTime" class="layui-input" value=""
|
||||
style="cursor: pointer" placeholder="请选择会议时间" readonly="readonly" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">会议地点<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="meetingPlace" name="meetingPlace" class="layui-input" value="" autocomplete="off" placeholder="请填写会议地点" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md4">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">主持人<span style="color: red">*</span></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="meetingHost" name="meetingHost" class="layui-input" value="" autocomplete="off" placeholder="请填写会议主持人" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md4">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">记录人</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="noteTaker" name="noteTaker" class="layui-input" value="" autocomplete="off" placeholder="请填写会议记录人">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md4">
|
||||
<div class="layui-form-item" style="display: inline-block">
|
||||
<label class="layui-form-label">共计参会</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" min="0" id="joinPersonCount" name="joinPersonCount" class="layui-input" value="" autocomplete="off" placeholder="参会共计人数" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">参会人员</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="joinPerson" name="joinPerson" class="layui-input" value="" autocomplete="off" placeholder="请填写参会人员">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">党委会纪要</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="meetingContent" name="meetingContent" value="" placeholder="党委会纪要内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">会议安排</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="meetingArrange" name="meetingArrange" value="" placeholder="会议安排内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">会议议程</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="meetingAgenda" name="meetingAgenda" value="" placeholder="会议议程内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">主持词</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="hostContent" name="hostContent" value="" placeholder="主持词内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">党委书记讲话内容</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="partySecretaryTalk" name="partySecretaryTalk" value="" placeholder="党委书记讲话内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" id="remarks" name="remarks" value="" placeholder="备注"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-layout-admin">
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-footer" style="left: 0;">
|
||||
<button type="button" class="layui-btn submit-btn" lay-submit lay-filter="submitForm">提交新增</button>
|
||||
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||
<script>
|
||||
layui.config({
|
||||
base: 'assets/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index', 'form', 'laydate', 'laytpl'], function(){
|
||||
var $ = layui.$;
|
||||
var form = layui.form;
|
||||
var laytpl = layui.laytpl;
|
||||
var laydate = layui.laydate;
|
||||
var indexLibParentId = top.restAjax.params(window.location.href).indexLibParentId;
|
||||
if(typeof (indexLibParentId) == 'undefined' || indexLibParentId == ''){
|
||||
$('.submit-btn').remove()
|
||||
}
|
||||
|
||||
// 初始化内容
|
||||
function initData() {
|
||||
laydate.render({
|
||||
elem: '#meetingTime',
|
||||
type: 'datetime',
|
||||
trigger: 'click'
|
||||
})
|
||||
}
|
||||
initData();
|
||||
|
||||
// 提交表单
|
||||
form.on('submit(submitForm)', function(formData) {
|
||||
formData.field['indexLibParentId'] = indexLibParentId;
|
||||
top.dialog.confirm(top.dataMessage.commit, function(index) {
|
||||
top.dialog.close(index);
|
||||
var loadLayerIndex;
|
||||
top.restAjax.post(top.restAjax.path('api/dutylistform/savepartycleanmeeting', []), formData.field, null, function(code, data) {
|
||||
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
|
||||
time: 0,
|
||||
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
||||
shade: 0.3,
|
||||
yes: function(index) {
|
||||
top.dialog.close(index);
|
||||
window.location.reload();
|
||||
},
|
||||
btn2: function() {
|
||||
closeBox();
|
||||
}
|
||||
});
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
}, function() {
|
||||
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
|
||||
}, function() {
|
||||
top.dialog.close(loadLayerIndex);
|
||||
});
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
function closeBox() {
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||
}
|
||||
|
||||
$('.close').on('click', function() {
|
||||
closeBox();
|
||||
});
|
||||
|
||||
// 校验
|
||||
form.verify({
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user