insert.js 5.6 KB

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