liupopo 2 years ago
parent
commit
b9c92943d2
  1. 40
      docs/xiugai/商品.docx
  2. 46
      docs/xiugai/营销系统问题及修改20230313.txt
  3. 325
      mallplusui-web-admin/src/views/home/index.vue
  4. 27
      mallplusui-web-admin/src/views/sms/coupon/components/CouponDetail.vue

40
docs/xiugai/商品.docx

@ -0,0 +1,40 @@
一、农机服务:
1、播种(市场价15元/亩,惠农价14元/亩)
2、打药无人(市场价10元/亩,惠农价9元/亩)
3、旋耕(市场价50元/亩,惠农价45元/亩)
4、小麦收割机(市场价50元/亩,惠农价45元/亩)
6、施肥(市场价10元/亩,惠农价9元/亩)
种子
1、良玉99号(净含量4200粒 市场价55元/袋,惠农价50元/袋)
大地916(净含量4300粒 市场价45元/袋,惠农价40元/袋)
大地3号(净含量4400粒 市场价55元/袋,惠农价50元/袋)
鲁北67(净含量4400粒 市场价55元/袋,惠农价50元/袋)
石农958(净含量20KG 市场价3.5元/斤,惠农价3.3元/斤)
石农086(净含量25KG 市场价3.5元/斤,惠农价3.3元/斤)
化肥
锌硼双动力复合肥(规格:40KG 市场价130元/袋 惠农价115元/袋)
锌硼双动力稳定性复合肥(规格:40KG 市场价130元/袋 惠农价115元/袋)
菌粒饱复合肥(规格:40KG 市场价130元/袋 惠农价115元/袋)
菌粒饱稳定性复合肥(规格:40KG 市场价156元/袋 惠农价140元/袋)

46
docs/xiugai/营销系统问题及修改20230313.txt

@ -0,0 +1,46 @@
银行提问:3.后台首页可点击,跳转空白页,作用是什么?
后台首页显示的统计数据,将点击链接去掉(即只展示数据不需要页面跳转)。页面上展示的需要是真实数据,如果暂时无真实数据的接口,先隐藏不显示,后期完成接口后再进行展示。(郭兴)
银行提问:4.优惠券面额无法输入小数点。
修改新增优惠券界面的验证规则,设置优惠券面额可输入2位小数。(郭兴)
银行提问:8.新注册用户余额充值报错?
经过讨论与沟通,余额充值及余额支付功能的实际用途不大。可先将余额相关功能屏蔽,1、“我的云链”界面,不显示“余额”(需要对界面效果进行调整,“余额”这里可显示其他内容,不要显的太空);2、购买支付时,不显示“余额支付”选项;3、测试APP端各个界面,屏蔽“余额”相关内容。(郭兴负责手机端)
管理后台“会员列表”页面也需要屏蔽“余额”列及“余额充值”按钮。
银行提问:7.新注册用户默认有50余额,使用余额支付后金额不扣减。
经测试,没出现该问题。
针对 账号13832363123存在该问题,对账号13832363123的数据分析结果如下:
注册时间:2023-02-27 10:07:48,注册时余额为0;
余额增加:2023-02-27 15:42:16,增加方式:后台余额充值,充值金额:50。该操作为测试人员测试后台账户余额充值功能时所进行;
余额消费:2023-03-08 11:42:54,APP端订单使用余额付款0.03元,余额值减少0元,余额无变化;
余额消费:2023-03-08 11:43:31,APP端订单使用余额付款0.03元,余额值减少0元,余额无变化;
余额消费:2023-03-11 18:30:44,APP端订单使用余额付款0.03元,余额值减少0元,余额无变化;
结论:新注册用户不会有50余额,如果使用余额付款低于1元钱,余额账户无变化。
引申问题:1:需要确认已有账户再次注册(即13832363123账号已经注册成功,退出登录后再用13832363123进行注册)的情况下前后台的执行逻辑是什么?2:使用余额支付时,支付金额较小时(如:0.03元),余额值也应该进行调整(该功能优先级较低,完成其他修改后再处理)
问题:1. APP端,已经过期的优惠券应该归到已失效里边。
查看优惠券列表的接口,接口返回数据时对应正确的状态。(郭兴查看手机端调用接口及显示数据参数,底孟哲调整接口数据)
三、需要讨论后修改
银行提问:6.待支付的订单取消后优惠券不回退。
该问题需要从创建订单时使用优惠券到订单取消或失败整个流程的各个环节进行分析,确认取消支付或支付失败的情况下优惠券都正确退回。
优化:
1.系统增加退单流程。
2.订单归集统计?对于商品待发货、已发货、已完成订单统计列表。
(1)全部提货点的商品订单统计。
(2)各个提货点的商品订单统计。
(3)各个提货点对应到人的订单统计。
3.系统发货后自动收货确认时间是多久?
后台管理,发货界面加一个批量发货,具体实现逻辑再讨论,先修改问题。
商品发货以及到达取货点,现实现功能为商品发货后发送一个物流信息到用户手机APP信息界面,需要用户进入信息界面主动向服务端发起查询。需要考虑是否发达推送消息或短信通知(推送消息需集成第三方消息推送)。
因为原系统订单流程是用户下单、支付、商家发货、物流送货到用户收货地址、确认收货交易完成。
现在订单流程为用户下单、支付、商家发货、物流送货到用户指定取货点、用户到取货点取货及确认收货交易完成。
需要对订单流程进行完整测试,各个环节状态的改变,对用户的通知等都需要再考虑完善。
四、修改原则
1. 现有功能不可以报错,功能可以简化但不可以出错、不可以有缺陷;
2. 首先考虑手机端APP的稳定性,后期功能完善和调整,通过后台操作或接口来实现,避免手机端APP的升级;
3. 业务流程需要完整,能够形成完整的闭环,不可以有操作过程中有断开无法连贯的情况。

