index.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <template>
  2. <div class="layout-pd" >
  3. <el-row>
  4. <!--操作-->
  5. <el-col :xs="24" >
  6. <el-card class="mt8" shadow="hover" >
  7. <el-form :model="sdkData.Filter" :inline="true" @submit.stop.prevent>
  8. <el-form-item prop="name" style="width: 100%">
  9. <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
  10. <el-form-item label="石油公司">
  11. <el-input v-model="sdkData.Filter.OilCompanies" placeholder="请输入石油公司" clearable></el-input>
  12. </el-form-item>
  13. </el-col>
  14. <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
  15. <el-form-item label="地址">
  16. <el-input v-model="sdkData.Filter.Address" placeholder="请输入地址" clearable></el-input>
  17. </el-form-item>
  18. </el-col>
  19. <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
  20. <el-form-item>
  21. </el-form-item>
  22. </el-col>
  23. <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
  24. <el-form-item>
  25. <el-button type="primary" icon="ele-Search" @click="1"> 查询 </el-button>
  26. <el-button type="primary" icon="ele-RefreshRight" @click="1"> 重置 </el-button>
  27. </el-form-item>
  28. </el-col>
  29. </el-form-item>
  30. </el-form>
  31. </el-card>
  32. </el-col>
  33. <!--表格-->
  34. <el-col :xs="24" >
  35. <el-card style="height: 70vh" class="my-fill mt8" shadow="hover">
  36. <el-table ref="multipleTableRef"
  37. v-loading="sdkData.loading"
  38. stripe :data="sdkData.tableModel"
  39. row-key="id"
  40. style="width: 100%" >
  41. <el-table-column type="selection" width="50"></el-table-column>
  42. <el-table-column v-for="column in sdkData.dynamicColumns" :key="column.prop" :prop="column.prop" :label="column.label" />
  43. </el-table>
  44. <div class="my-flex my-flex-end" style="margin-top: 20px">
  45. <el-pagination
  46. v-model:currentPage="sdkData.pageInput.CurrentPage"
  47. v-model:page-size="sdkData.pageInput.PageSize"
  48. :total="sdkData.total"
  49. :page-sizes="[10000, 20000, 50000, 100000]"
  50. small
  51. background
  52. @size-change="1"
  53. @current-change="1"
  54. layout="total, sizes, prev, pager, next, jumper"
  55. />
  56. </div>
  57. </el-card>
  58. </el-col>
  59. </el-row>
  60. <EditDialog ref="editDialogRef" />
  61. <AuditDialog ref="auditDialogRef" />
  62. </div>
  63. </template>
  64. <script setup lang="ts" name="authorize/fuelingsdk">
  65. import {defineAsyncComponent, onMounted, reactive, ref, watch, onBeforeMount,getCurrentInstance} from "vue";
  66. import { ElTable } from 'element-plus'
  67. /**引入组件*/
  68. /**sdk授权页面对象 */
  69. const sdkData = reactive({
  70. time:'',
  71. /**加载显示 */
  72. loading: false,
  73. /**条件查询模块 */
  74. Filter: {
  75. /**石油公司 */
  76. OilCompanies: "",
  77. /**地址 */
  78. Address: "",
  79. } ,
  80. /**表格信息 */
  81. tableModel: [] ,
  82. /**动态表头 */
  83. dynamicColumns: [
  84. { prop: 'guid', label: '编号' },
  85. { prop: 'province', label: '省份' },
  86. { prop: 'oilCompanies', label: '石油公司' },
  87. { prop: 'gasStation', label: '加油站名称' },
  88. { prop: 'address', label: '地址' },
  89. { prop: 'oilEngines', label: '加油机' },
  90. { prop: 'oilGun', label: '油枪' },
  91. ],
  92. /**分页标识 */
  93. pageInput:{
  94. CurrentPage: 1,
  95. PageSize: 10000,
  96. } ,
  97. /**分页总数 */
  98. total: 0,
  99. } )
  100. // /**初始化 */
  101. // const init = async () => {
  102. // sdkData.loading = true
  103. // const query = flattenObject({ Filter: sdkData.Filter})
  104. // const res:any = await new OilSdkAuthorAPI().getPageData({...sdkData.pageInput, ...query}).catch(() => {
  105. // sdkData.loading = false
  106. // })
  107. // sdkData.tableModel = res?.data?.list ?? []
  108. // sdkData.total = res?.data?.total ?? 0
  109. // sdkData.loading = false
  110. // }
  111. // onMounted(() => {
  112. // init()
  113. // eventBus.off('refreshView')
  114. // eventBus.on('refreshView', async () => {
  115. // init()
  116. // })
  117. // })
  118. // onBeforeMount(() => {
  119. // eventBus.off('refreshView')
  120. // })
  121. // /**
  122. // * 监听时间变换
  123. // */
  124. // watch(() => sdkData.time, (newVal ) => {
  125. // if(newVal.length === 0){
  126. // return
  127. // }
  128. // sdkData.Filter.BeginTime = newVal?.[0].toString()
  129. // sdkData.Filter.EndTime = newVal?.[1].toString()
  130. // })
  131. // /**条件查询 */
  132. // const onQuery = () => {
  133. // init()
  134. // }
  135. /**重置查询条件 */
  136. // const resetQuery = () => {
  137. // sdkData.Filter.OilCompanies = ''
  138. // sdkData.Filter.AntiCheatingState = ''
  139. // sdkData.Filter.OilGunState = ''
  140. // sdkData.Filter.SiteAddress = ''
  141. // sdkData.Filter.Manufacturer = ''
  142. // sdkData.Filter.OutBeginTime = ''
  143. // sdkData.Filter.OutEndTime = ''
  144. // sdkData.Filter.CreateBeginTime = ''
  145. // sdkData.Filter.CreateEndTime = ''
  146. // sdkData.time = ''
  147. // sdkData.pageInput.CurrentPage = 1
  148. // }
  149. // /**重置 */
  150. // const onReset = () => {
  151. // resetQuery()
  152. // init()
  153. // }
  154. </script>
  155. <style scoped lang="scss">
  156. .my-el-link {
  157. font-size: 14px;
  158. }
  159. .el-form .el-col.mb20 {
  160. margin: 0 !important;
  161. }
  162. .el-input, .el-select {
  163. width: 240px;
  164. }
  165. </style>