@fecp/mobile 1.0.13 → 1.0.14

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.
@@ -3,24 +3,29 @@
3
3
  /* empty css */
4
4
  /* empty css */
5
5
  /* empty css */
6
- import { createBlock, openBlock, normalizeProps, guardReactiveProps, createSlots, renderList, withCtx, renderSlot } from "vue";
7
- import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
6
+ import { useAttrs, createBlock, openBlock, mergeProps, unref, createSlots, renderList, withCtx, renderSlot } from "vue";
7
+ import { parseRule } from "../../../utils/formRule.mjs";
8
8
  import { Field } from "../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/field/index.mjs";
9
- const _sfc_main = {};
10
- function _sfc_render(_ctx, _cache) {
11
- const _component_van_field = Field;
12
- return openBlock(), createBlock(_component_van_field, normalizeProps(guardReactiveProps(_ctx.$attrs)), createSlots({ _: 2 }, [
13
- renderList(_ctx.$slots, (item, key) => {
14
- return {
15
- name: key,
16
- fn: withCtx(() => [
17
- renderSlot(_ctx.$slots, key)
18
- ])
19
- };
20
- })
21
- ]), 1040);
22
- }
23
- const _Field = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
9
+ const _sfc_main = {
10
+ __name: "Field",
11
+ setup(__props) {
12
+ const attrs = useAttrs();
13
+ const rules = parseRule(attrs);
14
+ return (_ctx, _cache) => {
15
+ const _component_van_field = Field;
16
+ return openBlock(), createBlock(_component_van_field, mergeProps(_ctx.$attrs, { rules: unref(rules) }), createSlots({ _: 2 }, [
17
+ renderList(_ctx.$slots, (item, key) => {
18
+ return {
19
+ name: key,
20
+ fn: withCtx(() => [
21
+ renderSlot(_ctx.$slots, key)
22
+ ])
23
+ };
24
+ })
25
+ ]), 1040, ["rules"]);
26
+ };
27
+ }
28
+ };
24
29
  export {
25
- _Field as default
30
+ _sfc_main as default
26
31
  };
@@ -1,6 +1,6 @@
1
- import _Field from "./Field.vue.mjs";
1
+ import _sfc_main from "./Field.vue.mjs";
2
2
  import install from "../../../utils/install.mjs";
