创建市场活动

创建市场活动.

         用户在市场活动主页面,点击"创建"按钮,弹出创建市场活动的模态窗口;

 

         用户在创建市场活动的模态窗口填写表单,点击"保存"按钮,完成创建市场活动的功能.

<!-- 创建市场活动的模态窗口 -->
	<div class="modal fade" id="createActivityModal" role="dialog">
		<div class="modal-dialog" role="document" style="width: 85%;">
			<div class="modal-content">
				<div class="modal-header">
					<button type="button" class="close" data-dismiss="modal">
						<span aria-hidden="true">×</span>
					</button>
					<h4 class="modal-title" id="myModalLabel1">创建市场活动</h4>
				</div>
				<div class="modal-body">
				
					<form id="createActivityForm" class="form-horizontal" role="form">
					
						<div class="form-group">
							<label for="create-marketActivityOwner" class="col-sm-2 control-label">所有者<span style="font-size: 15px; color: red;">*</span></label>
							<div class="col-sm-10" style="width: 300px;">
								<select class="form-control" id="create-marketActivityOwner">
								  <c:forEach items="${userList}" var="u">
									   <option value="${u.id}">${u.name}</option>
								  </c:forEach>
								</select>
							</div>
                            <label for="create-marketActivityName" class="col-sm-2 control-label">名称<span style="font-size: 15px; color: red;">*</span></label>
                            <div class="col-sm-10" style="width: 300px;">
                                <input type="text" class="form-control" id="create-marketActivityName">
                            </div>
						</div>
						
						<div class="form-group">
							<label for="create-startDate" class="col-sm-2 control-label">开始日期</label>
							<div class="col-sm-10" style="width: 300px;">
								<input type="text" class="form-control mydate" name="mydate" id="create-startDate" readonly>
							</div>
							<label for="create-endDate" class="col-sm-2 control-label">结束日期</label>
							<div class="col-sm-10" style="width: 300px;">
								<input type="text" class="form-control mydate" name="mydate" id="create-endDate" readonly>
							</div>
						</div>
                        <div class="form-group">

                            <label for="create-cost" class="col-sm-2 control-label">成本</label>
                            <div class="col-sm-10" style="width: 300px;">
                                <input type="text" class="form-control" id="create-cost">
                            </div>
                        </div>
						<div class="form-group">
							<label for="create-description" class="col-sm-2 control-label">描述</label>
							<div class="col-sm-10" style="width: 81%;">
								<textarea class="form-control" rows="3" id="create-description"></textarea>
							</div>
						</div>
						
					</form>
					
				</div>
				<div class="modal-footer">
					<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
					<button type="button" class="btn btn-primary" id="saveCreateActivityBtn">保存</button>
				</div>
			</div>
		</div>
	</div>

13.浏览器在工作区窗口显示市场活动主页面 

<a href="workbench/activity/index.do" target="workareaFrame">

一加载页面就查询所有用户 编写controller

  @Autowired
    UserService userService;
      
    @RequestMapping("/workbench/activity/index.do")
        public String index(HttpServletRequest request){
         //调用service层方法 查询所有用户
         List<User> userList=userService.selectAllUsers();
         //把数据保存daorequest中
        request.setAttribute("userList",userList);
         //请求转发到 市场活动主页面
        return "/workbench/activity/index";
    }

       1-13 点击市场活动 iframe工作区显示 市场活动页面,点击创建调用模态窗口

      14-24

输入市场活动信息 点击保存 发送ajax请求 把参数获取收集到data{**:** } 发送到 ulr地址

 url:'workbench/activity/saveCreateActivity.do' 编写 saveCreateActivity类 接受参数通过实体类Activity      没有自动映射的属性为空 通过外键连接给activity的CreateBy属性赋值为user的id(通过session.getAttribute("user") )赋值

//给"保存"按钮添加单击事件
		$("#saveCreateActivityBtn").click(function () {
			//收集参数
			var owner=$("#create-marketActivityOwner").val();
			var name=$.trim($("#create-marketActivityName").val());
			var startDate=$("#create-startDate").val();
			var endDate=$("#create-endDate").val();
			var cost=$.trim($("#create-cost").val());
			var description=$.trim($("#create-description").val());
			//表单验证
			if(owner==""){
				alert("所有者不能为空");
				return;
			}
			if(name==""){
				alert("名称不能为空");
				return;
			}
			if(startDate!=""&&endDate!=""){
				//使用字符串的大小代替日期的大小
				if(endDate<startDate){
					alert("结束日期不能比开始日期小");
					return;
				}
			}
			
			var regExp=/^(([1-9]\d*)|0)$/;
			if(!regExp.test(cost)){
				alert("成本只能为非负整数");
				return;
			}
			//发送请求
			$.ajax({
				url:'workbench/activity/saveCreateActivity.do',
				data:{
					owner:owner,
					name:name,
					startDate:startDate,
					endDate:endDate,
					cost:cost,
					description:description
				},
				type:'post',
				dataType:'json',
				success:function (data) {
					if(data.code=="1"){
						//关闭模态窗口
						$("#createActivityModal").modal("hide");
						//刷新市场活动列,显示第一页数据,保持每页显示条数不变
						queryActivityByConditionForPage(1,$("#demo_pag1").bs_pagination('getOption', 'rowsPerPage'));
					}else{
						//提示信息
						alert(data.message);
						//模态窗口不关闭
						$("#createActivityModal").modal("show");//可以不写。
					}
				}
			});
		});

 

@Autowired
ActivityService activityService;        
通过封装好的activity 调用service层的insertActiviry方法 保存创建对市场活动信息

插入成功 设置响应信息给浏览器 自动封装成json格式

        

@RequestMapping("/workbench/activity/saveCreateActivity.do")
    @ResponseBody
    public Object saveCreateActivity(Activity activity, HttpSession session){
        User user = (User) session.getAttribute("user");
        activity.setId(UUID.randomUUID().toString().
               replaceAll("-",""));
       activity.setCreateTime(DateUtils.formateDateTime());
       activity.setCreateBy(user.getId());
       //调用serviec层方法 保存创建的市场活动

        ReturnObject returnObject=new ReturnObject();
        try{
     int ret= activityService.insertActivity(activity);
     if(ret>0){
         returnObject.setCode("1");
     }else {
         returnObject.setCode("0");
         returnObject.setMessage("用户插入失败,系统忙");
     }
        }catch (Exception e){
            e.printStackTrace();
            returnObject.setCode("0");
            returnObject.setMessage("系统忙");
        }
        return returnObject;
    }
}

 14.用户点击”创建“按钮

15.弹出创建市场活动的模态窗口

16.用户填写表单

17.用户”保存“按钮

18.用户保存请求 异步请求 :表单中所有的参数

19.ActivityControll 获取参数。

20。封装参数(实体类对象activity) 逆向工程生成activity表和mapper接口 ,xml

21.int insertActivity(Activity activity);

22.int insertActivity(Activity activity);

23.执行sql语句,保存创建的市场活动

24.根据生成的结果生成响应信息

 

         *所有者是动态的(//在现实市场活动主页面时,就从数据库中查询出所有用户并且显示在创建的模态窗口中)

         *所有者和名称不能为空

         *如果开始日期和结束日期都不为空,则结束日期不能比开始日期小

         *成本只能为非负整数

         *创建成功之后,关闭模态窗口,刷新市场活动列,显示第一页数据,保持每页显示条数不变

         *创建失败,提示信息创建失败,模态窗口不关闭,市场活动列表也不刷新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值