Blame view

admin-web-master/src/views/online/reconciliationProcessing/index.vue 12.7 KB
3f535f30   杨鑫   '初始'
1
2
3
4
5
6
7
8
9
10
11
12
13
  <template>
    <div style="background-color:#f7f7f7;padding:10px 10px;">
      <div class="zhuti">
        <div style="height:58px;line-height:58px;">
          <div style="color:#0006"> <span>交易联机</span> <span style="padding:0 5px;">></span> <span
              style="color:#000000e6">对账处理</span></div>
        </div>
        <div>
  
          <!-- 搜索 -->
          <div class="formSearch">
            <el-form
              :inline="true"
60d9bf40   杨鑫   '1'
14
              :model="formInline"
3f535f30   杨鑫   '初始'
15
16
17
18
19
  
              label-position="left"
            >
              <el-form-item label="对账状态">
                <el-select
60d9bf40   杨鑫   '1'
20
                  v-model="formInline.isReconciliation"
3f535f30   杨鑫   '初始'
21
22
23
24
                  placeholder="请选择"
  
                  style="width: 100px;"
                >
60d9bf40   杨鑫   '1'
25
26
27
28
                  <el-option label="未对账" value="0" />
                  <el-option label="对账成功" value="1" />
                  <el-option label="对账失败" value="2" />
  
3f535f30   杨鑫   '初始'
29
30
                </el-select>
              </el-form-item>
60d9bf40   杨鑫   '1'
31
              <el-form-item label="下单时间">
3f535f30   杨鑫   '初始'
32
                <el-date-picker
60d9bf40   杨鑫   '1'
33
34
35
36
37
                  v-model="formInline.dates"
                  type="daterange"
                  range-separator="至"
                  start-placeholder="开始日期"
                  end-placeholder="结束日期"
726bc80b   杨鑫   最新
38
                  style="width:200px"
60d9bf40   杨鑫   '1'
39
                />
3f535f30   杨鑫   '初始'
40
41
42
43
44
45
46
              </el-form-item>
              <el-form-item label="支付金额">
                  <div>
                    <el-input
                      placeholder="请输入"
  
                      style="width: 80px;"
60d9bf40   杨鑫   '1'
47
                      v-model.number="minOrderPrice">
3f535f30   杨鑫   '初始'
48
49
50
51
52
53
                    </el-input>
  
                    <el-input
                      placeholder="请输入"
  
                      style="width:80px;"
60d9bf40   杨鑫   '1'
54
55
                      v-model.number="maxOrderPrice
  ">
3f535f30   杨鑫   '初始'
56
57
58
                    </el-input>
                  </div>
              </el-form-item>
60d9bf40   杨鑫   '1'
59
              <el-form-item label="商户名称">
3f535f30   杨鑫   '初始'
60
61
               <el-input
                 placeholder="请输入"
726bc80b   杨鑫   最新
62
  style="width: 120px;"
60d9bf40   杨鑫   '1'
63
                 v-model="formInline.shopName">
3f535f30   杨鑫   '初始'
64
65
               </el-input>
              </el-form-item>
3f535f30   杨鑫   '初始'
66
  
60d9bf40   杨鑫   '1'
67
68
69
70
71
72
73
74
75
76
77
78
79
80
            </el-form>
            <div style="width:16%">
              <el-button
                style="background-color: #3F9B6A;color: #fff;"
                @click="search"
                >查询
              </el-button>
              <el-button
               class="buttonHover"
                 style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;"
                @click="resetting"
                >重置
              </el-button>
            </div>
3f535f30   杨鑫   '初始'
81
          </div>
60d9bf40   杨鑫   '1'
82
83
          <!-- <div style="padding-bottom:20px;">
            <el-button
3f535f30   杨鑫   '初始'
84
              style="background-color: #3F9B6A;color: #fff;"
60d9bf40   杨鑫   '1'
85
              @click="daochu"
3f535f30   杨鑫   '初始'
86
              >导出
60d9bf40   杨鑫   '1'
87
            </el-button>
3f535f30   杨鑫   '初始'
88
  
60d9bf40   杨鑫   '1'
89
90
          </div> -->
          <!-- 表格 -->
3f535f30   杨鑫   '初始'
91
  
60d9bf40   杨鑫   '1'
92
93
94
95
96
97
          <div class="tableBox">
            <el-table
              ref="multipleTable"
              :data="tableData"
             :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"
              tooltip-effect="dark"
