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