sign.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. /*******************************************************************************
  2. * Copyright(c) 2022 dongke All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:
  5. * 2.功能描述:签到画面
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 姜永辉 2022-11-22 1.00 新建
  9. *******************************************************************************/
  10. const Constants = require('@/utils/Constants.js');
  11. const mixins = require('@/mixins/index.js');
  12. const config = require('@/config/config.js');
  13. const util = require('@/utils/util');
  14. const app = getApp()
  15. Page({
  16. mixins: [mixins],
  17. /**
  18. * 页面的初始数据
  19. */
  20. data: {
  21. staffName: null,
  22. staffPhone: null,
  23. companyName: null,
  24. versionName: '',
  25. // 路由
  26. routeObjName: 'signRecord',
  27. // 策略
  28. integralTacticItem: {},
  29. // 积分
  30. integral: 0,
  31. // 优惠券
  32. couponCount: 0,
  33. avatarUrl: config.image_url + '/static/img/' + '/order_billing_detail_01.png',
  34. spot: [],
  35. },
  36. /**
  37. * 生命周期函数--监听页面加载
  38. */
  39. onLoad(options) {
  40. this.getCurrentDate()
  41. // 策略
  42. this.getIntegralTactic()
  43. // 积分
  44. this.getIntegral()
  45. // 头像
  46. this.getUser()
  47. },
  48. loadInit() {
  49. // 版本
  50. this.setData({
  51. versionName: this.data.freeVersionFlag ? mixins.$t('standardVersion') : mixins.$t('professionalVersion'),
  52. companyName: app.globalData.company.cpName,
  53. staffName: app.globalData.user.staffName,
  54. staffPhone: app.globalData.user.staffPhone
  55. })
  56. // 调用保存 签到接口
  57. // 查询接口
  58. },
  59. /**
  60. * 日期
  61. * @param {*} e
  62. */
  63. dateChange(e) {
  64. // 当前日期的区间
  65. let dateArrs = util.getCurrentDateMonth(e.detail.dateString)
  66. this.getSignData(dateArrs[0], dateArrs[1])
  67. },
  68. /**
  69. * @desc : 服务器的日期
  70. * @author : 姜永辉
  71. * @date : 2024/4/1
  72. */
  73. getCurrentDate() {
  74. let _this = this
  75. let service = app.globalData['commonService']
  76. _this.excute(service, service.getCurrentDate, {}).then(res => {
  77. if (res.data.code == Constants.SUCESS_CODE) {
  78. //服务器的时间
  79. let nowDate = res.data.data.currentDate
  80. let serverDate = new Date(nowDate).toDateStr()
  81. _this.setData({
  82. serverDate,
  83. // spot: [
  84. // {
  85. // date: '2024-07-02',
  86. // title: '2个',
  87. // isnormal: true,
  88. // },
  89. // {
  90. // date: '2024-07-12',
  91. // title: '2个',
  92. // isnormal: true,
  93. // }
  94. // ,
  95. // {
  96. // date: '2024-07-22',
  97. // title: '2个',
  98. // isnormal: true,
  99. // }
  100. // ]
  101. })
  102. }
  103. });
  104. },
  105. /**
  106. * @desc : 策略
  107. * @author : 姜永辉
  108. * @date : 2024/4/1
  109. */
  110. getIntegralTactic() {
  111. let params = {}
  112. let service = app.globalData['integralTacticService']
  113. this.excute(service, service.selectByCond, params).then(res => {
  114. if (res.data.code == Constants.SUCESS_CODE) {
  115. if (res.data && res.data.data.list && res.data.data.list.length > 0) {
  116. this.setData({
  117. integralTacticItem: res.data.data.list[0],
  118. })
  119. }
  120. }
  121. });
  122. },
  123. /**
  124. * @desc : 公司积分
  125. * @author : 姜永辉
  126. * @date : 2024/4/1
  127. */
  128. getIntegral() {
  129. let params = {}
  130. let service = app.globalData['integralService']
  131. this.excute(service, app.globalData.company.cpId, params).then(res => {
  132. console.log(res.data, 'getIntegral');
  133. if (res.data.code == Constants.SUCESS_CODE) {
  134. if (res.data && res.data.data) {
  135. this.setData({
  136. integral: res.data.data.integral,
  137. })
  138. }
  139. }
  140. });
  141. },
  142. /**
  143. * @desc : 优惠券
  144. * @author : 姜永辉
  145. * @date : 2024/4/1
  146. */
  147. getCouponCount() {
  148. let params = {
  149. integralType: Constants.integralType.sign
  150. }
  151. let service = app.globalData['couponUseService']
  152. this.excute(service, '10002024-0718-0000-0000-000005c0a01e', params).then(res => {
  153. console.log(res.data);
  154. if (res.data.code == Constants.SUCESS_CODE) {
  155. }
  156. });
  157. },
  158. /**
  159. * @desc : 头像
  160. * @date : 2024/7/1 15:49
  161. * @author : 姜永辉
  162. */
  163. getUser() {
  164. let service = app.globalData['oauthService']
  165. return this.excute(service, service.getUser + '/' + app.globalData.user.userId, {}).then(res => {
  166. if (res.data.code == Constants.SUCESS_CODE) {
  167. let avatarUrl = res.data.data.userImage || this.data.defaultAvatarUrl
  168. this.setData({
  169. avatarUrl: avatarUrl
  170. })
  171. }
  172. });
  173. },
  174. /**
  175. * @desc : 查询签到
  176. * @date : 2024年3月8日
  177. * @author : jyh
  178. */
  179. getSignData(accDateStart, accDateEnd) {
  180. let _this = this
  181. let params = {
  182. integralType: Constants.integralType.sign,
  183. accDateStart: accDateStart,
  184. accDateEnd: accDateEnd,
  185. flgValid: true,
  186. userId: app.globalData.user.userId,
  187. }
  188. let service = app.globalData['integralItemService']
  189. return this.excute(service, service.selectByCond, params).then(res => {
  190. if (res.data.code == Constants.SUCESS_CODE) {
  191. let spot = []
  192. console.log(res.data.data.list);
  193. res.data.data.list.forEach(it => {
  194. spot.push({
  195. date: it.accDate,
  196. title: it.integral + '个',
  197. isnormal: true,
  198. })
  199. })
  200. _this.setData({
  201. spot
  202. })
  203. }
  204. })
  205. },
  206. /**
  207. * @desc : 保存签到
  208. * @date : 2024/2/1 15:49
  209. * @author : 姜永辉
  210. */
  211. saveData() {
  212. return this.excute(this.data.service, this.data.service.insert, this.data.serverDate)
  213. },
  214. /**
  215. * @desc :处理保存后续
  216. * @date : 2024/2/1 15:49
  217. * @author : 姜永辉
  218. */
  219. handleData() {
  220. let serverDate = this.data.serverDate
  221. let dateArrs = util.getCurrentDateMonth(serverDate)
  222. this.getSignData(dateArrs[0], dateArrs[1])
  223. },
  224. })