dingxin 6 年之前
父節點
當前提交
13f29548ac
共有 23 個檔案被更改,包括 1094 行新增2 行删除
  1. 70
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/HotelController.java
  2. 21
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/HotelRoomController.java
  3. 24
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/HotelMapper.java
  4. 32
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/HotelRoomMapper.java
  5. 18
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/HotelSettingMapper.java
  6. 79
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/model/Hotel.java
  7. 94
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/model/HotelRoom.java
  8. 47
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/model/HotelSetting.java
  9. 16
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/IHotelRoomService.java
  10. 32
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/IHotelService.java
  11. 20
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/HotelRoomServiceImpl.java
  12. 91
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/HotelServiceImpl.java
  13. 7
    0
      CODE/smart-community/property-api/src/main/resources/mapper/HotelMapper.xml
  14. 28
    0
      CODE/smart-community/property-api/src/main/resources/mapper/HotelRoomMapper.xml
  15. 5
    0
      CODE/smart-community/property-api/src/main/resources/mapper/HotelSettingMapper.xml
  16. 32
    0
      VUECODE/smart-property-manage/src/api/grogshop.js
  17. 29
    0
      VUECODE/smart-property-manage/src/router/index.js
  18. 3
    1
      VUECODE/smart-property-manage/src/store/index.js
  19. 25
    0
      VUECODE/smart-property-manage/src/store/modules/grogshop.js
  20. 145
    0
      VUECODE/smart-property-manage/src/views/grogshop/configindex.vue
  21. 198
    0
      VUECODE/smart-property-manage/src/views/grogshop/grogshopRoom.vue
  22. 77
    0
      VUECODE/smart-property-manage/src/views/grogshop/grogshopRoomAdd.vue
  23. 1
    1
      VUECODE/smart-property-manage/src/views/ticket/index.vue

+ 70
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/HotelController.java 查看文件

@@ -0,0 +1,70 @@
1
+package com.community.huiju.controller;
2
+
3
+
4
+import com.community.commom.mode.ResponseBean;
5
+import com.community.commom.session.UserElement;
6
+import com.community.huiju.service.IHotelService;
7
+import io.swagger.annotations.Api;
8
+import io.swagger.annotations.ApiImplicitParam;
9
+import io.swagger.annotations.ApiImplicitParams;
10
+import io.swagger.annotations.ApiOperation;
11
+import org.springframework.beans.factory.annotation.Autowired;
12
+import org.springframework.web.bind.annotation.RequestBody;
13
+import org.springframework.web.bind.annotation.RequestMapping;
14
+
15
+import org.springframework.web.bind.annotation.RequestMethod;
16
+import org.springframework.web.bind.annotation.RestController;
17
+import com.community.huiju.common.base.BaseController;
18
+
19
+import javax.servlet.http.HttpSession;
20
+
21
+/**
22
+ * <p>
23
+ * 酒店 前端控制器
24
+ * </p>
25
+ *
26
+ * @author jobob
27
+ * @since 2019-05-13
28
+ */
29
+@RestController
30
+@RequestMapping("/")
31
+@Api(value = "", description = "酒店管理API")
32
+public class HotelController extends BaseController {
33
+    @Autowired
34
+    private IHotelService iHotelService;
35
+
36
+    @ApiOperation(value = "房屋列表", notes = "房屋列表")
37
+    @ApiImplicitParams({
38
+            @ApiImplicitParam(paramType = "body",dataType = "String",name = "parameter",value = "roomNo:房间号" +
39
+                    "roomName:房间名称" +
40
+                    "price:价格" +
41
+                    "roomStatus:(1:是已上架 2:是已下架)" +
42
+                    "beginTime:开始时间"+
43
+                    "endTime:结束时间"+
44
+                    "sort:权重")
45
+    })
46
+    @ApiImplicitParam(paramType = "header", dataTypeClass = String.class, name = "X-Auth-Token", value = "token")
47
+    @RequestMapping(value = "/hotelRoomList", method = RequestMethod.POST)
48
+    public ResponseBean hotelRoom(@RequestBody String parameter, HttpSession session){
49
+        UserElement userElement = getUserElement(session);
50
+        ResponseBean  responseBean = iHotelService.hotelRoomLiset(parameter,userElement.getCommunityId());
51
+        return responseBean;
52
+    }
53
+
54
+    @ApiOperation(value = "工单列表", notes = "工单列表")
55
+    @ApiImplicitParams({
56
+            @ApiImplicitParam(paramType = "body",dataType = "String",name = "parameter",value = "roomNo:房间号" +
57
+                    "roomName:房间名称" +
58
+                    "price:价格" +
59
+                    "roomStatus:(1:是已上架 2:是已下架)" +
60
+                    "remark:(描述)"+
61
+                    "sort:权重")
62
+    })
63
+    @ApiImplicitParam(paramType = "header", dataTypeClass = String.class, name = "X-Auth-Token", value = "token")
64
+    @RequestMapping(value = "/hotelRoomAdd", method = RequestMethod.POST)
65
+    public ResponseBean hotelRoomAdd(@RequestBody String parameter, HttpSession session){
66
+        UserElement userElement = getUserElement(session);
67
+        ResponseBean  responseBean = iHotelService.hotelRoomAdd(parameter,userElement);
68
+        return responseBean;
69
+    }
70
+}

