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({ | const service = axios.create({ | ||||||
|   baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url |   baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url | ||||||
|   // withCredentials: true, // send cookies when cross-domain requests |   // withCredentials: true, // send cookies when cross-domain requests | ||||||
|   timeout: 10000 // request timeout |   timeout: 40000 // request timeout | ||||||
| }) | }) | ||||||
|  |  | ||||||
| // request interceptor | // 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