1、平台多APIKey支持
This commit is contained in:
		
							
								
								
									
										54
									
								
								src/api/admin/sms-abnormal-number.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								src/api/admin/sms-abnormal-number.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,54 @@ | ||||
| import request from '@/utils/request' | ||||
|  | ||||
| // 查询SmsAbnormalNumber列表 | ||||
| export function listSmsAbnormalNumber(query) { | ||||
|     return request({ | ||||
|         url: '/api/v1/sms-abnormal-number', | ||||
|         method: 'get', | ||||
|         params: query | ||||
|     }) | ||||
| } | ||||
|  | ||||
| // 查询SmsAbnormalNumber详细 | ||||
| export function getSmsAbnormalNumber (id) { | ||||
|     return request({ | ||||
|         url: '/api/v1/sms-abnormal-number/' + id, | ||||
|         method: 'get' | ||||
|     }) | ||||
| } | ||||
|  | ||||
|  | ||||
| // 新增SmsAbnormalNumber | ||||
| export function addSmsAbnormalNumber(data) { | ||||
|     return request({ | ||||
|         url: '/api/v1/sms-abnormal-number', | ||||
|         method: 'post', | ||||
|         data: data | ||||
|     }) | ||||
| } | ||||
|  | ||||
| // 修改SmsAbnormalNumber | ||||
| export function updateSmsAbnormalNumber(data) { | ||||
|     return request({ | ||||
|         url: '/api/v1/sms-abnormal-number/'+data.id, | ||||
|         method: 'put', | ||||
|         data: data | ||||
|     }) | ||||
| } | ||||
|  | ||||
| // 删除SmsAbnormalNumber | ||||
| export function delSmsAbnormalNumber(data) { | ||||
|     return request({ | ||||
|         url: '/api/v1/sms-abnormal-number', | ||||
|         method: 'delete', | ||||
|         data: data | ||||
|     }) | ||||
| } | ||||
|  | ||||
| //同步并比较差异 | ||||
| export function syncStateAbnormalNumber() { | ||||
|     return request({ | ||||
|         url: '/api/v1/sms-abnormal-number/sync-state', | ||||
|         method: 'post' | ||||
|     }) | ||||
| } | ||||
							
								
								
									
										47
									
								
								src/api/admin/sms-platform-key.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								src/api/admin/sms-platform-key.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| import request from '@/utils/request' | ||||
|  | ||||
| // 查询SmsPlatformKey列表 | ||||
| export function listSmsPlatformKey(query) { | ||||
|     return request({ | ||||
|         url: '/api/v1/sms-platform-key', | ||||
|         method: 'get', | ||||
|         params: query | ||||
|     }) | ||||
| } | ||||
|  | ||||
| // 查询SmsPlatformKey详细 | ||||
| export function getSmsPlatformKey (id) { | ||||
|     return request({ | ||||
|         url: '/api/v1/sms-platform-key/' + id, | ||||
|         method: 'get' | ||||
|     }) | ||||
| } | ||||
|  | ||||
|  | ||||
| // 新增SmsPlatformKey | ||||
| export function addSmsPlatformKey(data) { | ||||
|     return request({ | ||||
|         url: '/api/v1/sms-platform-key', | ||||
|         method: 'post', | ||||
|         data: data | ||||
|     }) | ||||
| } | ||||
|  | ||||
| // 修改SmsPlatformKey | ||||
| export function updateSmsPlatformKey(data) { | ||||
|     return request({ | ||||
|         url: '/api/v1/sms-platform-key/'+data.id, | ||||
|         method: 'put', | ||||
|         data: data | ||||
|     }) | ||||
| } | ||||
|  | ||||
| // 删除SmsPlatformKey | ||||
| export function delSmsPlatformKey(data) { | ||||
|     return request({ | ||||
|         url: '/api/v1/sms-platform-key', | ||||
|         method: 'delete', | ||||
|         data: data | ||||
|     }) | ||||
| } | ||||
|  | ||||
| @ -7,7 +7,7 @@ import { getToken } from '@/utils/auth' | ||||
| const service = axios.create({ | ||||
|   baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url | ||||
|   // withCredentials: true, // send cookies when cross-domain requests | ||||
|   timeout: 10000 // request timeout | ||||
|   timeout: 40000 // request timeout | ||||
| }) | ||||
|  | ||||
| // request interceptor | ||||
|  | ||||
							
								
								
									
										226
									
								
								src/views/admin/sms-abnormal-number/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										226
									
								
								src/views/admin/sms-abnormal-number/index.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,226 @@ | ||||