+ 21
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/HotelRoomController.java 查看文件

@@ -0,0 +1,21 @@
1
+package com.community.huiju.controller;
2
+
3
+
4
+import org.springframework.web.bind.annotation.RequestMapping;
5
+
6
+import org.springframework.web.bind.annotation.RestController;
7
+import com.community.huiju.common.base.BaseController;
8
+
9
+/**
10
+ * <p>
11
+ * 酒店房间表 前端控制器
12
+ * </p>
13
+ *
14
+ * @author jobob
15
+ * @since 2019-05-13
16
+ */
17
+@RestController
18
+@RequestMapping("/")
19
+public class HotelRoomController extends BaseController {
20
+
21
+}

+ 24
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/HotelMapper.java 查看文件

@@ -0,0 +1,24 @@
1
+package com.community.huiju.dao;
2
+
3
+import com.community.huiju.model.Hotel;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+import org.apache.ibatis.annotations.Param;
7
+
8
+/**
9
+ * <p>
10
+ * 酒店 Mapper 接口
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2019-05-13
15
+ */
16
+@Mapper
17
+public interface HotelMapper extends BaseMapper<Hotel> {
18
+
19
+    /**
20
+     * 查询酒店,当前小区酒店只有一个
21
+     * @return
22
+     */
23
+    Hotel selectHotel(@Param("communityId") Integer communityId);
24
+}

+ 32
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/HotelRoomMapper.java 查看文件

@@ -0,0 +1,32 @@
1
+package com.community.huiju.dao;
2
+
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
+import com.community.huiju.model.HotelRoom;
6
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7
+import org.apache.ibatis.annotations.Mapper;
8
+import org.apache.ibatis.annotations.Param;
9
+
10
+import java.util.Date;
11
+
12
+/**
13
+ * <p>
14
+ * 酒店房间表 Mapper 接口
15
+ * </p>
16
+ *
17
+ * @author jobob
18
+ * @since 2019-05-13
19
+ */
20
+@Mapper
21
+public interface HotelRoomMapper extends BaseMapper<HotelRoom> {
22
+
23
+    /**
24
+     * 查询房间列表
25
+     * @param hotelRoom
26
+     * @param beginTime
27
+     * @param endTime
28
+     * @param communityId
29
+     * @return
30
+     */
31
+    IPage<HotelRoom> hotelRoomLiset(Page HotelRoom , @Param("hotelRoom") HotelRoom hotelRoom, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, @Param("communityId") Integer communityId);
32
+}

+ 18
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/HotelSettingMapper.java 查看文件

@@ -0,0 +1,18 @@
1
+package com.community.huiju.dao;
2
+
3
+import com.community.huiju.model.HotelSetting;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 酒店开关设置 Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author jobob
13
+ * @since 2019-05-13
14
+ */
15
+@Mapper
16
+public interface HotelSettingMapper extends BaseMapper<HotelSetting> {
17
+
18
+}

+ 79
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/Hotel.java 查看文件

@@ -0,0 +1,79 @@
1
+package com.community.huiju.model;
2
+
3
+import com.baomidou.mybatisplus.annotation.TableName;
4
+import java.time.LocalDateTime;
5
+import java.io.Serializable;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+/**
11
+ * <p>
12
+ * 酒店
13
+ * </p>
14
+ *
15
+ * @author jobob
16
+ * @since 2019-05-13
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+@TableName("tp_hotel")
22
+public class Hotel implements Serializable {
23
+
24
+    private  Integer id;
25
+
26
+    private static final long serialVersionUID = 1L;
27
+
28
+    /**
29
+     * 小区ID
30
+     */
31
+    private Integer communityId;
32
+
33
+    /**
34
+     * 酒店电话
35
+     */
36
+    private String hotelTel;
37
+
38
+    /**
39
+     * 酒店地址
40
+     */
41
+    private String hotelAddress;
42
+
43
+    /**
44
+     * 酒店经度
45
+     */
46
+    private String hotelLongitude;
47
+
48
+    /**
49
+     * 酒店纬度
50
+     */
51
+    private String hotelLatitude;
52
+
53
+    /**
54
+     * 酒店介绍
55
+     */
56
+    private String hotelIntroduction;
57
+
58
+    /**
59
+     * 创建时间
60
+     */
61
+    private LocalDateTime createDate;
62
+
63
+    /**
64
+     * 创建人
65
+     */
66
+    private Integer createUser;
67
+
68
+    /**
69
+     * 更新时间
70
+     */
71
+    private LocalDateTime updateDate;
72
+
73
+    /**
74
+     * 更新人
75
+     */
76
+    private Integer updateUser;
77
+
78
+
79
+}

+ 94
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/HotelRoom.java 查看文件

