3.12.1 • Published 11 months ago

@juzhenfe/page-model v3.12.1

Weekly downloads
-
License
-
Repository
-
Last release
11 months ago

介绍

page—model是一个依赖于element-plus(vue@3)的后台管理页面组件,组件通过config配置驱动渲染。

如何引入

// page-model.ts
// 可以导出注册方法在main中进行注册

import { App } from 'vue'
// 引入组件样式
import '@juzhenfe/page-model/dist/index.min.css'
// 引入组件
import PageModel from '@juzhenfe/page-model'
// 引入组件请求实例
import { processdRequest } from '@/utils/request'

// 全局注册组件
export default {
  install(app: App) {
    app.use(PageModel, {
      request: processdRequest
    })
  }
}
// @/utils/request
import { createRequest } from '@juzhenfe/request'

// 构建请求实例
export const processdRequest = createRequest({
  // 请求基础地址
  baseURL: baseURL,
  // 授权头模式 JWT | NORMAL(参数携带)
  auth: 'JWT',
  arrayFormat: 'repeat',
  // 获取token
  getToken() {
    return tokenStorage.get() ?? ''
  },
  // 如何判断请求是成功的
  resolveJudge(response) {
    return successChain.passRequest(response)
  }
}, {
  process: true
}, {
  timeout: 3 * 60 * 1000
})

如何使用

<script setup lang="tsx">
import { ref } from "vue";
import { defineConfig } from "@juzhenfe/page-model";
import APIS from "@/constants/apis";

/**
 * pageModel组件实例
 */
const pageModelRef = ref<any>();

/**
 * 当前选中的数据
 */
let currentSelections: any[] = [];

const config = defineConfig<WorkTypeModel, any>({
  url: APIS.STATION_URL,
  delKey: "id",
  reflect: true,
  isAutoAddButton: false,
  getDataCallback(data) {
    return data;
  },
  searchForm: {
    els: [
      {
        eType: "el-input",
        prop: "name",
        label: "名称",
        props: { placeholder: "名称", clearable: true },
      },
    ],
  },
  table: {
    // el-table属性,参考https://element-plus.gitee.io/zh-CN/component/table.html#table-属性
    props: {
      // 开启斑马纹
      stripe: true,
      // 开启边框
      border: true,
    },
    // el-table事件,参考https://element-plus.gitee.io/zh-CN/component/table.html#table-事件
    events: {
      selectionChange(selections) {
        currentSelections = selections;
      },
    },

    // 是否多选按钮无依赖存活 注:通常开启多选时才会渲染多选按钮数据
    selectableButtonLiveAlone: true,
    // 多选按钮配置
    selectableButtons: [
      {
        text: "新增",
        event: "add",
        props: {
          type: "primary",
        },
      },
    ],
    // 操作栏配置
    operate: {
      width: 120,
      props: {
        fixed: "right",
      },
      els: [
        {
          text: "编辑",
          isEdit: true,
          props: {
            type: "primary",
            link: true,
          },
        },
        {
          text: "删除",
          isDel: true,
          props: {
            type: "primary",
            link: true,
          },
        },
      ],
    },
    els: [
      { label: "名称", prop: "name", minWidth: 100 },
      { label: "创建时间", prop: "createTime", minWidth: 100 },
    ],
  },
  form: {
    // 表单必填字段列表
    required: ["name"],
    // 弹窗模式dialog、全页面模式fullpage
    mode: "dialog",
    dialogProps: {
      width: "500px",
    },
    // 表单el-form的props,参考https://element-plus.gitee.io/zh-CN/component/form.html#form-属性
    props: {
      labelWidth: "100px",
    },
    // 新增表单时的初始化数据,会被bindData捕获到
    initialData: {},
    // 表单组件绑定数据前的处理方法
    async bindData(formData) {
      return formData;
    },
    // 表单组件提交数据前的处理方法
    async beforeSubmit(formData) {
      return formData;
    },
    els: [
      {
        eType: "el-input",
        prop: "name",
        label: "工种名称",
        props: { placeholder: "工种名称", clearable: true },
      }
    ],
  },
});

/**
 * 校验是否选中数据
 */
const selectDataValidate = () => {
  if (!currentSelections.length) {
    ElMessage.warning("请选择一条数据");
    return false;
  }
  return true;
};

/**
 * 刷新列表数据
 * @param clear 是否清空选中数据(默认true)
 */
const refreshTableData = (clear: boolean = true) => {
  pageModelRef.value.refreshTableData();
  clear && pageModelRef.value.clearSelection();
};

