测试及修改

master
15004070936 5 hours ago
parent 3e6289ab4d
commit eb3ad532b9

@ -27,7 +27,7 @@ export function dealWithAftersale(data){
})
}
export function viewLog(orderId){
export function viewLog(orderId){
return request({
url: `/oms/aftersale/log/` + orderId,
method: 'get'

@ -7,7 +7,7 @@
<el-form-item label="选择课程:" prop="courseId">
<el-button v-if="chooseCourseInfo.courseId === undefined" type="primary" plain icon="el-icon-reading" size="small" @click="chooseCourse"></el-button>
<el-input v-else v-model="chooseCourseInfo.courseName" disabled readonly>
<el-button v-if="canChangeCourse" slot="append" icon="el-icon-reading" @click="chooseCourse"></el-button>
<el-button v-if="canChangeCourse" slot="append" icon="el-icon-reading" @click="chooseCourse" >重选</el-button>
</el-input>
</el-form-item>
</el-col>

@ -248,7 +248,7 @@ export default {
],
days: [
{
pattern: /^[1-9]\d*$/,
pattern: /^[0-9]\d*$/,
message: '天数必须为正整数',
trigger: 'blur'
},
@ -291,12 +291,14 @@ export default {
if (!item.selectedCourses || item.selectedCourses.length<1) {
callback(new Error('请选择课程,'));
}
})
} else {
})
callback();
}else {
callback(); //
}
},
trigger: ['change']// blur
trigger: 'change'
},
],
bookNum: [
@ -399,8 +401,9 @@ export default {
},
submitForm: function() {
console.log(1)
this.$refs['form'].validate(valid => {
console.log(valid)
if (valid) {
this.loadingChange = true

@ -194,7 +194,7 @@ export const dynamicRoutes = [
path: '/aftersale',
component: Layout,
hidden: true,
permissions: ['oms:aftersale:query'],
permissions: ['oms:aftersale:list'],
children: [
{
path: 'detail',

@ -64,22 +64,6 @@
</div>
</el-row>
</div>
<!-- <div class="center-container">-->
<!-- <div class="left-container">-->
<!-- <div class="header">-->
<!-- <div class="title">常用功能</div>-->
<!-- </div>-->
<!-- <div class="content-container">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="right-container">-->
<!-- <div class="header">-->
<!-- <div class="title">通知提醒</div>-->
<!-- </div>-->
<!-- <div class="content-container">-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<div class="calendar-container">
<div class="left-container">
<div class="header">
@ -162,12 +146,12 @@
<svg-icon icon-class="dashboard-notice" style="height: 65px;width: 35px;" />
</div>
<div class="txt item-circle" style="line-height: 20px;">
<router-link :to="{name: 'Student',params: {activeTab: 'studentSignUpList', minBalanceDay: 10}}">
<router-link to="/stu/studentMemberCard">
<div class="name">10日内即将到期 <span class="cnt">{{ dashboardData.dateWillExpireCnt }}</span></div>
</router-link>
<router-link :to="{name: 'Student',params: {activeTab: 'studentSignUpList', minBalanceHour: 5}}">
<router-link to="/stu/studentMemberCard">
<div class="name">剩余课时小于5课时 <span class="cnt">{{ dashboardData.hourWillExpireCnt }}</span></div>
</router-link>
</router-link >
<div class="name">余额小于200元 <span class="cnt">{{ dashboardData.feeWillExpireCnt }}</span></div>
</div>
</div>

@ -64,9 +64,9 @@
<el-row class="pl20 pr20" :gutter="10">
<el-col :span="24">
<order-line-chart></order-line-chart>
<div class="card transform">
<top-product></top-product>
</div>
<!-- <div class="card transform">-->
<!-- <top-product></top-product>-->
<!-- </div>-->
</el-col>
</el-row>
</div>

@ -14,9 +14,8 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item class="flex_one tr">
<el-form-item style="float: right">
<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-form-item>
</el-form>
@ -32,7 +31,14 @@
</el-col>
</el-row>
<el-table v-loading="loading" :data="pmsBrandList" @selection-change="handleSelectionChange" border>
<el-table
v-loading="loading"
:data="pmsBrandList"
@selection-change="handleSelectionChange"
border
:header-cell-style="{'text-align': 'center'}"
:cell-style="{'text-align': 'center'}"
>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="品牌logo" prop="logo">
<template slot-scope="{ row }">
@ -155,7 +161,7 @@ export default {
listPmsBrand(query, pageReq).then(response => {
const { content, totalElements } = response
this.pmsBrandList = content;
this.total = totalElements;
this.total = Number(totalElements);
this.loading = false;
});
},

@ -48,15 +48,17 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="排序" prop="sort">
<el-input v-model="form.sort" placeholder="请输入排序"></el-input>
<el-form-item label="排序" prop="sort" >
<el-input v-model="form.sort" placeholder="请输入排序" style="width: 20%" ></el-input>
<span style="color: #999; font-size: 12px; ">排序越小越靠前,排名第12的商品会展示在达人好物,排名第12的课程会展示在精品课程</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="价格" prop="price">
<el-input v-model="form.price" placeholder="请输入PRICE"></el-input>
<el-input v-model="form.price" placeholder="请输入价格"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -79,12 +81,12 @@
</el-col>
<el-col :span="8">
<el-form-item label="客服/顾问" prop="customerService">
<user-select v-model="form.customerService" @change="categoryChange"></user-select>
<user-select v-model="form.customerService" ></user-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="教练" prop="instructor" v-if="form.isCourse==1">
<user-select v-model="form.instructor" @change="categoryChange"></user-select>
<staff-select v-model="form.instructor" :clearable="true" />
</el-form-item>
</el-col>
</el-row>
@ -127,6 +129,10 @@
</el-form-item>
<el-form-item label="规格信息">
<el-button @click="refreshSku()" class="mb20">刷新列表</el-button>
<span style="color: #999; font-size: 12px; white-space: pre-line;">
* 操作说明<span style="font-weight: bold">规格类型</span>
改动后需要点击刷新列表按钮再填写每个规格的信息
</span>
<el-table :data="form.skuList" :max-height="400">
<el-table-column v-for="s in skuAttr" :label="s.name" :key="s.name" :prop="s.name"></el-table-column>
<el-table-column label="展示图片">
@ -137,8 +143,12 @@
<el-table-column label="销售价格" >
<template v-slot="{ row,$index }">
<el-form-item
:rules="{ required: true, message: '请填写价格', trigger: 'blur' }"
:prop="'skuList['+$index+'].price'">
:rules="[{ required: true, message: '请填写价格', trigger: 'blur' },
{pattern: /^\d+(\.\d{1,2})?$/,message: '请输入数字且最多保留2位小数',trigger: 'blur' },
]"
:prop="'skuList['+$index+'].price'"
>
<el-input v-model="row.price"></el-input>
</el-form-item>
</template>
@ -186,10 +196,11 @@ import userSelect from '@/components/system/user/userSelect'
import ProductCategorySelect from "@/views/components/ProductCategorySelect.vue";
import BrandSelect from "@/views/components/BrandSelect.vue";
import CourseSelect from "@/views/mall/product/courseSelect";
import staffSelect from '@/components/system/staff/staffSelect'
export default {
name: "AddProduct",
dicts: ['pms_publish_status','pms_is_course'],
components: {BrandSelect, ProductCategorySelect,CourseSelect,userSelect},
components: {BrandSelect, ProductCategorySelect,CourseSelect,userSelect,staffSelect},
data() {
return {
@ -197,11 +208,29 @@ export default {
name: [
{ required: true, message: '请输入商品名称', trigger: 'blur' },
],
price: [
{ required: true, message: '请输入价格', trigger: 'blur' },
{
pattern: /^\d+(\.\d{1,2})?$/,
message: '请输入数字且最多保留2位小数',
trigger: 'blur'
},
],
weight: [
{ required: true, message: '请输入重量', trigger: 'blur' },
{
pattern: /^\d+(\.\d{1,2})?$/,
message: '请输入数字且最多保留2位小数',
trigger: 'blur'
},
],
},
form: {
publishStatus: 0,
sort: 1000,
isCourse:'0',
weight:0,
unit:'克',
courseName:null,
courseId:null,
customerService:null,
@ -330,6 +359,7 @@ export default {
if (!this.form.price){
this.form.price = Math.min.apply(Math, this.form.skuList.map(it => it.price))
}
if (this.form.id != null) {
updatePmsProduct(this.form).then(response => {
if (response.code!=500){
@ -349,7 +379,7 @@ export default {
}else{
if(this.form.name){
this.$alert('请填写规格价格', '提示', {
this.$alert('请规范填写规格价格', '提示', {
confirmButtonText: '确定',
});
}else{

@ -1,55 +1,55 @@
<template>
<div class="app-container">
<div v-show="show">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="medium" class="ry_form">
<el-form-item label="" prop="isCourse">
<DictRadio v-model="queryParams.isCourse" @change="handleQuery" size="small"
:radioData="isCourses"/>
</el-form-item>
<el-form-item label="上架状态" prop="publishStatus">
<DictRadio v-model="queryParams.publishStatus" @change="handleQuery" size="small"
:radioData="dict.type.pms_publish_status" :showAll="'all'"/>
</el-form-item>
<el-form-item label="名称" prop="name">
<el-input
v-model="queryParams.nameLike"
placeholder="请输入商品名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="品牌" prop="brandName">
<el-input
v-model="queryParams.brandNameLike"
placeholder="请输入品牌名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="分类" prop="productCategoryName">
<el-input
v-model="queryParams.productCategoryNameLike"
placeholder="请输入分类名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="编码" prop="outProductId">
<el-input
v-model="queryParams.outProductId"
placeholder="请输入商品编码"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</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-form-item>
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="80px" size="small" class="ry_form">
<el-row>
<el-form-item label="名称" prop="name">
<el-input
v-model="queryParams.nameLike"
placeholder="请输入商品名称"
clearable
size="small"
/>
</el-form-item>
<el-form-item label="品牌" prop="brandName">
<el-input
v-model="queryParams.brandNameLike"
placeholder="请输入品牌名称"
clearable
size="small"
/>
</el-form-item>
<el-form-item label="分类" prop="productCategoryName">
<el-input
v-model="queryParams.productCategoryNameLike"
placeholder="请输入分类名称"
clearable
size="small"
/>
</el-form-item>
<el-form-item label="编码" prop="outProductId">
<el-input
v-model="queryParams.outProductId"
placeholder="请输入商品编码"
clearable
size="small"
/>
</el-form-item>
<el-form-item style="float: right">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="上架状态" prop="publishStatus">
<DictRadio v-model="queryParams.publishStatus" @change="handleQuery" size="small"
:radioData="dict.type.pms_publish_status" :showAll="'all'"/>
</el-form-item>
<el-form-item label="" prop="isCourse">
<DictRadio v-model="queryParams.isCourse" @change="handleQuery" size="small"
:radioData="isCourses"/>
</el-form-item>
</el-row>
</el-form>
<el-row :gutter="10" class="mb8">
@ -65,7 +65,14 @@
</el-col>
</el-row>
<el-table v-loading="loading" :data="pmsProductList" @selection-change="handleSelectionChange" border>
<el-table
v-loading="loading"
:data="pmsProductList"
@selection-change="handleSelectionChange"
border
:header-cell-style="{'text-align': 'center'}"
:cell-style="{'text-align': 'center'}"
>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="主图" prop="pic">
<template slot-scope="{ row }">
@ -210,7 +217,7 @@ export default {
const { content, totalElements } = response
this.pmsProductList = content;
this.total = totalElements;
this.total =Number(totalElements) ;
console.log(content)
this.loading = false;
});

@ -28,7 +28,7 @@
/>
</el-form-item>
<el-form-item class="flex_one tr">
<el-form-item style="float: right">
<el-button
type="primary"
icon="el-icon-search"
@ -36,9 +36,7 @@
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
@ -62,6 +60,8 @@
:tree-props="{ hasChildren: 'hasChildren', children: 'children' }"
@selection-change="handleSelectionChange"
row-key="id"
:header-cell-style="{'text-align': 'center'}"
:cell-style="{'text-align': 'center'}"
>
<el-table-column label="名称" prop="typeName" />
<el-table-column label="图片" prop="icon">
@ -260,9 +260,9 @@ export default {
this.$refs["form"].validate((valid) => {
if (valid) {
let p;
if (this.form.parentId) {
this.form.parentId = this.form.parentId.pop();
}
// if (this.form.parentId) {
// this.form.parentId = this.form.parentId.pop();
// }
if (this.form.id != null) {
p = updatePmsProductCategory(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");

@ -149,7 +149,7 @@ export default {
}
},
created() {
this.getExpressData()
// this.getExpressData()
const { id } = this.$route.query
this.queryDetail(id).then((expressNo) => {
// this.getLogistic(expressNo)
@ -182,15 +182,15 @@ export default {
}
},
methods: {
getExpressData() {
getConfigKey2('express-set-key').then(res => {
if (res.data && res.data.configValue) {
this.experssList = JSON.parse(res.data.configValue)
} else {
this.experssList = []
}
})
},
// getExpressData() {
// getConfigKey2('express-set-key').then(res => {
// if (res.data && res.data.configValue) {
// this.experssList = JSON.parse(res.data.configValue)
// } else {
// this.experssList = []
// }
// })
// },
queryDetail(id) {
this.loading = true
return new Promise(resolve =>

@ -2,12 +2,24 @@
<div class="app-container">
<div v-show="show">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="medium" class="ry_form">
<el-form-item label="申请状态" prop="status">
<DictRadio v-model="queryParams.status" :radioData="dict.type.oms_aftersale_status" size="small" :show-all="'all'" @change="handleQuery"></DictRadio>
</el-form-item>
<el-form-item label="售后类型" prop="type">
<DictRadio v-model="queryParams.type" :radioData="dict.type.oms_aftersale_type" size="small" :show-all="'all'" @change="handleQuery"></DictRadio>
</el-form-item>
<el-row>
<el-form-item label="申请状态" prop="status">
<DictRadio v-model="queryParams.status" :radioData="dict.type.oms_aftersale_status" size="small" :show-all="'all'" @change="handleQuery"></DictRadio>
</el-form-item>
<el-form-item label="售后类型" prop="type">
<DictRadio v-model="queryParams.type" :radioData="dict.type.oms_aftersale_type" size="small" :show-all="'all'" @change="handleQuery"></DictRadio>
</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"
@change="handleChange">
</el-date-picker>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="订单号" prop="orderSn">
<el-input v-model.trim="queryParams.orderSn" placeholder="请输入订单号" clearable size="small"
@keyup.enter.native="handleQuery" />
@ -20,21 +32,20 @@
<el-input v-model.trim="queryParams.userPhone" placeholder="请输入会员手机号" clearable size="small"
@keyup.enter.native="handleQuery" />
</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"
@change="handleChange">
</el-date-picker>
</el-form-item>
<el-form-item class="flex_one tr">
<el-form-item style="float: right">
<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-form-item>
</el-row>
</el-form>
<el-table v-loading="loading" :data="omsAftersaleList" @selection-change="handleSelectionChange" border>
<el-table
v-loading="loading"
:data="omsAftersaleList"
@selection-change="handleSelectionChange"
border
:header-cell-style="{'text-align': 'center'}"
:cell-style="{'text-align': 'center'}"
height="660px"
>
<!-- <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">
@ -82,20 +93,20 @@
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']">详情
v-hasPermi="['oms:aftersale:list']">详情
</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, 1)"
v-if="scope.row.aftersaleStatus == 0" v-hasPermi="['manager:oms:aftersale:update']">同意
v-if="scope.row.aftersaleStatus == 0" v-hasPermi="['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']">拒绝
v-if="scope.row.aftersaleStatus == 0" v-hasPermi="['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']">确认收货
v-hasPermi="['oms:aftersale:update']">确认收货
</el-button>
</template>
</el-table-column>
@ -126,7 +137,7 @@
<!-- 日志 -->
<el-dialog :title="logObj.title" :visible.sync="logObj.open" width="500px" append-to-body>
<el-timeline>
<el-timeline-item v-for="item in logObj.logList" placement="top" :timestamp="parseTime(item.createTime, '')">
<el-timeline-item v-for="item in logObj.logList" :key="item.id" placement="top" :timestamp="parseTime(item.createTime, '')">
<el-card>
<h4>{{ getLogEvent(item.orderStatus) }}</h4>
<br>
@ -254,7 +265,7 @@ export default {
listOmsAftersale(query, pageReq).then(response => {
const { content, totalElements } = response
this.omsAftersaleList = content;
this.total = totalElements;
this.total = Number(totalElements);
this.loading = false;
});
},

@ -81,8 +81,8 @@
<script>
import { getOmsOrder } from "@/api/oms/order";
import { getConfigKey } from "@/api/system/config";
const key = "express-set-key"
// import { getConfigKey } from "@/api/system/config";
// const key = "express-set-key"
export default {
name: "OrderDetail",

@ -2,10 +2,14 @@
<div class="app-container" v-if="show">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="medium"
class="ry_form">
<el-form-item label="订单状态" prop="status">
<DictRadio v-model="queryParams.status" :radioData="dict.type.oms_order_status" size="small" :show-all="'all'"
:filter="['11', '12', '13', '14']" @change="handleQuery"></DictRadio>
</el-form-item>
<el-row>
<el-row>
<el-form-item label="订单状态" prop="status">
<DictRadio v-model="queryParams.status" :radioData="dict.type.oms_order_status" size="small" :show-all="'all'"
:filter="['11', '12', '13', '14']" @change="handleQuery"></DictRadio>
</el-form-item>
</el-row>
<el-form-item label="订单编号" prop="orderSn">
<el-input v-model.trim="queryParams.orderSn" placeholder="请输入订单编号" clearable size="small"
@keyup.enter.native="handleQuery"/>
@ -14,28 +18,37 @@
<el-input v-model.trim="queryParams.userPhone" placeholder="请输入会员手机号" clearable size="small"
@keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="省市区" prop="provinces">
<address-selector v-model="queryParams.provinces" size="small"></address-selector>
</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"
@change="handleChange">
</el-date-picker>
</el-form-item>
<el-form-item class="flex_one tr">
<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"
@change="handleChange">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="省市区" prop="provinces">-->
<!-- <address-selector v-model="queryParams.provinces" size="small"></address-selector>-->
<!-- </el-form-item>-->
<el-form-item style="float: right">
<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-form-item>
</el-row>
</el-form>
<el-table v-loading="loading" :data="omsOrderList" border @selection-change="handleSelectionChange"
cell-class-name="my-cell">
<el-table
v-loading="loading"
:data="omsOrderList"
border
@selection-change="handleSelectionChange"
cell-class-name="my-cell"
:header-cell-style="{'text-align': 'center'}"
:cell-style="{'text-align': 'center'}"
height="680px"
>
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="收件信息" prop="receiverName" width="280">
<el-table-column label="收件信息" prop="receiverName" width="200">
<template v-slot="scope">
<div>
<!-- <span>{{ // scope.row.decrypt?scope.row.receiverName:getHiddenName(scope.row.receiverName) }} {{ scope.row.receiverPhone }}</span>-->
@ -60,7 +73,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="客户信息" prop="receiverName" width="200">
<el-table-column label="客户信息" prop="receiverName" width="100">
<template v-slot="scope">
<p>{{ scope.row.nickName }}</p>
<p>{{ scope.row.mark }}</p>
@ -128,7 +141,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="订单状态" prop="status" width="160">
<el-table-column label="订单状态" prop="status" width="260">
<template v-slot="scope">
<div>
<el-tag :type="getOrderStatusTag(scope.row.status)" style="margin-right: 10px">
@ -159,7 +172,7 @@
size="mini"
type="text"
@click="goDetail(scope.row)"
v-hasPermi="['oms:order:query']"
v-hasPermi="['oms:order:list']"
>详情
</el-button>
<el-button
@ -469,7 +482,7 @@ export default {
listOmsOrder(query, pageReq).then(response => {
const {content, totalElements} = response
this.omsOrderList = content;
this.total = totalElements;
this.total = Number(totalElements);
this.loading = false;
});
},
@ -684,9 +697,9 @@ export default {
},
handleDelivery(row) {
allExpress({}).then((res)=>{
this.experssList=res
})
// allExpress({}).then((res)=>{
// this.experssList=res
// })
this.deliveryObj.form.orderId = row.id
this.deliveryObj.open = true
},

@ -336,11 +336,11 @@ export default {
getCla(row.claId || this.ids).then(response => {
const claInfo = response.data.claInfo
const claCourseInfo = response.data.claCourseInfo
const canChangeCourse = response.data.canChangeCourse
// const canChangeCourse = response.data.canChangeCourse
this.$refs['changeCla'].reset()
this.$refs['changeCla'].form = claInfo
this.$refs['changeCla'].chooseCourseInfo = claCourseInfo
this.$refs['changeCla'].canChangeCourse = canChangeCourse
this.$refs['changeCla'].canChangeCourse = false
this.title = '修改课程班级信息'
this.$refs['changeCla'].open = true
})

@ -1,7 +1,7 @@
<template>
<div >
<el-table :data="tableData"
:height="650"
:height="700"
:header-cell-style="{'text-align': 'center'}"
border
v-loading="loading" >
@ -141,17 +141,20 @@
</template>
</el-table-column>
<el-table-column prop="purchaseDate" label="办理时间" width="100">
<template slot-scope="scope">
{{ formatDateTime(scope.row.purchaseDate) }}
</template>
</el-table-column>
</el-table>
<pagination
v-show="pagination.total>0"
:total="pagination.total"
:page.sync="pagination.current"
:limit.sync="pagination.size"
@pagination="loadData(searchForm.memberId)"
/>
</div>
</template>
@ -166,6 +169,10 @@ export default {
studentId: {
type: String,
default: undefined
},
queryParams: {
type: Object,
default: () => ({})
}
},
data() {
@ -173,6 +180,8 @@ export default {
//
searchForm: {
memberId: null,
status: null, //
cardTypeId: null // ID
},
//
@ -196,8 +205,6 @@ export default {
//
detailDialogVisible: false,
activateDialogVisible: false,
renewDialogVisible: false,
countDialogVisible: false,
countDialogType: 'add' // add deduct
}
@ -208,6 +215,22 @@ export default {
this.searchForm.memberId = newValue
},
immediate: true
},
queryParams: {
handler(newVal) {
// this.searchForm = { ...this.searchForm, ...newVal }
this.searchForm.memberId=newVal.studentId
this.searchForm.status=newVal.status
this.searchForm.cardTypeId=newVal.cardTypeId
//
if (newVal.expiryDate && newVal.expiryDate.length === 2) {
this.searchForm.startDate = newVal.expiryDate[0]
this.searchForm.endDate = newVal.expiryDate[1]
}
// this.loadData() //
},
immediate: true,
deep: true
}
},
created() {
@ -216,7 +239,7 @@ export default {
methods: {
//
async loadData(studentId) {
this.searchForm.memberId=studentId
this.searchForm.memberId=studentId || this.searchForm.memberId
this.loading = true
try {
const params = {
@ -225,12 +248,6 @@ export default {
pageSize: this.pagination.size
}
//
if (this.searchForm.dateRange && this.searchForm.dateRange.length === 2) {
params.startDate = this.searchForm.dateRange[0]
params.endDate = this.searchForm.dateRange[1]
}
const response = await memberCardApi.getCardList(params)
if (response.respCode === '0000') {
this.tableData = response.data.rows || []

@ -0,0 +1,118 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" style="padding-bottom: 30px">
<el-form-item label="选择会员" prop="studentId">
<student-select v-model="queryParams.studentId"/>
</el-form-item>
<el-form-item label="卡项类型" prop="cardTypeId">
<el-select
v-model="queryParams.cardTypeId"
placeholder="状态"
clearable
style="width: 240px"
>
<el-option
v-for="dict in this.cardTypeOptions"
:key="dict.cardTypeId"
:label="dict.cardName"
:value="dict.cardTypeId"
/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="状态"
clearable
style="width: 240px"
>
<el-option
v-for="dict in this.statusOptions"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="到期日期">
<el-date-picker
v-model="queryParams.expiryDate"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item style="float: right">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
</el-form-item>
</el-form>
<student-course-table ref="studentCourseTable" :query-params="queryParams"/>
</div>
</template>
<script>
import {
select as cardTypeSelect
} from '@/api/school/sc/memberCardType'
import studentCourseTable from '@/views/school/student/components/studentMemberCard.vue'
import studentSelect from '@/components/sc/student/studentSelect'
import {getStudent} from "@/api/school/sc/student";
export default {
name: 'studentMemberCard',
components: {
studentCourseTable,
studentSelect
},
data() {
return {
loading: false,
queryParams:{
studentId:undefined,
expiryDate:undefined,
status:undefined,
cardTypeId:undefined,
},
cardTypeOptions:[],
statusOptions: [{
value: 'ACTIVE',
label: '激活'
}, {
value: 'INACTIVE',
label: '未激活'
}, {
value: 'EXPIRED',
label: '已过期'
},
{
value: 'SUSPENDED',
label: '已暂停'
},
],
}
},
created() {
this.getMemberCardTypes()
},
methods: {
getMemberCardTypes(){
cardTypeSelect({}).then(response => {
this.cardTypeOptions = response.data
})
},
//
handleQuery() {
this.$refs.studentCourseTable.loadData(this.queryParams.studentId)
},
}
}
</script>
Loading…
Cancel
Save