Blame view

merchant-web-master/src/views/comprehensive/pEranking/index.vue 8.37 KB
3f535f30   杨鑫   '初始'
1
2
3
4
5
  <template>
    <!-- <div style="padding: 10px;background-color:#F2F3F5"> -->
    <div style="background-color:#F2F3F5">
      <div class="history">
        <div style="background-color:#Fff;padding:20px 20px 0 20px">
9683c4af   杨鑫   '最新'
6
  
3f535f30   杨鑫   '初始'
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
            <!-- 顶部搜索 -->
            <div class="toolbar">
              <el-form ref="formParams" :inline="true" :model="formParams">
                <el-form-item label="日期">
                  <el-date-picker
                    v-model="formParams.dates"
                    type="daterange"
  
                     style="width:220px"
                    range-separator="至"
                    start-placeholder="开始时间"
                    end-placeholder="结束时间"
                    value-format="yyyy-MM-dd"
                  />
                </el-form-item>
  
                <el-form-item label-width="0">
                  <el-button   @click="search"  style="background-color: #3F9B6A;color: #fff;">查询</el-button>
                  <el-button  @click="clear"  class="buttonHover"
              style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置</el-button>
                </el-form-item>
              </el-form>
            </div>
        </div>
          <!-- 表格 -->
8dca79c8   杨鑫   1
32
          <div class="content_table" style="padding: 15px 0px 10px 0px;background-color:#F2F3F5">
3f535f30   杨鑫   '初始'
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
               <div style="background-color: #fff;padding: 10px;margin-bottom: 20px;">
            <div class="table">
              <el-table
                :data="tableData"
               :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
              >
                <el-table-column prop="id" label="排名" >
                  <template slot-scope="scope">
                    {{scope.$index + 1 }}
                  </template>
                  </el-table-column>
                <el-table-column prop="shopnum" label="商品编号">
                    <template slot-scope="scope">
                      {{scope.row.cereShopComments[0].productId}}
                      </template>
                </el-table-column>
                <el-table-column prop="shopname" label="商品名称">
                <template slot-scope="scope">
                                    {{scope.row.cereShopComments[0].shopName}}
                                    </template>
                              </el-table-column>
9683c4af   杨鑫   '最新'
54
55
  
  
3f535f30   杨鑫   '初始'
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
                <el-table-column prop="ctime" label="商品创建时间" >
                  <template slot-scope="scope">
                                      {{scope.row.cereShopComments[0].createTime}}
                                      </template>
                </el-table-column>
                <el-table-column prop="pf" label="评分" >
                  <template slot-scope="scope">
                                      {{scope.row.averageEvaluationScore}}
                                      </template>
                  </el-table-column>
                <el-table-column prop="pnum" label="评价数量">
                  <template slot-scope="scope">
                                      {{scope.row.evaluationsNumber}}
                                      </template>
                </el-table-column>
              </el-table>
            </div>
            <!-- 分页 -->
            <div class="fenye">
8dca79c8   杨鑫   1
75
76
77
  		<div style="line-height: 200%;">共{{total}}条</div>
              <el-pagination class="pagination" :hide-on-single-page="flag" background  :current-page="currentPage"
               layout="prev, pager,next" :total="total"
9683c4af   杨鑫   '最新'
78
                 @current-change="handleCurrentChange" />
