7 changed files with 730 additions and 8 deletions
			
			
		- 
					108src/views/system/logManage/doorLog/index.vue
- 
					77src/views/system/logManage/index.vue
- 
					107src/views/system/logManage/loginLog/index.vue
- 
					115src/views/system/logManage/operateLog/index.vue
- 
					118src/views/system/logManage/portLog/index.vue
- 
					171src/views/system/logManage/warnLog/index.vue
- 
					42src/views/system/notifyManage/index.vue
| @ -0,0 +1,108 @@ | |||||
|  | <template> | ||||
|  |   <div> | ||||
|  |     <div class="head-container"> | ||||
|  |       <!-- <crudOperation /> --> | ||||
|  |       <!-- <el-button v-permission="permission.download" :loading="crud.downloadLoading" :disabled="!selections.length" size="mini" icon="el-icon-download" @click="handleDownload">导出</el-button> --> | ||||
|  |       <el-button :loading="crud.downloadLoading" size="mini" icon="el-icon-download" @click="handleDownload">导出</el-button> | ||||
|  |       <el-input | ||||
|  |         v-model="keyWord" | ||||
|  |         size="small" | ||||
|  |         clearable | ||||
|  |         placeholder="请输入关键词" | ||||
|  |         style="width: 300px;margin-right:10px;padding-left:10px" | ||||
|  |         class="input-prepend filter-item" | ||||
|  |       > | ||||
|  |         <!-- <el-select slot="prepend" v-model="optionVal" style="width: 100px" @keyup.enter.native="crud.toQuery"> --> | ||||
|  |         <el-select slot="prepend" v-model="optionVal" style="width: 80px"> | ||||
|  |           <el-option | ||||
|  |             v-for="item in options" | ||||
|  |             :key="item.value" | ||||
|  |             :label="item.label" | ||||
|  |             :value="item.value" | ||||
|  |           /> | ||||
|  |         </el-select> | ||||
|  |       </el-input> | ||||
|  |       <date-range-picker v-model="queryTime" class="date-item" /> | ||||
|  |       <rrOperation /> | ||||
|  |     </div> | ||||
|  |     <el-table | ||||
|  |       ref="table" | ||||
|  |       :data="crud.data" | ||||
|  |       style="width: 100%;" | ||||
|  |       height="calc(100vh - 356px)" | ||||
|  |       @row-click="clickRowHandler" | ||||
|  |       @selection-change="selectionChangeHandler" | ||||
|  |     > | ||||
|  |       <el-table-column type="selection" width="55" align="center" /> | ||||
|  |       <el-table-column type="index" label="序号" width="100" align="center" /> | ||||
|  |       <el-table-column prop="" label="事件" min-width="150" align="center" /> | ||||
|  |       <el-table-column prop="" label="用户" align="center" min-width="150" /> | ||||
|  |       <el-table-column prop="" label="库房" align="center" min-width="150" /> | ||||
|  |       <el-table-column prop="" label="设备" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="档案信息" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="档号" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="报警时间" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="操作" align="center" min-width="180" /> | ||||
|  |     </el-table> | ||||
|  |     <pagination /> | ||||
|  | 
 | ||||
|  |   </div> | ||||
|  | </template> | ||||
|  | 
 | ||||
|  | <script> | ||||
|  | import rrOperation from '@crud/RR.operation' | ||||
|  | import CRUD, { presenter, crud } from '@crud/crud' | ||||
|  | import DateRangePicker from '@/components/DateRangePicker' | ||||
|  | import pagination from '@crud/Pagination' | ||||
|  | 
 | ||||
