You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

rdaudiencecity.vue 7.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <template>
  2. <el-card shadow="never" class="aui-card--fill">
  3. <div class="mod-demo__rdaudiencecity}">
  4. <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
  5. <el-form-item>
  6. <el-input v-model="dataForm.advertiserId" placeholder="广告主账号" clearable></el-input>
  7. </el-form-item>
  8. <el-form-item>
  9. <!-- <el-input v-model="dataForm.provinceName" placeholder="省份" clearable></el-input>-->
  10. <el-select v-model="dataForm.provinceName" clearable placeholder="请选择省份">
  11. <el-option
  12. v-for="item in provinces"
  13. :key="item.value"
  14. :label="item.label"
  15. :value="item.value">
  16. </el-option>
  17. </el-select>
  18. </el-form-item>
  19. <el-form-item>
  20. <!-- <el-input v-model="dataForm.cityName" placeholder="城市" clearable></el-input>-->
  21. <el-select v-model="dataForm.cityName" clearable placeholder="请选择城市">
  22. <el-option
  23. v-for="item in citys"
  24. :key="item.value"
  25. :label="item.label"
  26. :value="item.value">
  27. </el-option>
  28. </el-select>
  29. </el-form-item>
  30. <el-form-item>
  31. <el-date-picker
  32. v-model="date"
  33. type="daterange"
  34. range-separator="至"
  35. start-placeholder="开始日期"
  36. end-placeholder="结束日期"
  37. value-format="yyyy-MM-dd"
  38. @change="getTimes">
  39. </el-date-picker>
  40. </el-form-item>
  41. <el-form-item>
  42. <el-button @click="getDataList()">{{ $t('query') }}</el-button>
  43. </el-form-item>
  44. <el-form-item>
  45. <el-button type="info" @click="exportHandle()">{{ $t('export') }}</el-button>
  46. </el-form-item>
  47. <!-- <el-form-item>-->
  48. <!-- <el-button v-if="$hasPermission('demo:rdaudiencecity:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>-->
  49. <!-- </el-form-item>-->
  50. <!-- <el-form-item>-->
  51. <!-- <el-button v-if="$hasPermission('demo:rdaudiencecity:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>-->
  52. <!-- </el-form-item>-->
  53. </el-form>
  54. <el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
  55. <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
  56. <el-table-column prop="id" label="id" header-align="center" align="center"></el-table-column>
  57. <!-- <el-table-column prop="advertPlatform" label="所属广告平台" header-align="center" align="center"></el-table-column>-->
  58. <el-table-column prop="advertiserId" label="广告主账号" header-align="center" align="center"></el-table-column>
  59. <el-table-column prop="date" label="日期" header-align="center" align="center"></el-table-column>
  60. <el-table-column prop="cost" label="总消耗(元)" header-align="center" align="center"></el-table-column>
  61. <el-table-column prop="shows" label="展示数" header-align="center" align="center"></el-table-column>
  62. <el-table-column prop="click" label="点击数" header-align="center" align="center"></el-table-column>
  63. <el-table-column prop="converts" label="转化数" header-align="center" align="center"></el-table-column>
  64. <el-table-column prop="provinceName" label="省份" header-align="center" align="center"></el-table-column>
  65. <el-table-column prop="cityName" label="城市" header-align="center" align="center"></el-table-column>
  66. <!-- <el-table-column prop="status" label="状态(开1、关0)" header-align="center" align="center"></el-table-column>-->
  67. <!-- <el-table-column prop="createdBy" label="创建人" header-align="center" align="center"></el-table-column>-->
  68. <!-- <el-table-column prop="updatedBy" label="修改人" header-align="center" align="center"></el-table-column>-->
  69. <!-- <el-table-column prop="createTime" label="创建时间" header-align="center" align="center"></el-table-column>-->
  70. <!-- <el-table-column prop="updateTime" label="修改时间" header-align="center" align="center"></el-table-column>-->
  71. <!-- <el-table-column prop="deleteTime" label="删除时间" header-align="center" align="center"></el-table-column>-->
  72. <!-- <el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">-->
  73. <!-- <template slot-scope="scope">-->
  74. <!-- <el-button v-if="$hasPermission('demo:rdaudiencecity:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>-->
  75. <!-- <el-button v-if="$hasPermission('demo:rdaudiencecity:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>-->
  76. <!-- </template>-->
  77. <!-- </el-table-column>-->
  78. </el-table>
  79. <el-pagination
  80. :current-page="page"
  81. :page-sizes="[10, 20, 50, 100]"
  82. :page-size="limit"
  83. :total="total"
  84. layout="total, sizes, prev, pager, next, jumper"
  85. @size-change="pageSizeChangeHandle"
  86. @current-change="pageCurrentChangeHandle">
  87. </el-pagination>
  88. <!-- 弹窗, 新增 / 修改 -->
  89. <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
  90. </div>
  91. </el-card>
  92. </template>
  93. <script>
  94. import mixinViewModule from '@/mixins/view-module'
  95. import AddOrUpdate from './rdaudiencecity-add-or-update'
  96. export default {
  97. mixins: [mixinViewModule],
  98. data () {
  99. return {
  100. mixinViewModuleOptions: {
  101. getDataListURL: '/sys/rdaudiencecity/page',
  102. getDataListIsPage: true,
  103. exportURL: '/sys/rdaudiencecity/export',
  104. deleteURL: '/sys/rdaudiencecity',
  105. deleteIsBatch: true
  106. },
  107. date:'',
  108. provinces:[],
  109. citys:[],
  110. dataForm: {
  111. id: '',
  112. advertiserId:'',
  113. startDate:'',
  114. endDate:'',
  115. provinceName:'',
  116. cityName:''
  117. }
  118. }
  119. },
  120. created () {
  121. if (this.mixinViewModuleOptions.createdIsNeed) {
  122. this.query()
  123. this.getCityOptions();
  124. this.getProvinceOptions();
  125. }
  126. },
  127. components: {
  128. AddOrUpdate
  129. },
  130. methods: {
  131. //利⽤change事件监听表单内容变化,并将选中的值赋值给所需要的两个字段
  132. //⽀付时间戳设置
  133. getTimes() {
  134. if (this.date != null) {
  135. this.dataForm.startDate = this.date[0]
  136. this.dataForm.endDate = this.date[1]
  137. }else{
  138. this.dataForm.startDate =''
  139. this.dataForm.endDate = ''
  140. }
  141. },
  142. //初始化下拉框中的选项
  143. async getProvinceOptions() {
  144. this.$http.get(`/sys/dict/data/list?dataType=landing_page_province`).then(({ data: res }) => {
  145. if (res.code !== 0) {
  146. return this.$message.error(res.msg)
  147. }
  148. this.provinces=[];
  149. if (res.data!=null){
  150. res.data.forEach(element => {
  151. this.provinces.push({label:element.dictLabel,value:element.dictValue})
  152. })
  153. }
  154. }).catch(() => {})
  155. },
  156. //初始化下拉框中的选项
  157. async getCityOptions() {
  158. this.$http.get(`/sys/dict/data/list?dataType=landing_page_city`).then(({ data: res }) => {
  159. if (res.code !== 0) {
  160. return this.$message.error(res.msg)
  161. }
  162. this.citys=[];
  163. if (res.data!=null){
  164. res.data.forEach(element => {
  165. this.citys.push({label:element.dictLabel,value:element.dictValue})
  166. })
  167. }
  168. }).catch(() => {})
  169. },
  170. }
  171. }
  172. </script>