3f535f30   杨鑫   '初始'
98
99
  
            >
60d9bf40   杨鑫   '1'
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
              <el-table-column label="订单id" width="150">
                <template slot-scope="scope">{{ scope.row.orderId }}</template>
              </el-table-column>
              <el-table-column prop="number" label="商品数量" width="100" />
              <el-table-column prop="shopName" label="商户名称" width="220" show-overflow-tooltip />
              <el-table-column prop="customerName" label="下单账户" show-overflow-tooltip />
              <el-table-column prop="receiveName" label="收件人" show-overflow-tooltip />
              <el-table-column prop="receivePhone" label="手机号" show-overflow-tooltip />
              <el-table-column prop="price" label="支付金额(元)" width="120" />
              <el-table-column prop="createTime" label="下单时间" show-overflow-tooltip />
              <el-table-column label="对账状态" show-overflow-tooltip>
                <template slot-scope="scope">
                  <span v-if="scope.row.isReconciliation == 0" >未对账</span>
                  <span v-if="scope.row.isReconciliation == 2" >对账失败</span>
                  <span v-if="scope.row.isReconciliation == 1" >对账成功</span>
                </template>
              </el-table-column>
  
ad7d1a78   杨鑫   '最新'
118
              <el-table-column label="操作">
60d9bf40   杨鑫   '1'
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
                <template slot-scope="scope">
                  <div class="btnList">
                    <div class="tableBtn greens" @click="addbuss(scope.row)"  v-if="scope.row.isReconciliation == 0" >对账</div>
                  </div>
                </template>
              </el-table-column>
            </el-table>
            <div class="fenye">
              <el-pagination
                :current-page="formInline.page"
                :page-sizes="[10, 20, 50, 100]"
                :page-size="10"
                layout="total, sizes, prev, pager, next, jumper"
                :total="total"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
              />
            </div>
3f535f30   杨鑫   '初始'
137
138
139
140
141
142
143
144
145
146
          </div>
  
  
        </div>
      </div>
  
    </div>
  </template>
  
  <script>
ad7d1a78   杨鑫   '最新'
147
148
  import {merchantQueries,reconciliation,excelGetAll,orderGetAll} from '../../../api/online.js'
  import { orderExport} from '@/api/order'
