index.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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="qiyi ? '企业名称' : '经销商名称'"
  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="phonenumber"
  31. label="联系电话"
  32. width="180">
  33. </el-table-column>
  34. <el-table-column>
  35. <template slot-scope="scope">
  36. <el-button size="mini" type="text" @click="rowClick(scope.row)">选 择</el-button>
  37. </template>
  38. </el-table-column>
  39. </el-table>
  40. <div style="margin-top:16px;text-align:right">
  41. <el-pagination
  42. background
  43. small
  44. @size-change="handleSizeChange"
  45. @current-change="handleCurrentChange"
  46. :current-page="currentPage"
  47. :page-size="params.content.pageSize"
  48. layout="total, prev, pager, next, jumper"
  49. :total="total">
  50. </el-pagination>
  51. </div>
  52. </div>
  53. <el-button v-if="showType === 'button'" slot="reference" type="primary" size="mini" @click="queryEnterpriseArchives">选择企业</el-button>
  54. <el-input v-else readonly :validate-event="false" slot="reference" v-model="form.enterprisename" @focus="queryEnterpriseArchives" placeholder="输入经销商信息" clearable></el-input>
  55. </el-popover>
  56. </div>
  57. </template>
  58. <script>
  59. import addTemp from '@/Form/EnterpriseArchives/add.vue'
  60. export default {
  61. components:{
  62. addTemp
  63. },
  64. props:['type','qiyi','showType'],
  65. data () {
  66. return {
  67. ENlist:[],
  68. total:0,
  69. currentPage:0,
  70. form:{
  71. enterprisename:''
  72. },
  73. params:{
  74. "id": 20220920083901,
  75. "content": {
  76. "pageNumber": 1,
  77. "pageSize": 10,
  78. "where": {
  79. "condition": '',
  80. "type":''
  81. },
  82. "sort":[{
  83. "sortname":"默认",
  84. "sorted":1,
  85. "sortid":56,
  86. "reversed":1
  87. }],
  88. }
  89. },
  90. visible:false
  91. }
  92. },
  93. methods:{
  94. async queryEnterpriseArchives () {
  95. if (this.type) this.params.content.where.type = this.type
  96. const res = await this.$api.requested(this.params)
  97. this.ENlist = res.data
  98. this.total = res.total
  99. this.currentPage = res.pageNumber
  100. },
  101. handleSizeChange(val) {
  102. this.params.content.pageSize = val
  103. this.queryEnterpriseArchives()
  104. },
  105. handleCurrentChange(val) {
  106. this.params.content.pageNumber = val
  107. this.queryEnterpriseArchives()
  108. },
  109. rowClick (row) {
  110. this.visible = false
  111. this.form.enterprisename = row.enterprisename
  112. this.$emit('rowClick',row)
  113. },
  114. onSuccess () {
  115. this.queryEnterpriseArchives()
  116. this.form.enterprisename = this.ENlist[0].enterprisename
  117. this.$emit('rowClick',this.ENlist[0])
  118. }
  119. },
  120. mounted () {
  121. // this.queryEnterpriseArchives()
  122. }
  123. }
  124. </script>
  125. <style>
  126. </style>