fix bugs
parent
bbeb31e8a3
commit
51cde2dd0d
|
@ -4,8 +4,14 @@
|
||||||
<div class="mb_10">
|
<div class="mb_10">
|
||||||
<Button @click="addParent" icon="md-add">添加一级分类</Button>
|
<Button @click="addParent" icon="md-add">添加一级分类</Button>
|
||||||
</div>
|
</div>
|
||||||
<Table class="table" :load-data="handleLoadData" row-key="id" :loading="loading" :data="tableData"
|
<Table
|
||||||
:columns="columns">
|
class="table"
|
||||||
|
:load-data="handleLoadData"
|
||||||
|
row-key="id"
|
||||||
|
:loading="loading"
|
||||||
|
:data="tableData"
|
||||||
|
:columns="columns"
|
||||||
|
>
|
||||||
<template slot="action" slot-scope="scope">
|
<template slot="action" slot-scope="scope">
|
||||||
<Dropdown v-show="scope.row.level == 2" trigger="click">
|
<Dropdown v-show="scope.row.level == 2" trigger="click">
|
||||||
<Button size="small">
|
<Button size="small">
|
||||||
|
@ -13,9 +19,15 @@
|
||||||
<Icon type="ios-arrow-down"></Icon>
|
<Icon type="ios-arrow-down"></Icon>
|
||||||
</Button>
|
</Button>
|
||||||
<DropdownMenu slot="list">
|
<DropdownMenu slot="list">
|
||||||
<DropdownItem @click.native="brandOperation(scope.row)">编辑绑定品牌</DropdownItem>
|
<DropdownItem @click.native="brandOperation(scope.row)"
|
||||||
<DropdownItem @click.native="specOperation(scope.row)">编辑绑定规格</DropdownItem>
|
>编辑绑定品牌</DropdownItem
|
||||||
<DropdownItem @click.native="parameterOperation(scope.row)">编辑绑定参数</DropdownItem>
|
>
|
||||||
|
<DropdownItem @click.native="specOperation(scope.row)"
|
||||||
|
>编辑绑定规格</DropdownItem
|
||||||
|
>
|
||||||
|
<DropdownItem @click.native="parameterOperation(scope.row)"
|
||||||
|
>编辑绑定参数</DropdownItem
|
||||||
|
>
|
||||||
</DropdownMenu>
|
</DropdownMenu>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
|
|
||||||
|
@ -27,14 +39,28 @@
|
||||||
</Button>
|
</Button>
|
||||||
<DropdownMenu slot="list">
|
<DropdownMenu slot="list">
|
||||||
<DropdownItem @click.native="edit(scope.row)">编辑</DropdownItem>
|
<DropdownItem @click.native="edit(scope.row)">编辑</DropdownItem>
|
||||||
<DropdownItem v-if="scope.row.deleteFlag == 1" @click.native="enable(scope.row)">启用</DropdownItem>
|
<DropdownItem
|
||||||
<DropdownItem v-if="scope.row.deleteFlag == 0" @click.native="disable(scope.row)">禁用</DropdownItem>
|
v-if="scope.row.deleteFlag == 1"
|
||||||
|
@click.native="enable(scope.row)"
|
||||||
|
>启用</DropdownItem
|
||||||
|
>
|
||||||
|
<DropdownItem
|
||||||
|
v-if="scope.row.deleteFlag == 0"
|
||||||
|
@click.native="disable(scope.row)"
|
||||||
|
>禁用</DropdownItem
|
||||||
|
>
|
||||||
<DropdownItem @click.native="remove(scope.row)">删除</DropdownItem>
|
<DropdownItem @click.native="remove(scope.row)">删除</DropdownItem>
|
||||||
</DropdownMenu>
|
</DropdownMenu>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
|
|
||||||
<Button v-show="scope.row.level != 2" type="primary" @click="addChildren(scope.row)" size="small"
|
<Button
|
||||||
icon="md-add" style="margin-right: 5px">添加子分类
|
v-show="scope.row.level != 2"
|
||||||
|
type="primary"
|
||||||
|
@click="addChildren(scope.row)"
|
||||||
|
size="small"
|
||||||
|
icon="md-add"
|
||||||
|
style="margin-right: 5px"
|
||||||
|
>添加子分类
|
||||||
</Button>
|
</Button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -43,17 +69,30 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template slot="deleteFlag" slot-scope="{ row }">
|
<template slot="deleteFlag" slot-scope="{ row }">
|
||||||
<Tag :class="{'ml_10': row.deleteFlag}" :color="row.deleteFlag == false ? 'success' : 'error'">
|
<Tag
|
||||||
{{row.deleteFlag == false ? '正常启用' : '禁用'}}</Tag>
|
:class="{ ml_10: row.deleteFlag }"
|
||||||
|
:color="row.deleteFlag == false ? 'success' : 'error'"
|
||||||
|
>
|
||||||
|
{{ row.deleteFlag == false ? "正常启用" : "禁用" }}</Tag
|
||||||
|
>
|
||||||
</template>
|
</template>
|
||||||
</Table>
|
</Table>
|
||||||
|
|
||||||
<Modal :title="modalTitle" v-model="modalVisible" :mask-closable="false" :width="500">
|
<Modal
|
||||||
|
:title="modalTitle"
|
||||||
|
v-model="modalVisible"
|
||||||
|
:mask-closable="false"
|
||||||
|
:width="500"
|
||||||
|
>
|
||||||
<Form ref="form" :model="formAdd" :label-width="100" :rules="formValidate">
|
<Form ref="form" :model="formAdd" :label-width="100" :rules="formValidate">
|
||||||
<div v-if="showParent">
|
<div v-if="showParent">
|
||||||
<FormItem label="上级分类" prop="parentId">
|
<FormItem label="上级分类" prop="parentId">
|
||||||
{{ parentTitle }}
|
{{ parentTitle }}
|
||||||
<Input v-model="formAdd.parentId" clearable style="width: 100%; display: none" />
|
<Input
|
||||||
|
v-model="formAdd.parentId"
|
||||||
|
clearable
|
||||||
|
style="width: 100%; display: none"
|
||||||
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</div>
|
</div>
|
||||||
<FormItem label="层级" prop="level" style="display: none">
|
<FormItem label="层级" prop="level" style="display: none">
|
||||||
|
@ -63,7 +102,10 @@
|
||||||
<Input v-model="formAdd.name" clearable style="width: 100%" />
|
<Input v-model="formAdd.name" clearable style="width: 100%" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="分类图标" prop="image" v-if="formAdd.level !== 1">
|
<FormItem label="分类图标" prop="image" v-if="formAdd.level !== 1">
|
||||||
<upload-pic-input v-model="formAdd.image" style="width: 100%"></upload-pic-input>
|
<upload-pic-input
|
||||||
|
v-model="formAdd.image"
|
||||||
|
style="width: 100%"
|
||||||
|
></upload-pic-input>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="排序值" prop="sortOrder" style="width: 345px">
|
<FormItem label="排序值" prop="sortOrder" style="width: 345px">
|
||||||
<InputNumber v-model="formAdd.sortOrder"></InputNumber>
|
<InputNumber v-model="formAdd.sortOrder"></InputNumber>
|
||||||
|
@ -72,7 +114,12 @@
|
||||||
<InputNumber v-model="formAdd.commissionRate"></InputNumber>
|
<InputNumber v-model="formAdd.commissionRate"></InputNumber>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="是否启用" prop="deleteFlag">
|
<FormItem label="是否启用" prop="deleteFlag">
|
||||||
<i-switch size="large" v-model="formAdd.deleteFlag" :true-value="0" :false-value="1">
|
<i-switch
|
||||||
|
size="large"
|
||||||
|
v-model="formAdd.deleteFlag"
|
||||||
|
:true-value="0"
|
||||||
|
:false-value="1"
|
||||||
|
>
|
||||||
<span slot="open">启用</span>
|
<span slot="open">启用</span>
|
||||||
<span slot="close">禁用</span>
|
<span slot="close">禁用</span>
|
||||||
</i-switch>
|
</i-switch>
|
||||||
|
@ -84,33 +131,52 @@
|
||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
<Modal :title="modalBrandTitle" v-model="modalBrandVisible" :mask-closable="false" :width="500">
|
<Modal
|
||||||
|
:title="modalBrandTitle"
|
||||||
|
v-model="modalBrandVisible"
|
||||||
|
:mask-closable="false"
|
||||||
|
:width="500"
|
||||||
|
>
|
||||||
<Form ref="brandForm" :model="brandForm" :label-width="100">
|
<Form ref="brandForm" :model="brandForm" :label-width="100">
|
||||||
<Select v-model="brandForm.categoryBrands" filterable multiple>
|
<Select v-model="brandForm.categoryBrands" filterable multiple>
|
||||||
<Option v-for="item in brandWay" :value="item.id" :key="item.id">{{ item.name }}</Option>
|
<Option v-for="item in brandWay" :value="item.id" :key="item.id">{{
|
||||||
|
item.name
|
||||||
|
}}</Option>
|
||||||
</Select>
|
</Select>
|
||||||
</Form>
|
</Form>
|
||||||
<div slot="footer">
|
<div slot="footer">
|
||||||
<Button type="text" @click="modalBrandVisible = false">取消</Button>
|
<Button type="text" @click="modalBrandVisible = false">取消</Button>
|
||||||
<Button type="primary" :loading="submitLoading" @click="saveCategoryBrand">提交</Button>
|
<Button type="primary" :loading="submitLoading" @click="saveCategoryBrand"
|
||||||
|
>提交</Button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
<Modal :title="modalSpecTitle" v-model="modalSpecVisible" :mask-closable="false" :width="500">
|
<Modal
|
||||||
|
:title="modalSpecTitle"
|
||||||
|
v-model="modalSpecVisible"
|
||||||
|
:mask-closable="false"
|
||||||
|
:width="500"
|
||||||
|
>
|
||||||
<Form ref="specForm" :model="specForm" :label-width="100">
|
<Form ref="specForm" :model="specForm" :label-width="100">
|
||||||
<Select v-model="specForm.categorySpecs" multiple>
|
<Select v-model="specForm.categorySpecs" multiple>
|
||||||
<Option v-for="item in specifications" :value="item.id" :key="item.id" :label="item.specName">
|
<Option
|
||||||
|
v-for="item in specifications"
|
||||||
|
:value="item.id"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.specName"
|
||||||
|
>
|
||||||
</Option>
|
</Option>
|
||||||
</Select>
|
</Select>
|
||||||
</Form>
|
</Form>
|
||||||
<div slot="footer">
|
<div slot="footer">
|
||||||
<Button type="text" @click="modalSpecVisible = false">取消</Button>
|
<Button type="text" @click="modalSpecVisible = false">取消</Button>
|
||||||
<Button type="primary" :loading="submitLoading" @click="saveCategorySpec">提交</Button>
|
<Button type="primary" :loading="submitLoading" @click="saveCategorySpec"
|
||||||
|
>提交</Button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
@ -170,18 +236,9 @@ export default {
|
||||||
specForm: {}, // 规格数据
|
specForm: {}, // 规格数据
|
||||||
// 表单验证规则
|
// 表单验证规则
|
||||||
formValidate: {
|
formValidate: {
|
||||||
commissionRate: [
|
commissionRate: [regular.REQUIRED, regular.INTEGER],
|
||||||
regular.REQUIRED,
|
name: [regular.REQUIRED, regular.VARCHAR20],
|
||||||
regular.INTEGER
|
sortOrder: [regular.REQUIRED, regular.INTEGER],
|
||||||
],
|
|
||||||
name:[
|
|
||||||
regular.REQUIRED,
|
|
||||||
regular.VARCHAR20,
|
|
||||||
],
|
|
||||||
sortOrder:[
|
|
||||||
regular.REQUIRED,
|
|
||||||
regular.INTEGER
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
@ -235,7 +292,6 @@ export default {
|
||||||
//弹出品牌关联框
|
//弹出品牌关联框
|
||||||
brandOperation(v) {
|
brandOperation(v) {
|
||||||
getCategoryBrandListData(v.id).then((res) => {
|
getCategoryBrandListData(v.id).then((res) => {
|
||||||
console.warn(res);
|
|
||||||
this.categoryId = v.id;
|
this.categoryId = v.id;
|
||||||
this.modalBrandTitle = "品牌关联";
|
this.modalBrandTitle = "品牌关联";
|
||||||
this.brandForm.categoryBrands = res.result.map((item) => item.id);
|
this.brandForm.categoryBrands = res.result.map((item) => item.id);
|
||||||
|
@ -277,7 +333,6 @@ export default {
|
||||||
},
|
},
|
||||||
// 添加子分类
|
// 添加子分类
|
||||||
addChildren(v) {
|
addChildren(v) {
|
||||||
console.log(v);
|
|
||||||
this.modalType = 0;
|
this.modalType = 0;
|
||||||
this.modalTitle = "添加子分类";
|
this.modalTitle = "添加子分类";
|
||||||
this.parentTitle = v.name;
|
this.parentTitle = v.name;
|
||||||
|
@ -367,7 +422,6 @@ export default {
|
||||||
|
|
||||||
// 异步手动加载分类名称
|
// 异步手动加载分类名称
|
||||||
handleLoadData(item, callback) {
|
handleLoadData(item, callback) {
|
||||||
console.warn(item);
|
|
||||||
if (item.level == 0) {
|
if (item.level == 0) {
|
||||||
let categoryList = JSON.parse(JSON.stringify(this.categoryList));
|
let categoryList = JSON.parse(JSON.stringify(this.categoryList));
|
||||||
categoryList.forEach((val) => {
|
categoryList.forEach((val) => {
|
||||||
|
@ -384,7 +438,6 @@ export default {
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.deepCategoryChildren(item.id, this.categoryList);
|
this.deepCategoryChildren(item.id, this.categoryList);
|
||||||
console.log(this.checkedCategoryChildren);
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
callback(this.checkedCategoryChildren);
|
callback(this.checkedCategoryChildren);
|
||||||
}, 1000);
|
}, 1000);
|
||||||
|
@ -420,8 +473,6 @@ export default {
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log(this.tableData);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -42,12 +42,7 @@
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template slot-scope="{ row, index }" slot="action">
|
<template slot-scope="{ row, index }" slot="action">
|
||||||
<Button
|
<Button type="error" size="small" @click="delGoods(index, row)">删除 </Button>
|
||||||
type="error"
|
|
||||||
size="small"
|
|
||||||
@click="delGoods(index,row)"
|
|
||||||
>删除
|
|
||||||
</Button>
|
|
||||||
</template>
|
</template>
|
||||||
</Table>
|
</Table>
|
||||||
<Row type="flex" justify="end" class="mt_10">
|
<Row type="flex" justify="end" class="mt_10">
|
||||||
|
@ -72,7 +67,7 @@
|
||||||
seckillGoodsList,
|
seckillGoodsList,
|
||||||
seckillDetail,
|
seckillDetail,
|
||||||
auditApplySeckill,
|
auditApplySeckill,
|
||||||
delSeckillGoods
|
delSeckillGoods,
|
||||||
} from "@/api/promotion.js";
|
} from "@/api/promotion.js";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -86,13 +81,14 @@
|
||||||
searchForm: {
|
searchForm: {
|
||||||
// 搜索框初始化对象
|
// 搜索框初始化对象
|
||||||
pageNumber: 0, // 当前页数
|
pageNumber: 0, // 当前页数
|
||||||
pageSize: 100, // 页面大小
|
pageSize: 10, // 页面大小
|
||||||
},
|
},
|
||||||
total: 0, // 总数
|
total: 0, // 总数
|
||||||
selectList: [], // 多选数据
|
selectList: [], // 多选数据
|
||||||
selectCount: 0, // 多选计数
|
selectCount: 0, // 多选计数
|
||||||
data: [], // 表单数据
|
data: [], // 表单数据
|
||||||
columns: [ // 表头
|
columns: [
|
||||||
|
// 表头
|
||||||
{
|
{
|
||||||
title: "活动名称",
|
title: "活动名称",
|
||||||
key: "promotionName",
|
key: "promotionName",
|
||||||
|
@ -156,12 +152,13 @@
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
goodsColumns: [ // 商品表单
|
goodsColumns: [
|
||||||
|
// 商品表单
|
||||||
{
|
{
|
||||||
title: "商品名称",
|
title: "商品名称",
|
||||||
key: "goodsName",
|
key: "goodsName",
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
tooltip: true
|
tooltip: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "商品价格",
|
title: "商品价格",
|
||||||
|
@ -172,7 +169,7 @@
|
||||||
title: "库存",
|
title: "库存",
|
||||||
slot: "quantity",
|
slot: "quantity",
|
||||||
minWidth: 30,
|
minWidth: 30,
|
||||||
width: 90
|
width: 90,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "活动价格",
|
title: "活动价格",
|
||||||
|
@ -183,8 +180,7 @@
|
||||||
title: "商家名称",
|
title: "商家名称",
|
||||||
key: "storeName",
|
key: "storeName",
|
||||||
minWidth: 100,
|
minWidth: 100,
|
||||||
tooltip: true
|
tooltip: true,
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "活动场次",
|
title: "活动场次",
|
||||||
|
@ -204,13 +200,15 @@
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
goodsList: [], // 商品列表
|
goodsList: [], // 商品列表
|
||||||
params: { // 请求参数
|
params: {
|
||||||
|
// 请求参数
|
||||||
seckillId: this.$route.query.id,
|
seckillId: this.$route.query.id,
|
||||||
applyStatus: "PASS",
|
applyStatus: "PASS",
|
||||||
failReason: "",
|
failReason: "",
|
||||||
ids: "",
|
ids: "",
|
||||||
},
|
},
|
||||||
rules: { // 验证规则
|
rules: {
|
||||||
|
// 验证规则
|
||||||
failReason: [{ required: true, message: "请输入拒绝原因" }],
|
failReason: [{ required: true, message: "请输入拒绝原因" }],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -269,14 +267,14 @@
|
||||||
onOk: () => {
|
onOk: () => {
|
||||||
const params = {
|
const params = {
|
||||||
seckillId: row.seckillId,
|
seckillId: row.seckillId,
|
||||||
id: row.id
|
id: row.id,
|
||||||
}
|
};
|
||||||
delSeckillGoods(params).then(res => {
|
delSeckillGoods(params).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.goodsList.splice(index, 1);
|
this.goodsList.splice(index, 1);
|
||||||
this.$Message.success("删除成功!");
|
this.$Message.success("删除成功!");
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -291,7 +289,7 @@
|
||||||
hourArr[i] += ":00";
|
hourArr[i] += ":00";
|
||||||
}
|
}
|
||||||
return hourArr;
|
return hourArr;
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.init();
|
this.init();
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="layout">
|
<div class="layout">
|
||||||
<Form ref="formValidate" :label-width="150" label-position="right" :model="formValidate" :rules="ruleValidate">
|
<Form
|
||||||
|
ref="formValidate"
|
||||||
|
:label-width="150"
|
||||||
|
label-position="right"
|
||||||
|
:model="formValidate"
|
||||||
|
:rules="ruleValidate"
|
||||||
|
>
|
||||||
<FormItem label="appId" prop="appId">
|
<FormItem label="appId" prop="appId">
|
||||||
<Input class="w200" v-model="formValidate.appId" />
|
<Input class="w200" v-model="formValidate.appId" />
|
||||||
<p style="color: red">*APP应用 AppID 非必填</p>
|
<p style="color: red">*APP应用 AppID 非必填</p>
|
||||||
|
@ -34,7 +40,6 @@
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<div class="label-btns">
|
<div class="label-btns">
|
||||||
<Button type="primary" @click="submit('formValidate')">保存</Button>
|
<Button type="primary" @click="submit('formValidate')">保存</Button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</Form>
|
</Form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -48,7 +53,6 @@ export default {
|
||||||
return {
|
return {
|
||||||
ruleValidate: {}, // 验证规则
|
ruleValidate: {}, // 验证规则
|
||||||
formValidate: {}, // 表单数据
|
formValidate: {}, // 表单数据
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
props: ["res", "type"],
|
props: ["res", "type"],
|
||||||
|
@ -79,7 +83,6 @@ export default {
|
||||||
this.$set(this, "formValidate", { ...this.res });
|
this.$set(this, "formValidate", { ...this.res });
|
||||||
Object.keys(this.formValidate).forEach((item) => {
|
Object.keys(this.formValidate).forEach((item) => {
|
||||||
if (item.indexOf("pId") < 0) {
|
if (item.indexOf("pId") < 0) {
|
||||||
|
|
||||||
this.ruleValidate[item] = [
|
this.ruleValidate[item] = [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
|
@ -87,7 +90,6 @@ export default {
|
||||||
trigger: "blur",
|
trigger: "blur",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue