@cimom-ui/standard-ui 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +135 -0
- package/dist/demo.html +1 -0
- package/dist/standard-ui.common.js +78859 -0
- package/dist/standard-ui.umd.js +78870 -0
- package/dist/standard-ui.umd.min.js +24 -0
- package/package.json +42 -0
package/README.md
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# @addytse/standard-ui
|
|
2
|
+
|
|
3
|
+
IPQC 标准组件库:基于 **Vue 2.6 + Element UI 2.x + vxe-table 3.x** 的通用业务组件封装,从 IPQC-Web 项目 `src/components` 抽取而来,作为独立 npm 包发布,供其它项目复用。
|
|
4
|
+
|
|
5
|
+
## 组件清单
|
|
6
|
+
|
|
7
|
+
| 组件 | 标签 | 说明 |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| StandardButton | `<standard-button>` | 标准按钮(固定 mini,透传 el-button,支持单/双标签写法) |
|
|
10
|
+
| StandardDialog | `<standard-dialog>` | 标准弹窗(确定不自动关闭,由父组件控制) |
|
|
11
|
+
| StandardContainer | `<standard-container>` | 标准布局容器(纵向/横向排列 + 主轴百分比占位) |
|
|
12
|
+
| StandardFilterbar | `<standard-filterbar>` | 标准筛选栏(主/次条件区、导出、高级查询) |
|
|
13
|
+
| StandardForm | `<standard-form>` + `<standard-form-item>` | 标准表单(label 宽度自动计算) |
|
|
14
|
+
| StandardHalfArea | `<standard-half-area>` | 半区容器(left/right 半区位置、transparent 透明模式) |
|
|
15
|
+
| StandardInput | `<standard-input>` | 标准输入框(自动去首尾空格) |
|
|
16
|
+
| StandardPage | `<standard-page>` | 标准页面容器(client 客户端高度、vertical 纵向分栏模式) |
|
|
17
|
+
| StandardSplitter | `<standard-splitter>` | 左右分割条 |
|
|
18
|
+
| StandardSelect | `<standard-select>` | 标准下拉选择(单选/多选、远程搜索) |
|
|
19
|
+
| StandardTimePick | `<standard-time-pick>` | 标准时间选择(年月日 / 年月日时分秒) |
|
|
20
|
+
| StandardTable | `<standard-table>` 及 7 个子组件 | 标准表格(基于 vxe-table) |
|
|
21
|
+
| StandardTree | `<standard-tree>` | 标准树(transparent 透明模式) |
|
|
22
|
+
|
|
23
|
+
> `StandardAdvancedQuery` 为 `StandardFilterbar` 内部依赖,随包发布但不单独暴露。
|
|
24
|
+
|
|
25
|
+
## 安装
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm i @addytse/standard-ui
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 前置依赖(peerDependencies)
|
|
32
|
+
|
|
33
|
+
使用方项目必须已安装并全局注册以下库:
|
|
34
|
+
|
|
35
|
+
```js
|
|
36
|
+
// main.js
|
|
37
|
+
import Vue from 'vue'
|
|
38
|
+
import ElementUI from 'element-ui'
|
|
39
|
+
import 'element-ui/lib/theme-chalk/index.css'
|
|
40
|
+
import VXETable from 'vxe-table'
|
|
41
|
+
import 'vxe-table/lib/style.css'
|
|
42
|
+
|
|
43
|
+
Vue.use(ElementUI)
|
|
44
|
+
Vue.use(VXETable)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
| 包 | 版本要求 | 备注 |
|
|
48
|
+
| --- | --- | --- |
|
|
49
|
+
| vue | ^2.6.0 | |
|
|
50
|
+
| element-ui | ^2.15.0 | 全部组件依赖 |
|
|
51
|
+
| vxe-table | ^3.6.0 | 仅 StandardTable 依赖 |
|
|
52
|
+
|
|
53
|
+
## 使用
|
|
54
|
+
|
|
55
|
+
### 方式一:全局注册(推荐)
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
import StandardComponents from '@addytse/standard-ui'
|
|
59
|
+
|
|
60
|
+
Vue.use(StandardComponents)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
注册后所有页面模板可直接使用上述标签,无需 import:
|
|
64
|
+
|
|
65
|
+
```html
|
|
66
|
+
<standard-button label="查询" type="primary" icon="el-icon-search" @click="onSearch" />
|
|
67
|
+
<standard-table :table-data="tableData" :loading="loading" height="100%">
|
|
68
|
+
<standard-toolbar-left :buttons="toolbarButtons" />
|
|
69
|
+
<standard-column type="seq" title="序号" width="60" align="center" />
|
|
70
|
+
<standard-column field="name" title="名称" min-width="120" />
|
|
71
|
+
<standard-footer-right :current-page="currentPage" :page-size="pageSize"
|
|
72
|
+
:total="total" @page-change="onPageChange" />
|
|
73
|
+
</standard-table>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 方式二:局部注册
|
|
77
|
+
|
|
78
|
+
```js
|
|
79
|
+
import StandardComponents from '@addytse/standard-ui'
|
|
80
|
+
|
|
81
|
+
export default {
|
|
82
|
+
components: {
|
|
83
|
+
'standard-table': StandardComponents.StandardTable,
|
|
84
|
+
'standard-column': StandardComponents.StandardTable.Column,
|
|
85
|
+
'standard-toolbar-left': StandardComponents.StandardTable.ToolbarLeft,
|
|
86
|
+
'standard-toolbar-right': StandardComponents.StandardTable.ToolbarRight,
|
|
87
|
+
'standard-footer-left': StandardComponents.StandardTable.FooterLeft,
|
|
88
|
+
'standard-footer-right': StandardComponents.StandardTable.FooterRight,
|
|
89
|
+
'standard-footer-empty': StandardComponents.StandardTable.FooterEmpty
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## 各组件详细用法
|
|
95
|
+
|
|
96
|
+
各组件完整 API(属性、事件、方法、示例)见原项目文档 `src/components/README.md`(已随包源码保留在 Git 仓库的 `src/components/README.md`)。
|
|
97
|
+
|
|
98
|
+
## 开发与构建
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# 安装依赖
|
|
102
|
+
npm install
|
|
103
|
+
|
|
104
|
+
# 构建组件库(产物输出到 dist/)
|
|
105
|
+
npm run build
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
构建说明:
|
|
109
|
+
|
|
110
|
+
- 使用 `@vue/cli-service` 的 lib 模式打包,输出 `dist/standard-ui.common.js`(CommonJS)与 `dist/standard-ui.umd.min.js`(UMD,供 CDN)。
|
|
111
|
+
- 样式(scss)已内联进 JS 产物,使用方无需单独引入 css。
|
|
112
|
+
- `vue` 由构建工具自动 external;组件代码不 import 任何第三方库,element-ui / vxe-table 均通过全局注册的组件标签使用。
|
|
113
|
+
|
|
114
|
+
## 发布到 npm
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# 1. 确认版本号并构建
|
|
118
|
+
npm run build
|
|
119
|
+
|
|
120
|
+
# 2. 登录 npm(首次发布需要;无账号先到 https://www.npmjs.com 注册)
|
|
121
|
+
npm login
|
|
122
|
+
|
|
123
|
+
# 3. 发布(publishConfig.access 已设为 public)
|
|
124
|
+
npm publish
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
注意事项:
|
|
128
|
+
|
|
129
|
+
- 发布内容由 `package.json` 的 `files: ["dist"]` 控制,仅发布构建产物与 README,源码不入包。
|
|
130
|
+
- 包名已采用小写形式,符合 npm 公共源命名规范,可直接 `npm publish` 发布。
|
|
131
|
+
- 版本更新遵循 semver:`npm version patch|minor|major` 后再次 `npm publish`。
|
|
132
|
+
|
|
133
|
+
## 与 IPQC-Web 源码的同步
|
|
134
|
+
|
|
135
|
+
本包源码目录 `src/components/` 与 `IPQC-Web前端/src/components/` 中的组件一一对应。组件有改动时,复制对应组件目录到本仓库并升级版本号重新发布。
|
package/dist/demo.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!doctype html><meta charset="utf-8"><title>standard-ui demo</title><script src="./standard-ui.umd.js"></script><script>console.log(standard-ui)</script>
|