|
|
@ -45,6 +45,7 @@ |
|
|
|
<view v-if="isDetail" class="val">{{ form.businessManagerName }}</view> |
|
|
|
<view v-if="isDetail" class="val">{{ form.businessManagerName }}</view> |
|
|
|
<uni-data-picker v-else class="picker-input" placeholder="请选择商务经理" popup-title="请选择商务经理" preload :localdata="bms" :map="{text: 'userName', value: 'partnerId'}" v-model="form.businessManagerId" :readonly="form.teamId ? false : true"></uni-data-picker> |
|
|
|
<uni-data-picker v-else class="picker-input" placeholder="请选择商务经理" popup-title="请选择商务经理" preload :localdata="bms" :map="{text: 'userName', value: 'partnerId'}" v-model="form.businessManagerId" :readonly="form.teamId ? false : true"></uni-data-picker> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<template v-if="edited"> |
|
|
|
<view class="line"> |
|
|
|
<view class="line"> |
|
|
|
<view class="name">订单编号</view> |
|
|
|
<view class="name">订单编号</view> |
|
|
|
<view class="val">{{ form.orderNumber }}</view> |
|
|
|
<view class="val">{{ form.orderNumber }}</view> |
|
|
@ -57,6 +58,7 @@ |
|
|
|
<view class="name">订单金额(元)</view> |
|
|
|
<view class="name">订单金额(元)</view> |
|
|
|
<view class="val">{{ form.orderAmount }}</view> |
|
|
|
<view class="val">{{ form.orderAmount }}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
</template> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
@ -80,7 +82,7 @@ |
|
|
|
<button v-if="auth('订单管理:发货')" class="course-btn" type="primary" @click.stop="handleDeliver(n, i)">{{ item.ship ? '取消' : ''}}发货</button> |
|
|
|
<button v-if="auth('订单管理:发货')" class="course-btn" type="primary" @click.stop="handleDeliver(n, i)">{{ item.ship ? '取消' : ''}}发货</button> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
<button v-else-if="!isDetail && auth('订单管理:启用')" class="course-btn" type="primary" @click.stop="handleEnable(n, i)">{{ item.isEnable ? '禁用' : '启用'}}</button> |
|
|
|
<button v-else-if="!isDetail && auth('订单管理:启用')" class="course-btn" type="primary" @click.stop="handleEnable(n, i)">{{ item.isEnable ? '禁用' : '启用'}}</button> |
|
|
|
<button v-if="auth('订单管理:发货') && (item.authority == 3 || item.authority == 4) && (!isDetail || (isDetail && item.shipContent))" class="course-btn mg" type="primary" @click.stop="showShip(item)">发货信息</button> |
|
|
|
<button v-if="auth('订单管理:发货') && (item.authority == 0 || item.authority == 3 || item.authority == 4) && (!isDetail || (isDetail && item.shipContent))" class="course-btn mg" type="primary" @click.stop="showShip(item)">发货信息</button> |
|
|
|
<image v-if="!orderId || isRenew || isHandle" class="del" src="@/static/image/trash.png" mode="widthFix" @click.stop="delCourse(c, i)"></image> |
|
|
|
<image v-if="!orderId || isRenew || isHandle" class="del" src="@/static/image/trash.png" mode="widthFix" @click.stop="delCourse(c, i)"></image> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
@ -136,7 +138,7 @@ |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view :class="['line req', {err: err === 'finalPrice' + item.dataOrCourseId + item.authority}]"> |
|
|
|
<view :class="['line req', {err: err === 'finalPrice' + item.dataOrCourseId + item.authority}]"> |
|
|
|
<view class="label">成交价</view> |
|
|
|
<view class="label">成交价</view> |
|
|
|
<view v-if="isDetail || (isEdit && !item.authority)" class="ph">{{ item.finalPrice }}</view> |
|
|
|
<view v-if="isDetail" class="ph">{{ item.finalPrice }}</view> |
|
|
|
<view class="inline" v-else> |
|
|
|
<view class="inline" v-else> |
|
|
|
<input type="number" v-model="item.finalPrice" placeholder="请输入" @input="calcFinalValue(item)" @change="handleErr(item, 'finalPrice')"> |
|
|
|
<input type="number" v-model="item.finalPrice" placeholder="请输入" @input="calcFinalValue(item)" @change="handleErr(item, 'finalPrice')"> |
|
|
|
元 |
|
|
|
元 |
|
|
@ -149,8 +151,14 @@ |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<view class="bottom"> |
|
|
|
<view class="bottom"> |
|
|
|
|
|
|
|
<template v-if="!edited && !orderId"> |
|
|
|
|
|
|
|
<view class="next-wrap"> |
|
|
|
|
|
|
|
<view class="lg-btn next" @click="toAdd(0)">下一步</view> |
|
|
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else> |
|
|
|
<view v-if="!orderId || isHandle" class="add-wrap"> |
|
|
|
<view v-if="!orderId || isHandle" class="add-wrap"> |
|
|
|
<view class="add-btn" @click="toAdd"> |
|
|
|
<view class="lg-btn" @click="toAdd"> |
|
|
|
<uni-icons class="icon" type="plus" color="#007FFF"></uni-icons> |
|
|
|
<uni-icons class="icon" type="plus" color="#007FFF"></uni-icons> |
|
|
|
添加产品 |
|
|
|
添加产品 |
|
|
|
</view> |
|
|
|
</view> |
|
|
@ -176,6 +184,7 @@ |
|
|
|
<view v-if="auth('订单管理:发货') && (isHandle || (!orderId && courses.length))" class="btn" @click="batchDeliver">{{ courses.find(e => !e.ship) ? '一键发货' : '取消全部发货' }}</view> |
|
|
|
<view v-if="auth('订单管理:发货') && (isHandle || (!orderId && courses.length))" class="btn" @click="batchDeliver">{{ courses.find(e => !e.ship) ? '一键发货' : '取消全部发货' }}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
</template> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
<view v-if="isDetail" class="action"> |
|
|
|
<view v-if="isDetail" class="action"> |
|
|
@ -242,6 +251,7 @@ |
|
|
|
isEdit: 0, // 编辑 |
|
|
|
isEdit: 0, // 编辑 |
|
|
|
isHandle: 0, // 处理 |
|
|
|
isHandle: 0, // 处理 |
|
|
|
isRenew: 0, // 续费 |
|
|
|
isRenew: 0, // 续费 |
|
|
|
|
|
|
|
edited: false, |
|
|
|
orderId: '', |
|
|
|
orderId: '', |
|
|
|
orderTypes: [{ |
|
|
|
orderTypes: [{ |
|
|
|
text: '正式', |
|
|
|
text: '正式', |
|
|
@ -328,6 +338,7 @@ |
|
|
|
this.isEdit = action === 'edit' |
|
|
|
this.isEdit = action === 'edit' |
|
|
|
this.isHandle = action === 'handle' |
|
|
|
this.isHandle = action === 'handle' |
|
|
|
this.isRenew = action === 'renew' |
|
|
|
this.isRenew = action === 'renew' |
|
|
|
|
|
|
|
this.edited = uni.getStorageSync('orderEdited') |
|
|
|
const store = uni.getStorageSync('courses') |
|
|
|
const store = uni.getStorageSync('courses') |
|
|
|
this.getTeam(!store) |
|
|
|
this.getTeam(!store) |
|
|
|
if (store) { |
|
|
|
if (store) { |
|
|
@ -1060,13 +1071,16 @@ |
|
|
|
.line { |
|
|
|
.line { |
|
|
|
display: flex; |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
justify-content: space-between; |
|
|
|
padding: 12rpx 0; |
|
|
|
padding: 28rpx 0; |
|
|
|
margin: 5px 0; |
|
|
|
|
|
|
|
font-size: 12px; |
|
|
|
font-size: 12px; |
|
|
|
|
|
|
|
border-bottom: 1px solid #E6E8ED; |
|
|
|
|
|
|
|
&:last-child { |
|
|
|
|
|
|
|
border-bottom: 0; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.label { |
|
|
|
.label { |
|
|
|
font-size: 28rpx; |
|
|
|
font-size: 28rpx; |
|
|
|
color: #999; |
|
|
|
color: #333; |
|
|
|
} |
|
|
|
} |
|
|
|
.ph { |
|
|
|
.ph { |
|
|
|
font-size: 28rpx; |
|
|
|
font-size: 28rpx; |
|
|
@ -1097,12 +1111,14 @@ |
|
|
|
background-color: #fff; |
|
|
|
background-color: #fff; |
|
|
|
box-shadow: 0 -2px 2px #f5f5f5; |
|
|
|
box-shadow: 0 -2px 2px #f5f5f5; |
|
|
|
box-sizing: border-box; |
|
|
|
box-sizing: border-box; |
|
|
|
} |
|
|
|
.add-wrap { |
|
|
|
.add-wrap { |
|
|
|
|
|
|
|
padding: 16rpx 24rpx 40rpx; |
|
|
|
padding: 16rpx 24rpx 40rpx; |
|
|
|
background-color: #f5f5f5; |
|
|
|
background-color: #f5f5f5; |
|
|
|
} |
|
|
|
} |
|
|
|
/deep/.add-btn { |
|
|
|
.next-wrap { |
|
|
|
|
|
|
|
padding: 24rpx 24rpx 0; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
/deep/.lg-btn { |
|
|
|
display: flex; |
|
|
|
display: flex; |
|
|
|
justify-content: center; |
|
|
|
justify-content: center; |
|
|
|
align-items: center; |
|
|
|
align-items: center; |
|
|
@ -1118,6 +1134,11 @@ |
|
|
|
.uni-icons { |
|
|
|
.uni-icons { |
|
|
|
font-size: 38rpx !important; |
|
|
|
font-size: 38rpx !important; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
&.next { |
|
|
|
|
|
|
|
color: #fff; |
|
|
|
|
|
|
|
background-color: #007EFF; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.product { |
|
|
|
.product { |
|
|
|
display: flex; |
|
|
|
display: flex; |
|
|
@ -1221,12 +1242,6 @@ |
|
|
|
margin-left: 10rpx; |
|
|
|
margin-left: 10rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.period { |
|
|
|
|
|
|
|
flex: none; |
|
|
|
|
|
|
|
width: 100rpx; |
|
|
|
|
|
|
|
font-size: 28rpx; |
|
|
|
|
|
|
|
text-align: center; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.ship-info { |
|
|
|
.ship-info { |
|
|
|
height: 400rpx; |
|
|
|
height: 400rpx; |
|
|
|
padding: 30rpx; |
|
|
|
padding: 30rpx; |
|
|
|