addClue.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  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. label: "市场活动",
  121. error: false,
  122. errMsg: "",
  123. type: "route",
  124. url: "/packageA/select/selectActivity/index",
  125. value: "",
  126. params: {
  127. "id": 20221101095102,
  128. "content": {
  129. nocache: true,
  130. isAll: 0,
  131. "where": {
  132. 'condition': '',
  133. "unend": 1
  134. }
  135. }
  136. },
  137. query: "&radio=true",
  138. placeholder: "选择市场活动",
  139. valueName: "campaign_name",
  140. checking: "base",
  141. required: false
  142. }, {
  143. label: "来源",
  144. error: false,
  145. errMsg: "",
  146. type: "label",
  147. value: "",
  148. placeholder: "来源",
  149. valueName: "cluesource",
  150. checking: "base",
  151. required: false
  152. }, {
  153. label: "线索概括",
  154. error: false,
  155. errMsg: "",
  156. type: "label",
  157. value: "",
  158. placeholder: "线索概括",
  159. valueName: "notes",
  160. checking: "base",
  161. required: false
  162. }],
  163. "content": {
  164. "sat_orderclueid": 0,
  165. "enterprisename": "",
  166. "name": "",
  167. "phonenumber": "",
  168. "province": "",
  169. "city": "",
  170. "county": "",
  171. "address": "",
  172. "notes": "",
  173. "cluesource": "",
  174. "sat_campaignid": 0, //活动id,当活动id大于0是默认业务员创建
  175. "isprivate": 0 //0表示公海,1表示私域
  176. },
  177. disabled: true
  178. },
  179. onLoad(options) {
  180. //市场活动进入
  181. if (options.sat_campaignid) {
  182. let item = this.data.form.find(item => item.label == '市场活动');
  183. item.value = [options.name, [options.sat_campaignid]];
  184. item.disabled = true;
  185. this.setData({
  186. form: this.data.form
  187. })
  188. }
  189. //编辑进入
  190. if (options.rowData) {
  191. // wx.setNavigationBarTitle({
  192. // title: 'title',
  193. // })
  194. let data = JSON.parse(options.rowData);
  195. this.setData({
  196. disabled: false,
  197. form: this.data.form.map(v => {
  198. if (v.valueName != 'region') {
  199. if (v.valueName == 'campaign_name') {
  200. console.log(data[v.valueName])
  201. v.value = data[v.valueName] ? [data[v.valueName],
  202. [data.sat_campaignid]
  203. ] : ""
  204. } else {
  205. v.value = data[v.valueName];
  206. }
  207. } else {
  208. v.value = data.province ? [data.province, data.city, data.county] : []
  209. }
  210. return v
  211. }),
  212. 'form[0].value': data.enterprisename_customer,
  213. 'content.sat_orderclueid': data.sat_orderclueid,
  214. 'content.sat_campaignid': data.sat_campaignid
  215. })
  216. }
  217. },
  218. introduce({
  219. detail
  220. }) {
  221. let item = detail;
  222. this.setData({
  223. [`form[0].value`]: item.companyName,
  224. [`form[4].value`]: item.address,
  225. [`form[3].value`]: [item.regProvince, item.regCity, item.regArea],
  226. })
  227. },
  228. queryClient() {
  229. let data = this.selectComponent("#Form").query();
  230. if (data.enterprisename == '') {
  231. wx.showToast({
  232. title: `您还未填写企业名称`,
  233. icon: "none"
  234. });
  235. } else {
  236. this.setData({
  237. form: this.selectComponent("#Form").data.form,
  238. })
  239. this.selectComponent("#Info").queryClient(data.enterprisename)
  240. }
  241. },
  242. submit() {
  243. let content = {
  244. ...this.data.content,
  245. ...this.selectComponent("#Form").submit()
  246. };
  247. console.log(content)
  248. content.sat_campaignid = content.campaign_name ? content.campaign_name[1][0] : 0;
  249. content.city = content.region[1] || "";
  250. content.county = content.region[2] || "";
  251. content.province = content.region[0] || "";
  252. delete(content.region)
  253. delete(content.campaign_name)
  254. _Http.basic({
  255. "id": "20221205162402",
  256. content
  257. }).then(res => {
  258. console.log("添加线索", res)
  259. wx.showToast({
  260. title: res.msg != '成功' ? res.msg : '保存成功',
  261. icon: "none"
  262. })
  263. if (res.msg != '成功') return;
  264. setTimeout(() => {
  265. wx.navigateBack();
  266. getCurrentPages().forEach(v => {
  267. console.log(v, '路径');
  268. if (v.__route__ == 'packageA/publicClue/detail') {
  269. v.getDetail();
  270. } else if (v.__route__ == 'packageA/publicClue/index') {
  271. v.getList(true);
  272. } else if (v.__route__ == 'packageA/activity/detail') {
  273. v.getDetail()
  274. v.selectComponent('#clue').getList(this.data.content.sat_campaignid, true)
  275. }
  276. })
  277. }, 300)
  278. })
  279. },
  280. // 是否显示全部
  281. onChange({
  282. detail
  283. }) {
  284. this.setData({
  285. showAll: detail
  286. })
  287. },
  288. /* 表单必填项是否完成 */
  289. onConfirm({
  290. detail
  291. }) {
  292. this.setData({
  293. disabled: detail
  294. })
  295. }
  296. })