@jctrans-materials/comps-vue3 1.0.42-beta.3 → 1.0.42-beta.5

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.
package/dist/index.esm.js CHANGED
@@ -1809,7 +1809,7 @@ const _hoisted_23$2 = {
1809
1809
  key: 0,
1810
1810
  class: "no-result-label"
1811
1811
  };
1812
- const _hoisted_24$2 = {
1812
+ const _hoisted_24$1 = {
1813
1813
  key: 1,
1814
1814
  class: "no-result-label"
1815
1815
  };
@@ -2293,7 +2293,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
2293
2293
  unref(isFetchingMore) ? (openBlock(), createElementBlock("div", _hoisted_21$4, toDisplayString(isEn.value ? "Loading more..." : "正在加载更多..."), 1)) : createCommentVNode("", true)
2294
2294
  ], 64)) : query.value && !unref(loading) ? (openBlock(), createElementBlock("div", _hoisted_22$3, [
2295
2295
  renderSlot(_ctx.$slots, "noData", {}, () => [
2296
- !__props.showApplyData ? (openBlock(), createElementBlock("p", _hoisted_23$2, toDisplayString(isEn.value ? `No results found related to "${query.value}".` : `未找到与 "${query.value}" 相关的结果`), 1)) : (openBlock(), createElementBlock("div", _hoisted_24$2, [
2296
+ !__props.showApplyData ? (openBlock(), createElementBlock("p", _hoisted_23$2, toDisplayString(isEn.value ? `No results found related to "${query.value}".` : `未找到与 "${query.value}" 相关的结果`), 1)) : (openBlock(), createElementBlock("div", _hoisted_24$1, [
2297
2297
  createTextVNode(toDisplayString(isEn.value ? `No results found. ` : `暂无结果,`) + " ", 1),
2298
2298
  createElementVNode("div", _hoisted_25$1, [
2299
2299
  createElementVNode("span", {
@@ -11900,9 +11900,22 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11900
11900
  return props.isEn ? "Set Password" : "设置密码";
11901
11901
  });
11902
11902
  const emit = __emit;
11903
+ const visibleTabs = computed(() => {
11904
+ var _a, _b, _c;
11905
+ return {
11906
+ password: props.showPasswordTab && ((_a = props.userAccount) == null ? void 0 : _a.hasPassword) !== false,
11907
+ email: !!((_b = props.userAccount) == null ? void 0 : _b.email),
11908
+ mobile: !!((_c = props.userAccount) == null ? void 0 : _c.mobile)
11909
+ };
11910
+ });
11903
11911
  const currentVisible = ref(props.visible);
11904
- const initialTab = props.showPasswordTab ? "password" : "email";
11905
- const activeTab = ref(initialTab);
11912
+ const initialTab = computed(() => {
11913
+ if (visibleTabs.value.password) return "password";
11914
+ if (visibleTabs.value.email) return "email";
11915
+ if (visibleTabs.value.mobile) return "mobile";
11916
+ return "email";
11917
+ });
11918
+ const activeTab = ref(initialTab.value);
11906
11919
  const loading = ref(false);
11907
11920
  const formRef = ref();
11908
11921
  const form = reactive({
@@ -12002,7 +12015,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
12002
12015
  form.confirmPassword = "";
12003
12016
  form.code = "";
12004
12017
  codeVerifyUuid.value = "";
12005
- activeTab.value = initialTab;
12018
+ activeTab.value = initialTab.value;
12006
12019
  loading.value = false;
12007
12020
  (_a = formRef.value) == null ? void 0 : _a.clearValidate();
12008
12021
  }
@@ -12110,7 +12123,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
12110
12123
  createElementVNode("h1", null, toDisplayString(computedTitle.value), 1)
12111
12124
  ]),
12112
12125
  createElementVNode("div", _hoisted_3$q, [
12113
- __props.showPasswordTab ? (openBlock(), createElementBlock("div", {
12126
+ visibleTabs.value.password ? (openBlock(), createElementBlock("div", {
12114
12127
  key: 0,
12115
12128
  class: normalizeClass(["tab-item", { active: activeTab.value === "password" }]),
12116
12129
  onClick: _cache[0] || (_cache[0] = ($event) => handleTabChange("password"))
@@ -12133,7 +12146,8 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
12133
12146
  ], -1)),
12134
12147
  createTextVNode(" " + toDisplayString(__props.isEn ? "Password Verify" : "密码验证"), 1)
12135
12148
  ], 2)) : createCommentVNode("", true),
12136
- createElementVNode("div", {
12149
+ visibleTabs.value.email ? (openBlock(), createElementBlock("div", {
12150
+ key: 1,
12137
12151
  class: normalizeClass(["tab-item", { active: activeTab.value === "email" }]),
12138
12152
  onClick: _cache[1] || (_cache[1] = ($event) => handleTabChange("email"))
12139
12153
  }, [
@@ -12149,8 +12163,9 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
12149
12163
  })
12150
12164
  ], -1)),
12151
12165
  createTextVNode(" " + toDisplayString(__props.isEn ? "Email Verify" : "邮箱验证"), 1)
12152
- ], 2),
12153
- createElementVNode("div", {
12166
+ ], 2)) : createCommentVNode("", true),
12167
+ visibleTabs.value.mobile ? (openBlock(), createElementBlock("div", {
12168
+ key: 2,
12154
12169
  class: normalizeClass(["tab-item", { active: activeTab.value === "mobile" }]),
12155
12170
  onClick: _cache[2] || (_cache[2] = ($event) => handleTabChange("mobile"))
12156
12171
  }, [
@@ -12166,7 +12181,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
12166
12181
  })
12167
12182
  ], -1)),
12168
12183
  createTextVNode(" " + toDisplayString(__props.isEn ? "Mobile Verify" : "手机验证"), 1)
12169
- ], 2)
12184
+ ], 2)) : createCommentVNode("", true)
12170
12185
  ]),
12171
12186
  createVNode(unref(ElForm), {
12172
12187
  ref_key: "formRef",
@@ -12321,7 +12336,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
12321
12336
  };
12322
12337
  }
12323
12338
  });
