|
@@ -73,6 +73,13 @@
|
|
|
prop="salesCount"
|
|
|
show-overflow-tooltip
|
|
|
>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ label="热度"
|
|
|
+ prop="hotCount"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
@@ -91,7 +98,13 @@
|
|
|
{{productType[scope.row.productType]||'暂无分类'}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
-
|
|
|
+ <el-table-column align="center" label="操作">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button type="text" size="small" @click="handleEdit(scope.row)"
|
|
|
+ >编辑</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
<div class="page-box">
|
|
|
<el-pagination
|
|
@@ -111,36 +124,70 @@
|
|
|
<el-form label-width="130px" :model="setQuery"
|
|
|
ref="setQuery"
|
|
|
:rules="rules">
|
|
|
- <el-form-item label="活动ID" prop="activityId">
|
|
|
+ <el-form-item label="产品类型">
|
|
|
+ <el-select
|
|
|
+ v-model="setQuery.productType"
|
|
|
+ class="item-width-300"
|
|
|
+ placeholder="请选择产品类型"
|
|
|
+ disabled
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in typeOptions"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="产品图片:" prop="logoPath">
|
|
|
+ <Upload
|
|
|
+ type="logoPath"
|
|
|
+ id="logoPath"
|
|
|
+ width="250px"
|
|
|
+ height="150px"
|
|
|
+ uploadType="OTHER"
|
|
|
+ :imgUrl="setQuery.cover[0]"
|
|
|
+ @uploadEnd="uploadEnd"
|
|
|
+ ></Upload>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="产品名称" prop="title">
|
|
|
<el-input
|
|
|
- v-model="setQuery.activityId"
|
|
|
+ v-model="setQuery.title"
|
|
|
class="item-width-300"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="活动金额" prop="activityMoney">
|
|
|
+ <el-form-item label="邮政编码" prop="regionCode">
|
|
|
<el-input
|
|
|
- v-model.number="setQuery.activityMoney"
|
|
|
+ v-model.number="setQuery.regionCode"
|
|
|
class="item-width-300"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="活动有效期" prop="startTime">
|
|
|
- <el-date-picker
|
|
|
- v-model="date"
|
|
|
- size="small"
|
|
|
- class="item-width-350 ml10"
|
|
|
- value-format="yyyy-MM-dd hh:mm:ss"
|
|
|
- type="datetimerange"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期">
|
|
|
- </el-date-picker>
|
|
|
+ <el-form-item label="售价" >
|
|
|
+ <el-input
|
|
|
+ v-model.number="setQuery.salePrice"
|
|
|
+ class="item-width-300"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="原价">
|
|
|
+ <el-input
|
|
|
+ v-model.number="setQuery.originalPrice"
|
|
|
+ class="item-width-300"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="活动内容" prop="activityContent">
|
|
|
+ <el-form-item label="热度">
|
|
|
<el-input
|
|
|
- v-model.number="setQuery.activityContent"
|
|
|
+ v-model.number="setQuery.hotCount"
|
|
|
class="item-width-300"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="销量">
|
|
|
+ <el-input
|
|
|
+ v-model.number="setQuery.salesCount"
|
|
|
+ class="item-width-300"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
|
@@ -154,12 +201,16 @@
|
|
|
|
|
|
<script>
|
|
|
import { debounce } from "@/utils/index";
|
|
|
-import { goodsStoreList,setHidden} from "@/api/goods";
|
|
|
+import { goodsStoreList,setHidden,listAllTypes,upsertProduct} from "@/api/goods";
|
|
|
+import Upload from "@/components/Upload";
|
|
|
+
|
|
|
export default {
|
|
|
- name: "marketing",
|
|
|
+ name: "productLibrary",
|
|
|
+ components: {
|
|
|
+ Upload,
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
- date:'',
|
|
|
title:'',
|
|
|
tableData: [],
|
|
|
loading: false,
|
|
@@ -181,22 +232,26 @@ export default {
|
|
|
},
|
|
|
options:[],
|
|
|
setQuery:{
|
|
|
- "activityContent": "",
|
|
|
- "activityId": "",
|
|
|
- "activityMoney": 0,
|
|
|
- "endTime": "",
|
|
|
- "id": 0,
|
|
|
- "startTime": ""
|
|
|
+ cover:[],
|
|
|
+ productType:'',
|
|
|
+ title:'',
|
|
|
+ regionCode:0,
|
|
|
+ salePrice:0,
|
|
|
+ originalPrice:0,
|
|
|
+ hotCount:0,
|
|
|
},
|
|
|
topFrom:{
|
|
|
pid:"",
|
|
|
top:0
|
|
|
},
|
|
|
+ typeOptions:[],
|
|
|
tabList:[],
|
|
|
rules:{
|
|
|
- activityId: [{ required: true, message: "请输入活动ID", trigger: "blur" }],
|
|
|
- activityMoney: [{ required: true, message: "请输入活动金额", trigger: "blur" }],
|
|
|
- startTime: [{ required: true, message: "请选择活动时间", trigger: "change" }],
|
|
|
+ productType: [{ required: true, message: "请选择产品类型", trigger: "change" }],
|
|
|
+ regionCode: [{ required: true, message: "请输入邮政编码", trigger: "blur" }],
|
|
|
+ title: [{ required: true, message: "请输入产品名称", trigger: "blur" }],
|
|
|
+ // title: [{ required: true, message: "请输入产品名称", trigger: "blur" }],
|
|
|
+
|
|
|
},
|
|
|
rules1:{
|
|
|
type: [{ required: true, message: "请选择产品类型", trigger: "change" }],
|
|
@@ -247,19 +302,11 @@ export default {
|
|
|
}
|
|
|
};
|
|
|
},
|
|
|
- watch: {
|
|
|
-
|
|
|
- date(val){
|
|
|
- if(val){
|
|
|
- this.setQuery.startTime = val[0]
|
|
|
- this.setQuery.endTime = val[1]
|
|
|
- }else{
|
|
|
- this.setQuery.startTime = ''
|
|
|
- this.setQuery.endTime = ''
|
|
|
- }
|
|
|
- },
|
|
|
- },
|
|
|
methods: {
|
|
|
+ // 图片统一上传
|
|
|
+ uploadEnd(val) {
|
|
|
+ this.setQuery.cover[0] = val.url;
|
|
|
+ },
|
|
|
handleTab(val){
|
|
|
this.query.productType = val
|
|
|
this.handleSearch()
|
|
@@ -275,15 +322,20 @@ export default {
|
|
|
handleEdit(row){
|
|
|
this.title = '编辑'
|
|
|
this.dialogFormVisible = true
|
|
|
+ // this.setQuery = JSON.parse(JSON.stringify(row))
|
|
|
this.setQuery = {
|
|
|
- "activityContent": row.activityContent,
|
|
|
- "activityId": row.activityId,
|
|
|
- "activityMoney": row.activityMoney,
|
|
|
- "endTime": row.endTime,
|
|
|
- "startTime": row.startTime,
|
|
|
- "id":row.id
|
|
|
+ cover: row.cover,
|
|
|
+ productType: row.productType,
|
|
|
+ regionCode: row.regionCode,
|
|
|
+ title: row.title,
|
|
|
+ pid: row.pid,
|
|
|
+ top: row.top,
|
|
|
+ hidden: row.hidden,
|
|
|
+ salesCount: row.salesCount,
|
|
|
+ originalPrice: row.originalPrice,
|
|
|
+ salePrice: row.salePrice,
|
|
|
+ hotCount: row.hotCount,
|
|
|
}
|
|
|
- this.date = [row.startTime, row.endTime]
|
|
|
},
|
|
|
handleAdd() {
|
|
|
this.title = '添加'
|
|
@@ -295,7 +347,6 @@ export default {
|
|
|
"endTime": "",
|
|
|
"startTime": ""
|
|
|
}
|
|
|
- this.data = []
|
|
|
},
|
|
|
|
|
|
handleTop(row){
|
|
@@ -348,11 +399,23 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ listAllTypes(){
|
|
|
+ listAllTypes().then((res) => {
|
|
|
+ if (res.state == "Success") {
|
|
|
+ res.content.map(item=>{
|
|
|
+ this.typeOptions.push({
|
|
|
+ value:item.productType,
|
|
|
+ label:item.productTypeDesc
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
save(){
|
|
|
this.$refs.setQuery.validate((v) => {
|
|
|
if (v) {
|
|
|
this.btnLoading = true
|
|
|
- addOrUpdateActivityXiaoju(this.setQuery).then(res=>{
|
|
|
+ upsertProduct([this.setQuery]).then(res=>{
|
|
|
this.btnLoading = false
|
|
|
if(res.state == 'Success'){
|
|
|
this.dialogFormVisible = false
|
|
@@ -374,6 +437,7 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
this.getList();
|
|
|
+ this.listAllTypes()
|
|
|
},
|
|
|
};
|
|
|
</script>
|