界面优化

master
wqy 2 years ago
parent e32404f6c7
commit 4d2a6296ed

@ -0,0 +1,18 @@
<template>
<div class="pagination-common">
<slot></slot>
</div>
</template>
<script>
export default {
name: 'InBody',
mounted() {
const node = this.$mount().$el
document.body.appendChild(node)
},
destroyed() {
const node = this.$mount().$el
node.remove()
}
}
</script>

@ -45,6 +45,7 @@ import DictRadio from '@/components/DictRadio'
import DictSelect from '@/components/DictSelect'
import InBody from '@/components/InBody/InBody.vue'
// 全局方法挂载
Vue.prototype.getDicts = getDicts
Vue.prototype.getConfigKey = getConfigKey
@ -72,6 +73,7 @@ Vue.component('OssImageUpload', OssImageUpload)
Vue.component('ImagePreview', ImagePreview)
Vue.component('DictRadio',DictRadio)
Vue.component('DictSelect',DictSelect)
Vue.component('InBody', InBody)
Vue.use(directive)
Vue.use(plugins)

@ -27,7 +27,18 @@
html
height 100%
.pagination-common
position: fixed;
bottom: 0;
max-width 700px
z-index: 11111;
width: 60%;
right: 10px;
.pagination-container
margin 0 !important
height 45px !important
display flex
align-items center
body
font-size 12px
font-family "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "", Arial, sans-serif

@ -36,37 +36,37 @@
</el-col>
</el-row>
<el-table v-loading="loading" :data="CouponActivityList">
<el-table-column label="活动名称" align="center" prop="title"/>
<el-table-column label="使用范围" align="center" prop="useScope">
<el-table v-loading="loading" :data="CouponActivityList" border>
<el-table-column label="活动名称" prop="title"/>
<el-table-column label="使用范围" prop="useScope">
<template slot-scope="scope">
<dict-tag :value="scope.row.useScope" prop-name="coupon_use_scope"/>
</template>
</el-table-column>
<el-table-column label="优惠内容" align="center">
<el-table-column label="优惠内容">
<template slot-scope="scope">
<span v-if="scope.row.minAmount">{{ scope.row.minAmount }}{{ scope.row.couponAmount }}</span>
<span v-else>{{ scope.row.couponAmount }}</span>
</template>
</el-table-column>
<el-table-column label="发行总数" align="center" prop="totalCount"/>
<el-table-column label="剩余总数" align="center" prop="leftCount"/>
<el-table-column label="已使用" align="center" prop="useCount"/>
<el-table-column label="每人限领" align="center" prop="userLimit"/>
<el-table-column label="兑换类型" align="center" prop="couponType">
<el-table-column label="发行总数" prop="totalCount"/>
<el-table-column label="剩余总数" prop="leftCount"/>
<el-table-column label="已使用" prop="useCount"/>
<el-table-column label="每人限领" prop="userLimit"/>
<el-table-column label="兑换类型" prop="couponType">
<template slot-scope="scope">
<dict-tag :value="scope.row.couponType" prop-name="coupon_exchange_type"/>
</template>
</el-table-column>
<el-table-column label="要兑换的积分" align="center" prop="useIntegral"/>
<el-table-column label="活动时间" align="center" prop="beginTime" width="180">
<el-table-column label="要兑换的积分" prop="useIntegral"/>
<el-table-column label="活动时间" prop="beginTime" width="180">
<template slot-scope="scope">
<p>{{ scope.row.beginTime }}</p>
<p> ~ </p>
<p>{{ scope.row.endTime }}</p>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
@ -93,14 +93,14 @@
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
<!-- 添加或修改优惠券活动表对话框 -->
<el-dialog :title="title" :visible.sync="open" width="50%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="108px">
@ -162,7 +162,7 @@
</el-form-item>
<el-form-item label="商品列表" prop="productIds" v-if="[2,3].includes(form.useScope)">
<el-button @click="chooseSku" size="small">选择商品</el-button>
<el-table :data="productList" class="mt10" max-height="300px">
<el-table :data="productList" class="mt10" max-height="300px" border>
<el-table-column label="菜品信息">
<template v-slot="{row}">
<div class="flex-center">
@ -171,7 +171,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<el-table-column label="操作">
<template v-slot="{row}">
<span class="red ml5 pointer" @click="delProduct(row)"></span>
</template>
@ -191,11 +191,11 @@
<script>
import {
listCouponActivity,
delCouponActivity,
addCouponActivity,
updateCouponActivity,
exportCouponActivity
delCouponActivity,
exportCouponActivity,
listCouponActivity,
updateCouponActivity
} from "@/api/act/couponActivity";
import ProductSelect from "@/views/pms/product/productSelect.vue";
import receiveList from "@/views/act/couponActivity/receiveList.vue";

