如何使用代码生成器开发新的ITSM界面---网页界面案例

在澳洋信息管理平台现有框架下开发新的界面,本次以“委外维修单位”维护界面为例,表中存储委外维修公司名称,删除采用逻辑删除而非物理删除。

创建数据库表

-- ITSM_MAINTENANCE_COM  委外维修单位表
create table ITSM_MAINTENANCE_COM(
MAINTENANCE_COM_ID VARCHAR2(32)PRIMARY KEY,-- 主键
MAINTENANCE_COM_NAME VARCHAR2(255 ),-- 委外维修单位名称
DEL_STATUS  VARCHAR2(2), -- 删除状态码:1表示删除 0表示可用
CREATION_DATE VARCHAR2(32), -- 创建日期
CREATION_BY VARCHAR2(255), -- 创建人
LAST_UPDATE_DATE VARCHAR2(32), -- 更新日期
LAST_UPDATE_BY VARCHAR2(255) -- 更改人
); 
COMMENT ON COLUMN ITSM_MAINTENANCE_COM.MAINTENANCE_COM_ID IS '主键';
COMMENT ON COLUMN ITSM_MAINTENANCE_COM.MAINTENANCE_COM_NAME IS '委外维修单位名称';
COMMENT ON COLUMN ITSM_MAINTENANCE_COM.DEL_STATUS IS '删除状态码: 0为未删除,1为已删除';
COMMENT ON COLUMN ITSM_MAINTENANCE_COM.CREATION_DATE IS '创建日期';
COMMENT ON COLUMN ITSM_MAINTENANCE_COM.CREATION_BY IS '创建人';
COMMENT ON COLUMN ITSM_MAINTENANCE_COM.LAST_UPDATE_DATE IS '修改日期';
COMMENT ON COLUMN ITSM_MAINTENANCE_COM.LAST_UPDATE_BY IS '修改人';

代码生成器

登陆本地网址 http://localhost:9090/wxapp/main/index

进入前台页面:系统工具-->代码生成器-->正向生成

上级包名:itsm,处理类名:Maintenance,表前缀:ITSM_,

  1. 系统会将表前缀和Maintenance的大写进行拼接,作为要处理的表名ITSM_MAINTENANCE;
  2. 系统创建文件夹itsm-->maintenance内,再把controller、service放入其中,方便用户直接复制到Eclipse中,免去创建包名的操作,
  3. 在下面逐一添加表的字段名;
  4. 点击生成代码,会生成代码压缩包code.zip并下载下来。
  5. 将压缩包解压,并将controller、service、mybatis_mysql、jsp复制到对应目录中,

因为 Controller 是放在 wxapp 项目包中,

所以以 MaintenanceController 中的 list() 为例,对应网址是 http://localhost:9090/wxapp/maintenance/list.do

/wxapp/src/main/java/com/aoyang/wxapp/controller/itsm/maintenance/MaintenanceController.java

/wx-itsm-api/src/main/java/com/aoyang/wxapp/service/itsm/maintenance/MaintenanceManager.java

/wx-itsm-service/src/main/java/com/aoyang/wxapp/service/itsm/maintenance/MaintenanceService.java

/wxapp/src/main/resources/mybatis1/itsm/MaintenanceMapper.xml

/wxapp/src/main/webapp/WEB-INF/jsp/itsm/maintenance/maintenance_edit.jsp

/wxapp/src/main/webapp/WEB-INF/jsp/itsm/maintenance/maintenance_list.jsp