|  | export default { | ||||
|  |   name: 'DoorLog', | ||||
|  |   components: { rrOperation, DateRangePicker, pagination }, | ||||
|  |   mixins: [presenter(), crud()], | ||||
|  |   cruds() { | ||||
|  |     return CRUD({ | ||||
|  |       url: 'api/storage/initStorageLogList', | ||||
|  |       sort: ['update_time,desc'], | ||||
|  |       // crudMethod: caseCrudMethod, | ||||
|  |       optShow: { | ||||
|  |         add: false, | ||||
|  |         edit: false, | ||||
|  |         del: false, | ||||
|  |         download: true | ||||
|  |       } | ||||
|  |     }) | ||||
|  |   }, | ||||
|  |   data() { | ||||
|  |     return { | ||||
|  |       selections: [], | ||||
|  |       keyWord: '', | ||||
|  |       optionVal: 1, | ||||
|  |       options: [ | ||||
|  |         { value: 1, label: '设备' }, | ||||
|  |         { value: 2, label: '库房' } | ||||
|  |       ], | ||||
|  |       queryTime: null | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   methods: { | ||||
|  |     // 导出 | ||||
|  |     handleDownload() { | ||||
|  | 
 | ||||
|  |     }, | ||||
|  |     test() { | ||||
|  |       console.log(this.crud, 'crud') | ||||
|  |     }, | ||||
|  |     clickRowHandler(row) { | ||||
|  |       this.$refs.table.toggleRowSelection(row) // 单击选中 | ||||
|  |     }, | ||||
|  |     selectionChangeHandler(val) { | ||||
|  |       this.selections = val | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | </script> | ||||
|  | 
 | ||||
|  | <style lang="scss" scoped> | ||||
|  | @import "~@/assets/styles/archives-manage.scss"; | ||||
|  | 
 | ||||
|  | </style> | ||||
| @ -0,0 +1,77 @@ | |||||
|  | <template> | ||||
|  |   <div class="app-container lend-container"> | ||||
|  |     <div class="tab-content"> | ||||
|  |       <span class="right-top-line" /> | ||||
|  |       <span class="left-bottom-line" /> | ||||
|  |       <ul class="tab-nav"> | ||||
|  |         <li :class="{ 'active-tab-nav': activeIndex == 0 }" @click="changeActiveTab(0)">登录日志<i /></li> | ||||
|  |         <li :class="{ 'active-tab-nav': activeIndex == 1 }" @click="changeActiveTab(1)">操作日志<i /></li> | ||||
|  |         <li :class="{ 'active-tab-nav': activeIndex == 2 }" @click="changeActiveTab(2)">报警日志<i /></li> | ||||
|  |         <li :class="{ 'active-tab-nav': activeIndex == 3 }" @click="changeActiveTab(3)">门禁日志<i /></li> | ||||
|  |         <li :class="{ 'active-tab-nav': activeIndex == 4 }" @click="changeActiveTab(4)">接口访问日志<i /></li> | ||||
|  |         <!-- 最右侧装饰img --> | ||||
|  |         <span class="tab-right-img" /> | ||||
|  |       </ul> | ||||
|  |       <component :is="comName" /> | ||||
|  | 
 | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | </template> | ||||
|  | 
 | ||||
|  | <script> | ||||
|  | import loginLog from './loginLog/index.vue' | ||||
|  | import operateLog from './operateLog/index.vue' | ||||
|  | import warnLog from './warnLog/index.vue' | ||||
|  | import doorLog from './doorLog/index.vue' | ||||
|  | import portLog from './portLog/index.vue' | ||||
|  | 
 | ||||
|  | export default { | ||||
|  |   name: 'LogManage', | ||||
|  |   components: { | ||||
|  |     loginLog, | ||||
|  |     operateLog, | ||||
|  |     warnLog, | ||||
|  |     doorLog, | ||||
|  |     portLog | ||||
|  |   }, | ||||
|  |   data() { | ||||
|  |     return { | ||||
|  |       activeIndex: 0 | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   computed: { | ||||
|  |     comName: function() { | ||||
|  |       if (this.activeIndex === 0) { | ||||
|  |         return 'loginLog' | ||||
|  |       } else if (this.activeIndex === 1) { | ||||
|  |         return 'operateLog' | ||||
|  |       } else if (this.activeIndex === 2) { | ||||
|  |         return 'warnLog' | ||||
|  |       } else if (this.activeIndex === 3) { | ||||
|  |         return 'doorLog' | ||||
|  |       } else if (this.activeIndex === 4) { | ||||
|  |         return 'portLog' | ||||
|  |       } | ||||
|  |       return 'loginLog' | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   methods: { | ||||
|  |     changeActiveTab(data) { | ||||
|  |       this.activeIndex = data | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | </script> | ||||
|  | 
 | ||||
|  | <style lang="scss" scoped> | ||||
|  | .lend-container{ | ||||
|  |   .tab-content{ | ||||
|  |     position: relative; | ||||
|  |     margin-top: 61px; | ||||
|  |     border: 1px solid #113d72; | ||||
|  |   } | ||||
|  | } | ||||
|  | .tab-content .tab-nav{ | ||||
|  |   margin-bottom: 0; | ||||
|  | } | ||||
|  | </style> | ||||
| @ -0,0 +1,107 @@ | |||||
|  | <template> | ||||
|  |   <div> | ||||
|  |     <div class="head-container"> | ||||
|  |       <!-- <crudOperation /> --> | ||||
|  |       <!-- <el-button v-permission="permission.download" :loading="crud.downloadLoading" :disabled="!selections.length" size="mini" icon="el-icon-download" @click="handleDownload">导出</el-button> --> | ||||
|  |       <el-button :loading="crud.downloadLoading" size="mini" icon="el-icon-download" @click="handleDownload">导出</el-button> | ||||
|  |       <el-input | ||||
|  |         v-model="keyWord" | ||||
|  |         size="small" | ||||
|  |         clearable | ||||
|  |         placeholder="请输入关键词" | ||||
|  |         style="width: 300px;margin-right:10px;padding-left:10px" | ||||
|  |         class="input-prepend filter-item" | ||||
|  |       > | ||||
|  |         <!-- <el-select slot="prepend" v-model="optionVal" style="width: 100px" @keyup.enter.native="crud.toQuery"> --> | ||||
|  |         <el-select slot="prepend" v-model="optionVal" style="width: 100px"> | ||||
|  |           <el-option | ||||
|  |             v-for="item in options" | ||||
|  |             :key="item.value" | ||||
|  |             :label="item.label" | ||||
|  |             :value="item.value" | ||||
|  |           /> | ||||
|  |         </el-select> | ||||
|  |       </el-input> | ||||
|  |       <date-range-picker v-model="queryTime" class="date-item" /> | ||||
|  |       <rrOperation /> | ||||
|  |     </div> | ||||
|  |     <el-table | ||||
|  |       ref="table" | ||||
|  |       :data="crud.data" | ||||
|  |       style="width: 100%;" | ||||
|  |       height="calc(100vh - 356px)" | ||||
|  |       @row-click="clickRowHandler" | ||||
|  |       @selection-change="selectionChangeHandler" | ||||
|  |     > | ||||
|  |       <el-table-column type="selection" width="55" align="center" /> | ||||
|  |       <el-table-column type="index" label="序号" width="100" align="center" /> | ||||
|  |       <el-table-column prop="" label="登录账号" min-width="150" align="center" /> | ||||
|  |       <el-table-column prop="" label="用户名" align="center" min-width="150" /> | ||||
|  |       <el-table-column prop="" label="用户角色" align="center" min-width="150" /> | ||||
|  |       <el-table-column prop="" label="所属部门" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="IP地址" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="登录时间" align="center" min-width="180" /> | ||||
|  |     </el-table> | ||||
|  |     <pagination /> | ||||
|  | 
 | ||||
|  |   </div> | ||||
|  | </template> | ||||
|  | 
 | ||||
|  | <script> | ||||
|  | import rrOperation from '@crud/RR.operation' | ||||
|  | import CRUD, { presenter, crud } from '@crud/crud' | ||||
|  | import DateRangePicker from '@/components/DateRangePicker' | ||||
|  | import pagination from '@crud/Pagination' | ||||
|  | 
 | ||||
|  | export default { | ||||
|  |   name: 'LoginLog', | ||||
|  |   components: { rrOperation, DateRangePicker, pagination }, | ||||
|  |   mixins: [presenter(), crud()], | ||||
|  |   cruds() { | ||||
|  |     return CRUD({ | ||||
|  |       url: 'api/storage/initStorageLogList', | ||||
|  |       sort: ['update_time,desc'], | ||||
|  |       // crudMethod: caseCrudMethod, | ||||
|  |       optShow: { | ||||
|  |         add: false, | ||||
|  |         edit: false, | ||||
|  |         del: false, | ||||
|  |         download: true | ||||
|  |       } | ||||
|  |     }) | ||||
|  |   }, | ||||
|  |   data() { | ||||
|  |     return { | ||||
|  |       selections: [], | ||||
|  |       keyWord: '', | ||||
|  |       optionVal: 1, | ||||
|  |       options: [ | ||||
|  |         { value: 1, label: '用户名' }, | ||||
|  |         { value: 2, label: '所属部门' }, | ||||
|  |         { value: 3, label: '登录账号' } | ||||
|  |       ], | ||||
|  |       queryTime: null | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   methods: { | ||||
|  |     // 导出 | ||||
|  |     handleDownload() { | ||||
|  | 
 | ||||
|  |     }, | ||||
|  |     test() { | ||||
|  |       console.log(this.crud, 'crud') | ||||
|  |     }, | ||||
|  |     clickRowHandler(row) { | ||||
|  |       this.$refs.table.toggleRowSelection(row) // 单击选中 | ||||
|  |     }, | ||||
|  |     selectionChangeHandler(val) { | ||||
|  |       this.selections = val | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | </script> | ||||
|  | 
 | ||||
|  | <style lang="scss" scoped> | ||||
|  | @import "~@/assets/styles/archives-manage.scss"; | ||||
|  | 
 | ||||
|  | </style> | ||||
| @ -0,0 +1,115 @@ | |||||
|  | <template> | ||||
|  |   <div> | ||||
|  |     <div class="head-container"> | ||||
|  |       <!-- <crudOperation /> --> | ||||
|  |       <!-- <el-button v-permission="permission.download" :loading="crud.downloadLoading" :disabled="!selections.length" size="mini" icon="el-icon-download" @click="handleDownload">导出</el-button> --> | ||||
|  |       <el-button :loading="crud.downloadLoading" size="mini" icon="el-icon-download" @click="handleDownload">导出</el-button> | ||||
|  |       <el-select v-model="oprType" class="filter-item" style="width: 100px; height: 30px;margin:0 0 0 10px" @change="crud.toQuery"> | ||||
|  |         <el-option v-for="item in oprTypeOptions" :key="item.value" :label="item.label" :value="item.value" /> | ||||
|  |       </el-select> | ||||
|  |       <el-input | ||||
|  |         v-model="keyWord" | ||||
|  |         size="small" | ||||
|  |         clearable | ||||
|  |         placeholder="请输入关键词" | ||||
|  |         style="width: 300px;margin-right:10px;padding-left:10px" | ||||
|  |         class="input-prepend filter-item" | ||||
|  |       > | ||||
|  |         <!-- <el-select slot="prepend" v-model="optionVal" style="width: 100px" @keyup.enter.native="crud.toQuery"> --> | ||||
|  |         <el-select slot="prepend" v-model="optionVal" style="width: 100px"> | ||||
|  |           <el-option | ||||
|  |             v-for="item in options" | ||||
|  |             :key="item.value" | ||||
|  |             :label="item.label" | ||||
|  |             :value="item.value" | ||||
|  |           /> | ||||
|  |         </el-select> | ||||
|  |       </el-input> | ||||
|  |       <date-range-picker v-model="queryTime" class="date-item" /> | ||||
|  |       <rrOperation /> | ||||
|  |     </div> | ||||
|  |     <el-table | ||||
|  |       ref="table" | ||||
|  |       :data="crud.data" | ||||
|  |       style="width: 100%;" | ||||
|  |       height="calc(100vh - 356px)" | ||||
|  |       @row-click="clickRowHandler" | ||||
|  |       @selection-change="selectionChangeHandler" | ||||
|  |     > | ||||
|  |       <el-table-column type="selection" width="55" align="center" /> | ||||
|  |       <el-table-column type="index" label="序号" width="100" align="center" /> | ||||
|  |       <el-table-column prop="" label="登录账号" min-width="150" align="center" /> | ||||
|  |       <el-table-column prop="" label="用户名" align="center" min-width="150" /> | ||||
|  |       <el-table-column prop="" label="用户角色" align="center" min-width="150" /> | ||||
|  |       <el-table-column prop="" label="所属部门" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="IP地址" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="登录时间" align="center" min-width="180" /> | ||||
|  |     </el-table> | ||||
|  |     <pagination /> | ||||
|  | 
 | ||||
|  |   </div> | ||||
|  | </template> | ||||
|  | 
 | ||||
|  | <script> | ||||
|  | import rrOperation from '@crud/RR.operation' | ||||
|  | import CRUD, { presenter, crud } from '@crud/crud' | ||||
|  | import DateRangePicker from '@/components/DateRangePicker' | ||||
|  | import pagination from '@crud/Pagination' | ||||
|  | 
 | ||||
|  | export default { | ||||
|  |   name: 'LoginLog', | ||||
|  |   components: { rrOperation, DateRangePicker, pagination }, | ||||
|  |   mixins: [presenter(), crud()], | ||||
|  |   cruds() { | ||||
|  |     return CRUD({ | ||||
|  |       url: 'api/storage/initStorageLogList', | ||||
|  |       sort: ['update_time,desc'], | ||||
|  |       // crudMethod: caseCrudMethod, | ||||
|  |       optShow: { | ||||
|  |         add: false, | ||||
|  |         edit: false, | ||||
|  |         del: false, | ||||
|  |         download: true | ||||
|  |       } | ||||
|  |     }) | ||||
|  |   }, | ||||
|  |   data() { | ||||
|  |     return { | ||||
|  |       selections: [], | ||||
|  |       keyWord: '', | ||||
|  |       oprType: 0, | ||||
|  |       oprTypeOptions: [ | ||||
|  |         { value: 0, label: '全部' }, | ||||
|  |         { value: 1, label: '成功' }, | ||||
|  |         { value: 2, label: '失败' } | ||||
|  |       ], | ||||
|  |       optionVal: 1, | ||||
|  |       options: [ | ||||
|  |         { value: 1, label: '操作人' }, | ||||
|  |         { value: 2, label: '所属部门' } | ||||
|  |       ], | ||||
|  |       queryTime: null | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   methods: { | ||||
|  |     // 导出 | ||||
|  |     handleDownload() { | ||||
|  | 
 | ||||
|  |     }, | ||||
|  |     test() { | ||||
|  |       console.log(this.crud, 'crud') | ||||
|  |     }, | ||||
|  |     clickRowHandler(row) { | ||||
|  |       this.$refs.table.toggleRowSelection(row) // 单击选中 | ||||
|  |     }, | ||||
|  |     selectionChangeHandler(val) { | ||||
|  |       this.selections = val | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | </script> | ||||
|  | 
 | ||||
|  | <style lang="scss" scoped> | ||||
|  | @import "~@/assets/styles/archives-manage.scss"; | ||||
|  | 
 | ||||
|  | </style> | ||||
| @ -0,0 +1,118 @@ | |||||
|  | <template> | ||||
|  |   <div> | ||||
|  |     <div class="head-container"> | ||||
|  |       <!-- <crudOperation /> --> | ||||
|  |       <!-- <el-button v-permission="permission.download" :loading="crud.downloadLoading" :disabled="!selections.length" size="mini" icon="el-icon-download" @click="handleDownload">导出</el-button> --> | ||||
|  |       <el-button :loading="crud.downloadLoading" size="mini" icon="el-icon-download" @click="handleDownload">导出</el-button> | ||||
|  |       <el-select v-model="oprType" class="filter-item" style="width: 100px; height: 30px;margin:0 0 0 10px" @change="crud.toQuery"> | ||||
|  |         <el-option v-for="item in oprTypeOptions" :key="item.value" :label="item.label" :value="item.value" /> | ||||
|  |       </el-select> | ||||
|  |       <el-input | ||||
|  |         v-model="keyWord" | ||||
|  |         size="small" | ||||
|  |         clearable | ||||
|  |         placeholder="请输入关键词" | ||||
|  |         style="width: 300px;margin-right:10px;padding-left:10px" | ||||
|  |         class="input-prepend filter-item" | ||||
|  |       > | ||||
|  |         <!-- <el-select slot="prepend" v-model="optionVal" style="width: 100px" @keyup.enter.native="crud.toQuery"> --> | ||||
|  |         <el-select slot="prepend" v-model="optionVal" style="width: 100px"> | ||||
|  |           <el-option | ||||
|  |             v-for="item in options" | ||||
|  |             :key="item.value" | ||||
|  |             :label="item.label" | ||||
|  |             :value="item.value" | ||||
|  |           /> | ||||
|  |         </el-select> | ||||
|  |       </el-input> | ||||
|  |       <date-range-picker v-model="queryTime" class="date-item" /> | ||||
|  |       <rrOperation /> | ||||
|  |     </div> | ||||
|  |     <el-table | ||||
|  |       ref="table" | ||||
|  |       :data="crud.data" | ||||
|  |       style="width: 100%;" | ||||
|  |       height="calc(100vh - 356px)" | ||||
|  |       @row-click="clickRowHandler" | ||||
|  |       @selection-change="selectionChangeHandler" | ||||
|  |     > | ||||
|  |       <el-table-column type="selection" width="55" align="center" /> | ||||
|  |       <el-table-column type="index" label="序号" width="100" align="center" /> | ||||
|  |       <el-table-column prop="" label="状态" min-width="150" align="center" /> | ||||
|  |       <el-table-column prop="" label="类型" align="center" min-width="150" /> | ||||
|  |       <el-table-column prop="" label="访问IP" align="center" min-width="150" /> | ||||
|  |       <el-table-column prop="" label="访问端口" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="接口名称" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="请求参数" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="返回值" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="说明" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="访问时间" align="center" min-width="180" /> | ||||
|  |     </el-table> | ||||
|  |     <pagination /> | ||||
|  | 
 | ||||
|  |   </div> | ||||
|  | </template> | ||||
|  | 
 | ||||
|  | <script> | ||||
|  | import rrOperation from '@crud/RR.operation' | ||||
|  | import CRUD, { presenter, crud } from '@crud/crud' | ||||
|  | import DateRangePicker from '@/components/DateRangePicker' | ||||
|  | import pagination from '@crud/Pagination' | ||||
|  | 
 | ||||
|  | export default { | ||||
|  |   name: 'LoginLog', | ||||
|  |   components: { rrOperation, DateRangePicker, pagination }, | ||||
|  |   mixins: [presenter(), crud()], | ||||
|  |   cruds() { | ||||
|  |     return CRUD({ | ||||
|  |       url: 'api/storage/initStorageLogList', | ||||
|  |       sort: ['update_time,desc'], | ||||
|  |       // crudMethod: caseCrudMethod, | ||||
|  |       optShow: { | ||||
|  |         add: false, | ||||
|  |         edit: false, | ||||
|  |         del: false, | ||||
|  |         download: true | ||||
|  |       } | ||||
|  |     }) | ||||
|  |   }, | ||||
|  |   data() { | ||||
|  |     return { | ||||
|  |       selections: [], | ||||
|  |       keyWord: '', | ||||
|  |       oprType: 0, | ||||
|  |       oprTypeOptions: [ | ||||
|  |         { value: 0, label: '全部' }, | ||||
|  |         { value: 1, label: '被访问' }, | ||||
|  |         { value: 2, label: '访问' } | ||||
|  |       ], | ||||
|  |       optionVal: 1, | ||||
|  |       options: [ | ||||
|  |         { value: 1, label: '接口名称' }, | ||||
|  |         { value: 2, label: 'IP' } | ||||
|  |       ], | ||||
|  |       queryTime: null | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   methods: { | ||||
|  |     // 导出 | ||||
|  |     handleDownload() { | ||||
|  | 
 | ||||
|  |     }, | ||||
|  |     test() { | ||||
|  |       console.log(this.crud, 'crud') | ||||
|  |     }, | ||||
|  |     clickRowHandler(row) { | ||||
|  |       this.$refs.table.toggleRowSelection(row) // 单击选中 | ||||
|  |     }, | ||||
|  |     selectionChangeHandler(val) { | ||||
|  |       this.selections = val | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | </script> | ||||
|  | 
 | ||||
|  | <style lang="scss" scoped> | ||||
|  | @import "~@/assets/styles/archives-manage.scss"; | ||||
|  | 
 | ||||
|  | </style> | ||||
| @ -0,0 +1,171 @@ | |||||
|  | <template> | ||||
|  |   <div> | ||||
|  |     <div class="head-container"> | ||||
|  |       <!-- <crudOperation /> --> | ||||
|  |       <!-- <el-button v-permission="permission.download" :loading="crud.downloadLoading" :disabled="!selections.length" size="mini" icon="el-icon-download" @click="handleDownload">导出</el-button> --> | ||||
|  |       <el-button :loading="crud.downloadLoading" size="mini" icon="el-icon-download" @click="handleDownload">导出</el-button> | ||||
|  |       <el-button size="mini" icon="el-icon-download" :disabled="!(selections.length===1)" @click="handleHand">手动处理</el-button> | ||||
|  |       <el-select v-model="oprType" class="filter-item" style="width: 100px; height: 30px;margin:0 0 0 10px" @change="crud.toQuery"> | ||||
|  |         <el-option v-for="item in oprTypeOptions" :key="item.value" :label="item.label" :value="item.value" /> | ||||
|  |       </el-select> | ||||
|  |       <el-input | ||||
|  |         v-model="keyWord" | ||||
|  |         size="small" | ||||
|  |         clearable | ||||
|  |         placeholder="请输入关键词" | ||||
|  |         style="width: 300px;margin-right:10px;padding-left:10px" | ||||
|  |         class="input-prepend filter-item" | ||||
|  |       > | ||||
|  |         <!-- <el-select slot="prepend" v-model="optionVal" style="width: 100px" @keyup.enter.native="crud.toQuery"> --> | ||||
|  |         <el-select slot="prepend" v-model="optionVal" style="width: 80px"> | ||||
|  |           <el-option | ||||
|  |             v-for="item in options" | ||||
|  |             :key="item.value" | ||||
|  |             :label="item.label" | ||||
|  |             :value="item.value" | ||||
|  |           /> | ||||
|  |         </el-select> | ||||
|  |       </el-input> | ||||
|  |       <date-range-picker v-model="queryTime" class="date-item" /> | ||||
|  |       <rrOperation /> | ||||
|  |     </div> | ||||
|  |     <el-table | ||||
|  |       ref="table" | ||||
|  |       :data="crud.data" | ||||
|  |       style="width: 100%;" | ||||
|  |       height="calc(100vh - 356px)" | ||||
|  |       @row-click="clickRowHandler" | ||||
|  |       @selection-change="selectionChangeHandler" | ||||
|  |     > | ||||
|  |       <el-table-column type="selection" width="55" align="center" /> | ||||
|  |       <el-table-column type="index" label="序号" width="100" align="center" /> | ||||
|  |       <el-table-column prop="" label="状态" min-width="150" align="center" /> | ||||
|  |       <el-table-column prop="" label="库房" align="center" min-width="150" /> | ||||
|  |       <el-table-column prop="" label="设备" align="center" min-width="150" /> | ||||
|  |       <el-table-column prop="" label="警情描述" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="说明" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="报警时间" align="center" min-width="180" /> | ||||
|  |       <el-table-column prop="" label="处理时间" align="center" min-width="180" /> | ||||
|  |     </el-table> | ||||
|  |     <pagination /> | ||||
|  |     <!-- 手动处理 --> | ||||
|  |     <el-dialog append-to-body :close-on-click-modal="false" :visible.sync="handleVisible" title="手动处理"> | ||||
|  |       <span class="dialog-right-top" /> | ||||
|  |       <span class="dialog-left-bottom" /> | ||||
|  |       <div class="setting-dialog"> | ||||
|  |         <el-form ref="formDom" :rules="rules" :model="form" size="small" label-width="80px"> | ||||
|  |           <el-form-item label="说明" prop="description" style="margin-bottom:8px"> | ||||
|  |             <textarea v-model="form.description" cols="55" rows="7" /> | ||||
|  |           </el-form-item> | ||||
|  |         </el-form> | ||||
|  |         <div slot="footer" class="dialog-footer"> | ||||
|  |           <el-button type="primary" @click="handleConfirm">确定</el-button> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |     </el-dialog> | ||||
|  |   </div> | ||||
|  | </template> | ||||
|  | 
 | ||||
|  | <script> | ||||
|  | import rrOperation from '@crud/RR.operation' | ||||
|  | import CRUD, { presenter, crud } from '@crud/crud' | ||||
|  | import DateRangePicker from '@/components/DateRangePicker' | ||||
|  | import pagination from '@crud/Pagination' | ||||
|  | 
 | ||||
|  | export default { | ||||
|  |   name: 'LoginLog', | ||||
|  |   components: { rrOperation, DateRangePicker, pagination }, | ||||
|  |   mixins: [presenter(), crud()], | ||||
|  |   cruds() { | ||||
|  |     return CRUD({ | ||||
|  |       url: 'api/storage/initStorageLogList', | ||||
|  |       sort: ['update_time,desc'], | ||||
|  |       // crudMethod: caseCrudMethod, | ||||
|  |       optShow: { | ||||
|  |         add: false, | ||||
|  |         edit: false, | ||||
|  |         del: false, | ||||
|  |         download: true | ||||
|  |       } | ||||
|  |     }) | ||||
|  |   }, | ||||
|  |   data() { | ||||
|  |     return { | ||||
|  |       handleVisible: false, | ||||
|  |       selections: [], | ||||
|  |       keyWord: '', | ||||
|  |       oprType: 0, | ||||
|  |       oprTypeOptions: [ | ||||
|  |         { value: 0, label: '全部' }, | ||||
|  |         { value: 1, label: '已处理' }, | ||||
|  |         { value: 2, label: '未处理' } | ||||
|  |       ], | ||||
|  |       optionVal: 1, | ||||
|  |       options: [ | ||||
|  |         { value: 1, label: '设备' }, | ||||
|  |         { value: 2, label: '库房' } | ||||
|  |       ], | ||||
|  |       queryTime: null, | ||||
|  |       form: { | ||||
|  |         description: '' | ||||
|  |       }, | ||||
|  |       rules: { | ||||
|  |         description: [ | ||||
|  |           { required: true, message: '请输入内容', trigger: 'blur' } | ||||
|  |         ] | ||||
|  |       } | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   methods: { | ||||
|  |     // 导出 | ||||
|  |     handleDownload() { | ||||
|  | 
 | ||||
|  |     }, | ||||
|  |     test() { | ||||
|  |       console.log(this.crud, 'crud') | ||||
|  |     }, | ||||
|  |     clickRowHandler(row) { | ||||
|  |       this.$refs.table.toggleRowSelection(row) // 单击选中 | ||||
|  |     }, | ||||
|  |     selectionChangeHandler(val) { | ||||
|  |       this.selections = val | ||||
|  |     }, | ||||
|  |     // 手动处理 | ||||
|  |     handleHand() { | ||||
|  |       this.handleVisible = true | ||||
|  |     }, | ||||
|  |     handleConfirm() { | ||||
|  |       // this.$refs.formDom.validate((valid) => { | ||||
|  |       //   if (valid) { | ||||
|  |       //     this.$message({ | ||||
|  |       //       message: '保存成功!', | ||||
|  |       //       type: 'success' | ||||
|  |       //     }) | ||||
|  |       //     this.handleVisible = false | ||||
|  |       //     // this.$refs.recordFormDom.resetFields() | ||||
|  |       //     // this.$refs.recordFormDom.clearValidate() | ||||
|  |       //   } else { | ||||
|  |       //     this.$message.error('登记失败!') | ||||
|  |       //     return false | ||||
|  |       //   } | ||||
|  |       // }) | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | </script> | ||||
|  | 
 | ||||
|  | <style lang="scss" scoped> | ||||
|  | @import "~@/assets/styles/archives-manage.scss"; | ||||
|  | textarea{ | ||||
|  |   background-color: #021941; | ||||
|  |   border: 1px solid #339CFF; | ||||
|  |   border-radius: 3px; | ||||
|  |   &:focus{ | ||||
|  |     outline: none; | ||||
|  |   } | ||||
|  |   caret-color: #fff; | ||||
|  |   color: #fff; | ||||
|  |   padding: 10px 12px; | ||||
|  |   font-size: 14px; | ||||
|  | } | ||||
|  | </style> | ||||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue