overseas 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/README.md +12 -0
  2. package/lib/base/bottom-popup.js +550 -0
  3. package/lib/base/button.js +400 -0
  4. package/lib/base/dialog.js +979 -0
  5. package/lib/base/icon.js +273 -0
  6. package/lib/base/image.js +309 -0
  7. package/lib/base/material-list.js +357 -0
  8. package/lib/base/popup.js +364 -0
  9. package/lib/business/basic-image.js +325 -0
  10. package/lib/business/bottom-fixed-button.js +350 -0
  11. package/lib/business/class-choose.js +1717 -0
  12. package/lib/business/grade-panel.js +683 -0
  13. package/lib/business/material-panel.js +778 -0
  14. package/lib/business/notified-panel.js +2141 -0
  15. package/lib/business/page-render.js +364 -0
  16. package/lib/business/registration-panel.js +1071 -0
  17. package/lib/business/selector-panel.js +667 -0
  18. package/lib/business/student-info.js +1172 -0
  19. package/lib/business/switch-student.js +1407 -0
  20. package/lib/business/tips-popup.js +626 -0
  21. package/lib/business/user-login.js +816 -0
  22. package/lib/index.js +1 -0
  23. package/lib/network/api.js +64 -0
  24. package/lib/network/apiUrl.js +68 -0
  25. package/lib/overseas-ui.common.js +8771 -0
  26. package/lib/static/logo.b6015b3.png +0 -0
  27. package/lib/static/logo.b6015b30.png +0 -0
  28. package/lib/theme-style/bottom-fixed-button.css +1 -0
  29. package/lib/theme-style/bottom-popup.css +1 -0
  30. package/lib/theme-style/button.css +1 -0
  31. package/lib/theme-style/class-choose.css +1 -0
  32. package/lib/theme-style/common.css +1 -0
  33. package/lib/theme-style/dialog.css +1 -0
  34. package/lib/theme-style/grade-panel.css +1 -0
  35. package/lib/theme-style/icon.css +1 -0
  36. package/lib/theme-style/image.css +1 -0
  37. package/lib/theme-style/img/body_bg.png +0 -0
  38. package/lib/theme-style/img/pdf.png +0 -0
  39. package/lib/theme-style/img/title_bg.png +0 -0
  40. package/lib/theme-style/index.css +1 -0
  41. package/lib/theme-style/material-list.css +1 -0
  42. package/lib/theme-style/material-panel.css +1 -0
  43. package/lib/theme-style/notified-panel.css +1 -0
  44. package/lib/theme-style/page-render.css +1 -0
  45. package/lib/theme-style/registration-panel.css +1 -0
  46. package/lib/theme-style/selector-panel.css +1 -0
  47. package/lib/theme-style/student-info.css +1 -0
  48. package/lib/theme-style/switch-student.css +1 -0
  49. package/lib/theme-style/tips-popup.css +1 -0
  50. package/lib/theme-style/user-login.css +1 -0
  51. package/lib/utils/dom.js +60 -0
  52. package/lib/utils/filters.js +87 -0
  53. package/lib/utils/merge.js +19 -0
  54. package/lib/utils/phone.js +156 -0
  55. package/lib/utils/popup/index.js +132 -0
  56. package/lib/utils/popup/popup-manager.js +198 -0
  57. package/lib/utils/storage.js +27 -0
  58. package/lib/utils/utils.js +65 -0
  59. package/package.json +80 -0
  60. package/packages/.DS_Store +0 -0
  61. package/packages/base/bottom-popup/index.js +10 -0
  62. package/packages/base/bottom-popup/src/bottom-popup.vue +151 -0
  63. package/packages/base/button/index.js +10 -0
  64. package/packages/base/button/src/button.vue +108 -0
  65. package/packages/base/dialog/index.js +10 -0
  66. package/packages/base/dialog/src/dialog.vue +173 -0
  67. package/packages/base/icon/index.js +10 -0
  68. package/packages/base/icon/src/icon.vue +15 -0
  69. package/packages/base/image/index.js +10 -0
  70. package/packages/base/image/src/image.vue +40 -0
  71. package/packages/base/material-list/index.js +10 -0
  72. package/packages/base/material-list/src/material-list.vue +48 -0
  73. package/packages/base/popup/index.js +10 -0
  74. package/packages/base/popup/src/popup.vue +44 -0
  75. package/packages/business/basic-image/index.js +10 -0
  76. package/packages/business/basic-image/src/basicImage.vue +51 -0
  77. package/packages/business/bottom-fixed-button/index.js +10 -0
  78. package/packages/business/bottom-fixed-button/src/bottomFixedButton.vue +66 -0
  79. package/packages/business/class-choose/index.js +10 -0
  80. package/packages/business/class-choose/src/courseCard.vue +142 -0
  81. package/packages/business/class-choose/src/img/icon_close_bottomcard.svg +14 -0
  82. package/packages/business/class-choose/src/img/icon_date.svg +21 -0
  83. package/packages/business/class-choose/src/img/icon_full.svg +27 -0
  84. package/packages/business/class-choose/src/img/icon_full_EL.svg +49 -0
  85. package/packages/business/class-choose/src/img/icon_selected.svg +18 -0
  86. package/packages/business/class-choose/src/img/icon_star_selected.svg +13 -0
  87. package/packages/business/class-choose/src/img/icon_star_unselect.svg +13 -0
  88. package/packages/business/class-choose/src/index.vue +316 -0
  89. package/packages/business/grade-panel/index.js +10 -0
  90. package/packages/business/grade-panel/src/gradePanel.vue +150 -0
  91. package/packages/business/material-panel/index.js +10 -0
  92. package/packages/business/material-panel/src/index.vue +136 -0
  93. package/packages/business/notified-panel/index.js +10 -0
  94. package/packages/business/notified-panel/src/areaCodeList.js +181 -0
  95. package/packages/business/notified-panel/src/index.vue +491 -0
  96. package/packages/business/page-render/index.js +10 -0
  97. package/packages/business/page-render/src/pageRender.vue +73 -0
  98. package/packages/business/registration-panel/index.js +10 -0
  99. package/packages/business/registration-panel/src/areaCodeList.js +181 -0
  100. package/packages/business/registration-panel/src/img/icon_off.png +0 -0
  101. package/packages/business/registration-panel/src/img/icon_on.png +0 -0
  102. package/packages/business/registration-panel/src/index.vue +329 -0
  103. package/packages/business/registration-panel/src/languageList.js +41 -0
  104. package/packages/business/selector-panel/index.js +10 -0
  105. package/packages/business/selector-panel/src/selectorPanel.vue +134 -0
  106. package/packages/business/student-info/index.js +10 -0
  107. package/packages/business/student-info/src/api/index.js +10 -0
  108. package/packages/business/student-info/src/config.js +11 -0
  109. package/packages/business/student-info/src/studentInfo.vue +145 -0
  110. package/packages/business/switch-student/index.js +10 -0
  111. package/packages/business/switch-student/src/api/index.js +28 -0
  112. package/packages/business/switch-student/src/switchStudent.vue +245 -0
  113. package/packages/business/tips-popup/index.js +10 -0
  114. package/packages/business/tips-popup/src/tipsPopup.vue +76 -0
  115. package/packages/business/user-login/index.js +10 -0
  116. package/packages/business/user-login/src/api/index.js +23 -0
  117. package/packages/business/user-login/src/img/logo.png +0 -0
  118. package/packages/business/user-login/src/index.vue +149 -0
  119. package/packages/theme-style/lib/bottom-fixed-button.css +1 -0
  120. package/packages/theme-style/lib/bottom-popup.css +1 -0
  121. package/packages/theme-style/lib/button.css +1 -0
  122. package/packages/theme-style/lib/class-choose.css +1 -0
  123. package/packages/theme-style/lib/common.css +1 -0
  124. package/packages/theme-style/lib/dialog.css +1 -0
  125. package/packages/theme-style/lib/grade-panel.css +1 -0
  126. package/packages/theme-style/lib/icon.css +1 -0
  127. package/packages/theme-style/lib/image.css +1 -0
  128. package/packages/theme-style/lib/img/body_bg.png +0 -0
  129. package/packages/theme-style/lib/img/pdf.png +0 -0
  130. package/packages/theme-style/lib/img/title_bg.png +0 -0
  131. package/packages/theme-style/lib/index.css +1 -0
  132. package/packages/theme-style/lib/material-list.css +1 -0
  133. package/packages/theme-style/lib/material-panel.css +1 -0
  134. package/packages/theme-style/lib/notified-panel.css +1 -0
  135. package/packages/theme-style/lib/page-render.css +1 -0
  136. package/packages/theme-style/lib/registration-panel.css +1 -0
  137. package/packages/theme-style/lib/selector-panel.css +1 -0
  138. package/packages/theme-style/lib/student-info.css +1 -0
  139. package/packages/theme-style/lib/switch-student.css +1 -0
  140. package/packages/theme-style/lib/tips-popup.css +1 -0
  141. package/packages/theme-style/lib/user-login.css +1 -0
  142. package/packages/theme-style/package.json +38 -0
  143. package/packages/theme-style/src/bottom-fixed-button.scss +31 -0
  144. package/packages/theme-style/src/bottom-popup.scss +87 -0
  145. package/packages/theme-style/src/button.scss +110 -0
  146. package/packages/theme-style/src/class-choose.scss +251 -0
  147. package/packages/theme-style/src/common/popup.scss +39 -0
  148. package/packages/theme-style/src/common/var.scss +6 -0
  149. package/packages/theme-style/src/common.scss +97 -0
  150. package/packages/theme-style/src/dialog.scss +130 -0
  151. package/packages/theme-style/src/grade-panel.scss +76 -0
  152. package/packages/theme-style/src/icon.scss +369 -0
  153. package/packages/theme-style/src/image.scss +8 -0
  154. package/packages/theme-style/src/img/body_bg.png +0 -0
  155. package/packages/theme-style/src/img/pdf.png +0 -0
  156. package/packages/theme-style/src/img/title_bg.png +0 -0
  157. package/packages/theme-style/src/index.scss +20 -0
  158. package/packages/theme-style/src/material-list.scss +118 -0
  159. package/packages/theme-style/src/material-panel.scss +2 -0
  160. package/packages/theme-style/src/notified-panel.scss +207 -0
  161. package/packages/theme-style/src/page-render.scss +3 -0
  162. package/packages/theme-style/src/registration-panel.scss +158 -0
  163. package/packages/theme-style/src/selector-panel.scss +86 -0
  164. package/packages/theme-style/src/student-info.scss +114 -0
  165. package/packages/theme-style/src/switch-student.scss +176 -0
  166. package/packages/theme-style/src/tips-popup.scss +60 -0
  167. package/packages/theme-style/src/user-login.scss +93 -0
  168. package/src/index.js +74 -0
  169. package/src/network/api.js +53 -0
  170. package/src/network/apiUrl.js +65 -0
  171. package/src/utils/dom.js +54 -0
  172. package/src/utils/filters.js +82 -0
  173. package/src/utils/merge.js +16 -0
  174. package/src/utils/phone.js +153 -0
  175. package/src/utils/popup/index.js +115 -0
  176. package/src/utils/popup/popup-manager.js +178 -0
  177. package/src/utils/storage.js +22 -0
  178. package/src/utils/utils.js +49 -0
