UNPKG

@zhsz/cool-design-crud

Version:

102 lines (101 loc) 2.5 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const vue = require("vue"); const merge = require("merge"); const helper = require("./helper.js"); const mitt = require("../../utils/mitt.js"); const index$1 = require("../../utils/index.js"); const emitter = require("../../emitter.js"); require("../../utils/test.js"); const core = require("../../hooks/core.js"); require("@formily/core"); require("lodash-es"); require("../../hooks/table.js"); const cloneDeep = require("clone-deep"); const index = /* @__PURE__ */ vue.defineComponent({ name: "cl-crud", props: { /** Crud 组件唯一ID */ name: String, /** 接口对象 */ service: Object, /** 权限 */ permission: Object, /** 字典 */ dict: Object, /** 监听刷新事件 */ onRefresh: Function, /** 监听删除事件 */ onDelete: Function, /** 是否有边框 */ border: Boolean, /** 内间距 */ padding: { type: String, default: "10px" } }, setup(props, { slots, expose }) { const { uid } = vue.getCurrentInstance(); const config = vue.reactive(index$1.mergeConfig(vue.inject("useCrud__options") || {})); const mitt$1 = new mitt.default(uid); const { dict, permission } = core.useGlobal(); const crud = vue.reactive(index$1.deepMerge({ id: props.name || uid, // 绑定的路由地址 routePath: location.pathname || "/", // 表格配置 table: { headerMenu: true, contextMenu: true, border: true }, // 表格加载状态 loading: false, // 表格已选列 selection: [], // 请求参数 params: { page: 1, size: 10 }, // 请求服务 service: {}, // 字典 dict: {}, // 权限 permission: {} }, cloneDeep({ dict, permission }))); emitter.crudList.push(merge.merge(crud, helper.useHelper({ mitt: mitt$1, config, crud }))); vue.provide("crud", crud); vue.provide("mitt", mitt$1); expose(crud); return () => { var _a; return vue.createVNode("div", { "class": ["cl-crud", { "is-border": props.border }], "style": { padding: props.padding } }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]); }; } }); exports.default = index;