doum
7 小时以前 e68e324f91d1a4eb2d4c5f07d27ca105a308bc0c
1
2
3
4
5
6
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
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
151
152
153
154
155
156
157
158
159
<template>
  <TableLayout :permissions="['business:member:query']">
    <!-- 搜索表单 -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="用户" prop="nickname ">
        <el-input v-model="searchForm.nickname"  style="width: 160px" placeholder="昵称/手机号/真实姓名" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="状态" prop="status"  >
        <el-select   v-model="searchForm.status" placeholder="状态"  clearable @change="search">
          <el-option :key="0" :value="0" label="启用"></el-option>
          <el-option :key="1" :value="1" label="禁用"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="关联经销商" prop="shopName ">
        <el-input v-model="searchForm.shopName"  style="width: 160px" placeholder="经销商名称" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <div class="date-style" style="display: inline">
        <el-form-item label="创建时间" prop="queryStartDate" >
          <el-date-picker
              style="width: 160px"
            v-model="searchForm.starttime"
            type="datetime"
            value-format="yyyy-MM-dd HH:mm:ss"
            format="yyyy-MM-dd HH:mm:ss"
            range-separator="至"
            placeholder="开始时间"
        ></el-date-picker>
        </el-form-item>
        <el-form-item label="-" label-width="10px" prop="queryEndDate" >
          <el-date-picker
              style="width: 160px"
              v-model="searchForm.endtime"
              type="datetime"
              value-format="yyyy-MM-dd HH:mm:ss"
              format="yyyy-MM-dd HH:mm:ss"
              range-separator="至"
              placeholder="截止时间"
          ></el-date-picker>
        </el-form-item>
      </div>
 
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- 表格和分页 -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:member:exportExcel' ]">
        <li> <el-button type="primary" :loading="isWorking.export" v-permissions="['business:member:exportExcel']" @click="exportExcel">导出</el-button></li>
      </ul>
      <el-table
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
        border
      >
        <el-table-column prop="openid" label="微信openid" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="nickname" label="昵称" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="name" label="客户姓名" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="phone" label="授权手机号" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="idcard" label="身份证号" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="integral" label="现有积分" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="totalIntegral" label="累计积分" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="totalIntegral" label="累计扣除" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="shopName" label="关联经销商" align="center"  min-width="100px"></el-table-column>
        <el-table-column prop="createDate" label="创建时间" align="center"  min-width="140px"></el-table-column>
        <el-table-column label="状态" align="center"  min-width="100px">
          <template slot-scope="{row}">
            <el-switch
              v-model="row.status"
              active-color="#13ce66"
              inactive-color="#999"
              :active-value="0"
              :inactive-value="1"
              @change="statusChange(row)"
            ></el-switch>
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center"  min-width="200px">
          <template slot-scope="{row}">
            <el-button type="text" @click="showMemberDetail(row)">详情</el-button>
            <el-button type="text" v-if="row.bindShopId !=null" @click="changeShop(row)">更换经销商</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination
        @size-change="handleSizeChange"
        @current-change="handlePageChange"
        :pagination="tableData.pagination"
      >
      </pagination>
      <OperaChangeShopWindow ref="OperaChangeShopWindow" @success="handlePageChange" />
      <OperaMemberDetail ref="operaMemberDetail" @success="handlePageChange"/>
    </template>
  </TableLayout>
</template>
 
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaMemberDetail from '@/components/business/OperaMemberDetail'
import OperaChangeShopWindow from '@/components/business/OperaChangeShopWindow'
import { updateById } from '@/api/business/member'
export default {
  name: 'Member',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaMemberDetail ,OperaChangeShopWindow},
  data () {
    return {
      // 搜索
      searchForm: {
        starttime: null,
        endtime: null,
        status: null,
        nickname: '',
        shopName: ''
      }
    }
  },
  created () {
    this.config({
      module: '用户信息表',
      api: '/business/member',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
  },
  methods: {
    changeShop(row){
      this.$refs.OperaChangeShopWindow.open('更换经销商',row)
    },
    statusChange(row) {
      console.log(row);
      updateById(row)
        .then(() => {
          this.$tip.success('修改成功')
        })
        .catch(e => {
          this.$tip.error(e)
        })
        .finally(() => {
          this.handlePageChange()
        })
    },
    showMemberDetail(row) {
      this.$refs.operaMemberDetail.open('会员详情', row)
    }
  }
}
</script>
 
<style scoped>
/*::v-deep .el-input{
  width: 200px;
}*/
</style>