Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui

master
misworga831 2023-07-24 15:11:03 +08:00
commit d058d7d6e8
13 changed files with 366 additions and 585 deletions

View File

@ -10,6 +10,7 @@
"dependencies": {
"@amap/amap-jsapi-loader": "0.0.7",
"axios": "^0.19.2",
"dplayer": "^1.27.1",
"js-cookie": "^2.2.1",
"less": "^2.7.0",
"less-loader": "^5.0.0",

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z" fill="none" stroke="#333" stroke-width="4" stroke-linejoin="round"/><path d="M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z" fill="none" stroke="#333" stroke-width="4" stroke-linejoin="round"/></svg>

After

Width:  |  Height:  |  Size: 468 B

View File

@ -4,22 +4,15 @@
<!-- 详情左侧展示数据图片收藏举报 -->
<div class="item-detail-left">
<!-- 大图放大镜 -->
<!-- <div id="dplayer"></div> -->
<div class="item-detail-big-img">
<pic-zoom :url="imgList[imgIndex].url" :scale="2"></pic-zoom>
</div>
<div
v-if="skuDetail.goodsType !== 'VIRTUAL_GOODS'"
style="margin-top:10px;rgb(153, 149, 149);"
>
实物商品
</div>
<div
v-else-if="skuDetail.goodsType == 'VIRTUAL_GOODS'"
style="margin-top:10px;rgb(153, 149, 149);"
>
虚拟商品
<pic-zoom :url="imgList[imgIndex].url" :scale="2"></pic-zoom>
</div>
<!-- <div id="dplayer"></div> -->
<div class="item-detail-img-row">
<div
class="item-detail-img-small"
@mouseover="imgIndex = index"
@ -44,6 +37,18 @@
<div class="item-detail-title">
<p>
{{ skuDetail.goodsName }}
<Tag
v-if="skuDetail.goodsType !== 'VIRTUAL_GOODS'"
style="margin-top:10px;rgb(153, 149, 149);"
>
实物商品
</Tag>
<Tag
v-else-if="skuDetail.goodsType == 'VIRTUAL_GOODS'"
style="margin-top:10px;rgb(153, 149, 149);"
>
虚拟商品
</Tag>
</p>
</div>
<div class="sell-point">
@ -272,7 +277,8 @@
class="add-buy-car"
v-if="$route.query.way !== 'POINT' && skuDetail.authFlag === 'PASS'"
>
<Button
<Button
type="error"
v-if="skuDetail.goodsType !== 'VIRTUAL_GOODS'"
:loading="loading"
@ -287,9 +293,15 @@
@click="buyNow"
>立即购买</Button
>
<Tooltip content="观看视频" v-if="skuDetail.goodsVideo">
<img class="view-video" @click="showGoodsVideo = true" :src="require('@/assets/iconfont/play.svg')" alt="">
</Tooltip>
</div>
</div>
</div>
<Modal title="浏览视频" v-model="showGoodsVideo">
<div id="dplayer"></div>
</Modal>
</div>
</div>
</template>
@ -297,6 +309,7 @@
<script>
import Promotion from "./Promotion.vue";
import PicZoom from "vue-piczoom"; //
import DPlayer from "dplayer";
import {
collectGoods,
isCollection,
@ -304,6 +317,7 @@ import {
cancelCollect,
} from "@/api/member.js";
import { addCartGoods } from "@/api/cart.js";
export default {
name: "ShowGoods",
props: {
@ -321,14 +335,22 @@ export default {
if (this.wholesaleList && this.wholesaleList.length > 0) {
this.count = this.wholesaleList[0].num;
}
this.swiperGoodsImg();
},
deep: true,
immediate: true,
},
showGoodsVideo(val){
if(val){
this.initVideo();
}
}
},
data() {
return {
showGoodsVideo:false,
goodsVideo:"",
wholesaleList: [],
count: 1, //
imgIndex: 0, //
@ -368,6 +390,24 @@ export default {
},
},
methods: {
// video
initVideo(){
if(!this.goodsVideo ){
setTimeout(()=>{
this.goodsVideo = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url:this.skuDetail.goodsVideo,
},
});
},100)
}
},
changeCount(val) {
if (this.wholesaleList && this.wholesaleList.length > 0) {
if (this.count <= this.wholesaleList[0].num) {
@ -544,6 +584,7 @@ export default {
this.imgList = e.specImage;
}
});
},
},
mounted() {
@ -599,6 +640,7 @@ export default {
.item-detail-left {
width: 350px;
margin-right: 30px;
}
@ -607,8 +649,14 @@ export default {
height: 350px;
box-shadow: 0px 0px 8px $border_color;
cursor: pointer;
}
}
#dplayer{
width: 100%;
height: 100%;
}
.item-detail-big-img img {
width: 100%;
}
@ -842,11 +890,14 @@ export default {
.add-buy-car-box {
width: 100%;
margin-top: 15px;
border-top: 1px dotted $border_color;
}
.add-buy-car {
display: flex;
align-items: center;
margin-top: 15px;
> * {
margin: 0 4px;
@ -869,5 +920,8 @@ export default {
color: red;
margin-bottom: 5px;
}
.view-video{
cursor: pointer;
}
/******************商品图片及购买详情结束******************/
</style>

View File

@ -153,7 +153,9 @@
</div>
</div>
</template>
<div @click="moreOptions" v-if="tagsContent.length>4" class="more-options">{{showTagCount===5?'':''}}<Icon :type="showTagCount===5?'ios-arrow-down':'ios-arrow-up'" /></div>
<div @click="moreOptions" v-if="tagsContent.length>4" class="more-options">
{{showTagCount===5?'更多筛选项':'收起筛选项'}}
</div>
</div>
</div>
</template>

View File

@ -178,6 +178,7 @@ export default {
//
handleSearch(key) {
this.params.keyword = key;
this.$route.query.keyword = key
this.params.pageNumber = 0;
this.getGoodsList();
},

View File

@ -2,7 +2,7 @@
<div>
<BaseHeader></BaseHeader>
<Search></Search>
<cateNav></cateNav>
<div class="title-bg"><p>文章帮助中心</p></div>
<div class="container width_1200">
<Layout class="layoutAll">

View File

@ -70,7 +70,7 @@ export default {
"Button",
{
props: {
type: this.index == params.index ? "primary" : "",
type: this.index == params.index ? "primary" : "default",
size: "small",
},
on: {

View File

@ -24,7 +24,6 @@ let externals = {
"js-cookie": "Cookies",
"sockjs-client": "SockJS",
"@antv/g2": "G2",
dplayer: "DPlayer"
};
// 使用CDN的内容
@ -39,8 +38,6 @@ let cdn = {
"https://cdn.pickmall.cn/cdn/iview.min.js",
"https://cdn.pickmall.cn/cdn/vue-lazyload.min.js",
"https://cdn.pickmall.cn/cdn/js.cookie.min.js",
"https://cdn.pickmall.cn/cdn/DPlayer.min.js",
"https://cdn.pickmall.cn/cdn/sockjs.min.js",
"https://gw.alipayobjects.com/os/lib/antv/g2/4.1.24/dist/g2.min.js"
]

View File

@ -15,7 +15,7 @@
"@antv/g2": "^4.1.14",
"@tinymce/tinymce-vue": "^3.2.0",
"axios": "^0.21.1",
"dplayer": "^1.27.0",
"dplayer": "^1.27.1",
"js-cookie": "^2.2.1",
"node-sass": "^4.14.1",
"price-color": "^1.0.2",

View File

@ -84,8 +84,9 @@ export default {
{
title: "商品价格",
key: "price",
width: 120,
render: (h, params) => {
return h("priceColorScheme", {props:{value:params.row.price,color:this.$mainColor}} );
return h("priceColorScheme", {props:{value:params.row.price || 0,color:this.$mainColor}} );
},
},
{

File diff suppressed because it is too large Load Diff

View File

@ -1,81 +1,45 @@
<template>
<div class="logistics">
<Card>
<Table
:loading="loading"
border
:columns="columns"
:data="data"
ref="table"
></Table>
<Table :loading="loading" border :columns="columns" :data="data" ref="table"></Table>
</Card>
<Modal v-model="openModal" :title="openModalTitle" @on-ok="submit" @on-cancel="cancelModal">
<h3 style="color: #ff3c2a; margin-bottom: 10px">是否需要电子面单</h3>
<RadioGroup
v-model="faceSheetForm.faceSheetFlag"
style="margin-bottom: 20px"
@on-change="getfaceSheetFlag($event)"
>
<Radio :label="true">
<span>需要</span>
</Radio>
<Radio :label="false">
<span>不需要</span>
</Radio>
</RadioGroup>
<Card v-if="onpenText" class="modalStyle">
<ButtonGroup style="margin-bottom: 10px;">
<Button :type="faceSheetForm.faceSheetFlag ? 'primary' : 'default'"
@click="faceSheetForm.faceSheetFlag = true">需要</Button>
<Button :type="!faceSheetForm.faceSheetFlag ? 'primary' : 'default'"
@click="faceSheetForm.faceSheetFlag = false">不需要</Button>
</ButtonGroup>
<Card v-if="openText" class="modalStyle">
<h3 style="color: #ff3c2a; margin-bottom: 10px">请输入详细信息</h3>
<Form ref="formValidate" :label-width="150" label-position="right" :model="faceSheetForm" :rules="ruleValidate">
<FormItem label="customerName" prop="customerName">
<Input
v-model="faceSheetForm.customerName"
type="text"
class="faceSheetInput"
></Input
></FormItem>
<Input v-model="faceSheetForm.customerName" type="text" class="faceSheetInput"></Input>
</FormItem>
<FormItem label="customerPwd" prop="customerPwd">
<Input
v-model="faceSheetForm.customerPwd"
type="text"
class="faceSheetInput"
></Input>
<Input v-model="faceSheetForm.customerPwd" type="text" class="faceSheetInput"></Input>
</FormItem>
<FormItem label="monthCode" prop="monthCode">
<Input
v-model="faceSheetForm.monthCode"
type="text"
class="faceSheetInput"
></Input
></FormItem>
<Input v-model="faceSheetForm.monthCode" type="text" class="faceSheetInput"></Input>
</FormItem>
<FormItem label="sendSite" prop="sendSite">
<Input
v-model="faceSheetForm.sendSite"
type="text"
class="faceSheetInput"
></Input
></FormItem>
<Input v-model="faceSheetForm.sendSite" type="text" class="faceSheetInput"></Input>
</FormItem>
<FormItem label="sendStaff" prop="sendStaff">
<Input
v-model="faceSheetForm.sendStaff"
type="text"
class="faceSheetInput"
></Input
></FormItem>
<Input v-model="faceSheetForm.sendStaff" type="text" class="faceSheetInput"></Input>
</FormItem>
<FormItem label="支付方式" prop="payType">
<Select
v-model="faceSheetForm.payType"
class="faceSheetInput">
<Select v-model="faceSheetForm.payType" class="faceSheetInput">
<Option value="1">现付</Option>
<Option value="2">到付</Option>
<Option value="3">月结</Option>
<Option value="4">第三方支付(仅SF支持)</Option>
</Select
></FormItem>
</Select>
</FormItem>
<FormItem label="快递类型" prop="expType">
<Input
v-model="faceSheetForm.expType"
type="text"
class="faceSheetInput"/>
<Input v-model="faceSheetForm.expType" type="text" class="faceSheetInput" />
</FormItem>
<div style="width:100%;text-align:center;">
<a style="padding-right: 20px" @click="frontDownload('use')">使</a>
@ -83,7 +47,7 @@
</div>
</Form>
</Card>
<br/>
<br />
</Modal>
</div>
</template>
@ -140,9 +104,9 @@ export default {
sortable: true,
render: (h, params) => {
if (!params.row.selected) {
return h("div", [h("tag", {props: {color: "volcano"}}, "关闭")]);
return h("div", [h("tag", { props: { color: "volcano" } }, "关闭")]);
} else {
return h("div", [h("tag", {props: {color: "green"}}, "开启")]);
return h("div", [h("tag", { props: { color: "green" } }, "开启")]);
}
}
},
@ -215,19 +179,25 @@ export default {
},
],
data: [], //
onpenText: false,
openText: false,
};
},
watch: {
'faceSheetForm.faceSheetFlag'(val) {
this.openText = val ? true : false
console.log(this.openText )
}
},
methods: {
//
getfaceSheetFlag(e) {
console.log(e);
if (e === true) {
this.onpenText = true;
console.log("打开");
this.openText = true;
} else {
this.onpenText = false;
console.log("关闭");
this.openText = false;
}
},
//
@ -245,7 +215,7 @@ export default {
});
this.loading = false;
},
cancelModal(){
cancelModal() {
this.faceSheetFlag = false;
this.faceSheetForm.faceSheetFlag = false;
},
@ -255,9 +225,9 @@ export default {
this.openModal = true;
this.searchForm.faceSheetFlag = "false"; // v
if (this.searchForm.faceSheetFlag == "true") {
this.onpenText = true;
this.openText = true;
} else {
this.onpenText = false;
this.openText = false;
}
},
//
@ -270,10 +240,10 @@ export default {
// this.searchForm = res.result.recordes;
this.faceSheetForm.faceSheetFlag = res.result.faceSheetFlag; // v
if (this.faceSheetForm.faceSheetFlag === true) {
this.onpenText = true;
this.openText = true;
} else {
this.faceSheetForm.faceSheetFlag = false
this.onpenText = false;
this.openText = false;
}
this.faceSheetForm.customerName = res.result.customerName;
this.faceSheetForm.customerPwd = res.result.customerPwd;
@ -303,7 +273,7 @@ export default {
},
submit() {
if ( !this.row.selected) {
if (!this.row.selected) {
API_Shop.logisticsChecked(
this.row.logisticsId,
this.faceSheetForm
@ -349,7 +319,7 @@ export default {
</script>
<style lang="scss" scoped>
.faceSheetInput{
width: 300px;
}
.faceSheetInput {
width: 300px;
}
</style>

View File

@ -272,8 +272,6 @@ import liliMap from "@/views/my-components/map/index";
import regionMap from "@/views/lili-components/region";
import * as RegExp from "@/libs/RegExp.js";
import Cookies from "js-cookie";
import {editDeliverAddress, getDeliverAddress} from "../../api/shops";
export default {
name: "shopSetting",
components: {
@ -298,7 +296,7 @@ export default {
},
//form
stockWarningForm: {
stockWarning: "", //
stockWarning: 0, //
},
//im form
udeskForm: {
@ -458,7 +456,7 @@ export default {
Cookies.set("userInfoSeller", JSON.stringify(res.result));
//
this.$nextTick(() => {
this.stockWarningForm.stockWarning = res.result.stockWarning + "";
this.stockWarningForm.stockWarning = res.result.stockWarning;
});
if (res.result.merchantEuid) {
//id
@ -479,7 +477,6 @@ export default {
API_Shop.getDeliverAddress().then(res=>{
if(res.success){
if(res.result!= '' && res.result != null){
console.log(89898999998)
this.addressGoods = res.result;
this.regionGoods = res.result.salesConsignorAddressPath;
this.regionIdS = res.result.salesConsignorAddressId;