approve.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. var app = getApp()
  2. var that;
  3. var animation;
  4. Page({
  5. data: {
  6. item: {//录入选项列表
  7. checked: false,//判断是否开启指定规则
  8. isArrindex: true,
  9. isArrindex2: true,
  10. review_id: '',//id
  11. action: 'complete',
  12. rule_id: '',//积分分类id
  13. rule_id2: '',//分类ID
  14. rule_name: '',
  15. item_id: '',//积分细则id 不选可以为0
  16. point: '',//积分
  17. reviewer_id: '',//递交者
  18. remark: '',//备注
  19. ticket_count: false,//奖票数量
  20. disabled:false,
  21. defaultRuleId:'',
  22. },
  23. users: {
  24. id:''
  25. },
  26. animationInfo: '',
  27. isShowType: true,//是显示选择规则还是显示选择分类
  28. isData: false,
  29. },
  30. onLoad(e) {
  31. that = this;
  32. if(e.id){
  33. that.getData(e.id);
  34. }
  35. dd.setNavigationBar({ title: "审批" });
  36. },
  37. onShow() {
  38. animation = dd.createAnimation({
  39. duration: 200,
  40. timeFunction: "linear",
  41. });
  42. },
  43. //关闭规则
  44. onClose() {
  45. animation.translateY(750).step();
  46. that.setData({
  47. animationInfo: animation.export()
  48. });
  49. },
  50. //备注输入
  51. bindTextAreaBlur: function (e) {
  52. this.setData({
  53. ['item.remark']: e.detail.value,
  54. });
  55. },
  56. onSelectUser(item) {
  57. this.setData({
  58. users: item[0]
  59. })
  60. },
  61. bindTextAreaBlur(e) {
  62. this.setData({
  63. ['item.remark']: e.detail.value,
  64. });
  65. },
  66. showToast(text) {
  67. app.globalData.showToast(text);
  68. },
  69. //提交
  70. formSubmit() {
  71. var item = that.data.item;
  72. var data, point;
  73. var num = item.checked ? item.point : item.point2
  74. if (item.checked) {
  75. if (!item.rule_id) {
  76. this.showToast("请选择所属规则")
  77. return;
  78. }
  79. if (item.isArrindex != true) {
  80. point = 0 - num;
  81. } else {
  82. point = num;
  83. }
  84. if (point == 0 || !point) {
  85. this.showToast("积分不能为0或空")
  86. return;
  87. }
  88. if (point < item.selectRule.min_point || point > item.selectRule.max_point) {
  89. this.showToast(`积分超出可输入范围`);
  90. return;
  91. }
  92. } else {
  93. if (!item.rule_id2) {
  94. this.showToast("请选择所属分类")
  95. return;
  96. }
  97. if (item.isArrindex2 != true) {
  98. point = 0 - num;
  99. } else {
  100. point = num;
  101. }
  102. if (point == 0 || !point) {
  103. this.showToast("积分不能为0或空")
  104. return;
  105. }
  106. }
  107. data = {
  108. review_id: item.review_id,
  109. action: 'complete',
  110. rule_id: item.checked ? item.rule_id : item.rule_id2,
  111. item_id: item.checked ? item.item_id : 0,
  112. point: Number(point),
  113. reviewer_id: that.data.users.id ? that.data.users.id : 0,
  114. remark: item.remark,
  115. ticket_count: item.ticket_count ? 1 : 0,
  116. }
  117. this.setData({disabled:true});
  118. app.$post("api/integral/review", data).then((res) => {
  119. if(res.data.code==1){
  120. this.showToast("已审批");
  121. setTimeout(() => {
  122. this.setData({disabled:false});
  123. dd.navigateBack({delta: 2})
  124. }, 1000);
  125. }else{
  126. this.setData({disabled:false});
  127. this.showToast(res.data.msg);
  128. }
  129. }).catch(err=>{
  130. this.setData({disabled:false});
  131. })
  132. },
  133. bindKeyInput(e) {
  134. that.setData({
  135. ['item.point']: e.detail.value
  136. })
  137. },
  138. bindKeyInput2(e) {
  139. that.setData({
  140. ['item.point2']: e.detail.value
  141. })
  142. },
  143. switchChange(e) {
  144. that.setData({
  145. ['item.checked']: e.detail.value
  146. })
  147. },
  148. switchChange2(e) {
  149. that.setData({
  150. ['item.ticket_count']: e.detail.value
  151. })
  152. },
  153. bindPickerChange(e) {
  154. this.setData({
  155. ['item.isArrindex']: !that.data.item.isArrindex,
  156. });
  157. },
  158. bindPickerChange2(e) {
  159. this.setData({
  160. ['item.isArrindex2']: !that.data.item.isArrindex2,
  161. });
  162. },
  163. //选择规则分类
  164. onSelectType(item) {
  165. this.setData({
  166. ['item.rule_id2']: item.id,
  167. ['item.rule_name']: item.name,
  168. });
  169. },
  170. //选择规则
  171. onSelectItem(item) {
  172. var strMin;
  173. if (item.min_point < 0) {
  174. var min = item.min_point.toString();
  175. var strMin = min.slice(1, min.length);
  176. } else {
  177. strMin = item.min_point;
  178. }
  179. that.setData({
  180. ['item.rule_id']: item.rule_id,
  181. ['item.selectRule']: item,
  182. ['item.item_id']: item.id,
  183. ['item.point']: Number(strMin),
  184. ['item.isArrindex']: item.min_point > 0 ? true : false,
  185. })
  186. },
  187. //显示规则
  188. openSelect(e) {
  189. if(e.target.dataset.ruleId){
  190. that.setData({ defaultRuleId:e.target.dataset.ruleId});
  191. }
  192. that.setData({ activeIndex: '',isShowType:'' });
  193. that.setData({
  194. isShowType: e.target.dataset.num,
  195. activeIndex: e.target.dataset.index,
  196. });
  197. animation.translateY(0).step();
  198. that.setData({
  199. animationInfo: animation.export()
  200. });
  201. },
  202. getData(id) {
  203. var getPoint = 0;//积分1017 1030 1006 992 985 1389
  204. app.$get("api/integral/review", { review_id: id }).then((res) => {
  205. var data = res.data.data;
  206. if (data.point) {
  207. if (data.point < 0) {
  208. var min = data.point.toString();
  209. getPoint = min.slice(1, min.length);
  210. } else {
  211. getPoint = data.point;
  212. }
  213. }
  214. var isData, selectRule;
  215. var checked = true;
  216. if (data.rule_id && data.item_id) {
  217. console.log(1);
  218. isData = 1;
  219. selectRule = {
  220. range_type: data.item_range_type,
  221. min_point: data.item_min_point,
  222. max_point: data.item_max_point,
  223. remark: data.item_name,
  224. pt_Obj:app.getTypesItem(data.pt_id),
  225. }
  226. } else if (data.rule_id && data.point) {
  227. console.log(2);
  228. isData = 2
  229. selectRule = '';
  230. } else if (data.rule_id) {
  231. console.log(3);
  232. isData = 3;
  233. selectRule = '';
  234. } else {
  235. console.log(4);
  236. isData = 4
  237. selectRule = '';
  238. }
  239. that.setData({
  240. isData: isData,
  241. ['item.pid']: data.pid==0 ? false:true,
  242. ['item.review_id']: data.id,
  243. ['item.checked']: checked,
  244. ['item.selectRule']: selectRule,
  245. ['item.rule_id']: data.rule_id,
  246. ['item.item_id']: data.item_id,
  247. ['item.rule_name']: data.rule_name,
  248. ['item.point']: getPoint == 0 ? '' : getPoint,
  249. ['item.isArrindex']: data.point >= 0 ? true : false,
  250. })
  251. console.log(this.data.item);
  252. })
  253. },
  254. });