325
mallplusui-web-admin/src/views/home/index.vue

@ -1,50 +1,42 @@
<template>
<section class="data_section" ref="data_section">
<a :href="github" target="_blank">
<el-row :gutter="20">
<el-col :span="6">
<div class="total-frame">
<svg-icon icon-class="order" class="total-icon">
</svg-icon>
<div class="total-title">今日下单</div>
<div class="total-value">123</div>
</div>
</el-col>
<el-col :span="6">
<div class="total-frame">
<svg-icon icon-class="total-today" class="total-icon">
</svg-icon>
<div class="total-title">今日销售总额</div>
<div class="total-value">456</div>
</div>
</el-col>
<el-col :span="6">
<div class="total-frame">
<svg-icon icon-class="total-yesterday" class="total-icon">
</svg-icon>
<div class="total-title">昨日销售总额</div>
<div class="total-value">111</div>
</div>
</el-col>
<el-col :span="6">
<div class="total-frame">
<svg-icon icon-class="total-week" class="total-icon">
</svg-icon>
<div class="total-title">近7天销售总额</div>
<div class="total-value">222</div>
</div>
</el-col>
</el-row>
</a>
<el-row :gutter="10" class="row_list order_list">
<!-- <el-col :span="7">
<section class="data_section" ref="data_section">
<el-row :gutter="20">
<el-col :span="6">
<div class="total-frame">
<svg-icon icon-class="order" class="total-icon"></svg-icon>
<div class="total-title">今日下单</div>
<div class="total-value">123</div>
</div>
</el-col>
<el-col :span="6">
<div class="total-frame">
<svg-icon icon-class="total-today" class="total-icon"></svg-icon>
<div class="total-title">今日销售总额</div>
<div class="total-value">456</div>
</div>
</el-col>
<el-col :span="6">
<div class="total-frame">
<svg-icon icon-class="total-yesterday" class="total-icon"></svg-icon>
<div class="total-title">昨日销售总额</div>
<div class="total-value">111</div>
</div>
</el-col>
<el-col :span="6">
<div class="total-frame">
<svg-icon icon-class="total-week" class="total-icon"></svg-icon>
<div class="total-title">近7天销售总额</div>
<div class="total-value">222</div>
</div>
</el-col>
</el-row>
<el-row :gutter="10" class="row_list order_list">
<!-- <el-col :span="7">
<log-list></log-list>
</el-col> -->
<el-col >
<bar-chart type="barChart"></bar-chart>
</el-col>
</el-row>
<!-- <el-row :gutter="10" class="row_list order_list">
<el-col><bar-chart type="barChart"></bar-chart></el-col>
</el-row>
<!-- <el-row :gutter="10" class="row_list order_list">
<el-col :span="7">
<pie-chart type="ordertype"></pie-chart>
</el-col>
@ -55,7 +47,7 @@
<radar-chart></radar-chart>
</el-col>
</el-row> -->
<!-- <el-row :gutter="10" class="row_list">
<!-- <el-row :gutter="10" class="row_list">
<el-col :span="11">
<sales-table></sales-table>
</el-col>
@ -66,140 +58,133 @@
<card-list></card-list>
</el-col>
</el-row> -->
</section>
</section>
</template>
<script>
import echarts from 'echarts'
import salesTable from "./components/salesTable"; //
import commentList from "./components/commentList"; //
import cardList from "./components/cardList"; // card
import logList from "./components/logList"; //
import barChart from '@/components/echarts/barChart' //
import pieChart from '@/components/echarts/pieChart' //
import radarChart from '@/components/echarts/radarChart' //
import lineChart from '@/components/echarts/lineChart' // 线
import { github } from "@/utils/env";
import echarts from 'echarts'
import salesTable from './components/salesTable' //
import commentList from './components/commentList' //
import cardList from './components/cardList' // card
import logList from './components/logList' //
import barChart from '@/components/echarts/barChart' //
import pieChart from '@/components/echarts/pieChart' //
import radarChart from '@/components/echarts/radarChart' //
import lineChart from '@/components/echarts/lineChart' // 线
import { github } from '@/utils/env'
export default {
data(){
return {
github:github
}
},
components: {
salesTable,
commentList,
cardList,
logList,
barChart,
pieChart,
radarChart,
lineChart
},
created(){
},
mounted(){
},
methods: {
}
}
export default {
data() {
return {
github: github
}
},
components: {
salesTable,
commentList,
cardList,
logList,
barChart,
pieChart,
radarChart,
lineChart
},
created() {},
mounted() {},
methods: {}
}
</script>
<style lang="less" scoped>
.total-frame {
border: 1px solid #DCDFE6;
padding: 20px;
height: 100px;
}
.total-icon {
913656
color: #409EFF;
width: 60px;
height: 60px;
}
.total-title {
position: relative;
font-size: 16px;
color: #909399;
left: 70px;
top: -35px;
}
.total-frame {
border: 1px solid #dcdfe6;
padding: 20px;
height: 100px;
}
.total-value {
position: relative;
font-size: 18px;
color: #606266;
left: 70px;
top: -25px;
}
.data_section{
margin: 20px;
border-radius: 2px;
.row_list{
margin-bottom: 20px;
.row_base{
padding: 10px;
box-sizing: border-box;
background: #fff;
border-radius: 6px;
height: 120px;
}
}
.order_list{
.orderArea{
width: 100%;
height: 300px;
background: #fff !important;
border-radius: 6px;
box-sizing: border-box;
padding: 10px;
padding-top: 40px;
overflow: hidden;
}
.orderbarArea{
height: 370px;
}
}
.data_list{
text-align: center;
font-size: 14px;
border-radius: 6px;
padding: 10px;
color:#fff;
height: 80px;
.leftItem{
align-items: start;
justify-content: space-between;
text-align: left;
}
.rightItem{
width:62px;
.total-icon {
913656color: #409eff;
width: 60px;
height: 60px;
}
align-items: center;
justify-content: center;
.svg-icon{
font-size: 30px;
}
}
.number{
font-size: 22px;
font-weight: bold;
.perTitle{
font-size: 13px;
margin-left: 5px;
}
}
}
.pay{
.leftItem{
justify-content: space-around;
}
}
.total-title {
position: relative;
font-size: 16px;
color: #909399;
left: 70px;
top: -35px;
}
}
.total-value {
position: relative;
font-size: 18px;
color: #606266;
left: 70px;
top: -25px;
}
.data_section {
margin: 20px;
border-radius: 2px;
.row_list {
margin-bottom: 20px;
.row_base {
padding: 10px;
box-sizing: border-box;
background: #fff;
border-radius: 6px;
height: 120px;
}
}
.order_list {
.orderArea {
width: 100%;
height: 300px;
background: #fff !important;
border-radius: 6px;
box-sizing: border-box;
padding: 10px;
padding-top: 40px;
overflow: hidden;
}
.orderbarArea {
height: 370px;
}
}
.data_list {
text-align: center;
font-size: 14px;
border-radius: 6px;
padding: 10px;
color: #fff;
height: 80px;
.leftItem {
align-items: start;
justify-content: space-between;
text-align: left;
}
.rightItem {
width: 62px;
align-items: center;
justify-content: center;
.svg-icon {
font-size: 30px;
}
}
.number {
font-size: 22px;
font-weight: bold;
.perTitle {
font-size: 13px;
margin-left: 5px;
}
}
}
.pay {
.leftItem {
justify-content: space-around;
}
}
}
</style>

27
mallplusui-web-admin/src/views/sms/coupon/components/CouponDetail.vue

@ -7,12 +7,7 @@
size="small">
<el-form-item label="优惠券类型:">
<el-select v-model="coupon.type">
<el-option
v-for="type in typeOptions"
:key="type.value"
:label="type.label"
:value="type.value">
</el-option>
<el-option v-for='type in typeOptions' :key='type.value' :label='type.label' :value='type.value'></el-option>
</el-select>
</el-form-item>
<el-form-item label="优惠券名称:" prop="name">
@ -190,6 +185,23 @@
value: 2
}
];
var validatePrice = (rule, value, callback) => {
if (!value) {
callback(new Error("面额不能为空"));
} else if (value.split(".").length > 2) {
callback(new Error("请输入正确格式的金额")); //
}
// else if (value > add_Com.Retail_Price) {
// callback(new Error(""));
// }
else {
value = Math.round(value * Math.pow(10, 2)) / Math.pow(10, 2); //
value = Number(value).toFixed(2); //
this.add_Com.Cost_Price = value;
callback();
}
};
export default {
name: 'CouponDetail',
props: {
@ -212,7 +224,8 @@
{type: 'number',required: true, message: '只能输入正整数', trigger: 'blur'}
],
amount: [
{type: 'number',required: true,message: '面值只能是数值,0.01-10000,限2位小数',trigger: 'blur'}
// {type: 'number',required: true,message: '0.01-100002',trigger: 'blur'}
{ required: true, validator: validatePrice, trigger: "blur" },
],
minPoint: [
{type: 'number',required: true,message: '只能输入正整数',trigger: 'blur'}

Loading…
Cancel
Save