@@ -0,0 +1,2141 @@
1
+ module.exports =
2
+ /******/ (function(modules) { // webpackBootstrap
3
+ /******/ // The module cache
4
+ /******/ var installedModules = {};
5
+ /******/
6
+ /******/ // The require function
7
+ /******/ function __webpack_require__(moduleId) {
8
+ /******/
9
+ /******/ // Check if module is in cache
10
+ /******/ if(installedModules[moduleId]) {
11
+ /******/ return installedModules[moduleId].exports;
12
+ /******/ }
13
+ /******/ // Create a new module (and put it into the cache)
14
+ /******/ var module = installedModules[moduleId] = {
15
+ /******/ i: moduleId,
16
+ /******/ l: false,
17
+ /******/ exports: {}
18
+ /******/ };
19
+ /******/
20
+ /******/ // Execute the module function
21
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22
+ /******/
23
+ /******/ // Flag the module as loaded
24
+ /******/ module.l = true;
25
+ /******/
26
+ /******/ // Return the exports of the module
27
+ /******/ return module.exports;
28
+ /******/ }
29
+ /******/
30
+ /******/
31
+ /******/ // expose the modules object (__webpack_modules__)
32
+ /******/ __webpack_require__.m = modules;
33
+ /******/
34
+ /******/ // expose the module cache
35
+ /******/ __webpack_require__.c = installedModules;
36
+ /******/
37
+ /******/ // define getter function for harmony exports
38
+ /******/ __webpack_require__.d = function(exports, name, getter) {
39
+ /******/ if(!__webpack_require__.o(exports, name)) {
40
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
41
+ /******/ }
42
+ /******/ };
43
+ /******/
44
+ /******/ // define __esModule on exports
45
+ /******/ __webpack_require__.r = function(exports) {
46
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48
+ /******/ }
49
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
50
+ /******/ };
51
+ /******/
52
+ /******/ // create a fake namespace object
53
+ /******/ // mode & 1: value is a module id, require it
54
+ /******/ // mode & 2: merge all properties of value into the ns
55
+ /******/ // mode & 4: return value when already ns object
56
+ /******/ // mode & 8|1: behave like require
57
+ /******/ __webpack_require__.t = function(value, mode) {
58
+ /******/ if(mode & 1) value = __webpack_require__(value);
59
+ /******/ if(mode & 8) return value;
60
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
61
+ /******/ var ns = Object.create(null);
62
+ /******/ __webpack_require__.r(ns);
63
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
64
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
65
+ /******/ return ns;
66
+ /******/ };
67
+ /******/
68
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
69
+ /******/ __webpack_require__.n = function(module) {
70
+ /******/ var getter = module && module.__esModule ?
71
+ /******/ function getDefault() { return module['default']; } :
72
+ /******/ function getModuleExports() { return module; };
73
+ /******/ __webpack_require__.d(getter, 'a', getter);
74
+ /******/ return getter;
75
+ /******/ };
76
+ /******/
77
+ /******/ // Object.prototype.hasOwnProperty.call
78
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
79
+ /******/
80
+ /******/ // __webpack_public_path__
81
+ /******/ __webpack_require__.p = "/dist/";
82
+ /******/
83
+ /******/
84
+ /******/ // Load entry module and return exports
85
+ /******/ return __webpack_require__(__webpack_require__.s = 29);
86
+ /******/ })
87
+ /************************************************************************/
88
+ /******/ ([
89
+ /* 0 */
90
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
91
+
92
+ "use strict";
93
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
94
+ /* globals __VUE_SSR_CONTEXT__ */
95
+
96
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
97
+ // This module is a runtime utility for cleaner component module output and will
98
+ // be included in the final webpack user bundle.
99
+
100
+ function normalizeComponent (
101
+ scriptExports,
102
+ render,
103
+ staticRenderFns,
104
+ functionalTemplate,
105
+ injectStyles,
106
+ scopeId,
107
+ moduleIdentifier, /* server only */
108
+ shadowMode /* vue-cli only */
109
+ ) {
110
+ // Vue.extend constructor export interop
111
+ var options = typeof scriptExports === 'function'
112
+ ? scriptExports.options
113
+ : scriptExports
114
+
115
+ // render functions
116
+ if (render) {
117
+ options.render = render
118
+ options.staticRenderFns = staticRenderFns
119
+ options._compiled = true
120
+ }
121
+
122
+ // functional template
123
+ if (functionalTemplate) {
124
+ options.functional = true
125
+ }
126
+
127
+ // scopedId
128
+ if (scopeId) {
129
+ options._scopeId = 'data-v-' + scopeId
130
+ }
131
+
132
+ var hook
133
+ if (moduleIdentifier) { // server build
134
+ hook = function (context) {
135
+ // 2.3 injection
136
+ context =
137
+ context || // cached call
138
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
139
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
140
+ // 2.2 with runInNewContext: true
141
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
142
+ context = __VUE_SSR_CONTEXT__
143
+ }
144
+ // inject component styles
145
+ if (injectStyles) {
146
+ injectStyles.call(this, context)
147
+ }
148
+ // register component module identifier for async chunk inferrence
149
+ if (context && context._registeredComponents) {
150
+ context._registeredComponents.add(moduleIdentifier)
151
+ }
152
+ }
153
+ // used by ssr in case component is cached and beforeCreate
154
+ // never gets called
155
+ options._ssrRegister = hook
156
+ } else if (injectStyles) {
157
+ hook = shadowMode
158
+ ? function () {
159
+ injectStyles.call(
160
+ this,
161
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
162
+ )
163
+ }
164
+ : injectStyles
165
+ }
166
+
167
+ if (hook) {
168
+ if (options.functional) {
169
+ // for template-only hot-reload because in that case the render fn doesn't
170
+ // go through the normalizer
171
+ options._injectStyles = hook
172
+ // register for functional component in vue file
173
+ var originalRender = options.render
174
+ options.render = function renderWithStyleInjection (h, context) {
175
+ hook.call(context)
176
+ return originalRender(h, context)
177
+ }
178
+ } else {
179
+ // inject component registration as beforeCreate hook
180
+ var existing = options.beforeCreate
181
+ options.beforeCreate = existing
182
+ ? [].concat(existing, hook)
183
+ : [hook]
184
+ }
185
+ }
186
+
187
+ return {
188
+ exports: scriptExports,
189
+ options: options
190
+ }
191
+ }
192
+
193
+
194
+ /***/ }),
195
+ /* 1 */,
196
+ /* 2 */,
197
+ /* 3 */,
198
+ /* 4 */,
199
+ /* 5 */,
200
+ /* 6 */,
201
+ /* 7 */
202
+ /***/ (function(module, exports) {
203
+
204
+ module.exports = require("vant/es/popup");
205
+
206
+ /***/ }),
207
+ /* 8 */
208
+ /***/ (function(module, exports) {
209
+
210
+ module.exports = require("vant/es/picker");
211
+
212
+ /***/ }),
213
+ /* 9 */
214
+ /***/ (function(module, exports) {
215
+
216
+ module.exports = require("vant/es/form");
217
+
218
+ /***/ }),
219
+ /* 10 */
220
+ /***/ (function(module, exports) {
221
+
222
+ module.exports = require("vant/es/field");
223
+
224
+ /***/ }),
225
+ /* 11 */
226
+ /***/ (function(module, exports) {
227
+
228
+ module.exports = require("vant/es/button");
229
+
230
+ /***/ }),
231
+ /* 12 */,
232
+ /* 13 */,
233
+ /* 14 */
234
+ /***/ (function(module, exports) {
235
+
236
+ module.exports = require("vant/es/checkbox-group");
237
+
238
+ /***/ }),
239
+ /* 15 */
240
+ /***/ (function(module, exports) {
241
+
242
+ module.exports = require("vant/es/checkbox");
243
+
244
+ /***/ }),
245
+ /* 16 */
246
+ /***/ (function(module, exports) {
247
+
248
+ module.exports = require("vant/es/radio-group");
249
+
250
+ /***/ }),
251
+ /* 17 */
252
+ /***/ (function(module, exports) {
253
+
254
+ module.exports = require("vant/es/radio");
255
+
256
+ /***/ }),
257
+ /* 18 */,
258
+ /* 19 */,
259
+ /* 20 */,
260
+ /* 21 */,
261
+ /* 22 */,
262
+ /* 23 */,
263
+ /* 24 */,
264
+ /* 25 */,
265
+ /* 26 */,
266
+ /* 27 */,
267
+ /* 28 */,
268
+ /* 29 */
269
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
270
+
271
+ "use strict";
272
+ __webpack_require__.r(__webpack_exports__);
273
+
274
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/business/notified-panel/src/index.vue?vue&type=template&id=d1d85d7c&
275
+ var render = function () {
276
+ var _vm = this
277
+ var _h = _vm.$createElement
278
+ var _c = _vm._self._c || _h
279
+ return _c(
280
+ "div",
281
+ {
282
+ ref: "notified-panel",
283
+ staticClass: "notified-panel",
284
+ style: [_vm.backgroundColorStyle, _vm.backgroundImgStyle],
285
+ attrs: { id: "notified-panel" },
286
+ },
287
+ [
288
+ _vm.title || _vm.desc
289
+ ? _c("div", { staticClass: "notified-header" }, [
290
+ _vm.title
291
+ ? _c("div", { staticClass: "notified-title" }, [
292
+ _vm._v("\n " + _vm._s(_vm.title) + "\n "),
293
+ ])
294
+ : _vm._e(),
295
+ _vm.desc
296
+ ? _c("div", { staticClass: "notified-desc" }, [
297
+ _vm._v("\n " + _vm._s(_vm.desc) + "\n "),
298
+ ])
299
+ : _vm._e(),
300
+ ])
301
+ : _vm._e(),
302
+ _c(
303
+ "div",
304
+ { staticClass: "notified-form" },
305
+ [
306
+ _c(
307
+ "van-form",
308
+ { on: { submit: _vm.onSubmit } },
309
+ [
310
+ _vm._l(_vm.questions, function (question, index) {
311
+ return [
312
+ question.entryType === "phone"
313
+ ? _c("div", { key: index, staticClass: "form-item" }, [
314
+ _c(
315
+ "div",
316
+ {
317
+ staticClass: "item-label",
318
+ class: { "label-required": question.required },
319
+ },
320
+ [
321
+ _vm._v(
322
+ "\n " +
323
+ _vm._s(question.title) +
324
+ "\n "
325
+ ),
326
+ ]
327
+ ),
328
+ _c(
329
+ "div",
330
+ { staticClass: "item-body phone-body" },
331
+ [
332
+ _c("van-field", {
333
+ staticStyle: {
334
+ width: "120px",
335
+ "border-right": "0px",
336
+ },
337
+ attrs: {
338
+ readonly: "",
339
+ clickable: "",
340
+ value: _vm.areacodeText,
341
+ name: "areaCode",
342
+ "right-icon": "arrow-down",
343
+ },
344
+ on: {
345
+ click: function ($event) {
346
+ _vm.showAreaPicker = true
347
+ },
348
+ },
349
+ }),
350
+ _c(
351
+ "van-popup",
352
+ {
353
+ attrs: { round: "", position: "bottom" },
354
+ model: {
355
+ value: _vm.showAreaPicker,
356
+ callback: function ($$v) {
357
+ _vm.showAreaPicker = $$v
358
+ },
359
+ expression: "showAreaPicker",
360
+ },
361
+ },
362
+ [
363
+ _c("van-picker", {
364
+ attrs: {
365
+ "show-toolbar": "",
366
+ columns: _vm.areaCodeList.map(function (e) {
367
+ return "(" + e.text + ") " + e.name
368
+ }),
369
+ },
370
+ on: {
371
+ cancel: function ($event) {
372
+ _vm.showAreaPicker = false
373
+ },
374
+ confirm: _vm.onConfirmArea,
375
+ },
376
+ }),
377
+ ],
378
+ 1
379
+ ),
380
+ _c("van-field", {
381
+ attrs: {
382
+ name: "phone",
383
+ rules: [
384
+ {
385
+ required: question.required,
386
+ message: "Required",
387
+ },
388
+ {
389
+ validator: _vm.validatorPhone,
390
+ message: "Invalid phone number",
391
+ },
392
+ ],
393
+ },
394
+ model: {
395
+ value: _vm.form.phone,
396
+ callback: function ($$v) {
397
+ _vm.$set(_vm.form, "phone", $$v)
398
+ },
399
+ expression: "form.phone",
400
+ },
401
+ }),
402
+ ],
403
+ 1
404
+ ),
405
+ ])
406
+ : _vm._e(),
407
+ question.entryType === "mail"
408
+ ? _c("div", { key: index, staticClass: "form-item" }, [
409
+ _c(
410
+ "div",
411
+ {
412
+ staticClass: "item-label",
413
+ class: { "label-required": question.required },
414
+ },
415
+ [
416
+ _vm._v(
417
+ "\n " +
418
+ _vm._s(question.title) +
419
+ "\n "
420
+ ),
421
+ ]
422
+ ),
423
+ _c(
424
+ "div",
425
+ { staticClass: "item-body" },
426
+ [
427
+ _c("van-field", {
428
+ attrs: {
429
+ name: "mail",
430
+ rules: [
431
+ {
432
+ required: question.required,
433
+ message: "Required",
434
+ },
435
+ {
436
+ validator: _vm.validator,
437
+ message: "Invalid email format",
438
+ },
439
+ ],
440
+ },
441
+ model: {
442
+ value: _vm.form.mail,
443
+ callback: function ($$v) {
444
+ _vm.$set(_vm.form, "mail", $$v)
445
+ },
446
+ expression: "form.mail",
447
+ },
448
+ }),
449
+ ],
450
+ 1
451
+ ),
452
+ ])
453
+ : _vm._e(),
454
+ question.entryType === "name"
455
+ ? _c(
456
+ "div",
457
+ { key: index, staticClass: "form-item name-item" },
458
+ [
459
+ _c("div", { staticClass: "form-name" }, [
460
+ _c(
461
+ "div",
462
+ {
463
+ staticClass: "item-label",
464
+ class: { "label-required": question.required },
465
+ },
466
+ [
467
+ _vm._v(
468
+ "\n " +
469
+ _vm._s(question.firstName) +
470
+ "\n "
471
+ ),
472
+ ]
473
+ ),
474
+ _c(
475
+ "div",
476
+ { staticClass: "item-body name-body" },
477
+ [
478
+ _c("van-field", {
479
+ attrs: {
480
+ name: "firstName",
481
+ rules: [
482
+ {
483
+ required: question.required,
484
+ message: "Required",
485
+ },
486
+ ],
487
+ },
488
+ model: {
489
+ value: _vm.form.firstName,
490
+ callback: function ($$v) {
491
+ _vm.$set(_vm.form, "firstName", $$v)
492
+ },
493
+ expression: "form.firstName",
494
+ },
495
+ }),
496
+ ],
497
+ 1
498
+ ),
499
+ ]),
500
+ _c("div", { staticClass: "form-name" }, [
501
+ _c(
502
+ "div",
503
+ {
504
+ staticClass: "item-label",
505
+ class: { "label-required": question.required },
506
+ },
507
+ [
508
+ _vm._v(
509
+ "\n " +
510
+ _vm._s(question.lastName) +
511
+ "\n "
512
+ ),
513
+ ]
514
+ ),
515
+ _c(
516
+ "div",
517
+ { staticClass: "item-body name-body" },
518
+ [
519
+ _c("van-field", {
520
+ attrs: {
521
+ name: "lastName",
522
+ rules: [
523
+ {
524
+ required: question.required,
525
+ message: "Required",
526
+ },
527
+ ],
528
+ },
529
+ model: {
530
+ value: _vm.form.lastName,
531
+ callback: function ($$v) {
532
+ _vm.$set(_vm.form, "lastName", $$v)
533
+ },
534
+ expression: "form.lastName",
535
+ },
536
+ }),
537
+ ],
538
+ 1
539
+ ),
540
+ ]),
541
+ ]
542
+ )
543
+ : _vm._e(),
544
+ question.entryType === "grade"
545
+ ? _c("div", { key: index, staticClass: "form-item" }, [
546
+ _c(
547
+ "div",
548
+ {
549
+ staticClass: "item-label",
550
+ class: { "label-required": question.required },
551
+ },
552
+ [
553
+ _vm._v(
554
+ "\n " +
555
+ _vm._s(question.title) +
556
+ "\n "
557
+ ),
558
+ ]
559
+ ),
560
+ _c(
561
+ "div",
562
+ { staticClass: "item-body grade-body" },
563
+ [
564
+ _c("van-field", {
565
+ attrs: {
566
+ readonly: "",
567
+ clickable: "",
568
+ value: _vm.form.grade,
569
+ name: "grade",
570
+ "right-icon": "arrow-down",
571
+ rules: [
572
+ {
573
+ required: question.required,
574
+ message: "Required",
575
+ },
576
+ ],
577
+ placeholder: "grade",
578
+ },
579
+ on: {
580
+ click: function ($event) {
581
+ _vm.showGradePicker = true
582
+ },
583
+ },
584
+ }),
585
+ _c(
586
+ "van-popup",
587
+ {
588
+ attrs: { round: "", position: "bottom" },
589
+ model: {
590
+ value: _vm.showGradePicker,
591
+ callback: function ($$v) {
592
+ _vm.showGradePicker = $$v
593
+ },
594
+ expression: "showGradePicker",
595
+ },
596
+ },
597
+ [
598
+ _c("van-picker", {
599
+ attrs: {
600
+ "show-toolbar": "",
601
+ columns: _vm.questions
602
+ .find(function (q) {
603
+ return q.entryType === "grade"
604
+ })
605
+ .gradeList.filter(function (i) {
606
+ return i.checked
607
+ })
608
+ .map(function (g) {
609
+ return g.name
610
+ }),
611
+ },
612
+ on: {
613
+ cancel: function ($event) {
614
+ _vm.showGradePicker = false
615
+ },
616
+ confirm: _vm.onConfirmGrade,
617
+ },
618
+ }),
619
+ ],
620
+ 1
621
+ ),
622
+ ],
623
+ 1
624
+ ),
625
+ ])
626
+ : _vm._e(),
627
+ question.entryType === "wechat"
628
+ ? _c("div", { key: index, staticClass: "form-item" }, [
629
+ _c(
630
+ "div",
631
+ {
632
+ staticClass: "item-label",
633
+ class: { "label-required": question.required },
634
+ },
635
+ [
636
+ _vm._v(
637
+ "\n " +
638
+ _vm._s(question.title) +
639
+ "\n "
640
+ ),
641
+ ]
642
+ ),
643
+ _c(
644
+ "div",
645
+ { staticClass: "item-body" },
646
+ [
647
+ _c("van-field", {
648
+ attrs: {
649
+ name: "wechat",
650
+ rules: [
651
+ {
652
+ required: question.required,
653
+ message: "Required",
654
+ },
655
+ ],
656
+ },
657
+ model: {
658
+ value: _vm.form.wechat,
659
+ callback: function ($$v) {
660
+ _vm.$set(_vm.form, "wechat", $$v)
661
+ },
662
+ expression: "form.wechat",
663
+ },
664
+ }),
665
+ ],
666
+ 1
667
+ ),
668
+ ])
669
+ : _vm._e(),
670
+ question.entryType === "line"
671
+ ? _c("div", { key: index, staticClass: "form-item" }, [
672
+ _c(
673
+ "div",
674
+ {
675
+ staticClass: "item-label",
676
+ class: { "label-required": question.required },
677
+ },
678
+ [
679
+ _vm._v(
680
+ "\n " +
681
+ _vm._s(question.title) +
682
+ "\n "
683
+ ),
684
+ ]
685
+ ),
686
+ _c(
687
+ "div",
688
+ { staticClass: "item-body" },
689
+ [
690
+ _c("van-field", {
691
+ attrs: {
692
+ name: "line",
693
+ rules: [
694
+ {
695
+ required: question.required,
696
+ message: "Required",
697
+ },
698
+ ],
699
+ },
700
+ model: {
701
+ value: _vm.form.line,
702
+ callback: function ($$v) {
703
+ _vm.$set(_vm.form, "line", $$v)
704
+ },
705
+ expression: "form.line",
706
+ },
707
+ }),
708
+ ],
709
+ 1
710
+ ),
711
+ ])
712
+ : _vm._e(),
713
+ question.entryType === "whatsapp"
714
+ ? _c("div", { key: index, staticClass: "form-item" }, [
715
+ _c(
716
+ "div",
717
+ {
718
+ staticClass: "item-label",
719
+ class: { "label-required": question.required },
720
+ },
721
+ [
722
+ _vm._v(
723
+ "\n " +
724
+ _vm._s(question.title) +
725
+ "\n "
726
+ ),
727
+ ]
728
+ ),
729
+ _c(
730
+ "div",
731
+ { staticClass: "item-body" },
732
+ [
733
+ _c("van-field", {
734
+ attrs: {
735
+ name: "whatsapp",
736
+ rules: [
737
+ {
738
+ required: question.required,
739
+ message: "Required",
740
+ },
741
+ ],
742
+ },
743
+ model: {
744
+ value: _vm.form.whatsapp,
745
+ callback: function ($$v) {
746
+ _vm.$set(_vm.form, "whatsapp", $$v)
747
+ },
748
+ expression: "form.whatsapp",
749
+ },
750
+ }),
751
+ ],
752
+ 1
753
+ ),
754
+ ])
755
+ : _vm._e(),
756
+ question.entryType === "zipcode"
757
+ ? _c("div", { key: index, staticClass: "form-item" }, [
758
+ _c(
759
+ "div",
760
+ {
761
+ staticClass: "item-label",
762
+ class: { "label-required": question.required },
763
+ },
764
+ [
765
+ _vm._v(
766
+ "\n " +
767
+ _vm._s(question.title) +
768
+ "\n "
769
+ ),
770
+ ]
771
+ ),
772
+ _c(
773
+ "div",
774
+ { staticClass: "item-body" },
775
+ [
776
+ _c("van-field", {
777
+ attrs: {
778
+ name: "zipcode",
779
+ rules: [
780
+ {
781
+ required: question.required,
782
+ message: "Required",
783
+ },
784
+ ],
785
+ },
786
+ model: {
787
+ value: _vm.form.zipcode,
788
+ callback: function ($$v) {
789
+ _vm.$set(_vm.form, "zipcode", $$v)
790
+ },
791
+ expression: "form.zipcode",
792
+ },
793
+ }),
794
+ ],
795
+ 1
796
+ ),
797
+ ])
798
+ : _vm._e(),
799
+ question.entryType === "city"
800
+ ? _c("div", { key: index, staticClass: "form-item" }, [
801
+ _c(
802
+ "div",
803
+ {
804
+ staticClass: "item-label",
805
+ class: { "label-required": question.required },
806
+ },
807
+ [
808
+ _vm._v(
809
+ "\n " +
810
+ _vm._s(question.title) +
811
+ "\n "
812
+ ),
813
+ ]
814
+ ),
815
+ _c(
816
+ "div",
817
+ { staticClass: "item-body customize-body" },
818
+ [
819
+ question.questionType === "1"
820
+ ? [
821
+ _c("van-field", {
822
+ attrs: {
823
+ name: "city",
824
+ rules: [
825
+ {
826
+ required: question.required,
827
+ message: "Required",
828
+ },
829
+ ],
830
+ },
831
+ model: {
832
+ value: _vm.form.city,
833
+ callback: function ($$v) {
834
+ _vm.$set(_vm.form, "city", $$v)
835
+ },
836
+ expression: "form.city",
837
+ },
838
+ }),
839
+ ]
840
+ : _vm._e(),
841
+ question.questionType === "2"
842
+ ? [
843
+ _c("van-field", {
844
+ attrs: {
845
+ readonly: "",
846
+ clickable: "",
847
+ name: "city",
848
+ "right-icon": "arrow-down",
849
+ rules: [
850
+ {
851
+ required: question.required,
852
+ message: "Required",
853
+ },
854
+ ],
855
+ placeholder: "city",
856
+ },
857
+ on: {
858
+ click: function ($event) {
859
+ _vm.showCityPicker = true
860
+ },
861
+ },
862
+ model: {
863
+ value: _vm.form.city,
864
+ callback: function ($$v) {
865
+ _vm.$set(_vm.form, "city", $$v)
866
+ },
867
+ expression: "form.city",
868
+ },
869
+ }),
870
+ _c(
871
+ "van-popup",
872
+ {
873
+ attrs: { round: "", position: "bottom" },
874
+ model: {
875
+ value: _vm.showCityPicker,
876
+ callback: function ($$v) {
877
+ _vm.showCityPicker = $$v
878
+ },
879
+ expression: "showCityPicker",
880
+ },
881
+ },
882
+ [
883
+ _c("van-picker", {
884
+ attrs: {
885
+ "show-toolbar": "",
886
+ columns: question.options.map(
887
+ function (e) {
888
+ return e.text
889
+ }
890
+ ),
891
+ },
892
+ on: {
893
+ cancel: function ($event) {
894
+ _vm.showCityPicker = false
895
+ },
896
+ confirm: _vm.onConfirmCity,
897
+ },
898
+ }),
899
+ ],
900
+ 1
901
+ ),
902
+ ]
903
+ : _vm._e(),
904
+ question.questionType === "3"
905
+ ? [
906
+ _c("van-field", {
907
+ attrs: {
908
+ name: "city",
909
+ rules: [
910
+ {
911
+ required: question.required,
912
+ message: "Required",
913
+ },
914
+ ],
915
+ },
916
+ scopedSlots: _vm._u(
917
+ [
918
+ {
919
+ key: "input",
920
+ fn: function () {
921
+ return [
922
+ _c(
923
+ "van-radio-group",
924
+ {
925
+ model: {
926
+ value: _vm.form.city,
927
+ callback: function ($$v) {
928
+ _vm.$set(
929
+ _vm.form,
930
+ "city",
931
+ $$v
932
+ )
933
+ },
934
+ expression: "form.city",
935
+ },
936
+ },
937
+ _vm._l(
938
+ question.options,
939
+ function (option, ind) {
940
+ return _c(
941
+ "van-radio",
942
+ {
943
+ key: ind,
944
+ attrs: {
945
+ name: option.text,
946
+ "checked-color":
947
+ "#FF9F0A",
948
+ },
949
+ scopedSlots: _vm._u(
950
+ [
951
+ {
952
+ key: "icon",
953
+ fn: function (
954
+ props
955
+ ) {
956
+ return [
957
+ _c("div", {
958
+ staticClass:
959
+ "radio-icon",
960
+ class: [
961
+ props.checked
962
+ ? "activeRadioIcon"
963
+ : "inactiveRadioIcon",
964
+ ],
965
+ }),
966
+ ]
967
+ },
968
+ },
969
+ ],
970
+ null,
971
+ true
972
+ ),
973
+ },
974
+ [
975
+ _vm._v(
976
+ "\n " +
977
+ _vm._s(
978
+ option.text
979
+ ) +
980
+ "\n "
981
+ ),
982
+ option.isOther
983
+ ? _c("van-field", {
984
+ model: {
985
+ value:
986
+ option.value,
987
+ callback:
988
+ function (
989
+ $$v
990
+ ) {
991
+ _vm.$set(
992
+ option,
993
+ "value",
994
+ $$v
995
+ )
996
+ },
997
+ expression:
998
+ "option.value",
999
+ },
1000
+ })
1001
+ : _vm._e(),
1002
+ ],
1003
+ 1
1004
+ )
1005
+ }
1006
+ ),
1007
+ 1
1008
+ ),
1009
+ ]
1010
+ },
1011
+ proxy: true,
1012
+ },
1013
+ ],
1014
+ null,
1015
+ true
1016
+ ),
1017
+ }),
1018
+ ]
1019
+ : _vm._e(),
1020
+ ],
1021
+ 2
1022
+ ),
1023
+ ])
1024
+ : _vm._e(),
1025
+ question.entryType === "customize"
1026
+ ? _c("div", { key: index, staticClass: "form-item" }, [
1027
+ _c(
1028
+ "div",
1029
+ {
1030
+ staticClass: "item-label",
1031
+ class: { "label-required": question.required },
1032
+ },
1033
+ [
1034
+ _vm._v(
1035
+ "\n " +
1036
+ _vm._s(question.title) +
1037
+ "\n "
1038
+ ),
1039
+ ]
1040
+ ),
1041
+ _c(
1042
+ "div",
1043
+ { staticClass: "item-body customize-body" },
1044
+ [
1045
+ question.questionType === "1"
1046
+ ? [
1047
+ _c("van-field", {
1048
+ attrs: {
1049
+ name: question.title,
1050
+ rules: [
1051
+ {
1052
+ required: question.required,
1053
+ message: "Required",
1054
+ },
1055
+ ],
1056
+ },
1057
+ model: {
1058
+ value: _vm.form[question.title],
1059
+ callback: function ($$v) {
1060
+ _vm.$set(_vm.form, question.title, $$v)
1061
+ },
1062
+ expression: "form[question.title]",
1063
+ },
1064
+ }),
1065
+ ]
1066
+ : _vm._e(),
1067
+ question.questionType === "2"
1068
+ ? [
1069
+ _c("van-field", {
1070
+ attrs: {
1071
+ readonly: "",
1072
+ clickable: "",
1073
+ name: question.title,
1074
+ "right-icon": "arrow-down",
1075
+ rules: [
1076
+ {
1077
+ required: question.required,
1078
+ message: "Required",
1079
+ },
1080
+ ],
1081
+ },
1082
+ on: {
1083
+ click: function ($event) {
1084
+ _vm.showCustomizePicker[index] = true
1085
+ },
1086
+ },
1087
+ model: {
1088
+ value: _vm.form[question.title],
1089
+ callback: function ($$v) {
1090
+ _vm.$set(_vm.form, question.title, $$v)
1091
+ },
1092
+ expression: "form[question.title]",
1093
+ },
1094
+ }),
1095
+ _c(
1096
+ "van-popup",
1097
+ {
1098
+ attrs: { round: "", position: "bottom" },
1099
+ model: {
1100
+ value: _vm.showCustomizePicker[index],
1101
+ callback: function ($$v) {
1102
+ _vm.$set(
1103
+ _vm.showCustomizePicker,
1104
+ index,
1105
+ $$v
1106
+ )
1107
+ },
1108
+ expression:
1109
+ "showCustomizePicker[index]",
1110
+ },
1111
+ },
1112
+ [
1113
+ _c("van-picker", {
1114
+ attrs: {
1115
+ "show-toolbar": "",
1116
+ columns: question.options.map(
1117
+ function (e) {
1118
+ return e.text
1119
+ }
1120
+ ),
1121
+ },
1122
+ on: {
1123
+ cancel: function ($event) {
1124
+ _vm.showCustomizePicker[
1125
+ index
1126
+ ] = false
1127
+ },
1128
+ confirm: function (value) {
1129
+ _vm.form[question.title] = value
1130
+ _vm.showCustomizePicker[
1131
+ index
1132
+ ] = false
1133
+ },
1134
+ },
1135
+ }),
1136
+ ],
1137
+ 1
1138
+ ),
1139
+ ]
1140
+ : _vm._e(),
1141
+ question.questionType === "3"
1142
+ ? [
1143
+ _c("van-field", {
1144
+ staticClass: "customize34",
1145
+ attrs: {
1146
+ name: question.title,
1147
+ rules: [
1148
+ {
1149
+ required: question.required,
1150
+ message: "Required",
1151
+ },
1152
+ ],
1153
+ },
1154
+ scopedSlots: _vm._u(
1155
+ [
1156
+ {
1157
+ key: "input",
1158
+ fn: function () {
1159
+ return [
1160
+ _c(
1161
+ "van-radio-group",
1162
+ {
1163
+ model: {
1164
+ value:
1165
+ _vm.form[question.title],
1166
+ callback: function ($$v) {
1167
+ _vm.$set(
1168
+ _vm.form,
1169
+ question.title,
1170
+ $$v
1171
+ )
1172
+ },
1173
+ expression:
1174
+ "form[question.title]",
1175
+ },
1176
+ },
1177
+ _vm._l(
1178
+ question.options,
1179
+ function (option, ind) {
1180
+ return _c(
1181
+ "van-radio",
1182
+ {
1183
+ key: ind,
1184
+ attrs: {
1185
+ name: option.text,
1186
+ "checked-color":
1187
+ "#FF9F0A",
1188
+ },
1189
+ scopedSlots: _vm._u(
1190
+ [
1191
+ {
1192
+ key: "icon",
1193
+ fn: function (
1194
+ props
1195
+ ) {
1196
+ return [
1197
+ _c("div", {
1198
+ staticClass:
1199
+ "radio-icon",
1200
+ class: [
1201
+ props.checked
1202
+ ? "activeRadioIcon"
1203
+ : "inactiveRadioIcon",
1204
+ ],
1205
+ }),
1206
+ ]
1207
+ },
1208
+ },
1209
+ ],
1210
+ null,
1211
+ true
1212
+ ),
1213
+ },
1214
+ [
1215
+ _vm._v(
1216
+ "\n " +
1217
+ _vm._s(
1218
+ option.text
1219
+ ) +
1220
+ "\n "
1221
+ ),
1222
+ option.isOther
1223
+ ? _c("van-field", {
1224
+ model: {
1225
+ value:
1226
+ option.value,
1227
+ callback:
1228
+ function (
1229
+ $$v
1230
+ ) {
1231
+ _vm.$set(
1232
+ option,
1233
+ "value",
1234
+ $$v
1235
+ )
1236
+ },
1237
+ expression:
1238
+ "option.value",
1239
+ },
1240
+ })
1241
+ : _vm._e(),
1242
+ ],
1243
+ 1
1244
+ )
1245
+ }
1246
+ ),
1247
+ 1
1248
+ ),
1249
+ ]
1250
+ },
1251
+ proxy: true,
1252
+ },
1253
+ ],
1254
+ null,
1255
+ true
1256
+ ),
1257
+ }),
1258
+ ]
1259
+ : _vm._e(),
1260
+ question.questionType === "4"
1261
+ ? [
1262
+ _c("van-field", {
1263
+ staticClass: "customize34",
1264
+ attrs: {
1265
+ name: question.title,
1266
+ rules: [
1267
+ {
1268
+ required: question.required,
1269
+ message: "Required",
1270
+ },
1271
+ ],
1272
+ },
1273
+ scopedSlots: _vm._u(
1274
+ [
1275
+ {
1276
+ key: "input",
1277
+ fn: function () {
1278
+ return [
1279
+ _c(
1280
+ "van-checkbox-group",
1281
+ {
1282
+ model: {
1283
+ value:
1284
+ _vm.form[question.title],
1285
+ callback: function ($$v) {
1286
+ _vm.$set(
1287
+ _vm.form,
1288
+ question.title,
1289
+ $$v
1290
+ )
1291
+ },
1292
+ expression:
1293
+ "form[question.title]",
1294
+ },
1295
+ },
1296
+ _vm._l(
1297
+ question.options,
1298
+ function (option, index) {
1299
+ return _c(
1300
+ "van-checkbox",
1301
+ {
1302
+ key: index,
1303
+ attrs: {
1304
+ name: option.text,
1305
+ "checked-color":
1306
+ "#FF9F0A",
1307
+ shape: "square",
1308
+ },
1309
+ },
1310
+ [
1311
+ _vm._v(
1312
+ "\n " +
1313
+ _vm._s(
1314
+ option.text
1315
+ ) +
1316
+ "\n "
1317
+ ),
1318
+ option.isOther
1319
+ ? _c("van-field", {
1320
+ model: {
1321
+ value:
1322
+ option.value,
1323
+ callback:
1324
+ function (
1325
+ $$v
1326
+ ) {
1327
+ _vm.$set(
1328
+ option,
1329
+ "value",
1330
+ $$v
1331
+ )
1332
+ },
1333
+ expression:
1334
+ "option.value",
1335
+ },
1336
+ })
1337
+ : _vm._e(),
1338
+ ],
1339
+ 1
1340
+ )
1341
+ }
1342
+ ),
1343
+ 1
1344
+ ),
1345
+ ]
1346
+ },
1347
+ proxy: true,
1348
+ },
1349
+ ],
1350
+ null,
1351
+ true
1352
+ ),
1353
+ }),
1354
+ ]
1355
+ : _vm._e(),
1356
+ ],
1357
+ 2
1358
+ ),
1359
+ ])
1360
+ : _vm._e(),
1361
+ ]
1362
+ }),
1363
+ _c(
1364
+ "div",
1365
+ { staticStyle: { margin: "16px" } },
1366
+ [
1367
+ _c(
1368
+ "van-button",
1369
+ {
1370
+ attrs: {
1371
+ round: "",
1372
+ block: "",
1373
+ type: "info",
1374
+ color: _vm.buttonProps.backgroundColor,
1375
+ "native-type": "submit",
1376
+ },
1377
+ },
1378
+ [
1379
+ _vm._v(
1380
+ "\n " +
1381
+ _vm._s(_vm.buttonProps.text) +
1382
+ "\n "
1383
+ ),
1384
+ ]
1385
+ ),
1386
+ ],
1387
+ 1
1388
+ ),
1389
+ ],
1390
+ 2
1391
+ ),
1392
+ ],
1393
+ 1
1394
+ ),
1395
+ ]
1396
+ )
1397
+ }
1398
+ var staticRenderFns = []
1399
+ render._withStripped = true
1400
+
1401
+
1402
+ // CONCATENATED MODULE: ./packages/business/notified-panel/src/index.vue?vue&type=template&id=d1d85d7c&
1403
+
1404
+ // EXTERNAL MODULE: external "vant/es/button"
1405
+ var button_ = __webpack_require__(11);
1406
+ var button_default = /*#__PURE__*/__webpack_require__.n(button_);
1407
+
1408
+ // EXTERNAL MODULE: external "vant/es/field"
1409
+ var field_ = __webpack_require__(10);
1410
+ var field_default = /*#__PURE__*/__webpack_require__.n(field_);
1411
+
1412
+ // EXTERNAL MODULE: external "vant/es/form"
1413
+ var form_ = __webpack_require__(9);
1414
+ var form_default = /*#__PURE__*/__webpack_require__.n(form_);
1415
+
1416
+ // EXTERNAL MODULE: external "vant/es/picker"
1417
+ var picker_ = __webpack_require__(8);
1418
+ var picker_default = /*#__PURE__*/__webpack_require__.n(picker_);
1419
+
1420
+ // EXTERNAL MODULE: external "vant/es/radio"
1421
+ var radio_ = __webpack_require__(17);
1422
+ var radio_default = /*#__PURE__*/__webpack_require__.n(radio_);
1423
+
1424
+ // EXTERNAL MODULE: external "vant/es/radio-group"
1425
+ var radio_group_ = __webpack_require__(16);
1426
+ var radio_group_default = /*#__PURE__*/__webpack_require__.n(radio_group_);
1427
+
1428
+ // EXTERNAL MODULE: external "vant/es/checkbox"
1429
+ var checkbox_ = __webpack_require__(15);
1430
+ var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
1431
+
1432
+ // EXTERNAL MODULE: external "vant/es/checkbox-group"
1433
+ var checkbox_group_ = __webpack_require__(14);
1434
+ var checkbox_group_default = /*#__PURE__*/__webpack_require__.n(checkbox_group_);
1435
+
1436
+ // EXTERNAL MODULE: external "vant/es/popup"
1437
+ var popup_ = __webpack_require__(7);
1438
+ var popup_default = /*#__PURE__*/__webpack_require__.n(popup_);
1439
+
1440
+ // CONCATENATED MODULE: ./packages/business/notified-panel/src/areaCodeList.js
1441
+ /**
1442
+ * 国际区号配置
1443
+ */
1444
+ var areaCodeList = [{
1445
+ // 美国
1446
+ value: '1',
1447
+ text: '+1',
1448
+ code: 'us',
1449
+ name: 'United States',
1450
+ reg: /^\d{10}$/
1451
+ }, {
1452
+ // 英国
1453
+ value: '44',
1454
+ text: '+44',
1455
+ code: 'uk',
1456
+ name: 'United Kingdom',
1457
+ reg: /(^[0-9]{10,11}$)/
1458
+ }, {
1459
+ // 新加坡
1460
+ value: '65',
1461
+ text: '+65',
1462
+ code: 'sg',
1463
+ name: 'Singapore',
1464
+ reg: /^\d{8}$/
1465
+ }, {
1466
+ // 中国
1467
+ value: '86',
1468
+ text: '+86',
1469
+ code: 'cn',
1470
+ name: 'China',
1471
+ reg: /^\d{11}$/
1472
+ }, {
1473
+ // 澳大利亚
1474
+ value: '61',
1475
+ text: '+61',
1476
+ code: 'au',
1477
+ name: 'Australia',
1478
+ reg: /(^[0-9]{1,99}$)/
1479
+ }, {
1480
+ // 柬埔寨
1481
+ value: '855',
1482
+ text: '+855',
1483
+ code: 'kh',
1484
+ name: 'Cambodia',
1485
+ reg: /^\d{10}$/
1486
+ }, {
1487
+ // 加拿大
1488
+ value: '1',
1489
+ text: '+1',
1490
+ code: 'ca',
1491
+ name: 'Canada',
1492
+ reg: /(^[0-9]{1,99}$)/
1493
+ }, {
1494
+ // 法国
1495
+ value: '33',
1496
+ text: '+33',
1497
+ code: 'fr',
1498
+ name: 'France',
1499
+ reg: /^\d{10}$/
1500
+ }, {
1501
+ // 德国
1502
+ value: '49',
1503
+ text: '+49',
1504
+ code: 'de',
1505
+ name: 'Germany',
1506
+ reg: /^\d{11}$/
1507
+ }, {
1508
+ // 香港
1509
+ value: '852',
1510
+ text: '+852',
1511
+ code: 'hk',
1512
+ name: 'Hong Kong, China',
1513
+ reg: /^\d{8}$/
1514
+ }, {
1515
+ // 印度
1516
+ value: '91',
1517
+ text: '+91',
1518
+ code: 'in',
1519
+ name: 'India',
1520
+ reg: /^\d{10}$/
1521
+ }, {
1522
+ // 印度尼西亚
1523
+ value: '62',
1524
+ text: '+62',
1525
+ code: 'id',
1526
+ name: 'Indonesia',
1527
+ reg: /^\d{11}$/
1528
+ }, {
1529
+ // 爱尔兰
1530
+ value: '353',
1531
+ text: '+353',
1532
+ code: 'ie',
1533
+ name: 'Ireland',
1534
+ reg: /^\d{9,10}$/
1535
+ }, {
1536
+ // 意大利
1537
+ value: '39',
1538
+ text: '+39',
1539
+ code: 'it',
1540
+ name: 'Italy',
1541
+ reg: /^\d{10}$/
1542
+ }, {
1543
+ // 日本
1544
+ value: '81',
1545
+ text: '+81',
1546
+ code: 'jp',
1547
+ name: 'Japan',
1548
+ reg: /^\d{11}$/
1549
+ }, {
1550
+ // 澳门
1551
+ value: '853',
1552
+ text: '+853',
1553
+ code: 'mo',
1554
+ name: 'Macau, China',
1555
+ reg: /^\d{6,7}$/
1556
+ }, {
1557
+ // 马来西亚
1558
+ value: '60',
1559
+ text: '+60',
1560
+ code: 'ms',
1561
+ name: 'Malaysia',
1562
+ reg: /(^[0-9]{1,99}$)/
1563
+ }, {
1564
+ // 挪威
1565
+ value: '47',
1566
+ text: '+47',
1567
+ code: 'no',
1568
+ name: 'Norway',
1569
+ reg: /^\d{8}$/
1570
+ }, {
1571
+ // 波兰
1572
+ value: '48',
1573
+ text: '+48',
1574
+ code: 'pl',
1575
+ name: 'Poland',
1576
+ reg: /^\d{9}$/
1577
+ }, {
1578
+ // 韩国
1579
+ value: '82',
1580
+ text: '+82',
1581
+ code: 'kr',
1582
+ name: 'South Korea',
1583
+ reg: /^\d{11}$/
1584
+ }, {
1585
+ // 西班牙
1586
+ value: '34',
1587
+ text: '+34',
1588
+ code: 'es',
1589
+ name: 'Spain',
1590
+ reg: /^\d{10}$/
1591
+ }, {
1592
+ // 泰国
1593
+ value: '66',
1594
+ text: '+66',
1595
+ code: 'th',
1596
+ name: 'Thailand',
1597
+ reg: /^\d{10}$/
1598
+ }];
1599
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/business/notified-panel/src/index.vue?vue&type=script&lang=js&
1600
+ var _components;
1601
+
1602
+ //
1603
+ //
1604
+ //
1605
+ //
1606
+ //
1607
+ //
1608
+ //
1609
+ //
1610
+ //
1611
+ //
1612
+ //
1613
+ //
1614
+ //
1615
+ //
1616
+ //
1617
+ //
1618
+ //
1619
+ //
1620
+ //
1621
+ //
1622
+ //
1623
+ //
1624
+ //
1625
+ //
1626
+ //
1627
+ //
1628
+ //
1629
+ //
1630
+ //
1631
+ //
1632
+ //
1633
+ //
1634
+ //
1635
+ //
1636
+ //
1637
+ //
1638
+ //
1639
+ //
1640
+ //
1641
+ //
1642
+ //
1643
+ //
1644
+ //
1645
+ //
1646
+ //
1647
+ //
1648
+ //
1649
+ //
1650
+ //
1651
+ //
1652
+ //
1653
+ //
1654
+ //
1655
+ //
1656
+ //
1657
+ //
1658
+ //
1659
+ //
1660
+ //
1661
+ //
1662
+ //
1663
+ //
1664
+ //
1665
+ //
1666
+ //
1667
+ //
1668
+ //
1669
+ //
1670
+ //
1671
+ //
1672
+ //
1673
+ //
1674
+ //
1675
+ //
1676
+ //
1677
+ //
1678
+ //
1679
+ //
1680
+ //
1681
+ //
1682
+ //
1683
+ //
1684
+ //
1685
+ //
1686
+ //
1687
+ //
1688
+ //
1689
+ //
1690
+ //
1691
+ //
1692
+ //
1693
+ //
1694
+ //
1695
+ //
1696
+ //
1697
+ //
1698
+ //
1699
+ //
1700
+ //
1701
+ //
1702
+ //
1703
+ //
1704
+ //
1705
+ //
1706
+ //
1707
+ //
1708
+ //
1709
+ //
1710
+ //
1711
+ //
1712
+ //
1713
+ //
1714
+ //
1715
+ //
1716
+ //
1717
+ //
1718
+ //
1719
+ //
1720
+ //
1721
+ //
1722
+ //
1723
+ //
1724
+ //
1725
+ //
1726
+ //
1727
+ //
1728
+ //
1729
+ //
1730
+ //
1731
+ //
1732
+ //
1733
+ //
1734
+ //
1735
+ //
1736
+ //
1737
+ //
1738
+ //
1739
+ //
1740
+ //
1741
+ //
1742
+ //
1743
+ //
1744
+ //
1745
+ //
1746
+ //
1747
+ //
1748
+ //
1749
+ //
1750
+ //
1751
+ //
1752
+ //
1753
+ //
1754
+ //
1755
+ //
1756
+ //
1757
+ //
1758
+ //
1759
+ //
1760
+ //
1761
+ //
1762
+ //
1763
+ //
1764
+ //
1765
+ //
1766
+ //
1767
+ //
1768
+ //
1769
+ //
1770
+ //
1771
+ //
1772
+ //
1773
+ //
1774
+ //
1775
+ //
1776
+ //
1777
+ //
1778
+ //
1779
+ //
1780
+ //
1781
+ //
1782
+ //
1783
+ //
1784
+ //
1785
+ //
1786
+ //
1787
+ //
1788
+ //
1789
+ //
1790
+ //
1791
+ //
1792
+ //
1793
+ //
1794
+ //
1795
+ //
1796
+ //
1797
+ //
1798
+ //
1799
+ //
1800
+ //
1801
+ //
1802
+ //
1803
+ //
1804
+ //
1805
+ //
1806
+ //
1807
+ //
1808
+ //
1809
+ //
1810
+ //
1811
+ //
1812
+ //
1813
+ //
1814
+ //
1815
+ //
1816
+ //
1817
+ //
1818
+ //
1819
+ //
1820
+ //
1821
+ //
1822
+ //
1823
+ //
1824
+ //
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+
1831
+
1832
+
1833
+
1834
+
1835
+
1836
+ /* harmony default export */ var srcvue_type_script_lang_js_ = ({
1837
+ name: 'TsNotifiedPanel',
1838
+ components: (_components = {}, _components[button_default.a.name] = button_default.a, _components[form_default.a.name] = form_default.a, _components[field_default.a.name] = field_default.a, _components[picker_default.a.name] = picker_default.a, _components[radio_default.a.name] = radio_default.a, _components[radio_group_default.a.name] = radio_group_default.a, _components[checkbox_default.a.name] = checkbox_default.a, _components[checkbox_group_default.a.name] = checkbox_group_default.a, _components[popup_default.a.name] = popup_default.a, _components),
1839
+ props: {
1840
+ title: {
1841
+ type: String,
1842
+ default: 'AMC 8 讲座报名表AMC 8 讲座报名表AMC 8 讲座报名表AMC 8 讲座报名表'
1843
+ },
1844
+ desc: {
1845
+ type: String,
1846
+ default: '填写下方信息即可报名周末AMC 8 备考讲座填写下方信息即可报名周末AMC 8 备考讲座填写下方信息即可报名周末AMC 8 备考讲座'
1847
+ },
1848
+ crmTagList: {
1849
+ type: Array,
1850
+ default: function _default() {
1851
+ return [];
1852
+ }
1853
+ },
1854
+ questions: {
1855
+ type: Array,
1856
+ default: function _default() {
1857
+ return [{
1858
+ entryType: 'name',
1859
+ questionType: '4',
1860
+ title: '自定义',
1861
+ gradeList: [],
1862
+ firstName: 'First Name',
1863
+ lastName: 'Last Name',
1864
+ options: [{
1865
+ text: "123123",
1866
+ value: "",
1867
+ isOther: false
1868
+ }, {
1869
+ text: "11111111111",
1870
+ value: "",
1871
+ isOther: false
1872
+ }, {
1873
+ text: "2222222222222222",
1874
+ value: "",
1875
+ isOther: false
1876
+ }, {
1877
+ text: "33333333333333333",
1878
+ value: "",
1879
+ isOther: true
1880
+ }],
1881
+ areaCode: 'us',
1882
+ required: true
1883
+ }];
1884
+ }
1885
+ },
1886
+ buttonProps: {
1887
+ type: Object,
1888
+ default: function _default() {
1889
+ return {
1890
+ text: 'Submit',
1891
+ backgroundColor: '#FF9F0A',
1892
+ eventName: 'notified-submit',
1893
+ dialogType: 'alert',
1894
+ alert: {
1895
+ title: 'Successfully Submitted',
1896
+ message: '',
1897
+ buttonText: 'ok',
1898
+ buttonBgColor: '#FF9F0A'
1899
+ }
1900
+ };
1901
+ }
1902
+ },
1903
+ backgroundImgUrl: {
1904
+ type: String,
1905
+ default: 'https://img2.baidu.com/it/u=3202947311,1179654885&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500'
1906
+ },
1907
+ backgroundColor: {
1908
+ type: String,
1909
+ default: ''
1910
+ },
1911
+ talWebhook: {
1912
+ type: String,
1913
+ default: ''
1914
+ },
1915
+ talSecret: {
1916
+ type: String,
1917
+ default: ''
1918
+ }
1919
+ },
1920
+ data: function data() {
1921
+ return {
1922
+ areaCodeList: areaCodeList,
1923
+ form: {
1924
+ phone: '',
1925
+ name: '',
1926
+ areaCode: "",
1927
+ firstName: "",
1928
+ lastName: "",
1929
+ mail: "",
1930
+ grade: "",
1931
+ wechat: "",
1932
+ line: "",
1933
+ whatsapp: "",
1934
+ city: "",
1935
+ zipcode: ""
1936
+ },
1937
+ gradeList: [],
1938
+ showGradePicker: false,
1939
+ showAreaPicker: false,
1940
+ showCityPicker: false,
1941
+ showCustomizePicker: {},
1942
+ areacodeText: "+1",
1943
+ phoneReg: /^\d{1,99}$/
1944
+ };
1945
+ },
1946
+
1947
+ computed: {
1948
+ areaCodeNameList: function areaCodeNameList() {
1949
+ return this.areaCodeList.map(function (area) {
1950
+ return {
1951
+ value: area.value,
1952
+ text: area.text
1953
+ };
1954
+ });
1955
+ },
1956
+ backgroundImgStyle: function backgroundImgStyle() {
1957
+ if (this.backgroundImgUrl) {
1958
+ return {
1959
+ backgroundImage: 'url(' + this.backgroundImgUrl + ')',
1960
+ backgroundSize: 'cover',
1961
+ backgroundRepeat: 'no-repeat'
1962
+ };
1963
+ } else {
1964
+ return {};
1965
+ }
1966
+ },
1967
+ backgroundColorStyle: function backgroundColorStyle() {
1968
+ if (this.backgroundColor) {
1969
+ return {
1970
+ backgroundColor: this.backgroundColor
1971
+ };
1972
+ } else {
1973
+ return {};
1974
+ }
1975
+ }
1976
+ },
1977
+ watch: {
1978
+ questions: {
1979
+ handler: function handler(newValue) {
1980
+ var _this = this;
1981
+
1982
+ console.log("newValue", newValue);
1983
+ this.questions.map(function (question, index) {
1984
+ if (question.entryType === "phone") {
1985
+ var areaCodeObj = _this.areaCodeList.find(function (e) {
1986
+ return e.code === question.areaCode;
1987
+ });
1988
+ _this.areacodeText = areaCodeObj.text;
1989
+ _this.form.areaCode = areaCodeObj.value;
1990
+ _this.phoneReg = areaCodeObj.reg;
1991
+ }
1992
+ if (question.entryType === "grade") {
1993
+ var gradeList = question.gradeList.filter(function (i) {
1994
+ return i.checked;
1995
+ });
1996
+ var grade = gradeList[0];
1997
+ if (!_this.form.grade) {
1998
+ _this.form.grade = grade.name;
1999
+ _this.form.gradeValue = grade.value;
2000
+ }
2001
+ }
2002
+ if (question.entryType === "customize") {
2003
+ _this.$set(_this.showCustomizePicker, index, false);
2004
+ }
2005
+ });
2006
+ },
2007
+
2008
+ deep: true,
2009
+ immediate: true
2010
+ }
2011
+ },
2012
+ mounted: function mounted() {
2013
+ console.log("form", this.form);
2014
+ },
2015
+ destroyed: function destroyed() {},
2016
+
2017
+ methods: {
2018
+ validator: function validator(val) {
2019
+ return !val || /^([A-Za-z0-9_\-.])+@([A-Za-z0-9_\-.])+.([A-Za-z]{2,8})$/.test(val);
2020
+ },
2021
+ validatorPhone: function validatorPhone(val) {
2022
+ return !val || this.phoneReg.test(val);
2023
+ },
2024
+ bottomBtnClick: function bottomBtnClick() {
2025
+ this.$emit('btn-click', 'notified-submit', {
2026
+ props: this.$props
2027
+ });
2028
+ },
2029
+ onSubmit: function onSubmit() {
2030
+ var _this2 = this;
2031
+
2032
+ console.log("this.form", this.form);
2033
+ console.log(this.questions);
2034
+ this.questions.forEach(function (question) {
2035
+ // 有自定义
2036
+ var isOtherOptions = question.options.filter(function (option) {
2037
+ return option.isOther;
2038
+ });
2039
+ if (!isOtherOptions.length) return;
2040
+ if (question.questionType === '3') {
2041
+ if (question.entryType === 'city') {
2042
+ question.options.map(function (e) {
2043
+ if (e.text === _this2.form.city && e.isOther) {
2044
+ _this2.form.city = _this2.form.city + e.value;
2045
+ }
2046
+ });
2047
+ } else if (question.entryType === 'customize') {
2048
+ question.options.map(function (e) {
2049
+ if (e.text === _this2.form[question.title] && e.isOther) {
2050
+ _this2.form[question.title] = _this2.form[question.title] + e.value;
2051
+ }
2052
+ });
2053
+ }
2054
+ }
2055
+ if (question.questionType === '4') {
2056
+ var _isOtherOptions = question.options.filter(function (option) {
2057
+ return option.isOther;
2058
+ });
2059
+ if (!_isOtherOptions.length) return;
2060
+ question.options.map(function (e) {
2061
+ if (_this2.form[question.title].includes(e.text) && e.isOther) {
2062
+ _this2.form[question.title].splice(_this2.form[question.title].indexOf(e.text), 1);
2063
+ _this2.form[question.title].push(e.text + e.value);
2064
+ }
2065
+ });
2066
+ }
2067
+ });
2068
+ this.form.crmTagList = this.crmTagList;
2069
+ this.form.name = this.form.firstName + ' ' + this.form.lastName;
2070
+ this.form.talWebhook = this.talWebhook;
2071
+ this.form.talSecret = this.talSecret;
2072
+ this.$emit('btn-click', this.buttonProps.eventName, this.form);
2073
+ },
2074
+ onConfirmGrade: function onConfirmGrade(value, index) {
2075
+ console.log("onConfirmGrade", value, index);
2076
+ var gradeList = this.questions.find(function (q) {
2077
+ return q.entryType === 'grade';
2078
+ }).gradeList.filter(function (i) {
2079
+ return i.checked;
2080
+ });
2081
+ var grade = gradeList[index];
2082
+ this.form.grade = grade.name;
2083
+ this.form.gradeValue = grade.value;
2084
+ this.showGradePicker = false;
2085
+ },
2086
+ onConfirmArea: function onConfirmArea(value, index) {
2087
+ console.log("onConfirmArea", value, index);
2088
+ var areaObj = this.areaCodeList[index];
2089
+ this.phoneReg = areaObj.reg;
2090
+ this.form.areaCode = areaObj.value;
2091
+ this.areacodeText = areaObj.text;
2092
+ this.showAreaPicker = false;
2093
+ },
2094
+ onConfirmCity: function onConfirmCity(value) {
2095
+ this.form.city = value;
2096
+ this.showCityPicker = false;
2097
+ }
2098
+ }
2099
+ });
2100
+ // CONCATENATED MODULE: ./packages/business/notified-panel/src/index.vue?vue&type=script&lang=js&
2101
+ /* harmony default export */ var notified_panel_srcvue_type_script_lang_js_ = (srcvue_type_script_lang_js_);
2102
+ // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
2103
+ var componentNormalizer = __webpack_require__(0);
2104
+
2105
+ // CONCATENATED MODULE: ./packages/business/notified-panel/src/index.vue
2106
+
2107
+
2108
+
2109
+
2110
+
2111
+ /* normalize component */
2112
+
2113
+ var component = Object(componentNormalizer["a" /* default */])(
2114
+ notified_panel_srcvue_type_script_lang_js_,
2115
+ render,
2116
+ staticRenderFns,
2117
+ false,
2118
+ null,
2119
+ null,
2120
+ null
2121
+
2122
+ )
2123
+
2124
+ /* hot reload */
2125
+ if (false) { var api; }
2126
+ component.options.__file = "packages/business/notified-panel/src/index.vue"
2127
+ /* harmony default export */ var src = (component.exports);
2128
+ // CONCATENATED MODULE: ./packages/business/notified-panel/index.js
2129
+
2130
+
2131
+ // install 是默认的方法,供按需引入
2132
+ // 当外界在 use 这个组件的时候,就会调用本身的install方法,同时传一个Vue这个类的参数
2133
+
2134
+ src.install = function (Vue) {
2135
+ Vue.component(src.name, src);
2136
+ };
2137
+
2138
+ /* harmony default export */ var notified_panel = __webpack_exports__["default"] = (src);
2139
+
2140
+ /***/ })
2141
+ /******/ ]);