@liuqiongqiong/vue-pages 1.0.0
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 +345 -0
- package/dist/index.esm.js +15 -0
- package/dist/index.js +15 -0
- package/package.json +68 -0
- package/src/components/Pagination/index.vue +94 -0
- package/src/components/PreviewFile/index.vue +140 -0
- package/src/index.js +123 -0
- package/src/pages/SettlementManagement/PreSettlement/index.vue +939 -0
- package/src/pages/SettlementManagement/ceshi/index.vue +221 -0
- package/src/pages/SettlementManagement/reconciliation/index.vue +690 -0
- package/src/pages/SettlementManagement/settlement/index.vue +1325 -0
- package/src/pages/SettlementManagement/zeroSettlement/index.vue +429 -0
- package/src/pages/customerManagement/EvaluationModification/index.vue +371 -0
- package/src/pages/customerManagement/abnormal/index.vue +730 -0
- package/src/pages/customerManagement/addressModification/index.vue +378 -0
- package/src/pages/customerManagement/carePlan/index.vue +2706 -0
- package/src/pages/customerManagement/complaint/index.vue +487 -0
- package/src/pages/customerManagement/customer/index.vue +1594 -0
- package/src/pages/customerManagement/evaluate/index.vue +399 -0
- package/src/pages/customerManagement/potentialCustomers/index.vue +640 -0
- package/src/pages/institution/Information/index.vue +1165 -0
- package/src/pages/institution/agreement/index.vue +411 -0
- package/src/pages/nurse/cardReplacementApplication/index.vue +313 -0
- package/src/pages/nurse/clock/index.vue +847 -0
- package/src/pages/nurse/give/index.vue +0 -0
- package/src/pages/nurse/personnel/index.vue +1070 -0
- package/src/pages/nurse/timeStatistics/index.vue +249 -0
- package/src/pages/nurseProjects/NursingPackage/index.vue +1030 -0
- package/src/pages/nurseProjects/NursingProjects/index.vue +748 -0
- package/src/pages/sys/Bluetooth/index.vue +471 -0
- package/src/pages/sys/WeChatUsers/index.vue +391 -0
- package/src/pages/sys/index.vue +0 -0
- package/src/pages/sys/menu/index.vue +341 -0
- package/src/pages/sys/msg/index.vue +201 -0
- package/src/pages/sys/role/index.vue +312 -0
- package/src/pages/sys/system/index.vue +279 -0
- package/src/pages/sys/unit/img/role.png +0 -0
- package/src/pages/sys/unit/img/unit.png +0 -0
- package/src/pages/sys/unit/img/user.png +0 -0
- package/src/pages/sys/unit/index.vue +1186 -0
- package/src/pages/sys/user/index.vue +355 -0
- package/src/utils/auth.js +15 -0
- package/src/utils/index.js +4 -0
- package/src/utils/scroll-to.js +58 -0
- package/src/utils/validate.js +83 -0
package/README.md
ADDED
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
# @changhuxian/vue-pages
|
|
2
|
+
|
|
3
|
+
> 长护险管理系统业务页面组件库 - 包含结算管理、客户管理、护理管理等完整业务模块
|
|
4
|
+
|
|
5
|
+
## 📦 安装
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @changhuxian/vue-pages
|
|
9
|
+
# 或
|
|
10
|
+
yarn add @changhuxian/vue-pages
|
|
11
|
+
# 或
|
|
12
|
+
pnpm add @changhuxian/vue-pages
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 🔨 使用方法
|
|
16
|
+
|
|
17
|
+
### 1. 完整引入(不推荐)
|
|
18
|
+
|
|
19
|
+
```javascript
|
|
20
|
+
import Vue from 'vue'
|
|
21
|
+
import ChanghuxianPages from '@changhuxian/vue-pages'
|
|
22
|
+
|
|
23
|
+
// 这会注册所有页面组件和通用组件
|
|
24
|
+
Vue.use(ChanghuxianPages)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 2. 按需引入(推荐)
|
|
28
|
+
|
|
29
|
+
#### 在路由中引入页面组件
|
|
30
|
+
|
|
31
|
+
```javascript
|
|
32
|
+
import Vue from 'vue'
|
|
33
|
+
import Router from 'vue-router'
|
|
34
|
+
|
|
35
|
+
// 按需导入所需的页面组件
|
|
36
|
+
import {
|
|
37
|
+
SettlementIndex,
|
|
38
|
+
PreSettlementIndex,
|
|
39
|
+
CustomerIndex,
|
|
40
|
+
CarePlanIndex
|
|
41
|
+
} from '@changhuxian/vue-pages'
|
|
42
|
+
|
|
43
|
+
Vue.use(Router)
|
|
44
|
+
|
|
45
|
+
export default new Router({
|
|
46
|
+
routes: [
|
|
47
|
+
{
|
|
48
|
+
path: '/settlement',
|
|
49
|
+
name: 'Settlement',
|
|
50
|
+
component: SettlementIndex
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
path: '/pre-settlement',
|
|
54
|
+
name: 'PreSettlement',
|
|
55
|
+
component: PreSettlementIndex
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
path: '/customer',
|
|
59
|
+
name: 'Customer',
|
|
60
|
+
component: CustomerIndex
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
path: '/care-plan',
|
|
64
|
+
name: 'CarePlan',
|
|
65
|
+
component: CarePlanIndex
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
})
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
#### 使用通用组件
|
|
72
|
+
|
|
73
|
+
```vue
|
|
74
|
+
<template>
|
|
75
|
+
<div>
|
|
76
|
+
<!-- 分页组件 -->
|
|
77
|
+
<pagination
|
|
78
|
+
:total="total"
|
|
79
|
+
:page.sync="listQuery.pageNo"
|
|
80
|
+
:limit.sync="listQuery.size"
|
|
81
|
+
@pagination="getList"
|
|
82
|
+
/>
|
|
83
|
+
|
|
84
|
+
<!-- 文件预览组件 -->
|
|
85
|
+
<preview-file
|
|
86
|
+
:file-url="fileUrl"
|
|
87
|
+
:visible.sync="previewVisible"
|
|
88
|
+
/>
|
|
89
|
+
</div>
|
|
90
|
+
</template>
|
|
91
|
+
|
|
92
|
+
<script>
|
|
93
|
+
import { Pagination, PreviewFile } from '@changhuxian/vue-pages'
|
|
94
|
+
|
|
95
|
+
export default {
|
|
96
|
+
components: {
|
|
97
|
+
Pagination,
|
|
98
|
+
PreviewFile
|
|
99
|
+
},
|
|
100
|
+
data() {
|
|
101
|
+
return {
|
|
102
|
+
total: 100,
|
|
103
|
+
listQuery: {
|
|
104
|
+
pageNo: 1,
|
|
105
|
+
size: 20
|
|
106
|
+
},
|
|
107
|
+
fileUrl: '',
|
|
108
|
+
previewVisible: false
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
methods: {
|
|
112
|
+
getList() {
|
|
113
|
+
// 获取列表数据
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
</script>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
#### 使用工具函数
|
|
121
|
+
|
|
122
|
+
```javascript
|
|
123
|
+
import { utils } from '@changhuxian/vue-pages'
|
|
124
|
+
|
|
125
|
+
// 使用认证相关工具
|
|
126
|
+
const token = utils.getToken()
|
|
127
|
+
utils.setToken('your-token')
|
|
128
|
+
utils.removeToken()
|
|
129
|
+
|
|
130
|
+
// 使用表单验证工具
|
|
131
|
+
const isValidEmail = utils.validEmail('test@example.com')
|
|
132
|
+
const isValidURL = utils.validURL('https://example.com')
|
|
133
|
+
|
|
134
|
+
// 使用滚动工具
|
|
135
|
+
utils.scrollTo(0, 800)
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## 📚 可用页面组件
|
|
139
|
+
|
|
140
|
+
### 结算管理模块
|
|
141
|
+
|
|
142
|
+
| 组件名 | 说明 | 导出名称 |
|
|
143
|
+
|--------|------|----------|
|
|
144
|
+
| 结算管理 | 结算单管理页面 | `SettlementIndex` |
|
|
145
|
+
| 预结算 | 预结算管理页面 | `PreSettlementIndex` |
|
|
146
|
+
| 对账管理 | 对账单管理页面 | `ReconciliationIndex` |
|
|
147
|
+
|
|
148
|
+
**使用示例:**
|
|
149
|
+
|
|
150
|
+
```javascript
|
|
151
|
+
import { SettlementIndex, PreSettlementIndex } from '@changhuxian/vue-pages'
|
|
152
|
+
|
|
153
|
+
export default {
|
|
154
|
+
routes: [
|
|
155
|
+
{ path: '/settlement', component: SettlementIndex },
|
|
156
|
+
{ path: '/pre-settlement', component: PreSettlementIndex }
|
|
157
|
+
]
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### 客户管理模块
|
|
162
|
+
|
|
163
|
+
| 组件名 | 说明 | 导出名称 |
|
|
164
|
+
|--------|------|----------|
|
|
165
|
+
| 客户管理 | 客户信息管理页面 | `CustomerIndex` |
|
|
166
|
+
| 护理计划 | 护理计划管理页面 | `CarePlanIndex` |
|
|
167
|
+
|
|
168
|
+
### 护理项目模块
|
|
169
|
+
|
|
170
|
+
| 组件名 | 说明 | 导出名称 |
|
|
171
|
+
|--------|------|----------|
|
|
172
|
+
| 护理项目 | 护理项目配置页面 | `NursingProjectsIndex` |
|
|
173
|
+
| 护理套餐 | 护理套餐配置页面 | `NursingPackageIndex` |
|
|
174
|
+
|
|
175
|
+
### 护理员管理模块
|
|
176
|
+
|
|
177
|
+
| 组件名 | 说明 | 导出名称 |
|
|
178
|
+
|--------|------|----------|
|
|
179
|
+
| 护理员管理 | 护理员信息管理页面 | `NurseIndex` |
|
|
180
|
+
|
|
181
|
+
### 机构管理模块
|
|
182
|
+
|
|
183
|
+
| 组件名 | 说明 | 导出名称 |
|
|
184
|
+
|--------|------|----------|
|
|
185
|
+
| 机构管理 | 机构信息管理页面 | `InstitutionIndex` |
|
|
186
|
+
|
|
187
|
+
### 系统管理模块
|
|
188
|
+
|
|
189
|
+
| 组件名 | 说明 | 导出名称 |
|
|
190
|
+
|--------|------|----------|
|
|
191
|
+
| 用户管理 | 系统用户管理页面 | `SysUserIndex` |
|
|
192
|
+
| 角色管理 | 角色权限管理页面 | `SysRoleIndex` |
|
|
193
|
+
|
|
194
|
+
## 🧩 通用组件
|
|
195
|
+
|
|
196
|
+
### Pagination - 分页组件
|
|
197
|
+
|
|
198
|
+
高度封装的分页组件,支持自动滚动、自定义样式等功能。
|
|
199
|
+
|
|
200
|
+
```vue
|
|
201
|
+
<pagination
|
|
202
|
+
:total="total"
|
|
203
|
+
:page.sync="listQuery.pageNo"
|
|
204
|
+
:limit.sync="listQuery.size"
|
|
205
|
+
:page-sizes="[10, 20, 50, 100]"
|
|
206
|
+
layout="total, sizes, prev, pager, next, jumper"
|
|
207
|
+
@pagination="handlePagination"
|
|
208
|
+
/>
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**Props:**
|
|
212
|
+
|
|
213
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
214
|
+
|------|------|------|--------|
|
|
215
|
+
| total | 总条目数 | Number | - |
|
|
216
|
+
| page | 当前页数 | Number | 1 |
|
|
217
|
+
| limit | 每页显示条目个数 | Number | 20 |
|
|
218
|
+
| pageSizes | 每页显示个数选择器的选项设置 | Array | [10, 20, 30, 50] |
|
|
219
|
+
| layout | 组件布局 | String | 'total, sizes, prev, pager, next, jumper' |
|
|
220
|
+
| background | 是否为分页按钮添加背景色 | Boolean | true |
|
|
221
|
+
| autoScroll | 分页后是否自动滚动到顶部 | Boolean | true |
|
|
222
|
+
|
|
223
|
+
### PreviewFile - 文件预览组件
|
|
224
|
+
|
|
225
|
+
支持预览Word、PDF等多种文件格式。
|
|
226
|
+
|
|
227
|
+
```vue
|
|
228
|
+
<preview-file
|
|
229
|
+
:file-url="fileUrl"
|
|
230
|
+
:visible.sync="dialogVisible"
|
|
231
|
+
title="文件预览"
|
|
232
|
+
/>
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## 🛠️ 工具函数
|
|
236
|
+
|
|
237
|
+
### Auth 认证相关
|
|
238
|
+
|
|
239
|
+
```javascript
|
|
240
|
+
import { utils } from '@changhuxian/vue-pages'
|
|
241
|
+
|
|
242
|
+
// 获取token
|
|
243
|
+
const token = utils.getToken()
|
|
244
|
+
|
|
245
|
+
// 设置token
|
|
246
|
+
utils.setToken('your-token')
|
|
247
|
+
|
|
248
|
+
// 移除token
|
|
249
|
+
utils.removeToken()
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### Validate 表单验证
|
|
253
|
+
|
|
254
|
+
```javascript
|
|
255
|
+
import { utils } from '@changhuxian/vue-pages'
|
|
256
|
+
|
|
257
|
+
// 邮箱验证
|
|
258
|
+
utils.validEmail('test@example.com') // true/false
|
|
259
|
+
|
|
260
|
+
// URL验证
|
|
261
|
+
utils.validURL('https://example.com') // true/false
|
|
262
|
+
|
|
263
|
+
// 字符串验证
|
|
264
|
+
utils.isString('hello') // true
|
|
265
|
+
utils.isArray([1, 2, 3]) // true
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### ScrollTo 页面滚动
|
|
269
|
+
|
|
270
|
+
```javascript
|
|
271
|
+
import { utils } from '@changhuxian/vue-pages'
|
|
272
|
+
|
|
273
|
+
// 滚动到顶部,动画时长800ms
|
|
274
|
+
utils.scrollTo(0, 800)
|
|
275
|
+
|
|
276
|
+
// 滚动到指定位置,带回调
|
|
277
|
+
utils.scrollTo(500, 1000, () => {
|
|
278
|
+
console.log('滚动完成')
|
|
279
|
+
})
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
## 📋 依赖要求
|
|
283
|
+
|
|
284
|
+
本组件库依赖以下库,请确保您的项目中已安装:
|
|
285
|
+
|
|
286
|
+
- Vue 2.6+
|
|
287
|
+
- Element UI 2.13+
|
|
288
|
+
- Vue Router 3.0+
|
|
289
|
+
- Vuex 3.1+
|
|
290
|
+
|
|
291
|
+
## 🔧 开发
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
# 安装依赖
|
|
295
|
+
npm install
|
|
296
|
+
|
|
297
|
+
# 开发模式(监听文件变化)
|
|
298
|
+
npm run dev
|
|
299
|
+
|
|
300
|
+
# 构建生产版本
|
|
301
|
+
npm run build
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
## 📝 发布到npm
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
# 1. 登录npm账号
|
|
308
|
+
npm login
|
|
309
|
+
|
|
310
|
+
# 2. 发布包
|
|
311
|
+
npm publish --access public
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
## 🤝 贡献
|
|
315
|
+
|
|
316
|
+
欢迎提交 Issue 和 Pull Request!
|
|
317
|
+
|
|
318
|
+
## 📄 License
|
|
319
|
+
|
|
320
|
+
MIT License
|
|
321
|
+
|
|
322
|
+
## 👥 维护者
|
|
323
|
+
|
|
324
|
+
ChangHuXian Development Team
|
|
325
|
+
|
|
326
|
+
## 🔗 相关链接
|
|
327
|
+
|
|
328
|
+
- [Gitee仓库](https://gitee.com/VueAppDemo/changhuxian-vue-components)
|
|
329
|
+
- [问题反馈](https://gitee.com/VueAppDemo/changhuxian-vue-components/issues)
|
|
330
|
+
- [Element UI文档](https://element.eleme.cn/)
|
|
331
|
+
|
|
332
|
+
## 📮 联系方式
|
|
333
|
+
|
|
334
|
+
如有问题请提Issue或联系维护团队。
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
**注意事项:**
|
|
339
|
+
|
|
340
|
+
1. 本组件库是业务页面组件库,包含完整的业务逻辑
|
|
341
|
+
2. 使用前请确保已配置好API接口地址
|
|
342
|
+
3. 建议按需引入,避免打包体积过大
|
|
343
|
+
4. 页面组件需要配合相应的API接口使用
|
|
344
|
+
|
|
345
|
+
**更新日志:** 查看 [CHANGELOG.md](./CHANGELOG.md)
|