3f535f30   杨鑫   '初始'
149
150
151
152
  export default {
    data () {
      return {
        rules: {},
60d9bf40   杨鑫   '1'
153
154
155
        formInline: {
            searchType: '1',
            search: '', // 搜索字段
ad7d1a78   杨鑫   '最新'
156
            state: [2,3,4],
60d9bf40   杨鑫   '1'
157
158
159
160
161
162
163
164
165
            // afterState: '', // 售后状态 0-无售后 1-售后中 2-售后成功 3-售后关闭
            dates: [], // 下单时间数组
            page: 1,
            shopName: '',
            pageSize: 10
  
        },
        minOrderPrice:null,
        maxOrderPrice:null,
3f535f30   杨鑫   '初始'
166
        currentPage: 1,
60d9bf40   杨鑫   '1'
167
        total: 0,
3f535f30   杨鑫   '初始'
168
169
170
171
        flag: false,
        pageSize: 10,
        ggXin: false,
        index:1,
e5b57447   杨鑫   '分包问卷'
172
173
174
175
176
        formSel:{
          state:'',
          minMach:'',
          maxMach:'',
          shopName:'',
3f535f30   杨鑫   '初始'
177
        },
e5b57447   杨鑫   '分包问卷'
178
        paryTime:[],
3f535f30   杨鑫   '初始'
179
180
181
182
183
184
185
186
        tableData: [],
        pageindex: {
          merchantId:'9E602E5977EC48DEA06D42C67F4C93F0',
          page: 1,
          limit: 10,
          orderTimeStart:'',
          orderTimeEnd:'',
        },
60d9bf40   杨鑫   '1'
187
188
189
190
191
192
193
194
195
196
        orderTimeStart:'',
        orderTimeEnd:'',
        duiData:{
            orderNo:'',
            page: 1,
            limit: 10,
            orderTimeStart:'',
            orderTimeEnd:'',
          orderPrice:[]
        }
3f535f30   杨鑫   '初始'
197
198
199
200
      }
    },
    computed: {},
    mounted(){
60d9bf40   杨鑫   '1'
201
      this.getAll()
3f535f30   杨鑫   '初始'
202
203
204
      this.getOrder()
    },
    methods: {
60d9bf40   杨鑫   '1'
205
206
207
208
209
210
211
212
      async getAll (formInline) {
        this.tableLoading = true
        const res = await orderGetAll(this.formInline)
        this.tableData = res.data.list
        this.total = res.data.total
  
        // this.tableLoading = false
      },
3f535f30   杨鑫   '初始'
213
     async getOrder(){
60d9bf40   杨鑫   '1'
214
215
216
217
218
219
    //    this.getFirstDayOfYear()
    //   this.getLastDayOfYear()
    //  const res =   await merchantQueries(this.pageindex)
    //   this.tableData = JSON.parse(res.data).records
    // this.total = JSON.parse(res.data).records.length
    // console.log(JSON.parse(res.data))
3f535f30   杨鑫   '初始'
220
221
222
223
224
225
  
      },
  getFirstDayOfYear() {
    const now = new Date();
    const year = now.getFullYear();
    const firstDay = new Date(year, 0, 1, 0, 0, 0, 0);
60d9bf40   杨鑫   '1'
226
    this.orderTimeStart = this.formatDate(firstDay);
3f535f30   杨鑫   '初始'
227
228
229
230
231
  },
    getLastDayOfYear() {
      const now = new Date()
      const year = now.getFullYear()
      const lastDay = new Date(year, 11, 31, 23, 59, 59, 999)
60d9bf40   杨鑫   '1'
232
      this.orderTimeEnd = this.formatDate(lastDay)
3f535f30   杨鑫   '初始'
233
234
235
236
237
238
239
240
241
242
    },
    formatDate(date) {
      const year = date.getFullYear()
      const month = String(date.getMonth() + 1).padStart(2, '0')
      const day = String(date.getDate()).padStart(2, '0')
      const hours = String(date.getHours()).padStart(2, '0')
      const minutes = String(date.getMinutes()).padStart(2, '0')
      const seconds = String(date.getSeconds()).padStart(2, '0')
      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
    },
60d9bf40   杨鑫   '1'
243
244
      addbuss(item) {
        let obj ={
ad7d1a78   杨鑫   '最新'
245
246
247
          merchantId: "9E602E5977EC48DEA06D42C67F4C93F0",
           payId: item.payId
  	   
60d9bf40   杨鑫   '1'
248
        }
3f535f30   杨鑫   '初始'
249
250
251
252
253
254
255
256
257
258
259
260
261
               const h = this.$createElement;
                       this.$msgbox({
                         title: '对账',
                         message: h('p', null, [
                           h('span', null, '是否已对账 '),
                         ]),
                         showCancelButton: true,
                         showClose:false,
                         confirmButtonText: '确定',
                         cancelButtonText: '取消',
                         customClass:'oe-dialog-btn',
                         beforeClose: (action, instance, done) => {
                           if (action === 'confirm') {
60d9bf40   杨鑫   '1'
262
263
264
265
266
267
268
269
                             reconciliation(obj).then(res=>{
                               this.$message({
                                 message: res.data,
                                 type: 'success'
                               })
                               this.getAll()
                             })
  
3f535f30   杨鑫   '初始'
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
                              done();
                           } else {
                             done();
                           }
             }
             })
  
  
      },
      onSubmit(){
  
        if(this.formInline.paryTime.length !=0){
          this.pageindex.orderTimeStart = this.formInline.paryTime[0]
            this.pageindex.orderTimeEnd = this.formInline.paryTime[1]
            const res =   merchantQueries(this.pageindex).then(res=>{
                  this.tableData = JSON.parse(res.data).records
                  this.total = JSON.parse(res.data).records.length
                })
        }
  
      },
      resetting(){
60d9bf40   杨鑫   '1'
292
293
294
295
296
297
298
299
300
301
302
        // this.pageindex={
        //   merchantId:'9E602E5977EC48DEA06D42C67F4C93F0',
        //   page: 1,
        //   limit: 10,
        //   orderTimeStart:'',
        //   orderTimeEnd:'',
        // }
        this.formInline = {
  
              searchType: '1',
              search: '', // 搜索字段
ad7d1a78   杨鑫   '最新'
303
              state: [2,3,4],
60d9bf40   杨鑫   '1'
304
305
306
307
308
309
310
              // afterState: '', // 售后状态 0-无售后 1-售后中 2-售后成功 3-售后关闭
              dates: [], // 下单时间数组
              page: 1,
              shopName: '',
              pageSize: 10
  
  
3f535f30   杨鑫   '初始'
311
        }
60d9bf40   杨鑫   '1'
312
313
314
        this.minOrderPrice = null
          this.maxOrderPrice = null
      this.getAll()
3f535f30   杨鑫   '初始'
315
316
  
      },
60d9bf40   杨鑫   '1'
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
    async daochu(){
   let res = await excelGetAll(this.formInline)
      if(!res){
        return
      }
      const blob = new Blob([res], { type: 'application/vnd.ms-excel' })
      const fileName = '对账结果.xls'
      if ('download' in document.createElement('a')) {
         // 非IE下载
         const elink = document.createElement('a')
         elink.download = fileName
         elink.style.display = 'none'
         elink.href = URL.createObjectURL(blob)
         document.body.appendChild(elink)
         elink.click()
         URL.revokeObjectURL(elink.href) // 释放URL 对象
         document.body.removeChild(elink)
       } else {
        // IE10+下载
        navigator.msSaveBlob(blob, fileName)
      }
      this.$message({
        message: '导出成功',
        type: 'success'
      })
      },
3f535f30   杨鑫   '初始'
343
344
345
      handleSizeChange(){
  
      },
60d9bf40   杨鑫   '1'
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
      handleCurrentChange(val){
      this.formInline.page = val
      this.getAll()
      },
      search () {
        this.total = 1
        this.formInline.page = 1
  
         if(this.minOrderPrice!=null && this.minOrderPrice!= '' ){
           this.formInline.minOrderPrice =  this.minOrderPrice
         }
         if(this.maxOrderPrice!=null && this.maxOrderPrice!= '' ){
           this.formInline.maxOrderPrice =  this.maxOrderPrice
         }
        this.getAll(this.formInline)
3f535f30   杨鑫   '初始'
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
      },
      closeFn () {
        this.ggXin = false
        this.index = 1
      }
    }
  }
  </script>
  
  <style scoped >
  .zhuti {
      padding: 0 20px 20px 20px;
      min-height: calc(100vh - 50px - 20px);
      background-color: #Fff;
      position: relative;
    }
  
  /deep/ .el-form-item__content {
    line-height: 0;
  }
  