3f535f30   杨鑫   '初始'
79
80
81
82
83
84
85
86
87
88
89
90
91
            </div>
         </div>
          </div>
        </div>
  
    </div>
  </template>
  
  <script>
    import {orderGetAll,productEvaluationRanking} from '@/api/psRanking'
  export default {
    data() {
      return {
9683c4af   杨鑫   '最新'
92
        total: 0,
3f535f30   杨鑫   '初始'
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
        pageSize: 10,
        currentPage: 1,
        formParams: {
          dates:[],
          page: 1,
          pageSize: 10
        },
        formInline: {
          searchType: '1',
          search: '', // 搜索字段
          state: '',
          // afterState: '', // 售后状态 0-无售后 1-售后中 2-售后成功 3-售后关闭
          dates: [], // 下单时间数组
          page: 1,
          shopName: '',
          pageSize: 10
        },
         tableData: [],
8dca79c8   杨鑫   1
111
  	   flag:false,
3f535f30   杨鑫   '初始'
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
  
      }
    },
    mounted() {
      this.getAll()
    },
    methods: {
      // 获取当前时间
      updateCurrentTime() {
        const now = new Date();
        const year = now.getFullYear();
        const month = (now.getMonth() + 1 );
        const fristmonth = (now.getMonth() + 1).toString().padStart(2, '0');
         const lastDay = this.getMonthLastDay(year,month)
         console.log(lastDay)
        const last = [`${year}-${fristmonth}-1 00:00:00`,`${lastDay} 23:59:59`]
        return last;
      },
      // 获取某个月的最后一天
      getMonthLastDay(year, month) {
        // 注意月份是从0开始的,所以1月是0,12月是11
        const lastDay = new Date(year, month, 0);
  
        // 使用Intl.DateTimeFormat API来格式化日期,指定格式选项
        const formatter = new Intl.DateTimeFormat('zh-CN', {
          year: 'numeric',
          month: '2-digit',
          day: '2-digit'
        })
  
        // 使用format方法获取格式化后的日期字符串
        const formattedDate = formatter.format(lastDay);
  
        // 分割字符串并重新组合成YYYY-MM-DD格式
        const parts = formattedDate.split(/[:\/]/);
        const dateString = `${parts[0]}-${parts[1].padStart(2, '0')}-${parts[2].padStart(2, '0')}`;
  
        return dateString;
      },
9683c4af   杨鑫   '最新'
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
      // 获取时间
          currentTime() {
              let date = new Date();
              let year = date.getFullYear();
              let month = date.getMonth() + 1; // 月份从0~11,所以加一
              let day = date.getDate();
              let hours = date.getHours();
              let minutes = date.getMinutes();
              let seconds = date.getSeconds();
  
              // 为月、日、时、分、秒添加前导零(如果需要)
              month = month < 10 ? '0' + month : month;
              day = day < 10 ? '0' + day : day;
              hours = hours < 10 ? '0' + hours : hours;
              minutes = minutes < 10 ? '0' + minutes : minutes;
              seconds = seconds < 10 ? '0' + seconds : seconds;
  
              // 拼接日期和时间字符串
              let strDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
              return strDate;
          },
3f535f30   杨鑫   '初始'
172
173
174
  async getAll(){
   let last =  this.updateCurrentTime()
  // const res =  await orderGetAll(this.formInline)
8dca79c8   杨鑫   1
175
176
177
  const Orderlist = await productEvaluationRanking({startTime:'2020-1-1 00:00:00',endTime:this.currentTime()})
  // this.tableData = Orderlist.data
  this.tableData =  Orderlist.data.sort((a, b) => b.evaluationsNumber - a.evaluationsNumber);
9683c4af   杨鑫   '最新'
178
  this.total = Orderlist.data.length
3f535f30   杨鑫   '初始'
179
180
181
  },
  async search(){
    this.formInline.dates = this.formParams.dates
8dca79c8   杨鑫   1
182
183
     let startTimeS = ''
      let endTimeS = ''
3f535f30   杨鑫   '初始'
184
    // const res =  await orderGetAll(this.formInline)
8dca79c8   杨鑫   1
185
186
187
188
189
190
191
192
    if(this.formInline.dates.length!=0){
  	   startTimeS = this.formInline.dates[0] +` 00:00:00`
  	   endTimeS = this.formInline.dates[1] +` 23:59:59`
    }else{
  	   startTimeS = '2020-1-1 00:00:00'
  	   endTimeS = this.currentTime()
    }
   
3f535f30   杨鑫   '初始'
193
    const Orderlist = await productEvaluationRanking({startTime:startTimeS,endTime:endTimeS})
fa21ce0f   杨鑫   最新更改bug
194
    this.tableData =  Orderlist.data.sort((a, b) => b.evaluationsNumber - a.evaluationsNumber);
9683c4af   杨鑫   '最新'
195
    this.total = Orderlist.data.length
3f535f30   杨鑫   '初始'
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
  },
  clear(){
    this.formInline.dates = []
    this.formParams.dates = []
     this.getAll()
  },
  
          handleCurrentChange(val) {
            this.currentPage = val
          },
          handleSizeChange(val) {
            this.pageSize = val
          },
      },
   }
  </script>
  
  <style lang='scss' scoped>
  .history{
    padding: 0px;
    padding-left: 10px;
    min-height: calc(100vh - 50px - 20px);
  }
   ::v-deep .el-form-item__label{
          font-weight: normal;
8dca79c8   杨鑫   1
221
           font-size: 14px;
3f535f30   杨鑫   '初始'
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
  
         }
         ::v-deep .btn .el-button:focus,
          .el-button:hover {
            border: 1px solid #3F9B6A;
          }
          ::v-deep .el-button {
             border: 1px solid #3F9B6A;
           }
            ::v-deep .el-pagination.is-background .el-pager li:not(.disabled).active {
             background-color: #3F9B6A;
           }
  </style>
  <style scoped>
  .history /deep/ .el-table .cell.el-tooltip img {
    max-height: 100px;
  }
    .fenye {
      margin-top: 20px;
      display: flex;
8dca79c8   杨鑫   1
242
      justify-content: space-between;
3f535f30   杨鑫   '初始'
243
244
245
246
247
248
249
      position: relative;
    }
    .pagination {
      text-align: right;
      line-height: 20px;
    }
  
3f535f30   杨鑫   '初始'
250
  
3f535f30   杨鑫   '初始'
251
252
253
254
255
256
257
258
259
260
261
   .toolbar{
     .el-form-item{
       margin-bottom:0px;
     }
   }
  </style>
  <style>
  .el-tooltip__popper {
    max-width: 50%;
  }
  </style>