@@ -0,0 +1,94 @@
1
+package com.community.huiju.model;
2
+
3
+import com.baomidou.mybatisplus.annotation.TableField;
4
+import com.baomidou.mybatisplus.annotation.TableName;
5
+import java.time.LocalDateTime;
6
+import java.io.Serializable;
7
+import lombok.Data;
8
+import lombok.EqualsAndHashCode;
9
+import lombok.experimental.Accessors;
10
+
11
+/**
12
+ * <p>
13
+ * 酒店房间表
14
+ * </p>
15
+ *
16
+ * @author jobob
17
+ * @since 2019-05-13
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+@TableName("tp_hotel_room")
23
+public class HotelRoom implements Serializable {
24
+
25
+    private static final long serialVersionUID = 1L;
26
+
27
+    /**
28
+     * 小区ID
29
+     */
30
+    private Integer communityId;
31
+
32
+    /**
33
+     * 酒店ID
34
+     */
35
+    private Integer hotelId;
36
+
37
+    /**
38
+     * 房间编号
39
+     */
40
+    private String roomNo;
41
+
42
+    /**
43
+     * 房间名称
44
+     */
45
+    private String roomName;
46
+
47
+    /**
48
+     * 排序(权重)
49
+     */
50
+    private Integer sort;
51
+
52
+    /**
53
+     * 房间价格
54
+     */
55
+    private String price;
56
+
57
+    /**
58
+     * 上架状态 1 是已上架 2是已下架
59
+     */
60
+    private String roomStatus;
61
+
62
+    /**
63
+     * 房间备注
64
+     */
65
+    private String remark;
66
+
67
+    /**
68
+     * 创建时间
69
+     */
70
+    private LocalDateTime createDate;
71
+
72
+    /**
73
+     * 创建人
74
+     */
75
+    private Integer createUser;
76
+
77
+    /**
78
+     * 更新时间
79
+     */
80
+    private LocalDateTime updateDate;
81
+
82
+    /**
83
+     * 更新人
84
+     */
85
+    private Integer updateUser;
86
+
87
+    /**
88
+     * 编辑人
89
+     */
90
+    @TableField(exist = false)
91
+    private String editUser;
92
+
93
+
94
+}

+ 47
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/HotelSetting.java 查看文件

@@ -0,0 +1,47 @@
1
+package com.community.huiju.model;
2
+
3
+import com.baomidou.mybatisplus.annotation.TableName;
4
+import java.time.LocalDateTime;
5
+import java.io.Serializable;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+/**
11
+ * <p>
12
+ * 酒店开关设置
13
+ * </p>
14
+ *
15
+ * @author jobob
16
+ * @since 2019-05-13
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+@TableName("tp_hotel_setting")
22
+public class HotelSetting implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * 小区ID
28
+     */
29
+    private Integer communityId;
30
+
31
+    /**
32
+     * 酒店ID
33
+     */
34
+    private Integer hotelId;
35
+
36
+    /**
37
+     * 创建时间
38
+     */
39
+    private LocalDateTime createDate;
40
+
41
+    /**
42
+     * 创建人
43
+     */
44
+    private Integer createUser;
45
+
46
+
47
+}

+ 16
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/IHotelRoomService.java 查看文件

@@ -0,0 +1,16 @@
1
+package com.community.huiju.service;
2
+
3
+import com.community.huiju.model.HotelRoom;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 酒店房间表 服务类
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-05-13
13
+ */
14
+public interface IHotelRoomService extends IService<HotelRoom> {
15
+
16
+}

+ 32
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/IHotelService.java 查看文件

@@ -0,0 +1,32 @@
1
+package com.community.huiju.service;
2
+
3
+import com.community.commom.mode.ResponseBean;
4
+import com.community.commom.session.UserElement;
5
+import com.community.huiju.model.Hotel;
6
+import com.baomidou.mybatisplus.extension.service.IService;
7
+
8
+/**
9
+ * <p>
10
+ * 酒店 服务类
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2019-05-13
15
+ */
16
+public interface IHotelService extends IService<Hotel> {
17
+
18
+    /**
19
+     * 房间列表
20
+     * @param parameter
21
+     * @param communityId
22
+     * @return
23
+     */
24
+    ResponseBean hotelRoomLiset(String parameter, Integer communityId);
25
+
26
+    /**
27
+     * 添加房间
28
+     * @param parameter
29
+     * @return
30
+     */
31
+    ResponseBean hotelRoomAdd(String parameter , UserElement userElement);
32
+}

+ 20
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/HotelRoomServiceImpl.java 查看文件

@@ -0,0 +1,20 @@
1
+package com.community.huiju.service.impl;
2
+
3
+import com.community.huiju.dao.HotelRoomMapper;
4
+import com.community.huiju.model.HotelRoom;
5
+import com.community.huiju.service.IHotelRoomService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ * 酒店房间表 服务实现类
12
+ * </p>
13
+ *
14
+ * @author jobob
15
+ * @since 2019-05-13
16
+ */
17
+@Service
18
+public class HotelRoomServiceImpl extends ServiceImpl<HotelRoomMapper, HotelRoom> implements IHotelRoomService {
19
+
20
+}

+ 91
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/HotelServiceImpl.java 查看文件

