| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416 |
- <?php
- use common\helpers\ComponentHelper;
- ComponentHelper::loadComponentView('com-user-info');
- ?>
- <div id="app" v-cloak>
- <el-card shadow="never" style="border:0;" body-style="background-color: #f3f3f3;padding: 10px 0 0;">
- <div slot="header">
- <el-breadcrumb separator="/">
- <el-breadcrumb-item>
- 审核列表
- </el-breadcrumb-item>
- </el-breadcrumb>
- </div>
- <div class="table-body">
- <el-form
- :inline="true"
- :model="searchData"
- size="mini"
- >
- <el-row>
- <el-form-item label="会员ID">
- <el-input v-model="searchData.user_id" placeholder="会员ID"></el-input>
- </el-form-item>
- <el-form-item label="会员昵称/手机号">
- <el-input v-model="searchData.user_keyword" placeholder="会员昵称/手机号"></el-input>
- </el-form-item>
- <el-form-item label="真实姓名">
- <el-input v-model="searchData.name" placeholder="真实姓名"></el-input>
- </el-form-item>
- <el-form-item label="联系电话">
- <el-input v-model="searchData.mobile" placeholder="联系电话"></el-input>
- </el-form-item>
- <el-form-item label="状态">
- <el-select v-model="searchData.status" placeholder="请选择">
- <el-option
- v-for="item in statusOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="onSubmit">查询</el-button>
- <el-button @click="resetForm">重置</el-button>
- </el-form-item>
- </el-row>
- </el-form>
- <!-- 审核列表 -->
- <template>
- <el-table ref="multipleTable" :data="list" @selection-change="handleSelectionChange" :loading="listLoading">
- <!-- 空数据 -->
- <template slot="empty">
- <el-empty description="暂无审核"></el-empty>
- </template>
- <!-- 数据 -->
- <el-table-column type="selection"></el-table-column>
- <el-table-column prop="user_id" align="center" label="会员名称">
- <template slot-scope="scope">
- <com-user-info :user="scope.row.user"></com-user-info>
- </template>
- </el-table-column>
- <el-table-column prop="name" align="center" label="真实姓名"></el-table-column>
- <el-table-column prop="mobile" align="center" label="联系电话"></el-table-column>
- <el-table-column prop="apply.center_name" align="center" label="LOGO">
- <template slot-scope="scope">
- <el-image
- style="width: 50px; height: 50px"
- :src="scope.row.logo"
- :preview-src-list="[scope.row.logo]"
- >
- </el-image>
- </template>
- </el-table-column>
- <el-table-column prop="center_name" align="center" label="微店名称"></el-table-column>
- <el-table-column width="180px" prop="operation_address" align="center" label="运营地址">
- <template slot-scope="scope">
- <div>{{ scope.row.province }} - {{ scope.row.city }} - {{ scope.row.district }}</div>
- <div>{{ scope.row.town }} - {{ scope.row.operation_address }}</div>
- </template>
- </el-table-column>
- <el-table-column prop="idcard_front" align="center" label="身份证正反面">
- <template slot-scope="scope">
- <el-image
- v-if="scope.row.idcard_front"
- style="width: 50px; height: 50px"
- :src="scope.row.idcard_front"
- :preview-src-list="[scope.row.idcard_front]"
- >
- </el-image>
- <el-image
- v-if="scope.row.idcard_reverse"
- style="width: 50px; height: 50px"
- :src="scope.row.idcard_reverse"
- :preview-src-list="[scope.row.idcard_reverse]"
- >
- </el-image>
- </template>
- </el-table-column>
- <el-table-column prop="operation_license" align="center" label="运营执照">
- <template slot-scope="scope">
- <el-image
- v-if="scope.row.operation_license"
- style="width: 50px; height: 50px"
- :src="scope.row.operation_license"
- :preview-src-list="[scope.row.operation_license]"
- >
- </el-image>
- </template>
- </el-table-column>
- <el-table-column prop="statsu" align="center" label="状态">
- <template slot-scope="scope">
- <el-tag v-if="scope.row.status == 1" size="mini">申请中</el-tag>
- <el-tag v-if="scope.row.status == 2" size="mini" type="success">已通过</el-tag>
- <!-- 驳回 -->
- <el-tooltip class="item" effect="dark" :content="scope.row.reject_content" placement="top">
- <el-tag v-if="scope.row.status == 3" size="mini" type="warning">已驳回</el-tag>
- </el-tooltip>
- </template>
- </el-table-column>
- <el-table-column prop="created_at" label="创建时间" align="center">
- <template slot-scope="scope">
- {{ scope.row.created_at|dateTimeFormat('Y-m-d H:i:s') }}
- </template>
- </el-table-column>
- <el-table-column prop="right_btn" label="操作" align="center">
- <template slot-scope="scope">
- <template v-if="scope.row.status == 1">
- <el-button type="text" :loading="btnLoading" @click.stop="showPass(scope.row.id)">通过</el-button>
- <el-button type="text" :loading="btnLoading" @click.stop="showReject(scope.row.id)">驳回</el-button>
- </template>
- <template v-else>
- <el-button type="text" disabled>已处理</el-button>
- </template>
- </template>
- </el-table-column>
- </el-table>
- </template>
- <!-- 分页 -->
- <el-row type="flex" class="page" justify="end" style="margin-top: 15px">
- <el-pagination
- @current-change="pagination"
- background
- layout="prev, pager, next"
- :page-count="pageCount"
- v-if="list"
- ></el-pagination>
- </el-row>
- </div>
- </el-card>
- <!-- 通过 -->
- <el-dialog title="等级选择" :visible.sync="passDialogVisible" width="30%">
- <el-form
- :inline="true"
- :model="passData"
- :rules="passRules"
- ref="passForm"
- >
- <el-row>
- <el-form-item label="选择等级" prop="level">
- <el-select v-model="passData.level" placeholder="请选择">
- <el-option
- v-for="item in level"
- :key="item.id"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
- </el-form-item>
- </el-row>
- </el-form>
- <span slot="footer" class="dialog-footer">
- <el-button @click.stop="passDialogVisible = false">取 消</el-button>
- <el-button @click.stop="submitPass" :loading="btnLoading" type="success">确 定</el-button>
- </span>
- </el-dialog>
- <!-- 驳回 -->
- <el-dialog title="驳回理由" :visible.sync="rejectDialogVisible" width="30%">
- <el-form
- :inline="true"
- :model="rejectData"
- :rules="rejectRules"
- ref="rejectForm"
- >
- <el-row>
- <el-form-item label="驳回理由" prop="content">
- <el-input type="textarea" v-model="rejectData.content" placeholder="请输入驳回理由"></el-input>
- </el-form-item>
- </el-row>
- </el-form>
- <span slot="footer" class="dialog-footer">
- <el-button @click.stop="rejectDialogVisible = false">取 消</el-button>
- <el-button @click.stop="submitReject" :loading="btnLoading" type="success">确 定</el-button>
- </span>
- </el-dialog>
- </div>
- <script>
- const app = new Vue({
- el: '#app',
- data() {
- return {
- statusOptions: [
- {
- label: '全部',
- value: 0,
- },
- {
- label: '待审核',
- value: 1,
- },
- {
- label: '已审核',
- value: 2,
- },
- {
- label: '已驳回',
- value: 3,
- },
- ],
- limit: 20,
- searchData: {
- user_id: '',
- name: '',
- mobile: '',
- user_keyword: '',
- status: '',
- },
- passId: 0,
- rejectId: 0,
- passData: {
- level: '',
- },
- rejectData: {
- content: '',
- },
- rejectRules: {
- content: [
- {
- required: true, message: '请输入驳回内容'
- }
- ]
- },
- passRules: {
- level: [
- {
- required: true, message: '请选择等级'
- }
- ],
- },
- list: [],
- level: [],
- pageCount: 0,
- page: 1,
- currentPage: null,
- listLoading: false,
- btnLoading: false,
- passDialogVisible: false,
- rejectDialogVisible: false,
- };
- },
- methods: {
- handleSelectionChange(val) {
- this.select_order = val
- },
- // 全选
- allSelect() {
- if (this.checked) {
- this.goods_list.forEach(function(item, index) {
- if (!item.storage) {
- item.is_select = true
- }
- })
- } else {
- this.goods_list.forEach(function(item, index) {
- item.is_select = false
- })
- }
- },
- //搜索
- onSubmit() {
- this.page = 1
- this.getPageList()
- },
- pagination(currentPage) {
- this.page = currentPage
- this.getPageList()
- },
- getPageList() {
- this.listLoading = true;
- let params = {
- r: 'operation-center/review/index',
- page: this.page,
- limit: this.limit
- }
- params = Object.assign(params, this.searchData)
- request({
- params: params,
- method: 'get',
- }).then(e => {
- if (e.data.code === 0) {
- this.list = e.data.data.list
- this.pageCount = e.data.data.page_count
- this.currentPage = e.data.data.current_page
- } else {
- this.$message.error(e.data.msg)
- }
- this.listLoading = false
- }).catch(e => {
- this.listLoading = false
- })
- },
- getLevelList() {
- request({
- params: {
- r: 'operation-center/level/list'
- },
- method: 'get',
- }).then(e => {
- if (e.data.code === 0) {
- this.level = e.data.data
- } else {
- this.$message.error(e.data.msg)
- }
- this.listLoading = false
- })
- },
- //重置
- resetForm() {
- this.searchData = {
- user_id: '',
- name: '',
- mobile: '',
- user_keyword: '',
- status: '',
- }
- },
- showPass(id) {
- this.passId = id
- this.passDialogVisible = true
- },
- showReject(id) {
- this.rejectId = id
- this.rejectDialogVisible = true
- },
- submitReject() {
- this.$refs['rejectForm'].validate((valid) => {
- if (valid) {
- this.btnLoading = true
- request({
- params: {
- r: 'operation-center/review/reject',
- id: this.rejectId,
- },
- method: 'post',
- data: this.rejectData
- }).then(e => {
- if (e.data.code == 0) {
- this.$message.success(e.data.msg)
- setTimeout(() => {
- this.getPageList()
- }, 1500)
- } else {
- this.$message.error(e.data.msg)
- }
- this.rejectDialogVisible = false
- this.btnLoading = false
- })
- } else {
- console.log('error submit!!');
- return false;
- }
- })
- },
- submitPass() {
- this.$refs['passForm'].validate((valid) => {
- if (valid) {
- this.btnLoading = true
- request({
- params: {
- r: 'operation-center/review/pass',
- id: this.passId,
- },
- method: 'post',
- data: this.passData
- }).then(e => {
- if (e.data.code == 0) {
- this.$message.success(e.data.msg)
- setTimeout(() => {
- this.getPageList()
- }, 1500)
- } else {
- this.$message.error(e.data.msg)
- }
- this.passDialogVisible = false
- this.btnLoading = false
- })
- } else {
- console.log('error submit!!');
- return false;
- }
- })
- },
- },
- mounted: function() {
- this.page = getQuery('page') ? getQuery('page') : 1
- this.limit = getQuery('limit') ? getQuery('limit') : 20
- this.getPageList()
- this.getLevelList()
- }
- });
- </script>
- <style>
- </style>
|