diff --git a/web/src/views/plugins/dvadmin_form_flow/install-render.js b/web/src/views/plugins/dvadmin_form_flow/install-render.js new file mode 100644 index 0000000..bd79ece --- /dev/null +++ b/web/src/views/plugins/dvadmin_form_flow/install-render.js @@ -0,0 +1,46 @@ +import axios from 'axios' + +import VFormRender from '@/components/form-render/index.vue' +import ContainerItems from '@/components/form-render/container-item/index' + +import {registerIcon} from '@/utils/el-icons' +import 'virtual:svg-icons-register' +import '@/iconfont/iconfont.css' + +import { installI18n } from '@/utils/i18n' +import { loadExtension } from '@/extension/extension-loader' + +VFormRender.install = function (app) { + installI18n(app) + loadExtension(app) + + app.use(ContainerItems) + registerIcon(app) + app.component(VFormRender.name, VFormRender) +} + +const components = [ + VFormRender +] + +const install = (app) => { + installI18n(app) + loadExtension(app) + + app.use(ContainerItems) + registerIcon(app) + components.forEach(component => { + app.component(component.name, component) + }) + + window.axios = axios +} + +if (typeof window !== 'undefined' && window.Vue) { /* script方式引入时赋值axios!! */ + //window.axios = axios +} + +export default { + install, + VFormRender +} diff --git a/web/src/views/plugins/dvadmin_form_flow/install.js b/web/src/views/plugins/dvadmin_form_flow/install.js new file mode 100644 index 0000000..02154d4 --- /dev/null +++ b/web/src/views/plugins/dvadmin_form_flow/install.js @@ -0,0 +1,73 @@ +import axios from 'axios' + +import VFormDesigner from '@/components/form-designer/index.vue' +import VFormRender from '@/components/form-render/index.vue' + +import Draggable from '@/../lib/vuedraggable/dist/vuedraggable.umd.js' +import {registerIcon} from '@/utils/el-icons' +import 'virtual:svg-icons-register' +import '@/iconfont/iconfont.css' + +import ContainerWidgets from '@/components/form-designer/form-widget/container-widget/index' +import ContainerItems from '@/components/form-render/container-item/index' + +import { addDirective } from '@/utils/directive' +import { installI18n } from '@/utils/i18n' +import { loadExtension } from '@/extension/extension-loader' + + +VFormDesigner.install = function (app) { + addDirective(app) + installI18n(app) + loadExtension(app) + + app.use(ContainerWidgets) + app.use(ContainerItems) + + registerIcon(app) + app.component('draggable', Draggable) + app.component(VFormDesigner.name, VFormDesigner) +} + +VFormRender.install = function (app) { + installI18n(app) + loadExtension(app) + + app.use(ContainerItems) + + registerIcon(app) + app.component(VFormRender.name, VFormRender) +} + +const components = [ + VFormDesigner, + VFormRender +] + +const install = (app) => { + addDirective(app) + installI18n(app) + loadExtension(app) + + app.use(ContainerWidgets) + app.use(ContainerItems) + + registerIcon(app) + app.component('draggable', Draggable) + + components.forEach(component => { + app.component(component.name, component) + }) + + window.axios = axios +} + +if (typeof window !== 'undefined' && window.Vue) { /* script方式引入时赋值axios!! */ + //window.axios = axios +} + +export default { + install, + VFormDesigner, + VFormRender +} diff --git a/web/src/views/plugins/dvadmin_form_flow/src/index.ts b/web/src/views/plugins/dvadmin_form_flow/src/index.ts new file mode 100644 index 0000000..c57cc05 --- /dev/null +++ b/web/src/views/plugins/dvadmin_form_flow/src/index.ts @@ -0,0 +1,29 @@ +// 导入各个组件 +import DVAFormDesigner from './components/DVAFormDesigner.vue' + +// 把组件保存到一个数组中 +const components = [ + DVAFormDesigner +] + +// 定义 install 方法 +const install = function (Vue) { + + if (install.installed) return + install.installed = true + // 遍历组件列表并注册全局组件 + components.map(component => { + Vue.component(component.name, component) //component.name 此处使用到组件vue文件中的 name 属性 + }) +} + +if (typeof window !== 'undefined' && window.Vue) { + install(window.Vue) +} + +export default { + // 导出的对象必须具备一个 install 方法 + install, + // 组件列表 + ...components +} diff --git a/web/src/views/system/demo/api.ts b/web/src/views/system/demo/api.ts new file mode 100644 index 0000000..defefc4 --- /dev/null +++ b/web/src/views/system/demo/api.ts @@ -0,0 +1,41 @@ +import { request } from '/@/utils/service'; +import { UserPageQuery, AddReq, DelReq, EditReq, InfoReq } from '@fast-crud/fast-crud'; + +export const apiPrefix = '/api/system/login_log/'; +export function GetList(query: UserPageQuery) { + return request({ + url: apiPrefix, + method: 'get', + params: query, + }); +} +export function GetObj(id: InfoReq) { + return request({ + url: apiPrefix + id, + method: 'get', + }); +} + +export function AddObj(obj: AddReq) { + return request({ + url: apiPrefix, + method: 'post', + data: obj, + }); +} + +export function UpdateObj(obj: EditReq) { + return request({ + url: apiPrefix + obj.id + '/', + method: 'put', + data: obj, + }); +} + +export function DelObj(id: DelReq) { + return request({ + url: apiPrefix + id + '/', + method: 'delete', + data: { id }, + }); +} diff --git a/web/vite.config.ts b/web/vite.config.ts index 02c966a..e9c24b3 100644 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -12,6 +12,7 @@ const alias: Record = { '/@': pathResolve('./src/'), '@views': pathResolve('./src/views'), 'vue-i18n': 'vue-i18n/dist/vue-i18n.cjs.js', + '@dvaformflow':pathResolve('./src/viwes/plugins/dvaadmin_form_flow/src/') }; const viteConfig = defineConfig((mode: ConfigEnv) => {