addClue.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. const _Http = getApp().globalData.http,
  2. getTime = require("../../utils/getTime");
  3. Page({
  4. data: {
  5. showAll: false,
  6. form: [{
  7. label: "客户(企业)",
  8. error: false,
  9. errMsg: "",
  10. type: "label",
  11. value: "",
  12. placeholder: "客户(企业)",
  13. valueName: "enterprisename",
  14. checking: "base",
  15. slot: "info",
  16. required: false
  17. }, {
  18. label: "联系人",
  19. error: false,
  20. errMsg: "",
  21. type: "label",
  22. value: "",
  23. placeholder: "联系人",
  24. valueName: "name",
  25. checking: "base",
  26. required: false
  27. }, {
  28. label: "手机号码",
  29. error: false,
  30. checking: "phone",
  31. errMsg: "",
  32. type: "number",
  33. value: "",
  34. placeholder: "手机号码",
  35. valueName: "phonenumber", //绑定的字段名称
  36. required: true, //必填
  37. }, {
  38. label: "省市县",
  39. error: false,
  40. errMsg: "",
  41. type: "region",
  42. value: "",
  43. placeholder: "省市县",
  44. valueName: "region",
  45. checking: "base",
  46. required: false
  47. }, {
  48. label: "详细地址",
  49. error: false,
  50. errMsg: "",
  51. type: "label",
  52. value: "",
  53. placeholder: "详细地址",
  54. valueName: "address",
  55. checking: "base",
  56. required: false
  57. }, {
  58. label: "项目名称",
  59. error: false,
  60. errMsg: "",
  61. type: "textarea",
  62. value: "",
  63. placeholder: "项目名称",
  64. valueName: "projectname",
  65. checking: "base",
  66. required: false
  67. }, {
  68. label: "项目规模",
  69. error: false,
  70. errMsg: "",
  71. type: "textarea",
  72. value: "",
  73. placeholder: "请填写建筑面积(㎡)/吨位(t)",
  74. valueName: "scale",
  75. checking: "base",
  76. required: false
  77. }, {
  78. label: "总投资额(万元)",
  79. error: false,
  80. errMsg: "",
  81. type: "digit",
  82. value: "",
  83. placeholder: "请填写金额",
  84. valueName: "totalinvestment",
  85. checking: "base",
  86. required: false
  87. }, {
  88. label: "造价(万元)",
  89. error: false,
  90. errMsg: "",
  91. type: "digit",
  92. value: "",
  93. placeholder: "请填写金额",
  94. valueName: "costofconstruction",
  95. checking: "base",
  96. required: false
  97. }, {
  98. label: "预计开工时间",
  99. error: false,
  100. errMsg: "",
  101. type: "date",
  102. fields: "month",
  103. value: "",
  104. placeholder: "预计开工时间",
  105. valueName: "begdate_due",
  106. checking: "base",
  107. required: false
  108. }, {
  109. label: "预计完工时间",
  110. error: false,
  111. errMsg: "",
  112. type: "date",
  113. fields: "month",
  114. value: "",
  115. placeholder: "预计完工时间",
  116. valueName: "enddate_due",
  117. checking: "base",
  118. required: false
  119. },
  120. {
  121. label: "市场活动",
  122. error: false,
  123. errMsg: "",
  124. type: "route",
  125. url: "/packageA/select/selectActivity/index",
  126. value: "",
  127. params: {
  128. "id": 20221101095102,
  129. "content": {
  130. nocache: true,
  131. isAll: 0,
  132. "where": {
  133. 'condition': '',
  134. "unend": 1
  135. }
  136. }
  137. },
  138. query: "&radio=true",
  139. placeholder: "选择市场活动",
  140. valueName: "campaign_name",
  141. checking: "base",
  142. required: false
  143. }, {
  144. label: "来源",
  145. error: false,
  146. errMsg: "",
  147. type: "label",
  148. value: "",
  149. placeholder: "来源",
  150. valueName: "cluesource",
  151. checking: "base",
  152. required: false
  153. }, {
  154. label: "线索概括",
  155. error: false,
  156. errMsg: "",
  157. type: "label",
  158. value: "",
  159. placeholder: "线索概括",
  160. valueName: "notes",
  161. checking: "base",
  162. required: false
  163. }
  164. ],
  165. "content": {
  166. "sat_orderclueid": 0,
  167. "sat_orderclueid": 0, //活动id,当活动id大于0是默认业务员创建
  168. "isprivate": 1 //0表示公海,1表示私域
  169. },
  170. disabled: true
  171. },
  172. onLoad(options) {
  173. if (options.sat_orderclueid) this.data.content.sat_orderclueid = options.sat_orderclueid;
  174. if (options.rowData) {
  175. let data = JSON.parse(options.rowData);
  176. this.setData({
  177. form: this.data.form.map(v => {
  178. if (v.valueName != 'region') {
  179. if (v.valueName == 'campaign_name') {
  180. v.value = data[v.valueName] ? [data[v.valueName],
  181. [data.sat_campaignid]
  182. ] : ""
  183. } else {
  184. v.value = data[v.valueName] || "";
  185. }
  186. } else {
  187. v.value = data.province ? [data.province, data.city, data.county] : []
  188. }
  189. return v
  190. }),
  191. 'form[0].value': data.enterprisename_customer || data.enterprisename || "",
  192. 'content.sat_orderclueid': data.sat_orderclueid || 0,
  193. 'content.sa_customersid': data.sa_customersid || 0,
  194. 'content.sat_campaignid': data.sat_campaignid || 0
  195. })
  196. this.selectComponent("#Form").confirm();
  197. }
  198. },
  199. introduce({
  200. detail
  201. }) {
  202. let item = detail;
  203. this.setData({
  204. [`form[0].value`]: item.companyName,
  205. [`form[4].value`]: item.address,
  206. [`form[3].value`]: [item.regProvince, item.regCity, item.regArea],
  207. })
  208. },
  209. queryClient() {
  210. let data = this.selectComponent("#Form").query();
  211. if (data.enterprisename == '') {
  212. wx.showToast({
  213. title: `您还未填写企业名称`,
  214. icon: "none"
  215. });
  216. } else {
  217. this.setData({
  218. form: this.selectComponent("#Form").data.form,
  219. })
  220. this.selectComponent("#Info").queryClient(data.enterprisename)
  221. }
  222. },
  223. submit() {
  224. let content = {
  225. ...this.data.content,
  226. ...this.selectComponent("#Form").submit()
  227. };
  228. content.sat_campaignid = content.campaign_name ? content.campaign_name[1][0] : 0;
  229. content.city = content.region[1] || "";
  230. content.county = content.region[2] || "";
  231. content.province = content.region[0] || "";
  232. delete(content.region)
  233. delete(content.campaign_name)
  234. _Http.basic({
  235. "id": "20221205162402",
  236. content
  237. }).then(res => {
  238. console.log("添加线索", res)
  239. wx.showToast({
  240. title: res.msg != '成功' ? res.msg : '保存成功',
  241. icon: "none"
  242. })
  243. if (res.msg != '成功') return;
  244. setTimeout(() => {
  245. wx.navigateBack();
  246. getCurrentPages().forEach(v => {
  247. if (v.__route__ == 'packageA/saleClue/detail') {
  248. v.getDetail();
  249. } else if (v.__route__ == 'packageA/saleClue/index') {
  250. v.getList(true);
  251. } else if (['packageA/setclient/detail', 'packageA/publicCustomer/detail'].includes(v.__route__)) {
  252. v.selectComponent("#Clue").getList(this.data.content.sa_customersid, true)
  253. }
  254. })
  255. }, 300)
  256. })
  257. },
  258. // 是否显示全部
  259. onChange({
  260. detail
  261. }) {
  262. this.setData({
  263. showAll: detail
  264. })
  265. },
  266. /* 表单必填项是否完成 */
  267. onConfirm({
  268. detail
  269. }) {
  270. this.setData({
  271. disabled: detail
  272. })
  273. }
  274. })