insert.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. const deleteMark = require("../../../../utils/deleteMark"),
  2. _Http = getApp().globalData.http;
  3. let count = null;
  4. Component({
  5. properties: {
  6. endInsert: {
  7. type: Function
  8. }
  9. },
  10. data: {
  11. region: ['', '', ''], //省市县选择
  12. "content": {
  13. "sat_orderclueid": 0,
  14. "name": "",
  15. "phonenumber": "",
  16. "province": "",
  17. "city": "",
  18. "county": "",
  19. "address": "",
  20. "notes": "",
  21. "cluesource": ""
  22. },
  23. disabled: true,
  24. loading: false
  25. },
  26. methods: {
  27. /* 提交 */
  28. submit() {
  29. if (this.data.disabled || this.data.loading) return;
  30. if (!deleteMark.CheckPhoneNumber(this.data.content.phonenumber)) return;
  31. this.setData({
  32. loading: true
  33. });
  34. _Http.basic({
  35. "classname": "saletool.orderclue.web.orderclue",
  36. "method": "edit",
  37. content: this.data.content
  38. }).then(res => {
  39. this.setData({
  40. loading: false
  41. });
  42. if (res.msg != '成功') return wx.showToast({
  43. title: res.data,
  44. icon: "none"
  45. });
  46. this.triggerEvent("endInsert");
  47. })
  48. },
  49. /* 输入框输入内容 */
  50. inputChange(e) {
  51. let text = e.type == 'input' ? e.detail.value : e.detail;
  52. text = deleteMark.queryStr(text);
  53. const {
  54. label
  55. } = e.currentTarget.dataset;
  56. this.setData({
  57. ["content." + label]: text
  58. })
  59. if (['phonenumber', 'province', 'cluesource'].includes(label)) this.isDisabled();
  60. },
  61. /* 是否禁用 */
  62. isDisabled() {
  63. clearTimeout(count)
  64. count = setTimeout(() => {
  65. let {
  66. phonenumber,
  67. province,
  68. cluesource
  69. } = this.data.content;
  70. this.setData({
  71. disabled: !(phonenumber && province && cluesource)
  72. })
  73. }, 1000);
  74. },
  75. /* 省市县选择器 */
  76. bindRegionChange: function (e) {
  77. let region = e.detail.value;
  78. this.setData({
  79. region,
  80. "content.province": region[0],
  81. "content.city": region[1],
  82. "content.county": region[2],
  83. })
  84. this.isDisabled();
  85. }
  86. }
  87. })