Commit 780731be authored by zhengzy's avatar zhengzy

我的合同

parents 386939b0 902493b1
...@@ -75,6 +75,11 @@ let orderApiFun = function(vm){ ...@@ -75,6 +75,11 @@ let orderApiFun = function(vm){
*/ */
let getWatermark = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token + '/photo/watermark', params); let getWatermark = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token + '/photo/watermark', params);
/**
* 保存师傅水印
*/
let saveWatermark = async (params = {}) => await vm.$u.post(prefix + vm.vuex_token + '/photo/watermark', params);
/** /**
* 获取师傅开放可选时间段 * 获取师傅开放可选时间段
*/ */
...@@ -144,6 +149,7 @@ let orderApiFun = function(vm){ ...@@ -144,6 +149,7 @@ let orderApiFun = function(vm){
orderStandard, orderStandard,
saveImage, saveImage,
getWatermark, getWatermark,
saveWatermark,
openTimerange, openTimerange,
contactTime, contactTime,
checkRejectable, checkRejectable,
......
...@@ -16,11 +16,11 @@ const install = (Vue, vm) => { ...@@ -16,11 +16,11 @@ const install = (Vue, vm) => {
function toLoginPage(){ function toLoginPage(){
const app = getApp() const app = getApp()
let jumpLoginStatus = app && app.globalData && app.globalData.jumpLoginStatus let curpath = vm.$Route.path
if(!jumpLoginStatus){ if(curpath == '/pages/login/index') {
return // 如果已经在登录页,无需再次跳转
return false
} }
app.globalData.jumpLoginStatus = false
vm.$u.route('/pages/login/index'); vm.$u.route('/pages/login/index');
} }
Vue.prototype.$u.http.setConfig({ Vue.prototype.$u.http.setConfig({
......
...@@ -73,6 +73,12 @@ ...@@ -73,6 +73,12 @@
}, },
methods: { methods: {
selectUpload(){ selectUpload(){
if (this.imgList.length === 10) {
return this.$refs.uToast.show({
title: '图片已超出最大数量',
type: 'error',
})
}
// 弹窗展示 // 弹窗展示
this.maskShow = true this.maskShow = true
}, },
...@@ -104,14 +110,14 @@ ...@@ -104,14 +110,14 @@
setValue() { setValue() {
const dataValue = [] const dataValue = []
this.imgList.map(item=>{ this.imgList.map(item=>{
dataValue.push(item.src) dataValue.push(item.path)
}) })
this.valueChange(dataValue) this.valueChange(dataValue)
}, },
closeTake(val) { closeTake(val) {
if(val && val.length > 0){ if(val && val.length > 0){
val.forEach((item,index,array)=>{ val.forEach((item,index,array)=>{
item.path = item.src item.path = item.key
this.imgList.push(item) this.imgList.push(item)
}) })
this.setValue() this.setValue()
......
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
photo.currentItemLength = 10 photo.currentItemLength = 10
this.continuePhoto() this.continuePhoto()
// 完成本项 // 完成本项
this.$emit('finish') //this.$emit('finish')
}, },
// 确认图片 // 确认图片
continuePhoto() { continuePhoto() {
...@@ -139,7 +139,7 @@ ...@@ -139,7 +139,7 @@
}, },
submitFile() { submitFile() {
const photo = getApp().globalData.photo const photo = getApp().globalData.photo
photo.currentItemLength = photo.currentItemLength + 1 if (photo.currentItemLength < 10) photo.currentItemLength = photo.currentItemLength + 1
uni.hideLoading() uni.hideLoading()
// 当前项的图片显示 // 当前项的图片显示
// 拍照项张数目增加 等于10张 // 拍照项张数目增加 等于10张
......
...@@ -9,20 +9,20 @@ ...@@ -9,20 +9,20 @@
<text class="itemTitle">保存原图</text> <text class="itemTitle">保存原图</text>
<text class="itemNotice">拍照后另保存一张无水印的图片</text> <text class="itemNotice">拍照后另保存一张无水印的图片</text>
</view> </view>
<switch class="itemSwitch" :checked="result['has_origin']" @change="handleOrigineChange" color="#007AFF" /> <switch class="itemSwitch" :checked="result['hasOrigin']" @change="handleOrigineChange" color="#007AFF" />
</view> </view>
<view class="itemView" v-if="showTitleSwitch"> <view class="itemView" v-if="showTitleSwitch">
<view class="itemTitleView" @click="itemClick({},-1)"> <view class="itemTitleView" @click="itemClick({},-1)">
<text class="itemTitle">水印标题</text> <text class="itemTitle">水印标题</text>
<text class="itemNotice">{{result['lower_right']['title_text'] || '点击可编辑更改'}}</text> <text class="itemNotice">{{result['lowerLeft']['title'] || '点击可编辑更改'}}</text>
</view> </view>
<switch class="itemSwitch" disabled :checked="result['lower_right']['title_text'] != ''" <switch class="itemSwitch" disabled :checked="result['lowerLeft']['title'] != ''"
@click="handleClickTitleSwitch" color="#007AFF" /> @click="handleClickTitleSwitch" color="#007AFF" />
</view> </view>
<view class="itemView" v-for="(item,ikey) in itemList" :key="ikey"> <view class="itemView" v-for="(item,ikey) in itemList" :key="ikey">
<view class="itemTitleView" @click="itemClick(item,ikey)"> <view class="itemTitleView" @click="itemClick(item,ikey)">
<text class="itemTitle">{{item['watemark_text'] || '自定义' + (ikey + 1)}}</text> <text class="itemTitle">{{item['watemarkText'] || '自定义' + (ikey + 1)}}</text>
<text class="itemNotice">{{item['watemark_value'] || '点击可编辑更改'}}</text> <text class="itemNotice">{{item['watemarkValue'] || '点击可编辑更改'}}</text>
</view> </view>
<switch class="itemSwitch" :checked="item['enable']" @change="itemChange(item, ikey)" color="#007AFF" /> <switch class="itemSwitch" :checked="item['enable']" @change="itemChange(item, ikey)" color="#007AFF" />
</view> </view>
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
<view class="inputBackView"> <view class="inputBackView">
<view class="ph-pop-left-view"> <view class="ph-pop-left-view">
<view class="leftInputView"> <view class="leftInputView">
<input class="leftInput" type="text" v-model="currenItem['watemark_text']" <input class="leftInput" type="text" v-model="currenItem['watemarkText']"
@input="leftInput()" :disabled="currenItem.type === 'title_text'" placeholder="请输入" @input="leftInput()" :disabled="currenItem.type === '备注'" placeholder="请输入"
maxlength="10" /> maxlength="10" />
</view> </view>
<view class="ph-pop-tip-view" v-if="showTipLeft">*必填项</view> <view class="ph-pop-tip-view" v-if="showTipLeft">*必填项</view>
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<view class="ph-pop-mid-view">:</view> <view class="ph-pop-mid-view">:</view>
<view> <view>
<view class="rightInputView"> <view class="rightInputView">
<input class="rightInput" type="text" v-model="currenItem['watemark_value']" <input class="rightInput" type="text" v-model="currenItem['watemarkValue']"
@input="rightInput()" placeholder="请输入内容" maxlength="30" /> @input="rightInput()" placeholder="请输入内容" maxlength="30" />
</view> </view>
<view class="ph-pop-tip-view" v-if="showTipRight">*必填项</view> <view class="ph-pop-tip-view" v-if="showTipRight">*必填项</view>
...@@ -72,14 +72,14 @@ ...@@ -72,14 +72,14 @@
isPopShow: false, isPopShow: false,
icon_close_new: '', icon_close_new: '',
result: { result: {
has_origin: true, hasOrigin: true,
lower_right: { lowerLeft: {
body: [] body: []
} }
}, },
currenItem: { currenItem: {
'watemark_text': '', 'watemarkText': '',
'watemark_value': '' 'watemarkValue': ''
}, },
editingItem: {}, editingItem: {},
showTipLeft: false, showTipLeft: false,
...@@ -89,10 +89,11 @@ ...@@ -89,10 +89,11 @@
}, },
computed: { computed: {
itemList() { itemList() {
if (this.result['lower_right']) { console.log(this.result)
var arr = this.result['lower_right']['body'] if (this.result['lowerLeft']) {
var arr = this.result['lowerLeft']['body']
return arr.filter((item) => { return arr.filter((item) => {
return item.watemark_type === '备注' return item.watemarkType === '备注'
}) })
} else { } else {
return [] return []
...@@ -100,7 +101,7 @@ ...@@ -100,7 +101,7 @@
}, },
showTitleSwitch() { showTitleSwitch() {
return this.result['lower_right'].hasOwnProperty('title_text') return this.result['lowerLeft'].hasOwnProperty('title')
}, },
customStyleCancel() { customStyleCancel() {
return { return {
...@@ -122,54 +123,43 @@ ...@@ -122,54 +123,43 @@
getApp().trackPage('水印设置页') getApp().trackPage('水印设置页')
const globalData = getApp().globalData const globalData = getApp().globalData
this.icon_close_new = globalData.icon_close_new this.icon_close_new = globalData.icon_close_new
this.systemId = globalData.photo.currentItem.systemId this.systemId = globalData.photo.currentItem.partnerCompanyId
this.getItemList() this.getItemList()
}, },
methods: { methods: {
getItemList: function() { getItemList: function() {
// this.systemId = '79550af260555cc20afb34156c94b32c' // 测试数据
this.loading = true this.loading = true
this.$u.api.getUserWatermark({ this.$u.api.getWatermark({partnerCompanyId:this.systemId}).then(res => {
'token': this.vuex_token, if (res.code == 200) {
'system_id': this.systemId this.result = res.data
}).then(res => { } else {
if (res && res.result) { uni.showToast({title: res.data.message})
if(res.result.error_code){
uni.showToast({title: res.result.error_msg})
}else{
this.result = res.result
}
}else{
uni.showToast({title: '网络异常'})
} }
this.loading = false this.loading = false
}) })
}, },
saveUserWatermark: function() { saveUserWatermark: function() {
this.loading = true this.loading = true
this.$u.api.saveUserWatermark({ this.$u.api.saveWatermark(this.result).then(res=>{
'token': this.vuex_token, if(res.code === 200){
'watermark': this.result uni.showToast({title:'保存成功'})
}).then(res => { getApp().globalData.photo.waterSetting = this.result
if (res.result.code == true) { this.$emit("changeWatermark", this.result);
const photo = getApp().globalData.photo
photo.waterSetting = this.result
}else{ }else{
uni.showToast({title: res.result.msg}) uni.showToast({title: res.message})
} }
this.loading = false this.loading = false
}) })
}, },
//保存原图 开关 //保存原图 开关
handleOrigineChange: function(e) { handleOrigineChange: function(e) {
this.result['has_origin'] = !this.result['has_origin'] this.result['hasOrigin'] = !this.result['hasOrigin']
this.saveUserWatermark() this.saveUserWatermark()
}, },
handleClickTitleSwitch: function(e) { handleClickTitleSwitch: function(e) {
var string = this.result['lower_right']['title_text'] ? '水印标题不可关闭' : '请先编辑该自定义项' var string = this.result['lowerLeft']['title'] ? '水印标题不可关闭' : '请先编辑该自定义项'
uni.showToast({ uni.showToast({
icon: 'none', icon: 'none',
title: string title: string
...@@ -178,7 +168,7 @@ ...@@ -178,7 +168,7 @@
//自定义 开关 //自定义 开关
itemChange: function(item, ikey) { itemChange: function(item, ikey) {
if (item['watemark_value']) { if (item['watemarkValue']) {
// 修改 // 修改
item['enable'] = !item['enable'] item['enable'] = !item['enable']
this.saveUserWatermark() this.saveUserWatermark()
...@@ -194,9 +184,9 @@ ...@@ -194,9 +184,9 @@
itemClick: function(item, ikey) { itemClick: function(item, ikey) {
if (ikey === -1) { if (ikey === -1) {
this.currenItem = { this.currenItem = {
'watemark_text': '水印标题', 'watemarkText': '水印标题',
'watemark_value': this.result['lower_right']['title_text'], 'watemarkValue': this.result['lowerLeft']['title'],
'type': 'title_text' 'type': '备注'
} }
} else { } else {
this.editingItem = item this.editingItem = item
...@@ -210,7 +200,7 @@ ...@@ -210,7 +200,7 @@
//左侧输入框 //左侧输入框
leftInput: function(e) { leftInput: function(e) {
if (this.currenItem['watemark_text']) { if (this.currenItem['watemarkText']) {
this.showTipLeft = false this.showTipLeft = false
} }
...@@ -218,7 +208,7 @@ ...@@ -218,7 +208,7 @@
//右侧输入框 //右侧输入框
rightInput: function(e) { rightInput: function(e) {
if (this.currenItem['watemark_value']) { if (this.currenItem['watemarkValue']) {
this.showTipRight = false this.showTipRight = false
} }
}, },
...@@ -227,8 +217,8 @@ ...@@ -227,8 +217,8 @@
popCancelClick: function() { popCancelClick: function() {
this.isPopShow = false this.isPopShow = false
this.currenItem = { this.currenItem = {
'watemark_text': '', 'watemarkText': '',
'watemark_value': '' 'watemarkValue': ''
} }
}, },
...@@ -241,22 +231,22 @@ ...@@ -241,22 +231,22 @@
}, },
//自定义弹窗 保存 //自定义弹窗 保存
popSaveClick: function() { popSaveClick: function() {
if (this.currenItem['watemark_text'] && this.currenItem['watemark_value']) { if (this.currenItem['watemarkText'] && this.currenItem['watemarkValue']) {
this.isPopShow = false this.isPopShow = false
if (this.currenItem.type === 'title_text') { if (this.currenItem.type === '备注') {
this.result['lower_right']['title_text'] = this.currenItem['watemark_value'] this.result['lowerLeft']['title'] = this.currenItem['watemarkValue']
} else { } else {
this.editingItem['watemark_text'] = this.currenItem['watemark_text'] this.editingItem['watemarkText'] = this.currenItem['watemarkText']
this.editingItem['watemark_value'] = this.currenItem['watemark_value'] this.editingItem['watemarkValue'] = this.currenItem['watemarkValue']
this.editingItem['enable'] = true this.editingItem['enable'] = true
} }
this.saveUserWatermark() this.saveUserWatermark()
} else { } else {
// 提示 // 提示
if (!this.currenItem['watemark_text']) { if (!this.currenItem['watemarkText']) {
this.showTipLeft = true this.showTipLeft = true
} }
if (!this.currenItem['watemark_value']) { if (!this.currenItem['watemarkValue']) {
this.showTipRight = true this.showTipRight = true
} }
} }
......
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
<view class="wrap"> <view class="wrap">
<swiper class="swiper-box" :current="swiperCurrent" @transition="transition" <swiper class="swiper-box" :current="swiperCurrent" @transition="transition"
@animationfinish="animationfinish"> @animationfinish="animationfinish">
<swiper-item class="swiper-item" v-if="currentItem.main_point && currentItem.main_point.length > 0"> <swiper-item class="swiper-item" v-if="currentItem.mainPoint && currentItem.mainPoint.length > 0">
<view class="inner txt-inner" :style="{'background-image':'url(/static/photo/shadow-bg.png)'}"> <view class="inner txt-inner" :style="{'background-image':'url(/static/photo/shadow-bg.png)'}">
<view class="title"> <view class="title">
拍照要求 拍照要求
</view> </view>
<view class="txt-box" > <view class="txt-box" >
<view class="txt" v-for="(txt,index) in currentItem.main_point" :key="index"> <view class="txt" v-for="(txt,index) in currentItem.mainPoint" :key="index">
{{index+1}}. {{txt}} {{index+1}}. {{txt}}
</view> </view>
<view class="txt tips" v-if="currentItem.note"> <view class="txt tips" v-if="currentItem.note">
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
src="/static/photo/icon-switch.png"></cover-image> src="/static/photo/icon-switch.png"></cover-image>
<cover-image @click="setCameraInfo('flash')" class="icon" mode="aspectFit" <cover-image @click="setCameraInfo('flash')" class="icon" mode="aspectFit"
:src="'/static/photo/icon-light-' + cameraInfo.flash +'.png'"></cover-image> :src="'/static/photo/icon-light-' + cameraInfo.flash +'.png'"></cover-image>
<cover-image v-if="currentItem.system_id" @click="changeType(3)" class="icon" mode="aspectFit" <cover-image v-if="currentItem.partnerCompanyId" @click="changeType(3)" class="icon" mode="aspectFit"
src="/static/photo/icon-setting.png"></cover-image> src="/static/photo/icon-setting.png"></cover-image>
</cover-view> </cover-view>
</cover-view> </cover-view>
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</view> </view>
</view> </view>
<photo-preview v-if="showType === 2" @changeType="changeType" @finish="finish" /> <photo-preview v-if="showType === 2" @changeType="changeType" @finish="finish" />
<photo-setting v-if="showType === 3" @changeType="changeType" /> <photo-setting v-if="showType === 3" @changeType="changeType" @changeWatermark="changeWatermark"/>
</view> </view>
</template> </template>
...@@ -128,10 +128,10 @@ ...@@ -128,10 +128,10 @@
titleTxt() { titleTxt() {
const waterSetting = this.waterSetting const waterSetting = this.waterSetting
let txt = '' let txt = ''
if (!waterSetting || !waterSetting.lower_right) { if (!waterSetting || !waterSetting.lowerLeft) {
return '' return ''
} }
txt = waterSetting.lower_right && waterSetting.lower_right.title_text || '' txt = waterSetting.lowerLeft && waterSetting.lowerLeft.title || ''
return txt return txt
}, },
settingTxtArr() { settingTxtArr() {
...@@ -144,17 +144,17 @@ ...@@ -144,17 +144,17 @@
let settingTxtArr = [] let settingTxtArr = []
const typeArr = ['经度', '纬度', '地址', '时间'] const typeArr = ['经度', '纬度', '地址', '时间']
const waterSetting = this.waterSetting const waterSetting = this.waterSetting
if (!waterSetting || !waterSetting.lower_right || !waterSetting.lower_right.body) { if (!waterSetting || !waterSetting.lowerLeft || !waterSetting.lowerLeft.body) {
return arr return arr
} }
const settingArr = waterSetting.lower_right.body const settingArr = waterSetting.lowerLeft.body
settingArr.map(item => { settingArr.map(item => {
const idx = typeArr.indexOf(item.watemark_type) const idx = typeArr.indexOf(item.watemarkType)
if (item.enable && (idx > -1 || (item.watemark_value && item.watemark_text))) { if (item.enable && (idx > -1 || (item.watemarkValue && item.watemarkText))) {
if (idx > -1) { if (idx > -1) {
settingTxtArr.push(arr[idx]) settingTxtArr.push(arr[idx])
} else { } else {
settingTxtArr.push(item.watemark_text + ':' + item.watemark_value) settingTxtArr.push(item.watemarkText + ':' + item.watemarkValue)
} }
} }
}) })
...@@ -191,6 +191,9 @@ ...@@ -191,6 +191,9 @@
changeType(type) { changeType(type) {
this.showType = type this.showType = type
}, },
changeWatermark(watermark){
this.waterSetting = watermark
},
updateTime() { updateTime() {
this.waterInfo.date = this.getTime() this.waterInfo.date = this.getTime()
// let timer = setTimeout(() => { // let timer = setTimeout(() => {
......
<template>
<u-navbar
:height="40"
:background="background"
:back-icon-color="navbarColor"
:title="title"
:titleColor="navbarColor"
:is-back="isBack"
:is-fixed="isFixed"
:title-bold="true"
:border-bottom="false">
</u-navbar>
</template>
<script>
/**
* navbar 自定义导航栏
* @description 此组件一般用于在特殊情况下,需要自定义导航栏的时候用到,一般建议使用uniapp自带的导航栏。
* @tutorial https://www.uviewui.com/components/navbar.html
* @property {String Number} height 导航栏高度(不包括状态栏高度在内,内部自动加上),注意这里的单位是px(默认40)
* @property {String} navbar-Color 导航栏内容的颜色(默认#333333)
* @property {String} title 导航栏标题,如设置为空字符,将会隐藏标题占位区域
* @property {String Number} title-width 导航栏标题的最大宽度,内容超出会以省略号隐藏,单位rpx(默认250)
* @property {Boolean} is-back 是否显示导航栏左边返回图标和辅助文字(默认true)
* @property {Object} background 导航栏背景设置,见官网说明(默认{ background: '#ffffff' })
* @property {Boolean} is-fixed 导航栏是否固定在顶部(默认true)
* @example <w-navbar title="剑未配妥,出门已是江湖"></w-navbar>
*/
export default {
name:"w-navbar",
props: {
height: {
type: String,
default: "40"
},
background: {
type: Object,
default(){
return {
backgroundColor: 'none'
}
}
},
navbarColor: {
type: String,
default: "#333333"
},
title: {
type: String,
default: ""
},
titleBold: {
type: Boolean,
default: true
},
isBack: {
type: Boolean,
default: true
},
isFixed: {
type: Boolean,
default: true
},
},
data() {
return {
};
}
}
</script>
<style lang="scss">
</style>
...@@ -34,7 +34,8 @@ ...@@ -34,7 +34,8 @@
"path": "pages/index/mine", "path": "pages/index/mine",
"style": { "style": {
"navigationBarTitleText": "我的", "navigationBarTitleText": "我的",
"navigationStyle": "custom" "navigationStyle": "custom" ,
"disableScroll": true
} }
}, },
{ {
...@@ -145,6 +146,24 @@ ...@@ -145,6 +146,24 @@
"enablePullDownRefresh":false, "enablePullDownRefresh":false,
"navigationStyle":"custom"//隐藏系统导航栏 "navigationStyle":"custom"//隐藏系统导航栏
} }
},
{
"path": "address/index",
"style": {
"navigationBarTitleText": "收获地址",
"enablePullDownRefresh": false,
"navigationStyle": "custom", // 隐藏系统导航栏
"disableScroll": true
}
},
{
"path": "address/addSite",
"style": {
"navigationBarTitleText": "修改地址",
"enablePullDownRefresh": false,
"navigationStyle": "custom", // 隐藏系统导航栏
"disableScroll": true
}
} }
] ]
}, },
...@@ -332,7 +351,7 @@ ...@@ -332,7 +351,7 @@
"preloadRule": { "preloadRule": {
"pages/index/index": { "pages/index/index": {
"network": "all", "network": "all",
"packages": ["pages/order", "pages/learn"] "packages": ["pages/order", "pages/learn", "pages/mine"]
} }
}, },
"globalStyle": { "globalStyle": {
......
...@@ -108,7 +108,6 @@ ...@@ -108,7 +108,6 @@
watch: { watch: {
vuex_token(val, oldVal) { vuex_token(val, oldVal) {
// 监听token变化,如果更新则重新加载页面数据 // 监听token变化,如果更新则重新加载页面数据
console.log('', val, oldVal)
val && this.initSettleInfo() val && this.initSettleInfo()
} }
}, },
......
<template> <template>
<view> <view class="mine-view">
<u-navbar v-if="!takeStatus" :is-back="false" :title-size="26" title-color="#000" title="我的"></u-navbar> <image class="header-image" mode="widthFix" :src="wodebeijingImage"></image>
<view v-if="!takeStatus"> <u-navbar :is-back="false" :background="{ background: 'transparent' }" :border-bottom="false">
<view class="u-flex user-box u-p-l-30 u-p-r-20 u-p-b-30"> <text class="title-view">我的</text>
<view class="u-m-r-10"> </u-navbar>
<u-avatar :src="pic" size="140"></u-avatar> <view class="mine-content">
<view class="header-view">
<view class="head-image">
<u-avatar :src="headImageUrl" size="142" mode="circle"></u-avatar>
</view>
<view class="header-content">
<view class="name-view" @click="handleClickName">{{name}}</view>
<view :class="['tel-view', {'active': info.tel}]" @click="handleClickTel">
<text>{{telTip}}</text>
<u-icon class="tel-arrow-icon" name="arrow-up-fill"></u-icon>
</view> </view>
<view class="u-flex-1">
<view class="u-font-18 u-p-b-20">uView ui</view>
<view class="u-font-14 u-tips-color">微信号:helang_uView</view>
</view> </view>
</view> </view>
<view class="u-m-t-20"> <view class="list-view">
<u-cell-group> <u-cell-group>
<u-cell-item v-for="(item, index) in items" :title="item.title" :value="item.value" :key="index"> <view v-for="(item, index) in items" :key="index">
<u-icon slot="icon" size="32" name="search"></u-icon> <u-cell-item :value="item.value" :border-bottom="false" @click="handleClick(index)">
<image slot="icon" :src="imageUrl + item.icon" :style="item.imageStyle"></image>
<view slot="title" class="item-title">{{item.title}}</view>
<view slot="value" class="item-value">{{value}}</view>
</u-cell-item> </u-cell-item>
</u-cell-group> <view v-if="index == 3" class="line-view"></view>
</view> </view>
<view class="u-m-t-20">
<u-cell-group>
<u-cell-item icon="setting" title="设置"></u-cell-item>
</u-cell-group> </u-cell-group>
</view> </view>
<view class="u-m-t-20" @click="take"> <!-- <view class="u-m-t-20" @click="take">
<u-cell-group> <u-cell-group>
<u-cell-item icon="setting" title="相机组件测试"></u-cell-item> <u-cell-item icon="setting" title="相机组件测试"></u-cell-item>
</u-cell-group> </u-cell-group>
</view> -->
</view> </view>
</view> <!-- <take-photo v-if="takeStatus" :currentItem="testData" @close="closeTake"></take-photo> -->
<take-photo v-if="takeStatus" :currentItem="testData" @close="closeTake"></take-photo>
</view> </view>
</template> </template>
...@@ -43,52 +48,205 @@ ...@@ -43,52 +48,205 @@
}, },
data() { data() {
return { return {
pic:'https://uviewui.com/common/logo.png', serviceTel: '0755-81773817',
show:true, info: {},
takeStatus: false, // pic: 'https://uviewui.com/common/logo.png',
testData: { // show: true,
_id: '1', // 规格ID // takeStatus: false,
system_id: '2', // 系统ID // testData: {
brand_id: '3', // 品牌ID // _id: '1', // 规格ID
classify_id: '4', // 分类ID // system_id: '2', // 系统ID
images: [ // 拍照要求示意图 // brand_id: '3', // 品牌ID
'https://qn-static.banshouhui.com/live_mark.png', // classify_id: '4', // 分类ID
'https://qn-static.banshouhui.com/live_mark.png', // images: [ // 拍照要求示意图
'https://qn-static.banshouhui.com/live_mark.png' // 'https://qn-static.banshouhui.com/live_mark.png',
], // 'https://qn-static.banshouhui.com/live_mark.png',
main_point: [] // 要点 // 'https://qn-static.banshouhui.com/live_mark.png'
} // ],
// main_point: [] // 要点
// }
} }
}, },
computed: { computed: {
items() { items() {
return [ return [{
{title: '我的钱包', value: '', icon: ''}, title: '我的钱包',
{title: '我的质保金', value: '', icon: ''}, value: '',
{title: '我的合同', value: '', icon: ''}, icon: 'qianbao.png',
{title: '我的证件', value: '', icon: ''}, imageStyle: 'width:34rpx;height:32rpx'
{title: '我的收货地址', value: '', icon: ''}, },
{title: '我的仓库', value: '', icon: ''}, {
{title: '联系客服', value: '6666666', icon: ''}] title: '配件押金',
value: '',
icon: 'yajin.png',
imageStyle: 'width:32rpx;height:32rpx'
},
{
title: '我的合同',
value: '',
icon: 'hetong.png',
imageStyle: 'width:34rpx;height:32rpx'
},
{
title: '我的证件',
value: '',
icon: 'zhengjian.png',
imageStyle: 'width:36rpx;height:28rpx'
},
{
title: '收货地址',
value: '',
icon: 'wddizhi.png',
imageStyle: 'width:32rpx;height:32rpx'
},
{
title: '我的仓库',
value: '',
icon: 'cangku.png',
imageStyle: 'width:36rpx;height:32rpx'
},
{
title: '联系客服',
value: this.serviceTel,
icon: 'lxkefu.png',
imageStyle: 'width:32rpx;height:32rpx'
}
]
},
name() {
return this.info.name || '点击登录'
},
telTip() {
return this.info.tel ? '已绑定手机号' : '绑定手机号'
},
imageUrl() {
return process.uniEnv.qn_base_url
},
pages() {
return ['', '', '', '', 'address', '', '']
},
headImageUrl() {
return this.info.headImage || this.placeholderImage
},
wodebeijingImage() {
return this.imageUrl+ 'wodebeijing.png'
},
placeholderImage() {
return this.imageUrl + 'touxiang.png'
} }
}, },
onLoad() { onLoad() {
}, },
methods: { methods: {
take() { handleClick(index) {
uni.hideTabBar() uni.navigateTo({
this.takeStatus = true url: 'pages/mine/' + this.pages[index]
})
}, },
closeTake(img) { handleClickName() {
console.log(img)
this.takeStatus = false },
} handleClickTel() {
},
// take() {
// uni.hideTabBar()
// this.takeStatus = true
// },
// closeTake(img) {
// console.log(img)
// this.takeStatus = false
// }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.mine-view {
position: relative;
height: 100vh;
overflow: auto;
background-color: #FFFFFF;
</style> .header-image {
position: absolute;
width: 100%;
}
.title-view {
color: #FFFFFF;
font-weight: bold;
font-size: 40rpx;
padding-left: 30rpx;
}
.mine-content {
.header-view {
padding: 30rpx 30rpx 80rpx 30rpx;
display: flex;
align-items: center;
.head-image {
width: 142rpx;
height: 142rpx;
}
.header-content {
color: #FFFFFF;
z-index: 0;
margin-left: 24rpx;
.name-view {
font-size: 44rpx;
font-weight: bold;
margin-bottom: 14rpx;
margin-top: 6rpx;
}
.tel-view {
background-color: #FFFFFF;
border-radius: 26rpx;
color: #2272FF;
width: 164rpx;
height: 52rpx;
font-size: 20rpx;
display: flex;
align-items: center;
justify-content: center;
&.active {
color: #FFFFFF;
border:2rpx solid #FFFFFF;
background-color: #2272FF;
}
.tel-arrow-icon {
transform:rotate(90deg);
margin-left: 6rpx;
}
}
}
}
.list-view {
background-color: #FFFFFF;
border-radius: 16rpx 16rpx 0 0;
overflow: hidden;
.item-title {
font-size: 32rpx;
color: #333333;
margin-left: 16rpx;
line-height: 32rpx;
}
.item-value {
font-size: 26rpx;
color: #999999;
}
.line-view {
height: 2rpx;
background-color: #F4F5F7;
margin: 30rpx;
}
}
}
}
</style>
...@@ -113,9 +113,6 @@ export default { ...@@ -113,9 +113,6 @@ export default {
signupLogin(e) { signupLogin(e) {
var that = this var that = this
console.log(e.detail.errMsg)
console.log(e.detail.iv)
console.log(e.detail.encryptedData)
if (!e || !e.detail || e.detail.errMsg.indexOf('user deny') > -1) { if (!e || !e.detail || e.detail.errMsg.indexOf('user deny') > -1) {
wx.showModal({ wx.showModal({
title: '提示', title: '提示',
...@@ -157,22 +154,17 @@ export default { ...@@ -157,22 +154,17 @@ export default {
goBackPage() { goBackPage() {
let pages = getCurrentPages(); let pages = getCurrentPages();
debugger
if(pages.length) { if(pages.length) {
let index = pages.length - 1; let index = pages.length - 1;
if(index) { if(index) {
let prevPage = pages[index]; //上一个页面 let prevPage = pages[index]; //上一个页面
if(prevPage.route == "pages/login/index") {
uni.redirectTo({
url:'pages/index/index'
})
} else {
if (prevPage && prevPage.$vm) { if (prevPage && prevPage.$vm) {
prevPage.$vm.isRefresh = true; prevPage.$vm.isRefresh = true;
} }
uni.navigateBack({ uni.navigateBack({
delta: 1 delta: 1
}) })
}
} else { } else {
uni.redirectTo({ uni.redirectTo({
url:'pages/index/index' url:'pages/index/index'
......
<template> <template>
<view> <view class="address-wrap">
<view class="item" v-for="(res, index) in siteList" :key="res.id"> <w-navbar title="收货地址"></w-navbar>
<view class="item" v-for="(res, sindex) in siteList" :key="res.id">
<view class="top"> <view class="top">
<view class="name">{{ res.name }}</view> <view class="name">{{ res.name }}</view>
<view class="phone">{{ res.phone }}</view> <view class="phone">{{ res.phone }}</view>
<view class="tag">
<text v-for="(item, index) in res.tag" :key="index" :class="{red:item.tagText=='默认'}">{{ item.tagText }}</text>
</view>
</view> </view>
<view class="bottom"> <view class="bottom">
广东省深圳市宝安区 自由路66号 <view class="address">广东省深圳市宝安区宝城67区留芳路6号庭威产业园3栋10C</view>
<u-icon name="edit-pen" :size="40" color="#999999"></u-icon> <u-icon :name="editPen" :size="32" color="#999999"></u-icon>
</view>
<view class="default" v-show="true">
<u-icon name="checkmark-circle" color="#2272FF" size="32"></u-icon>
<text class="txt">默认地址</text>
</view> </view>
</view> </view>
<view class="addSite" @tap="toAddSite"> <view class="addSite" @tap="toAddSite">
...@@ -25,12 +27,20 @@ ...@@ -25,12 +27,20 @@
export default { export default {
data() { data() {
return { return {
background: {
backgroundColor: 'none'
},
siteList: [] siteList: []
}; };
}, },
onLoad() { onLoad() {
this.getData(); this.getData();
}, },
computed: {
editPen() {
return process.uniEnv.qn_base_url + 'icon/edit-pen.png'
}
},
methods: { methods: {
getData() { getData() {
this.siteList = [ this.siteList = [
...@@ -46,7 +56,7 @@ export default { ...@@ -46,7 +56,7 @@ export default {
tagText: '家' tagText: '家'
} }
], ],
site: '广东省深圳市宝安区 自由路66号' site: '广东省深圳市宝安区宝城67区留芳路6号庭威产业园3栋10C'
}, },
{ {
id: 2, id: 2,
...@@ -70,7 +80,7 @@ export default { ...@@ -70,7 +80,7 @@ export default {
}, },
toAddSite(){ toAddSite(){
uni.navigateTo({ uni.navigateTo({
url: '/pages/template/address/addSite' url: '/pages/mine/address/addSite'
}); });
} }
} }
...@@ -78,42 +88,51 @@ export default { ...@@ -78,42 +88,51 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.address-wrap {
background-color: #F4F5F7;
}
.item { .item {
padding: 40rpx 20rpx; margin: 30rpx;
padding: 50rpx 30rpx 48rpx 30rpx;
background-color: #FFFFFF;
border-radius: 12px;
.top { .top {
display: flex; display: flex;
font-size: 32rpx;
font-weight: bold; font-weight: bold;
font-size: 34rpx; color: #333333;
line-height: 32rpx;
.phone { .phone {
margin-left: 60rpx; margin-left: 20rpx;
} font-size: 28rpx;
.tag { font-weight: 400;
display: flex; color: #666666;
font-weight: normal;
align-items: center;
text {
display: block;
width: 60rpx;
height: 34rpx;
line-height: 34rpx;
color: #ffffff;
font-size: 20rpx;
border-radius: 6rpx;
text-align: center;
margin-left: 30rpx;
background-color:rgb(49, 145, 253);
}
.red{
background-color:red
}
} }
} }
.bottom { .bottom {
display: flex; display: flex;
margin-top: 20rpx; margin-top: 24rpx;
font-size: 28rpx;
justify-content: space-between; justify-content: space-between;
color: #999999; align-items: flex-start;
font-size: 28rpx;
font-weight: 400;
color: #333333;
.address{
max-width: 500rpx;
line-height: 40rpx;
}
}
.default {
border-top: 2rpx solid #F4F5F7;
margin-top: 22rpx;
padding-top: 30rpx;
.txt {
margin-left: 12rpx;
font-size: 28rpx;
font-weight: 400;
color: #333333;
line-height: 28rpx;
}
} }
} }
.addSite { .addSite {
......
...@@ -22,9 +22,9 @@ ...@@ -22,9 +22,9 @@
<view class="class-item" :key="groupIndex" v-show="current == groupIndex"> <view class="class-item" :key="groupIndex" v-show="current == groupIndex">
<view class="title" v-if="groupItem.name !== '基本信息'">{{groupItem.name}}</view> <view class="title" v-if="groupItem.name !== '基本信息'">{{groupItem.name}}</view>
<view class="class-bd"> <view class="class-bd">
<u-form-item v-for="(item,itemIndex) in groupItem.items" :key="itemIndex" v-if="typeToComponentType(item.fieldsType)!=='location'" <u-form-item v-for="(item,itemIndex) in groupItem.items" :key="itemIndex" label-position="top"
label-position="top" :prop="item.fieldsName" :border-bottom="false" v-show="item.fieldsId != 200 || show200"> :prop="item.fieldsName" :border-bottom="false" v-show="item.fieldsId != 200 || show200">
<view :class="[{'label-bold': groupItem.name === '基本信息'}, 'label']"> <view :class="[{'label-bold': groupItem.name === '基本信息'}, 'label']" v-if="typeToComponentType(item.fieldsType)!=='location'">
<image class="item-image" :src="mixingImage" v-if="item.required"></image> <image class="item-image" :src="mixingImage" v-if="item.required"></image>
{{item.fieldsTitle}} {{item.fieldsTitle}}
</view> </view>
...@@ -239,6 +239,9 @@ ...@@ -239,6 +239,9 @@
'font-size': '32rpx', 'font-size': '32rpx',
} }
}, },
show200() {
return this.form.paymentMethodsType != '03'
}
}, },
methods: { methods: {
getCompleteData() {//获取工单配置的完工项目 getCompleteData() {//获取工单配置的完工项目
...@@ -257,6 +260,7 @@ ...@@ -257,6 +260,7 @@
saveComplete(){// 保存完工信息 saveComplete(){// 保存完工信息
let self = this let self = this
let param = {} let param = {}
self.list.forEach((panel)=>{ self.list.forEach((panel)=>{
param[panel.panelFieldsName] = [] param[panel.panelFieldsName] = []
panel.items.forEach((group) =>{ panel.items.forEach((group) =>{
...@@ -273,13 +277,6 @@ ...@@ -273,13 +277,6 @@
}) })
}) })
if (!param.base[0].fieldsValue) {
return this.$refs.uToast.show({
title: '请先选择产品规格',
type: 'error',
})
}
self.$u.api.saveCompleteData(param,self.orderId).then((res)=>{ self.$u.api.saveCompleteData(param,self.orderId).then((res)=>{
if (res.code == 200) { if (res.code == 200) {
this.$refs.uToast.show({ this.$refs.uToast.show({
...@@ -288,7 +285,7 @@ ...@@ -288,7 +285,7 @@
}) })
} else { } else {
this.$refs.uToast.show({ this.$refs.uToast.show({
title: res.message, title: res.data,
type: 'error', type: 'error',
}) })
} }
...@@ -311,6 +308,7 @@ ...@@ -311,6 +308,7 @@
}else if(value&&Array.isArray(value)&&value.length > 0){ }else if(value&&Array.isArray(value)&&value.length > 0){
panelResult.submitted++ panelResult.submitted++
}else if(first){// 记录第一个 为空 并且需要必填的项 用于定位 }else if(first){// 记录第一个 为空 并且需要必填的项 用于定位
console.log(ele)
first = false first = false
self.waitHandlerPanelIndex = panelIndex self.waitHandlerPanelIndex = panelIndex
self.waitHandlerGroupIndex = groupIndex self.waitHandlerGroupIndex = groupIndex
...@@ -394,7 +392,16 @@ ...@@ -394,7 +392,16 @@
}else{ }else{
this.$set(this.form,innerItem.fieldsName,data.value) this.$set(this.form,innerItem.fieldsName,data.value)
} }
this.show200 = innerItem.fieldsId != 199 || data.value != '03' if (innerItem.fieldsId == 199) { // 选不需要收款的时候,收款金额修改为非必选
for (var item of this.list[0].items) {
for (var i of item.items) {
if (i.fieldsId == 200) {
i.required = data.value !='03'
}
}
}
}
console.log(this.form) console.log(this.form)
}, },
nextStep() { nextStep() {
......
...@@ -177,7 +177,6 @@ ...@@ -177,7 +177,6 @@
self.$u.api.orderStandard(data).then((res) => { self.$u.api.orderStandard(data).then((res) => {
this.loading = false this.loading = false
if (res.code == 200) { if (res.code == 200) {
console.log("===", res.data)
if(res.data && res.data.length > 0){ if(res.data && res.data.length > 0){
let dataList = [] let dataList = []
var flag = false; var flag = false;
...@@ -205,6 +204,7 @@ ...@@ -205,6 +204,7 @@
} }
} }
}) })
console.log("===", dataList)
this.handleData(dataList) this.handleData(dataList)
} }
} else { } else {
...@@ -217,7 +217,6 @@ ...@@ -217,7 +217,6 @@
this.dataList = result this.dataList = result
if (result.length > 0) { if (result.length > 0) {
var item = result[0] var item = result[0]
getApp().globalData.photo.waterSetting = this.userWatermark
this.rightList = item.list this.rightList = item.list
} }
}, },
...@@ -276,10 +275,12 @@ ...@@ -276,10 +275,12 @@
this.takeStatus = true this.takeStatus = true
}, },
closeTake(img) { closeTake(img) {
console.log(img)
if(img !==undefined ){ if(img !==undefined ){
if (!this.currentItemDate.orderImages) this.currentItemDate.orderImages = []
// step1 添加图片 // step1 添加图片
this.currentItemDate.orderImages.push(img[img.length-1].key) img.forEach(v => {
this.currentItemDate.orderImages.push(v.key)
})
// step2 保存图片 // step2 保存图片
var data={ var data={
type : this.currentItemDate.type, type : this.currentItemDate.type,
...@@ -446,7 +447,6 @@ ...@@ -446,7 +447,6 @@
background-color: #FAFAFA; background-color: #FAFAFA;
width: 100%; width: 100%;
height: 100rpx; height: 100rpx;
position: fixed;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
z-index: 1; z-index: 1;
...@@ -499,6 +499,6 @@ ...@@ -499,6 +499,6 @@
} }
.scroll-y { .scroll-y {
height: 80vh; height: 73vh;
} }
</style> </style>
...@@ -34,6 +34,8 @@ const store = new Vuex.Store({ ...@@ -34,6 +34,8 @@ const store = new Vuex.Store({
vuex_token: lifeData.vuex_token ? lifeData.vuex_token : '', vuex_token: lifeData.vuex_token ? lifeData.vuex_token : '',
vuex_version: '1.0.1', vuex_version: '1.0.1',
vuex_config: {}, vuex_config: {},
// 入驻信息
vuex_settled: {},
vuex_wx_uid: lifeData.vuex_wx_uid || 0, vuex_wx_uid: lifeData.vuex_wx_uid || 0,
}, },
mutations: { mutations: {
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
:send-message-img="sendMessageImg" :send-message-img="sendMessageImg"
:show-message-card="showMessageCard" :show-message-card="showMessageCard"
@getphonenumber="getphonenumber" @getphonenumber="getphonenumber"
@getuserinfo="getuserinfo"
@error="error" @error="error"
@opensetting="opensetting" @opensetting="opensetting"
@launchapp="launchapp" @launchapp="launchapp"
...@@ -324,9 +325,9 @@ export default { ...@@ -324,9 +325,9 @@ export default {
getphonenumber(res) { getphonenumber(res) {
this.$emit('getphonenumber', res); this.$emit('getphonenumber', res);
}, },
// getuserinfo(res) { getuserinfo(res) {
// this.$emit('getuserinfo', res); this.$emit('getuserinfo', res);
// }, },
error(res) { error(res) {
this.$emit('error', res); this.$emit('error', res);
}, },
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
* @property {Boolean} bold 激活选项的字体是否加粗(默认true) * @property {Boolean} bold 激活选项的字体是否加粗(默认true)
* @property {String} bg-color 组件背景颜色,mode为button时有效(默认#eeeeef) * @property {String} bg-color 组件背景颜色,mode为button时有效(默认#eeeeef)
* @property {String} button-color 按钮背景颜色,mode为button时有效(默认#ffffff) * @property {String} button-color 按钮背景颜色,mode为button时有效(默认#ffffff)
* @property {String Number} border-radius 圆角值,单位rpx(默认5)
* @event {Function} change 分段器选项发生改变时触发 * @event {Function} change 分段器选项发生改变时触发
* @example <u-subsection active-color="#ff9900"></u-subsection> * @example <u-subsection active-color="#ff9900"></u-subsection>
*/ */
...@@ -92,12 +91,7 @@ ...@@ -92,12 +91,7 @@
vibrateShort: { vibrateShort: {
type: Boolean, type: Boolean,
default: false default: false
}, }
// 圆角值
borderRadius: {
type: [Number, String],
default: 5
},
}, },
data() { data() {
return { return {
...@@ -111,7 +105,7 @@ ...@@ -111,7 +105,7 @@
}, },
currentIndex: this.current, currentIndex: this.current,
buttonPadding: 3, // mode = button 时,组件的内边距 buttonPadding: 3, // mode = button 时,组件的内边距
// borderRadius: 5, // 圆角值 borderRadius: 5, // 圆角值
firstTimeVibrateShort: true // 组件初始化时,会触发current变化,此时不应震动 firstTimeVibrateShort: true // 组件初始化时,会触发current变化,此时不应震动
}; };
}, },
......
...@@ -2,8 +2,8 @@ module.exports = { ...@@ -2,8 +2,8 @@ module.exports = {
onLoad() { onLoad() {
// 设置默认的转发参数 // 设置默认的转发参数
this.$u.mpShare = { this.$u.mpShare = {
title: '充电桩安装火爆进行中...就等你', // 默认为小程序名称 title: '', // 默认为小程序名称
path: '/pages/index/index', // 默认为当前页面路径 path: '', // 默认为当前页面路径
imageUrl: '' // 默认为当前页面的截图 imageUrl: '' // 默认为当前页面的截图
} }
}, },
......
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