index.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. import {
  2. ApiModel
  3. } from "../../utils/api";
  4. const _Http = new ApiModel;
  5. import {
  6. TestVerify
  7. } from "../../utils/verify";
  8. const _Verify = new TestVerify();
  9. Page({
  10. /**
  11. * 页面的初始数据
  12. */
  13. data: {
  14. maxDate: Number,
  15. minDate: Number,
  16. showCalendar: false, //日历显示
  17. tsupplyanddemandid: 0, //ID 0为新增
  18. popups: false, //弹出层控制
  19. ftype: "", //供需类型
  20. ftitle: "", //供需标题
  21. fcontent: "", //需求内容
  22. fenddate: "", //截止日期
  23. /* 必填 */
  24. errTips: {
  25. ftype: false,
  26. ftitle: false,
  27. fcontent: false
  28. }
  29. },
  30. /**
  31. * 生命周期函数--监听页面加载
  32. */
  33. onLoad: function (options) {
  34. this.setTime()
  35. if (options.data != undefined) {
  36. const data = JSON.parse(options.data);
  37. let attinfos = [];
  38. for (let i = 0; i < data.attinfos.length; i++) {
  39. let arr = {
  40. url: data.attinfos[i].fobsurl,
  41. ownerid: data.attinfos[i].ownerid,
  42. tattachmentid: data.attinfos[i].tattachmentid,
  43. ownertable: data.attinfos[i].ownertable,
  44. fdocument: data.attinfos[i].fdocument
  45. }
  46. attinfos.push(arr)
  47. };
  48. this.setData({
  49. ftype: data.ftype, //供需类型
  50. ftitle: data.ftitle, //供需标题
  51. fcontent: data.fcontent, //需求内容
  52. fenddate: data.fenddate, //截止日期
  53. attinfos, //附件列表
  54. tsupplyanddemandid: data.tsupplyanddemandid, //ID 0为新增
  55. })
  56. }
  57. },
  58. /* 添加图片 */
  59. imageChange(data) {
  60. this.setData({
  61. attinfos: data.detail.fileList
  62. })
  63. },
  64. /* 设置下架时间范围 */
  65. setTime() {
  66. this.setData({
  67. maxDate: Date.parse(new Date()) + 1000 * 60 * 60 * 24 * 31,
  68. minDate: Date.parse(new Date())
  69. })
  70. },
  71. /* 打开时间选择器 */
  72. setDate() {
  73. this.selectComponent("#SetDate").dateOnClose()
  74. },
  75. /* 设置下架 */
  76. setSoldOut(date) {
  77. this.setData({
  78. fenddate: date.detail
  79. })
  80. },
  81. /* 表单验证 */
  82. formVerify() {
  83. let errTips = this.data.errTips,
  84. verify = true;
  85. /* 验证分类 */
  86. if (!_Verify.required(this.data.ftype)) {
  87. errTips.ftype = true;
  88. verify = false;
  89. }
  90. /* 验证标题 */
  91. if (!_Verify.required(this.data.ftitle)) {
  92. errTips.ftitle = true;
  93. verify = false;
  94. }
  95. /* 验证内容 */
  96. if (!_Verify.required(this.data.fcontent)) {
  97. errTips.fcontent = true;
  98. verify = false;
  99. }
  100. this.setData({
  101. errTips
  102. })
  103. return verify;
  104. },
  105. /* 提交 */
  106. submit() {
  107. if (!this.formVerify()) return wx.showToast({
  108. title: '请检查表单内容',
  109. icon: "error"
  110. });
  111. this.addOrModify()
  112. },
  113. /* 新增或修改 */
  114. addOrModify() {
  115. /* 发送请求 */
  116. _Http.basic({
  117. "accesstoken": wx.getStorageSync('userData').token,
  118. "classname": "customer.supplyanddemand.supplyanddemand",
  119. "method": "insertormodify",
  120. "content": {
  121. "tsupplyanddemandid": this.data.tsupplyanddemandid,
  122. "ftype": this.data.ftype,
  123. "ftitle": this.data.ftitle,
  124. "fcontent": this.data.fcontent,
  125. "fenddate": this.data.fenddate,
  126. "fissupply": 0
  127. }
  128. }).then(res => {
  129. if (res.msg != "成功") return;
  130. console.log(res)
  131. let content = {
  132. ownerid: res.data[0].tsupplyanddemandid,
  133. ownertable: "tsupplyanddemand",
  134. tattachmentid: 0
  135. };
  136. this.selectComponent("#UploadFiles").saveTheChanges(content);
  137. wx.showToast({
  138. title: '保存成功',
  139. })
  140. setTimeout(() => {
  141. wx.navigateBack({
  142. delta: 1,
  143. })
  144. }, 500)
  145. })
  146. },
  147. /* 弹出层 */
  148. showPop() {
  149. this.setData({
  150. popups: !this.data.popups
  151. })
  152. },
  153. /* 单选改变 */
  154. radioChange(value) {
  155. this.setData({
  156. ftype: value.detail,
  157. popups: false,
  158. "errTips.ftype": false
  159. })
  160. },
  161. /* 获取焦点 */
  162. inputFocus(e) {
  163. const {
  164. name
  165. } = e.currentTarget.dataset;
  166. let errTips = this.data.errTips;
  167. errTips[name] = false;
  168. this.setData({
  169. errTips
  170. })
  171. },
  172. /* 失去焦点 */
  173. inputBlur(e) {
  174. const {
  175. name
  176. } = e.currentTarget.dataset;
  177. const {
  178. value
  179. } = e.detail;
  180. if (value.trim() == "") {
  181. let errTips = this.data.errTips;
  182. errTips[name] = true;
  183. this.setData({
  184. errTips
  185. })
  186. }
  187. },
  188. /**
  189. * 生命周期函数--监听页面初次渲染完成
  190. */
  191. onReady: function () {
  192. },
  193. /**
  194. * 生命周期函数--监听页面显示
  195. */
  196. onShow: function () {
  197. },
  198. /**
  199. * 生命周期函数--监听页面隐藏
  200. */
  201. onHide: function () {
  202. },
  203. /**
  204. * 生命周期函数--监听页面卸载
  205. */
  206. onUnload: function () {},
  207. /**
  208. * 页面相关事件处理函数--监听用户下拉动作
  209. */
  210. onPullDownRefresh: function () {
  211. },
  212. /**
  213. * 页面上拉触底事件的处理函数
  214. */
  215. onReachBottom: function () {
  216. },
  217. /**
  218. * 用户点击右上角分享
  219. */
  220. onShareAppMessage: function () {
  221. }
  222. })