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

View File

@ -153,7 +153,9 @@
</div> </div>
</div> </div>
</template> </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>
</div> </div>
</template> </template>

View File

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

View File

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

View File

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

View File

@ -24,7 +24,6 @@ let externals = {
"js-cookie": "Cookies", "js-cookie": "Cookies",
"sockjs-client": "SockJS", "sockjs-client": "SockJS",
"@antv/g2": "G2", "@antv/g2": "G2",
dplayer: "DPlayer"
}; };
// 使用CDN的内容 // 使用CDN的内容
@ -39,8 +38,6 @@ let cdn = {
"https://cdn.pickmall.cn/cdn/iview.min.js", "https://cdn.pickmall.cn/cdn/iview.min.js",
"https://cdn.pickmall.cn/cdn/vue-lazyload.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/js.cookie.min.js",
"https://cdn.pickmall.cn/cdn/DPlayer.min.js",
"https://cdn.pickmall.cn/cdn/sockjs.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" "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", "@antv/g2": "^4.1.14",
"@tinymce/tinymce-vue": "^3.2.0", "@tinymce/tinymce-vue": "^3.2.0",
"axios": "^0.21.1", "axios": "^0.21.1",
"dplayer": "^1.27.0", "dplayer": "^1.27.1",
"js-cookie": "^2.2.1", "js-cookie": "^2.2.1",
"node-sass": "^4.14.1", "node-sass": "^4.14.1",
"price-color": "^1.0.2", "price-color": "^1.0.2",

View File

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

View File

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