PersonAdmin.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <!--
  2. * @Author: your name
  3. * @Date: 2021-09-16 11:27:35
  4. * @LastEditTime: 2021-09-23 18:06:34
  5. * @LastEditors: Please set LastEditors
  6. * @Description: In User Settings Edit
  7. * @FilePath: \hyyfClient\src\views\BioSafety\PersonAdmin.vue
  8. -->
  9. <template>
  10. <div class="person-admin">
  11. <!-- 顶部的按钮选择 -->
  12. <head-btns
  13. :btnNames="btnNames"
  14. :btnSelected="btnSelected"
  15. @btnSelected="getBtnSelected">
  16. </head-btns>
  17. <!-- 筛选条件 -->
  18. <query-conditions :formItems="formItems" :propFormData="propFormData" @getQueryParams="handleQuery"></query-conditions>
  19. <!-- 表格 -->
  20. <new-table :title="title" :listData="listData" :tableItems="tableItems" :shows="tableShows">
  21. <template v-slot:right>
  22. <template v-if="btnSelected === 1">
  23. <div>
  24. <el-button size="mini">添加人员</el-button>
  25. <el-button size="mini">添加区域</el-button>
  26. </div>
  27. </template>
  28. <template v-else-if="btnSelected === 2">
  29. <div>
  30. <el-button size="mini">黑名单</el-button>
  31. </div>
  32. </template>
  33. <template v-else>
  34. <div>
  35. <el-button size="mini">黑名单</el-button>
  36. </div>
  37. </template>
  38. </template>
  39. </new-table>
  40. </div>
  41. </template>
  42. <script>
  43. import HeadBtns from 'components/bioSafety/Btns'
  44. import QueryConditions from 'components/bioSafety/QueryConditions'
  45. import NewTable from 'components/newTable/NewTable'
  46. import { formItems, propFormData } from './personAdmin/queryCondition.config'
  47. import { titles, tableItems, tableShows } from './personAdmin/table.config'
  48. export default {
  49. name: "PersonAdmin",
  50. components: {
  51. HeadBtns,
  52. QueryConditions,
  53. NewTable
  54. },
  55. data() {
  56. return {
  57. btnNames: [ // 按钮情况
  58. { id: 1, name: '档案管理' },
  59. { id: 2, name: '人脸门禁' },
  60. { id: 3, name: '赶猪监管' }
  61. ],
  62. btnSelected: 1, // 选中的按钮
  63. formItems: [], // 传给 QueryCondition 组件的 formItems
  64. propFormData: {}, // 传给 QueryCondition 组件的 propFormData
  65. title: '', // 传给 BioTable 组件的 title
  66. listData: [], // 传给 BioTable 组件的表格展示的值 listData
  67. tableItems: [], // 传给 BioTable 组件的表格的列表 tableItems
  68. tableShows: {}
  69. }
  70. },
  71. mounted() {
  72. this.formItems = formItems[this.btnSelected - 1]
  73. this.propFormData = propFormData[this.btnSelected - 1]
  74. this.title = titles[this.btnSelected - 1]
  75. this.tableItems = tableItems[this.btnSelected - 1]
  76. this.tableShows = tableShows
  77. },
  78. methods: {
  79. // 获取选中的按钮情况
  80. getBtnSelected(id) {
  81. this.btnSelected = id
  82. this.formItems = formItems[id - 1]
  83. this.propFormData = propFormData[id - 1]
  84. this.title = titles[id - 1]
  85. this.tableItems = tableItems[id - 1]
  86. },
  87. // 获取查询条件
  88. handleQuery(params) {
  89. console.log(params)
  90. }
  91. },
  92. }
  93. </script>
  94. <style scoped>
  95. .person-admin {
  96. width: 100%;
  97. height: 100%;
  98. box-sizing: border-box;
  99. padding: 20px;
  100. }
  101. </style>