新增添加商品
This commit is contained in:
parent
055b0a068b
commit
8135d4616b
|
|
@ -1,8 +1,8 @@
|
|||
<template>
|
||||
<el-dialog title="选择商品" :visible.sync="dialogVisible" @open="resetHandle()">
|
||||
<el-dialog title="选择团购券分类" :visible.sync="dialogVisible" @open="resetHandle()">
|
||||
<el-form :model="searhForm" inline>
|
||||
<el-form-item>
|
||||
<el-input v-model="searhForm.name" placeholder="商品名称"></el-input>
|
||||
<el-input v-model="searhForm.name" placeholder="分类名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="getTableData">查询</el-button>
|
||||
|
|
@ -11,6 +11,7 @@
|
|||
</el-form>
|
||||
<div class="head-container">
|
||||
<el-table ref="table" :data="tableData.list" v-loading="tableData.loading">
|
||||
<el-table-column type="selection" width="55" align="center"></el-table-column>
|
||||
<el-table-column label="名称" prop="name"></el-table-column>
|
||||
<el-table-column label="状态" prop="status">
|
||||
<template v-slot="scope">
|
||||
|
|
@ -18,16 +19,15 @@
|
|||
disabled></el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template v-slot="scope">
|
||||
<el-button type="primary" size="mini" @click="confirmHandle(scope.row)">选择</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<el-pagination :total="tableData.total" :current-page="tableData.page + 1" :page-size="tableData.size"
|
||||
@current-change="paginationChange" @size-change="sizeChange"
|
||||
layout="total, sizes, prev, pager, next, jumper"></el-pagination>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="confirmHandle">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
|
|
@ -46,13 +46,15 @@ export default {
|
|||
total: 0,
|
||||
loading: false,
|
||||
list: []
|
||||
}
|
||||
},
|
||||
goods: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 确定选商品
|
||||
confirmHandle(row) {
|
||||
this.$emit('success', row)
|
||||
let res = this.$refs.table.selection
|
||||
this.$emit('success', res)
|
||||
this.close()
|
||||
},
|
||||
// 重置查询
|
||||
|
|
@ -83,19 +85,42 @@ export default {
|
|||
name: this.searhForm.name,
|
||||
sort: 'id',
|
||||
})
|
||||
this.tableData.loading = false
|
||||
this.tableData.list = res.content
|
||||
this.tableData.total = res.totalElements
|
||||
|
||||
if (this.goods.length) {
|
||||
this.$nextTick(() => {
|
||||
this.selection()
|
||||
})
|
||||
}
|
||||
setTimeout(() => {
|
||||
this.tableData.loading = false
|
||||
}, 500);
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
},
|
||||
show() {
|
||||
show(goods) {
|
||||
this.dialogVisible = true
|
||||
if (goods && goods.length) {
|
||||
this.goods = [...goods]
|
||||
} else {
|
||||
this.goods = []
|
||||
}
|
||||
this.resetHandle()
|
||||
this.getTableData()
|
||||
},
|
||||
close() {
|
||||
this.dialogVisible = false
|
||||
},
|
||||
selection() {
|
||||
this.goods.forEach(row => {
|
||||
this.tableData.list.forEach((item, index) => {
|
||||
if (row.id == item.id) {
|
||||
this.$refs.table.toggleRowSelection(this.tableData.list[index]);
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,7 +112,6 @@ export default {
|
|||
shopId: localStorage.getItem('shopId'),
|
||||
sort: 'id',
|
||||
})
|
||||
this.tableData.loading = false
|
||||
this.tableData.list = res.content
|
||||
this.tableData.total = res.totalElements
|
||||
|
||||
|
|
@ -121,6 +120,9 @@ export default {
|
|||
this.selection()
|
||||
})
|
||||
}
|
||||
setTimeout(() => {
|
||||
this.tableData.loading = false
|
||||
}, 500);
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,18 @@
|
|||
<el-button type="primary" plain icon="el-icon-plus" @click="$refs.addUnitRef.show()">添加单位</el-button>
|
||||
<addUnit ref="addUnitRef" @success="tbShopUnit" />
|
||||
</el-form-item>
|
||||
<el-form-item label="商品分类" prop="categoryId">
|
||||
<el-form-item label="团购券分类" prop="groupCategoryId" v-if="form.typeEnum == 'group'">
|
||||
<el-table :data="form.groupCategoryId" border style="width: 500px;" v-if="form.groupCategoryId.length">
|
||||
<el-table-column label="名称" prop="name"></el-table-column>
|
||||
<el-table-column label="操作" width="160">
|
||||
<template v-slot="scope">
|
||||
<el-button type="text" @click="form.groupCategoryId.splice(scope.$index, 1)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-button type="text" @click="$refs.groupTypeList.show(form.groupCategoryId)">添加团购券分类</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item label="商品分类" prop="categoryId" v-else>
|
||||
<el-select v-model="form.categoryId" placeholder="请选择商品分类" style="width: 500px;">
|
||||
<el-option :label="item.name" :value="item.id" v-for="item in categorys" :key="item.id"></el-option>
|
||||
</el-select>
|
||||
|
|
@ -33,7 +44,7 @@
|
|||
</el-form-item>
|
||||
<el-form-item label="商品图片">
|
||||
<uploadImg ref="uploadImg" :limit="9" @success="uploadSuccess" @remove="uploadRemove" />
|
||||
<div class="tips">注:第一张图为商品封面图,图片尺寸为750×750(可拖动图片排序)</div>
|
||||
<div class="tips">注:第一张图为商品封面图,图片尺寸为750×750</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="套餐商品" v-if="shopTypes[shopTypesActive].typeEnum == 'group'">
|
||||
<el-table :data="form.groupSnap" border v-if="form.groupSnap.length">
|
||||
|
|
@ -49,6 +60,9 @@
|
|||
<span class="dot"></span>
|
||||
<div class="name">
|
||||
<div class="t">{{ item.name }}</div>
|
||||
<div class="t" v-if="!form.id">x{{ item.groupNum }}</div>
|
||||
<el-input-number v-model="item.groupNum" :step="1" step-strictly :min="1"
|
||||
size="mini" v-else></el-input-number>
|
||||
</div>
|
||||
<i class="del el-icon-delete"></i>
|
||||
</div>
|
||||
|
|
@ -212,6 +226,7 @@
|
|||
</el-table>
|
||||
<div class="tips" v-if="form.isShowMall">注:小程序商城必须设置库存数量大于0</div>
|
||||
</el-form-item>
|
||||
<template v-if="form.typeEnum != 'group'">
|
||||
<el-form-item label="上架区域">
|
||||
<div class="shop_type_box">
|
||||
<div class="item" :class="{ active: form.isShowCash }" @click="areaChange('isShowCash')">
|
||||
|
|
@ -241,8 +256,10 @@
|
|||
<div class="tips">单份商品打包费。注:店铺开启外卖模式下该数据才生效</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="虚拟销量">
|
||||
<el-input-number v-model="form.baseSalesNumber" controls-position="right" :min="0"></el-input-number>
|
||||
<el-input-number v-model="form.baseSalesNumber" controls-position="right"
|
||||
:min="0"></el-input-number>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<el-form-item label="排序">
|
||||
<el-input-number v-model="form.sort" controls-position="right" :min="0"></el-input-number>
|
||||
</el-form-item>
|
||||
|
|
@ -263,6 +280,8 @@
|
|||
<el-button type="primary" @click="batchNumberFormConfirm">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!-- 选择团购券分类 -->
|
||||
<groupTypeList ref="groupTypeList" @success="res => form.groupCategoryId = res" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -271,6 +290,7 @@ import { tbShopUnit, tbShopCategoryGet, tbProductPost, tbProductSpecGet, tbProdu
|
|||
import addUnit from './components/addUnit'
|
||||
import addClassify from './components/addClassify'
|
||||
import shopList from '@/components/shopList'
|
||||
import groupTypeList from '@/components/groupTypeList'
|
||||
import uploadImg from '@/components/uploadImg'
|
||||
import settings from '@/settings'
|
||||
import dayjs from 'dayjs'
|
||||
|
|
@ -281,7 +301,8 @@ export default {
|
|||
addUnit,
|
||||
addClassify,
|
||||
uploadImg,
|
||||
shopList
|
||||
shopList,
|
||||
groupTypeList
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
@ -328,7 +349,8 @@ export default {
|
|||
specInfo: [],
|
||||
selectSpec: [],
|
||||
specTableHeaders: [],
|
||||
skuSnap: ''
|
||||
skuSnap: '',
|
||||
groupCategoryId: []
|
||||
},
|
||||
rules: {
|
||||
typeEnum: [
|
||||
|
|
@ -349,6 +371,13 @@ export default {
|
|||
trigger: 'change',
|
||||
message: '请选择商品分类'
|
||||
}
|
||||
],
|
||||
groupCategoryId: [
|
||||
{
|
||||
required: true,
|
||||
trigger: 'change',
|
||||
message: '请选择团购券分类'
|
||||
}
|
||||
]
|
||||
},
|
||||
units: [],
|
||||
|
|
@ -464,16 +493,22 @@ export default {
|
|||
},
|
||||
// 分组选择商品
|
||||
selectShopRes(res) {
|
||||
let arr = res.map(item => {
|
||||
item.groupNum = 1
|
||||
return item
|
||||
})
|
||||
if (this.tableAddShopIndex != null) {
|
||||
this.form.groupSnap[this.tableAddShopIndex].goods = res;
|
||||
this.form.groupSnap[this.tableAddShopIndex].goods = [...arr];
|
||||
this.tableAddShopIndex = null
|
||||
} else {
|
||||
this.form.groupSnap.push({
|
||||
title: '',
|
||||
goods: res,
|
||||
goods: [...arr],
|
||||
number: 1
|
||||
})
|
||||
}
|
||||
|
||||
console.log(this.form.groupSnap);
|
||||
},
|
||||
// 切换类型
|
||||
changeTypeEnum(index) {
|
||||
|
|
@ -671,6 +706,10 @@ export default {
|
|||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
&:not(:first-child) {
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.dot {
|
||||
$size: 6px;
|
||||
width: $size;
|
||||
|
|
@ -681,15 +720,18 @@ export default {
|
|||
|
||||
.name {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
margin-left: 10px;
|
||||
align-items: center;
|
||||
|
||||
.t {
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
max-width: 100px;
|
||||
width: 100px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue