details.js 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. const _Http = getApp().globalData.http,
  2. MFT = require("../../utils/matchingFeilType");
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. sat_submiteditmodelid: 0,
  9. detailsData: {}, //详情数据
  10. startRecord: false,
  11. submiteditData: {}, //新建明细
  12. content: "", //提交内容
  13. CheckTheRecord: false, //查看记录
  14. recordL: {}, //记录详情
  15. done: false, //!是否还可提交明细
  16. loading: false, //按钮加载状态
  17. },
  18. /**
  19. * 生命周期函数--监听页面加载
  20. */
  21. onLoad(options) {
  22. this.setData({
  23. sat_submiteditmodelid: options.id
  24. })
  25. //查询详情
  26. _Http.basic({
  27. "classname": "saletool.submitedit.submitedit",
  28. "method": "select_submitdetailed",
  29. "content": {
  30. "sat_submiteditmodelid": options.id
  31. }
  32. }).then(res => {
  33. /* 处理附件 */
  34. let fileList = res.data[0].attinfos.filter(v => v.usetype != 'cover');
  35. res.data[0].attinfos = MFT.fileList(fileList);
  36. /* 删除提报 */
  37. let submitedit = res.data[0].submitedit,
  38. list = [];
  39. if (submitedit.length) {
  40. for (let i = 0; i < submitedit.length; i++) {
  41. (submitedit[i].status == '未提报') ? this.delete_submitdetailed(submitedit[i].sat_submiteditid): list.push(submitedit[i]);
  42. };
  43. res.data[0].submitedit = list;
  44. };
  45. this.setData({
  46. detailsData: res.data[0],
  47. oneToOne: options.oneToOne
  48. });
  49. if (options.oneToOne == 'true' && res.data[0].submitedit.length == 1) {
  50. this.setData({
  51. done: true
  52. })
  53. }
  54. });
  55. },
  56. /* 上传绑定附件 */
  57. getFile({
  58. detail
  59. }) {
  60. _Http.basic({
  61. "classname": "system.attachment.Attachment",
  62. "method": "createFileLink",
  63. "content": {
  64. "ownertable": "sat_submitedit",
  65. "ownerid": this.data.submiteditData.sat_submiteditid,
  66. "usetype": "default",
  67. "attachmentids": detail
  68. }
  69. }).then(res => {
  70. if (res.msg != '成功') return wx.showToast({
  71. title: res.data,
  72. icon: "none"
  73. });
  74. this.setData({
  75. "submiteditData.attinfos": this.data.submiteditData.attinfos.concat(MFT.fileList(res.data))
  76. })
  77. })
  78. },
  79. /* 删除附件 */
  80. deleteFile({
  81. detail
  82. }) {
  83. _Http.basic({
  84. "classname": "system.attachment.Attachment",
  85. "method": "deleteFileLink",
  86. "content": {
  87. linksids: [detail.linksid]
  88. }
  89. }).then(res => {
  90. console.log('删除附件', res)
  91. if (res.msg != '成功') return wx.showToast({
  92. title: res.data,
  93. icon: "none"
  94. })
  95. wx.showToast({
  96. title: "删除成功"
  97. })
  98. let list = this.data.submiteditData.attinfos.filter(v => v.attinfos != detail.attinfos)
  99. this.setData({
  100. "submiteditData.attinfos": list
  101. })
  102. })
  103. },
  104. /* 创建明细 */
  105. establish() {
  106. if (this.data.submiteditData.sat_submiteditmodelid) return this.setData({
  107. startRecord: true
  108. })
  109. _Http.basic({
  110. "classname": "saletool.submitedit.submitedit",
  111. "method": "insertorupdate",
  112. "content": {
  113. "sat_submiteditmodelid": this.data.sat_submiteditmodelid,
  114. "content": "",
  115. "sat_submiteditid": 0
  116. }
  117. }).then(res => {
  118. if (res.msg != '成功') return wx.showToast({
  119. title: res.data,
  120. icon: "none"
  121. })
  122. this.setData({
  123. startRecord: true,
  124. submiteditData: res.data[0]
  125. })
  126. })
  127. },
  128. /* 隐藏新建 */
  129. closeRecord() {
  130. this.setData({
  131. startRecord: false
  132. })
  133. },
  134. /* 提交明细 */
  135. submit() {
  136. if (!this.data.content) return wx.showToast({
  137. title: '您还未输入提报内容',
  138. icon: "none"
  139. })
  140. if (this.data.loading) return wx.showToast({
  141. title: '正在提交中,请勿重新提交',
  142. icon: "none"
  143. })
  144. this.setData({
  145. loading: true
  146. })
  147. _Http.basic({
  148. "classname": "saletool.submitedit.submitedit",
  149. "method": "insertorupdate",
  150. "content": {
  151. "sat_submiteditmodelid": this.data.submiteditData.sat_submiteditmodelid,
  152. "content": this.data.content.trim(),
  153. "sat_submiteditid": this.data.submiteditData.sat_submiteditid
  154. }
  155. }).then(res => {
  156. console.log(res)
  157. this.setData({
  158. loading: false
  159. })
  160. if (res.msg != '成功') return wx.showToast({
  161. title: res.data,
  162. icon: "none"
  163. });
  164. this.setData({
  165. loading: true
  166. })
  167. _Http.basic({
  168. "classname": "saletool.submitedit.submitedit",
  169. "method": "sub_submitdetailed",
  170. "content": {
  171. "sat_submiteditmodelid": this.data.submiteditData.sat_submiteditmodelid,
  172. "sat_submiteditid": this.data.submiteditData.sat_submiteditid,
  173. onceonly: this.data.oneToOne ? 0 : 1
  174. }
  175. }).then(s => {
  176. this.setData({
  177. loading: false
  178. })
  179. if (s.msg != '成功') return wx.showToast({
  180. title: s.data,
  181. icon: "none"
  182. });
  183. wx.showToast({
  184. title: '提交成功',
  185. });
  186. res.data[0].status = '已提报';
  187. this.setData({
  188. "detailsData.submitedit": this.data.detailsData.submitedit.concat(res.data[0]),
  189. submiteditData: [],
  190. startRecord: false,
  191. done: this.data.oneToOne == 'true' ? true : ''
  192. });
  193. let pages = getCurrentPages();
  194. let prevPage = pages[pages.length - 2];
  195. prevPage.getList(true)
  196. })
  197. })
  198. },
  199. /* 查看提报记录 */
  200. seeHistory(e) {
  201. const {
  202. item
  203. } = e.currentTarget.dataset;
  204. item.attinfos = MFT.fileList(item.attinfos);
  205. this.setData({
  206. recordL: item,
  207. CheckTheRecord: true
  208. })
  209. },
  210. recordClose() {
  211. this.setData({
  212. recordL: {},
  213. CheckTheRecord: false
  214. })
  215. },
  216. /**
  217. * 生命周期函数--监听页面初次渲染完成
  218. */
  219. onReady() {
  220. },
  221. /**
  222. * 生命周期函数--监听页面显示
  223. */
  224. onShow() {
  225. },
  226. /**
  227. * 生命周期函数--监听页面隐藏
  228. */
  229. onHide() {
  230. },
  231. /* 文本域输入 */
  232. textareaInput(e) {
  233. this.setData({
  234. content: e.detail.value
  235. })
  236. },
  237. /**
  238. * 生命周期函数--监听页面卸载
  239. */
  240. onUnload() {
  241. let submiteditData = this.data.submiteditData;
  242. if (submiteditData != {} && submiteditData.status == '未提报') {
  243. this.delete_submitdetailed(submiteditData.sat_submiteditid);
  244. let attinfos = this.data.submiteditData.attinfos;
  245. if (attinfos.length) {
  246. let linksids = [];
  247. for (let i = 0; i < attinfos.length; i++) {
  248. linksids.push(attinfos[i].linksid)
  249. };
  250. _Http.basic({
  251. "classname": "system.attachment.Attachment",
  252. "method": "deleteFileLink",
  253. "content": {
  254. linksids
  255. }
  256. }).then(res => {
  257. console.log('删除附件', res)
  258. })
  259. }
  260. }
  261. },
  262. /* 删除未提报数据 */
  263. delete_submitdetailed(id, i = 0) {
  264. if (i == 5) return;
  265. _Http.basic({
  266. "classname": "saletool.submitedit.submitedit",
  267. "method": "delete_submitdetailed",
  268. "content": {
  269. "sat_submiteditid": id
  270. }
  271. }).then(res => {
  272. console.log(res)
  273. if (res.data != "成功") return this.delete_submitdetailed(id, i + 1);
  274. })
  275. },
  276. /**
  277. * 页面相关事件处理函数--监听用户下拉动作
  278. */
  279. onPullDownRefresh() {
  280. },
  281. /**
  282. * 页面上拉触底事件的处理函数
  283. */
  284. onReachBottom() {
  285. },
  286. /**
  287. * 用户点击右上角分享
  288. */
  289. onShareAppMessage() {
  290. }
  291. })