@@ -0,0 +1,91 @@
1
+package com.community.huiju.service.impl;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.community.commom.mode.ResponseBean;
7
+import com.community.commom.session.UserElement;
8
+import com.community.huiju.dao.HotelMapper;
9
+import com.community.huiju.dao.HotelRoomMapper;
10
+import com.community.huiju.dao.UserMapper;
11
+import com.community.huiju.model.Hotel;
12
+import com.community.huiju.model.HotelRoom;
13
+import com.community.huiju.model.TpTicket;
14
+import com.community.huiju.model.User;
15
+import com.community.huiju.service.IHotelService;
16
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
17
+import org.springframework.beans.factory.annotation.Autowired;
18
+import org.springframework.stereotype.Service;
19
+
20
+import java.time.LocalDateTime;
21
+import java.util.Date;
22
+import java.util.HashMap;
23
+import java.util.List;
24
+
25
+/**
26
+ * <p>
27
+ * 酒店 服务实现类
28
+ * </p>
29
+ *
30
+ * @author jobob
31
+ * @since 2019-05-13
32
+ */
33
+@Service
34
+public class HotelServiceImpl extends ServiceImpl<HotelMapper, Hotel> implements IHotelService {
35
+
36
+    @Autowired
37
+    private HotelRoomMapper tpHotelRoomMapper;
38
+
39
+    @Autowired
40
+    private  HotelMapper tpHotelMapper;
41
+
42
+    @Autowired
43
+    private UserMapper tpUserMapper;
44
+    @Override
45
+    public ResponseBean hotelRoomLiset(String parameter, Integer communityId) {
46
+        ResponseBean response= new ResponseBean<>();
47
+        HotelRoom hotelRoom= JSONObject.parseObject(parameter, HotelRoom.class);
48
+
49
+        JSONObject object= JSONObject.parseObject(parameter);
50
+        Integer pageNum = object.getInteger("pageNum");
51
+        Integer pageSize = object.getInteger("pageSize");
52
+
53
+        Date beginTime = object.getDate("beginTime");
54
+        Date endTime = object.getDate("endTime");
55
+
56
+        Page<HotelRoom> page = new Page<>();
57
+        page.setSize(pageSize == null ? 10 : pageSize);
58
+        page.setCurrent(pageNum == null ? 1 : pageNum);
59
+
60
+        IPage<HotelRoom> pageInfo = tpHotelRoomMapper.hotelRoomLiset(page,hotelRoom,beginTime,endTime,communityId);
61
+        List<HotelRoom> hotelRoomList = pageInfo.getRecords();
62
+        for (HotelRoom hotelRoomS:hotelRoomList){
63
+            User user= tpUserMapper.selectById(hotelRoomS.getUpdateUser());
64
+            if (null != user){
65
+                hotelRoomS.setEditUser(user.getUserName());
66
+            }
67
+        }
68
+        HashMap map=new HashMap<>();
69
+        map.put("list",hotelRoomList);
70
+        map.put("total", pageInfo.getTotal());
71
+        map.put("pageNum", pageInfo.getCurrent());
72
+        map.put("pageSize", pageInfo.getSize());
73
+        response.addSuccess(map);
74
+        return response;
75
+    }
76
+
77
+    @Override
78
+    public ResponseBean hotelRoomAdd(String parameter, UserElement userElement) {
79
+        ResponseBean response= new ResponseBean<>();
80
+        HotelRoom hotelRoom= JSONObject.parseObject(parameter, HotelRoom.class);
81
+        Hotel hotel= tpHotelMapper.selectHotel(userElement.getCommunityId());
82
+        hotelRoom.setCommunityId(userElement.getCommunityId())
83
+                .setHotelId(hotel.getId())
84
+                .setPrice(String.valueOf(Double.valueOf(hotelRoom.getPrice())))
85
+                .setCreateDate(LocalDateTime.now())
86
+                .setCreateUser(userElement.getId());
87
+        tpHotelRoomMapper.insert(hotelRoom);
88
+        response.addSuccess("成功");
89
+        return response;
90
+    }
91
+}

+ 7
- 0
CODE/smart-community/property-api/src/main/resources/mapper/HotelMapper.xml 查看文件

@@ -0,0 +1,7 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.community.huiju.dao.HotelMapper">
4
+ <select id="selectHotel" resultType="com.community.huiju.model.Hotel">
5
+  select * from tp_hotel where community_id = #{communityId};
6
+ </select>
7
+</mapper>

+ 28
- 0
CODE/smart-community/property-api/src/main/resources/mapper/HotelRoomMapper.xml 查看文件

