insert.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  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 {
  65. form[1].params = {
  66. "id": "20240531165504",
  67. "content": {
  68. "nacache": true,
  69. "pageNumber": 1,
  70. "pageSize": 10,
  71. "pageTotal": 1,
  72. "total": null,
  73. "where": {
  74. "condition": "",
  75. },
  76. "sys_enterpriseid": parems.ownerid1
  77. }
  78. }
  79. }
  80. if (parems.sys_datafollowupid != 0) {
  81. form[0].value = parems.type;
  82. form[1].value = parems.contactsid;
  83. if (parems.attinfos.length) this.selectComponent("#Yl_files").handleFiles(parems.attinfos);
  84. this.setData({
  85. list: this.data.list.map(v => {
  86. v.value = parems[v.key]
  87. return v
  88. })
  89. })
  90. }
  91. this.setData({
  92. parems,
  93. form
  94. })
  95. },
  96. onInput(e) {
  97. const {
  98. index
  99. } = e.target.dataset;
  100. this.data.list[index].value = e.detail.value;
  101. },
  102. onVoiceInput(e) {
  103. let {
  104. index
  105. } = e.target.dataset;
  106. this.setData({
  107. [`list[${index}].value`]: e.detail
  108. })
  109. },
  110. /* 绑定媒体 */
  111. insertImgEdit({
  112. detail
  113. }) {
  114. this.handleFileLink(detail)
  115. },
  116. handleFileLink(attachmentids, ownertable = "temporary", ownerid = 1, data) {
  117. _Http.basic({
  118. "classname": "system.attachment.Attachment",
  119. "method": "createFileLink",
  120. "content": {
  121. ownertable,
  122. ownerid,
  123. usetype: 'default',
  124. attachmentids
  125. }
  126. }).then(res => {
  127. console.log('跟进记录绑定附件', res)
  128. if (res.msg != '成功') return wx.showToast({
  129. title: res.msg,
  130. icon: "none"
  131. })
  132. if (ownertable == 'temporary') {
  133. this.selectComponent("#Yl_files").handleFiles(res.data)
  134. } else {
  135. if (res.data.length) data.attinfos = res.data;
  136. this.changeItem(data)
  137. setTimeout(() => {
  138. wx.navigateBack()
  139. }, 500)
  140. }
  141. })
  142. },
  143. changeItem(data) {
  144. this.setData({
  145. loading: false
  146. })
  147. let page = getCurrentPages()[getCurrentPages().length - 2],
  148. isDetail = page.__route__ == 'pages/trace/detail';
  149. if (isDetail) {
  150. page.getDetail();
  151. page = getCurrentPages()[getCurrentPages().length - 3];
  152. }
  153. if (_Http.changeItem) {
  154. _Http.changeItem(data)
  155. delete(_Http.changeItem)
  156. } else {
  157. if (page) {
  158. let model = page.selectComponent("#Trace");
  159. if (model) model.getList(0, true)
  160. }
  161. }
  162. },
  163. submit() {
  164. this.setData({
  165. loading: true
  166. })
  167. let content = Object.assign(this.data.parems, this.selectComponent("#Form").submit())
  168. content.dataextend = {
  169. contactsid: content.contactsid[1]
  170. }
  171. delete(content.contactsid)
  172. this.data.list.forEach(v => {
  173. content[v.key] = v.value
  174. })
  175. _Http.basic({
  176. "id": 20220930121601,
  177. content
  178. }).then(res => {
  179. console.log("保存跟进内容", res)
  180. wx.showToast({
  181. title: res.msg != '成功' ? res.msg : content.sys_datafollowupid == 0 ? '保存成功' : '修改成功',
  182. icon: "none",
  183. mask: res.msg == '成功'
  184. });
  185. if (res.msg != '成功') return;
  186. res.data.names = res.data.contacts.map(n => n.name)
  187. let attachmentids = this.selectComponent("#Yl_files").getFiles().attachmentids;
  188. if (attachmentids.length) return this.handleFileLink(attachmentids, 'sys_datafollowup', res.data.sys_datafollowupid, res.data);
  189. this.changeItem(res.data)
  190. setTimeout(() => {
  191. wx.navigateBack()
  192. }, 500)
  193. })
  194. },
  195. onConfirm({
  196. detail
  197. }) {
  198. this.setData({
  199. disabled: detail
  200. })
  201. },
  202. onUnload() {
  203. if (this.data.parems.sys_datafollowupid == 0) this.selectComponent("#Yl_files").deleteAll()
  204. }
  205. })