ap-dev 1.1.22 → 1.1.26

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.
@@ -15,6 +15,9 @@ const menus = [
15
15
  }, {
16
16
  id: 'ApiFs',
17
17
  label: '1.3 文件服务'
18
+ }, {
19
+ id: 'ApiBusiness',
20
+ label: '1.4 业务规范'
18
21
  }]
19
22
  }, {
20
23
  id: 'ApiDefault',
@@ -0,0 +1,44 @@
1
+ <template>
2
+ <el-tabs v-model="activeName" tabPosition="left" class="api-tabs">
3
+ <template v-for="(item,index) in opts">
4
+ <el-tab-pane :label="item.label" :name="'tab' + index" class="api-tab">
5
+ <component :is="item.component"></component>
6
+ </el-tab-pane>
7
+ </template>
8
+ </el-tabs>
9
+ </template>
10
+
11
+ <script>
12
+ import ApiBusinessEmail from './../tabs/ApiBusinessEmail'
13
+
14
+ export default {
15
+ name: "ApiBusiness",
16
+ components: {
17
+ ApiBusinessEmail,
18
+ },
19
+ data() {
20
+
21
+ let opts = [{
22
+ label: "邮件推送",
23
+ component: "ApiBusinessEmail"
24
+ }
25
+ ];
26
+ return {
27
+ activeName: 'tab0',
28
+ opts: opts
29
+ }
30
+ }
31
+ }
32
+ </script>
33
+
34
+ <style scoped>
35
+ .api-tabs {
36
+ display: flex;
37
+ height: 100%;
38
+ }
39
+
40
+ .api-tabs /deep/ .el-tabs__content {
41
+ flex: 1;
42
+ overflow: scroll;
43
+ }
44
+ </style>
@@ -124,7 +124,7 @@ export default {
124
124
  memo: '设置选中数据。<br>' +
125
125
  '<span class="api-memo">参数1:value。选中值,必填,多个数据使用“,”间隔</span><br>' +
126
126
  '<span class="api-memo">参数2:text。显示文本,非必填,多个数据使用“,”间隔</span>',
127
- code: '1、参数传输 (value),调用searchGridItemUrl获取对象<br/>' +
127
+ code: '1、参数传输 (value),调用searchPickTextUrl获取对象<br/>' +
128
128
  '单选:<span class="api-code">this.$refs.searchRef.initSearchData(\'xxx\');</span><br/>' +
129
129
  '多选:<span class="api-code">this.$refs.searchRef.initSearchData(\'xxx,xxx\');</span><br/>' +
130
130
  '2、参数传输 (value, text),不会调用请求获取对象<br/>' +
@@ -221,4 +221,4 @@ options:{
221
221
  </script>
222
222
 
223
223
  <style scoped>
224
- </style>
224
+ </style>
@@ -103,7 +103,7 @@ export default {
103
103
  memo: '设置选中数据。<br>' +
104
104
  '<span class="api-memo">参数1:value。选中值,必填,多个数据使用“,”间隔</span><br>' +
105
105
  '<span class="api-memo">参数2:text。显示文本,非必填,多个数据使用“,”间隔</span>',
106
- code: '1、参数传输 (value),调用searchGridItemUrl获取对象<br/>' +
106
+ code: '1、参数传输 (value),调用searchPickTextUrl获取对象<br/>' +
107
107
  '单选:<span class="api-code">this.$refs.searchRef.initSearchData(\'xxx\');</span><br/>' +
108
108
  '多选:<span class="api-code">this.$refs.searchRef.initSearchData(\'xxx,xxx\');</span><br/>' +
109
109
  '2、参数传输 (value, text),不会调用请求获取对象<br/>' +
@@ -177,4 +177,4 @@ options:{
177
177
  </script>
178
178
 
179
179
  <style scoped>
180
- </style>
180
+ </style>
@@ -23,6 +23,7 @@ import ApiStringUtil from './../tabs/ApiStringUtil'
23
23
  import ApiQyWxUtil from './../tabs/ApiQyWxUtil'
24
24
  import ApiJavaCommonUtil from './../tabs/ApiJavaCommonUtil'
25
25
  import ApiWebSocketUtil from './../tabs/ApiWebSocketUtil'
26
+ import ApiMediumUtil from './../tabs/ApiMediumUtil'
26
27
 
27
28
  export default {
28
29
  name: "ApiJavaUtils",
@@ -40,7 +41,8 @@ export default {
40
41
  ApiStringUtil,
41
42
  ApiQyWxUtil,
42
43
  ApiJavaCommonUtil,
43
- ApiWebSocketUtil
44
+ ApiWebSocketUtil,
45
+ ApiMediumUtil
44
46
  },
45
47
  data() {
46
48
  let opts = [
@@ -77,6 +79,9 @@ export default {
77
79
  }, {
78
80
  label: 'QyWxUtil',
79
81
  component: 'ApiQyWxUtil',
82
+ },{
83
+ label: 'MediumUtil',
84
+ component: 'ApiMediumUtil',
80
85
  }, {
81
86
  label: 'DictionaryUtil',
82
87
  component: 'ApiDictionaryUtil',
@@ -13,7 +13,7 @@ import ApiVueDateUtil from './../tabs/ApiVueDateUtil'
13
13
  import ApiVueWebSocketUtil from './../tabs/ApiVueWebSocketUtil'
14
14
 
15
15
  export default {
16
- name: "ApiJavaUtils",
16
+ name: "ApiVueUtils",
17
17
  components: {
18
18
  ApiVueDateUtil,
19
19
  ApiVueWebSocketUtil,
@@ -1,149 +1,148 @@
1
1
  <template>
2
- <div style="height: 100%">
3
- <h3>树-表查询选择:ap-search-pick</h3>
4
- <api-tittle-2>一、示例:</api-tittle-2>
5
- <div>
6
- <div style="width: 200px;">
7
- <ap-search-pick :options.sync="typeGridOptions" />
8
- </div>
2
+ <div style="height: 100%">
3
+ <h3>树-表查询选择:ap-search-pick</h3>
4
+ <api-tittle-2>一、示例:</api-tittle-2>
5
+ <div>
6
+ <div style="width: 200px;">
7
+ <ap-search-pick :options.sync="typeGridOptions"/>
8
+ </div>
9
+ </div>
10
+ <api-code>{{ js1 }}</api-code>
11
+ <api-tittle-2>二、参数说明:</api-tittle-2>
12
+ <api-table :data="attrData" :columns="attrCols" style="height: 950px"/>
13
+ <api-tittle-2>三、方法说明:</api-tittle-2>
14
+ <api-table :data="methodData" :columns="methodCols"/>
9
15
  </div>
10
- <api-code>{{ js1 }}</api-code>
11
- <api-tittle-2>二、参数说明:</api-tittle-2>
12
- <api-table :data="attrData" :columns="attrCols" />
13
- <api-tittle-2>三、方法说明:</api-tittle-2>
14
- <api-table :data="methodData" :columns="methodCols" />
15
- </div>
16
16
  </template>
17
17
 
18
18
  <script>
19
19
  import ApSearchPick from 'ap-frame/frame/components/ApSearchPick'
20
- import { ApiCode, ApiContent, ApiTable, ApiTittle1, ApiTittle2 } from './../components'
20
+ import {ApiCode, ApiContent, ApiTable, ApiTittle1, ApiTittle2} from './../components'
21
21
 
22
22
  export default {
23
- name: 'ApiApSearchPick',
24
- components: {
25
- ApiTable, ApiCode, ApiTittle1, ApiContent, ApiTittle2, ApSearchPick
26
- },
27
- data() {
28
- const attrCols = [
29
- { label: '分类', prop: 'group', width: '150px' },
30
- { label: '名称', prop: 'name', width: '180px' },
31
- { label: '类型', prop: 'type', width: '100px' },
32
- { label: '默认值', prop: 'default', width: '150px' },
33
- { label: '描述', prop: 'memo', minWidth: '100px' },
34
- { label: '示例代码', prop: 'code', minWidth: '100px' }]
23
+ name: 'ApiApSearchPick',
24
+ components: {
25
+ ApiTable, ApiCode, ApiTittle1, ApiContent, ApiTittle2, ApSearchPick
26
+ },
27
+ data() {
28
+ const attrCols = [
29
+ {label: '分类', prop: 'group', width: '150px'},
30
+ {label: '名称', prop: 'name', width: '180px'},
31
+ {label: '类型', prop: 'type', width: '100px'},
32
+ {label: '默认值', prop: 'default', width: '150px'},
33
+ {label: '描述', prop: 'memo', minWidth: '100px'},
34
+ {label: '示例代码', prop: 'code', minWidth: '100px'}]
35
35
 
36
- const attrData = [{
37
- name: 'searchPickText',
38
- type: '字符串',
39
- default: '',
40
- memo: '组件的显示值。'
41
- }, {
42
- name: 'searchPickValue',
43
- type: '字符串',
44
- default: '',
45
- memo: '组件的选择值。'
46
- }, {
47
- name: 'searchPickInitText',
48
- type: '布尔',
49
- default: 'false',
50
- memo: '是否自动初始化searchPickText的值'
51
- }, {
52
- name: 'searchPickTitle',
53
- type: '字符串',
54
- default: '',
55
- memo: 'Dialog弹出层标题'
56
- }, {
57
- name: 'searchPickHeight',
58
- type: '字符串',
59
- default: '400px',
60
- memo: '树-表Dialog的内容高度。百分比或者px。'
61
- }, {
62
- name: 'searchPickWidth',
63
- type: '字符串',
64
- default: '70%',
65
- memo: '树-表Dialog的宽度。百分比或者px。'
66
- }, {
67
- name: 'searchPickDisabled',
68
- type: '布尔',
69
- default: 'false',
70
- memo: '是否禁用。'
71
- }, {
72
- name: 'searchPickClear',
73
- type: '方法',
74
- default: '',
75
- memo: '点击清空回调。返回true确认清空。',
76
- code: `<div class="api-code">searchPickClear: () => {
77
- if(xxx)
78
- return false; // 禁止清空,可做提示
79
- // 执行清空逻辑
36
+ const attrData = [{
37
+ group: '基础参数',
38
+ name: 'searchPickText',
39
+ type: '字符串',
40
+ default: '',
41
+ memo: '组件的显示值。'
42
+ }, {
43
+ name: 'searchPickTextUrl',
44
+ type: '字符串',
45
+ default: '',
46
+ memo: '初始化searchPickText显示值和弹出框的已选值:根据searchPickValue,后台获取对应信息。' +
47
+ '<br> 后端接口说明:<br> 1、默认POST请求,后端接收参数默认ids。<br> 2、返回值:返回list。list对象的属性分别映射"searchPickTableLabelKey"和表格的"rowKey"参数。默认为fdName和fdId。'
48
+ }, {
49
+ name: 'searchPickValue',
50
+ type: '字符串',
51
+ default: '',
52
+ memo: '组件的选择值。'
53
+ }, {
54
+ name: 'searchPickTitle',
55
+ type: '字符串',
56
+ default: '',
57
+ memo: 'Dialog弹出层标题'
58
+ }, {
59
+ name: 'searchPickHeight',
60
+ type: '字符串',
61
+ default: '400px',
62
+ memo: '树-表Dialog的内容高度。百分比或者px。'
63
+ }, {
64
+ name: 'searchPickWidth',
65
+ type: '字符串',
66
+ default: '70%',
67
+ memo: '树-表Dialog的宽度。百分比或者px。'
68
+ }, {
69
+ name: 'searchPickDisabled',
70
+ type: '布尔',
71
+ default: 'false',
72
+ memo: '是否禁用。'
73
+ }, {
74
+ name: 'searchPickClear',
75
+ type: '方法',
76
+ default: '',
77
+ memo: '点击清空回调。返回true确认清空。',
78
+ code: `<div class="api-code">searchPickClear: () => {
79
+ // 返回false不清空
80
+ if(xxx) { return false;}
80
81
  return true;
81
82
  }</div>`
82
- }, {
83
- name: 'searchPickConfirm',
84
- type: '方法',
85
- default: '',
86
- memo: '点击确定回调。参数:selectData。返回true确认选择。',
87
- code: `<div class="api-code">searchPickConfirm: (selectData) => {
88
- if(xxx)
89
- return false; // 禁止选中,可做提示
90
- // 执行选择赋值逻辑
83
+ }, {
84
+ name: 'searchPickConfirm',
85
+ type: '方法',
86
+ default: '',
87
+ memo: '点击确定回调。参数:selectData。返回true确认选择,关闭dialog。',
88
+ code: `<div class="api-code">searchPickConfirm: (selectData) => {
89
+ // 返回false,选择无效dialog不关闭
90
+ if(xxx) { return false;}
91
91
  return true;
92
92
  }</div>`
93
- }, {
94
- group: '树-参数:searchPickTreeOptions',
95
- type: '对象',
96
- memo: '树相关参数,参考【表单-树查询】相关参数。',
97
- code: `<div class="api-code">示例:{
93
+ }, {
94
+ group: '左侧树参数',
95
+ name: 'searchPickTreeOptions',
96
+ type: '对象',
97
+ memo: '树相关参数,参考【树查询组件】相关参数。',
98
+ code: `<div class="api-code">searchPickTreeOptions: {
98
99
  searchTreeUrl: "/dc/open/org/getEnableOrgList",
99
100
  searchTreeParams: {"disabled": 0},
100
- searchTreeSelectMultiple: opts.selectMultiple
101
+ searchTreeSelectMultiple: true
101
102
  }</div>`
102
- }, {
103
- group: '表-参数:searchPickTableConfigs',
104
- type: '对象',
105
- default: '',
106
- memo: '表相关参数,参照【表格组件】相关参数。'
107
- }, {
108
- name: 'extendParams',
109
- type: '对象',
110
- default: '{}',
111
- memo: '请求附加参数。'
112
- }, {
113
- group: '表-附加参数:searchPickGridOptions',
114
- name: 'searchGridItemUrl',
115
- type: '字符串',
116
- default: '',
117
- memo: '根据选中值进行查询对象接口。'
118
- }, {
119
- name: 'searchGridItemMethod',
120
- type: '字符串',
121
- default: 'POST',
122
- memo: '查询对象接口数据请求方式。'
123
- }]
103
+ }, {
104
+ group: '右侧表格参数',
105
+ name: 'searchPickTableOptions',
106
+ type: '对象',
107
+ default: '',
108
+ memo: '表相关参数,参照【表格组件】相关参数。'
109
+ }, {
110
+ name: 'searchPickTableParamKey',
111
+ type: '对象',
112
+ default: '见描述',
113
+ memo: '默认:{selectedKey:"selectedIds",filterKey:"filterText"}<br>' +
114
+ '表格数据请求,后台controller参数名。<br>' +
115
+ 'selectedKey -> tree选中值的参数名<br>' +
116
+ 'filterKey -> 过滤文本的参数名'
117
+ }, {
118
+ name: 'searchPickTableLabelKey',
119
+ type: '字符串',
120
+ default: 'fdName',
121
+ memo: '表格顶部已选值,对应的属性名。<br>注:id为表格的rowKey属性'
122
+ }]
124
123
 
125
- const methodCols = [
126
- { label: '名称', prop: 'name', width: '200px' },
127
- { label: '描述', prop: 'memo', minWidth: '100px' },
128
- { label: '示例代码', prop: 'code', minWidth: '100px' }]
124
+ const methodCols = [
125
+ {label: '名称', prop: 'name', width: '200px'},
126
+ {label: '描述', prop: 'memo', minWidth: '100px'},
127
+ {label: '示例代码', prop: 'code', minWidth: '100px'}]
129
128
 
130
- const methodData = [
131
- {
132
- group: '设置数据',
133
- name: 'initSearchPickData',
134
- memo: '设置选中数据。<br>' +
135
- '<span class="api-memo">参数1:value。选中值,必填,多个数据使用“,”间隔</span><br>' +
136
- '<span class="api-memo">参数2:text。显示文本,非必填,多个数据使用“,”间隔</span>',
137
- code: '1、参数传输 (value),调用searchGridItemUrl获取对象<br/>' +
138
- '单选:<span class="api-code">this.$refs.searchRef.initSearchPickData(\'xxx\');</span><br/>' +
139
- '多选:<span class="api-code">this.$refs.searchRef.initSearchPickData(\'xxx,xxx\');</span><br/>' +
140
- '2、参数传输 (value, text),不会调用请求获取对象<br/>' +
141
- '单选:<span class="api-code">this.$refs.searchRef.initSearchPickData(\'xxx\',\'xxx\');</span><br/>' +
142
- '多选:<span class="api-code">this.$refs.searchRef.initSearchPickData(\'xxx,xxx\',\'xxx,xxx\');</span><br/>'
143
- }
144
- ]
129
+ const methodData = [
130
+ {
131
+ group: '设置数据',
132
+ name: 'initText',
133
+ memo: '设置选中数据。<br>' +
134
+ '<span class="api-memo">参数1:value。选中值,必填,多个数据使用“,”间隔</span><br>' +
135
+ '<span class="api-memo">参数2:text。显示文本,非必填,多个数据使用“,”间隔</span>',
136
+ code: '1、参数传输 (value),调用searchPickTextUrl获取对象<br/>' +
137
+ '单选:<span class="api-code">this.$refs.searchRef.initText(\'xxx\');</span><br/>' +
138
+ '多选:<span class="api-code">this.$refs.searchRef.initText(\'xxx,xxx\');</span><br/>' +
139
+ '2、参数传输 (value, text),不会调用请求获取对象<br/>' +
140
+ '单选:<span class="api-code">this.$refs.searchRef.initText(\'xxx\',\'xxx\');</span><br/>' +
141
+ '多选:<span class="api-code">this.$refs.searchRef.initText(\'xxx,xxx\',\'xxx,xxx\');</span><br/>'
142
+ }
143
+ ]
145
144
 
146
- const js1 = `// 1、定义树表查询:
145
+ const js1 = `// 1、定义树表查询:
147
146
  <el-form :model="form" :rules="rules" ref="formRef" label-width="100px">
148
147
  <el-form-item label="attr" prop="attr">
149
148
  <ap-search-pick ref="searchRef" :options.sync="options"></ap-search-pick>
@@ -155,17 +154,13 @@ export default {
155
154
  // 2、配置options
156
155
  options:{
157
156
  searchPickText: "期初文本",
158
- searchPickInitText: true,
159
157
  searchPickValue: "",
160
158
  searchPickTitle: "弹出层标题",
161
159
  searchPickTreeOptions: {
162
160
  searchTreeUrl: "/dc/open/org/getEnableSimplifyOrgList",
163
161
  searchTreeSelectMultiple: true,
164
162
  },
165
- searchPickGridOptions: {
166
- searchGridItemUrl: '/dc/open/person/getEnablePersonList',
167
- },
168
- searchPickTableConfigs: {
163
+ searchPickTableOptions: {
169
164
  dataUrl: "/dc/open/person/getEnablePersonGridList",
170
165
  title: "自定义列表",
171
166
  columns: [{
@@ -207,75 +202,71 @@ options:{
207
202
 
208
203
  // 3、期初数据方式
209
204
  // 方式1:有具体对象的数据,参照 searchPickConfirm 实现方式 -- 注:需要对象数据完整
210
- this.deptSearchSelectOptions.searchValue = 'xxx';
211
- this.deptSearchSelectOptions.searchText = 'xxx';
205
+ this.options.searchPickText = 'xxx';
206
+ this.options.searchPickValue = 'xxx';
212
207
 
213
208
  // 方式2:只有对象Id,调用函数 -- 注:只要传输Id
214
209
  this.$refs.searchRef.initSearchData("xxx");
215
210
  `
216
- const typeGridOptions = {
217
- searchPickText: '期初文本',
218
- searchPickInitText: true,
219
- searchPickValue: 'f6754c4206a647d7af4a97ececd5d284',
220
- searchPickTitle: '弹出层标题',
221
- searchPickTreeOptions: {
222
- searchTreeUrl: '/dc/open/org/getEnableSimplifyOrgList',
223
- searchTreeSelectMultiple: false
224
- },
225
- searchPickGridOptions: {
226
- searchGridItemUrl: '/dc/open/person/getEnablePersonList'
227
- },
228
- searchPickTableConfigs: {
229
- dataUrl: '/dc/open/person/getEnablePersonGridList',
230
- title: '自定义列表',
231
- columns: [{
232
- prop: 'fdName',
233
- label: '名称',
234
- type: 'input'
235
- }, {
236
- prop: 'fdNo',
237
- label: '工号',
238
- type: 'input'
239
- }, {
240
- prop: 'fdDeptName',
241
- label: '部门名称',
242
- type: 'input'
243
- }],
244
- multiSelect: true
245
- },
246
- searchPickConfirm: (selectData) => {
247
- if (Array.isArray(selectData)) {
248
- // 多选
249
- // 使用了 ES6 语法 获取对象数组的指定属性数组
250
- const valueArr = selectData.map(item => item.fdId)
251
- const labelArr = selectData.map(item => item.fdName)
252
- this.typeGridOptions.searchPickValue = valueArr.join(',')
253
- this.typeGridOptions.searchPickText = labelArr.join(',')
254
- } else {
255
- // 单选
256
- this.typeGridOptions.searchPickValue = selectData.fdId
257
- this.typeGridOptions.searchPickText = selectData.fdName
211
+ const typeGridOptions = {
212
+ searchPickText: '期初文本',
213
+ searchPickValue: 'f6754c4206a647d7af4a97ececd5d284',
214
+ searchPickTitle: '弹出层标题',
215
+ searchPickTreeOptions: {
216
+ searchTreeUrl: '/dc/open/org/getEnableSimplifyOrgList',
217
+ searchTreeSelectMultiple: false
218
+ },
219
+ searchPickTableOptions: {
220
+ dataUrl: '/dc/open/person/getEnablePersonGridList',
221
+ title: '自定义列表',
222
+ columns: [{
223
+ prop: 'fdName',
224
+ label: '名称',
225
+ type: 'input'
226
+ }, {
227
+ prop: 'fdNo',
228
+ label: '工号',
229
+ type: 'input'
230
+ }, {
231
+ prop: 'fdDeptName',
232
+ label: '部门名称',
233
+ type: 'input'
234
+ }],
235
+ multiSelect: true
236
+ },
237
+ searchPickConfirm: (selectData) => {
238
+ if (Array.isArray(selectData)) {
239
+ // 多选
240
+ // 使用了 ES6 语法 获取对象数组的指定属性数组
241
+ const valueArr = selectData.map(item => item.fdId)
242
+ const labelArr = selectData.map(item => item.fdName)
243
+ this.typeGridOptions.searchPickValue = valueArr.join(',')
244
+ this.typeGridOptions.searchPickText = labelArr.join(',')
245
+ } else {
246
+ // 单选
247
+ this.typeGridOptions.searchPickValue = selectData.fdId
248
+ this.typeGridOptions.searchPickText = selectData.fdName
249
+ }
250
+ return true
251
+ },
252
+ searchPickClear: () => {
253
+ this.typeGridOptions.searchPickValue = ''
254
+ this.typeGridOptions.searchPickText = ''
255
+ return true
256
+ }
258
257
  }
259
- return true
260
- },
261
- searchPickClear: () => {
262
- this.typeGridOptions.searchPickValue = ''
263
- this.typeGridOptions.searchPickText = ''
264
- return true
265
- }
266
- }
267
- return {
268
- attrData,
269
- attrCols,
270
- methodData,
271
- methodCols,
272
- js1,
273
- typeGridOptions
274
- }
275
- },
276
- methods: {}
258
+ return {
259
+ attrData,
260
+ attrCols,
261
+ methodData,
262
+ methodCols,
263
+ js1,
264
+ typeGridOptions
265
+ }
266
+ },
267
+ methods: {}
277
268
  }
278
269
  </script>
279
270
 
280
271
  <style scoped>
281
- </style>
272
+ </style>
@@ -0,0 +1,146 @@
1
+ <template>
2
+ <div>
3
+ <api-tittle-1>邮件推送规范:</api-tittle-1>
4
+ <api-tittle-2>一、邮件标题</api-tittle-2>
5
+ <api-content>
6
+ 格式:[系统]-标题-公司名-日期<br>
7
+ 1、日期格式:yyyymmdd,日期间不要加"-"。<br>
8
+ 2、区间日期格式:"yyyymmdd至yyyymmdd"。<br>
9
+ 3、公司名:根据业务情况,可加可不加。<br><br>
10
+ <div class="api-memo">
11
+ 示例1:[MES]-生产日报表-20220201<br>
12
+ 示例2:[MES]-生产日报表-20220201至20220207<br>
13
+ 示例3:[中台]-CTW报表-**公司-20220222<br>
14
+ </div>
15
+ </api-content>
16
+ <api-tittle-2>二、邮件内容规范:效果如下</api-tittle-2>
17
+ <api-content>
18
+ <div style="border: 1px solid rgba(128,128,128,0.42);padding: 10px;margin: 10px;width: 500px;">
19
+ <div style='font-family:微软雅黑;font-size:16px;'>
20
+ <div>亲爱的双驰人:</div>
21
+ <div style='margin-left:20px;'>您好,**系统为您推送******,请您关注!</div>
22
+ <div style='margin-left:20px;'>
23
+ <div style='font-weight: bold;'>报表标题</div>
24
+ <table border='1' style='border-collapse: collapse;'>
25
+ <tr style='background-color:#9BC2E6;'>
26
+ <th colspan='4' width='400'>一级标题</th>
27
+ </tr>
28
+ <tr style='background-color:#BDD7EE;'>
29
+ <th colspan='2' width='200'>二级标题</th>
30
+ <th colspan='2' width='200'>二级标题</th>
31
+ </tr>
32
+ <tr style='background-color:#DDEBF7'>
33
+ <th width='100'>标题</th>
34
+ <th width='100'>标题</th>
35
+ <th width='150'>标题</th>
36
+ <th width='50'>标题</th>
37
+ </tr>
38
+ <tr>
39
+ <td>内容</td>
40
+ <td>内容</td>
41
+ <td>内容</td>
42
+ <td>内容</td>
43
+ </tr>
44
+ <tr>
45
+ <td style='color:#00B050'>绿色文字</td>
46
+ <td style='color:#FF0000;'>红色文字</td>
47
+ <td style='color:#FFC000'>黄色文字</td>
48
+ <td>内容</td>
49
+ </tr>
50
+ <tr>
51
+ <td style='background-color:#A9D08E'>绿底文字</td>
52
+ <td style='background-color:#F4B084'>红底文字</td>
53
+ <td style='background-color:#FFD966'>黄底文字</td>
54
+ <td>内容</td>
55
+ </tr>
56
+ <tr style='background-color:#D9D9D9'>
57
+ <td>合计</td>
58
+ <td>内容</td>
59
+ <td>内容</td>
60
+ <td>内容</td>
61
+ </tr>
62
+ </table>
63
+ </div>
64
+ <div><br>温馨提醒:该邮件为系统自动推送邮件,请勿直接回复!</div>
65
+ </div>
66
+ </div>
67
+ 1、字体:微软雅黑、大小16px<br>
68
+ 2、固定前缀:<span style="color: #c7254e;">亲爱的双驰人: 您好,**系统为您推送******,请您关注!</span><br>
69
+ 3、固定后缀:<span style="color: #c7254e;">温馨提醒:该邮件为系统自动推送邮件,请勿直接回复!</span><br>
70
+ 4、标题格式: <span style='font-weight: bold;'>标题加粗</span><br>
71
+ 5、表格标题:参考效果。只有一层标题时,使用"一级标题"的配色。<br>
72
+ 6、底纹:<span style='background-color:#A9D08E'>绿色 #A9D08E</span>&nbsp;&nbsp;<span style='background-color:#F4B084'>红色 #F4B084</span>&nbsp;&nbsp;<span style='background-color:#FFD966'>黄色 #FFD966</span>&nbsp;&nbsp;<span style='background-color:#D9D9D9'>灰色 #D9D9D9</span><br>
73
+ 7、字体颜色:<span style='color:#00B050'>绿色 #00B050</span>&nbsp;&nbsp;<span style='color:#FF0000'>红色 #FF0000</span>&nbsp;&nbsp;<span style='color:#FFC000'>黄色 #FFC000</span><br>
74
+ <br>
75
+ <api-code>{{ js1 }}</api-code>
76
+ </api-content>
77
+ </div>
78
+ </template>
79
+
80
+ <script>
81
+ import {ApiCode, ApiContent, ApiTable, ApiTittle1, ApiTittle2} from './../components'
82
+
83
+ export default {
84
+ name: 'ApiNameVue',
85
+ components: {
86
+ ApiTable, ApiCode, ApiTittle1, ApiContent, ApiTittle2
87
+ },
88
+ data() {
89
+ const js1 = `// 邮件内容:java标准代码
90
+ String prefix = "<div style='font-family:微软雅黑;font-size:16px;'>" +
91
+ "<div>亲爱的双驰人:</div>" +
92
+ "<div style='margin-left:20px;'>您好,**系统为您推送******,请您关注!</div>";
93
+ String content = "<div style='margin-left:20px;'>" +
94
+ "<div style='font-weight: bold;'>报表标题</div>" +
95
+ "<table border='1' style='border-collapse: collapse;'>" +
96
+ " <tr style='background-color:#9BC2E6;'>" +
97
+ " <th colspan='4' width='400'>一级标题</th>" +
98
+ " </tr>" +
99
+ " <tr style='background-color:#BDD7EE;'>" +
100
+ " <th colspan='2' width='200'>二级标题</th>" +
101
+ " <th colspan='2' width='200'>二级标题</th>" +
102
+ " </tr>" +
103
+ " <tr style='background-color:#DDEBF7'>" +
104
+ " <th width='100'>标题</th>" +
105
+ " <th width='100'>标题</th>" +
106
+ " <th width='150'>标题</th>" +
107
+ " <th width='50'>标题</th>" +
108
+ " </tr>" +
109
+ " <tr>" +
110
+ " <td>内容</td>" +
111
+ " <td>内容</td>" +
112
+ " <td>内容</td>" +
113
+ " <td>内容</td>" +
114
+ " </tr>" +
115
+ " <tr>" +
116
+ " <td style='color:#00B050'>绿色文字</td>" +
117
+ " <td style='color:#FF0000;'>红色文字</td>" +
118
+ " <td style='color:#FFC000'>黄色文字</td>" +
119
+ " <td>内容</td>" +
120
+ " </tr>" +
121
+ " <tr>" +
122
+ " <td style='background-color:#A9D08E'>绿底文字</td>" +
123
+ " <td style='background-color:#F4B084'>红底文字</td>" +
124
+ " <td style='background-color:#FFD966'>黄底文字</td>" +
125
+ " <td>内容</td>" +
126
+ " </tr>" +
127
+ " <tr style='background-color:#D9D9D9'>" +
128
+ " <td>合计</td>" +
129
+ " <td>内容</td>" +
130
+ " <td>内容</td>" +
131
+ " <td>内容</td>" +
132
+ " </tr>" +
133
+ "</table>" +
134
+ "</div>";
135
+ String suffix = "<div><br>温馨提醒:该邮件为系统自动推送邮件,请勿直接回复!</div></div>";
136
+ String contentHtml = prefix + content + suffix;`
137
+
138
+
139
+ return {js1}
140
+ }
141
+ }
142
+ </script>
143
+
144
+ <style scoped>
145
+
146
+ </style>
@@ -0,0 +1,42 @@
1
+ <template>
2
+ <div style="height: 100%">
3
+ <h3>消息推送工具类 - QyWxUtil</h3>
4
+ <api-table :data="methodData" :columns="methodCols"/>
5
+ </div>
6
+ </template>
7
+
8
+ <script>
9
+ import {ApiCode, ApiContent, ApiTable, ApiTittle1, ApiTittle2} from './../components'
10
+
11
+ export default {
12
+ name: 'ApiMediumUtil',
13
+ components: {
14
+ ApiTable, ApiCode, ApiTittle1, ApiContent, ApiTittle2
15
+ },
16
+ data() {
17
+ const methodCols = [
18
+ {label: '方法名', prop: 'name', width: '220px'},
19
+ {label: '说明', prop: 'memo', width: '300px'},
20
+ {label: '示例代码', prop: 'code', minWidth: '100px'}]
21
+ const methodData = [
22
+ {
23
+ name: 'getMediumList',
24
+ memo: `获取消息推送列表<br>
25
+ 注:根据分组类型自动转换为邮箱、工号、手机号`,
26
+ code: `<span class="api-code">// 获取编码为"test"的推送列表
27
+ List&lt;String> list = MediumUtil.getMediumList("test")
28
+ </span>`
29
+ }
30
+ ]
31
+
32
+ return {
33
+ methodData,
34
+ methodCols
35
+ }
36
+ },
37
+ methods: {}
38
+ }
39
+ </script>
40
+
41
+ <style scoped>
42
+ </style>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ap-dev",
3
- "version": "1.1.22",
3
+ "version": "1.1.26",
4
4
  "description": "===== ap-dev =====",
5
5
  "author": "xiexinbin",
6
6
  "email": "876818817@qq.com",