12324
- const index$5 = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-b7981886"]]);
12339
+ const index$5 = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-dbd901cf"]]);
12325
12340
  const __vite_glob_0_1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
12326
12341
  __proto__: null,
12327
12342
  default: index$5
@@ -22476,6 +22491,8 @@ const _sfc_main$d = {
22476
22491
  companyResistCn: false,
22477
22492
  // 滑块验证通过后保存的验证数据(uuid + code),用于获取验证码和提交注册
22478
22493
  verifyData: {},
22494
+ // 动态表单项强制重新渲染的 key,切换国家/登录方式时递增
22495
+ formKey: 0,
22479
22496
  // 注册分步状态:1(城市+联系方式) 或 2(验证码+行业+公司+协议)
22480
22497
  registerStep: 1,
22481
22498
  // Step 1 进入 Step 2 时快照当前联系方式,返回 Step 1 时用于判断是否需重置验证码
@@ -22857,6 +22874,7 @@ const _sfc_main$d = {
22857
22874
  this.form.nameEn = "";
22858
22875
  this.form.firstName = "";
22859
22876
  this.form.lastName = "";
22877
+ this.formKey++;
22860
22878
  }
22861
22879
  this.$nextTick(() => {
22862
22880
  if (this.form.companyName) {
@@ -23184,11 +23202,7 @@ const _hoisted_19$2 = { class: "card-header" };
23184
23202
  const _hoisted_20$1 = { class: "title-group" };
23185
23203
  const _hoisted_21$1 = { class: "tip-text" };
23186
23204
  const _hoisted_22$1 = { class: "location-info" };
23187
- const _hoisted_23$1 = {
23188
- key: 1,
23189
- class: "name-row"
23190
- };
23191
- const _hoisted_24$1 = { class: "agree-text" };
23205
+ const _hoisted_23$1 = { class: "agree-text" };
23192
23206
  function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
23193
23207
  const _component_JcSearch = resolveComponent("JcSearch");
23194
23208
  const _component_JcFloatWrapper = resolveComponent("JcFloatWrapper");
@@ -23258,14 +23272,14 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
23258
23272
  _: 1
23259
23273
  }),
23260
23274
  $options.currentCountryIsChina ? (openBlock(), createBlock(_component_el_form_item, {
23261
- key: 0,
23262
- class: "phone-form-item"
23275
+ class: "phone-form-item",
23276
+ key: "phone-wrap-" + $data.formKey
23263
23277
  }, {
23264
23278
  default: withCtx(() => [
23265
23279
  (openBlock(), createBlock(_component_el_form_item, {
23266
23280
  prop: "phone",
23267
23281
  ref: "phone",
23268
- key: 8,
23282
+ key: "phone-" + $data.formKey,
23269
23283
  class: "tel-mobile",
23270
23284
  "inline-message": true
23271
23285
  }, {
@@ -23326,9 +23340,9 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
23326
23340
  _: 1
23327
23341
  })) : createCommentVNode("", true),
23328
23342
  !$options.currentCountryIsChina ? (openBlock(), createBlock(_component_el_form_item, {
23329
- key: 1,
23330
23343
  prop: "email",
23331
- class: "email-form-item"
23344
+ class: "email-form-item",
23345
+ key: "email-" + $data.formKey
23332
23346
  }, {
23333
23347
  default: withCtx(() => [
23334
23348
  createVNode(_component_JcFloatInput, {
@@ -23488,9 +23502,9 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
23488
23502
  createElementVNode("div", _hoisted_22$1, toDisplayString($props.isEn ? $data.resistCompanyInfo.countryNameEn : $data.resistCompanyInfo.countryNameCn) + " / " + toDisplayString($props.isEn ? $data.resistCompanyInfo.cityNameEn : $data.resistCompanyInfo.cityNameCn), 1)
23489
23503
  ]),
23490
23504
  $options.currentCountryIsChina ? (openBlock(), createBlock(_component_el_form_item, {
23491
- key: 0,
23492
23505
  prop: "nameCn",
23493
- class: "name-input-item"
23506
+ class: "name-input-item",
23507
+ key: "nameCn-" + $data.formKey
23494
23508
  }, {
23495
23509
  default: withCtx(() => [
23496
23510
  createVNode(_component_JcFloatInput, {
@@ -23506,7 +23520,10 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
23506
23520
  }, 8, ["modelValue", "label", "placeholder"])
23507
23521
  ]),
23508
23522
  _: 1
23509
- })) : (openBlock(), createElementBlock("div", _hoisted_23$1, [
23523
+ })) : (openBlock(), createElementBlock("div", {
23524
+ class: "name-row",
23525
+ key: "nameEn-" + $data.formKey
23526
+ }, [
23510
23527
  createVNode(_component_el_form_item, {
23511
23528
  prop: "firstName",
23512
23529
  class: "name-input-item name-part"
@@ -23557,7 +23574,7 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
23557
23574
  "onUpdate:modelValue": _cache[24] || (_cache[24] = ($event) => $data.form.agree = $event)
23558
23575
  }, {
23559
23576
  default: withCtx(() => [
23560
- createElementVNode("span", _hoisted_24$1, [
23577
+ createElementVNode("span", _hoisted_23$1, [
23561
23578
  $props.isEn ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
23562
23579
  _cache[37] || (_cache[37] = createTextVNode(" I agree ", -1)),
23563
23580
  createElementVNode("span", {
@@ -23611,7 +23628,7 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
23611
23628
  }, 8, ["model", "rules"])
23612
23629
  ]);
23613
23630
  }
23614
- const RegisterForm = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$3], ["__scopeId", "data-v-4ae4e4b8"]]);
23631
+ const RegisterForm = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$3], ["__scopeId", "data-v-42b3691f"]]);
23615
23632
  const _imports_0$3 = "data:image/webp;base64,UklGRs4CAABXRUJQVlA4WAoAAAAQAAAAJwAAJwAAQUxQSFoBAAABN6KgbRtmp+3Gn/RDEBEEkzTVdowBQKcP3554FoBl23ba5llJyswNJ2VumGWofOY/p8qSit8R/Z8A+a8elYOpw8ta7XyzQK0aYSpXkxxr+l5TIvLMOMTaaw75atjrjVMg6apzYNuvnZH3q2Wxbl7NYR4Ddz6qB+/b4lxd8llHbmrIR018WxYu3QboXfHdMLae0xXZtvhGY+x52WHLcCHeNxRfOfR5Fu/tpdZaJ1mWZeOiA0zFL+w9j/I9NSffY5NUvmeVwTfp8PxNbrn9HRbs2zo8fU3Muq3K6EtK5JFtkzT6ilPmUrji+CvueSh64OULVMJJ0TamEq7JXBx7vAZTCVWXbcNlqBdm4nxFthPmGrPrJj2SvRBXUBdPNcTUvdQTXIu3eoP+gVt1hWlKyLaBQaNs275awvJIwlYeDaBH/f40BXQnkuCVq7HBmr5VI/naaP+iWj1bl98fVlA4IE4BAAAQBwCdASooACgAPi0ShkKhoQ42SgAMAWJZWxKQyHAkNc+PADbI89n6J94A3jAJQK0xA6Tk60mYtNspcySSE/tFIADM///yqf//Kgv//ywQt7g1bu7h+xw3tKfdFW3YSP2h0iF6VIn4CTXLv//vM//94Jv//ee+S0E0m6xnEgxdBDf7ewX/lL4BgZWe2EfgOrK0pMN4Qy5uWqWBS4KWWUfrCz0nMK/H/I4/+XhdD+65pGbyiKvih/6tn//ciDb/uimjajMDV4Q/Xe6/5j9xYKcn08xURQpu0wODf/+3SuKUFZLR0yHKFUmWQGuB/RhP/o3UFQW2JYdAdLNwvjre+S6H5X//i0Kc3jhiy9mLmUsuJ+4/5++fwdGZUbaTBUfk9QB9rjsVLVNwQW2lzccI98O08eePpfHRQKN1FzjT/cMehMc50hgx//o3l7EokAAA";
23616
23633
  const _imports_1$2 = "data:image/webp;base64,UklGRhACAABXRUJQVlA4WAoAAAAQAAAAGAAAFwAAQUxQSOcAAAABgINt27HlzZxs1+i945+yudmaXJMm27btmmzbtm094f2+L88RMQHoH0ivGDZ+dTufRGOhwhmw/QIfT5NlyDEEHdz1zdzA5sDmTZ4EKeWJp2may+JdpEray5o7HRnnPYCzy2e43uvNSQvW5CfhcwDY1eKWK4CX3WgRAt0NzG7T6At8vGkUw3FXXX8YGLkf9c+8rLBeOI2gxyD51juA6+5ZuFjaej6YvL3vEsEhxb5nuOicA8KHHlECg1QHMzfnukeCszhGAgY6hBCT+RTuvkMWUWQz7XsGgPs2OUSdS9Uv2N0tWOIT/l4AVlA4IAIBAACwBwCdASoZABgAPjESh0KiIQ39VgAQAYJbACdM5JkB+meFg2gDaAN0l4AD9QPSA/wHuJ/sl6KYX31WXITTIqQjhEf+VVEAAP0cZ9TkuKczs9Y1za4WaelqmDJ+pg5xRI8RGqa0Xf/vA/xc/Jt7352wODrO+GBNH/+k0H/0IZkEP/+9kflw8xfZOvuJnYDve0V1+ez//9tEgIWxjEjRen4x7s8w+Gha3PQxumTkBwxFTp+YlQXvZzWdZW3wRP0nsu895denVK5N8FE8Zg23a9118GTARL99uq+SY4/E8PeGs/GKL4ufe2EdSmq0ixJ9pxRZOAX/4XkoyRtaDa35BrgAAAA=";
23617
23634
  const _hoisted_1$c = { class: "login-wx" };
@@ -24764,6 +24781,8 @@ const _sfc_main$8 = {
24764
24781
  verifyData: {},
24765
24782
  codeReady: false,
24766
24783
  codeSent: false,
24784
+ // 动态表单项强制重新渲染的 key,切换国家时递增
24785
+ formKey: 0,
24767
24786
  mobileCodeReady: false,
24768
24787
  emailCodeReady: false,
24769
24788
  mobileCodeSent: false,
@@ -24972,8 +24991,12 @@ const _sfc_main$8 = {
24972
24991
  },
24973
24992
  handleSelectCity(e) {
24974
24993
  var _a, _b, _c, _d;
24994
+ const prevCountryId = this.form.countryId;
24975
24995
  this.form.cityId = e.id;
24976
24996
  this.form.countryId = ((_b = (_a = e.raw) == null ? void 0 : _a.country) == null ? void 0 : _b.id) || ((_d = (_c = e.raw) == null ? void 0 : _c.city) == null ? void 0 : _d.countryId) || "";
24997
+ if (prevCountryId && Number(prevCountryId) !== Number(this.form.countryId)) {
24998
+ this.formKey++;
24999
+ }
24977
25000
  this.$nextTick(() => {
24978
25001
  if (!this.hasResistCompany && this.form.companyName) {
24979
25002
  this.$refs.formRef.validateField("companyName");
@@ -25197,7 +25220,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
25197
25220
  createElementVNode("div", _hoisted_2$6, [
25198
25221
  createElementVNode("div", _hoisted_3$6, toDisplayString($props.isEn ? "Complete Your Information" : "完善企业信息"), 1),
25199
25222
  createElementVNode("div", _hoisted_4$6, [
25200
- _cache[17] || (_cache[17] = createElementVNode("img", {
25223
+ _cache[18] || (_cache[18] = createElementVNode("img", {
25201
25224
  src: "https://resources.jctrans.com/res/era/pc/img/icon_gantan.png",
25202
25225
  alt: ""
25203
25226
  }, null, -1)),
@@ -25230,7 +25253,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
25230
25253
  placeholder: $props.isEn ? "Location(City)" : "请输入公司所在城市",
25231
25254
  onSelect: $options.handleSelectCity
25232
25255
  }, {
25233
- prefix: withCtx(() => [..._cache[18] || (_cache[18] = [
25256
+ prefix: withCtx(() => [..._cache[19] || (_cache[19] = [
25234
25257
  createElementVNode("i", { class: "icon-auth-location" }, null, -1)
25235
25258
  ])]),
25236
25259
  _: 1
@@ -25261,7 +25284,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
25261
25284
  "onUpdate:existStatus": $options.handleCompanyExistStatus,
25262
25285
  onChange: $options.handleChangeCompany
25263
25286
  }, {
25264
- prefix: withCtx(() => [..._cache[19] || (_cache[19] = [
25287
+ prefix: withCtx(() => [..._cache[20] || (_cache[20] = [
25265
25288
  createElementVNode("i", { class: "icon-auth-company" }, null, -1)
25266
25289
  ])]),
25267
25290
  _: 1
@@ -25312,25 +25335,45 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
25312
25335
  ]),
25313
25336
  createElementVNode("div", _hoisted_19$1, toDisplayString($props.isEn ? $data.resistCompanyInfo.countryNameEn : $data.resistCompanyInfo.countryNameCn) + " / " + toDisplayString($props.isEn ? $data.resistCompanyInfo.cityNameEn : $data.resistCompanyInfo.cityNameCn), 1)
25314
25337
  ]),
25315
- createVNode(_component_el_form_item, {
25316
- prop: $options.currentCountryIsChina ? "nameCn" : "nameEn",
25317
- class: "name-input-item"
25338
+ $options.currentCountryIsChina ? (openBlock(), createBlock(_component_el_form_item, {
25339
+ prop: "nameCn",
25340
+ class: "name-input-item",
25341
+ key: "nameCn-" + $data.formKey
25318
25342
  }, {
25319
25343
  default: withCtx(() => [
25320
25344
  createVNode(_component_JcFloatInput, {
25321
- modelValue: $data.form[$options.currentCountryIsChina ? "nameCn" : "nameEn"],
25322
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => $data.form[$options.currentCountryIsChina ? "nameCn" : "nameEn"] = $event),
25323
- label: $options.currentCountryIsChina ? $props.isEn ? "Your Full Name in Chinese" : "您的中文名称" : $props.isEn ? "Your Full Name in English" : "您的名称",
25345
+ modelValue: $data.form.nameCn,
25346
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => $data.form.nameCn = $event),
25347
+ label: $props.isEn ? "Your Full Name in Chinese" : "您的中文名称",
25324
25348
  placeholder: $props.isEn ? "Please enter your name to prove your identity" : "请输入您的姓名,以证明您的身份"
25325
25349
  }, {
25326
- prefix: withCtx(() => [..._cache[20] || (_cache[20] = [
25350
+ prefix: withCtx(() => [..._cache[21] || (_cache[21] = [
25327
25351
  createElementVNode("i", { class: "icon-auth-user" }, null, -1)
25328
25352
  ])]),
25329
25353
  _: 1
25330
25354
  }, 8, ["modelValue", "label", "placeholder"])
25331
25355
  ]),
25332
25356
  _: 1
25333
- }, 8, ["prop"])
25357
+ })) : (openBlock(), createBlock(_component_el_form_item, {
25358
+ prop: "nameEn",
25359
+ class: "name-input-item",
25360
+ key: "nameEn-" + $data.formKey
25361
+ }, {
25362
+ default: withCtx(() => [
25363
+ createVNode(_component_JcFloatInput, {
25364
+ modelValue: $data.form.nameEn,
25365
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => $data.form.nameEn = $event),
25366
+ label: $props.isEn ? "Your Full Name in English" : "您的名称",
25367
+ placeholder: $props.isEn ? "Please enter your name to prove your identity" : "请输入您的姓名,以证明您的身份"
25368
+ }, {
25369
+ prefix: withCtx(() => [..._cache[22] || (_cache[22] = [
25370
+ createElementVNode("i", { class: "icon-auth-user" }, null, -1)
25371
+ ])]),
25372
+ _: 1
25373
+ }, 8, ["modelValue", "label", "placeholder"])
25374
+ ]),
25375
+ _: 1
25376
+ }))
25334
25377
  ], 64)),
25335
25378
  $options.isShowMobileCode ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
25336
25379
  createVNode(_component_el_form_item, {
@@ -25347,16 +25390,16 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
25347
25390
  default: withCtx(() => [
25348
25391
  createVNode(_component_GoogleInput, {
25349
25392
  modelValue: $data.form.phone,
25350
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => $data.form.phone = $event),
25393
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => $data.form.phone = $event),
25351
25394
  placeholder: $props.isEn ? "Cell Phone Number" : "手机号码",
25352
25395
  label: $props.isEn ? "Cell Phone Number" : "手机号码",
25353
25396
  clearable: "",
25354
25397
  autocomplete: "off",
25355
- onBlur: _cache[10] || (_cache[10] = ($event) => $options.validateField("phone")),
25398
+ onBlur: _cache[11] || (_cache[11] = ($event) => $options.validateField("phone")),
25356
25399
  maxlength: "15"
25357
25400
  }, {
25358
25401
  prefix: withCtx(() => [
25359
- _cache[21] || (_cache[21] = createElementVNode("i", { class: "icon-auth-phone" }, null, -1)),
25402
+ _cache[23] || (_cache[23] = createElementVNode("i", { class: "icon-auth-phone" }, null, -1)),
25360
25403
  createVNode(_component_el_form_item, {
25361
25404
  prop: "areaCode",
25362
25405
  class: "tel-areacode",
@@ -25365,9 +25408,9 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
25365
25408
  default: withCtx(() => [
25366
25409
  createVNode(_component_el_select, {
25367
25410
  modelValue: $data.form.areaCode,
25368
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => $data.form.areaCode = $event),
25411
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => $data.form.areaCode = $event),
25369
25412
  placeholder: $props.isEn ? "Code" : "区号",
25370
- onChange: _cache[8] || (_cache[8] = ($event) => $options.validateField("areaCode")),
25413
+ onChange: _cache[9] || (_cache[9] = ($event) => $options.validateField("areaCode")),
25371
25414
  "popper-class": `jc-area-code-select-wrapper`
25372
25415
  }, {
25373
25416
  default: withCtx(() => [
@@ -25397,16 +25440,16 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
25397
25440
  default: withCtx(() => [
25398
25441
  createVNode(_component_CodeInput, {
25399
25442
  modelValue: $data.form.mobileCode,
25400
- "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => $data.form.mobileCode = $event),
25443
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => $data.form.mobileCode = $event),
25401
25444
  label: $options.codeInputLabel,
25402
25445
  placeholder: $props.isEn ? "Enter 4 Verification Code" : "请输入4位数字验证码",
25403
25446
  ready: $data.mobileCodeReady,
25404
25447
  "is-en": $props.isEn,
25405
25448
  "show-icon": "",
25406
25449
  "form-type-color": "4",
25407
- onSend: _cache[12] || (_cache[12] = (data) => $options.handleGetCode(data, "mobile"))
25450
+ onSend: _cache[13] || (_cache[13] = (data) => $options.handleGetCode(data, "mobile"))
25408
25451
  }, {
25409
- prefix: withCtx(() => [..._cache[22] || (_cache[22] = [
25452
+ prefix: withCtx(() => [..._cache[24] || (_cache[24] = [
25410
25453
  createElementVNode("i", { class: "icon-verify" }, null, -1)
25411
25454
  ])]),
25412
25455
  _: 1
@@ -25423,12 +25466,12 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
25423
25466
  default: withCtx(() => [
25424
25467
  createVNode(_component_JcFloatInput, {
25425
25468
  modelValue: $data.form.email,
25426
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => $data.form.email = $event),
25469
+ "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => $data.form.email = $event),
25427
25470
  label: $props.isEn ? "Business Email Address" : "企业邮箱",
25428
25471
  placeholder: $props.isEn ? "Business Email Address, QQ Mail is not available" : "请输入您的企业邮箱,暂不支持QQ邮箱",
25429
- onBlur: _cache[14] || (_cache[14] = ($event) => $options.validateField("email"))
25472
+ onBlur: _cache[15] || (_cache[15] = ($event) => $options.validateField("email"))
25430
25473
  }, {
25431
- prefix: withCtx(() => [..._cache[23] || (_cache[23] = [
25474
+ prefix: withCtx(() => [..._cache[25] || (_cache[25] = [
25432
25475
  createElementVNode("i", { class: "icon-auth-email" }, null, -1)
25433
25476
  ])]),
25434
25477
  _: 1
@@ -25440,16 +25483,16 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
25440
25483
  default: withCtx(() => [
25441
25484
  createVNode(_component_CodeInput, {
25442
25485
  modelValue: $data.form.emailCode,
25443
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => $data.form.emailCode = $event),
25486
+ "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => $data.form.emailCode = $event),
25444
25487
  label: $options.codeInputLabel,
25445
25488
  placeholder: $props.isEn ? "Enter 4 Verification Code" : "请输入4位数字验证码",
25446
25489
  ready: $data.emailCodeReady,
25447
25490
  "is-en": $props.isEn,
25448
25491
  "show-icon": "",
25449
25492
  "form-type-color": "4",
25450
- onSend: _cache[16] || (_cache[16] = (data) => $options.handleGetCode(data, "email"))
25493
+ onSend: _cache[17] || (_cache[17] = (data) => $options.handleGetCode(data, "email"))
25451
25494
  }, {
25452
- prefix: withCtx(() => [..._cache[24] || (_cache[24] = [
25495
+ prefix: withCtx(() => [..._cache[26] || (_cache[26] = [
25453
25496
  createElementVNode("i", { class: "icon-verify" }, null, -1)
25454
25497
  ])]),
25455
25498
  _: 1
@@ -25474,7 +25517,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
25474
25517
  }, 8, ["model", "rules"])
25475
25518
  ]);
25476
25519
  }
25477
- const CompleteInfoForm = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$1], ["__scopeId", "data-v-8d245598"]]);
25520
+ const CompleteInfoForm = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$1], ["__scopeId", "data-v-388cd5f0"]]);
25478
25521
  const _hoisted_1$7 = { class: "auth-footer-box" };
25479
25522
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
25480
25523
  __name: "FooterBox",
@@ -26531,6 +26574,8 @@ const _sfc_main$3 = {
26531
26574
  companyResistEn: false,
26532
26575
  companyResistCn: false,
26533
26576
  verifyData: {},
26577
+ // 动态表单项强制重新渲染的 key,切换国家时递增
26578
+ formKey: 0,
26534
26579
  registerStep: 1,
26535
26580
  step1AccountSnapshot: "",
26536
26581
  form: {
@@ -26845,6 +26890,7 @@ const _sfc_main$3 = {
26845
26890
  this.form.nameEn = "";
26846
26891
  this.form.firstName = "";
26847
26892
  this.form.lastName = "";
26893
+ this.formKey++;
26848
26894
  }
26849
26895
  this.$nextTick(() => {
26850
26896
  if (this.form.companyName) {
@@ -27197,14 +27243,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
27197
27243
  _: 1
27198
27244
  }),
27199
27245
  $options.currentCountryIsChina ? (openBlock(), createBlock(_component_el_form_item, {
27200
- key: 0,
27201
- class: "phone-form-item"
27246
+ class: "phone-form-item",
27247
+ key: "phone-wrap-" + $data.formKey
27202
27248
  }, {
27203
27249
  default: withCtx(() => [
27204
27250
  (openBlock(), createBlock(_component_el_form_item, {
27205
27251
  prop: "phone",
27206
27252
  ref: "phone",
27207
- key: 8,
27253
+ key: "phone-" + $data.formKey,
27208
27254
  class: "tel-mobile",
27209
27255
  "inline-message": true
27210
27256
  }, {
@@ -27265,9 +27311,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
27265
27311
  _: 1
27266
27312
  })) : createCommentVNode("", true),
27267
27313
  !$options.currentCountryIsChina ? (openBlock(), createBlock(_component_el_form_item, {
27268
- key: 1,
27269
27314
  prop: "email",
27270
- class: "email-form-item"
27315
+ class: "email-form-item",
27316
+ key: "email-" + $data.formKey
27271
27317
  }, {
27272
27318
  default: withCtx(() => [
27273
27319
  createVNode(_component_JcFloatInput, {
@@ -27541,7 +27587,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
27541
27587
  }, 8, ["model", "rules"])
27542
27588
  ]);
27543
27589
  }
27544
- const ThirdRegisterForm = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render], ["__scopeId", "data-v-fda6eabc"]]);
27590
+ const ThirdRegisterForm = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render], ["__scopeId", "data-v-0922f7b6"]]);
27545
27591
  function useLoginForm(options) {
27546
27592
  const { isEn, loginType } = options;
27547
27593
  const loginFormRef = ref();
@@ -27561,6 +27607,7 @@ function useLoginForm(options) {
27561
27607
  const codeReady = ref(false);
27562
27608
  const loginMethod = ref("email");
27563
27609
  const verifyData = ref({});
27610
+ const formKey = ref(0);
27564
27611
  const captchaVisible = ref(false);
27565
27612
  const mobileUid = ref("");
27566
27613
  const emailUid = ref("");
@@ -27622,6 +27669,7 @@ function useLoginForm(options) {
27622
27669
  function switchLoginTab(type) {
27623
27670
  if (loginType.value === type) return;
27624
27671
  loginType.value = type;
27672
+ formKey.value++;
27625
27673
  nextTick(() => {
27626
27674
  if (!loginFormRef.value) return;
27627
27675
  loginFormRef.value.clearValidate();
@@ -27712,6 +27760,7 @@ function useLoginForm(options) {
27712
27760
  }
27713
27761
  async function handleChangeSubType(type) {
27714
27762
  loginMethod.value = type;
27763
+ formKey.value++;
27715
27764
  if (type == "mobile") {
27716
27765
  if (areaCodeData.value.length === 0) {
27717
27766
  await getLocalIpData();
@@ -27750,6 +27799,7 @@ function useLoginForm(options) {
27750
27799
  verifyData,
27751
27800
  captchaVisible,
27752
27801
  loginMethod,
27802
+ formKey,
27753
27803
  // 计算属性
27754
27804
  computedRules,
27755
27805
  // 方法
@@ -27895,6 +27945,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
27895
27945
  verifyData,
27896
27946
  captchaVisible,
27897
27947
  computedRules,
27948
+ formKey,
27898
27949
  switchLoginTab,
27899
27950
  validateField,
27900
27951
  handleGetCode,
@@ -28300,7 +28351,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
28300
28351
  (openBlock(), createBlock(unref(ElFormItem), {
28301
28352
  prop: "phone",
28302
28353
  ref: "phone",
28303
- key: 8,
28354
+ key: "phone-" + unref(formKey),
28304
28355
  class: "tel-mobile",
28305
28356
  "inline-message": true
28306
28357
  }, {
@@ -28528,7 +28579,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
28528
28579
  };
28529
28580
  }
28530
28581
  });
28531
- const index$2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-80de1603"]]);
28582
+ const index$2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-32d7a7e9"]]);
28532
28583
  const __vite_glob_0_16 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
28533
28584
  __proto__: null,
28534
28585
  default: index$2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jctrans-materials/comps-vue3",
3
- "version": "1.0.42-beta.3",
3
+ "version": "1.0.42-beta.5",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "type": "module",
@@ -38,7 +38,7 @@
38
38
  "nanoid": "^5.1.6",
39
39
  "qrcode": "^1.5.4",
40
40
  "tailwindcss": "4.1.18",
41
- "@jctrans-materials/shared": "1.0.42-beta.3"
41
+ "@jctrans-materials/shared": "1.0.42-beta.5"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@tailwindcss/postcss": "4.1.18",