1.迁移资质预警代码到自助平台
							parent
							
								
									bf59a0e558
								
							
						
					
					
						commit
						29a20bb4d7
					
				| @ -0,0 +1,25 @@ | ||||
| import axios from "@/utils/request"; | ||||
| 
 | ||||
| export function getSupCertRemindMsgList(params) { | ||||
|   return axios({ | ||||
|     url: "/sup/cert/remind/msg/filter", | ||||
|     method: "get", | ||||
|     params: params | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| export function confirmMsg(params) { | ||||
|   return axios({ | ||||
|     url: "/sup/cert/remind/msg/confirmMsg", | ||||
|     method: "get", | ||||
|     params: params | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| export function ignoreMsg(params) { | ||||
|   return axios({ | ||||
|     url: "/sup/cert/remind/msg/ignoreMsg", | ||||
|     method: "get", | ||||
|     params: params | ||||
|   }); | ||||
| } | ||||
| @ -0,0 +1,281 @@ | ||||
| <template> | ||||
|   <div> | ||||
|     <el-card class="el-card"> | ||||
|       <el-form :model="filterQuery" class="query-form" label-width="100px" v-show="showSearch"> | ||||
|         <el-row> | ||||
|           <el-col :span="6"> | ||||
|             <el-form-item class="query-form-item" label="名称:"> | ||||
|               <el-input v-model="filterQuery.name" placeholder="名称" | ||||
|                         style="width: 90%" | ||||
|                         clearable="true"></el-input> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
| 
 | ||||
|           <el-col :span="6"> | ||||
|             <el-form-item class="query-form-item" label="状态:"> | ||||
|               <el-select v-model="filterQuery.status" | ||||
|                          placeholder="请选择消息状态" | ||||
|                          clearable | ||||
|                          style="width: 90%" | ||||
|               > | ||||
|                 <el-option label="未确认" :value="1"></el-option> | ||||
|                 <el-option label="已确认" :value="2"></el-option> | ||||
|               </el-select> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
| 
 | ||||
|           <el-col :span="6"> | ||||
|             <el-form-item class="query-form-item" label="忽略状态:"> | ||||
|               <el-select v-model="filterQuery.ignoreStatus" | ||||
|                          placeholder="请选择消息忽略状态" | ||||
|                          clearable | ||||
|                          style="width: 90%" | ||||
|               > | ||||
|                 <el-option label="不忽略" :value="0"></el-option> | ||||
|                 <el-option label="忽略7天" :value="1"></el-option> | ||||
|                 <el-option label="忽略15天" :value="2"></el-option> | ||||
|                 <el-option label="忽略30天" :value="3"></el-option> | ||||
|               </el-select> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
| 
 | ||||
|           <el-col :span="6"> | ||||
|             <el-form-item class="query-form-item" label="预警类型:"> | ||||
|               <el-select v-model="filterQuery.type" | ||||
|                          placeholder="请选择消息状态" | ||||
|                          clearable | ||||
|                          style="width: 90%" | ||||
|                          @change="typeChange" | ||||
|               > | ||||
|                 <el-option label="配送企业资质预警" :value="1"></el-option> | ||||
|                 <el-option label="生产企业资质预警" :value="2"></el-option> | ||||
|                 <el-option label="产品资质预警" :value="3"></el-option> | ||||
|               </el-select> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|         </el-row> | ||||
| 
 | ||||
|       </el-form> | ||||
| 
 | ||||
|       <div class="top-right-btn"> | ||||
|         <el-button-group> | ||||
|           <el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏</el-button> | ||||
|           <el-button type="primary" icon="el-icon-refresh" @click="onReset">重置</el-button> | ||||
|           <el-button type="primary" @click.native="search" icon="el-icon-search">搜索</el-button> | ||||
|         </el-button-group> | ||||
|       </div> | ||||
|       <el-divider style="margin: 15px"></el-divider> | ||||
| 
 | ||||
|       <el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row> | ||||
|         <el-table-column type="index" label="序号" width="50"></el-table-column> | ||||
|         <el-table-column :label="msgName" prop="name" width="300"></el-table-column> | ||||
|         <el-table-column label="证书名称" prop="certName" width="300"></el-table-column> | ||||
|         <el-table-column label="有效期" prop="vailDate" width="200"></el-table-column> | ||||
|         <el-table-column label="失效期" prop="expireDate" width="300" show-overflow-tooltip></el-table-column> | ||||
|         <el-table-column label="消息状态" prop="status" width="100"> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-tag>{{ statusMap[scope.row.status] }}</el-tag> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|         <el-table-column label="忽略预警" prop="ignoreStatus" width="100"> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-tag>{{ ignoreStatusMap[scope.row.ignoreStatus] }}</el-tag> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|         <el-table-column label="预警类型" prop="type" width="150"> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-tag>{{ typeMap[scope.row.type] }}</el-tag> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|         <el-table-column label="预警内容" prop="msg" show-overflow-tooltip></el-table-column> | ||||
|         <el-table-column label="处理方式" prop="handleMsg" show-overflow-tooltip></el-table-column> | ||||
|         <el-table-column label="操作" width="100" fixed="right"> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-button | ||||
|               type="text" | ||||
|               size="small" | ||||
|               v-if="scope.row.status === 1" | ||||
|               @click.native="confirmMsg(scope.row)" | ||||
|             >确认 | ||||
|             </el-button> | ||||
|             <el-button | ||||
|               type="text" | ||||
|               size="small" | ||||
|               v-if="scope.row.ignoreStatus === 0" | ||||
|               @click.native="ignoreMsg(scope.row)" | ||||
|             >忽略 | ||||
|             </el-button> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|       </el-table> | ||||
|       <pagination | ||||
|         v-show="total>0" | ||||
|         :total="total" | ||||
|         :page.sync="filterQuery.page" | ||||
|         :limit.sync="filterQuery.limit" | ||||
|         @pagination="getList" | ||||
|       /> | ||||
|     </el-card> | ||||
| 
 | ||||
| 
 | ||||
|     <!--  忽略预警弹窗  --> | ||||
|     <el-dialog | ||||
|       v-if="ignoreVisible" | ||||
|       title="忽略预警" | ||||
|       :visible.sync="ignoreVisible" | ||||
|       :close-on-click-modal="false" | ||||
|       :close-on-press-escape="false" | ||||
|       width="30%" | ||||
|       top="5vh" | ||||
|     > | ||||
|       <el-row> | ||||
|         <el-button type="primary" size="medium" style="margin-left: 20%; margin-right: 20px;" @click="ignore(1)"> | ||||
|           忽略7天 | ||||
|         </el-button> | ||||
|         <el-button type="success" size="medium" style="margin-right: 20px;" @click="ignore(2)">忽略15天</el-button> | ||||
|         <el-button type="warning" size="medium" style="margin-right: 20px;" @click="ignore(3)">忽略30天</el-button> | ||||
|       </el-row> | ||||
|     </el-dialog> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| import {getSupCertRemindMsgList, confirmMsg, ignoreMsg} from "@/api/purchase/supCertRedmindMsg"; | ||||
| 
 | ||||
| export default { | ||||
|   name: "supCertRemindMsg", | ||||
|   data() { | ||||
|     return { | ||||
|       showSearch: true, | ||||
|       filterQuery: { | ||||
|         name: null, | ||||
|         status: 1, | ||||
|         ignoreStatus: 0, | ||||
|         type: 1, | ||||
|         page: 1, | ||||
|         limit: 20, | ||||
|       }, | ||||
|       list: [], | ||||
|       total: 0, | ||||
|       loading: true, | ||||
|       index: null, | ||||
|       statusMap: { | ||||
|         1: "未确认", | ||||
|         2: "已确认" | ||||
|       }, | ||||
|       typeMap: { | ||||
|         1: "配送企业资质预警", | ||||
|         2: "生产企业资质预警", | ||||
|         3: "产品资质预警" | ||||
|       }, | ||||
|       ignoreStatusMap: { | ||||
|         0: "不忽略", | ||||
|         1: "忽略7天", | ||||
|         2: "忽略15天", | ||||
|         3: "忽略30天" | ||||
|       }, | ||||
|       ignoreVisible: false, | ||||
|       currentId: null, | ||||
|       msgName: "配送企业名称", | ||||
|       msgNameMap: { | ||||
|         1: "配送企业名称", | ||||
|         2: "生产企业名称", | ||||
|         3: "产品名称" | ||||
|       } | ||||
|     }; | ||||
|   }, | ||||
|   methods: { | ||||
|     hideSearch() { | ||||
|       this.showSearch = !this.showSearch; | ||||
|     }, | ||||
|     onReset() { | ||||
|       this.$router.push({ | ||||
|         path: "", | ||||
|       }); | ||||
|       this.filterQuery = { | ||||
|         name: null, | ||||
|         status: 1, | ||||
|         ignoreStatus: 0, | ||||
|         type: 1, | ||||
|         page: 1, | ||||
|         limit: 20, | ||||
|       }; | ||||
|       this.typeChange(this.filterQuery.type); | ||||
|       this.getList(); | ||||
|     }, | ||||
|     search() { | ||||
|       this.filterQuery.page = 1; | ||||
|       this.getList(); | ||||
|     }, | ||||
|     getList() { | ||||
|       this.loading = true; | ||||
|       getSupCertRemindMsgList(this.filterQuery) | ||||
|         .then((response) => { | ||||
|           this.loading = false; | ||||
|           if (response.code === 20000) { | ||||
|             this.list = response.data.list || []; | ||||
|             this.total = response.data.total || 0; | ||||
|           } else { | ||||
|             this.list = []; | ||||
|             this.total = 0; | ||||
|           } | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.loading = false; | ||||
|           this.list = []; | ||||
|           this.total = 0; | ||||
|         }); | ||||
|     }, | ||||
|     confirmMsg(row) { | ||||
|       this.$prompt('请输入处理方式', '提示', { | ||||
|         confirmButtonText: '确定', | ||||
|         cancelButtonText: '取消', | ||||
|       }).then(({value}) => { | ||||
|         let params = { | ||||
|           id: row.id, | ||||
|           handleMsg: value | ||||
|         }; | ||||
|         confirmMsg(params).then((res) => { | ||||
|           if (res.code === 20000) { | ||||
|             this.$message.success("已确认"); | ||||
|             this.getList(); | ||||
|           } else { | ||||
|             this.$message.error(res.message); | ||||
|           } | ||||
|         }) | ||||
|       }).catch(() => { | ||||
|       }); | ||||
|     }, | ||||
|     ignoreMsg(row) { | ||||
|       this.ignoreVisible = true; | ||||
|       this.currentId = row.id; | ||||
|     }, | ||||
|     ignore(type) { | ||||
|       this.ignoreVisible = false; | ||||
|       let params = { | ||||
|         id: this.currentId, | ||||
|         ignoreStatus: type | ||||
|       }; | ||||
|       ignoreMsg(params).then((res) => { | ||||
|         this.currentId = null; | ||||
|         if (res.code === 20000) { | ||||
|           this.$message.success("已忽略预警"); | ||||
|           this.getList(); | ||||
|         } else { | ||||
|           this.$message.error(res.message); | ||||
|         } | ||||
|       }).catch(() => { | ||||
|         this.currentId = null; | ||||
|       }) | ||||
|     }, | ||||
|     typeChange(val) { | ||||
|       this.msgName = this.msgNameMap[val]; | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     // 加载表格数据 | ||||
|     this.getList(); | ||||
|   }, | ||||
| }; | ||||
| </script> | ||||
| 
 | ||||
					Loading…
					
					
				
		Reference in New Issue