| <template> | ||||
|     <BasicLayout> | ||||
|         <template #wrapper> | ||||
|             <el-card class="box-card"> | ||||
|                 <el-form ref="queryForm" :model="queryParams" :inline="true" label-width="68px"> | ||||
|                     <el-form-item label="通道" prop="platformCode"><el-select v-model="queryParams.platformCode" | ||||
|                             placeholder="通道" clearable size="small"> | ||||
|                             <el-option v-for="dict in platformCodeOptions" :key="dict.value" :label="dict.label" | ||||
|                                 :value="dict.value" /> | ||||
|                         </el-select> | ||||
|                     </el-form-item> | ||||
|                     <el-form-item label="电话号码" prop="phone"><el-input v-model="queryParams.phone" placeholder="请输入电话号码" | ||||
|                             clearable size="small" @keyup.enter.native="handleQuery" /> | ||||
|                     </el-form-item> | ||||
|  | ||||
|                     <el-form-item> | ||||
|                         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> | ||||
|                         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> | ||||
|                     </el-form-item> | ||||
|                 </el-form> | ||||
|  | ||||
|                 <el-row :gutter="10" class="mb8"> | ||||
|                     <el-col :span="1.5"> | ||||
|                            <el-popconfirm class="delete-popconfirm" title="确认要同步吗?" confirm-button-text="同步" | ||||
|                                 @confirm="handleSync()"> | ||||
|                                 <el-button slot="reference" v-permisaction="['admin:smsAbnormalNumber:sync']" | ||||
|                                     size="mini" type="primary" :loading="loading">同步 | ||||
|                                 </el-button> | ||||
|                             </el-popconfirm> | ||||
|                     </el-col> | ||||
|                     <el-col :span="1.5"> | ||||
|                         <el-button v-permisaction="['admin:smsAbnormalNumber:remove']" type="danger" | ||||
|                             icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete">删除 | ||||
|                         </el-button> | ||||
|                     </el-col> | ||||
|                 </el-row> | ||||
|  | ||||
|                 <el-table v-loading="loading" :data="smsAbnormalNumberList" @selection-change="handleSelectionChange"> | ||||
|                     <el-table-column type="selection" width="55" align="center" /> | ||||
|  | ||||
|                     <el-table-column label="平台" align="center" prop="platformCode" :formatter="platformCodeFormat" | ||||
|                         width="100"> | ||||
|                         <template slot-scope="scope"> | ||||
|                             {{ platformCodeFormat(scope.row) }} | ||||
|                         </template> | ||||
|                     </el-table-column> | ||||
|                     <el-table-column label="账号" align="center" prop="account" :show-overflow-tooltip="true" /> | ||||
|                     <el-table-column label="电话号码" align="center" prop="phone" :show-overflow-tooltip="true" /> | ||||
|                     <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | ||||
|                         <template slot-scope="scope"> | ||||
|                             <el-popconfirm class="delete-popconfirm" title="确认要删除吗?" confirm-button-text="删除" | ||||
|                                 @confirm="handleDelete(scope.row)"> | ||||
|                                 <el-button slot="reference" v-permisaction="['admin:smsAbnormalNumber:remove']" | ||||
|                                     size="mini" type="text" icon="el-icon-delete">删除 | ||||
|                                 </el-button> | ||||
|                             </el-popconfirm> | ||||
|                         </template> | ||||
|                     </el-table-column> | ||||
|                 </el-table> | ||||
|  | ||||
|                 <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageIndex" | ||||
|                     :limit.sync="queryParams.pageSize" @pagination="getList" /> | ||||
|  | ||||
|             </el-card> | ||||
|         </template> | ||||
|     </BasicLayout> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { delSmsAbnormalNumber, listSmsAbnormalNumber,syncStateAbnormalNumber } from '@/api/admin/sms-abnormal-number' | ||||
|  | ||||
| export default { | ||||
|     name: 'SmsAbnormalNumber', | ||||
|     components: { | ||||
|     }, | ||||
|     data() { | ||||
|         return { | ||||
|             // 遮罩层 | ||||
|             loading: true, | ||||
|             // 选中数组 | ||||
|             ids: [], | ||||
|             // 非单个禁用 | ||||
|             single: true, | ||||
|             // 非多个禁用 | ||||
|             multiple: true, | ||||
|             // 总条数 | ||||
|             total: 0, | ||||
|             // 弹出层标题 | ||||
|             title: '', | ||||
|             // 是否显示弹出层 | ||||
|             open: false, | ||||
|             isEdit: false, | ||||
|             // 类型数据字典 | ||||
|             typeOptions: [], | ||||
|             smsAbnormalNumberList: [], | ||||
|             platformCodeOptions: [], | ||||
|             // 关系表类型 | ||||
|  | ||||
|             // 查询参数 | ||||
|             queryParams: { | ||||
|                 pageIndex: 1, | ||||
|                 pageSize: 10, | ||||
|                 platformCode: undefined, | ||||
|                 phone: undefined, | ||||
|  | ||||
|             }, | ||||
|             // 表单参数 | ||||
|             form: { | ||||
|             }, | ||||
|             // 表单校验 | ||||
|             rules: { | ||||
|                 platformCode: [{ required: true, message: '平台code不能为空', trigger: 'blur' }], | ||||
|                 phone: [{ required: true, message: '电话号码不能为空', trigger: 'blur' }], | ||||
|             } | ||||
|         } | ||||
|     }, | ||||
|     created() { | ||||
|         this.getList() | ||||
|         this.getDicts('sms_platform').then(response => { | ||||
|             this.platformCodeOptions = response.data | ||||
|         }) | ||||
|     }, | ||||
|     methods: { | ||||
|         /** 查询参数列表 */ | ||||
|         getList() { | ||||
|             this.loading = true | ||||
|             listSmsAbnormalNumber(this.addDateRange(this.queryParams, this.dateRange)).then(response => { | ||||
|                 this.smsAbnormalNumberList = response.data.list | ||||
|                 this.total = response.data.count | ||||
|                 this.loading = false | ||||
|             } | ||||
|             ) | ||||
|         }, | ||||
|         // 取消按钮 | ||||
|         cancel() { | ||||
|             this.open = false | ||||
|             this.reset() | ||||
|         }, | ||||
|         // 表单重置 | ||||
|         reset() { | ||||
|             this.form = { | ||||
|  | ||||
|                 id: undefined, | ||||
|                 account: undefined, | ||||
|                 platformCode: undefined, | ||||
|                 phone: undefined, | ||||
|             } | ||||
|             this.resetForm('form') | ||||
|         }, | ||||
|         getImgList: function () { | ||||
|             this.form[this.fileIndex] = this.$refs['fileChoose'].resultList[0].fullUrl | ||||
|         }, | ||||
|         fileClose: function () { | ||||
|             this.fileOpen = false | ||||
|         }, | ||||
|         platformCodeFormat(row) { | ||||
|             return this.selectDictLabel(this.platformCodeOptions, row.platformCode) | ||||
|         }, | ||||
|         // 关系 | ||||
|         // 文件 | ||||
|         /** 搜索按钮操作 */ | ||||
|         handleQuery() { | ||||
|             this.queryParams.pageIndex = 1 | ||||
|             this.getList() | ||||
|         }, | ||||
|         /** 重置按钮操作 */ | ||||
|         resetQuery() { | ||||
|             this.dateRange = [] | ||||
|             this.resetForm('queryForm') | ||||
|             this.handleQuery() | ||||
|         }, | ||||
|         /** 新增按钮操作 */ | ||||
|         handleAdd() { | ||||
|             this.reset() | ||||
|             this.open = true | ||||
|             this.title = '添加异常号码统计' | ||||
|             this.isEdit = false | ||||
|         }, | ||||
|         // 多选框选中数据 | ||||
|         handleSelectionChange(selection) { | ||||
|             this.ids = selection.map(item => item.id) | ||||
|             this.single = selection.length !== 1 | ||||
|             this.multiple = !selection.length | ||||
|         }, | ||||
|         /** 删除按钮操作 */ | ||||
|         handleDelete(row) { | ||||
|             var Ids = (row.id && [row.id]) || this.ids | ||||
|  | ||||
|             this.$confirm('是否确认删除编号为"' + Ids + '"的数据项?', '警告', { | ||||
|                 confirmButtonText: '确定', | ||||
|                 cancelButtonText: '取消', | ||||
|                 type: 'warning' | ||||
|             }).then(function () { | ||||
|                 return delSmsAbnormalNumber({ 'ids': Ids }) | ||||
|             }).then((response) => { | ||||
|                 if (response.code === 200) { | ||||
|                     this.msgSuccess(response.msg) | ||||
|                     this.open = false | ||||
|                     this.getList() | ||||
|                 } else { | ||||
|                     this.msgError(response.msg) | ||||
|                 } | ||||
|             }).catch(function () { | ||||
|             }) | ||||
|         }, | ||||
|         handleSync(){ | ||||
|             this.loading=true | ||||
|  | ||||
|             syncStateAbnormalNumber().then(response => { | ||||
|                 if (response.code === 200) { | ||||
|                     this.msgSuccess(response.msg) | ||||
|                     this.getList() | ||||
|                 } else { | ||||
|                     this.msgError(response.msg) | ||||
|                 } | ||||
|             }) | ||||
|             .catch(err=>{ | ||||
|                 console.log("err:",err) | ||||
|             }) | ||||
|             .finally(()=>{ | ||||
|                 this.loading=false | ||||
|             }) | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </script> | ||||
| @ -0,0 +1,192 @@ | ||||
| <template> | ||||
|   <!-- 添加或修改对话框 --> | ||||
|   <el-dialog :title="title" :visible.sync="visible" width="500px" @close="handleClose"> | ||||
|     <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | ||||
|       <el-form-item label="平台" prop="platformCode"> | ||||
|         <el-select v-model="form.platformCode" placeholder="请选择平台"> | ||||
|           <el-option v-for="dict in platformCodeOptions" :key="dict.value" :label="dict.label" :value="dict.value" /> | ||||
|         </el-select> | ||||
|       </el-form-item> | ||||
|       <el-form-item label="账号" prop="account"> | ||||
|         <el-input v-model="form.account" prop="account" maxlength="30" show-word-limit /> | ||||
|       </el-form-item> | ||||
|       <el-form-item label="平台key" prop="apiKey"> | ||||
|         <el-input v-model="form.apiKey" placeholder="平台key" show-password /> | ||||
|       </el-form-item> | ||||
|       <el-form-item label="平台私钥" prop="apiSecret"> | ||||
|         <el-input v-model="form.apiSecret" placeholder="平台私钥" show-password /> | ||||
|       </el-form-item> | ||||
|       <el-form-item label="状态" prop="status"> | ||||
|         <el-radio-group v-model="form.status"> | ||||
|           <el-radio v-for="dict in statusOptions" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio> | ||||
|         </el-radio-group> | ||||
|       </el-form-item> | ||||
|       <el-form-item label="备注" prop="remark"> | ||||
|         <el-input v-model="form.remark" placeholder="备注" /> | ||||
|       </el-form-item> | ||||
|     </el-form> | ||||
|     <div slot="footer" class="dialog-footer"> | ||||
|       <el-button type="primary" @click="handleSubmit" :loading="loading">确 定</el-button> | ||||
|       <el-button @click="handleCancel">取 消</el-button> | ||||
|     </div> | ||||
|   </el-dialog> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { addSmsPlatformKey, updateSmsPlatformKey } from '@/api/admin/sms-platform-key' | ||||
|  | ||||
| export default { | ||||
|   name: 'SmsPlatformKeyDialog', | ||||
|   props: { | ||||
|     // 控制对话框显示状态 | ||||
|     visible: { | ||||
|       type: Boolean, | ||||
|       default: false | ||||
|     }, | ||||
|     // 对话框标题 | ||||
|     title: { | ||||
|       type: String, | ||||
|       default: '' | ||||
|     }, | ||||
|     // 表单数据 | ||||
|     formData: { | ||||
|       type: Object, | ||||
|       default: () => ({}) | ||||
|     }, | ||||
|     // 平台选项 | ||||
|     platformCodeOptions: { | ||||
|       type: Array, | ||||
|       default: () => [] | ||||
|     }, | ||||
|     // 状态选项 | ||||
|     statusOptions: { | ||||
|       type: Array, | ||||
|       default: () => [] | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       // 表单数据 | ||||
|       form: { | ||||
|         id: undefined, | ||||
|         account: undefined, | ||||
|         platformCode: undefined, | ||||
|         apiKey: undefined, | ||||
|         apiSecret: undefined, | ||||
|         status: undefined, | ||||
|         remark: undefined | ||||
|       }, | ||||
|       // 表单校验规则 | ||||
|       rules: { | ||||
|         account: [{ required: true, message: '账户不能为空', trigger: 'blur' }], | ||||
|         platformCode: [{ required: true, message: '平台不能为空', trigger: 'blur' }], | ||||
|         apiKey: [{ required: true, message: '平台key不能为空', trigger: 'blur' }], | ||||
|         status: [{ required: true, message: '状态不能为空', trigger: 'blur' }] | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   watch: { | ||||
|     // 监听表单数据变化,同步到内部form | ||||
|     formData: { | ||||
|       handler(newVal) { | ||||
|         if (newVal) { | ||||
|           this.form = { ...newVal } | ||||
|         } | ||||
|       }, | ||||
|       deep: true, | ||||
|       immediate: true | ||||
|     }, | ||||
|     // 监听visible变化,重置表单 | ||||
|     visible(newVal) { | ||||
|       if (newVal) { | ||||
|         this.$nextTick(() => { | ||||
|           if (this.$refs.form) { | ||||
|             this.$refs.form.clearValidate() | ||||
|           } | ||||
|         }) | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     /** | ||||
|      * 处理对话框关闭事件 | ||||
|      */ | ||||
|     handleClose() { | ||||
|       this.$emit('update:visible', false) | ||||
|       this.$emit('close') | ||||
|     }, | ||||
|  | ||||
|     /** | ||||
|      * 处理取消按钮点击事件 | ||||
|      */ | ||||
|     handleCancel() { | ||||
|       this.handleClose() | ||||
|     }, | ||||
|  | ||||
|     /** | ||||
|      * 处理确定按钮点击事件 | ||||
|      */ | ||||
|     handleSubmit() { | ||||
|       this.$refs.form.validate(valid => { | ||||
|         if (valid) { | ||||
|           this.submitForm() | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|  | ||||
|     /** | ||||
|      * 提交表单数据 | ||||
|      */ | ||||
|     async submitForm() { | ||||
|       try { | ||||
|         const formData = { ...this.form } | ||||
|         let response | ||||
|  | ||||
|         if (formData.id !== undefined) { | ||||
|           // 更新操作 | ||||
|           response = await updateSmsPlatformKey(formData) | ||||
|         } else { | ||||
|           // 新增操作 | ||||
|           response = await addSmsPlatformKey(formData) | ||||
|         } | ||||
|  | ||||
|         if (response.code === 200) { | ||||
|           this.$message.success(response.msg) | ||||
|           this.handleClose() | ||||
|           // 通知父组件刷新列表 | ||||
|           this.$emit('success') | ||||
|         } else { | ||||
|           this.$message.error(response.msg) | ||||
|         } | ||||
|       } catch (error) { | ||||
|         console.error('提交失败:', error) | ||||
|         // this.$message.error('操作失败,请重试') | ||||
|       } | ||||
|     }, | ||||
|  | ||||
|     /** | ||||
|      * 重置表单 | ||||
|      */ | ||||
|     resetForm() { | ||||
|       this.form = { | ||||
|         id: undefined, | ||||
|         account: undefined, | ||||
|         platformCode: undefined, | ||||
|         apiKey: undefined, | ||||
|         apiSecret: undefined, | ||||
|         status: undefined, | ||||
|         remark: undefined | ||||
|       } | ||||
|       if (this.$refs.form) { | ||||
|         this.$refs.form.resetFields() | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style scoped> | ||||
| .dialog-footer { | ||||
|   text-align: right; | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										268
									
								
								src/views/admin/sms-platform-key/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										268
									
								
								src/views/admin/sms-platform-key/index.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,268 @@ | ||||
| <template> | ||||
|     <BasicLayout> | ||||
|         <template #wrapper> | ||||
|             <el-card class="box-card"> | ||||
|                 <el-form ref="queryForm" :model="queryParams" :inline="true" label-width="68px"> | ||||
|                     <el-form-item label="平台" prop="platformCode"><el-select v-model="queryParams.platformCode" | ||||
|                             placeholder="平台密钥管理平台" clearable size="small"> | ||||
|                             <el-option v-for="dict in platformCodeOptions" :key="dict.value" :label="dict.label" | ||||
|                                 :value="dict.value" /> | ||||
|                         </el-select> | ||||
|                     </el-form-item> | ||||
|  | ||||
|                     <el-form-item> | ||||
|                         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> | ||||
|                         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> | ||||
|                     </el-form-item> | ||||
|                 </el-form> | ||||
|  | ||||
|                 <el-row :gutter="10" class="mb8"> | ||||
|                     <el-col :span="1.5"> | ||||
|                         <el-button v-permisaction="['admin:smsPlatformKey:add']" type="primary" icon="el-icon-plus" | ||||
|                             size="mini" @click="handleAdd">新增 | ||||
|                         </el-button> | ||||
|                     </el-col> | ||||
|                     <el-col :span="1.5"> | ||||
|                         <el-button v-permisaction="['admin:smsPlatformKey:edit']" type="success" icon="el-icon-edit" | ||||
|                             size="mini" :disabled="single" @click="handleUpdate">修改 | ||||
|                         </el-button> | ||||
|                     </el-col> | ||||
|                     <el-col :span="1.5"> | ||||
|                         <el-button v-permisaction="['admin:smsPlatformKey:remove']" type="danger" icon="el-icon-delete" | ||||
|                             size="mini" :disabled="multiple" @click="handleDelete">删除 | ||||
|                         </el-button> | ||||
|                     </el-col> | ||||
|                 </el-row> | ||||
|  | ||||
|                 <el-table v-loading="loading" :data="smsPlatformKeyList" @selection-change="handleSelectionChange"> | ||||
|                     <el-table-column type="selection" width="55" align="center" /> | ||||
|                     <el-table-column label="平台" | ||||
|                         align="center" prop="platformCode" :formatter="platformCodeFormat" width="100"> | ||||
|                         <template slot-scope="scope"> | ||||
|                             {{ platformCodeFormat(scope.row) }} | ||||
|                         </template> | ||||
|                     </el-table-column> | ||||
|                     <el-table-column label="账户" align="center" prop="account" | ||||
|                         :show-overflow-tooltip="true" /> | ||||
|                     <el-table-column label="平台key" align="center" prop="apiKey" | ||||
|                         :show-overflow-tooltip="true" /> | ||||
|                     <el-table-column label="平台私钥" align="center" prop="apiSecret" :show-overflow-tooltip="true" /> | ||||
|                     <el-table-column label="状态" align="center" prop="status" :show-overflow-tooltip="true" > | ||||
|                         <template slot-scope="scope"> | ||||
|                             {{ statusFormat(scope.row.status) }} | ||||
|                         </template> | ||||
|                     </el-table-column> | ||||
|                     <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" /> | ||||
|                     <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | ||||
|                         <template slot-scope="scope"> | ||||
|                             <el-popconfirm class="delete-popconfirm" title="确认要修改吗?" confirm-button-text="修改" | ||||
|                                 @confirm="handleUpdate(scope.row)"> | ||||
|                                 <el-button slot="reference" v-permisaction="['admin:smsPlatformKey:edit']" size="mini" | ||||
|                                     type="text" icon="el-icon-edit">修改 | ||||
|                                 </el-button> | ||||
|                             </el-popconfirm> | ||||
|                             <el-popconfirm class="delete-popconfirm" title="确认要删除吗?" confirm-button-text="删除" | ||||
|                                 @confirm="handleDelete(scope.row)"> | ||||
|                                 <el-button slot="reference" v-permisaction="['admin:smsPlatformKey:remove']" size="mini" | ||||
|                                     type="text" icon="el-icon-delete">删除 | ||||
|                                 </el-button> | ||||
|                             </el-popconfirm> | ||||
|                         </template> | ||||
|                     </el-table-column> | ||||
|                 </el-table> | ||||
|  | ||||
|                 <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageIndex" | ||||
|                     :limit.sync="queryParams.pageSize" @pagination="getList" /> | ||||
|  | ||||
|                 <!-- 添加或修改对话框组件 --> | ||||
|                 <SmsPlatformKeyDialog | ||||
|                     :visible.sync="open" | ||||
|                     :title="title" | ||||
|                     :form-data="form" | ||||
|                     :platform-code-options="platformCodeOptions" | ||||
|                     :status-options="statusOptions" | ||||
|                     @success="handleDialogSuccess" | ||||
|                     @close="handleDialogClose" | ||||
|                 /> | ||||
|             </el-card> | ||||
|         </template> | ||||
|     </BasicLayout> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import { delSmsPlatformKey, getSmsPlatformKey, listSmsPlatformKey } from '@/api/admin/sms-platform-key' | ||||
| import SmsPlatformKeyDialog from './components/SmsPlatformKeyDialog.vue' | ||||
|  | ||||
| export default { | ||||
|     name: 'SmsPlatformKey', | ||||
|     components: { | ||||
|         SmsPlatformKeyDialog | ||||
|     }, | ||||
|     data() { | ||||
|         return { | ||||
|             // 遮罩层 | ||||
|             loading: true, | ||||
|             // 选中数组 | ||||
|             ids: [], | ||||
|             // 非单个禁用 | ||||
|             single: true, | ||||
|             // 非多个禁用 | ||||
|             multiple: true, | ||||
|             // 总条数 | ||||
|             total: 0, | ||||
|             // 弹出层标题 | ||||
|             title: '', | ||||
|             // 是否显示弹出层 | ||||
|             open: false, | ||||
|             isEdit: false, | ||||
|             // 类型数据字典 | ||||
|             typeOptions: [], | ||||
|             statusOptions: [{ | ||||
|                 value: 1, | ||||
|                 label: '启用' | ||||
|             }, { | ||||
|                 value: 2, | ||||
|                 label: '禁用' | ||||
|             }], | ||||
|             smsPlatformKeyList: [], | ||||
|             platformCodeOptions: [], | ||||
|             // 关系表类型 | ||||
|  | ||||
|             // 查询参数 | ||||
|             queryParams: { | ||||
|                 pageIndex: 1, | ||||
|                 pageSize: 10, | ||||
|                 platformCode: undefined, | ||||
|  | ||||
|             }, | ||||
|             // 表单参数 | ||||
|             form: { | ||||
|             }, | ||||
|             // 表单校验规则已移至组件中 | ||||
|         } | ||||
|     }, | ||||
|     created() { | ||||
|         this.getList() | ||||
|         this.getDicts('sms_platform').then(response => { | ||||
|             this.platformCodeOptions = response.data | ||||
|         }) | ||||
|     }, | ||||
|     methods: { | ||||
|         statusFormat(val){ | ||||
|             let data=this.statusOptions.find(x=>x.value===val) | ||||
|  | ||||
|             return data?.label || "未知" | ||||
|         }, | ||||
|         /** 查询参数列表 */ | ||||
|         getList() { | ||||
|             this.loading = true | ||||
|             listSmsPlatformKey(this.addDateRange(this.queryParams, this.dateRange)).then(response => { | ||||
|                 this.smsPlatformKeyList = response.data.list | ||||
|                 this.total = response.data.count | ||||
|                 this.loading = false | ||||
|             } | ||||
|             ) | ||||
|         }, | ||||
|         // 取消按钮 | ||||
|         cancel() { | ||||
|             this.open = false | ||||
|             this.reset() | ||||
|         }, | ||||
|         // 表单重置 | ||||
|         reset() { | ||||
|             this.form = { | ||||
|  | ||||
|                 id: undefined, | ||||
|                 platformCode: undefined, | ||||
|                 apiKey: undefined, | ||||
|                 apiSecret: undefined, | ||||
|                 status: undefined, | ||||
|                 remark: undefined, | ||||
|             } | ||||
|             this.resetForm('form') | ||||
|         }, | ||||
|         getImgList: function () { | ||||
|             this.form[this.fileIndex] = this.$refs['fileChoose'].resultList[0].fullUrl | ||||
|         }, | ||||
|         fileClose: function () { | ||||
|             this.fileOpen = false | ||||
|         }, | ||||
|         platformCodeFormat(row) { | ||||
|             return this.selectDictLabel(this.platformCodeOptions, row.platformCode) | ||||
|         }, | ||||
|         // 关系 | ||||
|         // 文件 | ||||
|         /** 搜索按钮操作 */ | ||||
|         handleQuery() { | ||||
|             this.queryParams.pageIndex = 1 | ||||
|             this.getList() | ||||
|         }, | ||||
|         /** 重置按钮操作 */ | ||||
|         resetQuery() { | ||||
|             this.dateRange = [] | ||||
|             this.resetForm('queryForm') | ||||
|             this.handleQuery() | ||||
|         }, | ||||
|         /** 新增按钮操作 */ | ||||
|         handleAdd() { | ||||
|             this.reset() | ||||
|             this.open = true | ||||
|             this.title = '添加平台密钥管理' | ||||
|             this.isEdit = false | ||||
|         }, | ||||
|         // 多选框选中数据 | ||||
|         handleSelectionChange(selection) { | ||||
|             this.ids = selection.map(item => item.id) | ||||
|             this.single = selection.length !== 1 | ||||
|             this.multiple = !selection.length | ||||
|         }, | ||||
|         /** 修改按钮操作 */ | ||||
|         handleUpdate(row) { | ||||
|             this.reset() | ||||
|             const id = | ||||
|                 row.id || this.ids | ||||
|             getSmsPlatformKey(id).then(response => { | ||||
|                 this.form = response.data | ||||
|                 this.open = true | ||||
|                 this.title = '修改平台密钥管理' | ||||
|                 this.isEdit = true | ||||
|             }) | ||||
|         }, | ||||
|         /** | ||||
|          * 处理对话框成功事件 | ||||
|          */ | ||||
|         handleDialogSuccess() { | ||||
|             this.open = false | ||||
|             this.getList() | ||||
|         }, | ||||
|  | ||||
|         /** | ||||
|          * 处理对话框关闭事件 | ||||
|          */ | ||||
|         handleDialogClose() { | ||||
|             this.reset() | ||||
|         }, | ||||
|         /** 删除按钮操作 */ | ||||
|         handleDelete(row) { | ||||
|             var Ids = (row.id && [row.id]) || this.ids | ||||
|  | ||||
|             this.$confirm('是否确认删除编号为"' + Ids + '"的数据项?', '警告', { | ||||
|                 confirmButtonText: '确定', | ||||
|                 cancelButtonText: '取消', | ||||
|                 type: 'warning' | ||||
|             }).then(function () { | ||||
|                 return delSmsPlatformKey({ 'ids': Ids }) | ||||
|             }).then((response) => { | ||||
|                 if (response.code === 200) { | ||||
|                     this.msgSuccess(response.msg) | ||||
|                     this.open = false | ||||
|                     this.getList() | ||||
|                 } else { | ||||
|                     this.msgError(response.msg) | ||||
|                 } | ||||
|             }).catch(function () { | ||||
|             }) | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </script> | ||||
		Reference in New Issue
	
	Block a user