diff --git a/patches/naive-ui+2.38.1.patch b/patches/naive-ui+2.38.1.patch index 5c4f5c6..8748dc4 100644 --- a/patches/naive-ui+2.38.1.patch +++ b/patches/naive-ui+2.38.1.patch @@ -1,3 +1,32 @@ +diff --git a/node_modules/naive-ui/es/form/src/FormItem.mjs b/node_modules/naive-ui/es/form/src/FormItem.mjs +index 3aacec9..a63ab54 100644 +--- a/node_modules/naive-ui/es/form/src/FormItem.mjs ++++ b/node_modules/naive-ui/es/form/src/FormItem.mjs +@@ -73,8 +73,8 @@ function wrapValidator(validator, async) { + try { + const validateResult = validator(...args); + if (!async && (typeof validateResult === 'boolean' || validateResult instanceof Error || Array.isArray(validateResult)) || ( +- // Error[] +- validateResult === null || validateResult === void 0 ? void 0 : validateResult.then)) { ++ // Error[] ++ validateResult === null || validateResult === void 0 ? void 0 : validateResult.then)) { + return validateResult; + } else if (validateResult === undefined) { + return true; +@@ -479,8 +479,11 @@ export default defineComponent({ + class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--warning` + }, feedbackNodes) : mergedValidationStatus === 'error' ? h("div", { + key: "controlled-error", +- class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error` +- }, feedbackNodes) : mergedValidationStatus === 'success' ? h("div", { ++ class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error flex` ++ }, [h('img', { ++ style: { width: '1rem', height: '1rem' }, ++ src: 'http://47.93.59.251/api/upload/ocr/1711419313955_c.png' ++ }), feedbackNodes]) : mergedValidationStatus === 'success' ? h("div", { + key: "controlled-success", + class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--success` + }, feedbackNodes) : h("div", { diff --git a/node_modules/naive-ui/es/pagination/src/Pagination.mjs b/node_modules/naive-ui/es/pagination/src/Pagination.mjs index 5bd975b..e1c6ebc 100644 --- a/node_modules/naive-ui/es/pagination/src/Pagination.mjs @@ -11,3 +40,124 @@ index 5bd975b..e1c6ebc 100644 default: return null; } +diff --git a/node_modules/naive-ui/lib/form/src/FormItem.js b/node_modules/naive-ui/lib/form/src/FormItem.js +index 4f47aad..6dae078 100644 +--- a/node_modules/naive-ui/lib/form/src/FormItem.js ++++ b/node_modules/naive-ui/lib/form/src/FormItem.js +@@ -24,7 +24,8 @@ const styles_1 = require("../styles"); + const utils_1 = require("./utils"); + const context_1 = require("./context"); + const form_item_cssr_1 = __importDefault(require("./styles/form-item.cssr")); +-exports.formItemProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { label: String, labelWidth: [Number, String], labelStyle: [String, Object], labelAlign: String, labelPlacement: String, path: String, first: Boolean, rulePath: String, required: Boolean, showRequireMark: { ++exports.formItemProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { ++ label: String, labelWidth: [Number, String], labelStyle: [String, Object], labelAlign: String, labelPlacement: String, path: String, first: Boolean, rulePath: String, required: Boolean, showRequireMark: { + type: Boolean, + default: undefined + }, requireMarkPlacement: String, showFeedback: { +@@ -33,7 +34,8 @@ exports.formItemProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props + }, rule: [Object, Array], size: String, ignorePathChange: Boolean, validationStatus: String, feedback: String, showLabel: { + type: Boolean, + default: undefined +- }, labelProps: Object }); ++ }, labelProps: Object ++}); + exports.formItemPropKeys = (0, _utils_1.keysOf)(exports.formItemProps); + // wrap sync validator + function wrapValidator(validator, async) { +@@ -175,22 +177,22 @@ exports.default = (0, vue_1.defineComponent)({ + })) + .filter(shouldRuleBeApplied) + .map((rule, i) => { +- const shallowClonedRule = Object.assign({}, rule); +- if (shallowClonedRule.validator) { +- shallowClonedRule.validator = wrapValidator(shallowClonedRule.validator, false); +- } +- if (shallowClonedRule.asyncValidator) { +- shallowClonedRule.asyncValidator = wrapValidator(shallowClonedRule.asyncValidator, true); +- } +- if (shallowClonedRule.renderMessage) { +- const rendererKey = `__renderMessage__${i}`; +- originalMessageRendersMessage[rendererKey] = +- shallowClonedRule.message; +- shallowClonedRule.message = rendererKey; +- messageRenderers[rendererKey] = shallowClonedRule.renderMessage; +- } +- return shallowClonedRule; +- }); ++ const shallowClonedRule = Object.assign({}, rule); ++ if (shallowClonedRule.validator) { ++ shallowClonedRule.validator = wrapValidator(shallowClonedRule.validator, false); ++ } ++ if (shallowClonedRule.asyncValidator) { ++ shallowClonedRule.asyncValidator = wrapValidator(shallowClonedRule.asyncValidator, true); ++ } ++ if (shallowClonedRule.renderMessage) { ++ const rendererKey = `__renderMessage__${i}`; ++ originalMessageRendersMessage[rendererKey] = ++ shallowClonedRule.message; ++ shallowClonedRule.message = rendererKey; ++ messageRenderers[rendererKey] = shallowClonedRule.renderMessage; ++ } ++ return shallowClonedRule; ++ }); + const activeErrorRules = activeRules.filter((r) => r.level !== 'warning'); + const activeWarningRules = activeRules.filter((r) => r.level === 'warning'); + const mergedPath = path !== null && path !== void 0 ? path : '__n_no_path__'; +@@ -353,31 +355,37 @@ exports.default = (0, vue_1.defineComponent)({ + const textNode = ((0, vue_1.h)("span", { class: `${mergedClsPrefix}-form-item-label__text` }, labelText)); + const markNode = renderedShowRequireMark ? ((0, vue_1.h)("span", { class: `${mergedClsPrefix}-form-item-label__asterisk` }, mergedRequireMarkPlacement !== 'left' ? '\u00A0*' : '*\u00A0')) : (mergedRequireMarkPlacement === 'right-hanging' && ((0, vue_1.h)("span", { class: `${mergedClsPrefix}-form-item-label__asterisk-placeholder` }, '\u00A0*'))); + const { labelProps } = this; +- return ((0, vue_1.h)("label", Object.assign({}, labelProps, { class: [ ++ return ((0, vue_1.h)("label", Object.assign({}, labelProps, { ++ class: [ + labelProps === null || labelProps === void 0 ? void 0 : labelProps.class, + `${mergedClsPrefix}-form-item-label`, + `${mergedClsPrefix}-form-item-label--${mergedRequireMarkPlacement}-mark`, + this.reverseColSpace && +- `${mergedClsPrefix}-form-item-label--reverse-columns-space` +- ], style: this.mergedLabelStyle, ref: "labelElementRef" }), mergedRequireMarkPlacement === 'left' ++ `${mergedClsPrefix}-form-item-label--reverse-columns-space` ++ ], style: this.mergedLabelStyle, ref: "labelElementRef" ++ }), mergedRequireMarkPlacement === 'left' + ? [markNode, textNode] + : [textNode, markNode])); + }; +- return ((0, vue_1.h)("div", { class: [ ++ return ((0, vue_1.h)("div", { ++ class: [ + `${mergedClsPrefix}-form-item`, + this.themeClass, + `${mergedClsPrefix}-form-item--${this.mergedSize}-size`, + `${mergedClsPrefix}-form-item--${this.mergedLabelPlacement}-labelled`, + this.isAutoLabelWidth && +- `${mergedClsPrefix}-form-item--auto-label-width`, ++ `${mergedClsPrefix}-form-item--auto-label-width`, + !mergedShowLabel && `${mergedClsPrefix}-form-item--no-label` +- ], style: this.cssVars }, ++ ], style: this.cssVars ++ }, + mergedShowLabel && renderLabel(), +- (0, vue_1.h)("div", { class: [ ++ (0, vue_1.h)("div", { ++ class: [ + `${mergedClsPrefix}-form-item-blank`, + this.mergedValidationStatus && +- `${mergedClsPrefix}-form-item-blank--${this.mergedValidationStatus}` +- ] }, $slots), ++ `${mergedClsPrefix}-form-item-blank--${this.mergedValidationStatus}` ++ ] ++ }, $slots), + this.mergedShowFeedback ? ((0, vue_1.h)("div", { key: this.feedbackId, class: `${mergedClsPrefix}-form-item-feedback-wrapper` }, + (0, vue_1.h)(vue_1.Transition, { name: "fade-down-transition", mode: "out-in" }, { + default: () => { +@@ -386,7 +394,9 @@ exports.default = (0, vue_1.defineComponent)({ + var _a; + const { feedback } = this; + const feedbackNodes = children || feedback ? ((0, vue_1.h)("div", { key: "__feedback__", class: `${mergedClsPrefix}-form-item-feedback__line` }, children || feedback)) : this.renderExplains.length ? ((_a = this.renderExplains) === null || _a === void 0 ? void 0 : _a.map(({ key, render }) => ((0, vue_1.h)("div", { key: key, class: `${mergedClsPrefix}-form-item-feedback__line` }, render())))) : null; +- return feedbackNodes ? (mergedValidationStatus === 'warning' ? ((0, vue_1.h)("div", { key: "controlled-warning", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--warning` }, feedbackNodes)) : mergedValidationStatus === 'error' ? ((0, vue_1.h)("div", { key: "controlled-error", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error` }, feedbackNodes)) : mergedValidationStatus === 'success' ? ((0, vue_1.h)("div", { key: "controlled-success", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--success` }, feedbackNodes)) : ((0, vue_1.h)("div", { key: "controlled-default", class: `${mergedClsPrefix}-form-item-feedback` }, feedbackNodes))) : null; ++ return feedbackNodes ? (mergedValidationStatus === 'warning' ? ((0, vue_1.h)("div", { key: "controlled-warning", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--warning` }, feedbackNodes)) : mergedValidationStatus === 'error' ? ((0, vue_1.h)("div", { key: "controlled-error", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error flex` }, [h('img', { ++ style: { width: '1rem', height: '1rem' },src: 'http://47.93.59.251/api/upload/ocr/1711419313955_c.png' ++ }), feedbackNodes])) : mergedValidationStatus === 'success' ? ((0, vue_1.h)("div", { key: "controlled-success", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--success` }, feedbackNodes)) : ((0, vue_1.h)("div", { key: "controlled-default", class: `${mergedClsPrefix}-form-item-feedback` }, feedbackNodes))) : null; + }); + } + }))) : null)); diff --git a/src/views/home/aside/comp/modals/CustomFilterModal.vue b/src/views/home/aside/comp/modals/CustomFilterModal.vue index 0d74258..814ca94 100644 --- a/src/views/home/aside/comp/modals/CustomFilterModal.vue +++ b/src/views/home/aside/comp/modals/CustomFilterModal.vue @@ -399,7 +399,7 @@ onMounted(() => { background: #507AFD !important; } .n-button--default-type{ - background: #CAD2DD !important; + background: #fff !important; color: #333333; } } diff --git a/src/views/login/components/Forget.vue b/src/views/login/components/Forget.vue index 8607a51..99ee5e5 100644 --- a/src/views/login/components/Forget.vue +++ b/src/views/login/components/Forget.vue @@ -266,7 +266,7 @@ function forget() { - + 下一步 - +
@@ -347,8 +347,7 @@ function forget() { box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.04); backdrop-filter: blur(12px); position: relative; - padding: 3rem 1.6875rem 2.625rem; - + padding: 3rem 1.6875rem 2rem; .img-close { position: absolute; right: 0; @@ -357,7 +356,6 @@ function forget() { height: 1.75rem; cursor: pointer; } - .tab { font-size: 1.5rem; font-family: PingFang SC, PingFang SC-Medium; @@ -389,8 +387,8 @@ function forget() { height: 2.75rem; background: linear-gradient(234deg, #96aaff 0%, #1c43ff 100%); border-radius: 3px; - margin-top: .625rem; - margin-bottom: .875rem; + margin-top: 1rem; + // margin-bottom: .875rem; font-size: 1rem; &-disabled { opacity: 0.5; @@ -436,4 +434,27 @@ function forget() { line-height: 1.3125rem; cursor: pointer; } + +// 样式适配 +::v-deep(.n-base-clear > .n-base-clear__clear > .n-base-icon > svg) { + color: #c9c9c9; +} +::v-deep(.n-input .n-input__input-el) { + height: 2.75rem !important; + font-size: 1rem !important; +} +::v-deep(.n-input .n-input-wrapper) { + height: 2.75rem !important; +} +.save-btn { + font-size: 0.9375rem; +} +::v-deep(.n-form-item .n-form-item-feedback-wrapper) { + height: 1rem; + padding: 0 !important; + margin: 0 !important; + line-height: normal !important; + min-height: 0 !important; + // margin-bottom: .5rem; +} diff --git a/src/views/login/components/Login.vue b/src/views/login/components/Login.vue index beb8f13..aa3fbc1 100644 --- a/src/views/login/components/Login.vue +++ b/src/views/login/components/Login.vue @@ -8,6 +8,7 @@ import { PageEnum } from "@/enums/pageEnum"; import { useUserStore } from "@/store/modules/user"; import { ResultEnum } from "@/enums/httpEnum"; import { getCode, smsLogin } from "@/api/login/login"; +import SvgIcon from "@/components/Icon/SvgIcon.vue"; const emit = defineEmits(["close", "forget"]); interface FormState { @@ -54,14 +55,12 @@ const tab = ref(0); const countTime = ref("获取验证码"); const rules = { enterprisecode: [ + { required: true, message: "请输入企业编码", trigger: "blur" }, { - trigger: ["blur","input","change"], + trigger: ["blur", "input", "change"], level: "error", validator(_rule, value) { - if (!value) { - return new Error("请输入企业编码"); - } - if (loginSuccess.value) { + if (loginSuccess.value || !value) { return true; } return new Error(loginRejectMessge.value); @@ -69,14 +68,12 @@ const rules = { }, ], agentcode: [ + { required: true, message: "请输入验证码", trigger: "blur" }, { - trigger: ["blur","input","change"], + trigger: ["blur", "input", "change"], level: "error", validator(_rule, value) { - if (!value) { - return new Error("请输入验证码"); - } - if (loginSuccess.value) { + if (loginSuccess.value || !value) { return true; } return new Error(loginRejectMessge.value); @@ -84,31 +81,28 @@ const rules = { }, ], phone: [ - { - trigger: ["blur","input","change"], + { required: true, message: "请输入手机号", trigger: "blur" }, + { + trigger: ["blur", "input", "change"], level: "error", validator(_rule, value) { - if (!value) { - return new Error("请输入手机号"); - } - if (loginSuccess.value) { + if (loginSuccess.value || !value) { return true; } return new Error(loginRejectMessge.value); }, - },], + }, + ], phonecode: [ + { required: true, message: "请输入验证码", trigger: "blur" }, { - trigger: ["blur","input","change"], + trigger: ["blur", "input", "change"], level: "error", validator(_rule, value) { if (value.length < 4 && value.length > 0) { return new Error("请正确填写4位手机短信验证码"); } - if (!value) { - return new Error("请输入验证码"); - } - if (loginSuccess.value) { + if (loginSuccess.value || !value) { return true; } return new Error(loginRejectMessge.value); @@ -116,14 +110,12 @@ const rules = { }, ], username: [ + { required: true, message: "请输入账号", trigger: "blur" }, { - trigger: ["blur","input","change"], + trigger: ["blur", "input", "change"], level: "error", validator(_rule, value) { - if (!value) { - return new Error("请输入账号"); - } - if (loginSuccess.value) { + if (loginSuccess.value || !value) { return true; } return new Error(loginRejectMessge.value); @@ -131,19 +123,18 @@ const rules = { }, ], password: [ - { - trigger: ["blur","input","change"], + { required: true, message: "请输入密码", trigger: "blur" }, + { + trigger: ["blur", "input", "change"], level: "error", validator(_rule, value) { - if (!value) { - return new Error("请输入密码"); - } - if (loginSuccess.value) { + if (loginSuccess.value || !value) { return true; } return new Error(loginRejectMessge.value); }, - },], + }, + ], captcha: [{ required: true, message: "请输入验证码", trigger: "blur" }], }; @@ -506,7 +497,7 @@ function forget() {