Commit 9a757e36 authored by 黄奎's avatar 黄奎

页面修改

parent 199dc0dd
<template> <template>
<div class="goodsList"> <div class="goodsList">
<div class="head-title"> <div class="head-title">
商品列表 商品列表
<el-button @click="Export" style="float:right;margin-top: -5px;margin-left:20px;" size="small" type="primary">商品导出</el-button> <el-button @click="Export" style="float:right;margin-top: -5px;margin-left:20px;" size="small" type="primary">商品导出
<el-button @click="CommonJump('goodsListEdit',{hpState:hpState,FxState:FxState})" style="float:right;margin-top: -5px;margin-left:20px;" size="small" type="primary">添加商品</el-button> </el-button>
<!-- <el-button style="float:right;margin-top: -5px;margin-left:20px;" size="small" type="primary">更新所有商品销量</el-button> --> <el-button @click="CommonJump('goodsListEdit',{hpState:hpState,FxState:FxState})"
style="float:right;margin-top: -5px;margin-left:20px;" size="small" type="primary">添加商品</el-button>
<!-- <el-button style="float:right;margin-top: -5px;margin-left:20px;" size="small" type="primary">更新所有商品销量</el-button> -->
</div> </div>
<div class="content"> <div class="content">
<div> <div>
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane :dataId="0" label="全部" name="first"></el-tab-pane> <el-tab-pane :dataId="0" label="全部" name="first"></el-tab-pane>
<el-tab-pane :dataId="1" label="上架中" name="second"></el-tab-pane> <el-tab-pane :dataId="1" label="上架中" name="second"></el-tab-pane>
<el-tab-pane :dataId="2" label="下架中" name="third"></el-tab-pane> <el-tab-pane :dataId="2" label="下架中" name="third"></el-tab-pane>
<el-tab-pane :dataId="3" label="售罄" name="fourth"></el-tab-pane> <el-tab-pane :dataId="3" label="售罄" name="fourth"></el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
<div> <div>
<el-button @click="flDig=true" style="margin-right:10px;" size="small">分类筛选</el-button> <el-button @click="flDig=true" style="margin-right:10px;" size="small">分类筛选</el-button>
<el-button v-show="checkList.length>0" @click="checkList=[],msg.CategoryIds='',msg.pageIndex=1,getList()" type="danger" style="margin-right:10px;" size="small">清除分类</el-button> <el-button v-show="checkList.length>0" @click="checkList=[],msg.CategoryIds='',msg.pageIndex=1,getList()"
<span>添加时间:</span> type="danger" style="margin-right:10px;" size="small">清除分类</el-button>
<el-date-picker <span>添加时间:</span>
v-model="dateList" <el-date-picker v-model="dateList" @change="msg.pageIndex=1,getList()" size="small" type="datetimerange"
@change="msg.pageIndex=1,getList()" range-separator="至" value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期">
size="small" </el-date-picker>
type="datetimerange" <div class="searchInput" style="width:250px;margin-right: 0px;">
range-separator="至" <el-input @keyup.enter.native="msg.pageIndex=1,getList()" style="display:inline-block;width:225px;height:30px"
value-format="yyyy-MM-dd HH:mm:ss" placeholder="请输入名称搜索" v-model="msg.Name" @clear="msg.pageIndex=1,getList()" size="small" clearable>
start-placeholder="开始日期" </el-input>
end-placeholder="结束日期"> <span @click="msg.pageIndex=1,getList()" class="el-icon-search"
</el-date-picker> style="color:#979dad;font-size:14px;position:relative;top:1px"></span>
<div class="searchInput" style="width:250px;margin-right: 0px;">
<el-input @keyup.enter.native="msg.pageIndex=1,getList()" style="display:inline-block;width:225px;height:30px"
placeholder="请输入名称搜索"
v-model="msg.Name"
@clear="msg.pageIndex=1,getList()"
size="small"
clearable>
</el-input>
<span @click="msg.pageIndex=1,getList()" class="el-icon-search" style="color:#979dad;font-size:14px;position:relative;top:1px"></span>
</div>
<div class="searchInput" style="width:250px">
<el-input @keyup.enter.native="msg.pageIndex=1,getList()" style="display:inline-block;width:225px;height:30px"
placeholder="请输入ID搜索"
v-model="msg.Id"
@clear="msg.pageIndex=1,getList()"
size="small"
clearable>
</el-input>
<span @click="msg.pageIndex=1,getList()" class="el-icon-search" style="color:#979dad;font-size:14px;position:relative;top:1px"></span>
</div>
<span @click="Clearconditions" v-if="msg.Name!='' || msg.CategoryIds!='' || (dateList && dateList.length>0)" class='blue point'>清空筛选条件</span>
</div> </div>
<div style="margin-top:15px"> <div class="searchInput" style="width:250px">
<el-button @click="tableSet(4)" style="margin-left:10px;" size="mini">上架</el-button> <el-input @keyup.enter.native="msg.pageIndex=1,getList()" style="display:inline-block;width:225px;height:30px"
<el-button @click="tableSet(5)" style="margin-left:10px;" size="mini">下架</el-button> placeholder="请输入ID搜索" v-model="msg.Id" @clear="msg.pageIndex=1,getList()" size="small" clearable>
<el-button @click="tableSet(6)" style="margin-left:10px;" size="mini">删除</el-button> </el-input>
<el-button @click="plsetBtn" style="margin-left:10px;" size="mini">批量设置</el-button> <span @click="msg.pageIndex=1,getList()" class="el-icon-search"
style="color:#979dad;font-size:14px;position:relative;top:1px"></span>
</div> </div>
<el-table <span @click="Clearconditions" v-if="msg.Name!='' || msg.CategoryIds!='' || (dateList && dateList.length>0)"
:data="tableData" class='blue point'>清空筛选条件</span>
v-loading="loading" </div>
border <div style="margin-top:15px">
sortable='custom' <el-button @click="tableSet(4)" style="margin-left:10px;" size="mini">上架</el-button>
@sort-change='getSort' <el-button @click="tableSet(5)" style="margin-left:10px;" size="mini">下架</el-button>
@selection-change="tableSelect" <el-button @click="tableSet(6)" style="margin-left:10px;" size="mini">删除</el-button>
style="width: 100%;margin:20px 0"> <el-button @click="plsetBtn" style="margin-left:10px;" size="mini">批量设置</el-button>
<el-table-column </div>
type="selection" <el-table :data="tableData" v-loading="loading" border sortable='custom' @sort-change='getSort'
width="55"> @selection-change="tableSelect" style="width: 100%;margin:20px 0">
</el-table-column> <el-table-column type="selection" width="55">
<el-table-column </el-table-column>
prop="Id" <el-table-column prop="Id" width="80" sortable label="ID">
width="80" </el-table-column>
sortable <el-table-column prop="address" sortable label="排序">
label="ID"> <template slot-scope="scope">
</el-table-column> <template v-if="!scope.row.editsort">
<el-table-column <span>{{scope.row.Sort}}</span>
prop="address" <img @click="scope.row.editsort=true,scope.row.SortNew=scope.row.Sort"
sortable style="width:15px;height:15px;margin-left:7px" src="../../assets/img/userman/edit1.png" alt="">
label="排序"> </template>
<template slot-scope="scope"> <template v-else>
<template v-if="!scope.row.editsort"> <el-input v-model="scope.row.SortNew" type="number" min="1" size="small"
<span>{{scope.row.Sort}}</span> style="display:inline-block;width:70px"></el-input>
<img @click="scope.row.editsort=true,scope.row.SortNew=scope.row.Sort" style="width:15px;height:15px;margin-left:7px" src="../../assets/img/userman/edit1.png" alt=""> <span @click="scope.row.editsort=false" class="el-icon-error" style="color: rgb(245, 108, 108);"></span>
</template> <span @click="Edit(scope.row,1)" class="el-icon-success" style="color:#67c23a"></span>
<template v-else> </template>
<el-input v-model="scope.row.SortNew" type="number" min="1" size="small" style="display:inline-block;width:70px"></el-input> </template>
<span @click="scope.row.editsort=false" class="el-icon-error" style="color: rgb(245, 108, 108);"></span> </el-table-column>
<span @click="Edit(scope.row,1)" class="el-icon-success" style="color:#67c23a"></span> <el-table-column prop="Remark" label="分类">
</template> <template slot-scope="scope">
</template> <el-tag size="mini" v-if="scope.row.CategoryList && scope.row.CategoryList.length>0">
</el-table-column> {{scope.row.CategoryList[0].CategoryName}}</el-tag>
<el-table-column <el-tooltip class="item" effect="dark" placement="top">
prop="Remark" <div slot="content">
label="分类"> <span v-for="(item,index) in scope.row.CategoryList" :key="index">{{item.CategoryName}} </span>
<template slot-scope="scope"> </div>
<el-tag size="mini" v-if="scope.row.CategoryList && scope.row.CategoryList.length>0">{{scope.row.CategoryList[0].CategoryName}}</el-tag> <span v-if="scope.row.CategoryList.length>1 && index==0" v-for="(item,index) in scope.row.CategoryList"
<el-tooltip class="item" effect="dark" placement="top"> :key="index">...</span>
<div slot="content"> </el-tooltip>
<span v-for="(item,index) in scope.row.CategoryList" :key="index">{{item.CategoryName}} </span> </template>
</div> </el-table-column>
<span v-if="scope.row.CategoryList.length>1 && index==0" v-for="(item,index) in scope.row.CategoryList" :key="index">...</span> <el-table-column prop="address" width="300" label="商品名称">
<template slot-scope="scope">
<div flex="box:first">
<el-image title="点击查看大图" style="width:50px;height:50px;margin-right:1px" :src="scope.row.CoverImage"
:preview-src-list="scope.row.CarouselImageList">
</el-image>
<template v-if="!scope.row.editname">
<div flex="cross:top" style="display:inline-flex">
<div flex="dir:left">
<el-tooltip class="item" effect="dark" :content="scope.row.Name" placement="top">
<div class="vue-line-clamp" style="word-break: break-all; -webkit-line-clamp: 2;">
<span>{{scope.row.Name}}</span>
</div>
</el-tooltip> </el-tooltip>
</template> <img @click="scope.row.editname=true,scope.row.NameNew=scope.row.Name"
</el-table-column> style="width:15px;height:15px;margin-left:7px" src="../../assets/img/userman/edit1.png" alt="">
<el-table-column </div>
prop="address" </div>
width="300"
label="商品名称">
<template slot-scope="scope">
<div flex="box:first">
<img style="width:50px;height:50px;margin-right:1px" :src="scope.row.CoverImage" alt="">
<template v-if="!scope.row.editname">
<div flex="cross:top" style="display:inline-flex">
<div flex="dir:left" >
<el-tooltip class="item" effect="dark" :content="scope.row.Name" placement="top">
<div class="vue-line-clamp" style="word-break: break-all; -webkit-line-clamp: 2;">
<span>{{scope.row.Name}}</span>
</div>
</el-tooltip>
<img @click="scope.row.editname=true,scope.row.NameNew=scope.row.Name" style="width:15px;height:15px;margin-left:7px" src="../../assets/img/userman/edit1.png" alt="">
</div>
</div>
</template>
<template v-else>
<el-input v-model="scope.row.NameNew" size="small" style="display:inline-block;width:150px"></el-input>
<span @click="scope.row.editname=false" class="el-icon-error" style="margin-left:5px;color: rgb(245, 108, 108);position: relative;top: 9px;"></span>
<span @click="Edit(scope.row,2)" class="el-icon-success" style="color:#67c23a;position: relative;top: 9px;"></span>
</template>
</div>
</template>
</el-table-column>
<el-table-column
prop="SellingPrice"
width="100"
sortable
label="售价">
</el-table-column>
<el-table-column
prop="InventoryNum"
width="100"
sortable
label="库存">
<template slot-scope="scope">
<span v-if="scope.row.InventoryNum==0" style="color:red">售罄</span>
<span v-else>{{scope.row.InventoryNum}}</span>
</template>
</el-table-column>
<el-table-column
width="120"
>
<template slot="header" >
已出售量
<el-tooltip effect="dark" content="已出售量=实际销量+虚拟销量,按实际销量排序" placement="top">
<i class="el-icon-info"></i>
</el-tooltip>
</template> </template>
<template v-else>
<template slot-scope="scope"> <el-input v-model="scope.row.NameNew" size="small" style="display:inline-block;width:150px"></el-input>
<span @click="scope.row.editname=false" class="el-icon-error"
<span >{{scope.row.GoodsBuyNum}}+{{scope.row.SalesNum}}</span> style="margin-left:5px;color: rgb(245, 108, 108);position: relative;top: 9px;"></span>
<span @click="Edit(scope.row,2)" class="el-icon-success"
style="color:#67c23a;position: relative;top: 9px;"></span>
</template> </template>
</el-table-column> </div>
</template>
<el-table-column </el-table-column>
prop="UpdateDate" <el-table-column prop="SellingPrice" width="100" sortable label="售价">
width="110" </el-table-column>
label="是否加入快速购买"> <el-table-column prop="InventoryNum" width="100" sortable label="库存">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <span v-if="scope.row.InventoryNum==0" style="color:red">售罄</span>
@change="Edit(scope.row,10)" <span v-else>{{scope.row.InventoryNum}}</span>
v-model="scope.row.IsQuickBuy" </template>
active-color="#409EFF" </el-table-column>
:active-value="1" <el-table-column width="120">
:inactive-value="0"> <template slot="header">
</el-switch> 已出售量
</template> <el-tooltip effect="dark" content="已出售量=实际销量+虚拟销量,按实际销量排序" placement="top">
</el-table-column> <i class="el-icon-info"></i>
<el-table-column </el-tooltip>
prop="CreateDate" </template>
width="160" <template slot-scope="scope">
label="添加时间"> <span>{{scope.row.GoodsBuyNum}}+{{scope.row.SalesNum}}</span>
</el-table-column> </template>
<el-table-column </el-table-column>
prop="UpdateDate" <el-table-column prop="UpdateDate" width="110" label="是否加入快速购买">
width="100" <template slot-scope="scope">
label="状态"> <el-switch @change="Edit(scope.row,10)" v-model="scope.row.IsQuickBuy" active-color="#409EFF"
<template slot-scope="scope"> :active-value="1" :inactive-value="0">
<el-tag v-if="scope.row.GoodsStatus==1" type="success">销售中</el-tag> </el-switch>
<el-tag v-if="scope.row.GoodsStatus==2" type="warning">下架中</el-tag> </template>
</template> </el-table-column>
</el-table-column> <el-table-column prop="CreateDate" width="160" label="添加时间">
<el-table-column </el-table-column>
prop="address" <el-table-column prop="UpdateDate" width="100" label="状态">
width="200" <template slot-scope="scope">
label="操作"> <el-tag v-if="scope.row.GoodsStatus==1" type="success">销售中</el-tag>
<template slot-scope="scope"> <el-tag v-if="scope.row.GoodsStatus==2" type="warning">下架中</el-tag>
<img @click="goGoodsEdit(scope.row.Id)" style="width:32px;height:32px;margin:0 10px" src="../../assets/img/userman/edit.png" alt=""> </template>
<img @click="Delete(scope.row)" style="width:32px;height:32px;margin:0 10px" src="../../assets/img/userman/del.png" alt=""> </el-table-column>
</template> <el-table-column prop="address" width="200" label="操作">
</el-table-column> <template slot-scope="scope">
</el-table> <img @click="goGoodsEdit(scope.row.Id)" style="width:32px;height:32px;margin:0 10px"
<el-pagination style="text-align:right" src="../../assets/img/userman/edit.png" alt="">
background <img @click="Delete(scope.row)" style="width:32px;height:32px;margin:0 10px"
@current-change="handleCurrentChange" src="../../assets/img/userman/del.png" alt="">
:page-size="msg.pageSize" </template>
layout="prev, pager, next" </el-table-column>
:current-page.sync="msg.pageIndex" </el-table>
:total="total"> <el-pagination style="text-align:right" background @current-change="handleCurrentChange" :page-size="msg.pageSize"
</el-pagination> layout="prev, pager, next" :current-page.sync="msg.pageIndex" :total="total">
</el-pagination>
</div> </div>
<!-- 选择分类 --> <!-- 选择分类 -->
<el-dialog custom-class="app-add-cat" title="选择分类" :visible.sync="flDig" width="1100px"> <el-dialog custom-class="app-add-cat" title="选择分类" :visible.sync="flDig" width="1100px">
<el-row> <el-row>
<el-col :span="8" style="padding:0 10px;box-sizing:border-box"> <el-col :span="8" style="padding:0 10px;box-sizing:border-box">
<h3 style="padding:15px 0">一级分类</h3> <h3 style="padding:15px 0">一级分类</h3>
<div class="app-goods-cat-list active"> <div class="app-goods-cat-list active">
<el-checkbox-group v-model="checkList"> <el-checkbox-group v-model="checkList">
<div v-for="(item,index) in fenleiData" :key="index" flex="dir:left box:first" class="cat-item"> <div v-for="(item,index) in fenleiData" :key="index" flex="dir:left box:first" class="cat-item">
<el-checkbox :label="item"> <el-checkbox :label="item">
<span style="display: none;">{{item.Name}}</span> <span style="display: none;">{{item.Name}}</span>
</el-checkbox> </el-checkbox>
<div flex="box:last cross:center"> <div flex="box:last cross:center">
<span>{{item.Name}}</span> <span>{{item.Name}}</span>
<i v-if="item.ChildList.length>0" @click="getChild2(item.ChildList)" class="el-icon-arrow-right"></i> <i v-if="item.ChildList.length>0" @click="getChild2(item.ChildList)" class="el-icon-arrow-right"></i>
</div>
</div>
</el-checkbox-group>
</div> </div>
</el-col> </div>
<el-col v-show="childList2.length>0" :span="8" style="padding:0 10px;box-sizing:border-box"> </el-checkbox-group>
<h3 style="padding:15px 0">二级分类</h3> </div>
<div class="app-goods-cat-list active"> </el-col>
<el-checkbox-group v-model="checkList"> <el-col v-show="childList2.length>0" :span="8" style="padding:0 10px;box-sizing:border-box">
<div v-for="(item,index) in childList2" :key="index" flex="dir:left box:first" class="cat-item"> <h3 style="padding:15px 0">二级分类</h3>
<el-checkbox :label="item"> <div class="app-goods-cat-list active">
<span style="display: none;">{{item.Name}}</span> <el-checkbox-group v-model="checkList">
</el-checkbox> <div v-for="(item,index) in childList2" :key="index" flex="dir:left box:first" class="cat-item">
<div flex="box:last cross:center"> <el-checkbox :label="item">
<span>{{item.Name}}</span> <span style="display: none;">{{item.Name}}</span>
<i v-if="item.ChildList.length>0" @click="getChild3(item.ChildList)" class="el-icon-arrow-right"></i> </el-checkbox>
</div> <div flex="box:last cross:center">
</div> <span>{{item.Name}}</span>
</el-checkbox-group> <i v-if="item.ChildList.length>0" @click="getChild3(item.ChildList)" class="el-icon-arrow-right"></i>
</div> </div>
</el-col> </div>
<el-col v-show="childList3.length>0" :span="8" style="padding:0 10px;box-sizing:border-box"> </el-checkbox-group>
<h3 style="padding:15px 0">三级分类</h3> </div>
<div class="app-goods-cat-list active"> </el-col>
<el-checkbox-group v-model="checkList"> <el-col v-show="childList3.length>0" :span="8" style="padding:0 10px;box-sizing:border-box">
<div v-for="(item,index) in childList3" :key="index" flex="dir:left box:first" class="cat-item"> <h3 style="padding:15px 0">三级分类</h3>
<el-checkbox :label="item"> <div class="app-goods-cat-list active">
<span style="display: none;">{{item.Name}}</span> <el-checkbox-group v-model="checkList">
</el-checkbox> <div v-for="(item,index) in childList3" :key="index" flex="dir:left box:first" class="cat-item">
<div flex="box:last cross:center"> <el-checkbox :label="item">
<span>{{item.Name}}</span> <span style="display: none;">{{item.Name}}</span>
<i class="el-icon-arrow-right"></i> </el-checkbox>
</div> <div flex="box:last cross:center">
</div> <span>{{item.Name}}</span>
</el-checkbox-group> <i class="el-icon-arrow-right"></i>
</div> </div>
</el-col> </div>
</el-row> </el-checkbox-group>
<div class="tag-box"> </div>
<el-tag @close="exitCheck(item)" v-for="(item,index) in checkList" :key="index" type="warning" closable style="margin-right:5px">{{item.Name}}</el-tag> </el-col>
</div> </el-row>
<span slot="footer" class="dialog-footer"> <div class="tag-box">
<el-button size="small" @click="flDig = false">取 消</el-button> <el-tag @close="exitCheck(item)" v-for="(item,index) in checkList" :key="index" type="warning" closable
<el-button @click="chooseFl" size="small" type="primary">确 定</el-button> style="margin-right:5px">{{item.Name}}</el-tag>
</span> </div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="flDig = false">取 消</el-button>
<el-button @click="chooseFl" size="small" type="primary">确 定</el-button>
</span>
</el-dialog> </el-dialog>
<!-- 批量修改 --> <!-- 批量修改 -->
<el-dialog custom-class="plxg" title="批量修改" :visible.sync="plDig" width="960px"> <el-dialog custom-class="plxg" title="批量修改" :visible.sync="plDig" width="960px">
<span class="absoSpan">已选商品{{GoodsIds.length}}个</span> <span class="absoSpan">已选商品{{GoodsIds.length}}个</span>
<div class="batch-remark c99 f14">注:每次只能修改一项,修改后点击确定即可生效。如需修改多项,需多次操作。</div> <div class="batch-remark c99 f14">注:每次只能修改一项,修改后点击确定即可生效。如需修改多项,需多次操作。</div>
<div style="margin-top:15px" flex="dir:left box:first"> <div style="margin-top:15px" flex="dir:left box:first">
<div flex="dir:top" class="batch-box-left"> <div flex="dir:top" class="batch-box-left">
<div flex="main:center" @click="ClearSelect(7)" :class="plszMsg.Type==7?'batch-div-active':''">运费</div> <div flex="main:center" @click="ClearSelect(7)" :class="plszMsg.Type==7?'batch-div-active':''">运费</div>
<div flex="main:center" @click="ClearSelect(8)" :class="plszMsg.Type==8?'batch-div-active':''">限购</div> <div flex="main:center" @click="ClearSelect(8)" :class="plszMsg.Type==8?'batch-div-active':''">限购</div>
<div flex="main:center" @click="ClearSelect(9)" :class="plszMsg.Type==9?'batch-div-active':''">积分</div> <div flex="main:center" @click="ClearSelect(9)" :class="plszMsg.Type==9?'batch-div-active':''">积分</div>
<div flex="main:center" @click="ClearSelect(10)" :class="plszMsg.Type==10?'batch-div-active':''">快速购买</div> <div flex="main:center" @click="ClearSelect(10)" :class="plszMsg.Type==10?'batch-div-active':''">快速购买</div>
<div flex="main:center" @click="ClearSelect(11)" :class="plszMsg.Type==11?'batch-div-active':''">面议</div> <div flex="main:center" @click="ClearSelect(11)" :class="plszMsg.Type==11?'batch-div-active':''">面议</div>
<div flex="main:center" @click="ClearSelect(12)" :class="plszMsg.Type==12?'batch-div-active':''">供应商</div> <div flex="main:center" @click="ClearSelect(12)" :class="plszMsg.Type==12?'batch-div-active':''">供应商</div>
</div>
<div class="batch-box-right">
<el-form class="app-batch" :model="addMsg" :rules="rules" ref="addMsg" label-width="100px">
<el-form-item v-if="plszMsg.Type==7" label="运费设置">
<el-tag v-if="ruleSelect.RulesName" @close="plszMsg.FreightId=0,ruleSelect={}" closable>{{ruleSelect.RulesName}}</el-tag>
<el-button @click="chooseyfDig=true" style="margin-left:10px;" size="small">选择运费</el-button>
</el-form-item>
<el-form-item v-if="plszMsg.Type==8" label="每人限购">
<el-form-item label-width="50px" label="商品">
<el-input :disabled="BuyGoodsNumState" v-model="plszMsg.LimitBuyGoodsNum" style="width:254px;margin-left:15px" type="number" min="1" size="small" placeholder="请输入内容" class="input-with-select">
<el-button slot="append"></el-button>
</el-input>
<el-checkbox @change="goodChange(BuyGoodsNumState,1)" style="margin-left:10px" v-model="BuyGoodsNumState">不限制</el-checkbox>
</el-form-item>
<el-form-item label-width="50px" label="订单">
<el-input :disabled="BuyOrderNumState" v-model="plszMsg.LimitBuyOrderNum" style="width:254px;margin-left:15px" type="number" min="1" size="small" placeholder="请输入内容" class="input-with-select">
<el-button slot="append"></el-button>
</el-input>
<el-checkbox @change="goodChange(BuyOrderNumState,2)" style="margin-left:10px" v-model="BuyOrderNumState">不限制</el-checkbox>
</el-form-item>
</el-form-item>
<template v-if="plszMsg.Type==9">
<el-form-item label="积分赠送">
<el-tooltip class="item" effect="dark" placement="top"
style="position: absolute;left: -10px;top:12px">
<div slot="content">
用户购物赠送的积分, 如果不填写或填写0,则默认为不赠送积分<br/>
如果为百分比则为按成交价格的比例计算积分<br/>
如: 购买2件,设置10 积分, 不管成交价格是多少, 则购买后获得20积分<br/>
如: 购买2件,设置10%积分, 成交价格2 * 200= 400, 则购买后获得 40 积分(400*10%)<br/>
</div>
<i class="el-tooltip el-icon-info"></i>
</el-tooltip>
<el-input v-model="plszMsg.IntegralPresent" style="width:670px;margin-left:15px" type="number" min="1" size="small" placeholder="请输入内容" class="input-with-select">
<el-button slot="append">
<el-radio v-model="plszMsg.IntegralPresentType" :label="2">固定值</el-radio>
<el-radio v-model="plszMsg.IntegralPresentType" :label="1">百分比</el-radio>
</el-button>
</el-input>
</el-form-item>
<el-form-item label="积分抵扣">
<el-tooltip class="item" effect="dark" content="如果设置0,则不支持积分抵扣 如果带%则为按成交价格的比例计算抵扣多少元" placement="top"
style="position: absolute;left: -10px;top:12px">
<i class="el-tooltip el-icon-info"></i>
</el-tooltip>
<el-input v-model="plszMsg.PointsDeduction" style="width:670px;margin-left:15px" type="number" min="1" size="small" placeholder="请输入内容" class="input-with-select">
<template slot="prepend">最多抵扣</template>
<el-button slot="append">
<el-radio v-model="plszMsg.PointsDeductionType" :label="2">固定值</el-radio>
<el-radio v-model="plszMsg.PointsDeductionType" :label="1">百分比</el-radio>
</el-button>
</el-input>
</el-form-item>
<el-form-item label-width="110px">
<el-checkbox v-model="plszMsg.IsMultipleDeduction" :true-label="1" :false-label="2">允许多件抵扣</el-checkbox>
</el-form-item>
</template>
<el-form-item v-if="plszMsg.Type==10" label-width="160px" label="是否加入快速购买">
<el-switch
v-model="plszMsg.IsQuickBuy"
active-color="#409EFF"
:active-value="1"
:inactive-value="0">
</el-switch>
</el-form-item>
<el-form-item class="spmy" v-if="plszMsg.Type==11" label-width="160px" label="是否加入商品面议">
<el-tooltip class="item" effect="dark" content="如果开启面议,则商品无法在线支付" placement="top"
style="position: absolute;left: -22px;top:12px">
<i class="el-tooltip el-icon-info"></i>
</el-tooltip>
<el-switch
v-model="plszMsg.IsGoodsNegotiable"
active-color="#409EFF"
:active-value="1"
:inactive-value="0">
</el-switch>
</el-form-item>
<el-form-item class="spmy" v-if="plszMsg.Type==12" label-width="160px" label="供应商">
<el-select class="w150" style="margin-right: 10px;" v-model="plszMsg.SupplierId" size="small"
placeholder="请选择" @change='changeSupplier'>
<el-option v-for="item in options" :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-form>
</div>
</div> </div>
<div class="batch-box-right">
<el-form class="app-batch" :model="addMsg" :rules="rules" ref="addMsg" label-width="100px">
<el-form-item v-if="plszMsg.Type==7" label="运费设置">
<el-tag v-if="ruleSelect.RulesName" @close="plszMsg.FreightId=0,ruleSelect={}" closable>
{{ruleSelect.RulesName}}</el-tag>
<el-button @click="chooseyfDig=true" style="margin-left:10px;" size="small">选择运费</el-button>
</el-form-item>
<el-form-item v-if="plszMsg.Type==8" label="每人限购">
<el-form-item label-width="50px" label="商品">
<el-input :disabled="BuyGoodsNumState" v-model="plszMsg.LimitBuyGoodsNum"
style="width:254px;margin-left:15px" type="number" min="1" size="small" placeholder="请输入内容"
class="input-with-select">
<el-button slot="append"></el-button>
</el-input>
<el-checkbox @change="goodChange(BuyGoodsNumState,1)" style="margin-left:10px"
v-model="BuyGoodsNumState">不限制</el-checkbox>
</el-form-item>
<el-form-item label-width="50px" label="订单">
<el-input :disabled="BuyOrderNumState" v-model="plszMsg.LimitBuyOrderNum"
style="width:254px;margin-left:15px" type="number" min="1" size="small" placeholder="请输入内容"
class="input-with-select">
<el-button slot="append"></el-button>
</el-input>
<el-checkbox @change="goodChange(BuyOrderNumState,2)" style="margin-left:10px"
v-model="BuyOrderNumState">不限制</el-checkbox>
</el-form-item>
</el-form-item>
<template v-if="plszMsg.Type==9">
<el-form-item label="积分赠送">
<el-tooltip class="item" effect="dark" placement="top" style="position: absolute;left: -10px;top:12px">
<div slot="content">
用户购物赠送的积分, 如果不填写或填写0,则默认为不赠送积分<br />
如果为百分比则为按成交价格的比例计算积分<br />
如: 购买2件,设置10 积分, 不管成交价格是多少, 则购买后获得20积分<br />
如: 购买2件,设置10%积分, 成交价格2 * 200= 400, 则购买后获得 40 积分(400*10%)<br />
</div>
<i class="el-tooltip el-icon-info"></i>
</el-tooltip>
<el-input v-model="plszMsg.IntegralPresent" style="width:670px;margin-left:15px" type="number" min="1"
size="small" placeholder="请输入内容" class="input-with-select">
<el-button slot="append">
<el-radio v-model="plszMsg.IntegralPresentType" :label="2">固定值</el-radio>
<el-radio v-model="plszMsg.IntegralPresentType" :label="1">百分比</el-radio>
</el-button>
</el-input>
</el-form-item>
<el-form-item label="积分抵扣">
<el-tooltip class="item" effect="dark" content="如果设置0,则不支持积分抵扣 如果带%则为按成交价格的比例计算抵扣多少元" placement="top"
style="position: absolute;left: -10px;top:12px">
<i class="el-tooltip el-icon-info"></i>
</el-tooltip>
<el-input v-model="plszMsg.PointsDeduction" style="width:670px;margin-left:15px" type="number" min="1"
size="small" placeholder="请输入内容" class="input-with-select">
<template slot="prepend">最多抵扣</template>
<el-button slot="append">
<el-radio v-model="plszMsg.PointsDeductionType" :label="2">固定值</el-radio>
<el-radio v-model="plszMsg.PointsDeductionType" :label="1">百分比</el-radio>
</el-button>
</el-input>
</el-form-item>
<el-form-item label-width="110px">
<el-checkbox v-model="plszMsg.IsMultipleDeduction" :true-label="1" :false-label="2">允许多件抵扣</el-checkbox>
</el-form-item>
</template>
<el-form-item v-if="plszMsg.Type==10" label-width="160px" label="是否加入快速购买">
<el-switch v-model="plszMsg.IsQuickBuy" active-color="#409EFF" :active-value="1" :inactive-value="0">
</el-switch>
</el-form-item>
<el-form-item class="spmy" v-if="plszMsg.Type==11" label-width="160px" label="是否加入商品面议">
<el-tooltip class="item" effect="dark" content="如果开启面议,则商品无法在线支付" placement="top"
style="position: absolute;left: -22px;top:12px">
<i class="el-tooltip el-icon-info"></i>
</el-tooltip>
<el-switch v-model="plszMsg.IsGoodsNegotiable" active-color="#409EFF" :active-value="1"
:inactive-value="0">
</el-switch>
</el-form-item>
<el-form-item class="spmy" v-if="plszMsg.Type==12" label-width="160px" label="供应商">
<el-select class="w150" style="margin-right: 10px;" v-model="plszMsg.SupplierId" size="small"
placeholder="请选择" @change='changeSupplier'>
<el-option v-for="item in options" :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-form>
</div>
</div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button size="small" @click="plDig = false">取 消</el-button> <el-button size="small" @click="plDig = false">取 消</el-button>
<el-button @click="plsetOk" size="small" type="primary">确 定</el-button> <el-button @click="plsetOk" size="small" type="primary">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
<!-- 选择运费 --> <!-- 选择运费 -->
<el-dialog title="选择运费" top="2%" :modal="false" :modal-append-to-body='false' :visible.sync="chooseyfDig" width="25%"> <el-dialog title="选择运费" top="2%" :modal="false" :modal-append-to-body='false' :visible.sync="chooseyfDig"
<div> width="25%">
<el-radio-group v-model="val"> <div>
<el-radio @change="YfSelect" class="yfradio" v-for="(item,index) in ruleList" :key="index" :label="item">{{item.RulesName}}</el-radio> <el-radio-group v-model="val">
</el-radio-group> <el-radio @change="YfSelect" class="yfradio" v-for="(item,index) in ruleList" :key="index" :label="item">
</div> {{item.RulesName}}</el-radio>
<span slot="footer" class="dialog-footer"> </el-radio-group>
<el-button size="small" @click="chooseyfDig = false,ruleSelect={},plszMsg.FreightId=0">取 消</el-button> </div>
<el-button size="small" @click="chooseyfDig = false" type="primary">确 定</el-button> <span slot="footer" class="dialog-footer">
</span> <el-button size="small" @click="chooseyfDig = false,ruleSelect={},plszMsg.FreightId=0">取 消</el-button>
<el-button size="small" @click="chooseyfDig = false" type="primary">确 定</el-button>
</span>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: "quickBuy", name: "quickBuy",
data(){ data() {
return{ return {
chooseyfDig:false, chooseyfDig: false,
plDig:false, plDig: false,
flDig:false, flDig: false,
val:'', val: '',
dateList:[], dateList: [],
activeName:'first', activeName: 'first',
editState:false, editState: false,
msg:{ msg: {
pageIndex:1, pageIndex: 1,
pageSize:15, pageSize: 15,
Name:'', Name: '',
GoodsStatus:0, GoodsStatus: 0,
IsSelectSellOut:0, IsSelectSellOut: 0,
CategoryIds:'', CategoryIds: '',
Id:'', Id: '',
StartTime:'', StartTime: '',
EndTime:'', EndTime: '',
OrderBy:0, OrderBy: 0,
},
total:0,
tableData:[],
loading:false,
options:[],
addMsg:{
Id:0,
Sort:'',
Name:'',
IsDefault:1,
Remark:'',
UpdateType:1,
},
rules:{
CategoryIdNew: [
{ required: true, message: '分类不能为空', trigger: 'change' }
],
Sort: [
{ required: true, message: '请输入排序', trigger: 'blur' }
],
},
fenleiData:[],
checkList:[],
childList2:[],
childList3:[],
GoodsIds:[],
plszMsg:{
GoodsIds:'',
Type:7,
FreightId:0,
LimitBuyGoodsNum:-1,
LimitBuyOrderNum:-1,
IntegralPresent:0,
IntegralPresentType:2,
PointsDeduction:0,
PointsDeductionType:2,
IsMultipleDeduction:2,
IsQuickBuy:2,
IsGoodsNegotiable:2,
SupplierId:''
},
ruleList:[],
ruleSelect:{},
keepGoodsIds:'',
BuyGoodsNumState:true,
BuyOrderNumState:true,
hpState:0,
FxState:0
}
},
created(){
this.getList();
this.getTree();
this.getRule();
this.getHpState();
this.getFxState();
this.getSupplierList()//获取供应商
},
methods:{
//获取是否开启和平返佣
getHpState(){
this.apipost("/api/user/GetHpDistributorIsEnabled", {}, res => {
if(res.data.resultCode==1){
this.hpState=res.data.data;
}
})
},
//是否开启粉象返佣
getFxState(){
this.apipost("/api/user/GetIsEnableFXDistributorGrade", {}, res => {
if(res.data.resultCode==1){
this.FxState=res.data.data;
}
})
},
goodChange(val,num){
if(!val){
if(num==1){
this.plszMsg.LimitBuyGoodsNum=0;
}
else if(num==2){
this.plszMsg.LimitBuyOrderNum=0;
}
}
},
Export(){
let msg = this.msg;
if( msg.Id==''){
msg.Id=0
}
msg = JSON.parse(JSON.stringify(msg));
msg.pageSize=999;
this.GetLocalFile(
"/api/product/GetProductGoodsListToExcel",
msg,
"商品列表.xls"
);
},
plsetOk(){
if(this.plszMsg.Type==7){
// if(this.plszMsg.FreightId==0){
// this.Error("请选择运费规则");
// return;
// }
}
if(this.plszMsg.Type==8){
if(this.plszMsg.BuyGoodsNumState){
this.plszMsg.LimitBuyGoodsNum=-1
}
if(this.plszMsg.BuyOrderNumState){
this.plszMsg.LimitBuyOrderNum=-1
}
}
let mall_userInfo = JSON.parse(localStorage.mall_userInfo)
if(mall_userInfo.TenantId==1 && mall_userInfo.MallBaseId==1 ){
if(this.plszMsg.SupplierId==''){
this.Error("请选择供应商!");
return
}else{
this.commonSet(this.plszMsg);
}
}else{
if(this.plszMsg.SupplierId==''){
this.plszMsg.SupplierId=0
this.commonSet(this.plszMsg)
}else{
this.commonSet(this.plszMsg);
}
}
},
plsetBtn(){
if(this.GoodsIds.length==0){
this.Error("请先勾选要设置的商品!");
return;
}
let idList=[];
this.GoodsIds.forEach(item=>{
idList.push(item.Id)
})
this.keepGoodsIds=idList.join(',');
this.plszMsg.GoodsIds=this.keepGoodsIds;
this.plszMsg.SupplierId=''
this.plDig=true;
},
ClearSelect(type){
this.plszMsg={
GoodsIds:this.keepGoodsIds,
Type:type,
FreightId:0,
LimitBuyGoodsNum:-1,
LimitBuyOrderNum:-1,
IntegralPresent:0,
IntegralPresentType:2,
PointsDeduction:0,
PointsDeductionType:2,
IsMultipleDeduction:2,
IsQuickBuy:2,
IsGoodsNegotiable:2,
SupplierId:''
}
},
YfSelect(val){
this.ruleSelect=val;
this.plszMsg.FreightId=val.ID;
},
tableSelect(val){
this.GoodsIds=val;
},
// 上架 下架 删除
tableSet(num){
if(this.GoodsIds.length==0){
this.Error("请先勾选要设置的商品!");
return;
}
let idList=[];
this.GoodsIds.forEach(item=>{
idList.push(item.Id)
})
let GoodsIds=idList.join(',');
let msg={
GoodsIds:GoodsIds,
Type:num,
}
let str="";
if(num==4){
str="批量上架,是否继续";
}
if(num==5){
str="批量下架,是否继续";
}
if(num==6){
str="是否确认删除选中的商品?";
}
let that=this;
that.$confirm(str, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.commonSet(msg);
}).catch(() => {
});
},
Edit(row,num){
let addMsg={
GoodsIds:row.Id,
Type:num,
Sort:row.SortNew,
GoodsName:row.NameNew,
IsQuickBuy:row.IsQuickBuy
};
this.commonSet(addMsg)
},
commonSet(addMsg){
this.apipost('/api/product/SetProductGoodsQuickUpdate',addMsg,
res => {
if (res.data.resultCode === 1) {
this.getList();
this.Success(res.data.message)
this.plDig=false;
} else {
this.Error(res.data.message);
}
},
null
);
},
chooseFl(){
let CategoryIds=[];
this.checkList.forEach(item=>{
CategoryIds.push(item.Id)
})
this.msg.pageIndex=1
this.msg.CategoryIds = CategoryIds.join(",");
this.getList();
this.flDig=false;
},
getChild3(ChildList){
this.childList3=ChildList;
},
getChild2(ChildList){
this.childList2=ChildList;
},
exitCheck(item,index){
this.checkList.forEach((list,k)=>{
if(list.Id==item.Id){
this.checkList.splice(k,1);
}
})
},
handleCheckChange(val){
}, },
Clearconditions(){ total: 0,
this.msg.Name=''; tableData: [],
this.msg.CategoryIds=''; loading: false,
this.dateList=[]; options: [],
this.checkList=[]; addMsg: {
this.getList(); Id: 0,
Sort: '',
Name: '',
IsDefault: 1,
Remark: '',
UpdateType: 1,
}, },
handleClick(val){ rules: {
let dataId=val.$attrs.dataId; CategoryIdNew: [{
if(dataId==0){ required: true,
this.msg.GoodsStatus=0; message: '分类不能为空',
this.msg.IsSelectSellOut=0; trigger: 'change'
} }],
if(dataId==1){ Sort: [{
this.msg.GoodsStatus=1; required: true,
this.msg.IsSelectSellOut=0; message: '请输入排序',
} trigger: 'blur'
if(dataId==2){ }],
this.msg.GoodsStatus=2;
this.msg.IsSelectSellOut=0;
}
if(dataId==3){
this.msg.GoodsStatus=0;
this.msg.IsSelectSellOut=1;
}
this.msg.pageIndex=1
this.getList();
},
Delete(item){
let that=this;
that.$confirm('是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apipost('/api/product/DelProcudtGoodsInfo',{GoodsId:item.Id},
res => {
if (res.data.resultCode === 1) {
this.getList();
this.Success(res.data.message)
} else {
this.Error(res.data.message);
}
},
null
);
}).catch(() => {
});
}, },
handleCurrentChange(val) { fenleiData: [],
this.msg.pageIndex = val; checkList: [],
this.getList(); childList2: [],
childList3: [],
GoodsIds: [],
plszMsg: {
GoodsIds: '',
Type: 7,
FreightId: 0,
LimitBuyGoodsNum: -1,
LimitBuyOrderNum: -1,
IntegralPresent: 0,
IntegralPresentType: 2,
PointsDeduction: 0,
PointsDeductionType: 2,
IsMultipleDeduction: 2,
IsQuickBuy: 2,
IsGoodsNegotiable: 2,
SupplierId: ''
}, },
getList(){ ruleList: [],
ruleSelect: {},
if(this.dateList && this.dateList.length>0){ keepGoodsIds: '',
this.msg.StartTime=this.dateList[0]; BuyGoodsNumState: true,
this.msg.EndTime=this.dateList[1]; BuyOrderNumState: true,
}else{ hpState: 0,
this.msg.StartTime=''; FxState: 0
this.msg.EndTime=''; }
} },
let msg=JSON.parse(JSON.stringify(this.msg)) created() {
if(msg.Id==''){ this.getList();
msg.Id=0; this.getTree();
} this.getRule();
this.loading=true; this.getHpState();
this.apipost("/api/product/GetProductGoodsPageList", msg, res => { this.getFxState();
this.loading=false; this.getSupplierList() //获取供应商
if(res.data.resultCode==1){ },
this.total=res.data.data.count; methods: {
let pageData=res.data.data.pageData; //获取是否开启和平返佣
pageData.forEach(item=>{ getHpState() {
item.SortNew=item.Sort; this.apipost("/api/user/GetHpDistributorIsEnabled", {}, res => {
item.NameNew=item.Name; if (res.data.resultCode == 1) {
item.editsort=false; this.hpState = res.data.data;
item.editname=false; }
}) })
this.tableData=pageData; },
} //是否开启粉象返佣
getFxState() {
}) this.apipost("/api/user/GetIsEnableFXDistributorGrade", {}, res => {
}, if (res.data.resultCode == 1) {
getTree(){ this.FxState = res.data.data;
let msg1={ }
Id:0, })
Name:'', },
Tier:0, goodChange(val, num) {
ParentId:0, if (!val) {
Enabled:1, if (num == 1) {
IsShow:1, this.plszMsg.LimitBuyGoodsNum = 0;
} } else if (num == 2) {
this.apipost("/api/product/GetProductCategoryTreeList", msg1, res => { this.plszMsg.LimitBuyOrderNum = 0;
if(res.data.resultCode==1){ }
let pageData=res.data.data; }
this.fenleiData=pageData; },
} Export() {
let msg = this.msg;
}) if (msg.Id == '') {
}, msg.Id = 0
getRule(){ }
let msg1={ msg = JSON.parse(JSON.stringify(msg));
pageIndex:1, msg.pageSize = 999;
pageSize:999, this.GetLocalFile(
RulesName:'', "/api/product/GetProductGoodsListToExcel",
msg,
"商品列表.xls"
);
},
plsetOk() {
if (this.plszMsg.Type == 7) {
// if(this.plszMsg.FreightId==0){
// this.Error("请选择运费规则");
// return;
// }
}
if (this.plszMsg.Type == 8) {
if (this.plszMsg.BuyGoodsNumState) {
this.plszMsg.LimitBuyGoodsNum = -1
}
if (this.plszMsg.BuyOrderNumState) {
this.plszMsg.LimitBuyOrderNum = -1
}
}
let mall_userInfo = JSON.parse(localStorage.mall_userInfo)
if (mall_userInfo.TenantId == 1 && mall_userInfo.MallBaseId == 1) {
if (this.plszMsg.SupplierId == '') {
this.Error("请选择供应商!");
return
} else {
this.commonSet(this.plszMsg);
}
} else {
if (this.plszMsg.SupplierId == '') {
this.plszMsg.SupplierId = 0
this.commonSet(this.plszMsg)
} else {
this.commonSet(this.plszMsg);
}
}
},
plsetBtn() {
if (this.GoodsIds.length == 0) {
this.Error("请先勾选要设置的商品!");
return;
}
let idList = [];
this.GoodsIds.forEach(item => {
idList.push(item.Id)
})
this.keepGoodsIds = idList.join(',');
this.plszMsg.GoodsIds = this.keepGoodsIds;
this.plszMsg.SupplierId = ''
this.plDig = true;
},
ClearSelect(type) {
this.plszMsg = {
GoodsIds: this.keepGoodsIds,
Type: type,
FreightId: 0,
LimitBuyGoodsNum: -1,
LimitBuyOrderNum: -1,
IntegralPresent: 0,
IntegralPresentType: 2,
PointsDeduction: 0,
PointsDeductionType: 2,
IsMultipleDeduction: 2,
IsQuickBuy: 2,
IsGoodsNegotiable: 2,
SupplierId: ''
}
},
YfSelect(val) {
this.ruleSelect = val;
this.plszMsg.FreightId = val.ID;
},
tableSelect(val) {
this.GoodsIds = val;
},
// 上架 下架 删除
tableSet(num) {
if (this.GoodsIds.length == 0) {
this.Error("请先勾选要设置的商品!");
return;
}
let idList = [];
this.GoodsIds.forEach(item => {
idList.push(item.Id)
})
let GoodsIds = idList.join(',');
let msg = {
GoodsIds: GoodsIds,
Type: num,
}
let str = "";
if (num == 4) {
str = "批量上架,是否继续";
}
if (num == 5) {
str = "批量下架,是否继续";
}
if (num == 6) {
str = "是否确认删除选中的商品?";
}
let that = this;
that.$confirm(str, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.commonSet(msg);
}).catch(() => {
});
},
Edit(row, num) {
let addMsg = {
GoodsIds: row.Id,
Type: num,
Sort: row.SortNew,
GoodsName: row.NameNew,
IsQuickBuy: row.IsQuickBuy
};
this.commonSet(addMsg)
},
commonSet(addMsg) {
this.apipost('/api/product/SetProductGoodsQuickUpdate', addMsg,
res => {
if (res.data.resultCode === 1) {
this.getList();
this.Success(res.data.message)
this.plDig = false;
} else {
this.Error(res.data.message);
} }
this.apipost("/api/MallBase/GetLogisticsRulesPage", msg1, res => { },
if(res.data.resultCode==1){ null
let pageData=res.data.data.pageData; );
this.ruleList=pageData; },
} chooseFl() {
let CategoryIds = [];
this.checkList.forEach(item => {
CategoryIds.push(item.Id)
})
this.msg.pageIndex = 1
this.msg.CategoryIds = CategoryIds.join(",");
this.getList();
this.flDig = false;
},
getChild3(ChildList) {
this.childList3 = ChildList;
},
getChild2(ChildList) {
this.childList2 = ChildList;
},
exitCheck(item, index) {
this.checkList.forEach((list, k) => {
if (list.Id == item.Id) {
this.checkList.splice(k, 1);
}
})
},
handleCheckChange(val) {},
Clearconditions() {
this.msg.Name = '';
this.msg.CategoryIds = '';
this.dateList = [];
this.checkList = [];
this.getList();
},
handleClick(val) {
let dataId = val.$attrs.dataId;
if (dataId == 0) {
this.msg.GoodsStatus = 0;
this.msg.IsSelectSellOut = 0;
}
if (dataId == 1) {
this.msg.GoodsStatus = 1;
this.msg.IsSelectSellOut = 0;
}
if (dataId == 2) {
this.msg.GoodsStatus = 2;
this.msg.IsSelectSellOut = 0;
}
if (dataId == 3) {
this.msg.GoodsStatus = 0;
this.msg.IsSelectSellOut = 1;
}
this.msg.pageIndex = 1
this.getList();
},
Delete(item) {
let that = this;
that.$confirm('是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apipost('/api/product/DelProcudtGoodsInfo', {
GoodsId: item.Id
},
res => {
if (res.data.resultCode === 1) {
this.getList();
this.Success(res.data.message)
} else {
this.Error(res.data.message);
}
},
null
);
}).catch(() => {
});
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
getList() {
if (this.dateList && this.dateList.length > 0) {
this.msg.StartTime = this.dateList[0];
this.msg.EndTime = this.dateList[1];
} else {
this.msg.StartTime = '';
this.msg.EndTime = '';
}
let msg = JSON.parse(JSON.stringify(this.msg))
if (msg.Id == '') {
msg.Id = 0;
}
this.loading = true;
this.apipost("/api/product/GetProductGoodsPageList", msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
let pageData = res.data.data.pageData;
pageData.forEach(item => {
item.SortNew = item.Sort;
item.NameNew = item.Name;
item.editsort = false;
item.editname = false;
}) })
}, this.tableData = pageData;
changeSupplier(val) {}, }
getSupplierList(){ })
this.apipost("/api/Supplier/GetSupplierAllList", {}, res => { },
this.loading = false; getTree() {
if (res.data.resultCode == 1) { let msg1 = {
this.options = res.data.data; Id: 0,
} Name: '',
}); Tier: 0,
}, ParentId: 0,
getSort(val){//列表的升序降序 Enabled: 1,
if(val.prop=='Id'){ IsShow: 1,
if(val.order=='ascending'){ }
this.msg.OrderBy=1 this.apipost("/api/product/GetProductCategoryTreeList", msg1, res => {
}else if(val.order=='descending'){ if (res.data.resultCode == 1) {
this.msg.OrderBy=2 let pageData = res.data.data;
}else{ this.fenleiData = pageData;
this.msg.OrderBy=0 }
} })
}else if(val.prop=='address'){ },
if(val.order=='ascending'){ getRule() {
this.msg.OrderBy=3 let msg1 = {
}else if(val.order=='descending'){ pageIndex: 1,
this.msg.OrderBy=4 pageSize: 999,
}else{ RulesName: '',
this.msg.OrderBy=0
}
}else if(val.prop=='SellingPrice'){
if(val.order=='ascending'){
this.msg.OrderBy=5
}else if(val.order=='descending'){
this.msg.OrderBy=6
}else{
this.msg.OrderBy=0
}
}else if(val.prop=='InventoryNum'){
if(val.order=='ascending'){
this.msg.OrderBy=7
}else if(val.order=='descending'){
this.msg.OrderBy=8
}else{
this.msg.OrderBy=0
}
}
this.getList()
},
//新窗口跳转
goGoodsEdit(Id){
let routeData = this.$router.resolve({
name: 'goodsListEdit',
query: {
GoodsId: Id,
hpState:this.hpState,
FxState:this.FxState
}
});
window.open(routeData.href, "_blank");
} }
this.apipost("/api/MallBase/GetLogisticsRulesPage", msg1, res => {
if (res.data.resultCode == 1) {
let pageData = res.data.data.pageData;
this.ruleList = pageData;
}
})
},
changeSupplier(val) {},
getSupplierList() {
this.apipost("/api/Supplier/GetSupplierAllList", {}, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.options = res.data.data;
}
});
},
getSort(val) { //列表的升序降序
if (val.prop == 'Id') {
if (val.order == 'ascending') {
this.msg.OrderBy = 1
} else if (val.order == 'descending') {
this.msg.OrderBy = 2
} else {
this.msg.OrderBy = 0
}
} else if (val.prop == 'address') {
if (val.order == 'ascending') {
this.msg.OrderBy = 3
} else if (val.order == 'descending') {
this.msg.OrderBy = 4
} else {
this.msg.OrderBy = 0
}
} else if (val.prop == 'SellingPrice') {
if (val.order == 'ascending') {
this.msg.OrderBy = 5
} else if (val.order == 'descending') {
this.msg.OrderBy = 6
} else {
this.msg.OrderBy = 0
}
} else if (val.prop == 'InventoryNum') {
if (val.order == 'ascending') {
this.msg.OrderBy = 7
} else if (val.order == 'descending') {
this.msg.OrderBy = 8
} else {
this.msg.OrderBy = 0
}
}
this.getList()
},
//新窗口跳转
goGoodsEdit(Id) {
let routeData = this.$router.resolve({
name: 'goodsListEdit',
query: {
GoodsId: Id,
hpState: this.hpState,
FxState: this.FxState
}
});
window.open(routeData.href, "_blank");
}
}, },
}; };
</script> </script>
<style> <style>
.plxg .spmy .el-form-item__label{ .plxg .spmy .el-form-item__label {
padding-right:26px; padding-right: 26px;
} }
.yfradio{
.yfradio {
display: block; display: block;
padding: 10px; padding: 10px;
} }
.plxg .batch-div-active {
.plxg .batch-div-active {
background-color: #e2e2e2; background-color: #e2e2e2;
} }
.plxg .batch-box-left div {
.plxg .batch-box-left div {
padding: 5px 0; padding: 5px 0;
margin: 5px 0; margin: 5px 0;
cursor: pointer; cursor: pointer;
-webkit-border-radius: 5px; -webkit-border-radius: 5px;
-moz-border-radius: 5px; -moz-border-radius: 5px;
border-radius: 5px; border-radius: 5px;
} }
.plxg .batch-box-left {
.plxg .batch-box-left {
width: 120px; width: 120px;
border-right: 1px solid #e2e2e2; border-right: 1px solid #e2e2e2;
padding: 0 20px; padding: 0 20px;
} }
.plxg .el-dialog__body{
padding-top:10px!important; .plxg .el-dialog__body {
} padding-top: 10px !important;
.plxg .absoSpan{ }
.plxg .absoSpan {
position: absolute; position: absolute;
top:22px; top: 22px;
left:100px; left: 100px;
} }
.app-add-cat .el-checkbox-group{
font-size: 14px!important; .app-add-cat .el-checkbox-group {
} font-size: 14px !important;
.app-add-cat .el-checkbox { }
.app-add-cat .el-checkbox {
margin-right: 0; margin-right: 0;
} }
.app-add-cat .el-dialog__body{
padding:10px 20px!important; .app-add-cat .el-dialog__body {
} padding: 10px 20px !important;
.app-add-cat .tag-box .tag-item { }
.app-add-cat .tag-box .tag-item {
margin-right: 5px; margin-right: 5px;
} }
.app-add-cat .tag-box {
.app-add-cat .tag-box {
margin: 20px 0; margin: 20px 0;
} }
.app-add-cat .app-goods-cat-list .active {
.app-add-cat .app-goods-cat-list .active {
background: #FAFAFA; background: #FAFAFA;
} }
.app-add-cat .app-goods-cat-list .cat-item {
.app-add-cat .app-goods-cat-list .cat-item {
cursor: pointer; cursor: pointer;
padding: 5px 10px; padding: 5px 10px;
} }
.app-add-cat .app-goods-cat-list {
.app-add-cat .app-goods-cat-list {
border: 1px solid #E8EAEE; border: 1px solid #E8EAEE;
border-radius: 5px; border-radius: 5px;
margin-top: -5px; margin-top: -5px;
padding: 10px 0; padding: 10px 0;
overflow: scroll; overflow: scroll;
height: 400px; height: 400px;
} }
.goodsList .vue-line-clamp {
.goodsList .vue-line-clamp {
display: block; display: block;
display: -webkit-box; display: -webkit-box;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.goodsList .content{
.goodsList .content {
background: #fff; background: #fff;
margin-top:10px; margin-top: 10px;
padding: 20px; padding: 20px;
box-sizing: border-box; box-sizing: border-box;
} }
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment