details.js 10 KB

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