3
- const MobileField = install.withInstall("MobileField", _Field);
3
+ const MobileField = install.withInstall("MobileField", _sfc_main);
4
4
  export {
5
5
  MobileField,
6
6
  MobileField as default
@@ -0,0 +1,54 @@
1
+ const parseRule = ({ label, isRequired, ruleType }) => {
2
+ const ruleList = [];
3
+ if (isRequired) {
4
+ ruleList.push({ required: true, message: `请填写${label}` });
5
+ }
6
+ switch (ruleType) {
7
+ case "email":
8
+ break;
9
+ case "phone":
10
+ var pattern = /^((\+?86)|(\(\+86\)))?(1[3-9]\d{9})$/;
11
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
12
+ break;
13
+ case "mobile":
14
+ var pattern = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
15
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
16
+ break;
17
+ case "mobilephone":
18
+ let validator = function(value) {
19
+ var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
20
+ var isMob = /^((\+?86)|(\(\+86\)))?(1[3-9]\d{9})$/;
21
+ if (isMob.test(value) || isPhone.test(value)) {
22
+ return true;
23
+ } else {
24
+ return `请填写正确的${label}`;
25
+ }
26
+ };
27
+ ruleList.push({ validator });
28
+ break;
29
+ case "idNo":
30
+ var pattern = /^(1[1-5]|2[1-3]|3[1-7]|4[1-6]|5[0-4]|6[1-5]|7[1-8]|8[1-3])\d{4}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
31
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
32
+ break;
33
+ case "usci":
34
+ var pattern = /^([0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\d{14})$/;
35
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
36
+ break;
37
+ case "postcode":
38
+ var pattern = /^[0-9]{6}$/;
39
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
40
+ break;
41
+ case "fax":
42
+ var pattern = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
43
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
44
+ break;
45
+ case "bankcard":
46
+ var pattern = /^[1-9]\d{7,29}$/;
47
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
48
+ break;
49
+ }
50
+ return ruleList;
51
+ };
52
+ export {
53
+ parseRule
54
+ };
@@ -6,21 +6,26 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
6
6
  ;/* empty css */
7
7
  ;/* empty css */
8
8
  const vue = require("vue");
9
- const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
9
+ const formRule = require("../../../utils/formRule.js");
10
10
  const index = require("../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/field/index.js");
11
- const _sfc_main = {};
12
- function _sfc_render(_ctx, _cache) {
13
- const _component_van_field = index.Field;
14
- return vue.openBlock(), vue.createBlock(_component_van_field, vue.normalizeProps(vue.guardReactiveProps(_ctx.$attrs)), vue.createSlots({ _: 2 }, [
15
- vue.renderList(_ctx.$slots, (item, key) => {
16
- return {
17
- name: key,
18
- fn: vue.withCtx(() => [
19
- vue.renderSlot(_ctx.$slots, key)
20
- ])
21
- };
22
- })
23
- ]), 1040);
24
- }
25
- const _Field = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render]]);
26
- exports.default = _Field;
11
+ const _sfc_main = {
12
+ __name: "Field",
13
+ setup(__props) {
14
+ const attrs = vue.useAttrs();
15
+ const rules = formRule.parseRule(attrs);
16
+ return (_ctx, _cache) => {
17
+ const _component_van_field = index.Field;
18
+ return vue.openBlock(), vue.createBlock(_component_van_field, vue.mergeProps(_ctx.$attrs, { rules: vue.unref(rules) }), vue.createSlots({ _: 2 }, [
19
+ vue.renderList(_ctx.$slots, (item, key) => {
20
+ return {
21
+ name: key,
22
+ fn: vue.withCtx(() => [
23
+ vue.renderSlot(_ctx.$slots, key)
24
+ ])
25
+ };
26
+ })
27
+ ]), 1040, ["rules"]);
28
+ };
29
+ }
30
+ };
31
+ exports.default = _sfc_main;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const parseRule = ({ label, isRequired, ruleType }) => {
4
+ const ruleList = [];
5
+ if (isRequired) {
6
+ ruleList.push({ required: true, message: `请填写${label}` });
7
+ }
8
+ switch (ruleType) {
9
+ case "email":
10
+ break;
11
+ case "phone":
12
+ var pattern = /^((\+?86)|(\(\+86\)))?(1[3-9]\d{9})$/;
13
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
14
+ break;
15
+ case "mobile":
16
+ var pattern = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
17
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
18
+ break;
19
+ case "mobilephone":
20
+ let validator = function(value) {
21
+ var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
22
+ var isMob = /^((\+?86)|(\(\+86\)))?(1[3-9]\d{9})$/;
23
+ if (isMob.test(value) || isPhone.test(value)) {
24
+ return true;
25
+ } else {
26
+ return `请填写正确的${label}`;
27
+ }
28
+ };
29
+ ruleList.push({ validator });
30
+ break;
31
+ case "idNo":
32
+ var pattern = /^(1[1-5]|2[1-3]|3[1-7]|4[1-6]|5[0-4]|6[1-5]|7[1-8]|8[1-3])\d{4}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
33
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
34
+ break;
35
+ case "usci":
36
+ var pattern = /^([0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\d{14})$/;
37
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
38
+ break;
39
+ case "postcode":
40
+ var pattern = /^[0-9]{6}$/;
41
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
42
+ break;
43
+ case "fax":
44
+ var pattern = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
45
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
46
+ break;
47
+ case "bankcard":
48
+ var pattern = /^[1-9]\d{7,29}$/;
49
+ ruleList.push({ pattern, message: `请填写正确的${label}` });
50
+ break;
51
+ }
52
+ return ruleList;
53
+ };
54
+ exports.parseRule = parseRule;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fecp/mobile",
3
- "version": "1.0.13",
3
+ "version": "1.0.14",
4
4
  "main": "lib/packages/mobile/index.js",
5
5
  "module": "es/packages/mobile/index.mjs",
6
6
  "files": [