vue2-client 1.12.2 → 1.12.3-9.alpha.1
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/.env.iot +19 -0
- package/babel.config.js +4 -1
- package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +175 -174
- package/package.json +2 -2
- package/src/base-client/components/common/XCardSet/XCardSet.vue +300 -0
- package/src/base-client/components/common/XCollapse/XCollapse.vue +154 -0
- package/src/base-client/components/common/XConversation/XConversation.vue +87 -2
- package/src/base-client/components/common/XConversation/XConversationDemo.vue +28 -28
- package/src/base-client/components/common/XDataCard/XDataCard.vue +47 -21
- package/src/base-client/components/common/XDatePicker/index.vue +13 -3
- package/src/base-client/components/common/XForm/XForm.vue +1 -1
- package/src/base-client/components/common/XForm/XFormItem.vue +17 -7
- package/src/base-client/components/common/XForm/XTreeSelect.vue +263 -264
- package/src/base-client/components/common/XForm/demo.vue +105 -0
- package/src/base-client/components/common/XFormTable/demo.vue +11 -3
- package/src/base-client/components/common/XPrint/Demo.vue +41 -41
- package/src/base-client/components/common/XRate/demo.vue +102 -0
- package/src/base-client/components/common/XRate/index.vue +136 -0
- package/src/base-client/components/common/XReportGrid/XReport.vue +240 -305
- package/src/base-client/components/common/XReportGrid/XReportDemo.vue +0 -2
- package/src/base-client/components/common/XReportGrid/XReportDesign.vue +115 -345
- package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +100 -723
- package/src/base-client/components/common/XTable/XTable.vue +3 -0
- package/src/base-client/components/common/XTable/XTableWrapper.vue +7 -3
- package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +172 -0
- package/src/base-client/components/his/XHisEditor/XHisEditor.vue +360 -359
- package/src/layouts/GridView.vue +43 -45
- package/src/logic/plugins/common/DateTools.js +3 -0
- package/src/logic/plugins/common/VueTools.js +30 -0
- package/src/logic/plugins/index.js +3 -1
- package/src/pages/LogicCallExample/index.vue +10 -0
- package/src/pages/WorkflowDetail/WorkFlowDemo.vue +47 -32
- package/src/pages/WorkflowDetail/WorkflowDetail.vue +5 -0
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +876 -864
- package/src/pages/userInfoDetailManage/index.vue +82 -82
- package/src/plugins/HiPrintPlugin.js +164 -124
- package/src/router/async/router.map.js +3 -2
- package/src/services/v3Api.js +116 -116
- package/src/utils/EncryptUtil.js +6 -7
- package/src/utils/indexedDB.js +3 -1
- package/src/utils/request.js +4 -8
- package/src/utils/routerUtil.js +17 -0
- package/.babelrc +0 -3
- package/src/base-client/components/common/XReportGrid/XReportJsonRender.vue +0 -380
package/.env.iot
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
VUE_APP_PUBLIC_PATH=/
|
|
2
|
+
VUE_APP_NAME=Admin
|
|
3
|
+
VUE_APP_ROUTES_KEY=admin.routes
|
|
4
|
+
VUE_APP_PERMISSIONS_KEY=admin.permissions
|
|
5
|
+
VUE_APP_ROLES_KEY=admin.roles
|
|
6
|
+
VUE_APP_USER_KEY=admin.user
|
|
7
|
+
VUE_APP_LOGIN_KEY=admin.login
|
|
8
|
+
VUE_APP_SETTING_KEY=admin.setting
|
|
9
|
+
VUE_APP_TBAS_KEY=admin.tabs
|
|
10
|
+
VUE_APP_TBAS_TITLES_KEY=admin.tabs.titles
|
|
11
|
+
VUE_APP_DICTIONARY_KEY=admin.dictionary
|
|
12
|
+
VUE_APP_BADGE_KEY=admin.badge
|
|
13
|
+
VUE_APP_SINGLEVALUE_KEY=admin.singlevalue
|
|
14
|
+
VUE_APP_DIVISIONSOHCHINA=admin.divisionsohchina
|
|
15
|
+
VUE_APP_WEB_CONFIG_KEY=admin.webconfig
|
|
16
|
+
VUE_APP_API_BASE_URL=http://123.60.214.109:8405
|
|
17
|
+
VUE_APP_SYSTEM_NAME=af-iot
|
|
18
|
+
VUE_APP_LOGIN_VERSION=V4
|
|
19
|
+
|
package/babel.config.js
CHANGED
|
@@ -1,174 +1,175 @@
|
|
|
1
|
-
# function总体说明
|
|
2
|
-
|
|
3
|
-
- function的参数,与具体事件有关系。可以在函数里,通过console.log('>>>参数', arguments)显示参数内容。
|
|
4
|
-
- 如果function的参数里没有需要的数据,用this.函数/属性,可以取需要的内容,具体内容,与组件类型有关。
|
|
5
|
-
- 用this.函数函数调用方式调用相应功能。
|
|
6
|
-
|
|
7
|
-
# 通过this可以调用的函数
|
|
8
|
-
|
|
9
|
-
- openDialog(configName, selectedId, mixinData):打开一个对话框,例如:this.openDialog('xxx', 5, {})
|
|
10
|
-
- openDialog(configName, selectedId, mixinData, outEnv, attr):打开一个对话框:
|
|
11
|
-
-
|
|
12
|
-
- openDrawer(configName, selectedId, mixinData,
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
- Object.assign(this.
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// this.runLogic
|
|
137
|
-
// logic
|
|
138
|
-
//
|
|
139
|
-
//
|
|
140
|
-
//
|
|
141
|
-
//
|
|
142
|
-
//
|
|
143
|
-
//
|
|
144
|
-
//
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
1
|
+
# function总体说明
|
|
2
|
+
|
|
3
|
+
- function的参数,与具体事件有关系。可以在函数里,通过console.log('>>>参数', arguments)显示参数内容。
|
|
4
|
+
- 如果function的参数里没有需要的数据,用this.函数/属性,可以取需要的内容,具体内容,与组件类型有关。
|
|
5
|
+
- 用this.函数函数调用方式调用相应功能。
|
|
6
|
+
|
|
7
|
+
# 通过this可以调用的函数
|
|
8
|
+
|
|
9
|
+
- openDialog(configName, selectedId, mixinData):打开一个对话框,例如:this.openDialog('xxx', 5, {})
|
|
10
|
+
- openDialog(configName, selectedId, mixinData, outEnv, attr):打开一个对话框:
|
|
11
|
+
- setColSpanByName(slotRef, colSpan):设置栅格的宽度
|
|
12
|
+
- openDrawer(configName, selectedId, mixinData):打开一个对话框,例如:this.openDialog('xxx', 5, {})
|
|
13
|
+
- openDrawer(configName, selectedId, mixinData, outEnv, attr):打开一个对话框:
|
|
14
|
+
- selectId:id号,formtable选择时,用selectId过滤数据 可以传递 json {a_id: 1} 或者 传递 1 ,传递数值会默认拼接查询条件 {selected_id:1}
|
|
15
|
+
- mixinData: form表单需要的数据
|
|
16
|
+
- outEnv: 传递给打开的界面的数据,在打开界面的js中通过this.outEnv可以访问
|
|
17
|
+
- attr: 用于传递参数绑定到 modal 弹框上
|
|
18
|
+
- getOutEnv 获取获取 outEnv
|
|
19
|
+
- this.getRealKeyData(obj) 获取真实的数据 传递 {a_a:"1"} 返回 {a:"1"}
|
|
20
|
+
|
|
21
|
+
```js
|
|
22
|
+
this.openDialog('xxx', 5, {}, {}, {})
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
- runLogic(logicName, parameter): 运行业务逻辑, 例如: this.runLogic('xxx', {})
|
|
26
|
+
|
|
27
|
+
# 如何调用珊格中组件的数据及函数
|
|
28
|
+
|
|
29
|
+
- 先给组件起名字,命名规范:main,left,right,top,bottom
|
|
30
|
+
- 用 this.getComponentByName('main') 拿到组件。
|
|
31
|
+
- emitEvent(eventName, ...args) 发送事件到外部珊格
|
|
32
|
+
|
|
33
|
+
# x-form-table 可以使用的函数/数据
|
|
34
|
+
|
|
35
|
+
- table_selectedRowKeys 获取选中的id /不用加 () 这是一个data 中的变量
|
|
36
|
+
- table_selectedRows 获取选中的行 /不用加 () 这是一个data 中的变量
|
|
37
|
+
- getSelectedId 获取获取selectedid
|
|
38
|
+
- refreshTable 重新查询
|
|
39
|
+
- clearRowKeys 清除选中的行
|
|
40
|
+
- getTableData() 获取全部数据
|
|
41
|
+
- setTableData(data) 设置表格内数据
|
|
42
|
+
- Object.assign(this.fixedQueryForm, data) 给查询条件传值
|
|
43
|
+
- Object.assign(this.fixedAddForm, data) 给新增时赋固定内容
|
|
44
|
+
- getPrimaryData (rows) 返回主表不带别名的数据
|
|
45
|
+
- pushPrimaryData (rows) 把不带主表别名的数据放到数据区
|
|
46
|
+
- setFixedQueryForm (data) 设置固定条件,主表别名不用加
|
|
47
|
+
- update() 让新修改的数据生效
|
|
48
|
+
- validateTableAndSyncData (currRow, defaultAppendRowData) 本地编辑模式下校验表格并同步本地数据
|
|
49
|
+
- 事件相关
|
|
50
|
+
- 行编辑时,下拉选中处理,function (form,setForm,attr,util,self)
|
|
51
|
+
- form 当前编辑行
|
|
52
|
+
- setForm(form, {})给编辑行设置值
|
|
53
|
+
- attr.selectRows[] 选中的数据
|
|
54
|
+
- util 可以使用的工具方法
|
|
55
|
+
- self x-form-table组件自身
|
|
56
|
+
- afterSubmit( type(新增/修改/擦和讯), id: (所操作的主键id), form: (请求的表单内容)) 提交后触发
|
|
57
|
+
- afterQuery( res (查询后数据), querparams (查询参数)) 查询后触发
|
|
58
|
+
- curdAddBefore(func) 点击新增按钮时触发 传参为 打开新增表单函数
|
|
59
|
+
afterDelete( res (删除接口返回数据)) 删除后触发
|
|
60
|
+
action(record (当前记录), id (当前记录主键), actionType (操作类型)) 操作按钮触发
|
|
61
|
+
|
|
62
|
+
# x-report 插槽 使用说明
|
|
63
|
+
|
|
64
|
+
- init(configName,configData) 配置名称 / 报表数据
|
|
65
|
+
- setData(configData) 主动设置数据
|
|
66
|
+
- 当使用 openDialog 打开报表时,会自动调用 init 方法,传递参数为打开弹框时传递的 **mixinData**
|
|
67
|
+
|
|
68
|
+
```js
|
|
69
|
+
this.$refs.main.openDialog('ceshishange',
|
|
70
|
+
-1,
|
|
71
|
+
{
|
|
72
|
+
configData: { arr: [{ 'defect@@@drug_name': '111' }, { 'defect@@@drug_name': '121', 'defect@@@num': '1' }] }
|
|
73
|
+
}
|
|
74
|
+
)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
- 当没有 openDialog 打开报表时,需要手动调用 init 方法 或者 setData,传递参数为需要的数据
|
|
78
|
+
|
|
79
|
+
# form 简易表单
|
|
80
|
+
|
|
81
|
+
- asyncSubmit().then(res=>{}) 手动提交表单
|
|
82
|
+
- setForm({}) 手动设置表单内容 传参:{a:'aa'} 如果表单配置 {a:''} 会合并到表单项目a中
|
|
83
|
+
- setFormWithKey({}) 手动设置表单内容 传参:{a_a:'aa'} 如果表单配置 {b_a:''} 或者 {c_a:'''} 会合并到表单项目b_a,c_a中
|
|
84
|
+
- 事件相关
|
|
85
|
+
- onSubmit(form) 表单提交事件
|
|
86
|
+
|
|
87
|
+
# 每种事件处理,传递给function的参数
|
|
88
|
+
|
|
89
|
+
- 添加处理:空
|
|
90
|
+
- action:(操作行数据)
|
|
91
|
+
- 自定义按钮:(选中的所有行)
|
|
92
|
+
|
|
93
|
+
# 例子
|
|
94
|
+
|
|
95
|
+
function() {
|
|
96
|
+
// 获取主formtable组件
|
|
97
|
+
main = this.getComponentByName('main')
|
|
98
|
+
// 把组件当前选中的项及select_id传给后台业务逻辑
|
|
99
|
+
return runLogic('logic', {select_id: main.getSelectedId(), rows: main.refreshTable()})
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
### 获取表单数据之后 提交 执行logic写法
|
|
103
|
+
|
|
104
|
+
```js
|
|
105
|
+
function() {
|
|
106
|
+
// 获取主formtable组件
|
|
107
|
+
const res = await this.getComponentByName('from').asyncSubmit()
|
|
108
|
+
// 把组件当前选中的项及select_id传给后台业务逻辑
|
|
109
|
+
return runLogic('logic', {res})
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### OpenDialog 弹框确认事件
|
|
114
|
+
|
|
115
|
+
```js
|
|
116
|
+
function() {
|
|
117
|
+
// 获取主formtable组件 在OpenDialog 事件中使用 getComponentByName 获取 既可以获取到打开的栅格中的组件对象,也可以获取到上级调用这个栅格的栅格的对象
|
|
118
|
+
const res = this.getComponentByName('main')
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## 执行自定义函数之后 刷新和提示说明
|
|
123
|
+
|
|
124
|
+
### 前端函数写法
|
|
125
|
+
|
|
126
|
+
```js
|
|
127
|
+
function () {
|
|
128
|
+
if (id) {
|
|
129
|
+
return this.runLogic('omtwCheckIn', { id })
|
|
130
|
+
} else {
|
|
131
|
+
return new Promise((resolve) => {
|
|
132
|
+
resolve({ message: '未提供 ID,无法登记' ,messageType:'warn'})
|
|
133
|
+
})
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// return this.runLogic('omtwCheckIn', { id })
|
|
137
|
+
// this.runLogic 所调用 logic 的 返回结果 为 Promise 对象 Promise对象内容 就是logic返回内容
|
|
138
|
+
// logic 返回内容写法参考下面的 logic 写法
|
|
139
|
+
// 如果不调用 this.runLogic 直接返回一个 Promise 对象,Promise对象内容就是提示内容
|
|
140
|
+
// 返回结果参数说明
|
|
141
|
+
// {
|
|
142
|
+
// name :"插槽实例名字", 如果传递了 name 或自动调用 该插槽的 refresh 方法 进行刷新
|
|
143
|
+
// message : "提示内容", 默认值为 ”操作成功“ 可自定义传
|
|
144
|
+
// messageType : "提示级别", 默认值为 "success" 可自定义传 success | warn | info | error
|
|
145
|
+
// }
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Logic 写法
|
|
149
|
+
|
|
150
|
+
```go
|
|
151
|
+
validate {
|
|
152
|
+
id: {
|
|
153
|
+
required: true
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
entity.partialSave("dms_non_drug_item_record", data),
|
|
157
|
+
{
|
|
158
|
+
message:"登记成功",
|
|
159
|
+
messageType: "success",
|
|
160
|
+
name:"omtwCheckInCRUD"
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
或者
|
|
166
|
+
|
|
167
|
+
```go
|
|
168
|
+
data.a == 3 : (
|
|
169
|
+
return {
|
|
170
|
+
message:"登记成功",
|
|
171
|
+
messageType: "success",
|
|
172
|
+
name:"omtwCheckInCRUD"
|
|
173
|
+
}
|
|
174
|
+
),null
|
|
175
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vue2-client",
|
|
3
|
-
"version": "1.12.
|
|
3
|
+
"version": "1.12.39.alpha.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"scripts": {
|
|
6
6
|
"serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"serve:revenue": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode revenue",
|
|
9
9
|
"serve:liuli": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode liuli",
|
|
10
10
|
"serve:scada": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode scada",
|
|
11
|
+
"serve:iot": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode iot",
|
|
11
12
|
"serve:his": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode his",
|
|
12
13
|
"mac-serve": "vue-cli-service serve --no-eslint --mode his",
|
|
13
14
|
"build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
|
|
@@ -77,7 +78,6 @@
|
|
|
77
78
|
"@vue/eslint-config-standard": "^8.0.1",
|
|
78
79
|
"@vue/test-utils": "^1.3.6",
|
|
79
80
|
"@jest/globals": "^29.7.0",
|
|
80
|
-
"babel-jest": "^29.7.0",
|
|
81
81
|
"babel-plugin-transform-remove-console": "^6.9.4",
|
|
82
82
|
"compression-webpack-plugin": "^10.0.0",
|
|
83
83
|
"css-minimizer-webpack-plugin": "^5.0.1",
|