各种页面校验功能补充优化
parent
20042786aa
commit
7ebb5e21d2
|
@ -61,7 +61,8 @@ export const TEL = /0\d{2,3}-\d{7,8}/
|
||||||
|
|
||||||
// 正整数
|
// 正整数
|
||||||
export const INTEGER = {
|
export const INTEGER = {
|
||||||
pattern: /^[0-9]\d*$/,
|
|
||||||
|
pattern: /^[0-9]\d{0,10}|0$/,
|
||||||
message:'请输入正整数'
|
message:'请输入正整数'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -107,20 +107,23 @@ export default {
|
||||||
{
|
{
|
||||||
title: "库存",
|
title: "库存",
|
||||||
key: "quantity",
|
key: "quantity",
|
||||||
|
minWidth: 80,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "添加时间",
|
title: "添加时间",
|
||||||
key: "createTime",
|
key: "createTime",
|
||||||
width: 170,
|
minWidth: 100,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "店铺名称",
|
title: "店铺名称",
|
||||||
key: "storeName",
|
key: "storeName",
|
||||||
|
minWidth: 100,
|
||||||
tooltip: true,
|
tooltip: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "佣金金额",
|
title: "佣金金额",
|
||||||
key: "commission",
|
key: "commission",
|
||||||
|
minWidth: 100,
|
||||||
sortable: false,
|
sortable: false,
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
return h(
|
return h(
|
||||||
|
@ -134,7 +137,7 @@ export default {
|
||||||
key: "action",
|
key: "action",
|
||||||
align: "center",
|
align: "center",
|
||||||
fixed: "right",
|
fixed: "right",
|
||||||
width: 150,
|
minWidth: 100,
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
return h("div", [
|
return h("div", [
|
||||||
h(
|
h(
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
/>
|
/>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<Form-item label="店铺名称">
|
<Form-item label="店铺名称">
|
||||||
<Select v-model="searchForm.shopId" placeholder="请选择" @on-query-change="searchChange" filterable
|
<Select v-model="searchForm.storeId" placeholder="请选择" @on-query-change="searchChange" filterable
|
||||||
clearable style="width: 150px">
|
clearable style="width: 150px">
|
||||||
<Option v-for="item in shopList" :value="item.id" :key="item.id">{{ item.storeName }}</Option>
|
<Option v-for="item in shopList" :value="item.id" :key="item.id">{{ item.storeName }}</Option>
|
||||||
</Select>
|
</Select>
|
||||||
|
@ -91,17 +91,19 @@
|
||||||
{
|
{
|
||||||
title: "订单编号",
|
title: "订单编号",
|
||||||
key: "orderSn",
|
key: "orderSn",
|
||||||
minWidth: 100,
|
minWidth: 180,
|
||||||
|
fixed: "left",
|
||||||
tooltip: true
|
tooltip: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '商品信息',
|
title: '商品信息',
|
||||||
slot: 'goodsMsg',
|
slot: 'goodsMsg',
|
||||||
minWidth: 120
|
minWidth: 150
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "退款金额",
|
title: "退款金额",
|
||||||
key: "returnMoney",
|
key: "returnMoney",
|
||||||
|
minWidth:80,
|
||||||
sortable: false,
|
sortable: false,
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
if(params.row.sellBackRebate == null){
|
if(params.row.sellBackRebate == null){
|
||||||
|
@ -114,23 +116,24 @@
|
||||||
{
|
{
|
||||||
title: "分销商",
|
title: "分销商",
|
||||||
key: "distributionName",
|
key: "distributionName",
|
||||||
tooltip: true
|
tooltip: true,
|
||||||
|
minWidth:80,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "店铺名称",
|
title: "店铺名称",
|
||||||
key: "storeName",
|
key: "storeName",
|
||||||
|
minWidth:80,
|
||||||
tooltip: true
|
tooltip: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "状态",
|
title: "状态",
|
||||||
slot: "distributionOrderStatus",
|
slot: "distributionOrderStatus",
|
||||||
width: 120,
|
minWidth:80,
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "佣金金额",
|
title: "佣金金额",
|
||||||
key: "rebateGrade",
|
key: "rebateGrade",
|
||||||
width: 120,
|
minWidth:80,
|
||||||
sortable: false,
|
sortable: false,
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
if(params.row.rebate == null){
|
if(params.row.rebate == null){
|
||||||
|
@ -142,9 +145,10 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
fixed: "right",
|
||||||
title: "创建时间",
|
title: "创建时间",
|
||||||
key: "createTime",
|
key: "createTime",
|
||||||
width: 180,
|
minWidth:100,
|
||||||
sortable: false,
|
sortable: false,
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
<template>
|
<template>
|
||||||
<div style="background-color: #fff;">
|
<div style="background-color: #fff;">
|
||||||
|
|
||||||
<Form ref="form" :model="form" :label-width="120" style="padding: 10px;">
|
<Form ref="form" :model="form" :rules="formRule" :label-width="120" style="padding: 10px;">
|
||||||
|
|
||||||
<Divider orientation="left">分销设置</Divider>
|
<Divider orientation="left">分销设置</Divider>
|
||||||
<FormItem label="是否开启分销" prop="distribution">
|
<FormItem label="是否开启分销" prop="isOpen">
|
||||||
<i-switch size="large" v-model="form.isOpen" :true-value="true" :false-value="false">
|
<i-switch size="large" v-model="form.isOpen" :true-value="true" :false-value="false">
|
||||||
<span slot="open">开启</span>
|
<span slot="open">开启</span>
|
||||||
<span slot="close">关闭</span>
|
<span slot="close">关闭</span>
|
||||||
</i-switch>
|
</i-switch>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="分销关系绑定天数" prop="distributionDay">
|
<FormItem label="分销关系绑定天数" prop="distributionDay">
|
||||||
<InputNumber :min="1" style="width:100px;" v-model="form.distributionDay"></InputNumber>
|
<InputNumber :min="1" :max="365" style="width:100px;" v-model="form.distributionDay"></InputNumber>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="分销结算天数" prop="cashDay">
|
<FormItem label="分销结算天数" prop="cashDay">
|
||||||
<InputNumber :min="1" style="width:100px;" v-model="form.cashDay"></InputNumber>
|
<InputNumber :min="1" :max="365" style="width:100px;" v-model="form.cashDay"></InputNumber>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem>
|
<FormItem>
|
||||||
<Button type="primary" @click="submit">保存</Button>
|
<Button type="primary" @click="submit">保存</Button>
|
||||||
|
@ -25,15 +25,27 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { setSetting, getSetting } from "@/api/index";
|
import { setSetting, getSetting } from "@/api/index";
|
||||||
|
import { regular } from "@/utils";
|
||||||
export default {
|
export default {
|
||||||
name: "distributionSetting",
|
name: "distributionSetting",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
form: {
|
form: {
|
||||||
// 添加或编辑表单对象初始化数据
|
// 添加或编辑表单对象初始化数据
|
||||||
isOpen: "",
|
isOpen: true,
|
||||||
distributionDay: 0, //分销关系绑定天数
|
distributionDay: 0, //分销关系绑定天数
|
||||||
cashDay: 0, //分销结算天数
|
cashDay: 0, //分销结算天数
|
||||||
|
},
|
||||||
|
formRule: {
|
||||||
|
isOpen: [
|
||||||
|
regular.REQUIRED
|
||||||
|
],
|
||||||
|
distributionDay: [
|
||||||
|
regular.REQUIRED
|
||||||
|
],
|
||||||
|
cashDay: [
|
||||||
|
regular.REQUIRED
|
||||||
|
],
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
|
@ -18,10 +18,10 @@
|
||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
/>
|
/>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<Form-item label="商品编号" prop="sn">
|
<Form-item label="商品编号" prop="id">
|
||||||
<Input
|
<Input
|
||||||
type="text"
|
type="text"
|
||||||
v-model="searchForm.sn"
|
v-model="searchForm.id"
|
||||||
placeholder="请输入商品编号"
|
placeholder="请输入商品编号"
|
||||||
clearable
|
clearable
|
||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
|
@ -149,21 +149,10 @@ export default {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "商品编号",
|
title: "商品编号",
|
||||||
key: "sn",
|
key: "id",
|
||||||
minWidth: 150,
|
minWidth: 150,
|
||||||
tooltip: true
|
tooltip: true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: "成本价",
|
|
||||||
key: "price",
|
|
||||||
width: 130,
|
|
||||||
render: (h, params) => {
|
|
||||||
return h(
|
|
||||||
"div",
|
|
||||||
this.$options.filters.unitPrice(params.row.cost, "¥")
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "价格",
|
title: "价格",
|
||||||
key: "price",
|
key: "price",
|
||||||
|
|
|
@ -18,10 +18,10 @@
|
||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
/>
|
/>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<Form-item label="商品编号" prop="sn">
|
<Form-item label="商品编号" prop="id">
|
||||||
<Input
|
<Input
|
||||||
type="text"
|
type="text"
|
||||||
v-model="searchForm.sn"
|
v-model="searchForm.id"
|
||||||
placeholder="请输入商品编号"
|
placeholder="请输入商品编号"
|
||||||
clearable
|
clearable
|
||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
|
@ -101,21 +101,10 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "商品编号",
|
title: "商品编号",
|
||||||
key: "sn",
|
key: "id",
|
||||||
minWidth: 100,
|
minWidth: 100,
|
||||||
tooltip: true
|
tooltip: true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: "成本价",
|
|
||||||
key: "price",
|
|
||||||
minWidth: 130,
|
|
||||||
render: (h, params) => {
|
|
||||||
return h(
|
|
||||||
"div",
|
|
||||||
this.$options.filters.unitPrice(params.row.cost, "¥")
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "价格",
|
title: "价格",
|
||||||
key: "price",
|
key: "price",
|
||||||
|
|
|
@ -35,7 +35,8 @@
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
<i-button type="text" @click="handleEditParams(group, param)">编辑</i-button>
|
<i-button type="text" @click="handleEditParams(group, param)">编辑</i-button>
|
||||||
<i-button type="text" size="small" style="color: #f56c6c" @click="handleDeleteParam(group, param)">删除</i-button>
|
<i-button type="text" size="small" style="color: #f56c6c"
|
||||||
|
@click="handleDeleteParam(group, param)">删除</i-button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -52,7 +53,7 @@
|
||||||
<Modal :title="modalTitle" v-model="dialogParamsVisible" :mask-closable="false" :width="500">
|
<Modal :title="modalTitle" v-model="dialogParamsVisible" :mask-closable="false" :width="500">
|
||||||
<Form ref="paramForm" :model="paramForm" :label-width="100" :rules="formValidate">
|
<Form ref="paramForm" :model="paramForm" :label-width="100" :rules="formValidate">
|
||||||
<FormItem label="参数名称" prop="paramName">
|
<FormItem label="参数名称" prop="paramName">
|
||||||
<Input v-model="paramForm.paramName" style="width: 100%" />
|
<Input v-model="paramForm.paramName" style="width: 100%"/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="可选值" prop="options">
|
<FormItem label="可选值" prop="options">
|
||||||
<Select
|
<Select
|
||||||
|
@ -71,7 +72,7 @@
|
||||||
:key="item"
|
:key="item"
|
||||||
:label="item"
|
:label="item"
|
||||||
>
|
>
|
||||||
{{item}}
|
{{ item }}
|
||||||
</Option>
|
</Option>
|
||||||
</Select>
|
</Select>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
@ -79,8 +80,8 @@
|
||||||
<Checkbox label=1 v-model="paramForm.required">必填</Checkbox>
|
<Checkbox label=1 v-model="paramForm.required">必填</Checkbox>
|
||||||
<Checkbox label=1 v-model="paramForm.isIndex">可索引</Checkbox>
|
<Checkbox label=1 v-model="paramForm.isIndex">可索引</Checkbox>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="排序" prop="specName3">
|
<FormItem label="排序" prop="sort">
|
||||||
<Input type="number" v-model="paramForm.sort" style="width: 100%" />
|
<Input type="number" v-model="paramForm.sort" style="width: 100%"/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
||||||
|
@ -95,7 +96,7 @@
|
||||||
<Modal :title="modalTitle" v-model="dialogParamsGroupVisible" :mask-closable="false" :width="500">
|
<Modal :title="modalTitle" v-model="dialogParamsGroupVisible" :mask-closable="false" :width="500">
|
||||||
<Form ref="paramGroupForm" :model="paramGroupForm" :label-width="100" :rules="paramGroupValidate">
|
<Form ref="paramGroupForm" :model="paramGroupForm" :label-width="100" :rules="paramGroupValidate">
|
||||||
<FormItem label="参数名称" prop="groupName">
|
<FormItem label="参数名称" prop="groupName">
|
||||||
<Input v-model="paramGroupForm.groupName" style="width: 100%" />
|
<Input v-model="paramGroupForm.groupName" style="width: 100%"/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
||||||
|
@ -117,6 +118,9 @@ import {
|
||||||
updateParamsGroup,
|
updateParamsGroup,
|
||||||
deleteParamsGroup,
|
deleteParamsGroup,
|
||||||
} from "@/api/goods";
|
} from "@/api/goods";
|
||||||
|
|
||||||
|
import {regular} from "@/utils";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "categoryParams",
|
name: "categoryParams",
|
||||||
data() {
|
data() {
|
||||||
|
@ -136,7 +140,7 @@ export default {
|
||||||
//参数表单
|
//参数表单
|
||||||
paramForm: {},
|
paramForm: {},
|
||||||
/** 参数值 **/
|
/** 参数值 **/
|
||||||
ops:{
|
ops: {
|
||||||
options: []
|
options: []
|
||||||
},
|
},
|
||||||
// 参数表单
|
// 参数表单
|
||||||
|
@ -144,13 +148,23 @@ export default {
|
||||||
/** 添加、编辑参数 规格 */
|
/** 添加、编辑参数 规格 */
|
||||||
formValidate: {
|
formValidate: {
|
||||||
paramName: [
|
paramName: [
|
||||||
{ required: true, message: "参数名称不能为空", trigger: "blur" },
|
regular.REQUIRED,
|
||||||
|
regular.VARCHAR5
|
||||||
|
],
|
||||||
|
options: [
|
||||||
|
regular.REQUIRED,
|
||||||
|
regular.VARCHAR255
|
||||||
|
],
|
||||||
|
sort: [
|
||||||
|
regular.REQUIRED,
|
||||||
|
regular.INTEGER
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
/** 参数组*/
|
/** 参数组*/
|
||||||
paramGroupValidate: {
|
paramGroupValidate: {
|
||||||
groupName: [
|
groupName: [
|
||||||
{ required: true, message: "参数组名称不能为空", trigger: "blur" },
|
regular.REQUIRED,
|
||||||
|
regular.VARCHAR5
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -185,9 +199,9 @@ export default {
|
||||||
handleEditParams(group, param) {
|
handleEditParams(group, param) {
|
||||||
this.paramForm = {
|
this.paramForm = {
|
||||||
paramName: param.paramName,
|
paramName: param.paramName,
|
||||||
options: param.options.split(","),
|
options: param.options.split(","),
|
||||||
required: param.required==1?true:false,
|
required: param.required == 1 ? true : false,
|
||||||
isIndex: param.isIndex==1?true:false,
|
isIndex: param.isIndex == 1 ? true : false,
|
||||||
groupId: group.groupId,
|
groupId: group.groupId,
|
||||||
categoryId: this.categoryId,
|
categoryId: this.categoryId,
|
||||||
sort: param.sort,
|
sort: param.sort,
|
||||||
|
@ -211,12 +225,8 @@ export default {
|
||||||
},
|
},
|
||||||
// 添加参数
|
// 添加参数
|
||||||
handleAddParamsGroup() {
|
handleAddParamsGroup() {
|
||||||
this.paramGroupForm = {
|
this.paramGroupForm = {};
|
||||||
|
this.ops = {};
|
||||||
};
|
|
||||||
this.ops = {
|
|
||||||
|
|
||||||
};
|
|
||||||
(this.paramGroupForm.categoryId = this.categoryId), (this.modalType = 0);
|
(this.paramGroupForm.categoryId = this.categoryId), (this.modalType = 0);
|
||||||
|
|
||||||
this.modalTitle = "添加参数组";
|
this.modalTitle = "添加参数组";
|
||||||
|
@ -334,11 +344,12 @@ export default {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" >
|
<style lang="scss">
|
||||||
.row {
|
.row {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin: 20px 0;
|
margin: 20px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.params {
|
.params {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -347,6 +358,7 @@ export default {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ivu-card-head {
|
.ivu-card-head {
|
||||||
background-color: #f5f7fa;
|
background-color: #f5f7fa;
|
||||||
}
|
}
|
||||||
|
@ -354,6 +366,7 @@ export default {
|
||||||
.ivu-btn {
|
.ivu-btn {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.paramsGroup {
|
.paramsGroup {
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -114,7 +114,7 @@ export default {
|
||||||
formValidate: {
|
formValidate: {
|
||||||
specName: [
|
specName: [
|
||||||
regular.REQUIRED,
|
regular.REQUIRED,
|
||||||
regular.VARCHAR20
|
// regular.VARCHAR20
|
||||||
],
|
],
|
||||||
specValue: [
|
specValue: [
|
||||||
regular.REQUIRED,
|
regular.REQUIRED,
|
||||||
|
|
|
@ -57,3 +57,43 @@ export const URL =
|
||||||
|
|
||||||
// 固话
|
// 固话
|
||||||
export const TEL = /0\d{2,3}-\d{7,8}/
|
export const TEL = /0\d{2,3}-\d{7,8}/
|
||||||
|
|
||||||
|
// 正整数
|
||||||
|
export const INTEGER = {
|
||||||
|
pattern: /^[0-9]\d*$/,
|
||||||
|
message: '请输入正整数'
|
||||||
|
}
|
||||||
|
|
||||||
|
export const VARCHAR5 = {
|
||||||
|
pattern: /^.{1,5}$/,
|
||||||
|
message: '长度应该限制在1-5个字符'
|
||||||
|
}
|
||||||
|
|
||||||
|
export const VARCHAR20 = {
|
||||||
|
pattern: /^.{1,20}$/,
|
||||||
|
message: '长度应该限制在1-20个字符'
|
||||||
|
}
|
||||||
|
|
||||||
|
export const VARCHAR60 = {
|
||||||
|
pattern: /^.{1,60}$/,
|
||||||
|
message: '长度应该限制在1-60个字符'
|
||||||
|
}
|
||||||
|
|
||||||
|
export const VARCHAR255 = {
|
||||||
|
pattern: /^.{1,255}$/,
|
||||||
|
message: '超出最大长度限制'
|
||||||
|
}
|
||||||
|
|
||||||
|
export const URL200 = {
|
||||||
|
pattern: /[a-zA-z]+\:\/\/[^\s]{1,190}/,
|
||||||
|
message: '请输入长度不超过200的URL地址'
|
||||||
|
}
|
||||||
|
export const REQUIRED = {
|
||||||
|
required: true,
|
||||||
|
message: '请填写参数'
|
||||||
|
}
|
||||||
|
|
||||||
|
export const WHITE_SPACE = {
|
||||||
|
whitespace: true,
|
||||||
|
message: "不可为纯空格",
|
||||||
|
}
|
||||||
|
|
|
@ -75,6 +75,9 @@ import * as API_Goods from "@/api/goods";
|
||||||
|
|
||||||
import TreeTable from "@/views/my-components/tree-table/Table/Table";
|
import TreeTable from "@/views/my-components/tree-table/Table/Table";
|
||||||
|
|
||||||
|
import { regular } from "@/utils";
|
||||||
|
import {VARCHAR20} from "../../../utils/regular";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "store-category",
|
name: "store-category",
|
||||||
components: {
|
components: {
|
||||||
|
@ -98,11 +101,12 @@ export default {
|
||||||
// 表单验证规则
|
// 表单验证规则
|
||||||
formValidate: {
|
formValidate: {
|
||||||
labelName: [
|
labelName: [
|
||||||
{
|
regular.REQUIRED,
|
||||||
required: true,
|
regular.VARCHAR20
|
||||||
message: "请输入分类名称",
|
],
|
||||||
trigger: "blur",
|
sortOrder: [
|
||||||
},
|
regular.REQUIRED,
|
||||||
|
regular.INTEGER
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
columns: [
|
columns: [
|
||||||
|
@ -128,7 +132,7 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 初始化数据
|
// 初始化数据
|
||||||
init() {
|
init() {
|
||||||
this.getAllList();
|
this.getAllList();
|
||||||
},
|
},
|
||||||
// 刷新列表
|
// 刷新列表
|
||||||
|
|
|
@ -90,9 +90,11 @@ div.base-info-item {
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
>div{
|
|
||||||
|
> div {
|
||||||
padding-left: 5%;
|
padding-left: 5%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-item-view {
|
.form-item-view {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
@ -102,20 +104,35 @@ div.base-info-item {
|
||||||
|
|
||||||
.layout {
|
.layout {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
|
width: 100%;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
.sku-item-content {
|
.sku-item-content {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: row;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
|
flex-wrap: wrap;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
|
.ivu-card-body{
|
||||||
|
width: 100%;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
.sku-item-content-name {
|
.sku-item-content-name {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
width: 100%;
|
width: 130px;
|
||||||
|
}
|
||||||
|
.sku-item-content-val{
|
||||||
|
display: flex;
|
||||||
|
width: 300px;
|
||||||
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.shop-category-text {
|
.shop-category-text {
|
||||||
|
@ -221,15 +238,18 @@ div.base-info-item {
|
||||||
> h1 {
|
> h1 {
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
}
|
}
|
||||||
|
|
||||||
> * {
|
> * {
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.operation {
|
.operation {
|
||||||
> * {
|
> * {
|
||||||
margin: 10px 0;
|
margin: 10px 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*商品描述*/
|
/*商品描述*/
|
||||||
.goods-intro {
|
.goods-intro {
|
||||||
line-height: 40;
|
line-height: 40;
|
||||||
|
@ -245,6 +265,7 @@ div.base-info-item {
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
|
|
||||||
> .ivu-btn {
|
> .ivu-btn {
|
||||||
margin: 0 10px;
|
margin: 0 10px;
|
||||||
}
|
}
|
||||||
|
@ -352,9 +373,7 @@ div.base-info-item {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
margin: 0 2px;
|
margin: 0 2px;
|
||||||
}
|
}
|
||||||
.ivu-form-item-content {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.required {
|
.required {
|
||||||
/deep/ .ivu-form-item-label::before {
|
/deep/ .ivu-form-item-label::before {
|
||||||
content: "*";
|
content: "*";
|
||||||
|
@ -366,6 +385,7 @@ div.base-info-item {
|
||||||
color: #ed4014;
|
color: #ed4014;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.demo-upload-list {
|
.demo-upload-list {
|
||||||
width: 150px;
|
width: 150px;
|
||||||
height: 150px;
|
height: 150px;
|
||||||
|
@ -378,10 +398,12 @@ div.base-info-item {
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
vertical-align: bottom;
|
vertical-align: bottom;
|
||||||
}
|
}
|
||||||
|
|
||||||
.demo-upload-list img {
|
.demo-upload-list img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.demo-upload-list-cover {
|
.demo-upload-list-cover {
|
||||||
display: none;
|
display: none;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -396,9 +418,11 @@ div.base-info-item {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
.demo-upload-list:hover .demo-upload-list-cover {
|
.demo-upload-list:hover .demo-upload-list-cover {
|
||||||
display:flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
.demo-upload-list-cover div {
|
.demo-upload-list-cover div {
|
||||||
margin-top: 50px;
|
margin-top: 50px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -411,9 +435,11 @@ div.base-info-item {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.active-goods-type {
|
.active-goods-type {
|
||||||
background: #e8e8e8;
|
background: #e8e8e8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.goods-type-list {
|
.goods-type-list {
|
||||||
max-height: 500px;
|
max-height: 500px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
@ -426,31 +452,36 @@ div.base-info-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
/deep/ img {
|
/deep/ img {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ h2 {
|
/deep/ h2 {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-size: 21px;
|
font-size: 21px;
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ p {
|
/deep/ p {
|
||||||
color: #999;
|
color: #999;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
> .goods-type-item:hover {
|
> .goods-type-item:hover {
|
||||||
transform: translateY(-10px);
|
transform: translateY(-10px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.template-item {
|
.template-item {
|
||||||
justify-content: flex-start !important;
|
justify-content: flex-start !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tree-bar{
|
.tree-bar {
|
||||||
height: auto !important;
|
height: auto !important;
|
||||||
max-height: auto !important;
|
max-height: auto !important;
|
||||||
min-height: 240px !important;
|
min-height: 240px !important;
|
||||||
|
|
|
@ -18,37 +18,21 @@
|
||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
/>
|
/>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<span v-if="drop">
|
|
||||||
<Form-item label="状态" prop="status">
|
<Form-item label="商品编号" prop="id">
|
||||||
<Select
|
<Input
|
||||||
v-model="searchForm.marketEnable"
|
type="text"
|
||||||
placeholder="请选择"
|
v-model="searchForm.id"
|
||||||
clearable
|
placeholder="商品编号"
|
||||||
style="width: 200px"
|
clearable
|
||||||
>
|
style="width: 200px"
|
||||||
<Option value="DOWN">下架</Option>
|
/>
|
||||||
<Option value="UPPER">上架</Option>
|
</Form-item>
|
||||||
</Select>
|
|
||||||
</Form-item>
|
|
||||||
<Form-item label="商品编号" prop="sn">
|
|
||||||
<Input
|
|
||||||
type="text"
|
|
||||||
v-model="searchForm.sn"
|
|
||||||
placeholder="商品编号"
|
|
||||||
clearable
|
|
||||||
style="width: 200px"
|
|
||||||
/>
|
|
||||||
</Form-item>
|
|
||||||
</span>
|
|
||||||
<Form-item style="margin-left: -35px" class="br">
|
<Form-item style="margin-left: -35px" class="br">
|
||||||
<Button @click="handleSearch" type="primary" icon="ios-search"
|
<Button @click="handleSearch" type="primary" icon="ios-search"
|
||||||
>搜索</Button
|
>搜索</Button
|
||||||
>
|
>
|
||||||
<Button @click="handleReset">重置</Button>
|
<Button @click="handleReset">重置</Button>
|
||||||
<a class="drop-down" @click="dropDown">
|
|
||||||
{{ dropDownContent }}
|
|
||||||
<Icon :type="dropDownIcon"></Icon>
|
|
||||||
</a>
|
|
||||||
</Form-item>
|
</Form-item>
|
||||||
</Form>
|
</Form>
|
||||||
<Table
|
<Table
|
||||||
|
@ -98,7 +82,7 @@ export default {
|
||||||
},
|
},
|
||||||
columns: [ // 表头
|
columns: [ // 表头
|
||||||
{
|
{
|
||||||
title: "ID",
|
title: "编号",
|
||||||
key: "id",
|
key: "id",
|
||||||
minWidth: 120
|
minWidth: 120
|
||||||
},
|
},
|
||||||
|
@ -135,11 +119,6 @@ export default {
|
||||||
return h('div', this.$options.filters.unitPrice(params.row.price, '¥'))
|
return h('div', this.$options.filters.unitPrice(params.row.price, '¥'))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
|
||||||
title: "商品库存",
|
|
||||||
key: "quantity",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "创建时间",
|
title: "创建时间",
|
||||||
key: "createTime",
|
key: "createTime",
|
||||||
|
@ -246,17 +225,6 @@ export default {
|
||||||
// 重新加载数据
|
// 重新加载数据
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
},
|
},
|
||||||
// 展开、收起搜索项
|
|
||||||
dropDown() {
|
|
||||||
if (this.drop) {
|
|
||||||
this.dropDownContent = "展开";
|
|
||||||
this.dropDownIcon = "ios-arrow-down";
|
|
||||||
} else {
|
|
||||||
this.dropDownContent = "收起";
|
|
||||||
this.dropDownIcon = "ios-arrow-up";
|
|
||||||
}
|
|
||||||
this.drop = !this.drop;
|
|
||||||
},
|
|
||||||
// 获取列表数据
|
// 获取列表数据
|
||||||
getDataList() {
|
getDataList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
</Select>
|
</Select>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<Form-item label="商品编号" prop="sn">
|
<Form-item label="商品编号" prop="sn">
|
||||||
<Input type="text" v-model="searchForm.sn" placeholder="商品编号" clearable style="width: 200px" />
|
<Input type="text" v-model="searchForm.id" placeholder="商品编号" clearable style="width: 200px" />
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<Button @click="handleSearch" type="primary" class="search-btn">搜索</Button>
|
<Button @click="handleSearch" type="primary" class="search-btn">搜索</Button>
|
||||||
<Button @click="handleReset" class="search-btn">重置</Button>
|
<Button @click="handleReset" class="search-btn">重置</Button>
|
||||||
|
@ -118,7 +118,7 @@ import {
|
||||||
import * as API_Shop from "@/api/shops";
|
import * as API_Shop from "@/api/shops";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
||||||
name: "goods",
|
name: "goods",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -201,8 +201,8 @@ export default {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "商品编号",
|
title: "商品编号",
|
||||||
key: "sn",
|
key: "id",
|
||||||
width: 100,
|
width: 180,
|
||||||
tooltip: true,
|
tooltip: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -211,18 +211,6 @@ export default {
|
||||||
minWidth: 200,
|
minWidth: 200,
|
||||||
slot: "goodsSlot",
|
slot: "goodsSlot",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
|
||||||
title: "市场价格",
|
|
||||||
key: "cost",
|
|
||||||
width: 130,
|
|
||||||
render: (h, params) => {
|
|
||||||
return h(
|
|
||||||
"div",
|
|
||||||
this.$options.filters.unitPrice(params.row.cost, "¥")
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "商品类型",
|
title: "商品类型",
|
||||||
key: "goodsType",
|
key: "goodsType",
|
||||||
|
|
Loading…
Reference in New Issue