|
|
@@ -13,7 +13,7 @@
|
|
|
:loading="downloading" class="filter-item">导出EXCEL
|
|
|
</el-button>
|
|
|
</div>
|
|
|
- <el-table :data="tableData" row-key="id" ref="table"
|
|
|
+ <el-table :data="tableData" row-key="mid" ref="table"
|
|
|
header-row-class-name="table-header-row"
|
|
|
header-cell-class-name="table-header-cell"
|
|
|
row-class-name="table-row" cell-class-name="table-cell"
|
|
|
@@ -21,50 +21,72 @@
|
|
|
<el-table-column v-if="multipleMode" align="center" type="selection"
|
|
|
width="50">
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="id" label="ID" width="100">
|
|
|
+ <el-table-column prop="mid" label="ID" width="100">
|
|
|
</el-table-column>
|
|
|
- <!-- <el-table-column prop="userId" label="用户ID"
|
|
|
+ <!-- <el-table-column prop="userId" label="用户ID"
|
|
|
+ >
|
|
|
+ </el-table-column>-->
|
|
|
+ <el-table-column prop="logo" label="Logo"
|
|
|
>
|
|
|
- </el-table-column>-->
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <el-image style="width: 30px; height: 30px"
|
|
|
+ :src="row.logo" fit="cover"
|
|
|
+ :preview-src-list="row.logo"></el-image>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="name" label="名称"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="introduction" label="简介"
|
|
|
+ <el-table-column prop="phone" label="电话"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="img" label="图片"
|
|
|
+ <el-table-column prop="introduction" label="简介"
|
|
|
>
|
|
|
- <template slot-scope="{row}">
|
|
|
- <el-image style="width: 30px; height: 30px"
|
|
|
- :src="row.img[0]" fit="cover"
|
|
|
- :preview-src-list="row.img"></el-image>
|
|
|
- </template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="address" label="地址"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="firstOrder" label="首单优惠"
|
|
|
+ <!--<el-table-column prop="firstOrder" label="首单优惠"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="newUser" label="新用户优惠"
|
|
|
>
|
|
|
- </el-table-column>
|
|
|
+ </el-table-column>-->
|
|
|
<el-table-column prop="category" label="类别"
|
|
|
>
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <span v-for="item in row.category">{{ item.name }}</span>
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="tag" label="标签"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="status" label="状态"
|
|
|
+ <!-- <el-table-column prop="tag" label="标签"
|
|
|
+ >
|
|
|
+ </el-table-column>-->
|
|
|
+ <el-table-column prop="status" label="状态" :formatter="statusFormatter"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
-
|
|
|
- <el-table-column prop="blacklist" label="黑名单"
|
|
|
+ <!-- <el-table-column prop="startTime" label="营业时间"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="endTime" label="结束时间"
|
|
|
+ >
|
|
|
+ </el-table-column>-->
|
|
|
+ <!-- <el-table-column prop="qualification" label="营业资质"
|
|
|
+ >
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <el-image style="width: 30px; height: 30px"
|
|
|
+ :src="row.qual" fit="cover"
|
|
|
+ :preview-src-list="[row.qualifications]"></el-image>
|
|
|
+ </template>
|
|
|
+ </el-table-column>-->
|
|
|
+ <el-table-column prop="businessNature" label="营业性质"
|
|
|
>
|
|
|
- <template slot-scope="{row}">
|
|
|
- <el-tag :type="row.blacklist?'':'info'">{{row.blacklist}}</el-tag>
|
|
|
- </template>
|
|
|
</el-table-column>
|
|
|
+ <!-- <el-table-column prop="blacklist" label="黑名单"
|
|
|
+ >
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <el-tag :type="row.blacklist?'':'info'">{{row.blacklist}}</el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>-->
|
|
|
<!--<el-table-column
|
|
|
label="操作"
|
|
|
align="center"
|
|
|
@@ -75,8 +97,9 @@
|
|
|
<el-button @click="deleteRow(row)" type="danger" size="mini" plain>删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>-->
|
|
|
- <el-table-column label="操作" align="center" fixed="right" min-width="150">
|
|
|
+ <el-table-column label="操作" align="center" fixed="right" min-width="250">
|
|
|
<template slot-scope="{ row }">
|
|
|
+ <el-button @click="showDrawer(row)" type="primary" size="mini" plain>详情</el-button>
|
|
|
<el-button
|
|
|
v-if="row.status === 'PENDING'"
|
|
|
:loading="row.loading"
|
|
|
@@ -116,6 +139,55 @@
|
|
|
</el-pagination>
|
|
|
</div>
|
|
|
|
|
|
+ <el-drawer
|
|
|
+ size="45%"
|
|
|
+ :show-close="false"
|
|
|
+ :visible.sync="drawer"
|
|
|
+ :with-header="false">
|
|
|
+ <div class="info-content">
|
|
|
+ <div class="info-item">
|
|
|
+ Logo:
|
|
|
+ <el-image style="width: 30px; height: 30px"
|
|
|
+ :src="formData.logo" fit="cover"
|
|
|
+ :preview-src-list="[formData.logo]"/>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">名称:{{formData.name}}</div>
|
|
|
+ <div class="info-item">显示名称:{{formData.showName}}</div>
|
|
|
+ <div class="info-item">横幅:
|
|
|
+ <el-image style="width: 60px; height: 30px"
|
|
|
+ :src="formData.banner" fit="cover"
|
|
|
+ :preview-src-list="[formData.banner]"/>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">电话:{{formData.phone}}</div>
|
|
|
+ <div class="info-item">简介:{{formData.introduction}}</div>
|
|
|
+ <div class="info-item">图片:
|
|
|
+ <el-image style="width: 60px; height: 30px"
|
|
|
+ :src="formData.img[0]" fit="cover"
|
|
|
+ :preview-src-list="[formData.img]"/>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">地址:{{formData.address}}</div>
|
|
|
+ <div class="info-item">成立时间:{{formData.establishTime}}</div>
|
|
|
+ <div class="info-item">营业资质:{{formData.qualification}}</div>
|
|
|
+ <div class="info-item">营业性质:{{formData.businessNature}}</div>
|
|
|
+ <div class="info-item">经营品类:{{formData.category}}</div>
|
|
|
+ <div class="info-item">营业:{{formData.week}}</div>
|
|
|
+ <div class="info-item">营业时间:{{formData.startTime}} - {{formData.endTime}}</div>
|
|
|
+ <!-- <div class="info-item">申请状态:{{formData.status}}</div>-->
|
|
|
+ <el-button
|
|
|
+ v-if="formData.blacklist === false"
|
|
|
+ :loading="formData.loading"
|
|
|
+ @click="audit(formData.mid, true)"
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ plain
|
|
|
+ >黑名单
|
|
|
+ </el-button
|
|
|
+ >
|
|
|
+ <el-button @click="editRow(formData)" type="primary" size="mini" plain>编辑</el-button>
|
|
|
+ <el-button @click="deleteRow(formData)" type="danger" size="mini" plain>删除</el-button>
|
|
|
+ </div>
|
|
|
+ </el-drawer>
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
@@ -134,14 +206,57 @@
|
|
|
search: "",
|
|
|
url: "/merchant/showAll",
|
|
|
downloading: false,
|
|
|
+ statusOptions: [{"label": "待处理", "value": "PENDING"}, {
|
|
|
+ "label": "成功", "value": "SUCCESS"
|
|
|
+ }, {"label": "失败", "value": "FAIL"}],
|
|
|
+ status: '',
|
|
|
+ drawer: false,
|
|
|
+ formData: {
|
|
|
+ img: []
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
selection() {
|
|
|
- return this.$refs.table.selection.map(i => i.id);
|
|
|
+ return this.$refs.table.selection.map(i => i.mid);
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ showDrawer(row) {
|
|
|
+ this.drawer = true;
|
|
|
+ this.$http
|
|
|
+ .get('merchant/getDTO/' + row.mid)
|
|
|
+ .then(res => {
|
|
|
+ this.formData = res;
|
|
|
+
|
|
|
+ })
|
|
|
+ .catch(e => {
|
|
|
+ console.log(e);
|
|
|
+ this.$message.error(e.error);
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ checkRes(res) {
|
|
|
+ res.forEach(item => {
|
|
|
+ this.formData.img = item.img.split(",");
|
|
|
+ console.log(this.formData.img)
|
|
|
+ if (this.formData.img.length > 0) {
|
|
|
+ this.formData.img = item.img[0];
|
|
|
+ } else {
|
|
|
+ item.img = "";
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ return res;
|
|
|
+ },
|
|
|
+ statusFormatter(row, column, cellValue, index) {
|
|
|
+ let selectedOption = this.statusOptions.find(i => i.value === cellValue);
|
|
|
+ if (selectedOption) {
|
|
|
+ return selectedOption.label;
|
|
|
+ }
|
|
|
+ return '';
|
|
|
+ },
|
|
|
beforeGetData() {
|
|
|
if (this.search) {
|
|
|
return {search: this.search};
|
|
|
@@ -165,7 +280,7 @@
|
|
|
this.$router.push({
|
|
|
path: "/merchantEdit",
|
|
|
query: {
|
|
|
- id: row.id
|
|
|
+ id: row.mid
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
@@ -207,7 +322,7 @@
|
|
|
},
|
|
|
deleteRow(row) {
|
|
|
this.$alert('删除将无法恢复,确认要删除么?', '警告', {type: 'error'}).then(() => {
|
|
|
- return this.$http.post(`/merchant/del/${row.id}`)
|
|
|
+ return this.$http.post(`/merchant/del/${row.mid}`)
|
|
|
}).then(() => {
|
|
|
this.$message.success('删除成功');
|
|
|
this.getData();
|
|
|
@@ -219,8 +334,66 @@
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ audit(row, pass) {
|
|
|
+ this.$set(row, 'loading', true);
|
|
|
+ this.$http
|
|
|
+ .get('/merchant/audit', {
|
|
|
+ id: row.mid,
|
|
|
+ pass: pass
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ this.$set(row, 'loading', false);
|
|
|
+ this.$message.success('OK');
|
|
|
+ this.getData();
|
|
|
+ })
|
|
|
+ .catch(e => {
|
|
|
+ console.log(e);
|
|
|
+ this.$set(row, 'loading', false);
|
|
|
+ this.$message.error(e.error);
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
<style lang="less" scoped>
|
|
|
+ .info-content {
|
|
|
+ padding: 0px 20px 0;
|
|
|
+ /*border-bottom: 1px solid #f2f4f5;*/
|
|
|
+ margin-bottom: 20px;
|
|
|
+
|
|
|
+ .info-item {
|
|
|
+ font-size: 14px;
|
|
|
+ color: rgba(77, 77, 77, 1);
|
|
|
+ display: flex;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ font-weight: 500;
|
|
|
+
|
|
|
+ .el-col {
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-button--text {
|
|
|
+ margin: 0 !important;
|
|
|
+ padding: 0 !important;
|
|
|
+ border: none !important;
|
|
|
+ font-size: 14px !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ label {
|
|
|
+ width: 84px;
|
|
|
+ display: inline-block;
|
|
|
+ text-align: right;
|
|
|
+ font-weight: 400;
|
|
|
+ }
|
|
|
+
|
|
|
+ .remark {
|
|
|
+ display: inline-block;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ width: calc(100% - 85px);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
</style>
|