/**
 * 监听新增事件
 */
const handleAdd = () => {
  pageModelRef.value.handleAddEvent();
};
</script>

<template>
  <div class="gen-page" style="height: 100%">
    <page-model ref="pageModelRef" :config="config" @add="handleAdd" />
  </div>
</template>
3.12.1

11 months ago

3.12.0

11 months ago

3.11.0

12 months ago

3.11.1

12 months ago

3.10.1

1 year ago

3.10.0

1 year ago

3.10.3

1 year ago

3.10.2

1 year ago

3.10.5

1 year ago

3.10.4

1 year ago

3.9.49

1 year ago

3.9.28

1 year ago

3.9.29

1 year ago

3.9.26

1 year ago

3.9.27

1 year ago

3.9.25

1 year ago

3.9.39

1 year ago

3.9.37

1 year ago

3.9.38

1 year ago

3.9.35

1 year ago

3.9.36

1 year ago

3.9.33

1 year ago

3.9.34

1 year ago

3.9.31

1 year ago

3.9.32

1 year ago

3.9.30

1 year ago

3.9.48

1 year ago

3.9.46

1 year ago

3.9.47

1 year ago

3.9.44

1 year ago

3.9.45

1 year ago

3.9.42

1 year ago

3.9.43

1 year ago

3.9.40

1 year ago

3.9.41

1 year ago

3.9.24

1 year ago

3.9.23

1 year ago

3.9.22

1 year ago

3.9.20

1 year ago

3.9.21

1 year ago

3.9.17

1 year ago

3.9.18

1 year ago

3.9.15

1 year ago

3.9.16

1 year ago

3.9.19

1 year ago

3.9.14

1 year ago

3.9.13

2 years ago

3.9.11

2 years ago

3.9.12

2 years ago

3.9.10

2 years ago

3.9.9

2 years ago

3.9.8

2 years ago

3.9.7

2 years ago

3.9.6

2 years ago

3.9.5

2 years ago

3.9.3

2 years ago

3.9.4

2 years ago

3.8.999

2 years ago

3.8.991

2 years ago

3.9.2

2 years ago

3.8.992

2 years ago

3.9.1

2 years ago

3.8.993

2 years ago

3.9.0

2 years ago

3.8.994

2 years ago

3.8.995

2 years ago

3.8.996

2 years ago

3.8.997

2 years ago

3.8.998

2 years ago

3.8.89

2 years ago

3.8.88

2 years ago

3.8.85

2 years ago

3.8.86

2 years ago

3.8.83

2 years ago

3.8.84

2 years ago

3.8.81

2 years ago

3.8.82

2 years ago

3.8.80

2 years ago

3.8.98

2 years ago

3.8.99

2 years ago

3.8.96

2 years ago

3.8.97

2 years ago

3.8.94

2 years ago

3.8.95

2 years ago

3.8.92

2 years ago

3.8.93

2 years ago

3.8.90

2 years ago

3.8.91

2 years ago

3.8.76

2 years ago

3.8.77

2 years ago

3.8.69

2 years ago

3.8.67

2 years ago

3.8.68

2 years ago

3.8.65

2 years ago

3.8.66

2 years ago

3.8.74

2 years ago

3.8.75

2 years ago

3.8.72

2 years ago

3.8.73

2 years ago

3.8.70

2 years ago

3.8.71

2 years ago

3.8.49

2 years ago

3.8.47

2 years ago

3.8.48

2 years ago

3.8.46

2 years ago

3.8.58

2 years ago

3.8.59

2 years ago

3.8.56

2 years ago

3.8.57

2 years ago

3.8.54

2 years ago

3.8.55

2 years ago

3.8.52

2 years ago

3.8.53

2 years ago

3.8.50

2 years ago

3.8.51

2 years ago

3.8.63

2 years ago

3.8.64

2 years ago

3.8.61

2 years ago

3.8.62

2 years ago

3.8.60

2 years ago

3.8.45

2 years ago

3.8.43

2 years ago

3.8.44

2 years ago

3.8.41

2 years ago

3.8.42

2 years ago

3.8.0

2 years ago

3.8.4

2 years ago

3.8.2

2 years ago

3.8.1

2 years ago

3.7.1

2 years ago

3.6.99

3 years ago

3.7.0

2 years ago

3.6.98

3 years ago

3.8.32

2 years ago

3.6.97

3 years ago

3.8.33

2 years ago

3.6.96

3 years ago

3.6.95

3 years ago

3.8.31

2 years ago

3.6.94

