Commit 85be0a2b by huahua

提交

parent f9e63e33
<script> <script>
import logoservice from '@/service/logoservice.js'; import logoservice from '@/service/logoservice.js';
import homeservice from '@/service/homeservice.js';
export default { export default {
globalData: { globalData: {
bindWx: null, //判断有没有用户之前登录过 bindWx: null,
machine_id: null, //设备id machine_id: null, //设备id
language: 'en-us', //中zh-cn 英en-us
languageList: null, //中英文语言包
typefacedata: [],
num: 0
}, },
methods: { methods: {
//调转登录选择页面判断 //调转登录选择页面判断
...@@ -133,6 +141,60 @@ ...@@ -133,6 +141,60 @@
onLaunch: function(options) { onLaunch: function(options) {
homeservice.queryListPhone({
s: 'Material.fontFamilyList'
}).then(result => {
result.forEach(item=>{
item.long = false
item.textlong = null
})
result.unshift({
id: 0,
key: "SourceHanSansCN-Normal",
remark: "",
title: "思源黑体",
textlong:true,
long:true
})
this.globalData.typefacedata = result
this.$base.typefacedata = this.globalData.typefacedata
var t1 = new Date().getTime();
var that = this
this.globalData.typefacedata.forEach(textlist => {
uni.loadFontFace({
global:true,
family: textlist.key,
source: 'url(' + textlist.remark + ')',
desc: {
weight: 100
},
success: function(message) {
textlist.textlong = true
},
fail: function(message) {
textlist.textlong = false
},
complete(res) {
textlist.long = true
that.globalData.typefacedata.forEach(item=>{
if(item.long == true){
that.globalData.num++
}
})
that.$base.typefacedata = that.globalData.typefacedata
if(that.globalData.num == that.globalData.typefacedata.length){
that.$base.typefacedata = that.globalData.typefacedata
}
that.globalData.num = 0
}
})
})
}).catch(err => {
});
//console.log('App Launch') //console.log('App Launch')
//this.$base.countFirst = this.$base.countFirst + 1; //this.$base.countFirst = this.$base.countFirst + 1;
//console.log(this.$base.countFirst); //console.log(this.$base.countFirst);
...@@ -212,10 +274,7 @@ ...@@ -212,10 +274,7 @@
logoservice.verifyToken({ logoservice.verifyToken({
s: 'User.verifyToken' s: 'User.verifyToken'
}).then(result => { }).then(result => {
//console.log(result);
/*uni.reLaunch({
url: '/pages/login/select_login?machine_id=' + this.globalData.machine_id +'&language=' + this._i18n.locale
});*/
}).catch(err => { }).catch(err => {
if (promoter_id != "" && promoter_id != "null") { if (promoter_id != "" && promoter_id != "null") {
...@@ -235,6 +294,18 @@ ...@@ -235,6 +294,18 @@
} }
/* homeservice.queryListPhone({
s: 'Material.fontFamilyList'
}).then(result => {
//this.$base.typefacedata = result
}).catch(err => {
}); */
}, },
...@@ -253,6 +324,9 @@ ...@@ -253,6 +324,9 @@
} }
} }
}) })
}, },
onHide: function() { onHide: function() {
......
...@@ -132,7 +132,7 @@ ...@@ -132,7 +132,7 @@
}, },
"h5" : { "h5" : {
"title" : "Customize Phone case", "title" : "Customize Phone case",
"domain" : "http://h5.refinecolor.com/#/?language=en-us&machine_id=100022", "domain" : "http://kxzh5.refinecolor.com/#/?language=en-us&machine_id=100022",
"template" : "estpublish/index.html", "template" : "estpublish/index.html",
"router" : { "router" : {
"mode" : "hash", "mode" : "hash",
......
...@@ -2,14 +2,45 @@ ...@@ -2,14 +2,45 @@
<view v-if="Signincenterstate" ref="Signincenter" style="position: absolute; z-index: 999; top: 0; " <view v-if="Signincenterstate" ref="Signincenter" style="position: absolute; z-index: 999; top: 0; "
:style="{height: windowHeight +'px',width:isShowPc?$base.isPcWidth + 'px':'100%'}"> :style="{height: windowHeight +'px',width:isShowPc?$base.isPcWidth + 'px':'100%'}">
<!-- :style="{width:$tool.isPc()?$base.isPcWidth + 'px':'100%',
left:$tool.isPc()?'calc(50% - '+ (($base.isPcWidth ) / 2 ) +'px)':'0upx'}" -->
<!-- 字体 --> <!-- 字体 -->
<view class="uni-share full-width" :style="{height: windowHeight +'px'}" @touchmove.stop="myCatchTouch" <view class="uni-share full-width" :style="{height: windowHeight +'px',width:$tool.isPc()?$base.isPcWidth + 'px':'100%',
v-if="(e_active == 3 || e_active == 4) && text == 'typeface'"> left:$tool.isPc()?'calc(50% - '+ (($base.isPcWidth ) / 2 ) +'px)':'0upx'}" @touchmove.stop="myCatchTouch"
v-if="(e_active == 3 || e_active == 4) && text == 'typeface'" >
<view style="position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 997; opacity: 0.8;" <view style="position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 997; opacity: 0.8;"
@click.stop.prevent="cancel('share')"></view> @click.stop.prevent="cancel('share')"></view>
<view <view
style="position: fixed; bottom: 0; left: 0; width: 100%; height: 600upx; z-index: 999;background: #292933;"> style="position: fixed; bottom: 0; left: 0; width: 100%; height: 600upx; z-index: 999;background: #292933;">
<scroll-view style="width: calc(100% - 40upx); margin: auto; height:598upx; overflow: hidden;" scroll-y
<scroll-view style="width: calc(100% - 40upx); margin: auto; height:598upx; overflow: hidden;"
scroll-y scroll-with-animation>
<view v-for="(item, index) in typefacedata"
:style="{'font-family':item.textlong == true ? item.key : item.key + 'ttf','color': data.itemList[data.cidx].font_dict_id == item.id ? '#64DD17 !important' : 'none'}"
@click="typefaceClick(item, index)" :key="index"
style="font-size: 36upx; color: #FFFFFF; padding:22upx 0 21upx; text-align: center;">
<text style="font-size: 20upx;">
<text style="font-size: 32upx;"
:style="{'color': data.itemList[data.cidx].font_dict_id == item.id ? '#64DD17 !important' : '#ffffff'}">
色彩公园
</text>
<text v-if="item.remark != ''">
{{item.long == true ? '' : '(点击加载)'}}
</text>
<text v-if="item.remark != ''" style="color: #64DD17;">
{{item.textlong == false ? '(下载失败,点击重新下载)' : ''}}
</text>
</text>
</view>
</scroll-view>
<!-- <scroll-view style="width: calc(100% - 40upx); margin: auto; height:598upx; overflow: hidden;" scroll-y
scroll-with-animation> scroll-with-animation>
<view v-for="(item, index) in typefacedata" <view v-for="(item, index) in typefacedata"
:style="{'font-family':item.textlong == true ? item.key : item.key + 'ttf','color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : 'none'}" :style="{'font-family':item.textlong == true ? item.key : item.key + 'ttf','color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : 'none'}"
...@@ -17,11 +48,11 @@ ...@@ -17,11 +48,11 @@
style="font-size: 36upx; color: #FFFFFF; padding:22upx 0 21upx; text-align: center;"> style="font-size: 36upx; color: #FFFFFF; padding:22upx 0 21upx; text-align: center;">
<text style="font-size: 20upx;"> <text style="font-size: 20upx;">
<text style="font-size: 32upx;" <text style="font-size: 32upx;"
:style="{'color': data.itemList[data.cidx].font_dict_id == item.id ? '#F56364 !important' : '#ffffff'}"> :style="{'color': data.itemList[data.cidx].font_dict_id == item.id ? '#64DD17 !important' : '#ffffff'}">
色彩公园 </text> 色彩公园 </text>
</text> </text>
</view> </view>
</scroll-view> </scroll-view> -->
</view> </view>
</view> </view>
...@@ -38,7 +69,7 @@ ...@@ -38,7 +69,7 @@
left:$tool.isPc()?'calc(50% - '+ (($base.isPcWidth ) / 2 ) +'px)':'0upx',}"> left:$tool.isPc()?'calc(50% - '+ (($base.isPcWidth ) / 2 ) +'px)':'0upx',}">
<view style="width: 100%; height: 90upx; display: flex; flex-direction: row;"> <view style="width: 100%; height: 90upx; display: flex; flex-direction: row;">
<view <view
style="width: 160upx; height: 100%; background: #292933; border-top-right-radius: 60upx;display: flex; flex-direction: row; "> style="width: 240upx; height: 100%; background: #292933; border-top-right-radius: 60upx;display: flex; flex-direction: row; ">
<image v-if="bg_text_color" <image v-if="bg_text_color"
style="width: 47upx; height: 47upx; display: block;margin-top: 28upx; margin-left:40upx;" style="width: 47upx; height: 47upx; display: block;margin-top: 28upx; margin-left:40upx;"
src="../../static/img/icon_qiehuan_one.png" mode="aspectFill" @click="bgtextcolor"> src="../../static/img/icon_qiehuan_one.png" mode="aspectFill" @click="bgtextcolor">
...@@ -46,26 +77,73 @@ ...@@ -46,26 +77,73 @@
<image v-else <image v-else
style="width: 47upx; height: 47upx; display: block;margin-top: 28upx; margin-left:40upx;" style="width: 47upx; height: 47upx; display: block;margin-top: 28upx; margin-left:40upx;"
src="../../static/img/icon_qiehuan.png" mode="aspectFill" @click="bgtextcolor"></image> src="../../static/img/icon_qiehuan.png" mode="aspectFill" @click="bgtextcolor"></image>
<view style="width: 80upx; margin-top: 22upx;margin-left: 50upx;" @click="typefaceshow('share')">
<text style="font-size: 34upx; color: #FFFFFF;">字体</text>
</view>
</view>
</view>
<!-- <view v-if="text == 'modify'" style="display: flex;align-items: center; justify-items: center; border-bottom: 1upx solid #000000;height: 99upx;">
<view
style="width: 710upx; height: 57upx; background: rgb(255,255,255,0.1); margin: 20upx 40upx 20upx 20upx; border-radius: 10upx;">
<input :fixed="true" :auto-height="true" :show-confirm-bar="false" :cursor-spacing="73"
:adjust-position="false" type="text" maxlength="32" @input="textInput"
v-model="data.currentText" @focus="focusTextarea" @blur="blurTextarea"
:placeholder="$i18n.messages[$i18n.locale]['请先输入文字内容']"
style="font-size: 34upx; font-weight: 400; height: 57upx; line-height: 57upx; padding: 0upx 0 0upx 20upx; color: #FFFFFF;" />
</view> </view>
</view> </view>
<! 字体 -->
<!-- <view v-if="text == 'typeface'" style="border-bottom: 1upx solid #000000;">
<scroll-view style="width: calc(100% - 40upx); margin: auto; height:300upx; overflow: hidden;"
scroll-y scroll-with-animation>
<view v-for="(item, index) in textlist"
:style="{'font-family': item.fontname,'color': data.itemList[data.cidx].font_family == item.fontname ? '#F56364' : 'none'}"
@click="typefaceClick(item,index)" :key="index"
style="font-size: 40upx; color: #FFFFFF; margin: 10upx;">
{{item.text}}
<text
style="font-size: 20upx; color: #F56364;">{{item.textlong ? '' : '(该字体加载失败)'}}</text>
</view>
</scroll-view> -->
<!-- </view> -->
<view style="background: #292933;"> <view style="background: #292933;">
<!-- 字体 --> <!-- 字体 -->
<view <view style="display: flex;align-items: center; justify-items: center; border-bottom: 2upx solid #000000;height: 98upx;">
style="display: flex;align-items: center; justify-items: center; border-bottom: 2upx solid #000000;height: 98upx;"> <view
<view style="width: calc(100% - 160upx); height: 57upx; background: rgb(255,255,255,0.1); margin: 21upx 41upx 21upx 21upx; border-radius: 10upx;">
style="width: calc(100% - 160upx); height: 57upx; background: rgb(255,255,255,0.1); margin: 21upx 41upx 21upx 21upx; border-radius: 10upx;">
<input :fixed="true" :auto-height="true" :show-confirm-bar="false" :cursor-spacing="73" <input :fixed="true" :auto-height="true" :show-confirm-bar="false" :cursor-spacing="73"
:adjust-position="false" type="text" maxlength="24" @input="textInput" :adjust-position="false" type="text" maxlength="24" @input="textInput"
@focus="focusTextarea" @blur="blurTextarea" v-model="data.currentText" @focus="focusTextarea" @blur="blurTextarea" v-model="data.currentText"
:placeholder="$i18n.messages[$i18n.locale]['请先输入文字内容']" :placeholder="$i18n.messages[$i18n.locale]['请先输入文字内容']"
style="font-size: 34upx; font-weight: 400; height: 57upx; line-height: 57upx; padding: 0upx 0 0upx 20upx; color: #FFFFFF;" /> style="font-size: 34upx; font-weight: 400; height: 57upx; line-height: 57upx; padding: 0upx 0 0upx 20upx; color: #FFFFFF;" />
</view> </view>
<!-- 字体 -->
<!-- <view v-if="text == 'typeface'" style="border-bottom: 1upx solid #000000;">
<scroll-view style="width: calc(100% - 40upx); margin: auto; height:300upx; overflow: hidden;"
scroll-y scroll-with-animation>
<view v-for="(item, index) in textlist"
:style="{'font-family': item.fontname,'color': data.itemList[data.cidx].font_family == item.fontname ? '#64DC17' : 'none'}"
@click="typefaceClick(item,index)" :key="index"
style="font-size: 40upx; color: #FFFFFF; margin: 10upx;">
{{item.text}}
<text style="font-size: 20upx; color: #64DC17;">{{item.textlong ? '' : '(该字体加载失败)'}}</text>
</view>
</scroll-view>
</view> -->
<view style="width: 1px; height: 28upx; background: #FFFFFF;"></view> <view style="width: 1px; height: 28upx; background: #FFFFFF;"></view>
<image style="width: 43upx; height: 30upx; display: block;margin: auto;" <image style="width: 43upx; height: 30upx; display: block;margin: auto;"
src="../../static/icon/icon_determine.png" mode="aspectFill" src="../../static/icon/icon_determine.png" mode="aspectFill"
@click.stop.prevent="cancel('share')"></image> @click.stop.prevent="cancel('share')"></image>
</view> </view>
<view style="display: flex; height: 100upx; padding: 28upx 0 21upx; align-items: center;"> <view style="display: flex; height: 100upx; padding: 28upx 0 21upx; align-items: center;">
<!-- 颜色 开始--> <!-- 颜色 开始-->
<scroll-view style="box-sizing: border-box; white-space: nowrap; <scroll-view style="box-sizing: border-box; white-space: nowrap;
...@@ -75,19 +153,19 @@ ...@@ -75,19 +153,19 @@
v-for="(item,index) in colorList" :key="index" @click.stop="workcolor(item.color)"> v-for="(item,index) in colorList" :key="index" @click.stop="workcolor(item.color)">
<view v-if="data.itemList[data.cidx]"> <view v-if="data.itemList[data.cidx]">
<view v-if="data.itemList[data.cidx].font_color == item.color && !bg_text_color" <view v-if="data.itemList[data.cidx].font_color == item.color && !bg_text_color"
style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #854AC2; border-radius: 50%;" style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #64DD17; border-radius: 50%;"
:style="{background:item.color}"></view> :style="{background:item.color}"></view>
<view <view
v-else-if="data.itemList[data.cidx].under_color == item.color && bg_text_color" v-else-if="data.itemList[data.cidx].under_color == item.color && bg_text_color"
style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #854AC2; border-radius: 50%;" style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #64DD17; border-radius: 50%;"
:style="{background:item.color}"></view> :style="{background:item.color}"></view>
<view v-else <view v-else
style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #FFFFFF; border-radius: 50%;" style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #FFFFFF; border-radius: 50%;"
:style="{background:item.color}"></view> :style="{background:item.color}"></view>
</view> </view>
<view v-else <view v-else
style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #FFFFFF; border-radius: 50%;" style="width: 60upx; height: 60upx; background: #000000; border: 4upx solid #FFFFFF; border-radius: 50%;"
:style="{background:item.color}"></view> :style="{background:item.color}"></view>
</view> </view>
</scroll-view> </scroll-view>
</view> </view>
...@@ -1028,6 +1106,18 @@ ...@@ -1028,6 +1106,18 @@
this.getExcellentMaterial(item.queryPage) this.getExcellentMaterial(item.queryPage)
} }
this.Signincenterstate = true this.Signincenterstate = true
if (this.$base.typefacedata.length > 0) {
this.typefacedata = this.$base.typefacedata
console.log(this.$base.typefacedata)
}
/* if (this.text == 'typeface') {
this.typeface('typeface')
this.inputBottom = 'none'
} */
}, },
getExcellentMaterialMore(e) { getExcellentMaterialMore(e) {
...@@ -1235,6 +1325,11 @@ ...@@ -1235,6 +1325,11 @@
typeface(e) { typeface(e) {
this.text = e this.text = e
this.inputBottom = 0 this.inputBottom = 0
//console.log(this.$base.typefacedata)
if (this.$base.typefacedata.length > 0) {
this.typefacedata = this.$base.typefacedata
}
//console.log(this.e_active)
}, },
typefaceClick(e, index) { typefaceClick(e, index) {
if ((index + 1) == this.typefacedata.length) { if ((index + 1) == this.typefacedata.length) {
......
<template>
<view class="content"
:style="{width:$tool.isPc()?$base.isPcWidth + 'px':'100%',left:$tool.isPc()?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx'}"
style="width: 100%; height: 100%; position: relative;overflow: hidden; ">
<view style="margin-top: 140upx;">
<scroll-view scroll-y style="width:100%; margin: auto; height:850upx; overflow: hidden;"
>
<view style="float: left; width: calc(100% / 3); margin: 10upx 0 10upx; "
v-for="(item, index) in datalist" :key="index" @click="modeDetail(item)">
<view style="width: 139upx; height: 255upx; margin: auto; position: relative;">
<view style="display: flex;flex-direction: column;">
<image
style="width: 139upx; height: 200upx; margin: auto; border-radius: 14px; overflow: hidden;"
:src="item.goods_pic + '?x-oss-process=image/resize,lfit,w_112'"
mode="aspectFit"></image>
<view style=" margin-top: 5upx; text-align: center; font-size: 22upx; color: #FFFFFF;">{{item.name}}</view>
</view>
</view>
</view>
<view class="align-center"
style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"
v-if="datalist.length == 0">
<span class="iconfont icon-wushuju"
style="font-size: 100upx; text-align: center; color: #B2B2B2;"></span>
<view style="color: #B2B2B2; text-align: center; line-height: 50upx;font-size: 24upx;">no data
</view>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
import homeservice from '@/service/homeservice.js';
import refresh from '@/components/xing-refresh/xing-refresh.vue';
export default {
props: {
windowHeight: {
type: Number,
default: 563
}
},
components: {
refresh
},
data() {
return {
queryCollectionPage: {
},
Material_categorydatalist: [], //作品、贴图列表
datalist: [], //作品、贴图列表
Material_category: [], //贴图分类
currentId: -1,
/* 控制被选中 */
currentIndex: null,
/* 控制位置 */
tip: '',
showState: false,
type: 0, //默认 0
item: null,
scrollViewTop: 0, //滚动距离
oldScrollViewTop: 0, //旧数据到顶部位置
e: 0, //弹窗类型
backColorVal:"",
catrgoryList:[], //品牌数据
machine_id:"" ,//设备Id
brandsitem:{},
goods_id_e:{},
modeltext: "",
goods_id: "",
dict_id: ""
};
},
mounted() {
},
/**
* 组件的公有方法列表
*/
methods: {
scroll(e) {
if (e.detail.scrollTop > 1) {
this.oldScrollViewTop = e.detail.scrollTop - 0.01
}
},
modeDetail(item) {
//item.isWork = this.isWork;
//this.$emit('Worksdetail', item)
this.brandsitem = item
homeservice.queryListPhone({
s: 'Product.machineDetail', //新接口
machine_id: this.machine_id,
id: this.brandsitem.id //商品id
}).then(result => {
this.modeltext = this.brandsitem.name //机型名
this.goods_id = this.brandsitem.id //产品id
this.dict_id = result.dict_id //产品属性id
this.goods_id_e = {
brandtext: this.brandsitem.name, // 品牌名
modeltext: this.brandsitem.name, // 机型商品名
goods_id: this.brandsitem.id, // 产品id
dict_id: result.dict_id, // 产品属性
}
this.$emit('goodsbrands', {
goods_id_e: this.goods_id_e,
})
//this.$refs['shellShow'].close() //关闭手机壳子弹框
}).catch(err => {
// uni.showToast({
// title: err.msg,
// icon: 'none'
// });
});
},
open(item) {
this.machine_id = item.machine_id
console.log(item)
homeservice.queryListPhone({
s: 'Product.getBrandProducts', //新接口
goods_brand_id: item.id, //品牌id
machine_id: item.machine_id,
key: "3"
}).then(result => {
this.datalist = result // 品牌机型
console.log(this.datalist)
}).catch(err => {
uni.showToast({
title: err.msg,
icon: 'none'
});
});
},
}
}
</script>
<style lang="scss">
</style>
...@@ -125,141 +125,6 @@ ...@@ -125,141 +125,6 @@
</view> </view>
</view> </view>
<!-- 壳子 -->
<view v-if="shellShow" class="full-width" style="position: fixed; bottom: 0; left: 0; height: 100%; z-index: 9997;
background: linear-gradient(0deg, #1B294F, #4E2761, #E73231); opacity: 0.8;" @click="shellModel()"
@touchmove.stop="myCatchTouch"></view>
<view v-if="shellShow" style="position: fixed; z-index: 9998; width: 100%;bottom: 0; margin: auto;"
:style="{height: MobilePhoneHeight +'px'}">
<view style="width: 750upx; margin:auto; display: flex; flex-direction: column;">
<view :style="{height: MobilePhoneHeight +'px'}"
style="width:100%; background: #FFFFFF; border-radius: 30upx 30upx 0 0; position: relative;">
<view @click="shellModel()" style="position: absolute; top: 0upx; right: 0upx;">
<image src="../../../static/icon_guanbi.png" mode=""
style="height: 23upx; width: 23upx; padding: 21upx 33upx;"></image>
</view>
<view v-if="choose_surfaceState && selfContainedShell"
style="display: flex; justify-content: center;height: 80upx;border-radius:0 0 40upx 40upx;">
<view style="border-radius:0 0 0 40upx;" @click="customDhell" v-if="choose_surfaceState"
:class="['classification', { active: category == 0 }]">
{{$i18n.messages[$i18n.locale]['定制壳']}}
</view>
<view :class="['classification', { active: category == 1 }]" @click="selfContainedShell"
v-if="self_surfaceState">
{{$i18n.messages[$i18n.locale]['自带壳']}}
</view>
</view>
<view v-else style="display: flex; justify-content: center;height: 80upx;">
<view style="border-radius:0;" @click="customDhell" v-if="choose_surfaceState"
:class="['classification', { active: category == 0 }]">
{{$i18n.messages[$i18n.locale]['定制壳']}}
</view>
<view style="border-radius:0;" :class="['classification', { active: category == 1 }]"
@click="selfContainedShell" v-if="self_surfaceState">
{{$i18n.messages[$i18n.locale]['自带壳']}}
</view>
</view>
<!-- 定制壳 -->
<view v-show="category == 0">
<view v-if="brands.length > 1"
style="display: flex; align-items: center; width: calc(100% - 40upx); margin:31upx auto 0;">
<image src="../../../static/icon_more_left.png" mode="" style="width: 64upx; height: 64upx;"
@click="leftTo()"></image>
<scroll-view class="scroll-container" :scroll-left="scrollLeft" @scroll="scrollLeftTo"
scroll-x scroll-with-animation :scroll-into-view="'s' + currentIndex">
<view :class="['scroll-item', { active: index == currentId }]" :id="'s' + index"
v-for="(item, index) in brands" :key="index" @tap="handleScroll(item, index)">
<image :src="item.preview + '?x-oss-process=image/resize,lfit,w_300'"
mode="aspectFit" style="width: 80upx; height: 160upx; margin:28upx auto 0;">
</image>
</view>
</scroll-view>
<image src="../../../static/icon_more_right.png" mode=""
style="width: 64upx; height: 64upx;" @click="rightTo()"></image>
</view>
<view v-if="brandsitem"
:style="{height: MobilePhoneHeight - (80 + 248 + 31 + 100)*pixelRate +'px'}"
style="display: flex; align-items: center; justify-content: center;">
<view>
<!-- 图片 -->
<image @click="ordersize(brandsitem.id)" v-if="brands.length > 1"
:src="brandsitem.preview + '?x-oss-process=image/resize,lfit,w_750'" mode="widthFix"
style="width: 260upx; min-height: 260upx; margin:auto ; display: block;"></image>
<image @click="ordersize(brandsitem.id)" v-if="brands.length == 1"
:src="brandsitem.preview + '?x-oss-process=image/resize,lfit,w_750'" mode="widthFix"
style="width: 310upx; min-height: 310upx; margin:auto; display: block;"></image>
<view
style="font-size: 30upx; font-weight: 500;line-height: 22upx; text-align: center; margin-top: 10upx;">
{{ goods_id_e.modeltext || ''}}
</view>
<view @click="ordersize(brandsitem.id)"
style="font-size: 24upx; font-weight: 500; color: #864BC3; text-align: center; line-height: 50upx;">
{{$i18n.messages[$i18n.locale]['材质详情']}}>
</view>
</view>
</view>
<view class="determineBut" @click="determine(2)">{{$i18n.messages[$i18n.locale]['下单']}}</view>
</view>
<!-- 自带壳 -->
<view v-show="category == 1">
<scroll-view scroll-y scroll-with-animation
:style="{height: MobilePhoneHeight - 430*pixelRate +'px'}" style="box-sizing: border-box;white-space: nowrap;
width: 540upx; margin:50upx auto 0; overflow: hidden; padding: 10upx 0;">
<view v-for="(item,index) in backgroundColorData" :key="index"
@click="backgroundColor(item)" style="float: left; margin:0 4upx 8upx;
border-radius: 10upx;
border: 2upx solid #FFFFFF;
height: 96upx; width: 96upx;" :style="{background: item.color_code}"
:class="[surface_color_id_text == item.color_code ? 'backgroundColoractive':'' ]">
<span class="tooltiptext"
:class="[surface_color_id_text == item.color_code ? 'tooltiptextactive':'' ]">
{{item.alias_name}}
</span>
</view>
</scroll-view>
<view
style="font-size: 30upx; font-weight: 500; color: #F60C0C;line-height: 50upx; text-align: center;">
{{$i18n.messages[$i18n.locale]['请选择自带壳颜色']}}
</view>
<view style="font-size: 30upx; font-weight: 500;line-height: 50upx; text-align: center;">
{{ goods_id_e.modeltext || ''}}
</view>
<view class="determineBut" @click="well()">{{$i18n.messages[$i18n.locale]['下单']}}</view>
</view>
</view>
</view>
</view>
<!-- 请选择颜色 -->
<view v-if="colorcenter" class="full-width" style="position: fixed; bottom: 0; left: 0; height: 100%; z-index: 9998;
background: linear-gradient(0deg, #1B294F, #4E2761, #E73231); opacity: 0.8;" @click="colorCose()"
@touchmove.stop="myCatchTouch"></view>
<view v-if="colorcenter"
style="position: fixed; z-index: 9999; width: 100%; height: 1000upx; top: 0; bottom: 0; margin: auto;">
<view style="width:690upx; margin:auto; display: flex; flex-direction: column; ">
<view
style="width:100%; min-height: 1000upx; background: #dcdcdc; border-radius: 30upx; position: relative;">
<view @click="colorCose()" style="position: absolute; top: 0upx; right: 0upx;">
<image src="../../../static/icon_guanbi.png" mode="aspectFill"
style="height: 23upx; width: 23upx; padding: 21upx 33upx;"></image>
</view>
<view style="margin:122upx auto 94upx;font-size: 36upx;text-align: center;">
{{$i18n.messages[$i18n.locale]['请在扇区点选您自带的手机壳颜色']}}
</view>
<view style="width: 690upx; height: 500upx;" v-if="chartData.series.length > 0 && chartDataState">
<canvas canvas-id="canvasPie" id="canvasPie" style="width: 690upx; height: 500upx;"
@touchstart="touchStart"></canvas>
</view>
<view v-else style="line-height: 500upx; text-align: center;">
{{$i18n.messages[$i18n.locale]['暂无数据']}}
</view>
<view class="determineButtn" @click="well()">{{$i18n.messages[$i18n.locale]['下单']}}</view>
</view>
</view>
</view>
</view> </view>
</template> </template>
......
<template> <template>
<div class="full-width full-height" :style="{width:isShowPc?$base.isPcWidth + 'px':'100%'}" style="margin: auto;"> <div class="full-width full-height" :style="{width:isShowPc?$base.isPcWidth + 'px':'100%'}" style="margin: auto;">
<image v-if="statusloading == 1" @tap="game"
src="../../static/img/icon_home_lineup_image.png" <view @tap="game" v-if="statusloading == 1"
style="position: fixed; z-index: 99; right: 0; bottom: 480upx; display: flex;align-items: center;justify-content: center; style="position: fixed;
width: 115upx; z-index: 99;
height: 115upx;" right: 0;
:style="{right:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx'}"> bottom: 524upx;
</image> display: flex;
align-items: center;
<image v-if="statusloading == 1 && support_paypal " src="../../static/img/icon_home_order_image.png" style=" justify-content: center;
position: fixed; width: 190upx;
z-index: 999; height: 88upx;
bottom: 650upx; background: linear-gradient(92deg, #64DD17, #64DD17);
width: 115upx; border-radius: 44upx 0px 0px 44upx;" :style="{right:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx'}">
height:115upx;" @click="toOrderList()" <view style="font-size: 18upx; color: #FFFFFF;">
:style="{right:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx'}" <view> {{$i18n.messages[$i18n.locale]['排队列表']}} </view>
></image> </view>
</view>
<image v-if="statusloading == 1" src="../../static/img/icon_change_language.png" style="
<!-- <image v-if="statusloading == 1" @tap="game" src="../../static/img/icon_home_lineup_image.png" style="position: fixed; z-index: 99; right: 0; bottom: 480upx; display: flex;align-items: center;justify-content: center;
width: 92upx;
height: 92upx;" :style="{right:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx'}" /> -->
<image v-if="statusloading == 1" src="../../static/img/icon_change_language.png" style="
position: fixed; position: fixed;
z-index: 999; z-index: 990;
bottom: 820upx; bottom: 820upx;
width:90upx; width:90upx;
height:80upx; height:80upx;
font-size: 20upx; text-align: center; font-size: 20upx;
line-height:80upx; " text-align: center;
:style="{right:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx'}" line-height:80upx;" :style="{right:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx'}"
@click="toSelectLanguage()"> @click="toSelectLanguage()"/>
</image>
<!-- 自定义头部 --> <!-- 自定义头部 -->
<myhead :worksid="9" :title=" $i18n.messages[$i18n.locale]['定制手机壳'] + myheadtext" :color="'#fff'":titleShow="true" :backShow="true" :background="'none'"></myhead> <myhead :worksid="9" :title=" $i18n.messages[$i18n.locale]['定制手机壳'] + myheadtext" :color="'#fff'"
:titleShow="true" :backShow="true" :background="'none'" v-if="showTitle" ></myhead>
<!-- 正文 --> <!-- 正文 -->
<view style="position: relative;width: 100%; height: 100%; z-index: 2;"> <view style="position: relative;width: 100%; height: 100%; z-index: 2;">
<!-- 轮播图 --> <!-- 轮播图 -->
...@@ -41,8 +47,8 @@ ...@@ -41,8 +47,8 @@
:autoplay="true" :interval="3000" :duration="1000"> :autoplay="true" :interval="3000" :duration="1000">
<swiper-item v-for="(item, index) in Adlists" :key="index"> <swiper-item v-for="(item, index) in Adlists" :key="index">
<view class="swiper-item"> <view class="swiper-item">
<image class="image" :src="item.content" <image class="image" :src="item.content" mode="aspectFill"
mode="aspectFill" :style="{height: datainfo.windowHeight +'px'}" /> :style="{height: datainfo.windowHeight +'px'}" />
</view> </view>
</swiper-item> </swiper-item>
</swiper> </swiper>
...@@ -58,7 +64,7 @@ ...@@ -58,7 +64,7 @@
</view> </view>
</view> </view>
<view @click="Customize_now" class="experiencebutton" hover-class="loginBtn-hover" style="position: fixed; bottom: 112upx; text-align: center;left: 0; right: 0; <view @click="Customize_now" class="experiencebutton" hover-class="loginBtn-hover" style="position: fixed; bottom: 112upx; text-align: center;left: 0; right: 0;
width: 500upx; height: 105upx; line-height: 105upx; border-radius: 53upx; font-size: 39upx;"> width: 500upx; height: 105upx; line-height: 105upx; border-radius: 53upx; font-size: 39upx;background: #64DD17;">
{{$i18n.messages[$i18n.locale]['立即定制']}} {{$i18n.messages[$i18n.locale]['立即定制']}}
</view> </view>
</view> </view>
...@@ -72,8 +78,7 @@ ...@@ -72,8 +78,7 @@
<view @click="tomakePhoneCall"> <view @click="tomakePhoneCall">
<view class="start_text">{{$i18n.messages[$i18n.locale]['联系客服']}}</view> <view class="start_text">{{$i18n.messages[$i18n.locale]['联系客服']}}</view>
<view class="start_text" style="display: flex; justify-content: center; align-items: center;"> <view class="start_text" style="display: flex; justify-content: center; align-items: center;">
<image src="../../static/phone.png" mode="" <image src="../../static/phone.png" mode="" style="width: 32upx; height: 32upx; margin-right: 5upx;"></image>
style="width: 32upx; height: 32upx; margin-right: 5upx;"></image>
{{phone || '18938664545'}} {{phone || '18938664545'}}
</view> </view>
</view> </view>
...@@ -83,14 +88,56 @@ ...@@ -83,14 +88,56 @@
style="margin-top: -50upx;text-align: center;color: #888888; font-weight: 400; line-height: 40upx;"> style="margin-top: -50upx;text-align: center;color: #888888; font-weight: 400; line-height: 40upx;">
<text style="font-size: 22upx;">{{$i18n.messages[$i18n.locale]['深圳市瑞丰彩科技有限公司']}}</text> <text style="font-size: 22upx;">{{$i18n.messages[$i18n.locale]['深圳市瑞丰彩科技有限公司']}}</text>
</view> </view>
<uni-popup ref="showshare" type="bottom" style="position: relative; z-index: 999; width: 100%;"
:style="{height: datainfo.windowHeight +'px'}" >
<view class="uni-share full-width" :style="{height: datainfo.windowHeight +'px'}">
<view style="position: absolute; bottom: 0; left: 0; height: 100%; width: 100%; z-index: 999; opacity: 0.8;"
@click="cancel('share')"/>
<view style="position: absolute;
left: 0upx;
height: 100%;
width: 66px;
background: #1A1D33;
overflow: hidden;
z-index: 999;"
:style="{left:$tool.isPc()?'calc(50% - '+ ($base.isPcWidth / 2 + 64 ) +'px)':'0upx'}">
<view style="width: 60px; height: 188upx;"></view>
<view style="width: 64px;"
:style="{height: (datainfo.windowHeight - 188 * datainfo.pixelRate) +'px'}">
<scroll-view class="scroll-container"
:style="{height: (datainfo.windowHeight - 160 * datainfo.pixelRate) +'px'}" scroll-y
scroll-with-animation v-if="brandList.length > 0" >
<view :id="'s' + index"
:class="[index == currentId ? 'scroll-item-select' : 'scroll-item-no-select']"
v-for="(item, index) in brandList" :key="index" @tap="brandclick(index,item)">
<image style="width: 60upx; height: 100upx; display: block;margin:auto; padding: 18upx;"
:src="item.icon" mode="aspectFit">
</image>
</view>
</scroll-view>
</view>
</view>
<view style="position: absolute; bottom: 0upx; left: 60px; height: 100%; width: calc(100% - 60px); z-index: 999; overflow: hidden; background: #282932;"
:style="{width:$tool.isPc()?$base.isPcWidth - 40 + 'px':'calc(100% - 210upx)',left:$tool.isPc()?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'120upx'}">
<scrollModeView ref="scrollModeView"
@goodsbrands="goodsbrands"
:windowHeight="(datainfo.windowHeight - 210 * datainfo.pixelRate - classificationHeight)">
</scrollModeView>
</view>
</view>
</uni-popup>
</view> </view>
<!-- 手机壳品牌 --> <!--<scrollModeView ref="scrollModeView" @goodsbrands="goodsbrands"
<switchBrands ref="switchBrands" @goodsbrands="goodsbrands" @toCustomSize="toCustomSize()"></switchBrands> :windowHeight="(datainfo.windowHeight - 210 * datainfo.pixelRate - classificationHeight)">
</scrollModeView> -->
<!-- 手机壳品牌 -->
<!-- <switchBrands ref="switchBrands" @goodsbrands="goodsbrands" @toCustomSize="toCustomSize()"></switchBrands> -->
<!-- 选择语言 --> <!-- 选择语言 -->
<switchLanguage ref="switchLanguage" @backLanguage="backLanguage"></switchLanguage>
<switchLanguage ref="switchLanguage" @backLanguage="backLanguage"></switchLanguage>
</div> </div>
</template> </template>
...@@ -100,12 +147,18 @@ ...@@ -100,12 +147,18 @@
import switchBrands from './assembly/switchBrands.vue'; import switchBrands from './assembly/switchBrands.vue';
import switchLanguage from './assembly/switchLanguage.vue'; import switchLanguage from './assembly/switchLanguage.vue';
import uniSwiperDot from '@/components/uni-swiper-dot/uni-swiper-dot.vue'; import uniSwiperDot from '@/components/uni-swiper-dot/uni-swiper-dot.vue';
import uniPopup from './common/uni-popup/uni-popup.vue'
//import switchBrands from './assembly/switchBrands.vue';
import scrollModeView from './assembly/scrollModeView.vue'; // 贴图
var index = 0; // 所点击的图片的索引
export default { export default {
components: { components: {
uniPopup,
myhead, myhead,
switchBrands, switchBrands,
uniSwiperDot, uniSwiperDot,
switchLanguage switchLanguage,
scrollModeView
}, },
computed: {}, computed: {},
data() { data() {
...@@ -135,12 +188,27 @@ ...@@ -135,12 +188,27 @@
promoter_id: "", //推广Id promoter_id: "", //推广Id
isLoad: false, //是否加载过 isLoad: false, //是否加载过
isReload: false, //加载页面 isReload: false, //加载页面
isPayOpen: false,//支付是否打开 isPayOpen: false, //支付是否打开
isShowPc:false,//是否pc打开 isShowPc: false, //是否pc打开
sizelist: [],
brandtext: null,
modeltext: null,
goods_id: null,
dict_id: null,
brandList: [],
classificationHeight: 0,
currentId: 0,
showTitle: true
}; };
}, },
methods: { methods: {
cancel(type) {
this.$refs['showshare'].close()
this.showTitle = true;
},
//自定义尺寸 //自定义尺寸
toCustomSize() { toCustomSize() {
uni.navigateTo({ uni.navigateTo({
...@@ -151,7 +219,7 @@ ...@@ -151,7 +219,7 @@
}) })
this.$refs['switchBrands'].cancelBrand(); this.$refs['switchBrands'].cancelBrand();
}, },
//弹窗语言选择 //弹窗语言选择
toSelectLanguage() { toSelectLanguage() {
setTimeout(() => { setTimeout(() => {
...@@ -214,7 +282,7 @@ ...@@ -214,7 +282,7 @@
this.modeltext = obj.goods_id_e.title //机型名 this.modeltext = obj.goods_id_e.title //机型名
this.goods_id = obj.goods_id_e.goods_id //产品id this.goods_id = obj.goods_id_e.goods_id //产品id
this.dict_id = obj.goods_id_e.dict_id //产品属性id this.dict_id = obj.goods_id_e.dict_id //产品属性id
this.$base.surfaceData = { /* this.$base.surfaceData = {
surface_type: obj.surface_type, //材质类型 0:默认 1:自带壳 2:定制壳 surface_type: obj.surface_type, //材质类型 0:默认 1:自带壳 2:定制壳
surface_id: obj.surface_id, //材质对应的编号,没有的话就为0或者不传 surface_id: obj.surface_id, //材质对应的编号,没有的话就为0或者不传
surface_color: obj.surface_color, //材质颜色 surface_color: obj.surface_color, //材质颜色
...@@ -223,18 +291,13 @@ ...@@ -223,18 +291,13 @@
surface_color_id: obj.surface_color_id, //选择的颜色编号,没有的话就不传或者为0 surface_color_id: obj.surface_color_id, //选择的颜色编号,没有的话就不传或者为0
surface_color_series_id_text: obj.surface_color_series_id_text, //选择的色系名称 surface_color_series_id_text: obj.surface_color_series_id_text, //选择的色系名称
surface_color_id_text: obj.surface_color_id_text, //选择的颜色颜色值 surface_color_id_text: obj.surface_color_id_text, //选择的颜色颜色值
} } */
this.preservationBase() //this.preservationBase()
this.changeChannel() this.changeChannel()
}, },
preservationBase() {
try { //数据缓存 同步 一定要用try catch 包裹 //点击排队列表
uni.setStorageSync('base', this.$base);
} catch (e) {};
},
//点击排队列表
game() { game() {
uni.navigateTo({ uni.navigateTo({
url: '../mall/lineUp?machine_id=' + this.machine_id url: '../mall/lineUp?machine_id=' + this.machine_id
...@@ -265,43 +328,39 @@ ...@@ -265,43 +328,39 @@
//立即定制 //立即定制
Customize_now() { Customize_now() {
let isShowCustomizeData = this.list.customize_size == 1 ? true : false this.getBrandList()
},
getBrandList() {
let that = this; let that = this;
if (this.list != null) { homeservice.queryListPhone({
if (this.list.status.value == 1 || this.list.status.value == 2) { s: 'Product.getBrands',
this.sizelist = [] machine_id: this.machine_id,
this.brandtext = null key: "3"
this.modeltext = null }).then(result => {
this.goods_id = null this.brandList = result;
this.dict_id = null this.showTitle = false;
this.$nextTick(() => { this.$refs["showshare"].open()
this.$refs['switchBrands'].open({ if (this.brandList != null && this.brandList.length > 0) {
machine_id: this.machine_id, setTimeout(function() {
key: this.key, that.brandclick(0, that.brandList[0])
goods_id: this.goods_id, }, 120);
dict_id: this.dict_id, }
sn: this.sn, }).catch(err => {
switchBrandState: 0,//0正常 1跳过选择手机型号 2定制页选择材质
isShowCustomize: isShowCustomizeData,
})
})
} else if (this.list.status.value == 0 || this.list.status.value == 3 || this.list.status.value == 4 ||
this.list.status.value == 5) {
uni.showToast({
title: this.$i18n.messages[this.$i18n.locale]['休息中'],
icon: 'none',
duration: 2000
});
}
} else {
uni.showToast({ uni.showToast({
title: this.msg, title: err.msg,
icon: 'none', icon: 'none'
duration: 2000
}); });
} });
}, },
brandclick(index, item) {
this.currentId = index
item.machine_id = this.machine_id
this.$refs['scrollModeView'].open(item)
},
changeChannel() { changeChannel() {
var loading = false var loading = false
if (loading) return; if (loading) return;
...@@ -315,19 +374,20 @@ ...@@ -315,19 +374,20 @@
loading = true loading = true
if (loading) { if (loading) {
uni.navigateTo({ uni.navigateTo({
url: '/pages/index/index_phone?goods_id=' + this.goods_id + '&machine_id=' + this.machine_id + "&machineDetail=" + JSON.stringify(this.list) url: '/pages/index/index_phone?goods_id=' + this.goods_id + '&machine_id=' + this
.machine_id + "&machineDetail=" + JSON.stringify(this.list)
}); });
} }
}, },
change(e) { change(e) {
}, },
swiperChange(e) { swiperChange(e) {
this.currentSwiper = e.detail.current this.currentSwiper = e.detail.current
}, },
getDetail() { getDetail() {
uni.showLoading({ uni.showLoading({
title: this.$i18n.messages[this.$i18n.locale]['正在加载中'], title: this.$i18n.messages[this.$i18n.locale]['正在加载中'],
...@@ -339,11 +399,11 @@ ...@@ -339,11 +399,11 @@
}).then(res => { }).then(res => {
if (res) { if (res) {
this.list = res; this.list = res;
this.support_paypal = false; this.support_paypal = false;
if(this.list.support_paypal == 1){ if (this.list.support_paypal == 1) {
this.support_paypal = true; this.support_paypal = true;
}else{ } else {
this.support_paypal = false; this.support_paypal = false;
} }
//判断挂起 //判断挂起
if (this.list != null) { if (this.list != null) {
...@@ -360,7 +420,7 @@ ...@@ -360,7 +420,7 @@
} }
this.phone = this.list.phone; this.phone = this.list.phone;
try { //数据缓存 同步 一定要用try catch 包裹 try { //数据缓存 同步 一定要用try catch 包裹
uni.setStorageSync('phone', this.phone ); uni.setStorageSync('phone', this.phone);
} catch (e) { } catch (e) {
//TODO handle the exception //TODO handle the exception
}; };
...@@ -378,7 +438,7 @@ ...@@ -378,7 +438,7 @@
this.phone = err.data.phone || '18938664545' this.phone = err.data.phone || '18938664545'
}); });
}, },
Adlist() { // 轮播图 Adlist() { // 轮播图
homeservice.queryListPhone({ homeservice.queryListPhone({
s: 'Ad.list', s: 'Ad.list',
...@@ -392,14 +452,14 @@ ...@@ -392,14 +452,14 @@
}); });
} }
}, },
onReachBottom() { onReachBottom() {
}, },
//上拉刷新 //上拉刷新
onPullDownRefresh() { onPullDownRefresh() {
}, //下拉加载 }, //下拉加载
onLoad(options) { onLoad(options) {
...@@ -556,4 +616,13 @@ ...@@ -556,4 +616,13 @@
} }
} }
} }
</style>
.scroll-item-select{
border: 1upx solid #61D119;
}
.scroll-item-no-select{
border: upx solid #1A1D33;
}
</style>
\ No newline at end of file
<template> <template>
<view :style="{ height: height + 'px', background:background, width:$tool.isPc()?$base.isPcWidth + 'px':'100%'}" <view :style="{ height: height + 'px', background:background, width:$tool.isPc()?$base.isPcWidth + 'px':'100%'}"
style="position: fixed; z-index: 999;"> style="position: fixed; z-index: 998;">
<view class="head" <view class="head"
:style="{ height: height + 'px', background:background,width:$tool.isPc()?$base.isPcWidth + 'px':'100%'}"> :style="{ height: height + 'px', background:background,width:$tool.isPc()?$base.isPcWidth + 'px':'100%'}">
<view class="back" @click="back" v-if="backShow" :style="{ top: top + 'px', color:color }"> <view class="back" @click="back" v-if="backShow" :style="{ top: top + 'px', color:color }">
......
...@@ -20,48 +20,33 @@ ...@@ -20,48 +20,33 @@
<!-- 设计区域 --> <!-- 设计区域 -->
<view v-show="!state" class="full-width content-color full-height" :style="{background: design_color }"> <view v-show="!state" class="full-width content-color full-height" :style="{background: design_color }">
<view class="full-width full-height" style="position: absolute; top: 0; left: 0; " @click.stop="itemCancel">
</view> <view class="full-width full-height" style="position: absolute; top: 0; left: 0; " @click.stop="itemCancel"></view>
<view class="container" :style="{height: data.windowHeight +'px'}" @touchmove.stop="touchMove" <view class="container" :style="{height: data.windowHeight +'px'}" @touchmove.stop="touchMove"
@touchend.stop="touchEnd" @click.stop="itemCancel "> @touchend.stop="touchEnd" @click.stop="itemCancel ">
<!-- 辅助线 --> <!-- 辅助线 -->
<view style="border-left: 1px dashed #864BC3;position: absolute; height: 100%; z-index: 999; left: calc(50% - 0.5px);"> <view style="border-left: 1px dashed #64DD17;position: absolute; height: 100%; z-index: 999; left: calc(50% - 0.5px);"></view>
</view>
<view :style="{width: data.bgWidth +'px',height: data.editorHeight +'px'}" style="position: relative;"> <view :style="{width: data.bgWidth +'px',height: data.editorHeight +'px'}" style="position: relative;">
<!-- 辅助线 --> <!-- 辅助线 -->
<view style="width: 100%; border-top: 1px dashed #864BC3;position: absolute; z-index: 999;" <view style="width: 100%; border-top: 1px dashed #64DD17;position: absolute; z-index: 999;"
:style="{top: (data.editorHeight * location_scale - 0.5) +'px'}"></view> :style="{top: (data.editorHeight * location_scale - 0.5) +'px'}"></view>
<!-- :style="{top: (data.editorHeight * location_scale - 0.5) +'px'}" -->
<!-- 部件列表 -->
<!-- clipPath: 'inset(' + clipButtom + 'px ' + clipRight + 'px ' + clipTop + 'px ' + clipLeft + 'px round ' + filletSize + 'px)' -->
<!--
clipPath: 'inset(' + clipButtom + 'px ' + clipRight + 'px ' + clipTop + 'px ' + clipLeft + 'px round ' + filletSize + 'px)' -->
<view :class="['item-list', { 'list-active': data.listActive == true }]" style="overflow: hidden; " <view :class="['item-list', { 'list-active': data.listActive == true }]" style="overflow: hidden; "
:style="{width: data.editorWidth +'px',height: data.editorHeight +'px', :style="{width: data.editorWidth +'px',height: data.editorHeight +'px',
clipPath: 'inset(' + clipButtom + 'px ' + clipRight + 'px ' + clipTop + 'px ' + clipLeft + 'px round ' + filletSize + 'px)'}"> clipPath: 'inset(' + clipButtom + 'px ' + clipRight + 'px ' + clipTop + 'px ' + clipLeft + 'px round ' + filletSize + 'px)'}">
<image v-if="data.loadbgImageheightstate && background_surface_image != null " <view v-if="data.loadbgImageheightstate "
:src="background_surface_image + '?x-oss-process=image/resize,lfit,w_1500'" mode="" :style="{width: data.editorWidth +'px',height: data.editorHeight +'px',background:background_surface_color ? background_surface_color : 'none'}"
:style="{width: data.editorWidth +'px',height: data.editorHeight +'px'}" style="position: absolute; top: 0; bottom: 0; left: 0; right: 0;margin: auto;z-index: 0;">
style="position: absolute; top: 0; bottom: 0; left: 0; right: 0;margin: auto;z-index: 0;"> </view>
</image>
<!-- 白底图 -->
<view v-if="data.loadbgImageheightstate" <view
:style="{width: data.editorWidth - 1 +'px',height: data.editorHeight - 1 +'px',background:background_surface_color ? background_surface_color : 'none'}" :style="{width: data.editorWidth +'px',height: data.editorHeight +'px',background: (background_color && background_color != 'none' && background_color != null ) ? background_color : '#fff'}"
style="position: absolute; top: 0; bottom: 0; left: 0; right: 0;margin: auto;z-index: 0;"> style="position: absolute; top: 0; bottom: 0; left: 0; right: 0;margin: auto;z-index: 0; ">
</view> </view>
<!-- 白底图 -->
<view v-if="data.loadbgImageheightstate"
:style="{width: data.editorWidth +'px',height: data.editorHeight +'px',background:background_color ? background_color : 'none'}"
style="position: absolute; top: 0; bottom: 0; left: 0; right: 0;margin: auto;z-index: 0;">
</view>
<view v-if=" isCustomizeComplete && isCustomize"
:style="{width: real_print_width +'px',height: real_print_height +'px', borderRadius: filletSize + 'px'}"
style="position: absolute; top: 0; bottom: 0; left: 0; right: 0;margin: auto;z-index: 0; ">
</view>
<!-- 遮罩图层 --> <!-- 遮罩图层 -->
<view <view
...@@ -107,11 +92,69 @@ ...@@ -107,11 +92,69 @@
</view> </view>
</block> </block>
</view> </view>
<!-- 手机壳图 --> <!-- 手机壳图 -->
<image :src="data.bgImage" mode="" @load="loadbgImage" <image :src="data.bgImage + '?x-oss-process=image/resize,lfit,w_400' " mode="aspectFit"
style="position: absolute;z-index: 9;top: 0px; bottom: 0; left: 0; right: 0;margin: auto;" @load="loadbgImage"
:style="{width: (data.editorWidth + 1) +'px',height: (data.editorHeight + 1) +'px'}"> style="position: absolute;
z-index: 10;
top: 0px;
bottom: 0;
left: 0px;
right: 0px;
margin: auto;"
:style="{width: (data.editorWidth + 1 ) +'px',height: (data.editorHeight + 1 ) +'px'}">
</image>
<!-- 旧——手机壳图 -->
<image :src="data.bgImage + '?x-oss-process=image/resize,lfit,w_400' " mode="aspectFit"
@load="loadbgImage"
style="position: absolute;
z-index: 10;
top: 0px;
bottom: 0;
left: 0px;
right: 0px;
margin: auto;"
:style="{width: (data.editorWidth + 1 ) +'px',height: (data.editorHeight + 1 ) +'px'}">
</image> </image>
<image :src="data.bgImage + '?x-oss-process=image/resize,lfit,w_400' " mode="aspectFit"
@load="loadbgImage"
style="position: absolute;
z-index: 10;
top: 0px;
bottom: 0;
left: 0px;
right: 0px;
margin: auto;"
:style="{width: (data.editorWidth + 1 ) +'px',height: (data.editorHeight + 2 ) +'px'}">
</image>
<image :src="data.bgImage + '?x-oss-process=image/resize,lfit,w_400' " mode="aspectFit"
@load="loadbgImage"
style="position: absolute;
z-index: 10;
top: 0px;
bottom: 0;
left: 0px;
right: 0px;
margin: auto;"
:style="{width: (data.editorWidth + 1 ) +'px',height: (data.editorHeight + 2 ) +'px'}">
</image>
<image :src="data.bgImage + '?x-oss-process=image/resize,lfit,w_400' " mode="aspectFit"
@load="loadbgImage"
style="position: absolute;
z-index: 10;
top: 0px;
bottom: 0;
left: 0px;
right: 0px;
margin: auto;"
:style="{width: (data.editorWidth + 1 ) +'px',height: (data.editorHeight + 1 ) +'px'}">
</image>
</view> </view>
<!-- 操作列表 --> <!-- 操作列表 -->
<view :class="['operate-list', { 'list-active': data.listActive == true }]" style="z-index: 10;" <view :class="['operate-list', { 'list-active': data.listActive == true }]" style="z-index: 10;"
...@@ -160,7 +203,6 @@ ...@@ -160,7 +203,6 @@
@touchstart.stop.prevent="edgeStart($event, 'right')" @touchstart.stop.prevent="edgeStart($event, 'right')"
@touchend.stop.prevent='edgeEnd' @touchend.stop.prevent='edgeEnd'
@mousedown="edgeMouseStart($event, 'right')"> @mousedown="edgeMouseStart($event, 'right')">
<!-- :style="{background: item.typetext =='right' ? '#F56364' : '#1784D8'}" -->
<view class='rightedge'> <view class='rightedge'>
<image src="../../static/img/icon_sticker_right_tailoring.png" <image src="../../static/img/icon_sticker_right_tailoring.png"
mode="aspectFill" style="width: 37upx; height: 50upx;margin: auto"> mode="aspectFill" style="width: 37upx; height: 50upx;margin: auto">
...@@ -173,7 +215,6 @@ ...@@ -173,7 +215,6 @@
@touchstart.stop.prevent="edgeStart($event, 'bottom')" @touchstart.stop.prevent="edgeStart($event, 'bottom')"
@touchend.stop.prevent='edgeEnd' @touchend.stop.prevent='edgeEnd'
@mousedown="edgeMouseStart($event, 'bottom')"> @mousedown="edgeMouseStart($event, 'bottom')">
<!-- :style="{background: item.typetext =='bottom' ? '#F56364' : '#1784D8'}" -->
<view class='bottomedge'> <view class='bottomedge'>
<image src="../../static/img/icon_sticker_buttom_tailoring.png" <image src="../../static/img/icon_sticker_buttom_tailoring.png"
mode="aspectFill" style="width: 50upx; height: 37upx; margin: auto"> mode="aspectFill" style="width: 50upx; height: 37upx; margin: auto">
...@@ -188,7 +229,7 @@ ...@@ -188,7 +229,7 @@
@touchend.stop.prevent='scaleEnd' @touchend.stop.prevent='scaleEnd'
@mousedown="scaleMouseStart($event, 'left-top')"> @mousedown="scaleMouseStart($event, 'left-top')">
<view class='frame-left-top' <view class='frame-left-top'
:style="{'border-left-color': item.typetext =='left-top' ? '#F56364' : '#1784D8', 'border-top-color': item.typetext =='left-top' ? '#F56364' : '#1784D8'}"> :style="{'border-left-color': item.typetext =='left-top' ? '#F56364' : '#64DD17', 'border-top-color': item.typetext =='left-top' ? '#F56364' : '#64DD17'}">
</view> </view>
</view> </view>
<view v-if="item.activehorn" class='frame-right-top-wrap' <view v-if="item.activehorn" class='frame-right-top-wrap'
...@@ -197,7 +238,7 @@ ...@@ -197,7 +238,7 @@
@touchend.stop.prevent='scaleEnd' @touchend.stop.prevent='scaleEnd'
@mousedown="scaleMouseStart($event, 'right-top')"> @mousedown="scaleMouseStart($event, 'right-top')">
<view class='frame-right-top' <view class='frame-right-top'
:style="{'border-right-color': item.typetext =='right-top' ? '#F56364' : '#1784D8', 'border-top-color': item.typetext =='right-top' ? '#F56364' : '#1784D8'}"> :style="{'border-right-color': item.typetext =='right-top' ? '#F56364' : '#64DD17', 'border-top-color': item.typetext =='right-top' ? '#F56364' : '#64DD17'}">
</view> </view>
</view> </view>
<view v-if="item.activehorn" class='frame-left-bottom-wrap' <view v-if="item.activehorn" class='frame-left-bottom-wrap'
...@@ -206,7 +247,7 @@ ...@@ -206,7 +247,7 @@
@touchend.stop.prevent='scaleEnd' @touchend.stop.prevent='scaleEnd'
@mousedown="scaleMouseStart($event, 'left-bottom')"> @mousedown="scaleMouseStart($event, 'left-bottom')">
<view class='frame-left-bottom' <view class='frame-left-bottom'
:style="{'border-left-color': item.typetext =='left-bottom' ? '#F56364' : '#1784D8', 'border-bottom-color': item.typetext =='left-bottom' ? '#F56364' : '#1784D8'}"> :style="{'border-left-color': item.typetext =='left-bottom' ? '#F56364' : '#64DD17', 'border-bottom-color': item.typetext =='left-bottom' ? '#F56364' : '#64DD17'}">
</view> </view>
</view> </view>
<view v-if="item.activehorn" class='frame-right-bottom-wrap' <view v-if="item.activehorn" class='frame-right-bottom-wrap'
...@@ -215,7 +256,7 @@ ...@@ -215,7 +256,7 @@
@touchend.stop.prevent='scaleEnd' @touchend.stop.prevent='scaleEnd'
@mousedown="scaleMouseStart($event, 'right-bottom')"> @mousedown="scaleMouseStart($event, 'right-bottom')">
<view class='frame-right-bottom' <view class='frame-right-bottom'
:style="{'border-right-color': item.typetext =='right-bottom' ? '#F56364' : '#1784D8', 'border-bottom-color': item.typetext =='right-bottom' ? '#F56364' : '#1784D8'}"> :style="{'border-right-color': item.typetext =='right-bottom' ? '#F56364' : '#64DD17', 'border-bottom-color': item.typetext =='right-bottom' ? '#F56364' : '#64DD17'}">
</view> </view>
</view> </view>
<!-- 图片旋转 --> <!-- 图片旋转 -->
...@@ -227,11 +268,11 @@ ...@@ -227,11 +268,11 @@
@touchmove.stop.prevent='rotateMove' @touchend.stop.prevent='rotateEnd' @touchmove.stop.prevent='rotateMove' @touchend.stop.prevent='rotateEnd'
@mousedown="rotateMouseStart"></view> @mousedown="rotateMouseStart"></view>
<!-- 辅助线 --> <!-- 辅助线 -->
<view v-if="item.activeguide" style="border-left: 1px dashed #F56364; <view v-if="item.activeguide" style="border-left: 1px dashed #64DD17;
height: 100%;position: absolute; top: 0; z-index: 999; bottom: 0;" height: 100%;position: absolute; top: 0; z-index: 999; bottom: 0;"
:style="{left: ((item.width / 2) - 0.5) +'px', :style="{left: ((item.width / 2) - 0.5) +'px',
transform:'scale(' + item.oScale + ')',height:100 * item.scale + '%',top: (- 100 * (item.scale - 1))/2 + '%'}"></view> transform:'scale(' + item.oScale + ')',height:100 * item.scale + '%',top: (- 100 * (item.scale - 1))/2 + '%'}"></view>
<view v-if="item.activeguide" style="width: 100%; border-top: 1px dashed #F56364; <view v-if="item.activeguide" style="width: 100%; border-top: 1px dashed #64DD17;
position: absolute;z-index: 999;" position: absolute;z-index: 999;"
:style="{top: ((item.height / 2) - 0.5) +'px', :style="{top: ((item.height / 2) - 0.5) +'px',
transform:'scale(' + item.oScale + ')',width:100 * item.scale + '%',left: (- 100 * (item.scale - 1))/2 + '%'}"> transform:'scale(' + item.oScale + ')',width:100 * item.scale + '%',left: (- 100 * (item.scale - 1))/2 + '%'}">
...@@ -254,32 +295,7 @@ ...@@ -254,32 +295,7 @@
</view> </view>
</view> </view>
</view> </view>
<!-- 上一步、下一步按钮 -->
<view :style="{left:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 - 10) +'px)':'20upx'}"
class="operation" v-if="!guide_left && !active">
<view class="operation_top">
<image @click.stop='prev' src="../../static/mine/icon_back.png" mode="aspectFill"
style="width: 85upx; height: 85upx;"></image>
</view>
<view class="operation_bottom">
<image @click.stop='next' src="../../static/mine/icon_nextstep.png" mode="aspectFill"
style="width: 85upx; height: 85upx;"></image>
</view>
</view>
<!-- 材质 -->
<view v-if="surface_type == 1 || surface_type == 2"
style="color: #fff; font-size: 22upx; display: flex; align-items: center;">
<view style="text-align: center;">
<view v-if="surface_type == 2 && !guide_left">{{$i18n.messages[$i18n.locale]['定制壳']}}</view>
<view v-if="surface_type == 1 && !guide_left">{{$i18n.messages[$i18n.locale]['自带壳']}}</view>
</view>
<view @click="topagecategory(2)"
style="width: 100upx; height: 100upx; border-radius: 50%;
display: flex; align-items: center; justify-content: center; margin-left: 10upx; z-index: 99; position: relative;">
<image v-if="!guide_left" src="../../static/qiehuanke.png" mode=""
style="width: 50upx; height: 50upx;"></image>
</view>
</view>
</view> </view>
<!-- 拖拽删除图库 --> <!-- 拖拽删除图库 -->
<view v-if="delete_wrap_state && !isShowPc" class="delete-wrap" :class="{'delete-wrap-active':deleteWrap}" <view v-if="delete_wrap_state && !isShowPc" class="delete-wrap" :class="{'delete-wrap-active':deleteWrap}"
...@@ -304,9 +320,6 @@ ...@@ -304,9 +320,6 @@
</view> </view>
</view> </view>
<!-- 切换手机 -->
<switchBrands ref="switchBrands" @goodsbrands="goodsbrands" @toCustomSize="toCustomSize"></switchBrands>
<!-- 进度条 --> <!-- 进度条 -->
<view v-if="percent > 0 && percent < 100" <view v-if="percent > 0 && percent < 100"
:style="{left:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx',width:isShowPc?$base.isPcWidth + 'px':'100%'}" :style="{left:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx',width:isShowPc?$base.isPcWidth + 'px':'100%'}"
...@@ -323,54 +336,24 @@ ...@@ -323,54 +336,24 @@
<view v-if="!active && !guide_left" <view v-if="!active && !guide_left"
:style="{right:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx'}" class="toolRight"> :style="{right:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx'}" class="toolRight">
<view class="tool_li"> <view class="tool_li">
<view class="tool_li" @click="showPopup(99)">
<image class="tool_li_img" src="../../static/icon/icon_history_phone@2x.png" mode=""></image> <view class="tool_li" @click="showPopup(24)" >
<view class="tool_li_text"> {{$i18n.messages[$i18n.locale]['历史作品']}}</view> <image @click="cancel()" class="tool_li_img" src="../../static/icon/icon_zuopin.png" mode="aspectFit"
</view> style="width: 52upx; height: 52upx;">
<view class="tool_li" @click="showPopup(23)" v-if="surface_type != 1">
<image class="tool_li_img" src="../../static/icon/icon_form.png" mode=""></image>
<view class="tool_li_text">{{$i18n.messages[$i18n.locale]['手机壁纸']}}</view>
</view>
<view class="tool_li" @click="showPopup(2)">
<image class="tool_li_img" src="../../static/icon/icon_stickers.png" mode=""></image>
<view class="tool_li_text">{{$i18n.messages[$i18n.locale]['贴图素材']}}</view>
</view>
<view class="tool_li" @click="showPopup(25)" v-if="surface_type != 1">
<image class="tool_li_img" src="../../static/icon_make_diy_uplaod_image.png" mode=""></image>
<view class="tool_li_text">{{$i18n.messages[$i18n.locale]['背景底色']}}</view>
</view>
<view class="tool_li" @click="showPopup(24)" v-if="surface_type != 1 && diy_upload_menu == 1">
<image @click="cancel()" class="tool_li_img" src="../../static/icon/icon_zuopin.png" mode=""
style="width: 52upx; height: 48upx;">
</image> </image>
<view @click="cancel()" class="tool_li_text">{{$i18n.messages[$i18n.locale]['上传图片']}}</view> <view @click="cancel()" class="tool_li_text">{{$i18n.messages[$i18n.locale]['上传图片']}}</view>
</view> </view>
<view class="tool_li" @click="showPopup(3)" v-if="surface_type != 1">
<image class="tool_li_img" src="../../static/icon/icon_typeface.png" mode=""></image> <view class="tool_li" @click="showPopup(3)" style="margin-top: 12upx;">
<image class="tool_li_img" src="../../static/icon/icon_typeface.png" mode="aspectFit"></image>
<view class="tool_li_text">{{$i18n.messages[$i18n.locale]['添加文字']}}</view> <view class="tool_li_text">{{$i18n.messages[$i18n.locale]['添加文字']}}</view>
</view> </view>
<!-- 涂鸦 --> <view class="tool_li" @click="showPopup(2)">
<view class="tool_li" @click="ontuya()"> <image class="tool_li_img" src="../../static/icon/icon_stickers.png" mode="aspectFit"></image>
<image class="tool_li_img" src="../../static/tuya.png" mode=""></image> <view class="tool_li_text">{{$i18n.messages[$i18n.locale]['贴图素材']}}</view>
<view class="tool_li_text">{{$i18n.messages[$i18n.locale]['添加涂鸦']}}</view>
</view>
<view class="tool_li"
v-if="(background_color && background_color != 'none') && (surface_type == 0 || surface_type == 2)"
@click.stop="eliminateBackgroundColor()">
<image class="tool_li_img" style="width: 50upx; height: 50upx;"
src="../../static/diy_icon_replace_default.png" mode=""></image>
<view class="tool_li_text">{{$i18n.messages[$i18n.locale]['清空底色']}}</view>
</view>
<view class="tool_li" @click.stop="removedeleteItem" v-if="data.itemList.length > 0">
<image class="tool_li_img" style="width: 50upx; height: 50upx;"
src="../../static/diy_icon_middle_default.png" mode=""></image>
<view class="tool_li_text">{{$i18n.messages[$i18n.locale]['移除图片']}}</view>
</view> </view>
</view> </view>
</view> </view>
...@@ -393,7 +376,6 @@ ...@@ -393,7 +376,6 @@
<view class="tool_li_text">{{$i18n.messages[$i18n.locale]['编辑']}}</view> <view class="tool_li_text">{{$i18n.messages[$i18n.locale]['编辑']}}</view>
</view> </view>
</view> </view>
<!-- AI图像 --> <!-- AI图像 -->
<view v-if="data.itemList.length > 0"> <view v-if="data.itemList.length > 0">
<view class="tool_li" style="height: 90upx;padding-top: 20upx;" @click="showAiChange()" <view class="tool_li" style="height: 90upx;padding-top: 20upx;" @click="showAiChange()"
...@@ -402,13 +384,13 @@ ...@@ -402,13 +384,13 @@
src="../../static/icon_diy_ai.png"></image> src="../../static/icon_diy_ai.png"></image>
</view> </view>
</view> </view>
<!-- 点击画布区域取消聚焦 --> <!-- 点击画布区域取消聚焦 -->
<view class="tool_li" @click.stop="itemCancel"> <view class="tool_li" @click.stop="itemCancel">
<image class="tool_li_img" style="width: 51upx; height: 51upx;" src="../../static/icon_confirm.png" <image class="tool_li_img" style="width: 51upx; height: 51upx;" src="../../static/icon_confirm.png"
mode=""></image> mode=""></image>
</view> </view>
</view> </view>
<!-- 切换手机 --> <!-- 切换手机 -->
<view :style="{left:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 - 10) +'px)':'10upx'}" <view :style="{left:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 - 10) +'px)':'10upx'}"
v-if="!active && !guide_left" @click="topagecategory(0)" v-if="!active && !guide_left" @click="topagecategory(0)"
...@@ -416,11 +398,13 @@ ...@@ -416,11 +398,13 @@
<image style="width: 115upx; height: 134upx; display: block; margin: auto;" <image style="width: 115upx; height: 134upx; display: block; margin: auto;"
src="../../static/qiehuan.png" mode=""></image> src="../../static/qiehuan.png" mode=""></image>
</view> </view>
<!-- 生成作品 --> <!-- 生成作品 -->
<view :style="{right:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx'}" class="toolBottom"> <view :style="{right:isShowPc?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx'}" class="toolBottom">
<view @click.stop="createWorks" hover-class="hover-class-bg" <view @click.stop="createWorks" hover-class="hover-class-bg"
:class="['tool_add',available == 0 ? 'grey' : '']"> {{$i18n.messages[$i18n.locale]['下单']}} </view> :class="['tool_add',available == 0 ? 'grey' : '']"> {{$i18n.messages[$i18n.locale]['下单']}} </view>
</view> </view>
<!-- 底部弹窗-字体贴图和模板 --> <!-- 底部弹窗-字体贴图和模板 -->
<Mapping ref="Mapping" :windowHeight="(data.windowHeight)" :brands="brands" <Mapping ref="Mapping" :windowHeight="(data.windowHeight)" :brands="brands"
:material_series_list="material_series_list" :e_active="e_active" :currentId="currentId" :material_series_list="material_series_list" :e_active="e_active" :currentId="currentId"
...@@ -484,7 +468,110 @@ ...@@ -484,7 +468,110 @@
</view> </view>
</view> </view>
</uni-popup> </uni-popup>
<uni-popup ref="showBrandShare" type="bottom" style="position: relative; z-index: 999; width: 100%;"
:style="{height: data.windowHeight +'px'}" >
<view class="uni-share full-width" :style="{height: data.windowHeight +'px'}">
<view style="position: absolute; bottom: 0; left: 0; height: 100%; width: 100%; z-index: 999; opacity: 0.8;"
@click="cancel('share')"/>
<view style="position: absolute;
left: 0upx;
height: 100%;
width: 66px;
background: #1A1D33;
overflow: hidden;
z-index: 999;"
:style="{left:$tool.isPc()?'calc(50% - '+ ($base.isPcWidth / 2 + 64 ) +'px)':'0upx'}">
<view style="width: 60px; height: 188upx;"></view>
<view style="width: 64px;"
:style="{height: (data.windowHeight - 188 * data.pixelRate) +'px'}">
<scroll-view class="scroll-container"
:style="{height: (data.windowHeight - 160 * data.pixelRate) +'px'}" scroll-y
scroll-with-animation v-if="brandList.length > 0" >
<view :id="'s' + index"
:class="[index == currentIdBrand ? 'scroll-item-select' : 'scroll-item-no-select']"
v-for="(item, index) in brandList" :key="index" @tap="brandclick(index,item)">
<image style="width: 60upx; height: 100upx; display: block;margin:auto; padding: 18upx;"
:src="item.icon" mode="aspectFit">
</image>
</view>
</scroll-view>
</view>
</view>
<view style="position: absolute; bottom: 0upx; left: 60px; height: 100%; width: calc(100% - 60px); z-index: 999; overflow: hidden; background: #282932;"
:style="{width:$tool.isPc()?$base.isPcWidth - 40 + 'px':'calc(100% - 210upx)',left:$tool.isPc()?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'120upx'}">
<scrollModeView ref="scrollModeView"
@goodsbrands="goodsbrands"
:windowHeight="(data.windowHeight - 210 * data.pixelRate - classificationHeight)">
</scrollModeView>
</view>
</view>
</uni-popup>
</view>
<!-- 手机品牌型号 -->
<!-- <uni-popup ref="showBrandShare" type="bottom"
style="position: relative; z-index: 9998; width: 100%;" :style="{height: data.windowHeight +'px'}">
<view class="uni-share full-width" :style="{height: data.windowHeight +'px'}">
<view style="position: absolute; bottom: 0; left: 0; height: 100%; width: 100%; z-index: 997; opacity: 0.8;" @click="cancelshowBrandShare()"/>
<view style="position: absolute;
bottom: 0upx;
left: 0;
height: 100%; width: 120upx;
z-index: 999; background: #1A1D33;
overflow: hidden;"
:style="{left:$tool.isPc()?'calc(50% - '+ ($base.isPcWidth / 2 + 64 ) +'px)':'0upx'}"
>
<view style="width: 120upx; height: 188upx;"></view>
<view style="width: 120upx;" :style="{height: (data.windowHeight - 188 * data.pixelRate) +'px'}">
<scroll-view class="scroll-container"
:style="{height: (data.windowHeight - 188 * data.pixelRate) +'px'}" scroll-y
scroll-with-animation v-if="brandList.length > 0" :scroll-into-view="'s' + currentIndex">
<view
:class="[index == currentIdBrand ? 'scroll-item-select' : 'scroll-item-no-select']" :id="'s' + index"
v-for="(item, index) in brandList" :key="index" @tap="brandclick(index,item)">
<image
style="width: 60upx; height: 100upx; display: block;margin:auto; padding: 18upx;"
:src="item.icon" mode="aspectFit">
</image>
</view>
</scroll-view>
</view>
</view>
<view style="position: absolute; bottom: 0upx; left: 120upx; height: 100%; width: calc(100% - 200upx); z-index: 999; overflow: hidden; background: #282932;">
<scrollModeView ref="scrollModeView"
@goodsbrands="goodsbrands"
:windowHeight="(data.windowHeight - 210 * data.pixelRate - classificationHeight)">
</scrollModeView>
</view>
</view>
</uni-popup> -->
<!-- 上传照片选项 -->
<uni-popup ref="showpicture" type="bottom" @change="change" style="position: fixed; z-index: 9999;">
<view class="uni-share"
:style="{width:$tool.isPc()?$base.isPcWidth + 'px':'100%',left:$tool.isPc()?'calc(50% - '+ ($base.isPcWidth / 2 ) +'px)':'0upx'}"
style="width: 100%; height: 240upx;background: #FFFFFF;text-align: center; border-top-left-radius: 20upx; border-top-right-radius: 20upx; ">
<view @click.stop='addItem'
style="color: #333333; font-size: 35upx;border-top: 1upx solid #ebebeb; height:100upx;padding-top: 30upx;">
{{$i18n.messages[$i18n.locale]['上传']}}
</view>
<view
style="color: #333333; font-size: 35upx; height: 100upx;padding-top: 28upx; border-top: 15upx solid #ebebeb"
@click="selectPicturePopColse()">
{{$i18n.messages[$i18n.locale]['取消']}}
</view>
</view>
</uni-popup>
</view> </view>
</view> </view>
...@@ -509,6 +596,7 @@ ...@@ -509,6 +596,7 @@
import uniPopup from './common/uni-popup/uni-popup.vue'; import uniPopup from './common/uni-popup/uni-popup.vue';
import {pathToBase64,base64ToPath} from 'image-tools' import {pathToBase64,base64ToPath} from 'image-tools'
const OSS = require('ali-oss'); const OSS = require('ali-oss');
import scrollModeView from './assembly/scrollModeView.vue'; // 贴图
/*** 色彩公园图片 DIY 功能页*/ /*** 色彩公园图片 DIY 功能页*/
var app = getApp(); // 当前APP实例 var app = getApp(); // 当前APP实例
...@@ -528,7 +616,8 @@ ...@@ -528,7 +616,8 @@
switchBrands, switchBrands,
Mapping, Mapping,
tuya, tuya,
uniPopup uniPopup,
scrollModeView
}, },
computed: { computed: {
...@@ -711,7 +800,9 @@ ...@@ -711,7 +800,9 @@
isShowPc: false, //是否pc显 isShowPc: false, //是否pc显
isMouseMove: false, //是否鼠标移动操作 isMouseMove: false, //是否鼠标移动操作
windowWidth: 0, windowWidth: 0,
selectChangeType:1 selectChangeType:1,
currentIdBrand:0,
brandList:[],
}; };
}, },
created() { created() {
...@@ -719,6 +810,10 @@ ...@@ -719,6 +810,10 @@
}, },
methods: { methods: {
selectPicturePopColse(){
this.$refs["showpicture"].close();
},
showAiChangeClose() { showAiChangeClose() {
this.selectChangeType = 1; this.selectChangeType = 1;
this.$refs["showAiChange"].close(); this.$refs["showAiChange"].close();
...@@ -1064,6 +1159,7 @@ ...@@ -1064,6 +1159,7 @@
//切换手机型号控件 //切换手机型号控件
goodsbrands(obj) { goodsbrands(obj) {
this.$refs['showBrandShare'].close();
this.isCustomize = false; //充值自定义 this.isCustomize = false; //充值自定义
this.filletSize = 0 //设置圆角 this.filletSize = 0 //设置圆角
this.isCustomizeComplete = false this.isCustomizeComplete = false
...@@ -1073,95 +1169,64 @@ ...@@ -1073,95 +1169,64 @@
this.clipRight = 0; this.clipRight = 0;
this.filletSize = 0; this.filletSize = 0;
this.options.type = 2; this.options.type = 2;
if (obj.switchBrandState == 2) { //切换手机壳 this.data.loadbgImageheightstate = false
this.backgroundColor = false //控制底色 this.data.goods_id = obj.goods_id_e.goods_id // 商品id
this.data.loadbgImageheightstate = true this.dict_id = obj.goods_id_e.dict_id //产品属性id
this.$base.surfaceData = { this.goods_id = obj.goods_id_e.goods_id //产品id
surface_type: obj.surface_type, //材质类型 0:默认 1:自带壳 2:定制壳 this.goods_size = obj.goods_id_e.modeltext // 品牌名
surface_id: obj.surface_id, //材质对应的编号,没有的话就为0或者不传 this.goodslist() // 获取产品详情数据
surface_color: obj.surface_color, //材质颜色 this.orderNewLockAttrStock()
surfaceName: obj.surfaceName, //材质名称
surface_color_series_id: obj.surface_color_series_id, //选择的色系编号,没有的话就不传或者为0
surface_color_id: obj.surface_color_id, //选择的颜色编号,没有的话就不传或者为0
surface_color_series_id_text: obj.surface_color_series_id_text,
surface_color_id_text: obj.surface_color_id_text, //手机底色
}
this.preservationBase()
this.surface_type = this.$base.surfaceData.surface_type
this.surfaceName = this.$base.surfaceData.surfaceName
if (this.$base.surfaceData.surface_type == 0) { //默认
this.background_color = null //手机底色
this.background_surface_color = null //定制壳手机壳底色
}
if (this.$base.surfaceData.surface_type == 1) { //自带壳
this.background_color = this.$base.surfaceData.surface_color_id_text //手机底色
this.background_surface_color = null //定制壳手机壳底色
// 清空历史记录
items = []; // 当前显示的图片列表
index = 0; // 所点击的图片的索引
snapshot = []; // 操作历史记录清空
snapshotIndex = -1;
this.data.itemList = items //赋值
this.saveSnapshot();
}
if (this.$base.surfaceData.surface_type == 2) { //定制壳
this.background_color = 'none'
this.background_surface_color = this.$base.surfaceData.surface_color //定制壳手机壳底色
}
this.goodslist() // 获取产品详情数据
if (this.key != 2) {
this.orderNewLockAttrStock() //锁库存
}
} else {
this.data.loadbgImageheightstate = false
this.data.goods_id = obj.goods_id_e.id // 商品id
this.dict_id = obj.goods_id_e.dict_id //产品属性id
this.goods_id = obj.goods_id_e.goods_id //产品id
this.goods_size = obj.goods_id_e.title // 品牌名
if (obj.sn) {
this.sn = obj.sn
}
this.$base.surfaceData = {
surface_type: obj.surface_type, //材质类型 0:默认 1:自带壳 2:定制壳
surface_id: obj.surface_id, //材质对应的编号,没有的话就为0或者不传
surface_color: obj.surface_color, //材质颜色
surfaceName: obj.surfaceName, //材质名称
surface_color_series_id: obj.surface_color_series_id, //选择的色系编号,没有的话就不传或者为0
surface_color_id: obj.surface_color_id, //选择的颜色编号,没有的话就不传或者为0
surface_color_series_id_text: obj.surface_color_series_id_text,
surface_color_id_text: obj.surface_color_id_text,
}
this.preservationBase()
this.surface_type = this.$base.surfaceData.surface_type
this.surfaceName = this.$base.surfaceData.surfaceName
if (this.$base.surfaceData.surface_type == 0) { //默认
this.background_color = null //手机底色
this.background_surface_color = null //定制壳手机壳底色
}
if (this.$base.surfaceData.surface_type == 1) { //自带壳
this.background_color = this.$base.surfaceData.surface_color_id_text //手机底色
this.background_surface_color = null //定制壳手机壳底色
// 清空历史记录
items = []; // 当前显示的图片列表
index = 0; // 所点击的图片的索引
snapshot = []; // 操作历史记录清空
snapshotIndex = -1;
this.data.itemList = items //赋值
this.saveSnapshot();
}
if (this.$base.surfaceData.surface_type == 2) { //定制壳
this.background_color = 'none'
this.background_surface_color = this.$base.surfaceData.surface_color
}
this.goodslist() // 获取产品详情数据
if (this.key != 2) {
this.orderNewLockAttrStock() //锁库存
}
}
// 作品分类 贴图分类
this.category()
}, },
orderNewLockAttrStock() {
homeservice.queryListPhone({ // 释放锁定库存
s: 'Order.newLockAttrStock',
machine_id: this.machine_id, //设备id
goods_id: null, //产品
dict_id: null, //产品属性id
old_sn: null,
onlyClear: 1
}).then(result => {}).catch(err => {
});
// 锁定库存
homeservice.queryListPhone({
s: 'Order.newLockAttrStock',
machine_id: this.machine_id, //设备id
goods_id: this.goods_id, //产品
dict_id: this.dict_id, //产品属性id
old_sn: this.sn
}).then(result => {
this.$base.lockInventory = result //锁库存储存信息
this.sn = result.sn
this.orderUpdateSn() //定时器锁库存
}).catch(err => {
uni.showToast({
title: err.msg || err.data,
icon: 'none'
});
});
},
orderUpdateSn() {
clearInterval(this.orderUpdateTime)
this.orderUpdateTime = null
this.orderUpdateTime = setInterval(function() {
homeservice.queryListPhone({
s: 'Order.updateStockTime',
machine_id: this.machine_id,
sn: this.sn
}).then(res => {
this.sn = res.sn
}).catch(err => {
uni.showToast({
title: err.msg,
icon: 'none'
})
});
}.bind(this), 120000)
},
preservationBase() { preservationBase() {
try { //数据缓存 同步 一定要用try catch 包裹 try { //数据缓存 同步 一定要用try catch 包裹
uni.setStorageSync('base', this.$base); uni.setStorageSync('base', this.$base);
...@@ -1470,7 +1535,7 @@ ...@@ -1470,7 +1535,7 @@
}); });
}, },
//自定义尺寸 /* //自定义尺寸
toCustomSize() { toCustomSize() {
uni.navigateTo({ uni.navigateTo({
url: '../index/custom-size?machine_id=' + this.machine_id + '&key=' + this.key + url: '../index/custom-size?machine_id=' + this.machine_id + '&key=' + this.key +
...@@ -1479,22 +1544,36 @@ ...@@ -1479,22 +1544,36 @@
}) })
this.$refs['switchBrands'].cancelBrand(); this.$refs['switchBrands'].cancelBrand();
}, },
*/
//切换手机 //切换手机
topagecategory(e) { topagecategory(e) {
let isShowCustomizeData = this.machineDetail.customize_size == 1 ? true : false let that = this;
this.$nextTick(() => { homeservice.queryListPhone({
this.$refs['switchBrands'].open({ s: 'Product.getBrands', //新接口
machine_id: this.machine_id, //设备编号 machine_id: this.machine_id,
key: this.key, // key:"3"
goods_id: this.data.goods_id, //产品id }).then(result => {
dict_id: this.dict_id, //产品属性id this.brandList = result;
sn: this.sn, // this.$refs['showBrandShare'].open()
switchBrandState: e, //0正常 1跳过选择手机型号 2定制页选择材质 if(this.brandList != null && this.brandList.length > 0 ){
isShowCustomize: isShowCustomizeData, setTimeout(function() {
}) that.brandclick(0, that.brandList[0])
}) }, 120);
}
}).catch(err => {
uni.showToast({
title: err.msg,
icon: 'none'
});
});
}, },
brandclick(index,item) {
this.currentIdBrand = index
item.machine_id = this.machine_id
this.$refs['scrollModeView'].open(item)
},
onok(item) { onok(item) {
this.state = false this.state = false
...@@ -2057,11 +2136,13 @@ ...@@ -2057,11 +2136,13 @@
queryPage: this.queryPage, queryPage: this.queryPage,
}) })
} else if (e == 24) { // } else if (e == 24) { //
this.$refs["showpicture"].open()
/*showpicture
this.$refs.Mapping.picture({ this.$refs.Mapping.picture({
data: this.data, data: this.data,
bg_text_color: this.bg_text_color, bg_text_color: this.bg_text_color,
text: '' text: ''
}) }) */
} else if (e == 25) { } else if (e == 25) {
this.backgroundColor = false; this.backgroundColor = false;
this.bgColorClick(); this.bgColorClick();
...@@ -3053,7 +3134,9 @@ ...@@ -3053,7 +3134,9 @@
this.uploadDIY(tempFilePaths, 0, 0, 0, tempFilePaths.length); this.uploadDIY(tempFilePaths, 0, 0, 0, tempFilePaths.length);
} }
}) })
this.selectPicturePopColse();
}, },
//移除图片 //移除图片
removedeleteItem(item, ix) { removedeleteItem(item, ix) {
index = items.length - 1 index = items.length - 1
...@@ -3380,8 +3463,8 @@ ...@@ -3380,8 +3463,8 @@
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: result.alias_name title: result.alias_name
}) //修改头部名称 }) //修改头部名称
this.data.bgImage = result.front_image_old // 背景图 this.data.bgImage = result.front_image // 背景图
this.data.bgImage_old = result.front_image_old // 旧背景图 this.data.bgImage_old = result.front_image // 旧背景图
//this.design_color = result.design_color // 背景颜色 //this.design_color = result.design_color // 背景颜色
if (this.$base.surfaceData.surface_type == 0) { //默认 if (this.$base.surfaceData.surface_type == 0) { //默认
//this.background_color = result.design_color //定制壳手机壳底色 //this.background_color = result.design_color //定制壳手机壳底色
...@@ -3521,7 +3604,7 @@ ...@@ -3521,7 +3604,7 @@
//获取库存与优惠券信息 //获取库存与优惠券信息
getMachineStock() { getMachineStock() {
homeservice.queryList({ homeservice.queryListPhone({
s: 'Machine.getMachineStock', s: 'Machine.getMachineStock',
machine_id: this.machine_id, machine_id: this.machine_id,
// key: this.tabletext ? 3 : 1 // key: this.tabletext ? 3 : 1
...@@ -4132,8 +4215,6 @@ ...@@ -4132,8 +4215,6 @@
width: 100%; width: 100%;
height: 100%; height: 100%;
justify-content: center; justify-content: center;
//padding-top: 10px;
} }
/* 部件列表和部件操作列表 */ /* 部件列表和部件操作列表 */
...@@ -4145,7 +4226,6 @@ ...@@ -4145,7 +4226,6 @@
left: 0; left: 0;
right: 0; right: 0;
top: 0; top: 0;
// bottom:0;
margin: auto; margin: auto;
} }
...@@ -4155,11 +4235,10 @@ ...@@ -4155,11 +4235,10 @@
.item-text { .item-text {
font-family: '思源黑体 CN'; font-family: '思源黑体 CN';
/*font-family: 'PingFang SC Regular';*/
} }
.list-active { .list-active {
// outline: #4EE2AE solid 1px;
} }
.item-box { .item-box {
...@@ -4170,7 +4249,7 @@ ...@@ -4170,7 +4249,7 @@
// outline: 0.5upx solid #4EE2AE; // outline: 0.5upx solid #4EE2AE;
} }
/* 删除、缩放、旋转操作按钮 */ /*删除、缩放、旋转操作按钮 */
.rotate, .rotate,
.rotate-red, .rotate-red,
.scale, .scale,
...@@ -4293,7 +4372,6 @@ ...@@ -4293,7 +4372,6 @@
height: 60upx; height: 60upx;
right: -30upx; right: -30upx;
bottom: -30upx; bottom: -30upx;
/*background-color: blue;*/
} }
.frame-right-bottom { .frame-right-bottom {
...@@ -4316,8 +4394,6 @@ ...@@ -4316,8 +4394,6 @@
height: 100%; height: 100%;
top: 0; top: 0;
background: transparent; background: transparent;
/*background: red;*/
} }
...@@ -4325,9 +4401,7 @@ ...@@ -4325,9 +4401,7 @@
position: absolute; position: absolute;
z-index: 99; z-index: 99;
left: 5upx; left: 5upx;
/* width: 6upx; */
height: 40upx; height: 40upx;
/* background: #864BC3; */
top: calc(50% - 20upx); top: calc(50% - 20upx);
} }
...@@ -4342,7 +4416,6 @@ ...@@ -4342,7 +4416,6 @@
top: 0; top: 0;
bottom: 0; bottom: 0;
transform: scale(2); transform: scale(2);
// border: 1px solid lightgray;
} }
.rightedge-wrap { .rightedge-wrap {
...@@ -4353,16 +4426,13 @@ ...@@ -4353,16 +4426,13 @@
height: 100%; height: 100%;
background: transparent; background: transparent;
top: 0; top: 0;
/*background: red;*/
} }
.rightedge { .rightedge {
position: absolute; position: absolute;
z-index: 99; z-index: 99;
right: 4upx; right: 4upx;
/* width: 6upx; */
height: 40upx; height: 40upx;
/* background: #864BC3; */
top: calc(50% - 20upx); top: calc(50% - 20upx);
} }
...@@ -4376,7 +4446,6 @@ ...@@ -4376,7 +4446,6 @@
left: 0; left: 0;
right: 0; right: 0;
margin: auto; margin: auto;
/*background: red;*/
} }
.topedge { .topedge {
...@@ -4384,8 +4453,6 @@ ...@@ -4384,8 +4453,6 @@
z-index: 99; z-index: 99;
top: 4upx; top: 4upx;
width: 40upx; width: 40upx;
/* height: 6upx; */
/* background: #864BC3; */
left: 0; left: 0;
right: 0; right: 0;
margin: auto; margin: auto;
...@@ -4401,7 +4468,6 @@ ...@@ -4401,7 +4468,6 @@
left: 0; left: 0;
right: 0; right: 0;
margin: auto; margin: auto;
/*background: red;*/
} }
.bottomedge { .bottomedge {
...@@ -4409,22 +4475,12 @@ ...@@ -4409,22 +4475,12 @@
z-index: 99; z-index: 99;
bottom: 4upx; bottom: 4upx;
width: 40upx; width: 40upx;
/* height: 6upx;
background: #864BC3; */
left: 0; left: 0;
right: 0; right: 0;
margin: auto; margin: auto;
} }
// .close { //上一步、下一步按钮
// background-image: url(../../static/icon/icon_close.png);
// background-size: 100%;
// left: -14px;
// top: -14px;
// // background-position: -10px -10px;
// }
// 上一步、下一步按钮
.operation { .operation {
display: flex; display: flex;
justify-items: center; justify-items: center;
...@@ -4477,7 +4533,7 @@ ...@@ -4477,7 +4533,7 @@
// 底部工具栏 // 底部工具栏
.toolRight { .toolRight {
position: fixed; position: fixed;
top: 200upx; top: 400upx;
right: 0; right: 0;
width: 135upx; width: 135upx;
z-index: 999; z-index: 999;
...@@ -4485,6 +4541,7 @@ ...@@ -4485,6 +4541,7 @@
.tool_li { .tool_li {
width: 100%; width: 100%;
height: 100upx; height: 100upx;
margin-top: 4upx;
.tool_li_img { .tool_li_img {
width: 46upx; width: 46upx;
...@@ -4533,7 +4590,7 @@ ...@@ -4533,7 +4590,7 @@
.tool_add { .tool_add {
width: 280upx; width: 280upx;
background: #864BC3; background: #64DD17;
line-height: 90upx; line-height: 90upx;
text-align: center; text-align: center;
color: #FFFFFF; color: #FFFFFF;
...@@ -4656,4 +4713,13 @@ ...@@ -4656,4 +4713,13 @@
.hover-class-text { .hover-class-text {
color: #888888 !important; color: #888888 !important;
} }
.scroll-item-select{
border: 1upx solid #61D119;
}
.scroll-item-no-select{
border: upx solid #1A1D33;
}
</style> </style>
\ No newline at end of file
<template> <template>
<view class="colletion full-width" :style="{width:$tool.isPc()?$base.isPcWidth + 'px':'100%'}" <view class="colletion full-width" :style="{width:$tool.isPc()?$base.isPcWidth + 'px':'100%'}"
style="margin: auto; "> style="margin: auto;">
<myhead :worksid="60" :title="myheadtext" :color="'#000'" :titleShow="true" :backShow="true" :background="'#fff'" @headback="headback"></myhead> <myhead :worksid="60" :title="myheadtext" :color="'#000'" :titleShow="true" :backShow="true" :background="'#fff'" @headback="headback"></myhead>
<view class="uni-tab-bar full-width full-height " :style="{width:$tool.isPc()?$base.isPcWidth + 'px':'100%'}"> <view class="uni-tab-bar full-width full-height " :style="{width:$tool.isPc()?$base.isPcWidth + 'px':'100%'}">
<view style="top: 120upx; position: fixed; height: calc(100% - 60px); overflow: auto" scroll-y <view style="top: 120upx; position: fixed; height: calc(100% - 60px); overflow: auto" scroll-y
:style="{width:$tool.isPc()?$base.isPcWidth + 'px':'100%'}"> :style="{width:$tool.isPc()?$base.isPcWidth + 'px':'100%'}">
...@@ -21,7 +19,6 @@ ...@@ -21,7 +19,6 @@
style="background: #fff !important;margin: 25upx 25upx; border-radius: 20upx; width: calc(100% - 40upx) ;" style="background: #fff !important;margin: 25upx 25upx; border-radius: 20upx; width: calc(100% - 40upx) ;"
@click="self_help_payment(designer)"> @click="self_help_payment(designer)">
<view style="color: #fff; display: flex; align-items: center; "> <view style="color: #fff; display: flex; align-items: center; ">
<view v-if="designer.user_id != userId && privacy == 0 " class="border-image-pesudo-no"> <view v-if="designer.user_id != userId && privacy == 0 " class="border-image-pesudo-no">
<view class="border-image-pesudo-in-no"> <view class="border-image-pesudo-in-no">
<image <image
...@@ -31,7 +28,6 @@ ...@@ -31,7 +28,6 @@
</image> </image>
</view> </view>
</view> </view>
<view v-if="designer.user_id != userId && privacy == 1 " class="border-image-pesudo-no"> <view v-if="designer.user_id != userId && privacy == 1 " class="border-image-pesudo-no">
<view class="border-image-pesudo-in-no"> <view class="border-image-pesudo-in-no">
<image <image
...@@ -40,7 +36,6 @@ ...@@ -40,7 +36,6 @@
</image> </image>
</view> </view>
</view> </view>
<view v-if="designer.user_id == userId" class="border-image-pesudo"> <view v-if="designer.user_id == userId" class="border-image-pesudo">
<view class="border-image-pesudo-in"> <view class="border-image-pesudo-in">
<image <image
...@@ -50,18 +45,17 @@ ...@@ -50,18 +45,17 @@
</image> </image>
</view> </view>
</view> </view>
<view style="width: calc(100% - 360upx);"> <view style="width: calc(100% - 360upx);">
<view style="width: 100%;font-size: 28upx; "> <view style="width: 100%;font-size: 28upx; ">
<view v-if="designer.status.value == 1"> <view v-if="designer.status.value == 1">
<view <view
style="text-align: left; font-size: 28upx; color: #8148BB; line-height: 60upx;"> style="text-align: left; font-size: 28upx; color: #61D119; line-height: 60upx;">
{{$i18n.messages[$i18n.locale]['打印中']}} {{$i18n.messages[$i18n.locale]['打印中']}}
</view> </view>
</view> </view>
<view v-else style=" height: 60upx;background: transparent;border-radius: 30upx;"> <view v-else style=" height: 60upx;background: transparent;border-radius: 30upx;">
<view <view
style="text-align: left; font-size: 28upx; color: #8148BB; line-height: 60upx;"> style="text-align: left; font-size: 28upx; color: #FF8D1A; line-height: 60upx;">
{{$i18n.messages[$i18n.locale]['排队中']}} {{$i18n.messages[$i18n.locale]['排队中']}}
</view> </view>
</view> </view>
...@@ -92,58 +86,43 @@ ...@@ -92,58 +86,43 @@
<view style="display: flex; align-items: center; justify-content: center; <view style="display: flex; align-items: center; justify-content: center;
width: 362upx; height: 360upx; position: relative; margin: auto;"> width: 362upx; height: 360upx; position: relative; margin: auto;">
<image :src="designer.works_image + '?x-oss-process=image/resize,lfit,w_150'" <image :src="designer.works_image + '?x-oss-process=image/resize,lfit,w_150'"
mode="aspectFit" style="width:150upx; "></image> mode="aspectFit" style="width:150upx;"></image>
<image :src="designer.back_image + '?x-oss-process=image/resize,lfit,w_150'" <image :src="designer.back_image + '?x-oss-process=image/resize,lfit,w_150'"
mode="aspectFit" style=" width: 150upx; margin-left: -150upx; "></image> mode="aspectFit" style=" width: 150upx; margin-left: -150upx;"></image>
</view> </view>
<view style="font-size: 25upx; <view style="font-size: 25upx;
color: #000;margin: auto; color: #000;margin: auto;
margin-top: 30upx; margin-top: 30upx;
width: 400upx; width: 400upx;
height: 20upx; height: 20upx;
text-align: center; text-align: center;
line-height:20upx;"> line-height:20upx;">
{{designer.goods_name || ''}} {{designer.goods_name || '' }}
</view> </view>
<view v-if="designer.status.value == 1" style="text-align: center; <view v-if="designer.status.value == 1" style="text-align: center;
font-size: 36upx; font-size: 36upx;
width: 100%; width: 100%;
height: 60upx; height: 60upx;
line-height:60upx; line-height:60upx;
background: #984ACE; background: #61D119;
color: #fff; color: #fff;
margin: auto; margin: auto;
margin-top: 20px;"> margin-top: 20px;">
{{$i18n.messages[$i18n.locale]['打印中']}} {{$i18n.messages[$i18n.locale]['打印中']}}
</view> </view>
<view v-else style="text-align: center; font-size: 36upx; <view v-else style="text-align: center; font-size: 36upx;
width:100%; height: 60upx; width:100%; height: 60upx;
line-height:60upx; line-height:60upx;
background: #fff; color: #984ACE; background: #fff; color: #61D119;
margin: auto; margin: auto;
margin-top: 15px;"> margin-top: 15px;">
{{$i18n.messages[$i18n.locale]['排队中']}} {{$i18n.messages[$i18n.locale]['排队中']}}
</view> </view>
<view
v-if="designer.pay_type == 1"
@click="toOrderDetail(designer.order_id)" style="text-align: center; font-size: 36upx;
width: 100%; height: 70upx;
line-height:70upx;
border-radius: 40upx;
background: #fff; color: #984ACE;
margin: auto;
margin-top: 5px;">
{{$i18n.messages[$i18n.locale]['订单明细']}}
</view>
</view> </view>
</view> </view>
</view> </view>
<!-- 提示完 -->
</view> </view>
</view> </view>
</template> </template>
......
...@@ -19,13 +19,13 @@ ...@@ -19,13 +19,13 @@
<view class="align-center" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);" <view class="align-center" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"
v-if="datalist.length == 0"> v-if="datalist.length == 0">
<span class="iconfont icon-wushuju" style="font-size: 100upx; text-align: center; color: #B2B2B2;"></span> <span class="iconfont icon-wushuju" style="font-size: 100upx; text-align: center; color: #B2B2B2;"></span>
<view style="color: #B2B2B2; text-align: center; line-height: 50upx;font-size: 24upx;">啊嘞,还是一片荒漠</view> <view style="color: #B2B2B2; text-align: center; line-height: 50upx;font-size: 24upx;">no data</view>
</view> </view>
</view> </view>
</template> </template>
<template slot="bottom"> <template slot="bottom">
<view> <view>
没有更多数据了 no more data
</view> </view>
</template> </template>
</refresh> </refresh>
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<view class="align-center" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);" <view class="align-center" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"
v-if="datalist.length == 0"> v-if="datalist.length == 0">
<span class="iconfont icon-wushuju" style="font-size: 100upx; text-align: center; color: #B2B2B2;"></span> <span class="iconfont icon-wushuju" style="font-size: 100upx; text-align: center; color: #B2B2B2;"></span>
<view style="color: #B2B2B2; text-align: center; line-height: 50upx;font-size: 24upx;">啊嘞,还是一片荒漠</view> <view style="color: #B2B2B2; text-align: center; line-height: 50upx;font-size: 24upx;">no data</view>
</view> </view>
</view> </view>
</template> </template>
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<view class="align-center" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);" <view class="align-center" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"
v-if="datalist.length == 0"> v-if="datalist.length == 0">
<span class="iconfont icon-wushuju" style="font-size: 100upx; text-align: center; color: #B2B2B2;"></span> <span class="iconfont icon-wushuju" style="font-size: 100upx; text-align: center; color: #B2B2B2;"></span>
<view style="color: #B2B2B2; text-align: center; line-height: 50upx;font-size: 24upx;">啊嘞,还是一片荒漠</view> <view style="color: #B2B2B2; text-align: center; line-height: 50upx;font-size: 24upx;">no data</view>
</view> </view>
</view> </view>
</template> </template>
......
...@@ -30,10 +30,6 @@ const service = { ...@@ -30,10 +30,6 @@ const service = {
setStock: (stock = []) => _dispatch('setStock', stock), //diy操作步骤图 setStock: (stock = []) => _dispatch('setStock', stock), //diy操作步骤图
getStock: () => _getters('stock', []), getStock: () => _getters('stock', []),
// T恤
queryList: (user = {}) => _queryList({api: T_route, params: user, callBack: (data = {}) => {}}),
WorksList: (user = {}) => _queryList({api: T_route, params: user, callBack: (data = {}) => {}}),
Workssave: (user = {}) => _queryList({api: T_route_timeout, params: user, callBack: (data = {}) => {}}),
// 手机壳 // 手机壳
queryListPhone: (user = {}) => _queryList({api: P_route, params: user, callBack: (data = {}) => {}}), queryListPhone: (user = {}) => _queryList({api: P_route, params: user, callBack: (data = {}) => {}}),
WorksListPhone: (user = {}) => _queryList({api: P_route, params: user, callBack: (data = {}) => {}}), WorksListPhone: (user = {}) => _queryList({api: P_route, params: user, callBack: (data = {}) => {}}),
......
static/icon/icon_refresh.png

918 Bytes | W: | H:

static/icon/icon_refresh.png

1.07 KB | W: | H:

static/icon/icon_refresh.png
static/icon/icon_refresh.png
static/icon/icon_refresh.png
static/icon/icon_refresh.png
  • 2-up
  • Swipe
  • Onion skin
static/icon/icon_refresh_red.png

1.65 KB | W: | H:

static/icon/icon_refresh_red.png

5.37 KB | W: | H:

static/icon/icon_refresh_red.png
static/icon/icon_refresh_red.png
static/icon/icon_refresh_red.png
static/icon/icon_refresh_red.png
  • 2-up
  • Swipe
  • Onion skin
static/icon/icon_stickers.png

1.78 KB | W: | H:

static/icon/icon_stickers.png

1.36 KB | W: | H:

static/icon/icon_stickers.png
static/icon/icon_stickers.png
static/icon/icon_stickers.png
static/icon/icon_stickers.png
  • 2-up
  • Swipe
  • Onion skin
static/icon/icon_typeface.png

685 Bytes | W: | H:

static/icon/icon_typeface.png

482 Bytes | W: | H:

static/icon/icon_typeface.png
static/icon/icon_typeface.png
static/icon/icon_typeface.png
static/icon/icon_typeface.png
  • 2-up
  • Swipe
  • Onion skin
static/icon/icon_zuopin.png

1.14 KB | W: | H:

static/icon/icon_zuopin.png

1.7 KB | W: | H:

static/icon/icon_zuopin.png
static/icon/icon_zuopin.png
static/icon/icon_zuopin.png
static/icon/icon_zuopin.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_confirm.png

2.19 KB | W: | H:

static/icon_confirm.png

1.26 KB | W: | H:

static/icon_confirm.png
static/icon_confirm.png
static/icon_confirm.png
static/icon_confirm.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_default_no.png

39.4 KB | W: | H:

static/icon_default_no.png

20.6 KB | W: | H:

static/icon_default_no.png
static/icon_default_no.png
static/icon_default_no.png
static/icon_default_no.png
  • 2-up
  • Swipe
  • Onion skin
static/icon_diy.png

50.5 KB | W: | H:

static/icon_diy.png

20.6 KB | W: | H:

static/icon_diy.png
static/icon_diy.png
static/icon_diy.png
static/icon_diy.png
  • 2-up
  • Swipe
  • Onion skin
static/img/icon_change_language.png

2.71 KB | W: | H:

static/img/icon_change_language.png

942 Bytes | W: | H:

static/img/icon_change_language.png
static/img/icon_change_language.png
static/img/icon_change_language.png
static/img/icon_change_language.png
  • 2-up
  • Swipe
  • Onion skin
static/qiehuan.png

8.43 KB | W: | H:

static/qiehuan.png

7.38 KB | W: | H:

static/qiehuan.png
static/qiehuan.png
static/qiehuan.png
static/qiehuan.png
  • 2-up
  • Swipe
  • Onion skin
// 开发版 // 开发版
//const baseURL = "http://h5.refinecolor.com/api/" const baseURL = "http://kxzh5.refinecolor.com/api/"
//www.tprint.com
//develop: "https://kxz.refinecolor.com",
//develop: "https://print.kexiaozhan.cn",
//体验版
//trial: "https://kxz.refinecolor.com",
//正式版 //正式版
const baseURL = "https://h5.colorpark.cn/api/" //const baseURL = "https://h5.colorpark.cn/api/"
//正式服: //正式服:
//https://tprint.colorpark.cn/ 改成 https://h5.colorpark.cn/api/ //https://tprint.colorpark.cn/ 改成 https://h5.colorpark.cn/api/
......
...@@ -10,9 +10,9 @@ import CryptoJS from 'crypto-js'; ...@@ -10,9 +10,9 @@ import CryptoJS from 'crypto-js';
// callback:结果的回调 // callback:结果的回调
// type 1: 人物动漫化 2:人物素描化 // type 1: 人物动漫化 2:人物素描化
function callRecognizeBankCard(imageURL,miniProgramType,type,callback) { function callRecognizeBankCard(imageURL,miniProgramType,type,callback) {
const accessKeyId = "LTAI5tDPiEBZgfqNcWBqaFEc"; const accessKeyId = "LTAI5tQWJ47GrfDaiUw3f5yP";
//AccessKeySecret //AccessKeySecret
const accessKeySecret = "amI84BLFbHz6dhOVbuArrERmeemmnx"; const accessKeySecret = "bMFIqdYnDw3IBZgKw37Zr5IbDqZN8k";
//这里endpoint为API访问域名,与类目相关,具体类目的API访问域名请参考:https://help.aliyun.com/document_detail/143103.html //这里endpoint为API访问域名,与类目相关,具体类目的API访问域名请参考:https://help.aliyun.com/document_detail/143103.html
let endpoint = "facebody.cn-shanghai.aliyuncs.com"; let endpoint = "facebody.cn-shanghai.aliyuncs.com";
//API Action,能力名称,请参考具体算法文档详情页中的Action参数,这里以银行卡识别为例:https://help.aliyun.com/document_detail/151893.html //API Action,能力名称,请参考具体算法文档详情页中的Action参数,这里以银行卡识别为例:https://help.aliyun.com/document_detail/151893.html
......
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