searchquery.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <template>
  2. <div>
  3. <div style="display:flex">
  4. <!--<slot v-if="slot" name="slot"></slot>-->
  5. <div style="width: 100%;">
  6. <el-select v-model="selectValue" size="small" placeholder="请选择"
  7. :filterable="filterable" :clearable="clearable"
  8. :remote="remote" :remote-method="remoteMethod"
  9. :multiple="multiple" :collapse-tags="collapseTags"
  10. @change="corpChange" >
  11. <el-option
  12. v-for="item in datalist"
  13. :key="item.id"
  14. :label="item.cnName"
  15. :value="item.id">
  16. </el-option>
  17. </el-select>
  18. </div>
  19. <el-button icon="el-icon-search" size="mini" @click="corpVisible = true"></el-button>
  20. <el-tooltip effect="dark" content="获取最新资料" placement="top-start">
  21. <el-button icon="el-icon-refresh" size="mini" @click="refreshData"
  22. style="margin-left:0px;"></el-button>
  23. </el-tooltip>
  24. </div>
  25. <el-dialog :title="title" :visible.sync="corpVisible" width="80%" top="5vh" append-to-body @closed="closed"
  26. class="el-dialogDeep" :close-on-click-modal="false" v-dialog-drag>
  27. <div>
  28. <el-row>
  29. <!--<el-col :span="4">-->
  30. <!-- <el-scrollbar>-->
  31. <!-- <basic-container>-->
  32. <!-- <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick" :style="treeStyle" />-->
  33. <!-- </basic-container>-->
  34. <!-- </el-scrollbar>-->
  35. <!--</el-col>-->
  36. <el-col :span="24">
  37. <slot></slot>
  38. <!--<avue-crud :option="tableOption" :data="data" ref="crud" v-model="form" :page.sync="page"-->
  39. <!-- :search.sync="search" @search-change="searchChange" @search-reset="searchReset"-->
  40. <!-- @selection-change="selectionChange" @on-load="onLoad" @tree-load="treeLoad" @saveColumn="saveColumn"-->
  41. <!-- @resetColumn="resetColumn" @refresh-change="refreshChange" :table-loading="loading">-->
  42. <!--</avue-crud>-->
  43. </el-col>
  44. </el-row>
  45. </div>
  46. <span slot="footer" class="dialog-footer">
  47. <el-button @click="corpVisible = false">取 消</el-button>
  48. <el-button type="primary" >确 定</el-button>
  49. </span>
  50. </el-dialog>
  51. </div>
  52. </template>
  53. <script>
  54. export default {
  55. data(){
  56. return {
  57. selectValue:null,
  58. // 弹窗关闭
  59. corpVisible:false,
  60. }
  61. },
  62. props:{
  63. // 选择框的数据
  64. datalist:{
  65. type:Array,
  66. default:[]
  67. },
  68. // 选择框数据选择的参数
  69. forParameter:{
  70. type:Object,
  71. default:{
  72. key:'value',
  73. label:'label',
  74. value:'value',
  75. }
  76. },
  77. // 是否多选
  78. multiple:{
  79. type:Boolean,
  80. default:false
  81. },
  82. // 多选时是否将选中值按文字的形式展示
  83. collapseTags:{
  84. type:Boolean,
  85. default:false
  86. },
  87. // 是否可以搜索
  88. filterable:{
  89. type:Boolean,
  90. default:false
  91. },
  92. // 是否为远程搜索
  93. remote:{
  94. type:Boolean,
  95. default:false
  96. },
  97. // 是否可以清空选择项
  98. clearable:{
  99. type:Boolean,
  100. default:false
  101. },
  102. // 弹窗的标题
  103. title:{
  104. type:String,
  105. default:'选择数据'
  106. },
  107. },
  108. methods:{
  109. // 下拉change
  110. corpChange(row) {
  111. console.log(row,100)
  112. },
  113. /* 远程模糊查询操作用户 */
  114. remoteMethod(name) {
  115. console.log(name,103)
  116. if (name == null || name === "") {
  117. return false;
  118. }
  119. this.$emit('remoteMethod',name)
  120. },
  121. // 获取最新数据
  122. refreshData(){
  123. this.$emit('remoteMethod')
  124. },
  125. }
  126. }
  127. </script>
  128. <style scoped>
  129. </style>