3 years ago

3.6.93

3 years ago

3.6.92

3 years ago

3.6.91

3 years ago

3.7.2

2 years ago

3.6.991

3 years ago

3.6.992

3 years ago

3.6.6

3 years ago

3.6.5

3 years ago

3.6.9

3 years ago

3.6.8

3 years ago

3.6.7

3 years ago

3.6.997

2 years ago

3.6.993

3 years ago

3.6.994

3 years ago

3.6.995

2 years ago

3.6.996

2 years ago

3.6.2

3 years ago

3.6.1

3 years ago

3.6.0

3 years ago

3.6.4

3 years ago

3.6.3

3 years ago

3.5.3

3 years ago

3.5.2

3 years ago

3.5.1

3 years ago

3.5.7

3 years ago

3.5.6

3 years ago

3.5.5

3 years ago

3.5.4

3 years ago

3.5.9

3 years ago

3.5.8

3 years ago

3.5.0

3 years ago

3.4.94

3 years ago

3.4.95

3 years ago

3.4.96

3 years ago

3.4.97

3 years ago

3.4.91

3 years ago

3.4.92

3 years ago

3.4.93

3 years ago

3.4.8

3 years ago

3.4.9

3 years ago

3.4.4

3 years ago

3.4.7

3 years ago

3.4.6

3 years ago

3.4.5

3 years ago

3.0.89

3 years ago

3.0.87

3 years ago

3.0.88

3 years ago

3.0.81

3 years ago

3.0.82

3 years ago

3.0.85

3 years ago

3.0.86

3 years ago

3.0.83

3 years ago

3.0.84

3 years ago

3.3.9

3 years ago

3.3.8

3 years ago

3.3.7

3 years ago

3.3.6

3 years ago

3.2.1

3 years ago

3.2.0

3 years ago

3.0.90

3 years ago

3.1.3

3 years ago

3.1.2

3 years ago

3.1.1

3 years ago

3.1.0

3 years ago

3.1.6

3 years ago

3.1.5

3 years ago

3.1.4

3 years ago

3.0.8

3 years ago

3.0.7

3 years ago

3.0.6

3 years ago

3.0.5

3 years ago

3.4.0

3 years ago

3.4.3

3 years ago

3.4.2

3 years ago

3.4.1

3 years ago

3.3.1

3 years ago

3.3.0

3 years ago

3.3.5

3 years ago

3.3.4

3 years ago

3.3.3

3 years ago

3.3.2

3 years ago

2.0.0-beta.100

3 years ago

3.0.4

3 years ago

3.0.3

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago

3.0.0

3 years ago

2.0.0-beta.95

3 years ago

2.0.0-beta.94

3 years ago

2.0.0-beta.93

3 years ago

2.0.0-beta.92

3 years ago

2.0.0-beta.99

3 years ago

2.0.0-beta.98

3 years ago

2.0.0-beta.97

3 years ago

2.0.0-beta.96

3 years ago

2.0.0-beta.91

3 years ago

2.0.0-beta.90

3 years ago

2.0.0-beta.83

3 years ago

2.0.0-beta.82

3 years ago

2.0.0-beta.81

3 years ago

2.0.0-beta.88

3 years ago

2.0.0-beta.87

3 years ago

2.0.0-beta.86

3 years ago

2.0.0-beta.85

3 years ago

2.0.0-beta.89

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.5

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.1

3 years ago

2.0.0-beta.62

3 years ago

2.0.0-beta.61

3 years ago

2.0.0-beta.60

3 years ago

2.0.0-beta.66

3 years ago

2.0.0-beta.65

3 years ago

2.0.0-beta.63

3 years ago

2.0.0-beta.68

3 years ago

2.0.0-beta.67

3 years ago

2.0.0-beta.51

3 years ago

2.0.0-beta.50

3 years ago

2.0.0-beta.55

3 years ago

2.0.0-beta.54

3 years ago

2.0.0-beta.53

3 years ago

2.0.0-beta.52

3 years ago

2.0.0-beta.59

3 years ago

2.0.0-beta.58

3 years ago

2.0.0-beta.57

3 years ago

2.0.0-beta.56

3 years ago

2.0.0-beta.40

3 years ago

2.0.0-beta.44

3 years ago

2.0.0-beta.43

3 years ago

2.0.0-beta.42

3 years ago

2.0.0-beta.41

3 years ago

2.0.0-beta.48

3 years ago

2.0.0-beta.47

3 years ago

2.0.0-beta.46

3 years ago

2.0.0-beta.45

