Skip to content

framework-biz-ui

业务组件库,业务开发过程中,经常用到的组件库

安装

bash
pnpm add @magustek/framework-biz-ui

使用

ts
// main.ts
import MgBizUi from '@magustek/framework-biz-ui'

import '@magustek/framework-biz-ui/dist/style.css'

app.use(MgBizUi)

MgBackWrap

返回页面容器

  • 属性
属性名类型说明默认值
showBackboolean是否显示返回按钮true
titlestring标题
  • 插槽
插槽名说明
default主体内容
title自定义标题内容
header自定义标题内容
append插槽,自定义附加内容
  • 使用示例
vue
<template>
  <MgBackWrap :show-back="false">
    <template #header>
      <div>头部</div>
    </template>
    <div>主体</div>
  </MgBackWrap>
</template>

MgComplexSelect

用户部门选择器

  • 属性
属性名类型说明默认值
titlestring标题
placeholderstring占位符
teleportedboolean弹出窗是否插入到 bodyfalse
dialogWidthstring弹窗宽度75%
dialogVisibleboolean是否显示弹窗false
crossSelectboolean允许跨类型选择false
selectTypesSelectTypes选择类型[{ type: '$USER', multiple: true }]
defaultSelectedDefaultSelected默认选中的数据{}
defaultTabSelectTypeName默认的选择类型
multipleboolean是否多选
compCodestring公司 code
compIdstring公司 id
disabledboolean是否禁用
dataTypeSelectTypeName数据类型
defaultValuestring默认值
defaultLabelstring默认标签值
  • 事件
事件名事件说明回调参数
update:defaultSelected默认选中的数据发生变化DefaultSelected
update:dialogVisible弹窗显示发生变化boolean
update:defaultValue默认值发生变化string
update:defaultLabel默认标签值发生变化string
confirm确认事件DefaultSelected
  • SelectTypeName
ts
type SelectTypeName = '$USER' | '$ORG' | '$WORKGROUP' | '$DUTY' | '$RELATION'
  • SelectTypes
ts
type SelectTypes = Array<{
  type: SelectTypeName
  label?: string
  /**
   * 是否可多选(部门选择时,表示部门可多选)
   */
  multiple?: boolean
  /**
   * 多选限制数量
   */
  limit?: number
  /**
   * 是否显示职务选择
   */
  withDuty?: boolean
  /**
   * 职位是否必选
   */
  requireDuty?: boolean
  /**
   * 限制职位选择数量
   */
  limitDuty?: number
  /**
   * 是否显示树形选择框
   */
  showCheckbox?: boolean
  /**
   * 是否严格选择,父子不互相关联
   */
  checkStrictly?: boolean
}>
  • DefaultSelected
ts
type DefaultSelected = {
  [key: SelectTypeName]: Array<{
    id: string,
    name: string,
    duty?: Array<{
      id: string,
      name: string,
    }>
  }>
}
  • 使用示例
vue
<template>
  <MgComplexSelect
    :selectTypes="selectTypes"
    :default-selected="modelValue"
    @confirm="onConfirmSelect"
  ></MgComplexSelect>
</template>

<script lang="ts" setup>
const selectTypes = ref<SelectTypes>([
  { type: '$USER', multiple: false },
  { type: '$ORG', multiple: false, withDuty: true },
  { type: '$WORKGROUP', multiple: false, withDuty: false },
  { type: '$DUTY', multiple: true },
  { type: '$RELATION', multiple: false, withDuty: true },
])

const modelValue = ref({})

const onConfirmSelect = (data) => {
  console.log(data)
}
</script>

MgResourceSelect

资源选择器

  • 属性
属性名类型说明默认值
titlestring标题
placeholderstring占位符
teleportedboolean弹出窗是否插入到 bodyfalse
dialogWidthstring弹窗宽度75%
dialogVisibleboolean是否显示弹窗false
defaultSelected默认选中的数据
resourceCodestring资源编码
multipleboolean是否多选
disabledboolean是否禁用
  • 事件
事件名事件说明回调参数
update:defaultSelected默认选中的数据发生变化
update:dialogVisible弹窗显示发生变化boolean
confirm确认事件

MgBpmnDesigner

流程设计器

  • 属性
属性名类型说明默认值
modelValue/v-modelstring流程图 xml 内容
showGridboolean是否显示背景网格false
  • 方法
方法名说明参数
validate验证流程图是否正确
getProcessKey获取流程图的 Key
  • 使用示例
vue
<template>
  <MgBpmnDesigner v-model="modelValue"> </MgBpmnDesigner>
</template>

<script lang="ts" setup>
const modelValue = ref('')
</script>

MgUpload

文件上传

  • 属性

支持 el-upload 原生属性

扩展属性

属性名类型说明默认值
modelValue/v-modelstring[]文件 id 数组[]
useDefaultboolean使用默认上传true
  • 使用示例
vue
<template>
  <MgDict v-model="modelValue"> </MgDict>
</template>

<script lang="ts" setup>
const modelValue = ref(['文件 id'])
</script>

MgDict

字典组件, 根据字典 code 渲染对应字典项,或者级联选择字典

  • 属性

支持 el-select/el-cascader 原生属性

扩展属性

属性名类型说明默认值
dictCodestring字典 code
dictTypeselect | cascader下拉选择字典、级联选择字典select
  • 使用示例
vue
<template>
  <MgDict v-model="modelValue" dict-code="code"> </MgDict>
</template>

<script lang="ts" setup>
const modelValue = ref('')
</script>