mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 21:50:28 +08:00 
			
		
		
		
	
		
			
	
	
		
			58 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								// 消息接收人设置
							 | 
						|||
| 
								 | 
							
								Vue.component("message-receivers-box", {
							 | 
						|||
| 
								 | 
							
									props: ["v-node-cluster-id"],
							 | 
						|||
| 
								 | 
							
									mounted: function () {
							 | 
						|||
| 
								 | 
							
										let that = this
							 | 
						|||
| 
								 | 
							
										Tea.action("/clusters/cluster/settings/message/selectedReceivers")
							 | 
						|||
| 
								 | 
							
											.params({
							 | 
						|||
| 
								 | 
							
												clusterId: this.clusterId
							 | 
						|||
| 
								 | 
							
											})
							 | 
						|||
| 
								 | 
							
											.post()
							 | 
						|||
| 
								 | 
							
											.success(function (resp) {
							 | 
						|||
| 
								 | 
							
												that.receivers = resp.data.receivers
							 | 
						|||
| 
								 | 
							
											})
							 | 
						|||
| 
								 | 
							
									},
							 | 
						|||
| 
								 | 
							
									data: function () {
							 | 
						|||
| 
								 | 
							
										let clusterId = this.vNodeClusterId
							 | 
						|||
| 
								 | 
							
										if (clusterId == null) {
							 | 
						|||
| 
								 | 
							
											clusterId = 0
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										return {
							 | 
						|||
| 
								 | 
							
											clusterId: clusterId,
							 | 
						|||
| 
								 | 
							
											receivers: []
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									},
							 | 
						|||
| 
								 | 
							
									methods: {
							 | 
						|||
| 
								 | 
							
										addReceiver: function () {
							 | 
						|||
| 
								 | 
							
											let that = this
							 | 
						|||
| 
								 | 
							
											let recipientIdStrings = []
							 | 
						|||
| 
								 | 
							
											let groupIdStrings = []
							 | 
						|||
| 
								 | 
							
											this.receivers.forEach(function (v) {
							 | 
						|||
| 
								 | 
							
												if (v.type == "recipient") {
							 | 
						|||
| 
								 | 
							
													recipientIdStrings.push(v.id.toString())
							 | 
						|||
| 
								 | 
							
												} else if (v.type == "group") {
							 | 
						|||
| 
								 | 
							
													groupIdStrings.push(v.id.toString())
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											})
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											teaweb.popup("/clusters/cluster/settings/message/selectReceiverPopup?recipientIds=" + recipientIdStrings.join(",") + "&groupIds=" + groupIdStrings.join(","), {
							 | 
						|||
| 
								 | 
							
												callback: function (resp) {
							 | 
						|||
| 
								 | 
							
													that.receivers.push(resp.data)
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											})
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
										removeReceiver: function (index) {
							 | 
						|||
| 
								 | 
							
											this.receivers.$remove(index)
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									},
							 | 
						|||
| 
								 | 
							
									template: `<div>
							 | 
						|||
| 
								 | 
							
								        <input type="hidden" name="receiversJSON" :value="JSON.stringify(receivers)"/>           
							 | 
						|||
| 
								 | 
							
								        <div v-if="receivers.length > 0">
							 | 
						|||
| 
								 | 
							
								            <div v-for="(receiver, index) in receivers" class="ui label basic small">
							 | 
						|||
| 
								 | 
							
								               <span v-if="receiver.type == 'group'">分组:</span>{{receiver.name}} <span class="grey small" v-if="receiver.subName != null && receiver.subName.length > 0">({{receiver.subName}})</span>   <a href="" title="删除" @click.prevent="removeReceiver(index)"><i class="icon remove"></i></a>
							 | 
						|||
| 
								 | 
							
								            </div>
							 | 
						|||
| 
								 | 
							
								             <div class="ui divider"></div>
							 | 
						|||
| 
								 | 
							
								        </div>
							 | 
						|||
| 
								 | 
							
								      <button type="button" class="ui button tiny" @click.prevent="addReceiver">+</button>
							 | 
						|||
| 
								 | 
							
								</div>`
							 | 
						|||
| 
								 | 
							
								})
							 |