3 years ago

2.0.0-beta.49

3 years ago

2.0.0-beta.33

3 years ago

2.0.0-beta.32

3 years ago

2.0.0-beta.31

3 years ago

2.0.0-beta.30

3 years ago

2.0.0-beta.36

3 years ago

2.0.0-beta.35

3 years ago

2.0.0-beta.34

3 years ago

2.0.0-beta.39

3 years ago

2.0.0-beta.38

3 years ago

2.0.0-beta.22

4 years ago

2.0.0-beta.21

4 years ago

2.0.0-beta.20

4 years ago

2.0.0-beta.26

3 years ago

2.0.0-beta.25

3 years ago

2.0.0-beta.24

3 years ago

2.0.0-beta.23

3 years ago

2.0.0-beta.29

3 years ago

2.0.0-beta.28

3 years ago

2.0.0-beta.27

3 years ago

2.0.0-beta.19

4 years ago

2.0.0-beta.18

4 years ago

2.0.0-beta.17

4 years ago

2.0.0-beta.80

3 years ago

2.0.0-beta.73

3 years ago

2.0.0-beta.72

3 years ago

2.0.0-beta.71

3 years ago

2.0.0-beta.70

3 years ago

2.0.0-beta.77

3 years ago

2.0.0-beta.76

3 years ago

2.0.0-beta.75

3 years ago

2.0.0-beta.74

3 years ago

2.0.0-beta.79

3 years ago

2.0.0-beta.78

3 years ago

2.0.0-beta.11

4 years ago

2.0.0-beta.10

4 years ago

2.0.0-beta.14

4 years ago

2.0.0-beta.13

4 years ago

2.0.0-beta.12

4 years ago

2.0.0-beta.16

4 years ago

2.0.0-beta.9

4 years ago

2.0.0-beta.8

4 years ago

2.0.0-beta.7

4 years ago

2.0.0-beta.2

4 years ago

2.0.0-beta.1

4 years ago

2.0.0-beta.0

4 years ago

2.0.0-beta.6

4 years ago

2.0.0-beta.5

4 years ago

2.0.0-beta.4

4 years ago

2.0.0-beta.3

4 years ago

1.12.1

4 years ago

1.12.0

4 years ago

1.11.17

4 years ago

1.11.16

4 years ago

1.11.14

4 years ago

1.11.15

4 years ago

1.11.12

4 years ago

1.11.13

4 years ago

1.11.10

4 years ago

1.11.11

4 years ago

1.11.8

4 years ago

1.11.7

4 years ago

1.11.6

4 years ago

1.11.5

4 years ago

1.11.9

4 years ago

1.11.4

4 years ago

1.11.3

4 years ago

1.11.2

4 years ago

1.11.0

4 years ago

1.11.1

4 years ago

1.10.5

4 years ago

1.10.6

4 years ago

1.10.4

4 years ago

1.10.3

4 years ago

1.10.2

4 years ago

1.10.4-beta.1

4 years ago

1.10.1

4 years ago

1.10.0

4 years ago

1.9.10

4 years ago

1.9.9

4 years ago

1.9.8

4 years ago

1.8.0

4 years ago

1.9.7

4 years ago

1.9.6

4 years ago

1.9.5

4 years ago

1.9.4

4 years ago

1.9.3

4 years ago

1.9.2

4 years ago

1.9.1

4 years ago

1.9.0

4 years ago

1.7.4

4 years ago

1.7.3

4 years ago

1.7.2

4 years ago

1.7.1

4 years ago

1.7.0

4 years ago

1.6.3

4 years ago

1.6.2

4 years ago

1.6.1

4 years ago

1.6.0

4 years ago

1.5.8

4 years ago

1.5.7

4 years ago

1.5.6

4 years ago

1.5.5

4 years ago

1.5.4

4 years ago

1.5.3

4 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.0

4 years ago

1.3.0

4 years ago

1.2.8

4 years ago

1.2.7

4 years ago

1.2.6

4 years ago

1.2.5

4 years ago

1.2.3

4 years ago

1.2.92

4 years ago

1.2.93

4 years ago

1.2.91

4 years ago

1.2.94

4 years ago

1.2.9

4 years ago

1.2.0

4 years ago

1.1.5

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.1.4

4 years ago

1.0.5

4 years ago

1.1.3

4 years ago

1.0.4

4 years ago

1.1.2

4 years ago

1.0.3

4 years ago

1.0.91

4 years ago

1.0.95

4 years ago

1.0.94

4 years ago

1.0.93

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago