index.vue 27 KB
Newer Older
dcy's avatar
dcy committed
1 2 3 4 5
<template>
  <div class="app-container">

    <!-- 搜索工作栏 -->
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
dcy's avatar
dcy committed
6 7
      <el-form-item :label="$t('关键字')" prop="nickname">
        <el-input v-model="queryParams.searchKey" :placeholder="$t('搜索昵称、姓名、手机、Email')" clearable @keyup.enter.native="handleQuery"/>
dcy's avatar
dcy committed
8
      </el-form-item>
dcy's avatar
dcy committed
9
      <el-form-item :label="$t('成交')" prop="mobile">
dcy's avatar
dcy committed
10
        <el-select v-model="queryParams.isDeal">
dcy's avatar
dcy committed
11
          <el-option v-for="item in [{label:$t('全部'),value:''},{label:$t('是'),value:true},{label:$t('否'),value:false}]" :value="item.value" :label="item.label" :key="item.value" ></el-option>
dcy's avatar
dcy committed
12
          </el-select>
dcy's avatar
dcy committed
13
      </el-form-item>
dcy's avatar
dcy committed
14
      <el-form-item :label="$t('认证')" prop="password">
dcy's avatar
dcy committed
15
        <el-select v-model="queryParams.authType">
dcy's avatar
dcy committed
16
          <el-option v-for="item in [{label: $t('全部'),value: ''},{label:$t('营业执照认证'),value:1},{label:$t('身份证认证'),value:2},{label:$t('双认证'),value:3}]" :key="item.value"  :value="item.value" :label="item.label"></el-option>
dcy's avatar
dcy committed
17
        </el-select>
dcy's avatar
dcy committed
18
      </el-form-item>
dcy's avatar
dcy committed
19
      <el-form-item :label="$t('审核状态')" prop="registerIp">
dcy's avatar
dcy committed
20
        <dict-selector v-model="queryParams.auditStatus" :type="DICT_TYPE.AUDIT_STATUS"></dict-selector>
dcy's avatar
dcy committed
21 22
      </el-form-item>
      <el-form-item>
dcy's avatar
dcy committed
23 24 25
        <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
        <el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
        <el-button :loading="exportLoading" type="primary" @click="exportFn">{{$t('导 出')}}</el-button>
dcy's avatar
dcy committed
26 27 28 29 30 31 32 33 34
      </el-form-item>
    </el-form>

    <!-- 操作工具栏 -->
    <el-row :gutter="10" class="mb8">
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>

    <!-- 列表 -->
dcy's avatar
dcy committed
35
    <el-table v-loading="loading" :data="list">
dcy's avatar
dcy committed
36 37 38 39
      <el-table-column :label="$t('公司名称')" align="center" prop="enterpriseName" />
      <el-table-column :label="$t('用户昵称')" align="center" prop="nickname" />
      <el-table-column :label="$t('真实姓名')" align="center" prop="identityName" />
      <el-table-column :label="$t('区号')">
dcy's avatar
dcy committed
40
        <template v-slot:default = 'scope'>
dcy's avatar
dcy committed
41
          +{{scope.row.areaCode ? `${scope.row.areaCode}`:''}}
dcy's avatar
dcy committed
42 43
        </template>
      </el-table-column>
dcy's avatar
dcy committed
44
      <el-table-column :label="$t('手机号')" show-overflow-tooltip align="center" prop="mobile" >
dcy's avatar
dcy committed
45
     </el-table-column>
dcy's avatar
dcy committed
46
      <el-table-column :label="$t('成交')" align="center" prop="customerStatus" show-overflow-tooltip >
dcy's avatar
dcy committed
47
        <template v-slot="{row}">
dcy's avatar
dcy committed
48
          {{row.customerStatus === 3 ? $t('成交') : $t('非成交')}}
dcy's avatar
dcy committed
49 50
        </template>
      </el-table-column>
dcy's avatar
dcy committed
51 52
      <el-table-column :label="$t('认证')" align="center" :formatter="authentication" />
      <el-table-column :label="$t('状态')" align="center" prop="status" >
dcy's avatar
dcy committed
53 54 55 56
        <template slot-scope="scope">
          <el-switch v-model="scope.row.status" :active-value="0" :inactive-value="1" @change="handleStatusChange(scope.row)" />
        </template>
      </el-table-column>
dcy's avatar
dcy committed
57
      <el-table-column label="身份证审核状态" align="center" prop="createTime" width="180">
dcy's avatar
dcy committed
58
        <template slot-scope="scope">
dcy's avatar
dcy committed
59
          <div v-if="!scope.row.identityAuditStatus">{{$t('未提交')}}</div>
dcy's avatar
dcy committed
60
        <dict-tag v-else :type="DICT_TYPE.AUDIT_STATUS" :value="scope.row.identityAuditStatus" ></dict-tag>
dcy's avatar
dcy committed
61
          <el-tooltip  v-if="scope.row.identityAuditStatus === 3" class="item" effect="dark" :content="scope.row.identityAuditRemark" placement="bottom">
dcy's avatar
dcy committed
62 63
            <i class="el-icon-question"></i>
          </el-tooltip>
dcy's avatar
dcy committed
64 65
        </template>
      </el-table-column>
dcy's avatar
dcy committed
66
      <el-table-column :label="$t('营业执照审核状态')" align="center" prop="createTime" width="180">
dcy's avatar
dcy committed
67
        <template slot-scope="scope">
dcy's avatar
dcy committed
68
          <div v-if="!scope.row.enterpriseAuditStatus">{{$t('未提交')}}</div>
dcy's avatar
dcy committed
69
          <dict-tag v-else :type="DICT_TYPE.AUDIT_STATUS" :value="scope.row.enterpriseAuditStatus" ></dict-tag>
dcy's avatar
dcy committed
70
          <el-tooltip  v-if="scope.row.enterpriseAuditStatus === 3" class="item" effect="dark" :content="scope.row.rowenterpriseAuditRemark" placement="bottom">
dcy's avatar
dcy committed
71 72
          <i class="el-icon-question"></i>
            </el-tooltip>
dcy's avatar
dcy committed
73
        </template>
dcy's avatar
dcy committed
74
      </el-table-column>
dcy's avatar
dcy committed
75
      <el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
dcy's avatar
dcy committed
76
        <template slot-scope="scope">
dcy's avatar
dcy committed
77 78 79 80 81
          <span>{{ parseTime(scope.row.createTime) }}</span>
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200px">
        <template slot-scope="scope" >
dcy's avatar
dcy committed
82 83 84 85 86
          <el-button size="mini" type="text"  @click="guarantee(scope.row)">{{$t('保函/证书')}}</el-button>
          <el-button size="mini" type="text"  @click="operationLogFn(scope.row)">{{$t('操作日志')}}</el-button>
          <el-button size="mini" type="text"  @click="identityFn(scope.row , '1')">{{$t('身份证')}}</el-button>
          <el-button  size="mini" type="text"  @click="identityFn(scope.row, '2')">{{$t('营业执照')}}</el-button>
          <el-button  size="mini" type="text" @click="deleteFn(scope.row)">{{$t('删 除')}}</el-button>
dcy's avatar
dcy committed
87 88 89 90
        </template>
      </el-table-column>
    </el-table>
    <!-- 分页组件 -->
dcy's avatar
dcy committed
91
    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.rows"
dcy's avatar
dcy committed
92
                @pagination="getList"/>
dcy's avatar
dcy committed
93 94 95 96 97 98
    <el-dialog
      title="保函/证书"
      :visible.sync="guaranteeShow"
      :before-close="()=>{guaranteeUrl = ''; guaranteeShow = false;}"
      width="50%">
      <el-form>
dcy's avatar
dcy committed
99
        <el-form-item :label="$t('保函/证书')">
dcy's avatar
dcy committed
100 101 102 103 104 105
          <el-row :gutter="20" type="flex" justify="center" >
            <el-col :span="12"><el-input v-model="guaranteeUrl" ></el-input></el-col>
            <el-col :span="4"><div style="height: 45px;overflow: hidden;">
              <file-upload v-model="guaranteeUrl" :fileType="['png', 'jpg', 'jpeg','pdf']" :limit="1" :isShowTip="false"></file-upload>
            </div></el-col>
            <el-col :span="6">
dcy's avatar
dcy committed
106
              <div>{{$t('可上传图片,pdf文档')}}</div>
dcy's avatar
dcy committed
107 108 109 110
            </el-col>
          </el-row>
        </el-form-item>
      </el-form>
dcy's avatar
dcy committed
111
       <div style="text-align: center;"><el-button @click="setGuarantee">{{$t('保 存')}}</el-button></div>
dcy's avatar
dcy committed
112 113
    </el-dialog>
    <el-dialog
dcy's avatar
dcy committed
114
      :title="$t('操作日志')"
dcy's avatar
dcy committed
115 116 117
      :visible.sync="operationLogShow"
      width="50%">
      <el-table :data="operationLogList">
dcy's avatar
dcy committed
118 119 120
        <el-table-column :label="$t('标题')" prop="title"></el-table-column>
        <el-table-column :label="$t('操作内容')" prop="content"></el-table-column>
        <el-table-column :label="$t('操作人')" prop="userId">
dcy's avatar
dcy committed
121 122 123 124
          <template v-slot="{row}">
            {{list.find(i => i.id == row.userId).identityName}}
          </template>
        </el-table-column>
dcy's avatar
dcy committed
125
        <el-table-column :label="$t('操作时间')">
dcy's avatar
dcy committed
126 127 128 129
          <template v-slot:default ="scope">
            {{parseTime(scope.row.createTime) }}
          </template>
        </el-table-column>
dcy's avatar
dcy committed
130
        <el-table-column :label="$t('操作ip')" prop="ip"></el-table-column>
dcy's avatar
dcy committed
131
      </el-table>
dcy's avatar
dcy committed
132 133
      <pagination  v-show="totalLog >   0" :total="totalLog" :page.sync="operationLogFrom.page" :limit.sync="operationLogFrom.row"
                  @pagination="getOperationLogList"/>
dcy's avatar
dcy committed
134
    </el-dialog>
dcy's avatar
dcy committed
135
        <el-dialog
dcy's avatar
dcy committed
136
          :title="$t('认证')"
dcy's avatar
dcy committed
137
          :visible.sync="attestationShow"
dcy's avatar
dcy committed
138
          width="80%">
dcy's avatar
dcy committed
139 140
           <div class="details">
             <el-tabs v-model="activeName" @tab-click="handleClick">
dcy's avatar
dcy committed
141
               <el-tab-pane :label="$t('身份证')" name="1">
dcy's avatar
dcy committed
142
                <div style="padding:0 40px;box-sizing: border-box;">
dcy's avatar
dcy committed
143
                  <el-form :disabled="[2,3].includes(IdDetails.status) && modifyIdCard" ref="formId" label-position="left" label-width="100px" :rules="rulesId"  :model="IdDetails" >
dcy's avatar
dcy committed
144
                    <el-form-item :label="$t('姓名')" prop="name">
dcy's avatar
dcy committed
145
                      <el-input v-model="IdDetails.name"></el-input>
dcy's avatar
dcy committed
146
                    </el-form-item>
dcy's avatar
dcy committed
147
                    <el-form-item :label="$t('证件类型')" prop="cardType">
dcy's avatar
dcy committed
148
                      <dict-selector v-model="IdDetails.cardType"  :type="DICT_TYPE.CERTIFICATE_TYPE" ></dict-selector>
dcy's avatar
dcy committed
149
                    </el-form-item>
dcy's avatar
dcy committed
150
                    <el-form-item :label="$t('证件号码')" prop="cardNumber">
dcy's avatar
dcy committed
151
                      <el-input v-model="IdDetails.cardNumber"></el-input>
dcy's avatar
dcy committed
152
                    </el-form-item>
dcy's avatar
dcy committed
153
                    <el-form-item :label="$t('证件正面照')" prop="img1">
dcy's avatar
dcy committed
154
                      <div>
dcy's avatar
dcy committed
155
                          <el-input  readonly style="margin-bottom: 20px" v-model="IdDetails.img1"></el-input>
dcy's avatar
dcy committed
156
                        <ImageUpload :isShowTip="false" v-model="IdDetails.img1" :limit="1"></ImageUpload>
dcy's avatar
dcy committed
157 158
                      </div>
                    </el-form-item>
dcy's avatar
dcy committed
159
                    <el-form-item :label="$t('证件背面照')" prop="img2">
dcy's avatar
dcy committed
160
                      <div>
dcy's avatar
dcy committed
161
                        <el-input readonly style="margin-bottom: 20px" v-model="IdDetails.img2"></el-input>
dcy's avatar
dcy committed
162
                        <ImageUpload :isShowTip="false" :limit="1" v-model="IdDetails.img2"></ImageUpload>
dcy's avatar
dcy committed
163 164
                      </div>
                    </el-form-item>
dcy's avatar
dcy committed
165
                    <el-form-item :label="$t('审核状态')" v-if="modifyIdCard && IdDetails.status !== 0 ">
dcy's avatar
dcy committed
166
                     {{getDictDatas(DICT_TYPE.AUDIT_STATUS)[IdDetails.status].label}}
dcy's avatar
dcy committed
167
                    </el-form-item>
dcy's avatar
dcy committed
168
                    <el-form-item :label="$t('审核时间')" v-if="[2,3].includes(IdDetails.status) && modifyIdCard">
dcy's avatar
dcy committed
169 170
                     {{parseTime(IdDetails.auditTime)}}
                    </el-form-item>
dcy's avatar
dcy committed
171
                    <el-form-item v-if="modifyIdCard &&  IdDetails.status !== 0" :label="$t('审核备注')">
172
                     <el-input v-model="IdDetails.auditRemark" :disabled="IdDetails.status === 3" type="textarea"></el-input>
dcy's avatar
dcy committed
173
                    </el-form-item>
dcy's avatar
dcy committed
174
                  </el-form>
175
                  <div v-if="IdDetails.status === 1" style="text-align: center;margin-top: 20px;">
dcy's avatar
dcy committed
176 177
                    <el-button type="primary" @click="idCardAuditFn(2)">{{$t('审核通过')}}</el-button>
                    <el-button type="primary" @click="idCardAuditFn(3)">{{$t('审核不通过')}}</el-button>
dcy's avatar
dcy committed
178 179
                    <el-button @click="attestationShow = false"> </el-button>
                  </div>
180
                  <div v-if="IdDetails.status === 2 || IdDetails.status === 3" style="text-align: center;margin-top: 20px;">
dcy's avatar
dcy committed
181 182 183
                    <el-button type="primary"  v-if="modifyIdCard" @click="modifyIdCard = false;">{{$t('修 改')}}</el-button>
                    <el-button type="primary" v-else @click="setMemberUserUpdateIdCard">{{$t('提交审核')}}</el-button>
                    <el-button @click="attestationShow = false">{{$t('取 消')}}</el-button>
dcy's avatar
dcy committed
184 185
                  </div>
                  <div v-if="IdDetails.status === 0" style="text-align: center;margin-top: 20px;">
dcy's avatar
dcy committed
186 187
                    <el-button type="primary" @click="submitId">{{$t('上 传')}}</el-button>
                    <el-button @click="attestationShow = false">{{$t('取 消')}}</el-button>
dcy's avatar
dcy committed
188
                  </div>
dcy's avatar
dcy committed
189 190
                </div>
               </el-tab-pane>
dcy's avatar
dcy committed
191
               <el-tab-pane :label="$t('营业执照')" name="2" >
dcy's avatar
dcy committed
192
                <div style="width: 500px;padding:0 40px;box-sizing: border-box;">
dcy's avatar
dcy committed
193
                  <el-form :disabled="modifyLicense && [2,3].includes(enterpriseFrom.status)" :rules="rulesEnterprise" :model="enterpriseFrom" label-position="left" ref="formEnter" label-width="100px">
dcy's avatar
dcy committed
194
                    <el-form-item :label="$t('企业名称')" prop="name">
dcy's avatar
dcy committed
195
                        <el-input v-model="enterpriseFrom.name" ></el-input>
dcy's avatar
dcy committed
196
                    </el-form-item>
dcy's avatar
dcy committed
197
                    <el-form-item :label="$t('企业法人')" prop="legalName">
dcy's avatar
dcy committed
198
                      <el-input v-model="enterpriseFrom.legalName" ></el-input>
dcy's avatar
dcy committed
199
                    </el-form-item>
dcy's avatar
dcy committed
200
                    <el-form-item :label="$t('证件号码')" prop="cardNumber">
dcy's avatar
dcy committed
201
                      <el-input v-model="enterpriseFrom.cardNumber"></el-input>
dcy's avatar
dcy committed
202
                    </el-form-item>
dcy's avatar
dcy committed
203
                    <el-form-item :label="$t('证件照')" prop="img1">
dcy's avatar
dcy committed
204
                      <div>
dcy's avatar
dcy committed
205
                        <el-input readonly style="margin-bottom: 20px" v-model="enterpriseFrom.img1"></el-input>
dcy's avatar
dcy committed
206
                        <ImageUpload :isShowTip="false" :limit="1" v-model="enterpriseFrom.img1"></ImageUpload>
dcy's avatar
dcy committed
207 208
                      </div>
                    </el-form-item>
dcy's avatar
dcy committed
209
                    <el-form-item :label="$t('附件')">
dcy's avatar
dcy committed
210
                      <el-input readonly v-model="enterpriseFrom.img2"></el-input>
dcy's avatar
dcy committed
211
                      <ImageUpload :isShowTip="false" :limit="1" v-model="enterpriseFrom.img2"></ImageUpload>
dcy's avatar
dcy committed
212
                    </el-form-item>
dcy's avatar
dcy committed
213 214 215
                    <el-form-item v-if="modifyLicense &&  enterpriseFrom.status !== 0 " :label="$t('审核状态')">{{getDictDatas(DICT_TYPE.AUDIT_STATUS)[enterpriseFrom.status].label}}</el-form-item>
                    <el-form-item v-if="[2,3].includes(enterpriseFrom.status) && modifyLicense " :label="$t('审核时间')">{{parseTime(enterpriseFrom.auditTime)}}</el-form-item>
                    <el-form-item v-if="modifyLicense && enterpriseFrom.status !== 0" :label="$t('审核备注')">
216 217
                      <el-input v-model="enterpriseFrom.auditRemark" :disabled="enterpriseFrom.status === 3" type="textarea"></el-input>
                    </el-form-item>
dcy's avatar
dcy committed
218
                  </el-form>
219
                  <div v-if="enterpriseFrom.status === 1" style="text-align: center;margin-top: 20px;">
dcy's avatar
dcy committed
220 221 222
                    <el-button type="primary" @click="certificateVerificationFn(2)">{{$t('审核通过')}}</el-button>
                    <el-button type="primary" @click="certificateVerificationFn(3)">{{$t('审核不通过')}}</el-button>
                    <el-button @click="attestationShow = false">{{$t('取 消')}}</el-button>
dcy's avatar
dcy committed
223
                  </div>
224
                  <div v-if="enterpriseFrom.status === 2 || enterpriseFrom.status === 3" style="text-align: center;margin-top: 20px;">
dcy's avatar
dcy committed
225 226 227
                    <el-button type="primary" v-if="modifyLicense" @click="modifyLicense = false">{{$t('修 改')}}</el-button>
                    <el-button type="primary" v-else @click="setMemberUserUpdateEnterprise">{{$t('提交审核')}}</el-button>
                    <el-button @click="attestationShow = false">{{$t('取 消')}}</el-button>
dcy's avatar
dcy committed
228
                  </div>
229
                  <div v-if="enterpriseFrom.status === 0" style="text-align: center;margin-top: 20px;">
dcy's avatar
dcy committed
230 231
                    <el-button type="primary" @click="submit">{{$t('上 传')}}</el-button>
                    <el-button @click="attestationShow = false">{{$t('取 消')}}</el-button>
232
                  </div>
dcy's avatar
dcy committed
233 234 235 236 237
                </div>
               </el-tab-pane>
             </el-tabs>
           </div>
        </el-dialog>
dcy's avatar
dcy committed
238 239 240 241
  </div>
</template>

<script>
dcy's avatar
dcy committed
242 243 244 245 246 247 248 249
import {
  createUser,
  updateUser,
  deleteUser,
  getUserPage,
  exportUserExcel,
  operationLogApi,
  seTupdateBackletter,
dcy's avatar
dcy committed
250 251 252 253
  memberGetAuthIdcardInfo,
  memberGetAuthEnterpriseInfo,
  memberUserAuditIdCard,
  memberUserUpdateIdCard,
dcy's avatar
dcy committed
254 255 256 257 258
  memberUserUpdateEnterprise,
  setUserUpdateStatus,
  userCreateAuditEnterprise,
  memberUserAuditEnterprise,
  createAuditIdCard
dcy's avatar
dcy committed
259 260 261 262 263
} from "@/api/member/user";
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
import FileUpload  from "@/components/FileUpload"
import ImageUpload from "@/components/ImageUpload";
import uploadImage from "@/components/UploadImage";
dcy's avatar
dcy committed
264
import {CommonStatusEnum} from "@/utils/constants";
dcy's avatar
dcy committed
265
import {changeUserStatus, listServiceUser, listSimpleUsers} from "@/api/system/user";
dcy's avatar
dcy committed
266 267
export default {
  name: "User",
dcy's avatar
dcy committed
268
  components: {
dcy's avatar
dcy committed
269 270
    FileUpload,
    ImageUpload,uploadImage
dcy's avatar
dcy committed
271
  },
dcy's avatar
dcy committed
272 273
  data() {
    return {
dcy's avatar
dcy committed
274 275 276
      totalLog:0,
      IdDetails:{},
      enterpriseFrom:{},
dcy's avatar
dcy committed
277 278
      guaranteeUrl:undefined,
      DICT_TYPE,
dcy's avatar
dcy committed
279
      getDictDatas,
dcy's avatar
dcy committed
280 281
      // audit_status
      activeName:"1",
dcy's avatar
dcy committed
282 283
      // 遮罩层
      loading: true,
dcy's avatar
dcy committed
284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299
      // 导出遮罩层
      exportLoading: false,
      // 显示搜索条件
      showSearch: true,
      // 总条数
      total: 0,
      // 用户列表
      list: [],
      // 弹出层标题
      title: "",
      // 是否显示弹出层
      open: false,
      dateRangeLoginDate: [],
      dateRangeCreateTime: [],
      // 查询参数
      queryParams: {
dcy's avatar
dcy committed
300 301
        page: 1,
        rows: 10,
dcy's avatar
dcy committed
302 303 304 305
        isDeal:undefined,//	是否成交
        searchKey:undefined,//关键字
        auditStatus:undefined,//审核状态
        authType:undefined,//关键字
dcy's avatar
dcy committed
306 307 308 309
      },
      // 表单参数
      form: {},
      // 表单校验
dcy's avatar
dcy committed
310
      rulesId: {
dcy's avatar
dcy committed
311 312 313 314 315
        name: [{ required: true, message: this.$t('用户昵称不能为空'), trigger: "blur" }],
        cardType: [{ required: true, message: this.$t('证件类型不能为空'), trigger: "blur" }],
        cardNumber: [{ required: true, message: this.$t('证件号码不能为空'), trigger: "blur" }],
        img1: [{ required: true, message: this.$t('身份正面照不能为空'), trigger: ['blur','change'] }],
        img2: [{ required: true, message: this.$t('身份正面照不能为空'), trigger: ['blur','change'] }],
dcy's avatar
dcy committed
316 317
      },
      rulesEnterprise: {
dcy's avatar
dcy committed
318 319 320 321
        name: [{required: true, message: this.$t('企业名称不能为空'), trigger: "blur"}],
        legalName: [{required: true, message: this.$t('企业法人不能为空'), trigger: "blur"}],
        cardNumber: [{required: true, message: this.$t('证件号码不能为空'), trigger: "blur"}],
        img1: [{required: true, message: this.$t('证件照不能为空'), trigger: ['blur','change']}],
dcy's avatar
dcy committed
322 323
      },
      publicObj:undefined,
dcy's avatar
dcy committed
324 325 326 327 328 329 330 331
      operationLogShow:false,
      guaranteeShow:false,
      operationLogFrom:{
        page:1,
        row:10,
        userId:undefined
      },
      operationLogList:[],
dcy's avatar
dcy committed
332 333 334
      attestationShow:false,
      modifyIdCard:true,//修改身份证
      modifyLicense:true,//修改营业执照
dcy's avatar
dcy committed
335 336 337
    };
  },
  created() {
dcy's avatar
dcy committed
338 339
    this.resetId();
    this.resetEnterprise()
dcy's avatar
dcy committed
340 341 342
    this.getList();
  },
  methods: {
dcy's avatar
dcy committed
343 344
    deleteFn(row){
      console.log(row)
dcy's avatar
dcy committed
345
      this.$modal.confirm(`${this.$t('是否要删除昵称为')}${row.nickname}的会员`).then(function (){
dcy's avatar
dcy committed
346 347
            return deleteUser(row.id)
      }).then( res => {
dcy's avatar
dcy committed
348
        if(res.code === 0) this.getList(); this.$message.success(this.$t('删除成功'))
dcy's avatar
dcy committed
349
      }).catch(() =>{
dcy's avatar
dcy committed
350
        this.$message.success(this.$t('删除失败'))
dcy's avatar
dcy committed
351 352 353 354
        }

      )
    },
dcy's avatar
dcy committed
355 356
    //导出
    exportFn(){
dcy's avatar
dcy committed
357
      this.$modal.confirm(this.$t('是否确认导出所有用户数据项?')).then(() => {
dcy's avatar
dcy committed
358 359 360
        this.exportLoading = true;
        return exportUserExcel(this.queryParams);
      }).then(response => {
dcy's avatar
dcy committed
361
        this.$download.excel(response, `${this.$t('注册会员')}.xls`);
dcy's avatar
dcy committed
362 363 364 365 366
        this.exportLoading = false;
      }).catch(() => {});
    },
    // 用户状态修改
    handleStatusChange(row) {
dcy's avatar
dcy committed
367 368
      let text = row.status === CommonStatusEnum.ENABLE ? this.$t('启用') : this.$t('停用');
      this.$modal.confirm(this.$t('确认要"') + text + '""' + row.nickname + this.$t('"用户吗?')).then(function() {
dcy's avatar
dcy committed
369
        return setUserUpdateStatus({id:row.id,status:row.status})
dcy's avatar
dcy committed
370
      }).then(() => {
dcy's avatar
dcy committed
371
        this.$modal.msgSuccess(text + this.$t('成功'));
dcy's avatar
dcy committed
372 373 374 375 376
      }).catch(function() {
        row.status = row.status === CommonStatusEnum.ENABLE ? CommonStatusEnum.DISABLE
          : CommonStatusEnum.ENABLE;
      });
    },
dcy's avatar
dcy committed
377 378
    /** 查询列表 */
    getList() {
dcy's avatar
dcy committed
379
      this.loading = true;
dcy's avatar
dcy committed
380 381 382 383 384 385 386 387
      // 处理查询参数
      let params = {...this.queryParams};
      this.addBeginAndEndTime(params, this.dateRangeLoginDate, 'loginDate');
      this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
      // 执行查询
      getUserPage(params).then(response => {
        this.list = response.data.list;
        this.total = response.data.total;
dcy's avatar
dcy committed
388
        this.loading = false;
dcy's avatar
dcy committed
389 390 391
      });
    },
    /** 表单重置 */
dcy's avatar
dcy committed
392 393 394 395 396
    resetId(){
       this.IdDetails = {
         auditRemark: undefined,
         auditTime: undefined,
         cardNumber: undefined,
dcy's avatar
dcy committed
397
         cardType: undefined,
dcy's avatar
dcy committed
398 399 400 401 402 403 404 405 406 407 408 409 410 411 412
         createTime: undefined,
         id: 0,
         img1: undefined,
         img2: undefined,
         name: '',
         status: 0,
         userId: 0
       }
    },//清空身份证
    resetEnterprise(){
      this.enterpriseFrom = {
        auditRemark: undefined,
        auditTime: undefined,
        cardNumber: undefined,
        createTime: undefined,
413
        id: undefined,
dcy's avatar
dcy committed
414 415 416 417 418 419 420 421
        img1: undefined,
        img2: undefined,
        legalName: undefined,
        name: undefined,
        status: 0,
        userId: undefined
      }
    },//清空企业
dcy's avatar
dcy committed
422 423
    /** 搜索按钮操作 */
    handleQuery() {
dcy's avatar
dcy committed
424
      this.queryParams.page = 1;
dcy's avatar
dcy committed
425 426 427 428 429 430 431 432 433
      this.getList();
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.dateRangeLoginDate = [];
      this.dateRangeCreateTime = [];
      this.resetForm("queryForm");
      this.handleQuery();
    },
dcy's avatar
dcy committed
434 435 436
    // 保函证书
    guarantee(row) {
         this.publicObj = row;
dcy's avatar
dcy committed
437
         this.guaranteeShow = true;
438
         this.guaranteeUrl = row.backLetterImg;
dcy's avatar
dcy committed
439 440 441 442 443 444 445 446 447 448 449 450 451 452 453
    },
    // 操作日志
    operationLogFn(row){
      this.publicObj = row;
      this.operationLogFrom.page = 1;
      this.operationLogFrom.userId = row.id
      this.operationLogShow = true;
      this.operationLogList = [];
      this.getOperationLogList();

    },
    getOperationLogList(){
      operationLogApi(this.operationLogFrom).then(r=>{
        if(r.code === 0){
          this.operationLogList = r.data.list
dcy's avatar
dcy committed
454
          this.totalLog = r.data.total
dcy's avatar
dcy committed
455 456 457 458 459 460
        }
      })
    },
    setGuarantee(){
      seTupdateBackletter({userId:this.publicObj.id,backLetter:this.guaranteeUrl}).then(r=>{
        if(r.code === 0){
dcy's avatar
dcy committed
461
          this.publicObj.backLetterImg = this.guaranteeUrl;
dcy's avatar
dcy committed
462
          this.guaranteeShow = false;
dcy's avatar
dcy committed
463
          this.$message.success(this.$t('保存成功'));
dcy's avatar
dcy committed
464 465
        }
      })
dcy's avatar
dcy committed
466
    },
dcy's avatar
dcy committed
467 468 469 470 471 472
    identityFn(row,val){
      this.attestationShow = true;
      this.activeName = val;
      this.publicObj = row;
      if(val == 1){
        this.getIdentityDetails();
dcy's avatar
dcy committed
473 474 475 476 477 478 479 480 481
      }else {
        this.getEnterpriseFn();
      }
    },
    handleClick(val){
      if(val.name == 1){
        this.getIdentityDetails();
      }else {
        this.getEnterpriseFn();
dcy's avatar
dcy committed
482 483 484
      }
    },
    getIdentityDetails(){
dcy's avatar
dcy committed
485
      this.resetId();
dcy's avatar
dcy committed
486
      memberGetAuthIdcardInfo({userId:this.publicObj.id}).then(r=>{
dcy's avatar
dcy committed
487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508
        if(r.code === 0 && !!r.data){
            this.IdDetails  = r.data
        }
      })
    },
    getEnterpriseFn(){
      this.resetEnterprise();
      memberGetAuthEnterpriseInfo({userId:this.publicObj.id}).then(r => {
         if(r.code === 0 && !!r.data){
           this.enterpriseFrom = r.data
         }
      })
    },
    //身份证审核
    idCardAuditFn(val){
      let p = {
        auditStatus:val,
        userCardAuthId:this.IdDetails.id,
        auditRemark:this.IdDetails.auditRemark
      }
      memberUserAuditIdCard(p).then(r => {
        if(r.code === 0){
dcy's avatar
dcy committed
509
          this.$message.success(this.$t('修改成功'));
510
          this.getList()
dcy's avatar
dcy committed
511 512 513 514 515 516 517 518
          this.getIdentityDetails()
        }
      })
    },
  //  企业证书审核
    certificateVerificationFn(val){
      let p = {
        auditStatus:val,
dcy's avatar
dcy committed
519
        userEnterpriseAuthId:this.enterpriseFrom.id,
dcy's avatar
dcy committed
520 521 522 523
        auditRemark:this.enterpriseFrom.auditRemark
      }
      memberUserAuditEnterprise(p).then(r => {
        if(r.code === 0){
524
          this.getList()
dcy's avatar
dcy committed
525 526 527 528 529
          this.getEnterpriseFn();
        }
      })
    },
    setMemberUserUpdateIdCard(){
dcy's avatar
dcy committed
530
      this.$refs.formId.validate(async valid =>{
dcy's avatar
dcy committed
531 532 533 534 535 536 537 538 539 540 541 542
       if(valid){
         let p ={
           cardNumber:this.IdDetails.cardNumber,
           cardType:this.IdDetails.cardType,
           img1:this.IdDetails.img1,
           img2:this.IdDetails.img2,
           name:this.IdDetails.name,
           userCardAuthId:this.IdDetails.id,
           auditPass:true,
         };
         memberUserUpdateIdCard(p).then(r => {
           if(r.code === 0){
dcy's avatar
dcy committed
543
             this.$message.success(this.$t('修改成功'))
dcy's avatar
dcy committed
544 545 546 547 548 549
             if(p.auditPass === true ){
               this.getIdentityDetails()
             }
             this.getList()
             this.modifyIdCard = true;
           }
dcy's avatar
dcy committed
550
         })
dcy's avatar
dcy committed
551
       }
dcy's avatar
dcy committed
552 553 554
      })
    },
    setMemberUserUpdateEnterprise(){
dcy's avatar
dcy committed
555
      this.$refs.formEnter.validate(async valid =>{
dcy's avatar
dcy committed
556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572
        if(valid){
          let p = {
            cardNumber:this.enterpriseFrom.cardNumber,
            img1:this.enterpriseFrom.img1,
            img2:this.enterpriseFrom.img2,
            legalName:this.enterpriseFrom.legalName,
            name:this.enterpriseFrom.name,
            userEnterpriseAuthId:this.enterpriseFrom.id,
            auditPass:true,
          }
          memberUserUpdateEnterprise(p).then(r =>{
            if(r.code === 0){
              if(p.auditPass === true){
                this.getEnterpriseFn();
              }
              this.getList()
              this.modifyLicense = true;
dcy's avatar
dcy committed
573
              this.$message.success(this.$t('修改成功'));
dcy's avatar
dcy committed
574
            }
dcy's avatar
dcy committed
575
          })
dcy's avatar
dcy committed
576
        }
dcy's avatar
dcy committed
577
      })
dcy's avatar
dcy committed
578 579 580
    },
    authentication(row){
     if(!row.identityAuditStatus && !row.enterpriseAuditRemark){
dcy's avatar
dcy committed
581
       return this.$t('')
dcy's avatar
dcy committed
582
      }else if(row.identityAuditStatus >= 0 && row.enterpriseAuditRemark >= 0){
dcy's avatar
dcy committed
583
       return this.$t('双认证')
dcy's avatar
dcy committed
584
     } else if(row.identityAuditStatus >= 0){
dcy's avatar
dcy committed
585
       return this.$t('身份')
dcy's avatar
dcy committed
586
     }else if(row.enterpriseAuditRemark >= 0){
dcy's avatar
dcy committed
587
       return this.$t('营业')
dcy's avatar
dcy committed
588
     }
589 590 591 592 593 594 595 596 597 598 599 600 601
    },
    submit(){
      let p = {
        cardNumber:this.enterpriseFrom.cardNumber,
        img1:this.enterpriseFrom.img1,
        img2:this.enterpriseFrom.img2,
        legalName:this.enterpriseFrom.legalName,
        name:this.enterpriseFrom.name,
        userEnterpriseAuthId:this.enterpriseFrom.id,
        userId:this.publicObj.id
      }
      userCreateAuditEnterprise(p).then(r => {
        if(r.code === 0){
dcy's avatar
dcy committed
602
          this.$message.success(this.$t('添加成功!'));
dcy's avatar
dcy committed
603
          this.enterpriseFrom.status = 2
604
          this.enterpriseFrom.auditTime = new Date().getTime()
dcy's avatar
dcy committed
605 606
          this.getEnterpriseFn();
          this.getList()
607 608
        }
      })
dcy's avatar
dcy committed
609 610 611 612 613 614 615 616 617 618 619 620 621 622 623
    },
    submitId(){
      this.$refs.formId.validate(async valid =>{
        if(valid){
          let p ={
            cardNumber:this.IdDetails.cardNumber,
            cardType:this.IdDetails.cardType,
            img1:this.IdDetails.img1,
            img2:this.IdDetails.img2,
            name:this.IdDetails.name,
            status:2,
            userId:this.publicObj.id
          };
          createAuditIdCard(p).then(r => {
            if(r.code === 0){
dcy's avatar
dcy committed
624
              this.$message.success(this.$t('添加成功!'));
dcy's avatar
dcy committed
625 626 627 628 629 630 631 632
              this.IdDetails.status = 2
              this.IdDetails.auditTime = new Date().getTime()
              this.getIdentityDetails();
              this.getList()
            }
          })
        }
      })
dcy's avatar
dcy committed
633
    }
dcy's avatar
dcy committed
634 635 636 637 638 639 640
  },
  watch:{
    attestationShow(newVal){
       if(!newVal){
         this.resetId();
         this.resetEnterprise()
         this.publicObj = undefined;
dcy's avatar
dcy committed
641 642 643
       }else {
         this.modifyIdCard = true;
         this.modifyLicense = true;
dcy's avatar
dcy committed
644 645
       }
    }
dcy's avatar
dcy committed
646 647 648
  }
};
</script>
dcy's avatar
dcy committed
649 650 651 652 653 654 655 656 657 658
<style lang="scss" scoped>
.details{
  .el-input {
    width: 300px;
  }
  .el-textarea{
    width: 300px;
  }
}
</style>