百度AI关键词
This commit is contained in:
		
							
								
								
									
										224
									
								
								project/biaopin/AppKeywordManagement/AppKeywordManagement.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										224
									
								
								project/biaopin/AppKeywordManagement/AppKeywordManagement.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,224 @@ | |||||||
|  | <template> | ||||||
|  |   <section class="AppKeywordManagement"> | ||||||
|  |     <ai-list> | ||||||
|  |       <template slot="title"> | ||||||
|  |         <ai-title title="百度AI关键词" isShowBottomBorder></ai-title> | ||||||
|  |       </template> | ||||||
|  |       <template #content> | ||||||
|  |         <ai-search-bar> | ||||||
|  |           <template #left> | ||||||
|  |             <el-button size="small" type="primary" icon="iconfont iconAdd" @click="add('')">添加</el-button> | ||||||
|  |           </template> | ||||||
|  |           <template #right> | ||||||
|  |             <el-input size="small" placeholder="关键词搜索" v-model="search.name" clearable | ||||||
|  |               @clear="current = 1, search.name = '', getTableData()" suffix-icon="iconfont iconSearch" | ||||||
|  |               v-throttle="() => {(current = 1), getTableData();}"/> | ||||||
|  |           </template> | ||||||
|  |         </ai-search-bar> | ||||||
|  |         <ai-table :tableData="tableData" :total="total" :current.sync="current" :size.sync="size" | ||||||
|  |                   @getList="getTableData()" :col-configs="colConfigs" :dict="dict"> | ||||||
|  |           <el-table-column slot="status" label="状态"  align="center"> | ||||||
|  |             <template slot-scope="{ row }"> | ||||||
|  |               <el-switch v-model="row.status" @change="changeStatus(row)" active-value="1" inactive-value="0" | ||||||
|  |                 active-color="#5088FF" inactive-color="#D0D4DC"></el-switch> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column slot="options" label="操作"  align="center"> | ||||||
|  |             <template slot-scope="{ row }"> | ||||||
|  |               <el-button type="text" @click="edit(row)">编辑</el-button> | ||||||
|  |               <el-button type="text" @click="del(row)">删除</el-button> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |         </ai-table> | ||||||
|  |       </template> | ||||||
|  |     </ai-list> | ||||||
|  |     <ai-dialog | ||||||
|  |         :title="form.id ? '编辑敏感词' : '添加敏感词'" | ||||||
|  |         :visible.sync="dialog" | ||||||
|  |         :destroyOnClose="true" | ||||||
|  |         width="720px" | ||||||
|  |         @onConfirm="onConfirm" | ||||||
|  |         @closed="form={}"> | ||||||
|  |       <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | ||||||
|  |         <el-form-item label="敏感词" prop="wordName"> | ||||||
|  |           <el-input v-model.trim="form.wordName" placeholder="请输入敏感词" size="small"></el-input> | ||||||
|  |         </el-form-item> | ||||||
|  |       </el-form> | ||||||
|  |     </ai-dialog> | ||||||
|  |   </section> | ||||||
|  |  | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <script> | ||||||
|  | import { mapState } from "vuex"; | ||||||
|  | export default { | ||||||
|  |   name: "AppKeywordManagement", | ||||||
|  |   label: '百度AI关键词', | ||||||
|  |   props: { | ||||||
|  |     instance: Function, | ||||||
|  |     dict: Object, | ||||||
|  |     permissions: Function, | ||||||
|  |     menuName:String | ||||||
|  |   }, | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       search: { | ||||||
|  |         wordName: '', | ||||||
|  |         current: 1, | ||||||
|  |         size: 10, | ||||||
|  |       }, | ||||||
|  |       tableData: [], | ||||||
|  |       size: 10, | ||||||
|  |       total: 0, | ||||||
|  |       current: 1, | ||||||
|  |       form: { | ||||||
|  |         wordName: '', | ||||||
|  |         // areaList: [], | ||||||
|  |         deptList: [], | ||||||
|  |         departmentFullIds: [] | ||||||
|  |       }, | ||||||
|  |       dialog: false, | ||||||
|  |       flag: false, | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.getTableData() | ||||||
|  |   }, | ||||||
|  |   computed: { | ||||||
|  |     ...mapState(['user']), | ||||||
|  |     colConfigs() { | ||||||
|  |       return [ | ||||||
|  |         { prop: "wordName", label: '关键词', align: "left"}, | ||||||
|  |         { prop: "createTime", label: '创建时间'}, | ||||||
|  |         { prop: "createUserName", label: '创建人'}, | ||||||
|  |         { slot: "status" }, | ||||||
|  |         // { prop: "areaNames", label: '生效地区'}, | ||||||
|  |         // { prop: "departmentNames", label: '生效部门'}, | ||||||
|  |         { slot: "options" }, | ||||||
|  |       ] | ||||||
|  |     }, | ||||||
|  |     rules() { | ||||||
|  |       return { | ||||||
|  |         wordName: [{required: true, message: '请输入敏感词', trigger: 'blur' }], | ||||||
|  |         // areaList: [{required: true, message: '请选择生效地区', trigger: 'blur' }], | ||||||
|  |         deptList: [{required: true, message: '请选择生效部门', trigger: 'blur' }], | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     getTableData() { | ||||||
|  |       this.instance.post(`/app/appsessionarchiveaikeyword/list`,null,{ | ||||||
|  |         params: { | ||||||
|  |           ...this.search, | ||||||
|  |           current: this.current, | ||||||
|  |           size: this.size, | ||||||
|  |           total: this.total, | ||||||
|  |           wordName: this.search.name | ||||||
|  |         } | ||||||
|  |       }).then(res => { | ||||||
|  |         if(res?.data) { | ||||||
|  |           this.tableData = res.data.records | ||||||
|  |           this.total = res.data.total | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     del(row) { | ||||||
|  |       this.$confirm('确定删除该数据?').then(() => { | ||||||
|  |         this.instance.post(`/app/appsessionarchiveaikeyword/delete?ids=${row.id}`).then(res => { | ||||||
|  |           if (res.code == 0) { | ||||||
|  |             this.$message.success('删除成功!') | ||||||
|  |             this.getTableData() | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     changeStatus(row) { | ||||||
|  |       this.$confirm(`确定${row.status == 1 ? '停用' : '启用'}该关键词?`).then(() => { | ||||||
|  |         this.instance.post(`/app/appsessionarchiveaikeyword/enable?id=${row.id}`).then(res => { | ||||||
|  |           if (res.code == 0) { | ||||||
|  |             this.$message.success('操作成功!') | ||||||
|  |             this.getTableData() | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     edit(row) { | ||||||
|  |       this.form = {...row} | ||||||
|  |       // this.form.deptList = [] | ||||||
|  |       // this.form.departmentFullIds = [] | ||||||
|  |       // this.form.deptList = row.departmentIds.split(',') | ||||||
|  |       // if(row.departmentFullIds) { | ||||||
|  |       //   this.form.departmentFullIds = row.departmentFullIds.split(',') | ||||||
|  |       // } | ||||||
|  |       this.dialog = true | ||||||
|  |     }, | ||||||
|  |     add() { | ||||||
|  |       this.dialog = true | ||||||
|  |     }, | ||||||
|  |     onUserChange (e) { | ||||||
|  |       this.form.deptList = [] | ||||||
|  |       this.form.departmentFullIds = [] | ||||||
|  |       e.map((item) => { | ||||||
|  |         console.log(item) | ||||||
|  |         this.form.deptList.push(item.id) | ||||||
|  |         this.form.departmentFullIds.push(item.fullId) | ||||||
|  |       }) | ||||||
|  |       this.$forceUpdate() | ||||||
|  |       // this.form.deptList = e | ||||||
|  |       // this.$forceUpdate() | ||||||
|  |     }, | ||||||
|  |     onConfirm() { | ||||||
|  |       if(this.flag) return | ||||||
|  |  | ||||||
|  |       this.$refs.form.validate((valid)=> { | ||||||
|  |         if(valid) { | ||||||
|  |           this.flag = true | ||||||
|  |           this.instance.post(`/app/appsessionarchiveaikeyword/addOrUpdate`,{ | ||||||
|  |             ...this.form, | ||||||
|  |             status: this.form.id ? null : 1           | ||||||
|  |           }).then(res => { | ||||||
|  |             if(res?.code == 0) { | ||||||
|  |               this.$message.success(this.form.id ? '关键词编辑成功' : '关键词添加成功') | ||||||
|  |               setTimeout(() =>{ | ||||||
|  |                 this.form.deptList = [] | ||||||
|  |                 this.dialog = false | ||||||
|  |                 this.getTableData() | ||||||
|  |                 this.flag = false | ||||||
|  |               }, 600) | ||||||
|  |             } else { | ||||||
|  |               this.flag = false | ||||||
|  |             } | ||||||
|  |           }) | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|  |  | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  |  | ||||||
|  | <style lang="scss" scoped> | ||||||
|  | .AppKeywordManagement { | ||||||
|  |   height: 100%; | ||||||
|  |  | ||||||
|  |   .time-select { | ||||||
|  |     padding: 0 16px; | ||||||
|  |     height: 32px; | ||||||
|  |     line-height: 32px; | ||||||
|  |     border: 1px solid #d0d4dc; | ||||||
|  |     border-radius: 4px; | ||||||
|  |     display: flex; | ||||||
|  |     justify-content: space-between; | ||||||
|  |     cursor: pointer; | ||||||
|  |     .el-icon-arrow-down { | ||||||
|  |       line-height: 32px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   :deep .is-error { | ||||||
|  |     .time-select { | ||||||
|  |       border: 1px solid #f46!important; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </style> | ||||||
		Reference in New Issue
	
	Block a user