From fd658508f4470f0c479b2a36738b0f50481cbbe9 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期六, 16 九月 2023 10:59:09 +0800 Subject: [PATCH] 后台代码 --- cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsVo.java | 4 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java | 91 + cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java | 5 cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_addStudent.html | 142 + cloud-server-management/src/main/webapp/WEB-INF/view/system/storeValueConfig/StoreValueConfig.html | 263 +++ cloud-server-activity/src/main/java/com/dsh/activity/model/QueryBodySideAppointment.java | 4 cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml | 6 cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js | 9 cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js | 582 +----- cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment.js | 50 cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageMapper.java | 6 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 10 cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment_edit.html | 96 cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionAdd.html | 9 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCityController.java | 38 cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment_add.html | 9 cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java | 19 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TStoredValueConfigController.java | 64 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 248 -- cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js | 6 cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java | 4 cloud-server-management/src/main/webapp/static/modular/system/benefits/TBenefits.js | 16 cloud-server-competition/src/main/resources/logback-spring.xml | 10 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsVo.java | 4 cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/QueryAppUser.java | 17 cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageDiscountService.java | 7 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java | 251 ++ cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_add.html | 124 + cloud-server-auth/src/main/resources/logback-spring.xml | 10 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoredValueConfig.java | 93 + cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java | 101 - cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_add.js | 7 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java | 5 cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html | 28 cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java | 1 cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js | 5 cloud-server-account/src/main/java/com/dsh/account/model/vo/QueryAppUserVO.java | 128 + cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_edit.js | 9 cloud-server-activity/src/main/resources/logback-spring.xml | 0 cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java | 1 cloud-server-course/src/main/resources/mapper/TCoursePackageDiscountMapper.xml | 38 cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js | 4 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java | 38 cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment_edit.js | 176 + cloud-server-management/src/main/webapp/WEB-INF/view/system/role/role_add.html | 73 cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser.html | 111 + cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_add.html | 250 -- cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach.js | 4 cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_info.js | 2 cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/QueryAppUserVO.java | 133 + cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java | 38 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageDiscountClient.java | 3 cloud-server-account/src/main/java/com/dsh/account/model/query/appUserQuery/QueryAppUser.java | 17 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java | 13 cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js | 3 cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java | 16 cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageDiscountMapper.java | 8 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageDiscountController.java | 6 cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionEdit.html | 6 cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js | 423 +++++ cloud-server-activity/src/main/resources/mapper/BodySideAppointmentsMapper.xml | 18 cloud-server-account/src/main/java/com/dsh/account/mapper/TAppUserMapper.java | 6 cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageDiscount.java | 4 cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml | 3 cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment.html | 6 cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml | 21 /dev/null | 320 --- cloud-server-management/src/main/java/com/dsh/course/feignClient/other/StoreValueConfigClient.java | 31 cloud-server-activity/src/main/java/com/dsh/activity/controller/BodySideAppointmentsController.java | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_vipInfo.html | 139 + cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html | 3 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 10 cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js | 2 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java | 68 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java | 240 -- cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/QueryBodySideAppointment.java | 5 cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_info.html | 139 + cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java | 4 cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_edit.html | 139 + 80 files changed, 2,881 insertions(+), 2,125 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/mapper/TAppUserMapper.java b/cloud-server-account/src/main/java/com/dsh/account/mapper/TAppUserMapper.java index f8e5036..165be48 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/mapper/TAppUserMapper.java +++ b/cloud-server-account/src/main/java/com/dsh/account/mapper/TAppUserMapper.java @@ -2,7 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsh.account.entity.TAppUser; +import com.dsh.account.model.query.appUserQuery.QueryAppUser; +import com.dsh.account.model.vo.QueryAppUserVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** @@ -22,4 +27,5 @@ */ void membershipEnd(); + List<QueryAppUserVO> listAll(@Param("query") QueryAppUser query); } diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/query/appUserQuery/QueryAppUser.java b/cloud-server-account/src/main/java/com/dsh/account/model/query/appUserQuery/QueryAppUser.java new file mode 100644 index 0000000..7fb2b31 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/model/query/appUserQuery/QueryAppUser.java @@ -0,0 +1,17 @@ +package com.dsh.account.model.query.appUserQuery; + +import lombok.Data; + +/** + * 用户信息查询Query + */ +@Data +public class QueryAppUser { + private String province; + private String city; + private String name; + private String phone; + private Integer isVip; + private Integer state; + private String salesmanUserName; +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/QueryAppUserVO.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/QueryAppUserVO.java new file mode 100644 index 0000000..9108d13 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/QueryAppUserVO.java @@ -0,0 +1,128 @@ +package com.dsh.account.model.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * 用户信息列表VO + */ +@Data +public class QueryAppUserVO { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private Integer id; + /** + * 编号 + */ + private String code; + /** + * 姓名 + */ + private String name; + /** + * 电话 + */ + private String phone; + /** + * 密码 + */ + private String password; + /** + * 生日 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date birthday; + /** + * 性别(1=男,2=女) + */ + private Integer gender; + /** + * 身高 + */ + private Double height; + /** + * 体重 + */ + private Double weight; + /** + * bmi健康值 + */ + private Double bmi; + /** + * 身份证号 + */ + private String idCard; + /** + * 微信openid + */ + private String openid; + /** + * 省 + */ + private String province; + /** + * 省编号 + */ + private String provinceCode; + /** + * 市 + */ + private String city; + /** + * 市编号 + */ + private String cityCode; + /** + * 是否是年度会员(0=否,1=是) + */ + private Integer isVip; + /** + * 会员有效期 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date vipEndTime; + /** + * 会员等级id + */ + private Integer viplevelId; + /** + * 推荐用户id + */ + private Integer referralUserId; + /** + * 销售员id + */ + private Integer salesmanUserId; + + private String salesmanUserName; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + private Integer state; + /** + * 剩余积分 + */ + private Integer integral; + /** + * 玩湃币 + */ + private Integer playPaiCoins; + /** + * 用户头像 + */ + private String headImg; + /** + * 添加时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date insertTime; + + +} + diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java index 215daa3..ce1e1c8 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java @@ -6,6 +6,8 @@ import com.dsh.account.model.JoinPlayPaiVo; import com.dsh.account.model.LoginSMSCodeVo; import com.dsh.account.model.LoginWeChatVo; +import com.dsh.account.model.query.appUserQuery.QueryAppUser; +import com.dsh.account.model.vo.QueryAppUserVO; import com.dsh.account.model.vo.classDetails.CourseVenue; import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo; import com.dsh.account.model.vo.userBenefitDetail.*; @@ -135,4 +137,6 @@ List<StoreResponse> queryStoresOfExchange(Integer goodsType,Integer pointsMerId); List<CourseVenue> queryWeekOfCourseDetails(Integer appUserId ,Integer stuId, String time, String longitude, String latitude); + + List<QueryAppUserVO> listAll(QueryAppUser query); } diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java index a76a64c..0165162 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java @@ -28,6 +28,8 @@ import com.dsh.account.mapper.*; import com.dsh.account.model.*; import com.dsh.account.model.dto.Coupon; +import com.dsh.account.model.query.appUserQuery.QueryAppUser; +import com.dsh.account.model.vo.QueryAppUserVO; import com.dsh.account.model.vo.classDetails.CourseVenue; import com.dsh.account.model.vo.classDetails.ExerciseVideo; import com.dsh.account.model.vo.classDetails.RegisteredCourse; @@ -133,7 +135,13 @@ @Resource private SiteClient stClient; + @Autowired + private TAppUserMapper appUserMapper; + @Override + public List<QueryAppUserVO> listAll(QueryAppUser query) { + return appUserMapper.listAll(query); + } @Override public ClassInfoVo queryUserOfStus(Integer id) { TAppUser tAppUser = this.baseMapper.selectById(id); @@ -1268,4 +1276,6 @@ } + + } diff --git a/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml b/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml index e253b64..4b5cfd9 100644 --- a/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml +++ b/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml @@ -36,4 +36,25 @@ <update id="membershipEnd"> update t_app_user set isVip = 0 where isVip = 1 and now() >= vipEndTime </update> + <select id="listAll" resultType="com.dsh.account.model.vo.QueryAppUserVO"> + select t1.* from t_app_user t1 + <where> + <if test="query.city!=null and query.city!= ''"> + and t1.city = #{query.city} + </if> + <if test="query.province!=null and query.province!= ''"> + and t1.province = #{query.province} + </if> + <if test="query.name!=null and query.name!= ''"> + AND t1.name LIKE concat('%',#{query.name},'%') + </if> + <if test="query.phone!=null and query.phone!= ''"> + and t1.phone LIKE concat('%',#{query.phone},'%') + </if> + <if test="query.isVip!=null and query.isVip!= ''"> + and t1.isVip = #{query.isVip} + </if> + and t1.state != 3 + </where> + </select> </mapper> diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/BodySideAppointmentsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/BodySideAppointmentsController.java index 8b45b7b..4aff863 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/BodySideAppointmentsController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/BodySideAppointmentsController.java @@ -49,8 +49,6 @@ for (QueryBodySideAppointmentVO queryBodySideAppointmentVO : queryBodySideAppointmentVOS) { list.add(queryBodySideAppointmentVO.getStoreId()); } - list.add(1); - list.add(2); List<Store> stores = storeClient.queryStoreByIds(list); for (QueryBodySideAppointmentVO queryBodySideAppointmentVO : queryBodySideAppointmentVOS) { for (Store store : stores) { diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java index b9699bb..b176c57 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java @@ -10,12 +10,9 @@ import com.dsh.activity.feignclient.course.model.CoursePackagePaymentConfig; import com.dsh.activity.feignclient.model.*; import com.dsh.activity.feignclient.other.StoreClient; -import com.dsh.activity.feignclient.other.model.Store; import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse; import com.dsh.activity.model.PointMerchandiseVo; import com.dsh.activity.model.request.*; -import com.dsh.activity.model.response.GoodsInfoOneVo; -import com.dsh.activity.model.response.StoreVos; import com.dsh.activity.service.*; import com.dsh.activity.util.GDMapGeocodingUtil; import com.dsh.activity.util.StrUtils; @@ -73,9 +70,6 @@ @Resource private CouponCityService ccityService; - - @Resource - private PointsMerchandiseCityService pmdsCityService; @ResponseBody @@ -480,10 +474,7 @@ @PostMapping("/base/pointMerchars/updateDetailsUserPointMercase") public void updateDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){ - upmseService.update(merchandise,new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getUserId,merchandise.getUserId()) - .eq(UserPointsMerchandise::getId,merchandise.getId())); - + upmseService.updateById(merchandise); } @PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode") @@ -533,9 +524,7 @@ if (list.size() > 0 ){ for (UserPointsMerchandise pointsMerchandise : list) { pointsMerchandise.setState(2); - upmseService.update(pointsMerchandise,new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getUserId,pointsMerchandise.getUserId()) - .eq(UserPointsMerchandise::getId,pointsMerchandise.getId())); + upmseService.updateById(pointsMerchandise); } } @@ -635,13 +624,10 @@ public PointMercharsVo queryPointMerchaseDetailOfId(@RequestBody Integer pointMercharsId){ PointMercharsVo vo = new PointMercharsVo(); PointsMerchandise byId = pmdsService.getById(pointMercharsId); - List<UserPointsMerchandise> list = upmseService.list(new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getPointsMerchandiseId, pointMercharsId)); if (ToolUtil.isNotEmpty(byId)){ vo.setName(byId.getName()); vo.setCover(byId.getCover()); vo.setPics(byId.getProductImages()); - vo.setQuantityHas(list.size()); vo.setQuantityIssued(byId.getQuantityIssued()); vo.setPickUpQuantity(byId.getPickUpQuantity()); vo.setSort(byId.getSort()); @@ -683,7 +669,7 @@ if (list.size() > 0 ){ for (UserPointsMerchandise pointsMerchandise : list) { Map<String, Object> map = new HashMap<>(); - map.put("id",pointsMerchandise.getId().toString()); + map.put("id",pointsMerchandise.getId()); map.put("userId",pointsMerchandise.getUserId()); map.put("status", pointsMerchandise.getStatus()); mapList.add(map); @@ -691,234 +677,6 @@ } System.out.println(mapList); return mapList; - } - - @ResponseBody - @PostMapping("/base/pointMerchars/writeOffGoodsStatus") - public boolean writeOffGoodsStatus(@RequestBody Map<String, Object> map){ - try { - String o = (String) map.get("goodsId"); - Integer managerId = (Integer) map.get("managerId"); - UserPointsMerchandise byId = upmseService.getOne(new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getId,Long.parseLong(o) )); - if (byId.getStatus() == 2){ - return false; - } - byId.setStatus(2); - byId.setVerificationUserId(managerId); - byId.setVerificationTime(new Date()); - upmseService.update(byId,new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getUserId,byId.getUserId()) - .eq(UserPointsMerchandise::getId,byId.getId())); - System.out.println(byId); - return true; - }catch (Exception e){ - return false; - } - } - - - - @ResponseBody - @PostMapping("/base/pointMerchars/updateGoodsDetail") - public boolean updateGoodsDetail(@RequestBody Map<String, Object> map){ - try { - Integer pointMerchandiseId = (Integer) map.get("pointMerchandiseId"); - PointsMerchandise byId1 = pmdsService.getById(pointMerchandiseId); - - Integer quantityIssued = (Integer) map.get("quantityIssued"); - Integer pickUpQuantity = (Integer) map.get("pickUpQuantity"); - String redemptionInstructions = (String) map.get("redemptionInstructions"); - String cover = (String) map.get("cover"); - String productImages = (String) map.get("productImages"); - Integer sort = (Integer) map.get("sort"); - - byId1.setQuantityIssued(quantityIssued); - byId1.setPickUpQuantity(pickUpQuantity); - byId1.setRedemptionInstructions(redemptionInstructions); - if (ToolUtil.isNotEmpty(cover)){ - byId1.setCover(cover); - } - if (ToolUtil.isNotEmpty(productImages)){ - byId1.setProductImages(productImages); - } - byId1.setSort(sort); - pmdsService.updateById(byId1); - return true; - }catch (Exception e){ - return false; - } - } - - - @PostMapping("/base/pointMerchars/queryDetailsOfGoods") - public GoodsInfoOneVo queryDetailsOfGoods(@RequestBody Integer id){ - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); - GoodsInfoOneVo infoOneVo = new GoodsInfoOneVo(); - PointsMerchandise byId = pmdsService.getById(id); - - if (ToolUtil.isNotEmpty(byId)){ - infoOneVo.setName(byId.getName()); - infoOneVo.setCover(byId.getCover()); - infoOneVo.setPics(byId.getProductImages()); - infoOneVo.setPrice(byId.getPrice()); - infoOneVo.setExchangeMethod(byId.getRedemptionMethod()); - switch (byId.getRedemptionMethod()){ - case 1: - infoOneVo.setIntegral(byId.getIntegral()); - break; - case 2: - infoOneVo.setIntegral(byId.getIntegral()); - infoOneVo.setCash(byId.getCash()); - break; - case 3: - infoOneVo.setCash(byId.getCash()); - break; - default: - break; - } - switch (byId.getUserPopulation()){ - case 1: - infoOneVo.setUserPopulation("全部用户"); - break; - case 2: - infoOneVo.setUserPopulation("年度会员"); - break; - case 3: - infoOneVo.setUserPopulation("已有学员用户"); - break; - default: - break; - } - infoOneVo.setQuantityIssued(byId.getQuantityIssued()); - List<UserPointsMerchandise> list = upmseService.list(new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getPointsMerchandiseId,byId.getId())); - infoOneVo.setUseScope(byId.getUseScope()); - switch (byId.getUseScope()){ - case 1: - infoOneVo.setExchangeArea("全国通用"); - break; - case 2: - infoOneVo.setExchangeArea("指定城市"); - break; - case 3: - infoOneVo.setExchangeArea("指定门店"); - break; - default: - break; - } - infoOneVo.setHasPicked(list.size()); - infoOneVo.setPickUpQuantity(byId.getPickUpQuantity()); - infoOneVo.setValidTime(simpleDateFormat.format(byId.getStartTime())+"至"+ simpleDateFormat.format(byId.getEndTime())); - infoOneVo.setRedemptionInstructions(byId.getRedemptionInstructions()); - infoOneVo.setSort(byId.getSort()); - } - return infoOneVo; - } - - - - @ResponseBody - @PostMapping("/base/pointMerchars/getStoreList") - public List<StoreVos> getStoreList(@RequestBody Integer id){ - List<StoreVos> storeVos = new ArrayList<>(); - List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() - .eq("pointsMerchandiseId",id)); - if (list.size() > 0 ){ - List<Integer> collect = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); - List<Store> stores = stoClient.queryStoreByIds(collect); - if (stores.size() > 0 ){ - for (Store store : stores) { - StoreVos storeVos1 = new StoreVos(); - storeVos1.setNum1(store.getProvince() +"省"+ store.getCity() +"市"); - storeVos1.setNum2(store.getName()); - storeVos.add(storeVos1); - } - } - } - return storeVos; - } - - - @ResponseBody - @PostMapping("/base/pointMerchars/getProvinces") - public List<StoreVos> getProvinces(@RequestBody Integer id){ - List<StoreVos> storeVos = new ArrayList<>(); - List<PointsMerchandiseCity> list = pmdsCityService.list(new LambdaQueryWrapper<PointsMerchandiseCity>() - .eq(PointsMerchandiseCity::getPointsMerchandiseId,id)); - if (list.size() > 0 ){ - for (PointsMerchandiseCity pointsMerchandiseCity : list) { - StoreVos storeVos1 = new StoreVos(); - storeVos1.setNum1(pointsMerchandiseCity.getProvince()); - storeVos1.setNum2(pointsMerchandiseCity.getCity()); - storeVos.add(storeVos1); - } - } - return storeVos; - } - - @PostMapping("/base/pointMerchars/add") - public Integer add(@RequestBody PointsMerchandise pointsMerchandise){ - Integer storeId = pointsMerchandise.getShelves(); - pointsMerchandise.setShelves(2); - boolean save = pmdsService.save(pointsMerchandise); - if(save && ToolUtil.isNotEmpty(storeId) && pointsMerchandise.getType()==2){ - PointsMerchandiseStore pointsMerchandiseStore = new PointsMerchandiseStore(); - pointsMerchandiseStore.setPointsMerchandiseId(pointsMerchandise.getId()); - pointsMerchandiseStore.setStoreId(storeId); - save = pmdstoService.save(pointsMerchandiseStore); - } - if(save && pointsMerchandise.getType()==2 && ToolUtil.isNotEmpty(pointsMerchandise.getProvinceCode())){ - pmdsService.saveCity(pointsMerchandise.getId(),pointsMerchandise.getProvince(),pointsMerchandise.getProvinceCode(),pointsMerchandise.getCity(),pointsMerchandise.getCityCode()); - } - if(save){ - return pointsMerchandise.getId(); - } - return null; - } - - - @PostMapping("/base/pointMerchars/addOther") - public Boolean addOther(@RequestBody String pam){ - Boolean save =false; - String[] split = pam.split("_"); - for (String s : split[1].split(",")) { - PointsMerchandiseStore pointsMerchandiseStore = new PointsMerchandiseStore(); - pointsMerchandiseStore.setPointsMerchandiseId(Integer.valueOf(split[0])); - pointsMerchandiseStore.setStoreId(Integer.valueOf(s)); - save = pmdstoService.save(pointsMerchandiseStore); - } - return save; - } - - @PostMapping("/base/pointMerchars/addCitys") - public Boolean addCitys(@RequestBody ArrayList<Map<String, String>> objects){ - try { - for (Map<String, String> object : objects) { - pmdsService.saveCity(Integer.valueOf(object.get("id")),object.get("pName"),object.get("pCode"),object.get("cName"),object.get("cCode")); - } - return true; - }catch (Exception e){ - e.printStackTrace(); - return false; - } - - } - - - @PostMapping("/base/pointMerchars/queryPointMerchaseById") - public PointsMerchandise queryPointMerchaseById(@RequestBody Integer id){ - return pmdsService.getById(id); - } - - - - @PostMapping("/base/pointMerchars/getshopName") - public Integer getshopName(@RequestBody Integer id){ - List<PointsMerchandiseStore> list = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>().eq(PointsMerchandiseStore::getPointsMerchandiseId, id)); - PointsMerchandiseStore pointsMerchandiseStore = list.get(0); - Integer storeId = pointsMerchandiseStore.getStoreId(); - return storeId; } } diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java index 017a237..2afd765 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -99,13 +98,11 @@ * 开始时间 */ @TableField("startTime") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date startTime; /** * 结束时间 */ @TableField("endTime") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date endTime; /** * 使用范围(1=全国,2=指定城市,3=指定门店) @@ -151,7 +148,6 @@ * 添加时间 */ @TableField("insertTime") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date insertTime; /** * 课包支付配置id diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandiseCity.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandiseCity.java deleted file mode 100644 index 357ef8f..0000000 --- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandiseCity.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.dsh.activity.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * <p> - * 积分商品使用门店关系数据 - * </p> - * - * @author jqs - * @since 2023-07-12 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_points_merchandise_city") -public class PointsMerchandiseCity extends Model<PointsMerchandiseCity> { - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - /** - * 积分商品id - */ - @TableField("pointsMerchandiseId") - private Integer pointsMerchandiseId; - /** - * - */ - @TableField("city") - private String city; - /** - * - */ - @TableField("cityCode") - private String cityCode; - /** - * - */ - @TableField("province") - private String province; - /** - * - */ - @TableField("provinceCode") - private String provinceCode; - - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseCityMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseCityMapper.java deleted file mode 100644 index 91eb2c9..0000000 --- a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseCityMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.dsh.activity.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dsh.activity.entity.PointsMerchandiseCity; - -/** - * <p> - * 积分商品使用门店关系数据 Mapper 接口 - * </p> - * - * @author jqs - * @since 2023-07-12 - */ -public interface PointsMerchandiseCityMapper extends BaseMapper<PointsMerchandiseCity> { - -} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java index fba1382..1293821 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java @@ -26,5 +26,4 @@ @Param("state") Integer state, @Param("page") Page<Map<String, Object>> page); - void saveCity(@Param("id") Integer id, @Param("province") String province, @Param("provinceCode") String provinceCode, @Param("city") String city, @Param("cityCode") String cityCode); } diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/QueryBodySideAppointment.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/QueryBodySideAppointment.java index 0e4dd46..1ebcf0b 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/model/QueryBodySideAppointment.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/QueryBodySideAppointment.java @@ -2,6 +2,8 @@ import lombok.Data; +import java.util.List; + /** * 接收查询参数VO */ @@ -13,4 +15,6 @@ private Integer state; // 1=今日内预约 2=明日预约 7=七日内 private Integer day; + // 门店id集合 + private List<Integer> ids; } diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsVo.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsVo.java index 323169b..e781c0e 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsVo.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsVo.java @@ -24,10 +24,6 @@ */ Integer quantityIssued; /** - * 已领数量 - */ - Integer quantityHas; - /** * 限领数量 */ Integer pickUpQuantity; diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/GoodsInfoOneVo.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/GoodsInfoOneVo.java deleted file mode 100644 index 3bfcf80..0000000 --- a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/GoodsInfoOneVo.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.dsh.activity.model.response; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; -import java.util.List; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class GoodsInfoOneVo { - - - String name; - /** - * 封面图 - */ - String cover; - /** - * 原价 - */ - BigDecimal price; - /** - * 兑换方式(1=积分,2=现金+积分, 3=现金) - */ - Integer exchangeMethod; - /** - * 现金 - */ - BigDecimal cash; - /** - * 积分 - */ - Integer integral; - /** - * 图片 - */ - String pics; - /** - * 用户人群 - */ - String userPopulation; - /** - * 发放数量 - */ - Integer quantityIssued; - /** - * 已领数量 - */ - Integer hasPicked; - /** - * 限领数量 - */ - Integer pickUpQuantity; - /** - * 有效期 - */ - String validTime; - /** - * 兑换地点 - */ - String exchangeArea; - /** - * 兑换地点 (1=全国,2=指定城市,3=指定门店) - */ - Integer useScope; - /** - * 商品说明 - */ - String redemptionInstructions; - /** - * 排序 - */ - Integer sort; - -} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/StoreVos.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/StoreVos.java deleted file mode 100644 index aa7ffbb..0000000 --- a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/StoreVos.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.dsh.activity.model.response; - - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class StoreVos { - - String num1; - - String num2; -} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseCityService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseCityService.java deleted file mode 100644 index 9b42bbe..0000000 --- a/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseCityService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.dsh.activity.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.dsh.activity.entity.PointsMerchandiseCity; - -/** - * <p> - * 积分商品使用门店关系数据 服务类 - * </p> - * - * @author jqs - * @since 2023-07-12 - */ -public interface PointsMerchandiseCityService extends IService<PointsMerchandiseCity> { - -} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java index c41c807..a27221b 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java @@ -19,5 +19,4 @@ List<Map<String, Object>> queryGoodsListOfSearch(IntegralGoodsOfSearch ofSearch); - void saveCity(Integer id, String province, String provinceCode, String city, String cityCode); } diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseCityServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseCityServiceImpl.java deleted file mode 100644 index 457096c..0000000 --- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseCityServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.dsh.activity.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dsh.activity.entity.PointsMerchandiseCity; -import com.dsh.activity.mapper.PointsMerchandiseCityMapper; -import com.dsh.activity.service.PointsMerchandiseCityService; -import org.springframework.stereotype.Service; - -/** - * <p> - * 积分商品使用门店关系数据 服务实现类 - * </p> - * - * @author jqs - * @since 2023-07-12 - */ -@Service -public class PointsMerchandiseCityServiceImpl extends ServiceImpl<PointsMerchandiseCityMapper, PointsMerchandiseCity> implements PointsMerchandiseCityService { - -} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java index eb072a7..3709d22 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java @@ -26,9 +26,4 @@ return this.baseMapper.queryGoodsListOfSearch(ofSearch.getName(),ofSearch.getType(),ofSearch.getRedemptionMethod(), ofSearch.getUserPopulation(),ofSearch.getActiveStatus(),ofSearch.getState(),ofSearch.getPage()); } - - @Override - public void saveCity(Integer id, String province, String provinceCode, String city, String cityCode) { - this.baseMapper.saveCity(id,province,provinceCode,city,cityCode); - } } diff --git a/cloud-server-management/src/main/resources/logback-spring.xml b/cloud-server-activity/src/main/resources/logback-spring.xml similarity index 100% rename from cloud-server-management/src/main/resources/logback-spring.xml rename to cloud-server-activity/src/main/resources/logback-spring.xml diff --git a/cloud-server-activity/src/main/resources/mapper/BodySideAppointmentsMapper.xml b/cloud-server-activity/src/main/resources/mapper/BodySideAppointmentsMapper.xml index 0fbf1fc..c222803 100644 --- a/cloud-server-activity/src/main/resources/mapper/BodySideAppointmentsMapper.xml +++ b/cloud-server-activity/src/main/resources/mapper/BodySideAppointmentsMapper.xml @@ -25,7 +25,23 @@ t1.parentName like concat('%',#{query.parentName},'%') </if> <if test="query.state!=null and query.state!= ''"> - and t1.state = #{query.state} + and t1.status = #{query.state} + </if> + + <if test="query.day!=null and query.day!= '' and query.day==1" > + and DATE(t1.appointmentTime) = CURDATE() + </if> + <if test="query.day!=null and query.day!= '' and query.day==2" > + and DATE(t1.appointmentTime) = DATE_ADD(CURDATE(), INTERVAL 1 DAY) + </if> + <if test="query.day!=null and query.day!= '' and query.day==7" > + AND DATE(t1.appointmentTime) BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 7 DAY) + </if> + <if test="query.ids != null and query.ids.size()>0"> + AND t1.storeId IN + <foreach collection="query.ids" separator="," item="id" open="(" close=")"> + #{id} + </foreach> </if> </where> </select> diff --git a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseCityMapper.xml b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseCityMapper.xml deleted file mode 100644 index 9ff98bd..0000000 --- a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseCityMapper.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?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.dsh.activity.mapper.PointsMerchandiseCityMapper"> - - -</mapper> diff --git a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml index 0d4abde..38bcc37 100644 --- a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml +++ b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml @@ -1,9 +1,6 @@ <?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.dsh.activity.mapper.PointsMerchandiseMapper"> - <insert id="saveCity"> - insert into t_points_merchandise_city (id,pointsMerchandiseId,city,cityCode,province,provinceCode) value (null ,#{id},#{city},#{cityCode},#{province},#{provinceCode}) - </insert> <select id="queryGoodsListOfSearch" resultType="java.util.Map"> diff --git a/cloud-server-activity/logback-spring.xml b/cloud-server-auth/src/main/resources/logback-spring.xml similarity index 96% rename from cloud-server-activity/logback-spring.xml rename to cloud-server-auth/src/main/resources/logback-spring.xml index e98de73..b13e9b3 100644 --- a/cloud-server-activity/logback-spring.xml +++ b/cloud-server-auth/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文档的路径及文档名 --> <file>${log.path}/${artifactId}/debug.log</file> - <!--日志文档输出格式 Output format of the log document.--> + <!--日志文档输出格式 Output format of the log document.--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 设置字符集 --> @@ -62,7 +62,7 @@ <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文档的路径及文档名 --> <file>${log.path}/${artifactId}/info.log</file> - <!--日志文档输出格式 Output format of the log document.--> + <!--日志文档输出格式 Output format of the log document.--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> @@ -89,7 +89,7 @@ <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文档的路径及文档名 --> <file>${log.path}/${artifactId}/warn.log</file> - <!--日志文档输出格式 Output format of the log document.--> + <!--日志文档输出格式 Output format of the log document.--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 此处设置字符集 --> @@ -115,7 +115,7 @@ <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文档的路径及文档名 --> <file>${log.path}/${artifactId}/error.log</file> - <!--日志文档输出格式 Output format of the log document.--> + <!--日志文档输出格式 Output format of the log document.--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 此处设置字符集 --> @@ -141,7 +141,7 @@ <appender name="ALL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文档的路径及文档名 --> <file>${log.path}/${artifactId}/all.log</file> - <!--日志文档输出格式 Output format of the log document.--> + <!--日志文档输出格式 Output format of the log document.--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 此处设置字符集 --> diff --git a/cloud-server-competition/src/main/resources/logback-spring.xml b/cloud-server-competition/src/main/resources/logback-spring.xml index b13e9b3..e98de73 100644 --- a/cloud-server-competition/src/main/resources/logback-spring.xml +++ b/cloud-server-competition/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文档的路径及文档名 --> <file>${log.path}/${artifactId}/debug.log</file> - <!--日志文档输出格式 Output format of the log document.--> + <!--日志文档输出格式 Output format of the log document.--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 设置字符集 --> @@ -62,7 +62,7 @@ <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文档的路径及文档名 --> <file>${log.path}/${artifactId}/info.log</file> - <!--日志文档输出格式 Output format of the log document.--> + <!--日志文档输出格式 Output format of the log document.--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> @@ -89,7 +89,7 @@ <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文档的路径及文档名 --> <file>${log.path}/${artifactId}/warn.log</file> - <!--日志文档输出格式 Output format of the log document.--> + <!--日志文档输出格式 Output format of the log document.--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 此处设置字符集 --> @@ -115,7 +115,7 @@ <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文档的路径及文档名 --> <file>${log.path}/${artifactId}/error.log</file> - <!--日志文档输出格式 Output format of the log document.--> + <!--日志文档输出格式 Output format of the log document.--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 此处设置字符集 --> @@ -141,7 +141,7 @@ <appender name="ALL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文档的路径及文档名 --> <file>${log.path}/${artifactId}/all.log</file> - <!--日志文档输出格式 Output format of the log document.--> + <!--日志文档输出格式 Output format of the log document.--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 此处设置字符集 --> diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java index f885da2..bb2a1fe 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java @@ -2,10 +2,11 @@ import cn.mb.cloud.common.data.controller.BaseController; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.dsh.course.entity.*; +import com.dsh.course.entity.TCourse; +import com.dsh.course.entity.TCoursePackagePayment; +import com.dsh.course.entity.TCoursePackageType; import com.dsh.course.feignclient.model.ExerciseVideo; import com.dsh.course.model.*; import com.dsh.course.model.dto.CourseChangeStateDTO; @@ -15,7 +16,6 @@ import com.dsh.course.service.TCoursePackageService; import com.dsh.course.service.TCoursePackageTypeService; import com.dsh.course.service.TCourseService; -import com.dsh.course.service.*; import com.dsh.course.util.PageFactory; import com.dsh.course.util.PayMoneyUtil; import com.dsh.course.util.ResultUtil; @@ -34,7 +34,6 @@ import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -64,8 +63,6 @@ @Autowired private TCoursePackagePaymentService coursePackagePaymentService; - @Autowired - private TCoursePackageDiscountService discountService; /** * 上/下架 1为上架 2为下架 3为删除 * @@ -74,9 +71,6 @@ @RequestMapping("/base/course/changeState") @ResponseBody public Object changeState(@RequestBody CourseChangeStateDTO dto){ - - - return courseService.changeState(dto); } @@ -382,94 +376,5 @@ @PostMapping("/course/queryCourseByType") public List<TCourse> queryCourseByType(@RequestBody Integer type){ return courseService.list(new QueryWrapper<TCourse>().eq("type", type).eq("state", 1)); - } - - - @PostMapping("/course/queryDiscountList") - public List<DiscountList> queryDiscountList(@RequestBody QueryDiscountList queryDiscountList){ - return discountService.queryDiscountList(queryDiscountList); - } - @PostMapping("/course/queryDiscountListAudit") - public List<DiscountList> queryDiscountListAudit(@RequestBody QueryDiscountList queryDiscountList){ - return discountService.queryDiscountListAudit(queryDiscountList); - } - - @PostMapping("/course/updateState") - public Boolean updateState( @RequestBody DiscountUpdateState discountUpdateState){ - TCoursePackageDiscount byId = discountService.getById(discountUpdateState.getId()); - List<TCoursePackageDiscount> list = discountService.list(new LambdaQueryWrapper<TCoursePackageDiscount>().eq(TCoursePackageDiscount::getCoursePackageId, byId.getCoursePackageId())); - list.forEach(e->e.setStatus(discountUpdateState.getStatus())); - return discountService.updateBatchById(list); - } - - - @PostMapping("/course/auditDiscount") - public Boolean auditDiscount( @RequestBody AuditDiscount auditDiscount){ - TCoursePackageDiscount byId = discountService.getById(auditDiscount.getId()); - List<TCoursePackageDiscount> list = discountService.list(new LambdaQueryWrapper<TCoursePackageDiscount>().eq(TCoursePackageDiscount::getCoursePackageId, byId.getCoursePackageId())); - for (TCoursePackageDiscount tCoursePackageDiscount : list) { - tCoursePackageDiscount.setAuditStatus(auditDiscount.getType()); - tCoursePackageDiscount.setAuditRemark(auditDiscount.getText()); - } - - return discountService.updateBatchById(list); - } - - @PostMapping("/course/queryByDiscountId") - public TCoursePackage queryByDiscountId(@RequestBody Integer id){ - TCoursePackageDiscount byId = discountService.getById(id); - TCoursePackage byId1 = coursePackageService.getById(byId.getCoursePackageId()); - return byId1; - } - - @PostMapping("/course/queryDiscountById") - public Integer queryDiscountById(@RequestBody Integer id){ - TCoursePackageDiscount byId = discountService.getById(id); - return byId.getAuditStatus(); - } - - - - @PostMapping("/course/getPageageType") - public List<Map<String, Object>> getPageageType(){ - List<TCoursePackageType> list = coursePackageTypeService.list(new LambdaQueryWrapper<TCoursePackageType>().eq(TCoursePackageType::getState, 1)); - ArrayList<Map<String, Object>> objects = new ArrayList<>(); - for (TCoursePackageType tCoursePackageType : list) { - HashMap<String, Object> map = new HashMap<>(); - map.put("id",tCoursePackageType.getId()); - map.put("name",tCoursePackageType.getName()); - objects.add(map); - } - return objects; - } - - - @PostMapping("/course/queryByTypeId") - public List<TCoursePackage> queryByTypeId(@RequestBody Integer oneId){ - return coursePackageService.list(new LambdaQueryWrapper<TCoursePackage>().eq(TCoursePackage::getCoursePackageTypeId,oneId).eq(TCoursePackage::getAuditStatus,2).eq(TCoursePackage::getState,1)); - } - - - @PostMapping("/course/queryByConfigId") - public List<Map<String, Object>> queryByConfigId(@RequestBody Integer oneId){ - return coursePackageService.queryByConfigId(oneId); - } - - - @PostMapping("/course/queryPackageById") - public List<String> queryPackageById(@RequestBody Integer coursePackageId){ - ArrayList<String> strings = new ArrayList<>(); - TCoursePackage byId = coursePackageService.getById(coursePackageId); - Integer coursePackageTypeId = byId.getCoursePackageTypeId(); - strings.add(coursePackageTypeService.getById(coursePackageTypeId).getName()); - strings.add(byId.getName()); - - return strings; - - } - - @PostMapping("/course/getHours") - public String getHours(@RequestBody Integer coursePackageId1){ - return coursePackageService.getHours(coursePackageId1); } } diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageDiscountController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageDiscountController.java index 45be4c1..d5649f6 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageDiscountController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageDiscountController.java @@ -31,11 +31,7 @@ return coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfigId) .eq("auditStatus", 2)); } - @PostMapping("/coursePackageDiscount/queryCoursePackageDiscountOne") - public List<TCoursePackageDiscount> queryCoursePackageDiscountOne(@RequestBody Integer id){ - return coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", id) - .ne("auditStatus", 2)); - } + /** * 编辑课包折扣 diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageDiscount.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageDiscount.java index bebf2e2..48ac5e9 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageDiscount.java +++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackageDiscount.java @@ -74,6 +74,6 @@ @TableField("insertTime") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date insertTime; - @TableField("status") - private Integer status; + + } diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageDiscountMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageDiscountMapper.java index 90b2fe2..38b7057 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageDiscountMapper.java +++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageDiscountMapper.java @@ -1,12 +1,7 @@ package com.dsh.course.mapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.entity.TCoursePackageDiscount; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dsh.course.model.DiscountList; -import org.apache.ibatis.annotations.Param; - -import java.util.List; /** * <p> @@ -18,7 +13,4 @@ */ public interface TCoursePackageDiscountMapper extends BaseMapper<TCoursePackageDiscount> { - List<DiscountList> queryDiscountList(@Param("discountListPage") Page<DiscountList> discountListPage, @Param("pCode") String pCode, @Param("cCode") String cCode, @Param("name") String name, @Param("type") Integer type, @Param("ids") List<Integer> ids); - - List<DiscountList> queryDiscountListAudit(@Param("discountListPage") Page<DiscountList> discountListPage, @Param("pCode") String pCode, @Param("cCode") String cCode, @Param("name") String name, @Param("type") Integer type, @Param("ids") List<Integer> ids); } diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageMapper.java index 3017da9..f85010f 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageMapper.java +++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageMapper.java @@ -42,10 +42,4 @@ */ List<Map<String, Object>> queryExamineCoursePackageLists(Page<Map<String, Object>> page, @Param("item") QueryExamineCoursePackageLists queryExamineCoursePackageLists); - List<Map<String, Object>> queryByConfigId(@Param("oneId") Integer oneId); - - String getHours(@Param("coursePackageId") Integer coursePackageId); - - - } diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/AuditDiscount.java b/cloud-server-course/src/main/java/com/dsh/course/model/AuditDiscount.java deleted file mode 100644 index 970b818..0000000 --- a/cloud-server-course/src/main/java/com/dsh/course/model/AuditDiscount.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.dsh.course.model; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AuditDiscount { - private Integer id; - - private Integer type; - - private String text; -} diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/DiscountList.java b/cloud-server-course/src/main/java/com/dsh/course/model/DiscountList.java deleted file mode 100644 index f054562..0000000 --- a/cloud-server-course/src/main/java/com/dsh/course/model/DiscountList.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.dsh.course.model; - -import lombok.Data; - -@Data -public class DiscountList { - private Integer id; - - private String pName; - - private String cName; - - private String shopName; - - private String name; - - private String type; - - private Integer status; - - private Integer storeId; - private Integer courseId; -} diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/DiscountUpdateState.java b/cloud-server-course/src/main/java/com/dsh/course/model/DiscountUpdateState.java deleted file mode 100644 index 1b4747e..0000000 --- a/cloud-server-course/src/main/java/com/dsh/course/model/DiscountUpdateState.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.dsh.course.model; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class DiscountUpdateState { - private Integer id; - - private Integer status; -} diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/QueryDiscountList.java b/cloud-server-course/src/main/java/com/dsh/course/model/QueryDiscountList.java deleted file mode 100644 index 72c4cd0..0000000 --- a/cloud-server-course/src/main/java/com/dsh/course/model/QueryDiscountList.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.dsh.course.model; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class QueryDiscountList { - private long offset; - private long limit; - - private String pCode; - - private String cCode; - - private String name; - - private Integer type; - - private List<Integer> ids; -} diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageDiscountService.java b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageDiscountService.java index 118f746..cd02a1a 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageDiscountService.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageDiscountService.java @@ -2,8 +2,6 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.dsh.course.entity.TCoursePackageDiscount; -import com.dsh.course.model.DiscountList; -import com.dsh.course.model.QueryDiscountList; import com.dsh.course.model.vo.response.Details; import com.dsh.course.model.vo.response.ExchangeCoursePackageResponse; @@ -24,10 +22,5 @@ ExchangeCoursePackageResponse getWeekFreeCourseDetails(Integer coursePackageDiscountId,String lat,String lon); - - List<DiscountList> queryDiscountList(QueryDiscountList queryDiscountList); - - - List<DiscountList> queryDiscountListAudit(QueryDiscountList queryDiscountList); } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java index 4708c1c..d7d6a12 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java @@ -84,9 +84,4 @@ * @return */ List<Map<String, Object>> queryExamineCoursePackageLists(Page<Map<String, Object>> page, QueryExamineCoursePackageLists queryExamineCoursePackageLists); - - List<Map<String, Object>> queryByConfigId(Integer oneId); - - String getHours(Integer coursePackageId); - } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java index ec83f76..1017f20 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java @@ -3,9 +3,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.course.entity.CoursePackagePaymentConfig; import com.dsh.course.entity.TCoursePackage; @@ -18,8 +16,6 @@ import com.dsh.course.mapper.TCoursePackageDiscountMapper; import com.dsh.course.mapper.TCoursePackageMapper; import com.dsh.course.mapper.TCoursePackagePaymentMapper; -import com.dsh.course.model.DiscountList; -import com.dsh.course.model.QueryDiscountList; import com.dsh.course.model.vo.response.Details; import com.dsh.course.model.vo.response.ExchangeCoursePackageResponse; import com.dsh.course.service.TCoursePackageDiscountService; @@ -356,70 +352,6 @@ return packageResponse; } - @Override - public List<DiscountList> queryDiscountList(QueryDiscountList queryDiscountList) { - Page<DiscountList> discountListPage = new Page<>(queryDiscountList.getOffset(), queryDiscountList.getLimit()); - List<DiscountList> discountLists = this.baseMapper.queryDiscountList(discountListPage, queryDiscountList.getPCode(), queryDiscountList.getCCode(), queryDiscountList.getName(), queryDiscountList.getType(), queryDiscountList.getIds()); - for (DiscountList discountList : discountLists) { - List<TCoursePackageDiscount> tCoursePackageDiscounts = this.baseMapper.selectList(new LambdaQueryWrapper<TCoursePackageDiscount>().eq(TCoursePackageDiscount::getCoursePackageId, discountList.getCourseId()).eq(TCoursePackageDiscount::getAuditStatus,2).orderByAsc(TCoursePackageDiscount::getType)); - long count = tCoursePackageDiscounts.stream().filter(e -> e.getStatus().equals(2)).count(); - if(count>0){ - discountList.setStatus(2); - }else { - discountList.setStatus(1); - } - String type=""; - for (int i = 0; i < tCoursePackageDiscounts.size(); i++) { - if(tCoursePackageDiscounts.get(i).getType()==1){ - type += "会员折扣、"; - }else if(tCoursePackageDiscounts.get(i).getType()==3){ - type += "限时折扣、"; - }else if(tCoursePackageDiscounts.get(i).getType()==4){ - type += "赠送课时、"; - } - } - if(type.length()>0){ - type = type.substring(0,type.length()-1); - } - discountList.setType(type); - } - return discountLists; - } - - public static void main(String[] args) { - String a ="1312dsad132"; - a = a.substring(0,a.length()-1); - System.out.println(a); - } - @Override - public List<DiscountList> queryDiscountListAudit(QueryDiscountList queryDiscountList) { - Page<DiscountList> discountListPage = new Page<>(queryDiscountList.getOffset(), queryDiscountList.getLimit()); - List<DiscountList> discountLists = this.baseMapper.queryDiscountListAudit(discountListPage, queryDiscountList.getPCode(), queryDiscountList.getCCode(), queryDiscountList.getName(), queryDiscountList.getType(), queryDiscountList.getIds()); - for (DiscountList discountList : discountLists) { - List<TCoursePackageDiscount> tCoursePackageDiscounts = this.baseMapper.selectList(new LambdaQueryWrapper<TCoursePackageDiscount>().eq(TCoursePackageDiscount::getCoursePackageId, discountList.getCourseId()).ne(TCoursePackageDiscount::getAuditStatus,2).orderByAsc(TCoursePackageDiscount::getType)); - long count = tCoursePackageDiscounts.stream().filter(e -> e.getAuditStatus().equals(2)).count(); - if(count>0){ - discountList.setStatus(2); - }else { - discountList.setStatus(1); - } - String type=""; - for (int i = 0; i < tCoursePackageDiscounts.size(); i++) { - if(tCoursePackageDiscounts.get(i).getType()==1){ - type += "会员折扣、"; - }else if(tCoursePackageDiscounts.get(i).getType()==3){ - type += "限时折扣、"; - }else if(tCoursePackageDiscounts.get(i).getType()==4){ - type += "赠送课时、"; - } - } - if(type.length()>0){ - type = type.substring(0,type.length()-1); - } - discountList.setType(type); - } - return discountLists; - } private static boolean isDateWithinRange(Date date, Date startTime, Date endTime) { diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java index 8111282..7358a5e 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java @@ -951,14 +951,4 @@ } return list; } - - @Override - public List<Map<String, Object>> queryByConfigId(Integer oneId) { - return this.baseMapper.queryByConfigId(oneId); - } - - @Override - public String getHours(Integer coursePackageId) { - return this.baseMapper.getHours(coursePackageId); - } } diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackageDiscountMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackageDiscountMapper.xml index 4f085f6..95fc2a7 100644 --- a/cloud-server-course/src/main/resources/mapper/TCoursePackageDiscountMapper.xml +++ b/cloud-server-course/src/main/resources/mapper/TCoursePackageDiscountMapper.xml @@ -14,43 +14,5 @@ <result column="auditRemark" property="auditRemark" /> <result column="insertTime" property="insertTime" /> </resultMap> - <select id="queryDiscountList" resultType="com.dsh.course.model.DiscountList"> - select t1.id,t1.type,t1.status,t2.province pName,t2.city cName,t2.name,t2.storeId,t2.id courseId from t_course_package_discount t1 left join t_course_package t2 on t1.coursePackageId = t2.id - where t2.storeId in <foreach collection="ids" close=")" item="id" open="(" separator=","> - #{id} and t1.auditStatus =2 - </foreach> - <if test="pCode !=null and pCode !=''"> - and t2.provinceCode =#{pCode} - </if> - <if test="cCode !=null and cCode !=''"> - and t2.cityCode =#{cCode} - </if> - <if test="name !=null and name !=''"> - and t2.name like concat("%",#{name},"%") - </if> - <if test="type !=null "> - and t1.type =#{type} - </if> - group by t1.coursePackageId - </select> - <select id="queryDiscountListAudit" resultType="com.dsh.course.model.DiscountList"> - select t1.id,t1.type,t1.auditStatus status,t2.province pName,t2.city cName,t2.name,t2.storeId,t2.id courseId from t_course_package_discount t1 left join t_course_package t2 on t1.coursePackageId = t2.id - where t2.storeId in <foreach collection="ids" close=")" item="id" open="(" separator=","> - #{id} and t1.auditStatus !=2 - </foreach> - <if test="pCode !=null and pCode !=''"> - and t2.provinceCode =#{pCode} - </if> - <if test="cCode !=null and cCode !=''"> - and t2.cityCode =#{cCode} - </if> - <if test="name !=null and name !=''"> - and t2.name like concat("%",#{name},"%") - </if> - <if test="type !=null "> - and t1.type =#{type} - </if> - group by t1.coursePackageId - </select> </mapper> diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml index 8fc1230..bf5df87 100644 --- a/cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml +++ b/cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml @@ -125,10 +125,4 @@ </if> order by a.insertTime desc </select> - <select id="queryByConfigId" resultType="java.util.Map"> - select id,classHours from t_course_package_payment_config where coursePackageId =#{oneId} - </select> - <select id="getHours" resultType="java.lang.String"> - select classHours from t_course_package_payment_config where id =#{coursePackageId} - </select> </mapper> diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java index b11e254..46c99a3 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java @@ -1,9 +1,14 @@ package com.dsh.course.feignClient.account; +import com.dsh.course.feignClient.account.model.QueryAppUser; +import com.dsh.course.feignClient.account.model.QueryAppUserVO; import com.dsh.course.feignClient.account.model.QueryByNamePhone; import com.dsh.course.feignClient.account.model.TAppUser; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; @@ -17,5 +22,16 @@ @PostMapping("/base/appUser/queryById") TAppUser queryById(Integer appUserId); + /** + * 获取用户信息列表数据 + */ + @RequestMapping("/base/appUser/listAll") + List<QueryAppUserVO> listAll(@RequestBody QueryAppUser query); + /** + * 新增用户信息 + */ + @RequestMapping("/base/appUser/addAppUser") + Object addAppUser(@RequestBody TAppUser query); + } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/QueryAppUser.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/QueryAppUser.java new file mode 100644 index 0000000..b2f2bd0 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/QueryAppUser.java @@ -0,0 +1,17 @@ +package com.dsh.course.feignClient.account.model; + +import lombok.Data; + +/** + * 用户信息查询Query + */ +@Data +public class QueryAppUser { + private String province; + private String city; + private String name; + private String phone; + private Integer isVip; + private Integer state; + private String salesmanUserName; +} diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/QueryAppUserVO.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/QueryAppUserVO.java new file mode 100644 index 0000000..c036713 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/QueryAppUserVO.java @@ -0,0 +1,133 @@ +package com.dsh.course.feignClient.account.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * 用户信息列表VO + */ +@Data +public class QueryAppUserVO { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private Integer id; + /** + * 编号 + */ + private String code; + /** + * 姓名 + */ + private String name; + /** + * 电话 + */ + private String phone; + /** + * 密码 + */ + private String password; + /** + * 生日 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date birthday; + /** + * 性别(1=男,2=女) + */ + private Integer gender; + /** + * 身高 + */ + private Double height; + /** + * 体重 + */ + private Double weight; + /** + * bmi健康值 + */ + private Double bmi; + /** + * 身份证号 + */ + private String idCard; + /** + * 微信openid + */ + private String openid; + /** + * 省 + */ + private String province; + /** + * 省编号 + */ + private String provinceCode; + /** + * 市 + */ + private String city; + /** + * 市编号 + */ + private String cityCode; + /** + * 是否是年度会员(0=否,1=是) + */ + private Integer isVip; + /** + * 会员有效期 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date vipEndTime; + /** + * 会员等级id + */ + private Integer viplevelId; + /** + * 推荐用户id + */ + private Integer referralUserId; + /** + * 销售员id + */ + private Integer salesmanUserId; + + private String salesmanUserName; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + private Integer state; + /** + * 剩余积分 + */ + private Integer integral; + /** + * 玩湃币 + */ + private Integer playPaiCoins; + /** + * 用户头像 + */ + private String headImg; + /** + * 添加时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date insertTime; + + +} diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java index fc8eeb3..7c252e3 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java @@ -5,15 +5,10 @@ import com.dsh.course.feignClient.activity.model.IntegralGoodsOfSearch; import com.dsh.course.feignClient.activity.model.PointMercharsPayedVo; import com.dsh.course.feignClient.activity.model.PointMercharsVo; -import com.dsh.course.feignClient.activity.model.PointsMerchandise; -import com.dsh.guns.modular.system.model.GoodsInfoOneVo; -import com.dsh.guns.modular.system.model.StoreVos; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -31,38 +26,5 @@ @PostMapping("/base/pointMerchars/queryUserPayedGoodsList") List<Map<String, Object>> queryUserPayedGoodsList(@RequestBody PointMercharsPayedVo pointMercharsPayedVo); - - @PostMapping("/base/pointMerchars/add") - Integer add(PointsMerchandise pointsMerchandise); - - @PostMapping("/base/pointMerchars/addOther") - Boolean addOther(@RequestBody String pam); - - @PostMapping("/base/pointMerchars/addCitys") - Boolean addCitys(@RequestBody List<Map<String, String>> objects); - - @PostMapping("/base/pointMerchars/queryPointMerchaseById") - PointsMerchandise queryPointMerchaseById(Integer id); - - - @PostMapping("/base/pointMerchars/getshopName") - Integer getshopName(Integer id); - - @PostMapping("/base/pointMerchars/writeOffGoodsStatus") - boolean writeOffGoodsStatus(@RequestBody Map<String, Object> map); - - @PostMapping("/base/pointMerchars/updateGoodsDetail") - boolean updateGoodsDetail(@RequestBody Map<String, Object> stringObjectHashMap); - - - @PostMapping("/base/pointMerchars/queryDetailsOfGoods") - GoodsInfoOneVo queryDetailsOfGoods(@RequestBody Integer id); - - - @PostMapping("/base/pointMerchars/getStoreList") - List<StoreVos> getStoreList(@RequestBody Integer id); - - @PostMapping("/base/pointMerchars/getProvinces") - List<StoreVos> getProvinces(@RequestBody Integer id); } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsVo.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsVo.java index 8e3e984..ab8d03b 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsVo.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsVo.java @@ -24,10 +24,6 @@ */ Integer quantityIssued; /** - * 已领数量 - */ - Integer quantityHas; - /** * 限领数量 */ Integer pickUpQuantity; diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointsMerchandise.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointsMerchandise.java deleted file mode 100644 index fe72114..0000000 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointsMerchandise.java +++ /dev/null @@ -1,172 +0,0 @@ -package com.dsh.course.feignClient.activity.model; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** - * <p> - * 积分商品 - * </p> - * - * @author jqs - * @since 2023-07-04 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName("t_points_merchandise") -public class PointsMerchandise extends Model<PointsMerchandise> { - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - /** - * 类型(1=实体商品,2=课包商品,3=门票商品 4=优惠券) - */ - @TableField("type") - private Integer type; - /** - * 商品名称 - */ - @TableField("name") - private String name; - /** - * 课包id - */ - @TableField("coursePackageId") - private Integer coursePackageId; - /** - * 原价 - */ - @TableField("price") - private BigDecimal price; - /** - * 兑换方式(1=积分,2=现金+积分) - */ - @TableField("redemptionMethod") - private Integer redemptionMethod; - /** - * 所需现金 - */ - @TableField("cash") - private BigDecimal cash; - /** - * 所属积分 - */ - @TableField("integral") - private Integer integral; - /** - * 商品封面 - */ - @TableField("cover") - private String cover; - /** - * 商品图片 - */ - @TableField("productImages") - private String productImages; - /** - * 用户人群(1=全部用户,2=年度会员,3=已有学员用户) - */ - @TableField("userPopulation") - private Integer userPopulation; - /** - * 发放数量 - */ - @TableField("quantityIssued") - private Integer quantityIssued; - /** - * 限领数量 - */ - @TableField("pickUpQuantity") - private Integer pickUpQuantity; - /** - * 开始时间 - */ - @TableField("startTime") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date startTime; - /** - * 结束时间 - */ - @TableField("endTime") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date endTime; - /** - * 使用范围(1=全国,2=指定城市,3=指定门店) - */ - @TableField("useScope") - private Integer useScope; - /** - * 省 - */ - @TableField("province") - private String province; - /** - * 省编号 - */ - @TableField("provinceCode") - private String provinceCode; - /** - * 市 - */ - @TableField("city") - private String city; - /** - * 市编号 - */ - @TableField("cityCode") - private String cityCode; - /** - * 兑换说明 - */ - @TableField("redemptionInstructions") - private String redemptionInstructions; - /** - * 排序 - */ - @TableField("sort") - private Integer sort; - /** - * 状态(1=正常,2=冻结,3=删除) - */ - @TableField("state") - private Integer state; - /** - * 添加时间 - */ - @TableField("insertTime") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date insertTime; - /** - * 课包支付配置id - */ - @TableField("coursePackageConfigId") - private Integer coursePackageConfigId; - /** - * 1=上架 2=下架 - */ - @TableField("shelves") - private Integer shelves; - - @Override - protected Serializable pkVal() { - return this.id; - } - -} diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/QueryBodySideAppointment.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/QueryBodySideAppointment.java index 135cf2e..8febec8 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/QueryBodySideAppointment.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/QueryBodySideAppointment.java @@ -1,6 +1,9 @@ package com.dsh.course.feignClient.activity.model; +import io.swagger.models.auth.In; import lombok.Data; + +import java.util.List; /** * 接收查询参数VO @@ -13,4 +16,6 @@ private Integer state; // 1=今日内预约 2=明日预约 7=七日内 private Integer day; + // 门店id集合 + private List<Integer> ids; } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java index 1129250..fe050a9 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java @@ -1,19 +1,15 @@ package com.dsh.course.feignClient.course; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.dsh.course.feignClient.course.model.*; import com.dsh.course.feignClient.course.model.CourseChangeStateDTO; import com.dsh.course.feignClient.course.model.QueryCourseList; -import com.dsh.course.feignClient.course.model.*; import com.dsh.guns.modular.system.model.EditCourseState; import com.dsh.guns.modular.system.model.TCourse; import com.dsh.guns.modular.system.model.TQueryBenefitsVideosDTO; import com.dsh.guns.modular.system.model.TQueryBenefitsVideosVO; -import com.dsh.guns.modular.system.model.TQueryBenefitsVideosVO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -99,38 +95,4 @@ */ @PostMapping("/course/queryCourseByType") List<TCourse> queryCourseByType(Integer type); - - - @PostMapping("/course/queryDiscountList") - List<DiscountList> queryDiscountList(QueryDiscountList queryDiscountList); - - @PostMapping("/course/updateState") - Boolean updateState(DiscountUpdateState discountUpdateState); - - @PostMapping("/course/queryDiscountListAudit") - List<DiscountList> queryDiscountListAudit(QueryDiscountList queryDiscountList); - - @PostMapping("/course/auditDiscount") - Boolean auditDiscount(AuditDiscount auditDiscount); - - @PostMapping("/course/queryByDiscountId") - TCoursePackage queryByDiscountId(Integer id); - @PostMapping("/course/queryDiscountById") - Integer queryDiscountById(Integer id); - - @PostMapping("/course/getPageageType") - List<Map<String, Object>> getPageageType(); - - @PostMapping("/course/queryByTypeId") - List<TCoursePackage> queryByTypeId(Integer oneId); - - @PostMapping("/course/queryByConfigId") - List<Map<String, Object>> queryByConfigId(Integer oneId); - - @PostMapping("/course/queryPackageById") - List<String> queryPackageById(Integer coursePackageId); - - @PostMapping("/course/getHours") - String getHours(Integer coursePackageId1); - } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageDiscountClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageDiscountClient.java index 9ba9a71..b3faf17 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageDiscountClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageDiscountClient.java @@ -26,10 +26,7 @@ * 配置课包折扣数据 * @param list */ - @PostMapping("/coursePackageDiscount/setCoursePackageDiscount") void setCoursePackageDiscount(List<TCoursePackageDiscount> list); - @PostMapping("/coursePackageDiscount/queryCoursePackageDiscountOne") - List<TCoursePackageDiscount> queryCoursePackageDiscountOne(Integer id); } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/AuditDiscount.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/AuditDiscount.java deleted file mode 100644 index 66dae0b..0000000 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/AuditDiscount.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.dsh.course.feignClient.course.model; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AuditDiscount { - private Integer id; - - private Integer type; - - private String text; -} diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/DiscountList.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/DiscountList.java deleted file mode 100644 index 59af385..0000000 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/DiscountList.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.dsh.course.feignClient.course.model; - -import lombok.Data; - -@Data -public class DiscountList { - private Integer id; - - private String pName; - - private String cName; - - private String shopName; - - private String name; - - private String type; - - private Integer status; - - private Integer storeId; - private Integer courseId; -} diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/DiscountUpdateState.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/DiscountUpdateState.java deleted file mode 100644 index d89f36e..0000000 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/DiscountUpdateState.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.dsh.course.feignClient.course.model; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class DiscountUpdateState { - private Integer id; - - private Integer status; -} diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/QueryDiscountList.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/QueryDiscountList.java deleted file mode 100644 index 6c78a09..0000000 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/QueryDiscountList.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.dsh.course.feignClient.course.model; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class QueryDiscountList { - private long offset; - private long limit; - - private String pCode; - - private String cCode; - - private String name; - - private Integer type; - - private List<Integer> ids; -} diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/StoreValueConfigClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/StoreValueConfigClient.java new file mode 100644 index 0000000..61ba5e6 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/StoreValueConfigClient.java @@ -0,0 +1,31 @@ +package com.dsh.course.feignClient.other; + +import com.dsh.course.feignClient.other.model.Site; +import com.dsh.guns.modular.system.model.Store; +import com.dsh.guns.modular.system.model.StoredValueConfig; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; + +import java.util.List; + +/** + * 储值管理 + */ +@FeignClient(value = "mb-cloud-other") +public interface StoreValueConfigClient { + + /** + * 添加储值规则 + * @return + */ + @RequestMapping("/base/storeValueConfig/addStoreValueConfig") + Object addStoreValueConfig(@RequestBody StoredValueConfig storedValueConfig); + + /** + * 获取储值规则 + * @return + */ + @RequestMapping("/base/storeValueConfig/getStoreValueConfig") + StoredValueConfig getStoreValueConfig(); +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java new file mode 100644 index 0000000..26a8c67 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java @@ -0,0 +1,251 @@ +package com.dsh.guns.modular.system.controller.code; + + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsh.course.feignClient.account.AppUserClient; +import com.dsh.course.feignClient.account.CityManagerClient; +import com.dsh.course.feignClient.account.StoreStaffClient; +import com.dsh.course.feignClient.account.model.*; +import com.dsh.course.feignClient.activity.BodySideAppointmentClient; +import com.dsh.course.feignClient.activity.model.BodySideAppointment; +import com.dsh.course.feignClient.activity.model.QueryBodySideAppointment; +import com.dsh.course.feignClient.activity.model.QueryBodySideAppointmentVO; +import com.dsh.course.feignClient.other.StoreClient; +import com.dsh.guns.config.UserExt; +import com.dsh.guns.modular.system.model.Store; +import com.dsh.guns.modular.system.model.TCity; +import com.dsh.guns.modular.system.model.TSiteType; +import com.dsh.guns.modular.system.service.ICityService; +import com.dsh.guns.modular.system.util.ResultUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +/** + * 用户管理控制器 + */ +@Controller +@RequestMapping("/appUser") +public class TAppUserController { + private String PREFIX = "/system/appUser/"; + @Autowired + private StoreClient storeClient; + @Autowired + private BodySideAppointmentClient bodySideAppointmentClient; + @Autowired + private CityManagerClient cityManagerClient; + @Autowired + private StoreStaffClient storeStaffClient; + @Autowired + private AppUserClient appUserClient; + @Autowired + private ICityService cityService; + /** + * 跳转体测预约管理首页 + */ + @RequestMapping("") + public String index(Model model) { + Integer roleType = UserExt.getUser().getObjectType(); + Integer objectId = UserExt.getUser().getObjectId(); + model.addAttribute("roleType",roleType); + model.addAttribute("objectId",objectId); + List<CityManager> province = cityManagerClient.listAll(); + // 已有城市管理的省 + ArrayList<String> list1 = new ArrayList<>(); + // 已有城市管理的市 + ArrayList<String> list2 = new ArrayList<>(); + for (CityManager cityManager : province) { + list1.add(cityManager.getProvince()); + list2.add(cityManager.getCity()); + } + HashSet<String> set = new HashSet<String>(list1); + model.addAttribute("list",set); + return PREFIX + "TAppUser.html"; + } + /** + * 跳转用户信息管理添加页面 + */ + @RequestMapping("/add") + public String add(Model model) { + Integer roleType = UserExt.getUser().getObjectType(); + List<CityManager> province = cityManagerClient.listAll(); + Set<String> seenNames = new HashSet<>(); + List<CityManager> result = new ArrayList<>(); + for (CityManager cityManager : province) { + if(!seenNames.contains(cityManager.getProvince())){ + result.add(cityManager); + seenNames.add(cityManager.getProvince()); + } + } + if (roleType == 2){ + Integer cityManagerId = UserExt.getUser().getObjectId(); + CityManager cityManager = cityManagerClient.queryCityManagerById(cityManagerId); + List<Store> stores = storeClient.getStoreByCityManagerId(cityManagerId); + model.addAttribute("stores",stores); + } + model.addAttribute("list",result); + + model.addAttribute("roleType",roleType); + return PREFIX + "TAppUser_add.html"; + } + + + /** + * 跳转体测预约管理添加页面 + */ + @RequestMapping("/addStudent") + public String addStudent(Model model) { + Integer roleType = UserExt.getUser().getObjectType(); + List<CityManager> province = cityManagerClient.listAll(); + Set<String> seenNames = new HashSet<>(); + List<CityManager> result = new ArrayList<>(); + for (CityManager cityManager : province) { + if(!seenNames.contains(cityManager.getProvince())){ + result.add(cityManager); + seenNames.add(cityManager.getProvince()); + } + } + if (roleType == 2){ + Integer cityManagerId = UserExt.getUser().getObjectId(); + CityManager cityManager = cityManagerClient.queryCityManagerById(cityManagerId); + List<Store> stores = storeClient.getStoreByCityManagerId(cityManagerId); + model.addAttribute("stores",stores); + } + model.addAttribute("list",result); + + model.addAttribute("roleType",roleType); + return PREFIX + "TAppUser_addStudent.html"; + } + /** + * 跳转体测预约管理编辑页面 + * @param type 1 = 用户管理编辑 2 = 用户管理详情-非会员 3 = 用户管理详情-会员 + */ + @RequestMapping("/update/{id}/{type}") + public String update(Model model,@PathVariable("id") Integer id,@PathVariable("type") Integer type) { + Integer roleType = UserExt.getUser().getObjectType(); + Integer objectId = UserExt.getUser().getObjectId(); + BodySideAppointment data = bodySideAppointmentClient.getInfoById(id); + if (roleType == 1){ + List<CityManager> cityManagers = cityManagerClient.listAll(); + List<CityManager> province = new ArrayList<>(); + List<CityManager> city = new ArrayList<>(); + Set<String> seenNames = new HashSet<>(); + Set<String> c = new HashSet<>(); + // 省列表 + List<CityManager> result = new ArrayList<>(); + // 市列表 + List<CityManager> cities = new ArrayList<>(); + // 对省/市去重 + for (CityManager cityManager : cityManagers) { + if(!seenNames.contains(cityManager.getProvince())){ + result.add(cityManager); + seenNames.add(cityManager.getProvince()); + } + if(!c.contains(cityManager.getProvince())){ + cities.add(cityManager); + c.add(cityManager.getProvince()); + } + } + List<Store> stores = storeClient.getStore(data.getCity()); + model.addAttribute("stores",stores); + model.addAttribute("list",result); + model.addAttribute("cities",cities); + }else if (roleType == 2){ + List<Store> stores = storeClient.getStoreByCityManagerId(objectId); + model.addAttribute("stores",stores); + } + String birthday = new SimpleDateFormat("yyyy-MM-dd").format(data.getBirthday()); + String appointmentTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(data.getAppointmentTime()); + model.addAttribute("birthday",birthday); + model.addAttribute("appointmentTime",appointmentTime); + model.addAttribute("data",data); + model.addAttribute("roleType",roleType); + return PREFIX + "TAppUser_edit.html"; + } + + /** + * 获取所有用户信息 + * @return + */ + @RequestMapping("/listAll") + @ResponseBody + public List<QueryAppUserVO> listAll(String province, String city,String name, + String phone,Integer isVip, String salesmanUserName){ + QueryAppUser queryAppUser = new QueryAppUser(); + queryAppUser.setProvince(province); + queryAppUser.setCity(city); + queryAppUser.setName(name); + queryAppUser.setPhone(phone); + queryAppUser.setIsVip(isVip); + queryAppUser.setSalesmanUserName(salesmanUserName); + return appUserClient.listAll(queryAppUser); + } + + /** + * 新增用户信息 + * @return + */ + @RequestMapping("/addAppUser") + @ResponseBody + public ResultUtil addAppUser(TAppUser appUser){ + appUserClient.addAppUser(appUser); + return ResultUtil.success("添加成功"); + } + /** + * 添加/修改体测预约记录 + */ + @ResponseBody + @RequestMapping(value = "/addBodySideAppointments") + public ResultUtil addBodySideAppointments(@RequestBody QueryBodySideAppointmentVO vo) { + Integer roleType = UserExt.getUser().getObjectType(); + // 获取当前登录人id + Integer cityManagerId = UserExt.getUser().getObjectId(); + if (roleType == 2){ + CityManager cityManager = cityManagerClient.queryCityManagerById(cityManagerId); + vo.setProvince(cityManager.getProvince()); + vo.setProvinceCode(cityManager.getProvinceCode()); + vo.setCity(cityManager.getCity()); + vo.setCityCode(cityManager.getCityCode()); + }else if (roleType == 3){ + TStoreStaff storeByStoreStaffId = storeStaffClient.getStoreByStoreStaffId(cityManagerId); + Store storeById = storeClient.getStoreById(storeByStoreStaffId.getStoreId()); + vo.setProvince(storeById.getProvince()); + vo.setProvinceCode(storeById.getProvinceCode()); + vo.setCity(storeById.getCity()); + vo.setCityCode(storeById.getCityCode()); + } + bodySideAppointmentClient.addBodySideAppointments(vo); + return ResultUtil.success("添加成功"); + } + + /** + * 添加/修改体测预约记录 + */ + @ResponseBody + @RequestMapping(value = "/getInfoById") + public BodySideAppointment getInfoById(@RequestBody Integer id) { + return bodySideAppointmentClient.getInfoById(id); + } + + /** + * 手动标记用户已经到店并完成体测 + */ + @ResponseBody + @RequestMapping(value = "/changeState") + public Object changeState(@RequestBody List<Integer> ids) { + return bodySideAppointmentClient.changeState(ids); + } + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java index 42238b3..15abeb8 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java @@ -2,8 +2,10 @@ import com.dsh.course.feignClient.account.CityManagerClient; +import com.dsh.course.feignClient.account.StoreStaffClient; import com.dsh.course.feignClient.account.model.CityManager; import com.dsh.course.feignClient.account.model.Coach; +import com.dsh.course.feignClient.account.model.TStoreStaff; import com.dsh.course.feignClient.activity.BodySideAppointmentClient; import com.dsh.course.feignClient.activity.model.BodySideAppointment; import com.dsh.course.feignClient.activity.model.QueryBodySideAppointment; @@ -11,6 +13,7 @@ import com.dsh.course.feignClient.other.StoreClient; import com.dsh.guns.config.UserExt; import com.dsh.guns.modular.system.model.CoachQuery; +import com.dsh.guns.modular.system.model.Store; import com.dsh.guns.modular.system.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -19,6 +22,7 @@ import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; /** * 体测预约管理控制器 @@ -34,6 +38,8 @@ private BodySideAppointmentClient bodySideAppointmentClient; @Autowired private CityManagerClient cityManagerClient; + @Autowired + private StoreStaffClient storeStaffClient; /** * 跳转体测预约管理首页 */ @@ -46,6 +52,7 @@ */ @RequestMapping("/add") public String add(Model model) { + Integer roleType = UserExt.getUser().getObjectType(); List<CityManager> province = cityManagerClient.listAll(); Set<String> seenNames = new HashSet<>(); List<CityManager> result = new ArrayList<>(); @@ -55,14 +62,60 @@ seenNames.add(cityManager.getProvince()); } } + if (roleType == 2){ + Integer cityManagerId = UserExt.getUser().getObjectId(); + CityManager cityManager = cityManagerClient.queryCityManagerById(cityManagerId); + List<Store> stores = storeClient.getStoreByCityManagerId(cityManagerId); + model.addAttribute("stores",stores); + } model.addAttribute("list",result); + + model.addAttribute("roleType",roleType); return PREFIX + "TBodySideAppointment_add.html"; } /** * 跳转体测预约管理编辑页面 */ - @RequestMapping("/update") - public String update(Model model) { + @RequestMapping("/update/{id}") + public String update(Model model,@PathVariable("id") Integer id) { + Integer roleType = UserExt.getUser().getObjectType(); + Integer objectId = UserExt.getUser().getObjectId(); + BodySideAppointment data = bodySideAppointmentClient.getInfoById(id); + if (roleType == 1){ + List<CityManager> cityManagers = cityManagerClient.listAll(); + List<CityManager> province = new ArrayList<>(); + List<CityManager> city = new ArrayList<>(); + Set<String> seenNames = new HashSet<>(); + Set<String> c = new HashSet<>(); + // 省列表 + List<CityManager> result = new ArrayList<>(); + // 市列表 + List<CityManager> cities = new ArrayList<>(); + // 对省/市去重 + for (CityManager cityManager : cityManagers) { + if(!seenNames.contains(cityManager.getProvince())){ + result.add(cityManager); + seenNames.add(cityManager.getProvince()); + } + if(!c.contains(cityManager.getProvince())){ + cities.add(cityManager); + c.add(cityManager.getProvince()); + } + } + List<Store> stores = storeClient.getStore(data.getCity()); + model.addAttribute("stores",stores); + model.addAttribute("list",result); + model.addAttribute("cities",cities); + }else if (roleType == 2){ + List<Store> stores = storeClient.getStoreByCityManagerId(objectId); + model.addAttribute("stores",stores); + } + String birthday = new SimpleDateFormat("yyyy-MM-dd").format(data.getBirthday()); + String appointmentTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(data.getAppointmentTime()); + model.addAttribute("birthday",birthday); + model.addAttribute("appointmentTime",appointmentTime); + model.addAttribute("data",data); + model.addAttribute("roleType",roleType); return PREFIX + "TBodySideAppointment_edit.html"; } @@ -72,15 +125,30 @@ */ @RequestMapping("/listAll") @ResponseBody - public List<QueryBodySideAppointmentVO> listAll(String phone,String parentName,Integer state){ + public List<QueryBodySideAppointmentVO> listAll(String phone,String parentName,Integer state,Integer day){ QueryBodySideAppointment vo = new QueryBodySideAppointment(); vo.setParentName(parentName); vo.setPhone(phone); vo.setState(state); + vo.setDay(day); + Integer roleType = UserExt.getUser().getObjectType(); + Integer objectId = UserExt.getUser().getObjectId(); + if (roleType == 2){ + // 获取门店集合 + List<Integer> collect = storeClient.getStoreByCityManagerId(objectId) + .stream().map(Store::getId).collect(Collectors.toList()); + vo.setIds(collect); + }else if(roleType == 3){ + List<Integer> list = new ArrayList<>(); + TStoreStaff storeByStoreStaffId = storeStaffClient.getStoreByStoreStaffId(objectId); + list.add(storeByStoreStaffId.getStoreId()); + vo.setIds(list); + } List<QueryBodySideAppointmentVO> queryBodySideAppointmentVOS = bodySideAppointmentClient.listAll(vo); for (QueryBodySideAppointmentVO queryBodySideAppointmentVO : queryBodySideAppointmentVOS) { queryBodySideAppointmentVO.setProvinceAndCity(queryBodySideAppointmentVO.getProvince()+queryBodySideAppointmentVO.getCity()); } + return queryBodySideAppointmentVOS; } @@ -90,6 +158,23 @@ @ResponseBody @RequestMapping(value = "/addBodySideAppointments") public ResultUtil addBodySideAppointments(@RequestBody QueryBodySideAppointmentVO vo) { + Integer roleType = UserExt.getUser().getObjectType(); + // 获取当前登录人id + Integer cityManagerId = UserExt.getUser().getObjectId(); + if (roleType == 2){ + CityManager cityManager = cityManagerClient.queryCityManagerById(cityManagerId); + vo.setProvince(cityManager.getProvince()); + vo.setProvinceCode(cityManager.getProvinceCode()); + vo.setCity(cityManager.getCity()); + vo.setCityCode(cityManager.getCityCode()); + }else if (roleType == 3){ + TStoreStaff storeByStoreStaffId = storeStaffClient.getStoreByStoreStaffId(cityManagerId); + Store storeById = storeClient.getStoreById(storeByStoreStaffId.getStoreId()); + vo.setProvince(storeById.getProvince()); + vo.setProvinceCode(storeById.getProvinceCode()); + vo.setCity(storeById.getCity()); + vo.setCityCode(storeById.getCityCode()); + } bodySideAppointmentClient.addBodySideAppointments(vo); return ResultUtil.success("添加成功"); } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCityController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCityController.java index 9d33d8f..a7ea97d 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCityController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCityController.java @@ -11,8 +11,6 @@ import com.dsh.course.feignClient.account.model.TCityManager; import com.dsh.course.feignClient.competition.CompetitionClient; import com.dsh.course.feignClient.competition.model.*; -import com.dsh.course.feignClient.course.CourseClient; -import com.dsh.course.feignClient.course.model.TCoursePackage; import com.dsh.course.mapper.UserMapper; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.core.base.tips.SuccessTip; @@ -34,7 +32,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; /** @@ -62,9 +59,6 @@ @Resource private UserMapper userMapper; - - @Autowired - private CourseClient courseClient; /** @@ -183,38 +177,6 @@ TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getId, oneId)); QueryWrapper<TCity> query = new QueryWrapper<TCity>().eq("parent_id", one.getId()); return cityService.list(query); - }catch (Exception e){ - e.printStackTrace(); - return ERROR; - } - } - @RequestMapping(value = "/storeChange") - @ResponseBody - public Object storeChange(Integer oneId) { - try { - return storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getCityCode, oneId)); - }catch (Exception e){ - e.printStackTrace(); - return ERROR; - } - } - @RequestMapping(value = "/packageChange") - @ResponseBody - public Object packageChange(Integer oneId) { - try { - List<TCoursePackage> list = courseClient.queryByTypeId(oneId); - return list; - }catch (Exception e){ - e.printStackTrace(); - return ERROR; - } - } - @RequestMapping(value = "/timeChange") - @ResponseBody - public Object timeChange(Integer oneId) { - try { - List<Map<String,Object>> list = courseClient.queryByConfigId(oneId); - return list; }catch (Exception e){ e.printStackTrace(); return ERROR; diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TDiscountController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TDiscountController.java deleted file mode 100644 index b8d1c5d..0000000 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TDiscountController.java +++ /dev/null @@ -1,382 +0,0 @@ -package com.dsh.guns.modular.system.controller.code; - -import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.dsh.course.feignClient.competition.CompetitionClient; -import com.dsh.course.feignClient.competition.model.Competition; -import com.dsh.course.feignClient.competition.model.CompetitionUser; -import com.dsh.course.feignClient.competition.model.GetPeopleQuery; -import com.dsh.course.feignClient.competition.model.ListQuery; -import com.dsh.course.feignClient.course.CourseClient; -import com.dsh.course.feignClient.course.CoursePackageDiscountClient; -import com.dsh.course.feignClient.course.CoursePackagePaymentConfigClient; -import com.dsh.course.feignClient.course.CoursePackageTypeClient; -import com.dsh.course.feignClient.course.model.*; -import com.dsh.guns.core.base.controller.BaseController; -import com.dsh.guns.core.base.tips.ErrorTip; -import com.dsh.guns.core.base.tips.SuccessTip; -import com.dsh.guns.core.common.constant.factory.PageFactory; -import com.dsh.guns.core.util.ToolUtil; -import com.dsh.guns.modular.system.model.TCity; -import com.dsh.guns.modular.system.model.TStore; -import com.dsh.guns.modular.system.service.ICityService; -import com.dsh.guns.modular.system.service.ICoursePackageService; -import com.dsh.guns.modular.system.service.IStoreService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; - -import javax.annotation.Resource; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 车辆管理控制器 - * - * @author fengshuonan - * @Date 2020-06-05 17:25:12 - */ -@Controller -@RequestMapping("/tDiscount") -public class TDiscountController extends BaseController { - - private String PREFIX = "/system/tDiscount/"; - private String PREFIX1 = "/system/tDiscountAudit/"; - - @Autowired - private CompetitionClient competitionClient; - - @Autowired - private IStoreService storeService; - - @Autowired - private ICityService cityService; - - @Autowired - private CourseClient courseClient; - - - - - /** - * 跳转到车辆管理首页 - */ - @RequestMapping("") - public String index(Model model) { - List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); - model.addAttribute("list",list); - return PREFIX + "TDiscount.html"; - } - @RequestMapping("/audit") - public String indexAudit(Model model) { - List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); - model.addAttribute("list",list); - return PREFIX1 + "TDiscount.html"; - } - - /** - * 跳转到添加车辆管理 - */ - @RequestMapping("/tCompetition_add") - public String tCompetitionAdd(Model model) { - List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); - model.addAttribute("list",list); - return PREFIX + "TCompetition_add.html"; - } - - - /** - * 跳转到修改车辆管理 - */ - @RequestMapping("/tCompetition_update/{id}") - public String tCarUpdate(@PathVariable Integer id, Model model) { - Competition competition = competitionClient.queryById(id); - model.addAttribute("item",competition); - List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); - TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, competition.getProvinceCode())); - List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId())); - - List<TStore> list2 = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getCityCode,competition.getCityCode())); - model.addAttribute("list",list); - model.addAttribute("list1",list1); - model.addAttribute("list2",list2); - model.addAttribute("type",1); - return PREFIX + "TCompetition_edit.html"; - } - @RequestMapping("/tCompetition_info/{id}") - public String tCarInfo(@PathVariable Integer id, Model model) { - Competition competition = competitionClient.queryById(id); - model.addAttribute("item",competition); - List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); - TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, competition.getProvinceCode())); - List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId())); - - List<TStore> list2 = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getCityCode,competition.getCityCode())); - model.addAttribute("list",list); - model.addAttribute("list1",list1); - model.addAttribute("list2",list2); - model.addAttribute("type",2); - - return PREFIX + "TCompetition_edit.html"; - } - @RequestMapping("/tCompetition_user/{id}") - public String tCarUser(@PathVariable Integer id, Model model) { - model.addAttribute("id",id); - return PREFIX + "TCompetitionUser.html"; - } - - @Autowired - private ICoursePackageService coursePackageService; - - @Resource - private CoursePackagePaymentConfigClient coursePackagePaymentConfigClient; - - @Resource - private CoursePackageDiscountClient coursePackageDiscountClient; - @RequestMapping("/info") - public String info( Integer id, Model model) { - TCoursePackage tCoursePackage1 = courseClient.queryByDiscountId(id); - TCoursePackage tCoursePackage = coursePackageService.queryById(tCoursePackage1.getId()); - model.addAttribute("item", tCoursePackage); - List<CoursePackagePaymentConfig> list4 = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(id); - List<Map<String, Object>> list = new ArrayList<>(); - for (CoursePackagePaymentConfig coursePackagePaymentConfig : list4) { - if(coursePackagePaymentConfig.getCashPayment() == 0){ - continue; - } - Map<String, Object> map = new HashMap<>(); - map.put("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()); - map.put("classHours", coursePackagePaymentConfig.getClassHours()); - String payment = ""; - if(coursePackagePaymentConfig.getCashPayment() > 0){ - payment += "现金支付"; - } - if(coursePackagePaymentConfig.getPlayPaiCoin() > 0){ - payment += (ToolUtil.isNotEmpty(payment) ? "、" : "") + "玩湃币支付"; - } - map.put("payment", payment); - map.put("cashPayment", coursePackagePaymentConfig.getCashPayment()); - List<TCoursePackageDiscount> tCoursePackageDiscounts = coursePackageDiscountClient.queryCoursePackageDiscount(coursePackagePaymentConfig.getId()); - map.put("coursePackageDiscount", tCoursePackageDiscounts); - list.add(map); - } - model.addAttribute("coursePackagePaymentConfig", JSON.toJSONString(list)); - return PREFIX + "coursePackageDiscount.html"; - } - @RequestMapping("/infoOne") - public String infoOne( Integer id, Model model) { - Integer state = courseClient.queryDiscountById(id); - if(state==1){ - model.addAttribute("stateStr","待审核"); - model.addAttribute("state",1); - }else { - model.addAttribute("stateStr","未通过"); - model.addAttribute("state",3); - } - - TCoursePackage tCoursePackage1 = courseClient.queryByDiscountId(id); - TCoursePackage tCoursePackage = coursePackageService.queryById(tCoursePackage1.getId()); - model.addAttribute("item", tCoursePackage); - List<CoursePackagePaymentConfig> list4 = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(id); - List<Map<String, Object>> list = new ArrayList<>(); - for (CoursePackagePaymentConfig coursePackagePaymentConfig : list4) { - if(coursePackagePaymentConfig.getCashPayment() == 0){ - continue; - } - Map<String, Object> map = new HashMap<>(); - map.put("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()); - map.put("classHours", coursePackagePaymentConfig.getClassHours()); - String payment = ""; - if(coursePackagePaymentConfig.getCashPayment() > 0){ - payment += "现金支付"; - } - if(coursePackagePaymentConfig.getPlayPaiCoin() > 0){ - payment += (ToolUtil.isNotEmpty(payment) ? "、" : "") + "玩湃币支付"; - } - map.put("payment", payment); - map.put("cashPayment", coursePackagePaymentConfig.getCashPayment()); - List<TCoursePackageDiscount> tCoursePackageDiscounts = coursePackageDiscountClient.queryCoursePackageDiscountOne(coursePackagePaymentConfig.getId()); - map.put("coursePackageDiscount", tCoursePackageDiscounts); - list.add(map); - } - model.addAttribute("coursePackagePaymentConfig", JSON.toJSONString(list)); - return PREFIX1 + "coursePackageDiscount.html"; - } - - - @RequestMapping(value = "/list") - @ResponseBody - public Object list(String provinceCode, String cityCode, String shopName, String name, Integer type) { - LambdaQueryWrapper<TStore> wrapper = new LambdaQueryWrapper<>(); - if(ToolUtil.isNotEmpty(shopName)){ - wrapper.like(TStore::getName, shopName); - } - List<TStore> list = storeService.list(wrapper); - Page<DiscountList> page = new PageFactory<DiscountList>().defaultPage(); - List<DiscountList> discountLists = courseClient.queryDiscountList(new QueryDiscountList(page.getCurrent(),page.getSize(),provinceCode,cityCode,name,type,list.stream().map(TStore::getId).collect(Collectors.toList()))); - for (DiscountList discountList : discountLists) { - for (TStore tStore : list) { - if(discountList.getStoreId().equals(tStore.getId())){ - discountList.setShopName(tStore.getName()); - } - } - } - page.setRecords(discountLists); - return super.packForBT(page); - } - @RequestMapping(value = "/listAudit") - @ResponseBody - public Object listAudit(String provinceCode, String cityCode, String shopName, String name, Integer type) { - LambdaQueryWrapper<TStore> wrapper = new LambdaQueryWrapper<>(); - if(ToolUtil.isNotEmpty(shopName)){ - wrapper.like(TStore::getName, shopName); - } - List<TStore> list = storeService.list(wrapper); - Page<DiscountList> page = new PageFactory<DiscountList>().defaultPage(); - List<DiscountList> discountLists = courseClient.queryDiscountListAudit(new QueryDiscountList(page.getCurrent(),page.getSize(),provinceCode,cityCode,name,type,list.stream().map(TStore::getId).collect(Collectors.toList()))); - for (DiscountList discountList : discountLists) { - for (TStore tStore : list) { - if(discountList.getStoreId().equals(tStore.getId())){ - discountList.setShopName(tStore.getName()); - } - } - } - page.setRecords(discountLists); - return super.packForBT(page); - } - - - @RequestMapping(value = "/updateState") - @ResponseBody - public Object updateState( Integer id,Integer status) { - try { - Boolean b = courseClient.updateState(new DiscountUpdateState(id,status)); - if(b){ - return new SuccessTip<>(); - } - return new ErrorTip(500,""); - }catch (Exception e){ - e.printStackTrace(); - return ERROR; - } - } - @RequestMapping(value = "/auditDiscount") - @ResponseBody - public Object auditDiscount(Integer id,Integer audit,String text) { - try { - Boolean b = courseClient.auditDiscount(new AuditDiscount(id,audit,text)); - if(b){ - return new SuccessTip<>(); - } - return new ErrorTip(500,""); - }catch (Exception e){ - e.printStackTrace(); - return ERROR; - } - } - - - @RequestMapping(value = "/add") - @ResponseBody - public Object list(Competition competition) { - try { - if(ToolUtil.isNotEmpty(competition.getProvinceCode())) { - TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, competition.getProvinceCode())); - competition.setProvince(one.getName()); - TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, competition.getCityCode())); - competition.setCity(one1.getName()); - } - competition.setAuditStatus(1); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - competition.setStartTime(format.parse(competition.getSTime())); - competition.setEndTime(format.parse(competition.getETime())); - competition.setRegisterEndTime(format.parse(competition.getREndTime())); - competitionClient.add(competition); - return new SuccessTip<>(); - }catch (Exception e){ - e.printStackTrace(); - return ERROR; - } - } - - @RequestMapping(value = "/update") - @ResponseBody - public Object update(Competition competition) { - try { - Competition competition1 = competitionClient.queryById(competition.getId()); - if(ToolUtil.isNotEmpty(competition.getProvinceCode())) { - TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, competition.getProvinceCode())); - competition.setProvince(one.getName()); - TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, competition.getCityCode())); - competition.setCity(one1.getName()); - } - if(ToolUtil.isEmpty(competition.getCoverDrawing())){ - competition.setCoverDrawing(competition1.getCoverDrawing()); - } - if(ToolUtil.isEmpty(competition.getRegistrationNotes())){ - competition.setRegistrationNotes(competition1.getRegistrationNotes()); - } - competitionClient.update(competition); - return new SuccessTip<>(); - }catch (Exception e){ - e.printStackTrace(); - return ERROR; - } - } - - - @RequestMapping(value = "/cancel") - public Object cancel(Integer id) { - try { - competitionClient.cancel(id); - return SUCCESS_TIP; - }catch (Exception e){ - e.printStackTrace(); - return ERROR; - } - } - - @RequestMapping(value = "/getPeopleFromId") - public Object getPeopleFromId(Integer id,Integer state) { - try { - Page<Object> page = new PageFactory<>().defaultPage(); - Page<CompetitionUser> data = competitionClient.getPeopleFromId(new GetPeopleQuery(page.getSize(),page.getCurrent(),id,state)); - return super.packForBT(data); - }catch (Exception e){ - e.printStackTrace(); - return ERROR; - } - } - - @RequestMapping(value = "/onChange") - @ResponseBody - public Object onChange(Integer oneId) { - try { - TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, oneId)); - return cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId())); - }catch (Exception e){ - e.printStackTrace(); - return ERROR; - } - } - @RequestMapping(value = "/oneChangeNext") - @ResponseBody - public Object oneChangeNext(Integer oneId) { - try { - return storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getCityCode, oneId)); - }catch (Exception e){ - e.printStackTrace(); - return ERROR; - } - } - - -} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java index 4bde281..58c86e5 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java @@ -13,14 +13,15 @@ import com.dsh.course.feignClient.activity.CouponClient; import com.dsh.course.feignClient.activity.PointMercharsClient; import com.dsh.course.feignClient.activity.model.*; -import com.dsh.course.feignClient.course.CourseClient; import com.dsh.guns.config.UserExt; -import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.core.base.tips.ErrorTip; import com.dsh.guns.core.base.tips.SuccessTip; import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.util.ToolUtil; -import com.dsh.guns.modular.system.model.*; +import com.dsh.guns.modular.system.model.CouponDataVo; +import com.dsh.guns.modular.system.model.Region; +import com.dsh.guns.modular.system.model.TCity; +import com.dsh.guns.modular.system.model.TStore; import com.dsh.guns.modular.system.service.ICityService; import com.dsh.guns.modular.system.service.IRegionService; import com.dsh.guns.modular.system.service.IStoreService; @@ -33,10 +34,11 @@ import javax.annotation.Resource; import java.io.IOException; -import java.math.BigDecimal; -import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @@ -46,7 +48,7 @@ @Controller @RequestMapping("/tGoods") -public class TGoodsController extends BaseController { +public class TGoodsController { @@ -69,9 +71,6 @@ private AppUserClient appUserClient; @Autowired private ICityService cityService; - - @Autowired - private CourseClient courseClient; @Resource private PointMercharsClient pointMercharsClient; @@ -97,74 +96,7 @@ model.addAttribute("userType",objectType); List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); model.addAttribute("list",list); - List<Map<String,Object>> listOne = courseClient.getPageageType(); - model.addAttribute("courseType",listOne); - - return PREFIX + "TGoods_add.html"; - } - - /** - * 跳转到添加 - */ - @RequestMapping("/tGoods_info") - public String tGoodsInfo(Model model) { - Integer objectType = UserExt.getUser().getObjectType(); - System.out.println(objectType); - model.addAttribute("userType",objectType); - List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); - model.addAttribute("list",list); - return PREFIX + "TGoods_detail_one.html"; - } - - @RequestMapping("/goods_info/{id}") - public String memberCouponInfo(@PathVariable Integer id, Model model) { - PointsMerchandise pointMercharsVo = pointMercharsClient.queryPointMerchaseById(id); - model.addAttribute("item",pointMercharsVo); - if(pointMercharsVo.getType()==2){ - Date startTime = pointMercharsVo.getStartTime(); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - model.addAttribute("sTime",format.format(startTime)); - model.addAttribute("eTime",format.format(pointMercharsVo.getEndTime())); - Integer shopId = pointMercharsClient.getshopName(id); - TStore byId = storeService.getById(shopId); - model.addAttribute("shopName",byId.getName()); - Integer coursePackageId = pointMercharsVo.getCoursePackageId(); - List<String> name = courseClient.queryPackageById(coursePackageId); - Integer coursePackageId1 = pointMercharsVo.getCoursePackageId(); - String classHours = courseClient.getHours(coursePackageId1); - model.addAttribute("typeName",name.get(0)); - model.addAttribute("pageName",name.get(1)); - model.addAttribute("classHours",classHours); - String productImages = pointMercharsVo.getProductImages(); - ArrayList<String> strings = new ArrayList<>(); - for (String s : productImages.split(",")) { - strings.add(s); - } - model.addAttribute("pictures",strings); - return PREFIX + "TGoods_detail_two.html"; - }else { - GoodsInfoOneVo infoOneVo = pointMercharsClient.queryDetailsOfGoods(id); - System.out.println("pointMercharsVo:"+infoOneVo); - model.addAttribute("item",infoOneVo); - String[] split = infoOneVo.getPics().split(","); - List<String> list = Arrays.asList(split); - if (infoOneVo.getUseScope() == 2){ - List<StoreVos> provinces = pointMercharsClient.getProvinces(id); - model.addAttribute("city",provinces); - } - if (infoOneVo.getUseScope() == 2){ - List<StoreVos> storeVos = pointMercharsClient.getStoreList(id); - model.addAttribute("store",storeVos); - } - model.addAttribute("pictures",list); - model.addAttribute("exchangeMethod",infoOneVo.getExchangeMethod()); - return PREFIX + "TGoods_detail_one.html"; - } - - - - } @@ -371,130 +303,15 @@ client.insertIntoData(dataVo); return new SuccessTip<>(); } - - /** - * 编辑 商品详情 - * @param pointMerchandiseId 商品Id - * @param quantityIssued 发放数量 - * @param pickUpQuantity 限领数量 - * @param redemptionInstructions 说明 - * @param cover 封面图 - * @param productImages 商品图片 - * @param sort 排序 - * @return - */ @PostMapping(value = "/update") @ResponseBody - public Object update( Integer pointMerchandiseId,Integer quantityIssued,Integer pickUpQuantity,String redemptionInstructions,String cover,String productImages,Integer sort){ - Map<String, Object> stringObjectHashMap = new HashMap<>(); - stringObjectHashMap.put("pointMerchandiseId",pointMerchandiseId); - stringObjectHashMap.put("quantityIssued",quantityIssued); - stringObjectHashMap.put("pickUpQuantity",pickUpQuantity); - stringObjectHashMap.put("redemptionInstructions",redemptionInstructions); - stringObjectHashMap.put("cover",cover); - stringObjectHashMap.put("productImages",productImages); - stringObjectHashMap.put("sort",sort); - System.out.println(stringObjectHashMap); - pointMercharsClient.updateGoodsDetail(stringObjectHashMap); + public Object update( Integer id,Integer num,Integer num1,String text){ + Coupon coupon = client.queryCouponById(id); + coupon.setQuantityIssued(num); + coupon.setPickUpQuantity(num1); + coupon.setIllustrate(text); + client.updateCouponData(coupon); return new SuccessTip<>(); - } - /* - ajax.set("typeAll",typeAll); - ajax.set("provinceCode",pCode); - ajax.set("cityCode",cCode); - ajax.set("storeId",storeId); - ajax.set("coursePackageTypeId",coursePackageTypeId); - ajax.set("coursePackageId",coursePackageId); - ajax.set("coursePackageConfigId",coursePackageConfigId); - ajax.set("price",price); - ajax.set("type",type); - ajax.set("integral",integral); - ajax.set("cash",cash); - ajax.set("cover",cover1); - ajax.set("imgOne",imgOne); - ajax.set("userPopulation",userPopulation); - ajax.set("quantityIssued",quantityIssued); - ajax.set("pickUpQuantity",pickUpQuantity); - ajax.set("startTime",startTime); - ajax.set("text",text); - ajax.set("sort",sort); - ajax.set("useScope",company); - ajax.set("cityIds",cts); - ajax.set("storeIds",stores); - */ - @PostMapping(value = "/add") - @ResponseBody - public Object add( Integer typeAll,String provinceCode,String cityCode,Integer storeId,Integer coursePackageTypeId,Integer coursePackageId,Integer coursePackageConfigId, - Double price,Integer type,Integer integral,Double cash,String cover,String imgOne,Integer userPopulation,Integer quantityIssued,Integer pickUpQuantity, - String startTime,String text,Integer sort,String name,Integer useScope,String cityIds,String storeIds - ) throws ParseException { - PointsMerchandise pointsMerchandise = new PointsMerchandise(); - pointsMerchandise.setType(typeAll); - pointsMerchandise.setName(name); - pointsMerchandise.setCoursePackageId(coursePackageId); - pointsMerchandise.setPrice(new BigDecimal(price)); - pointsMerchandise.setRedemptionMethod(type); - if(type==2 || type==3){ - pointsMerchandise.setCash(new BigDecimal(cash)); - } - if(type==1 || type==2){ - pointsMerchandise.setIntegral(integral); - } - pointsMerchandise.setCover(cover); - pointsMerchandise.setProductImages(imgOne); - pointsMerchandise.setUserPopulation(userPopulation); - pointsMerchandise.setQuantityIssued(quantityIssued); - pointsMerchandise.setPickUpQuantity(pickUpQuantity); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - pointsMerchandise.setStartTime(format.parse(startTime.split(" - ")[0])); - pointsMerchandise.setEndTime(format.parse(startTime.split(" - ")[1])); - pointsMerchandise.setUseScope(useScope); - if(ToolUtil.isNotEmpty(provinceCode)){ - TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, provinceCode)); - pointsMerchandise.setProvinceCode(provinceCode); - pointsMerchandise.setProvince(one.getName()); - } - if(ToolUtil.isNotEmpty(cityCode)){ - TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, cityCode)); - pointsMerchandise.setCityCode(cityCode); - pointsMerchandise.setCity(one.getName()); - } - pointsMerchandise.setRedemptionInstructions(text); - pointsMerchandise.setSort(sort); - pointsMerchandise.setState(1); - pointsMerchandise.setInsertTime(new Date()); - pointsMerchandise.setCoursePackageConfigId(coursePackageConfigId); - // 代替storeId - pointsMerchandise.setShelves(storeId); - Integer id = pointMercharsClient.add(pointsMerchandise); - if(typeAll!=2){ - if(useScope==2){ - ArrayList<Map<String,String>> objects = new ArrayList<>(); - for (String s : cityIds.split(",")) { - TCity tCity = cityService.getById(Integer.valueOf(s)); - HashMap<String, String> map = new HashMap<>(); - TCity pCity = cityService.getById(tCity.getParentId()); - map.put("pName",pCity.getName()); - map.put("pCode",pCity.getCode()); - map.put("cName",tCity.getName()); - map.put("cCode",tCity.getCode()); - map.put("id",id.toString()); - objects.add(map); - } - pointMercharsClient.addCitys(objects); - }else if(useScope==3){ - String pam = id+"_"+storeIds; - // 添加多个城市 门店 - try{ - pointMercharsClient.addOther(pam); - - }catch (Exception e){ - e.printStackTrace(); - } - } - } - return new SuccessTip<>(); - } @@ -521,7 +338,7 @@ /** - * 跳转到修改商品详情 + * 跳转到修改车辆管理 */ @RequestMapping("/tGoods_update/{id}") public String tCityUpdate(@PathVariable Integer id, Model model) { @@ -529,11 +346,8 @@ PointMercharsVo pointMercharsVo = pointMercharsClient.queryPointMerchaseDetailOfId(id); System.out.println("pointMercharsVo:"+pointMercharsVo); String[] split = pointMercharsVo.getPics().split(","); - List<String> list = Arrays.asList(split); - model.addAttribute("id",id); model.addAttribute("item",pointMercharsVo); - model.addAttribute("pictures",list); - System.out.println(list); + model.addAttribute("pictures",split); return PREFIX + "TGoods_edit.html"; } @@ -620,23 +434,11 @@ */ @RequestMapping("/write_off") @ResponseBody - public Object GoodsWriteOff(String id){ - Integer objectType = UserExt.getUser().getObjectType(); - Map<String, Object> stringObjectHashMap = new HashMap<>(); - stringObjectHashMap.put("goodsId",id); - stringObjectHashMap.put("managerId",objectType); - boolean b = pointMercharsClient.writeOffGoodsStatus(stringObjectHashMap); - System.out.println(b); - if (b){ - return new SuccessTip<>(); - }else { - return ERROR; - } - + public Object GoodsWriteOff(Integer id){ + System.out.println(id); + // TODO: 2023/8/15 核销操作 + return new SuccessTip<>(); } - - - } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TStoredValueConfigController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TStoredValueConfigController.java new file mode 100644 index 0000000..3218661 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TStoredValueConfigController.java @@ -0,0 +1,64 @@ +package com.dsh.guns.modular.system.controller.code; + + + +import com.dsh.course.feignClient.account.model.CityManager; +import com.dsh.course.feignClient.account.model.TStoreStaff; +import com.dsh.course.feignClient.activity.model.QueryBodySideAppointmentVO; +import com.dsh.course.feignClient.other.StoreValueConfigClient; +import com.dsh.guns.config.UserExt; +import com.dsh.guns.modular.system.model.Store; +import com.dsh.guns.modular.system.model.StoredValueConfig; +import com.dsh.guns.modular.system.util.ResultUtil; +import org.json.JSONArray; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * 储值规则配置控制器 + */ + +@Controller +@RequestMapping("/storeValueConfig") +public class TStoredValueConfigController { + + private String PREFIX = "/system/storeValueConfig/"; + @Autowired + private StoreValueConfigClient storeValueConfigClient; + /** + * 跳转储值管理页面 + */ + @RequestMapping("") + public String index(Model model) { + StoredValueConfig storeValueConfig = storeValueConfigClient.getStoreValueConfig(); + + model.addAttribute("description",storeValueConfig.getDescription()); + // 解析json串 获取时间 + JSONObject jsonObject = new JSONObject(storeValueConfig.getContent()); + JSONArray timeRulesArray = jsonObject.getJSONArray("time_rules"); + model.addAttribute("content",jsonObject); + if (timeRulesArray.length() > 0) { + JSONObject timeRule = timeRulesArray.getJSONObject(0); + String startTime = timeRule.getString("startTime"); + String endTime = timeRule.getString("endTime"); + model.addAttribute("time",startTime+" - " + endTime); + System.out.println("StartTime: " + startTime); + System.out.println("EndTime: " + endTime); + } + return PREFIX + "StoreValueConfig.html"; + } + /** + * 添加储值规则 + */ + @ResponseBody + @RequestMapping(value = "/addStoreValueConfig") + public ResultUtil addStoreValueConfig(@RequestBody StoredValueConfig storedValueConfig) { + storeValueConfigClient.addStoreValueConfig(storedValueConfig); + return ResultUtil.success(); + } +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java index 4ff330d..2883638 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java @@ -189,12 +189,13 @@ } } User user = userService.getByAccount(username); - password = AESUtils.decrypt(password); - String s = MD5.md5(password); - if(!user.getPassword().equals(s)){ - model.addAttribute("tips", "账号密码错误"); - return "/login.html"; - } + // todo 记得该回去!!!!!!!!!! +// password = AESUtils.decrypt(password); +// String s = MD5.md5(password); +// if(!user.getPassword().equals(s)){ +// model.addAttribute("tips", "账号密码错误"); +// return "/login.html"; +// } GetTokenRequest tokenRequest = new GetTokenRequest(); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GoodsInfoOneVo.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GoodsInfoOneVo.java deleted file mode 100644 index dfc1294..0000000 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GoodsInfoOneVo.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.dsh.guns.modular.system.model; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; -import java.util.List; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class GoodsInfoOneVo { - - - String name; - /** - * 封面图 - */ - String cover; - /** - * 原价 - */ - BigDecimal price; - /** - * 兑换方式(1=积分,2=现金+积分, 3=现金) - */ - Integer exchangeMethod; - /** - * 现金 - */ - BigDecimal cash; - /** - * 积分 - */ - Integer integral; - /** - * 图片 - */ - String pics; - /** - * 用户人群 - */ - String userPopulation; - /** - * 发放数量 - */ - Integer quantityIssued; - /** - * 已领数量 - */ - Integer hasPicked; - /** - * 限领数量 - */ - Integer pickUpQuantity; - /** - * 有效期 - */ - String validTime; - /** - * 兑换点 - */ - String exchangeArea; - /** - * 兑换地点 (1=全国,2=指定城市,3=指定门店) - */ - Integer useScope; - /** - * 商品说明 - */ - String redemptionInstructions; - /** - * 排序 - */ - Integer sort; - -} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoreVos.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoreVos.java deleted file mode 100644 index 1ce4dc4..0000000 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoreVos.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.dsh.guns.modular.system.model; - - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class StoreVos { - - String num1; - - String num2; - - String num3; -} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoredValueConfig.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoredValueConfig.java new file mode 100644 index 0000000..9ea0ba7 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/StoredValueConfig.java @@ -0,0 +1,93 @@ +package com.dsh.guns.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * <p> + * 储值规则配置 + * </p> + * + * @author jqs + * @since 2023-07-10 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_stored_value_config") +public class StoredValueConfig extends Model<StoredValueConfig> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 规则配置JSON +{ + "rules": [{ + "money": "100.0", + "usersCoins": "100.0", + "MemberCoins": "100.0", + "startTime": "", + "endTime": "" + }, { + "money": "200.0", + "usersCoins": "200.0", + "MemberCoins": "200.0", + "startTime": "", + "endTime": "" + }], + "time_rules": [{ + "sameTime": [{ + "money": "100.0", + "usersCoins": "100.0", + "MemberCoins": "200.0", + "startTime": "2023-06-01", + "endTime": "2023-06-15" + }, { + "money": "200.0", + "usersCoins": "200.0", + "MemberCoins": "400.0", + "startTime": "2023-06-01", + "endTime": "2023-06-15" + }] + }, { + "sameTime": [{ + "money": "100.0", + "usersCoins": "100.0", + "MemberCoins": "300.0", + "startTime": "2023-07-01", + "endTime": "2023-07-15" + }, { + "money": "200.0", + "usersCoins": "200.0", + "MemberCoins": "600.0", + "startTime": "2023-07-01", + "endTime": "2023-07-15" + }] + }] +} + */ + private String content; + /** + * 储值说明 + */ + private String description; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser.html new file mode 100644 index 0000000..b8550a3 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser.html @@ -0,0 +1,111 @@ +@layout("/common/_container.html"){ +<style> + .data-item { + position: relative; + border: 1px solid #ccc; + padding: 10px; + margin-bottom: 10px; + display: flex; + align-items: center; + justify-content: center; + max-width: 200px; + margin-right: 10px; + } + + .delete-button { + position: absolute; + top: -10px; + right: -10px; + cursor: pointer; + color: black; + width: 20px; + height: 20px; + text-align: center; + line-height: 20px; + border-radius: 50%; + } +</style> +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>视频分类管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + @if(roleType==1){ + <div class="col-sm-3"> + <div class="input-group"> + <div class="input-group-btn open"> + <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> + 所在省 + </button> + </div> + <select class="form-control" id="pCode" onchange="TQuestion.oneChange(1)"> + <option value="">全部</option> + @for(obj in list){ + <option value="${obj}">${obj}</option> + @} + </select> + </div> + </div> + @} + @if(roleType==1){ + <div class="col-sm-3"> + <div class="input-group"> + <div class="input-group-btn open"> + <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> + 所在市 + </button> + </div> + <select class="form-control" id="cCode"> + <option value="">请先选择省</option> + </select> + </div> + </div> + @} + + <div class="col-sm-3"> + <#NameCon id="name" name="姓名" /> + </div> + <div class="col-sm-3"> + <#NameCon id="phone" name="联系电话" /> + </div> + <div class="col-sm-3"> + <#SelectCon id="isVip" name="年度会员" > + <option value="">全部</option> + <option value="1">是</option> + <option value="2">否</option> + </#SelectCon> + </div> + <div class="col-sm-3"> + <#NameCon id="salesmanUserName" name="销售人员" /> + </div> + + <div class="col-sm-3"> + <#button name="搜索" icon="fa-search" clickFun="TQuestion.search()"/> + <#button name="重置" icon="fa-trash" clickFun="TQuestion.resetSearch()"/> + </div> + </div> + + <div style="margin-top: 10px" class="hidden-xs" id="TCouponTableToolbar" role="group"> + <#button name="添加" icon="fa-plus" clickFun="TQuestion.openAdd()"/> + <#button name="编辑" icon="fa-edit" clickFun="TQuestion.openChange()" space="true"/> + <#button name="查看详情" icon="fa-edit" clickFun="TQuestion.openChange()" space="true"/> + <#button name="冻结" icon="fa-check" clickFun="TQuestion.onShelf()" space="true"/> + <#button name="解冻" icon="fa-check" clickFun="TQuestion.onShelf()" space="true"/> + <#button name="添加学员" icon="fa-edit" clickFun="TQuestion.openChange()" space="true"/> + <#button name="查看学员信息" icon="fa-edit" clickFun="TQuestion.openChange()" space="true"/> + </div> + <#table id="TQuestionTable"/> + </div> + </div> + </div> + <input hidden id="roleType" value="${roleType}"> + </div> + </div> +</div> +<script src="${ctxPath}/modular/system/appUser/tAppUser.js"></script> +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_add.html new file mode 100644 index 0000000..64bac59 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_add.html @@ -0,0 +1,124 @@ +@layout("/common/_container.html"){ +<style> + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + height: 100px; + width: 100px; + overflow: hidden; + } + + .avatar-uploader .el-upload:hover { + border-color: #409EFF; + } + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 100px; + height: 100px; + line-height: 100px; + margin-top: 32px; + text-align: center; + } + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } +</style> +<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> +<div class="ibox float-e-margins"> + + <div class="ibox-content"> + <div class="form-horizontal" id="carInfoForm"> + @if(roleType == 1){ + <div class="form-group" id="provinceCode"> + <label class="col-sm-3 control-label">*所在省:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TQuestion.oneChange()"> + <option value="">请选择省</option> + @for(obj in list){ + <option style="width: 300px" value="${obj.provinceCode}">${obj.province}</option> + @} + </select> + </div> + </div> + + <div class="form-group" id="cityCode"> + <label class="col-sm-3 control-label">*所在市:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TQuestion.oneChangeNext(this)"> + <option value="">请选择市</option> + </select> + </div> + </div> + @} + + + <div class="form-group" > + <label class="col-sm-3 control-label">*姓名:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" class="form-control" id="learnerName" placeholder="请输入姓名" type="text"> + </div> + </div> + <div class="form-group" > + <label class="col-sm-3 control-label">*生日:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" class="form-control" id="birthday" placeholder="请选择" type="date"> + </div> + </div> + <div class="form-group" > + <label class="col-sm-3 control-label">*性别:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="gender" name = "gender"> + <option value="" style="color: #b6b6b6" disabled selected>请选择性别</option> + <option value="1">男</option> + <option value="2">女</option> + </select> + </div> + </div> + <div class="form-group" > + <label class="col-sm-3 control-label">*联系电话:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" class="form-control" id="phone" placeholder="请输入联系电话" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">*销售人员:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="salesmanUserName" name="salesmanUserName"> + <option value="">请选择</option> + @for(obj in list){ + <option style="width: 300px" value="${obj.provinceCode}">${obj.province}</option> + @} + </select> + </div> + </div> + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5" > + <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TQuestion.addSubmit()"/> + <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> + </div> + </div> + </div> + </div> +</div> + +</div> + +<script src="${ctxPath}/modular/system/appUser/tAppUser.js"></script> +<script src="${ctxPath}/js/vue/vue.js"></script> +<script src="${ctxPath}/js/elementui/index.js"></script> +<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> + +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_addStudent.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_addStudent.html new file mode 100644 index 0000000..0c24cf2 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_addStudent.html @@ -0,0 +1,142 @@ +@layout("/common/_container.html"){ +<style> + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + height: 100px; + width: 100px; + overflow: hidden; + } + + .avatar-uploader .el-upload:hover { + border-color: #409EFF; + } + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 100px; + height: 100px; + line-height: 100px; + margin-top: 32px; + text-align: center; + } + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } +</style> +<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> +<div class="ibox float-e-margins"> + + <div class="ibox-content"> + <div class="form-horizontal" id="carInfoForm"> + @if(roleType == 1){ + <div class="form-group" id="provinceCode"> + <label class="col-sm-3 control-label">*所在省:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TQuestion.oneChange()"> + <option value="">请选择省</option> + @for(obj in list){ + <option style="width: 300px" value="${obj.provinceCode}">${obj.province}</option> + @} + </select> + </div> + </div> + + <div class="form-group" id="cityCode"> + <label class="col-sm-3 control-label">*所在市:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TQuestion.oneChangeNext(this)"> + <option value="">请选择市</option> + </select> + </div> + </div> + @} + + @if(roleType != 3){ + <div class="form-group" > + <label class="col-sm-3 control-label">*所属门店:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="store" name="account"> + <option value="" style="color: #676A6C" disabled selected>请选择门店</option> + @if(roleType == 2){ + @for(obj in stores){ + <option style="width: 300px" value="${obj.id}">${obj.name}</option> + @} + @} + </select> + </div> + </div> + @} + + <div class="form-group" > + <label class="col-sm-3 control-label">*家长姓名:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" class="form-control" id="parentName" placeholder="请输入家长姓名" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*家长联系方式:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" class="form-control" id="phone" placeholder="请输入家长联系方式" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员姓名:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" class="form-control" id="learnerName" placeholder="请输入学员姓名" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员年龄:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" class="form-control" id="learnerAge" placeholder="请输入学员年龄" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员生日:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" class="form-control" id="birthday" placeholder="请选择" type="date"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*预约时间:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" class="form-control" id="appointmentTime" placeholder="请选择" type="datetime-local"> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5" > + <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TQuestion.addSubmit()"/> + <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> + </div> + </div> + </div> + </div> +</div> + +</div> + +<script src="${ctxPath}/modular/system/bodySideAppointment/tBodySideAppointment.js"></script> +<script src="${ctxPath}/js/vue/vue.js"></script> +<script src="${ctxPath}/js/elementui/index.js"></script> +<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> + +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_edit.html new file mode 100644 index 0000000..ef5c817 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_edit.html @@ -0,0 +1,139 @@ +@layout("/common/_container.html"){ +<style> + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + height: 100px; + width: 100px; + overflow: hidden; + } + + .avatar-uploader .el-upload:hover { + border-color: #409EFF; + } + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 100px; + height: 100px; + line-height: 100px; + margin-top: 32px; + text-align: center; + } + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } +</style> +<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> +<div class="ibox float-e-margins"> + <input hidden id="id" value="${data.id}"> + <input hidden id="roleType" value="${roleType}"> + <div class="ibox-content"> + <div class="form-horizontal" id="carInfoForm"> + @if(roleType == 1){ + <div class="form-group" id="provinceCode"> + <label class="col-sm-3 control-label">*所在省:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TQuestion.oneChange()"> + @for(obj in list){ + <option value="${obj.provinceCode}" ${obj.province == data.province ? 'selected=selected' : ''}>${obj.province}</option> + @} + </select> + </div> + </div> + + <div class="form-group" id="cityCode"> + <label class="col-sm-3 control-label">*所在市:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TQuestion.oneChangeNext(this)"> + @for(obj in cities){ + <option value="${obj.cityCode}" ${obj.city == data.city ? 'selected=selected' : ''}>${obj.city}</option> + @} + </select> + </div> + </div> + @} + @if(roleType != 3){ + <div class="form-group" > + <label class="col-sm-3 control-label">*所属门店:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="store" name="account"> + @for(obj in stores){ + <option value="${obj.id}" ${obj.id == data.storeId ? 'selected=selected' : ''}>${obj.name}</option> + @} + </select> + </div> + </div> + @} + <div class="form-group" > + <label class="col-sm-3 control-label">*家长姓名:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.parentName}" class="form-control" id="parentName" placeholder="请输入家长姓名" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*家长联系方式:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.phone}" class="form-control" id="phone" placeholder="请输入家长联系方式" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员姓名:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.learnerName}" class="form-control" id="learnerName" placeholder="请输入学员姓名" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员年龄:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.learnerAge}" class="form-control" id="learnerAge" placeholder="请输入学员年龄" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员生日:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${birthday}" class="form-control" id="birthday" placeholder="请选择" type="date"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*预约时间:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${appointmentTime}" class="form-control" id="appointmentTime" placeholder="请选择" type="datetime-local"> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5" > + <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TQuestion.addSubmit()"/> + <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> + </div> + </div> + </div> + </div> +</div> + +</div> + +<script src="${ctxPath}/modular/system/bodySideAppointment/tBodySideAppointment_edit.js"></script> +<script src="${ctxPath}/js/vue/vue.js"></script> +<script src="${ctxPath}/js/elementui/index.js"></script> +<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> + +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_info.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_info.html new file mode 100644 index 0000000..ef5c817 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_info.html @@ -0,0 +1,139 @@ +@layout("/common/_container.html"){ +<style> + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + height: 100px; + width: 100px; + overflow: hidden; + } + + .avatar-uploader .el-upload:hover { + border-color: #409EFF; + } + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 100px; + height: 100px; + line-height: 100px; + margin-top: 32px; + text-align: center; + } + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } +</style> +<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> +<div class="ibox float-e-margins"> + <input hidden id="id" value="${data.id}"> + <input hidden id="roleType" value="${roleType}"> + <div class="ibox-content"> + <div class="form-horizontal" id="carInfoForm"> + @if(roleType == 1){ + <div class="form-group" id="provinceCode"> + <label class="col-sm-3 control-label">*所在省:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TQuestion.oneChange()"> + @for(obj in list){ + <option value="${obj.provinceCode}" ${obj.province == data.province ? 'selected=selected' : ''}>${obj.province}</option> + @} + </select> + </div> + </div> + + <div class="form-group" id="cityCode"> + <label class="col-sm-3 control-label">*所在市:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TQuestion.oneChangeNext(this)"> + @for(obj in cities){ + <option value="${obj.cityCode}" ${obj.city == data.city ? 'selected=selected' : ''}>${obj.city}</option> + @} + </select> + </div> + </div> + @} + @if(roleType != 3){ + <div class="form-group" > + <label class="col-sm-3 control-label">*所属门店:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="store" name="account"> + @for(obj in stores){ + <option value="${obj.id}" ${obj.id == data.storeId ? 'selected=selected' : ''}>${obj.name}</option> + @} + </select> + </div> + </div> + @} + <div class="form-group" > + <label class="col-sm-3 control-label">*家长姓名:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.parentName}" class="form-control" id="parentName" placeholder="请输入家长姓名" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*家长联系方式:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.phone}" class="form-control" id="phone" placeholder="请输入家长联系方式" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员姓名:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.learnerName}" class="form-control" id="learnerName" placeholder="请输入学员姓名" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员年龄:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.learnerAge}" class="form-control" id="learnerAge" placeholder="请输入学员年龄" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员生日:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${birthday}" class="form-control" id="birthday" placeholder="请选择" type="date"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*预约时间:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${appointmentTime}" class="form-control" id="appointmentTime" placeholder="请选择" type="datetime-local"> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5" > + <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TQuestion.addSubmit()"/> + <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> + </div> + </div> + </div> + </div> +</div> + +</div> + +<script src="${ctxPath}/modular/system/bodySideAppointment/tBodySideAppointment_edit.js"></script> +<script src="${ctxPath}/js/vue/vue.js"></script> +<script src="${ctxPath}/js/elementui/index.js"></script> +<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> + +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_vipInfo.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_vipInfo.html new file mode 100644 index 0000000..ef5c817 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_vipInfo.html @@ -0,0 +1,139 @@ +@layout("/common/_container.html"){ +<style> + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + height: 100px; + width: 100px; + overflow: hidden; + } + + .avatar-uploader .el-upload:hover { + border-color: #409EFF; + } + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 100px; + height: 100px; + line-height: 100px; + margin-top: 32px; + text-align: center; + } + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } +</style> +<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> +<div class="ibox float-e-margins"> + <input hidden id="id" value="${data.id}"> + <input hidden id="roleType" value="${roleType}"> + <div class="ibox-content"> + <div class="form-horizontal" id="carInfoForm"> + @if(roleType == 1){ + <div class="form-group" id="provinceCode"> + <label class="col-sm-3 control-label">*所在省:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TQuestion.oneChange()"> + @for(obj in list){ + <option value="${obj.provinceCode}" ${obj.province == data.province ? 'selected=selected' : ''}>${obj.province}</option> + @} + </select> + </div> + </div> + + <div class="form-group" id="cityCode"> + <label class="col-sm-3 control-label">*所在市:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TQuestion.oneChangeNext(this)"> + @for(obj in cities){ + <option value="${obj.cityCode}" ${obj.city == data.city ? 'selected=selected' : ''}>${obj.city}</option> + @} + </select> + </div> + </div> + @} + @if(roleType != 3){ + <div class="form-group" > + <label class="col-sm-3 control-label">*所属门店:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="store" name="account"> + @for(obj in stores){ + <option value="${obj.id}" ${obj.id == data.storeId ? 'selected=selected' : ''}>${obj.name}</option> + @} + </select> + </div> + </div> + @} + <div class="form-group" > + <label class="col-sm-3 control-label">*家长姓名:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.parentName}" class="form-control" id="parentName" placeholder="请输入家长姓名" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*家长联系方式:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.phone}" class="form-control" id="phone" placeholder="请输入家长联系方式" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员姓名:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.learnerName}" class="form-control" id="learnerName" placeholder="请输入学员姓名" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员年龄:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.learnerAge}" class="form-control" id="learnerAge" placeholder="请输入学员年龄" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员生日:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${birthday}" class="form-control" id="birthday" placeholder="请选择" type="date"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*预约时间:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${appointmentTime}" class="form-control" id="appointmentTime" placeholder="请选择" type="datetime-local"> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5" > + <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TQuestion.addSubmit()"/> + <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> + </div> + </div> + </div> + </div> +</div> + +</div> + +<script src="${ctxPath}/modular/system/bodySideAppointment/tBodySideAppointment_edit.js"></script> +<script src="${ctxPath}/js/vue/vue.js"></script> +<script src="${ctxPath}/js/elementui/index.js"></script> +<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> + +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment.html index 383eb7b..50be075 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment.html @@ -56,9 +56,9 @@ </div> <div class="hidden-xs" style="margin-top: 10px" role="group"> <label>预约时间:</label> - <#button name="今日" icon="fa-search" clickFun="TQuestion.day(1)"/> - <#button name="明日" icon="fa-search" clickFun="TQuestion.day(2)"/> - <#button name="最近7天" icon="fa-search" clickFun="TQuestion.day(7)"/> + <#button name="今日" icon="fa-search" clickFun="TQuestion.search(1)"/> + <#button name="明日" icon="fa-search" clickFun="TQuestion.search(2)"/> + <#button name="最近7天" icon="fa-search" clickFun="TQuestion.search(7)"/> </div> <div style="margin-top: 10px" class="hidden-xs" id="TCouponTableToolbar" role="group"> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment_add.html index a58bfe3..0c24cf2 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment_add.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment_add.html @@ -41,6 +41,7 @@ <div class="ibox-content"> <div class="form-horizontal" id="carInfoForm"> + @if(roleType == 1){ <div class="form-group" id="provinceCode"> <label class="col-sm-3 control-label">*所在省:</label> <div class="col-sm-9"> @@ -61,15 +62,23 @@ </select> </div> </div> + @} + @if(roleType != 3){ <div class="form-group" > <label class="col-sm-3 control-label">*所属门店:</label> <div class="col-sm-9"> <select style="width: 300px" class="form-control" id="store" name="account"> <option value="" style="color: #676A6C" disabled selected>请选择门店</option> + @if(roleType == 2){ + @for(obj in stores){ + <option style="width: 300px" value="${obj.id}">${obj.name}</option> + @} + @} </select> </div> </div> + @} <div class="form-group" > <label class="col-sm-3 control-label">*家长姓名:</label> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment_edit.html index 550be62..ef5c817 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment_edit.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment_edit.html @@ -38,52 +38,100 @@ </style> <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> <div class="ibox float-e-margins"> - <input hidden id="dataId" value="${data.id}"> + <input hidden id="id" value="${data.id}"> + <input hidden id="roleType" value="${roleType}"> <div class="ibox-content"> <div class="form-horizontal" id="carInfoForm"> - <div class="form-group" > - <label class="col-sm-3 control-label">*家长姓名:</label> - <div class="col-sm-9" style="display: flex;"> - <input style="width: 300px" class="form-control" value="${data.name}" id="name" placeholder="请输入分类名称" type="text"> - </div> - </div> - - <div class="form-group" > - <label class="col-sm-3 control-label">*所在位置:</label> + @if(roleType == 1){ + <div class="form-group" id="provinceCode"> + <label class="col-sm-3 control-label">*所在省:</label> <div class="col-sm-9"> - <select style="width: 300px" class="form-control" id="position" name = "gender"> - <option value="" style="color: #b6b6b6" disabled selected>请选择所在位置</option> - <option value="1" ${data.position == 1 ? 'selected' : ''}>线上课得积分</option> - <option value="2" ${data.position == 2 ? 'selected' : ''}>看视频得奖励</option> - + <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TQuestion.oneChange()"> + @for(obj in list){ + <option value="${obj.provinceCode}" ${obj.province == data.province ? 'selected=selected' : ''}>${obj.province}</option> + @} </select> </div> </div> + <div class="form-group" id="cityCode"> + <label class="col-sm-3 control-label">*所在市:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TQuestion.oneChangeNext(this)"> + @for(obj in cities){ + <option value="${obj.cityCode}" ${obj.city == data.city ? 'selected=selected' : ''}>${obj.city}</option> + @} + </select> + </div> + </div> + @} + @if(roleType != 3){ <div class="form-group" > - <label class="col-sm-3 control-label">*排序:</label> + <label class="col-sm-3 control-label">*所属门店:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="store" name="account"> + @for(obj in stores){ + <option value="${obj.id}" ${obj.id == data.storeId ? 'selected=selected' : ''}>${obj.name}</option> + @} + </select> + </div> + </div> + @} + <div class="form-group" > + <label class="col-sm-3 control-label">*家长姓名:</label> <div class="col-sm-9" style="display: flex;"> - <input style="width: 300px" class="form-control" id="sort" value="${data.sort}" placeholder="请输入排序" type="text"> + <input style="width: 300px" value="${data.parentName}" class="form-control" id="parentName" placeholder="请输入家长姓名" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*家长联系方式:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.phone}" class="form-control" id="phone" placeholder="请输入家长联系方式" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员姓名:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.learnerName}" class="form-control" id="learnerName" placeholder="请输入学员姓名" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员年龄:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${data.learnerAge}" class="form-control" id="learnerAge" placeholder="请输入学员年龄" type="text"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*学员生日:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${birthday}" class="form-control" id="birthday" placeholder="请选择" type="date"> + </div> + </div> + + <div class="form-group" > + <label class="col-sm-3 control-label">*预约时间:</label> + <div class="col-sm-9" style="display: flex;"> + <input style="width: 300px" value="${appointmentTime}" class="form-control" id="appointmentTime" placeholder="请选择" type="datetime-local"> </div> </div> <div class="row btn-group-m-t"> <div class="col-sm-10 col-sm-offset-5" > - @if(type!=1){ - <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TQuestion.updateSubmit()"/> - @} - <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> + <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TQuestion.addSubmit()"/> + <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> </div> </div> - </div> </div> - </div> </div> -<script src="${ctxPath}/modular/system/benefits/TBenefits.js"></script> +<script src="${ctxPath}/modular/system/bodySideAppointment/tBodySideAppointment_edit.js"></script> <script src="${ctxPath}/js/vue/vue.js"></script> <script src="${ctxPath}/js/elementui/index.js"></script> <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/role/role_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/role/role_add.html index d5ea84d..33dea33 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/role/role_add.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/role/role_add.html @@ -4,7 +4,7 @@ <div class="form-horizontal" id="roleInfoForm"> <input type="hidden" id="id" value=""> - @if(language==1){ + <div class="row"> <div class="col-sm-6 b-r"> <#input id="name" name="角色名称" underline="true"/> @@ -39,79 +39,8 @@ <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="RolInfoDlg.close()"/> </div> </div> - @} - @if(language==2){ - <div class="row"> - <div class="col-sm-6 b-r"> - <#input id="name" name="Role name" underline="true"/> - <#input id="pName" name="Parent Name" underline="true" hidden="pid" readonly="readonly" - clickFun="RolInfoDlg.showPNameSelectTree(); return false;" - style="background-color: #ffffff !important;"/> - <#input id="deptName" name="Name of a department" hidden="deptid" readonly="readonly" - clickFun="RolInfoDlg.showDeptSelectTree(); return false;" - style="background-color: #ffffff !important;"/> - </div> - <div class="col-sm-6"> - <#input id="tips" name="Another name" underline="true"/> - <#input id="num" name="Sort"/> - </div> - </div> - <!-- 这是部门下拉框 --> - <div id="deptContent" class="menuContent" - style="display: none; position: absolute; z-index: 200;"> - <ul id="deptTree" class="ztree tree-box" style="width: 250px !important;"></ul> - </div> - <!-- 这是父级菜单下拉框 --> - <div id="pNameContent" class="menuContent" - style="display: none; position: absolute; z-index: 200;"> - <ul id="pNameTree" class="ztree tree-box" style="width: 250px !important;"></ul> - </div> - - <div class="row btn-group-m-t"> - <div class="col-sm-10 col-sm-offset-5"> - <#button btnCss="info" name="Submit" id="ensure" icon="fa-check" clickFun="RolInfoDlg.addSubmit()"/> - <#button btnCss="danger" name="Cancel" id="cancel" icon="fa-eraser" clickFun="RolInfoDlg.close()"/> - </div> - </div> - @} - @if(language==3){ - <div class="row"> - <div class="col-sm-6 b-r"> - <#input id="name" name="Peran" underline="true"/> - <#input id="pName" name="Nama Orangtua" underline="true" hidden="pid" readonly="readonly" - clickFun="RolInfoDlg.showPNameSelectTree(); return false;" - style="background-color: #ffffff !important;"/> - <#input id="deptName" name="Nama departemen" hidden="deptid" readonly="readonly" - clickFun="RolInfoDlg.showDeptSelectTree(); return false;" - style="background-color: #ffffff !important;"/> - </div> - <div class="col-sm-6"> - <#input id="tips" name="Nama lain" underline="true"/> - <#input id="num" name="Urutkan"/> - </div> - </div> - - <!-- 这是部门下拉框 --> - <div id="deptContent" class="menuContent" - style="display: none; position: absolute; z-index: 200;"> - <ul id="deptTree" class="ztree tree-box" style="width: 250px !important;"></ul> - </div> - - <!-- 这是父级菜单下拉框 --> - <div id="pNameContent" class="menuContent" - style="display: none; position: absolute; z-index: 200;"> - <ul id="pNameTree" class="ztree tree-box" style="width: 250px !important;"></ul> - </div> - - <div class="row btn-group-m-t"> - <div class="col-sm-10 col-sm-offset-5"> - <#button btnCss="info" name="Kirim" id="ensure" icon="fa-check" clickFun="RolInfoDlg.addSubmit()"/> - <#button btnCss="danger" name="Batal" id="cancel" icon="fa-eraser" clickFun="RolInfoDlg.close()"/> - </div> - </div> - @} </div> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/storeValueConfig/StoreValueConfig.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/storeValueConfig/StoreValueConfig.html new file mode 100644 index 0000000..c51cda2 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/storeValueConfig/StoreValueConfig.html @@ -0,0 +1,263 @@ +@layout("/common/_container.html"){ +<style> + .newWidth, .single-line{ + max-width:350px !important;display: initial !important; + } +</style> + +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-content"> + + <div class="ibox-title"> + <h5>储值管理</h5> + </div> + <input type="hidden" id="content" value="${content}"> +<!-- <input type="hidden" id="description" value="${description}">--> +<!-- <input type="hidden" id="time" value="${time}">--> + + <div class="ibox-title"> + <div style="display: flex"> + <label for="editor_1">*常规储值:</label> + <div class="col-sm-2"> + <#button btnCss="info" name="添加" id="ensure" icon="fa-check" /> + </div> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-6"> + <div style="height: 200px;width: 1100px; border: 1px solid #e5e6e7;overflow-y: auto;"> + <table class="table table-striped table-bordered table-hover table-condensed"> + <thead> + <tr> + </tr> + </thead> + <tbody id="rules"> +<!-- <tr class="rulesClass" style="display: flex; justify-content: space-between;">--> +<!-- <td style="text-align: center;">*充值金额:<input placeholder="请输入充值金额" id="recharge" name="recharge" value=""></td>--> +<!-- <td style="text-align: center;">*用户兑换玩湃币:<input placeholder="请输入兑换玩湃币" id="user" name="user" value=""></td>--> +<!-- <td style="text-align: center;">*会员兑换玩湃币:<input placeholder="请输入兑换玩湃币" id="vip" name="vip" value=""></td>--> +<!-- <td style="text-align: center;"><button onclick="deleteSub(this)">删除</button></td>--> +<!-- </tr>--> + </tbody> + </table> + </div> + </div> + </div> + </div> + </div> + <div class="ibox-title"> + <div style="display: flex"> + <label for="editor_1">*特殊时间储值:</label> + + <div class="col-sm-2"> + <#button btnCss="info" name="添加" id="ensureTime" icon="fa-check" /> + </div> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-6"> + <div style="height: 200px;width: 1100px; border: 1px solid #e5e6e7;overflow-y: auto;"> + <#TimeCon id="beginTime" name="有效期" isTime="false"/> + + <table class="table table-striped table-bordered table-hover table-condensed"> + <thead> + <tr> + </tr> + </thead> + <tbody id="rulesTime"> +<!-- <tr class="rulesTimeClass" style="display: flex; justify-content: space-between;">--> +<!-- <td style="text-align: center;">*充值金额:<input placeholder="请输入充值金额" id="rechargeTime" name="rechargeTime" value=""></td>--> +<!-- <td style="text-align: center;">*用户兑换玩湃币:<input placeholder="请输入兑换玩湃币" id="userTime" name="userTime" value=""></td>--> +<!-- <td style="text-align: center;">*会员兑换玩湃币:<input placeholder="请输入兑换玩湃币" id="vipTime" name="vipTime" value=""></td>--> +<!-- <td style="text-align: center;"><button onclick="deleteSub(this)">删除</button></td>--> +<!-- </tr>--> + </tbody> + </table> + </div> + </div> + </div> + </div> + </div> + <div class="tab-content"> + <div id="tab-1" class="tab-pane active"> + <div class="panel-body"> + <div> + <label for="editor_1">*储值说明:</label> + <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;"></textarea> + </div> + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5"> + <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="add();" /> + </div> + </div> + </div> + </div> + </div> + </div> + </div> + </div> + </div> +</div> + +<script type="text/javascript"> + + laydate.render({ + elem: '#beginTime' + , trigger: 'click' + , range: true + }); + + const data1 = { + content:"", + sort:null, + answer:"" + }; + var editor_1 = null; + $(function () { + + var c = $("#content").val() + var d= $("#description").val() + var t = $("#time").val(); + // 将json串解析为对象 + // var jsonData = c; + // var data = JSON.parse(jsonData); + var rulesTable = document.getElementById("rules"); + var rulesTimeTable = document.getElementById("rulesTime"); + + console.log(c) + $("#beginTime").val(t); + //初始化编辑器 + editor_1 = UE.getEditor('editor_1'); + var addButton = document.getElementById('ensure'); + addButton.addEventListener('click', function () { + if ($("#recharge").val() == ""){ + Feng.error("请输入充值金额") + return; + } + if ($("#user").val() == ""){ + Feng.error("请输入兑换玩湃币-用户") + return; + } + if ($("#vip").val() == ""){ + Feng.error("请输入兑换玩湃币-会员") + return; + } + //封装数据 + var str = '<tr class="rulesClass" style="display: flex; justify-content: space-between;">' + + '<td style="text-align: center;">*充值金额:<input placeholder="请输入充值金额" id="recharge" name="rulesClassValue" value=""></td>' + + '<td style="text-align: center;">*用户兑换玩湃币:<input placeholder="请输入兑换玩湃币" id="user" name="rulesClassValue" value=""></td>' + + '<td style="text-align: center;">*会员兑换玩湃币:<input placeholder="请输入兑换玩湃币" id="vip" name="rulesClassValue" value=""></td>' + + '<td style="text-align: center;"><button onclick="deleteSub(this)">移除</button></td></tr>'; + $("#rules").append(str); + }); + + var addButtonTime = document.getElementById('ensureTime'); + addButtonTime.addEventListener('click', function () { + //封装数据 + var str = '<tr class="rulesTimeClass" style="display: flex; justify-content: space-between;">' + + '<td style="text-align: center;">*充值金额:<input placeholder="请输入充值金额" id="rechargeTime" name="rulesTimeClassValue" value=""></td>' + + '<td style="text-align: center;">*用户兑换玩湃币:<input placeholder="请输入兑换玩湃币" id="userTime" name="rulesTimeClassValue" value=""></td>' + + '<td style="text-align: center;">*会员兑换玩湃币:<input placeholder="请输入兑换玩湃币" id="vipTime" name="rulesTimeClassValue" value=""></td>' + + '<td style="text-align: center;"><button onclick="deleteSub(this)">移除</button></td></tr>'; + $("#rulesTime").append(str); + }) + }); + + + function deleteSub(e) { + console.log("删除") + $(e).parent().parent().remove(); + } + function add(){ + var id = $("#id").val(); + + var data = { + rules: [], + time_rules: [] + }; + var res = { + id:null, + content:"", + description : "" + }; + var time = $("#beginTime").val(); + var startTime = time.split(" - ")[0]; + var endTime = time.split(" - ")[1]; + var rulesClassElements = document.querySelectorAll('#rules .rulesClass'); + rulesClassElements.forEach(function(rulesTimeClassElement) { + var recharge = rulesTimeClassElement.querySelector("#recharge").value; + var user = rulesTimeClassElement.querySelector("#user").value; + var vip = rulesTimeClassElement.querySelector("#vip").value; + if (recharge ===""){ + Feng.error("请输入充值金额"); + } + if (recharge ===""){ + Feng.error("请输入用户兑换玩湃币"); + } + if (recharge ===""){ + Feng.error("请输入会员兑换玩湃币"); + } + var rulesArr={ + money:recharge, + usersCoins:user, + MemberCoins:vip, + startTime:"", + endTime:"", + }; + data.rules.push(rulesArr); + }); + + var rulesTimeClassElements = document.querySelectorAll('#rulesTime .rulesTimeClass'); + rulesTimeClassElements.forEach(function(rulesTimeClassElement) { + var recharge = rulesTimeClassElement.querySelector("#rechargeTime").value; + var user = rulesTimeClassElement.querySelector("#userTime").value; + var vip = rulesTimeClassElement.querySelector("#vipTime").value; + if (recharge ===""){ + Feng.error("请输入充值金额"); + } + if (user ===""){ + Feng.error("请输入用户兑换玩湃币"); + } + if (vip ===""){ + Feng.error("请输入会员兑换玩湃币"); + } + if (time ===""){ + Feng.error("请选择有效期"); + } + var rulesTimeArr={ + money:recharge, + usersCoins:user, + MemberCoins:vip, + startTime:startTime, + endTime:endTime, + }; + data.time_rules.push(rulesTimeArr); + }); + if (editor_1.getContent() === ""){ + Feng.error("储值说明不能为空!"); + return; + } + var result = JSON.stringify(data); + res.content = result; + var description = editor_1.getContent(); + res.description = description; + + $.ajax({ + url: Feng.ctxPath + "/storeValueConfig/addStoreValueConfig", + type: "POST", + contentType: "application/json", // 设置请求头的 Content-Type + data: JSON.stringify(res), // 将数据转换为 JSON 字符串 + success: function(response) { + Feng.success("添加成功!"); + }, + error: function(xhr, status, error) { + var errorMessage = xhr.responseText ? xhr.responseText : "添加失败!"; + Feng.error(errorMessage); + } + }); + } + +</script> +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html index 9ea5bab..75f870d 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html @@ -256,8 +256,7 @@ <i class="el-icon-plus"></i> </el-upload> <el-dialog :visible.sync="dialogVisible"> - <img width="100%" :src="imageUrl1" alt=""></el-dialog> - </el-dialog> + <img width="100%" :src="imageUrl1" alt=""> </div> </div> </div> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscount/TCity_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscount/TCity_add.html deleted file mode 100644 index 0e0a53c..0000000 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscount/TCity_add.html +++ /dev/null @@ -1,83 +0,0 @@ -@layout("/common/_container.html"){ -<div class="ibox float-e-margins"> - <div class="ibox-content"> - - - <div class="form-horizontal" id="carInfoForm"> - <div class="form-group" id="provinceCode"> - <label class="col-sm-3 control-label">所在省:</label> - <div class="col-sm-9"> - <select class="form-control" id="pCode" name="pCode" onchange="TCarInfoDlg.oneChange(this)"> - <option value="">选择省</option> - @for(obj in list){ - <option value="${obj.code}">${obj.name}</option> - @} - </select> - </div> - </div> - <div class="form-group" id="cityCode"> - <label class="col-sm-3 control-label">所在市:</label> - <div class="col-sm-9"> - <select class="form-control" id="cCode" name="cCode"> - <option value="">选择市</option> - </select> - </div> - </div> - <#input id="name" name="管理员姓名" type="text"/> - <#input id="phone" name="管理员手机号" type="text"/> - - - </div> -</div> - -<div class="row btn-group-m-t"> - <div class="col-sm-10 col-sm-offset-5"> - <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCarInfoDlg.addSubmit()"/> - <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/> - </div> -</div> - - </div> - - </div> -</div> -<script src="${ctxPath}/modular/system/tCity/tCity_info.js"></script> -<script> - laydate.render({ - elem: '#annualInspectionTime' - ,lang:"en" - }); - laydate.render({ - elem: '#commercialInsuranceTime' - ,lang:"en" - }); - laydate.render({ - elem: '#certifyDateA' - ,lang:"en" - }); - laydate.render({ - elem: '#transDateStart' - ,lang:"en" - }); - laydate.render({ - elem: '#transDateStop' - ,lang:"en" - }); - laydate.render({ - elem: '#certifyDateB' - ,lang:"en" - }); - laydate.render({ - elem: '#nextFixDate' - ,lang:"en" - }); - laydate.render({ - elem: '#GPSInstallDate' - ,lang:"en" - }); - laydate.render({ - elem: '#registerDate' - ,lang:"en" - }); -</script> -@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscount/TCity_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscount/TCity_edit.html deleted file mode 100644 index 8bb70f5..0000000 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscount/TCity_edit.html +++ /dev/null @@ -1,98 +0,0 @@ -@layout("/common/_container.html"){ -<div class="ibox float-e-margins"> - <div class="ibox-content"> - - <div class="form-horizontal" id="carInfoForm"> - <input hidden id="id" value="${item.id}"> - <div class="form-group" id="provinceCode"> - <label class="col-sm-3 control-label">所在省:</label> - <div class="col-sm-9"> - <select class="form-control" id="pCode" name="pCode" onchange="TCarInfoDlg.oneChange(this)"> - <option value="">选择省</option> - @for(obj in list){ - <option value="${obj.code}" ${obj.code == item.provinceCode ? 'selected=selected' : ''}>${obj.name}</option> - <option value="${obj.code}">${obj.name}</option> - @} - </select> - </div> - </div> - <div class="form-group" id="cityCode"> - <label class="col-sm-3 control-label">所在市:</label> - <div class="col-sm-9"> - <select class="form-control" id="cCode" name="cCode"> - <option value="">选择市</option> - @for(obj in list1){ - <option value="${obj.code}" ${obj.code == item.cityCode ? 'selected=selected' : ''}>${obj.name}</option> - @} - </select> - </div> - </div> - <#input id="name" name="发放数量" type="text" value="${item.name}"/> - <#input id="phone" name="管理员手机号" type="text" value="${item.phone}"/> - - - </div> - <div class="row btn-group-m-t"> - <div class="col-sm-10 col-sm-offset-5"> - <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCarInfoDlg.editSubmit()"/> - <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/> - </div> - </div> - - </div> -</div> -<script src="${ctxPath}/modular/system/tCity/tCity_info.js"></script> -<script> - laydate.render({ - elem: '#annualInspectionTime' - ,lang:"en" - }); - laydate.render({ - elem: '#commercialInsuranceTime' - ,lang:"en" - }); - laydate.render({ - elem: '#certifyDateA' - ,lang:"en" - }); - laydate.render({ - elem: '#transDateStart' - ,lang:"en" - }); - laydate.render({ - elem: '#transDateStop' - ,lang:"en" - }); - laydate.render({ - - elem: '#certifyDateB' - ,lang:"en" - }); - laydate.render({ - elem: '#nextFixDate' - ,lang:"en" - }); - laydate.render({ - elem: '#GPSInstallDate' - ,lang:"en" - }); - laydate.render({ - elem: '#registerDate' - ,lang:"en" - }); -</script> -<script type="application/javascript"> - $(function() { - var companyType = $("input[name='companyType']:checked").val(); - if (1 == companyType){ - $(".companyDiv").hide(); - } else if (2 == companyType){ - $(".companyDiv").show(); - } - - TCarInfoDlg.zcServerClick(); - TCarInfoDlg.kcServerClick(); - - }); -</script> -@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscount/TDiscount.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscount/TDiscount.html deleted file mode 100644 index 009a6c1..0000000 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscount/TDiscount.html +++ /dev/null @@ -1,80 +0,0 @@ - @layout("/common/_container.html"){ -<div class="row"> - <div class="col-sm-12"> - <div class="ibox float-e-margins"> - - <div class="ibox-title"> - <h5>折扣管理</h5> - </div> - <div class="ibox-content"> - <div class="row row-lg"> - <div class="col-sm-12"> - <div class="row"> - <div class="col-sm-3"> - <div class="input-group"> - <div class="input-group-btn open"> - <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> - 所在省 - </button> - </div> - <select class="form-control" id="pCode" onchange="TCompetition.oneChange(this)"> - <option value="">全部</option> - @for(obj in list){ - <option value="${obj.code}">${obj.name}</option> - @} - </select> - </div> - </div> - - <div class="col-sm-3"> - <div class="input-group"> - <div class="input-group-btn open"> - <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> - 所在市 - </button> - </div> - <select class="form-control" id="cCode"> - </select> - </div> - </div> - <div class="col-sm-3"> - <#NameCon id="shopName" name="所属门店" /> - </div> - <div class="col-sm-3"> - <#NameCon id="name" name="课包名称" /> - </div> - <div class="col-sm-3"> - <#SelectCon id="type" name="折扣类型" > - <option value="">全部</option> - <option value="1">会员折扣</option> - <option value="3">限时折扣</option> - <option value="4">赠送课时</option> - </#SelectCon> - </div> - <div class="col-sm-3"> - <#button name="搜索" icon="fa-search" clickFun="TCompetition.search()"/> - <#button name="重置" icon="fa-trash" clickFun="TCompetition.resetSearch()" space="true"/> - </div> - </div> - <div class="hidden-xs" id="TCompetitionTableToolbar" role="group"> - <#button name="上架" icon="fa-plus" clickFun="TCompetition.updateState(1)"/> - <#button name="下架" icon="fa-edit" clickFun="TCompetition.updateState(2)" space="true"/> - <#button name="查看详情" icon="fa-remove" clickFun="TCompetition.info()" space="true"/> - - </div> - <#table id="TCompetitionTable"/> - </div> - </div> - </div> -</div> -</div> -</div> -<script src="${ctxPath}/modular/system/tDiscount/tDiscount.js"></script> -<script> - laydate.render({ - elem: '#createTime' - ,range: true - ,lang:"en" - }); -</script> -@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscount/coursePackageDiscount.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscount/coursePackageDiscount.html deleted file mode 100644 index 8b7c500..0000000 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscount/coursePackageDiscount.html +++ /dev/null @@ -1,88 +0,0 @@ -@layout("/common/_container.html"){ -<div class="ibox float-e-margins"> - <div class="ibox-content"> - <div class="form-horizontal"> - <div class="row"> - <input type="hidden" id="id" value="${item.id}"> - <input type="hidden" id="coursePackagePaymentConfig" value='${coursePackagePaymentConfig}'> - <div class="form-group"> - <div class="col-sm-2"></div> - <div class="col-sm-10"> - <label class="col-sm-2 control-label">课包名称:</label> - <div class="col-sm-4" style="margin-top: 6px;"> - <span>${item.name}</span> - </div> - </div> - </div> - <div class="form-group"> - <div class="col-sm-2"></div> - <div class="col-sm-10"> - <div class="col-sm-2"> - </div> - <div class="col-sm-6" id="classHours" style="margin-top: 6px;"> - </div> - </div> - </div> - <div class="form-group"> - <div class="col-sm-2"></div> - <div class="col-sm-10"> - <label class="col-sm-2 control-label">支付方式:</label> - <div class="col-sm-4" style="margin-top: 6px;"> - <span id="payment"></span> - </div> - </div> - </div> - <div class="form-group"> - <div class="col-sm-2"></div> - <div class="col-sm-10"> - <label class="col-sm-2 control-label">现金支付:</label> - <div class="col-sm-4" style="margin-top: 6px;"> - <span id="cashPayment"></span> - </div> - </div> - </div> - <div class="form-group"> - <div class="col-sm-2"></div> - <div class="col-sm-10"> - <label class="col-sm-2 control-label">*折扣类型:</label> - <div class="col-sm-6" id="types" style="margin-top: 6px;"> - <input type="checkbox" name="type" value="1"> 会员折扣 - <input type="checkbox" name="type" value="2"> 续课优惠 - <input type="checkbox" name="type" value="3"> 限时折扣 - <input type="checkbox" name="type" value="4"> 赠送课时 - </div> - </div> - </div> - <div id="memberDiscount"> - - </div> - <div id="renewalOffer"> - - </div> - <div id="limitedTimeDiscount"> - - </div> - <div id="complimentaryClass"> - - </div> - </div> - <div class="row btn-group-m-t"> - <div class="col-sm-10"> - <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/> - </div> - </div> - </div> - </div> -</div> -<script src="${ctxPath}/modular/system/coursePackage/coursePackageDiscount.js"></script> -<script src="${ctxPath}/modular/system/tDiscount/tDiscount_info.js"></script> - - -<script type="text/javascript"> - laydate.render({ - elem: '#classStartTime' - ,type: 'time' - ,range: true - }); -</script> -@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/TCity_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/TCity_add.html deleted file mode 100644 index 0e0a53c..0000000 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/TCity_add.html +++ /dev/null @@ -1,83 +0,0 @@ -@layout("/common/_container.html"){ -<div class="ibox float-e-margins"> - <div class="ibox-content"> - - - <div class="form-horizontal" id="carInfoForm"> - <div class="form-group" id="provinceCode"> - <label class="col-sm-3 control-label">所在省:</label> - <div class="col-sm-9"> - <select class="form-control" id="pCode" name="pCode" onchange="TCarInfoDlg.oneChange(this)"> - <option value="">选择省</option> - @for(obj in list){ - <option value="${obj.code}">${obj.name}</option> - @} - </select> - </div> - </div> - <div class="form-group" id="cityCode"> - <label class="col-sm-3 control-label">所在市:</label> - <div class="col-sm-9"> - <select class="form-control" id="cCode" name="cCode"> - <option value="">选择市</option> - </select> - </div> - </div> - <#input id="name" name="管理员姓名" type="text"/> - <#input id="phone" name="管理员手机号" type="text"/> - - - </div> -</div> - -<div class="row btn-group-m-t"> - <div class="col-sm-10 col-sm-offset-5"> - <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCarInfoDlg.addSubmit()"/> - <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/> - </div> -</div> - - </div> - - </div> -</div> -<script src="${ctxPath}/modular/system/tCity/tCity_info.js"></script> -<script> - laydate.render({ - elem: '#annualInspectionTime' - ,lang:"en" - }); - laydate.render({ - elem: '#commercialInsuranceTime' - ,lang:"en" - }); - laydate.render({ - elem: '#certifyDateA' - ,lang:"en" - }); - laydate.render({ - elem: '#transDateStart' - ,lang:"en" - }); - laydate.render({ - elem: '#transDateStop' - ,lang:"en" - }); - laydate.render({ - elem: '#certifyDateB' - ,lang:"en" - }); - laydate.render({ - elem: '#nextFixDate' - ,lang:"en" - }); - laydate.render({ - elem: '#GPSInstallDate' - ,lang:"en" - }); - laydate.render({ - elem: '#registerDate' - ,lang:"en" - }); -</script> -@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/TCity_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/TCity_edit.html deleted file mode 100644 index 8bb70f5..0000000 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/TCity_edit.html +++ /dev/null @@ -1,98 +0,0 @@ -@layout("/common/_container.html"){ -<div class="ibox float-e-margins"> - <div class="ibox-content"> - - <div class="form-horizontal" id="carInfoForm"> - <input hidden id="id" value="${item.id}"> - <div class="form-group" id="provinceCode"> - <label class="col-sm-3 control-label">所在省:</label> - <div class="col-sm-9"> - <select class="form-control" id="pCode" name="pCode" onchange="TCarInfoDlg.oneChange(this)"> - <option value="">选择省</option> - @for(obj in list){ - <option value="${obj.code}" ${obj.code == item.provinceCode ? 'selected=selected' : ''}>${obj.name}</option> - <option value="${obj.code}">${obj.name}</option> - @} - </select> - </div> - </div> - <div class="form-group" id="cityCode"> - <label class="col-sm-3 control-label">所在市:</label> - <div class="col-sm-9"> - <select class="form-control" id="cCode" name="cCode"> - <option value="">选择市</option> - @for(obj in list1){ - <option value="${obj.code}" ${obj.code == item.cityCode ? 'selected=selected' : ''}>${obj.name}</option> - @} - </select> - </div> - </div> - <#input id="name" name="发放数量" type="text" value="${item.name}"/> - <#input id="phone" name="管理员手机号" type="text" value="${item.phone}"/> - - - </div> - <div class="row btn-group-m-t"> - <div class="col-sm-10 col-sm-offset-5"> - <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCarInfoDlg.editSubmit()"/> - <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/> - </div> - </div> - - </div> -</div> -<script src="${ctxPath}/modular/system/tCity/tCity_info.js"></script> -<script> - laydate.render({ - elem: '#annualInspectionTime' - ,lang:"en" - }); - laydate.render({ - elem: '#commercialInsuranceTime' - ,lang:"en" - }); - laydate.render({ - elem: '#certifyDateA' - ,lang:"en" - }); - laydate.render({ - elem: '#transDateStart' - ,lang:"en" - }); - laydate.render({ - elem: '#transDateStop' - ,lang:"en" - }); - laydate.render({ - - elem: '#certifyDateB' - ,lang:"en" - }); - laydate.render({ - elem: '#nextFixDate' - ,lang:"en" - }); - laydate.render({ - elem: '#GPSInstallDate' - ,lang:"en" - }); - laydate.render({ - elem: '#registerDate' - ,lang:"en" - }); -</script> -<script type="application/javascript"> - $(function() { - var companyType = $("input[name='companyType']:checked").val(); - if (1 == companyType){ - $(".companyDiv").hide(); - } else if (2 == companyType){ - $(".companyDiv").show(); - } - - TCarInfoDlg.zcServerClick(); - TCarInfoDlg.kcServerClick(); - - }); -</script> -@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/TDiscount.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/TDiscount.html deleted file mode 100644 index 0865808..0000000 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/TDiscount.html +++ /dev/null @@ -1,79 +0,0 @@ - @layout("/common/_container.html"){ -<div class="row"> - <div class="col-sm-12"> - <div class="ibox float-e-margins"> - - <div class="ibox-title"> - <h5>折扣管理</h5> - </div> - <div class="ibox-content"> - <div class="row row-lg"> - <div class="col-sm-12"> - <div class="row"> - <div class="col-sm-3"> - <div class="input-group"> - <div class="input-group-btn open"> - <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> - 所在省 - </button> - </div> - <select class="form-control" id="pCode" onchange="TCompetition.oneChange(this)"> - <option value="">全部</option> - @for(obj in list){ - <option value="${obj.code}">${obj.name}</option> - @} - </select> - </div> - </div> - - <div class="col-sm-3"> - <div class="input-group"> - <div class="input-group-btn open"> - <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> - 所在市 - </button> - </div> - <select class="form-control" id="cCode"> - </select> - </div> - </div> - <div class="col-sm-3"> - <#NameCon id="shopName" name="所属门店" /> - </div> - <div class="col-sm-3"> - <#NameCon id="name" name="课包名称" /> - </div> - <div class="col-sm-3"> - <#SelectCon id="type" name="折扣类型" > - <option value="">全部</option> - <option value="1">会员折扣</option> - <option value="3">限时折扣</option> - <option value="4">赠送课时</option> - </#SelectCon> - </div> - <div class="col-sm-3"> - <#button name="搜索" icon="fa-search" clickFun="TCompetition.search()"/> - <#button name="重置" icon="fa-trash" clickFun="TCompetition.resetSearch()" space="true"/> - </div> - </div> - <div class="hidden-xs" id="TCompetitionTableToolbar" role="group"> - <#button name="审核" icon="fa-plus" clickFun="TCompetition.audit()"/> - <#button name="查看详情" icon="fa-remove" clickFun="TCompetition.info()" space="true"/> - - </div> - <#table id="TCompetitionTable"/> - </div> - </div> - </div> -</div> -</div> -</div> -<script src="${ctxPath}/modular/system/tDiscountAudit/tDiscount.js"></script> -<script> - laydate.render({ - elem: '#createTime' - ,range: true - ,lang:"en" - }); -</script> -@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/coursePackageDiscount.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/coursePackageDiscount.html deleted file mode 100644 index eafdd81..0000000 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/coursePackageDiscount.html +++ /dev/null @@ -1,105 +0,0 @@ -@layout("/common/_container.html"){ -<div class="ibox float-e-margins"> - <div class="ibox-content"> - <div class="form-horizontal"> - <div class="row"> - <input type="hidden" id="id" value="${item.id}"> - <input type="hidden" id="coursePackagePaymentConfig" value='${coursePackagePaymentConfig}'> - <div class="form-group"> - <div class="col-sm-2"></div> - <div class="col-sm-10"> - <label class="col-sm-2 control-label">当前状态:</label> - @if(state==1){ - <div class="col-sm-4" style="margin-top: 6px;color: goldenrod"> - <span>${stateStr}</span> - </div> - @} - @if(state==3){ - <div class="col-sm-4" style="margin-top: 6px;color: red"> - <span>${stateStr}</span> - </div> - @} - - </div> - </div> - <div class="form-group"> - <div class="col-sm-2"></div> - <div class="col-sm-10"> - <label class="col-sm-2 control-label">课包名称:</label> - <div class="col-sm-4" style="margin-top: 6px;"> - <span>${item.name}</span> - </div> - </div> - </div> - <div class="form-group"> - <div class="col-sm-2"></div> - <div class="col-sm-10"> - <div class="col-sm-2"> - </div> - <div class="col-sm-6" id="classHours" style="margin-top: 6px;"> - </div> - </div> - </div> - <div class="form-group"> - <div class="col-sm-2"></div> - <div class="col-sm-10"> - <label class="col-sm-2 control-label">支付方式:</label> - <div class="col-sm-4" style="margin-top: 6px;"> - <span id="payment"></span> - </div> - </div> - </div> - <div class="form-group"> - <div class="col-sm-2"></div> - <div class="col-sm-10"> - <label class="col-sm-2 control-label">现金支付:</label> - <div class="col-sm-4" style="margin-top: 6px;"> - <span id="cashPayment"></span> - </div> - </div> - </div> - <div class="form-group"> - <div class="col-sm-2"></div> - <div class="col-sm-10"> - <label class="col-sm-2 control-label">*折扣类型:</label> - <div class="col-sm-6" id="types" style="margin-top: 6px;"> - <input type="checkbox" name="type" value="1"> 会员折扣 - <input type="checkbox" name="type" value="2"> 续课优惠 - <input type="checkbox" name="type" value="3"> 限时折扣 - <input type="checkbox" name="type" value="4"> 赠送课时 - </div> - </div> - </div> - <div id="memberDiscount"> - - </div> - <div id="renewalOffer"> - - </div> - <div id="limitedTimeDiscount"> - - </div> - <div id="complimentaryClass"> - - </div> - </div> - <div class="row btn-group-m-t"> - <div class="col-sm-10"> - <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/> - </div> - </div> - </div> - </div> -</div> -<script src="${ctxPath}/modular/system/tDiscountAudit/coursePackageDiscount.js"></script> -<script src="${ctxPath}/modular/system/tDiscount/tDiscount_info.js"></script> - - -<script type="text/javascript"> - laydate.render({ - elem: '#classStartTime' - ,type: 'time' - ,range: true - }); -</script> -@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_add.html index 6c080fa..2a03a9d 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_add.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_add.html @@ -53,9 +53,9 @@ <div class="form-group"> <label class="col-sm-3 control-label">兑换方式:</label> <div class="col-sm-9"> - <input type="radio" name="redemptionMethod" value="1" onclick="updateMethod(3)" checked> 积分 - <input type="radio" name="redemptionMethod" value="2" onclick="updateMethod(4)"> 现金+积分 - <input type="radio" name="redemptionMethod" value="3" onclick="updateMethod(5)"> 现金 + <input type="radio" name="redemptionMethod" value="1" checked> 积分 + <input type="radio" name="redemptionMethod" value="2" > 现金+积分 + <input type="radio" name="redemptionMethod" value="3" > 现金 </div> </div> @@ -76,29 +76,26 @@ </div> <#avatar id="cover" name="商品封面" /> - - <div class="row" id="app" > - <div class="col-sm-6" style="width: 100%"> - <div class="form-group"> - <label class="col-sm-3 control-label" style="width: 15%;margin-left: 7%">*商品图片(请上传不超过五张图片): </label> - <div class="col-sm-2" style="width: 100%;margin-left: 12%;margin-top: 1%"> - <el-upload - :limit="5" - class="avatar-uploader" - action="/tCouponManage/uploadPic" - list-type="picture-card" - accept=".jpg,.jpeg,.png,.JPG,.JPEG" - :on-success="handleAvatarSuccess" - :on-remove="handleRemove"> - <i class="el-icon-plus"></i> - </el-upload> - <el-dialog :visible.sync="dialogVisible"> - <img width="100%" :src="imageUrl1" alt=""></el-dialog> - </div> + <div class="row" id="app" style="margin-left: 225px;" > + <div class="col-sm-6"> + <div class="form-group"> + <label class="col-sm-3 control-label">商品图片: </label> + <div class="col-sm-2" style="margin-top: 2%"> + <el-upload + class="avatar-uploader" + action="/tCouponManage/uploadPic" + :on-success="handleAvatarSuccess" + accept=".jpg,.jpeg,.png,.JPG,.JPEG" + :on-remove="handleRemove" + :before-upload="beforeAvatarUpload"> + <img v-if="imageUrl" :src="imageUrl" class="avatar"> + <i v-else class="el-icon-plus avatar-uploader-icon"></i> + </el-upload> </div> - </div> + </div> + </div> <div class="form-group"> @@ -132,17 +129,17 @@ <label class="col-sm-3">*适用范围: </label> <div class="col-sm-2" id="belongsNationwide" > <input class="col-sm-1" onclick="scopeOfApplication1()" name="company" type="radio" - value="1" checked style="margin-top: 10px"/> + value="0" checked style="margin-top: 10px"/> <label class="col-sm-1" style="width: 38%;margin-top: 7px">全国通用</label> </div> <div class="col-sm-2" id="belongsCity" > <input class="col-sm-1" name="company" onclick="scopeOfApplication2()" type="radio" - value="2" style="margin-top: 10px"/> + value="1" style="margin-top: 10px"/> <label class="col-sm-1" style="width: 38%;margin-top: 7px">指定城市</label> </div> <div class="col-sm-2" id="belongsStore" > <input class="col-sm-1" name="company" onclick="scopeOfApplication3()" type="radio" - value="3" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/> + value="1" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/> <label class="col-sm-1" style="width: 38%;margin-top: 6px;">指定门店</label> </div> </div> @@ -231,141 +228,9 @@ <div class="form-group" id="cityCode"> <label class="col-sm-3 control-label">所在市:</label> <div class="col-sm-9"> - <select class="form-control" id="cCode" name="cCode" onchange="TCarInfoDlg.storeChange(this)"> + <select class="form-control" id="cCode" name="cCode"> <option value="">选择市</option> </select> - </div> - </div> - - <div class="form-group" > - <label class="col-sm-3 control-label">所属门店:</label> - <div class="col-sm-9"> - <select class="form-control" id="storeId" name="storeId"> - <option value="">选择门店</option> - </select> - </div> - </div> - - <div class="form-group" > - <label class="col-sm-3 control-label">课包类型:</label> - <div class="col-sm-9"> - <select class="form-control" id="coursePackageTypeId" name="pCode" onchange="TCarInfoDlg.packageChange(this)"> - <option value="">选择课包类型</option> - @for(obj in courseType){ - <option value="${obj.id}">${obj.name}</option> - @} - </select> - </div> - </div> - <div class="form-group" > - <label class="col-sm-3 control-label">课包名称:</label> - <div class="col-sm-9"> - <select class="form-control" id="coursePackageId" name="coursePackageId" onchange="TCarInfoDlg.timeChange(this)"> - <option value="">选择课包</option> - </select> - </div> - </div> - - <div class="form-group" > - <label class="col-sm-3 control-label">课时数:</label> - <div class="col-sm-9"> - <select class="form-control" id="coursePackageConfigId" name="coursePackageConfigId"> - <option value="">选择课时数</option> - </select> - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">原价:</label> - <div class="col-sm-9"> - <input class="form-control" id="price1" name="price" type="text"> - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">兑换方式:</label> - <div class="col-sm-9"> - <input type="radio" name="redemptionMethod" value="1" checked onclick="updateMethod(1)"> 积分 - <input type="radio" name="redemptionMethod" value="2" onclick="updateMethod(2)"> 现金+积分 - </div> - </div> - - <div class="form-group" id="y3" hidden> - <label class="col-sm-3 control-label">所需现金:</label> - <div class="col-sm-9"> - <input class="form-control" id="cash1" name="cash" type="text"> - - </div> - </div> - <div class="form-group" id="y4"> - <label class="col-sm-3 control-label">所需积分:</label> - <div class="col-sm-9"> - <input class="form-control" id="integral1" name="integral" type="text"> - - </div> - </div> - - - <#avatar id="cover1" name="*商品封面" /> - <div class="row" id="app1" > - <div class="col-sm-6" style="width: 100%"> - <div class="form-group"> - <label class="col-sm-3 control-label" style="width: 15%;margin-left: 7%">*商品图片(请上传不超过五张图片): </label> - <div class="col-sm-2" style="width: 100%;margin-left: 12%;margin-top: 1%"> - <el-upload - :limit="5" - class="avatar-uploader" - action="/tCouponManage/uploadPic" - list-type="picture-card" - accept=".jpg,.jpeg,.png,.JPG,.JPEG" - :on-success="handleAvatarSuccess" - :on-remove="handleRemove"> - <i class="el-icon-plus"></i> - </el-upload> - <el-dialog :visible.sync="dialogVisible"> - <img width="100%" :src="imageUrl1" alt=""></el-dialog> - </div> - </div> - - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">用户人群:</label> - <div class="col-sm-9"> - <input type="radio" name="userPopulation" value="1" checked> 全部用户 - <input type="radio" name="userPopulation" value="2" > 年度会员 - <input type="radio" name="userPopulation" value="3" > 已有学员用户 - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">发放数量:</label> - <div class="col-sm-9"> - <input class="form-control" id="quantityIssued1" name="quantityIssued" type="text"> - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">限领数量:</label> - <div class="col-sm-9"> - <input class="form-control" id="pickUpQuantity1" name="pickUpQuantity" type="text"> - </div> - </div> - <#input id="startTime1" name="有效期" type="text"/> - - <div class="form-group" style="margin-left:262px"> - <label class="col-sm-1 control-label">兑换说明:</label> - <div class="col-sm-5"> - <textarea type="text/plain" id="editor1" style="height: 300px;width: 800px;"></textarea> - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">排序:</label> - <div class="col-sm-9"> - <input class="form-control" id="sort1" name="sort" type="text"> - </div> </div> @@ -384,55 +249,21 @@ </div> + </div> +</div> <script src="${ctxPath}/js/vue/vue.js"></script> <script src="${ctxPath}/js/elementui/index.js"></script> <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> <script src="${ctxPath}/modular/system/tGoods/tGoods_info.js"></script> <script src="${ctxPath}/modular/system/tGoods/TStoreInfo.js"></script> <script> - laydate.render({ - elem: '#startTime', - range: true - }); - laydate.render({ - elem: '#startTime1', - range: true - }); - function updateMethod(e) { - console.log(e) - if(e==1){ - $("#y3").hide() - $("#y4").show() - }else if(e==2){ - $("#y4").show() - $("#y3").show() - }else if(e==3){ - $("#y1").hide() - $("#y2").show() - }else if(e==4){ - $("#y1").show() - $("#y2").show() - }else if(e==5) { - $("#y2").hide() - $("#y1").show() - } - } - let i =1; function updateType(e) { - if(e==2){ $("#b1").hide() $("#b2").show() - if(i==1){ - var drivingLicensePhoto = new $WebUpload("cover1"); - drivingLicensePhoto.setUploadBarId("progressBar"); - drivingLicensePhoto.init(); - i++; - } - }else { - $("#b2").hide() + $("#b2 ").hide() $("#b1").show() } } @@ -511,33 +342,6 @@ methods: { handleAvatarSuccess(res, file) { TCarInfoDlg.goodsPicArray.push(file); - }, - beforeAvatarUpload(file) { - const isLt2M = file.size / 1024 / 1024 < 10; - if (!isLt2M) { - this.$message.error('上传图片大小不能超过 10MB!'); - } - return isLt2M; - }, - handleRemove(file, fileList) { - couponInfoDlg.goodsPicArray = couponInfoDlg.goodsPicArray.filter(item => { - return item.uid != file.uid; - }); - }, - }, - created() { - }, - }); - var vue2 = new Vue({ - el: '#app1', - data: { - autoUpload: true,//自动上传 - imageUrl1: '',//模型数据,用于上传图片完成后图片预览 - dialogVisible: false - }, - methods: { - handleAvatarSuccess(res, file) { - TCarInfoDlg.goodsPicArray1.push(file); }, beforeAvatarUpload(file) { const isLt2M = file.size / 1024 / 1024 < 10; diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_one.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_one.html deleted file mode 100644 index e0e7f55..0000000 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_one.html +++ /dev/null @@ -1,207 +0,0 @@ -@layout("/common/_container.html"){ -<style> - .avatar-uploader .el-upload { - border: 1px dashed #d9d9d9; - border-radius: 6px; - cursor: pointer; - position: relative; - height: 100px; - width: 100px; - overflow: hidden; - display: inline-block; - } - - .avatar-uploader .el-upload:hover { - border-color: #409eff; - } - - .avatar-uploader-icon { - font-size: 28px; - color: #8c939d; - width: 100px; - height: 100px; - line-height: 110px; - margin-top: 40px; - text-align: center; - } - - .avatar { - width: 100px; - height: 100px; - display: block; - } - - .col-sm-12 { - margin-top: 20px; - } - - .col-sm-12 select { - height: 33px; - } -</style> -<div class="ibox float-e-margins"> - <div class="ibox-content"> - <div class="form-horizontal" id="carInfoForm"> - <div id="b1"> - <#input id="name" name="*商品名称:" type="text" value="${item.name}" readonly="true" /> - - <#input id="cover" name="*原价:" avatarImg="${item.price}" readonly="true" /> - <div class="form-group"> - <label class="col-sm-3 control-label head-scu-label">*兑换方式:</label> - <div class="col-sm-4"> - @if(exchangeMethod == 1){ - <input class="col-sm-1 control-label" name="userGroup" type="radio" - value="1" checked style="margin-top: 10px" disabled/> - <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">全部用户</label> - <input class="col-sm-1 control-label" name="userGroup" type="radio" - value="2" style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px" disabled/> - <label class="col-sm-1" style="width: 16%;margin-top: 7px">年度会员</label> - <input class="col-sm-1 control-label" name="userGroup" type="radio" - value="3" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px" disabled/> - <label class="col-sm-1" style="width: 18%;margin-top: 5px">已有学员用户</label> - @} - - @if(exchangeMethod == 2){ - <input class="col-sm-1 control-label" name="userGroup" type="radio" - value="1" style="margin-top: 10px" disabled/> - <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">全部用户</label> - <input class="col-sm-1 control-label" name="userGroup" type="radio" - value="2" checked style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px" disabled/> - <label class="col-sm-1" style="width: 16%;margin-top: 7px">年度会员</label> - <input class="col-sm-1 control-label" name="userGroup" type="radio" - value="3" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px" disabled/> - <label class="col-sm-1" style="width: 18%;margin-top: 5px">已有学员用户</label> - @} - - @if(exchangeMethod == 3){ - <input class="col-sm-1 control-label" name="userGroup" type="radio" - value="1" style="margin-top: 10px" disabled/> - <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">全部用户</label> - <input class="col-sm-1 control-label" name="userGroup" type="radio" - value="2" style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px" disabled/> - <label class="col-sm-1" style="width: 16%;margin-top: 7px">年度会员</label> - <input class="col-sm-1 control-label" name="userGroup" type="radio" - value="3" checked style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px" disabled/> - <label class="col-sm-1" style="width: 18%;margin-top: 5px">已有学员用户</label> - @} - - </div> - </div> - - <#input id="cover" name="*所需现金:" avatarImg="${item.cash}" readonly="true" /> - <#input id="cover" name="*所需积分:" avatarImg="${item.integral}" readonly="true" /> - - <div class="form-group"> - <label class="col-sm-3 control-label head-scu-label">*商品封面:</label> - <div class="col-sm-4"> - <img height="100px" width="100px" src="${item.cover}"> - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label head-scu-label">*商品图片:</label> - <div class="col-sm-4"> - @if(pictures != null){ - @for(im in pictures){ - <img height="100px" width="100px" src="${im}"> - @} - @} - </div> - </div> - - <#input id="quantityIssued" name="*用户人群:" type="text" value="${item.userPopulation}" readonly="true" /> - <#input id="quantityIssued" name="*发放数量:" type="text" value="${item.quantityIssued}" readonly="true" /> - <#input id="quantityIssued" name="*限领数量:" type="text" value="${item.pickUpQuantity}" readonly="true" /> - <#input id="quantityIssued" name="*已兑换数量:" type="text" value="${item.hasPicked}" readonly="true" /> - <#input id="quantityIssued" name="*有效期:" type="text" value="${item.validTime}" readonly="true" /> - - <#input id="quantityIssued" name="*兑换地点:" type="text" value="${item.exchangeArea}" readonly="true" /> - - @if(item.useScope == 2){ - <table class="table table-bordered" style="width: 70%;margin-left: 228px;" > - <thead> - <tr> - <td>所在省市</td> - <td>所属账号</td> - <td>门店名称</td> - </tr> - </thead> - @for(s in store){ - <td>${s.num1}</td> - <td>${s.num2}</td> - <td>${s.num3}</td> - @} - </table> - @} - - @if(item.useScope == 3){ - <table class="table table-bordered" style="width: 70%;margin-left: 228px;" > - <thead> - <tr> - <td>所在省市</td> - <td>所属账号</td> - <td>门店名称</td> - </tr> - </thead> - @for(c in city){ - <td>${c.num1}</td> - <td>${c.num2}</td> - @} - </table> - @} - <div class="form-group" style="margin-left:262px"> - <label class="col-sm-3 control-label">兑换说明:</label> - <div class="col-sm-4"> - <textarea type="text/plain" id="editor" style="height: 300px;width: 800px;" readonly>${item.redemptionInstructions}</textarea> - </div> - </div> - <#input id="quantityIssued" name="*排序:" type="text" value="${item.sort}" readonly="true" /> - - </div> - </div> - </div> - - <div class="row btn-group-m-t"> - <div class="col-sm-10 col-sm-offset-5"> - <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TGoodsInfoDlg.close()"/> - </div> - </div> - -</div> - -</div> -</div> -<script src="${ctxPath}/js/vue/vue.js"></script> -<script src="${ctxPath}/js/elementui/index.js"></script> -<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> -<script src="${ctxPath}/modular/system/tGoods/tGoods_info.js"></script> -<script> - var vue2 = new Vue({ - el: '#app', - data: { - autoUpload: true,//自动上传 - imageUrl1: '',//模型数据,用于上传图片完成后图片预览 - dialogVisible: false - }, - methods: { - handleAvatarSuccess(res, file) { - TGoodsInfoDlg.goodsPicArray.push(file.response); - }, - beforeAvatarUpload(file) { - const isLt2M = file.size / 1024 / 1024 < 10; - if (!isLt2M) { - this.$message.error('上传图片大小不能超过 10MB!'); - } - return isLt2M; - }, - handleRemove(file, fileList) { - TGoodsInfoDlg.goodsPicArray = TGoodsInfoDlg.goodsPicArray.filter(item => { - return item.uid != file.uid; - }); - }, - }, - created() { - }, - }); -</script> -@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_two.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_two.html deleted file mode 100644 index 56fd499..0000000 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_two.html +++ /dev/null @@ -1,396 +0,0 @@ -@layout("/common/_container.html"){ -<style> - .avatar-uploader .el-upload { - border: 1px dashed #d9d9d9; - border-radius: 6px; - cursor: pointer; - position: relative; - height: 100px; - width: 100px; - overflow: hidden; - } - - .avatar-uploader .el-upload:hover { - border-color: #409eff; - } - .avatar-uploader-icon { - font-size: 28px; - color: #8c939d; - width: 100px; - height: 100px; - line-height: 100px; - margin-top: 34px; - text-align: center; - } - .avatar { - width: 100px; - height: 100px; - display: block; - } - - .col-sm-12 { - margin-top: 20px; - } - - .col-sm-12 select { - height: 33px; - } -</style> -<div class="ibox float-e-margins"> - <div class="ibox-content"> - <input id="s1" value="${item.redemptionMethod}" hidden> - <input id="s2" value="${item.userPopulation}" hidden> - <div class="form-horizontal" id="carInfoForm"> - <#label id="types" name="商品类型" type="text" value="课包商品" /> - - <div id="b2" > - <div class="form-group" id="provinceCode"> - <label class="col-sm-3 control-label">所在省:</label> - <div class="col-sm-9"> - <select class="form-control" id="pCode" name="pCode"> - <option value="">${item.province}</option> - </select> - </div> - </div> - <div class="form-group" id="cityCode"> - <label class="col-sm-3 control-label">所在市:</label> - <div class="col-sm-9"> - <select class="form-control" id="cCode" name="cCode" > - <option value="">${item.city}</option> - </select> - </div> - </div> - - <div class="form-group" > - <label class="col-sm-3 control-label">所属门店:</label> - <div class="col-sm-9"> - <select class="form-control" id="storeId" name="storeId"> - <option value="">${item.name}</option> - </select> - </div> - </div> - - <div class="form-group" > - <label class="col-sm-3 control-label">课包类型:</label> - <div class="col-sm-9"> - <select class="form-control" id="coursePackageTypeId" name="pCode" onchange="TGoodsInfoDlg.packageChange(this)"> - <option value="">${shopName}</option> - </select> - </div> - </div> - - <div class="form-group" > - <label class="col-sm-3 control-label">课包名称:</label> - <div class="col-sm-9"> - <select class="form-control" id="coursePackageId" name="coursePackageId" onchange="TGoodsInfoDlg.timeChange(this)"> - <option value="">${pageName}</option> - </select> - </div> - </div> - - <div class="form-group" > - <label class="col-sm-3 control-label">课时数:</label> - <div class="col-sm-9"> - <select class="form-control" id="coursePackageConfigId" name="coursePackageConfigId"> - <option value="">${classHours}</option> - </select> - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">原价:</label> - <div class="col-sm-9"> - <input class="form-control" id="price1" name="price" type="text" value="${item.price}" readonly> - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">兑换方式:</label> - <div class="col-sm-9"> - <input type="radio" name="redemptionMethod" value="1" checked onclick="updateMethod(1)"> 积分 - <input type="radio" name="redemptionMethod" value="2" onclick="updateMethod(2)"> 现金+积分 - </div> - </div> - - <div class="form-group" id="y3" hidden> - <label class="col-sm-3 control-label">所需现金:</label> - <div class="col-sm-9"> - <input class="form-control" id="cash1" name="cash" type="text" value="${item.cash}"> - - </div> - </div> - <div class="form-group" id="y4"> - <label class="col-sm-3 control-label">所需积分:</label> - <div class="col-sm-9"> - <input class="form-control" id="integral1" name="integral" type="text" value="${item.integral}"> - - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label head-scu-label">*商品图片:</label> - <div class="col-sm-4"> - <img height="100px" width="100px" src="${item.cover}"> - </div> - </div> - - - <div class="form-group"> - <label class="col-sm-3 control-label head-scu-label">*商品图片:</label> - <div class="col-sm-4"> - @for(im in pictures){ - <img height="100px" width="100px" src="${im}"> - @} - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">用户人群:</label> - <div class="col-sm-9"> - <input type="radio" name="userPopulation" value="1" checked> 全部用户 - <input type="radio" name="userPopulation" value="2" > 年度会员 - <input type="radio" name="userPopulation" value="3" > 已有学员用户 - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">发放数量:</label> - <div class="col-sm-9"> - <input class="form-control" id="quantityIssued1" name="quantityIssued" type="text" value="${item.quantityIssued}" readonly> - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">限领数量:</label> - <div class="col-sm-9"> - <input class="form-control" id="pickUpQuantity1" name="pickUpQuantity" type="text" value="${item.pickUpQuantity}" readonly> - </div> - </div> - <#input id="startTime1" name="有效期" type="text" value="${sTime} - ${eTime}" readonly="true"/> - - <div class="form-group" style="margin-left:262px"> - <label class="col-sm-1 control-label">兑换说明:</label> - <div class="col-sm-5"> - <textarea type="text/plain" id="editor1" style="height: 300px;width: 800px;" readonly>${item.redemptionInstructions}</textarea> - </div> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">排序:</label> - <div class="col-sm-9"> - <input class="form-control" id="sort1" name="sort" type="text" value="${item.sort}" readonly> - - </div> - </div> - - </div> - - - </div> -</div> - -<div class="row btn-group-m-t"> - <div class="col-sm-10 col-sm-offset-5"> - <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TGoodsInfoDlg.close()"/> - </div> -</div> - - </div> - -<script src="${ctxPath}/js/vue/vue.js"></script> -<script src="${ctxPath}/js/elementui/index.js"></script> -<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> -<script src="${ctxPath}/modular/system/tGoods/tGoods_info.js"></script> -<script src="${ctxPath}/modular/system/tGoods/TStoreInfo.js"></script> -<script> - laydate.render({ - elem: '#startTime', - range: true - }); - laydate.render({ - elem: '#startTime1', - range: true - }); - function updateMethod(e) { - console.log(e) - if(e==1){ - $("#y3").hide() - $("#y4").show() - }else if(e==2){ - $("#y4").show() - $("#y3").show() - }else if(e==3){ - $("#y1").hide() - $("#y2").show() - }else if(e==4){ - $("#y1").show() - $("#y2").show() - }else if(e==5) { - $("#y2").hide() - $("#y1").show() - } - - } - let i =1; - function updateType(e) { - - if(e==2){ - $("#b1").hide() - $("#b2").show() - if(i==1){ - var drivingLicensePhoto = new $WebUpload("cover1"); - drivingLicensePhoto.setUploadBarId("progressBar"); - drivingLicensePhoto.init(); - i++; - } - - }else { - $("#b2").hide() - $("#b1").show() - } - } - - - - function changeCity(n){ - - var provinceSelect = null; - if (n === undefined || n === null || n === ''){ - provinceSelect = document.getElementById("provinceData"); - }else { - provinceSelect = document.getElementById("provinceData"+n); - } - - var citySelect = null; - if (n === undefined || n === null || n === ''){ - citySelect = document.getElementById("cityData"); - }else { - citySelect = document.getElementById("cityData"+n); - } - - var selectedProvince = provinceSelect.value; - // 清空城市下拉框 - citySelect.innerHTML = '<option value="">请选择</option>'; - if (selectedProvince === "") { - return; - } - var ajax = new $ax(Feng.ctxPath + "/tCouponManage/getCity", function(data){ - data.forEach(province => { - var option = document.createElement("option"); - option.value = province.id; // 根据你的数据结构确定省份的id字段 - option.text = province.name; // 根据你的数据结构确定省份的name字段 - citySelect.appendChild(option); - }); - },function(data){ - console.log('data:',data) - Feng.error("获取失败!" + data.responseJSON.message + "!"); - }); - ajax.set('province',selectedProvince); - ajax.start(); - } - - /** - * 全国通用 - */ - function scopeOfApplication1() { - $("#storeSelect").hide(); - $("#citySelect").hide(); - } - /** - * 指定城市 - */ - function scopeOfApplication2() { - $("#storeSelect").hide(); - $("#citySelect").show(); - } - /** - * 指定门店 - */ - function scopeOfApplication3() { - $("#storeSelect").show(); - $("#citySelect").hide(); - } - - - - - var vue2 = new Vue({ - el: '#app', - data: { - autoUpload: true,//自动上传 - imageUrl1: '',//模型数据,用于上传图片完成后图片预览 - dialogVisible: false - }, - methods: { - handleAvatarSuccess(res, file) { - TGoodsInfoDlg.goodsPicArray.push(file); - }, - beforeAvatarUpload(file) { - const isLt2M = file.size / 1024 / 1024 < 10; - if (!isLt2M) { - this.$message.error('上传图片大小不能超过 10MB!'); - } - return isLt2M; - }, - handleRemove(file, fileList) { - couponInfoDlg.goodsPicArray = couponInfoDlg.goodsPicArray.filter(item => { - return item.uid != file.uid; - }); - }, - }, - created() { - }, - }); - var vue2 = new Vue({ - el: '#app1', - data: { - autoUpload: true,//自动上传 - imageUrl1: '',//模型数据,用于上传图片完成后图片预览 - dialogVisible: false - }, - methods: { - handleAvatarSuccess(res, file) { - TGoodsInfoDlg.goodsPicArray1.push(file); - }, - beforeAvatarUpload(file) { - const isLt2M = file.size / 1024 / 1024 < 10; - if (!isLt2M) { - this.$message.error('上传图片大小不能超过 10MB!'); - } - return isLt2M; - }, - handleRemove(file, fileList) { - couponInfoDlg.goodsPicArray = couponInfoDlg.goodsPicArray.filter(item => { - return item.uid != file.uid; - }); - }, - }, - created() { - }, - }); - - - window.onload = function(){ - var OBJradio=document.getElementsByName("redemptionMethod") - if(OBJradio==1){ - $("#y4").show() - $("#y3").hide() - } - if(OBJradio==2){ - $("#y4").show() - $("#y3").show() - } - for(i=0;i<OBJradio.length;i++){//循环查找这个radio - if($("#s1").val()==OBJradio[i].value){//判断是否与radio的值相同 - OBJradio[i].checked=true//修改选中状态 - } - } - var OBJradio=document.getElementsByName("userPopulation") - for(i=0;i<OBJradio.length;i++){//循环查找这个radio - if($("#s2").val()==OBJradio[i].value){//判断是否与radio的值相同 - OBJradio[i].checked=true//修改选中状态 - } - } - } -</script> -@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html index 1390455..59b18fe 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html @@ -8,7 +8,6 @@ height: 100px; width: 100px; overflow: hidden; - display: inline-block; } .avatar-uploader .el-upload:hover { @@ -43,7 +42,7 @@ <div class="ibox-content"> <div class="form-horizontal" id="carInfoForm"> <div id="b1"> - <input id="goodsId" value="${id}" hidden="hidden"> + <#input id="name" name="商品名称" type="text" value="${item.name}" readonly="true" /> <#avatar id="cover" name="商品封面:" avatarImg="${item.cover}" /> @@ -53,14 +52,7 @@ <div class="col-sm-6"> <div class="form-group"> <label class="col-sm-3 control-label">商品图片(请上传不超过五张图片): </label> - <div class="col-sm-2" style="width: 100%;margin-left: 24%;margin-top: 1%"> - <div class="avatar-uploader" style="display: flex;"> - @for(im in pictures){ - <div style="margin-right: 16px;position: relative"> - <img height="100px" width="100px" src="${im}"> - <i class="el-icon-delete" onclick="delImg(this)" style="color: red;font-size: 18px;position: absolute;left: 0;right: 0;top: 0;bottom: 0"></i> - </div> - @} + <div class="col-sm-2" style="width: 100%;margin-left: 12%;margin-top: 1%"> <el-upload :limit="5" class="avatar-uploader" @@ -71,13 +63,17 @@ :on-remove="handleRemove"> <i class="el-icon-plus"></i> </el-upload> - </div> + <el-dialog :visible.sync="dialogVisible"> +<!-- <img width="100%" :src="imageUrl1" alt="">--> + @for(im in pictures){ + <img width="100%" src="${im}"> + @} </div> </div> </div> </div> - <input id="quantityHas" value="${item.quantityHas}" hidden="hidden"> + <div class="form-group"> <label class="col-sm-3 control-label">发放数量:</label> <div class="col-sm-9"> @@ -113,8 +109,8 @@ <div class="row btn-group-m-t"> <div class="col-sm-10 col-sm-offset-5"> - <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TGoodsInfoDlg.editSubmit()"/> - <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TGoodsInfoDlg.close()"/> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCarInfoDlg.editSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/> </div> </div> @@ -136,7 +132,7 @@ }, methods: { handleAvatarSuccess(res, file) { - TGoodsInfoDlg.goodsPicArray.push(file.response); + TCarInfoDlg.goodsPicArray.push(file); }, beforeAvatarUpload(file) { const isLt2M = file.size / 1024 / 1024 < 10; @@ -146,7 +142,7 @@ return isLt2M; }, handleRemove(file, fileList) { - TGoodsInfoDlg.goodsPicArray = TGoodsInfoDlg.goodsPicArray.filter(item => { + TCarInfoDlg.goodsPicArray = TCarInfoDlg.goodsPicArray.filter(item => { return item.uid != file.uid; }); }, diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionAdd.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionAdd.html index 247e10d..08f1a6a 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionAdd.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionAdd.html @@ -23,14 +23,15 @@ <label for="editor_1">*答复内容:</label> <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;"></textarea> </div> + + <label for="sort">*排 序:</label> + <input type="text" id="sort" placeholder="请输入排序"><span> 数字越大,权重越大</span> <div class="row btn-group-m-t"> <div class="col-sm-10 col-sm-offset-5"> <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="add();" /> <#button btnCss="info" name="关闭" id="close" icon="fa-check" clickFun="closeD();" /> </div> </div> - <label for="sort">*排 序:</label> - <input type="text" id="sort" placeholder="请输入排序"><span> 数字越大,权重越大</span> </div> </div> @@ -90,7 +91,9 @@ data: JSON.stringify(data), // 将数据转换为 JSON 字符串 success: function(response) { Feng.success("添加成功!"); - window.parent.TQuestion.table.refresh(); }, + window.parent.TQuestion.table.refresh(); + closeD(); + }, error: function(xhr, status, error) { var errorMessage = xhr.responseText ? xhr.responseText : "添加失败!"; Feng.error(errorMessage); diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionEdit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionEdit.html index 2686537..fa64c86 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionEdit.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionEdit.html @@ -25,14 +25,15 @@ <label for="editor_1">*答复内容:</label> <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${info.answer}</textarea> </div> + + <label for="sort">*排 序:</label> + <input type="text" id="sort" value="${info.sort}" placeholder="请输入排序"><span> 数字越大,权重越大</span> <div class="row btn-group-m-t"> <div class="col-sm-10 col-sm-offset-5"> <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="edit();" /> <#button btnCss="info" name="关闭" id="close" icon="fa-check" clickFun="closeD();" /> </div> </div> - <label for="sort">*排 序:</label> - <input type="text" id="sort" value="${info.sort}" placeholder="请输入排序"><span> 数字越大,权重越大</span> </div> </div> @@ -100,6 +101,7 @@ data: JSON.stringify(data), // 将数据转换为 JSON 字符串 success: function(response) { window.parent.TQuestion.table.refresh(); + closeD(); Feng.success("修改成功!"); }, error: function(xhr, status, error) { diff --git a/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js b/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js new file mode 100644 index 0000000..50515ed --- /dev/null +++ b/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js @@ -0,0 +1,423 @@ +/** + * 管理初始化 + */ +var TQuestion = { + id: "TQuestionTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +var roleType = $("#roleType").val() +/** + * 初始化表格的列 + */ +TQuestion.initColumn = function () { + return [ + {field: 'selectItem', checkbox: true}, + {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'}, + {title: '省', field: 'province', visible: roleType==1?true:false, align: 'center', valign: 'middle'}, + {title: '市', field: 'city', visible: roleType==1?true:false, align: 'center', valign: 'middle'}, + {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle'}, + {title: '联系电话', field: 'phone', visible: true, align: 'center', valign: 'middle'}, + {title: '生日', field: 'birthday', visible: true, align: 'center', valign: 'middle'}, + {title: '性别', field: 'gender', visible: true, align: 'center', valign: 'middle', + formatter:function (data) { + return {1:"男",2:"女"}[data] + } + }, + {title: '销售人员', field: 'salesmanUserName', visible: true, align: 'center', valign: 'middle'}, + {title: '是否为年度会员', field: 'isVip', visible: true, align: 'center', valign: 'middle', + formatter:function (data) { + return {1:"是",0:"否"}[data] + } + }, + {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle', + formatter:function (data) { + return {1:"正常",2:"冻结",3:"已删除"}[data] + }} + ]; +}; + +/** + * 检查是否选中 + */ +TQuestion.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TQuestion.seItem = selected[0]; + return true; + } +}; +TQuestion.dataCount = 0; +TQuestion.phone = ""; +TQuestion.phoneId = ""; + +/** + * 点击添加 + */ +TQuestion.openAdd = function () { + var index = layer.open({ + type: 2, + title: '添加分类', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/appUser/add' + }); + this.layerIndex = index; +}; + + +/** + * 点击编辑 + */ +TQuestion.openChange = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length >1 ){ + Feng.info("只能选择一个问题进行编辑!"); + }else { + if (this.check()){ + var selected = $('#' + this.id).bootstrapTable('getSelections'); + var index = layer.open({ + type: 2, + title: '编辑分类', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/bodySideAppointment/update/' + TQuestion.seItem.id + }); + this.layerIndex = index; + } + } +}; + +/** + * 上架 + */ + +TQuestion.onShelf = function () { +if (this.check()){ + var selected = $('#' + this.id).bootstrapTable('getSelections'); + + var ids=[]; + selected.forEach(function(obj) { + var id = obj.id; + ids.push(id); + }); + $.ajax({ + url: Feng.ctxPath + "/bodySideAppointment/changeState", + type: "POST", + contentType: "application/json", // 设置请求头的 Content-Type + data: JSON.stringify(ids), // 将数据转换为 JSON 字符串 + success: function(response) { + Feng.success("修改成功!"); + TQuestion.search(); + + }, + error: function(xhr, status, error) { + var errorMessage = xhr.responseText ? xhr.responseText : "修改失败!"; + Feng.error("您的网络异常!"); + } + }); + +} +}; + + +/** + * 下架 + */ +TQuestion.offShelf = function () { + + if (this.check()){ + var selected = $('#' + this.id).bootstrapTable('getSelections'); + const data1 = { + ids:[], + state:null + }; + selected.forEach(function(obj) { + var id = obj.id; + data1.ids.push(id); + }); + data1.state = 2; + $.ajax({ + url: Feng.ctxPath + "/bodySideAppointment/changeState", + type: "POST", + contentType: "application/json", // 设置请求头的 Content-Type + data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 + success: function(response) { + Feng.success("修改成功!"); + TQuestion.search(); + }, + error: function(xhr, status, error) { + var errorMessage = xhr.responseText ? xhr.responseText : "修改失败!"; + Feng.error("您的网络异常!"); + } + }); + } +}; + +/** + * 查看视频详情 + */ +TQuestion.getInfo = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length >1 ){ + Feng.info("只能选择一条进行查看!"); + }else { + if (this.check()){ + var selected = $('#' + this.id).bootstrapTable('getSelections'); + + var index = layer.open({ + type: 2, + title: '详情', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/benefits/getBenefitsVideos/' + TQuestion.seItem.id + }); + this.layerIndex = index; + } + } +}; + +/** + * 删除 + */ +TQuestion.delete = function () { + if (this.check()){ + var selected = $('#' + this.id).bootstrapTable('getSelections'); + const data1 = { + ids:[], + state:null + }; + selected.forEach(function(obj) { + var id = obj.id; + data1.ids.push(id); + }); + data1.state = 3; + $.ajax({ + url: Feng.ctxPath + "/benefits/changeState", + type: "POST", + contentType: "application/json", // 设置请求头的 Content-Type + data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 + success: function(response) { + Feng.success("删除成功!"); + TQuestion.search(); + }, + error: function(xhr, status, error) { + var errorMessage = xhr.responseText ? xhr.responseText : "删除失败!"; + Feng.error(errorMessage); + } + }); + } +}; +TQuestion.oneChange = function () { + var province = $('#pCode option:selected').text(); + var citySelect = document.getElementById("cCode"); + var ajax = new $ax(Feng.ctxPath + "/tSite/getCity", function(data){ + if(data!=null){ + var content='<option value="">选择市</option>'; + $.each(data, function(k,v) { + content += "<option value='"+v.cityCode+"'>"+v.city+"</option>"; + }); + $("#cCode").empty().append(content); + } + }); + if (province === ""){ + citySelect.innerHTML = '<option value="">请先选择省</option>'; + } + ajax.set("province",province); + ajax.start(); +}; + +TQuestion.oneChangeNext = function (e) { + var oneId=$(e).val(); + var city = $('#cCode option:selected').text(); + + var citySelect = document.getElementById("account"); + var storeSelect = document.getElementById("store"); + if (oneId === ""){ + citySelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; + storeSelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; + } + var ajax1 = new $ax(Feng.ctxPath + "/tSite/storeChangeNext", function(data){ + if(data!=null && data.length !== 0){ + var content='<option value="">选择门店</option>'; + $.each(data, function(k,v) { + content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; + }); + $("#store").empty().append(content); + }else { + storeSelect.innerHTML = '<option value="">当前所选市没有门店</option>'; + } + }); + ajax1.set("oneId",city); + ajax1.start(); +}; +TQuestion.addSubmit = function(){ + var data = { + id:null, + province:"", + provinceCode:"", + city:"", + cityCode:"", + storeId:null, + storeName:"", + parentName:"", + phone:"", + learnerName:"", + learnerAge:null, + birthday:"", + appointmentTime:"", + status:null, + state:null + }; + data.id = $("#name").val() + data.province = $('#pCode option:selected').text(); + data.provinceCode = $("#pCode").val() + data.city = $('#cCode option:selected').text(); + data.cityCode = $("#cCode").val() + data.storeId = $("#store").val() + data.storeName = $('#store option:selected').text(); + data.parentName = $("#parentName").val() + data.phone = $("#phone").val() + data.learnerName = $("#learnerName").val() + data.learnerAge = $("#learnerAge").val() + data.birthday = $("#birthday").val() + data.appointmentTime = $("#appointmentTime").val().replace("T"," ") + console.log("看看") + console.log(data.appointmentTime); + if($("#pCode").val()==''){ + Feng.info("请选择省") + return; + } + if($("#cCode").val()==''){ + Feng.info("请选择市") + return; + } + if($("#store").val()=='' ){ + Feng.info("请选择门店") + return; + } + if($("#parentName").val()=='' ){ + Feng.info("请输入家长姓名") + return; + } + + if($("#phone").val()=='' ){ + Feng.info("请输入家长联系方式") + return; + } + if($("#learnerName").val()=='' ){ + Feng.info("请输入学员姓名") + return; + } + if($("#learnerAge").val()=='' ){ + Feng.info("请输入学员年龄") + return; + } + if($("#birthday").val()=='' ){ + Feng.info("请选择学员生日") + return; + } + if($("#appointmentTime").val()=='' ){ + Feng.info("请选择预约时间") + return; + } + $.ajax({ + url: Feng.ctxPath + "/appUser/addAppUser" , + type: "POST", + data: JSON.stringify(data), + contentType: "application/json", + success: function (response) { + window.parent.TQuestion.table.refresh(); + TQuestion.close(); + Feng.success("添加成功"); + }, + error: function (xhr, status, error) { + Feng.error("添加失败!" + error); + } + }); + +}; +TQuestion.updateSubmit = function(){ + var data = { + id:null, + name:"", + position:"", + sort:"", + }; + data.name = $("#name").val() + data.position = $("#position").val() + data.sort = $("#sort").val() + data.id = $("#dataId").val() + if($("#name").val()==''){ + Feng.info("请输入分类名称") + return; + } + if($("#cCode").val()==''){ + Feng.info("请选择所在位置") + return; + } + if($("#account").val()=='' ){ + Feng.info("请输入排序") + return; + } + $.ajax({ + url: Feng.ctxPath + "/benefits/addBenefits" , + type: "POST", + data: JSON.stringify(data), + contentType: "application/json", + success: function (response) { + window.parent.TQuestion.table.refresh(); + TQuestion.close(); + Feng.success("添加成功"); + }, + error: function (xhr, status, error) { + Feng.error("添加失败!" + error); + } + }); +}; +/** + * 查询列表 + */ +TQuestion.search = function (e) { + var queryData = {}; + queryData['province'] = $("#pCode").val(); + queryData['city'] = $("#cCode").val(); + queryData['name'] = $("#name").val(); + queryData['phone'] = $("#phone").val(); + queryData['isVip'] = $("#isVip").val(); + queryData['salesmanUserName'] = $("#salesmanUserName").val(); + TQuestion.table.refresh({query: queryData}); +}; + +TQuestion.close = function() { + parent.layer.close(window.parent.TQuestion.layerIndex); +} +/** + * 重置搜索 + */ +TQuestion.resetSearch = function () { + $("#pCode").val(''); + $("#cCode").val(''); + $("#name").val(''); + $("#phone").val(''); + $("#isVip").val(''); + $("#salesmanUserName").val(''); + TQuestion.search(null); +}; + + +$(function () { + var defaultColunms = TQuestion.initColumn(); + var table = new BSTable(TQuestion.id, "/appUser/listAll", defaultColunms); + table.setPaginationType("client"); + TQuestion.table = table.init(); +}); diff --git a/cloud-server-management/src/main/webapp/static/modular/system/benefits/TBenefits.js b/cloud-server-management/src/main/webapp/static/modular/system/benefits/TBenefits.js index ec2ea1b..3151938 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/benefits/TBenefits.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/benefits/TBenefits.js @@ -29,7 +29,12 @@ }} ]; }; - +/** + * 关闭此对话框 + */ +TQuestion.close = function() { + parent.layer.close(window.parent.TQuestion.layerIndex); +} /** * 检查是否选中 */ @@ -266,6 +271,8 @@ data: JSON.stringify(data), contentType: "application/json", success: function (response) { + window.parent.TQuestion.table.refresh(); + TQuestion.close(); Feng.success("添加成功"); }, @@ -273,7 +280,7 @@ Feng.error("添加失败!" + error); } }); - TSite.search(); + }; TQuestion.updateSubmit = function(){ var data = { @@ -304,14 +311,17 @@ data: JSON.stringify(data), contentType: "application/json", success: function (response) { + window.parent.TQuestion.table.refresh(); + TQuestion.close(); Feng.success("添加成功"); }, error: function (xhr, status, error) { Feng.error("添加失败!" + error); } }); - TSite.search(); + }; + /** * 查询列表 */ diff --git a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js index 77df638..4a6731b 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js @@ -7,7 +7,9 @@ table: null, layerIndex: -1 }; - +TQuestion.close = function() { + parent.layer.close(window.parent.TQuestion.layerIndex); +} /** * 初始化表格的列 */ @@ -280,6 +282,8 @@ data: JSON.stringify(data), contentType: "application/json", success: function (response) { + window.parent.TQuestion.table.refresh(); + TQuestion.close(); Feng.success("添加成功"); }, diff --git a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_add.js b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_add.js index 42406f6..b14c0d4 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_add.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_add.js @@ -7,7 +7,9 @@ table: null, layerIndex: -1 }; - +TQuestion.close = function() { + parent.layer.close(window.parent.TQuestion.layerIndex); +} /** * 初始化表格的列 */ @@ -281,6 +283,9 @@ success: function (response) { if (response === 500){ Feng.error("所选视频已经存在于当前福利视频分类下!"); + window.parent.TQuestion.table.refresh(); + TQuestion.close(); + }else{ Feng.success("添加成功"); } diff --git a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_edit.js b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_edit.js index 612e13b..d996035 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_edit.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_edit.js @@ -7,7 +7,9 @@ table: null, layerIndex: -1 }; - +TQuestion.close = function() { + parent.layer.close(window.parent.TQuestion.layerIndex); +} /** * 初始化表格的列 */ @@ -273,6 +275,8 @@ data: JSON.stringify(data), contentType: "application/json", success: function (response) { + window.parent.TQuestion.table.refresh(); + TQuestion.close(); Feng.success("添加成功"); }, @@ -282,6 +286,9 @@ }); TSite.search(); }; +TQuestion.close = function() { + parent.layer.close(window.parent.TQuestion.layerIndex); +}; TQuestion.updateSubmit = function(){ var data = { id:null, diff --git a/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment.js b/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment.js index 8f7d79b..aff4b9e 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment.js @@ -80,7 +80,7 @@ area: ['100%', '100%'], //宽高 fix: false, //不固定 maxmin: true, - content: Feng.ctxPath + '/benefits/update/' + TQuestion.seItem.id + content: Feng.ctxPath + '/bodySideAppointment/update/' + TQuestion.seItem.id }); this.layerIndex = index; } @@ -106,12 +106,12 @@ contentType: "application/json", // 设置请求头的 Content-Type data: JSON.stringify(ids), // 将数据转换为 JSON 字符串 success: function(response) { - Feng.success("上架成功!"); + Feng.success("修改成功!"); TQuestion.search(); }, error: function(xhr, status, error) { - var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; + var errorMessage = xhr.responseText ? xhr.responseText : "修改失败!"; Feng.error("您的网络异常!"); } }); @@ -142,37 +142,14 @@ contentType: "application/json", // 设置请求头的 Content-Type data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 success: function(response) { - Feng.success("下架成功!"); + Feng.success("修改成功!"); TQuestion.search(); }, error: function(xhr, status, error) { - var errorMessage = xhr.responseText ? xhr.responseText : "下架失败!"; + var errorMessage = xhr.responseText ? xhr.responseText : "修改失败!"; Feng.error("您的网络异常!"); } }); - } -}; -/** - * 查看详情 - */ -TQuestion.getInfo = function () { - var selected = $('#' + this.id).bootstrapTable('getSelections'); - if(selected.length >1 ){ - Feng.info("只能选择一条进行查看!"); - }else { - if (this.check()){ - var selected = $('#' + this.id).bootstrapTable('getSelections'); - - var index = layer.open({ - type: 2, - title: '详情', - area: ['100%', '100%'], //宽高 - fix: false, //不固定 - maxmin: true, - content: Feng.ctxPath + '/benefits/info/' + TQuestion.seItem.id - }); - this.layerIndex = index; - } } }; @@ -275,7 +252,6 @@ ajax1.start(); }; TQuestion.addSubmit = function(){ - var data = { id:null, province:"", @@ -351,6 +327,8 @@ data: JSON.stringify(data), contentType: "application/json", success: function (response) { + window.parent.TQuestion.table.refresh(); + TQuestion.close(); Feng.success("添加成功"); }, error: function (xhr, status, error) { @@ -388,6 +366,8 @@ data: JSON.stringify(data), contentType: "application/json", success: function (response) { + window.parent.TQuestion.table.refresh(); + TQuestion.close(); Feng.success("添加成功"); }, error: function (xhr, status, error) { @@ -398,15 +378,20 @@ /** * 查询列表 */ -TQuestion.search = function () { +TQuestion.search = function (e) { + var queryData = {}; + queryData['phone'] = $("#phone").val(); queryData['parentName'] = $("#parentName").val(); queryData['state'] = $("#state").val(); + queryData['day'] = e; TQuestion.table.refresh({query: queryData}); }; - +TQuestion.close = function() { + parent.layer.close(window.parent.TQuestion.layerIndex); +} /** * 重置搜索 */ @@ -415,9 +400,10 @@ $("#phone").val(''); $("#parentName").val(''); $("#state").val(''); - TQuestion.search(); + TQuestion.search(null); }; + $(function () { var defaultColunms = TQuestion.initColumn(); var table = new BSTable(TQuestion.id, "/bodySideAppointment/listAll", defaultColunms); diff --git a/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment_edit.js b/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment_edit.js index 612e13b..0c2afa8 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment_edit.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment_edit.js @@ -54,7 +54,56 @@ TQuestion.dataCount = 0; TQuestion.phone = ""; TQuestion.phoneId = ""; +// 选择省 获取对应市区 +TQuestion.oneChange = function () { + var province = $('#pCode option:selected').text(); + var citySelect = document.getElementById("cCode"); + var storeSelect = document.getElementById("store"); + var ajax = new $ax(Feng.ctxPath + "/tSite/getCity", function(data){ + if(data!=null){ + var content='<option value="">选择市</option>'; + $.each(data, function(k,v) { + content += "<option value='"+v.cityCode+"'>"+v.city+"</option>"; + }); + $("#cCode").empty().append(content); + } + }); + if (province === ""){ + citySelect.innerHTML = '<option value="">请先选择省</option>'; + storeSelect.innerHTML = '<option value="">请先选择省</option>'; + }else{ + citySelect.innerHTML = '<option value="">请选择市</option>'; + storeSelect.innerHTML = '<option value="">请先选择市区</option>'; + } + ajax.set("province",province); + ajax.start(); +}; +// 选择市 获取对应门店 +TQuestion.oneChangeNext = function (e) { + var oneId=$(e).val(); + var city = $('#cCode option:selected').text(); + + var citySelect = document.getElementById("account"); + var storeSelect = document.getElementById("store"); + if (oneId === ""){ + citySelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; + storeSelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; + } + var ajax1 = new $ax(Feng.ctxPath + "/tSite/storeChangeNext", function(data){ + if(data!=null && data.length !== 0){ + var content='<option value="">选择门店</option>'; + $.each(data, function(k,v) { + content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; + }); + $("#store").empty().append(content); + }else { + storeSelect.innerHTML = '<option value="">当前所选市没有门店</option>'; + } + }); + ajax1.set("oneId",city); + ajax1.start(); +}; /** * 点击添加 */ @@ -241,83 +290,98 @@ }); } }; - +TQuestion.close = function() { + parent.layer.close(window.parent.TQuestion.layerIndex); +}; TQuestion.addSubmit = function(){ var data = { id:null, - name:"", - position:"", - sort:"", + province:"", + provinceCode:"", + city:"", + cityCode:"", + storeId:null, + storeName:"", + parentName:"", + phone:"", + learnerName:"", + learnerAge:null, + birthday:"", + appointmentTime:"", + status:null, + state:null }; - data.name = $("#name").val() - data.position = $("#position").val() - data.sort = $("#sort").val() + data.id = $("#id").val() + data.province = $('#pCode option:selected').text(); + data.provinceCode = $("#pCode").val() + data.city = $('#cCode option:selected').text(); + data.cityCode = $("#cCode").val() + data.storeId = $("#store").val() + data.storeName = $('#store option:selected').text(); + data.parentName = $("#parentName").val() + data.phone = $("#phone").val() + data.learnerName = $("#learnerName").val() + data.learnerAge = $("#learnerAge").val() + data.birthday = $("#birthday").val() + data.appointmentTime = $("#appointmentTime").val().replace("T"," ") + var roleType = $("#roleType").val() - - if($("#name").val()==''){ - Feng.info("请输入分类名称") + if(roleType == 1){ + if($("#pCode").val()==''){ + Feng.info("请选择省") + return; + } + if($("#cCode").val()==''){ + Feng.info("请选择市") + return; + } + } + if(roleType == 1 || roleType == 2) { + if ($("#store").val() == '') { + Feng.info("请选择门店") + return; + } + } + if($("#parentName").val()=='' ){ + Feng.info("请输入家长姓名") return; } - if($("#cCode").val()==''){ - Feng.info("请选择所在位置") + + if($("#phone").val()=='' ){ + Feng.info("请输入家长联系方式") return; } - if($("#account").val()=='' ){ - Feng.info("请输入排序") + if($("#learnerName").val()=='' ){ + Feng.info("请输入学员姓名") + return; + } + if($("#learnerAge").val()=='' ){ + Feng.info("请输入学员年龄") + return; + } + if($("#birthday").val()=='' ){ + Feng.info("请选择学员生日") + return; + } + if($("#appointmentTime").val()=='' ){ + Feng.info("请选择预约时间") return; } $.ajax({ - url: Feng.ctxPath + "/benefits/addBenefits" , + url: Feng.ctxPath + "/bodySideAppointment/addBodySideAppointments" , type: "POST", data: JSON.stringify(data), contentType: "application/json", success: function (response) { - Feng.success("添加成功"); - + window.parent.TQuestion.table.refresh(); + TQuestion.close(); + Feng.success("修改成功"); }, error: function (xhr, status, error) { - Feng.error("添加失败!" + error); + Feng.error("修改失败!" + error); } }); - TSite.search(); -}; -TQuestion.updateSubmit = function(){ - var data = { - id:null, - name:"", - position:"", - sort:"", - }; - data.name = $("#name").val() - data.position = $("#position").val() - data.sort = $("#sort").val() - data.id = $("#dataId").val() - if($("#name").val()==''){ - Feng.info("请输入分类名称") - return; - } - if($("#cCode").val()==''){ - Feng.info("请选择所在位置") - return; - } - if($("#account").val()=='' ){ - Feng.info("请输入排序") - return; - } - $.ajax({ - url: Feng.ctxPath + "/benefits/addBenefits" , - type: "POST", - data: JSON.stringify(data), - contentType: "application/json", - success: function (response) { - Feng.success("添加成功"); - }, - error: function (xhr, status, error) { - Feng.error("添加失败!" + error); - } - }); - TSite.search(); }; /** * 查询列表 diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach.js index a4ba943..ca3ee42 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach.js @@ -320,7 +320,6 @@ var em = "";// 门店经营结束时间:分钟 TSite.addSubmit = function(){ - var data = { province:"", city:"", @@ -474,8 +473,9 @@ data: JSON.stringify(data), contentType: "application/json", success: function (response) { + window.parent.TSite.table.refresh(); Feng.success("添加成功"); - TSite.search(); + TSite.close(); }, error: function (xhr, status, error) { Feng.error("添加失败!" + error); diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js index 8c1338e..ca9fb56 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js @@ -428,6 +428,8 @@ data: JSON.stringify(data), contentType: "application/json", success: function (response) { + window.parent.TSite.table.refresh(); + TSite.close(); Feng.success("添加成功"); }, @@ -435,7 +437,6 @@ Feng.error("添加失败!" + error); } }); - TSite.search(); }; TSite.search = function () { diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_info.js index b0b9dbc..152f2e9 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_info.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_info.js @@ -334,6 +334,8 @@ data: JSON.stringify(data), contentType: "application/json", success: function (response) { + window.parent.TSite.table.refresh(); + TSiteInfo.close(); Feng.success("修改成功"); }, error: function (xhr, status, error) { diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js index f42e2e2..467b12e 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js @@ -432,8 +432,6 @@ } } cts = cityIds.join(','); - }else { - cts = cityIds; } } diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tDiscount/tDiscount.js b/cloud-server-management/src/main/webapp/static/modular/system/tDiscount/tDiscount.js deleted file mode 100644 index 95da68a..0000000 --- a/cloud-server-management/src/main/webapp/static/modular/system/tDiscount/tDiscount.js +++ /dev/null @@ -1,358 +0,0 @@ -/** - * 车辆管理管理初始化 - */ -var TCompetition = { - id: "TCompetitionTable", //表格id - seItem: null, //选中的条目 - table: null, - layerIndex: -1 -}; -var language =1 -/** - * 初始化表格的列 - */ -TCompetition.initColumn = function () { - return [ - {field: 'selectItem', radio: true}, - {title: '所在省', field: 'pname', visible: true, align: 'center', valign: 'middle' - }, - {title: '所在市', field: 'cname', visible: true, align: 'center', valign: 'middle'}, - {title: '所属门店', field: 'shopName', visible: true, align: 'center', valign: 'middle' - }, - {title: '课包名称', field: 'name', visible: true, align: 'center', valign: 'middle' - }, - {title: '折扣类型', field: 'type', visible: true, align: 'center', valign: 'middle' - }, - {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle' - ,formatter:function (data) { - return{1:"上架中",2:"下架中"}[data] - } - }, - ]; -}; -function currentTime(timestamp){ - var time = timestamp + ''; - if(time.length != 13){ - timestamp = timestamp * 1000; - } - var date = new Date(timestamp);; - var Y = date.getFullYear() + '-'; - var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; - var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' '; - - var h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()) + ':'; - var m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()) + ':'; - var s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds()); - var strDate = Y + M + D + h + m + s; - return strDate -} - -function currentTime1(timestamp){ - var time = timestamp + ''; - if(time.length != 13){ - timestamp = timestamp * 1000; - } - var date = new Date(timestamp);; - var Y = date.getFullYear() + '-'; - var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; - var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' '; - - var h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()) + ':'; - var m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()) + ':'; - var s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds()); - var strDate = Y + M + D ; - return strDate -} -/** - * 检查是否选中 - */ -TCompetition.check = function () { - var selected = $('#' + this.id).bootstrapTable('getSelections'); - if(selected.length == 0){ - Feng.info("请先选中表格中的某一记录!"); - return false; - }else{ - TCompetition.seItem = selected[0]; - return true; - } -}; - -/** - * 点击添加车辆管理 - */ -TCompetition.openAddTCompetition = function () { - var index = layer.open({ - type: 2, - title: '添加', - area: ['100%', '100%'], //宽高 - fix: false, //不固定 - maxmin: true, - content: Feng.ctxPath + '/tCity/tCity_add' - }); - this.layerIndex = index; -}; - -/** - * 打开查看车辆管理详情 - */ -TCompetition.openTCompetitionDetail = function () { - if (this.check()) { - var index = layer.open({ - type: 2, - title:'编辑', - area: ['100%', '100%'], //宽高 - fix: false, //不固定 - maxmin: true, - content: Feng.ctxPath + '/tCity/tCity_update/' + TCompetition.seItem.id - }); - this.layerIndex = index; - } -}; - -/** - * 删除车辆管理 - */ -TCompetition.updateState = function (e) { - if (this.check()) { - var id = TCompetition.seItem.id; - var ajax = new $ax(Feng.ctxPath + "/tDiscount/updateState", function (data) { - if(data.code==200){ - Feng.success("操作成功") - }else { - Feng.error("操作失败") - } - TCompetition.table.refresh(); - }, function (data) { - Feng.error("操作失败") - TCompetition.table.refresh(); - }); - ajax.set("id",id); - ajax.set("status",e); - ajax.start(); - ; - } -}; -TCompetition.oneChange = function (e) { - console.log(111) - var oneId=$(e).val(); - var ajax = new $ax(Feng.ctxPath + "/tCompetition/onChange", function(data){ - if(data!=null){ - if(language==1){ - var content='<option value="">选择市</option>'; - }else if(language==2){ - var content='<option value="">Choose your franchisee</option>'; - }else { - var content='<option value="">Pilih franchisee Anda</option>'; - } - $.each(data, function(k,v) { - content += "<option value='"+v.code+"'>"+v.name+"</option>"; - }); - $("#cCode").empty().append(content); - } - }); - ajax.set("oneId",oneId); - ajax.start(); -} - -TCompetition.freeze = function () { - if (this.check()) { - var ajax = new $ax(Feng.ctxPath + "/tCity/freeze", function (data) { - Feng.success("冻结成功!"); - TCompetition.table.refresh(); - }, function (data) { - Feng.error("冻结失败!" + data.responseJSON.message + "!"); - }); - ajax.set("id",this.seItem.id); - ajax.start(); - } -}; -TCompetition.unfreeze = function () { - if (this.check()) { - var ajax = new $ax(Feng.ctxPath + "/tCity/unfreeze", function (data) { - Feng.success("解冻成功!"); - TCompetition.table.refresh(); - }, function (data) { - Feng.error("解冻失败!" + data.responseJSON.message + "!"); - }); - ajax.set("id",this.seItem.id); - ajax.start(); - } -}; -TCompetition.reload = function () { - if (this.check()) { - let id = this.seItem.id - var operation = function(){ - var ajax = new $ax(Feng.ctxPath + "/tCity/pwd", function (data) { - Feng.success("重置成功!"); - TCompetition.table.refresh(); - }, function (data) { - Feng.error("重置失败!" + data.responseJSON.message + "!"); - }); - ajax.set("id",id); - ajax.start(); - } - Feng.confirm("确认重置密码?重置后密码为:a123456", operation); - } - -}; - -TCompetition.carInsurance = function () { - if (this.check()) { - var index = layer.open({ - type: 2, - title: language==1?'车辆保险':(language==2?'Vehicle insurance':'Asuransi kendaraan'), - area: ['100%', '100%'], //宽高 - fix: false, //不固定 - maxmin: true, - content: Feng.ctxPath + '/TCompetition/carInsurance?carId=' + TCompetition.seItem.id - }); - this.layerIndex = index; - } -}; -TCompetition.info = function () { - if (this.check()) { - let index = layer.open({ - type: 2, - title: '折扣详情', - area: ['100%', '100%'], //宽高 - fix: false, //不固定 - maxmin: true, - content: Feng.ctxPath + '/tDiscount/info?id=' + this.seItem.id - }); - this.layerIndex = index; - } -}; - - - -/** - * 查询车辆管理列表 - */ -TCompetition.search = function () { - var queryData = {}; - queryData['provinceCode'] = $("#pCode").val(); - queryData['cityCode'] = $("#cCode").val(); - queryData['name'] = $("#name").val(); - queryData['shopName'] = $("#shopName").val(); - queryData['type'] = $("type").val(); - TCompetition.table.refresh({query: queryData}); -}; - -TCompetition.resetSearch = function () { - $("#pCode").val(""); - $("#cCode").val(""); - $("#name").val(""); - $("#type").val(""); - $("#shopName").val(""); - TCompetition.search(); -}; - -$(function () { - var defaultColunms = TCompetition.initColumn(); - var table = new BSTable(TCompetition.id, "/tDiscount/list", defaultColunms); - table.setPaginationType("server"); - TCompetition.table = table.init(); -}); - -/** - * 下载模板 - */ -TCompetition.uploadCarModel = function () { - window.location.href = Feng.ctxPath + "/TCompetition/uploadCarModel"; -} - -var agreement = function(){ - this.init = function(){ - //模拟上传excel - $("#uploadEventBtn").unbind("click").bind("click",function(){ - $("#uploadEventFile").click(); - }); - }; -} -/** - * 导入合同 - */ -TCompetition.exporTCompetition = function () { - var uploadEventFile = $("#uploadEventFile").val(); - if(uploadEventFile == ''){ - if(language==1){ - Feng.info("请选择Excel,再上传"); - }else if(language==2){ - Feng.info("Please select Excel and upload"); - }else { - Feng.info("Silakan pilih Excel dan upload"); - } - }else if(uploadEventFile.lastIndexOf(".xls")<0){//可判断以.xls和.xlsx结尾的excel - if(language==1){ - Feng.info("只能上传Excel文件"); - }else if(language==2){ - Feng.info("Only Excel files can be uploaded"); - }else { - Feng.info("Hanya berkas Excel yang dapat diunggah"); - } - }else{ - var url = Feng.ctxPath + '/TCompetition/exporTCompetition'; - var file = document.querySelector('input[name=file]').files[0]; - var reader = new FileReader(); - if (file) { - var formData = new FormData(); - formData.append("myfile", file); - this.sendAjaxRequest(url, 'POST', formData); - } - } -} -TCompetition.sendAjaxRequest = function(url,type,data){ - $.ajax({ - url : url, - type : type, - data : data, - success : function(result) { - if(result.code==500) { - Feng.info(result.message); - }else { - if(language==1){ - Feng.success("导入成功!"); - }else if(language==2){ - Feng.success("SUCCESSFUL IMPORT!"); - }else { - Feng.success("Import berhasil!"); - } - } - TCompetition.table.refresh(); - }, - error : function() { - if(language==1){ - Feng.error("excel上传失败!"); - }else if(language==2){ - Feng.error("Uploading excel Fails. Procedure!"); - }else { - Feng.error("Gagal mengunggah excel!"); - } - }, - cache : false, - contentType : false, - processData : false - }); -}; - -var agreement; -$(function(){ - agreement = new agreement(); - agreement.init(); -}); - -/** - * 导出车辆操作 - */ -TCompetition.ouTCompetition = function () { - var operation = function() { - window.location.href = Feng.ctxPath + "/TCompetition/ouTCompetition"; - }; - if(language==1){ - Feng.confirm("是否确认导出车辆信息?", operation); - }else if(language==2){ - Feng.confirm("Are you sure to export vehicle information?", operation); - }else { - Feng.confirm("Apakah Anda pasti akan mengekspor informasi kendaraan?", operation); - } -} \ No newline at end of file diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tDiscount/tDiscount_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tDiscount/tDiscount_info.js deleted file mode 100644 index 8360403..0000000 --- a/cloud-server-management/src/main/webapp/static/modular/system/tDiscount/tDiscount_info.js +++ /dev/null @@ -1,320 +0,0 @@ -/** - * 初始化车辆管理详情对话框 - */ -var language=1; -var TCarInfoDlg = { - tCarInfoData : {}, - validateFields: { - } -}; - -/** - * 验证数据是否为空 - */ -TCarInfoDlg.validate = function () { - $('#carInfoForm').data("bootstrapValidator").resetForm(); - $('#carInfoForm').bootstrapValidator('validate'); - return $("#carInfoForm").data('bootstrapValidator').isValid(); -}; - -/** - * 清除数据 - */ -TCarInfoDlg.clearData = function() { - this.tCarInfoData = {}; -} - -/** - * 设置对话框中的数据 - * - * @param key 数据的名称 - * @param val 数据的具体值 - */ -TCarInfoDlg.set = function(key, val) { - this.tCarInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; - return this; -} - -/** - * 设置对话框中的数据 - * - * @param key 数据的名称 - * @param val 数据的具体值 - */ -TCarInfoDlg.get = function(key) { - return $("#" + key).val(); -} - -/** - * 关闭此对话框 - */ -TCarInfoDlg.close = function() { - parent.layer.close(window.parent.TCompetition.layerIndex); -} - -/** - * 收集数据 - */ -TCarInfoDlg.collectData = function() { - this - .set('id') - .set('isPlatCar') - .set('companyId') - .set('franchiseeId') - .set('carColor') - .set('carModelId') - .set('carBrandId') - .set('carLicensePlate') - .set('carPhoto') - .set('drivingLicenseNumber') - .set('drivingLicensePhoto') - .set('annualInspectionTime') - .set('commercialInsuranceTime') - .set('createTime') - .set('state') - .set('addType') - .set('addObjectId') - .set('plateColor') - .set('vehicleType') - .set('ownerName') - .set('engineId') - .set('VIN') - .set('certifyDateA') - .set('fuelType') - .set('engineDisplace') - .set('certificate') - .set('transAgency') - .set('transArea') - .set('transDateStart') - .set('transDateStop') - .set('certifyDateB') - .set('fixState') - .set('nextFixDate') - .set('checkState') - .set('feePrintId') - .set('GPSBrand') - .set('GPSModel') - .set('GPSIMEI') - .set('GPSInstallDate') - .set('registerDate') - .set('commercialType'); -} - -/** - * 提交添加 - */ -TCarInfoDlg.addSubmit = function() { - - this.clearData(); - this.collectData(); - if(!this.validate()){ - return ; - } - - let pCode = $("#pCode").val() - let cCode = $("#cCode").val() - let name = $("#name").val() - let phone = $("#phone").val() - - if(pCode==''){ - Feng.info("请选择省") - return; - } - if(cCode==''){ - Feng.info("请选择市") - return; - } - if(name==''){ - Feng.info("管理员姓名不能为空") - return; - } - if(phone==''){ - Feng.info("管理员手机号不能为空") - return; - } - - //提交信息 - var ajax = new $ax(Feng.ctxPath + "/tCity/add", function(data){ - if(data=="5001"){ - Feng.error("改账号已经存在"); - }else - if(data.code == 200){ - if(language==1){ - Feng.success("添加成功!"); - }else if(language==2){ - Feng.success("Successfully added!"); - }else { - Feng.success("Sangat berhasil ditambah!"); - } - window.parent.TCompetition.table.refresh(); - TCarInfoDlg.close(); - }else{ - Feng.error(data.msg); - } - - },function(data){ - Feng.error("添加失败!" + data.responseJSON.message + "!"); - }); - ajax.set(this.tCarInfoData); - ajax.set("provinceCode",pCode); - ajax.set("cityCode",cCode); - ajax.set("name",name); - ajax.set("phone",phone); - ajax.start(); -} - -/** - * 提交修改 - */ -TCarInfoDlg.editSubmit = function() { - - this.clearData(); - this.collectData(); - if(!this.validate()){ - return ; - } - let pCode = $("#pCode").val() - let cCode = $("#cCode").val() - let name = $("#name").val() - let phone = $("#phone").val() - - if(pCode==''){ - Feng.info("请选择省") - return; - } - if(cCode==''){ - Feng.info("请选择市") - return; - } - if(name==''){ - Feng.info("管理员姓名不能为空") - return; - } - if(phone==''){ - Feng.info("管理员手机号不能为空") - return; - } - //提交信息 - var ajax = new $ax(Feng.ctxPath + "/tCity/update", function(data){ - if(data=="5001"){ - Feng.error("改账号已经存在"); - }else - if(data.code == 200){ - if(language==1){ - Feng.success("修改成功!"); - }else if(language==2){ - Feng.success("Modify successfully!"); - }else { - Feng.success("Mengubah dengan sukses!"); - } - window.parent.TCompetition.table.refresh(); - TCarInfoDlg.close(); - }else{ - Feng.error(data.msg); - } - },function(data){ - Feng.error("修改失败!" + data.responseJSON.message + "!"); - }); - ajax.set("provinceCode",pCode); - ajax.set("cityCode",cCode); - ajax.set("name",name); - ajax.set("phone",phone); - ajax.set("id",$("#id").val()); - ajax.start(); -} - -$(function() { - Feng.initValidator("carInfoForm", TCarInfoDlg.validateFields); - // 初始化图片上传 - var carPhoto = new $WebUpload("carPhoto"); - carPhoto.setUploadBarId("progressBar"); - carPhoto.init(); - var drivingLicensePhoto = new $WebUpload("drivingLicensePhoto"); - drivingLicensePhoto.setUploadBarId("progressBar"); - drivingLicensePhoto.init(); -}); - -/** - * 选择分公司后执行 - */ -TCarInfoDlg.oneChange = function (e) { - var oneId=$(e).val(); - var ajax = new $ax(Feng.ctxPath + "/tCity/onChange", function(data){ - if(data!=null){ - if(language==1){ - var content='<option value="">选择市</option>'; - }else if(language==2){ - var content='<option value="">Choose your franchisee</option>'; - }else { - var content='<option value="">Pilih franchisee Anda</option>'; - } - $.each(data, function(k,v) { - content += "<option value='"+v.code+"'>"+v.name+"</option>"; - }); - $("#cCode").empty().append(content); - } - }); - ajax.set("oneId",oneId); - ajax.start(); -} - -/** - * 类型改变执行 - * @param e - */ -TCarInfoDlg.companyTypeClick = function (e) { - if (1 == e){ - $(".companyDiv").hide(); - } else if (2 == e){ - $(".companyDiv").show(); - } -} - -/** - * 车辆品牌改变时执行 - */ -TCarInfoDlg.brandChange = function (e) { - var carBrandId=$(e).val(); - var ajax = new $ax(Feng.ctxPath + "/tCar/brandChange", function(data){ - if(data!=null){ - if(language==1){ - var content='<option value="">选择车辆类型</option>'; - }else if(language==2){ - var content='<option value="">Please select the vehicle type</option>'; - }else { - var content='<option value="">Pilih Jenis Kendaraan</option>'; - } - - $.each(data, function(k,v) { - content += "<option value='"+v.id+"'>"+v.name+"</option>"; - }); - $("#carModelId").empty().append(content); - } - }); - ajax.set("carBrandId",carBrandId); - ajax.start(); -} - -/** - * 专车服务被点击 - */ -TCarInfoDlg.zcServerClick = function () { - var serverBox1 = $('#serverBox1').prop('checked'); - if (serverBox1){ - $("#zcModelDiv").show(); - } else { - $("#zcModelDiv").hide(); - } -} - -/** - * 跨城服务被点击 - */ -TCarInfoDlg.kcServerClick = function () { - var serverBox3 = $('#serverBox3').prop('checked'); - if (serverBox3){ - $("#kcModelDiv").show(); - } else { - $("#kcModelDiv").hide(); - } -} diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/coursePackageDiscount.js b/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/coursePackageDiscount.js deleted file mode 100644 index 9b77955..0000000 --- a/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/coursePackageDiscount.js +++ /dev/null @@ -1,819 +0,0 @@ -/** - * 用户详情对话框(可用于添加和修改对话框) - */ -var CoursePackageDiscount = { - userInfoData: {}, - coursePackagePaymentConfig: {} -}; - - - -/** - * 关闭此对话框 - */ -CoursePackageDiscount.close = function () { - parent.layer.close(window.parent.CoursePackage.layerIndex); -}; - - -/** - * 提交修改 - */ -CoursePackageDiscount.editSubmit = function () { - //提交信息 - var ajax = new $ax(Feng.ctxPath + "/coursePackage/setCoursePackageDiscount", function (data) { - if(data.code == 200){ - Feng.success("编辑成功!"); - CoursePackageDiscount.close(); - window.parent.CoursePackage.table.refresh(); - }else{ - Feng.error(data.msg); - } - }, function (data) { - Feng.error("编辑失败!" + data.responseJSON.message + "!"); - }); - ajax.set('json', JSON.stringify(CoursePackageDiscount.coursePackagePaymentConfig)); - ajax.set('id', $('#id').val()); - ajax.start(); -}; - - - - - - -function addPrice(type){ - let index = $('#classHours').find('button[checked]').attr('index'); - if(type == 3){ - let ll = $('#limitedTimeDiscount .limitedTimeDiscount').length; - let htmlStr = - ' <div class="form-group limitedTimeDiscount" index="' + ll + '">' + - ' <div class="col-sm-2"></div>\n' + - ' <div class="col-sm-8" style="border: 1px solid; padding: 20px;">\n' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label">折扣有效期:</label>\n' + - ' <div class="col-sm-9">\n' + - ' <input class="startAndEndDay" style="width: 300px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/>' + - ' </div>\n' + - ' <div class="col-sm-1"><i class="fa fa-trash-o" style="font-size:24px;color: red;" onclick="removePrice(3, this)"></i></div>\n' + - ' </div>' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label">*折扣时间:</label>\n' + - ' <div class="col-sm-5">\n' + - ' <input class="time" style="width: 200px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/>\n' + - ' </div>\n' + - ' </div>' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label"></label>\n' + - ' <div class="col-sm-8" style="margin-top: 6px;">\n' + - ' <input type="checkbox" name="week" value="1" onclick="addPriceValue(3, this, \'weeks\')"/> 周一 ' + - ' <input type="checkbox" name="week" value="2" onclick="addPriceValue(3, this, \'weeks\')"/> 周二 ' + - ' <input type="checkbox" name="week" value="3" onclick="addPriceValue(3, this, \'weeks\')"/> 周三 ' + - ' <input type="checkbox" name="week" value="4" onclick="addPriceValue(3, this, \'weeks\')"/> 周四 ' + - ' <input type="checkbox" name="week" value="5" onclick="addPriceValue(3, this, \'weeks\')"/> 周五 ' + - ' <input type="checkbox" name="week" value="6" onclick="addPriceValue(3, this, \'weeks\')"/> 周六 ' + - ' <input type="checkbox" name="week" value="7" onclick="addPriceValue(3, this, \'weeks\')"/> 周日 ' + - ' </div>\n' + - ' </div>' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label">*现金支付:</label>\n' + - ' <div class="col-sm-4">\n' + - ' <input type="number" class="price" onblur="addPriceValue(3, this, \'cashPayment\')" min="0" placeholder="请输入折扣后支付价格" style="width: 180px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/> ¥\n' + - ' </div>\n' + - ' </div>' + - ' </div>' + - ' </div>'; - - $('#limitedTimeDiscount').append(htmlStr); - let arr = CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount; - for(let k in arr){ - if(arr[k].type == 3){ - arr[k].content.push({}) - } - } - lay('.startAndEndDay').each(function(i, e){ - laydate.render({ - elem: this - ,type: 'datetime' - ,range: true - ,done: function(value, date, endDate){ - let index = $('#classHours').find('button[checked]').attr('index'); - let obj = CoursePackageDiscount.coursePackagePaymentConfig[index]; - let ii = $(e).parent('div').parent('div').parent('div').parent('div').attr('index'); - for (let i = 0; i < obj.coursePackageDiscount.length; i++) { - if(type == obj.coursePackageDiscount[i].type){ - let jsonArray = obj.coursePackageDiscount[i].content; - for (let j = 0; j < jsonArray.length; j++) { - if(j == ii){ - let arr = value.split(" - "); - obj.coursePackageDiscount[i].content[j]['startDate'] = arr[0]; - obj.coursePackageDiscount[i].content[j]['endDate'] = arr[1]; - } - } - } - } - } - }); - }); - lay('.time').each(function(i, e){ - laydate.render({ - elem: this - ,type: 'time' - ,range: true - ,done: function(value, date, endDate){ - let index = $('#classHours').find('button[checked]').attr('index'); - let obj = CoursePackageDiscount.coursePackagePaymentConfig[index]; - let ii = $(e).parent('div').parent('div').parent('div').parent('div').attr('index'); - for (let i = 0; i < obj.coursePackageDiscount.length; i++) { - if(type == obj.coursePackageDiscount[i].type){ - let jsonArray = obj.coursePackageDiscount[i].content; - for (let j = 0; j < jsonArray.length; j++) { - if(j == ii){ - let arr = value.split(" - "); - obj.coursePackageDiscount[i].content[j]['startTime'] = arr[0]; - obj.coursePackageDiscount[i].content[j]['endTime'] = arr[1]; - } - } - } - } - } - }); - }); - } - if(type == 4){ - let ll = $('#complimentaryClass .complimentaryClass').length; - let htmlStr = - ' <div class="form-group complimentaryClass" index="' + ll + '">' + - ' <div class="col-sm-2"></div>\n' + - ' <div class="col-sm-8" style="border: 1px solid; padding: 20px;">\n' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label">*赠送有效期:</label>\n' + - ' <div class="col-sm-9">\n' + - ' <input class="startAndEndDay" style="width: 300px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/>' + - ' </div>\n' + - ' <div class="col-sm-1"><i class="fa fa-trash-o" style="font-size:24px;color: red;" onclick="removePrice(4, this)"></i></div>\n' + - ' </div>' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label">*赠送时间:</label>\n' + - ' <div class="col-sm-5">\n' + - ' <input class="time" style="width: 200px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/>\n' + - ' </div>\n' + - ' </div>' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label"></label>\n' + - ' <div class="col-sm-8" style="margin-top: 6px;">\n' + - ' <input type="checkbox" name="week" value="1" onclick="addPriceValue(4, this, \'weeks\')"/> 周一 ' + - ' <input type="checkbox" name="week" value="2" onclick="addPriceValue(4, this, \'weeks\')"/> 周二 ' + - ' <input type="checkbox" name="week" value="3" onclick="addPriceValue(4, this, \'weeks\')"/> 周三 ' + - ' <input type="checkbox" name="week" value="4" onclick="addPriceValue(4, this, \'weeks\')"/> 周四 ' + - ' <input type="checkbox" name="week" value="5" onclick="addPriceValue(4, this, \'weeks\')"/> 周五 ' + - ' <input type="checkbox" name="week" value="6" onclick="addPriceValue(4, this, \'weeks\')"/> 周六 ' + - ' <input type="checkbox" name="week" value="7" onclick="addPriceValue(4, this, \'weeks\')"/> 周日 ' + - ' </div>\n' + - ' </div>' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label">*赠送课时数:</label>\n' + - ' <div class="col-sm-4">\n' + - ' <input type="number" class="price" onblur="addPriceValue(4, this, \'hour\')" min="0" placeholder="请输入赠送课时数" style="width: 180px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/> ¥\n' + - ' </div>\n' + - ' </div>' + - ' </div>' + - ' </div>'; - $('#complimentaryClass').append(htmlStr); - let arr = CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount; - for(let k in arr){ - if(arr[k].type == 4){ - arr[k].content.push({}) - } - } - lay('.startAndEndDay').each(function(i, e){ - laydate.render({ - elem: this - ,type: 'datetime' - ,range: true - ,done: function(value, date, endDate){ - let index = $('#classHours').find('button[checked]').attr('index'); - let obj = CoursePackageDiscount.coursePackagePaymentConfig[index]; - let ii = $(e).parent('div').parent('div').parent('div').parent('div').attr('index'); - for (let i = 0; i < obj.coursePackageDiscount.length; i++) { - if(type == obj.coursePackageDiscount[i].type){ - let jsonArray = obj.coursePackageDiscount[i].content; - for (let j = 0; j < jsonArray.length; j++) { - if(j == ii){ - let arr = value.split(" - "); - obj.coursePackageDiscount[i].content[j]['startDate'] = arr[0]; - obj.coursePackageDiscount[i].content[j]['endDate'] = arr[1]; - } - } - } - } - } - }); - }); - lay('.time').each(function(i, e){ - laydate.render({ - elem: this - ,type: 'time' - ,range: true - ,done: function(value, date, endDate){ - let index = $('#classHours').find('button[checked]').attr('index'); - let obj = CoursePackageDiscount.coursePackagePaymentConfig[index]; - let ii = $(e).parent('div').parent('div').parent('div').parent('div').attr('index'); - for (let i = 0; i < obj.coursePackageDiscount.length; i++) { - if(type == obj.coursePackageDiscount[i].type){ - let jsonArray = obj.coursePackageDiscount[i].content; - for (let j = 0; j < jsonArray.length; j++) { - if(j == ii){ - let arr = value.split(" - "); - obj.coursePackageDiscount[i].content[j]['startTime'] = arr[0]; - obj.coursePackageDiscount[i].content[j]['endTime'] = arr[1]; - } - } - } - } - } - }); - }); - } -} - - -function removePrice(type, e){ - let index = $('#classHours').find('button[checked]').attr('index'); - let object = $(e).parent('div').parent('div').parent('div').parent('div'); - let ii = object.attr('index'); - let obj = CoursePackageDiscount.coursePackagePaymentConfig[index]; - for (let i = 0; i < obj.coursePackageDiscount.length; i++) { - if(type == obj.coursePackageDiscount[i].type){ - let jsonArray = null; - if(typeof obj.coursePackageDiscount[i].content == "string"){ - jsonArray = JSON.parse(obj.coursePackageDiscount[i].content); - }else{ - jsonArray = obj.coursePackageDiscount[i].content; - } - - let arr = []; - for (let j = 0; j < jsonArray.length; j++) { - if(j == ii){ - continue - } - arr.push(jsonArray[j]); - } - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount[i].content = arr; - } - } - object.remove(); -} - - -function addPriceValue(type, e, name){ - let index = $('#classHours').find('button[checked]').attr('index'); - if(type == 1){ - let obj = CoursePackageDiscount.coursePackagePaymentConfig[index]; - for (let i = 0; i < obj.coursePackageDiscount.length; i++) { - if(type == obj.coursePackageDiscount[i].type){ - let content = null; - if(typeof obj.coursePackageDiscount[i].content == "string"){ - content = JSON.parse(obj.coursePackageDiscount[i].content); - }else{ - content = obj.coursePackageDiscount[i].content; - } - content[name] = parseFloat($(e).val()); - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount[i].content = content; - } - } - } - if(type == 2){ - let obj = CoursePackageDiscount.coursePackagePaymentConfig[index]; - for (let i = 0; i < obj.coursePackageDiscount.length; i++) { - if(type == obj.coursePackageDiscount[i].type){ - let content = null; - if(typeof obj.coursePackageDiscount[i].content == "string"){ - content = JSON.parse(obj.coursePackageDiscount[i].content); - }else{ - content = obj.coursePackageDiscount[i].content; - } - content[name] = parseFloat($(e).val()); - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount[i].content = content; - } - } - } - if(type == 3){ - let obj = CoursePackageDiscount.coursePackagePaymentConfig[index]; - let ii = $(e).parent('div').parent('div').parent('div').parent('div').attr('index'); - for (let i = 0; i < obj.coursePackageDiscount.length; i++) { - if(type == obj.coursePackageDiscount[i].type){ - let jsonArray = null; - if(typeof obj.coursePackageDiscount[i].content == "string"){ - jsonArray = JSON.parse(obj.coursePackageDiscount[i].content); - }else{ - jsonArray = obj.coursePackageDiscount[i].content; - } - - for (let j = 0; j < jsonArray.length; j++) { - if(j == ii){ - if('weeks' == name){ - let weeks = jsonArray[j].weeks; - let v = parseInt($(e).val()); - if(null != weeks && typeof weeks != "undefined"){ - if(e.checked){ - weeks.push(v); - }else{ - let arr = []; - for (let k = 0; k < weeks.length; k++) { - if(weeks[k] == v){ - continue - } - arr.push(weeks[k]); - } - weeks = arr; - } - }else{ - weeks = [v]; - } - jsonArray[j].weeks = weeks; - }else{ - jsonArray[j][name] = parseFloat($(e).val()); - } - } - } - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount[i].content = jsonArray; - } - } - } - if(type == 4){ - let obj = CoursePackageDiscount.coursePackagePaymentConfig[index]; - let ii = $(e).parent('div').parent('div').parent('div').parent('div').attr('index'); - for (let i = 0; i < obj.coursePackageDiscount.length; i++) { - if(type == obj.coursePackageDiscount[i].type){ - let jsonArray = null; - if(typeof obj.coursePackageDiscount[i].content == "string"){ - jsonArray = JSON.parse(obj.coursePackageDiscount[i].content); - }else{ - jsonArray = obj.coursePackageDiscount[i].content; - } - for (let j = 0; j < jsonArray.length; j++) { - if(j == ii){ - if('weeks' == name){ - let weeks = jsonArray[j].weeks; - let v = parseInt($(e).val()); - if(null != weeks && typeof weeks != "undefined"){ - if(e.checked){ - weeks.push(v); - }else{ - let arr = []; - for (let k = 0; k < weeks.length; k++) { - if(weeks[k] == v){ - continue - } - arr.push(weeks[k]); - } - weeks = arr; - } - }else{ - weeks = [v]; - } - jsonArray[j].weeks = weeks; - }else{ - jsonArray[j][name] = parseFloat($(e).val()); - } - } - } - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount[i].content = jsonArray; - } - } - } -} - - -function selectedPperiod(e){ - $('#classHours').find('button[checked]').attr('style', 'width: 60px;height: 30px;border: none;border-radius: 5px;'); - $('#classHours').find('button[checked]').removeAttr('checked'); - if(typeof e != "undefined"){ - $(e).attr('style', 'width: 60px;height: 30px;background-color: #0086F6;border: none;border-radius: 5px;color: white;'); - $(e).attr('checked', true); - }else{ - $($('#classHours').find('button')[0]).attr('style', 'width: 60px;height: 30px;background-color: #0086F6;border: none;border-radius: 5px;color: white;'); - $($('#classHours').find('button')[0]).attr('checked', true); - } - - let index = $('#classHours').find('button[checked]').attr('index'); - let obj = CoursePackageDiscount.coursePackagePaymentConfig[index]; - $('#payment').text(obj.payment); - $('#cashPayment').text(obj.cashPayment); - - $('#memberDiscount').html(''); - $('#renewalOffer').html(''); - $('#limitedTimeDiscount').html(''); - $('#complimentaryClass').html(''); - let objv = CoursePackageDiscount.coursePackagePaymentConfig[index]; - $('input[name="type"]').each(function (i, e) { - e.checked = false; - let v = $(e).val(); - for (let i = 0; i < objv.coursePackageDiscount.length; i++) { - if(v == objv.coursePackageDiscount[i].type){ - $(e).click(); - } - } - }) -} - - - - -$(function () { - CoursePackageDiscount.coursePackagePaymentConfig = JSON.parse($('#coursePackagePaymentConfig').val()); - let htmlStr = ''; - for (let i = 0; i < CoursePackageDiscount.coursePackagePaymentConfig.length; i++) { - let obj = CoursePackageDiscount.coursePackagePaymentConfig[i]; - if(i == 0){ - htmlStr += '<button checked onclick="selectedPperiod(this)" index="' + i + '" style="width: 60px;height: 30px;background-color: #0086F6;border: none;border-radius: 5px;color: white;">' + obj.classHours + '课时</button> '; - }else{ - htmlStr += '<button onclick="selectedPperiod(this)" index="' + i + '" style="width: 60px;height: 30px;border: none;border-radius: 5px;">' + obj.classHours + '课时</button> '; - } - } - $('#classHours').html(htmlStr); - - $('input[name="type"]').click(function () { - let v = $(this).val(); - let index = $('#classHours').find('button[checked]').attr('index'); - if(this.checked && v == '1'){ - let discountMember = true; - let hh = '<div class="hr-line-dashed"></div>' + - '<h3>会员折扣</h3>\n' + - ' <div class="form-group">\n' + - ' <div class="col-sm-2"></div>'+ - ' <div class="col-sm-10">' + - ' <label class="col-sm-2 control-label">*现金支付:</label>\n' + - ' <div class="col-sm-3">\n' + - ' <input type="number" min="0" value="'; - let obj = CoursePackageDiscount.coursePackagePaymentConfig[index]; - for (let i = 0; i < obj.coursePackageDiscount.length; i++) { - if(v == obj.coursePackageDiscount[i].type){ - let jsonObject = null; - if(typeof obj.coursePackageDiscount[i].content == "string"){ - jsonObject = JSON.parse(obj.coursePackageDiscount[i].content); - }else{ - jsonObject = obj.coursePackageDiscount[i].content; - } - hh += (null == jsonObject.discountMember ? '' : jsonObject.discountMember); - discountMember = false; - } - } - hh += '" placeholder="请输入会员支付价格" onblur="addPriceValue(1, this, \'discountMember\')" style="width: 180px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/> ¥\n' + - ' </div>\n' + - ' </div>'+ - ' </div>'; - - $('#memberDiscount').html(hh); - if(discountMember){ - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount.push({ - type: 1, - content:{ - discountMember: null - } - }); - } - }else if(!this.checked && v == '1'){ - $('#memberDiscount').html(''); - let datas = CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount; - let arra = []; - for (let i = 0; i < datas.length; i++){ - if(datas[i].type == v){ - continue; - } - arra.push(datas[i]); - } - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount = arra; - } - if(this.checked && v == '2'){ - let continuingMember = true; - let hh = '<div class="hr-line-dashed"></div>' + - '<h3>续课优惠</h3>\n' + - ' <div class="form-group">\n' + - ' <div class="col-sm-2"></div>'+ - ' <div class="col-sm-10">' + - ' <label class="col-sm-2 control-label">会员续课:</label>\n' + - ' <div class="col-sm-3">\n' + - ' </div>\n' + - ' <label class="col-sm-2 control-label">用户续课:</label>\n' + - ' <div class="col-sm-3">\n' + - ' </div>\n' + - ' </div>'+ - ' </div>' + - ' <div class="form-group">\n' + - ' <div class="col-sm-2"></div>'+ - ' <div class="col-sm-10">' + - ' <label class="col-sm-2 control-label">*现金支付:</label>\n' + - ' <div class="col-sm-3">\n' + - ' <input type="number" min="0" value="'; - let obj = CoursePackageDiscount.coursePackagePaymentConfig[index]; - for (let i = 0; i < obj.coursePackageDiscount.length; i++) { - if(v == obj.coursePackageDiscount[i].type){ - let jsonObject = null; - if(typeof obj.coursePackageDiscount[i].content == "string"){ - jsonObject = JSON.parse(obj.coursePackageDiscount[i].content); - }else{ - jsonObject = obj.coursePackageDiscount[i].content; - } - hh += (null == jsonObject.continuingMember ? '' : jsonObject.continuingMember); - continuingMember = false; - } - } - hh += '" placeholder="请输入会员支付价格" onblur="addPriceValue(2, this, \'continuingMember\')" style="width: 180px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/> ¥\n' + - ' </div>\n' + - ' <label class="col-sm-2 control-label">*现金支付:</label>\n' + - ' <div class="col-sm-3">\n' + - ' <input type="number" min="0" value="'; - let obje = CoursePackageDiscount.coursePackagePaymentConfig[index]; - for (let i = 0; i < obje.coursePackageDiscount.length; i++) { - if(v == obje.coursePackageDiscount[i].type){ - let jsonObject = null; - if(typeof obje.coursePackageDiscount[i].content == "string"){ - jsonObject = JSON.parse(obje.coursePackageDiscount[i].content); - }else{ - jsonObject = obje.coursePackageDiscount[i].content; - } - hh += (null == jsonObject.continuingUser ? '' : jsonObject.continuingUser); - } - } - hh += '" placeholder="请输入用户支付价格" onblur="addPriceValue(2, this, \'continuingUser\')" style="width: 180px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/> ¥\n' + - ' </div>\n' + - ' </div>'+ - ' </div>'; - $('#renewalOffer').html(hh); - if(continuingMember){ - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount.push({ - type: 2, - content: { - continuingMember: null, - continuingUser: null - } - }) - } - }else if(!this.checked && v == '2'){ - $('#renewalOffer').html(''); - let datas = CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount; - let arra = []; - for (let i = 0; i < datas.length; i++){ - if(datas[i].type == v){ - continue; - } - arra.push(datas[i]); - } - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount = arra; - } - if(this.checked && v == '3'){ - let data_value = true; - let hh = '<div class="hr-line-dashed"></div>' + - '<span style="font-size: 16px;font-weight: 500;">限时折扣</span> <i class="fa fa-plus-circle" style="font-size:24px" onclick="addPrice(3)"></i>\n'; - let obje = CoursePackageDiscount.coursePackagePaymentConfig[index]; - for (let i = 0; i < obje.coursePackageDiscount.length; i++) { - if(v == obje.coursePackageDiscount[i].type){ - data_value = false - let jsonArray = null; - if(typeof obje.coursePackageDiscount[i].content == "string"){ - jsonArray = JSON.parse(obje.coursePackageDiscount[i].content); - }else{ - jsonArray = obje.coursePackageDiscount[i].content; - } - - for (let j = 0; j < jsonArray.length; j++) { - hh += '' + - ' <div class="form-group limitedTimeDiscount" index="' + j + '">' + - ' <div class="col-sm-2"></div>\n' + - ' <div class="col-sm-8" style="border: 1px solid; padding: 20px;">\n' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label">折扣有效期:</label>\n' + - ' <div class="col-sm-9">\n' + - ' <input class="startAndEndDay" value="' + (jsonArray[j].startDate + " - " + jsonArray[j].endDate) + '" style="width: 300px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/>' + - ' </div>\n' + - ' <div class="col-sm-1"><i class="fa fa-trash-o" style="font-size:24px;color: red;" onclick="removePrice(3, this)"></i></div>\n' + - ' </div>' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label">*折扣时间:</label>\n' + - ' <div class="col-sm-5">\n' + - ' <input class="time" value="' + jsonArray[j].startTime + " - " + jsonArray[j].endTime + '" style="width: 200px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/>\n' + - ' </div>\n' + - ' </div>' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label"></label>\n' + - ' <div class="col-sm-8" style="margin-top: 6px;">\n' + - ' <input type="checkbox" name="week" value="1"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 1){ - hh += 'checked'; - } - } - hh += '/> 周一 ' + - ' <input type="checkbox" name="week" value="2"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 2){ - hh += 'checked'; - } - } - hh += '/> 周二 ' + - ' <input type="checkbox" name="week" value="3"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 3){ - hh += 'checked'; - } - } - hh += '/> 周三 ' + - ' <input type="checkbox" name="week" value="4"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 4){ - hh += 'checked'; - } - } - hh += '/> 周四 ' + - ' <input type="checkbox" name="week" value="5"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 5){ - hh += 'checked'; - } - } - hh += '/> 周五 ' + - ' <input type="checkbox" name="week" value="6"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 6){ - hh += 'checked'; - } - } - hh += '/> 周六 ' + - ' <input type="checkbox" name="week" value="7"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 7){ - hh += 'checked'; - } - } - hh += '/> 周日 ' + - ' </div>\n' + - ' </div>' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label">*现金支付:</label>\n' + - ' <div class="col-sm-4">\n' + - ' <input type="number" min="0" value="' + jsonArray[j].cashPayment + '" onblur="addPriceValue(3, this, \'cashPayment\')" placeholder="请输入折扣后支付价格" style="width: 180px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/> ¥\n' + - ' </div>\n' + - ' </div>' + - ' </div>' + - ' </div>'; - } - - } - } - $('#limitedTimeDiscount').html(hh); - if(data_value){ - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount.push({ - type: 3, - content: [] - }) - } - }else if(!this.checked && v == '3'){ - $('#limitedTimeDiscount').html(''); - let datas = CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount; - let arra = []; - for (let i = 0; i < datas.length; i++){ - if(datas[i].type == v){ - continue; - } - arra.push(datas[i]); - } - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount = arra; - } - if(this.checked && v == '4'){ - let data_value = true; - let hh = - '<div class="hr-line-dashed"></div>' + - '<span style="font-size: 16px;font-weight: 500;">赠送课时</span> <i class="fa fa-plus-circle" style="font-size:24px" onclick="addPrice(4)"></i>\n'; - let obje = CoursePackageDiscount.coursePackagePaymentConfig[index]; - for (let i = 0; i < obje.coursePackageDiscount.length; i++) { - if (v == obje.coursePackageDiscount[i].type) { - data_value = false; - let jsonArray = null; - if(typeof obje.coursePackageDiscount[i].content == "string"){ - jsonArray = JSON.parse(obje.coursePackageDiscount[i].content); - }else{ - jsonArray = obje.coursePackageDiscount[i].content; - } - for (let j = 0; j < jsonArray.length; j++) { - hh += - ' <div class="form-group complimentaryClass" index="' + j + '">' + - ' <div class="col-sm-2"></div>\n' + - ' <div class="col-sm-8" style="border: 1px solid; padding: 20px;">\n' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label">*赠送有效期:</label>\n' + - ' <div class="col-sm-9">\n' + - ' <input class="startAndEndDay" value="' + (jsonArray[j].startDate + " - " + jsonArray[j].endDate) + '" style="width: 300px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/>' + - ' </div>\n' + - ' <div class="col-sm-1"><i class="fa fa-trash-o" style="font-size:24px;color: red;" onclick="removePrice(4, this)"></i></div>\n' + - ' </div>' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label">*赠送时间:</label>\n' + - ' <div class="col-sm-5">\n' + - ' <input class="time" value="' + jsonArray[j].startTime + " - " + jsonArray[j].endTime + '" style="width: 200px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/>\n' + - ' </div>\n' + - ' </div>' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label"></label>\n' + - ' <div class="col-sm-8" style="margin-top: 6px;">\n' + - ' <input type="checkbox" name="week" value="1"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 1){ - hh += 'checked'; - } - } - hh += '/> 周一 ' + - ' <input type="checkbox" name="week" value="2"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 2){ - hh += 'checked'; - } - } - hh += '/> 周二 ' + - ' <input type="checkbox" name="week" value="3"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 3){ - hh += 'checked'; - } - } - hh += '/> 周三 ' + - ' <input type="checkbox" name="week" value="4"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 4){ - hh += 'checked'; - } - } - hh += '/> 周四 ' + - ' <input type="checkbox" name="week" value="5"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 5){ - hh += 'checked'; - } - } - hh += '/> 周五 ' + - ' <input type="checkbox" name="week" value="6"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 6){ - hh += 'checked'; - } - } - hh += '/> 周六 ' + - ' <input type="checkbox" name="week" value="7"'; - for (let k = 0; k < jsonArray[j].weeks.length; k++) { - let w = jsonArray[j].weeks[k]; - if(w == 7){ - hh += 'checked'; - } - } - hh += '/> 周日 ' + - ' </div>\n' + - ' </div>' + - ' <div class="form-group">\n' + - ' <label class="col-sm-2 control-label">*赠送课时数:</label>\n' + - ' <div class="col-sm-4">\n' + - ' <input type="number" value="' + jsonArray[j].hour + '" onblur="addPriceValue(4, this, \'hour\')" min="0" placeholder="请输入赠送课时数" style="width: 180px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"/> ¥\n' + - ' </div>\n' + - ' </div>' + - ' </div>' + - ' </div>'; - } - } - } - $('#complimentaryClass').html(hh); - if(data_value){ - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount.push({ - type: 4, - content: [] - }) - } - }else if(!this.checked && v == '4'){ - $('#complimentaryClass').html(''); - let datas = CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount; - let arra = []; - for (let i = 0; i < datas.length; i++){ - if(datas[i].type == v){ - continue; - } - arra.push(datas[i]); - } - CoursePackageDiscount.coursePackagePaymentConfig[index].coursePackageDiscount = arra; - } - }) - - - selectedPperiod(); -}); diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tCity_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tCity_info.js deleted file mode 100644 index 8360403..0000000 --- a/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tCity_info.js +++ /dev/null @@ -1,320 +0,0 @@ -/** - * 初始化车辆管理详情对话框 - */ -var language=1; -var TCarInfoDlg = { - tCarInfoData : {}, - validateFields: { - } -}; - -/** - * 验证数据是否为空 - */ -TCarInfoDlg.validate = function () { - $('#carInfoForm').data("bootstrapValidator").resetForm(); - $('#carInfoForm').bootstrapValidator('validate'); - return $("#carInfoForm").data('bootstrapValidator').isValid(); -}; - -/** - * 清除数据 - */ -TCarInfoDlg.clearData = function() { - this.tCarInfoData = {}; -} - -/** - * 设置对话框中的数据 - * - * @param key 数据的名称 - * @param val 数据的具体值 - */ -TCarInfoDlg.set = function(key, val) { - this.tCarInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; - return this; -} - -/** - * 设置对话框中的数据 - * - * @param key 数据的名称 - * @param val 数据的具体值 - */ -TCarInfoDlg.get = function(key) { - return $("#" + key).val(); -} - -/** - * 关闭此对话框 - */ -TCarInfoDlg.close = function() { - parent.layer.close(window.parent.TCompetition.layerIndex); -} - -/** - * 收集数据 - */ -TCarInfoDlg.collectData = function() { - this - .set('id') - .set('isPlatCar') - .set('companyId') - .set('franchiseeId') - .set('carColor') - .set('carModelId') - .set('carBrandId') - .set('carLicensePlate') - .set('carPhoto') - .set('drivingLicenseNumber') - .set('drivingLicensePhoto') - .set('annualInspectionTime') - .set('commercialInsuranceTime') - .set('createTime') - .set('state') - .set('addType') - .set('addObjectId') - .set('plateColor') - .set('vehicleType') - .set('ownerName') - .set('engineId') - .set('VIN') - .set('certifyDateA') - .set('fuelType') - .set('engineDisplace') - .set('certificate') - .set('transAgency') - .set('transArea') - .set('transDateStart') - .set('transDateStop') - .set('certifyDateB') - .set('fixState') - .set('nextFixDate') - .set('checkState') - .set('feePrintId') - .set('GPSBrand') - .set('GPSModel') - .set('GPSIMEI') - .set('GPSInstallDate') - .set('registerDate') - .set('commercialType'); -} - -/** - * 提交添加 - */ -TCarInfoDlg.addSubmit = function() { - - this.clearData(); - this.collectData(); - if(!this.validate()){ - return ; - } - - let pCode = $("#pCode").val() - let cCode = $("#cCode").val() - let name = $("#name").val() - let phone = $("#phone").val() - - if(pCode==''){ - Feng.info("请选择省") - return; - } - if(cCode==''){ - Feng.info("请选择市") - return; - } - if(name==''){ - Feng.info("管理员姓名不能为空") - return; - } - if(phone==''){ - Feng.info("管理员手机号不能为空") - return; - } - - //提交信息 - var ajax = new $ax(Feng.ctxPath + "/tCity/add", function(data){ - if(data=="5001"){ - Feng.error("改账号已经存在"); - }else - if(data.code == 200){ - if(language==1){ - Feng.success("添加成功!"); - }else if(language==2){ - Feng.success("Successfully added!"); - }else { - Feng.success("Sangat berhasil ditambah!"); - } - window.parent.TCompetition.table.refresh(); - TCarInfoDlg.close(); - }else{ - Feng.error(data.msg); - } - - },function(data){ - Feng.error("添加失败!" + data.responseJSON.message + "!"); - }); - ajax.set(this.tCarInfoData); - ajax.set("provinceCode",pCode); - ajax.set("cityCode",cCode); - ajax.set("name",name); - ajax.set("phone",phone); - ajax.start(); -} - -/** - * 提交修改 - */ -TCarInfoDlg.editSubmit = function() { - - this.clearData(); - this.collectData(); - if(!this.validate()){ - return ; - } - let pCode = $("#pCode").val() - let cCode = $("#cCode").val() - let name = $("#name").val() - let phone = $("#phone").val() - - if(pCode==''){ - Feng.info("请选择省") - return; - } - if(cCode==''){ - Feng.info("请选择市") - return; - } - if(name==''){ - Feng.info("管理员姓名不能为空") - return; - } - if(phone==''){ - Feng.info("管理员手机号不能为空") - return; - } - //提交信息 - var ajax = new $ax(Feng.ctxPath + "/tCity/update", function(data){ - if(data=="5001"){ - Feng.error("改账号已经存在"); - }else - if(data.code == 200){ - if(language==1){ - Feng.success("修改成功!"); - }else if(language==2){ - Feng.success("Modify successfully!"); - }else { - Feng.success("Mengubah dengan sukses!"); - } - window.parent.TCompetition.table.refresh(); - TCarInfoDlg.close(); - }else{ - Feng.error(data.msg); - } - },function(data){ - Feng.error("修改失败!" + data.responseJSON.message + "!"); - }); - ajax.set("provinceCode",pCode); - ajax.set("cityCode",cCode); - ajax.set("name",name); - ajax.set("phone",phone); - ajax.set("id",$("#id").val()); - ajax.start(); -} - -$(function() { - Feng.initValidator("carInfoForm", TCarInfoDlg.validateFields); - // 初始化图片上传 - var carPhoto = new $WebUpload("carPhoto"); - carPhoto.setUploadBarId("progressBar"); - carPhoto.init(); - var drivingLicensePhoto = new $WebUpload("drivingLicensePhoto"); - drivingLicensePhoto.setUploadBarId("progressBar"); - drivingLicensePhoto.init(); -}); - -/** - * 选择分公司后执行 - */ -TCarInfoDlg.oneChange = function (e) { - var oneId=$(e).val(); - var ajax = new $ax(Feng.ctxPath + "/tCity/onChange", function(data){ - if(data!=null){ - if(language==1){ - var content='<option value="">选择市</option>'; - }else if(language==2){ - var content='<option value="">Choose your franchisee</option>'; - }else { - var content='<option value="">Pilih franchisee Anda</option>'; - } - $.each(data, function(k,v) { - content += "<option value='"+v.code+"'>"+v.name+"</option>"; - }); - $("#cCode").empty().append(content); - } - }); - ajax.set("oneId",oneId); - ajax.start(); -} - -/** - * 类型改变执行 - * @param e - */ -TCarInfoDlg.companyTypeClick = function (e) { - if (1 == e){ - $(".companyDiv").hide(); - } else if (2 == e){ - $(".companyDiv").show(); - } -} - -/** - * 车辆品牌改变时执行 - */ -TCarInfoDlg.brandChange = function (e) { - var carBrandId=$(e).val(); - var ajax = new $ax(Feng.ctxPath + "/tCar/brandChange", function(data){ - if(data!=null){ - if(language==1){ - var content='<option value="">选择车辆类型</option>'; - }else if(language==2){ - var content='<option value="">Please select the vehicle type</option>'; - }else { - var content='<option value="">Pilih Jenis Kendaraan</option>'; - } - - $.each(data, function(k,v) { - content += "<option value='"+v.id+"'>"+v.name+"</option>"; - }); - $("#carModelId").empty().append(content); - } - }); - ajax.set("carBrandId",carBrandId); - ajax.start(); -} - -/** - * 专车服务被点击 - */ -TCarInfoDlg.zcServerClick = function () { - var serverBox1 = $('#serverBox1').prop('checked'); - if (serverBox1){ - $("#zcModelDiv").show(); - } else { - $("#zcModelDiv").hide(); - } -} - -/** - * 跨城服务被点击 - */ -TCarInfoDlg.kcServerClick = function () { - var serverBox3 = $('#serverBox3').prop('checked'); - if (serverBox3){ - $("#kcModelDiv").show(); - } else { - $("#kcModelDiv").hide(); - } -} diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tDiscount.js b/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tDiscount.js deleted file mode 100644 index d475168..0000000 --- a/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tDiscount.js +++ /dev/null @@ -1,433 +0,0 @@ -/** - * 车辆管理管理初始化 - */ -var TCompetition = { - id: "TCompetitionTable", //表格id - seItem: null, //选中的条目 - table: null, - layerIndex: -1 -}; -var language =1 -/** - * 初始化表格的列 - */ -TCompetition.initColumn = function () { - return [ - {field: 'selectItem', radio: true}, - {title: '所在省', field: 'pname', visible: true, align: 'center', valign: 'middle' - }, - {title: '所在市', field: 'cname', visible: true, align: 'center', valign: 'middle'}, - {title: '所属门店', field: 'shopName', visible: true, align: 'center', valign: 'middle' - }, - {title: '课包名称', field: 'name', visible: true, align: 'center', valign: 'middle' - }, - {title: '折扣类型', field: 'type', visible: true, align: 'center', valign: 'middle' - ,formatter:function (data) { - return{1:"会员折扣",3:"限时折扣",4:"赠送课时"}[data] - } - }, - {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle' - ,formatter:function (data) { - return{1:"待审核",3:"未通过"}[data] - } - }, - ]; -}; -function currentTime(timestamp){ - var time = timestamp + ''; - if(time.length != 13){ - timestamp = timestamp * 1000; - } - var date = new Date(timestamp);; - var Y = date.getFullYear() + '-'; - var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; - var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' '; - - var h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()) + ':'; - var m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()) + ':'; - var s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds()); - var strDate = Y + M + D + h + m + s; - return strDate -} - -function currentTime1(timestamp){ - var time = timestamp + ''; - if(time.length != 13){ - timestamp = timestamp * 1000; - } - var date = new Date(timestamp);; - var Y = date.getFullYear() + '-'; - var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; - var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' '; - - var h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()) + ':'; - var m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()) + ':'; - var s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds()); - var strDate = Y + M + D ; - return strDate -} -/** - * 检查是否选中 - */ -TCompetition.check = function () { - var selected = $('#' + this.id).bootstrapTable('getSelections'); - if(selected.length == 0){ - Feng.info("请先选中表格中的某一记录!"); - return false; - }else{ - TCompetition.seItem = selected[0]; - return true; - } -}; - -/** - * 点击添加车辆管理 - */ -TCompetition.openAddTCompetition = function () { - var index = layer.open({ - type: 2, - title: '添加', - area: ['100%', '100%'], //宽高 - fix: false, //不固定 - maxmin: true, - content: Feng.ctxPath + '/tCity/tCity_add' - }); - this.layerIndex = index; -}; - -/** - * 打开查看车辆管理详情 - */ -TCompetition.openTCompetitionDetail = function () { - if (this.check()) { - var index = layer.open({ - type: 2, - title:'编辑', - area: ['100%', '100%'], //宽高 - fix: false, //不固定 - maxmin: true, - content: Feng.ctxPath + '/tCity/tCity_update/' + TCompetition.seItem.id - }); - this.layerIndex = index; - } -}; - -/** - * 删除车辆管理 - */ -TCompetition.updateState = function (e) { - if (this.check()) { - var id = TCompetition.seItem.id; - var ajax = new $ax(Feng.ctxPath + "/TDiscount/updateState", function (data) { - if(data.code==200){ - Feng.success("操作成功") - }else { - Feng.error("操作失败") - } - TCompetition.table.refresh(); - }, function (data) { - Feng.error("操作失败") - TCompetition.table.refresh(); - }); - ajax.set("id",id); - ajax.set("status",e); - ajax.start(); - ; - } -}; -TCompetition.oneChange = function (e) { - console.log(111) - var oneId=$(e).val(); - var ajax = new $ax(Feng.ctxPath + "/tCompetition/onChange", function(data){ - if(data!=null){ - if(language==1){ - var content='<option value="">选择市</option>'; - }else if(language==2){ - var content='<option value="">Choose your franchisee</option>'; - }else { - var content='<option value="">Pilih franchisee Anda</option>'; - } - $.each(data, function(k,v) { - content += "<option value='"+v.code+"'>"+v.name+"</option>"; - }); - $("#cCode").empty().append(content); - } - }); - ajax.set("oneId",oneId); - ajax.start(); -} - -TCompetition.freeze = function () { - if (this.check()) { - var ajax = new $ax(Feng.ctxPath + "/tCity/freeze", function (data) { - Feng.success("冻结成功!"); - TCompetition.table.refresh(); - }, function (data) { - Feng.error("冻结失败!" + data.responseJSON.message + "!"); - }); - ajax.set("id",this.seItem.id); - ajax.start(); - } -}; -TCompetition.audit = function () { - if (this.check()) { - var index = layer.load(1,{ - type: 1 - , title: '折扣审核' - , area: ['50%', '50%'] - , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset - , id: 'layerDemo' //防止重复弹出cge - , content: '<div class="form-horizontal">' + - ' <div class="col-sm-11" >' + - ' <div class="col-sm-11">' + - ' <div class="form-group">\n' + - ' <label class="col-sm-3 control-label">审核状态:</label>\n' + - ' <div class="col-sm-9">\n' + - ' <input type="radio" name="r1" value="2" checked> 通过 <input type="radio" name="r1" value="3" > 拒绝 '+ - ' </div>\n' + - ' </div>\n' + - ' <div class="form-group">\n' + - ' <label class="col-sm-3 control-label">拒绝理由:</label>\n' + - ' <div class="col-sm-9">\n' + - ' <textarea id="text" style="width: 460px; height: 138px;"></textarea> '+ - ' </div>\n' + - ' </div>\n' + - ' </div>' + - ' </div>' + - '</div>' - , btn: ['关闭', '保存'] - , btnAlign: 'c' //按钮居中 - , shade: 0.5 //不显示遮罩 - ,load:1 - , yes: function () { - layer.closeAll(); - }, - btn2:function () { - let audit = document.querySelector('input[name="r1"]:checked').value; - let text = $("#text").val() - if(audit==3){ - if(text==''){ - Feng.info("请输入拒绝理由") - return false; - } - } - var ajax = new $ax(Feng.ctxPath + "/tDiscount/auditDiscount", function (data) { - if (data.code == 200) { - Feng.success("操作成功!"); - window.location.reload(); - window.parent.layer.closeAll(); - } else if(data=="repeat"){ - window.location.reload(); - window.parent.layer.closeAll(); - Feng.error("请勿重复操作"); - }else { - return Feng.error(data.msg); - } - }, function (data) { - Feng.error("操作失败!") - window.location.reload(); - window.parent.layer.closeAll(); - return Feng.error("操作失败!"); - }); - ajax.set("id", TCompetition.seItem.id); - ajax.set("audit", audit); - ajax.set("text", text); - ajax.start(); - layer.closeAll(); - } - }); - - this.layerIndex = index; - } -}; -TCompetition.unfreeze = function () { - if (this.check()) { - var ajax = new $ax(Feng.ctxPath + "/tCity/unfreeze", function (data) { - Feng.success("解冻成功!"); - TCompetition.table.refresh(); - }, function (data) { - Feng.error("解冻失败!" + data.responseJSON.message + "!"); - }); - ajax.set("id",this.seItem.id); - ajax.start(); - } -}; -TCompetition.info = function () { - console.log(111) - if (this.check()) { - let index = layer.open({ - type: 2, - title: '折扣详情', - area: ['100%', '100%'], //宽高 - fix: false, //不固定 - maxmin: true, - content: Feng.ctxPath + '/tDiscount/infoOne?id=' + this.seItem.id - }); - this.layerIndex = index; - } -}; -TCompetition.reload = function () { - if (this.check()) { - let id = this.seItem.id - var operation = function(){ - var ajax = new $ax(Feng.ctxPath + "/tCity/pwd", function (data) { - Feng.success("重置成功!"); - TCompetition.table.refresh(); - }, function (data) { - Feng.error("重置失败!" + data.responseJSON.message + "!"); - }); - ajax.set("id",id); - ajax.start(); - } - Feng.confirm("确认重置密码?重置后密码为:a123456", operation); - } - -}; - -TCompetition.carInsurance = function () { - if (this.check()) { - var index = layer.open({ - type: 2, - title: language==1?'车辆保险':(language==2?'Vehicle insurance':'Asuransi kendaraan'), - area: ['100%', '100%'], //宽高 - fix: false, //不固定 - maxmin: true, - content: Feng.ctxPath + '/TCompetition/carInsurance?carId=' + TCompetition.seItem.id - }); - this.layerIndex = index; - } -}; - - - -/** - * 查询车辆管理列表 - */ -TCompetition.search = function () { - var queryData = {}; - queryData['provinceCode'] = $("#pCode").val(); - queryData['cityCode'] = $("#cCode").val(); - queryData['name'] = $("#name").val(); - queryData['shopName'] = $("#shopName").val(); - queryData['type'] = $("type").val(); - TCompetition.table.refresh({query: queryData}); -}; - -TCompetition.resetSearch = function () { - $("#pCode").val(""); - $("#cCode").val(""); - $("#name").val(""); - $("#type").val(""); - $("#shopName").val(""); - TCompetition.search(); -}; - -$(function () { - var defaultColunms = TCompetition.initColumn(); - var table = new BSTable(TCompetition.id, "/tDiscount/listAudit", defaultColunms); - table.setPaginationType("server"); - TCompetition.table = table.init(); -}); - -/** - * 下载模板 - */ -TCompetition.uploadCarModel = function () { - window.location.href = Feng.ctxPath + "/TCompetition/uploadCarModel"; -} - -var agreement = function(){ - this.init = function(){ - //模拟上传excel - $("#uploadEventBtn").unbind("click").bind("click",function(){ - $("#uploadEventFile").click(); - }); - }; -} -/** - * 导入合同 - */ -TCompetition.exporTCompetition = function () { - var uploadEventFile = $("#uploadEventFile").val(); - if(uploadEventFile == ''){ - if(language==1){ - Feng.info("请选择Excel,再上传"); - }else if(language==2){ - Feng.info("Please select Excel and upload"); - }else { - Feng.info("Silakan pilih Excel dan upload"); - } - }else if(uploadEventFile.lastIndexOf(".xls")<0){//可判断以.xls和.xlsx结尾的excel - if(language==1){ - Feng.info("只能上传Excel文件"); - }else if(language==2){ - Feng.info("Only Excel files can be uploaded"); - }else { - Feng.info("Hanya berkas Excel yang dapat diunggah"); - } - }else{ - var url = Feng.ctxPath + '/TCompetition/exporTCompetition'; - var file = document.querySelector('input[name=file]').files[0]; - var reader = new FileReader(); - if (file) { - var formData = new FormData(); - formData.append("myfile", file); - this.sendAjaxRequest(url, 'POST', formData); - } - } -} -TCompetition.sendAjaxRequest = function(url,type,data){ - $.ajax({ - url : url, - type : type, - data : data, - success : function(result) { - if(result.code==500) { - Feng.info(result.message); - }else { - if(language==1){ - Feng.success("导入成功!"); - }else if(language==2){ - Feng.success("SUCCESSFUL IMPORT!"); - }else { - Feng.success("Import berhasil!"); - } - } - TCompetition.table.refresh(); - }, - error : function() { - if(language==1){ - Feng.error("excel上传失败!"); - }else if(language==2){ - Feng.error("Uploading excel Fails. Procedure!"); - }else { - Feng.error("Gagal mengunggah excel!"); - } - }, - cache : false, - contentType : false, - processData : false - }); -}; - -var agreement; -$(function(){ - agreement = new agreement(); - agreement.init(); -}); - -/** - * 导出车辆操作 - */ -TCompetition.ouTCompetition = function () { - var operation = function() { - window.location.href = Feng.ctxPath + "/TCompetition/ouTCompetition"; - }; - if(language==1){ - Feng.confirm("是否确认导出车辆信息?", operation); - }else if(language==2){ - Feng.confirm("Are you sure to export vehicle information?", operation); - }else { - Feng.confirm("Apakah Anda pasti akan mengekspor informasi kendaraan?", operation); - } -} \ No newline at end of file diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tDiscount_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tDiscount_info.js deleted file mode 100644 index 8360403..0000000 --- a/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tDiscount_info.js +++ /dev/null @@ -1,320 +0,0 @@ -/** - * 初始化车辆管理详情对话框 - */ -var language=1; -var TCarInfoDlg = { - tCarInfoData : {}, - validateFields: { - } -}; - -/** - * 验证数据是否为空 - */ -TCarInfoDlg.validate = function () { - $('#carInfoForm').data("bootstrapValidator").resetForm(); - $('#carInfoForm').bootstrapValidator('validate'); - return $("#carInfoForm").data('bootstrapValidator').isValid(); -}; - -/** - * 清除数据 - */ -TCarInfoDlg.clearData = function() { - this.tCarInfoData = {}; -} - -/** - * 设置对话框中的数据 - * - * @param key 数据的名称 - * @param val 数据的具体值 - */ -TCarInfoDlg.set = function(key, val) { - this.tCarInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; - return this; -} - -/** - * 设置对话框中的数据 - * - * @param key 数据的名称 - * @param val 数据的具体值 - */ -TCarInfoDlg.get = function(key) { - return $("#" + key).val(); -} - -/** - * 关闭此对话框 - */ -TCarInfoDlg.close = function() { - parent.layer.close(window.parent.TCompetition.layerIndex); -} - -/** - * 收集数据 - */ -TCarInfoDlg.collectData = function() { - this - .set('id') - .set('isPlatCar') - .set('companyId') - .set('franchiseeId') - .set('carColor') - .set('carModelId') - .set('carBrandId') - .set('carLicensePlate') - .set('carPhoto') - .set('drivingLicenseNumber') - .set('drivingLicensePhoto') - .set('annualInspectionTime') - .set('commercialInsuranceTime') - .set('createTime') - .set('state') - .set('addType') - .set('addObjectId') - .set('plateColor') - .set('vehicleType') - .set('ownerName') - .set('engineId') - .set('VIN') - .set('certifyDateA') - .set('fuelType') - .set('engineDisplace') - .set('certificate') - .set('transAgency') - .set('transArea') - .set('transDateStart') - .set('transDateStop') - .set('certifyDateB') - .set('fixState') - .set('nextFixDate') - .set('checkState') - .set('feePrintId') - .set('GPSBrand') - .set('GPSModel') - .set('GPSIMEI') - .set('GPSInstallDate') - .set('registerDate') - .set('commercialType'); -} - -/** - * 提交添加 - */ -TCarInfoDlg.addSubmit = function() { - - this.clearData(); - this.collectData(); - if(!this.validate()){ - return ; - } - - let pCode = $("#pCode").val() - let cCode = $("#cCode").val() - let name = $("#name").val() - let phone = $("#phone").val() - - if(pCode==''){ - Feng.info("请选择省") - return; - } - if(cCode==''){ - Feng.info("请选择市") - return; - } - if(name==''){ - Feng.info("管理员姓名不能为空") - return; - } - if(phone==''){ - Feng.info("管理员手机号不能为空") - return; - } - - //提交信息 - var ajax = new $ax(Feng.ctxPath + "/tCity/add", function(data){ - if(data=="5001"){ - Feng.error("改账号已经存在"); - }else - if(data.code == 200){ - if(language==1){ - Feng.success("添加成功!"); - }else if(language==2){ - Feng.success("Successfully added!"); - }else { - Feng.success("Sangat berhasil ditambah!"); - } - window.parent.TCompetition.table.refresh(); - TCarInfoDlg.close(); - }else{ - Feng.error(data.msg); - } - - },function(data){ - Feng.error("添加失败!" + data.responseJSON.message + "!"); - }); - ajax.set(this.tCarInfoData); - ajax.set("provinceCode",pCode); - ajax.set("cityCode",cCode); - ajax.set("name",name); - ajax.set("phone",phone); - ajax.start(); -} - -/** - * 提交修改 - */ -TCarInfoDlg.editSubmit = function() { - - this.clearData(); - this.collectData(); - if(!this.validate()){ - return ; - } - let pCode = $("#pCode").val() - let cCode = $("#cCode").val() - let name = $("#name").val() - let phone = $("#phone").val() - - if(pCode==''){ - Feng.info("请选择省") - return; - } - if(cCode==''){ - Feng.info("请选择市") - return; - } - if(name==''){ - Feng.info("管理员姓名不能为空") - return; - } - if(phone==''){ - Feng.info("管理员手机号不能为空") - return; - } - //提交信息 - var ajax = new $ax(Feng.ctxPath + "/tCity/update", function(data){ - if(data=="5001"){ - Feng.error("改账号已经存在"); - }else - if(data.code == 200){ - if(language==1){ - Feng.success("修改成功!"); - }else if(language==2){ - Feng.success("Modify successfully!"); - }else { - Feng.success("Mengubah dengan sukses!"); - } - window.parent.TCompetition.table.refresh(); - TCarInfoDlg.close(); - }else{ - Feng.error(data.msg); - } - },function(data){ - Feng.error("修改失败!" + data.responseJSON.message + "!"); - }); - ajax.set("provinceCode",pCode); - ajax.set("cityCode",cCode); - ajax.set("name",name); - ajax.set("phone",phone); - ajax.set("id",$("#id").val()); - ajax.start(); -} - -$(function() { - Feng.initValidator("carInfoForm", TCarInfoDlg.validateFields); - // 初始化图片上传 - var carPhoto = new $WebUpload("carPhoto"); - carPhoto.setUploadBarId("progressBar"); - carPhoto.init(); - var drivingLicensePhoto = new $WebUpload("drivingLicensePhoto"); - drivingLicensePhoto.setUploadBarId("progressBar"); - drivingLicensePhoto.init(); -}); - -/** - * 选择分公司后执行 - */ -TCarInfoDlg.oneChange = function (e) { - var oneId=$(e).val(); - var ajax = new $ax(Feng.ctxPath + "/tCity/onChange", function(data){ - if(data!=null){ - if(language==1){ - var content='<option value="">选择市</option>'; - }else if(language==2){ - var content='<option value="">Choose your franchisee</option>'; - }else { - var content='<option value="">Pilih franchisee Anda</option>'; - } - $.each(data, function(k,v) { - content += "<option value='"+v.code+"'>"+v.name+"</option>"; - }); - $("#cCode").empty().append(content); - } - }); - ajax.set("oneId",oneId); - ajax.start(); -} - -/** - * 类型改变执行 - * @param e - */ -TCarInfoDlg.companyTypeClick = function (e) { - if (1 == e){ - $(".companyDiv").hide(); - } else if (2 == e){ - $(".companyDiv").show(); - } -} - -/** - * 车辆品牌改变时执行 - */ -TCarInfoDlg.brandChange = function (e) { - var carBrandId=$(e).val(); - var ajax = new $ax(Feng.ctxPath + "/tCar/brandChange", function(data){ - if(data!=null){ - if(language==1){ - var content='<option value="">选择车辆类型</option>'; - }else if(language==2){ - var content='<option value="">Please select the vehicle type</option>'; - }else { - var content='<option value="">Pilih Jenis Kendaraan</option>'; - } - - $.each(data, function(k,v) { - content += "<option value='"+v.id+"'>"+v.name+"</option>"; - }); - $("#carModelId").empty().append(content); - } - }); - ajax.set("carBrandId",carBrandId); - ajax.start(); -} - -/** - * 专车服务被点击 - */ -TCarInfoDlg.zcServerClick = function () { - var serverBox1 = $('#serverBox1').prop('checked'); - if (serverBox1){ - $("#zcModelDiv").show(); - } else { - $("#zcModelDiv").hide(); - } -} - -/** - * 跨城服务被点击 - */ -TCarInfoDlg.kcServerClick = function () { - var serverBox3 = $('#serverBox3').prop('checked'); - if (serverBox3){ - $("#kcModelDiv").show(); - } else { - $("#kcModelDiv").hide(); - } -} diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js index f75a56d..f323923 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js @@ -130,11 +130,11 @@ if (this.check()) { var index = layer.open({ type: 2, - title:'详情', + title:'编辑', area: ['100%', '100%'], //宽高 fix: false, //不固定 maxmin: true, - content: Feng.ctxPath + '/tGoods/goods_info/' + TPointProducts.seItem.id + content: Feng.ctxPath + '/tGoods/tCity_update/' + TPointProducts.seItem.id }); this.layerIndex = index; } diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js index 8e79b8b..aff59ba 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js @@ -2,12 +2,11 @@ * 初始化车辆管理详情对话框 */ var language=1; -var TGoodsInfoDlg = { - tGoodsInfoData : {}, +var TCarInfoDlg = { + tCarInfoData : {}, validateFields: { }, goodsPicArray:[], - goodsPicArray1:[], storeIds: [], }; @@ -15,7 +14,7 @@ /** * 验证数据是否为空 */ -TGoodsInfoDlg.validate = function () { +TCarInfoDlg.validate = function () { $('#carInfoForm').data("bootstrapValidator").resetForm(); $('#carInfoForm').bootstrapValidator('validate'); return $("#carInfoForm").data('bootstrapValidator').isValid(); @@ -24,8 +23,8 @@ /** * 清除数据 */ -TGoodsInfoDlg.clearData = function() { - this.tGoodsInfoData = {}; +TCarInfoDlg.clearData = function() { + this.tCarInfoData = {}; } /** @@ -34,8 +33,8 @@ * @param key 数据的名称 * @param val 数据的具体值 */ -TGoodsInfoDlg.set = function(key, val) { - this.tGoodsInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; +TCarInfoDlg.set = function(key, val) { + this.tCarInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; return this; } @@ -45,14 +44,14 @@ * @param key 数据的名称 * @param val 数据的具体值 */ -TGoodsInfoDlg.get = function(key) { +TCarInfoDlg.get = function(key) { return $("#" + key).val(); } /** * 关闭此对话框 */ -TGoodsInfoDlg.close = function() { +TCarInfoDlg.close = function() { parent.layer.close(window.parent.TPointProducts.layerIndex); } @@ -60,7 +59,7 @@ /** * 收集数据 */ -TGoodsInfoDlg.collectData = function() { +TCarInfoDlg.collectData = function() { this .set('id') .set('isPlatCar') @@ -115,7 +114,7 @@ }); this.layerIndex = index; } -TGoodsInfoDlg.selecUserOpt = function (arrays){ +TCarInfoDlg.selecUserOpt = function (arrays){ console.log(arrays) //获取所有的值 var subArr= this.storeIds; @@ -146,15 +145,15 @@ console.log(e); var row = $(e).closest('tr'); var value = row.find('#id').val(); - TGoodsInfoDlg.storeIds.splice(TGoodsInfoDlg.storeIds.indexOf(parseInt(value)), 1) + TCarInfoDlg.storeIds.splice(TCarInfoDlg.storeIds.indexOf(parseInt(value)), 1) $(e).parent().parent().remove(); - console.log('storeIds',TGoodsInfoDlg.storeIds) + console.log('storeIds',TCarInfoDlg.storeIds) } -TGoodsInfoDlg.delete = function (o) { +TCarInfoDlg.delete = function (o) { $(o).parent("div").remove() } var num = 0; -TGoodsInfoDlg.addBranch = function () { +TCarInfoDlg.addBranch = function () { num=num+1; var a= ""; a = "<div style=\'margin-left: 25%\' class=\"col-sm-9 control-label\">\n" + @@ -166,7 +165,7 @@ " <option value=\"\">请选择</option>\n" + " </select>\n" + " <label class=\"col-sm-1\" style=\"width: 7%;margin-top: 7px\">市</label>\n" + - " <label name=\"addBranch\" class=\"col-sm-1\" onclick=\"TGoodsInfoDlg.delete(this)\" style=\"border: 0px;cursor: pointer;margin-top: 1%\"><i class=\"fa fa-trash\"></i></label>"+ + " <label name=\"addBranch\" class=\"col-sm-1\" onclick=\"TCarInfoDlg.delete(this)\" style=\"border: 0px;cursor: pointer;margin-top: 1%\"><i class=\"fa fa-trash\"></i></label>"+ " </div>"; $("#cityDemo").append($(a)); getProvince(num); @@ -230,418 +229,129 @@ /** * 提交添加 */ -TGoodsInfoDlg.addSubmit = function() { +TCarInfoDlg.addSubmit = function() { this.clearData(); this.collectData(); if(!this.validate()){ return ; } - let typeAll = document.querySelector('input[name="type"]:checked').value; - if(typeAll==2){ - let pCode = $("#pCode").val() - let cCode = $("#cCode").val() - if(pCode==''){ - Feng.info("请选择省") - return; - } - if(cCode==''){ - Feng.info("请选择市") - return; - } - let storeId = $("#storeId").val() - if(storeId==''){ - Feng.info("请选择门店") - return; - } - let coursePackageTypeId = $("#coursePackageTypeId").val() - if(coursePackageTypeId==''){ - Feng.info("请选择课包类型") - return; - } - let coursePackageId = $("#coursePackageId").val() - if(coursePackageId==''){ - Feng.info("请选择课包") - return; - } - let coursePackageConfigId = $("#coursePackageConfigId").val() - if(coursePackageConfigId==''){ - Feng.info("请选择课时数") - return; - } - let price = $("#price1").val() - if(price==''){ - Feng.info("请填写原价") - return; - } - let type = document.querySelector('input[name="redemptionMethod"]:checked').value; - if(type==''){ - Feng.info("请选择兑换方式") - return; - } - let integral=''; - let cash=''; - if(type==1){ - integral = $("#integral1").val() - if(integral==''){ - Feng.info("请填写所需积分") - return; - } - } - if(type==2){ - integral = $("#integral1").val() - if(integral==''){ - Feng.info("请填写所需积分") - return; - } - cash = $("#cash1").val() - if(cash==''){ - Feng.info("请填写所需现金") - return; - } - } - let cover1 = $("#cover1").val() - // if(cover1==''){ - // Feng.info("请上传封面") - // return; - // } - var goodImgs = this.goodsPicArray1; - var imgOne =""; - if(goodImgs.length==0){ - }else { - for (let i = 0; i <goodImgs.length; i++) { - if(i==goodImgs.length-1){ - imgOne += (goodImgs[i].response) - }else { - imgOne+=(goodImgs[i].response+",") - } - } - } + let pCode = $("#pCode").val() + let cCode = $("#cCode").val() + let name = $("#name").val() + let phone = $("#phone").val() - let userPopulation = document.querySelector('input[name="userPopulation"]:checked').value; - if(userPopulation==''){ - Feng.info("请选择用户人群") - return; - } - - let quantityIssued = $("#quantityIssued1").val() - if(quantityIssued==''){ - Feng.info("请填写发放数量") - return; - } - let pickUpQuantity = $("#pickUpQuantity1").val() - if(pickUpQuantity==''){ - Feng.info("请填写限领数量") - return; - } - let startTime = $("#startTime1").val() - if(startTime==''){ - Feng.info("请选择有效期") - return; - } - let text = TGoodsInfoDlg.editor1.getContent(); - console.log(text) - if(text==""){ - Feng.info("请输入兑换说明") - return; - } - - let sort = $("#sort1").val() - if(sort==''){ - Feng.info("请填写排序") - return; - } - - - //提交信息 - var ajax = new $ax(Feng.ctxPath + "/tGoods/add", function(data){ - if(data=="5001"){ - Feng.error("改账号已经存在"); - }else - if(data.code == 200){ - if(language==1){ - Feng.success("添加成功!"); - }else if(language==2){ - Feng.success("Successfully added!"); - }else { - Feng.success("Sangat berhasil ditambah!"); - } - window.parent.TPointProducts.table.refresh(); - TGoodsInfoDlg.close(); - }else{ - Feng.error(data.msg); - } - },function(data){ - Feng.error("添加失败!" + data.responseJSON.message + "!"); - }); - ajax.set("typeAll",typeAll); - ajax.set("provinceCode",pCode); - ajax.set("cityCode",cCode); - ajax.set("storeId",storeId); - ajax.set("coursePackageTypeId",coursePackageTypeId); - ajax.set("coursePackageId",coursePackageId); - ajax.set("coursePackageConfigId",coursePackageConfigId); - ajax.set("price",price); - ajax.set("type",type); - ajax.set("integral",integral); - ajax.set("cash",cash); - ajax.set("cover",cover1); - ajax.set("imgOne",imgOne); - ajax.set("userPopulation",userPopulation); - ajax.set("quantityIssued",quantityIssued); - ajax.set("pickUpQuantity",pickUpQuantity); - ajax.set("startTime",startTime); - ajax.set("text",text); - ajax.set("sort",sort); - ajax.start(); - - }else { - let name = $("#name").val() - if(name==''){ - Feng.info("请填写商品名称") - return; - } - let price = $("#price").val() - if(price==''){ - Feng.info("请填写原价") - return; - } - let type = document.querySelector('input[name="redemptionMethod"]:checked').value; - if(type==''){ - Feng.info("请选择兑换方式") - return; - } - - let integral=''; - let cash=''; - if(type==1){ - integral = $("#integral").val() - if(integral==''){ - Feng.info("请填写所需积分") - return; - } - } - if(type==2){ - integral = $("#integral").val() - if(integral==''){ - Feng.info("请填写所需积分") - return; - } - cash = $("#cash").val() - if(cash==''){ - Feng.info("请填写所需现金") - return; - } - } - if(type==3){ - cash = $("#cash").val() - if(cash==''){ - Feng.info("请填写所需现金") - return; - } - } - - let cover1 = $("#cover").val() - var goodImgs = this.goodsPicArray; - var imgOne =""; - if(goodImgs.length==0){ - }else { - for (let i = 0; i <goodImgs.length; i++) { - if(i==goodImgs.length-1){ - imgOne += (goodImgs[i].response) - }else { - imgOne+=(goodImgs[i].response+",") - } - } - } - - let userPopulation = document.querySelector('input[name="userPopulation"]:checked').value; - if(userPopulation==''){ - Feng.info("请选择用户人群") - return; - } - - let quantityIssued = $("#quantityIssued").val() - if(quantityIssued==''){ - Feng.info("请填写发放数量") - return; - } - let pickUpQuantity = $("#pickUpQuantity").val() - if(pickUpQuantity==''){ - Feng.info("请填写限领数量") - return; - } - let startTime = $("#startTime").val() - if(startTime==''){ - Feng.info("请选择有效期") - return; - } - - let company = document.querySelector('input[name="company"]:checked').value; - - var cityIds = []; - var cts = ""; - if (company === '2'){ - var myselect=document.getElementById('cityData'); - var seCity = myselect.options[myselect.selectedIndex].value; - if (seCity === null || seCity === undefined || seCity === ''){ - return Feng.error('请选中一个省市'); - } - cityIds.push(seCity); - if (num > 0){ - for (let i = 1; i <= num; i++) { - var insSelect=document.getElementById('cityData'+i); - var inData = insSelect.options[insSelect.selectedIndex].value; - if (inData !== undefined || inData !== null || inData !== ''){ - cityIds.push(inData); - } - } - cts = cityIds.join(','); - }else { - cts = cityIds - } - } - - const commaSeparatedString = this.goodsPicArray.join(','); - - var stores = ""; - if (company === '3'){ - console.log('3---this.storeIds',this.storeIds); - if (TGoodsInfoDlg.storeIds.length === 0 ){ - return Feng.error('请至少选择一个门店'); - } - stores = this.storeIds.join(','); - console.log('stores--===--',stores) - } - - let text = TGoodsInfoDlg.editor.getContent(); - console.log(text) - if(text==""){ - Feng.info("请输入兑换说明") - return; - } - - let sort = $("#sort").val() - if(sort==''){ - Feng.info("请填写排序") - return; - } - - //提交信息 - var ajax = new $ax(Feng.ctxPath + "/tGoods/add", function(data){ - if(data=="5001"){ - Feng.error("改账号已经存在"); - }else - if(data.code == 200){ - if(language==1){ - Feng.success("添加成功!"); - }else if(language==2){ - Feng.success("Successfully added!"); - }else { - Feng.success("Sangat berhasil ditambah!"); - } - window.parent.TPointProducts.table.refresh(); - TGoodsInfoDlg.close(); - }else{ - Feng.error(data.msg); - } - - },function(data){ - Feng.error("添加失败!" + data.responseJSON.message + "!"); - }); - ajax.set("typeAll",typeAll); - ajax.set("name",name); - ajax.set("price",price); - ajax.set("type",type); - ajax.set("integral",integral); - ajax.set("cash",cash); - ajax.set("cover",cover1); - ajax.set("imgOne",imgOne); - ajax.set("userPopulation",userPopulation); - ajax.set("quantityIssued",quantityIssued); - ajax.set("pickUpQuantity",pickUpQuantity); - ajax.set("startTime",startTime); - ajax.set("useScope",company); - ajax.set("cityIds",cts); - ajax.set("storeIds",stores); - ajax.set("text",text); - ajax.set("sort",sort); - ajax.start(); - + if(pCode==''){ + Feng.info("请选择省") + return; + } + if(cCode==''){ + Feng.info("请选择市") + return; + } + if(name==''){ + Feng.info("管理员姓名不能为空") + return; + } + if(phone==''){ + Feng.info("管理员手机号不能为空") + return; } + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tCity/add", function(data){ + if(data=="5001"){ + Feng.error("改账号已经存在"); + }else + if(data.code == 200){ + if(language==1){ + Feng.success("添加成功!"); + }else if(language==2){ + Feng.success("Successfully added!"); + }else { + Feng.success("Sangat berhasil ditambah!"); + } + window.parent.TCompetition.table.refresh(); + TCarInfoDlg.close(); + }else{ + Feng.error(data.msg); + } + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tCarInfoData); + ajax.set("provinceCode",pCode); + ajax.set("cityCode",cCode); + ajax.set("name",name); + ajax.set("phone",phone); + ajax.start(); } - -/** - * 删除图片的函数 - * @param e - */ -function delImg(e){ - - $(e).parent().remove(); -} - /** * 提交修改 */ -TGoodsInfoDlg.editSubmit = function() { - let cover = $("#cover").val(); - let goodsId = $("#goodsId").val(); - var productImages = ""; - if (TGoodsInfoDlg.goodsPicArray.length > 0){ - productImages = TGoodsInfoDlg.goodsPicArray.join(','); - } - let quantityIssued = $("#quantityIssued").val(); - let pickUpQuantity = $("#pickUpQuantity").val(); - let editor = jQuery.trim(TGoodsInfoDlg.editor.getContent()); - console.log('editor:',editor) +TCarInfoDlg.editSubmit = function() { - let sort = $("#sort").val(); + this.clearData(); + this.collectData(); + if(!this.validate()){ + return ; + } + let pCode = $("#pCode").val() + let cCode = $("#cCode").val() + let name = $("#name").val() + let phone = $("#phone").val() - if (quantityIssued === undefined || quantityIssued === null || quantityIssued === ''){ - return Feng.error('发放数量不能为空!'); + if(pCode==''){ + Feng.info("请选择省") + return; } - if (pickUpQuantity === undefined || pickUpQuantity === null || pickUpQuantity === ''){ - return Feng.error('限领数量不能为空!'); + if(cCode==''){ + Feng.info("请选择市") + return; } - let quantityHas = $("#quantityHas").val(); - if (quantityIssued <= quantityHas){ - return Feng.error('发放数量小于已领数量!'); + if(name==''){ + Feng.info("管理员姓名不能为空") + return; } - - - if (editor === undefined || editor === null || editor === ''){ - return Feng.error('兑换说明不能为空!'); + if(phone==''){ + Feng.info("管理员手机号不能为空") + return; } - if (sort === undefined || sort === null || sort === ''){ - return Feng.error('排序不能为空!'); - } - //提交信息 - var ajax = new $ax(Feng.ctxPath + "/tGoods/update", function(data){ - Feng.success("修改成功!"); - window.parent.TPointProducts.table.refresh(); - TGoodsInfoDlg.close(); + var ajax = new $ax(Feng.ctxPath + "/tCity/update", function(data){ + if(data=="5001"){ + Feng.error("改账号已经存在"); + }else + if(data.code == 200){ + if(language==1){ + Feng.success("修改成功!"); + }else if(language==2){ + Feng.success("Modify successfully!"); + }else { + Feng.success("Mengubah dengan sukses!"); + } + window.parent.TCompetition.table.refresh(); + TCarInfoDlg.close(); + }else{ + Feng.error(data.msg); + } },function(data){ Feng.error("修改失败!" + data.responseJSON.message + "!"); }); - ajax.set("pointMerchandiseId",goodsId); - ajax.set("quantityIssued",quantityIssued); - ajax.set("pickUpQuantity",pickUpQuantity); - ajax.set("redemptionInstructions",editor); - ajax.set("cover",cover); - ajax.set("productImages",productImages); - ajax.set("sort",sort); + ajax.set("provinceCode",pCode); + ajax.set("cityCode",cCode); + ajax.set("name",name); + ajax.set("phone",phone); + ajax.set("id",$("#id").val()); ajax.start(); } $(function() { - getProvince(null); - Feng.initValidator("carInfoForm", TGoodsInfoDlg.validateFields); + Feng.initValidator("carInfoForm", TCarInfoDlg.validateFields); // 初始化图片上传 var carPhoto = new $WebUpload("cover"); carPhoto.setUploadBarId("progressBar"); @@ -649,17 +359,13 @@ var drivingLicensePhoto = new $WebUpload("drivingLicensePhoto"); drivingLicensePhoto.setUploadBarId("progressBar"); drivingLicensePhoto.init(); - var drivingLicensePhoto = new $WebUpload("drivingLicensePhoto"); - drivingLicensePhoto.setUploadBarId("progressBar"); - drivingLicensePhoto.init(); - TGoodsInfoDlg.editor = UE.getEditor('editor'); - TGoodsInfoDlg.editor1 = UE.getEditor('editor1'); + TCarInfoDlg.editor = UE.getEditor('editor'); }); /** * 选择分公司后执行 */ -TGoodsInfoDlg.oneChange = function (e) { +TCarInfoDlg.oneChange = function (e) { var oneId=$(e).val(); var ajax = new $ax(Feng.ctxPath + "/tCity/onChange", function(data){ if(data!=null){ @@ -679,72 +385,12 @@ ajax.set("oneId",oneId); ajax.start(); } -TGoodsInfoDlg.storeChange = function (e) { - var oneId=$(e).val(); - var ajax = new $ax(Feng.ctxPath + "/tCity/storeChange", function(data){ - if(data!=null){ - if(language==1){ - var content='<option value="">选择门店</option>'; - }else if(language==2){ - var content='<option value="">Choose your franchisee</option>'; - }else { - var content='<option value="">Pilih franchisee Anda</option>'; - } - $.each(data, function(k,v) { - content += "<option value='"+v.id+"'>"+v.name+"</option>"; - }); - $("#storeId").empty().append(content); - } - }); - ajax.set("oneId",oneId); - ajax.start(); -} -TGoodsInfoDlg.packageChange = function (e) { - var oneId=$(e).val(); - var ajax = new $ax(Feng.ctxPath + "/tCity/packageChange", function(data){ - if(data!=null){ - if(language==1){ - var content='<option value="">选择课包</option>'; - }else if(language==2){ - var content='<option value="">Choose your franchisee</option>'; - }else { - var content='<option value="">Pilih franchisee Anda</option>'; - } - $.each(data, function(k,v) { - content += "<option value='"+v.id+"'>"+v.name+"</option>"; - }); - $("#coursePackageId").empty().append(content); - } - }); - ajax.set("oneId",oneId); - ajax.start(); -} -TGoodsInfoDlg.timeChange = function (e) { - var oneId=$(e).val(); - var ajax = new $ax(Feng.ctxPath + "/tCity/timeChange", function(data){ - if(data!=null){ - if(language==1){ - var content='<option value="">选择课时数</option>'; - }else if(language==2){ - var content='<option value="">Choose your franchisee</option>'; - }else { - var content='<option value="">Pilih franchisee Anda</option>'; - } - $.each(data, function(k,v) { - content += "<option value='"+v.id+"'>"+v.classHours+"</option>"; - }); - $("#coursePackageConfigId").empty().append(content); - } - }); - ajax.set("oneId",oneId); - ajax.start(); -} /** * 类型改变执行 * @param e */ -TGoodsInfoDlg.companyTypeClick = function (e) { +TCarInfoDlg.companyTypeClick = function (e) { if (1 == e){ $(".companyDiv").hide(); } else if (2 == e){ @@ -755,7 +401,7 @@ /** * 车辆品牌改变时执行 */ -TGoodsInfoDlg.brandChange = function (e) { +TCarInfoDlg.brandChange = function (e) { var carBrandId=$(e).val(); var ajax = new $ax(Feng.ctxPath + "/tCar/brandChange", function(data){ if(data!=null){ @@ -780,7 +426,7 @@ /** * 专车服务被点击 */ -TGoodsInfoDlg.zcServerClick = function () { +TCarInfoDlg.zcServerClick = function () { var serverBox1 = $('#serverBox1').prop('checked'); if (serverBox1){ $("#zcModelDiv").show(); @@ -792,7 +438,7 @@ /** * 跨城服务被点击 */ -TGoodsInfoDlg.kcServerClick = function () { +TCarInfoDlg.kcServerClick = function () { var serverBox3 = $('#serverBox3').prop('checked'); if (serverBox3){ $("#kcModelDiv").show(); diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js index 2c49494..8045689 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js @@ -20,7 +20,7 @@ {title: '联系方式', field: 'phone', visible: true, align: 'center', valign: 'middle'}, {title: '使用状态', field: 'status', visible: true, align: 'center', valign: 'middle', formatter: function (value, row, index) { - return {1: "未使用", 2: "已核销"}[value] + return {1: "未使用", 2: "待核销"}[value] } }, ]; @@ -46,17 +46,14 @@ * @constructor */ TPayInfo.WriteOff = function (){ - if (TPayInfo.check()) { - if (TPayInfo.seItem.status === 2){ - return Feng.error("重复核销!"); - } + if (this.check()) { var ajax = new $ax(Feng.ctxPath + "/tGoods/write_off", function (data) { Feng.success("核销成功!"); TPayInfo.table.refresh(); }, function (data) { Feng.error("核销失败!" + data.responseJSON.message + "!"); }); - ajax.set("id",TPayInfo.seItem.id); + ajax.set("id",this.seItem.id); ajax.start(); } } diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js index 3c90189..0b2e109 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js @@ -341,7 +341,6 @@ var em = "";// 门店经营结束时间:分钟 TSite.addSubmit = function(){ - var data = { province:"", city:"", @@ -374,7 +373,6 @@ var sm =data.appointmentStartTime.split(':')[1]; var eh =data.appointmentEndTime.split(':')[0]; var em =data.appointmentEndTime.split(':')[1]; - if($("#pCode").val()==''){ Feng.info("请选择省") return; @@ -495,8 +493,9 @@ data: JSON.stringify(data), contentType: "application/json", success: function (response) { + window.parent.TSite.table.refresh(); + TSite.close(); Feng.success("添加成功"); - TSite.search(); }, error: function (xhr, status, error) { Feng.error("添加失败!" + error); diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js index b0b9dbc..152f2e9 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js @@ -334,6 +334,8 @@ data: JSON.stringify(data), contentType: "application/json", success: function (response) { + window.parent.TSite.table.refresh(); + TSiteInfo.close(); Feng.success("修改成功"); }, error: function (xhr, status, error) { diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java index b232622..96e644f 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java @@ -1,6 +1,7 @@ package com.dsh.other.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.other.entity.StoredValueConfig; import com.dsh.other.service.StoredValueConfigService; import com.dsh.other.util.ResultUtil; @@ -10,10 +11,7 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; @@ -33,6 +31,19 @@ @Autowired private StoredValueConfigService svconfigService; + @RequestMapping("/base/storeValueConfig/addStoreValueConfig") + public Object addStoreValueConfig(@RequestBody StoredValueConfig storedValueConfig){ + StoredValueConfig one = svconfigService.getOne(new QueryWrapper<>()); + one.setContent(storedValueConfig.getContent()); + one.setDescription(storedValueConfig.getDescription()); + return svconfigService.updateById(one); + + } + + @RequestMapping("/base/storeValueConfig/getStoreValueConfig") + public StoredValueConfig getStoreValueConfig(){ + return svconfigService.getOne(new QueryWrapper<>()); + } @ResponseBody @PostMapping("/base/stored/getRechargeArrange") public List<Map<String,Object>> getRechargeConfig(){ -- Gitblit v1.7.1