Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lanbaoming
jiedao-app-operator-master
Commits
c7b723d2
Commit
c7b723d2
authored
Nov 29, 2024
by
honghy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增短信日志穿梭、节点国家多选、模板预览
parent
93b5cf8c
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
112 additions
and
15 deletions
+112
-15
smsNode.vue
src/views/system/sms/smsNode.vue
+112
-15
No files found.
src/views/system/sms/smsNode.vue
View file @
c7b723d2
...
...
@@ -104,22 +104,30 @@
</el-table-column>
<el-table-column
label=
"模板1"
align=
"center"
prop=
"templateIdOne"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"look(smsTemplateMap.get(scope.row.templateIdOne))"
>
{{
scope
.
row
.
templateIdOne
!=
null
?
smsTemplateMap
.
get
(
scope
.
row
.
templateIdOne
)
!=
null
?
smsTemplateMap
.
get
(
scope
.
row
.
templateIdOne
).
name
:
''
:
''
}}
</el-button>
</
template
>
</el-table-column>
<el-table-column
label=
"模板2"
align=
"center"
prop=
"templateIdTwo"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"look(smsTemplateMap.get(scope.row.templateIdTwo))"
>
{{
scope
.
row
.
templateIdTwo
!=
null
?
smsTemplateMap
.
get
(
scope
.
row
.
templateIdTwo
)
!=
null
?
smsTemplateMap
.
get
(
scope
.
row
.
templateIdTwo
).
name
:
''
:
''
}}
</el-button>
</
template
>
</el-table-column>
<el-table-column
label=
"模板3"
align=
"center"
prop=
"templateIdThree"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"look(smsTemplateMap.get(scope.row.templateIdThree))"
>
{{
scope
.
row
.
templateIdThree
!=
null
?
smsTemplateMap
.
get
(
scope
.
row
.
templateIdThree
)
!=
null
?
smsTemplateMap
.
get
(
scope
.
row
.
templateIdThree
).
name
:
''
:
''
}}
</el-button>
</
template
>
</el-table-column>
<el-table-column
label=
"模板4"
align=
"center"
prop=
"templateIdFour"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"look(smsTemplateMap.get(scope.row.templateIdFour))"
>
{{
scope
.
row
.
templateIdFour
!=
null
?
smsTemplateMap
.
get
(
scope
.
row
.
templateIdFour
)
!=
null
?
smsTemplateMap
.
get
(
scope
.
row
.
templateIdFour
).
name
:
''
:
''
}}
</el-button>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
prop=
"createTime"
width=
"180"
>
...
...
@@ -158,8 +166,8 @@
<el-option
key=
"0"
label=
"其他"
:value=
"parseInt(0)"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"国家"
prop=
"
countryId
"
>
<el-select
filterable
clearable
v-model=
"form.countryId
"
:placeholder=
"$t('请选择国家')"
@
change=
"handleChangeCountry"
>
<el-form-item
label=
"国家"
prop=
"
tel
"
>
<el-select
filterable
clearable
multiple
v-model=
"form.countryIds
"
:placeholder=
"$t('请选择国家')"
@
change=
"handleChangeCountry"
>
<el-option
key=
"0"
label=
"全部"
:value=
"parseInt(0)"
/>
<el-option
key=
"-1"
label=
"其他"
:value=
"parseInt(-1)"
/>
<el-option
v-for=
"dict in countryList"
...
...
@@ -246,6 +254,74 @@
</div>
</el-dialog>
<!-- 预览模板 -->
<el-dialog
:visible.sync=
"open2"
width=
"500px"
append-to-body
>
<el-form
label-width=
"140px"
>
<el-form-item
:label=
"$t('短信渠道编号')"
prop=
"channelId"
>
<el-select
v-model=
"form2.channelId"
:placeholder=
"$t('请选择短信渠道编号')"
>
<el-option
v-for=
"channel in channelOptions"
:key=
"channel.id"
:value=
"channel.id"
:label=
"channel.signature + '【' + getDictDataLabel(DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE, channel.code) + '】'"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('发送类型')"
prop=
"messageType"
>
<el-select
v-model=
"form2.messageType"
placeholder=
"请选择发送类型"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.SYSTEM_SMS_TEMPLATE_MESSAGE_TYPE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('短信类型')"
prop=
"type"
>
<el-select
v-model=
"form2.type"
:placeholder=
"$t('请选择短信类型')"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.SYSTEM_SMS_TEMPLATE_TYPE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"节点"
prop=
"nodeValue"
>
<el-select
v-model=
"form2.nodeValue"
placeholder=
"请选择节点类型"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.SYSTEM_SMS_NODE_NODE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
>
<el-select
v-model=
"form2.transportId"
:placeholder=
"$t('请选择运输方式类型')"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.ECW_TRANSPORT_TYPE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
<el-option
key=
"0"
label=
"无"
:value=
"parseInt(0)"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('模板编号')"
prop=
"code"
>
<el-input
v-model=
"form2.code"
:placeholder=
"$t('请输入模板编号')"
/>
</el-form-item>
<el-form-item
:label=
"$t('模板名称')"
prop=
"name"
>
<el-input
v-model=
"form2.name"
:placeholder=
"$t('请输入模板名称')"
/>
</el-form-item>
<el-form-item
:label=
"$t('开启状态')"
prop=
"status"
>
<el-radio-group
v-model=
"form2.status"
>
<el-radio
v-for=
"dict in this.getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key=
"dict.value"
:label=
"parseInt(dict.value)"
>
{{dict.label}}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"短信API模板编号"
prop=
"apiTemplateId"
>
<el-input
v-model=
"form2.apiTemplateId"
placeholder=
"请输入短信 API 的模板编号"
/>
</el-form-item>
<el-form-item
:label=
"$t('模板内容')"
prop=
"content"
>
<el-input
type=
"textarea"
v-model=
"form2.content"
:placeholder=
"$t('请输入模板内容')"
/>
</el-form-item>
<el-form-item
:label=
"$t('备注')"
prop=
"remark"
>
<el-input
v-model=
"form2.remark"
:placeholder=
"$t('请输入备注')"
/>
</el-form-item>
<el-form-item
label=
"语言"
prop=
"language"
>
<el-select
v-model=
"form2.language"
placeholder=
"请选择语言"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.SYSTEM_SMS_TEMPLATE_LANGUAGE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-form>
</el-dialog>
</div>
</template>
...
...
@@ -253,6 +329,7 @@
import
{
createSmsNode
,
updateSmsNode
,
deleteSmsNode
,
getSmsNode
,
getSmsNodePage
,
exportSmsNodeExcel
,
testSms
}
from
"
@/api/system/sms/smsNode
"
;
import
{
getCountryListAll
}
from
'
@/api/ecw/country
'
import
{
getSmsTemplateList
}
from
'
@/api/system/sms/smsTemplate
'
import
{
getSimpleSmsChannels
}
from
"
@/api/system/sms/smsChannel
"
;
export
default
{
name
:
"
SmsNode
"
,
...
...
@@ -295,11 +372,15 @@ export default {
},
// 表单参数
form
:
{},
form2
:
{},
open2
:
false
,
// 短信渠道
channelOptions
:
[],
// 表单校验
rules
:
{
nodeValue
:
[{
required
:
true
,
message
:
"
节点不能为空
"
,
trigger
:
"
blur
"
}],
transportId
:
[{
required
:
true
,
message
:
"
运输方式不能为空
"
,
trigger
:
"
blur
"
}],
country
Id
:
[{
required
:
true
,
message
:
"
国家区号不能为空
"
,
trigger
:
"
change
"
}],
country
Codes
:
[{
required
:
true
,
message
:
"
国家区号不能为空
"
,
trigger
:
"
change
"
}],
countryCode
:
[{
required
:
true
,
message
:
"
国家区号不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
启用状态不能为空
"
,
trigger
:
"
change
"
}],
templateIdOne
:
[{
required
:
true
,
message
:
"
模板1不能为空
"
,
trigger
:
"
change
"
}],
...
...
@@ -315,11 +396,12 @@ export default {
countryCode
:
[{
required
:
true
,
message
:
"
区号不能为空
"
,
trigger
:
"
blur
"
}],
messageType
:
[{
required
:
true
,
message
:
"
发送类型不能为空
"
,
trigger
:
"
blur
"
}],
nodeTemplateSn
:
[{
required
:
true
,
message
:
"
模板序号不能为空
"
,
trigger
:
"
blur
"
}],
templateParams
:
[{
required
:
true
,
message
:
"
参数(JSON)不能为空
"
,
trigger
:
"
blur
"
}],
},
node
:
{}
};
},
async
created
()
{
created
()
{
const
that
=
this
this
.
getList
();
getCountryListAll
().
then
(
res
=>
{
...
...
@@ -329,14 +411,18 @@ export default {
return
item
})
})
this
.
countryMap
.
set
(
0
,{
id
:
0
,
nameZh
:
'
全部
'
})
this
.
countryMap
.
set
(
-
1
,{
id
:
-
1
,
nameZh
:
'
其他
'
})
this
.
countryMap
.
set
(
0
,{
id
:
0
,
nameZh
:
'
全部
'
,
tel
:
0
})
this
.
countryMap
.
set
(
-
1
,{
id
:
-
1
,
nameZh
:
'
其他
'
,
tel
:
-
1
})
getSmsTemplateList
().
then
(
res
=>
{
this
.
smsTemplateList
=
res
.
data
for
(
var
i
=
0
;
i
<
res
.
data
.
length
;
i
++
){
this
.
smsTemplateMap
.
set
(
res
.
data
[
i
].
id
,
res
.
data
[
i
])
}
})
// 获得短信渠道
getSimpleSmsChannels
().
then
(
response
=>
{
this
.
channelOptions
=
response
.
data
;
})
},
methods
:
{
/** 查询列表 */
...
...
@@ -408,6 +494,13 @@ export default {
if
(
!
valid
)
{
return
;
}
var
countryCodes
=
[];
var
countryIds
=
this
.
form
.
countryIds
for
(
var
i
=
0
;
i
<
countryIds
.
length
;
i
++
)
{
countryCodes
.
push
(
this
.
countryMap
.
get
(
countryIds
[
i
]).
tel
)
}
this
.
form
.
countryId
=
[...
this
.
form
.
countryIds
].
join
(
'
,
'
)
this
.
form
.
countryCode
=
[...
countryCodes
].
join
(
'
,
'
)
// 修改的提交
if
(
this
.
form
.
id
!=
null
)
{
updateSmsNode
(
this
.
form
).
then
(
response
=>
{
...
...
@@ -453,11 +546,11 @@ export default {
},
// 切换国家
handleChangeCountry
(
val
)
{
if
(
val
==
0
||
val
==-
1
)
{
this
.
form
.
countryCode
=
val
}
else
{
this
.
form
.
countryCode
=
this
.
countryList
.
filter
(
a
=>
a
.
id
==
val
)[
0
].
tel
}
//
if(val==0||val==-1) {
//
this.form.countryCode = val
//
} else {
//
this.form.countryCode = this.countryList.filter(a => a.id == val)[0].tel
//
}
},
test
(
row
)
{
this
.
sendSmsForm
=
{
...
...
@@ -491,6 +584,10 @@ export default {
this
.
sendSmsOpen
=
false
;
});
});
},
look
(
rows
)
{
this
.
form2
=
rows
this
.
open2
=
true
}
}
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment