insert.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. const _Http = getApp().globalData.http;
  2. Page({
  3. data: {
  4. disabled: true,
  5. loading: false,
  6. list: [{
  7. label: "目的",
  8. key: "target",
  9. value: "",
  10. }, {
  11. label: "过程",
  12. key: "content",
  13. value: "",
  14. }, {
  15. label: "结果",
  16. key: "results",
  17. value: "",
  18. }, {
  19. label: "下次跟进计划",
  20. key: "nextplan",
  21. value: "",
  22. }]
  23. },
  24. onLoad(options) {
  25. let parems = JSON.parse(options.parems),
  26. form = [{
  27. label: "跟进类型",
  28. error: false,
  29. errMsg: "",
  30. type: "option",
  31. optionNmae: "followuptype",
  32. optionType: "radio", //复选 radio 单选
  33. value: "",
  34. placeholder: "选择跟进方式",
  35. valueName: "type",
  36. checking: "base",
  37. required: true
  38. }, {
  39. label: "跟进对象",
  40. error: false,
  41. errMsg: "",
  42. type: "route",
  43. url: "/packageA/select/linkman/select",
  44. value: "",
  45. placeholder: "选择跟进对象",
  46. valueName: "contactsid",
  47. checking: "base",
  48. required: true
  49. }];
  50. if (parems.ownertable == "sa_project") {
  51. form[1].params = {
  52. "id": "20221111131004",
  53. "content": {
  54. "nocache": true,
  55. "sa_projectid": parems.ownerid,
  56. "pageNumbe": 1,
  57. "pageTotal": 1,
  58. "total": null,
  59. "where": {
  60. "conditino": ""
  61. }
  62. }
  63. }
  64. } else if (parems.ownertable == "sys_phonebook") {
  65. form.pop()
  66. parems.dataextend = {
  67. contactsid: [parems.ownerid1]
  68. }
  69. } else {
  70. form[1].params = {
  71. "id": "20240531165504",
  72. "content": {
  73. "nacache": true,
  74. "pageNumber": 1,
  75. "pageSize": 10,
  76. "pageTotal": 1,
  77. "total": null,
  78. "where": {
  79. "condition": "",
  80. },
  81. "sys_enterpriseid": parems.ownerid1
  82. }
  83. }
  84. }
  85. if (parems.sys_datafollowupid != 0) {
  86. form[0].value = parems.type;
  87. if (parems.ownertable != "sys_phonebook") form[1].value = parems.contactsid;
  88. if (parems.attinfos.length) this.selectComponent("#Yl_files").handleFiles(parems.attinfos);
  89. this.setData({
  90. list: this.data.list.map(v => {
  91. v.value = parems[v.key]
  92. return v
  93. })
  94. })
  95. }
  96. this.setData({
  97. parems,
  98. form
  99. })
  100. this.selectComponent("#Form").confirm()
  101. },
  102. onInput(e) {
  103. const {
  104. index
  105. } = e.target.dataset;
  106. this.data.list[index].value = e.detail.value;
  107. },
  108. onVoiceInput(e) {
  109. let {
  110. index
  111. } = e.target.dataset;
  112. this.setData({
  113. [`list[${index}].value`]: e.detail
  114. })
  115. },
  116. /* 绑定媒体 */
  117. insertImgEdit({
  118. detail
  119. }) {
  120. this.handleFileLink(detail)
  121. },
  122. handleFileLink(attachmentids, ownertable = "temporary", ownerid = 1, data) {
  123. _Http.basic({
  124. "classname": "system.attachment.Attachment",
  125. "method": "createFileLink",
  126. "content": {
  127. ownertable,
  128. ownerid,
  129. usetype: 'default',
  130. attachmentids
  131. }
  132. }).then(res => {
  133. console.log('跟进记录绑定附件', res)
  134. if (res.msg != '成功') return wx.showToast({
  135. title: res.msg,
  136. icon: "none"
  137. })
  138. if (ownertable == 'temporary') {
  139. this.selectComponent("#Yl_files").handleFiles(res.data)
  140. } else {
  141. if (res.data.length) data.attinfos = res.data;
  142. this.changeItem(data)
  143. setTimeout(() => {
  144. wx.navigateBack()
  145. }, 500)
  146. }
  147. })
  148. },
  149. changeItem(data) {
  150. this.setData({
  151. loading: false
  152. })
  153. let page = getCurrentPages()[getCurrentPages().length - 2],
  154. isDetail = page.__route__ == 'pages/trace/detail';
  155. if (isDetail) {
  156. page.getDetail();
  157. page = getCurrentPages()[getCurrentPages().length - 3];
  158. }
  159. if (_Http.changeItem) {
  160. _Http.changeItem(data)
  161. delete(_Http.changeItem)
  162. } else {
  163. if (page) {
  164. let model = page.selectComponent("#Trace");
  165. if (model) model.getList(0, true)
  166. }
  167. }
  168. },
  169. submit() {
  170. this.setData({
  171. loading: true
  172. })
  173. let content = Object.assign(this.data.parems, this.selectComponent("#Form").submit())
  174. if (this.data.parems.ownertable != "sys_phonebook") {
  175. content.dataextend = {
  176. contactsid: content.contactsid[1]
  177. }
  178. delete(content.contactsid)
  179. }
  180. this.data.list.forEach(v => {
  181. content[v.key] = v.value
  182. })
  183. _Http.basic({
  184. "id": 20220930121601,
  185. content
  186. }).then(res => {
  187. console.log("保存跟进内容", res)
  188. wx.showToast({
  189. title: res.msg != '成功' ? res.msg : content.sys_datafollowupid == 0 ? '保存成功' : '修改成功',
  190. icon: "none",
  191. mask: res.msg == '成功'
  192. });
  193. if (res.msg != '成功') return this.setData({
  194. loading: false
  195. });
  196. res.data.names = res.data.contacts.map(n => n.name)
  197. let attachmentids = this.selectComponent("#Yl_files").getFiles().attachmentids;
  198. if (attachmentids.length) return this.handleFileLink(attachmentids, 'sys_datafollowup', res.data.sys_datafollowupid, res.data);
  199. this.changeItem(res.data)
  200. setTimeout(() => {
  201. wx.navigateBack()
  202. }, 500)
  203. })
  204. },
  205. onConfirm({
  206. detail
  207. }) {
  208. this.setData({
  209. disabled: detail
  210. })
  211. },
  212. onUnload() {
  213. if (this.data.parems.sys_datafollowupid == 0) this.selectComponent("#Yl_files").deleteAll()
  214. }
  215. })