You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2176 lines
75 KiB
2176 lines
75 KiB
<!-- 销售商品 -->
|
|
<template>
|
|
<view class="page1">
|
|
<!-- <view class="content"> -->
|
|
<view class="content-box" style="z-index: 98;width: 100%;margin-bottom: 0;">
|
|
<!-- <view class="notice">
|
|
<u-notice-bar mode='horizontal' bgColor="#088FEB" color="#eee" :text="noticeData"></u-notice-bar>
|
|
</view> -->
|
|
<view class="content-box">
|
|
<view class="content-list" @tap.stop="goPopleList('khName')">
|
|
<view class="list-name">客户</view>
|
|
<view class="list-val">
|
|
<input type="text" placeholder="请选择客户" disabled :value="((shopId=='1863043415453863936'|| shopId=='1810179818189361152') && khName.name == '散客')?'客户':khName.name"
|
|
style="border-bottom: 1px solid #fff;text-align: center;">
|
|
<uni-icons type="right" size="16" style="margin-left: 80rpx;line-height: 80rpx;"></uni-icons>
|
|
</view>
|
|
</view>
|
|
<view class="shop-box" style="border-bottom: 1px solid #eee;margin-bottom: 20rpx;">
|
|
<view style="height: 80rpx;display: flex;padding: 5px 0;border-bottom: 1px solid #eee;">
|
|
<view @tap.stop="scanCodeAdd" style="width: 33.33%;text-align: center;line-height: 70rpx;">
|
|
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/b3d67b975feb44edb12f0fd0a6e1afdf.png"
|
|
alt="" style="width: 28%;height: 77% !important;padding-right: 20rpx;" @tap.stop="checksaoma()" />
|
|
<uni-icons type="scan" size="12"></uni-icons>
|
|
<text>扫一扫</text>
|
|
</view>
|
|
<view @tap.stop="isSnList('')"
|
|
style="width: 33.33%;text-align: center;line-height: 70rpx;border-left: 1px solid #eee;">
|
|
<uni-icons type="plusempty" size="12"></uni-icons>
|
|
<text>新增商品</text>
|
|
</view>
|
|
<view @tap.stop="goodsAdd"
|
|
style="width: 33.33%;text-align: center;line-height: 70rpx;border-left: 1px solid #eee;">
|
|
<uni-icons type="plusempty" size="12"></uni-icons>
|
|
<text>选库存</text>
|
|
</view>
|
|
</view>
|
|
<view style="height: 150rpx;width: 100%;display: flex;" @tap="toggle('center',item)">
|
|
<view style="width: 70rpx;height: 70rpx;margin: 40rpx;display: block;overflow: hidden;">
|
|
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/27e2655fe19f454d93970f968d91fbef.png"
|
|
alt="" style="width: 100%;height: 100%;" />
|
|
</view>
|
|
<view style="padding-left: 11rpx;">
|
|
<view style="height: 80rpx;font-size: 30rpx;font-weight: bold;line-height: 80rpx;">
|
|
AI开单
|
|
</view>
|
|
<view>
|
|
<radio @tap.stop="voiceGetOne" :checked="voiceGetOneData"/>
|
|
<text>根据货号模糊搜索</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="scroll-content" style="overflow: scroll;">
|
|
<view class="content-box">
|
|
<view class="shop-box" style="border-top:10rpx solid #eee;" v-for="(value,key) in Array.from(carList)"
|
|
:key="key">
|
|
<view class="shop-name" style="height: 310rpx;position: relative;" v-if="value[1].isNew">
|
|
<view class="new-logo">新</view>
|
|
<view class="u-upload"
|
|
v-if="(value[1].productPicture == '' || value[1].productPicture == undefined) && value[1].isNew == true"
|
|
@tap="uploadFilePromise(value)"></view>
|
|
<view class="u-upload"
|
|
v-if="value[1].productPicture != '' && value[1].productPicture != undefined && value[1].isNew == true"
|
|
@longpress="uploadFilePromise(value)" @tap="getZhuBigImage(value[1].productPicture)"></view>
|
|
<view
|
|
style="width: 140rpx;height: 280rpx;margin: 30rpx 0 0 30rpx;display: flex;flex-direction: column;">
|
|
<img class="img-radius" :src="value[1].productPicture" alt=""
|
|
style="width: 140rpx;height: 140rpx;"
|
|
v-if="value[1].productPicture !=null && value[1].productPicture !=''">
|
|
<view v-else
|
|
style="width: 100%;height: 140rpx;border-radius: 10px;border: 1px solid #eee;line-height: 140rpx;text-align: center;">
|
|
<uni-icons type='plusempty' size='26'></uni-icons>
|
|
</view>
|
|
<view style="width: 140rpx;height:34rpx;line-height: 34rpx;margin-top: 20rpx;">
|
|
<view @tap.stop="delShop(value[0])" style="background:#088FEB" class="left-btn">
|
|
删除
|
|
</view>
|
|
</view>
|
|
<view class="one-goods" @tap="pictureAdd(value[0])">
|
|
上传多图
|
|
<view class="jiaobiao" v-if="value[1].productPictures != ''">
|
|
{{value[1].productPictures.length}}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="shop-productName" style="margin-top: 20rpx;">
|
|
<view style="display: flex;height: 55rpx;line-height: 55rpx;">
|
|
品名:<input type="text" :value="value[1].productName" @blur="getName($event,value[0])"
|
|
style="height: 55rpx;border-bottom: 1px solid #eee;color:#777;width: 318rpx;padding-left: 20rpx;">
|
|
</view>
|
|
<view style="display: flex;height: 55rpx;line-height: 55rpx;">
|
|
货号:<input type="text" @focus="newProductId=''" @input="sninput($event,value[0])"
|
|
@blur="getSnIsRepeat($event,value[0])" v-model="value[1].productSn"
|
|
style="height: 55rpx;border-bottom: 1px solid #eee;color:#777;width: 252rpx;padding-left: 20rpx;">
|
|
<uni-icons type="refresh" color="#777" size='30' @tap="getOneId(value[0])"></uni-icons>
|
|
</view>
|
|
<view style="display: flex;height: 55rpx;line-height: 55rpx;" v-if="value[1].isNew">
|
|
分类: <text
|
|
style="color: #777;padding-left: 20rpx;">{{value[1].categoryName==null?'':value[1].categoryName}}</text>
|
|
<uni-icons type="compose" color="#777" size='25'
|
|
@tap="toggle('typePopup',value[0])"></uni-icons>
|
|
</view>
|
|
<view style="display: flex;height: 55rpx;line-height: 55rpx;">
|
|
单价:<input type="digit" v-model="value[1].discountAmount"
|
|
@tap="obtainPrice($event,'danjia',value[0])" disabled
|
|
style="height: 55rpx;border-bottom: 1px solid #eee;color:#777;width: 230rpx;padding-left: 20rpx;">
|
|
</view>
|
|
<view style="display: flex;height: 55rpx;line-height: 55rpx;">
|
|
数量: <text
|
|
style="height: 55rpx;border-bottom: 1px solid #eee;color:#777;width: 100rpx;padding-left: 20rpx;">
|
|
{{value[1].productCount}}
|
|
</text>
|
|
总价: <text
|
|
style="height: 55rpx;border-bottom: 1px solid #eee;color:#777;width: 140rpx;padding-left: 20rpx;">
|
|
{{value[1].price}}
|
|
</text>
|
|
</view>
|
|
<!-- <view style="color:#FF5809;">{{value[1].productName}} ({{value[1].productSn}})</view> -->
|
|
<!-- <view>¥{{value[1].discountAmount}} * {{value[1].productCount}} 总价:{{value[1].price}}
|
|
</view> -->
|
|
<!-- <view v-if="value[1].supplierName !=undefined">供应商:{{value[1].supplierName}}</view> -->
|
|
</view>
|
|
<view @tap="toggle('oneGoods',value[0])"
|
|
style="height: 54rpx;width: 140rpx;background: #088FEB;color: #fff;border-radius: 5px;text-align: center;position: absolute;bottom: 90rpx;right: 0px;line-height: 54rpx;">
|
|
语音录入
|
|
</view>
|
|
<view @tap="AiAddSpec(value[1],1)" class="tianjiaguige"
|
|
style="height: 54rpx;width: 140rpx;background: #088FEB;color: #fff;border-radius: 5px;text-align: center;position: absolute;top: 236rpx;right: 0px;line-height: 54rpx;">
|
|
添加规格
|
|
</view>
|
|
<!-- <view @tap.stop="getHistoryPrice(value[1].productId,value[0])"
|
|
v-if="khName !=''&&khName.name !='散客'"
|
|
style="background:#088FEB;position: absolute;bottom: 165rpx;right: 0;" class="left-btn">
|
|
上次价格
|
|
</view> -->
|
|
</view>
|
|
<view class="shop-name" style="position: relative;" v-else :style="{height:(shopId == '1819188261260759042' || shopId == '1811579958284390400')?'300rpx':'290rpx'}">
|
|
<view v-if="value[1].buyCount !=null && value[1].buyCount!=undefined && value[1].buyCount!='' && khName.name !='散客'" style="position: absolute;top: 110rpx;left: 31rpx;color: #fff;background: red;width: 140rpx;height: 40rpx;font-size: 22rpx;text-align: center;line-height: 40rpx;border-radius: 5px;">
|
|
购买次数:{{value[1].buyCount}}
|
|
</view>
|
|
<img @tap="getZhuBigImage(value[1].productPicture)" class="img-radius"
|
|
:src="value[1].productPicture" alt=""
|
|
style="width: 140rpx;height: 140rpx;margin: 30rpx 0 0 30rpx;"
|
|
v-if="value[1].productPicture">
|
|
<view class="noPic" v-else>暂无图片</view>
|
|
<view class="shop-productName">
|
|
<view style="color:#FF5809;">{{value[1].productName == null?'':value[1].productName}}
|
|
({{value[1].productSn}})</view>
|
|
<view>
|
|
销售价:{{value[1].discountAmount}} 数量: {{value[1].productCount}}
|
|
</view>
|
|
<view>
|
|
总价:{{value[1].price}}
|
|
</view>
|
|
<view v-if="value[1].returnCount > 0">
|
|
退货价:{{value[1].returnPrice}} 退货数: {{value[1].returnCount}}
|
|
</view>
|
|
<!-- <view v-if="value[1].supplierName !=undefined">供应商:{{value[1].supplierName}}</view> -->
|
|
</view>
|
|
|
|
<view @tap.stop="AiAddReturnSpec(value[1].productId)"
|
|
style="background:#088FEB;position: absolute;bottom: 70rpx;left: 34rpx;" class="left-btn">
|
|
同款退货
|
|
</view>
|
|
<view @tap.stop="clickPrice(value[0])"
|
|
style="background:#088FEB;position: absolute;bottom: 150rpx;right: 0;" class="left-btn">
|
|
改价
|
|
</view>
|
|
<view @tap.stop="AiAddSpec(value[1].productId)"
|
|
style="background:#088FEB;position: absolute;bottom: 10rpx;right: 0;" class="left-btn">
|
|
添加规格
|
|
</view>
|
|
<view @tap.stop="getHistoryPrice(value[1].productId,value[0])"
|
|
v-if="khName !=''&&khName.name !='散客'"
|
|
style="background:#088FEB;position: absolute;bottom: 223rpx;right: 0;" class="left-btn">
|
|
上次价格
|
|
</view>
|
|
<view @tap="toggle('oneGoodsOld',value[0])"
|
|
style="background:#088FEB;position: absolute;bottom: 80rpx;right: 0;" class="left-btn">
|
|
语音录入
|
|
</view>
|
|
<view @tap.stop="delShop(value[0])"
|
|
style="background:#088FEB;position: absolute;bottom: 10rpx;left: 30rpx;" class="left-btn">
|
|
移除商品
|
|
</view>
|
|
</view>
|
|
<view class="shop-type">
|
|
<view class="shop-collapse-item" v-if="discountType == '0'">
|
|
<view class="collapse-1">
|
|
<text>单价</text>
|
|
<input class="input" type="text" :value='value[1].unitPrice' disabled>
|
|
</view>
|
|
<view class="collapse-1">
|
|
<text>折扣(0-10)</text>
|
|
<input class="input" type="digit" @focus="obtainPrice($event,'danzhe',value[0])"
|
|
:value='value[1].discount' @blur="changeDis($event,value[0])">
|
|
</view>
|
|
<view class="collapse-1">
|
|
<text>折后价</text>
|
|
<input class="input" type="text" :value='value[1].price' disabled>
|
|
</view>
|
|
<view class="collapse-1">
|
|
<text>数量</text>
|
|
<input class="input" type="number" :value='value[1].productCount' disabled>
|
|
</view>
|
|
</view>
|
|
<view class="shop-checkList" v-if="value[1].stockLogList !=''">
|
|
<view class="shop-checkList-box" style="width: 67%;">
|
|
<text
|
|
style="text-align:center;width: 400rpx;display: inline-block;font-size: 30rpx;font-weight: bold;padding-left: 40rpx;">
|
|
规格
|
|
</text>
|
|
<text
|
|
style="font-size: 30rpx;color: #000;font-weight: bold;width: 60rpx;display: inline-block;text-align: center;">
|
|
库存
|
|
</text>
|
|
</view>
|
|
<view
|
|
style="font-size: 30rpx;color: #000;font-weight: bold;width: 152rpx;display: inline-block;text-align: right;">
|
|
数量
|
|
</view>
|
|
</view>
|
|
<view v-for="(values,keys) in Array.from(value[1].stockLogList)" :key='keys'
|
|
:id="values[1].uuid">
|
|
<view class="shop-collapse">
|
|
<view @tap.stop="delShopSpec(value[0],values[0])">
|
|
<uni-icons color="red" type="minus" size="26"></uni-icons>
|
|
</view>
|
|
<text @tap="checkSpec('颜色',value[0],values[0],numData(values[0])[0])">
|
|
{{numData(values[0])[0]}}
|
|
</text>
|
|
<text @tap="checkSpec('尺码',value[0],values[0],numData(values[0])[1])">
|
|
{{numData(values[0])[1]}}
|
|
</text>
|
|
<text style="width: 25%;font-size: 22rpx;color:red" v-if="values[1].productNum == null || values[1].productNum === '' || values[1].productNum == undefined">
|
|
无库存
|
|
</text>
|
|
<text style="width: 25%;font-size: 22rpx;" v-if="values[1].productNum != null && values[1].productNum !== ''">
|
|
{{values[1].productNum}}
|
|
</text>
|
|
<view style="text-align: left;padding-left: 10rpx;width:50%;display: flex;">
|
|
<view class="zuni-numbox">
|
|
<view @tap="oneMinusNum(value[0],values[0])"
|
|
class="zuni-numbox__minus zuni-numbox-btns" style="background: #f5f5f5;">
|
|
<text class="zuni-numbox--text">-</text>
|
|
</view>
|
|
<input v-model="values[1].productCount" disabled
|
|
@tap="obtainPrice($event,'mapdanjishu',value[0],values[0])"
|
|
class="zuni-numbox__value" type="number" />
|
|
<view @tap="onePlusNum(value[0],values[0])"
|
|
class="zuni-numbox__plus zuni-numbox-btns" style="background: #f5f5f5;">
|
|
<text class="zuni-numbox--text">+</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view v-for="(values1,keys1) in Array.from(value[1].returnList)" :key='keys1'
|
|
:id="values1[1].uuid" v-if="value[1].returnList !=''" style="color:red;">
|
|
<view class="shop-collapse">
|
|
<view @tap.stop="delShopReturnSpec(value[0],values1[0])">
|
|
<uni-icons color="red" type="minus" size="26"></uni-icons>
|
|
</view>
|
|
<text @tap="checkSpec('颜色',value[0],values1[0],numData(values1[0])[0])">
|
|
{{numData(values1[0])[0]}}
|
|
</text>
|
|
<text @tap="checkSpec('尺码',value[0],values1[0],numData(values1[0])[1])">
|
|
{{numData(values1[0])[1]}}
|
|
</text>
|
|
<text style="width: 25%;font-size: 22rpx;color:red" v-if="values1[1].productNum == null || values1[1].productNum ==='' ||values1[1].productNum==undefined">
|
|
无库存
|
|
</text>
|
|
<text style="width: 25%;font-size: 22rpx;" v-if="values1[1].productNum != null">
|
|
{{values1[1].productNum}}
|
|
</text>
|
|
<view style="text-align: left;padding-left: 10rpx;width:50%;display: flex;">
|
|
<view class="zuni-numbox">
|
|
<view @tap="oneMinusReturnNum(value[0],values1[0])"
|
|
class="zuni-numbox__minus zuni-numbox-btns" style="background: #f5f5f5;">
|
|
<text class="zuni-numbox--text">-</text>
|
|
</view>
|
|
<input v-model="values1[1].productCount" disabled
|
|
@tap="obtainPrice($event,'returnmapdanjishu',value[0],values1[0])"
|
|
class="zuni-numbox__value" type="number" />
|
|
<view @tap="onePlusReturnNum(value[0],values1[0])"
|
|
class="zuni-numbox__plus zuni-numbox-btns" style="background: #f5f5f5;">
|
|
<text class="zuni-numbox--text">+</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="shop-box" style="border-top:5px solid #eee;">
|
|
<view class="content-list">
|
|
<view class="list-name" style="width:30%;padding-left:0;">选择价格</view>
|
|
<view class="list-val" style="width:70%;display: flex;" v-if = 'shopId != "1960543009070256129"'>
|
|
<radio-group style="display: flex;">
|
|
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in priceItems"
|
|
:key="item.value" @tap="priceChange(item.value,index)" style="margin-right:0">
|
|
<view>
|
|
<radio :value="item.value"
|
|
:checked="index === priceCurrent" />
|
|
</view>
|
|
<view style="width: 100rpx;">{{item.name}}</view>
|
|
</label>
|
|
</radio-group>
|
|
</view>
|
|
<view class="list-val" style="width:70%;display: flex;" v-else>
|
|
<radio-group style="display: flex;">
|
|
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in priceItems1"
|
|
:key="item.value" @tap="priceChange(item.value,index)" style="margin-right:0">
|
|
<view>
|
|
<radio :value="item.value"
|
|
:checked="index === priceCurrent" />
|
|
</view>
|
|
<view style="width: 100rpx;">{{item.name}}</view>
|
|
</label>
|
|
</radio-group>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="shop-box">
|
|
<view class="content-list">
|
|
<view class="list-name" style="width:30%;padding-left:0;">折扣类型</view>
|
|
<view class="list-val" style="width:70%;display: flex;">
|
|
<radio-group @change="discountChange" style="display: flex;">
|
|
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in items"
|
|
:key="item.value" style="margin-right:0">
|
|
<view>
|
|
<radio :value="item.value" :checked="index == discountCurrent" />
|
|
</view>
|
|
<view style="width: 100rpx;">{{item.name}}</view>
|
|
</label>
|
|
</radio-group>
|
|
<view class="discount-num" v-if="discountType == '1'">
|
|
<input type="digit" style="width:150rpx;padding:0;text-align: center;"
|
|
v-model="discountNum" @focus="obtainPrice($event,'zhengti')" @blur="change($event)">
|
|
</view>
|
|
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="content-box" style="z-index: 97;">
|
|
<view class="price-box-list" style="">
|
|
<view class="price-box">
|
|
<view style="flex: 1;text-align: left;padding-left: 20rpx;">
|
|
客户:{{((shopId=='1863043415453863936'|| shopId=='1810179818189361152') && khName.name == '散客')?'客户':khName.name?khName.name:''}}
|
|
</view>
|
|
<view v-if="zhiqianqiankuan >= 0" style="flex: 1;text-align: right;padding-right: 20rpx;">
|
|
之前欠款:{{zhiqianqiankuan}}
|
|
</view>
|
|
<view v-if="zhiqianqiankuan < 0" style="flex: 1;text-align: right;padding-right: 20rpx;">
|
|
客户余额:{{Math.abs(zhiqianqiankuan)}}
|
|
</view>
|
|
</view>
|
|
<view class="content-list">
|
|
<view class="list-name">支付类型</view>
|
|
<uni-data-select class="uni-data-select" :localdata="payTypeList" v-model="payType"
|
|
placeholder="请选择支付类型" style="width: 60%;">
|
|
</uni-data-select>
|
|
</view>
|
|
<view class="content-list">
|
|
<view class="list-name">销售员</view>
|
|
<uni-data-select class="uni-data-select" :localdata="categoryList" v-model="xsyId"
|
|
placeholder="请选择销售员" style="width: 60%;"></uni-data-select>
|
|
</view>
|
|
<view class="content-list">
|
|
<view class="list-name">销售金额</view>
|
|
<view class="list-val">
|
|
<input type="digit" v-model="shouldPay" @blur="xiaoshouChange($event)"
|
|
@focus="obtainPrice($event,'xiaoshou')">
|
|
</view>
|
|
</view>
|
|
<view class="content-list">
|
|
<view class="list-name">退货金额</view>
|
|
<view class="list-val">
|
|
<input type="digit" v-model="returnPay" @blur="tuihuoChange($event)"
|
|
@focus="obtainPrice($event,'tuihuo')">
|
|
</view>
|
|
</view>
|
|
<view class="content-list">
|
|
<view class="list-name" @tap="getCountMethod">应收金额<uni-icons type="help" size="15"></uni-icons>
|
|
</view>
|
|
<view class="list-val">
|
|
<input type="digit" ref="relPriceinput" placeholder="请输入应收金额" v-model="relPrice"
|
|
@tap="obtainPrice($event,'relPrice')" disabled>
|
|
</view>
|
|
</view>
|
|
<view class="content-list">
|
|
<view class="list-name" style="width: 190rpx;">已收金额</view>
|
|
<view class="list-val" style="width: 400rpx;">
|
|
<input type="digit" placeholder="请输入已收金额" v-model="priceOk"
|
|
@tap="obtainPrice($event,'priceOk')" disabled>
|
|
</view>
|
|
<view v-if="priceOk < 0" @tap="noReturn"
|
|
style="flex: 1;height: 60rpx;line-height: 60rpx;margin-top: 10rpx;font-size: 24rpx;background: #00BFFF;text-align: center;color: #fff;border-radius: 20px;">
|
|
不退款
|
|
</view>
|
|
</view>
|
|
<view v-if="priceOk < 0"
|
|
style="color: red;font-size: 22rpx;text-align: left;width: 100%;padding-left: 40rpx;">
|
|
*已收金额为负,默认您已为客户退款,如不退款请更改已收金额
|
|
</view>
|
|
<view @tap="priceMore = !priceMore"
|
|
style="width: 95%;height: 80rpx;line-height: 80rpx;color:#777;font-size: 24rpx;text-align: center;border-bottom: 1px solid #eee;margin: 0 auto;">
|
|
<text>查看更多</text>
|
|
<uni-icons type="down" size="11" v-if="priceMore == false"></uni-icons>
|
|
<uni-icons type="up" size="11" v-if="priceMore"></uni-icons>
|
|
</view>
|
|
<view v-if="priceMore">
|
|
<view class="content-list" v-if="qiankuandikou != 0">
|
|
<view class="list-name">欠款抵退货</view>
|
|
<view class="list-val">
|
|
<input type="digit" v-model="qiankuandikou" disabled>
|
|
</view>
|
|
</view>
|
|
<view class="content-list" v-if="yuedikou != 0">
|
|
<view class="list-name">余额抵扣</view>
|
|
<view class="list-val">
|
|
<input type="digit" v-model="yuedikou" disabled>
|
|
</view>
|
|
</view>
|
|
<view class="content-list" v-if="xiaoshoudikou != 0">
|
|
<view class="list-name">销售抵退货</view>
|
|
<view class="list-val">
|
|
<input type="digit" v-model="xiaoshoudikou" disabled>
|
|
</view>
|
|
</view>
|
|
<view class="content-list" v-if="zhiqianqiankuan > 0">
|
|
<view class="list-name">累计欠款</view>
|
|
<view class="list-val">
|
|
<input type="digit" v-model="leijiqiankuan" disabled>
|
|
</view>
|
|
</view>
|
|
<view class="content-list" v-if="leijiqiankuan < 0">
|
|
<view class="list-name">累计余额</view>
|
|
<view class="list-val">
|
|
<input type="digit" v-model="Math.abs(leijiqiankuan)" disabled>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="content-list" v-if="noPay >= 0">
|
|
<view class="list-name">本次欠款</view>
|
|
<view class="list-val">
|
|
<input type="digit" v-model="noPay" disabled>
|
|
</view>
|
|
</view>
|
|
<view class="content-list" v-if="noPay < 0">
|
|
<view class="list-name">本次余额</view>
|
|
<view class="list-val">
|
|
<input type="digit" v-model="Math.abs(noPay)" disabled>
|
|
</view>
|
|
</view>
|
|
<view class="content-list">
|
|
<view class="list-name">其他费用</view>
|
|
<view class="list-val">
|
|
<input type="digit" placeholder="如无其他费用可忽略" v-model="otherExpense">
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="content-list" style="height: 193rpx;">
|
|
<view class="list-name">备注</view>
|
|
<view class="">
|
|
<textarea maxlength="-1" @input='changeRemark($event)' v-model="remark" />
|
|
</view>
|
|
</view>
|
|
<view class="content-list" style="height: 100rpx;padding-top: 15rpx;margin: 0 auto 150rpx;">
|
|
<view class="list-name" style="width: 195rpx;">开单时间</view>
|
|
<uni-datetime-picker type="date" :clear-icon="false" v-model="single"
|
|
@maskClick="maskClick"/>
|
|
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<!--<view class="content-box" style="margin-bottom: 130rpx;">
|
|
|
|
<view class="shop-box">
|
|
<view class="" style="border-bottom: 1px solid #eee;">
|
|
<view class="list-name" style="width: 100%;">发货方式</view>
|
|
<view class="list-val" style="width: 100%;padding-left:20rpx;height:200rpx;">
|
|
<radio-group @change="radioChange">
|
|
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in logisticsType"
|
|
:key="item.value">
|
|
<view>
|
|
<radio :value="item.value" :checked="index === lunbocurrent" />
|
|
</view>
|
|
<view>{{item.name}}</view>
|
|
</label>
|
|
</radio-group>
|
|
</view>
|
|
</view>
|
|
<view class="" v-if="radioType != '2'">
|
|
<view class="content-list" v-if="radioType == '0' || radioType == '1'"
|
|
@tap.stop="goPopleList(radioType == '0'? 'wlName' :'kdName')">
|
|
<view class="list-name" style="width:150rpx;padding-left: 0;">
|
|
{{radioType == '0'? '选择物流' :'选择快递'}}
|
|
</view>
|
|
<view class="list-val">
|
|
<input type="text" placeholder="请选择" disabled
|
|
:value="wlName.companyName || wlName.shippingMethod"
|
|
style="border-bottom: 1px solid #fff;text-align: center;padding-right: 54rpx;">
|
|
<uni-icons type="right" size="16"
|
|
style="margin-left: 80rpx;line-height: 80rpx;"></uni-icons>
|
|
</view>
|
|
</view>
|
|
<view class="content-list" v-if="radioType == '4'" @tap.stop="goPopleList('fcName')">
|
|
<view class="list-name" style="width:150rpx;padding-left:0;">选择车号</view>
|
|
<view class="list-val">
|
|
<input type="text" placeholder="请选择" disabled
|
|
:value="wlName.companyName || wlName.shippingMethod"
|
|
style="border-bottom: 1px solid #fff;text-align: center;">
|
|
<uni-icons type="right" size="16"
|
|
style="margin-left: 80rpx;line-height: 80rpx;"></uni-icons>
|
|
</view>
|
|
</view>
|
|
<view class="content-list" v-if="radioType == '5'" @tap.stop="goPopleList('dbName')">
|
|
<view class="list-name" style="width:150rpx;padding-left:0;">选择车号</view>
|
|
<view class="list-val">
|
|
<input type="text" placeholder="请选择" disabled
|
|
:value="wlName.companyName || wlName.shippingMethod"
|
|
style="border-bottom: 1px solid #fff;text-align: center;">
|
|
<uni-icons type="right" size="16"
|
|
style="margin-left: 80rpx;line-height: 80rpx;"></uni-icons>
|
|
</view>
|
|
</view>
|
|
<view class="content-list" v-if="radioType =='0' || radioType =='5' || radioType =='4'">
|
|
<view class="list-name" style="width:150rpx;padding-left:0;">配送方式</view>
|
|
<view class="list-val" style="line-height: 90rpx;">
|
|
<uni-data-select clear='true' class="uni-data-select" :localdata="sex" v-model="value"
|
|
placeholder="请选择配送方式" @change="checkBoxChange"></uni-data-select>
|
|
</view>
|
|
</view>
|
|
<view class="content-list" v-if="radioType1 == '0' && radioType !=''"
|
|
@tap.stop="goPopleList(radioType == '1'? 'kdyName' :'lbgName')">
|
|
<view class="list-name" style="width:150rpx;padding-left:0;">
|
|
{{radioType == '1'? '快递员' :'拉包工'}}
|
|
</view>
|
|
<view class="list-val">
|
|
<input type="text" placeholder="可指定人员" disabled
|
|
:value="radioType == '1'? kdyName.workerName : lbgName.workerName"
|
|
style="border-bottom: 1px solid #fff;text-align: center;">
|
|
<uni-icons type="right" size="16"
|
|
style="margin-left: 80rpx;line-height: 80rpx;"></uni-icons>
|
|
</view>
|
|
</view>
|
|
<view class="content-list" v-if="radioType == '3'">
|
|
<view class="list-name" style="padding-left:0;">拼包地址</view>
|
|
<view class="">
|
|
<textarea maxlength="-1" @input='changePbAddress($event)' :value='pbAddress' />
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>-->
|
|
<view @click="qushuju" v-if="isProductData" style="height: 60rpx;line-height: 60rpx;text-align: center;">
|
|
您有一笔订单未开单,点此<text style="color: #00BFFF;">一键恢复数据</text>
|
|
</view>
|
|
</view>
|
|
<!-- </view> -->
|
|
<view class="bottom-box">
|
|
<view class="bottom-left">
|
|
<text style="color: #FF7F00;font-weight: bold;">销:{{totalAmount}}件 共{{shouldPay}}元</text>
|
|
<text style="font-weight: bold;">退:{{returnTotalAmount}}件 共{{returnPay}}元</text>
|
|
<!-- <text style="color: #ffa200;">¥{{shouldPay == null ?0:shouldPay}}</text> -->
|
|
</view>
|
|
<view class="bottom-right">
|
|
<button class="bottom-btn" @tap.stop="hangOrderFn">挂单</button>
|
|
<button class="bottom-btn" @tap.stop="clearAll">清空</button>
|
|
<button class="bottom-btn" @tap.stop="showPrice1">开单</button>
|
|
</view>
|
|
</view>
|
|
<!-- 弹出输入框 -->
|
|
<uni-popup ref="inputDialog" background-color="#fff">
|
|
<view class="popup-pay-content">
|
|
<view class="popup-pay-title">
|
|
<text>选择商品价格</text>
|
|
</view>
|
|
<view class="popup-pay-container" @tap.stop="checkPay(lsprice,'')">
|
|
<text style="display: inline-block">{{shopId == '1960543009070256129' ? '日常价: ' : '零售价: '}}¥{{lsprice}}</text>
|
|
</view>
|
|
<view class="popup-pay-container" @tap.stop="checkPay(wholesalePrice,'')">
|
|
<text style="display: inline-block">{{shopId == '1960543009070256129' ? '直播价: ' : '批发价: '}}¥{{wholesalePrice}}</text>
|
|
</view>
|
|
<view class="popup-pay-container"
|
|
style="background: #fff;display: flex;width: 100%;height: 70rpx;color: #000;border: none;line-height: 70rpx;">
|
|
<view style="width:230rpx;">自定义售价:</view>
|
|
<input ref='priceD' type="digit"
|
|
style="height: 70rpx;line-height: 70rpx;color: #000;width: 200rpx;border-bottom: 1px solid #eee;"
|
|
placeholder="请输入售价" v-model="customPrice" @input="changePay">
|
|
</view>
|
|
<view class="popup-pay-container"
|
|
style="background: #fff;display: flex;width: 100%;height: 70rpx;color: #000;border: none;line-height: 70rpx;">
|
|
<view style="width:230rpx;">自定义退货:</view>
|
|
<input ref='returnPriceD' type="digit"
|
|
style="height: 70rpx;line-height: 70rpx;color: #000;width: 200rpx;border-bottom: 1px solid #eee;"
|
|
placeholder="请输入退货价" v-model="returnPrice" @input="changeReturnPay">
|
|
</view>
|
|
<view
|
|
style="width: 100%;color: #fff;height: 70rpx;background: #088FEB;border-radius: 5px;font-size: 30rpx;text-align: center;line-height: 70rpx;margin-top: 20rpx;"
|
|
@tap.stop="checkPay(customPrice,returnPrice)">确定</view>
|
|
</view>
|
|
</uni-popup>
|
|
<!-- 弹出分类选择 -->
|
|
<uni-popup ref="typePopup" background-color="#fff" :is-mask-click="true">
|
|
<view class="type-popup" style="margin-bottom: 0;">
|
|
<view style="height: 80rpx;font-size: 36rpx;font-weight: bold;line-height: 80rpx;text-align: center;">
|
|
选择分类
|
|
</view>
|
|
<view style="position: absolute;bottom: 0;height: 90rpx;width: 100%;background: #fff;z-index: 99;">
|
|
<view @tap="toggle('addGateDialog')"
|
|
style="width: 95%;height: 70rpx;line-height: 70rpx;text-align: center;background: linear-gradient(90deg, #60F3FF, #088FEB);border-radius: 5px;color: #fff;margin: 10rpx auto 0;">
|
|
新增分类
|
|
</view>
|
|
</view>
|
|
<view style="overflow: scroll;height: 630rpx;padding-bottom: 90rpx;">
|
|
<view v-for="(item,index) in indexList" :key="index" @tap="clickGategroy(item)"
|
|
style="height: 80rpx;font-size: 32rpx;width: 90%;line-height:80rpx;margin: 0 auto;border-top: 1px solid #eee;">
|
|
<view style="width: 89%;padding-left: 20rpx;float:left">{{item.categoryName}}</view>
|
|
<uni-icons type="right" size="18"></uni-icons>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
<!-- 新增分类输入框 -->
|
|
<uni-popup ref="addGateDialog" type="dialog">
|
|
<view class="type-popup"
|
|
style="width:100%;margin-bottom: 0;border-radius: 0;height: 400rpx;border-radius: 10px;">
|
|
<view style="height: 80rpx;font-size: 36rpx;font-weight: bold;line-height: 80rpx;text-align: center;">
|
|
新增分类
|
|
</view>
|
|
<view style="width: 90%;margin: 80rpx auto;">
|
|
<uni-easyinput type="text" v-model="categoryText" @blur="handleBlur" placeholder="请输入规格值" />
|
|
</view>
|
|
<view
|
|
style="width: 100%;height: 90rpx;line-height: 90rpx;text-align: center;border-radius: 0;background: linear-gradient(90deg, #60F3FF, #088FEB);color: #fff;display: flex;position: absolute;bottom: 0;">
|
|
<view style="width:50%;" @tap="$refs.addGateDialog.close()">取消</view>
|
|
<view style="width:50%;background: linear-gradient(90deg, #FF9797, #FFC1E0);" @tap="addGategory">确认
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
<!-- 弹出层 -->
|
|
<view class="tanchuceng">
|
|
<uni-popup ref="shopPopup" background-color="#fff">
|
|
<view class="shop-popup-content">
|
|
<view class="shop-popup-title">
|
|
<view class="shop-popup-title-left">
|
|
<img class="img-radius" :src="goodsDetail.productPicture" alt=""
|
|
v-if="goodsDetail.productPicture">
|
|
<view class="noPic" style="margin: 0;" v-else>暂无图片</view>
|
|
</view>
|
|
<view class="shop-popup-title-right">
|
|
<view class="shop-popup-title-right-box" style="color: #088FEB;">{{(goodsDetail.productName == undefined || goodsDetail.productName == null)?'':goodsDetail.productName}}
|
|
</view>
|
|
<view class="shop-popup-title-right-box">{{goodsDetail.productSn}}</view>
|
|
</view>
|
|
</view>
|
|
<view class="shop-popup-container" style="position: relative;">
|
|
<view @tap="saveCheck"
|
|
style="position: absolute;top: 46rpx;right: 20rpx;color: #088FEB;text-decoration: underline;z-index: 99;">
|
|
保存已选</view>
|
|
<view style="padding-left: 20rpx;color: #777;">*实心蓝色框为选中状态</view>
|
|
<ul style="border-top:20rpx;">
|
|
<li v-for="(items,index) in goodsDetail.attributeList" v-if="goodsDetail.isNew == true"
|
|
:key="index" style="position: relative;">
|
|
<view class="shop-title-fur">
|
|
<view class="shop-title-name">{{items.name}}</view>
|
|
</view>
|
|
<view @tap="getScanCodeCategroyId(items.name)"
|
|
style="position: absolute;top: 18rpx;left: 100rpx;color: #088FEB;text-decoration: underline;font-size: 24rpx;">
|
|
新增{{items.name}}
|
|
</view>
|
|
<view class="shop-attrs">
|
|
<view class="suibian" @longpress="longPrec(index,itemTag.value,index1)"
|
|
v-for="(itemTag, index1) in items.value" :key="index1"
|
|
@tap.stop="attrNameChange(index,itemTag.value,index1) "
|
|
:class="itemTag.isChecked ? 'checkedText' : '' " style="position: relative;">
|
|
{{itemTag.value}}
|
|
<view class="kucun" v-if="itemTag.isKucun"></view>
|
|
</view>
|
|
</view>
|
|
</li>
|
|
<li v-for="(items,index) in goodsDetail.attributeList"
|
|
v-if="goodsDetail.isNew != true && index == 0" :key="index" style="position: relative;">
|
|
<view class="shop-title-fur">
|
|
<view class="shop-title-name">{{items.name}}</view>
|
|
</view>
|
|
<view @tap="getScanCodeCategroyId(items.name)" v-if="goodsDetail.isNew == true"
|
|
style="position: absolute;top: 18rpx;left: 100rpx;color: #088FEB;text-decoration: underline;font-size: 24rpx;">
|
|
新增{{items.name}}
|
|
</view>
|
|
<view class="shop-attrs">
|
|
<view class="suibian" v-for="(itemTag, index1) in items.value" :key="index1"
|
|
@tap.stop="attrNameChange(index,itemTag.value,index1) "
|
|
:class="itemTag.isChecked ? 'checkedText' : '' " style="position: relative;">
|
|
{{itemTag.value}}
|
|
<view class="kucun" v-if="itemTag.isKucun"></view>
|
|
</view>
|
|
</view>
|
|
</li>
|
|
</ul>
|
|
<view style="padding-bottom:100rpx;">
|
|
<view class="shop-checkList" v-if="temporaryList != ''">
|
|
<view class="shop-checkList-box" style="width: 69.5%;">
|
|
<text
|
|
style="width: 69%;display: inline-block;font-size: 30rpx;font-weight: bold;padding-left: 40rpx;">
|
|
规格
|
|
</text>
|
|
<text
|
|
style="font-size: 30rpx;color: #000;font-weight: bold;width: 25%;display: inline-block;text-align: center;">
|
|
库存
|
|
</text>
|
|
</view>
|
|
<view class="zuni-numbox">
|
|
<view @tap="minusNum" class="zuni-numbox__minus zuni-numbox-btns"
|
|
style="background: #f5f5f5;">
|
|
<text class="zuni-numbox--text">-</text>
|
|
</view>
|
|
<input v-model="allChangeNum" @tap="obtainPrice($event,'zongjishu')" disabled
|
|
class="zuni-numbox__value" type="number" />
|
|
<view @tap="plusNum" class="zuni-numbox__plus zuni-numbox-btns"
|
|
style="background: #f5f5f5;">
|
|
<text class="zuni-numbox--text">+</text>
|
|
</view>
|
|
</view>
|
|
<!-- <uni-number-box max='1000000' @minus='minusNum' @plus="plusNum" v-model="allChangeNum" @blur="allChange" /> -->
|
|
</view>
|
|
<view class="shop-checkList" v-for="(item,index) in temporaryList" :key="index">
|
|
<view @tap.stop="delCarData(index)" style="margin-right: 20rpx;width: 7%;">
|
|
<uni-icons color="red" type="minus" size="26"></uni-icons>
|
|
</view>
|
|
<view class="shop-checkList-box">
|
|
<text style="width: 69%;display: inline-block;">{{item.name}}</text>
|
|
<text style="color:#777;font-size: 24rpx;color:red;width: 25%;display: inline-block;" v-if="item.productNum == null || item.productNum === '' || item.productNum ==undefined ">
|
|
无库存
|
|
</text>
|
|
<text style="color:#777;font-size: 24rpx;" v-if="item.productNum != null">
|
|
{{item.productNum}}
|
|
</text>
|
|
</view>
|
|
<!-- <uni-number-box max='1000000' min="-10000" v-model="item.productCount"
|
|
@change="temporaryChange($event,item)" /> -->
|
|
<view class="zuni-numbox">
|
|
<view @tap="mapMinusNum(index)" class="zuni-numbox__minus zuni-numbox-btns"
|
|
style="background: #f5f5f5;">
|
|
<text class="zuni-numbox--text">-</text>
|
|
</view>
|
|
<input v-model="item.productCount" @blur="numChange($event,index)"
|
|
@tap="obtainPrice($event,'danjishu',index)" disabled class="zuni-numbox__value"
|
|
type="number" />
|
|
<view @tap="mapPlusNum(index)" class="zuni-numbox__plus zuni-numbox-btns"
|
|
style="background: #f5f5f5;">
|
|
<text class="zuni-numbox--text">+</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="shop-popup-bottom" v-for="(item,index) in temporaryList" :key="index">
|
|
<view class="shop-popup-bottom-left">
|
|
<text>{{zNum}} 件</text>
|
|
<!-- <text>¥{{zPrice}}</text> -->
|
|
</view>
|
|
<view class="shop-popup-bottom-right">
|
|
<view class="bottom-btn" @tap.stop="temporaryCheck(false)">选好了</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
</view>
|
|
<!-- 历史价格弹出层 -->
|
|
<uni-popup ref="historyPopup" background-color="#fff">
|
|
<view class="popup-content">
|
|
<view class="popup-title">
|
|
<text>拿货历史价格</text>
|
|
<uni-icons @tap='this.$refs.historyPopup.close()' type="closeempty" color='red' size="16"
|
|
style="height:40rpx;line-height: 40rpx;position: absolute !important;bottom:0;right: 30rpx;"></uni-icons>
|
|
</view>
|
|
<view class="popup-container" v-if="historyList != null && historyList.discountAmount != null">
|
|
<view style="height: 60rpx;line-height: 60rpx;">上次拿货时间:</view>
|
|
<view style="height: 60rpx;line-height: 60rpx;">{{historyList.createTime}}</view>
|
|
<view style="height: 60rpx;line-height: 60rpx;">上次拿货数:{{historyList.productCount}}</view>
|
|
<view style="height: 60rpx;line-height: 60rpx;font-size: 36rpx;font-weight: bold;">
|
|
上次拿货价:{{historyList.discountAmount}}</view>
|
|
</view>
|
|
<view class="popup-container" v-else>
|
|
<view style="height: 150rpx;line-height: 150rpx;text-align: center;">暂无拿货历史</view>
|
|
</view>
|
|
<view class="popup-bottom" v-if="historyList != null">
|
|
<view class="popup-btn" @tap="checkPay(historyList.discountAmount,historyList.discountAmount)">一键使用历史价格</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
<!-- 语音识别弹出层 -->
|
|
<uni-popup ref="popup" background-color="#fff">
|
|
<view class="voice-popup-content" :style="{height:(oneGoodsId != ''?'650rpx':'600rpx'),'margin-bottom':(isChangeHeight?'500rpx':'0')}">
|
|
<view class="voice-popup-title">
|
|
<text>语音录入</text>
|
|
<uni-icons @tap='close' type="closeempty" color='red' size="16"
|
|
style="height:40rpx;line-height: 40rpx;position: absolute !important;bottom:0;right: 30rpx;"></uni-icons>
|
|
</view>
|
|
<view style="text-align: center;width: 100%;line-height: 40rpx;font-size: 22rpx;color: #777;">
|
|
{{oneGoodsId != ''?'语音示例:货号0237,数量10件,单价88,名称:裙子':'语音示例:货号02-37,白色M码,数量10件'}}
|
|
</view>
|
|
<view class="voice-popup-container">
|
|
<textarea maxlength="-1" name="" id="" @input="getText" @focus="isChangeHeight = true" @blur="isChangeHeight = false"
|
|
style="width:100%;height:248rpx;border:1px solid #eee;margin:0;" v-model="voiceText1"
|
|
placeholder="等待语音识别中..."></textarea>
|
|
<view>
|
|
<text style="color:red;font-size:22rpx;">*长按“语音”按钮录入,系统将自动识别</text>
|
|
</view>
|
|
<view class="voice-popup-bottom">
|
|
<view class="voice-popup-btn" @tap="clearText">清空</view>
|
|
<view class="voice-popup-btn" v-if="voiceType == 'new'" @tap="setDetail">确认</view>
|
|
<view class="voice-popup-btn" v-if="voiceType == 'old'" @tap="setOneDetailOld">确认</view>
|
|
</view>
|
|
</view>
|
|
<view class="voice-btn" @touchstart="kaishi" @touchend="jieshu">
|
|
<img src="/static/images/maikefeng.png" style="width: 80%;height: 80%;margin: 10%;" alt="">
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
<view class="voice-model" v-if="recordState == true">
|
|
<img src="/static/images/maikefeng.png" alt="">
|
|
<view class="voice-text">语音识别中...</view>
|
|
</view>
|
|
<!-- 金额展示框 -->
|
|
<uni-popup ref="showPopup" background-color="#fff">
|
|
<view class="popup-pay-content" style="width: 550rpx;">
|
|
<view class="popup-pay-title">
|
|
<text>请再次确认</text>
|
|
<uni-icons @tap='$refs.showPopup.close()' type="closeempty" color='red' size="16"
|
|
style="height:40rpx;line-height: 40rpx;position: absolute !important;bottom:0;right: 30rpx;"></uni-icons>
|
|
</view>
|
|
<view style="width: 90%;margin: 0 auto;height: 70rpx;line-height: 80rpx;font-size: 30rpx;">
|
|
开单客户:<text style="font-weight:bold;color:red;">{{((shopId=='1863043415453863936'|| shopId =='1810179818189361152') && khName.name == '散客')?'客户':khName.name}}</text>
|
|
</view>
|
|
<view>
|
|
<view style="width:100%;height: 140rpx">
|
|
<view
|
|
style="width: 200rpx;height: 120rpx;border: 3px solid #FFE4C4;border-radius: 10px;padding-top: 20rpx;display: flex;flex-direction: column;text-align: center;float: left;margin-left: 20rpx;">
|
|
<text style="font-weight: bold;">
|
|
销售金额
|
|
</text>
|
|
<text style="font-size: 30rpx;color: #000;font-weight: bold;">
|
|
¥{{shouldPay}}
|
|
</text>
|
|
</view>
|
|
<view v-if="noPay >= 0"
|
|
style="width: 200rpx;height: 120rpx;border: 3px solid #FFE4C4;border-radius: 10px;padding-top: 20rpx;display: flex;flex-direction: column;text-align: center;float: left;margin-left: 40rpx;">
|
|
<text style="font-weight: bold;">
|
|
本次欠款
|
|
</text>
|
|
<text style="font-size: 30rpx;color: #000;font-weight: bold;">
|
|
¥{{noPay}}
|
|
</text>
|
|
</view>
|
|
<view v-if="noPay < 0"
|
|
style="width: 200rpx;height: 120rpx;border: 3px solid #FFE4C4;border-radius: 10px;padding-top: 20rpx;display: flex;flex-direction: column;text-align: center;float: left;margin-left: 40rpx;">
|
|
<text style="font-weight: bold;">
|
|
本次余额
|
|
</text>
|
|
<text style="font-size: 30rpx;color: #000;font-weight: bold;">
|
|
¥{{Math.abs(noPay)}}
|
|
</text>
|
|
</view>
|
|
</view>
|
|
<view style="width: 100%;height: 140rpx;">
|
|
<view
|
|
style="width: 200rpx;height: 120rpx;border: 3px solid #FFE4C4;border-radius: 10px;padding-top: 20rpx;display: flex;flex-direction: column;text-align: center;float: left;margin-left: 20rpx;">
|
|
<text style="font-weight: bold;">
|
|
应收金额
|
|
</text>
|
|
<text style="font-size: 30rpx;color: #000;font-weight: bold;">
|
|
¥{{relPrice}}
|
|
</text>
|
|
</view>
|
|
<view
|
|
style="width: 200rpx;height: 120rpx;border: 3px solid #FFE4C4;border-radius: 10px;padding-top: 20rpx;display: flex;flex-direction: column;text-align: center;float: left;margin-left: 40rpx;">
|
|
<text style="font-weight: bold;">
|
|
已收金额
|
|
</text>
|
|
<text style="font-size: 30rpx;color: #000;font-weight: bold;">
|
|
¥{{priceOk}}
|
|
</text>
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
<view
|
|
style="width: 90%;height: auto;border: 3px solid #FFE4C4;border-radius: 10px;display: flex;flex-direction: column;text-align: center;margin: 0 auto 0;">
|
|
<view style="height: 50rpx;display: flex;">
|
|
<text style="font-size: 24rpx;flex: 1;">退货金额:</text>
|
|
<text style="font-size: 24rpx;flex: 1;font-weight: bold;">¥{{returnPay}}</text>
|
|
</view>
|
|
<view style="height: 50rpx;display: flex;" v-if="zhiqianqiankuan > 0">
|
|
<text style="font-size: 24rpx;flex: 1;">之前欠款:</text>
|
|
<text style="font-size: 24rpx;flex: 1;font-weight: bold;">¥{{zhiqianqiankuan}}</text>
|
|
</view>
|
|
<view style="height: 50rpx;display: flex;" v-if="zhiqianqiankuan < 0">
|
|
<text style="font-size: 24rpx;flex: 1;">客户余额:</text>
|
|
<text style="font-size: 24rpx;flex: 1;font-weight: bold;">¥{{Math.abs(zhiqianqiankuan)}}</text>
|
|
</view>
|
|
<view style="height: 50rpx;display: flex;">
|
|
<text style="font-size: 24rpx;flex: 1;">欠款抵退货:</text>
|
|
<text style="font-size: 24rpx;flex: 1;font-weight: bold;">¥{{qiankuandikou}}</text>
|
|
</view>
|
|
<view style="height: 50rpx;display: flex;">
|
|
<text style="font-size: 24rpx;flex: 1;">余额抵扣:</text>
|
|
<text style="font-size: 24rpx;flex: 1;font-weight: bold;">¥{{yuedikou}}</text>
|
|
</view>
|
|
<view style="height: 50rpx;display: flex;">
|
|
<text style="font-size: 24rpx;flex: 1;">销售抵退货:</text>
|
|
<text style="font-size: 24rpx;flex: 1;font-weight: bold;">¥{{xiaoshoudikou}}</text>
|
|
</view>
|
|
<view style="height: 50rpx;display: flex;" v-if="leijiqiankuan >= 0">
|
|
<text style="font-size: 24rpx;flex: 1;">累计欠款:</text>
|
|
<text style="font-size: 24rpx;flex: 1;font-weight: bold;">¥{{leijiqiankuan}}</text>
|
|
</view>
|
|
<view style="height: 50rpx;display: flex;" v-if="leijiqiankuan < 0">
|
|
<text style="font-size: 24rpx;flex: 1;">累计余额:</text>
|
|
<text style="font-size: 24rpx;flex: 1;font-weight: bold;">¥{{Math.abs(leijiqiankuan)}}</text>
|
|
</view>
|
|
<view style="height: 50rpx;display: flex;">
|
|
<text style="font-size: 24rpx;flex: 1;">其他费用:</text>
|
|
<text
|
|
style="font-size: 24rpx;flex: 1;font-weight: bold;">¥{{otherExpense == ''?'0':otherExpense}}</text>
|
|
</view>
|
|
</view>
|
|
<view class="popup-pay-container" style="display: flex;margin-top: 50rpx;background: #89CFF0;">
|
|
<view @tap='goSell'
|
|
style="flex:1;line-height: 80rpx;text-align: center;border-right: 1px solid #eee;">
|
|
确认无误去开单
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
<!-- AI开单选中未入库不展示的框 -->
|
|
<uni-popup ref="AiNoPopup" background-color="#fff">
|
|
<view class="popup-pay-content" style="max-height: 1000rpx;overflow: scroll;">
|
|
<view class="popup-pay-title">
|
|
<text>识别结果</text>
|
|
</view>
|
|
<view style="border-bottom: 1px solid #eee;" v-if="aiNotRecognition != ''">
|
|
<view style="margin-top:20rpx;">抱歉:小助手对“{{getMsg}}”的部分商品未识别,请检查识别信息是否正确:</view>
|
|
<view class="box-right" style="margin: 20rpx 0 20rpx;text-align: left;width: 100%;">
|
|
<text class="box-right-name"
|
|
style="font-size: 24rpx;padding: 20rpx 0;">{{aiNotRecognition}}</text>
|
|
</view>
|
|
</view>
|
|
<view style="background: #fff;width: 440rpx;">
|
|
<view @tap='$refs.AiNoPopup.close()'
|
|
style="width: 100%;line-height: 100rpx;text-align: center;background: #088FEB;margin-bottom: 10rpx;border-radius: 10px;color: #fff;">
|
|
确认
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
|
|
<!-- 弹出生成货号 -->
|
|
<uni-popup ref="SNDialog" background-color="#fff" :is-mask-click="true">
|
|
<view class="type-popup" style="max-height: 1000rpx;overflow: scroll;margin-bottom: 0;border-radius: 0;">
|
|
<view v-if="snList.length > 0"
|
|
style="height: 80rpx;font-size: 36rpx;font-weight: bold;line-height: 80rpx;text-align: center;">
|
|
点击选择已有规则
|
|
</view>
|
|
<view v-if="snList.length > 0" style="width: 90%;margin: 0 auto;">
|
|
<view v-for="(item,index) in snList" @tap="generateSn(item.value)" :key="index"
|
|
style="height: 80rpx;line-height: 80rpx;font-size: 28rpx;border-bottom: 1px solid #eee;display: flex;">
|
|
<view style="width: 90%;">{{index + 1}} 、 {{item.text}}</view>
|
|
<uni-icons type="right" size="16" style="width: 10%;text-align: center;"></uni-icons>
|
|
</view>
|
|
</view>
|
|
<view style="height: 80rpx;font-size: 36rpx;font-weight: bold;line-height: 80rpx;text-align: center;">
|
|
生成新规则
|
|
</view>
|
|
<view
|
|
style="height: 80rpx;font-size: 22rpx;font-weight: bold;line-height: 80rpx;color:red;text-align: center;">
|
|
*如生成新的货号规则,可在下方输入框新增
|
|
</view>
|
|
<view class="sn-content-list">
|
|
<view class="sn-list-name" style="width: 156rpx;">前缀</view>
|
|
<view class="sn-list-val" style="width: 245rpx;">
|
|
<input type="text" placeholder="请输入前缀规则" v-model="prefixRule" style="width:245rpx;">
|
|
</view>
|
|
</view>
|
|
<view class="sn-content-list">
|
|
<view class="sn-list-name" style="width: 156rpx;">生成位数</view>
|
|
<view class="sn-list-val" style="width: 245rpx;">
|
|
<input type="number" placeholder="请输入位数规则" v-model="numRule" style="width: 245rpx;">
|
|
</view>
|
|
</view>
|
|
<view @tap="startGetSn"
|
|
style="width: 100%;height: 70rpx;line-height: 70rpx;margin-top:20rpx;text-align: center;border-radius: 0;background: linear-gradient(90deg, #60F3FF, #088FEB);color: #fff;">
|
|
<view>开始生成</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
|
|
<!-- 弹出规格选择 -->
|
|
<uni-popup ref="getaPopup" background-color="#fff" :is-mask-click="true">
|
|
<view class="type-popup" style="margin-bottom: 0;border-radius: 0;">
|
|
<view style="height: 80rpx;font-size: 36rpx;font-weight: bold;line-height: 80rpx;text-align: center;">
|
|
修改当前规格
|
|
</view>
|
|
<view class="card-list">
|
|
<ul>
|
|
<li v-for="items in attrList" :key="items.id">
|
|
<view class="title-fur">
|
|
<view class="name">{{items.attributeName}}</view>
|
|
</view>
|
|
<view class="content-fur">
|
|
<view class="content-low" v-for="item in attributeValue" :key="item.id"
|
|
@tap="changeSpec(item.value)">{{item.value}}
|
|
</view>
|
|
</view>
|
|
</li>
|
|
</ul>
|
|
</view>
|
|
<view style="color: #333;width: 90%;margin: 0 auto 20rpx;">
|
|
<uni-easyinput v-model="specifications" placeholder="请输入规格值"></uni-easyinput>
|
|
</view>
|
|
|
|
<view @tap="changeSpec(specifications)"
|
|
style="width: 100%;height: 70rpx;line-height: 70rpx;text-align: center;border-radius: 0;background: linear-gradient(90deg, #60F3FF, #088FEB);color: #fff;">
|
|
<view>确认修改</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
<!-- 新增规格值弹窗 -->
|
|
<uni-popup ref="specDialog" background-color="#fff" :is-mask-click="true">
|
|
<view class="type-popup"
|
|
style="width:100%;margin-bottom: 0;border-radius: 0;height: 450rpx;border-radius: 10px;">
|
|
<view style="height: 120rpx;font-size: 36rpx;font-weight: bold;line-height: 120rpx;text-align: center;">
|
|
新增规格值
|
|
</view>
|
|
<view style="height: 80rpx;font-size: 28rpx;line-height: 80rpx;text-align: center;">
|
|
请在下方输入框中输入新规格
|
|
</view>
|
|
<view style="width: 90%;margin: 40rpx auto 0;">
|
|
<uni-easyinput type="text" v-model="categoryText" @blur="handleBlur" placeholder="请输入规格值" />
|
|
</view>
|
|
<view
|
|
style="width: 100%;height: 90rpx;line-height: 90rpx;text-align: center;border-radius: 0;background: linear-gradient(90deg, #60F3FF, #088FEB);color: #fff;display: flex;position: absolute;bottom: 0;">
|
|
<view style="width:50%;" @tap="dialogClose">取消</view>
|
|
<view style="width:50%;background: linear-gradient(90deg, #FF9797, #FFC1E0);"
|
|
@tap="dialogInputConfirm">确认</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
<!-- 同款退货弹窗 -->
|
|
<uni-popup ref="returnDialog" background-color="#fff" :is-mask-click="true">
|
|
<view class="shop-popup-content">
|
|
<view class="shop-popup-title">
|
|
<view class="shop-popup-title-left">
|
|
<img class="img-radius" :src="goodsReturnDetail.productPicture" alt=""
|
|
v-if="goodsReturnDetail.productPicture">
|
|
<view class="noPic" style="margin: 0;" v-else>暂无图片</view>
|
|
</view>
|
|
<view class="shop-popup-title-right">
|
|
<view class="shop-popup-title-right-box" style="color: #088FEB;">{{(goodsReturnDetail.productName == undefined || goodsReturnDetail.productName == null)?'':goodsReturnDetail.productName}}
|
|
</view>
|
|
<view class="shop-popup-title-right-box">{{goodsReturnDetail.productSn}}</view>
|
|
</view>
|
|
</view>
|
|
<view class="shop-popup-container" style="position: relative;">
|
|
<view style="padding-left: 20rpx;color: #777;">*实心蓝色框为选中状态</view>
|
|
<ul style="border-top:20rpx;">
|
|
<li v-for="(items,index) in goodsReturnDetail.attributeList"
|
|
v-if="goodsReturnDetail.isNew != true && index == 0" :key="index" style="position: relative;">
|
|
<view class="shop-title-fur">
|
|
<view class="shop-title-name">{{items.name}}</view>
|
|
</view>
|
|
<view class="shop-attrs">
|
|
<view class="suibian" v-for="(itemTag, index1) in items.value" :key="index1"
|
|
@tap.stop="attrReturnNameChange(index,itemTag.value,index1) "
|
|
:class="itemTag.isChecked ? 'checkedText' : '' " style="position: relative;">
|
|
{{itemTag.value}}
|
|
<view class="kucun" v-if="itemTag.isKucun"></view>
|
|
</view>
|
|
</view>
|
|
</li>
|
|
</ul>
|
|
<view style="padding-bottom:100rpx;">
|
|
<view class="shop-checkList" v-if="temporaryReturnList != ''">
|
|
<view class="shop-checkList-box" style="width: 100%;">
|
|
<text
|
|
style="width: 300rpx;display: inline-block;font-size: 30rpx;font-weight: bold;padding-left: 40rpx;">
|
|
规格
|
|
</text>
|
|
<text
|
|
style="font-size: 30rpx;color: #000;font-weight: bold;width: 110rpx;display: inline-block;text-align: right;">
|
|
库存
|
|
</text>
|
|
</view>
|
|
<view class="zuni-numbox">
|
|
<view @tap="minusReturnNum" class="zuni-numbox__minus zuni-numbox-btns"
|
|
style="background: #f5f5f5;">
|
|
<text class="zuni-numbox--text">-</text>
|
|
</view>
|
|
<input v-model="allChangeNum" @tap="obtainPrice($event,'zongReturnjishu')" disabled
|
|
class="zuni-numbox__value" type="number" />
|
|
<view @tap="plusReturnNum" class="zuni-numbox__plus zuni-numbox-btns"
|
|
style="background: #f5f5f5;">
|
|
<text class="zuni-numbox--text">+</text>
|
|
</view>
|
|
</view>
|
|
<!-- <uni-number-box max='1000000' @minus='minusNum' @plus="plusNum" v-model="allChangeNum" @blur="allChange" /> -->
|
|
</view>
|
|
<view class="shop-checkList" v-for="(item,index) in temporaryReturnList" :key="index">
|
|
<view @tap.stop="delReturnCarData(index)" style="margin-right: 20rpx;width: 7%;">
|
|
<uni-icons color="red" type="minus" size="26"></uni-icons>
|
|
</view>
|
|
<view class="shop-checkList-box">
|
|
<text style="width: 300rpx;display: inline-block;">{{item.name}}</text>
|
|
<text style="color:#777;font-size: 24rpx;color:red" v-if="item.productNum == null || item.productNum === '' || item.productNum ==undefined ">
|
|
无库存
|
|
</text>
|
|
<text style="color:#777;font-size: 24rpx;" v-if="item.productNum != null">
|
|
{{item.productNum}}
|
|
</text>
|
|
</view>
|
|
<!-- <uni-number-box max='1000000' min="-10000" v-model="item.productCount"
|
|
@change="temporaryChange($event,item)" /> -->
|
|
<view class="zuni-numbox">
|
|
<view @tap="mapMinusReturnNum(index)" class="zuni-numbox__minus zuni-numbox-btns"
|
|
style="background: #f5f5f5;">
|
|
<text class="zuni-numbox--text">-</text>
|
|
</view>
|
|
<input v-model="item.productCount" @blur="numReturnChange($event,index)"
|
|
@tap="obtainPrice($event,'returndanjishu',index)" disabled class="zuni-numbox__value"
|
|
type="number" />
|
|
<view @tap="mapPlusReturnNum(index)" class="zuni-numbox__plus zuni-numbox-btns"
|
|
style="background: #f5f5f5;">
|
|
<text class="zuni-numbox--text">+</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="shop-popup-bottom" v-for="(item,index) in temporaryReturnList" :key="index">
|
|
<view class="shop-popup-bottom-left">
|
|
<text>{{zReturnNum}} 件</text>
|
|
<!-- <text>¥{{zPrice}}</text> -->
|
|
</view>
|
|
<view class="shop-popup-bottom-right">
|
|
<!-- 退货选好了 -->
|
|
<view class="bottom-btn" @tap.stop="temporaryReturnCheck">选好了</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
<uni-popup ref="customPopup" background-color="#fff">
|
|
<view class="popup-content" style="width:600rpx;height: auto;max-height: 644px;margin-bottom: 0;overflow: scroll;">
|
|
<view style="height: 80rpx;font-size: 36rpx;font-weight: bold;line-height: 80rpx;text-align: center;">
|
|
超出最大可退货数量
|
|
</view>
|
|
<view v-for="(item,index) in checkCanBuy" :key="index">
|
|
<view style="height: auto;line-height: 60rpx;border-bottom: 1px solid #eee;">
|
|
<view style="font-weight: bold;">货号:{{item.productSn}}规格:{{item.attributeList}}</view>
|
|
<view>总售出数:{{item.buyCountAll}} 总退回数:{{item.returnCountAll}} <text style="color:red;">本次退货数:{{item.returnCountAllNew}}</text></view>
|
|
</view>
|
|
|
|
</view>
|
|
<view @tap="closeCustomPopup"
|
|
style="text-align:center;margin-top:20rpx;width: 100%;height: 60rpx;line-height: 60rpx;background: #088FEB;color: #fff;">
|
|
确认
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
<!-- 顶部语音开单单商品选择弹窗 -->
|
|
<uni-popup ref="oneDataPopup" background-color="#fff" :is-mask-click="true" v-show="showTan">
|
|
<view class="type-popup" style="margin-bottom: 0;border-radius: 0;">
|
|
<view style="height: 80rpx;font-size: 36rpx;font-weight: bold;line-height: 80rpx;text-align: center;">
|
|
查询到多个商品
|
|
</view>
|
|
<view class="card-list" style="margin:0 auto;">
|
|
<view class="right-box" v-for="(item,index) in moreData[currentPopupIndex]" :key='index'
|
|
@tap="clickGetOne(item)">
|
|
<view class="box-left">
|
|
<img :src="item.productPicture" alt="" v-if="item.productPicture">
|
|
<view class="noPic" style="margin:0;" v-else>暂无图片</view>
|
|
</view>
|
|
<view class="box-right">
|
|
<view class="box-right-name">
|
|
{{item.productSn}}
|
|
<text style="color: red;" v-if="item.delFlag == 0">(已下架)</text>
|
|
</view>
|
|
<view class="box-right-num">{{item.productName == null ?'':item.productName}}</view>
|
|
<view class="box-right-price">
|
|
<view class="voice-price-box" v-if="storageType== 0 && shopId != '1960543009070256129'">
|
|
<text>{{item.inStorageStatus==0?'待入库':item.purchasePrice == null ?'新商品':item.purchasePrice}}</text>
|
|
<text>采购价</text>
|
|
</view>
|
|
<view class="voice-price-box">
|
|
<text>{{item.wholesalePrice}}</text>
|
|
<text>{{shopId == '1960543009070256129' ? '直播价' : '批发价'}}</text>
|
|
</view>
|
|
<view class="voice-price-box">
|
|
<text>{{item.price}}</text>
|
|
<text>{{shopId == '1960543009070256129' ? '日常价' : '零售价'}}</text>
|
|
</view>
|
|
<view class="voice-price-box">
|
|
<text>{{item.stockCount}}</text>
|
|
<text>库存</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
|
|
<view class="mask-model" v-if="methodMask">
|
|
<view>实收金额计算方式</view>
|
|
<view>
|
|
{{methodText}}
|
|
</view>
|
|
</view>
|
|
<view class="mask-model" v-if="isVoice">貌似没有检测到您上次的语音录入信息,正在反复识别中...</view>
|
|
<u-keyboard ref="uKeyboard" @confirm='keyboardConfirm' @cancel="keyCancel" @close="keyCancel"
|
|
@change="valChange" @backspace="backspace" :overlay='true' :closeOnClickOverlay='true'
|
|
:defaultText="keyboardNum" mode="card" :show="showFu"></u-keyboard>
|
|
<u-keyboard ref="uKeyboard" @confirm='keyboardConfirm' @cancel="keyCancel" @close="keyCancel"
|
|
@change="valChange" @backspace="backspace" :overlay='true' :closeOnClickOverlay='true'
|
|
:defaultText="keyboardNum" mode="price" :show="showPrice"></u-keyboard>
|
|
|
|
<uni-popup ref="saomaType" background-color="#fff">
|
|
<view class="popup-pay-content">
|
|
<view class="popup-pay-title">
|
|
<text>选择开单方式</text>
|
|
</view>
|
|
<view class="popup-pay-container" @tap="checkSaomaType('0')">
|
|
<text style="display: inline-block">销售</text>
|
|
</view>
|
|
<view class="popup-pay-container" @tap="checkSaomaType('1')">
|
|
<text style="display: inline-block">退货</text>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
<!-- 弹出多图轮播 -->
|
|
<uni-popup ref="showImgDiaLog" background-color="#fff">
|
|
<view class="showImg-box">
|
|
<swiper indicator-dots class="swiper-box" @change="lunbochange" circular autoplay
|
|
:current="swiperDotIndex">
|
|
<swiper-item v-for="(item, index) in productPictures" :key="index" v-if="item.productPicture != ''">
|
|
<view class="swiper-item">
|
|
<image mode='aspectFit' :src="item.productPicture" alt=""
|
|
style="width: 100%;height: 100%;" />
|
|
</image>
|
|
</view>
|
|
</swiper-item>
|
|
</swiper>
|
|
<view @tap="pictureAdd(childrenId,'huan')" class="lb-btn">更换图片</view>
|
|
</view>
|
|
</uni-popup>
|
|
<!-- 价格为零的提醒弹窗 -->
|
|
<uni-popup ref="zeroDialog" background-color="#fff" :is-mask-click="true">
|
|
<view class="type-popup"
|
|
style="width:600rpx;margin-bottom: 0;border-radius: 0;height: 480rpx;border-radius: 10px;">
|
|
<view style="height: 120rpx;font-size: 36rpx;font-weight: bold;line-height: 120rpx;text-align: center;">
|
|
提示
|
|
</view>
|
|
<view style="font-size: 28rpx;line-height: 60rpx;text-align: center;padding: 0 20rpx 0;">
|
|
您的货号为“
|
|
<text v-for="(item,index) in zeroArr" :key="index" style="padding-right: 20rpx;">{{item}}</text>”的商品售价为0,是否继续开单?
|
|
</view>
|
|
<view
|
|
style="width: 100%;height: 90rpx;line-height: 90rpx;text-align: center;border-radius: 0;background: linear-gradient(90deg, #60F3FF, #088FEB);color: #fff;display: flex;position: absolute;bottom: 0;">
|
|
<view style="width:50%;" @tap="$refs.zeroDialog.close()">取消</view>
|
|
<view style="width:50%;background: linear-gradient(90deg, #FF9797, #FFC1E0);"
|
|
@tap="showPrice1('zeroNo')">确认</view>
|
|
</view>
|
|
</view>
|
|
</uni-popup>
|
|
</view>
|
|
</template>
|
|
|
|
<script src="@/utils/goodsList1.js">
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
page,
|
|
.page1 {
|
|
height: 100%;
|
|
overflow-y: scroll;
|
|
min-height: 100vh;
|
|
font-size: 28rpx;
|
|
}
|
|
|
|
.popup-pay-content {
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 30rpx;
|
|
width: 500rpx;
|
|
height: auto;
|
|
background-color: #fff;
|
|
}
|
|
|
|
.content {
|
|
border-top: 1px solid #eee;
|
|
|
|
}
|
|
|
|
.content-box {
|
|
width: 100%;
|
|
height: auto;
|
|
background: #fff;
|
|
margin-bottom: 20rpx;
|
|
|
|
}
|
|
|
|
.popup-pay-title {
|
|
font-size: 36rpx;
|
|
font-weight: bold;
|
|
text-align: center;
|
|
position: relative;
|
|
}
|
|
|
|
.popup-pay-container {
|
|
margin-top: 20rpx;
|
|
height: 80rpx;
|
|
border-radius: 10px;
|
|
background: #088FEB;
|
|
line-height: 80rpx;
|
|
text-align: center;
|
|
border-bottom: 1px solid #eee;
|
|
border-top: 1px solid #eee;
|
|
color: #fff;
|
|
}
|
|
|
|
.content-list {
|
|
width: 95%;
|
|
margin: 0 auto;
|
|
display: flex;
|
|
height: 80rpx;
|
|
border-bottom: 1px solid #eee;
|
|
}
|
|
|
|
.content-list:last-child {
|
|
border-bottom: none;
|
|
height: auto;
|
|
}
|
|
|
|
.list-name {
|
|
width: 200rpx;
|
|
text-align: left;
|
|
line-height: 80rpx;
|
|
height: 80rpx;
|
|
padding-left: 20rpx;
|
|
}
|
|
|
|
.list-val {
|
|
width: 560rpx;
|
|
height: 80rpx;
|
|
line-height: 80rpx;
|
|
}
|
|
|
|
.list-val input {
|
|
width: 400rpx;
|
|
height: 60rpx;
|
|
display: inline-block;
|
|
line-height: 60rpx;
|
|
float: left;
|
|
margin-top: 10rpx;
|
|
padding-left: 20rpx;
|
|
border-bottom: 1px solid #088FEB;
|
|
}
|
|
|
|
.uni-data-select {
|
|
width: 80%;
|
|
text-align: center;
|
|
}
|
|
|
|
.uni-select {
|
|
border: none !important;
|
|
border-radius: 0 !important;
|
|
}
|
|
|
|
.uni-select__input-placeholder {
|
|
color: #6a6a6a;
|
|
font-size: 28rpx !important;
|
|
width: 400rpx;
|
|
}
|
|
|
|
.uni-select__input-box {
|
|
.uni-icons {
|
|
margin-left: 50rpx;
|
|
margin-right: 10rpx;
|
|
}
|
|
}
|
|
|
|
.shop-box {
|
|
width: 95%;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.shop-name {
|
|
width: 100%;
|
|
height: 250rpx;
|
|
line-height: 80rpx;
|
|
border-top: 1px solid #eee;
|
|
border-bottom: 1px solid #eee;
|
|
font-size: 28rpx;
|
|
font-weight: bold;
|
|
display: flex;
|
|
}
|
|
|
|
.discount-num {
|
|
width: 160rpx;
|
|
}
|
|
|
|
.shop-productName {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding-left: 20rpx;
|
|
}
|
|
|
|
.shop-productName view {
|
|
height: 55rpx;
|
|
}
|
|
|
|
.checklist-group {
|
|
height: 80rpx !important;
|
|
}
|
|
|
|
.shop-collapse {
|
|
display: flex;
|
|
height: 80rpx;
|
|
font-size: 26rpx;
|
|
line-height: 80rpx;
|
|
}
|
|
|
|
.shop-collapse text {
|
|
width: 60%;
|
|
text-align: center;
|
|
border-right: 1px solid #eee;
|
|
}
|
|
|
|
.shop-collapse-item {
|
|
display: flex;
|
|
text-align: center;
|
|
background: #eee;
|
|
height: 110rpx;
|
|
|
|
.input {
|
|
border: 1px solid #eee;
|
|
background: #fff;
|
|
height: 60rpx;
|
|
}
|
|
}
|
|
|
|
.price-box {
|
|
width: 95%;
|
|
margin: 20rpx auto;
|
|
background: #eee;
|
|
height: 80rpx;
|
|
display: flex;
|
|
line-height: 80rpx;
|
|
text-align: center;
|
|
overflow: hidden;
|
|
border-radius: 10px;
|
|
background: #FDF5E6;
|
|
color: #EEB422;
|
|
background: linear-gradient(180deg, #fff, #FDF5E6);
|
|
border: 1px solid #FAEBD7;
|
|
}
|
|
|
|
.price-box-title {
|
|
width: 95%;
|
|
height: 80rpx;
|
|
line-height: 80rpx;
|
|
margin: 0 auto;
|
|
display: flex;
|
|
text-align: center;
|
|
border-bottom: 1px solid #eee;
|
|
}
|
|
|
|
.price-box-title text {
|
|
flex: 1;
|
|
}
|
|
|
|
.uni-list-cell {
|
|
margin-right: 110rpx;
|
|
display: flex;
|
|
float: left;
|
|
}
|
|
|
|
.bottom-box {
|
|
width: 100%;
|
|
display: flex;
|
|
background: #fff;
|
|
border-top: 1px solid #eee;
|
|
// height: 10%;
|
|
position: fixed;
|
|
bottom: 0;
|
|
z-index: 98;
|
|
}
|
|
|
|
.bottom-left {
|
|
flex: 1;
|
|
height: 110rpx;
|
|
font-size: 26rpx;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.notice {
|
|
width: 100%;
|
|
height: 56rpx;
|
|
}
|
|
|
|
.bottom-right {
|
|
width: 55%;
|
|
display: flex;
|
|
|
|
.bottom-btn {
|
|
margin: 0;
|
|
padding: 0;
|
|
width: 30%;
|
|
height: 70rpx;
|
|
text-align: center;
|
|
margin: 15rpx 0 0 2%;
|
|
color: #fff;
|
|
font-size: 28rpx;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
.bottom-btn:first-child {
|
|
background: linear-gradient(90deg, #FF9797, #FFC1E0);
|
|
border-top-left-radius: 70rpx;
|
|
border-bottom-left-radius: 70rpx;
|
|
margin-left: 20rpx;
|
|
}
|
|
|
|
.bottom-btn:last-child {
|
|
background: linear-gradient(90deg, #60F3FF, #088FEB);
|
|
border-top-right-radius: 70rpx;
|
|
border-bottom-right-radius: 70rpx;
|
|
}
|
|
}
|
|
|
|
.bottom-left text {
|
|
display: inline-block;
|
|
padding-left: 20rpx;
|
|
padding-top: 10rpx;
|
|
}
|
|
|
|
.bottom-btn {
|
|
width: 320rpx;
|
|
background: #D8BFD8;
|
|
color: #fff;
|
|
border-radius: 50rpx;
|
|
height: 85rpx;
|
|
margin-top: 15rpx;
|
|
}
|
|
|
|
textarea {
|
|
margin: 20rpx;
|
|
border: 1px solid #eee;
|
|
height: 150rpx;
|
|
width: 500rpx;
|
|
}
|
|
|
|
.shop-popup-content {
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 30rpx;
|
|
height: 1100rpx;
|
|
background-color: #fff;
|
|
margin-bottom: 30rpx;
|
|
overflow: scroll;
|
|
}
|
|
|
|
.shop-popup-title {
|
|
display: flex;
|
|
height: 180rpx;
|
|
border-bottom: 1px solid #eee;
|
|
margin-top: 20rpx;
|
|
}
|
|
|
|
.shop-popup-title-left {
|
|
width: 150rpx;
|
|
height: 150rpx;
|
|
}
|
|
|
|
.shop-popup-title-left img {
|
|
width: 150rpx;
|
|
height: 150rpx;
|
|
|
|
}
|
|
|
|
.shop-popup-title-right {
|
|
width: 400rpx;
|
|
margin-left: 30rpx;
|
|
}
|
|
|
|
.shop-popup-title-right-box {
|
|
height: 50rpx;
|
|
line-height: 50rpx;
|
|
}
|
|
|
|
.shop-popup-container {
|
|
width: 100%;
|
|
background: #fff;
|
|
height: 50rpx;
|
|
}
|
|
|
|
.shop-title-fur {
|
|
width: 95%;
|
|
height: 50rpx;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.shop-title-name {
|
|
font-size: 30rpx;
|
|
width: 50%;
|
|
float: left;
|
|
height: 50rpx;
|
|
line-height: 70rpx;
|
|
}
|
|
|
|
.shop-attrs {
|
|
.suibian {
|
|
display: inline-block;
|
|
border: 1px solid #5fd9ee;
|
|
margin: 20rpx;
|
|
margin-bottom: 0;
|
|
margin-left: 0;
|
|
background-color: #fff;
|
|
color: #5fd9ee;
|
|
padding: 0 20rpx;
|
|
min-width: 100rpx;
|
|
line-height: 70rpx;
|
|
height: 70rpx;
|
|
text-align: center;
|
|
border-radius: 20rpx;
|
|
}
|
|
|
|
.checkedText {
|
|
background-color: #5fd9ee;
|
|
color: #fff;
|
|
border-radius: 20rpx;
|
|
}
|
|
}
|
|
|
|
.shop-checkList {
|
|
display: flex;
|
|
height: 50rpx;
|
|
font-size: 28rpx;
|
|
line-height: 50rpx;
|
|
margin: 20rpx 0;
|
|
}
|
|
|
|
.shop-checkList-box {
|
|
height: 50rpx;
|
|
width: 60%;
|
|
}
|
|
|
|
.popup-content {
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 30rpx;
|
|
width: 500rpx;
|
|
height: 500rpx;
|
|
background-color: #fff;
|
|
}
|
|
|
|
.popup-title {
|
|
font-size: 36rpx;
|
|
font-weight: bold;
|
|
text-align: center;
|
|
position: relative;
|
|
}
|
|
|
|
.popup-container {
|
|
margin-top: 20rpx;
|
|
margin-top: 20rpx;
|
|
font-size: 32rpx;
|
|
}
|
|
|
|
.popup-bottom {
|
|
height: 80rpx;
|
|
color: #fff;
|
|
line-height: 80rpx;
|
|
margin-top: 50rpx;
|
|
}
|
|
|
|
.right-box {
|
|
width: 100%;
|
|
height: 190rpx;
|
|
display: flex;
|
|
border-bottom: 1px solid #eee;
|
|
position: relative;
|
|
}
|
|
|
|
.box-left {
|
|
width: 130rpx;
|
|
height: 131rpx;
|
|
background-size: 100%;
|
|
margin: 25rpx 30rpx 35rpx 10rpx;
|
|
border-radius: 20rpx;
|
|
}
|
|
|
|
.box-left img {
|
|
width: 100%;
|
|
height: 100%;
|
|
|
|
}
|
|
|
|
.box-right {
|
|
margin-top: 17rpx;
|
|
}
|
|
|
|
.box-right-name {
|
|
font-size: 30rpx;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.box-right-num {
|
|
padding: 5rpx 0;
|
|
color: #777;
|
|
}
|
|
|
|
.box-right-price {
|
|
display: flex;
|
|
font-size: 25rpx;
|
|
}
|
|
|
|
.voice-price-box {
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin-right: 20rpx;
|
|
}
|
|
|
|
.voice-price-box text:first-child {
|
|
color: #ffa200
|
|
}
|
|
|
|
.popup-btn {
|
|
text-align: center;
|
|
background: linear-gradient(90deg, #60F3FF, #088FEB);
|
|
}
|
|
.uni-calendar__content{
|
|
z-index:103 !important;
|
|
}
|
|
.shop-popup-bottom {
|
|
width: 95%;
|
|
height: 100rpx;
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 2.5%;
|
|
display: flex;
|
|
z-index: 120;
|
|
background: #fff;
|
|
}
|
|
|
|
.shop-popup-bottom-left {
|
|
width: 50%;
|
|
line-height: 80rpx;
|
|
}
|
|
|
|
.shop-popup-bottom-right {
|
|
width: 50%;
|
|
line-height: 100rpx;
|
|
|
|
.bottom-btn {
|
|
width: 70%;
|
|
line-height: 70rpx;
|
|
height: 70rpx;
|
|
text-align: center;
|
|
color: #fff;
|
|
font-size: 28rpx;
|
|
margin: 0 auto;
|
|
background: linear-gradient(90deg, #60F3FF, #088FEB);
|
|
border-radius: 70rpx;
|
|
}
|
|
}
|
|
|
|
.uni-numbox {
|
|
input {
|
|
padding-left: 0;
|
|
}
|
|
}
|
|
|
|
.noPic {
|
|
border-radius: 10px;
|
|
width: 140rpx;
|
|
height: 140rpx;
|
|
margin: 16rpx 0 0 30rpx;
|
|
text-align: center;
|
|
line-height: 140rpx;
|
|
color: #777;
|
|
background: #eee;
|
|
}
|
|
|
|
.list-val {
|
|
.uni-data-select {
|
|
text-align: left;
|
|
|
|
}
|
|
|
|
.uni-select__input-text {
|
|
padding-left: 120rpx;
|
|
}
|
|
|
|
.uni-select__selector {
|
|
position: absolute;
|
|
left: 0;
|
|
top: -240rpx
|
|
}
|
|
|
|
.uni-popper__arrow {
|
|
display: none;
|
|
}
|
|
|
|
.uni-select__selector-item text {
|
|
display: inline-block;
|
|
text-align: center;
|
|
}
|
|
}
|
|
|
|
.voice-popup-content {
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 30rpx;
|
|
width: 500rpx;
|
|
border-radius: 10px;
|
|
height: 600rpx;
|
|
background-color: #fff;
|
|
}
|
|
|
|
.voice-popup-title {
|
|
font-size: 36rpx;
|
|
font-weight: bold;
|
|
text-align: center;
|
|
position: relative;
|
|
}
|
|
|
|
.voice-popup-container {
|
|
margin-top: 20rpx;
|
|
}
|
|
|
|
.voice-popup-bottom {
|
|
display: flex;
|
|
height: 80rpx;
|
|
color: #fff;
|
|
line-height: 80rpx;
|
|
margin-top: 30rpx;
|
|
}
|
|
|
|
.voice-popup-btn {
|
|
flex: 1;
|
|
text-align: center;
|
|
background: linear-gradient(90deg, #FF9797, #FFC1E0);
|
|
}
|
|
|
|
.voice-popup-btn:last-child {
|
|
background: linear-gradient(90deg, #60F3FF, #088FEB);
|
|
}
|
|
|
|
.voice-model {
|
|
width: 300rpx;
|
|
height: 300rpx;
|
|
display: flex;
|
|
justify-content: center;
|
|
flex-flow: column;
|
|
position: fixed;
|
|
top: 50%;
|
|
left: 50%;
|
|
background: rgba(0, 0, 0, 0.5);
|
|
border-radius: 20rpx;
|
|
color: #fff;
|
|
text-align: center;
|
|
margin-left: -150rpx;
|
|
z-index: 999;
|
|
}
|
|
|
|
.voice-model img {
|
|
width: 200rpx;
|
|
height: 200rpx;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.voice-btn {
|
|
position: absolute;
|
|
bottom: -250rpx;
|
|
left: 30%;
|
|
width: 180rpx;
|
|
height: 180rpx;
|
|
background: #eee;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.type-popup {
|
|
width: 500rpx;
|
|
height: auto;
|
|
max-height: 900rpx;
|
|
overflow: scroll;
|
|
background: #fff;
|
|
border-radius: 10px;
|
|
position: relative;
|
|
margin-bottom: 40rpx;
|
|
}
|
|
|
|
.card-list {
|
|
width: 95%;
|
|
border-radius: 10rpx;
|
|
background: #fff;
|
|
height: auto;
|
|
margin: 40rpx auto 0;
|
|
|
|
}
|
|
|
|
.title-fur {
|
|
width: 95%;
|
|
height: 70rpx;
|
|
margin: 0 auto;
|
|
border-bottom: 1px solid #eee;
|
|
}
|
|
|
|
|
|
.content-fur {
|
|
padding-bottom: 25rpx;
|
|
}
|
|
|
|
.content-low {
|
|
width: auto;
|
|
border: 1px solid #eee;
|
|
display: inline-block;
|
|
min-width: 90rpx;
|
|
padding: 5rpx;
|
|
font-size: 35rpx;
|
|
text-align: center;
|
|
color: #777;
|
|
margin: 20rpx 0 0 20rpx;
|
|
}
|
|
|
|
.scroll-content {
|
|
height: 66%;
|
|
}
|
|
|
|
.kucun {
|
|
background: url(https://jewel-shop.oss-cn-beijing.aliyuncs.com/9428d632981647728829da336a1d24b3.png) no-repeat;
|
|
width: 50rpx;
|
|
height: 25rpx;
|
|
position: absolute;
|
|
top: -14rpx;
|
|
right: -15rpx;
|
|
background-size: 100%;
|
|
}
|
|
|
|
.zuni-numbox {
|
|
height: 60rpx;
|
|
display: flex;
|
|
flex-direction: row;
|
|
}
|
|
|
|
.zuni-numbox-btns {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0 16rpx;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.zuni-numbox__value {
|
|
margin: 0 4rpx;
|
|
width: 80rpx;
|
|
text-align: center;
|
|
font-size: 40rpx;
|
|
line-height: 60rpx;
|
|
height: 60rpx;
|
|
border-left-width: 0;
|
|
border-right-width: 0;
|
|
}
|
|
|
|
|
|
.zuni-numbox--text {
|
|
line-height: 40rpx;
|
|
|
|
font-size: 64rpx;
|
|
font-weight: 300;
|
|
}
|
|
|
|
.zuni-numbox .zuni-numbox--disabled {
|
|
color: #c0c0c0 !important;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.mask-model {
|
|
width: 60%;
|
|
height: 100rpx;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
margin: auto;
|
|
text-align: center;
|
|
background: rgba(0, 0, 0, 0.7);
|
|
color: #eee;
|
|
padding: 10rpx;
|
|
border-radius: 5px;
|
|
z-index: 99;
|
|
}
|
|
|
|
.new-logo {
|
|
position: absolute;
|
|
top: 35rpx;
|
|
left: 131rpx;
|
|
background: red;
|
|
color: #fff;
|
|
width: 40rpx;
|
|
height: 40rpx;
|
|
line-height: 40rpx;
|
|
text-align: center;
|
|
border-top-right-radius: 10px;
|
|
}
|
|
|
|
.u-upload {
|
|
position: absolute;
|
|
top: 30rpx;
|
|
left: 30rpx;
|
|
opacity: 0;
|
|
width: 140rpx;
|
|
height: 140rpx;
|
|
}
|
|
|
|
.left-btn {
|
|
font-weight: 800;
|
|
font-size: 28rpx;
|
|
color: #fff;
|
|
background: #088FEB;
|
|
border-radius: 5px;
|
|
width: 140rpx;
|
|
height: 50rpx;
|
|
line-height: 50rpx;
|
|
text-align: center;
|
|
}
|
|
|
|
.one-goods {
|
|
margin-top: 20rpx;
|
|
width: 100%;
|
|
height: 50rpx;
|
|
background: #088FEB;
|
|
font-size: 28rpx;
|
|
text-align: center;
|
|
line-height: 50rpx;
|
|
color: #fff;
|
|
border-radius: 5px;
|
|
position: relative;
|
|
}
|
|
|
|
.jiaobiao {
|
|
width: 40rpx;
|
|
height: 40rpx;
|
|
border-radius: 10px;
|
|
color: #fff;
|
|
background: red;
|
|
position: absolute;
|
|
top: -10rpx;
|
|
right: -10rpx;
|
|
text-align: center;
|
|
line-height: 40rpx;
|
|
font-size: 28rpx;
|
|
}
|
|
|
|
.sn-content-list {
|
|
width: 95%;
|
|
margin: 0 auto;
|
|
display: flex;
|
|
height: 80rpx;
|
|
border-bottom: 1px solid #eee;
|
|
}
|
|
|
|
.sn-content-list:last-child {
|
|
border-bottom: none;
|
|
height: auto;
|
|
}
|
|
|
|
.sn-list-name {
|
|
width: 200rpx;
|
|
text-align: left;
|
|
line-height: 80rpx;
|
|
height: 80rpx;
|
|
padding-left: 20rpx;
|
|
}
|
|
|
|
.showImg-box {
|
|
width: 700rpx;
|
|
height: 1000rpx;
|
|
}
|
|
|
|
.swiper-box {
|
|
height: 900rpx;
|
|
}
|
|
|
|
.swiper-item {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 900rpx;
|
|
color: #fff;
|
|
background-color: #cee1fd;
|
|
}
|
|
|
|
.lb-btn {
|
|
width: 100%;
|
|
height: 100rpx;
|
|
text-align: center;
|
|
line-height: 100rpx;
|
|
background: #088FEB;
|
|
color: #fff;
|
|
border-bottom-left-radius: 10px;
|
|
border-bottom-right-radius: 10px;
|
|
}
|
|
|
|
.sn-list-val {
|
|
width: 560rpx;
|
|
height: 80rpx;
|
|
line-height: 80rpx;
|
|
}
|
|
|
|
.sn-list-val input {
|
|
width: 400rpx;
|
|
height: 60rpx;
|
|
display: inline-block;
|
|
line-height: 60rpx;
|
|
float: left;
|
|
margin-top: 10rpx;
|
|
padding-left: 20rpx;
|
|
border-bottom: 1px solid #088FEB;
|
|
}
|
|
.uni-calendar__mask {
|
|
z-index: 103 !important;
|
|
}
|
|
@media screen and (min-width: 470px) {
|
|
.shop-popup-content {
|
|
height: 900rpx;
|
|
}
|
|
.yuyinluru{
|
|
padding: 0 10rpx;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
font-size: 24rpx;
|
|
}
|
|
.tianjiaguige{
|
|
padding: 0 10rpx;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
font-size: 24rpx;
|
|
}
|
|
}
|
|
@media screen and (min-width: 760px) {
|
|
.shop-popup-content {
|
|
height: 700rpx !important;
|
|
}
|
|
.vue-ref{
|
|
padding-bottom:0 !important;
|
|
}
|
|
.uni-date-single--x {
|
|
left: -100px !important;
|
|
}
|
|
}
|
|
</style>
|