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.
- package/dev/ApiPanel/menus.js +3 -0
- package/dev/ApiPanel/modules/ApiBusiness.vue +44 -0
- package/dev/ApiPanel/modules/ApiDcOrgSearch.vue +2 -2
- package/dev/ApiPanel/modules/ApiDcSupplierSearch.vue +2 -2
- package/dev/ApiPanel/modules/ApiJavaUtils.vue +6 -1
- package/dev/ApiPanel/modules/ApiVueUtils.vue +1 -1
- package/dev/ApiPanel/tabs/ApiApSearchPick.vue +186 -195
- package/dev/ApiPanel/tabs/ApiBusinessEmail.vue +146 -0
- package/dev/ApiPanel/tabs/ApiMediumUtil.vue +42 -0
- package/package.json +1 -1
package/dev/ApiPanel/menus.js
CHANGED
|
@@ -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),调用
|
|
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),调用
|
|
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',
|
|
@@ -1,149 +1,148 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 {
|
|
20
|
+
import {ApiCode, ApiContent, ApiTable, ApiTittle1, ApiTittle2} from './../components'
|
|
21
21
|
|
|
22
22
|
export default {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
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
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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:
|
|
101
|
+
searchTreeSelectMultiple: true
|
|
101
102
|
}</div>`
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
const methodCols = [
|
|
125
|
+
{label: '名称', prop: 'name', width: '200px'},
|
|
126
|
+
{label: '描述', prop: 'memo', minWidth: '100px'},
|
|
127
|
+
{label: '示例代码', prop: 'code', minWidth: '100px'}]
|
|
129
128
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
211
|
-
this.
|
|
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
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
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
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
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> <span style='background-color:#F4B084'>红色 #F4B084</span> <span style='background-color:#FFD966'>黄色 #FFD966</span> <span style='background-color:#D9D9D9'>灰色 #D9D9D9</span><br>
|
|
73
|
+
7、字体颜色:<span style='color:#00B050'>绿色 #00B050</span> <span style='color:#FF0000'>红色 #FF0000</span> <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<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>
|