index.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <template>
  2. <div>
  3. <el-popover
  4. placement="bottom"
  5. width="100%"
  6. v-model="visible">
  7. <div>
  8. <div class="flex-align-center flex-between" style="margin-bottom:10px">
  9. <el-input style="width:200px" suffix-icon="el-icon-search" size="small" v-model="params.content.where.condition" placeholder="输入企业信息" @keyup.enter.native="queryEnterpriseArchives(params.content.pageNumber = 1)" @clear="queryEnterpriseArchives(params.content.pageNumber = 1)" clearable></el-input>
  10. <addTemp @onSuccess="onSuccess"></addTemp>
  11. </div>
  12. <el-table
  13. :data="ENlist"
  14. size="small"
  15. stripe
  16. style="width: 100%"
  17. height="300"
  18. border>
  19. <el-table-column
  20. prop="enterprisename"
  21. label="企业名称"
  22. width="180">
  23. </el-table-column>
  24. <el-table-column
  25. prop="contact"
  26. label="联系人"
  27. width="180">
  28. </el-table-column>
  29. <el-table-column
  30. prop="phone"
  31. label="联系电话">
  32. </el-table-column>
  33. <el-table-column>
  34. <template slot-scope="scope">
  35. <el-button size="mini" type="text" @click="rowClick(scope.row)">选 择</el-button>
  36. </template>
  37. </el-table-column>
  38. </el-table>
  39. <div style="margin-top:16px;text-align:right">
  40. <el-pagination
  41. background
  42. small
  43. @size-change="handleSizeChange"
  44. @current-change="handleCurrentChange"
  45. :current-page="currentPage"
  46. :page-size="params.content.pageSize"
  47. layout="total, prev, pager, next, jumper"
  48. :total="total">
  49. </el-pagination>
  50. </div>
  51. </div>
  52. <el-input :validate-event="false" slot="reference" v-model="form.enterprisename" @focus="queryEnterpriseArchives" placeholder="输入企业名称" clearable></el-input>
  53. </el-popover>
  54. </div>
  55. </template>
  56. <script>
  57. import addTemp from '@/Form/EnterpriseArchives/add.vue'
  58. export default {
  59. components:{
  60. addTemp
  61. },
  62. data () {
  63. return {
  64. ENlist:[],
  65. total:0,
  66. currentPage:0,
  67. form:{
  68. enterprisename:''
  69. },
  70. params:{
  71. "id": 20220920083901,
  72. "content": {
  73. "pageNumber": 1,
  74. "pageSize": 10,
  75. "where": {
  76. "condition": '',
  77. },
  78. "sort":[{
  79. "sortname":"默认",
  80. "sorted":1,
  81. "sortid":56,
  82. "reversed":1
  83. }],
  84. }
  85. },
  86. visible:false
  87. }
  88. },
  89. methods:{
  90. async queryEnterpriseArchives () {
  91. const res = await this.$api.requested(this.params)
  92. this.ENlist = res.data
  93. this.total = res.total
  94. this.currentPage = res.pageNumber
  95. },
  96. handleSizeChange(val) {
  97. this.params.content.pageSize = val
  98. this.queryEnterpriseArchives()
  99. },
  100. handleCurrentChange(val) {
  101. this.params.content.pageNumber = val
  102. this.queryEnterpriseArchives()
  103. },
  104. rowClick (row) {
  105. this.visible = false
  106. this.form.enterprisename = row.enterprisename
  107. this.$emit('rowClick',row)
  108. },
  109. onSuccess () {
  110. this.queryEnterpriseArchives()
  111. this.form.enterprisename = this.ENlist[0].enterprisename
  112. this.$emit('rowClick',this.ENlist[0])
  113. }
  114. },
  115. mounted () {
  116. // this.queryEnterpriseArchives()
  117. }
  118. }
  119. </script>
  120. <style>
  121. </style>