details.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. const _Http = getApp().globalData.http,
  2. MFT = require("../../utils/FormatTheAttachment"),
  3. deleteMark = require("../../utils/Check");
  4. Page({
  5. data: {
  6. sat_submiteditmodelid: 0,
  7. detailsData: {}, //详情数据
  8. startRecord: false,
  9. submiteditData: {}, //新建明细
  10. content: "", //提交内容
  11. CheckTheRecord: false, //查看记录
  12. recordL: {}, //记录详情
  13. done: false, //!是否还可提交明细
  14. loading: false, //按钮加载状态
  15. },
  16. onLoad(options) {
  17. this.setData({
  18. sat_submiteditmodelid: options.id,
  19. ishistory: options.ishistory
  20. })
  21. //查询详情
  22. _Http.basic({
  23. id: 20221102095002,
  24. "content": {
  25. "sat_submiteditmodelid": options.id
  26. }
  27. }).then(res => {
  28. console.log(res)
  29. /* 处理附件 */
  30. let fileList = res.data.attinfos.filter(v => v.usetype != 'cover');
  31. res.data.attinfos = MFT.fileList(fileList);
  32. /* 删除提报 */
  33. let submitedit = res.data.submitedit,
  34. list = [];
  35. if (submitedit.length) {
  36. for (let i = 0; i < submitedit.length; i++) {
  37. (submitedit[i].status == '未提报' && submitedit[i].content == '') ? this.delete_submitdetailed(submitedit[i].sat_submiteditid): list.push(submitedit[i]);
  38. };
  39. res.data.submitedit = list;
  40. };
  41. this.setData({
  42. detailsData: res.data,
  43. oneToOne: options.oneToOne
  44. });
  45. if (options.ishistory == 1) {
  46. this.setData({
  47. done: true
  48. })
  49. } else if (options.oneToOne == 'true' && res.data.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.msg,
  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(this.data.submiteditData.attinfos)
  91. if (res.msg != '成功') return wx.showToast({
  92. title: res.msg,
  93. icon: "none"
  94. })
  95. wx.showToast({
  96. title: "删除成功"
  97. })
  98. let list = this.data.submiteditData.attinfos.filter(v => v.linksid != detail.linksid)
  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. this.setData({
  110. content: ""
  111. })
  112. _Http.basic({
  113. id: 20221102095102,
  114. "content": {
  115. "sat_submiteditmodelid": this.data.sat_submiteditmodelid,
  116. "content": "",
  117. "sat_submiteditid": 0
  118. }
  119. }).then(res => {
  120. if (res.msg != '成功') return wx.showToast({
  121. title: res.msg,
  122. icon: "none"
  123. })
  124. this.setData({
  125. startRecord: true,
  126. submiteditData: res.data
  127. })
  128. })
  129. },
  130. /* 隐藏新建 */
  131. closeRecord() {
  132. this.setData({
  133. startRecord: false
  134. })
  135. if (this.data.submiteditData.content != '') this.setData({
  136. submiteditData: {}
  137. })
  138. },
  139. /* 提交明细 */
  140. submit() {
  141. if (!this.data.content && this.data.detailsData.istextrequired == 1) return wx.showToast({
  142. title: '您还未输入提报内容',
  143. icon: "none"
  144. });
  145. if (this.data.submiteditData.attinfos.length == 0 && this.data.detailsData.isattrequired == 1) return wx.showToast({
  146. title: '您还未上传附件',
  147. icon: "none"
  148. });
  149. if (this.data.loading) return wx.showToast({
  150. title: '正在提交中,请勿重新提交',
  151. icon: "none"
  152. })
  153. this.setData({
  154. loading: true
  155. })
  156. _Http.basic({
  157. id: 20221102095102,
  158. "content": {
  159. "sat_submiteditmodelid": this.data.submiteditData.sat_submiteditmodelid,
  160. "content": this.data.content.trim(),
  161. "sat_submiteditid": this.data.submiteditData.sat_submiteditid
  162. }
  163. }).then(res => {
  164. this.setData({
  165. loading: false
  166. })
  167. if (res.msg != '成功') return wx.showToast({
  168. title: res.msg,
  169. icon: "none"
  170. });
  171. this.setData({
  172. loading: true
  173. })
  174. _Http.basic({
  175. id: 20221102095302,
  176. "content": {
  177. "sat_submiteditmodelid": this.data.submiteditData.sat_submiteditmodelid,
  178. "sat_submiteditid": this.data.submiteditData.sat_submiteditid,
  179. onceonly: this.data.oneToOne ? 0 : 1
  180. }
  181. }).then(s => {
  182. this.setData({
  183. loading: false
  184. })
  185. if (s.msg != '成功') return wx.showToast({
  186. title: s.data,
  187. icon: "none"
  188. });
  189. wx.showToast({
  190. title: '提交成功',
  191. });
  192. res.data.status = '已提报';
  193. let submitedit = this.data.detailsData.submitedit;
  194. let i = submitedit.findIndex(v => v.sat_submiteditid == res.data.sat_submiteditid);
  195. i == -1 ? submitedit.push(res.data) : submitedit[i] = res.data;
  196. this.setData({
  197. "detailsData.submitedit": submitedit,
  198. submiteditData: [],
  199. startRecord: false,
  200. done: this.data.oneToOne == 'true' ? true : '',
  201. content: ""
  202. });
  203. let pages = getCurrentPages();
  204. let prevPage = pages[pages.length - 2];
  205. prevPage.getList(true)
  206. })
  207. })
  208. },
  209. /* 查看提报记录 */
  210. seeHistory(e) {
  211. const {
  212. item
  213. } = e.currentTarget.dataset;
  214. item.attinfos = MFT.fileList(item.attinfos);
  215. this.setData({
  216. recordL: item,
  217. CheckTheRecord: true
  218. })
  219. },
  220. reedit() {
  221. this.setData({
  222. CheckTheRecord: false,
  223. submiteditData: this.data.recordL,
  224. startRecord: true,
  225. content: this.data.recordL.content
  226. })
  227. },
  228. recordClose() {
  229. this.setData({
  230. recordL: {},
  231. CheckTheRecord: false
  232. })
  233. },
  234. /* 文本域输入 */
  235. textareaInput(e) {
  236. this.setData({
  237. content: deleteMark.queryStr(e.detail.value)
  238. })
  239. },
  240. /**
  241. * 生命周期函数--监听页面卸载
  242. */
  243. onUnload() {
  244. let submiteditData = this.data.submiteditData;
  245. if (submiteditData != {} && submiteditData.status == '未提报') {
  246. this.delete_submitdetailed(submiteditData.sat_submiteditid);
  247. let attinfos = this.data.submiteditData.attinfos;
  248. if (attinfos.length) {
  249. let linksids = [];
  250. for (let i = 0; i < attinfos.length; i++) {
  251. linksids.push(attinfos[i].linksid)
  252. };
  253. _Http.basic({
  254. "classname": "system.attachment.Attachment",
  255. "method": "deleteFileLink",
  256. "content": {
  257. linksids
  258. }
  259. }).then(res => {
  260. console.log('删除附件', res)
  261. })
  262. }
  263. }
  264. },
  265. /* 删除未提报数据 */
  266. delete_submitdetailed(id, i = 0) {
  267. if (i == 5) return;
  268. _Http.basic({
  269. id: 20221102095202,
  270. "content": {
  271. "sat_submiteditid": id
  272. }
  273. }).then(res => {
  274. console.log(res)
  275. if (res.data != "成功") return this.delete_submitdetailed(id, i + 1);
  276. })
  277. },
  278. onShareAppMessage(res) {}
  279. })