60d9bf40   杨鑫   '1'
382
383
384
385
  .tableBtn {
    display: inline-block;
    margin-right: 10px;
  }
3f535f30   杨鑫   '初始'
386
387
388
389
390
391
  
  ::v-deep .formSearch {
    position: relative;
    margin: 20px 0;
    display: flex;
    width: 100%;
3f535f30   杨鑫   '初始'
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
    font-size: 14px;
    justify-content: space-between;
    .el-form-item__label{
      font-size: 14px;
      color: #000;
    }
  }
  
  .greens {
    color: #3F9B6A;
  }
  
  
  .fenye {
    margin-top: 20px;
    display: flex;
    justify-content: flex-start;
    position: relative;
  }
  
  /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
    background-color: #3F9B6A;
  }
  
  .el-row {
    margin-bottom: 20px;
  }
  :last-child {
    margin-bottom: 0;
  }
  
  .el-col {
    border-radius: 4px;
  }
  
  .bg-purple-dark {
    background: #99a9bf;
  }
  
  .bg-purple {
    background: #d3dce6;
  }
  
  .bg-purple-light {
    background: #e5e9f2;
  }
  
  .grid-content {
    border-radius: 4px;
    min-height: 36px;
  }
  
  .row-bg {
    padding: 10px 0;
    background-color: #f9fafc;
  }
  
  /deep/ .bg-purple[data-v-0e3fe4ec] {
    background: #fff;
    height: 50px;
  }
  
  /deep/ .el-form--label-top .el-form-item__label {
    padding: 0;
  }
  .demo-input-suffix{
    display: flex;
    margin-right: 20px;
  }
  .pagination{
    text-align:right;
    line-height: 20px;
  }
  
  </style>
  <style lang="scss" scoped>
  
    ::v-deep .buttonHover:hover {
      color: #3f9b6a !important;
      border-color: #c5e1d2 !important;
      background-color: #ecf5f0 !important;
      outline: none;
    }
  
  
  </style>