|
|
@@ -0,0 +1,193 @@
|
|
|
+<template>
|
|
|
+ <scTable ref="table" :apiObj="list.apiObj" :params="searchKey" @selectionChange="selectionChange" row-key="id">
|
|
|
+ <el-table-column type="selection" width="50" fixed="left"></el-table-column>
|
|
|
+ <el-table-column label="订单编号" width="220" fixed="left" prop="goods_id">
|
|
|
+ <template #default="scope">
|
|
|
+ <div class="order-name">
|
|
|
+ <span>{{ scope.row.order_sn }}</span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="所属商家" prop="id" width="260">
|
|
|
+ <template #default="scope">
|
|
|
+ <div class="goods-img">
|
|
|
+ <div class="name" v-if="scope.row.poi">
|
|
|
+ <span>{{ scope.row.poi.poi_name }}</span>
|
|
|
+ <span class="dec">{{ scope.row.poi.poi_address }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-else>-</div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="核销状态" prop="enable" width="120" align="center">
|
|
|
+ <template #default="scope">
|
|
|
+ <div class="status-success" v-if="scope.row.status==0"><sc-status-indicator type="success"></sc-status-indicator> 已核销</div>
|
|
|
+ <div class="status-danger" v-if="scope.row.status==1"><sc-status-indicator type="danger"></sc-status-indicator> 已退款</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="核销时间" prop="create_at" width="180"></el-table-column>
|
|
|
+ <el-table-column label="商品名称" prop="id" width="210">
|
|
|
+ <template #default="scope">
|
|
|
+ <div class="goods-img">
|
|
|
+ <div class="name" v-if="scope.row.orders">
|
|
|
+ <span>{{ scope.row.orders.product.product_name }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-else>-</div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="商品类型" prop="id" width="140">
|
|
|
+ <template #default="scope">
|
|
|
+ <div class="goods-img">
|
|
|
+ <div class="name" v-if="scope.row.orders">
|
|
|
+ <span>{{ scope.row.orders.product.types }}</span>
|
|
|
+ </div>
|
|
|
+ <div v-else>-</div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="订单实收(元)" prop="id" width="140">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ scope.row.money?$TOOL.money(scope.row.money):'-' }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="券码" prop="id" width="260">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ scope.row.verify_id }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ </scTable>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ data(){
|
|
|
+ return {
|
|
|
+ list: {
|
|
|
+ apiObj: this.$API.verify.list
|
|
|
+ },
|
|
|
+ dataSelect:[],
|
|
|
+ dataSelectFull:[],
|
|
|
+ searchKey:{}
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ methods: {
|
|
|
+ table_rate(data){
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.editForm.open("goods").setData(data)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ table_star(data){
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.editForm.open("star").setData(data)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ table_auth(data){
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.comboMain.open("edit").setData(data)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ table_update(data){
|
|
|
+ this.$confirm(`更新后可能数据没有变化,确定更新该达人的基础数据吗?`, '提示', {
|
|
|
+ type: 'warning'
|
|
|
+ }).then(async ()=>{
|
|
|
+ var resp = await this.$API.merStar.update.post({"id":data.id});
|
|
|
+ if (resp.code == 0) {
|
|
|
+ return this.$message.error(resp.msg);
|
|
|
+ }
|
|
|
+ this.$message.success(resp.msg);
|
|
|
+ this.$refs.table.refresh()
|
|
|
+ }).catch(()=>{})
|
|
|
+ },
|
|
|
+ table_del(data){
|
|
|
+ this.$confirm(`删除后,所有该计划对应的数据将一并被删除`, '提示', {
|
|
|
+ type: 'warning'
|
|
|
+ }).then(async ()=>{
|
|
|
+ var loading = this.$loading()
|
|
|
+ var resp = await this.$API.merPlan.merPlan.post({"id":data.id});
|
|
|
+ loading.close();
|
|
|
+ if (resp.code == 0) {
|
|
|
+ return this.$message.error(resp.msg);
|
|
|
+ }
|
|
|
+ this.$message.success(resp.msg);
|
|
|
+ this.$refs.table.refresh()
|
|
|
+ }).catch(()=>{})
|
|
|
+ },
|
|
|
+ table_close(data){
|
|
|
+ this.$confirm(`关闭该定向计划后,达人无法勾选对应商品进行直播`, '提示', {
|
|
|
+ type: 'warning'
|
|
|
+ }).then(async ()=>{
|
|
|
+ var loading = this.$loading()
|
|
|
+ var resp = await this.$API.merPlan.close.post({"id":data.id});
|
|
|
+ loading.close();
|
|
|
+ if (resp.code == 0) {
|
|
|
+ return this.$message.error(resp.msg);
|
|
|
+ }
|
|
|
+ this.$message.success(resp.msg);
|
|
|
+ this.$emit("success");
|
|
|
+ }).catch(()=>{})
|
|
|
+ },
|
|
|
+ refresh(){
|
|
|
+ this.$refs.table.refresh()
|
|
|
+ },
|
|
|
+ upData(data){
|
|
|
+ this.$refs.table.upData(data)
|
|
|
+ },
|
|
|
+ handleSuccess(){
|
|
|
+ this.$refs.table.refresh()
|
|
|
+ },
|
|
|
+ sortChange(event){
|
|
|
+ if (event.order) {
|
|
|
+ var data = {
|
|
|
+ "field":event.prop,
|
|
|
+ "order":event.order
|
|
|
+ }
|
|
|
+ this.$refs.table.upData(data)
|
|
|
+ } else {
|
|
|
+ this.$refs.table.reload(this.searchKey)
|
|
|
+ }
|
|
|
+ return ;
|
|
|
+ },
|
|
|
+ selectionChange(event){
|
|
|
+ this.dataSelect = [];
|
|
|
+ var arr = [];
|
|
|
+ var arrCompany = [];
|
|
|
+ event.forEach(function(val,index){
|
|
|
+ arr[index] = val.id;
|
|
|
+ arrCompany[index] = val;
|
|
|
+ });
|
|
|
+ this.dataSelectFull = arrCompany;
|
|
|
+ this.dataSelect = arr;
|
|
|
+ this.$emit("success",this.dataSelect);
|
|
|
+ this.$emit("successFull",this.dataSelectFull);
|
|
|
+ },
|
|
|
+ table_passwd(row){
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.userPasswd.open("edit").setData(row)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style>
|
|
|
+.goods-img{display: flex;gap: 5px;}
|
|
|
+.goods-img .name span{display: block;}
|
|
|
+.goods-img .name span.dec{color: #999;font-size: 12px;}
|
|
|
+.goods-price,.price{display: flex;align-items: center;gap: 5px;font-size: 14px;}
|
|
|
+.goods-price .del{text-decoration: line-through;}
|
|
|
+.goods-price span{background-color: #fff !important;
|
|
|
+ border: 1px solid #d3d9e0 !important;
|
|
|
+ border-radius: 4px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ color: #6c737a !important;
|
|
|
+ display: inline-flex;
|
|
|
+ flex: none;
|
|
|
+ font-size: 12px;
|
|
|
+ line-height: 18px !important;
|
|
|
+ padding: 1px 6px !important;text-decoration: none;}
|
|
|
+.flex{display: flex;align-items: center;gap: 5px;}
|
|
|
+</style>
|