另外其中的数据库脚本,也是创建表的SQL语句

 

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `ITSM_MAINTENANCE`
-- ----------------------------
DROP TABLE IF EXISTS `ITSM_MAINTENANCE`;
CREATE TABLE `ITSM_MAINTENANCE` (
 		`MAINTENANCE_ID` varchar(100) NOT NULL,
		`MAINTENANCE_COM_ID` varchar(32) DEFAULT NULL COMMENT '表ID',
		`MAINTENANCE_COM_NAME` varchar(255) DEFAULT NULL COMMENT '委外维修单位名称',
		`DEL_STATUS` varchar(2) DEFAULT NULL COMMENT '删除状态码',
		`CREATION_DATE` varchar(32) DEFAULT NULL COMMENT '创建日期',
		`CREATION_BY` varchar(255) DEFAULT NULL COMMENT '创建人',
		`LAST_UPDATE_DATE` varchar(32) DEFAULT NULL COMMENT '修改日期',
		`LAST_UPDATE_BY` varchar(255) DEFAULT NULL COMMENT '修改人',
  		PRIMARY KEY (`MAINTENANCE_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

创建页面菜单

进入前台页面:系统管理-->菜单管理,在合适的菜单下点击新增菜单,

此案例选择在 ITSM-->基础配置 下创建新菜单,

填写菜单名称、主页面链接、序号,并选择“显示”,点击保存即可创建新菜单,

配置权限

前台页面:在角色(基础权限)菜单,对需要查看新菜单的角色勾选菜单权限。

之后退出管理员账号,登陆已经分配好菜单权限的角色即可查看。

登陆对应用户并完善代码

登陆已经分配权限的账号,可以看到前台界面,然后进行前端界面与后台的联调。

代码示例

/wxapp/src/main/java/com/aoyang/wxapp/controller/itsm/maintenance/MaintenanceController.java

/**
 * Project Name: 澳洋信息系统微信管理平台
 * Date:2019-09-18
 * Copyright(c) 2016 All Rights Reserved
 */

package com.aoyang.wxapp.controller.itsm.maintenance;

import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.aoyang.wxapp.controller.BaseController;
import com.aoyang.wxapp.entity.Page;
import com.aoyang.wxapp.service.itsm.maintenance.MaintenanceManager;
import com.aoyang.wxapp.service.oastaff.OaStaffManager;
import com.aoyang.wxapp.service.oastaff.OaStaffService;
import com.aoyang.wxapp.util.AppUtil;
import com.aoyang.wxapp.util.DateUtil;
import com.aoyang.wxapp.util.Jurisdiction;
import com.aoyang.wxapp.util.ObjectExcelView;
import com.aoyang.wxapp.util.PageData;

/** 
 * 委外维修单位
 */
@Controller
@RequestMapping(value="/maintenance")
public class MaintenanceController extends BaseController {
	
	String menuUrl = "maintenance/list.do"; //菜单地址(权限用)
	@Resource(name="maintenanceService")
	private MaintenanceManager maintenanceService;
	@Resource(name="oaStaffService")
	private OaStaffManager oaStaffService;
	
	/**
	 * 保存
	 *
	 * @throws Exception
	 */
	@RequestMapping(value="/save")
	public ModelAndView save() throws Exception{
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限
		ModelAndView mv = this.getModelAndView();
		PageData pd = this.getPageData();
		pd.put("MAINTENANCE_COM_ID", this.get32UUID());	//主键
		pd.put("CREATION_DATE", DateUtil.getTime());
		pd.put("CREATION_BY", getCurrentUserId());
		maintenanceService.save(pd);
		mv.addObject("msg","success");
		mv.setViewName("save_result");
		return mv;
	}
	
	/**
	 * 删除.
	 * @param out
	 * @throws Exception
	 */
	@RequestMapping(value="/delete")
	public void delete(PrintWriter out) throws Exception{
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限
		PageData pd = this.getPageData();
		pd.put("LAST_UPDATE_DATE",DateUtil.getTime());
		pd.put("LAST_UPDATE_BY", getCurrentUserId());
		maintenanceService.delete(pd);
		out.write("success");
		out.close();
	}
	
	/**
	 * 修改.
	 *
	 * @throws Exception
	 */
	@RequestMapping(value="/edit")
	public ModelAndView edit() throws Exception{
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限
		ModelAndView mv = this.getModelAndView();
		PageData pd = this.getPageData();
		pd.put("LAST_UPDATE_DATE", DateUtil.getTime());
		pd.put("LAST_UPDATE_BY", getCurrentUserId());
		maintenanceService.edit(pd);
		mv.addObject("msg","success");
		mv.setViewName("save_result");
		return mv;
	}
	
	/**
	 * 列表.
	 *
	 * @param page
	 * @throws Exception
	 */
	@RequestMapping(value="/list")
	public ModelAndView list(Page page) throws Exception{
		//if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
		ModelAndView mv = this.getModelAndView();
		PageData pd = this.getPageData();
		String keywords = pd.getString("keywords");				//关键词检索条件
		if(!StringUtils.isEmpty(keywords)){
			pd.put("keywords", keywords.trim());
		}
		page.setPd(pd);
		List<PageData>	varList = maintenanceService.list(page);	//列出Maintenance列表
		mv.setViewName("itsm/maintenance/maintenance_list");
		mv.addObject("varList", varList);
		mv.addObject("pd", pd);
		mv.addObject("QX",Jurisdiction.getHC());	//按钮权限
		return mv;
	}
	
	/**
	 * 去新增页面.
	 *
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/goAdd")
	public ModelAndView goAdd()throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd = this.getPageData();
		mv.setViewName("itsm/maintenance/maintenance_add");
		mv.addObject("msg", "save");
		mv.addObject("pd", pd);
		return mv;
	}	
	
    /**
	 * 去修改页面.
	 *
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/goEdit")
	public ModelAndView goEdit()throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd  = this.getPageData();
		pd = maintenanceService.findById(pd);	//根据ID读取
		String CREATION_BY_ID = (String)pd.get("CREATION_BY");
		String CREATION_BY_NAME = (String) oaStaffService.personInfoById(CREATION_BY_ID).get("PERSONNAME");
		String CREATION_BY = CREATION_BY_ID.concat(" "+CREATION_BY_NAME);
		pd.put("CREATION_BY", CREATION_BY);
		
		String LAST_UPDATE_BY_ID = (String)pd.get("LAST_UPDATE_BY");
		if(!StringUtils.isEmpty(LAST_UPDATE_BY_ID)) {
			String LAST_UPDATE_BY_NAME = (String) oaStaffService.personInfoById(LAST_UPDATE_BY_ID).get("PERSONNAME");
			String LAST_UPDATE_BY = LAST_UPDATE_BY_ID.concat(" "+LAST_UPDATE_BY_NAME);
			pd.put("LAST_UPDATE_BY",LAST_UPDATE_BY);
		}
		
		mv.setViewName("itsm/maintenance/maintenance_edit");
		mv.addObject("msg", "edit");
		mv.addObject("pd", pd);
		return mv;
	}	
	
    /**
 	 * 批量删除.
 	 
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/deleteAll")
	@ResponseBody
	public Object deleteAll() throws Exception{
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限
		PageData pd = this.getPageData();	
		Map<String,Object> map = new HashMap<String,Object>();
		List<PageData> pdList = new ArrayList<PageData>();
		String DATA_IDS = pd.getString("DATA_IDS");
		if(!StringUtils.isEmpty(DATA_IDS)){
			String ArrayDATA_IDS[] = DATA_IDS.split(",");
			pd.put("ArrayDATA_IDS", ArrayDATA_IDS);
			pd.put("LAST_UPDATE_DATE", DateUtil.getTime());
			pd.put("LAST_UPDATE_BY", getCurrentUserId());
			maintenanceService.deleteAll(pd);
			pd.put("msg", "ok");
		}else{
			pd.put("msg", "no");
		}
		pdList.add(pd);
		map.put("list", pdList);
		return AppUtil.returnObject(pd, map);
	}
	
	/**
	 * 导出到excel.
	 *
	 * @param
	 * @throws Exception
	 */
	@RequestMapping(value="/excel")
	public ModelAndView exportExcel() throws Exception{
		if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
		ModelAndView mv = new ModelAndView();
		PageData pd = this.getPageData();
		Map<String,Object> dataMap = new HashMap<String,Object>();
		List<String> titles = new ArrayList<String>();
		titles.add("表ID");	//1
		titles.add("委外维修单位名称");	//2
		titles.add("删除状态码");	//3
		titles.add("创建日期");	//4
		titles.add("创建人");	//5
		titles.add("修改日期");	//6
		titles.add("修改人");	//7
		dataMap.put("titles", titles);
		List<PageData> varOList = maintenanceService.listAll();
		List<PageData> varList = new ArrayList<PageData>();
		for(int i=0;i<varOList.size();i++){
			PageData vpd = new PageData();
			vpd.put("var1", varOList.get(i).getString("MAINTENANCE_COM_ID"));	    //1
			vpd.put("var2", varOList.get(i).getString("MAINTENANCE_COM_NAME"));	    //2
			vpd.put("var3", varOList.get(i).getString("DEL_STATUS"));	    //3
			vpd.put("var4", varOList.get(i).getString("CREATION_DATE"));	    //4
			vpd.put("var5", varOList.get(i).getString("CREATION_BY"));	    //5
			vpd.put("var6", varOList.get(i).getString("LAST_UPDATE_DATE"));	    //6
			vpd.put("var7", varOList.get(i).getString("LAST_UPDATE_BY"));	    //7
			varList.add(vpd);
		}
		dataMap.put("varList", varList);
		ObjectExcelView erv = new ObjectExcelView();
		mv = new ModelAndView(erv,dataMap);
		return mv;
	}
	
	@InitBinder
	public void initBinder(WebDataBinder binder){
		DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		binder.registerCustomEditor(Date.class, new CustomDateEditor(format,true));
	}
}

/wx-itsm-api/src/main/java/com/aoyang/wxapp/service/itsm/maintenance/MaintenanceManager.java

/**
 * Project Name: 澳洋信息系统微信管理平台
 * Date:2019-09-18
 * Copyright(c) 2016 All Rights Reserved
 */
package com.aoyang.wxapp.service.itsm.maintenance;

import java.util.List;
import com.aoyang.wxapp.entity.Page;
import com.aoyang.wxapp.util.PageData;

/** 
 * 委外维修单位接口.
 */
public interface MaintenanceManager{

	/**
   * 新增
	 * @param pd
	 * @throws Exception
	 */
	public void save(PageData pd)throws Exception;
	
	/**删除
	 * @param pd
	 * @throws Exception
	 */
	public void delete(PageData pd)throws Exception;
	
	/**修改
	 * @param pd
	 * @throws Exception
	 */
	public void edit(PageData pd)throws Exception;
	
	/**
	 * 列表.
	 *
	 * @param page
	 * @throws Exception
	 */
	public List<PageData> list(Page page)throws Exception;
	
	/**
	 * 列表(全部).
	 *
	 * @param pd
	 * @throws Exception
	 */
	public List<PageData> listAll()throws Exception;
	
	/**
	 * 通过id获取数据.
	 *
	 * @param pd
	 * @throws Exception
	 */
	public PageData findById(PageData pd)throws Exception;
	
	/**
	 * 批量删除.
	 *
	 * @param ArrayDATA_IDS
	 * @throws Exception
	 */
	public void deleteAll(PageData pd)throws Exception;
	
}

/wx-itsm-service/src/main/java/com/aoyang/wxapp/service/itsm/maintenance/MaintenanceService.java

/**
 * Project Name: 澳洋信息系统微信管理平台
 * Date:2019-09-18
 * Copyright(c) 2016 All Rights Reserved
 */
package com.aoyang.wxapp.service.itsm.maintenance.impl;

import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.aoyang.wxapp.dao.DaoSupport;
import com.aoyang.wxapp.entity.Page;
import com.aoyang.wxapp.service.itsm.maintenance.MaintenanceManager;
import com.aoyang.wxapp.util.PageData;

/** 
 * 委外维修单位
 */
@Service("maintenanceService")
public class MaintenanceService implements MaintenanceManager{

	@Resource(name = "daoSupport")
	private DaoSupport dao;
	
	/**
	 * 新增.
	 * @param pd
	 * @throws Exception
	 */
	public void save(PageData pd)throws Exception{
		dao.save("MaintenanceMapper.save", pd);
	}
	
	/**
	 * 删除.
	 *
	 * @param pd
	 * @throws Exception
	 */
	public void delete(PageData pd)throws Exception{
		dao.delete("MaintenanceMapper.delete", pd);
	}
	
	/**
	 * 修改.
	 *
	 * @param pd
	 * @throws Exception
	 */
	public void edit(PageData pd)throws Exception{
		dao.update("MaintenanceMapper.edit", pd);
	}
	
	/**
	 * 列表.
	 *
	 * @param page
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public List<PageData> list(Page page)throws Exception{
		return (List<PageData>)dao.findForList("MaintenanceMapper.datalistPage", page);
	}
	
	/**
	 * 列表(全部).
	 * @param pd
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public List<PageData> listAll()throws Exception{
		return (List<PageData>)dao.findForList("MaintenanceMapper.listAll", null);
	}
	
	/**
	 * 通过id获取数据.
	 *
	 * @param pd
	 * @throws Exception
	 */
	public PageData findById(PageData pd)throws Exception{
		return (PageData)dao.findForObject("MaintenanceMapper.findById", pd);
	}
	
	/**
	 * 批量删除.
	 *
	 * @param ArrayDATA_IDS
	 * @throws Exception
	 */
	public void deleteAll(PageData pd)throws Exception{
		dao.delete("MaintenanceMapper.deleteAll", pd);
	}
	
}

/wxapp/src/main/resources/mybatis1/itsm/MaintenanceMapper.xml

<?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="MaintenanceMapper">
	
	<!--表名 -->
	<sql id="tableName">
		"ITSM_MAINTENANCE_COM"
	</sql>
	
	<!-- 字段 -->
	<sql id="Field">
		"MAINTENANCE_COM_ID",	
		"MAINTENANCE_COM_NAME",	
		"DEL_STATUS",	
		"CREATION_DATE",	
		"CREATION_BY",	
		"LAST_UPDATE_DATE",	
		"LAST_UPDATE_BY"
	</sql>
	
	<!-- 字段值 -->
	<sql id="FieldValue">
			#{MAINTENANCE_COM_ID},	
			#{MAINTENANCE_COM_NAME},	
			#{DEL_STATUS},	
			#{CREATION_DATE},	
			#{CREATION_BY},	
			#{LAST_UPDATE_DATE},	
			#{LAST_UPDATE_BY}
	</sql>
	
	<!-- 新增-->
	<insert id="save" parameterType="pd">
		insert into
		<include refid="tableName"></include>
		(
			MAINTENANCE_COM_ID,
			MAINTENANCE_COM_NAME,
			DEL_STATUS,
			CREATION_DATE,
			CREATION_BY,
			LAST_UPDATE_DATE,
			LAST_UPDATE_BY
		) values (
			#{MAINTENANCE_COM_ID},	
			#{MAINTENANCE_COM_NAME},	
			'0',
			#{CREATION_DATE},
			#{CREATION_BY},
			#{CREATION_DATE},
			#{CREATION_BY}
		)
	</insert>
	
	<!-- 删除,采用逻辑删除-->
	<delete id="delete" parameterType="pd">
		update
		<include refid="tableName"></include>
		set 
			"DEL_STATUS" = '1',	
			"LAST_UPDATE_DATE" = #{LAST_UPDATE_DATE},	
			"LAST_UPDATE_BY" = #{LAST_UPDATE_BY}
		where 
			"MAINTENANCE_COM_ID" = #{MAINTENANCE_COM_ID}
	</delete>
	
	<!-- 修改 -->
	<update id="edit" parameterType="pd">
		update
		<include refid="tableName"></include>
		set 
			"MAINTENANCE_COM_NAME" = #{MAINTENANCE_COM_NAME},	
			"LAST_UPDATE_DATE" = #{LAST_UPDATE_DATE},	
			"LAST_UPDATE_BY" = #{LAST_UPDATE_BY}
		where 
			"MAINTENANCE_COM_ID" = #{MAINTENANCE_COM_ID}
	</update>
	
	<!-- 通过ID获取数据 -->
	<select id="findById" parameterType="pd" resultType="pd">
		select 
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where 
			"MAINTENANCE_COM_ID" = #{MAINTENANCE_COM_ID}
	</select>
	
	<!-- 列表 -->
	<select id="datalistPage" parameterType="page" resultType="pd">
		select
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where DEL_STATUS = '0'
		<if test="pd.keywords!= null and pd.keywords != ''"><!-- 关键词检索 -->
			and
				(
				<!--	根据需求自己加检索条件
					字段1 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%')
					 or 
					字段2 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') 
				-->
				)
		</if>
	</select>
	
	<!-- 列表(全部) -->
	<select id="listAll" parameterType="pd" resultType="pd">
		select
		<include refid="Field"></include>
		from 
		<include refid="tableName"></include>
		where 
			DEL_STATUS = '0'
	</select>
	
	<!-- 批量删除 -->
	<delete id="deleteAll" parameterType="pd">
		update
		<include refid="tableName"></include>
		set
			"DEL_STATUS" = '1',	
			"LAST_UPDATE_DATE" = #{LAST_UPDATE_DATE},
			"LAST_UPDATE_BY" = #{LAST_UPDATE_BY}
		where 
			"MAINTENANCE_COM_ID" in
		<foreach item="item" index="index" collection="ArrayDATA_IDS" open="(" separator="," close=")">
                 #{item}
		</foreach>
	</delete>
	
</mapper>

/wxapp/src/main/webapp/WEB-INF/jsp/itsm/maintenance/maintenance_list.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE html>
<html lang="en">
<head>
<base href="<%=basePath%>">
<!-- 下拉框 -->
<link rel="stylesheet" href="static/ace/css/chosen.css" />
<!-- jsp文件头和头部 -->
<%@ include file="../../system/index/top.jsp"%>
<!-- 日期框 -->
<link rel="stylesheet" href="static/ace/css/datepicker.css" />
</head>
<body class="no-skin">

	<!-- /section:basics/navbar.layout -->
	<div class="main-container" id="main-container">
		<!-- /section:basics/sidebar -->
		<div class="main-content">
			<div class="main-content-inner">
				<div class="page-content">
					<div class="row">
						<div class="col-xs-12">
							
						<!-- 检索  -->
						<form action="maintenance/list.do" method="post" name="Form" id="Form">
						<table style="margin-top:5px;">
							<tr>
								<td>
									<div class="nav-search">
										<span class="input-icon">
											<input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/>
											<i class="ace-icon fa fa-search nav-search-icon"></i>
										</span>
									</div>
								</td>
								<td style="padding-left:2px;"><input class="span10 date-picker" name="lastStart" id="lastStart"  value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="开始日期" title="开始日期"/></td>
								<td style="padding-left:2px;"><input class="span10 date-picker" name="lastEnd" name="lastEnd"  value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="结束日期" title="结束日期"/></td>
								<td style="vertical-align:top;padding-left:2px;">
								 	<select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;">
									<option value=""></option>
									<option value="">全部</option>
									<option value="">1</option>
									<option value="">2</option>
								  	</select>
								</td>
								<c:if test="${QX.cha == 1 }">
								<td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();"  title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td>
								</c:if>
								<c:if test="${QX.toExcel == 1 }"><td style="vertical-align:top;padding-left:2px;"><a class="btn btn-light btn-xs" onclick="toExcel();" title="导出到EXCEL"><i id="nav-search-icon" class="ace-icon fa fa-download bigger-110 nav-search-icon blue"></i></a></td></c:if>
							</tr>
						</table>
						<!-- 检索  -->
					
						<table id="simple-table" class="table table-striped table-bordered table-hover" style="margin-top:5px;">	
							<thead>
								<tr>
									<th class="center" style="width:35px;">
									<label class="pos-rel"><input type="checkbox" class="ace" id="zcheckbox" /><span class="lbl"></span></label>
									</th>
									<th class="center" style="width:50px;">序号</th>
									<th class="center">委外维修单位名称</th>
									<th class="center">创建日期</th>
									<th class="center">创建人</th>
									<th class="center">修改日期</th>
									<th class="center">修改人</th>
									<th class="center">操作</th>
								</tr>
							</thead>
													
							<tbody>
							<!-- 开始循环 -->	
							<c:choose>
								<c:when test="${not empty varList}">
<%-- 									<c:if test="${QX.cha == 1 }"> --%>
									<c:forEach items="${varList}" var="var" varStatus="vs">
										<tr>
											<td class='center'>
												<label class="pos-rel"><input type='checkbox' name='ids' value="${var.MAINTENANCE_COM_ID}" class="ace" /><span class="lbl"></span></label>
											</td>
											<td class='center' style="width: 30px;">${vs.index+1}</td>
											<td class='center'>${var.MAINTENANCE_COM_NAME}</td>
											<td class='center'>${var.CREATION_DATE}</td>
											<td class='center'>${var.CREATION_BY}</td>
											<td class='center'>${var.LAST_UPDATE_DATE}</td>
											<td class='center'>${var.LAST_UPDATE_BY}</td>
											<td class="center">
<%-- 												<c:if test="${QX.edit != 1 && QX.del != 1 }"> --%>
<!-- 												<span class="label label-large label-grey arrowed-in-right arrowed-in"><i class="ace-icon fa fa-lock" title="无权限"></i></span> -->
<%-- 												</c:if> --%>
												<div class="hidden-sm hidden-xs btn-group">
<%-- 													<c:if test="${QX.edit == 1 }"> --%>
													<a class="btn btn-xs btn-success" title="编辑" onclick="edit('${var.MAINTENANCE_COM_ID}');">
														<i class="ace-icon fa fa-pencil-square-o bigger-120" title="编辑"></i>
													</a>
<%-- 													</c:if> --%>
<%-- 													<c:if test="${QX.del == 1 }"> --%>
													<a class="btn btn-xs btn-danger" onclick="del('${var.MAINTENANCE_COM_ID}');">
														<i class="ace-icon fa fa-trash-o bigger-120" title="删除"></i>
													</a>
<%-- 													</c:if> --%>
												</div>
												<div class="hidden-md hidden-lg">
													<div class="inline pos-rel">
														<button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown" data-position="auto">
															<i class="ace-icon fa fa-cog icon-only bigger-110"></i>
														</button>
			
														<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
<%-- 															<c:if test="${QX.edit == 1 }"> --%>
															<li>
																<a style="cursor:pointer;" onclick="edit('${var.MAINTENANCE_COM_ID}');" class="tooltip-success" data-rel="tooltip" title="修改">
																	<span class="green">
																		<i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
																	</span>
																</a>
															</li>
<%-- 															</c:if> --%>
<%-- 															<c:if test="${QX.del == 1 }"> --%>
															<li>
																<a style="cursor:pointer;" onclick="del('${var.MAINTENANCE_COM_ID}');" class="tooltip-error" data-rel="tooltip" title="删除">
																	<span class="red">
																		<i class="ace-icon fa fa-trash-o bigger-120"></i>
																	</span>
																</a>
															</li>
<%-- 															</c:if> --%>
														</ul>
													</div>
												</div>
											</td>
										</tr>
									
									</c:forEach>
<%-- 									</c:if> --%>
									<c:if test="${QX.cha == 0 }">
										<tr>
											<td colspan="100" class="center">您无权查看</td>
										</tr>
									</c:if>
								</c:when>
								<c:otherwise>
									<tr class="main_info">
										<td colspan="100" class="center" >没有相关数据</td>
									</tr>
								</c:otherwise>
							</c:choose>
							</tbody>
						</table>
						<div class="page-header position-relative">
						<table style="width:100%;">
							<tr>
								<td style="vertical-align:top;">
<%-- 									<c:if test="${QX.add == 1 }"> --%>
									<a class="btn btn-mini btn-success" onclick="add();">新增</a>
<%-- 									</c:if> --%>
<%-- 									<c:if test="${QX.del == 1 }"> --%>
									<a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a>
<%-- 									</c:if> --%>
								</td>
								<td style="vertical-align:top;"><div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div></td>
							</tr>
						</table>
						</div>
						</form>
					
						</div>
						<!-- /.col -->
					</div>
					<!-- /.row -->
				</div>
				<!-- /.page-content -->
			</div>
		</div>
		<!-- /.main-content -->

		<!-- 返回顶部 -->
		<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
			<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
		</a>

	</div>
	<!-- /.main-container -->

	<!-- basic scripts -->
	<!-- 页面底部js¨ -->
	<%@ include file="../../system/index/foot.jsp"%>
	<!-- 删除时确认窗口 -->
	<script src="static/ace/js/bootbox.js"></script>
	<!-- ace scripts -->
	<script src="static/ace/js/ace/ace.js"></script>
	<!-- 下拉框 -->
	<script src="static/ace/js/chosen.jquery.js"></script>
	<!-- 日期框 -->
	<script src="static/ace/js/date-time/bootstrap-datepicker.js"></script>
	<!--提示框-->
	<script type="text/javascript" src="static/js/jquery.tips.js"></script>
	<script type="text/javascript">
		$(top.hangge());//关闭加载状态
		//检索
		function tosearch(){
			top.jzts();
			$("#Form").submit();
		}
		$(function() {
		
			//日期框
			$('.date-picker').datepicker({
				autoclose: true,
				todayHighlight: true
			});
			
			//下拉框
			if(!ace.vars['touch']) {
				$('.chosen-select').chosen({allow_single_deselect:true}); 
				$(window)
				.off('resize.chosen')
				.on('resize.chosen', function() {
					$('.chosen-select').each(function() {
						 var $this = $(this);
						 $this.next().css({'width': $this.parent().width()});
					});
				}).trigger('resize.chosen');
				$(document).on('settings.ace.chosen', function(e, event_name, event_val) {
					if(event_name != 'sidebar_collapsed') return;
					$('.chosen-select').each(function() {
						 var $this = $(this);
						 $this.next().css({'width': $this.parent().width()});
					});
				});
				$('#chosen-multiple-style .btn').on('click', function(e){
					var target = $(this).find('input[type=radio]');
					var which = parseInt(target.val());
					if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
					 else $('#form-field-select-4').removeClass('tag-input-style');
				});
			}
			
			
			//复选框全选控制
			var active_class = 'active';
			$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
				var th_checked = this.checked;//checkbox inside "TH" table header
				$(this).closest('table').find('tbody > tr').each(function(){
					var row = this;
					if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
					else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
				});
			});
		});
		
		//新增
		function add(){
			 top.jzts();
			 var diag = new top.Dialog();
			 diag.Drag=true;
			 diag.Title ="新增";
			 diag.URL = '<%=basePath%>maintenance/goAdd.do';
			 diag.Width = 450;
			 diag.Height = 355;
			 diag.Modal = true;				//有无遮罩窗口
			 diag. ShowMaxButton = true;	//最大化按钮
		     diag.ShowMinButton = true;		//最小化按钮
			 diag.CancelEvent = function(){ //关闭事件
				 if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){
					 if('${page.currentPage}' == '0'){
						 top.jzts();
						 setTimeout("self.location=self.location",100);
					 }else{
						 nextPage(${page.currentPage});
					 }
				}
				diag.close();
			 };
			 diag.show();
		}
		
		//删除
		function del(Id){
			bootbox.confirm("确定要删除吗?", function(result) {
				if(result) {
					top.jzts();
					var url = "<%=basePath%>maintenance/delete.do?MAINTENANCE_COM_ID="+Id;
					$.get(url,function(data){
						nextPage(${page.currentPage});
					});
				}
			});
		}
		
		//修改
		function edit(Id){
			 top.jzts();
			 var diag = new top.Dialog();
			 diag.Drag=true;
			 diag.Title ="编辑";
			 diag.URL = '<%=basePath%>maintenance/goEdit.do?MAINTENANCE_COM_ID='+Id;
			 diag.Width = 450;
			 diag.Height = 355;
			 diag.Modal = true;				//有无遮罩窗口
			 diag. ShowMaxButton = true;	//最大化按钮
		     diag.ShowMinButton = true;		//最小化按钮 
			 diag.CancelEvent = function(){ //关闭事件
				 if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){
					 nextPage(${page.currentPage});
				}
				diag.close();
			 };
			 diag.show();
		}
		
		//批量操作
		function makeAll(msg){
			bootbox.confirm(msg, function(result) {
				if(result) {
					var str = '';
					for(var i=0;i < document.getElementsByName('ids').length;i++){
					  if(document.getElementsByName('ids')[i].checked){
					  	if(str=='') str += document.getElementsByName('ids')[i].value;
					  	else str += ',' + document.getElementsByName('ids')[i].value;
					  }
					}
					if(str==''){
						bootbox.dialog({
							message: "<span class='bigger-110'>您没有选择任何内容!</span>",
							buttons: 			
							{ "button":{ "label":"确定", "className":"btn-sm btn-success"}}
						});
						$("#zcheckbox").tips({
							side:1,
				            msg:'点这里全选',
				            bg:'#AE81FF',
				            time:8
				        });
						return;
					}else{
						if(msg == '确定要删除选中的数据吗?'){
							top.jzts();
							$.ajax({
								type: "POST",
								url: '<%=basePath%>maintenance/deleteAll.do?',
						    	data: {DATA_IDS:str},
								dataType:'json',
								//beforeSend: validateData,
								cache: false,
								success: function(data){
									 $.each(data.list, function(i, list){
											nextPage(${page.currentPage});
									 });
								}
							});
						}
					}
				}
			});
		};
		
		//导出excel
		function toExcel(){
			window.location.href='<%=basePath%>maintenance/excel.do';
		}
	</script>


</body>
</html>

/wxapp/src/main/webapp/WEB-INF/jsp/itsm/maintenance/maintenance_edit.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html lang="en">
	<head>
	<base href="<%=basePath%>">
	<!-- 下拉框 -->
	<link rel="stylesheet" href="static/ace/css/chosen.css" />
	<!-- jsp文件头和头部 -->
	<%@ include file="../../system/index/top.jsp"%>
	<!-- 日期框 -->
	<link rel="stylesheet" href="static/ace/css/datepicker.css" />
</head>
<body class="no-skin">
<!-- /section:basics/navbar.layout -->
<div class="main-container" id="main-container">
	<!-- /section:basics/sidebar -->
	<div class="main-content">
		<div class="main-content-inner">
			<div class="page-content">
				<div class="row">
					<div class="col-xs-12">
					
					<form action="maintenance/${msg }.do" name="Form" id="Form" method="post">
						<input type="hidden" name="MAINTENANCE_COM_ID" id="MAINTENANCE_COM_ID" value="${pd.MAINTENANCE_COM_ID}"/>
						<div id="zhongxin" style="padding-top: 13px;">
						<table id="table_report" class="table table-striped table-bordered table-hover">
							<tr>
								<td style="width:75px;text-align: right;padding-top: 13px;">表ID:</td>
								<td><input type="text" readonly="readonly" name="MAINTENANCE_COM_ID" id="MAINTENANCE_COM_ID" value="${pd.MAINTENANCE_COM_ID}" maxlength="32" placeholder="这里输入表ID" title="表ID" style="width:98%;"/></td>
							</tr>
							<tr>
								<td style="width:75px;text-align: right;padding-top: 13px;">委外维修单位名称:</td>
								<td><input type="text" name="MAINTENANCE_COM_NAME" id="MAINTENANCE_COM_NAME" value="${pd.MAINTENANCE_COM_NAME}" maxlength="255" placeholder="这里输入委外维修单位名称" title="委外维修单位名称" style="width:98%;"/></td>
							</tr>
							<tr>
								<td style="width:75px;text-align: right;padding-top: 13px;">创建日期:</td>
								<td><input type="text" readonly="readonly" name="CREATION_DATE" id="CREATION_DATE" value="${pd.CREATION_DATE}" maxlength="32" placeholder="这里输入创建日期" title="创建日期" style="width:98%;"/></td>
							</tr>
							<tr>
								<td style="width:75px;text-align: right;padding-top: 13px;">创建人:</td>
								<td><input type="text" readonly="readonly" name="CREATION_BY" id="CREATION_BY" value="${pd.CREATION_BY}" maxlength="255" placeholder="这里输入创建人" title="创建人" style="width:98%;"/></td>
							</tr>
							
							<tr>
								<td style="width:75px;text-align: right;padding-top: 13px;">修改日期:</td>
								<td><input type="text" readonly="readonly" name="LAST_UPDATE_DATE" id="LAST_UPDATE_DATE" value="${pd.LAST_UPDATE_DATE}" maxlength="32" placeholder="无" title="修改日期" style="width:98%;"/></td>
							</tr>
							<tr>
								<td style="width:75px;text-align: right;padding-top: 13px;">修改人:</td>
								<td><input type="text" readonly="readonly" name="LAST_UPDATE_BY" id="LAST_UPDATE_BY" value="${pd.LAST_UPDATE_BY}" maxlength="255" placeholder="无" title="修改人" style="width:98%;"/></td>
							</tr>
							
							<tr>
								<td style="text-align: center;" colspan="10">
									<a class="btn btn-mini btn-primary" onclick="save();">保存</a>
									<a class="btn btn-mini btn-danger" onclick="top.Dialog.close();">取消</a>
								</td>
							</tr>
						</table>
						</div>
						<div id="zhongxin2" class="center" style="display:none"><br/><br/><br/><br/><br/><img src="static/images/jiazai.gif" /><br/><h4 class="lighter block green">提交中...</h4></div>
					</form>
					</div>
					<!-- /.col -->
				</div>
				<!-- /.row -->
			</div>
			<!-- /.page-content -->
		</div>
	</div>
	<!-- /.main-content -->
</div>
<!-- /.main-container -->


	<!-- 页面底部js¨ -->
	<%@ include file="../../system/index/foot.jsp"%>
	<!-- 下拉框 -->
	<script src="static/ace/js/chosen.jquery.js"></script>
	<!-- 日期框 -->
	<script src="static/ace/js/date-time/bootstrap-datepicker.js"></script>
	<!--提示框-->
	<script type="text/javascript" src="static/js/jquery.tips.js"></script>
		<script type="text/javascript">
		$(top.hangge());
		//保存
		function save(){
			if($("#MAINTENANCE_COM_NAME").val()==""){
				$("#MAINTENANCE_COM_NAME").tips({
					side:3,
		            msg:'请输入委外维修单位名称',
		            bg:'#AE81FF',
		            time:2
		        });
				$("#MAINTENANCE_COM_NAME").focus();
			return false;
			}
			$("#Form").submit();
			$("#zhongxin").hide();
			$("#zhongxin2").show();
		}
		
		$(function() {
			//日期框
			$('.date-picker').datepicker({autoclose: true,todayHighlight: true});
		});
		</script>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值