@ -6,9 +6,9 @@
:radioData="dict.type.activity_coupon_status" :showAll="'all'"/>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="tableList">
<el-table-column label="券ID" align="center" prop="id" />
<el-table-column label="用户信息 " align="center">
<el-table v-loading="loading" :data="tableList" border>
<el-table-column label="券ID" prop="id" />
<el-table-column label="用户信息 " >
<template slot-scope="scope">
<div class="flex-center">
<el-avatar :src="scope.row.avatar"></el-avatar>
@ -19,21 +19,21 @@
</div>
</template>
</el-table-column>
<el-table-column label="领取时间" align="center" prop="createTime" width="180" />
<el-table-column label="使用状态" align="center">
<el-table-column label="领取时间" prop="createTime" width="180" />
<el-table-column label="使用状态" >
<template slot-scope="scope">
<dict-tag :value="scope.row.useStatus" prop-name="activity_coupon_status"/>
</template>
</el-table-column>
<el-table-column label="有效期" align="center" width="180" >
<el-table-column label="有效期" width="180" >
<template slot-scope="scope">
<p>{{ scope.row.beginTime}}</p>
<p> ~ </p>
<p>{{ scope.row.endTime}}</p>
</template>
</el-table-column>
<el-table-column label="订单号" align="center" prop="orderId" />
<el-table-column label="使用时间" align="center" prop="useTime" width="180" />
<el-table-column label="订单号" prop="orderId" />
<el-table-column label="使用时间" prop="useTime" width="180" />
</el-table>
<pagination

@ -145,35 +145,35 @@
</el-col>
</el-row>
<el-table v-loading="loading" :data="MemberCouponList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="活动id" align="center" prop="couponActivityId" />
<el-table-column label="用户id" align="center" prop="memberId" />
<el-table-column label="活动名称" align="center" prop="title" />
<el-table-column label="使用范围 1全场通用 2指定商品可用 3指定商品不可用" align="center" prop="useScope" />
<el-table-column label="商品id集合逗号分隔" align="center" prop="productIds" />
<el-table-column label="优惠券金额" align="center" prop="couponAmount" />
<el-table-column label="最低消费金额" align="center" prop="minAmount" />
<el-table-column label="要兑换的积分" align="center" prop="useIntegral" />
<el-table-column label="1免费兑换 2积分兑换" align="center" prop="couponType" />
<el-table-column label="券开始时间" align="center" prop="beginTime" width="180" >
<el-table v-loading="loading" :data="MemberCouponList" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="活动id" prop="couponActivityId"/>
<el-table-column label="用户id" prop="memberId"/>
<el-table-column label="活动名称" prop="title"/>
<el-table-column label="使用范围 1全场通用 2指定商品可用 3指定商品不可用" prop="useScope"/>
<el-table-column label="商品id集合逗号分隔" prop="productIds"/>
<el-table-column label="优惠券金额" prop="couponAmount"/>
<el-table-column label="最低消费金额" prop="minAmount"/>
<el-table-column label="要兑换的积分" prop="useIntegral"/>
<el-table-column label="1免费兑换 2积分兑换" prop="couponType"/>
<el-table-column label="券开始时间" prop="beginTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.beginTime, '')}}</span>
<span>{{ parseTime(scope.row.beginTime, '') }}</span>
</template>
</el-table-column>
<el-table-column label="券结束时间" align="center" prop="endTime" width="180" >
<el-table-column label="券结束时间" prop="endTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.endTime, '')}}</span>
<span>{{ parseTime(scope.row.endTime, '') }}</span>
</template>
</el-table-column>
<el-table-column label="0未使用 1已使用" align="center" prop="useStatus" />
<el-table-column label="订单id" align="center" prop="orderId" />
<el-table-column label="使用时间" align="center" prop="useTime" width="180" >
<el-table-column label="0未使用 1已使用" prop="useStatus"/>
<el-table-column label="订单id" prop="orderId"/>
<el-table-column label="使用时间" prop="useTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.useTime, '')}}</span>
<span>{{ parseTime(scope.row.useTime, '') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
@ -181,25 +181,28 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['act:memberCoupon:edit']"
>修改</el-button>
>修改
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['act:memberCoupon:remove']"
>删除</el-button>
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
<!-- 添加或修改用户领券记录对话框 -->
<el-dialog :title="title" :visible.sync="open" width="50%" append-to-body>
@ -275,7 +278,14 @@
</template>
<script>
import { listMemberCoupon, getMemberCoupon, delMemberCoupon, addMemberCoupon, updateMemberCoupon, exportMemberCoupon } from "@/api/act/memberCoupon";
import {
addMemberCoupon,
delMemberCoupon,
exportMemberCoupon,
getMemberCoupon,
listMemberCoupon,
updateMemberCoupon
} from "@/api/act/memberCoupon";
export default {
name: "MemberCoupon",

@ -3,7 +3,8 @@
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="medium" class="ry_form">
<el-form-item label="统计日期" prop="date">
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange"
:clearable="true" :picker-options='pickerOptions' range-separator="-" start-placeholder="开始日期"
:clearable="true" :picker-options='pickerOptions' range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-form-item class="flex_one tr">
@ -12,45 +13,53 @@
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="awsSystemStatisticsList" @selection-change="handleSelectionChange">
<el-table-column label="统计日期" align="center" prop="date" width="180" >
<el-table v-loading="loading" :data="awsSystemStatisticsList" @selection-change="handleSelectionChange" border>
<el-table-column label="统计日期" prop="date" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.date, '{y}-{m}-{d}')}}</span>
<span>{{ parseTime(scope.row.date, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="登录用户数" align="center" prop="loginMemberCount" />
<el-table-column label="注册用户数" align="center" prop="registerMemberCount" />
<el-table-column label="加购用户数" align="center" prop="addCartMemberCount" />
<el-table-column label="下单用户数" align="center" prop="createOrderMemberCount" />
<el-table-column label="成交用户数" align="center" prop="dealMemberCount" />
<el-table-column label="下单数" align="center" prop="orderCount" />
<el-table-column label="成交数" align="center" prop="dealCount" />
<el-table-column label="成交金额" align="center" prop="dealAmount">
<el-table-column label="登录用户数" prop="loginMemberCount"/>
<el-table-column label="注册用户数" prop="registerMemberCount"/>
<el-table-column label="加购用户数" prop="addCartMemberCount"/>
<el-table-column label="下单用户数" prop="createOrderMemberCount"/>
<el-table-column label="成交用户数" prop="dealMemberCount"/>
<el-table-column label="下单数" prop="orderCount"/>
<el-table-column label="成交数" prop="dealCount"/>
<el-table-column label="成交金额" prop="dealAmount">
<template v-slot="scope">
{{ scope.row.dealAmount.toFixed(2) }}
</template>
</el-table-column>
<el-table-column label="售后数" align="center" prop="aftersaleCount" />
<el-table-column label="售后金额" align="center" prop="aftersaleAmount">
<el-table-column label="售后数" prop="aftersaleCount"/>
<el-table-column label="售后金额" prop="aftersaleAmount">
<template v-slot="scope">
{{ scope.row.aftersaleAmount.toFixed(2) }}
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
</div>
</template>
<script>
import { listAwsSystemStatistics, getAwsSystemStatistics, delAwsSystemStatistics, addAwsSystemStatistics, updateAwsSystemStatistics, exportAwsSystemStatistics } from "@/api/aws/systemStatistics";
import {
addAwsSystemStatistics,
delAwsSystemStatistics,
exportAwsSystemStatistics,
getAwsSystemStatistics,
listAwsSystemStatistics,
updateAwsSystemStatistics
} from "@/api/aws/systemStatistics";
import dateUtil from "@/utils/DateUtil";
export default {

@ -86,39 +86,43 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="访问编号" align="center" prop="infoId" />
<el-table-column label="用户名称" align="center" prop="userName" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
<el-table-column label="登录地址" align="center" prop="ipaddr" width="130" :show-overflow-tooltip="true" />
<el-table-column label="登录地点" align="center" prop="loginLocation" :show-overflow-tooltip="true" />
<el-table-column label="浏览器" align="center" prop="browser" :show-overflow-tooltip="true" />
<el-table-column label="操作系统" align="center" prop="os" />
<el-table-column label="登录状态" align="center" prop="status">
<el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" border
:default-sort="defaultSort" @sort-change="handleSortChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="访问编号" prop="infoId"/>
<el-table-column label="用户名称" prop="userName" :show-overflow-tooltip="true" sortable="custom"
:sort-orders="['descending', 'ascending']"/>
<el-table-column label="登录地址" prop="ipaddr" width="130" :show-overflow-tooltip="true"/>
<el-table-column label="登录地点" prop="loginLocation" :show-overflow-tooltip="true"/>
<el-table-column label="浏览器" prop="browser" :show-overflow-tooltip="true"/>
<el-table-column label="操作系统" prop="os"/>
<el-table-column label="登录状态" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="操作信息" align="center" prop="msg" />
<el-table-column label="登录日期" align="center" prop="loginTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
<el-table-column label="操作信息" prop="msg"/>
<el-table-column label="登录日期" prop="loginTime" sortable="custom" :sort-orders="['descending', 'ascending']"
width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.loginTime) }}</span>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
</div>
</template>
<script>
import { list, delLogininfor, cleanLogininfor } from "@/api/monitor/logininfor";
import {cleanLogininfor, delLogininfor, list} from "@/api/monitor/logininfor";
export default {
name: "Logininfor",

@ -21,8 +21,10 @@
</el-form-item>
<el-form-item label="创建时间" prop="Time">
<el-date-picker v-model="queryParams.Time" type="datetimerange" :picker-options="pickerOptions"
range-separator="至" size="small" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" align="right"
range-separator="至" size="small" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']"
align="right"
@change="handleChange">
</el-date-picker>
</el-form-item>
@ -32,66 +34,81 @@
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="omsAftersaleList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="订单号" align="center" prop="orderSn" width="200"/>
<el-table-column label="售后单号" align="center" prop="id" width="160"/>
<el-table-column label="申请状态" align="center" prop="aftersaleStatus" width="80">
<el-table v-loading="loading" :data="omsAftersaleList" @selection-change="handleSelectionChange" border>
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="售后单号" prop="id" width="160"/>
<el-table-column label="申请状态" prop="aftersaleStatus" width="80">
<template v-slot="scope">
<el-tag effect="plain" size="medium" :type="getAftersaleStatusTag(scope.row)">{{
getAftersaleStatusText(scope.row) }}</el-tag>
getAftersaleStatusText(scope.row)
}}
</el-tag>
</template>
</el-table-column>
<el-table-column label="用户信息" align="center" prop="nickName" width="120">
<el-table-column label="用户信息" prop="nickName" width="120">
<template v-slot="scope">
<div>{{ scope.row.nickName }}</div>
<div>{{ scope.row.phone }}</div>
<div>{{scope.row.mark}}</div>
<div>{{ scope.row.mark }}</div>
</template>
</el-table-column>
<el-table-column label="退款金额" align="center" prop="applyReturnAmount" width="120"/>
<el-table-column label="售后类型" align="center" prop="applyRefundType" width="80">
<el-table-column label="退款金额" prop="applyReturnAmount" width="120"/>
<el-table-column label="售后类型" prop="applyRefundType" width="80">
<template v-slot="scope">
<el-tag effect="plain" size="medium" :type="getAftersaleTypeTag(scope.row)">{{
getAftersaleTypeText(scope.row) }}</el-tag>
getAftersaleTypeText(scope.row)
}}
</el-tag>
</template>
</el-table-column>
<el-table-column label="申请时间" align="center" prop="applyRefundTime" width="180" >
<el-table-column label="申请时间" prop="applyRefundTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.applyRefundTime, '')}}</span>
<span>{{ parseTime(scope.row.applyRefundTime, '') }}</span>
</template>
</el-table-column>
<el-table-column label="处理时间" align="center" prop="handleTime" width="180" >
<el-table-column label="处理时间" prop="handleTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.handleTime, '')}}</span>
<span>{{ parseTime(scope.row.handleTime, '') }}</span>
</template>
</el-table-column>
<el-table-column label="原因" align="center" prop="reason" width="220"/>
<el-table-column label="处理备注" align="center" prop="note" width="150"/>
<el-table-column label="处理人员" align="center" prop="handleMan" width="100"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="140">
<el-table-column label="原因" prop="reason" width="220"/>
<el-table-column label="处理备注" prop="note" width="150"/>
<el-table-column label="处理人员" prop="handleMan" width="100"/>
<el-table-column label="订单编号/操作" class-name="small-padding fixed-width" width="220" fixed="right">
<template slot-scope="scope">
<div>
{{ scope.row.orderSn }}
<el-link @click="copy(scope.row.orderSn)" :underline="false"><i
class="el-icon-document-copy el-icon--right"></i></el-link>
</div>
<el-button size="mini" type="text" @click="handleDetail(scope.row.orderId)"
v-hasPermi="['oms:aftersale:query']">详情</el-button>
v-hasPermi="['oms:aftersale:query']">详情
</el-button>
<el-button size="mini" type="text" @click="showLog(scope.row.orderId)"
v-hasPermi="['oms:aftersale:log']">日志</el-button>
<el-button size="mini" type="text" @click="approve(scope.row.orderId, 1)"
v-if="scope.row.aftersaleStatus == 0" v-hasPermi="['manager:oms:aftersale:update']">同意</el-button>
<el-button size="mini" type="text" @click="handleOpen(scope.row.orderId, 2)"
v-if="scope.row.aftersaleStatus == 0" v-hasPermi="['manager:oms:aftersale:update']">拒绝</el-button>
<el-button size="mini" type="text" @click="confirmReceive(scope.row.orderId, 3)"
v-if="scope.row.aftersaleStatus == 1 && scope.row.applyRefundType == 2" v-hasPermi="['manager:oms:aftersale:update']">确认收货</el-button>
v-hasPermi="['oms:aftersale:log']">日志
</el-button>
<el-button size="mini" type="text" @click="approve(scope.row, 1)"
v-if="scope.row.aftersaleStatus == 0" v-hasPermi="['manager:oms:aftersale:update']">同意
</el-button>
<el-button size="mini" type="text" @click="handleOpen(scope.row, 2)" class="red"
v-if="scope.row.aftersaleStatus == 0" v-hasPermi="['manager:oms:aftersale:update']">拒绝
</el-button>
<el-button size="mini" type="text" @click="confirmReceive(scope.row, 3)"
v-if="scope.row.aftersaleStatus == 1 && scope.row.applyRefundType == 2"
v-hasPermi="['manager:oms:aftersale:update']">确认收货
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
<!-- 拒绝对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
@ -123,7 +140,16 @@
</template>
<script>
import { listOmsAftersale, getOmsAftersale, delOmsAftersale, addOmsAftersale, updateOmsAftersale, exportOmsAftersale, dealWithAftersale, viewLog } from "@/api/oms/aftersale";
import {
addOmsAftersale,
dealWithAftersale,
delOmsAftersale,
exportOmsAftersale,
getOmsAftersale,
listOmsAftersale,
updateOmsAftersale,
viewLog
} from "@/api/oms/aftersale";
import dateUtil from '@/utils/DateUtil';
export default {
@ -172,7 +198,8 @@ export default {
updateOrderForm: {
orderId: null,
optType: null,
remark: null
remark: null,
id: null,
},
rules: {
remark: [
@ -195,9 +222,20 @@ export default {
this.getList();
},
methods: {
copy(data) {
let url = data;
let oInput = document.createElement('input');
oInput.value = url;
document.body.appendChild(oInput);
oInput.select(); // ;
console.log(oInput.value)
document.execCommand("Copy"); //
this.$modal.msgSuccess('复制成功');
oInput.remove()
},
/** 查询订单售后列表 */
getList() {
if (this.queryParams.Time){
if (this.queryParams.Time) {
this.queryParams.startTime = this.queryParams.Time[0]
this.queryParams.endTime = this.queryParams.Time[1]
}
@ -314,29 +352,37 @@ export default {
this.$router.push({ path: '/aftersale/detail', query: { id } })
},
/** 同意售后 */
approve(orderId, type){
this.updateOrderForm.orderId = orderId
this.updateOrderForm.optType = type
dealWithAftersale(this.updateOrderForm).then((response) => {
this.cancel()
this.$message.success('操作成功')
this.getList()
})
approve(order, type) {
this.$confirm(`您确定要同意售后单号为【${order.id}】的售后申请吗?`, '温馨提示', {type: 'warning'}).then(
() => {
this.updateOrderForm.orderId = order.orderId
this.updateOrderForm.optType = type
dealWithAftersale(this.updateOrderForm).then((response) => {
this.cancel()
this.$message.success('操作成功')
this.getList()
})
}
)
},
/** 拒绝 */
handleOpen(orderId, type){
this.updateOrderForm.orderId = orderId
handleOpen(order, type) {
this.updateOrderForm.orderId = order.orderId
this.updateOrderForm.optType = type
this.updateOrderForm.id = order.id
this.open = true
},
confirmReceive(orderId, type){
this.updateOrderForm.orderId = orderId
this.updateOrderForm.optType = type
dealWithAftersale(this.updateOrderForm).then((response) => {
this.cancel()
this.$message.success('操作成功')
this.getList()
})
confirmReceive(orderId, type) {
this.$confirm(`您确认收到售后单号为【${order.id}】的货物了吗?`, '温馨提示', {type: 'warning'}).then(
() => {
this.updateOrderForm.orderId = orderId
this.updateOrderForm.optType = type
dealWithAftersale(this.updateOrderForm).then((response) => {
this.cancel()
this.$message.success('操作成功')
this.getList()
})
})
},
getAftersaleStatusTag(row) {
switch (row.aftersaleStatus) {
@ -387,17 +433,21 @@ export default {
this.updateOrderForm = {
orderId: null,
optType: null,
remark: null
remark: null,
id: null,
}
},
submitUpdate(formName){
this.$refs[formName].validate(valid => {
if(valid){
dealWithAftersale(this.updateOrderForm).then((response) => {
this.cancel()
this.$message.success('操作成功')
this.getList()
})
if (valid) {
this.$confirm(`您确定要拒绝售后单号为【${this.updateOrderForm.id}】的售后申请了吗?`, '温馨提示', {type: 'warning'}).then(
() => {
dealWithAftersale(this.updateOrderForm).then((response) => {
this.cancel()
this.$message.success('操作成功')
this.getList()
})
})
}
})
},

@ -182,13 +182,15 @@
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
<!-- 发货对话框 -->
<el-dialog :title="deliveryObj.title" :visible.sync="deliveryObj.open" width="500px" append-to-body>

@ -32,28 +32,29 @@
</el-col>
</el-row>
<el-table v-loading="loading" :data="pmsBrandList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="品牌logo" align="center" prop="logo">
<el-table v-loading="loading" :data="pmsBrandList" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="品牌logo" prop="logo">
<template slot-scope="{ row }">
<el-image v-if="row.logo" :src="row.logo" :preview-src-list="[row.logo]" class="small-img circle-img"/>
</template>
</el-table-column>
<el-table-column label="名称" align="center" prop="name" />
<el-table-column label="排序" align="center" prop="sort" />
<el-table-column label="状态" align="center" prop="showStatus">
<el-table-column label="名称" prop="name"/>
<el-table-column label="排序" prop="sort"/>
<el-table-column label="状态" prop="showStatus">
<template slot-scope="{ row }">
<dict-tag :value="row.showStatus" prop-name="sys_normal_disable" />
<dict-tag :value="row.showStatus" prop-name="sys_normal_disable"/>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>修改</el-button>
>修改
</el-button>
<el-button
size="mini"
type="text"
@ -64,13 +65,14 @@
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
<!-- 添加或修改品牌管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="50%" append-to-body>
@ -98,7 +100,7 @@
</template>
<script>
import { listPmsBrand, getPmsBrand, delPmsBrand, addPmsBrand, updatePmsBrand, exportPmsBrand } from "@/api/pms/brand";
import {addPmsBrand, delPmsBrand, exportPmsBrand, getPmsBrand, listPmsBrand, updatePmsBrand} from "@/api/pms/brand";
export default {
name: "PmsBrand",

@ -60,44 +60,45 @@
</el-col>
</el-row>
<el-table v-loading="loading" :data="pmsProductList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主图" align="center" prop="pic">
<el-table v-loading="loading" :data="pmsProductList" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="主图" prop="pic">
<template slot-scope="{ row }">
<el-image v-if="row.pic" :src="row.pic" :preview-src-list="[row.pic]" class="small-img circle-img"/>
<el-image v-if="row.pic" :src="row.pic" :preview-src-list="[row.pic]" class="small-img"/>
</template>
</el-table-column>
<el-table-column label="名称/编码" min-width="200" align="center" prop="outProductId">
<el-table-column label="名称/编码" min-width="200" prop="outProductId">
<template slot-scope="{ row }">
<div>名称{{row.name}}</div>
<div v-if="row.outProductId">{{row.outProductId}}</div>
<div>名称{{ row.name }}</div>
<div v-if="row.outProductId">{{ row.outProductId }}</div>
</template>
</el-table-column>
<el-table-column label="品牌/分类" align="center" prop="brandName">
<el-table-column label="品牌/分类" prop="brandName">
<template slot-scope="{ row }">
<div v-if="row.brandName">{{row.brandName}}</div>
<div v-if="row.productCategoryName">{{row.productCategoryName}}</div>
<div v-if="row.brandName">{{ row.brandName }}</div>
<div v-if="row.productCategoryName">{{ row.productCategoryName }}</div>
</template>
</el-table-column>
<el-table-column label="价格/排序" align="center" prop="price">
<el-table-column label="价格/排序" prop="price">
<template slot-scope="{ row }">
<div v-if="row.price">{{row.price}}</div>
<div v-if="row.sort">{{row.sort}}</div>
<div v-if="row.price">{{ row.price }}</div>
<div v-if="row.sort">{{ row.sort }}</div>
</template>
</el-table-column>
<el-table-column label="上架状态" align="center" prop="publishStatus">
<el-table-column label="上架状态" prop="publishStatus">
<template slot-scope="{ row }">
<dict-tag :value="row.publishStatus" prop-name="pms_publish_status" />
<dict-tag :value="row.publishStatus" prop-name="pms_publish_status"/>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>修改</el-button>
>修改
</el-button>
<el-button
size="mini"
type="text"
@ -108,13 +109,14 @@
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
</div>
</template>

@ -16,10 +16,10 @@
<el-button type="primary" icon="el-icon-search" size="mini" @click="getSkuList"></el-button>
</el-form-item>
</el-form>
<el-table class="mt20" :data="chooseSkuObj.list" ref="table" v-loading="chooseSkuObj.loading" max-height="500"
<el-table class="mt20" :data="chooseSkuObj.list" ref="table" v-loading="chooseSkuObj.loading" max-height="500" border
row-key="id" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"/>
<el-table-column label="菜品名称" align="center" prop="name">
<el-table-column label="菜品名称" prop="name">
<template v-slot="{row}">
<div class="flex-center">
<el-image v-if="row.pic" :src="row.pic" :preview-src-list="[row.pic]" class="small-img circle-img"/>
@ -27,8 +27,8 @@
</div>
</template>
</el-table-column>
<el-table-column label="销量" align="center" prop="sales"/>
<el-table-column label="创建时间" align="center" prop="createTime"/>
<el-table-column label="销量" prop="sales"/>
<el-table-column label="创建时间" prop="createTime"/>
</el-table>
<pagination
v-show="chooseSkuObj.total>0"

@ -58,12 +58,13 @@
<el-table
v-loading="loading"
:data="pmsProductCategoryList"
border
:tree-props="{ hasChildren: 'hasChildren', children: 'children' }"
@selection-change="handleSelectionChange"
row-key="id"
>
<el-table-column label="名称" align="center" prop="name" />
<el-table-column label="图片" align="center" prop="icon">
<el-table-column label="名称" prop="name" />
<el-table-column label="图片" prop="icon">
<template slot-scope="{ row }">
<el-image
v-if="row.icon"
@ -73,8 +74,8 @@
/>
</template>
</el-table-column>
<el-table-column label="排序" align="center" prop="sort" />
<el-table-column label="状态" align="center" prop="showStatus">
<el-table-column label="排序" prop="sort" />
<el-table-column label="状态" prop="showStatus">
<template v-slot="{ row }">
<dict-tag
:value="row.showStatus"
@ -84,7 +85,6 @@
</el-table-column>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">

@ -26,20 +26,20 @@
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="feedbackList">
<el-table v-loading="loading" :data="feedbackList" border>
<el-table-column label="反馈人" align="left" prop="nickname" width="150">
<template v-slot="scope">
<p>用户ID{{scope.row.createBy}}</p>
<p>{{scope.row.phone}}</p>
<p>用户ID{{ scope.row.createBy }}</p>
<p>{{ scope.row.phone }}</p>
</template>
</el-table-column>
<el-table-column label="反馈时间" align="center" prop="createTime" width="180">
<el-table-column label="反馈时间" prop="createTime" width="180">
<template v-slot="scope">
<div>{{ parseTime(scope.row.createTime) }}</div>
</template>
</el-table-column>
<el-table-column label="反馈类型" align="center" prop="type"/>
<el-table-column label="具体内容" align="center" prop="content" show-overflow-tooltip/>
<el-table-column label="反馈类型" prop="type"/>
<el-table-column label="具体内容" prop="content" show-overflow-tooltip/>
<el-table-column label="图片">
<template v-slot="scope">
<el-image
@ -51,11 +51,12 @@
</el-image>
</template>
</el-table-column>
<el-table-column label="处理状态/时间" align="center">
<el-table-column label="处理状态/时间">
<template v-slot="scope">
<div v-if="scope.row.handleStatus === 1"></div>
<el-switch v-else v-model="scope.row.handleStatus" active-value="1" inactive-value="0" @change="changeStatus(scope.row)"/>
<div>{{ scope.row.handleTime ? parseTime(scope.row.handleTime) : ''}}</div>
<el-switch v-else v-model="scope.row.handleStatus" active-value="1" inactive-value="0"
@change="changeStatus(scope.row)"/>
<div>{{ scope.row.handleTime ? parseTime(scope.row.handleTime) : '' }}</div>
</template>
</el-table-column>
<el-table-column label="备注">
@ -65,13 +66,14 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
<el-dialog title="修改备注" :visible.sync="remarkModal.visible" width="30%" append-to-body>
<el-input type='textarea' :rows='3' placeholder='请输入内容' v-model='remarkModal.remark'/>
<span class="dialog-footer" slot="footer">
@ -83,11 +85,7 @@
</template>
<script>
import {
listFeedbacks,
updateMark,
changeHandleStatus
} from "@/api/ums/feedback";
import {changeHandleStatus, listFeedbacks, updateMark} from "@/api/ums/feedback";
import dateUtil from '@/utils/DateUtil';
import {mapGetters} from "vuex";

@ -42,40 +42,40 @@
<el-form-item label="备注" prop="mark">
<el-select v-model="queryParams.hasMark" clearable size="small">
<el-option value="1" label="有备注" />
<el-option value="0" label="无备注" />
<el-option value="0" label="无备注"/>
</el-select>
</el-form-item>
<el-form-item class="flex_one tr">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
<!-- <el-button :icon="showMoreCondition ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" size="mini" @click="showMoreCondition = !showMoreCondition">{{showMoreCondition ? '收起条件' : '展开条件'}}</el-button>-->
<!-- <el-button :icon="showMoreCondition ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" size="mini" @click="showMoreCondition = !showMoreCondition">{{showMoreCondition ? '收起条件' : '展开条件'}}</el-button>-->
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="umsMemberList">
<el-table-column label="昵称" align="center" prop="nickname" width="150"/>
<el-table-column label="手机号码" align="center" prop="phoneHidden" width="150"/>
<el-table-column label="佣金" align="center" width="120">
<el-table v-loading="loading" :data="umsMemberList" border>
<el-table-column label="昵称" prop="nickname" width="150"/>
<el-table-column label="手机号码" prop="phoneHidden" width="150"/>
<el-table-column label="佣金" width="120">
<template v-slot="scope">
<div>0.00</div>
</template>
</el-table-column>
<el-table-column label="积分" align="center" width="120">
<el-table-column label="积分" width="120">
<template v-slot="scope">
<div>0.00</div>
</template>
</el-table-column>
<el-table-column label="余额" align="center" width="120">
<el-table-column label="余额" width="120">
<template v-slot="scope">
<div>0.00</div>
</template>
</el-table-column>
<el-table-column label="注册时间" align="center" prop="createTime" width="180">
<el-table-column label="注册时间" prop="createTime" width="180">
<template v-slot="scope">
<div>{{ parseTime(scope.row.createTime) }}</div>
</template>
</el-table-column>
<el-table-column label="上次登录" align="center" prop="createTime">
<el-table-column label="上次登录" prop="createTime">
<template v-slot="scope">
<div>{{ parseTime(scope.row.createTime) }}</div>
</template>
@ -86,14 +86,15 @@
<i class="el-icon-edit pointer" @click="showUpdateMark(scope.row)"></i>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fix="right" width="200">
<el-table-column label="操作" class-name="small-padding fixed-width" fix="right" width="200">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
@click="showStatistics(scope.row.id)"
v-hasPermi="['ums:member:statistics']"
>查看数据</el-button>
>查看数据
</el-button>
<el-button
size="mini"
type="text"
@ -107,13 +108,14 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
<!-- 统计 -->
<el-dialog :title="statisticsObj.title" :visible.sync="statisticsObj.open" width="500px" append-to-body>
<el-descriptions direction="vertical" :column="2" border>
@ -134,9 +136,19 @@
</template>
<script>
import { listUmsMember, getUmsMember, delUmsMember, addUmsMember, updateUmsMember,updateUmsMemberMark, exportUmsMember, changeAccountStatus, decryptedPhone, viewStatistics } from "@/api/ums/member";
import {
addUmsMember,
changeAccountStatus,
decryptedPhone,
delUmsMember,
exportUmsMember,
getUmsMember,
listUmsMember,
updateUmsMember,
updateUmsMemberMark,
viewStatistics
} from "@/api/ums/member";
import dateUtil from '@/utils/DateUtil';
import moment from "moment";
import {isStarRepo} from "@/utils/is-star-plugin";
import {mapGetters} from "vuex";

@ -93,19 +93,27 @@
<!-- </el-table-column>-->
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
</div>
</template>
<script>
import { listUmsMemberCart, getUmsMemberCart, delUmsMemberCart, addUmsMemberCart, updateUmsMemberCart, exportUmsMemberCart } from "@/api/ums/memberCart";
import {
addUmsMemberCart,
delUmsMemberCart,
exportUmsMemberCart,
getUmsMemberCart,
listUmsMemberCart,
updateUmsMemberCart
} from "@/api/ums/memberCart";
export default {
name: "UmsMemberCart",

@ -65,20 +65,20 @@
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="umsMemberLogininforList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="会员手机号" align="center" prop="phone" />
<el-table-column label="会员id" align="center" prop="memberId" />
<el-table-column label="登录IP地址" align="center" prop="ipaddr" />
<el-table-column label="登录地点" align="center" prop="loginLocation" />
<el-table-column label="浏览器类型" align="center" prop="browser" />
<el-table-column label="操作系统" align="center" prop="os" />
<el-table-column label="登陆时间" align="center" prop="loginTime" width="180" >
<el-table v-loading="loading" :data="umsMemberLogininforList" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="会员手机号" prop="phone"/>
<el-table-column label="会员id" prop="memberId"/>
<el-table-column label="登录IP地址" prop="ipaddr"/>
<el-table-column label="登录地点" prop="loginLocation"/>
<el-table-column label="浏览器类型" prop="browser"/>
<el-table-column label="操作系统" prop="os"/>
<el-table-column label="登陆时间" prop="loginTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.loginTime, '')}}</span>
<span>{{ parseTime(scope.row.loginTime, '') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
@ -86,23 +86,32 @@
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['ums:memberLogininfor:remove']"
>删除</el-button>
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
</div>
</template>
<script>
import { listUmsMemberLogininfor, getUmsMemberLogininfor, delUmsMemberLogininfor, addUmsMemberLogininfor, updateUmsMemberLogininfor, exportUmsMemberLogininfor } from "@/api/ums/memberLogininfor";
import {
addUmsMemberLogininfor,
delUmsMemberLogininfor,
exportUmsMemberLogininfor,
getUmsMemberLogininfor,
listUmsMemberLogininfor,
updateUmsMemberLogininfor
} from "@/api/ums/memberLogininfor";
import dateUtil from '@/utils/DateUtil';
export default {

Loading…
Cancel
Save