@@ -0,0 +1,28 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.community.huiju.dao.HotelRoomMapper">
4
+    <select id="hotelRoomLiset" resultType="com.community.huiju.model.HotelRoom">
5
+        select
6
+        *
7
+        from tp_hotel_room
8
+        <where>
9
+            <if test="hotelRoom.roomNo !=null and hotelRoom.roomNo !=''">
10
+                AND  room_no like concat('%',#{hotelRoom.roomNo},'%')
11
+            </if>
12
+            <if test="hotelRoom.roomName !=null and hotelRoom.roomName !=''">
13
+                AND room_name = #{hotelRoom.roomName}
14
+            </if>
15
+            <if test="hotelRoom.price !=null and hotelRoom.price !=''">
16
+                AND price = #{hotelRoom.price}
17
+            </if>
18
+            <if test="hotelRoom.roomStatus !=null and hotelRoom.roomStatus !=''">
19
+                AND room_no = #{hotelRoom.roomStatus}
20
+            </if>
21
+            <if test="beginTime !=null and beginTime !='' and endTime !=null and endTime !=''">
22
+                AND date_format(create_date, '%Y-%m-%d') <![CDATA[>= ]]> date_format(#{beginTime}, '%Y-%m-%d')
23
+                AND date_format(create_date, '%Y-%m-%d')<![CDATA[<= ]]> date_format(#{endTime}, '%Y-%m-%d')
24
+            </if>
25
+        </where>
26
+    </select>
27
+
28
+</mapper>

+ 5
- 0
CODE/smart-community/property-api/src/main/resources/mapper/HotelSettingMapper.xml 查看文件

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.community.huiju.dao.HotelSettingMapper">
4
+
5
+</mapper>

+ 32
- 0
VUECODE/smart-property-manage/src/api/grogshop.js 查看文件

@@ -0,0 +1,32 @@
1
+import request from '@/utils/request'
2
+
3
+export function hotelRoom(data) {
4
+  return request({
5
+    url: '/hotelRoomList',
6
+    method: 'post',
7
+    data: {
8
+      roomNo: data.roomNo,
9
+      roomName: data.roomName,
10
+      price: data.price,
11
+      roomStatus: data.roomStatus,
12
+      beginTime: data.beginTime,
13
+      endTime: data.endTime,
14
+      sort: data.sort
15
+    }
16
+  })
17
+}
18
+export function hotelRoomAdd(data) {
19
+  return request({
20
+    url: '/hotelRoomAdd',
21
+    method: 'post',
22
+    data: {
23
+      roomNo: data.roomNo,
24
+      roomName: data.roomName,
25
+      price: data.price,
26
+      roomStatus: data.roomStatus,
27
+      sort: data.sort,
28
+      remark: data.remark
29
+    }
30
+  })
31
+}
32
+

+ 29
- 0
VUECODE/smart-property-manage/src/router/index.js 查看文件

@@ -419,6 +419,35 @@ export const constantRouterMap = [
419 419
       }
420 420
     ]
421 421
   },
422
+  {
423
+    path: '/grogshop',
424
+    component: Layout,
425
+    redirect: '/grogshop/configindex',
426
+    name: 'grogshop',
427
+    alwaysShow: true,
428
+    meta: { title: '酒店管理', icon: 'zip' },
429
+    children: [
430
+      {
431
+        path: '/grogshop/configindex',
432
+        component: () => import('@/views/grogshop/configindex'),
433
+        name: 'grogshop-configindex',
434
+        meta: { title: '酒店配置', icon: 'table' }
435
+      },
436
+      {
437
+        path: '/grogshop/grogshopRoom',
438
+        component: () => import('@/views/grogshop/grogshopRoom'),
439
+        name: 'grogshop-grogshopRoom',
440
+        meta: { title: '房间列表', icon: 'table' }
441
+      },
442
+      {
443
+        path: '/grogshop/grogshopRoomAdd',
444
+        component: () => import('@/views/grogshop/grogshopRoomAdd'),
445
+        name: 'grogshop-grogshopRoomAdd',
446
+        hidden: true,
447
+        meta: { title: '新增房间', icon: 'table' }
448
+      }
449
+    ]
450
+  },
422 451
   {
423 452
     path: '/systemResources',
424 453
     component: Layout,

+ 3
- 1
VUECODE/smart-property-manage/src/store/index.js 查看文件

@@ -22,6 +22,7 @@ import message from './modules/message'
22 22
 import buildingTree from './modules/buildingTree'
23 23
 import equipment from './modules/equipment'
24 24
 import shopType from './modules/shopType'
25
+import grogshop from './modules/grogshop'
25 26
 
26 27
 Vue.use(Vuex)
27 28
 
@@ -47,7 +48,8 @@ const store = new Vuex.Store({
47 48
     message,
48 49
     buildingTree,
49 50
     equipment,
50
-    shopType
51
+    shopType,
52
+    grogshop
51 53
   },
52 54
   getters
53 55
 })

+ 25
- 0
VUECODE/smart-property-manage/src/store/modules/grogshop.js 查看文件

@@ -0,0 +1,25 @@
1
+import { hotelRoom, hotelRoomAdd } from '@/api/grogshop'
2
+
3
+const grogshop = {
4
+  actions: {
5
+    HotelRoom({ commit }, data) {
6
+      return new Promise((resolve, reject) => {
7
+        hotelRoom(data).then(response => {
8
+          resolve(response)
9
+        }).catch(error => {
10
+          reject(error)
11
+        })
12
+      })
13
+    },
14
+    HotelRoomAdd({ commit }, data) {
15
+      return new Promise((resolve, reject) => {
16
+        hotelRoomAdd(data).then(response => {
17
+          resolve(response)
18
+        }).catch(error => {
19
+          reject(error)
20
+        })
21
+      })
22
+    }
23
+  }
24
+}
25
+export default grogshop

+ 145
- 0
VUECODE/smart-property-manage/src/views/grogshop/configindex.vue 查看文件

@@ -0,0 +1,145 @@
1
+<template>
2
+  <div class="root">
3
+    <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="add-ruleForm">
4
+      <el-form-item label="角色名称" prop="roleName">
5
+        <el-input :disabled="true" v-model="ruleForm.roleName"/>
6
+      </el-form-item>
7
+      <el-form-item label="角色描述" prop="description">
8
+        <el-input :disabled="true" v-model="ruleForm.description"/>
9
+      </el-form-item>
10
+      <el-form-item label="资源权限" prop="menuArray">
11
+        <el-tree
12
+          ref="tree"
13
+          :data="menuList"
14
+          show-checkbox
15
+          node-key="id"
16
+          :default-expanded-keys="ruleForm.menuArray"
17
+          :default-checked-keys="ruleForm.menuArray"
18
+          :props="defaultProps">
19
+        </el-tree>
20
+      </el-form-item> 
21
+      <el-form-item>
22
+        <el-button type="primary" @click="goEditRole">去修改</el-button>
23
+      </el-form-item>
24
+    </el-form>
25
+  </div>
26
+</template>
27
+
28
+<script>
29
+import { mapState, mapActions, mapMutations } from 'vuex'
30
+import waves from '@/directive/waves' // Waves directive
31
+import { parseTime } from '@/utils'
32
+
33
+export default {
34
+  computed: {
35
+    ...mapState('role', {
36
+      menuList: s => s.menuList
37
+    })
38
+  },
39
+  data() {
40
+    return {
41
+      ruleForm: {
42
+        id: '',
43
+        roleName: '',
44
+        description: '',
45
+        menuArray: []
46
+      },
47
+      rules: {
48
+        roleName: [
49
+          { required: true, message: '请输入角色名称', trigger: 'blur' }
50
+        ],
51
+        menuArray: [
52
+          { type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
53
+        ]
54
+      },
55
+      defaultProps: {
56
+        children: 'children',
57
+        label: 'menuName',
58
+        disabled: () => true
59
+      }
60
+    }
61
+  },
62
+  created(){
63
+    this.ruleForm.id = this.$route.params.id
64
+    this.getDataById()
65
+    this.getMenuList()
66
+  },
67
+  methods: {
68
+    ...mapMutations('role', {
69
+    }),
70
+    ...mapActions('role', [
71
+      'FetchMenuList',
72
+      'UpdateRoleInfo',
73
+      'GetRoleInfo'
74
+    ]),
75
+    submitForm(formName) { // 提交
76
+      // 获取选中的树形节点 key
77
+      this.ruleForm.menuArray = this.$refs.tree.getCheckedKeys()
78
+      console.log(this.ruleForm.menuArray)
79
+      this.$refs[formName].validate((valid) => {
80
+        if (valid) {
81
+          this.updateRole()
82
+        } else {
83
+          console.log('error submit!!')
84
+          return false
85
+        }
86
+      })
87
+    },
88
+    getMenuList() {
89
+      this.FetchMenuList().then(() => {
90
+      }).catch(() => {
91
+        console.log('get list error')
92
+      })
93
+    },
94
+    resetForm(formName) { // 重置
95
+      this.$refs[formName].resetFields()
96
+    },
97
+    updateRole() {
98
+      // 加载框
99
+      const loading = this.$loading({
100
+        lock: true,
101
+        text: 'Loading',
102
+        spinner: 'el-icon-loading',
103
+        background: 'rgba(0, 0, 0, 0.7)'
104
+      })
105
+      this.UpdateRoleInfo(this.ruleForm).then((res) => {
106
+        if (res.code === '0') {
107
+          this.$message({
108
+            message: res.message,
109
+            type: 'success'
110
+          })
111
+          this.$router.push({ name: 'role-index' })
112
+          loading.close()
113
+          return
114
+        }
115
+        this.$message.error(res.message)
116
+        loading.close()
117
+      }).catch(() => {
118
+        loading.close()
119
+        console.log('error updateRole')
120
+      })
121
+    },
122
+    goEditRole(){
123
+      this.$router.push({ name: 'role-edit', params: { id: this.ruleForm.id }})
124
+    },
125
+    getDataById() {
126
+      this.GetRoleInfo(this.ruleForm.id).then((res) => {
127
+        this.ruleForm.roleName = res.data.roleName
128
+        this.ruleForm.description = res.data.description
129
+        this.ruleForm.menuArray = res.data.menuArray
130
+      }).catch(() => {
131
+        console.log('error init role')
132
+      })
133
+    }
134
+  }
135
+}
136
+</script>
137
+
138
+<style scoped>
139
+.add-ruleForm{
140
+  width: 800px;
141
+  margin-left: auto;
142
+  margin-right: auto;
143
+  margin-top: 50px;
144
+}
145
+</style>

+ 198
- 0
VUECODE/smart-property-manage/src/views/grogshop/grogshopRoom.vue 查看文件

@@ -0,0 +1,198 @@
1
+<template>
2
+  <div>
3
+    <el-form :inline="true" :model="listQuery" class="form-listQuery">
4
+      <el-form-item class="filter-item"  label="房间编号">
5
+        <el-input v-model="listQuery.roomNo"  placeholder="房间编号"/>
6
+      </el-form-item>
7
+      <el-form-item class="filter-item"  label="房间名称">
8
+        <el-input v-model="listQuery.roomName" placeholder="房间名称"/>
9
+      </el-form-item>
10
+      <el-form-item class="filter-item"  label="房间价格">
11
+        <el-input  v-model="listQuery.price" placeholder="房间价格"/>
12
+      </el-form-item>
13
+      <el-form-item class="filter-item"  label="上架状态">
14
+        <el-select v-model="listQuery.roomStatus" placeholder="待办类型">
15
+         <el-option label="已上架" value="1"/>
16
+         <el-option label="已下架" value="2"/>
17
+        </el-select>
18
+      </el-form-item>
19
+      <el-form-item class="filter-item"  label="预订日期从">
20
+            <el-date-picker
21
+              v-model="listQuery.beginTime"
22
+              type="date"
23
+              placeholder="年-月-日">
24
+              </el-date-picker>
25
+              <span>-</span>
26
+              <el-date-picker
27
+              v-model="listQuery.endTime"
28
+              type="date"
29
+              placeholder="年-月-日">
30
+              </el-date-picker>
31
+      </el-form-item>
32
+      <el-form-item>
33
+        <el-button type="info" class="filter-item" @click="handleFilter">清空</el-button>
34
+        <el-button type="primary" @click="search">查询</el-button>
35
+      </el-form-item>
36
+
37
+      <el-row>
38
+      <el-button type="success" @click="addHotelRoom()">新增</el-button>
39
+      <el-button type="info">编辑</el-button>
40
+       <el-button type="primary">上架状态</el-button>
41
+      <el-button type="danger">下架房间</el-button>
42
+      </el-row>
43
+
44
+    </el-form>
45
+      <el-table
46
+      v-loading="listLoading"
47
+      ref="multipleTable"
48
+      :data="listData"
49
+      border
50
+      tooltip-effect="dark"
51
+      style="width: 100%; margin-top: 20px;"
52
+      @selection-change="handleSelectionChange">
53
+      <el-table-column
54
+        type="selection"
55
+        width="55"/>
56
+      <el-table-column prop="roomNo" label="编号" align="center"/>
57
+      <el-table-column prop="roomName" label="房间名称" align="center"/>
58
+      <el-table-column prop="sort" label="权重" align="center"/>
59
+      <el-table-column prop="price" label="房间价格" align="center"/>
60
+      <el-table-column prop="roomStatus" label="上架状态" align="center"/>
61
+      <el-table-column prop="editUser" label="编辑人" align="center"/>
62
+      <el-table-column prop="createDate" label="时间" align="center"><template slot-scope="scope">{{ formatDate(scope.row.createDate) }}</template></el-table-column>
63
+
64
+    </el-table>
65
+        <div class="block">
66
+      <el-pagination
67
+        :current-page.sync="listQuery.pageNum"
68
+        :page-sizes="[10, 20, 50, 100]"
69
+        :page-size.sync="listQuery.pageSize"
70
+        :total="total"
71
+        layout="total, sizes, prev, pager, next, jumper"
72
+        @size-change="handleSizeChange"
73
+        @current-change="handleCurrentChange"/>
74
+  </div>
75
+
76
+</div>
77
+
78
+</template>
79
+
80
+<script>
81
+export default {
82
+    data() {
83
+        return {
84
+          listQuery: {
85
+            id: '',
86
+            messageContent: '',
87
+            status: '',
88
+            //待办类型
89
+            messageType:'',
90
+            pageNum: 1,
91
+            pageSize: 10,
92
+            dataValue: '',
93
+            roomNo: '',
94
+            roomName: '',
95
+            price: '',
96
+            beginTime: '',
97
+            endTime: '',
98
+            roomStatus: '',
99
+            editUser: ''      
100
+          },
101
+           deleteIds: [], // 选择的id集合
102
+           total: 0,
103
+           listLoading: true, // 加载圈
104
+           listData: [],
105
+        }
106
+    },
107
+    mounted(){
108
+        //  this.listLoading = false
109
+    this.dataQuery()
110
+    },
111
+    methods:{
112
+    dataQuery() { // 查询数据
113
+      this.listLoading = true
114
+      this.$store.dispatch('HotelRoom', this.listQuery).then((res) => {
115
+        const resData = res.data
116
+        this.listData = resData.list
117
+        this.listQuery.pageNum = resData.pageNum
118
+        this.listQuery.pageSize = resData.pageSize
119
+        this.total = resData.total
120
+        this.listLoading = false
121
+      }).catch(() => {
122
+        this.listLoading = false
123
+        console.log('error HotelRoom')
124
+      })
125
+    },
126
+    handleSizeChange(val) {
127
+      console.log(`每页 ${val} 条`)
128
+      this.listQuery.pageSize = val
129
+      this.dataQuery()
130
+    },
131
+    handleCurrentChange(val) {
132
+      console.log(`当前页: ${val}`)
133
+      this.listQuery.pageNum = val
134
+      this.dataQuery()
135
+    },
136
+    handleFilter() {
137
+      this.listQuery.messageContent = ''
138
+      this.listQuery.status = ''
139
+      this.listQuery.messageType = ''
140
+      this.listQuery.dataValue = ''
141
+      this.listQuery.pageNum = 1
142
+      this.listQuery.pageNum = 1
143
+      this.listQuery.pageSize = 10
144
+      this.dataQuery()
145
+    },
146
+    search() {
147
+      this.dataQuery()
148
+    },
149
+    handleSelectionChange(data) {
150
+      this.deleteIds = [] // 设置为 空
151
+      for (let i = 0; i < data.length; i++) {
152
+      this.deleteIds.push(data[i].id)
153
+    }
154
+    },
155
+     formatDate(val) {
156
+      if (val === null) {
157
+        return ''
158
+      }
159
+      var value = new Date(val)
160
+      var year = value.getFullYear()
161
+      var month = this.padDate(value.getMonth() + 1)
162
+      var day = this.padDate(value.getDate())
163
+      var hour = this.padDate(value.getHours())
164
+      var minutes = this.padDate(value.getMinutes())
165
+      var seconds = this.padDate(value.getSeconds())
166
+      return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
167
+    },
168
+      padDate(value) {
169
+      value = value < 10 ? '0' + value : value
170
+      return value
171
+    },
172
+    addHotelRoom(){
173
+      this.$router.push({ name: 'grogshop-grogshopRoomAdd' })
174
+    },
175
+  }
176
+
177
+
178
+}
179
+</script>
180
+
181
+<style>
182
+.form-listQuery{
183
+  margin-top: 20px;
184
+  margin-left: 30px;
185
+}
186
+.root{
187
+  display: flex;
188
+  flex-flow: column;
189
+}
190
+.block{
191
+  display: flex;
192
+  justify-content: flex-end;
193
+  margin-top: 10px;
194
+}
195
+.spanSize{
196
+    color:aqua
197
+}
198
+</style>

+ 77
- 0
VUECODE/smart-property-manage/src/views/grogshop/grogshopRoomAdd.vue 查看文件

@@ -0,0 +1,77 @@
1
+<template>
2
+  <div id="root">
3
+    <el-form ref="ruleForm" :model="ruleForm"  label-width="100px" class="demo-ruleForm">
4
+      <el-form-item label="房间名称" >
5
+        <el-input v-model="ruleForm.roomName" placeholder="房间名称"/>
6
+      </el-form-item>
7
+       <el-form-item label="房间号" >
8
+        <el-input v-model="ruleForm.roomNo" placeholder="房间号"/>
9
+      </el-form-item>
10
+     <el-form-item class="filter-item" label="房间描述" prop="remark" >
11
+        <el-input v-model.trim="ruleForm.remark" placeholder="房间描述"/>
12
+      </el-form-item>
13
+      <el-form-item label="房间价格">
14
+        <el-input v-model="ruleForm.price" placeholder="房间价格"/>
15
+      </el-form-item>
16
+      <el-form-item class="filter-item"  label="上架状态">
17
+        <el-select v-model="ruleForm.roomStatus" placeholder="上架">
18
+         <el-option label="上架" value="1"/>
19
+         <el-option label="下架" value="2"/>
20
+        </el-select>
21
+      </el-form-item>
22
+      <el-form-item label="权重" prop="sort">
23
+        <el-input v-model="ruleForm.sort" placeholder="权重"/>
24
+      </el-form-item>  
25
+      <el-form-item>
26
+        <el-button type="primary" @click="submitForm()">立即创建</el-button>
27
+      </el-form-item>
28
+    </el-form>
29
+  </div>
30
+</template>
31
+
32
+<script>
33
+export default {
34
+  data() {
35
+    return {
36
+      ruleForm: {
37
+            price: '',
38
+           remark: '',
39
+         roomName: '',
40
+       roomStatus: '',
41
+             sort: '',
42
+           roomNo: ''
43
+      }
44
+      // rules: {
45
+      //   userName: [
46
+      //     { required: true, message: '请输入姓名', trigger: 'blur' }
47
+      //   ],
48
+      //   price: [
49
+      //     { required: true, message: '请输入价格', trigger: 'blur' }
50
+      //   ],
51
+      //   menuArray: [
52
+      //     { required: true, message: '请选择角色', trigger: 'blur' }
53
+      //   ],       
54
+      // }
55
+    }
56
+  },
57
+  mounted() {
58
+  },
59
+  methods: {
60
+    submitForm(){
61
+      this.$store.dispatch('HotelRoomAdd', this.ruleForm).then((res) => {
62
+      }).catch(() => {
63
+        console.log('error HotelRoom')
64
+      })
65
+    }
66
+   }
67
+  }
68
+</script>
69
+
70
+<style scoped>
71
+.demo-ruleForm {
72
+  width: 500px;
73
+  margin-top: 20px;
74
+  margin-left: auto;
75
+  margin-right: auto;
76
+}
77
+</style>

+ 1
- 1
VUECODE/smart-property-manage/src/views/ticket/index.vue 查看文件

@@ -1,7 +1,7 @@
1 1
 <template>
2 2
   <div class="root">
3 3
     <el-form :inline="true" :model="listQuery" class="form-listQuery">
4
-      <el-form-item class="filter-item" label="工单编号">
4
+      <el-form-item class="filter-item" label="房间编号">
5 5
         <el-input v-model.trim="listQuery.id" placeholder="工单编号" />
6 6
       </el-form-item>
7 7
       <el-form-item label="类型">