Commit 9f730dbd authored by 罗超's avatar 罗超

2

parent 3fe5d7d9
...@@ -2511,7 +2511,7 @@ ...@@ -2511,7 +2511,7 @@
this.addMsg.MaterialId = val.Id this.addMsg.MaterialId = val.Id
this.addMsg.CarouselImageList = val.ImageList this.addMsg.CarouselImageList = val.ImageList
this.addMsg.SellingPrice = val.SellPrice this.addMsg.SellingPrice = val.SellPrice
this.addMsg.OriginalPrice = val.Money this.addMsg.OriginalPrice = val.SellPrice
this.addMsg.CostPrice = val.Money this.addMsg.CostPrice = val.Money
this.addMsg.Unit = val.Units||'件' this.addMsg.Unit = val.Units||'件'
this.addMsg.InventoryNum = val.InventoryNum this.addMsg.InventoryNum = val.InventoryNum
......
...@@ -2,13 +2,8 @@ ...@@ -2,13 +2,8 @@
<div class="goodsList"> <div class="goodsList">
<div class=""> <div class="">
商品列表 商品列表
<el-button <el-button @click="goGoodsEdit(0)" style="float: right; margin-top: -5px; margin-left: 20px" size="small"
@click="goGoodsEdit(0)" type="primary">添加商品</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>
...@@ -28,99 +23,60 @@ ...@@ -28,99 +23,60 @@
getList() getList()
" type="danger" style="margin-right: 10px" size="small">清除分类</el-button> --> " type="danger" style="margin-right: 10px" size="small">清除分类</el-button> -->
<span>添加时间:</span> <span>添加时间:</span>
<el-date-picker <el-date-picker v-model="dateList" @change="(msg.pageIndex = 1), getList()" size="small" type="datetimerange"
v-model="dateList" range-separator="至" value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期">
@change="(msg.pageIndex = 1), getList()"
size="small"
type="datetimerange"
range-separator="至"
value-format="yyyy-MM-dd HH:mm:ss"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker> </el-date-picker>
<div class="searchInput" style="width: 250px; margin-right: 0px"> <div class="searchInput" style="width: 250px; margin-right: 0px">
<el-input <el-input @keyup.enter.native="(msg.pageIndex = 1), getList()"
@keyup.enter.native="(msg.pageIndex = 1), getList()" style="display: inline-block; width: 225px; height: 30px" placeholder="请输入名称搜索" v-model="msg.Name"
style="display: inline-block; width: 225px; height: 30px" @clear="(msg.pageIndex = 1), getList()" size="small" clearable>
placeholder="请输入名称搜索"
v-model="msg.Name"
@clear="(msg.pageIndex = 1), getList()"
size="small"
clearable
>
</el-input> </el-input>
<span <span @click="(msg.pageIndex = 1), getList()" class="el-icon-search" style="
@click="(msg.pageIndex = 1), getList()"
class="el-icon-search"
style="
color: #979dad; color: #979dad;
font-size: 14px; font-size: 14px;
position: relative; position: relative;
top: 1px; top: 1px;
" "></span>
></span>
</div> </div>
<div class="searchInput" style="width: 250px"> <div class="searchInput" style="width: 250px">
<el-input <el-input @keyup.enter.native="(msg.pageIndex = 1), getList()"
@keyup.enter.native="(msg.pageIndex = 1), getList()" style="display: inline-block; width: 225px; height: 30px" placeholder="请输入ID搜索" v-model="msg.Id"
style="display: inline-block; width: 225px; height: 30px" @clear="(msg.pageIndex = 1), getList()" size="small" clearable>
placeholder="请输入ID搜索"
v-model="msg.Id"
@clear="(msg.pageIndex = 1), getList()"
size="small"
clearable
>
</el-input> </el-input>
<span <span @click="(msg.pageIndex = 1), getList()" class="el-icon-search" style="
@click="(msg.pageIndex = 1), getList()"
class="el-icon-search"
style="
color: #979dad; color: #979dad;
font-size: 14px; font-size: 14px;
position: relative; position: relative;
top: 1px; top: 1px;
" "></span>
></span>
</div> </div>
<span <div class="searchInput" style="width: 250px">
@click="Clearconditions" <el-input @keyup.enter.native="(msg.pageIndex = 1), getList()"
v-if=" style="display: inline-block; width: 225px; height: 30px" placeholder="请输入资产编号搜索" v-model="msg.MaterialId"
@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.Name != '' ||
msg.CategoryIds != '' || msg.CategoryIds != '' ||
(dateList && dateList.length > 0) (dateList && dateList.length > 0)
" " class="blue point">清空筛选条件</span>
class="blue point"
>清空筛选条件</span
>
</div> </div>
<div style="margin-top: 15px"> <div style="margin-top: 15px">
<el-button @click="tableSet(4)" style="margin-left: 10px" size="mini" <el-button @click="tableSet(4)" style="margin-left: 10px" size="mini">上架</el-button>
>上架</el-button <el-button @click="tableSet(5)" style="margin-left: 10px" size="mini">下架</el-button>
> <el-button @click="tableSet(6)" style="margin-left: 10px" size="mini">删除</el-button>
<el-button @click="tableSet(5)" style="margin-left: 10px" size="mini" <el-button @click="plsetBtn" style="margin-left: 10px" size="mini" v-if="currentUserInfo.IsKorea == 0">批量设置
>下架</el-button
>
<el-button @click="tableSet(6)" style="margin-left: 10px" size="mini"
>删除</el-button
>
<el-button
@click="plsetBtn"
style="margin-left: 10px"
size="mini"
v-if="currentUserInfo.IsKorea == 0"
>批量设置
</el-button> </el-button>
</div> </div>
<el-table <el-table :data="tableData" v-loading="loading" border sortable="custom" @sort-change="getSort"
:data="tableData" @selection-change="tableSelect" style="width: 100%; margin: 20px 0">
v-loading="loading"
border
sortable="custom"
@sort-change="getSort"
@selection-change="tableSelect"
style="width: 100%; margin: 20px 0"
>
<el-table-column type="selection" width="55"> </el-table-column> <el-table-column type="selection" width="55"> </el-table-column>
<el-table-column prop="Id" width="80" sortable label="ID"> <el-table-column prop="Id" width="80" sortable label="ID">
</el-table-column> </el-table-column>
...@@ -128,34 +84,17 @@ ...@@ -128,34 +84,17 @@
<template slot-scope="scope"> <template slot-scope="scope">
<template v-if="!scope.row.editsort"> <template v-if="!scope.row.editsort">
<span>{{ scope.row.Sort }}</span> <span>{{ scope.row.Sort }}</span>
<img <img @click="
@click="
(scope.row.editsort = true), (scope.row.editsort = true),
(scope.row.SortNew = scope.row.Sort) (scope.row.SortNew = scope.row.Sort)
" " style="width: 15px; height: 15px; margin-left: 7px" src="../../assets/img/userman/edit1.png"
style="width: 15px; height: 15px; margin-left: 7px" alt="" />
src="../../assets/img/userman/edit1.png"
alt=""
/>
</template> </template>
<template v-else> <template v-else>
<el-input <el-input v-model="scope.row.SortNew" type="number" min="1" size="small"
v-model="scope.row.SortNew" style="display: inline-block; width: 70px"></el-input>
type="number" <span @click="scope.row.editsort = false" class="el-icon-error" style="color: rgb(245, 108, 108)"></span>
min="1" <span @click="Edit(scope.row, 1)" class="el-icon-success" style="color: #67c23a"></span>
size="small"
style="display: inline-block; width: 70px"
></el-input>
<span
@click="scope.row.editsort = false"
class="el-icon-error"
style="color: rgb(245, 108, 108)"
></span>
<span
@click="Edit(scope.row, 1)"
class="el-icon-success"
style="color: #67c23a"
></span>
</template> </template>
</template> </template>
</el-table-column> </el-table-column>
...@@ -163,152 +102,85 @@ ...@@ -163,152 +102,85 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag type="success" v-if="scope.row.GoodsEduType==1">咖啡券</el-tag> <el-tag type="success" v-if="scope.row.GoodsEduType==1">咖啡券</el-tag>
<el-tag type="success" v-if="scope.row.GoodsEduType==2">资产</el-tag> <el-tag type="success" v-if="scope.row.GoodsEduType==2">资产</el-tag>
<div v-if="scope.row.GoodsEduType==2" style="font-size:12px">编号:{{scope.row.MaterialId}}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="Remark" label="分类"> <el-table-column prop="Remark" label="分类">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag <el-tag size="mini" v-if="scope.row.CategoryList && scope.row.CategoryList.length > 0">
size="mini" {{ scope.row.CategoryList[0].CategoryName }}</el-tag>
v-if="scope.row.CategoryList && scope.row.CategoryList.length > 0"
>
{{ scope.row.CategoryList[0].CategoryName }}</el-tag
>
<el-tooltip class="item" effect="dark" placement="top"> <el-tooltip class="item" effect="dark" placement="top">
<div slot="content"> <div slot="content">
<span <span v-for="(item, index) in scope.row.CategoryList" :key="index">{{ item.CategoryName }}
v-for="(item, index) in scope.row.CategoryList"
:key="index"
>{{ item.CategoryName }}
</span> </span>
</div> </div>
<span <span v-if="scope.row.CategoryList.length > 1 && index == 0"
v-if="scope.row.CategoryList.length > 1 && index == 0" v-for="(item, index) in scope.row.CategoryList" :key="index">...</span>
v-for="(item, index) in scope.row.CategoryList"
:key="index"
>...</span
>
</el-tooltip> </el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="address" width="300" label="商品名称"> <el-table-column prop="address" width="300" label="商品名称">
<template slot-scope="scope"> <template slot-scope="scope">
<div flex="box:first"> <div flex="box:first">
<el-image <el-image title="点击查看大图" style="width: 50px; height: 50px; margin-right: 1px" :src="scope.row.CoverImage"
title="点击查看大图" :preview-src-list="scope.row.CarouselImageList">
style="width: 50px; height: 50px; margin-right: 1px"
:src="scope.row.CoverImage"
:preview-src-list="scope.row.CarouselImageList"
>
</el-image> </el-image>
<template v-if="!scope.row.editname"> <template v-if="!scope.row.editname">
<div flex="cross:top" style="display: inline-flex"> <div flex="cross:top" style="display: inline-flex">
<div flex="dir:left"> <div flex="dir:left">
<el-tooltip <el-tooltip class="item" effect="dark" :content="scope.row.Name" placement="top">
class="item" <div class="vue-line-clamp" style="word-break: break-all; -webkit-line-clamp: 2">
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> <span>{{ scope.row.Name }}</span>
</div> </div>
</el-tooltip> </el-tooltip>
<img <img @click="
@click="
(scope.row.editname = true), (scope.row.editname = true),
(scope.row.NameNew = scope.row.Name) (scope.row.NameNew = scope.row.Name)
" " style="width: 15px; height: 15px; margin-left: 7px" src="../../assets/img/userman/edit1.png"
style="width: 15px; height: 15px; margin-left: 7px" alt="" />
src="../../assets/img/userman/edit1.png"
alt=""
/>
</div> </div>
</div> </div>
</template> </template>
<template v-else> <template v-else>
<el-input <el-input v-model="scope.row.NameNew" size="small" style="display: inline-block; width: 150px">
v-model="scope.row.NameNew"
size="small"
style="display: inline-block; width: 150px"
>
</el-input> </el-input>
<span <span @click="scope.row.editname = false" class="el-icon-error" style="
@click="scope.row.editname = false"
class="el-icon-error"
style="
margin-left: 5px; margin-left: 5px;
color: rgb(245, 108, 108); color: rgb(245, 108, 108);
position: relative; position: relative;
top: 9px; top: 9px;
" "></span>
></span> <span @click="Edit(scope.row, 2)" class="el-icon-success"
<span style="color: #67c23a; position: relative; top: 9px"></span>
@click="Edit(scope.row, 2)"
class="el-icon-success"
style="color: #67c23a; position: relative; top: 9px"
></span>
</template> </template>
</div> </div>
<div <div flex="dir:left" style="margin-top: 5px; color: #f56c6c; font-size: 12px" v-if="scope.row.Remark">
flex="dir:left"
style="margin-top: 5px; color: #f56c6c; font-size: 12px"
v-if="scope.row.Remark"
>
<div style="width: 38px">备注:</div> <div style="width: 38px">备注:</div>
<el-tooltip <el-tooltip class="item" effect="dark" :content="scope.row.Remark" placement="top">
class="item" <div class="vue-line-clamp" style="
effect="dark"
:content="scope.row.Remark"
placement="top"
>
<div
class="vue-line-clamp"
style="
word-break: break-all; word-break: break-all;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
width: 90%; width: 90%;
margin-left: 0; margin-left: 0;
" ">
>
<span>{{ scope.row.Remark }}</span> <span>{{ scope.row.Remark }}</span>
</div> </div>
</el-tooltip> </el-tooltip>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="SellingPrice" width="100" sortable label="售价" v-if="currentUserInfo.IsKorea == 0">
prop="SellingPrice"
width="100"
sortable
label="售价"
v-if="currentUserInfo.IsKorea == 0"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="InventoryNum" width="100" sortable label="库存" v-if="currentUserInfo.IsKorea == 0">
prop="InventoryNum"
width="100"
sortable
label="库存"
v-if="currentUserInfo.IsKorea == 0"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.InventoryNum == 0" style="color: red" <span v-if="scope.row.InventoryNum == 0" style="color: red">售罄</span>
>售罄</span
>
<span v-else>{{ scope.row.InventoryNum }}</span> <span v-else>{{ scope.row.InventoryNum }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="120" v-if="currentUserInfo.IsKorea == 0"> <el-table-column width="120" v-if="currentUserInfo.IsKorea == 0">
<template slot="header"> <template slot="header">
已出售量 已出售量
<el-tooltip <el-tooltip effect="dark" content="已出售量=实际销量+虚拟销量,按实际销量排序" placement="top">
effect="dark"
content="已出售量=实际销量+虚拟销量,按实际销量排序"
placement="top"
>
<i class="el-icon-info"></i> <i class="el-icon-info"></i>
</el-tooltip> </el-tooltip>
</template> </template>
...@@ -316,20 +188,10 @@ ...@@ -316,20 +188,10 @@
<span>{{ scope.row.GoodsBuyNum }}+{{ scope.row.SalesNum }}</span> <span>{{ scope.row.GoodsBuyNum }}+{{ scope.row.SalesNum }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="UpdateDate" width="110" label="是否加入快速购买" v-if="currentUserInfo.IsKorea == 0">
prop="UpdateDate"
width="110"
label="是否加入快速购买"
v-if="currentUserInfo.IsKorea == 0"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch @change="Edit(scope.row, 10)" v-model="scope.row.IsQuickBuy" active-color="#409EFF"
@change="Edit(scope.row, 10)" :active-value="1" :inactive-value="0">
v-model="scope.row.IsQuickBuy"
active-color="#409EFF"
:active-value="1"
:inactive-value="0"
>
</el-switch> </el-switch>
</template> </template>
</el-table-column> </el-table-column>
...@@ -337,146 +199,81 @@ ...@@ -337,146 +199,81 @@
</el-table-column> </el-table-column>
<el-table-column prop="UpdateDate" width="100" label="状态"> <el-table-column prop="UpdateDate" width="100" label="状态">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.GoodsStatus == 1" type="success" <el-tag v-if="scope.row.GoodsStatus == 1" type="success">销售中</el-tag>
>销售中</el-tag <el-tag v-if="scope.row.GoodsStatus == 2" type="warning">下架中</el-tag>
>
<el-tag v-if="scope.row.GoodsStatus == 2" type="warning"
>下架中</el-tag
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="address" width="250" label="操作"> <el-table-column prop="address" width="250" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<span <span v-if="
v-if="
currentUserInfo.TenantId == 1 && currentUserInfo.TenantId == 1 &&
currentUserInfo.MallBaseId == 1 && currentUserInfo.MallBaseId == 1 &&
(currentUserInfo.EmpId == 0 || (currentUserInfo.EmpId == 0 ||
currentUserInfo.IsOtherUpdateGoods == 1 || currentUserInfo.IsOtherUpdateGoods == 1 ||
currentUserInfo.EmpId == scope.row.CreateBy) currentUserInfo.EmpId == scope.row.CreateBy)
" ">
> <img @click="goGoodsEdit(scope.row.Id)" style="width:32px;height:32px;margin:0 10px"
<img src="../../assets/img/userman/edit.png" alt="" />
@click="goGoodsEdit(scope.row.Id)" <img @click="Delete(scope.row)" style="width:32px;height:32px;margin:0 10px"
style="width:32px;height:32px;margin:0 10px" src="../../assets/img/userman/del.png" alt="" />
src="../../assets/img/userman/edit.png"
alt=""
/>
<img
@click="Delete(scope.row)"
style="width:32px;height:32px;margin:0 10px"
src="../../assets/img/userman/del.png"
alt=""
/>
</span> </span>
<span <span v-if="
v-if="
currentUserInfo.TenantId != 1 && currentUserInfo.MallBaseId != 1 currentUserInfo.TenantId != 1 && currentUserInfo.MallBaseId != 1
" ">
> <img @click="goGoodsEdit(scope.row.Id)" style="width:32px;height:32px;margin:0 10px"
<img src="../../assets/img/userman/edit.png" alt="" />
@click="goGoodsEdit(scope.row.Id)" <img @click="Delete(scope.row)" style="width:32px;height:32px;margin:0 10px"
style="width:32px;height:32px;margin:0 10px" src="../../assets/img/userman/del.png" alt="" />
src="../../assets/img/userman/edit.png"
alt=""
/>
<img
@click="Delete(scope.row)"
style="width:32px;height:32px;margin:0 10px"
src="../../assets/img/userman/del.png"
alt=""
/>
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination <el-pagination style="text-align: right" background @current-change="handleCurrentChange"
style="text-align: right" :page-size="msg.pageSize" layout="prev, pager, next" :current-page.sync="msg.pageIndex" :total="total">
background
@current-change="handleCurrentChange"
:page-size="msg.pageSize"
layout="prev, pager, next"
:current-page.sync="msg.pageIndex"
:total="total"
>
</el-pagination> </el-pagination>
</div> </div>
<!-- 选择分类 --> <!-- 选择分类 -->
<el-dialog <el-dialog custom-class="app-add-cat" title="选择分类" :visible.sync="flDig" width="1100px">
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 <div v-for="(item, index) in fenleiData" :key="index" flex="dir:left box:first" class="cat-item">
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 <i v-if="item.ChildList.length > 0" @click="getChild2(item.ChildList)"
v-if="item.ChildList.length > 0" class="el-icon-arrow-right"></i>
@click="getChild2(item.ChildList)"
class="el-icon-arrow-right"
></i>
</div> </div>
</div> </div>
</el-checkbox-group> </el-checkbox-group>
</div> </div>
</el-col> </el-col>
<el-col <el-col v-show="childList2.length > 0" :span="8" style="padding: 0 10px; box-sizing: border-box">
v-show="childList2.length > 0"
: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 <div v-for="(item, index) in childList2" :key="index" flex="dir:left box:first" class="cat-item">
v-for="(item, index) in childList2"
: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 <i v-if="item.ChildList.length > 0" @click="getChild3(item.ChildList)"
v-if="item.ChildList.length > 0" class="el-icon-arrow-right"></i>
@click="getChild3(item.ChildList)"
class="el-icon-arrow-right"
></i>
</div> </div>
</div> </div>
</el-checkbox-group> </el-checkbox-group>
</div> </div>
</el-col> </el-col>
<el-col <el-col v-show="childList3.length > 0" :span="8" style="padding: 0 10px; box-sizing: border-box">
v-show="childList3.length > 0"
: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 <div v-for="(item, index) in childList3" :key="index" flex="dir:left box:first" class="cat-item">
v-for="(item, index) in childList3"
: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>
...@@ -490,159 +287,75 @@ ...@@ -490,159 +287,75 @@
</el-col> </el-col>
</el-row> </el-row>
<div class="tag-box"> <div class="tag-box">
<el-tag <el-tag @close="exitCheck(item)" v-for="(item, index) in checkList" :key="index" type="warning" closable
@close="exitCheck(item)" style="margin-right: 5px">{{ item.Name }}</el-tag>
v-for="(item, index) in checkList"
:key="index"
type="warning"
closable
style="margin-right: 5px"
>{{ item.Name }}</el-tag
>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button size="small" @click="flDig = false">取 消</el-button> <el-button size="small" @click="flDig = false">取 消</el-button>
<el-button @click="chooseFl" size="small" type="primary" <el-button @click="chooseFl" size="small" type="primary">确 定</el-button>
>确 定</el-button
>
</span> </span>
</el-dialog> </el-dialog>
<!-- 批量修改 --> <!-- 批量修改 -->
<el-dialog <el-dialog custom-class="plxg" title="批量修改" :visible.sync="plDig" width="960px">
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 class="batch-remark c99 f14">
注:每次只能修改一项,修改后点击确定即可生效。如需修改多项,需多次操作。 注:每次只能修改一项,修改后点击确定即可生效。如需修改多项,需多次操作。
</div> </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 <div flex="main:center" @click="ClearSelect(7)" :class="plszMsg.Type == 7 ? 'batch-div-active' : ''">
flex="main:center"
@click="ClearSelect(7)"
:class="plszMsg.Type == 7 ? 'batch-div-active' : ''"
>
运费 运费
</div> </div>
<div <div flex="main:center" @click="ClearSelect(8)" :class="plszMsg.Type == 8 ? 'batch-div-active' : ''">
flex="main:center"
@click="ClearSelect(8)"
:class="plszMsg.Type == 8 ? 'batch-div-active' : ''"
>
限购 限购
</div> </div>
<div <div flex="main:center" @click="ClearSelect(9)" :class="plszMsg.Type == 9 ? 'batch-div-active' : ''">
flex="main:center"
@click="ClearSelect(9)"
:class="plszMsg.Type == 9 ? 'batch-div-active' : ''"
>
积分 积分
</div> </div>
<div <div flex="main:center" @click="ClearSelect(10)" :class="plszMsg.Type == 10 ? 'batch-div-active' : ''">
flex="main:center"
@click="ClearSelect(10)"
:class="plszMsg.Type == 10 ? 'batch-div-active' : ''"
>
快速购买 快速购买
</div> </div>
<div <div flex="main:center" @click="ClearSelect(11)" :class="plszMsg.Type == 11 ? 'batch-div-active' : ''">
flex="main:center"
@click="ClearSelect(11)"
:class="plszMsg.Type == 11 ? 'batch-div-active' : ''"
>
面议 面议
</div> </div>
<div <div flex="main:center" @click="ClearSelect(12)" :class="plszMsg.Type == 12 ? 'batch-div-active' : ''">
flex="main:center"
@click="ClearSelect(12)"
:class="plszMsg.Type == 12 ? 'batch-div-active' : ''"
>
供应商 供应商
</div> </div>
<div <div flex="main:center" @click="ClearSelect(13)" :class="plszMsg.Type == 13 ? 'batch-div-active' : ''">
flex="main:center"
@click="ClearSelect(13)"
:class="plszMsg.Type == 13 ? 'batch-div-active' : ''"
>
加入分销 加入分销
</div> </div>
</div> </div>
<div class="batch-box-right"> <div class="batch-box-right">
<el-form <el-form class="app-batch" :model="addMsg" :rules="rules" ref="addMsg" label-width="100px">
class="app-batch"
:model="addMsg"
:rules="rules"
ref="addMsg"
label-width="100px"
>
<el-form-item v-if="plszMsg.Type == 7" label="运费设置"> <el-form-item v-if="plszMsg.Type == 7" label="运费设置">
<el-tag <el-tag v-if="ruleSelect.RulesName" @close="(plszMsg.FreightId = 0), (ruleSelect = {})" closable>
v-if="ruleSelect.RulesName" {{ ruleSelect.RulesName }}</el-tag>
@close="(plszMsg.FreightId = 0), (ruleSelect = {})" <el-button @click="chooseyfDig = true" style="margin-left: 10px" size="small">选择运费</el-button>
closable
>
{{ ruleSelect.RulesName }}</el-tag
>
<el-button
@click="chooseyfDig = true"
style="margin-left: 10px"
size="small"
>选择运费</el-button
>
</el-form-item> </el-form-item>
<el-form-item v-if="plszMsg.Type == 8" label="每人限购"> <el-form-item v-if="plszMsg.Type == 8" label="每人限购">
<el-form-item label-width="50px" label="商品"> <el-form-item label-width="50px" label="商品">
<el-input <el-input :disabled="BuyGoodsNumState" v-model="plszMsg.LimitBuyGoodsNum"
:disabled="BuyGoodsNumState" style="width: 254px; margin-left: 15px" type="number" min="1" size="small" placeholder="请输入内容"
v-model="plszMsg.LimitBuyGoodsNum" class="input-with-select">
style="width: 254px; margin-left: 15px"
type="number"
min="1"
size="small"
placeholder="请输入内容"
class="input-with-select"
>
<el-button slot="append"></el-button> <el-button slot="append"></el-button>
</el-input> </el-input>
<el-checkbox <el-checkbox @change="goodChange(BuyGoodsNumState, 1)" style="margin-left: 10px"
@change="goodChange(BuyGoodsNumState, 1)" v-model="BuyGoodsNumState">不限制</el-checkbox>
style="margin-left: 10px"
v-model="BuyGoodsNumState"
>不限制</el-checkbox
>
</el-form-item> </el-form-item>
<el-form-item label-width="50px" label="订单"> <el-form-item label-width="50px" label="订单">
<el-input <el-input :disabled="BuyOrderNumState" v-model="plszMsg.LimitBuyOrderNum"
:disabled="BuyOrderNumState" style="width: 254px; margin-left: 15px" type="number" min="1" size="small" placeholder="请输入内容"
v-model="plszMsg.LimitBuyOrderNum" class="input-with-select">
style="width: 254px; margin-left: 15px"
type="number"
min="1"
size="small"
placeholder="请输入内容"
class="input-with-select"
>
<el-button slot="append"></el-button> <el-button slot="append"></el-button>
</el-input> </el-input>
<el-checkbox <el-checkbox @change="goodChange(BuyOrderNumState, 2)" style="margin-left: 10px"
@change="goodChange(BuyOrderNumState, 2)" v-model="BuyOrderNumState">不限制</el-checkbox>
style="margin-left: 10px"
v-model="BuyOrderNumState"
>不限制</el-checkbox
>
</el-form-item> </el-form-item>
</el-form-item> </el-form-item>
<template v-if="plszMsg.Type == 9"> <template v-if="plszMsg.Type == 9">
<el-form-item label="积分赠送"> <el-form-item label="积分赠送">
<el-tooltip <el-tooltip class="item" effect="dark" placement="top"
class="item" style="position: absolute; left: -10px; top: 12px">
effect="dark"
placement="top"
style="position: absolute; left: -10px; top: 12px"
>
<div slot="content"> <div slot="content">
用户购物赠送的积分, 如果不填写或填写0,则默认为不赠送积分<br /> 用户购物赠送的积分, 如果不填写或填写0,则默认为不赠送积分<br />
如果为百分比则为按成交价格的比例计算积分<br /> 如果为百分比则为按成交价格的比例计算积分<br />
...@@ -653,138 +366,57 @@ ...@@ -653,138 +366,57 @@
</div> </div>
<i class="el-tooltip el-icon-info"></i> <i class="el-tooltip el-icon-info"></i>
</el-tooltip> </el-tooltip>
<el-input <el-input v-model="plszMsg.IntegralPresent" style="width: 670px; margin-left: 15px" type="number"
v-model="plszMsg.IntegralPresent" min="1" size="small" placeholder="请输入内容" class="input-with-select">
style="width: 670px; margin-left: 15px"
type="number"
min="1"
size="small"
placeholder="请输入内容"
class="input-with-select"
>
<el-button slot="append"> <el-button slot="append">
<el-radio v-model="plszMsg.IntegralPresentType" :label="2" <el-radio v-model="plszMsg.IntegralPresentType" :label="2">固定值</el-radio>
>固定值</el-radio <el-radio v-model="plszMsg.IntegralPresentType" :label="1">百分比</el-radio>
>
<el-radio v-model="plszMsg.IntegralPresentType" :label="1"
>百分比</el-radio
>
</el-button> </el-button>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="积分抵扣"> <el-form-item label="积分抵扣">
<el-tooltip <el-tooltip class="item" effect="dark" content="如果设置0,则不支持积分抵扣 如果带%则为按成交价格的比例计算抵扣多少元" placement="top"
class="item" style="position: absolute; left: -10px; top: 12px">
effect="dark"
content="如果设置0,则不支持积分抵扣 如果带%则为按成交价格的比例计算抵扣多少元"
placement="top"
style="position: absolute; left: -10px; top: 12px"
>
<i class="el-tooltip el-icon-info"></i> <i class="el-tooltip el-icon-info"></i>
</el-tooltip> </el-tooltip>
<el-input <el-input v-model="plszMsg.PointsDeduction" style="width: 670px; margin-left: 15px" type="number"
v-model="plszMsg.PointsDeduction" min="1" size="small" placeholder="请输入内容" class="input-with-select">
style="width: 670px; margin-left: 15px"
type="number"
min="1"
size="small"
placeholder="请输入内容"
class="input-with-select"
>
<template slot="prepend">最多抵扣</template> <template slot="prepend">最多抵扣</template>
<el-button slot="append"> <el-button slot="append">
<el-radio v-model="plszMsg.PointsDeductionType" :label="2" <el-radio v-model="plszMsg.PointsDeductionType" :label="2">固定值</el-radio>
>固定值</el-radio <el-radio v-model="plszMsg.PointsDeductionType" :label="1">百分比</el-radio>
>
<el-radio v-model="plszMsg.PointsDeductionType" :label="1"
>百分比</el-radio
>
</el-button> </el-button>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label-width="110px"> <el-form-item label-width="110px">
<el-checkbox <el-checkbox v-model="plszMsg.IsMultipleDeduction" :true-label="1" :false-label="2">允许多件抵扣</el-checkbox>
v-model="plszMsg.IsMultipleDeduction"
:true-label="1"
:false-label="2"
>允许多件抵扣</el-checkbox
>
</el-form-item> </el-form-item>
</template> </template>
<el-form-item <el-form-item v-if="plszMsg.Type == 10" label-width="160px" label="是否加入快速购买">
v-if="plszMsg.Type == 10" <el-switch v-model="plszMsg.IsQuickBuy" active-color="#409EFF" :active-value="1" :inactive-value="0">
label-width="160px"
label="是否加入快速购买"
>
<el-switch
v-model="plszMsg.IsQuickBuy"
active-color="#409EFF"
:active-value="1"
:inactive-value="0"
>
</el-switch> </el-switch>
</el-form-item> </el-form-item>
<el-form-item <el-form-item class="spmy" v-if="plszMsg.Type == 11" label-width="160px" label="是否加入商品面议">
class="spmy" <el-tooltip class="item" effect="dark" content="如果开启面议,则商品无法在线支付" placement="top"
v-if="plszMsg.Type == 11" style="position: absolute; left: -22px; top: 12px">
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> <i class="el-tooltip el-icon-info"></i>
</el-tooltip> </el-tooltip>
<el-switch <el-switch v-model="plszMsg.IsGoodsNegotiable" active-color="#409EFF" :active-value="1"
v-model="plszMsg.IsGoodsNegotiable" :inactive-value="0">
active-color="#409EFF"
:active-value="1"
:inactive-value="0"
>
</el-switch> </el-switch>
</el-form-item> </el-form-item>
<el-form-item <el-form-item class="spmy" v-if="plszMsg.Type == 12" label-width="160px" label="供应商">
class="spmy" <el-select class="w150" style="margin-right: 10px" v-model="plszMsg.SupplierId" size="small"
v-if="plszMsg.Type == 12" placeholder="请选择" @change="changeSupplier">
label-width="160px" <el-option v-for="item in options" :key="item.ID" :label="item.Name" :value="item.ID">
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-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item <el-form-item class="spmy" v-if="plszMsg.Type == 13" label-width="160px" label="是否加入分销平台">
class="spmy" <el-switch v-model="plszMsg.RetailStore" active-text="是" :active-value="2" inactive-text="否"
v-if="plszMsg.Type == 13" :inactive-value="1">
label-width="160px"
label="是否加入分销平台"
>
<el-switch
v-model="plszMsg.RetailStore"
active-text="是"
:active-value="2"
inactive-text="否"
:inactive-value="1"
>
</el-switch> </el-switch>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -792,522 +424,497 @@ ...@@ -792,522 +424,497 @@
</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 @click="plsetOk" size="small" type="primary">确 定</el-button>
>确 定</el-button
>
</span> </span>
</el-dialog> </el-dialog>
<!-- 选择运费 --> <!-- 选择运费 -->
<el-dialog <el-dialog title="选择运费" top="2%" :modal="false" :modal-append-to-body="false" :visible.sync="chooseyfDig"
title="选择运费" width="25%">
top="2%"
:modal="false"
:modal-append-to-body="false"
:visible.sync="chooseyfDig"
width="25%"
>
<div> <div>
<el-radio-group v-model="val"> <el-radio-group v-model="val">
<el-radio <el-radio @change="YfSelect" class="yfradio" v-for="(item, index) in ruleList" :key="index" :label="item">
@change="YfSelect" {{ item.RulesName }}</el-radio>
class="yfradio"
v-for="(item, index) in ruleList"
:key="index"
:label="item"
>
{{ item.RulesName }}</el-radio
>
</el-radio-group> </el-radio-group>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button <el-button size="small" @click="
size="small"
@click="
(chooseyfDig = false), (ruleSelect = {}), (plszMsg.FreightId = 0) (chooseyfDig = false), (ruleSelect = {}), (plszMsg.FreightId = 0)
" ">取 消</el-button>
>取 消</el-button <el-button size="small" @click="chooseyfDig = false" type="primary">确 定</el-button>
>
<el-button size="small" @click="chooseyfDig = false" type="primary"
>确 定</el-button
>
</span> </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,
Q_GoodsEduType: 1 Q_GoodsEduType: 1,
}, MaterialId:"",
total: 0, },
tableData: [], total: 0,
loading: false, tableData: [],
options: [], loading: false,
addMsg: { options: [],
Id: 0, addMsg: {
Sort: "", Id: 0,
Name: "", Sort: "",
IsDefault: 1, Name: "",
Remark: "", IsDefault: 1,
UpdateType: 1 Remark: "",
}, UpdateType: 1
rules: { },
CategoryIdNew: [ rules: {
{ CategoryIdNew: [{
required: true, required: true,
message: "分类不能为空", message: "分类不能为空",
trigger: "change" trigger: "change"
} }],
], Sort: [{
Sort: [
{
required: true, required: true,
message: "请输入排序", message: "请输入排序",
trigger: "blur" 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,
currentUserInfo: {
IsKorea: 0
} //当前用户
};
},
methods: {
//获取是否开启和平返佣
getHpState() {
this.i_post("/api/user/GetHpDistributorIsEnabled", {}, res => {
if (res.data.resultCode == 1) {
this.hpState = res.data.data;
} }
] });
}, },
fenleiData: [], //是否开启粉象返佣
checkList: [], getFxState() {
childList2: [], this.i_post("/api/user/GetIsEnableFXDistributorGrade", {}, res => {
childList3: [], if (res.data.resultCode == 1) {
GoodsIds: [], this.FxState = res.data.data;
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: [], goodChange(val, num) {
ruleSelect: {}, if (!val) {
keepGoodsIds: "", if (num == 1) {
BuyGoodsNumState: true, this.plszMsg.LimitBuyGoodsNum = 0;
BuyOrderNumState: true, } else if (num == 2) {
hpState: 0, this.plszMsg.LimitBuyOrderNum = 0;
FxState: 0, }
currentUserInfo: {
IsKorea:0
} //当前用户
};
},
methods: {
//获取是否开启和平返佣
getHpState() {
this.i_post("/api/user/GetHpDistributorIsEnabled", {}, res => {
if (res.data.resultCode == 1) {
this.hpState = res.data.data;
}
});
},
//是否开启粉象返佣
getFxState() {
this.i_post("/api/user/GetIsEnableFXDistributorGrade", {}, res => {
if (res.data.resultCode == 1) {
this.FxState = res.data.data;
} }
}); },
}, Export() {
goodChange(val, num) { let msg = this.msg;
if (!val) { if (msg.Id == "") {
if (num == 1) { msg.Id = 0;
this.plszMsg.LimitBuyGoodsNum = 0;
} else if (num == 2) {
this.plszMsg.LimitBuyOrderNum = 0;
} }
} msg = JSON.parse(JSON.stringify(msg));
}, msg.pageSize = 999;
Export() { this.GetLocalFile(
let msg = this.msg; "/api/product/GetProductGoodsListToExcel",
if (msg.Id == "") { msg,
msg.Id = 0; "商品列表.xls"
} );
msg = JSON.parse(JSON.stringify(msg)); },
msg.pageSize = 999; plsetOk() {
this.GetLocalFile( if (this.plszMsg.Type == 7) {
"/api/product/GetProductGoodsListToExcel", // if(this.plszMsg.FreightId==0){
msg, // this.Error("请选择运费规则");
"商品列表.xls" // return;
); // }
},
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) { if (this.plszMsg.Type == 8) {
this.plszMsg.LimitBuyOrderNum = -1; if (this.plszMsg.BuyGoodsNumState) {
this.plszMsg.LimitBuyGoodsNum = -1;
}
if (this.plszMsg.BuyOrderNumState) {
this.plszMsg.LimitBuyOrderNum = -1;
}
} }
}
let mall_userInfo = JSON.parse(localStorage.mall_userInfo); let mall_userInfo = JSON.parse(localStorage.mall_userInfo);
if (mall_userInfo.TenantId == 1 && mall_userInfo.MallBaseId == 1) { if (mall_userInfo.TenantId == 1 && mall_userInfo.MallBaseId == 1) {
if (this.plszMsg.SupplierId == "" && this.plszMsg.Type !== 13) { if (this.plszMsg.SupplierId == "" && this.plszMsg.Type !== 13) {
this.Error("请选择供应商!"); this.Error("请选择供应商!");
return; return;
} else { } else {
this.commonSet(this.plszMsg); this.commonSet(this.plszMsg);
} }
} else {
if (this.plszMsg.SupplierId == "") {
this.plszMsg.SupplierId = 0;
this.commonSet(this.plszMsg);
} else { } else {
this.commonSet(this.plszMsg); if (this.plszMsg.SupplierId == "") {
} this.plszMsg.SupplierId = 0;
} 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.i_post(
"/api/product/SetProductGoodsQuickUpdate",
addMsg,
res => {
if (res.data.resultCode === 1) {
this.getList();
this.Success(res.data.message);
this.plDig = false;
} else { } else {
this.Error(res.data.message); this.commonSet(this.plszMsg);
} }
},
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);
} }
}); },
}, plsetBtn() {
handleCheckChange(val) {}, if (this.GoodsIds.length == 0) {
Clearconditions() { this.Error("请先勾选要设置的商品!");
this.msg.Name = ""; return;
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.i_post(
"/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;
}
msg.EmpId = 0;
msg.IsOtherUpdateGoods = 0;
this.loading = true;
this.i_post("/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;
} }
}); let idList = [];
}, this.GoodsIds.forEach(item => {
getTree() { idList.push(item.Id);
let msg1 = { });
Id: 0, this.keepGoodsIds = idList.join(",");
Name: "", this.plszMsg.GoodsIds = this.keepGoodsIds;
Tier: 0, this.plszMsg.SupplierId = "";
ParentId: 0, this.plDig = true;
Enabled: 1, },
IsShow: 1 ClearSelect(type) {
}; this.plszMsg = {
this.i_post("/api/product/GetProductCategoryTreeList", msg1, res => { GoodsIds: this.keepGoodsIds,
if (res.data.resultCode == 1) { Type: type,
let pageData = res.data.data; FreightId: 0,
this.fenleiData = pageData; 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 => {
getRule() { idList.push(item.Id);
let msg1 = { });
pageIndex: 1, let GoodsIds = idList.join(",");
pageSize: 999, let msg = {
RulesName: "" GoodsIds: GoodsIds,
}; Type: num
this.i_post("/api/MallBase/GetLogisticsRulesPage", msg1, res => { };
if (res.data.resultCode == 1) { let str = "";
let pageData = res.data.data.pageData; if (num == 4) {
this.ruleList = pageData; str = "批量上架,是否继续";
} }
}); if (num == 5) {
}, str = "批量下架,是否继续";
changeSupplier(val) {},
getSupplierList() {
this.i_post("/api/Supplier/GetSupplierAllList", {}, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.options = res.data.data;
} }
}); if (num == 6) {
}, str = "是否确认删除选中的商品?";
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") { let that = this;
if (val.order == "ascending") { that
this.msg.OrderBy = 3; .$confirm(str, "提示", {
} else if (val.order == "descending") { confirmButtonText: "确定",
this.msg.OrderBy = 4; cancelButtonText: "取消",
} else { type: "warning"
this.msg.OrderBy = 0; })
.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.i_post(
"/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() {
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;
} }
} else if (val.prop == "SellingPrice") { if (dataId == 1) {
if (val.order == "ascending") { this.msg.GoodsStatus = 1;
this.msg.OrderBy = 5; this.msg.IsSelectSellOut = 0;
} else if (val.order == "descending") { }
this.msg.OrderBy = 6; if (dataId == 2) {
} else { this.msg.GoodsStatus = 2;
this.msg.OrderBy = 0; this.msg.IsSelectSellOut = 0;
}
if (dataId == 3) {
this.msg.GoodsStatus = 0;
this.msg.IsSelectSellOut = 1;
} }
} else if (val.prop == "InventoryNum") { this.msg.pageIndex = 1;
if (val.order == "ascending") { this.getList();
this.msg.OrderBy = 7; },
} else if (val.order == "descending") { Delete(item) {
this.msg.OrderBy = 8; let that = this;
that
.$confirm("是否删除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.i_post(
"/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 { } else {
this.msg.OrderBy = 0; this.msg.StartTime = "";
this.msg.EndTime = "";
}
let msg = JSON.parse(JSON.stringify(this.msg));
if (msg.Id == "") {
msg.Id = 0;
}
msg.EmpId = 0;
msg.IsOtherUpdateGoods = 0;
this.loading = true;
this.i_post("/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;
}
});
},
getTree() {
let msg1 = {
Id: 0,
Name: "",
Tier: 0,
ParentId: 0,
Enabled: 1,
IsShow: 1
};
this.i_post("/api/product/GetProductCategoryTreeList", msg1, res => {
if (res.data.resultCode == 1) {
let pageData = res.data.data;
this.fenleiData = pageData;
}
});
},
getRule() {
let msg1 = {
pageIndex: 1,
pageSize: 999,
RulesName: ""
};
this.i_post("/api/MallBase/GetLogisticsRulesPage", msg1, res => {
if (res.data.resultCode == 1) {
let pageData = res.data.data.pageData;
this.ruleList = pageData;
}
});
},
changeSupplier(val) {},
getSupplierList() {
this.i_post("/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) {
this.$router.push({
path: "/coffeeManage/edit",
query: {
GoodsId: Id,
hpState: this.hpState,
FxState: this.FxState
}
});
} }
this.getList();
}, },
//新窗口跳转 mounted() {
goGoodsEdit(Id) {
this.$router.push({ let that = this;
path: "/coffeeManage/edit", if (localStorage.getItem("iframeData")) {
query: { that.getList();
GoodsId: Id, that.getTree();
hpState: this.hpState, that.getRule();
FxState: this.FxState that.getHpState();
} that.getFxState();
}); that.getSupplierList(); //获取供应商
} }
}, window.addEventListener("message", function (messageEvent) {
mounted() { let data = messageEvent.data || '';
let that = this;
if (localStorage.getItem("iframeData")) {
that.getList();
that.getTree();
that.getRule();
that.getHpState();
that.getFxState();
that.getSupplierList(); //获取供应商
}
window.addEventListener("message", function(messageEvent) {
let data = messageEvent.data||'';
console.log("收到vue的数据:", data); console.log("收到vue的数据:", data);
if(data.indexOf('token')>-1){ if (data.indexOf('token') > -1) {
window.localStorage.setItem("iframeData", data); window.localStorage.setItem("iframeData", data);
} }
that.getList(); that.getList();
...@@ -1316,108 +923,110 @@ export default { ...@@ -1316,108 +923,110 @@ export default {
that.getHpState(); that.getHpState();
that.getFxState(); that.getFxState();
that.getSupplierList(); //获取供应商 that.getSupplierList(); //获取供应商
}); });
} }
}; };
</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 { .plxg .el-dialog__body {
padding-top: 10px !important; 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 { .app-add-cat .el-checkbox-group {
font-size: 14px !important; 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 { .app-add-cat .el-dialog__body {
padding: 10px 20px !important; 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 {
cursor: pointer;
padding: 5px 10px;
}
.app-add-cat .app-goods-cat-list .cat-item { .app-add-cat .app-goods-cat-list {
cursor: pointer; border: 1px solid #e8eaee;
padding: 5px 10px; border-radius: 5px;
} margin-top: -5px;
padding: 10px 0;
overflow: scroll;
height: 400px;
}
.app-add-cat .app-goods-cat-list { .goodsList {
border: 1px solid #e8eaee; padding: 20px;
border-radius: 5px; }
margin-top: -5px;
padding: 10px 0;
overflow: scroll;
height: 400px;
}
.goodsList { .goodsList .vue-line-clamp {
padding: 20px; display: block;
} display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
.goodsList .vue-line-clamp { .goodsList .content {
display: block; background: #fff;
display: -webkit-box; margin-top: 10px;
-webkit-box-orient: vertical; box-sizing: border-box;
overflow: hidden; }
text-overflow: ellipsis;
}
.goodsList .content { .goodsList .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
background: #fff; background-color: #409eff;
margin-top: 10px; border-color: #409eff;
box-sizing: border-box; }
}
.goodsList .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
background-color: #409eff;
border-color: #409eff;
}
</style> </style>
...@@ -58,8 +58,8 @@ ...@@ -58,8 +58,8 @@
<el-option label="资产类" :value="2"></el-option> <el-option label="资产类" :value="2"></el-option>
<el-option label="教室类" :value="3"></el-option> <el-option label="教室类" :value="3"></el-option>
</el-select> </el-select>
<el-checkbox v-model="IsSelectPayMoney" true-label="1" false-label="0" <el-checkbox v-model="IsSelectPayMoney" true-label="1" false-label="0" style="margin-left: 15px;font-size:14px"
style="margin-left: 15px;font-size:14px" @change="(msg.pageIndex = 1), getList()">只看已付款</el-checkbox> @change="(msg.pageIndex = 1), getList()">只看已付款</el-checkbox>
</div> </div>
<div style=" <div style="
display: flex; display: flex;
...@@ -80,7 +80,6 @@ ...@@ -80,7 +80,6 @@
clearable style="margin-top: 10px; width: 200px" class="input-with-select" placeholder="请输入主播名称" clearable style="margin-top: 10px; width: 200px" class="input-with-select" placeholder="请输入主播名称"
v-model="msg.AnchorName" size="small"> v-model="msg.AnchorName" size="small">
</el-input> --> </el-input> -->
</div> </div>
<div style=" <div style="
display: flex; display: flex;
...@@ -526,11 +525,11 @@ ...@@ -526,11 +525,11 @@
<img @click="getOrderSend(item)" v-if="item.OrderStatus == 3" class="app-order-icon" <img @click="getOrderSend(item)" v-if="item.OrderStatus == 3" class="app-order-icon"
src="../../assets/img/userman/change.png" alt="" /> src="../../assets/img/userman/change.png" alt="" />
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="线下付款" <!-- <el-tooltip class="item" effect="dark" content="线下付款"
v-if="item.OrderStatus == 1 || item.OrderStatus == 7" placement="top"> v-if="item.OrderStatus == 1 || item.OrderStatus == 7" placement="top">
<img @click="Offpayment(item)" v-if="item.OrderStatus == 1 || item.OrderStatus == 7" <img @click="Offpayment(item)" v-if="item.OrderStatus == 1 || item.OrderStatus == 7"
class="app-order-icon" src="../../assets/img/userman/OfflinePayment.png" alt="" /> class="app-order-icon" src="../../assets/img/userman/OfflinePayment.png" alt="" />
</el-tooltip> </el-tooltip> -->
</template> </template>
<el-tooltip class="item" effect="dark" content="查看订单详情" placement="top"> <el-tooltip class="item" effect="dark" content="查看订单详情" placement="top">
...@@ -927,7 +926,7 @@ ...@@ -927,7 +926,7 @@
AnchorName: "", AnchorName: "",
IsSelectPayMoney: 0, IsSelectPayMoney: 0,
IsOffline: -1, IsOffline: -1,
GoodsEduType:0, GoodsEduType: 0,
}, },
IsSelectPayMoney: 0, IsSelectPayMoney: 0,
platList: [], platList: [],
...@@ -1893,34 +1892,42 @@ ...@@ -1893,34 +1892,42 @@
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
const loading = that.$loading({
lock: true,
text: '单据生成中...',
spinner: 'el-icon-loading',
});
that.i_post("/api/order/SetEduGoodsFreightCostFinance", { that.i_post("/api/order/SetEduGoodsFreightCostFinance", {
OrderId: id OrderId: id
}, (res) => { }, (res) => {
loading.close()
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
console.log(1884, res)
that.$message({ that.$message({
type: 'success', type: 'success',
message: '操作成功' message: '操作成功'
}); });
that.getList() that.getList()
} }
},()=>{
loading.close()
}); });
}) })
}, },
// 是否显示运费制单按钮 // 是否显示运费制单按钮
isShowzhidan(item){ isShowzhidan(item) {
const flag= item.DetailList.some(e=>{ const flag = item.DetailList.some(e => {
return e.FreightFinanceId==0&&e.FreightCostMoney>0 return e.FreightFinanceId == 0 && e.FreightCostMoney > 0
}) })
if(item.FreightMoney>0&&flag){ if (item.FreightMoney > 0 && flag) {
return true return true
}else{ } else {
return false return false
} }
} }
}, },
}; };
</script> </script>
<style scoped> <style scoped>
......
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