Merge branch 'ma'
commit
7331fcbb17
|
@ -90,7 +90,7 @@
|
||||||
<template v-if="detail.goodsParamsDTOList && detail.goodsParamsDTOList.length">
|
<template v-if="detail.goodsParamsDTOList && detail.goodsParamsDTOList.length">
|
||||||
<div class="goods-params" v-for="item in detail.goodsParamsDTOList" :key="item.groupId">
|
<div class="goods-params" v-for="item in detail.goodsParamsDTOList" :key="item.groupId">
|
||||||
<span class="ml_10">{{item.groupName}}</span>
|
<span class="ml_10">{{item.groupName}}</span>
|
||||||
<table class="mb_10" cellpadding='0' border="1" cellspacing="0" >
|
<table class="mb_10" cellpadding='0' cellspacing="0" >
|
||||||
<tr v-for="param in item.goodsParamsItemDTOList" :key="param.paramId">
|
<tr v-for="param in item.goodsParamsItemDTOList" :key="param.paramId">
|
||||||
<td style="text-align: center">{{param.paramName}}</td><td>{{param.paramValue}}</td>
|
<td style="text-align: center">{{param.paramName}}</td><td>{{param.paramValue}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -17,14 +17,14 @@ export default {
|
||||||
* @description api请求基础路径
|
* @description api请求基础路径
|
||||||
*/
|
*/
|
||||||
api_dev: {
|
api_dev: {
|
||||||
common: "https://common-api.pickmall.cn",
|
// common: "https://common-api.pickmall.cn",
|
||||||
buyer: "https://buyer-api.pickmall.cn",
|
// buyer: "https://buyer-api.pickmall.cn",
|
||||||
seller: "https://store-api.pickmall.cn",
|
// seller: "https://store-api.pickmall.cn",
|
||||||
manager: "https://admin-api.pickmall.cn"
|
// manager: "https://admin-api.pickmall.cn"
|
||||||
// common: 'http://192.168.0.106:8890',
|
common: 'http://192.168.0.103:8890',
|
||||||
// buyer: 'http://192.168.0.106:8888',
|
buyer: 'http://192.168.0.103:8888',
|
||||||
// seller: 'http://192.168.0.106:8889',
|
seller: 'http://192.168.0.103:8889',
|
||||||
// manager: 'http://192.168.0.106:8887'
|
manager: 'http://192.168.0.103:8887'
|
||||||
},
|
},
|
||||||
api_prod: {
|
api_prod: {
|
||||||
common: "https://common-api.pickmall.cn",
|
common: "https://common-api.pickmall.cn",
|
||||||
|
|
|
@ -1,43 +1,38 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="search">
|
<div class="search">
|
||||||
|
|
||||||
<Card>
|
<Card>
|
||||||
|
<Form ref="searchForm" @keydown.enter.native="handleSearch" :model="searchForm" inline :label-width="70" class="search-form">
|
||||||
|
<Form-item label="订单号" prop="orderSn">
|
||||||
|
<Input type="text" v-model="searchForm.orderSn" placeholder="请输入订单号" clearable style="width: 160px" />
|
||||||
|
</Form-item>
|
||||||
|
<Form-item label="会员名称" prop="buyerName">
|
||||||
|
<Input type="text" v-model="searchForm.buyerName" placeholder="请输入会员名称" clearable style="width: 160px" />
|
||||||
|
</Form-item>
|
||||||
|
|
||||||
<Row @keydown.enter.native="handleSearch">
|
<Form-item label="订单类型" prop="orderType">
|
||||||
<Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form">
|
<Select v-model="searchForm.orderType" placeholder="请选择" clearable style="width: 160px">
|
||||||
<Form-item label="订单号" prop="orderSn">
|
<Option value="NORMAL">普通订单</Option>
|
||||||
<Input type="text" v-model="searchForm.orderSn" placeholder="请输入订单号" clearable style="width: 160px" />
|
<Option value="PINTUAN">拼团订单</Option>
|
||||||
</Form-item>
|
<Option value="GIFT">赠品订单</Option>
|
||||||
<Form-item label="会员名称" prop="buyerName">
|
<Option value="VIRTUAL">核验订单</Option>
|
||||||
<Input type="text" v-model="searchForm.buyerName" placeholder="请输入会员名称" clearable style="width: 160px" />
|
</Select>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
|
<Form-item label="订单状态" prop="orderStatus">
|
||||||
<Form-item label="订单类型" prop="orderType">
|
<Select v-model="searchForm.orderStatus" placeholder="请选择" clearable style="width: 160px">
|
||||||
<Select v-model="searchForm.orderType" placeholder="请选择" clearable style="width: 160px">
|
<Option value="UNPAID">未付款</Option>
|
||||||
<Option value="NORMAL">普通订单</Option>
|
<Option value="PAID">已付款</Option>
|
||||||
<Option value="PINTUAN">拼团订单</Option>
|
<Option value="UNDELIVERED">待发货</Option>
|
||||||
<Option value="GIFT">赠品订单</Option>
|
<Option value="DELIVERED">已发货</Option>
|
||||||
<Option value="VIRTUAL">核验订单</Option>
|
<Option value="COMPLETED">已完成</Option>
|
||||||
</Select>
|
<Option value="TAKE">待核验</Option>
|
||||||
</Form-item>
|
<Option value="CANCELLED">已取消</Option>
|
||||||
<Form-item label="订单状态" prop="orderStatus">
|
</Select>
|
||||||
<Select v-model="searchForm.orderStatus" placeholder="请选择" clearable style="width: 160px">
|
</Form-item>
|
||||||
<Option value="UNPAID">未付款</Option>
|
<Form-item label="下单时间">
|
||||||
<Option value="PAID">已付款</Option>
|
<DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 160px"></DatePicker>
|
||||||
<Option value="UNDELIVERED">待发货</Option>
|
</Form-item>
|
||||||
<Option value="DELIVERED">已发货</Option>
|
<Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button>
|
||||||
<Option value="COMPLETED">已完成</Option>
|
</Form>
|
||||||
<Option value="TAKE">待核验</Option>
|
|
||||||
<Option value="CANCELLED">已取消</Option>
|
|
||||||
</Select>
|
|
||||||
</Form-item>
|
|
||||||
|
|
||||||
<Form-item label="下单时间">
|
|
||||||
<DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 160px"></DatePicker>
|
|
||||||
</Form-item>
|
|
||||||
<Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button>
|
|
||||||
</Form>
|
|
||||||
</Row>
|
|
||||||
<div>
|
<div>
|
||||||
<download-excel class="export-excel-wrapper" :data="data" :fields="fields" name="商品订单.xls">
|
<download-excel class="export-excel-wrapper" :data="data" :fields="fields" name="商品订单.xls">
|
||||||
<Button type="info" class="export">
|
<Button type="info" class="export">
|
||||||
|
|
|
@ -118,7 +118,7 @@ export default {
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
return h(
|
return h(
|
||||||
"div",
|
"div",
|
||||||
params.row.receivedNum + "/" + params.row.publishNum
|
params.row.receivedNum + "/" + (params.row.publishNum === 0 ? '不限制' : params.row.publishNum)
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -12,13 +12,7 @@
|
||||||
<Input type='number' v-model="formValidate.autoReceive">
|
<Input type='number' v-model="formValidate.autoReceive">
|
||||||
<span slot="append">天</span>
|
<span slot="append">天</span>
|
||||||
</Input>
|
</Input>
|
||||||
|
<span class="desc">收货后,订单完成</span>
|
||||||
</FormItem>
|
|
||||||
<FormItem label="订单自动完成" prop="autoComplete">
|
|
||||||
<Input type='number' v-model="formValidate.autoComplete">
|
|
||||||
<span slot="append">天</span>
|
|
||||||
</Input>
|
|
||||||
|
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem label="自动评价" prop="autoEvaluation">
|
<FormItem label="自动评价" prop="autoEvaluation">
|
||||||
|
@ -27,11 +21,17 @@
|
||||||
</Input>
|
</Input>
|
||||||
|
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="售后自动取消" prop="autoCancelAfterSale">
|
<FormItem label="已完成订单允许退单" prop="closeAfterSale">
|
||||||
<Input type='number' v-model="formValidate.autoCancelAfterSale">
|
<Input type='number' v-model="formValidate.closeAfterSale">
|
||||||
<span slot="append">天</span>
|
<span slot="append">天</span>
|
||||||
</Input>
|
</Input>
|
||||||
|
<span class="desc">如果天数为0,则不允许退单</span>
|
||||||
|
</FormItem>
|
||||||
|
<FormItem label="已完成订单允许投诉" prop="closeComplaint">
|
||||||
|
<Input type='number' v-model="formValidate.closeComplaint">
|
||||||
|
<span slot="append">天</span>
|
||||||
|
</Input>
|
||||||
|
<span class="desc">如果天数为0,则不允许投诉</span>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<div class="label-btns">
|
<div class="label-btns">
|
||||||
|
@ -50,10 +50,10 @@ export default {
|
||||||
ruleValidate: {}, // 验证规则
|
ruleValidate: {}, // 验证规则
|
||||||
formValidate: { // 表单数据
|
formValidate: { // 表单数据
|
||||||
autoCancel: "",
|
autoCancel: "",
|
||||||
autoComplete: "",
|
|
||||||
autoEvaluation: "",
|
autoEvaluation: "",
|
||||||
autoReceive: "",
|
autoReceive: "",
|
||||||
autoCancelAfterSale: "",
|
closeAfterSale: "",
|
||||||
|
closeComplaint:""
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
@ -121,4 +121,8 @@ export default {
|
||||||
/deep/ .ivu-input {
|
/deep/ .ivu-input {
|
||||||
width: 100px !important;
|
width: 100px !important;
|
||||||
}
|
}
|
||||||
|
.desc {
|
||||||
|
font-size: 12px;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
import Vue from "vue";
|
||||||
|
|
||||||
|
export default new Vue;
|
|
@ -280,34 +280,13 @@ div.base-info-item {
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .ivu-steps {
|
|
||||||
width: 100% !important;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.step-list {
|
.step-list {
|
||||||
height: 60px;
|
height: 60px;
|
||||||
|
padding: 10px 30px;
|
||||||
|
background-color: #fff;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
border-radius: 0.8em;
|
border-radius: 0.8em;
|
||||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||||
// box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04)
|
|
||||||
}
|
|
||||||
.step-view {
|
|
||||||
flex: 1;
|
|
||||||
height: 60px;
|
|
||||||
font-size: 19px;
|
|
||||||
text-align: center;
|
|
||||||
display: flex;
|
|
||||||
background-color: #fff;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.step-view:nth-of-type(1) {
|
|
||||||
border-top-left-radius: 0.4em;
|
|
||||||
border-bottom-left-radius: 0.4em;
|
|
||||||
}
|
|
||||||
.step-view:nth-last-child(1) {
|
|
||||||
border-top-right-radius: 0.4em;
|
|
||||||
border-bottom-right-radius: 0.4em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.add-sku-btn {
|
.add-sku-btn {
|
||||||
|
|
|
@ -59,8 +59,6 @@
|
||||||
:data="data"
|
:data="data"
|
||||||
ref="table"
|
ref="table"
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
@on-sort-change="changeSort"
|
|
||||||
@on-selection-change="changeSelect"
|
|
||||||
></Table>
|
></Table>
|
||||||
<Row type="flex" justify="end" class="page">
|
<Row type="flex" justify="end" class="page">
|
||||||
<Page
|
<Page
|
||||||
|
@ -77,29 +75,6 @@
|
||||||
></Page>
|
></Page>
|
||||||
</Row>
|
</Row>
|
||||||
</Card>
|
</Card>
|
||||||
<Modal
|
|
||||||
:title="modalTitle"
|
|
||||||
v-model="modalVisible"
|
|
||||||
:mask-closable="false"
|
|
||||||
:width="500"
|
|
||||||
>
|
|
||||||
<Form
|
|
||||||
ref="underForm"
|
|
||||||
:model="underForm"
|
|
||||||
:label-width="100"
|
|
||||||
:rules="formValidate"
|
|
||||||
>
|
|
||||||
<FormItem label="下架原因" prop="reason">
|
|
||||||
<Input v-model="underForm.reason" clearable style="width: 100%" />
|
|
||||||
</FormItem>
|
|
||||||
</Form>
|
|
||||||
<div slot="footer">
|
|
||||||
<Button type="text" @click="modalVisible = false">取消</Button>
|
|
||||||
<Button type="primary" :loading="submitLoading" @click="lower(form.id)"
|
|
||||||
>提交</Button
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</Modal>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -110,11 +85,7 @@ export default {
|
||||||
components: {},
|
components: {},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
id: "", //要操作的id
|
|
||||||
openSearch: true, // 显示搜索
|
|
||||||
loading: true, // 表单加载状态
|
loading: true, // 表单加载状态
|
||||||
modalVisible: false, // 添加或编辑显示
|
|
||||||
modalTitle: "", // 添加或编辑标题
|
|
||||||
drop: false,
|
drop: false,
|
||||||
dropDownContent: "展开",
|
dropDownContent: "展开",
|
||||||
dropDownIcon: "ios-arrow-down",
|
dropDownIcon: "ios-arrow-down",
|
||||||
|
@ -124,24 +95,8 @@ export default {
|
||||||
pageSize: 10, // 页面大小
|
pageSize: 10, // 页面大小
|
||||||
sort: "create_time", // 默认排序字段
|
sort: "create_time", // 默认排序字段
|
||||||
order: "desc", // 默认排序方式
|
order: "desc", // 默认排序方式
|
||||||
|
saveType: "TEMPLATE"
|
||||||
},
|
},
|
||||||
underForm: { // 下架表单
|
|
||||||
reason: "",
|
|
||||||
},
|
|
||||||
form: {
|
|
||||||
// 添加或编辑表单对象初始化数据
|
|
||||||
goodsName: "",
|
|
||||||
sn: "",
|
|
||||||
marketEnable: "",
|
|
||||||
price: "",
|
|
||||||
sellerName: "",
|
|
||||||
},
|
|
||||||
// 表单验证规则
|
|
||||||
|
|
||||||
formValidate: {},
|
|
||||||
submitLoading: false, // 添加或编辑提交状态
|
|
||||||
selectList: [], // 多选数据
|
|
||||||
selectCount: 0, // 多选计数
|
|
||||||
columns: [ // 表头
|
columns: [ // 表头
|
||||||
{
|
{
|
||||||
title: "ID",
|
title: "ID",
|
||||||
|
@ -202,7 +157,7 @@ export default {
|
||||||
"Button",
|
"Button",
|
||||||
{
|
{
|
||||||
props: {
|
props: {
|
||||||
type: "primary",
|
type: "success",
|
||||||
size: "small",
|
size: "small",
|
||||||
},
|
},
|
||||||
style: {
|
style: {
|
||||||
|
@ -244,22 +199,14 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init() {
|
init() {
|
||||||
let here = this.$route.matched.find((v) => v.name === this.$route.name);
|
|
||||||
this.pageType = here.props.default ? here.props.default.type : "";
|
|
||||||
if (this.pageType === "TEMPLATE") {
|
|
||||||
this.searchForm.saveType = "TEMPLATE";
|
|
||||||
} else {
|
|
||||||
this.searchForm.saveType = "DRAFT";
|
|
||||||
}
|
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
},
|
},
|
||||||
|
// 编辑模板
|
||||||
editGoods(v) {
|
editGoods(v) {
|
||||||
this.searchForm.saveType === "TEMPLATE" ?
|
this.$router.push({ name: "goods-template-operation-edit", query: { draftId: v.id } })
|
||||||
this.$router.push({ name: "goods-template-operation-edit", query: { draftId: v.id } }):
|
|
||||||
this.$router.push({ name: "goods-draft-operation-edit", query: { draftId: v.id } });
|
|
||||||
},
|
},
|
||||||
removeDraft (id) {
|
removeDraft (id) {
|
||||||
let showType = this.searchForm.saveType === "TEMPLATE" ? "模版" : "草稿";
|
let showType = "模版";
|
||||||
this.$Modal.confirm({
|
this.$Modal.confirm({
|
||||||
title: "确认审核",
|
title: "确认审核",
|
||||||
content: "您确认要删除id为 " + id + " 的" + showType + "吗?",
|
content: "您确认要删除id为 " + id + " 的" + showType + "吗?",
|
||||||
|
@ -278,7 +225,6 @@ export default {
|
||||||
changePage(v) {
|
changePage(v) {
|
||||||
this.searchForm.pageNumber = v;
|
this.searchForm.pageNumber = v;
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
this.clearSelectAll();
|
|
||||||
},
|
},
|
||||||
changePageSize(v) {
|
changePageSize(v) {
|
||||||
this.searchForm.pageSize = v;
|
this.searchForm.pageSize = v;
|
||||||
|
@ -296,21 +242,6 @@ export default {
|
||||||
// 重新加载数据
|
// 重新加载数据
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
},
|
},
|
||||||
changeSort(e) {
|
|
||||||
this.searchForm.sort = e.key;
|
|
||||||
this.searchForm.order = e.order;
|
|
||||||
if (e.order === "normal") {
|
|
||||||
this.searchForm.order = "";
|
|
||||||
}
|
|
||||||
this.getDataList();
|
|
||||||
},
|
|
||||||
clearSelectAll() {
|
|
||||||
this.$refs.table.selectAll(false);
|
|
||||||
},
|
|
||||||
changeSelect(e) {
|
|
||||||
this.selectList = e;
|
|
||||||
this.selectCount = e.length;
|
|
||||||
},
|
|
||||||
dropDown() {
|
dropDown() {
|
||||||
if (this.drop) {
|
if (this.drop) {
|
||||||
this.dropDownContent = "展开";
|
this.dropDownContent = "展开";
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,216 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<!-- 选择商品类型 -->
|
||||||
|
<Modal v-model="selectGoodsType" width="550" :closable="false">
|
||||||
|
<div class="goods-type-list" v-if="!showGoodsTemplates">
|
||||||
|
<div class="goods-type-item" :class="{'active-goods-type':item.check}" @click="handleClickGoodsType(item)"
|
||||||
|
v-for="(item,index) in goodsTypeWay" :key="index">
|
||||||
|
<img :src="item.img"/>
|
||||||
|
<div>
|
||||||
|
<h2>{{ item.title }}</h2>
|
||||||
|
<p>{{ item.desc }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-else class="goods-type-list">
|
||||||
|
<h2 @click="showGoodsTemplates = !showGoodsTemplates">返回</h2>
|
||||||
|
<div class="goods-type-item template-item" @click="handleClickGoodsTemplate(item)"
|
||||||
|
v-for="(item,tempIndex) in goodsTemplates" :key="tempIndex">
|
||||||
|
<img :src="item.thumbnail" />
|
||||||
|
<div>
|
||||||
|
<h2>{{ item.goodsName }}</h2>
|
||||||
|
<p>{{ item.sellingPoint || '' }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Modal>
|
||||||
|
<!-- 商品分类 -->
|
||||||
|
<div class="content-goods-publish">
|
||||||
|
<div class="goods-category">
|
||||||
|
<ul v-if="categoryListLevel1.length > 0">
|
||||||
|
<li v-for="(item, index) in categoryListLevel1" :class="{ activeClass: category[0].name === item.name }"
|
||||||
|
@click="handleSelectCategory(item, index, 1)" :key="index">
|
||||||
|
<span>{{ item.name }}</span>
|
||||||
|
<span>></span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<ul v-if="categoryListLevel2.length > 0">
|
||||||
|
<li v-for="(item, index) in categoryListLevel2" :class="{ activeClass: category[1].name === item.name }"
|
||||||
|
@click="handleSelectCategory(item, index, 2)" :key="index">
|
||||||
|
<span>{{ item.name }}</span>
|
||||||
|
<span>></span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<ul v-if="categoryListLevel3.length > 0">
|
||||||
|
<li v-for="(item, index) in categoryListLevel3" :class="{ activeClass: category[2].name === item.name }"
|
||||||
|
@click="handleSelectCategory(item, index, 3)" :key="index">
|
||||||
|
<span>{{ item.name }}</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<p class="current-goods-category">
|
||||||
|
您当前选择的商品类别是:
|
||||||
|
<span>{{ category[0].name }}</span>
|
||||||
|
<span v-show="category[1].name">> {{ category[1].name }}</span>
|
||||||
|
<span v-show="category[2].name">> {{ category[2].name }}</span>
|
||||||
|
</p>
|
||||||
|
<template v-if="selectedTemplate.goodsName">
|
||||||
|
<Divider>已选商品模版:{{selectedTemplate.goodsName}}</Divider>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
<!-- 底部按钮 -->
|
||||||
|
<div class="footer">
|
||||||
|
<ButtonGroup>
|
||||||
|
<Button type="primary" @click="selectGoodsType = true">商品类型</Button>
|
||||||
|
<Button type="primary" @click="next">下一步</Button>
|
||||||
|
</ButtonGroup>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import * as API_GOODS from "@/api/goods";
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
selectedTemplate: {}, // 已选模板
|
||||||
|
selectGoodsType: false, // 展示选择商品分类modal
|
||||||
|
goodsTemplates: [], // 商品模板列表
|
||||||
|
showGoodsTemplates: false, //是否显示选择商品模板
|
||||||
|
goodsTypeWay: [
|
||||||
|
{
|
||||||
|
title: "实物商品",
|
||||||
|
img: require("@/assets/goodsType1.png"),
|
||||||
|
desc: "零售批发,物流配送",
|
||||||
|
type: "PHYSICAL_GOODS",
|
||||||
|
check: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "虚拟商品",
|
||||||
|
img: require("@/assets/goodsType2.png"),
|
||||||
|
desc: "虚拟核验,无需物流",
|
||||||
|
type: "VIRTUAL_GOODS",
|
||||||
|
check: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "商品模板导入",
|
||||||
|
img: require("@/assets/goodsTypeTpl.png"),
|
||||||
|
desc: "商品模板,一键导入",
|
||||||
|
check: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
// 商品分类选择数组
|
||||||
|
category: [
|
||||||
|
{name: '', id: ''},
|
||||||
|
{name: '', id: ''},
|
||||||
|
{name: '', id: ''}
|
||||||
|
],
|
||||||
|
// 商品类型
|
||||||
|
goodsType: '',
|
||||||
|
/** 1级分类列表*/
|
||||||
|
categoryListLevel1: [],
|
||||||
|
|
||||||
|
/** 2级分类列表*/
|
||||||
|
categoryListLevel2: [],
|
||||||
|
|
||||||
|
/** 3级分类列表*/
|
||||||
|
categoryListLevel3: [],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 点击商品类型
|
||||||
|
handleClickGoodsType(val) {
|
||||||
|
this.goodsTypeWay.map((item) => {
|
||||||
|
return (item.check = false);
|
||||||
|
});
|
||||||
|
|
||||||
|
val.check = !val.check;
|
||||||
|
if (!val.type) {
|
||||||
|
this.GET_GoodsTemplate()
|
||||||
|
this.showGoodsTemplates = true;
|
||||||
|
} else {
|
||||||
|
this.goodsType = val.type;
|
||||||
|
this.selectedTemplate = {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 点击商品模板
|
||||||
|
handleClickGoodsTemplate(val) {
|
||||||
|
console.log(val);
|
||||||
|
this.selectedTemplate = val;
|
||||||
|
this.selectGoodsType = false;
|
||||||
|
this.$emit('change', {tempId: val.id})
|
||||||
|
},
|
||||||
|
// 获取商品模板
|
||||||
|
GET_GoodsTemplate() {
|
||||||
|
let searchParams = {
|
||||||
|
saveType: "TEMPLATE",
|
||||||
|
sort: "create_time",
|
||||||
|
order: "desc"
|
||||||
|
};
|
||||||
|
API_GOODS.getDraftGoodsListData(searchParams).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.goodsTemplates = res.result.records;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 选择商城商品分类 */
|
||||||
|
handleSelectCategory(row, index, level) {
|
||||||
|
if (level === 1) {
|
||||||
|
this.category.forEach(cate => {
|
||||||
|
cate.name = '',
|
||||||
|
cate.id = ''
|
||||||
|
})
|
||||||
|
this.category[0].name = row.name;
|
||||||
|
this.category[0].id = row.id;
|
||||||
|
this.categoryListLevel2 = this.categoryListLevel1[index].children;
|
||||||
|
this.categoryListLevel3 = [];
|
||||||
|
} else if (level === 2) {
|
||||||
|
this.category[1].name = row.name;
|
||||||
|
this.category[1].id = row.id;
|
||||||
|
this.category[2].name = '';
|
||||||
|
this.category[2].id = '';
|
||||||
|
this.categoryListLevel3 = this.categoryListLevel2[index].children;
|
||||||
|
} else {
|
||||||
|
this.category[2].name = row.name
|
||||||
|
this.category[2].id = row.id
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 查询下一级 商城商品分类*/
|
||||||
|
GET_NextLevelCategory(row) {
|
||||||
|
const _id = row && row.id !== 0 ? row.id : 0;
|
||||||
|
API_GOODS.getGoodsCategoryAll().then((res) => {
|
||||||
|
if (res.success && res.result) {
|
||||||
|
this.categoryListLevel1 = res.result;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 下一步
|
||||||
|
next() {
|
||||||
|
window.scrollTo(0, 0);
|
||||||
|
if (!this.goodsType && !this.selectedTemplate.goodsName) {
|
||||||
|
this.$Message.error('请选择商品类型')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!this.category[0].name) {
|
||||||
|
this.$Message.error("请选择商品分类");
|
||||||
|
return;
|
||||||
|
} else if (!this.category[2].name) {
|
||||||
|
this.$Message.error("必须选择到三级分类");
|
||||||
|
return;
|
||||||
|
} else if (this.category[2].name) {
|
||||||
|
if (this.selectedTemplate.id) {
|
||||||
|
this.$emit('change',{tempId: this.selectedTemplate.id})
|
||||||
|
} else {
|
||||||
|
this.$emit('change',{category: this.category,goodsType:this.goodsType})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
this.GET_NextLevelCategory()
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import "./addGoods.scss";
|
||||||
|
</style>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,37 @@
|
||||||
|
<template>
|
||||||
|
<div class="content-goods-publish">
|
||||||
|
<div class="success" style="text-align: left">
|
||||||
|
<h1>恭喜您,商品发布成功!</h1>
|
||||||
|
<div class="goToGoodsList" @click="gotoGoodsList">
|
||||||
|
<a>去店铺查看商品列表>></a>
|
||||||
|
</div>
|
||||||
|
<div class="operation">
|
||||||
|
<h3>您还可以:</h3>
|
||||||
|
<div>
|
||||||
|
1、继续
|
||||||
|
<a @click="gotoBack">发布商品</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
2、进入卖家中心,管理
|
||||||
|
<a @click="gotoGoodsList">商品列表</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
methods: {
|
||||||
|
// 跳转商品列表
|
||||||
|
gotoGoodsList() {
|
||||||
|
this.$router.push({name: "goods"});
|
||||||
|
},
|
||||||
|
gotoBack() {
|
||||||
|
this.$router.go();
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import "./addGoods.scss";
|
||||||
|
</style>
|
Loading…
Reference in New Issue