insert.js 5.1 KB

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