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/modal/src/Modal.mjs b/node_modules/naive-ui/es/modal/src/Modal.mjs
index 9508b72..63f417b 100644
--- a/node_modules/naive-ui/es/modal/src/Modal.mjs
+++ b/node_modules/naive-ui/es/modal/src/Modal.mjs
@@ -13,6 +13,10 @@ import { modalInjectionKey, modalProviderInjectionKey } from "./interface.mjs";
 import style from "./styles/index.cssr.mjs";
 export const modalProps = Object.assign(Object.assign(Object.assign(Object.assign({}, useTheme.props), {
   show: Boolean,
+  showMask: {
+    type: Boolean,
+    default: true
+  },
   unstableShowMask: {
     type: Boolean,
     default: true
@@ -309,6 +313,7 @@ export default defineComponent({
                   "aria-hidden": true,
                   ref: "containerRef",
                   class: `${mergedClsPrefix}-modal-mask`,
+                  style: this.showMask ? '' :  {background:'none'},
                   onClick: this.handleClickoutside
                 }) : null;
               }
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
+++ b/node_modules/naive-ui/es/pagination/src/Pagination.mjs
@@ -702,7 +702,7 @@ export default defineComponent({
             theme: mergedTheme.peers.Input,
             themeOverrides: mergedTheme.peerOverrides.Input,
             onChange: handleQuickJumperChange
-          })) : null;
+          }),h('span',{},'页')) : null;
         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/node_modules/naive-ui/lib/modal/src/Modal.js b/node_modules/naive-ui/lib/modal/src/Modal.js
index 47f6ac2..801e8e7 100644
--- a/node_modules/naive-ui/lib/modal/src/Modal.js
+++ b/node_modules/naive-ui/lib/modal/src/Modal.js
@@ -17,7 +17,11 @@ const presetProps_1 = require("./presetProps");
 const BodyWrapper_1 = __importDefault(require("./BodyWrapper"));
 const interface_1 = require("./interface");
 const index_cssr_1 = __importDefault(require("./styles/index.cssr"));
-exports.modalProps = Object.assign(Object.assign(Object.assign(Object.assign({}, _mixins_1.useTheme.props), { show: Boolean, unstableShowMask: {
+exports.modalProps = Object.assign(Object.assign(Object.assign(Object.assign({}, _mixins_1.useTheme.props), {
+    show: Boolean, showMask: {
+        type: Boolean,
+        default: true,
+    }, unstableShowMask: {
         type: Boolean,
         default: true
     }, maskClosable: {
@@ -38,7 +42,8 @@ exports.modalProps = Object.assign(Object.assign(Object.assign(Object.assign({},
     }, closeOnEsc: {
         type: Boolean,
         default: true
-    }, blockScroll: { type: Boolean, default: true } }), presetProps_1.presetProps), { 
+    }, blockScroll: { type: Boolean, default: true }
+}), presetProps_1.presetProps), {
     // events
     onEsc: Function, 'onUpdate:show': [Function, Array], onUpdateShow: [Function, Array], onAfterEnter: Function, onBeforeLeave: Function, onAfterLeave: Function, onClose: Function, onPositiveClick: Function, onNegativeClick: Function, onMaskClick: Function,
     // private
@@ -47,7 +52,8 @@ exports.modalProps = Object.assign(Object.assign(Object.assign(Object.assign({},
         default: undefined
     },
     // deprecated
-    overlayStyle: [String, Object], onBeforeHide: Function, onAfterHide: Function, onHide: Function });
+    overlayStyle: [String, Object], onBeforeHide: Function, onAfterHide: Function, onHide: Function
+});
 exports.default = (0, vue_1.defineComponent)({
     name: 'Modal',
     inheritAttrs: false,
@@ -226,21 +232,25 @@ exports.default = (0, vue_1.defineComponent)({
                 var _a;
                 (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);
                 const { unstableShowMask } = this;
-                return (0, vue_1.withDirectives)((0, vue_1.h)("div", { role: "none", ref: "containerRef", class: [
+                return (0, vue_1.withDirectives)((0, vue_1.h)("div", {
+                    role: "none", ref: "containerRef", class: [
                         `${mergedClsPrefix}-modal-container`,
                         this.themeClass,
                         this.namespace
-                    ], style: this.cssVars },
-                    (0, vue_1.h)(BodyWrapper_1.default, Object.assign({ style: this.overlayStyle }, this.$attrs, { ref: "bodyWrapper", displayDirective: this.displayDirective, show: this.show, preset: this.preset, autoFocus: this.autoFocus, trapFocus: this.trapFocus, blockScroll: this.blockScroll }, this.presetProps, { onEsc: this.handleEsc, onClose: this.handleCloseClick, onNegativeClick: this.handleNegativeClick, onPositiveClick: this.handlePositiveClick, onBeforeLeave: this.handleBeforeLeave, onAfterEnter: this.onAfterEnter, onAfterLeave: this.handleAfterLeave, onClickoutside: unstableShowMask ? undefined : this.handleClickoutside, renderMask: unstableShowMask
+                    ], style: this.cssVars
+                },
+                    (0, vue_1.h)(BodyWrapper_1.default, Object.assign({ style: this.overlayStyle }, this.$attrs, { ref: "bodyWrapper", displayDirective: this.displayDirective, show: this.show, preset: this.preset, autoFocus: this.autoFocus, trapFocus: this.trapFocus, blockScroll: this.blockScroll }, this.presetProps, {
+                        onEsc: this.handleEsc, onClose: this.handleCloseClick, onNegativeClick: this.handleNegativeClick, onPositiveClick: this.handlePositiveClick, onBeforeLeave: this.handleBeforeLeave, onAfterEnter: this.onAfterEnter, onAfterLeave: this.handleAfterLeave, onClickoutside: unstableShowMask ? undefined : this.handleClickoutside, renderMask: unstableShowMask
                             ? () => {
                                 var _a;
                                 return ((0, vue_1.h)(vue_1.Transition, { name: "fade-in-transition", key: "mask", appear: (_a = this.internalAppear) !== null && _a !== void 0 ? _a : this.isMounted }, {
                                     default: () => {
-                                        return this.show ? ((0, vue_1.h)("div", { "aria-hidden": true, ref: "containerRef", class: `${mergedClsPrefix}-modal-mask`, onClick: this.handleClickoutside })) : null;
+                                        return this.show ? ((0, vue_1.h)("div", { "aria-hidden": true, ref: "containerRef", class: `${mergedClsPrefix}-modal-mask` ,style:this.showMask ? '' : {background:'none'}, onClick: this.handleClickoutside })) : null;
                                     }
                                 }));
                             }
-                            : undefined }), this.$slots)), [
+                            : undefined
+                    }), this.$slots)), [
                     [
                         vdirs_1.zindexable,
                         {
