<!-- 新增库存页 -->
<template>
	<view class="page1">
		<!-- <view class="content"> -->
		<view class="content-box" style="z-index: 98;width: 100%;margin-bottom: 0;">
			<view class="content-list" @tap="goPopleList('gysName')">
				<view class="list-name">供应商</view>
				<view class="list-val">
					<input type="text" placeholder="请选择供应商" disabled
						style="border-bottom: 1px solid #fff;padding-left: 100rpx;" :value="khName.consigneeName">
					<uni-icons type="right" size="16" style="margin-left: 80rpx;line-height: 80rpx;"></uni-icons>
				</view>
			</view>
			<view class="content-list">
				<view class="list-name">生成货号</view>
				<view class="list-val" style="width:560rpx;display: flex;">
					<radio-group style="display: flex;padding-left: 100rpx;">
						<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in isGenerateSn"
							:key="item.value" style="margin-right:0">
							<view>
								<radio :value="item.value" @tap.stop="isChange(index)"
									:checked="index === isGenerateSnRadio" />
							</view>
							<view style="width: 100rpx;">{{item.name}}</view>
						</label>
					</radio-group>
				</view>
			</view>
			<view class="content-list" v-if="isGenerateSnRadio == 0">
				<view class="list-name">货号规则</view>
				<uni-data-select class="uni-data-select" :clear="false" :delItem="true" :addItem="true"
					:localdata="snList" v-model="snName" placeholder="请选择货号规则" @change='changeSn' @addSn='addSn'
					@delItemSn='delItemSn'></uni-data-select>
			</view>
		</view>
		<view class="scroll-content" style="padding-bottom: 100px;">

			<view class="content-box" style="margin-bottom: 0;">
				<view class="shop-box" style="border-top:10rpx solid #eee;" v-for="(value,key) in Array.from(carList)"
					:key="key">
					<view class="shop-name">
						<view class="new-logo" v-if="value[1].isNew">新</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 class="" style="width: 140rpx;height: 280rpx;margin: 30rpx 0 0 30rpx;">
							<view @longpress="uploadFilePromise(value)"
								v-if="value[1].isNew != true || (value[1].isNew == true && value[1].productPicture != '' && value[1].productPicture != undefined && value[1].productPicture != null)"
								style="position: absolute;top: 130rpx;left: 31rpx;color: #fff;background: red;width: 140rpx;height: 40rpx;font-size: 22rpx;text-align: center;line-height: 40rpx;border-radius: 5px;">
								长按编辑
							</view>
							<img @tap="getZhuBigImage(value[1].productPicture)" @longpress="uploadFilePromise(value)"
								v-if="value[1].productPicture !=null && value[1].productPicture !=''" class="img-radius"
								style="width: 140rpx;height: 140rpx;display: block;overflow: hidden;"
								:src="value[1].productPicture" alt="">

							<view v-else @longpress="uploadFilePromise(value)"
								style="width: 100%;height: 140rpx;border-radius: 10px;border: 1px solid #eee;line-height: 140rpx;text-align: center;">
								<text v-if="value[1].isNew != true">暂无图片</text>
								<uni-icons v-if="value[1].isNew" type='plusempty' size='26'></uni-icons>
							</view>
							<view
								style="width: 140rpx;height:34rpx;line-height: 34rpx;display: flex;margin-top: 20rpx;">
								<view @tap.stop="delShop(value[0])" style="background:#088FEB" class="left-btn">
									删除
								</view>
								<view @tap="toggle('mergePopup',value[0])" class="left-btn" style="margin-left: 20rpx;">
									合并
								</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">
							<view
								style="position: absolute;top: 20rpx;right: 0;border: 1px solid #eee;width: 76rpx;height: 56rpx;line-height: 56rpx;border-radius: 5px;padding: 0 5rpx;color: #777;font-size: 26rpx;">
								<uni-icons type="closeempty" size=""></uni-icons>
								<text>{{value[1].productCount}}</text>
							</view>
							<view style="display: flex;height: 55rpx;line-height: 55rpx;">
								品名:<input type="text" v-if="value[1].isNew" :value="value[1].productName"
									@blur="getName($event,value[0])"
									style="height: 55rpx;border-bottom: 1px solid #eee;color:#777;width: 318rpx;padding-left: 20rpx;">
								<input type="text" v-else :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" v-if="value[1].isNew" @input="sninput($event,value[0])"
									@blur="getSnIsRepeat($event,value[0])" v-model="carList.get(value[0]).productSn"
									style="height: 55rpx;border-bottom: 1px solid #eee;color:#777;width: 274rpx;padding-left: 20rpx;">
								<input type="text" v-else disabled v-model="value[1].productSn"
									style="height: 55rpx;border-bottom: 1px solid #eee;color:#777;width: 318rpx;padding-left: 20rpx;">
								<uni-icons type="refresh" color="#777" size='25' v-if="value[1].isNew"
									@tap="generateSn(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 v-if='userType==0' style="display: flex;height: 55rpx;line-height: 55rpx;">
								单价:<input type="digit" v-model="value[1].purchasePrice"
									@blur="clickCollapse($event,value[0])"
									@focus="obtainPrice($event,'danjia',value[0])"
									style="height: 55rpx;border-bottom: 1px solid #eee;color:#777;width: 300rpx;padding-left: 20rpx;">
							</view>
							<view style="display: flex;height: 55rpx;line-height: 55rpx;">
								批发价: <input type="digit" @blur="PriceAndWho($event,value[0],'pi')"
									@focus="obtainPrice($event,'pifa',value[0])" v-model="value[1].wholesalePrice"
									style="height: 55rpx;border-bottom: 1px solid #eee;color:#777;width: 100rpx;padding-left: 20rpx;">
								零售价:<input type="digit" @blur="PriceAndWho($event,value[0])"
									@focus="obtainPrice($event,'lingshou',value[0])" v-model="value[1].lsprice"
									style="height: 55rpx;border-bottom: 1px solid #eee;color:#777;width: 100rpx;padding-left: 20rpx;">
							</view>
							<view @tap="addCustomPrice(value[0])" v-if="customerCategoryList != null"
								style="height: 54rpx;width: 140rpx;background: #088FEB;color: #fff;border-radius: 5px;text-align: center;position: absolute;top: 99rpx;right: 0px;line-height: 54rpx;">
								客户价格
							</view>
							<view @tap="toggle('oneGoods',value[0])"
								style="height: 54rpx;width: 140rpx;background: #088FEB;color: #fff;border-radius: 5px;text-align: center;position: absolute;top: 170rpx;right: 0px;line-height: 54rpx;">
								语音录入
							</view>
							<view @tap="AiAddSpec(value[1])"
								style="height: 54rpx;width: 140rpx;background: #088FEB;color: #fff;border-radius: 5px;text-align: center;position: absolute;top: 240rpx;right: 0px;line-height: 54rpx;">
								添加规格
							</view>
						</view>
					</view>
					<view class="shop-type">
						<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 class="" 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>
								<!-- <text style="color: red;">单价：￥{{item.price}}</text> -->
								<view style="text-align: left;padding-left: 10rpx;width:40%;display: flex;">
									<!-- <uni-number-box max="100000" style="margin-top:16rpx;"
										v-model="values[1].productCount"
										@change="GoodsNumChange($event,value,values[0])" /> -->
									<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"
											@blur="mapnumChange($event,value[0],values[0])"
											@focus="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>
				</view>
				<view class="shop-box"
					style="border-bottom: 1px solid #eee;border-top: 1px solid #eee;margin-bottom: 20rpx;">
					<u-grid :col="4" border>
						<u-grid-item index="add" @tap.stop="scanCodeAdd">
							<u-icon name="scan" size="25"></u-icon>
							<text>扫一扫</text>
						</u-grid-item>
						<u-grid-item index="add" @tap.stop="pictureAdd('')">
							<u-icon name="photo" size="25"></u-icon>
							<text>图片添加</text>
						</u-grid-item>
						<u-grid-item @tap.stop="isSnList('')">
							<u-icon name="plus" size="25"></u-icon>
							<text>新增商品</text>
						</u-grid-item>
						<u-grid-item @tap.stop="goodsAdd">
							<u-icon name="tags" size="25"></u-icon>
							<text>选库存</text>
						</u-grid-item>
					</u-grid>
				</view>
				<view style="height: 150rpx;width: 100%;display: flex;position: relative;" @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 @tap.stop="toggle('voiceBottom',item)"
							style="padding: 10rpx 20rpx;display: inline-block;background: #088FEB;border-radius: 7px;color: #fff;position: absolute;top: 20rpx;right: 20rpx;">
							上传提示图
						</view>
					</view>
				</view>
			</view>
			<view class="content-box" style="margin-bottom:110rpx;">
				<view class="price-box-list" style="margin-top:10rpx;">
					<view class="price-box" v-if="userType == 0">
						<view style="flex: 1;text-align: left;padding-left: 20rpx;">
							供应商:{{khName.consigneeName?khName.consigneeName:''}}
						</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" v-if="userType == 0">
						<view class="list-name">应付金额</view>
						<view class="list-val">
							<input type="digit" placeholder="请输入应付金额" v-model="shouldPay"
								@focus="obtainPrice($event,'shouldPay')" @blur="changessPrice($event)">
						</view>
					</view>
					<view class="content-list" v-if="userType == 0">
						<view class="list-name">已付金额</view>
						<view class="list-val">
							<input type="digit" placeholder="请输入已付金额" v-model="alreadyPay"
								@focus="obtainPrice($event,'alreadyPay')" @blur="changePay($event)">
						</view>
					</view>
					<view class="content-list" v-if="yuedikou != 0 && userType == 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="zhiqianqiankuan > 0 && userType == 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 && userType == 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 && userType == 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 && userType == 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" v-model="otherPay">
						</view>
					</view>
					<view class="content-list" style="height: 200rpx;">
						<view class="list-name">备注</view>
						<view class="">
							<textarea maxlength="-1" v-model="remark" />
						</view>
					</view>
					<view class="content-list" style="height: 100rpx;padding-top: 10rpx;">
						<view class="list-name">入库时间</view>
						<uni-datetime-picker type="date" :clear-icon="false" v-model="single" @maskClick="maskClick" />
					</view>
				</view>
			</view>
		</view>
		<!-- </view> -->
		<view class="bottom-box">
			<view class="bottom-left">
				<text>合计：{{totalAmount}}</text>
				<text style="color: #ffa200;" v-if="userType == 0">￥{{shouldPay}}</text>
			</view>
			<view class="bottom-right">
				<view class="bottom-btn" @tap='inventorySubmit'>入库</view>
			</view>
		</view>
		<!-- 弹出层 -->
		<view>
			<uni-popup ref="shopPopup" background-color="#fff" @change="clickClose">
				<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" 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: 10rpx;right: 20rpx;color: #088FEB;text-decoration: underline;z-index: 99;">
							保存已选
						</view>
						<ul style="border-top:20rpx;">
							<li v-for="(items,index) in goodsDetail.attributeList" :key="index"
								style="position: relative;" v-if="goodsDetail.isNew != true">
								<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">
									<uni-data-checkbox v-model="value" :localdata="range"></uni-data-checkbox>
									<text v-for="(itemTag, index1) in items.value" :key="index1"
										@tap.stop="attrNameChange(index,itemTag.value,index1)"
										:class="itemTag.isChecked ? 'checkedText' : '' "> {{itemTag.value}}</text>
								</view>
							</li>
							<li v-for="(items,index) in goodsDetail.attributeList" :key="index"
								style="position: relative;" v-if="goodsDetail.isNew == true">
								<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">
									<uni-data-checkbox v-model="value" :localdata="range"></uni-data-checkbox>
									<text @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' : '' "> {{itemTag.value}}</text>
								</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" @blur="allChange"
										@focus="obtainPrice($event,'zongjishu')" 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">
									<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' 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)"
										@focus="obtainPrice($event,'danjishu',index)" 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">
					<view class="shop-popup-bottom-left">
						<text>数量：{{zNum}} 件</text>
					</view>
					<view class="shop-popup-bottom-right">
						<view class="bottom-btn" @tap="temporaryCheck">选好了</view>
					</view>
				</view>
			</uni-popup>
		</view>
		<!-- 维护客户价格弹出层 -->
		<uni-popup ref="customPopup" background-color="#fff">
			<view class="popup-content" style="height: auto;max-height: 600rpx;margin-bottom: 0;">
				<view v-for="(item,index) in customerCategoryList" :key="index">
					<view style="height: 60rpx;line-height: 60rpx;">
						{{item.categoryName}}
					</view>
					<input type="digit" v-model='item.categoryPrice' placeholder="请输入客户价格"
						style="height: 60rpx;padding-left: 20rpx;border: 1px solid #eee;border-radius: 10rpx;">
				</view>
				<view @tap="updateCate"
					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="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>
		<!-- 弹出合并商品 -->
		<uni-popup ref="mergePopup" background-color="#fff" :is-mask-click="true">
			<view class="type-popup" style="max-height: 1000rpx;overflow: scroll;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="shop-box" v-for="(value,key) in Array.from(carList)" :key="key"
					v-if="value[1].id != mergeId" @tap="clickMerge(value[0])">
					<view class="shop-name" style="height: 150rpx;">
						<view class="" style="width: 100rpx;height: 100rpx;margin: 20rpx 0 0 20rpx;font-size: 22rpx;">
							<img @tap="getZhuBigImage(value[1].productPicture)" v-if="value[1].productPicture"
								class="img-radius" style="width: 100rpx;height: 100rpx;display: block;overflow: hidden;"
								:src="value[1].productPicture" alt="">
							<view v-else class="img-radius"
								style="width: 100rpx;height: 100rpx;display: block;overflow: hidden;text-align: center;line-height: 100rpx;border: 1px solid #eee;">
								暂无图片</view>
						</view>
						<view class="shop-productName" style="height: 130rpx;">
							<view style="display: flex;height: 55rpx;line-height: 55rpx;">
								{{value[1].productName}}
							</view>
							<view style="display: flex;height: 55rpx;line-height: 55rpx;">
								货号:{{value[1].productSn}}
							</view>
						</view>
					</view>
				</view>
				<view style="line-height: 80rpx;font-size: 22rpx;color: #777;text-align: center;">
					没有要合并的商品？那就去库存里看看吧~ ↓↓
				</view>
				<view @tap="goChooseGoods"
					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="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 style="height: 80rpx;font-size: 36rpx;font-weight: bold;line-height: 80rpx;text-align: center;">
					请输入货号生成规则
				</view>
				<view class="content-list">
					<view class="list-name" style="width: 156rpx;">前缀</view>
					<view class="list-val" style="width: 245rpx;">
						<input type="text" placeholder="请输入前缀规则" v-model="prefixRule" style="width:245rpx;">
					</view>
				</view>
				<view class="content-list">
					<view class="list-name" style="width: 156rpx;">生成位数</view>
					<view class="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 style="text-align:center;color:red;font-size: 22rpx;">*如果当前规格中没有您想要的，可以手动输入</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 class="rightBox">
									<u-icon size="20" name="plus" color="#5fd9ee"
										@tap="inputDialogToggle(items.id)"></u-icon>
								</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="inputDialog" 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="请输入规格值"
						ref="clearInput" />
				</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="popup" background-color="#fff" @change="yuyinChange">
			<view class="voice-popup-content" :style="{'margin-bottom':isChangeHeight?'700rpx':'0'}">
				<view class="voice-popup-title">
					<text>语音录入</text>
					<uni-icons @tap='$refs.popup.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;">
					示例:货号0237，数量10件，单价88，名称:裙子，批发价:12
				</view>
				<view class="voice-popup-container">
					<textarea maxlength="-1" name="" id=""
						style="width:100%;height:240rpx;border:1px solid #eee;margin:0;" @focus="isChangeHeight = true"
						@blur="isChangeHeight = false" v-model="voiceText1" @input="getText"
						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" @tap="setDetail">确认</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>
		<!-- 底部语音识别弹出层 -->
		<uni-popup ref="voiceBottomPopup" background-color="#fff" @change="yuyinChange">
			<view class="voice-popup-content1">
				<view style="height: 600rpx;overflow: scroll;width: 100%;">
					<view v-if="promptImg!=''">
						<view style="text-align: center;height: auto;color:red;width:100%;">
							*长按可更换图片
						</view>
						<image mode='widthFix' :src="promptImg" @tap="getZhuBigImage(promptImg)"
							@longpress="uploadFile(value)" alt="" style="width: 100%;" />
						</image>
					</view>
					<view v-if="promptImg == ''"
						style="text-align: center;height: 150rpx;width:100%;line-height: 150rpx;font-size: 36rpx;font-weight: bold;">
						温馨提示
					</view>
					<view v-if="promptImg == ''" style="text-align: center;height: auto;color:red;width:100%;">
						如果您的入库单为电子版，或者查看入库单不方便，可以点击下方“+”号上传图片，对照进行语音入库,已经上传的图片可“长按更换”
					</view>
					<view v-if="promptImg == ''" @tap="uploadFile"
						style="margin-top:20rpx;width: 100%;height: 200rpx;border: 1px solid #777;border-radius: 10px;text-align: center;line-height: 200rpx;">
						<uni-icons type='plusempty' size='50'></uni-icons>
					</view>
				</view>
				<view class="voice-popup-title">
					<text>语音录入</text>
					<text @tap='$refs.voiceBottomPopup.close()'
						style="font-size: 28rpx;color: red;height: 40rpx;line-height: 40rpx;position: absolute !important;bottom: 10rpx;right: 30rpx;">
						关闭
					</text>
				</view>

				<view style="text-align: center;width: 100%;line-height: 40rpx;font-size: 22rpx;color: #777;">
					示例:货号0237，数量10件，单价88，名称:裙子，批发价:12
				</view>
				<view class="voice-popup-container">
					<textarea maxlength="-1" name="" id="" @input="getText"
						style="width:100%;height:240rpx;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"
							style="border-top-left-radius: 70rpx;border-bottom-left-radius: 70rpx;">清空</view>
						<view class="voice-popup-btn" style="background:linear-gradient(90deg, #60F3FF, #088FEB)"
							@tap="setDetail">确认</view>
						<view class="voice-popup-btn"
							style="background:linear-gradient(90deg, #FF9797, #FFC1E0);border-top-right-radius: 70rpx;border-bottom-right-radius: 70rpx;"
							@touchstart="kaishi" @touchend="jieshu">语音</view>
					</view>
				</view>
			</view>
		</uni-popup>
		<!-- 顶部语音开单单商品选择弹窗 -->
		<uni-popup ref="oneDataPopup" background-color="#fff" :is-mask-click="true" v-show="showTan"
			@change="changeMore">
			<view class="type-popup" style="margin-bottom: 0;border-radius: 0;max-height: 1000rpx;overflow: scroll;">
				<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">
									<text>{{item.inStorageStatus==0?'待入库':item.purchasePrice == null ?'新商品':item.purchasePrice}}</text>
									<text>采购价</text>
								</view>
								<view class="voice-price-box">
									<text>{{item.wholesalePrice}}</text>
									<text>批发价</text>
								</view>
								<view class="voice-price-box">
									<text>{{item.price}}</text>
									<text>零售价</text>
								</view>
								<view class="voice-price-box">
									<text>{{item.stockCount}}</text>
									<text>库存</text>
								</view>
							</view>
						</view>
					</view>
				</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">
						<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>
		<view class="voice-model" v-if="recordState == true">
			<img src="/static/images/maikefeng.png" alt="">
			<view class="voice-text">语音识别中...</view>
		</view>
		<view class="mask-model" v-if="isVoice">貌似没有检测到您上次的语音录入信息，正在反复识别中</view>
	</view>
</template>

<script>
	import {
		mapState
	} from 'vuex';
	import {
		generateUUID
	} from '@/utils/global.js'
	import base from '@/utils/ossUploadFile/base64.js';
	var plugin = requirePlugin("WechatSI")
	let manager = plugin.getRecordRecognitionManager()
	export default {
		computed: mapState(['shopName']),
		data() {
			return {
				isVoice: false,
				allChangeNum: 0,
				voiceText: '',
				voiceText1: '',
				khName: [],
				isChangeHeight: false,
				carList: new Map(),
				remark: '',
				voiceGetOneData: false,
				otherPay: '',
				noPay: 0,
				promptImg: '',
				customerCategoryList: [],
				customerCategoryList1: [], //存放金额为空的客户分类，用于新增商品
				alreadyPay: '',
				realAmount: 0,
				shouldPay: '',
				userType: '',
				totalAmount: 0,
				customTypeId: '',
				index: '',
				index1: '',
				recordState: false,
				goodsDetail: [],
				temporaryList: [],
				zNum: 0,
				snList: [],
				carList1: [],
				zhuImg: '',
				zhuImgList: [],
				productNum: null,
				prefixRule: '',
				numRule: '',
				yuedikou: 0,
				isChangePriceOk: false,
				leijiqiankuan: 0,
				productId: '',
				oneGoodsId: '',
				showTan: false,
				currentPopupIndex: 0,
				moreData: [],
				goodsId: '',
				pageOldTemList: [],
				oldTemList: [],
				attrList: [],
				goodsList: [],
				mergeId: '',
				newTemList: [],
				pecsList: [],
				single: '',
				childrenId: '',
				isGenerateSnRadio: 1,
				productPictures: [],
				categoryText: '',
				dataObj: new Map(),
				isPlusAndMinus: false,
				indexList: [],
				evalue: [],
				attributeValue: [],
				specifications: '',
				current: 0,
				swiperDotIndex: 0,
				zhiqianqiankuan: 0,
				currentAnchor: '',
				temporaryNum: 0,
				isBottom: false,
				isGenerateSn: [{
						value: '0',
						name: '生成'
					},
					{
						value: '1',
						name: '不生成'
					}
				],
				snName: 'ty',
				defaultList: [{
					name: '颜色',
					value: [{
						value: '均色',
						checked: false,
					}, {
						value: '白色',
						checked: false,
					}, {
						value: '绿色',
						checked: false,
					}, {
						value: '黄色',
						checked: false,
					}, {
						value: '卡其色',
						checked: false,
					}, {
						value: '黑色',
						checked: false,
					}, {
						value: '浅蓝',
						checked: false,
					}, {
						value: '蓝色',
						checked: false,
					}, {
						value: '灰色',
						checked: false,
					}, {
						value: '咖色',
						checked: false,
					}, {
						value: '紫色',
						checked: false,
					}, {
						value: '红色',
						checked: false,
					}, {
						value: '米色',
						checked: false,
					}]
				}, {
					name: '尺码',
					value: [{
						value: '均码',
						checked: false,
					}, {
						value: 'XS码',
						checked: false
					}, {
						value: 'S码',
						checked: false,
					}, {
						value: 'M码',
						checked: false,
					}, {
						value: 'L码',
						checked: false,
					}, {
						value: 'XL码',
						checked: false,
					}, {
						value: '2XL码',
						checked: false,
					}, {
						value: '3XL码',
						checked: false,
					}, {
						value: '4XL码',
						checked: false,
					}, {
						value: '5XL码',
						checked: false,
					}]
				}],
				temporary: [] //修改单个规格值临时存放要修改的对象
			}
		},
		filters: {
			sliceMsg(val) {
				var name = ''
				if (typeof(val) == 'string') {
					let newObj = JSON.parse(val)
					for (let as in newObj) {
						name += newObj[as] + '/'
					}
				}
				return name;
			}
		},
		onShow() {
			uni.authorize({
				scope: 'scope.record',
				success() {

				},
				fail() {
					this.tui.toast("您未授权，语音功能可能会出现错误")
				}
			})
			uni.authorize({
				scope: 'scope.writePhotosAlbum',
				success() {

				},
				fail() {
					this.tui.toast("您未授权，图片上传功能可能会出现错误")
				}
			})
			uni.showLoading({
				title: '加载中...'
			})
			let that = this,
				isTrue = false

			if (this.merge == 1) {
				this.$refs.mergePopup.close();
				if (this.carList.has(this.carList1.id) == true) { //跟当前页面有相同的商品
					that.carList.get(that.mergeId).stockLogList.forEach(function(value1, key1) {
						that.carList.get(that.carList1.id).stockLogList.forEach(function(value, key) {
							if (key1 == key) {
								if (that.mergeId != that.carList1.id) {
									that.carList.get(that.carList1.id).stockLogList.get(key).productCount =
										Number(that.carList.get(that.carList1.id).stockLogList.get(key)
											.productCount) + Number(value1.productCount)
									isTrue = true
									that.carList.get(that.carList1.id).productCount += Number(value1
										.productCount)
								}
							}
						})
						if (isTrue == false) {
							that.carList.get(that.carList1.id).stockLogList.set(key1, value1)
							that.carList.get(that.carList1.id).productCount += Number(value1.productCount)
						}
					})

				} else {
					this.carList.get(this.mergeId).productId = this.carList1.id
					this.carList.get(this.mergeId).id = this.carList1.id
					this.carList.get(this.mergeId).productName = this.carList1.productName
					this.carList.get(this.mergeId).productPicture = this.carList1.productPicture
					this.carList.get(this.mergeId).productSn = this.carList1.productSn
					this.carList.get(this.mergeId).categoryId = this.carList1.categoryId
					this.carList.get(this.mergeId).wholesalePrice = this.carList1.wholesalePrice || 0
					this.carList.get(this.mergeId).lsprice = this.carList1.price || 0
					this.carList.get(this.mergeId).isNew = false
					this.carList.set(this.carList1.id, this.carList.get(this.mergeId))

				}
				if (this.mergeId != this.carList1.id) {
					this.carList.delete(this.mergeId)
				}
				that.carList.get(that.carList1.id).price1 = Number(that.carList.get(that.carList1.id).productCount) * that
					.carList
					.get(that.carList1.id).purchasePrice
				this.getAllPrice()
				setTimeout(res => {
					uni.hideLoading();
				}, 300)
				this.$forceUpdate()
				this.merge = 0
				return;
			}
			if (uni.getStorageSync('carList1') != '') {
				this.carList1 = JSON.parse(uni.getStorageSync('carList1'))
			} else {
				this.carList1 = this.carList1

			}
			if (this.carList1 != '') {
				isTrue = true
			}
			if (uni.getStorageSync('khName') != '') {
				this.khName = JSON.parse(uni.getStorageSync('khName'))
			} else {
				this.khName = JSON.parse(JSON.stringify(this.khName)) || ''
			}

			if (this.khName != '') {
				if (this.khName.noEarn != null && this.zhiqianqiankuan != this.khName.noEarn) {
					isTrue = true
				}
				if (this.khName.noEarn == null) {
					this.zhiqianqiankuan = 0
				} else {
					this.zhiqianqiankuan = this.khName.noEarn
				}
			}
			setTimeout(res => {
				this.getByCondition()
			}, 500);
			if (this.carList.size == 0) { //当前页没有数据
				for (let i = 0; i < this.carList1.length; i++) {
					let obj = {
						purchasePrice: this.userType == 0 ? this.carList1[i].purchasePrice : '', //进货价
						price1: 0,
						price: this.carList1[i].price,
						productCount: 0,
						customerCategoryList: this.carList1[i].customerCategoryRule != null ? this.checkPriceRule(this
							.carList1[i]
							.customerCategoryRule) : this.getNewProductRule(),
						id: this.carList1[i].productId != null ? this.carList1[i].productId : this.carList1[i].id,
						isNew: this.carList1[i].isNew, //是否是新商品
						productId: this.carList1[i].productId == null ? '' : this.carList1[i].productId,
						productName: this.carList1[i].productName,
						wholesalePrice: this.carList1[i].wholesalePrice || 0,
						categoryName: this.carList1[i].categoryName,
						categoryId: this.carList1[i].categoryId,
						attrId: this.carList1[i].attrId,
						lsprice: this.carList1[i].price || 0,
						productPicture: this.carList1[i].productPicture,
						productSn: this.carList1[i].productSn,
						productPictures: [],
						stockLogList: new Map(),
						stockLogList1: []
					}
					for (let m = 0; m < this.carList1[i].saleDetailQueryDTO.length; m++) {
						let productCount = Number(this.carList1[i].saleDetailQueryDTO[m].productCount)
						if (obj.stockLogList.has(this.carList1[i].saleDetailQueryDTO[m].attributeList) == true) {
							productCount += Number(obj.stockLogList.get(this.carList1[i].saleDetailQueryDTO[m]
									.attributeList)
								.productCount)
						}
						var data1 = {
							productCount: productCount,
							name: this.carList1[i].saleDetailQueryDTO[m].name,
							productNum: this.carList1[i].saleDetailQueryDTO[m].productNum
						}
						obj.stockLogList.set(this.carList1[i].saleDetailQueryDTO[m].attributeList, data1)
						obj.productCount += this.carList1[i].saleDetailQueryDTO[m].productCount == null ? 0 : Number(this
							.carList1[i].saleDetailQueryDTO[m].productCount)
						obj.price1 = Number(obj.productCount) * this.carList1[i].purchasePrice
					}
					let id = this.carList1[i].isNew == true ? this.carList1[i].id : this.carList1[i].productId
					this.carList.set(id, obj)
					
				}
				this.carList1 = []
			} else { //当前页有数据
				for (let i = 0; i < this.carList1.length; i++) {
					let id = this.carList1[i].isNew == true ? this.carList1[i].id : this.carList1[i].productId
					if (this.carList.has(this.carList1[i].id) == true) { //商品相同
						for (let m = 0; m < this.carList1[i].saleDetailQueryDTO.length; m++) {
							if (this.carList.get(this.carList1[i].id).stockLogList.has(this.carList1[i].saleDetailQueryDTO[
									m].attributeList) == true) { //规格相同

								var data1 = {
									productCount: Number(this.carList.get(this.carList1[i].id).stockLogList.get(this
										.carList1[
											i].saleDetailQueryDTO[m].attributeList).productCount) + Number(this
										.carList1[i]
										.saleDetailQueryDTO[m].productCount),
									name: this.carList1[i].saleDetailQueryDTO[m].name,
									productNum: this.carList1[i].saleDetailQueryDTO[m].productNum
								}

								this.carList.get(this.carList1[i].id).stockLogList.set(this.carList1[i].saleDetailQueryDTO[
									m].attributeList, data1)
							} else { //规格不同
								var data1 = {
									productCount: Number(this.carList1[i].saleDetailQueryDTO[m].productCount),
									name: this.carList1[i].saleDetailQueryDTO[m].name,
									productNum: this.carList1[i].saleDetailQueryDTO[m].productNum
								}
								this.carList.get(this.carList1[i].id).stockLogList.set(this.carList1[i].saleDetailQueryDTO[
									m].attributeList, data1)

							}
							this.carList.get(this.carList1[i].id).productCount += this.carList1[i].saleDetailQueryDTO[
								m].productCount == null ? 0 : Number(this.carList1[i].saleDetailQueryDTO[
								m].productCount)
							this.carList.get(this.carList1[i].id).price1 = Number(this.carList.get(this.carList1[i].id)
								.productCount) * this.carList.get(this.carList1[i].id).purchasePrice
						}
					} else { //商品不同
						let obj = {
							purchasePrice: this.userType == 0 ? this.carList1[i].purchasePrice : '', //进货价
							price1: 0,
							price: this.carList1[i].price,
							productCount: 0,
							customerCategoryList: this.carList1[i].customerCategoryRule != null ? this.checkPriceRule(
								this.carList1[i]
								.customerCategoryRule) : this.getNewProductRule(),
							id: this.carList1[i].productId != null ? this.carList1[i].productId : this.carList1[i].id,
							productId: this.carList1[i].productId == null ? '' : this.carList1[i].productId,
							isNew: this.carList1[i].isNew,
							productName: this.carList1[i].productName,
							wholesalePrice: this.carList1[i].wholesalePrice || 0,
							categoryName: this.carList1[i].categoryName,
							categoryId: this.carList1[i].categoryId,
							attrId: this.carList1[i].attrId,
							lsprice: this.carList1[i].price || 0,
							productPicture: this.carList1[i].productPicture,
							productSn: this.carList1[i].productSn,
							stockLogList: new Map(),
							stockLogList1: [],
							productPictures: [],
							name: ''
						}
						for (let m = 0; m < this.carList1[i].saleDetailQueryDTO.length; m++) {
							var data1 = {
								productCount: Number(this.carList1[i].saleDetailQueryDTO[m].productCount),
								name: this.carList1[i].saleDetailQueryDTO[m].name,
								productNum: this.carList1[i].saleDetailQueryDTO[m].productNum
							}
							obj.stockLogList.set(this.carList1[i].saleDetailQueryDTO[m].attributeList, data1)

							obj.name = this.carList1[i].saleDetailQueryDTO[m].name
							obj.productCount += this.carList1[i].saleDetailQueryDTO[m].productCount == null ? 0 : Number(
								this
								.carList1[i].saleDetailQueryDTO[m].productCount)
							obj.price1 = Number(obj.productCount) * this.carList1[i].purchasePrice
						}

						this.carList.set(id, obj)
					}
				}

			}
			this.$nextTick(() => {

				this.carList1 = []
				uni.removeStorageSync('carList1')
				uni.removeStorageSync('khName')
				uni.removeStorageSync('hangOrder')
				if (isTrue) {
					this.getAllPrice()
				}
				if (this.carList1 != '') {
					setTimeout(res => {
						uni.hideLoading();
					}, 2000)
				} else {
					setTimeout(res => {
						uni.hideLoading();
					}, 300)
				}
				this.$forceUpdate()
			})
		},
		onLoad(options) {
			this.userType = uni.getStorageSync('type')
			this.getSnList()
			this.getShopCategory()
			this.getCustomerCategoryList()
			this.getDefaultCategory()
			this.getMonth()
		},
		methods: {
			uploadFile() {
				let that = this;
				uni.chooseMedia({
					count: 1,
					mediaType: ['image'],
					sourceType: ['album'],
					camera: 'back',
					success(res) {
						uni.compressImage({
							src: res.tempFiles[0].tempFilePath,
							quality: 50,
							success: res1 => {

								uni.uploadFile({
									url: that.tui.interfaceUrl() + '/upload/file',
									filePath: res1.tempFilePath,
									name: 'file',
									header: {
										"content-type": "multipart/form-data",
										'accessToken': that.tui.getToken()
									},
									formData: {},
									success: (uploadFileRes) => {
										let path = JSON.parse(uploadFileRes.data)
										//后端返回的地址，存入图片地址
										that.promptImg = path.result
										that.$forceUpdate()
									}
								});
							}
						})

					}
				})
			},
			getMonth() {
				let date = new Date()
				let year = date.getFullYear().toString() //'年'
				let month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1).toString() : (date.getMonth() + 1)
					.toString() //'月'
				let da = date.getDate() < 10 ? '0' + date.getDate().toString() : date.getDate().toString() //'日'
				this.single = year + '-' + month + '-' + da //当天
			},
			//店铺规格库
			getShopCategory() {
				this.tui.request("/app/productCategory/getCategoryOfshop", "POST", {}, false, true).then((res) => {
					if (res.code == 200) {
						//this.specifiList[0] this.defaultList[1] 尺码
						//this.specifiList[1] this.defaultList[0] 颜色
						this.specifiList = res.result.productAttributeOfAddVos
						if (this.specifiList[0].attributeName == '尺码') {
							for (let m = 0; m < this.specifiList[0].productAttributeValueVoList
								.length; m++) { //尺码库
								let isysTrue = true
								for (let i = 0; i < this.defaultList[1].value.length; i++) { //合并尺码 默认尺码
									if (this.defaultList[1].value[i].value == this.specifiList[0]
										.productAttributeValueVoList[m].value) {
										isysTrue = false
									}
								}
								this.$nextTick(() => {
									if (isysTrue) {
										this.defaultList[1].value.push(this.specifiList[0]
											.productAttributeValueVoList[m])
									}
								})
							}
						} else {
							for (let m = 0; m < this.specifiList[0].productAttributeValueVoList
								.length; m++) { //颜色库
								let isTrue = true
								for (let i = 0; i < this.defaultList[0].value.length; i++) { //合并颜色 默认颜色
									if (this.defaultList[0].value[i].value == this.specifiList[0]
										.productAttributeValueVoList[m].value) {
										isTrue = false
									}
								}
								this.$nextTick(() => {
									if (isTrue) {
										this.defaultList[0].value.push(this.specifiList[0]
											.productAttributeValueVoList[m])
									}
								})

							}
						}
						if (this.specifiList[1].attributeName == '尺码') {
							for (let m = 0; m < this.specifiList[1].productAttributeValueVoList
								.length; m++) { //尺码库
								let isysTrue = true
								for (let i = 0; i < this.defaultList[1].value.length; i++) { //合并尺码 默认尺码
									if (this.defaultList[1].value[i].value == this.specifiList[1]
										.productAttributeValueVoList[m].value) {
										isysTrue = false
									}
								}
								this.$nextTick(() => {
									if (isysTrue) {
										this.defaultList[1].value.push(this.specifiList[1]
											.productAttributeValueVoList[m])
									}
								})
							}
						} else {
							for (let m = 0; m < this.specifiList[1].productAttributeValueVoList
								.length; m++) { //颜色库
								let isTrue = true
								for (let i = 0; i < this.defaultList[0].value.length; i++) { //合并颜色 默认颜色
									if (this.defaultList[0].value[i].value == this.specifiList[1]
										.productAttributeValueVoList[m].value) {
										isTrue = false
									}
								}
								this.$nextTick(() => {
									if (isTrue) {
										this.defaultList[0].value.push(this.specifiList[1]
											.productAttributeValueVoList[m])
									}
								})

							}
						}
					} else {
						this.tui.toast(res.message)
					}
				}).catch((res) => {})
			},
			//获取客户分类
			getCustomerCategoryList() {
				this.tui.request("/app/customerCategory/getCustomerCategoryListByShopId", "POST", {
					shopId: uni.getStorageSync('shopId')
				}, false, true).then((res) => {
					if (res.code == 200) {
						if (res.result.length > 0) {
							for (let i = 0; i < res.result.length; i++) {
								let data = {
									categoryName: res.result[i].categoryName,
									categoryId: res.result[i].id,
									categoryPrice: ""
								}
								this.customerCategoryList[i] = data
								this.customerCategoryList1[i] = data
							}
						} else {
							this.customerCategoryList = null
							this.customerCategoryList1 = null
						}

					} else {
						this.tui.toast(res.message)
					}
				}).catch((res) => {})
			},
			//店铺默认分类
			getDefaultCategory() {
				this.tui.request("/app/productCategory/getDefaultCategory", "POST", {}, false, true).then((res) => {
					if (res.code == 200) {
						this.categoryList = res.result
					} else {
						this.tui.toast(res.message)
					}
				}).catch((res) => {})
			},
			//进入页面，查询货号列表
			getSnList() {
				// snList
				this.snList = []
				this.snName = ''
				this.tui.request("/app/productSn/getProductSnByShopId", "POST", {}, false, true).then((res1) => {
					if (res1.code == 200) {
						if (res1.result != '') {
							for (let i = 0; i < res1.result.length; i++) {
								let data = {
									text: '前缀:' + res1.result[i].snPre + ',位数:' + res1.result[i].snSufLength,
									value: res1.result[i].snPre
								}
								this.snList.push(data)
							}
							this.snName = res1.result[0].snPre
						}

					} else {
						this.tui.toast(res.message)
					}
					this.$forceUpdate()
				}).catch((res) => {})
			},
			//根据规则生成货号
			startGetSn() {
				var that = this;
				uni.showLoading({
					title: '加载中...',
					mask: true
				})
				that.$refs.SNDialog.close()
				if (this.prefixRule == '') {
					this.tui.toast('请输入货号生成前缀规则')
					return
				}
				if (this.numRule == '') {
					this.tui.toast('请输入货号生成位数规则')
					return
				}
				this.tui.request("/app/productSn/addAndGetNewProductSn", "POST", {
					snPre: this.prefixRule,
					snSufLength: this.numRule
				}, false, false).then((res1) => {
					if (res1.code == 200) {
						// this.snList = res1.result
						if (res1.message == '货号前缀已存在！') { //被删除，调启用方法
							uni.showModal({
								title: "提示",
								content: "货号前缀已存在！",
								success: function(res) {
									if (res.confirm) {
										that.tui.request("/app/productSn/useAgainProductSn", "POST", {
											id: res1.result.id
										}, false, true).then((res2) => {
											if (res2.code == 200) {
												that.tui.toast('成功')
												that.prefixRule = ''
												that.numRule = ''
												setTimeout(res => {
													that.getSnList()
												}, 1000)
											} else {
												that.tui.toast(res2.message)
											}
											that.$forceUpdate()
										}).catch((res) => {})
									}
								}
							})
						} else {
							if (that.zhuImgList != [] && that.zhuImgList.length > 0) {
								for (let i = 0; i < that.zhuImgList.length; i++) {
									that.upLoadFile(that.zhuImgList[i], i + 1)
								}
								setTimeout(res => {
									that.zhuImgList = []
								}, 2000)

							} else {
								this.addPageGoods(this.zhuImg, res1.result)
							}
							that.getSnList()
						}

					} else {
						this.tui.toast(res.message)
					}
				}).catch((res) => {})
				this.$nextTick(() => {
					uni.hideLoading()
				})
			},
			//生成货号弹出层
			generateSn(id) {
				if (this.snList.length > 0) {
					this.tui.request("/app/productSn/getNewProductSn", "POST", {
						snPre: this.snName
					}, false, true).then((res1) => {
						if (res1.code == 200) {
							this.tui.request('/app/product/getByProductSn', "post", {
								productSn: res1.result
							}, false, true).then((res) => {
								if (res.code == 200) {
									if (res.result != '') {
										this.generateSn(value)
									} else {
										this.carList.get(id).productSn = res1.result
										this.$forceUpdate()
									}
								}
							})
						} else {
							this.tui.toast(res.message)
						}
					}).catch((res) => {})
				} else {
					this.zhuImg = ''
					this.$refs.SNDialog.open('center')
				}

			},
			addSn() {
				this.$refs.SNDialog.open('center')
			},
			AiVoice() {
				if (this.carList.size == 0) { //当前页没有数据
					for (let i = 0; i < this.carList1.length; i++) {
						let obj = {
							purchasePrice: this.userType == 0 ? this.carList1[i].purchasePrice : '', //进货价
							price1: 0,
							price: this.carList1[i].price,
							productCount: 0,
							customerCategoryList: this.carList1[i].customerCategoryList != null ? this.carList1[i]
								.customerCategoryList : this.getNewProductRule(),
							id: this.carList1[i].productId != null ? this.carList1[i].productId : this.carList1[i].id,
							isNew: this.carList1[i].isNew, //是否是新商品
							productId: this.carList1[i].productId == null ? '' : this.carList1[i].productId,
							productName: this.carList1[i].productName,
							wholesalePrice: this.carList1[i].wholesalePrice || 0,
							categoryName: this.carList1[i].categoryName,
							categoryId: this.carList1[i].categoryId,
							attrId: this.carList1[i].attrId,
							lsprice: this.carList1[i].price || 0,
							productPicture: this.carList1[i].productPicture,
							productSn: this.carList1[i].productSn,
							stockLogList: new Map(),
							productPictures: [],
							stockLogList1: []
						}


						for (let m = 0; m < this.carList1[i].saleDetailQueryDTO.length; m++) {
							let productCount = Number(this.carList1[i].saleDetailQueryDTO[m].productCount)
							if (obj.stockLogList.has(this.carList1[i].saleDetailQueryDTO[m].attributeList) == true) {
								productCount += Number(obj.stockLogList.get(this.carList1[i].saleDetailQueryDTO[m]
									.attributeList).productCount)
							}
							var data1 = {
								productCount: productCount,
								name: this.carList1[i].saleDetailQueryDTO[m].name,
								productNum: this.carList1[i].saleDetailQueryDTO[m].productNum
							}
							obj.stockLogList.set(this.carList1[i].saleDetailQueryDTO[m].attributeList, data1)
							obj.productCount += this.carList1[i].saleDetailQueryDTO[m].productCount == null ? 0 : Number(
								this.carList1[i].saleDetailQueryDTO[m].productCount)
							obj.price1 = Number(obj.productCount) * this.carList1[i].purchasePrice
						}
						let id = this.carList1[i].isNew == true ? this.carList1[i].id : this.carList1[i].productId
						this.carList.set(id, obj)
						// that.carList.get(id).price = that.carList.get(id).purchasePrice *
						// 	that.carList.get(id).productCount;
					}
					this.carList1 = []
				} else { //当前页有数据
					for (let i = 0; i < this.carList1.length; i++) {
						let id = this.carList1[i].isNew == true ? this.carList1[i].id : this.carList1[i].productId
						if (this.carList.has(this.carList1[i].id) == true) { //商品相同
							if (this.carList.get(this.carList1[i].id).purchasePrice == '') {
								this.carList.get(this.carList1[i].id).purchasePrice = this.carList1[i].purchasePrice
							}

							for (let m = 0; m < this.carList1[i].saleDetailQueryDTO.length; m++) {
								if (this.carList.get(this.carList1[i].id).stockLogList.has(this.carList1[i]
										.saleDetailQueryDTO[m].attributeList) == true) { //规格相同
									var data1 = {
										productCount: Number(this.carList.get(this.carList1[i].id).stockLogList.get(
												this
												.carList1[i].saleDetailQueryDTO[m].attributeList).productCount) +
											Number(this
												.carList1[i].saleDetailQueryDTO[m].productCount),
										name: this.carList1[i].saleDetailQueryDTO[m].name,
										productNum: this.carList1[i].saleDetailQueryDTO[m].productNum
									}
									this.carList.get(this.carList1[i].id).stockLogList.set(this.carList1[i]
										.saleDetailQueryDTO[m].attributeList, data1)
								} else { //规格不同
									var data1 = {
										productCount: Number(this.carList1[i].saleDetailQueryDTO[m].productCount),
										name: this.carList1[i].saleDetailQueryDTO[m].name,
										productNum: this.carList1[i].saleDetailQueryDTO[m].productNum
									}
									this.carList.get(this.carList1[i].id).stockLogList.set(this.carList1[i]
										.saleDetailQueryDTO[m].attributeList, data1)
								}
								this.carList.get(this.carList1[i].id).productCount += this.carList1[i].saleDetailQueryDTO[
									m].productCount == null ? 0 : Number(this.carList1[i].saleDetailQueryDTO[m]
									.productCount)
								this.carList.get(this.carList1[i].id).price1 = Number(this.carList.get(this.carList1[i].id)
									.productCount) * this.carList.get(this.carList1[i].id).purchasePrice
							}
						} else { //商品不同
							let obj = {
								purchasePrice: this.userType == 0 ? this.carList1[i].purchasePrice : '', //进货价
								price1: 0,
								price: this.carList1[i].price,
								productCount: 0,
								customerCategoryList: this.carList1[i].customerCategoryList != null ? this.carList1[i]
									.customerCategoryList : this.getNewProductRule(),
								id: this.carList1[i].productId != null ? this.carList1[i].productId : this.carList1[i]
									.id,
								productId: this.carList1[i].productId == null ? '' : this.carList1[i].productId,
								isNew: this.carList1[i].isNew,
								productName: this.carList1[i].productName,
								wholesalePrice: this.carList1[i].wholesalePrice || 0,
								categoryName: this.carList1[i].categoryName,
								categoryId: this.carList1[i].categoryId,
								attrId: this.carList1[i].attrId,
								lsprice: this.carList1[i].price || 0,
								productPicture: this.carList1[i].productPicture,
								productSn: this.carList1[i].productSn,
								stockLogList: new Map(),
								stockLogList1: [],
								productPictures: [],
								name: ''
							}
							for (let m = 0; m < this.carList1[i].saleDetailQueryDTO.length; m++) {
								var data1 = {
									productCount: Number(this.carList1[i].saleDetailQueryDTO[m].productCount),
									name: this.carList1[i].saleDetailQueryDTO[m].name,
									productNum: this.carList1[i].saleDetailQueryDTO[m].productNum
								}
								obj.stockLogList.set(this.carList1[i].saleDetailQueryDTO[m].attributeList, data1)

								obj.name = this.carList1[i].saleDetailQueryDTO[m].name
								obj.productCount += this.carList1[i].saleDetailQueryDTO[m].productCount == null ? 0 :
									Number(this
										.carList1[i].saleDetailQueryDTO[m].productCount)
								obj.price1 = Number(obj.productCount) * this.carList1[i].purchasePrice
							}

							this.carList.set(id, obj)
						}
						// that.carList.get(id).price = that.carList.get(id).purchasePrice *
						// 		that.carList.get(id).productCount;

					}

				}
				this.$nextTick(() => {

					this.carList1 = []
					uni.removeStorageSync('carList1')
					this.getAllPrice()
					if (this.carList1 != '') {
						setTimeout(res => {
							uni.hideLoading();
						}, 2000)
					} else {
						setTimeout(res => {
							uni.hideLoading();
						}, 300)
					}
					this.$forceUpdate()
				})
			},
			numData(val) {
				var name = []
				if (typeof(val) == 'string') {
					let newObj = JSON.parse(val)
					for (let as in newObj) {
						name.push(newObj[as])
					}
				}
				return name;
			},
			checkSpec(type, id, attr, value) {
				if (this.carList.get(id).categoryId == '' || this.carList.get(id).categoryId == null) {
					this.tui.toast('请先选择商品分类')
					return;
				}
				this.temporary = [id, attr, type, value]
				let num = type == '颜色' ? 0 : 1
				this.getGategoryLowList()
			},
			getScanCodeCategroyId(num) {
				num = num == '颜色' ? 0 : 1
				this.isOpenId = num
				this.goodsId = this.goodsDetail.id
				this.$refs.inputDialog.open('bottom')
				this.isBottom = true
			},
			//初始化获取子分类列表
			getGategoryLowList() {
				this.attrList = []
				let num = this.temporary[2] == '颜色' ? 0 : 1
				this.tui.request("/app/productAttribute/selectByCategoryId", "POST", {
					categoryId: this.carList.get(this.temporary[0]).attrId
				}, false, true).then((res1) => {
					if (res1.code == 200) {
						this.attrList.push(res1.result[num])
						if (res1.result.length > 0) {
							this.attributeValue = []
							this.tui.request(
								"/app/productAttributeValue/selectByAttributeId",
								"get", {
									id: this.attrList[0].id
								}, false, true).then((res2) => {
								if (res2.code == 200) {
									this.attributeValue = res2.result;
									this.$forceUpdate()
								} else {
									this.tui.toast(res.message)
								}

							}).catch((res) => {})
						}
						setTimeout(() => {
							this.showList = this.attrList;
						}, 1000)
					} else {
						this.tui.toast(res.message)
					}
				}).catch((res) => {})
				this.$forceUpdate()
				this.specifications = this.temporary[3]
				this.$refs.getaPopup.open()
			},
			sliceMsg(val) {
				var name = ''
				if (typeof(val) == 'string') {
					let newObj = JSON.parse(val)
					for (let as in newObj) {
						name += newObj[as] + '/'
					}
				}
				return name;
			},
			//点击某一个规格，可修改
			async changeSpec(item) {
				let that = this;
				if (item == '') {
					this.tui.toast('请输入要修改的规格值')
					return;
				}
				let data = this.temporary
				let specMap = new Map() //新的临时存放值那个更改过的值的map
				await this.carList.get(data[0]).stockLogList.forEach(function(value, key) {
					if (data[2] == '颜色') {
						if (that.numData(key)[0] == data[3]) {
							let stringKey = key.replace(data[3], item) //拿到了更改过的key

							if (specMap.has(stringKey) == true) {
								data[1] = stringKey
								specMap.get(stringKey).name = that.sliceMsg(stringKey)
								specMap.get(stringKey).productCount += Number(value.productCount)
							} else {
								data[1] = stringKey
								specMap.set(stringKey, value)
								specMap.get(stringKey).name = that.sliceMsg(stringKey)
							}
							if (that.carList.get(data[0]).isNew != true) {
								that.tui.request("/app/stock/productCount", "post", {
									productId: that.carList.get(data[0]).productId,
									attributeList: stringKey
								}, false, true).then((res) => {
									if (res.code == 200) {
										value.productNum = res.result
										that.$forceUpdate()
									} else {
										that.tui.toast(res.message)
									}
								}).catch((res) => {})
							}

						} else {
							if (specMap.has(key) == true) {
								specMap.get(key).productCount += Number(value.productCount)
							} else {
								specMap.set(key, value)
								specMap.get(key).name = that.sliceMsg(key)
							}
						}
					} else if (data[2] == '尺码') {
						if (that.numData(key)[1] == data[3]) {
							let stringKey = key.replace(data[3], item) //拿到了更改过的key
							if (specMap.has(stringKey) == true) {
								data[1] = stringKey
								specMap.get(stringKey).name = that.sliceMsg(stringKey)
								specMap.get(stringKey).productCount += Number(value.productCount)
							} else {
								data[1] = stringKey

								specMap.set(stringKey, value)
								specMap.get(stringKey).name = that.sliceMsg(stringKey)
							}
							if (that.carList.get(data[0]).isNew != true) {
								that.tui.request("/app/stock/productCount", "post", {
									productId: that.carList.get(data[0]).productId,
									attributeList: stringKey
								}, false, true).then((res) => {
									if (res.code == 200) {
										value.productNum = res.result
										that.$forceUpdate()
									} else {
										that.tui.toast(res.message)
									}
								}).catch((res) => {})
							}
						} else {
							if (specMap.has(key) == true) {
								specMap.get(key).productCount += Number(value.productCount)
							} else {
								specMap.set(key, value)
								specMap.get(key).name = that.sliceMsg(key)
							}
						}
					}
				})
				await that.$nextTick(() => {
					this.carList.get(data[0]).stockLogList = specMap
					this.$forceUpdate()
					this.$refs.getaPopup.close()
				})
			},
			updateCate() {
				this.carList.get(this.customTypeId).customerCategoryList = this.customerCategoryList

				this.$refs.customPopup.close()
				this.$forceUpdate()
			},
			delDefaultCate(index, value, index1) {
				let data = this.goodsDetail.attributeList[index].value[index1]
				this.goodsDetail.attributeList[index].value.splice(index1, 1);
				this.tui.request("/app/productAttributeValue/delById", "post", {
					attributeId: data.attributeId,
					value: data.value,
					id: data.id,
				}, false, true).then((res) => {
					if (res.code == 200) {
						this.getShopCategory()
						uni.showToast({
							title: "删除成功",
							icon: 'none'
						})
					} else {
						uni.showToast({
							title: "删除失败",
							icon: 'none'
						})
					}
				}).catch((res) => {})
			},
			handleBlur(e) {
				this.categoryText = e.detail.value
			},
			inputDialogToggle(item) {
				this.inputVal = '';
				this.isOpenId = item;
				this.$refs.inputDialog.open('bottom')
			},
			//弹出客户分类弹窗
			addCustomPrice(id) {
				this.customTypeId = id

				this.customerCategoryList = this.carList.get(id).customerCategoryList
				this.$refs.customPopup.open()
			},
			getByCondition() {
				this.tui.request("/app/supplier/getByCondition", "post", {
					searchStr: this.khName.consigneeName,
					pageNumber: 1,
					pageSize: 10
				}, false, true).then((res) => {
					if (res.code == 200) {
						for (let i = 0; i < res.result.content.length; i++) {
							if (res.result.content[i].id == this.khName.id) {

								this.khName.noEarn = res.result.content[i].noEarn
								this.zhiqianqiankuan = res.result.content[i].noEarn
							}
						}

					} else {
						uni.showToast({
							title: res.message,
							icon: 'none'
						})
					}
				}).catch((res) => {})
			},
			//保存已选
			saveCheck() {
				this.pageOldTemList = this.temporaryList
				for (var i = 0; i < this.goodsDetail.attributeList.length; i++) {
					this.goodsList[i].specs = []
					for (var m = 0; m < this.goodsDetail.attributeList[i].value.length; m++) {
						this.goodsDetail.attributeList[i].value[m].isChecked = false
					}
				}
			},
			showPopup(index) {
				this.currentPopupIndex = index;
				this.showTan = true;
			},
			clickGetOne(item) {
				// 如果还有下一个弹出层，则显示下一个
				if (this.currentPopupIndex + 1 < this.moreData.length) {
					this.showTan = false; // 先关闭当前弹出层
					this.voiceText = ''
					this.voiceText1 = ''
					let data = {
						attributeList: '{"颜色":"均色","尺码":"均码"}',
						productCount: Number(item.productCount) || 1,
						productNum: item.defaultStockCount
					}
					item.productId = item.id
					item.saleDetailQueryDTO = []
					item.saleDetailQueryDTO.push(data)
					let purchaseDetails = []
					purchaseDetails.push(item)
					let id = this.oneGoodsId
					if (this.oneGoodsId) {
						if (this.carList.get(id).productSn != '') {
							for (let j = 0; j < purchaseDetails.length; j++) {
								for (let i = 0; i < purchaseDetails[j]
									.stockLogList1.length; i++) {
									if (this.carList.get(id)
										.productName == '') {
										this.carList.get(id)
											.productName =
											purchaseDetails[0]
											.productName
									}
									if (this.carList.get(id).attrId ==
										'') {
										this.carList.get(id).attrId =
											purchaseDetails[0].attrId
									}
									if (this.carList.get(id)
										.purchasePrice == '' || this
										.carList.get(id)
										.purchasePrice == null) {
										if (voiceData.purchasePrice) {
											this.carList.get(id)
												.purchasePrice =
												voiceData.purchasePrice
										} else {
											this.carList.get(id)
												.purchasePrice =
												purchaseDetails[0]
												.purchasePrice
										}

									}
									if (this.carList.get(id)
										.productPicture == '') {
										this.carList.get(id)
											.productPicture =
											purchaseDetails[0]
											.productPicture
									}
									this.carList.get(id)
										.customerCategoryRule =
										this.checkPriceRule(JSON.parse(purchaseDetails[0]
											.customerCategoryRule))
									purchaseDetails[j].stockLogList1[i]
										.name = this.sliceMsg(
											purchaseDetails[j]
											.stockLogList1[i]
											.attributeList)
									if (this.carList.get(id)
										.stockLogList.size == 0) {
										this.carList.get(id)
											.stockLogList.set(
												purchaseDetails[j]
												.stockLogList1[i]
												.attributeList,
												purchaseDetails[j]
												.stockLogList1[i])
									} else {
										if (this.carList.get(id)
											.stockLogList.has(
												purchaseDetails[j]
												.stockLogList1[i]
												.attributeList) == true
										) {
											this.carList.get(id)
												.stockLogList.get(
													purchaseDetails[j]
													.stockLogList1[i]
													.attributeList)
												.productCount +=
												Number(purchaseDetails[
														j]
													.stockLogList1[i]
													.productCount)
										} else {
											this.carList.get(id)
												.stockLogList.set(
													purchaseDetails[j]
													.stockLogList1[i]
													.attributeList,
													purchaseDetails[j]
													.stockLogList1[i])
										}
									}
									this.carList.get(id)
										.productCount +=
										Number(purchaseDetails[j]
											.stockLogList1[i]
											.productCount)
								}
							}
							this.carList.get(id).stockLogList.get(
									'{"颜色":"均色","尺码":"均码"}')
								.productNum = purchaseDetails[0].defaultStockCount
							if (this.carList.get(id).stockLogList.get(
									'{"颜色":"均色","尺码":"均码"}')
								.productCount == 0 && purchaseDetails[
									0].stockLogList1.length > 0) {
								this.carList.get(id).stockLogList
									.delete('{"颜色":"均色","尺码":"均码"}')
							}
							this.carList.get(id).price1 = Number(this
									.carList
									.get(id).productCount) * this
								.carList
								.get(id).purchasePrice
						} else {

							let isTrue = false
							this.carList.forEach(function(value, key) {
								if (value.productSn ==
									purchaseDetails[0]
									.productSn) {
									isTrue = true
									that.tui.toast(
										'该货号被页面其他商品占用,请重新输入！'
									)
									that.carList.get(id)
										.productSn = ''
									setTimeout(res => {
										that.$forceUpdate()
									}, 1000)
									throw Error('被占用')
								}
							})

							this.$nextTick(() => {
								if (this.carList.get(id)
									.productName == '') {
									this.carList.get(id)
										.productName =
										purchaseDetails[0]
										.productName
								}
								this.carList.get(id)
									.customerCategoryList =
									purchaseDetails[0]
									.customerCategoryRule != null ?
									this.checkPriceRule(JSON.parse(purchaseDetails[0]
										.customerCategoryRule)) : null
								if (isTrue == false && this
									.carList.get(id)
									.productSn == '') {
									this.carList.get(id)
										.productSn =
										purchaseDetails[0]
										.productSn
								}
								if (isTrue == false) {
									if (purchaseDetails[0]
										.productId) {
										this.carList.get(id)
											.id =
											purchaseDetails[0]
											.productId
										this.carList.get(id)
											.productId =
											purchaseDetails[0]
											.productId
										this.carList.get(id)
											.isNew = false
										id = purchaseDetails[0]
											.productId

									} else if (purchaseDetails[
											0].productSn ==
										'' || purchaseDetails[
											0].productSn ==
										null) {
										this.carList.get(id)
											.id =
											purchaseDetails[0]
											.productName
										id = purchaseDetails[0]
											.productName
									} else if (purchaseDetails[
											0].productSn ==
										'货号') {
										this.carList.get(id)
											.productSn =
											purchaseDetails[0]
											.productName
										this.carList.get(id)
											.id =
											purchaseDetails[0]
											.productName
										id = purchaseDetails[0]
											.productName
									} else if (purchaseDetails[
											0].productSn) {
										this.carList.get(id)
											.id =
											purchaseDetails[0]
											.productSn
										id = purchaseDetails[0]
											.productSn
									}
								}
							})
							if (this.carList.get(id).purchasePrice ==
								'' || this.carList.get(id)
								.purchasePrice == null) {
								if (this.carList.get(id).purchasePrice) {
									this.carList.get(id)
										.purchasePrice = purchaseDetails[0]
										.purchasePrice
								} else {
									this.carList.get(id)
										.purchasePrice =
										purchaseDetails[0]
										.purchasePrice
								}

							}
							this.carList.get(id).customerCategoryList =
								purchaseDetails[0].customerCategoryRule != null ? this.checkPriceRule(JSON.parse(
									purchaseDetails[0]
									.customerCategoryRule)) : this.getNewProductRule()
							if (this.carList.get(id).productPicture ==
								'') {
								this.carList.get(id).productPicture =
									purchaseDetails[0].productPicture
							}
							if (purchaseDetails[0].productId) {
								this.carList.get(id).attrId =
									purchaseDetails[0].attrId
								this.carList.get(id).wholesalePrice =
									purchaseDetails[0].wholesalePrice
								this.carList.get(id).lsPrice =
									purchaseDetails[0].lsPrice
							}

							let specMap =
								new Map() //新的临时存放值那个更改过的值的map
							this.$nextTick(() => {
								this.carList.forEach(function(
									value, key) {
									if (key != value
										.id) {
										specMap.set(
											value
											.id,
											value)
									} else {
										specMap.set(
											key,
											value)
									}
								})
								this.carList = specMap
							})
							this.$nextTick(() => {
								for (let j = 0; j <
									purchaseDetails.length; j++
								) {
									for (let i = 0; i <
										purchaseDetails[j]
										.stockLogList1
										.length; i++) {
										purchaseDetails[j]
											.stockLogList1[i]
											.name = this
											.sliceMsg(
												purchaseDetails[
													j]
												.stockLogList1[
													i]
												.attributeList)
										if (this.carList.get(
												id)
											.stockLogList
											.size == 0) {
											this.carList.get(
													id)
												.stockLogList
												.set(
													purchaseDetails[
														j]
													.stockLogList1[
														i]
													.attributeList,
													purchaseDetails[
														j]
													.stockLogList1[
														i])
										} else {
											if (this.carList
												.get(id)
												.stockLogList
												.has(
													purchaseDetails[
														j]
													.stockLogList1[
														i]
													.attributeList
												) == true
											) {
												this.carList
													.get(id)
													.stockLogList
													.get(
														purchaseDetails[
															j]
														.stockLogList1[
															i]
														.attributeList
													)
													.productCount +=
													Number(
														purchaseDetails[
															j]
														.stockLogList1[
															i]
														.productCount
													)
											} else {
												this.carList
													.get(id)
													.stockLogList
													.set(
														purchaseDetails[
															j]
														.stockLogList1[
															i]
														.attributeList,
														purchaseDetails[
															j]
														.stockLogList1[
															i])
											}
										}
										this.carList.get(id)
											.productCount +=
											Number(
												purchaseDetails[
													j]
												.stockLogList1[
													i]
												.productCount)
									}
								}
								this.carList.get(id).price1 =
									Number(this.carList.get(id)
										.productCount) * this
									.carList.get(id)
									.purchasePrice
								if (this.carList.get(id)
									.stockLogList.get(
										'{"颜色":"均色","尺码":"均码"}'
									).productCount == 0 &&
									purchaseDetails[0]
									.stockLogList1.length > 0
								) {
									this.carList.get(id)
										.stockLogList.delete(
											'{"颜色":"均色","尺码":"均码"}'
										)
								}
							})
						}

						this.$nextTick(() => {
							this.getAllPrice()
							this.oneGoodsId = ''
						})
					} else {
						if (purchaseDetails) {
							this.carList1.push(item)
							this.$nextTick(() => {
								this.AiVoice()
							})

						} else {
							this.tui.toast("抱歉：小助手本次未识别到商品信息，请检查识别信息是否正确")
						}
					}
					setTimeout(() => {
						this.showTan = true; // 再显示下一个弹出层
						this.currentPopupIndex += 1;
					}, 0);
				} else {
					this.showTan = false; // 如果没有更多弹出层，则关闭最后一个弹出层
					this.voiceText = ''
					this.voiceText1 = ''

					let data = {
						attributeList: '{"颜色":"均色","尺码":"均码"}',
						productCount: Number(item.productCount) || 1,
						productNum: item.defaultStockCount
					}
					item.productId = item.id
					item.saleDetailQueryDTO = []
					item.saleDetailQueryDTO.push(data)


					let purchaseDetails = []

					purchaseDetails.push(item)
					let id = this.oneGoodsId
					if (this.oneGoodsId) {
						if (this.carList.get(id).productSn != '') {
							for (let j = 0; j < purchaseDetails.length; j++) {
								for (let i = 0; i < purchaseDetails[j]
									.stockLogList1.length; i++) {
									if (this.carList.get(id)
										.productName == '') {
										this.carList.get(id)
											.productName =
											purchaseDetails[0]
											.productName
									}
									if (this.carList.get(id).attrId ==
										'') {
										this.carList.get(id).attrId =
											purchaseDetails[0].attrId
									}
									if (this.carList.get(id)
										.purchasePrice == '' || this
										.carList.get(id)
										.purchasePrice == null) {
										if (voiceData.purchasePrice) {
											this.carList.get(id)
												.purchasePrice =
												voiceData.purchasePrice
										} else {
											this.carList.get(id)
												.purchasePrice =
												purchaseDetails[0]
												.purchasePrice
										}

									}
									if (this.carList.get(id)
										.productPicture == '') {
										this.carList.get(id)
											.productPicture =
											purchaseDetails[0]
											.productPicture
									}
									this.carList.get(id)
										.customerCategoryRule =
										this.checkPriceRule(JSON.parse(purchaseDetails[0]
											.customerCategoryRule))
									purchaseDetails[j].stockLogList1[i]
										.name = this.sliceMsg(
											purchaseDetails[j]
											.stockLogList1[i]
											.attributeList)
									if (this.carList.get(id)
										.stockLogList.size == 0) {
										this.carList.get(id)
											.stockLogList.set(
												purchaseDetails[j]
												.stockLogList1[i]
												.attributeList,
												purchaseDetails[j]
												.stockLogList1[i])
									} else {
										if (this.carList.get(id)
											.stockLogList.has(
												purchaseDetails[j]
												.stockLogList1[i]
												.attributeList) == true
										) {
											this.carList.get(id)
												.stockLogList.get(
													purchaseDetails[j]
													.stockLogList1[i]
													.attributeList)
												.productCount +=
												Number(purchaseDetails[
														j]
													.stockLogList1[i]
													.productCount)
										} else {
											this.carList.get(id)
												.stockLogList.set(
													purchaseDetails[j]
													.stockLogList1[i]
													.attributeList,
													purchaseDetails[j]
													.stockLogList1[i])
										}
									}
									this.carList.get(id)
										.productCount +=
										Number(purchaseDetails[j]
											.stockLogList1[i]
											.productCount)
								}
							}
							this.carList.get(id).stockLogList.get(
									'{"颜色":"均色","尺码":"均码"}')
								.productNum = purchaseDetails[0].defaultStockCount
							if (this.carList.get(id).stockLogList.get(
									'{"颜色":"均色","尺码":"均码"}')
								.productCount == 0 && purchaseDetails[
									0].stockLogList1.length > 0) {
								this.carList.get(id).stockLogList
									.delete('{"颜色":"均色","尺码":"均码"}')
							}
							this.carList.get(id).price1 = Number(this
									.carList
									.get(id).productCount) * this
								.carList
								.get(id).purchasePrice
						} else {

							let isTrue = false
							this.carList.forEach(function(value, key) {
								if (value.productSn == purchaseDetails[0].productSn) {
									isTrue = true
									that.tui.toast(
										'该货号被页面其他商品占用,请重新输入！'
									)
									that.carList.get(id)
										.productSn = ''
									setTimeout(res => {
										that.$forceUpdate()
									}, 1000)
									throw Error('被占用')
								}
							})

							this.$nextTick(() => {
								if (this.carList.get(id)
									.productName == '') {
									this.carList.get(id)
										.productName =
										purchaseDetails[0]
										.productName
								}
								this.carList.get(id)
									.customerCategoryList =
									purchaseDetails[0]
									.customerCategoryRule != null ?
									this.checkPriceRule(JSON.parse(purchaseDetails[0]
										.customerCategoryRule)) : null
								if (isTrue == false && this
									.carList.get(id)
									.productSn == '') {
									this.carList.get(id)
										.productSn =
										purchaseDetails[0]
										.productSn
								}
								if (isTrue == false) {
									if (purchaseDetails[0]
										.productId) {
										this.carList.get(id)
											.id =
											purchaseDetails[0]
											.productId
										this.carList.get(id)
											.productId =
											purchaseDetails[0]
											.productId
										this.carList.get(id)
											.isNew = false
										id = purchaseDetails[0]
											.productId

									} else if (purchaseDetails[
											0].productSn ==
										'' || purchaseDetails[
											0].productSn ==
										null) {
										this.carList.get(id)
											.id =
											purchaseDetails[0]
											.productName
										id = purchaseDetails[0]
											.productName
									} else if (purchaseDetails[
											0].productSn ==
										'货号') {
										this.carList.get(id)
											.productSn =
											purchaseDetails[0]
											.productName
										this.carList.get(id)
											.id =
											purchaseDetails[0]
											.productName
										id = purchaseDetails[0]
											.productName
									} else if (purchaseDetails[
											0].productSn) {
										this.carList.get(id)
											.id =
											purchaseDetails[0]
											.productSn
										id = purchaseDetails[0]
											.productSn
									}
								}
							})
							if (this.carList.get(id).purchasePrice ==
								'' || this.carList.get(id)
								.purchasePrice == null) {
								if (purchaseDetails[0].purchasePrice) {
									this.carList.get(id)
										.purchasePrice = purchaseDetails[0]
										.purchasePrice
								} else {
									this.carList.get(id)
										.purchasePrice =
										purchaseDetails[0]
										.purchasePrice
								}

							}
							this.carList.get(id).customerCategoryList =
								purchaseDetails[0].customerCategoryRule != null ? this.checkPriceRule(JSON.parse(
									purchaseDetails[0]
									.customerCategoryRule)) : this.getNewProductRule()
							if (this.carList.get(id).productPicture ==
								'') {
								this.carList.get(id).productPicture =
									purchaseDetails[0].productPicture
							}
							if (purchaseDetails[0].productId) {
								this.carList.get(id).attrId =
									purchaseDetails[0].attrId
								this.carList.get(id).wholesalePrice =
									purchaseDetails[0].wholesalePrice
								this.carList.get(id).lsPrice =
									purchaseDetails[0].lsPrice
							}

							let specMap =
								new Map() //新的临时存放值那个更改过的值的map
							this.$nextTick(() => {
								this.carList.forEach(function(
									value, key) {
									if (key != value
										.id) {
										specMap.set(
											value
											.id,
											value)
									} else {
										specMap.set(
											key,
											value)
									}
								})
								this.carList = specMap
							})
							this.$nextTick(() => {
								for (let j = 0; j < purchaseDetails.length; j++) {
									for (let i = 0; i <
										purchaseDetails[j]
										.saleDetailQueryDTO.length; i++) {
										purchaseDetails[j]
											.saleDetailQueryDTO[i]
											.name = this
											.sliceMsg(
												purchaseDetails[
													j]
												.saleDetailQueryDTO[
													i]
												.attributeList)
										if (this.carList.get(
												id)
											.stockLogList
											.size == 0) {
											this.carList.get(
													id)
												.stockLogList
												.set(
													purchaseDetails[
														j]
													.saleDetailQueryDTO[
														i]
													.attributeList,
													purchaseDetails[
														j]
													.saleDetailQueryDTO[
														i])
										} else {
											if (this.carList
												.get(id)
												.stockLogList
												.has(
													purchaseDetails[
														j]
													.saleDetailQueryDTO[
														i]
													.attributeList
												) == true
											) {
												this.carList
													.get(id)
													.stockLogList
													.get(
														purchaseDetails[
															j]
														.saleDetailQueryDTO[
															i]
														.attributeList
													)
													.productCount +=
													Number(
														purchaseDetails[
															j]
														.saleDetailQueryDTO[
															i]
														.productCount
													)
											} else {
												this.carList
													.get(id)
													.stockLogList
													.set(
														purchaseDetails[
															j]
														.saleDetailQueryDTO[
															i]
														.attributeList,
														purchaseDetails[
															j]
														.saleDetailQueryDTO[
															i])
											}
										}
										this.carList.get(id)
											.productCount +=
											Number(
												purchaseDetails[
													j]
												.saleDetailQueryDTO[
													i]
												.productCount)
									}
								}
								this.carList.get(id).price1 =
									Number(this.carList.get(id)
										.productCount) * this
									.carList.get(id)
									.purchasePrice
								this.carList.get(id)
									.stockLogList.get(
										'{"颜色":"均色","尺码":"均码"}'
									).productNum = purchaseDetails[0].defaultStockCount
								if (this.carList.get(id)
									.stockLogList.get(
										'{"颜色":"均色","尺码":"均码"}'
									).productCount == 0 &&
									purchaseDetails[0]
									.saleDetailQueryDTO.length > 0
								) {
									this.carList.get(id)
										.stockLogList.delete(
											'{"颜色":"均色","尺码":"均码"}'
										)
								}
							})
						}

						this.$nextTick(() => {
							this.getAllPrice()
							this.oneGoodsId = ''
							this.moreData = []
						})
					} else {
						if (purchaseDetails) {
							this.moreData = []
							this.carList1.push(item)
							this.$nextTick(() => {
								this.AiVoice()
							})

						} else {
							this.tui.toast("抱歉：小助手本次未识别到商品信息，请检查识别信息是否正确")
						}
					}

				}
			},
			//确认语音输入的内容
			async setDetail(e) {
				let that = this;
				if (this.voiceText == '') {
					this.tui.toast('识别内容不能为空')
					return
				}
				let convertedStr = this.trimWhitespace(this.voiceText);
				convertedStr = this.convertChineseToArabic(convertedStr);
				if (convertedStr.indexOf('件数') != -1) {
					convertedStr = convertedStr.replace(/件数/g, '数量:')
				}
				if (convertedStr.indexOf('数量') == -1 && convertedStr.indexOf('名称') == -1 && convertedStr.indexOf(
						'单价') == -1 && convertedStr.indexOf('批发价') == -1) {
					convertedStr = convertedStr + '，'
				}
				if (convertedStr.indexOf('点') != -1) {
					convertedStr = this.replaceCharAfterNumber(convertedStr, '点', '.')
				}
				if (convertedStr.indexOf('，名称') != -1) {
					convertedStr = convertedStr.replace(/，名称/g, '名称')
				}
				if (convertedStr.indexOf('名称，') != -1) {
					convertedStr = convertedStr.replace(/名称，/g, '名称')
				}
				if (convertedStr.indexOf('名称::') != -1) {
					convertedStr = convertedStr.replace(/名称::/g, '名称')
				}
				if (convertedStr.indexOf('名称:') != -1) {
					convertedStr = convertedStr.replace(/名称:/g, '名称')
				}
				if (convertedStr.indexOf('名称') != -1) {
					convertedStr = convertedStr.replace(/名称/g, '，名称:')
				}
				if (convertedStr.indexOf('，单价') != -1) {
					convertedStr = convertedStr.replace(/，单价/g, '单价')
				}
				if (convertedStr.indexOf('单价，') != -1) {
					convertedStr = convertedStr.replace(/单价，/g, '单价')
				}
				if (convertedStr.indexOf('单价::') != -1) {
					convertedStr = convertedStr.replace(/单价::/g, '单价')
				}
				if (convertedStr.indexOf('单价:') != -1) {
					convertedStr = convertedStr.replace(/单价:/g, '单价')
				}
				if (convertedStr.indexOf('单价') != -1) {
					convertedStr = convertedStr.replace(/单价/g, '，单价:')
				}
				if (convertedStr.indexOf('，数量') != -1) {
					convertedStr = convertedStr.replace(/，数量/g, '数量')
				}
				if (convertedStr.indexOf('数量，') != -1) {
					convertedStr = convertedStr.replace(/数量，/g, '数量')
				}
				if (convertedStr.indexOf('数量::') != -1) {
					convertedStr = convertedStr.replace(/数量::/g, '数量')
				}
				if (convertedStr.indexOf('数量:') != -1) {
					convertedStr = convertedStr.replace(/数量:/g, '数量')
				}
				if (convertedStr.indexOf('数量') != -1) {
					convertedStr = convertedStr.replace(/数量/g, '，数量:')
				}


				if (convertedStr.indexOf('，批发价') != -1) {
					convertedStr = convertedStr.replace(/，批发价/g, '批发价')
				}
				if (convertedStr.indexOf('批发价，') != -1) {
					convertedStr = convertedStr.replace(/批发价，/g, '批发价')
				}
				if (convertedStr.indexOf('批发价::') != -1) {
					convertedStr = convertedStr.replace(/批发价::/g, '批发价')
				}
				if (convertedStr.indexOf('批发价:') != -1) {
					convertedStr = convertedStr.replace(/批发价:/g, '批发价')
				}
				if (convertedStr.indexOf('批发价') != -1) {
					convertedStr = convertedStr.replace(/批发价/g, '，批发价:')
				}

				if (convertedStr.indexOf('，零售价') != -1) {
					convertedStr = convertedStr.replace(/，零售价/g, '零售价')
				}
				if (convertedStr.indexOf('零售价，') != -1) {
					convertedStr = convertedStr.replace(/零售价，/g, '零售价')
				}
				if (convertedStr.indexOf('零售价::') != -1) {
					convertedStr = convertedStr.replace(/零售价::/g, '零售价')
				}
				if (convertedStr.indexOf('零售价:') != -1) {
					convertedStr = convertedStr.replace(/零售价:/g, '零售价')
				}
				if (convertedStr.indexOf('零售价') != -1) {
					convertedStr = convertedStr.replace(/零售价/g, '，零售价:')
				}

				if (convertedStr.startsWith("号")) {
					convertedStr = "货号" + convertedStr.substr(1);
				}
				if (!convertedStr.startsWith("货号")) {
					convertedStr = "货号" + convertedStr;
				}
				if (convertedStr.indexOf('货号，') != -1) {
					convertedStr = convertedStr.replace(/货号，/g, '货号')
				}
				if (convertedStr.indexOf('货号::') != -1) {
					convertedStr = convertedStr.replace(/货号::/g, '货号')
				}
				if (convertedStr.indexOf('货号:') != -1) {
					convertedStr = convertedStr.replace(/货号:/g, '货号')
				}
				convertedStr = this.convertStringCorrectly(convertedStr)
				convertedStr = this.spliceMsg(convertedStr)
				if (convertedStr.indexOf('，') == 0) {
					convertedStr = convertedStr.substr(1)
				}
				this.getMsg = convertedStr
				let regexCount = /-?\d+/g;
				//兰姐牛仔家没有销，拿，数量，卖，件数，退，走通义千问
				let isLanJie = true
				let shopId = uni.getStorageSync('shopId')
				if ((shopId == '1863043415453863936' || shopId == '1855423693308694528' || shopId ==
						'1810179818189361152') && convertedStr.indexOf('数量') == -1) {
					isLanJie = false
				}
				if (convertedStr.indexOf('色') == -1 && convertedStr.indexOf('码') == -1 && isLanJie) {
					if (!convertedStr.startsWith("货号")) {
						convertedStr = "货号" + convertedStr;
					}
					try {
						const regex = /货号.*?(?=货号|$)/g;
						convertedStr = convertedStr.match(regex);
						for (let i = 0; i < convertedStr.length; i++) {
							// setTimeout(res => {
							if (this.voiceGetOneData == true) {
								let voiceData = this.extractInfo(convertedStr[i] + '。')
								if (voiceData.productSn) {
									voiceData.productSn = voiceData.productSn.replace(/[沟勾钩]/g, 'J');
								}
								if (voiceData.productCount) {
									voiceData.productCount = Number(voiceData.productCount.replace(/[^0-9]/g, ""));
								}
								if (voiceData.purchasePrice) {
									voiceData.purchasePrice = this.replaceCharAfterNumber(voiceData
										.purchasePrice, '块', '.')
									if (voiceData.purchasePrice.indexOf('元') != -1) {
										voiceData.purchasePrice = voiceData.purchasePrice.replace(/元/g, '')
									}
									voiceData.purchasePrice = voiceData.purchasePrice.replace(/[^0-9.]/g, "");

								}
								if (voiceData.wholesalePrice) {
									voiceData.wholesalePrice = this.replaceCharAfterNumber(voiceData
										.wholesalePrice, '块', '.')
									if (voiceData.wholesalePrice.indexOf('元') != -1) {
										voiceData.wholesalePrice = voiceData.wholesalePrice.replace(/元/g, '')
									}
									voiceData.wholesalePrice = voiceData.wholesalePrice.replace(/[^0-9.]/g,
										'');
								}
								if (voiceData.lsprice) {
									voiceData.lsprice = this.replaceCharAfterNumber(voiceData
										.lsprice, '块', '.')
									if (voiceData.lsprice.indexOf('元') != -1) {
										voiceData.lsprice = voiceData.lsprice.replace(/元/g, '')
									}
									voiceData.lsprice = voiceData.lsprice.replace(/[^0-9.]/g,
										'');
								}
								if (i == convertedStr.length - 1) {
									setTimeout(res => {
										this.getOneData(voiceData, true, 200 * (i + 1))
									}, 200 * (i + 1))
								} else {
									setTimeout(res => {
										this.getOneData(voiceData, false, 200 * (i + 1))
									}, 200 * (i + 1))

								}
							} else {
								setTimeout(res => {
									if (convertedStr[i].indexOf('数量') == -1 && convertedStr[i].indexOf('名称') ==
										-1 && convertedStr[i].indexOf(
											'单价') == -1 && convertedStr[i].indexOf('批发价') == -1 &&
										convertedStr[i].indexOf('，') == -1) {
										convertedStr[i] = convertedStr[i] + '，'
									}
									let voiceData = this.extractInfo(convertedStr[i] + '。')
									if (voiceData.productSn) {
										voiceData.productSn = voiceData.productSn.replace(/[沟勾钩]/g, 'J');
									}
									if (voiceData.productCount) {
										voiceData.productCount = voiceData.productCount.match(regexCount);
									}
									if (voiceData.purchasePrice) {
										voiceData.purchasePrice = this.replaceCharAfterNumber(voiceData
											.purchasePrice, '块', '.')
										if (voiceData.purchasePrice.indexOf('元') != -1) {
											voiceData.purchasePrice = voiceData.purchasePrice.replace(/元/g, '')
										}
										voiceData.purchasePrice = voiceData.purchasePrice.replace(/[^0-9.]/g,
											"");

									}
									if (voiceData.wholesalePrice) {
										voiceData.wholesalePrice = this.replaceCharAfterNumber(voiceData
											.wholesalePrice, '块', '.')
										if (voiceData.wholesalePrice.indexOf('元') != -1) {
											voiceData.wholesalePrice = voiceData.wholesalePrice.replace(/元/g,
												'')
										}
										voiceData.wholesalePrice = voiceData.wholesalePrice.replace(/[^0-9.]/g,
											"");
									}
									if (voiceData.lsprice) {
										voiceData.lsprice = this.replaceCharAfterNumber(voiceData
											.lsprice, '块', '.')
										if (voiceData.lsprice.indexOf('元') != -1) {
											voiceData.lsprice = voiceData.lsprice.replace(/元/g,
												'')
										}
										voiceData.lsprice = voiceData.lsprice.replace(/[^0-9.]/g,
											"");
									}
									this.tui.request('/app/product/getByProductSn', "post", {
										productSn: voiceData.productSn
									}, false, true).then((res) => {
										if (res.code == 200) {
											if (res.result != '') {
												this.voiceText = ''
												this.$refs.popup.close()
												this.tui.request(
													"/app/productAttribute/selectAttributeAndValueByCategoryId",
													"POST", {
														categoryId: res.result[0].attrId
													}, false, true).then((res1) => {
													if (res1.code == 200) {
														let data = {
															attributeList: '{"颜色":"均色","尺码":"均码"}',
															productCount: Number(voiceData
																	.productCount) ||
																1,
															stockCount: null
														}
														if (res1.result.stock.length > 0) {
															for (let i = 0; i < res1.result
																.stock.length; i++) {
																if (res1.result.stock[i]
																	.attributeList ==
																	'{"颜色":"均色","尺码":"均码"}') {
																	data = {
																		attributeList: '{"颜色":"均色","尺码":"均码"}',
																		productCount: Number(
																			voiceData
																			.productCount
																		) || 1,
																		stockCount: res1
																			.result.stock[
																				i]
																			.stockCount
																	}
																}
															}
														}
														if (voiceData.purchasePrice) {
															voiceData.purchasePrice = this
																.replaceCharAfterNumber(
																	voiceData
																	.purchasePrice, '块', '.')
															if (voiceData.purchasePrice
																.indexOf('元') != -1) {
																voiceData.purchasePrice =
																	voiceData
																	.purchasePrice.replace(
																		/元/g, '')
															}
															voiceData.purchasePrice = voiceData
																.purchasePrice
																.replace(/[^0-9.]/g, "");

														}
														if (voiceData.wholesalePrice) {
															voiceData.wholesalePrice = this
																.replaceCharAfterNumber(
																	voiceData
																	.wholesalePrice, '块', '.')
															if (voiceData.wholesalePrice
																.indexOf('元') != -1) {
																voiceData.wholesalePrice =
																	voiceData
																	.wholesalePrice.replace(
																		/元/g, '')
															}
															voiceData.wholesalePrice =
																voiceData.wholesalePrice
																.replace(
																	/[^0-9.]/g, "");
														}
														res.result[0].productId = res.result[0]
															.id
														res.result[0].stockLogList1 = []
														res.result[0].stockLogList1.push(data)
														let purchaseDetails = res.result
														if (this.oneGoodsId) {
															let id = this.oneGoodsId
															if (purchaseDetails.length > 0) {
																if (this.carList.get(id)
																	.productSn != '') {
																	for (let j = 0; j <
																		purchaseDetails
																		.length; j++) {
																		for (let i = 0; i <
																			purchaseDetails[j]
																			.stockLogList1
																			.length; i++) {
																			if (this.carList
																				.get(id)
																				.productName ==
																				'') {
																				this.carList
																					.get(id)
																					.productName =
																					purchaseDetails[
																						0]
																					.productName
																			}
																			if (this.carList
																				.get(id)
																				.attrId ==
																				'') {
																				this.carList
																					.get(id)
																					.attrId =
																					purchaseDetails[
																						0]
																					.attrId
																			}
																			if (this.carList
																				.get(id)
																				.purchasePrice ==
																				'' || this
																				.carList.get(
																					id)
																				.purchasePrice ==
																				null) {
																				if (voiceData
																					.purchasePrice
																				) {
																					this.carList
																						.get(
																							id)
																						.purchasePrice =
																						voiceData
																						.purchasePrice
																				} else {
																					this.carList
																						.get(
																							id)
																						.purchasePrice =
																						purchaseDetails[
																							0]
																						.purchasePrice
																				}

																			}
																			if (this.carList
																				.get(id)
																				.productPicture ==
																				'') {
																				this.carList
																					.get(id)
																					.productPicture =
																					purchaseDetails[
																						0]
																					.productPicture
																			}
																			this.carList.get(
																					id)
																				.customerCategoryRule =
																				this
																				.checkPriceRule(
																					JSON.parse(
																						purchaseDetails[
																							0]
																						.customerCategoryRule
																						))
																			purchaseDetails[j]
																				.stockLogList1[
																					i]
																				.name = this
																				.sliceMsg(
																					purchaseDetails[
																						j]
																					.stockLogList1[
																						i]
																					.attributeList
																				)
																			if (this.carList
																				.get(id)
																				.stockLogList
																				.size == 0) {
																				this.carList
																					.get(id)
																					.stockLogList
																					.set(
																						purchaseDetails[
																							j]
																						.stockLogList1[
																							i]
																						.attributeList,
																						purchaseDetails[
																							j]
																						.stockLogList1[
																							i])
																			} else {
																				if (this
																					.carList
																					.get(id)
																					.stockLogList
																					.has(
																						purchaseDetails[
																							j]
																						.stockLogList1[
																							i]
																						.attributeList
																					) ==
																					true
																				) {
																					this.carList
																						.get(
																							id)
																						.stockLogList
																						.get(
																							purchaseDetails[
																								j
																								]
																							.stockLogList1[
																								i
																								]
																							.attributeList
																							)
																						.productNum =
																						purchaseDetails[
																							j
																						]
																						.stockLogList1[
																							i
																						]
																						.stockCount

																					this.carList
																						.get(
																							id)
																						.stockLogList
																						.get(
																							purchaseDetails[
																								j
																								]
																							.stockLogList1[
																								i
																								]
																							.attributeList
																							)
																						.productCount +=
																						Number(
																							purchaseDetails[
																								j
																								]
																							.stockLogList1[
																								i
																								]
																							.productCount
																						)
																				} else {
																					this.carList
																						.get(
																							id)
																						.stockLogList
																						.set(
																							purchaseDetails[
																								j
																							]
																							.stockLogList1[
																								i
																							]
																							.attributeList,
																							purchaseDetails[
																								j
																							]
																							.stockLogList1[
																								i
																							]
																						)
																				}
																			}
																			this.carList.get(
																					id)
																				.productCount +=
																				Number(
																					purchaseDetails[
																						j]
																					.stockLogList1[
																						i]
																					.productCount
																				)
																		}
																	}
																	if (this.carList.get(id)
																		.stockLogList.get(
																			'{"颜色":"均色","尺码":"均码"}'
																		)
																		.productCount == 0 &&
																		purchaseDetails[
																			0].stockLogList1
																		.length > 0) {
																		this.carList.get(id)
																			.stockLogList
																			.delete(
																				'{"颜色":"均色","尺码":"均码"}'
																			)
																	}
																	this.carList.get(id)
																		.price1 = Number(this
																			.carList
																			.get(id)
																			.productCount) *
																		this
																		.carList
																		.get(id).purchasePrice
																} else {

																	let isTrue = false
																	this.carList.forEach(
																		function(value,
																			key) {
																			if (value
																				.productSn ==
																				purchaseDetails[
																					0]
																				.productSn
																			) {
																				isTrue =
																					true
																				that.tui
																					.toast(
																						'该货号被页面其他商品占用,请重新输入！'
																					)
																				that.carList
																					.get(
																						id)
																					.productSn =
																					''
																				setTimeout(
																					res => {
																						that.$forceUpdate()
																					},
																					1000
																				)
																				throw Error(
																					'被占用'
																				)
																			}
																		})

																	this.$nextTick(() => {
																		if (this
																			.carList
																			.get(id)
																			.productName ==
																			'') {
																			this.carList
																				.get(
																					id)
																				.productName =
																				purchaseDetails[
																					0]
																				.productName
																		}
																		this.carList
																			.get(id)
																			.customerCategoryList =
																			purchaseDetails[
																				0]
																			.customerCategoryRule !=
																			null ?
																			this
																			.checkPriceRule(
																				JSON
																				.parse(
																					purchaseDetails[
																						0
																						]
																					.customerCategoryRule
																				)) :
																			null
																		if (isTrue ==
																			false &&
																			this
																			.carList
																			.get(id)
																			.productSn ==
																			'') {
																			this.carList
																				.get(
																					id)
																				.productSn =
																				purchaseDetails[
																					0]
																				.productSn
																		}
																		if (isTrue ==
																			false) {
																			if (purchaseDetails[
																					0]
																				.productId
																			) {
																				this.carList
																					.get(
																						id
																					)
																					.id =
																					purchaseDetails[
																						0
																					]
																					.productId
																				this.carList
																					.get(
																						id
																					)
																					.productId =
																					purchaseDetails[
																						0
																					]
																					.productId
																				this.carList
																					.get(
																						id
																					)
																					.isNew =
																					false
																				id = purchaseDetails[
																						0
																					]
																					.productId

																			} else if (
																				purchaseDetails[
																					0]
																				.productSn ==
																				'' ||
																				purchaseDetails[
																					0]
																				.productSn ==
																				null) {
																				this.carList
																					.get(
																						id
																					)
																					.id =
																					purchaseDetails[
																						0
																					]
																					.productName
																				id = purchaseDetails[
																						0
																					]
																					.productName
																			} else if (
																				purchaseDetails[
																					0]
																				.productSn ==
																				'货号') {
																				this.carList
																					.get(
																						id
																					)
																					.productSn =
																					purchaseDetails[
																						0
																					]
																					.productName
																				this.carList
																					.get(
																						id
																					)
																					.id =
																					purchaseDetails[
																						0
																					]
																					.productName
																				id = purchaseDetails[
																						0
																					]
																					.productName
																			} else if (
																				purchaseDetails[
																					0]
																				.productSn
																			) {
																				this.carList
																					.get(
																						id
																					)
																					.id =
																					purchaseDetails[
																						0
																					]
																					.productSn
																				id = purchaseDetails[
																						0
																					]
																					.productSn
																			}
																		}
																	})
																	if (this.carList.get(id)
																		.purchasePrice ==
																		'' || this.carList.get(
																			id)
																		.purchasePrice == null
																	) {
																		if (voiceData
																			.purchasePrice) {
																			this.carList.get(
																					id)
																				.purchasePrice =
																				voiceData
																				.purchasePrice
																		} else {
																			this.carList.get(
																					id)
																				.purchasePrice =
																				purchaseDetails[
																					0]
																				.purchasePrice
																		}

																	}
																	this.carList.get(id)
																		.customerCategoryList =
																		purchaseDetails[0]
																		.customerCategoryRule !=
																		null ? this
																		.checkPriceRule(JSON
																			.parse(
																				purchaseDetails[
																					0]
																				.customerCategoryRule
																			)) : this
																		.getNewProductRule()
																	if (this.carList.get(id)
																		.productPicture ==
																		'') {
																		this.carList.get(id)
																			.productPicture =
																			purchaseDetails[0]
																			.productPicture
																	}
																	if (purchaseDetails[0]
																		.productId) {
																		this.carList.get(id)
																			.attrId =
																			purchaseDetails[0]
																			.attrId
																		this.carList.get(id)
																			.wholesalePrice =
																			purchaseDetails[0]
																			.wholesalePrice
																		this.carList.get(id)
																			.lsPrice =
																			purchaseDetails[0]
																			.lsPrice
																	}

																	let specMap =
																		new Map() //新的临时存放值那个更改过的值的map
																	this.$nextTick(() => {
																		this.carList
																			.forEach(
																				function(
																					value,
																					key
																				) {
																					if (key !=
																						value
																						.id
																					) {
																						specMap
																							.set(
																								value
																								.id,
																								value
																							)
																					} else {
																						specMap
																							.set(
																								key,
																								value
																							)
																					}
																				})
																		this.carList =
																			specMap
																	})
																	this.$nextTick(() => {
																		for (let j =
																				0; j <
																			purchaseDetails
																			.length; j++
																		) {
																			for (let i =
																					0; i <
																				purchaseDetails[
																					j]
																				.stockLogList1
																				.length; i++
																			) {
																				purchaseDetails
																					[j]
																					.stockLogList1[
																						i
																					]
																					.name =
																					this
																					.sliceMsg(
																						purchaseDetails[
																							j
																						]
																						.stockLogList1[
																							i
																						]
																						.attributeList
																					)
																				if (this
																					.carList
																					.get(
																						id
																					)
																					.stockLogList
																					.size ==
																					0
																				) {
																					this.carList
																						.get(
																							id
																						)
																						.stockLogList
																						.set(
																							purchaseDetails[
																								j
																							]
																							.stockLogList1[
																								i
																							]
																							.attributeList,
																							purchaseDetails[
																								j
																							]
																							.stockLogList1[
																								i
																							]
																						)
																				} else {
																					if (this
																						.carList
																						.get(
																							id
																							)
																						.stockLogList
																						.has(
																							purchaseDetails[
																								j
																							]
																							.stockLogList1[
																								i
																							]
																							.attributeList
																						) ==
																						true
																					) {
																						this.carList
																							.get(
																								id
																							)
																							.stockLogList
																							.get(
																								purchaseDetails[
																									j
																								]
																								.stockLogList1[
																									i
																								]
																								.attributeList
																							)
																							.productNum =
																							purchaseDetails[
																								j
																							]
																							.stockLogList1[
																								i
																							]
																							.stockCount


																						this.carList
																							.get(
																								id
																							)
																							.stockLogList
																							.get(
																								purchaseDetails[
																									j
																								]
																								.stockLogList1[
																									i
																								]
																								.attributeList
																							)
																							.productCount +=
																							Number(
																								purchaseDetails[
																									j
																								]
																								.stockLogList1[
																									i
																								]
																								.productCount
																							)
																					} else {
																						this.carList
																							.get(
																								id
																							)
																							.stockLogList
																							.set(
																								purchaseDetails[
																									j
																								]
																								.stockLogList1[
																									i
																								]
																								.attributeList,
																								purchaseDetails[
																									j
																								]
																								.stockLogList1[
																									i
																								]
																							)
																					}
																				}
																				this.carList
																					.get(
																						id
																					)
																					.productCount +=
																					Number(
																						purchaseDetails[
																							j
																						]
																						.stockLogList1[
																							i
																						]
																						.productCount
																					)
																			}
																		}
																		this.carList
																			.get(id)
																			.price1 =
																			Number(this
																				.carList
																				.get(
																					id)
																				.productCount
																			) *
																			this
																			.carList
																			.get(id)
																			.purchasePrice
																		if (this
																			.carList
																			.get(id)
																			.stockLogList
																			.get(
																				'{"颜色":"均色","尺码":"均码"}'
																			)
																			.productCount ==
																			0 &&
																			purchaseDetails[
																				0]
																			.stockLogList1
																			.length > 0
																		) {
																			this.carList
																				.get(
																					id)
																				.stockLogList
																				.delete(
																					'{"颜色":"均色","尺码":"均码"}'
																				)
																		}
																	})
																}

																this.$nextTick(() => {
																	this.getAllPrice()
																	this.oneGoodsId =
																		''
																})
															} else {
																this.tui.toast(
																	"抱歉：小助手本次未识别到商品信息，请检查识别信息是否正确"
																)
															}
														} else {
															for (let i = 0; i < purchaseDetails
																.length; i++) {
																let data1 = {
																	id: "",
																	price: purchaseDetails[
																		i].price,
																	productCount: 0,
																	customerCategoryList: purchaseDetails[
																			i]
																		.customerCategoryRule !=
																		null ? this
																		.checkPriceRule(
																			JSON.parse(
																				purchaseDetails[
																					i]
																				.customerCategoryRule
																			)) : this
																		.getNewProductRule(),
																	attrId: purchaseDetails[
																		i].attrId,
																	categoryId: purchaseDetails[
																			i]
																		.categoryId == '' ?
																		this
																		.categoryList
																		.categoryId :
																		purchaseDetails[i]
																		.categoryId,
																	categoryName: purchaseDetails[
																			i]
																		.categoryName ==
																		'' ? this
																		.categoryList
																		.categoryName :
																		purchaseDetails[i]
																		.categoryName,
																	wholesalePrice: voiceData
																		.wholesalePrice ?
																		voiceData
																		.wholesalePrice :
																		purchaseDetails[
																			i]
																		.wholesalePrice,
																	purchasePrice: voiceData
																		.purchasePrice ?
																		voiceData
																		.purchasePrice :
																		purchaseDetails[i]
																		.purchasePrice,
																	isNew: purchaseDetails[
																			i].productId ==
																		null ? true :
																		false,
																	productId: purchaseDetails[
																			i]
																		.productId,
																	productName: purchaseDetails[
																			i]
																		.productName,
																	productSn: purchaseDetails[
																			i]
																		.productSn,
																	productPicture: purchaseDetails[
																			i]
																		.productPicture,
																	supplierName: purchaseDetails[
																			i]
																		.supplierName,
																	productPictures: [],
																	saleDetailQueryDTO: []
																}
																if (purchaseDetails[i]
																	.productId) {
																	data1.id = purchaseDetails[
																		i].productId
																} else if (purchaseDetails[i]
																	.productSn ==
																	'' || purchaseDetails[i]
																	.productSn ==
																	null) {
																	data1.id = purchaseDetails[
																		i].productName
																} else if (purchaseDetails[i]
																	.productSn ==
																	'货号') {
																	data1.productSn =
																		purchaseDetails[i]
																		.productName
																	data1.id = purchaseDetails[
																		i].productName
																} else if (purchaseDetails[i]
																	.productSn) {
																	data1.id = purchaseDetails[
																		i].productSn
																}
																for (let m = 0; m <
																	purchaseDetails[i]
																	.stockLogList1.length; m++
																) {
																	let list = {
																		attributeList: this
																			.getAttribute(
																				purchaseDetails[
																					i]
																				.stockLogList1[
																					m]
																				.attributeList
																			),
																		productCount: Number(
																				purchaseDetails[
																					i]
																				.stockLogList1[
																					m]
																				.productCount
																			) ||
																			Number(
																				purchaseDetails[
																					i]
																				.stockLogList1[
																					m]
																				.productCounts
																			),
																		productNum: purchaseDetails[
																				i]
																			.stockLogList1[
																				m]
																			.stockCount,
																		name: this
																			.sliceMsg(this
																				.getAttribute(
																					purchaseDetails[
																						i]
																					.stockLogList1[
																						m]
																					.attributeList
																				)),
																		price: purchaseDetails[
																				i]
																			.stockLogList1[
																				m]
																			.purchasePrice
																	}
																	data1.productCount +=
																		Number(
																			purchaseDetails[i]
																			.stockLogList1[m]
																			.productCount)
																	data1.saleDetailQueryDTO
																		.push(list)
																}
																this.carList1.push(data1)
															}
															if (i == convertedStr.length - 1) {
																this.$nextTick(() => {
																	setTimeout(res => {
																		this.AiVoice()
																	}, 300)
																})
															}
														}
													} else {
														this.tui.toast(res1.message)
													}
												}).catch((res) => {})

											} else {
												this.voiceText = ''
												this.voiceText1 = ''
												this.$refs.popup.close()
												if (voiceData.productCount) {
													let regexZCount = /\d+/g;
													voiceData.productCount = voiceData.productCount[0]
														.match(regexZCount);
												}
												if (voiceData.purchasePrice) {
													voiceData.purchasePrice = this
														.replaceCharAfterNumber(voiceData
															.purchasePrice, '块', '.')
													if (voiceData.purchasePrice.indexOf('元') != -1) {
														voiceData.purchasePrice = voiceData
															.purchasePrice.replace(/元/g, '')
													}
													voiceData.purchasePrice = voiceData.purchasePrice
														.replace(/[^0-9.]/g, "");

												}
												if (voiceData.wholesalePrice) {
													voiceData.wholesalePrice = this
														.replaceCharAfterNumber(
															voiceData.wholesalePrice, '块', '.')
													if (voiceData.wholesalePrice.indexOf('元') != -1) {
														voiceData.wholesalePrice = voiceData
															.wholesalePrice.replace(/元/g, '')
													}
													voiceData.wholesalePrice = voiceData.wholesalePrice
														.replace(/[^0-9.]/g, "");
												}
												if (voiceData.lsprice) {
													voiceData.lsprice = this
														.replaceCharAfterNumber(
															voiceData.lsprice, '块', '.')
													if (voiceData.lsprice.indexOf('元') != -1) {
														voiceData.lsprice = voiceData
															.lsprice.replace(/元/g, '')
													}
													voiceData.lsprice = voiceData.lsprice
														.replace(/[^0-9.]/g, "");
												}
												let data = {
													id: voiceData.productSn ? voiceData.productSn :
														generateUUID(),
													productCount: Number(voiceData.productCount) ||
														0,
													productName: voiceData.productName,
													productSn: voiceData.productSn,
													categoryId: this.categoryList.categoryId,
													categoryName: this.categoryList.categoryName,
													purchasePrice: voiceData.purchasePrice || 0,
													wholesalePrice: voiceData.wholesalePrice || 0,
													lsprice: voiceData.lsprice || 0,
													stockLogList1: [{
														attributeList: '{"颜色":"均色","尺码":"均码"}',
														productCount: Number(voiceData
															.productCount) || 1,
														stockCount: null
													}]
												}
												let purchaseDetails = []
												purchaseDetails.push(data)
												if (this.oneGoodsId) {
													let id = this.oneGoodsId
													if (purchaseDetails.length > 0) {
														if (this.carList.get(id).productSn != '') {
															for (let j = 0; j < purchaseDetails
																.length; j++) {
																for (let i = 0; i < purchaseDetails[j]
																	.stockLogList1.length; i++) {
																	if (this.carList.get(id)
																		.productName == '') {
																		this.carList.get(id)
																			.productName =
																			purchaseDetails[0]
																			.productName
																	}
																	if (this.carList.get(id)
																		.productSn == '') {
																		this.carList.get(id)
																			.productSn =
																			purchaseDetails[0]
																			.productSn
																	}
																	if (this.carList.get(id).attrId ==
																		'') {
																		this.carList.get(id).attrId =
																			purchaseDetails[0].attrId
																	}
																	if (this.carList.get(id)
																		.wholesalePrice == '' || this
																		.carList.get(id)
																		.wholesalePrice == null) {
																		this.carList.get(id)
																			.wholesalePrice =
																			purchaseDetails[0]
																			.wholesalePrice
																	}
																	if (this.carList.get(id)
																		.purchasePrice == '' || this
																		.carList.get(id)
																		.purchasePrice == null) {
																		this.carList.get(id)
																			.purchasePrice =
																			purchaseDetails[0]
																			.purchasePrice
																	}
																	if (this.carList.get(id)
																		.productPicture == '') {
																		this.carList.get(id)
																			.productPicture =
																			purchaseDetails[0]
																			.productPicture
																	}
																	purchaseDetails[j].stockLogList1[i]
																		.name = this.sliceMsg(
																			purchaseDetails[j]
																			.stockLogList1[i]
																			.attributeList)
																	if (this.carList.get(id)
																		.stockLogList.size == 0) {
																		this.carList.get(id)
																			.stockLogList.set(
																				purchaseDetails[j]
																				.stockLogList1[i]
																				.attributeList,
																				purchaseDetails[j]
																				.stockLogList1[i])
																	} else {
																		if (this.carList.get(id)
																			.stockLogList.has(
																				purchaseDetails[j]
																				.stockLogList1[i]
																				.attributeList) == true
																		) {
																			this.carList.get(id)
																				.stockLogList.get(
																					purchaseDetails[j]
																					.stockLogList1[i]
																					.attributeList)
																				.productCount +=
																				Number(purchaseDetails[
																						j]
																					.stockLogList1[i]
																					.productCount)
																		} else {
																			this.carList.get(id)
																				.stockLogList.set(
																					purchaseDetails[j]
																					.stockLogList1[i]
																					.attributeList,
																					purchaseDetails[j]
																					.stockLogList1[i])
																		}
																	}
																	this.carList.get(id)
																		.productCount +=
																		Number(purchaseDetails[j]
																			.stockLogList1[i]
																			.productCount)
																}
															}
															if (this.carList.get(id).stockLogList.get(
																	'{"颜色":"均色","尺码":"均码"}')
																.productCount == 0 && purchaseDetails[
																	0].stockLogList1.length > 0) {
																this.carList.get(id).stockLogList
																	.delete('{"颜色":"均色","尺码":"均码"}')
															}
															this.carList.get(id).price1 = Number(this
																	.carList
																	.get(id).productCount) * this
																.carList
																.get(id).purchasePrice
														} else {

															let isTrue = false
															this.carList.forEach(function(value, key) {
																if (value.productSn ==
																	purchaseDetails[0]
																	.productSn) {
																	isTrue = true
																	that.tui.toast(
																		'该货号被页面其他商品占用,请重新输入！'
																	)
																	that.carList.get(id)
																		.productSn = ''
																	setTimeout(res => {
																		that.$forceUpdate()
																	}, 1000)
																	throw Error('被占用')
																}
															})

															this.$nextTick(() => {
																if (this.carList.get(id)
																	.productName == '') {
																	this.carList.get(id)
																		.productName =
																		purchaseDetails[0]
																		.productName
																}
																if (isTrue == false && this
																	.carList.get(id)
																	.productSn == '') {
																	this.carList.get(id)
																		.productSn =
																		purchaseDetails[0]
																		.productSn
																}
																if (isTrue == false) {
																	if (purchaseDetails[0]
																		.productId) {
																		this.carList.get(id)
																			.id =
																			purchaseDetails[0]
																			.productId
																		this.carList.get(id)
																			.isNew = false
																		id = purchaseDetails[0]
																			.productId
																	} else if (purchaseDetails[
																			0].productSn ==
																		'' || purchaseDetails[
																			0].productSn ==
																		null) {
																		this.carList.get(id)
																			.id =
																			purchaseDetails[0]
																			.productName
																		id = purchaseDetails[0]
																			.productName
																	} else if (purchaseDetails[
																			0].productSn ==
																		'货号') {
																		this.carList.get(id)
																			.productSn =
																			purchaseDetails[0]
																			.productName
																		this.carList.get(id)
																			.id =
																			purchaseDetails[0]
																			.productName
																		id = purchaseDetails[0]
																			.productName
																	} else if (purchaseDetails[
																			0].productSn) {
																		this.carList.get(id)
																			.id =
																			purchaseDetails[0]
																			.productSn
																		id = purchaseDetails[0]
																			.productSn
																	}
																}
															})
															if (this.carList.get(id).purchasePrice ==
																'' || this.carList.get(id)
																.purchasePrice == null) {
																this.carList.get(id).purchasePrice =
																	purchaseDetails[0].purchasePrice
															}
															if (this.carList.get(id).productPicture ==
																'') {
																this.carList.get(id).productPicture =
																	purchaseDetails[0].productPicture
															}
															if (purchaseDetails[0].productId) {
																this.carList.get(id).attrId =
																	purchaseDetails[0].attrId

																this.carList.get(id).lsPrice =
																	purchaseDetails[0].lsPrice
															}
															this.carList.get(id).wholesalePrice =
																purchaseDetails[0].wholesalePrice
															let specMap =
																new Map() //新的临时存放值那个更改过的值的map
															this.$nextTick(() => {
																this.carList.forEach(function(
																	value, key) {
																	if (key != value
																		.id) {
																		specMap.set(
																			value
																			.id,
																			value)
																	} else {
																		specMap.set(
																			key,
																			value)
																	}
																})
																this.carList = specMap
															})
															this.$nextTick(() => {
																for (let j = 0; j <
																	purchaseDetails.length; j++
																) {
																	for (let i = 0; i <
																		purchaseDetails[j]
																		.stockLogList1
																		.length; i++) {
																		purchaseDetails[j]
																			.stockLogList1[i]
																			.name = this
																			.sliceMsg(
																				purchaseDetails[
																					j]
																				.stockLogList1[
																					i]
																				.attributeList)
																		if (this.carList.get(
																				id)
																			.stockLogList
																			.size == 0) {
																			this.carList.get(
																					id)
																				.stockLogList
																				.set(
																					purchaseDetails[
																						j]
																					.stockLogList1[
																						i]
																					.attributeList,
																					purchaseDetails[
																						j]
																					.stockLogList1[
																						i])
																		} else {
																			if (this.carList
																				.get(id)
																				.stockLogList
																				.has(
																					purchaseDetails[
																						j]
																					.stockLogList1[
																						i]
																					.attributeList
																				) == true
																			) {
																				this.carList
																					.get(id)
																					.stockLogList
																					.get(
																						purchaseDetails[
																							j]
																						.stockLogList1[
																							i]
																						.attributeList
																					)
																					.productCount +=
																					Number(
																						purchaseDetails[
																							j]
																						.stockLogList1[
																							i]
																						.productCount
																					)
																			} else {
																				this.carList
																					.get(id)
																					.stockLogList
																					.set(
																						purchaseDetails[
																							j]
																						.stockLogList1[
																							i]
																						.attributeList,
																						purchaseDetails[
																							j]
																						.stockLogList1[
																							i])
																			}
																		}
																		this.carList.get(id)
																			.productCount +=
																			Number(
																				purchaseDetails[
																					j]
																				.stockLogList1[
																					i]
																				.productCount)
																	}
																}
																this.carList.get(id).price1 =
																	Number(this.carList.get(id)
																		.productCount) * this
																	.carList.get(id)
																	.purchasePrice
																if (this.carList.get(id)
																	.stockLogList.get(
																		'{"颜色":"均色","尺码":"均码"}'
																	).productCount == 0 &&
																	purchaseDetails[0]
																	.stockLogList1.length > 0
																) {
																	this.carList.get(id)
																		.stockLogList.delete(
																			'{"颜色":"均色","尺码":"均码"}'
																		)
																}
															})
														}

														this.$nextTick(() => {
															this.getAllPrice()
															this.oneGoodsId = ''
														})
													} else {
														this.tui.toast("抱歉：小助手本次未识别到商品信息，请检查识别信息是否正确")
													}
												} else {
													if (voiceData.purchasePrice) {
														voiceData.purchasePrice = this
															.replaceCharAfterNumber(voiceData
																.purchasePrice, '块', '.')
														if (voiceData.purchasePrice.indexOf('元') != -
															1) {
															voiceData.purchasePrice = voiceData
																.purchasePrice.replace(/元/g, '')
														}
														voiceData.purchasePrice = voiceData
															.purchasePrice.replace(/[^0-9.]/g, "");

													}
													if (voiceData.wholesalePrice) {
														voiceData.wholesalePrice = this
															.replaceCharAfterNumber(
																voiceData.wholesalePrice, '块', '.')
														if (voiceData.wholesalePrice.indexOf('元') != -
															1) {
															voiceData.wholesalePrice = voiceData
																.wholesalePrice.replace(/元/g, '')
														}
														voiceData.wholesalePrice = voiceData
															.wholesalePrice.replace(
																/[^0-9.]/g, "");
													}
													for (let i = 0; i < purchaseDetails.length; i++) {
														let data = {
															id: "",
															productCount: 0,
															attrId: purchaseDetails[i].attrId,
															categoryId: purchaseDetails[i]
																.categoryId == '' ? this
																.categoryList.categoryId :
																purchaseDetails[i].categoryId,
															categoryName: purchaseDetails[i]
																.categoryName == '' ? this
																.categoryList.categoryName :
																purchaseDetails[i].categoryName,
															wholesalePrice: voiceData
																.wholesalePrice ? voiceData
																.wholesalePrice : purchaseDetails[
																	i].wholesalePrice,
															price: voiceData
																.lsprice ? voiceData
																.lsprice : purchaseDetails[
																	i].lsprice,
															purchasePrice: purchaseDetails[i]
																.purchasePrice,
															isNew: purchaseDetails[i].productId ==
																null ? true : false,
															productId: purchaseDetails[i]
																.productId,
															productName: purchaseDetails[i]
																.productName,
															productSn: purchaseDetails[i]
																.productSn,
															productPicture: purchaseDetails[i]
																.productPicture,
															supplierName: purchaseDetails[i]
																.supplierName,
															productPictures: [],
															saleDetailQueryDTO: []
														}
														if (purchaseDetails[i].productId) {
															data.id = purchaseDetails[i].productId
														} else if (purchaseDetails[i].productSn ==
															'' || purchaseDetails[i].productSn ==
															null) {
															data.id = purchaseDetails[i].productName ||
																purchaseDetails[i].id
														} else if (purchaseDetails[i].productSn ==
															'货号') {
															data.productSn = purchaseDetails[i]
																.productName
															data.id = purchaseDetails[i].productName ||
																purchaseDetails[i].id
														} else if (purchaseDetails[i].productSn) {
															data.id = purchaseDetails[i].productSn ||
																purchaseDetails[i].id
														}
														for (let m = 0; m < purchaseDetails[i]
															.stockLogList1.length; m++) {
															let list = {
																attributeList: this.getAttribute(
																	purchaseDetails[i]
																	.stockLogList1[m]
																	.attributeList),
																productCount: Number(
																		purchaseDetails[i]
																		.stockLogList1[m]
																		.productCount) ||
																	Number(purchaseDetails[i]
																		.stockLogList1[m]
																		.productCounts),
																productNum: '',
																name: this.sliceMsg(this
																	.getAttribute(
																		purchaseDetails[i]
																		.stockLogList1[m]
																		.attributeList)),
																price: purchaseDetails[i]
																	.stockLogList1[m].purchasePrice
															}
															data.productCount += Number(
																purchaseDetails[i]
																.stockLogList1[m].productCount)
															data.saleDetailQueryDTO.push(list)
														}
														this.carList1.push(data)
													}
													if (i == convertedStr.length - 1) {
														this.$nextTick(() => {
															setTimeout(res => {
																this.AiVoice()
															}, 300)
														})
													}

												}

											}
										}
									})
								}, 200 * (i + 1))
							}

						}
						this.$refs.popup.close()
						this.$refs.voiceBottomPopup.close()
					} catch (e) {
						if (this.getMsg.indexOf('色，') != -1) {
							this.getMsg = this.getMsg.replace(/色，/g, '色')
						}
						if (this.getMsg.indexOf('色') != -1) {
							this.getMsg = this.getMsg.replace(/色/g, '色、')
						}
						if (this.getMsg.indexOf('件，') != -1) {
							this.getMsg = this.getMsg.replace(/件，/g, '件')
						}
						if (this.getMsg.indexOf('件') != -1) {
							this.getMsg = this.getMsg.replace(/件/g, '件，')
						}
						let callObj
						if (this.oneGoodsId != '' && !this.carList.get(this.oneGoodsId).isNew) {
							callObj = {
								productId: this.carList.get(this.oneGoodsId).productId,
								questionMsg: this.getMsg
							}
						} else {
							callObj = {
								questionMsg: this.getMsg
							}
						}
						await this.tui.request("/purchaseOcrPicture/callWithMessageOfPurchase", "POST", callObj, false,
							true).then((res) => {
							if (res.code == 200) {
								this.voiceText = ''
								this.voiceText1 = ''
								this.$refs.popup.close()
								this.$refs.voiceBottomPopup.close()
								let purchaseDetails = res.result.data.purchaseDetails
								if (this.oneGoodsId) {
									let id = this.oneGoodsId
									if (purchaseDetails.length > 0) {
										if (this.carList.get(id).productSn != '') {
											for (let j = 0; j < purchaseDetails.length; j++) {
												if (purchaseDetails[j].purchasePrice == "" || purchaseDetails[
														j].purchasePrice == null) {
													purchaseDetails[j].purchasePrice = 0
												}
												if (purchaseDetails[j].wholesalePrice == "" || purchaseDetails[
														j].wholesalePrice == null) {
													purchaseDetails[j].wholesalePrice = 0
												}
												if (purchaseDetails[j].price == "" || purchaseDetails[j]
													.price == null) {
													purchaseDetails[j].price = 0
												}
												for (let i = 0; i < purchaseDetails[j].stockLogList1
													.length; i++) {
													if (purchaseDetails[j].stockLogList1[i].productCount ==
														"" || purchaseDetails[j].stockLogList1[i]
														.productCount == null) {
														purchaseDetails[j].stockLogList1[i].productCount = 0
													}
													if (this.carList.get(id).productName == '') {
														this.carList.get(id).productName = purchaseDetails[0]
															.productName
													}
													if (this.carList.get(id).attrId == '') {
														this.carList.get(id).attrId = purchaseDetails[0].attrId
													}
													if (this.carList.get(id).purchasePrice == '' || this
														.carList.get(id).purchasePrice == null) {
														this.carList.get(id).purchasePrice = purchaseDetails[0]
															.purchasePrice
													}
													if (this.carList.get(id).wholesalePrice == '' || this
														.carList.get(id).wholesalePrice == null) {
														this.carList.get(id).wholesalePrice = purchaseDetails[
																0]
															.wholesalePrice
													}
													if (this.carList.get(id).productPicture == '') {
														this.carList.get(id).productPicture = purchaseDetails[
															0].productPicture
													}
													purchaseDetails[j].stockLogList1[i].name = this.sliceMsg(
														purchaseDetails[j].stockLogList1[i].attributeList)
													this.carList.get(id).stockLogList.get(
															purchaseDetails[j].stockLogList1[i]
															.attributeList).productNum =
														purchaseDetails[j].stockLogList1[i].stockCount
													if (this.carList.get(id).stockLogList.size == 0) {
														this.carList.get(id).stockLogList.set(purchaseDetails[
																j].stockLogList1[i].attributeList,
															purchaseDetails[j].stockLogList1[i])
													} else {
														if (this.carList.get(id).stockLogList.has(
																purchaseDetails[j].stockLogList1[i]
																.attributeList) == true) {
															this.carList.get(id).stockLogList.get(
																	purchaseDetails[j].stockLogList1[i]
																	.attributeList).productCount +=
																Number(purchaseDetails[j].stockLogList1[i]
																	.productCount)
														} else {
															this.carList.get(id).stockLogList.set(
																purchaseDetails[j].stockLogList1[i]
																.attributeList, purchaseDetails[j]
																.stockLogList1[i])
														}
													}
													this.carList.get(id).productCount += Number(
														purchaseDetails[j]
														.stockLogList1[i].productCount)
												}
											}
											if (this.carList.get(id).stockLogList.get('{"颜色":"均色","尺码":"均码"}')
												.productCount == 0 && purchaseDetails[0].stockLogList1.length >
												0) {
												this.carList.get(id).stockLogList.delete(
													'{"颜色":"均色","尺码":"均码"}')
											}
											this.carList.get(id).price1 = Number(this.carList.get(id)
													.productCount) *
												this.carList.get(id).purchasePrice
										} else {

											let isTrue = false
											this.carList.forEach(function(value, key) {
												if (value.productSn == purchaseDetails[0].productSn) {
													isTrue = true
													that.tui.toast('该货号被页面其他商品占用,请重新输入！')
													that.carList.get(id).productSn = ''
													setTimeout(res => {
														that.$forceUpdate()
													}, 2000)
													throw Error('被占用')
												}
											})

											this.$nextTick(() => {
												if (this.carList.get(id).productName == '') {
													this.carList.get(id).productName = purchaseDetails[
														0].productName
												}
												this.carList.get(id).customerCategoryList = this
													.checkPriceRule(JSON.parse(
														purchaseDetails[0].customerCategoryRule))
												if (isTrue == false && this.carList.get(id)
													.productSn == '') {
													this.carList.get(id).productSn = purchaseDetails[0]
														.productSn
												}
												if (isTrue == false) {
													if (purchaseDetails[0].productId) {
														this.carList.get(id).id = purchaseDetails[0]
															.productId
														this.carList.get(id).isNew = false
														id = purchaseDetails[0].productId
													} else if (purchaseDetails[0].productSn == '' ||
														purchaseDetails[0].productSn ==
														null) {
														this.carList.get(id).id = purchaseDetails[0]
															.productName
														id = purchaseDetails[0].productName
													} else if (purchaseDetails[0].productSn == '货号') {
														this.carList.get(id).productSn =
															purchaseDetails[0].productName
														this.carList.get(id).id = purchaseDetails[0]
															.productName
														id = purchaseDetails[0].productName
													} else if (purchaseDetails[0].productSn) {
														this.carList.get(id).id = purchaseDetails[0]
															.productSn
														id = purchaseDetails[0].productSn
													}
												}
												this.$forceUpdate()
											})
											if (this.carList.get(id).purchasePrice == '' || this.carList.get(
													id).purchasePrice == null) {
												this.carList.get(id).purchasePrice = purchaseDetails[0]
													.purchasePrice
											}
											if (this.carList.get(id).productPicture == '') {
												this.carList.get(id).productPicture = purchaseDetails[0]
													.productPicture
											}
											if (purchaseDetails[0].productId) {
												this.carList.get(id).attrId = purchaseDetails[0].attrId
												this.carList.get(id).wholesalePrice = purchaseDetails[0]
													.wholesalePrice
												this.carList.get(id).lsPrice = purchaseDetails[0].lsPrice
											}

											let specMap = new Map() //新的临时存放值那个更改过的值的map
											this.$nextTick(() => {
												this.carList.forEach(function(value, key) {
													if (key != value.id) {
														specMap.set(value.id, value)
													} else {
														specMap.set(key, value)
													}
												})
												this.carList = specMap
											})
											this.$nextTick(() => {
												for (let j = 0; j < purchaseDetails.length; j++) {
													for (let i = 0; i < purchaseDetails[j]
														.stockLogList1.length; i++) {
														purchaseDetails[j].stockLogList1[i].name = this
															.sliceMsg(purchaseDetails[j].stockLogList1[
																i].attributeList)
														if (this.carList.get(id).stockLogList.size ==
															0) {
															purchaseDetails[j].stockLogList1[i]
																.productNum = purchaseDetails[j]
																.stockLogList1[i].stockCount
															this.carList.get(id).stockLogList.set(
																purchaseDetails[j].stockLogList1[i]
																.attributeList, purchaseDetails[j]
																.stockLogList1[i])
														} else {

															if (this.carList.get(id).stockLogList.has(
																	purchaseDetails[j].stockLogList1[i]
																	.attributeList) == true) {
																this.carList.get(id).stockLogList.get(
																		purchaseDetails[j]
																		.stockLogList1[i].attributeList
																	).productCount +=
																	Number(purchaseDetails[j]
																		.stockLogList1[i]
																		.productCount)
																this.carList.get(id).stockLogList.get(
																		purchaseDetails[j]
																		.stockLogList1[i]
																		.attributeList).productNum =
																	purchaseDetails[j]
																	.stockLogList1[i].stockCount
															} else {
																this.carList.get(id).stockLogList.set(
																	purchaseDetails[j]
																	.stockLogList1[i]
																	.attributeList,
																	purchaseDetails[j]
																	.stockLogList1[i])
																this.carList.get(id).stockLogList.get(
																		purchaseDetails[j]
																		.stockLogList1[i]
																		.attributeList).productNum =
																	this.carList.get(id).stockLogList
																	.get(
																		purchaseDetails[j]
																		.stockLogList1[i]
																		.attributeList).stockCount
															}
														}
														this.carList.get(id).productCount +=
															Number(purchaseDetails[j].stockLogList1[i]
																.productCount)
													}
												}
												this.carList.get(id).price1 = Number(this.carList.get(
															id)
														.productCount) * this.carList.get(id)
													.purchasePrice
												if (this.carList.get(id).stockLogList.get(
														'{"颜色":"均色","尺码":"均码"}').productCount == 0 &&
													purchaseDetails[0].stockLogList1.length > 0) {
													this.carList.get(id).stockLogList.delete(
														'{"颜色":"均色","尺码":"均码"}')
												}
											})
										}

										this.$nextTick(() => {
											this.getAllPrice()
											this.oneGoodsId = ''
										})
									} else {
										this.tui.toast("抱歉：小助手本次未识别到商品信息，请检查识别信息是否正确")
									}
								} else {
									for (let i = 0; i < purchaseDetails.length; i++) {
										let data = {
											id: "",
											price: purchaseDetails[i].price,
											productCount: 0,
											attrId: purchaseDetails[i].attrId,
											customerCategoryList: purchaseDetails[i]
												.customerCategoryRule == null ? this.getNewProductRule() :
												this.checkPriceRule(JSON.parse(purchaseDetails[i]
													.customerCategoryRule)),
											categoryId: purchaseDetails[i].categoryId == '' ? this
												.categoryList.categoryId : purchaseDetails[i].categoryId,
											categoryName: purchaseDetails[i].categoryName == '' ? this
												.categoryList.categoryName : purchaseDetails[i]
												.categoryName,
											wholesalePrice: purchaseDetails[i].wholesalePrice,
											purchasePrice: purchaseDetails[i].purchasePrice,
											isNew: purchaseDetails[i].productId == null ? true : false,
											productId: purchaseDetails[i].productId,
											productName: purchaseDetails[i].productName,
											productSn: purchaseDetails[i].productSn,
											productPicture: purchaseDetails[i].productPicture,
											supplierName: purchaseDetails[i].supplierName,
											productPictures: [],
											saleDetailQueryDTO: []
										}
										if (purchaseDetails[i].productId) {
											data.id = purchaseDetails[i].productId
										} else if (purchaseDetails[i].productSn == '' || purchaseDetails[i]
											.productSn ==
											null) {
											data.id = purchaseDetails[i].productName
										} else if (purchaseDetails[i].productSn == '货号') {
											data.productSn = purchaseDetails[i].productName
											data.id = purchaseDetails[i].productName
										} else if (purchaseDetails[i].productSn) {
											data.id = purchaseDetails[i].productSn
										}
										for (let m = 0; m < purchaseDetails[i].stockLogList1.length; m++) {
											let list = {
												attributeList: this.getAttribute(purchaseDetails[i]
													.stockLogList1[m]
													.attributeList),
												productCount: Number(purchaseDetails[i].stockLogList1[m]
														.productCount) ||
													Number(purchaseDetails[i].stockLogList1[m]
														.productCounts),
												productNum: '',
												name: this.sliceMsg(this.getAttribute(purchaseDetails[i]
													.stockLogList1[m]
													.attributeList)),
												price: purchaseDetails[i].stockLogList1[m].purchasePrice
											}
											data.productCount += Number(purchaseDetails[i].stockLogList1[m]
												.productCount)
											data.saleDetailQueryDTO.push(list)
										}
										this.carList1.push(data)
									}
									this.$nextTick(() => {
										setTimeout(res => {
											this.AiVoice()
										}, 300)
									})
								}

							} else {
								uni.showModal({
									title: "提示",
									content: "抱歉：小助手对" + this.getMsg + "的部分商品未识别，请检查识别信息是否正确",
									success: function(res) {}
								})
							}
						}).catch((res) => {
							this.tui.toast(res)
						})
					}
				} else {
					if (this.getMsg.indexOf('色，') != -1) {
						this.getMsg = this.getMsg.replace(/色，/g, '色')
					}
					if (this.getMsg.indexOf('色') != -1) {
						this.getMsg = this.getMsg.replace(/色/g, '色、')
					}
					if (this.getMsg.indexOf('件，') != -1) {
						this.getMsg = this.getMsg.replace(/件，/g, '件')
					}
					if (this.getMsg.indexOf('件') != -1) {
						this.getMsg = this.getMsg.replace(/件/g, '件，')
					}
					let callObj
					if (this.oneGoodsId != '' && !this.carList.get(this.oneGoodsId).isNew) {
						callObj = {
							productId: this.carList.get(this.oneGoodsId).productId,
							questionMsg: this.getMsg
						}
					} else {
						callObj = {
							questionMsg: this.getMsg
						}
					}
					await this.tui.request("/purchaseOcrPicture/callWithMessageOfPurchase", "POST", callObj, false,
						true).then((res) => {
						if (res.code == 200) {
							this.voiceText = ''
							this.voiceText1 = ''
							this.$refs.popup.close()
							this.$refs.voiceBottomPopup.close()
							let purchaseDetails = res.result.data.purchaseDetails
							//千问的单商品语音录入
							if (this.oneGoodsId) {
								let id = this.oneGoodsId
								if (purchaseDetails.length > 0) {
									if (this.carList.get(id).productSn != '') {
										for (let j = 0; j < purchaseDetails.length; j++) {
											if (purchaseDetails[j].purchasePrice == "" || purchaseDetails[j]
												.purchasePrice == null) {
												purchaseDetails[j].purchasePrice = 0
											}
											if (purchaseDetails[j].wholesalePrice == "" || purchaseDetails[j]
												.wholesalePrice == null) {
												purchaseDetails[j].wholesalePrice = 0
											}
											if (purchaseDetails[j].price == "" || purchaseDetails[j].price ==
												null) {
												purchaseDetails[j].price = 0
											}
											for (let i = 0; i < purchaseDetails[j].stockLogList1.length; i++) {
												if (purchaseDetails[j].stockLogList1[i].productCount == "" ||
													purchaseDetails[j].stockLogList1[i].productCount == null) {
													purchaseDetails[j].stockLogList1[i].productCount = 0
												}
												if (this.carList.get(id).productName == '') {
													this.carList.get(id).productName = purchaseDetails[0]
														.productName
												}
												if (this.carList.get(id).attrId == '') {
													this.carList.get(id).attrId = purchaseDetails[0].attrId
												}
												if (this.carList.get(id).purchasePrice == '' || this.carList
													.get(id).purchasePrice == null) {
													this.carList.get(id).purchasePrice = purchaseDetails[0]
														.purchasePrice
												}
												if (this.carList.get(id).wholesalePrice == '' || this.carList
													.get(id).wholesalePrice == null) {
													this.carList.get(id).wholesalePrice = purchaseDetails[0]
														.wholesalePrice
												}
												if (this.carList.get(id).productPicture == '') {
													this.carList.get(id).productPicture = purchaseDetails[0]
														.productPicture
												}
												purchaseDetails[j].stockLogList1[i].name = this.sliceMsg(
													purchaseDetails[j].stockLogList1[i].attributeList)
												purchaseDetails[j].stockLogList1[i].productNum =
													purchaseDetails[j].stockLogList1[i].stockCount
												if (this.carList.get(id).stockLogList.size == 0) {
													this.carList.get(id).stockLogList.set(purchaseDetails[j]
														.stockLogList1[i].attributeList, purchaseDetails[j]
														.stockLogList1[i])
												} else {
													if (this.carList.get(id).stockLogList.has(purchaseDetails[
															j].stockLogList1[i].attributeList) == true) {
														this.carList.get(id).stockLogList.get(purchaseDetails[
																j].stockLogList1[i].attributeList)
															.productCount +=
															Number(purchaseDetails[j].stockLogList1[i]
																.productCount)
													} else {
														this.carList.get(id).stockLogList.set(purchaseDetails[
																j].stockLogList1[i].attributeList,
															purchaseDetails[j].stockLogList1[i])
													}
												}
												this.carList.get(id).productCount += Number(purchaseDetails[j]
													.stockLogList1[i].productCount)
											}
										}
										this.$nextTick(() => {
											this.carList.get(id).price1 = Number(this.carList.get(id)
													.productCount) * this
												.carList.get(id).purchasePrice
											this.getAllPrice()
											this.oneGoodsId = ''
										})
										if (this.carList.get(id).stockLogList.get('{"颜色":"均色","尺码":"均码"}')
											.productCount == 0 && purchaseDetails[0].stockLogList1.length > 0
										) {
											this.carList.get(id).stockLogList.delete('{"颜色":"均色","尺码":"均码"}')
										}

									} else {

										let isTrue = false
										this.carList.forEach(function(value, key) {
											if (value.productSn == purchaseDetails[0].productSn) {
												isTrue = true
												that.tui.toast('该货号被页面其他商品占用,请重新输入！')
												that.carList.get(id).productSn = ''
												setTimeout(res => {
													that.$forceUpdate()
												}, 2000)
												throw Error('被占用')
											}
										})

										this.$nextTick(() => {
											if (this.carList.get(id).productName == '') {
												this.carList.get(id).productName = purchaseDetails[0]
													.productName
											}
											if (isTrue == false && this.carList.get(id).productSn ==
												'') {
												this.carList.get(id).productSn = purchaseDetails[0]
													.productSn
											}
											if (isTrue == false) {
												if (purchaseDetails[0].productId) {
													this.carList.get(id).id = purchaseDetails[0]
														.productId
													this.carList.get(id).isNew = false
													id = purchaseDetails[0].productId
												} else if (purchaseDetails[0].productSn == '' ||
													purchaseDetails[0].productSn ==
													null) {
													this.carList.get(id).id = purchaseDetails[0]
														.productName
													id = purchaseDetails[0].productName
												} else if (purchaseDetails[0].productSn == '货号') {
													this.carList.get(id).productSn = purchaseDetails[0]
														.productName
													this.carList.get(id).id = purchaseDetails[0]
														.productName
													id = purchaseDetails[0].productName
												} else if (purchaseDetails[0].productSn) {
													this.carList.get(id).id = purchaseDetails[0]
														.productSn
													id = purchaseDetails[0].productSn
												}
											}
											this.$forceUpdate()
										})
										if (this.carList.get(id).purchasePrice == '' || this.carList.get(id)
											.purchasePrice == null) {
											this.carList.get(id).purchasePrice = purchaseDetails[0]
												.purchasePrice
										}
										this.carList.get(id).customerCategoryList = this.checkPriceRule(JSON
											.parse(purchaseDetails[
												0].customerCategoryRule))
										if (this.carList.get(id).wholesalePrice == '' || this.carList.get(id)
											.wholesalePrice == null) {
											this.carList.get(id).wholesalePrice = purchaseDetails[0]
												.wholesalePrice
										}
										if (this.carList.get(id).lsprice == '' || this.carList.get(id)
											.lsprice == null) {
											this.carList.get(id).lsprice = purchaseDetails[0]
												.price
										}
										if (this.carList.get(id).productPicture == '') {
											this.carList.get(id).productPicture = purchaseDetails[0]
												.productPicture
										}
										if (purchaseDetails[0].productId) {
											this.carList.get(id).productId = purchaseDetails[0].productId
											this.carList.get(id).attrId = purchaseDetails[0].attrId
											this.carList.get(id).wholesalePrice = purchaseDetails[0]
												.wholesalePrice
											this.carList.get(id).lsPrice = purchaseDetails[0].lsPrice
										}

										let specMap = new Map() //新的临时存放值那个更改过的值的map
										this.$nextTick(() => {
											this.carList.forEach(function(value, key) {
												if (key != value.id) {
													specMap.set(value.id, value)
												} else {
													specMap.set(key, value)
												}
											})
											this.carList = specMap
										})
										this.$nextTick(() => {
											for (let j = 0; j < purchaseDetails.length; j++) {
												for (let i = 0; i < purchaseDetails[j].stockLogList1
													.length; i++) {
													purchaseDetails[j].stockLogList1[i].name = this
														.sliceMsg(purchaseDetails[j].stockLogList1[i]
															.attributeList)
													if (this.carList.get(id).stockLogList.size == 0) {
														this.carList.get(id).stockLogList.set(
															purchaseDetails[j].stockLogList1[i]
															.attributeList, purchaseDetails[j]
															.stockLogList1[i])
													} else {

														if (this.carList.get(id).stockLogList.has(
																purchaseDetails[j].stockLogList1[i]
																.attributeList) == true) {
															this.carList.get(id).stockLogList.get(
																	purchaseDetails[j].stockLogList1[i]
																	.attributeList).productCount +=
																Number(purchaseDetails[j]
																	.stockLogList1[i]
																	.productCount)
															this.carList.get(id).stockLogList.get(
																	purchaseDetails[j].stockLogList1[i]
																	.attributeList).productNum =
																purchaseDetails[j].stockLogList1[i]
																.stockCount
														} else {
															this.carList.get(id).stockLogList.set(
																purchaseDetails[j].stockLogList1[i]
																.attributeList, purchaseDetails[j]
																.stockLogList1[i])
															this.carList.get(id).stockLogList.get(
																	purchaseDetails[j].stockLogList1[i]
																	.attributeList).productNum = this
																.carList.get(id).stockLogList.get(
																	purchaseDetails[j].stockLogList1[i]
																	.attributeList).stockCount
														}
													}
													this.carList.get(id).productCount +=
														Number(purchaseDetails[j].stockLogList1[i]
															.productCount)
												}
											}
											this.carList.get(id).price1 = Number(this.carList.get(id)
												.productCount) * this.carList.get(id).purchasePrice
											if (this.carList.get(id).stockLogList.get(
													'{"颜色":"均色","尺码":"均码"}').productCount == 0 &&
												purchaseDetails[0].stockLogList1.length > 0) {
												this.carList.get(id).stockLogList.delete(
													'{"颜色":"均色","尺码":"均码"}')
											}
										})
										this.$nextTick(() => {
											this.getAllPrice()
											this.oneGoodsId = ''
										})
									}
								} else {
									this.tui.toast("抱歉：小助手本次未识别到商品信息，请检查识别信息是否正确")
								}
							} else {
								for (let i = 0; i < purchaseDetails.length; i++) {
									let data = {
										id: "",
										price: purchaseDetails[i].price,
										productCount: 0,
										attrId: purchaseDetails[i].attrId,
										customerCategoryList: purchaseDetails[i].customerCategoryRule ==
											null ? this.getNewProductRule() : this.checkPriceRule(JSON
												.parse(purchaseDetails[
													i].customerCategoryRule)),
										categoryId: purchaseDetails[i].categoryId == '' ? this.categoryList
											.categoryId : purchaseDetails[i].categoryId,
										categoryName: purchaseDetails[i].categoryName == '' ? this
											.categoryList.categoryName : purchaseDetails[i].categoryName,
										wholesalePrice: purchaseDetails[i].wholesalePrice,
										purchasePrice: purchaseDetails[i].purchasePrice,
										isNew: purchaseDetails[i].productId == null ? true : false,
										productId: purchaseDetails[i].productId,
										productName: purchaseDetails[i].productName,
										productSn: purchaseDetails[i].productSn,
										productPicture: purchaseDetails[i].productPicture,
										supplierName: purchaseDetails[i].supplierName,
										productPictures: [],
										saleDetailQueryDTO: []
									}

									if (purchaseDetails[i].productId) {
										data.id = purchaseDetails[i].productId
									} else if (purchaseDetails[i].productSn == '' || purchaseDetails[i]
										.productSn ==
										null) {
										data.id = purchaseDetails[i].productName
									} else if (purchaseDetails[i].productSn == '货号') {
										data.productSn = purchaseDetails[i].productName
										data.id = purchaseDetails[i].productName
									} else if (purchaseDetails[i].productSn) {
										data.id = purchaseDetails[i].productSn
									}
									for (let m = 0; m < purchaseDetails[i].stockLogList1.length; m++) {
										let list = {
											attributeList: this.getAttribute(purchaseDetails[i]
												.stockLogList1[m]
												.attributeList),
											productCount: Number(purchaseDetails[i].stockLogList1[m]
													.productCount) ||
												Number(purchaseDetails[i].stockLogList1[m].productCounts),
											productNum: purchaseDetails[i].stockLogList1[m].stockCount,
											name: this.sliceMsg(this.getAttribute(purchaseDetails[i]
												.stockLogList1[m]
												.attributeList)),
											price: purchaseDetails[i].stockLogList1[m].purchasePrice
										}
										data.productCount += Number(purchaseDetails[i].stockLogList1[m]
											.productCount)
										data.saleDetailQueryDTO.push(list)
									}
									this.carList1.push(data)
								}
								this.$nextTick(() => {
									setTimeout(res => {
										this.AiVoice()
									}, 300)
								})
							}

						} else {
							uni.showModal({
								title: "提示",
								content: "抱歉：小助手对" + this.getMsg + "的部分商品未识别，请检查识别信息是否正确",
								success: function(res) {}
							})
						}
					}).catch((res) => {
						this.tui.toast(res)
					})
				}

			},
			checkPriceRule(ruleArr) {

				if (this.customerCategoryList1 != '' && this.customerCategoryList1 != null) {
					if (ruleArr == null) {
						ruleArr = []
					}
					for (let i = 0; i < this.customerCategoryList1.length; i++) {
						let isHae = false
						if (ruleArr != null) {
							for (let j = 0; j < ruleArr.length; j++) {
								if (this.customerCategoryList1[i].categoryId == ruleArr[j].categoryId) {
									isHae = true
								}
							}
						}
						if (isHae == false) {

							ruleArr.push(this.customerCategoryList1[i])
						}
					}
				}
				return ruleArr
			},
			async getOneData(oneData, type, num) {
				await setTimeout(resAAS => {
					this.tui.request('/app/product/getShareList', "post", {
						categoryId: "",
						pageNum: 1,
						pageSize: '1000',
						searchStr: oneData.productSn
					}, false, false).then((res) => {
						if (res.code == 200) {
							if (res.result.records != '') {
								if (res.result.records.length > 1) {
									for (let i = 0; i < res.result.records.length; i++) {
										if (oneData.wholesalePrice) {
											res.result.records[i].wholesalePrice = oneData
												.wholesalePrice
											res.result.records[i].unitPrice = oneData.wholesalePrice
											res.result.records[i].discountAmount = oneData
												.wholesalePrice
										}
										res.result.records[i].productCount = Number(oneData
											.productCount)
										if (oneData.purchasePrice) {
											res.result.records[i].purchasePrice = oneData.purchasePrice
										}
									}
									this.$nextTick(() => {
										this.moreData.push(res.result.records)
										this.oneData = oneData
									})

								} else {
									this.voiceText = ''
									this.voiceText1 = ''
									this.$refs.popup.close()
									this.$refs.voiceBottomPopup.close()

									let data = {
										attributeList: '{"颜色":"均色","尺码":"均码"}',
										productCount: Number(oneData.productCount) || 1,
										stockCount: res.result.records[0].defaultStockCount
									}
									res.result.records[0].productId = res.result.records[0].id
									res.result.records[0].saleDetailQueryDTO = []
									res.result.records[0].saleDetailQueryDTO.push(data)
									let purchaseDetails = res.result.records
									if (this.oneGoodsId) {
										let id = this.oneGoodsId
										if (purchaseDetails.length > 0) {
											if (this.carList.get(id).productSn != '') {
												for (let j = 0; j < purchaseDetails.length; j++) {
													for (let i = 0; i < purchaseDetails[j]
														.saleDetailQueryDTO
														.length; i++) {
														if (this.carList.get(id).productName == '') {
															this.carList.get(id).productName =
																purchaseDetails[0]
																.productName
														}

														this.carList.get(id).customerCategoryList =
															purchaseDetails[0]
															.customerCategoryRule != null ? this
															.checkPriceRule(JSON.parse(
																purchaseDetails[0]
																.customerCategoryRule)) : this
															.getNewProductRule()

														if (this.carList.get(id).attrId == '') {
															this.carList.get(id).attrId =
																purchaseDetails[0].attrId
														}
														if (this.carList.get(id).purchasePrice == '' ||
															this
															.carList
															.get(id).purchasePrice == null) {
															if (oneData.purchasePrice) {
																this.carList.get(id).purchasePrice =
																	oneData
																	.purchasePrice
															} else {
																this.carList.get(id).purchasePrice =
																	purchaseDetails[0]
																	.purchasePrice
															}

														}
														if (this.carList.get(id).productPicture ==
															'') {
															this.carList.get(id).productPicture =
																purchaseDetails[
																	0]
																.productPicture
														}
														purchaseDetails[j].saleDetailQueryDTO[i].name =
															this
															.sliceMsg(
																purchaseDetails[j].saleDetailQueryDTO[
																	i]
																.attributeList)
														if (this.carList.get(id).stockLogList.size ==
															0) {
															this.carList.get(id).stockLogList.set(
																purchaseDetails[
																	j]
																.saleDetailQueryDTO[i]
																.attributeList,
																purchaseDetails[j]
																.saleDetailQueryDTO[i])
														} else {
															if (this.carList.get(id).stockLogList.has(
																	purchaseDetails[
																		j].saleDetailQueryDTO[i]
																	.attributeList) ==
																true) {
																this.carList.get(id).stockLogList.get(
																		purchaseDetails[
																			j].saleDetailQueryDTO[i]
																		.attributeList)
																	.productCount +=
																	Number(purchaseDetails[j]
																		.saleDetailQueryDTO[i]
																		.productCount)
															} else {
																this.carList.get(id).stockLogList.set(
																	purchaseDetails[
																		j].saleDetailQueryDTO[i]
																	.attributeList,
																	purchaseDetails[j]
																	.saleDetailQueryDTO[i])
															}
														}
														this.carList.get(id).productCount +=
															Number(purchaseDetails[j]
																.saleDetailQueryDTO[i].productCount)
													}
												}
												if (this.carList.get(id).stockLogList.get(
														'{"颜色":"均色","尺码":"均码"}')
													.productCount == 0 && purchaseDetails[0]
													.saleDetailQueryDTO
													.length > 0
												) {
													this.carList.get(id).stockLogList.delete(
														'{"颜色":"均色","尺码":"均码"}')
												}
												this.carList.get(id).price1 = Number(this.carList.get(
															id)
														.productCount) *
													this.carList.get(id).purchasePrice
											} else {

												let isTrue = false
												this.carList.forEach(function(value, key) {
													if (value.productSn == purchaseDetails[0]
														.productSn) {
														isTrue = true
														that.tui.toast('该货号被页面其他商品占用,请重新输入！')
														that.carList.get(id).productSn = ''
														setTimeout(resNM => {
															that.$forceUpdate()
														}, 2000)
														throw Error('被占用')
													}
												})

												this.$nextTick(() => {
													if (this.carList.get(id).productName ==
														'') {
														this.carList.get(id).productName =
															purchaseDetails[
																0]
															.productName
													}
													if (isTrue == false && this.carList.get(id)
														.productSn ==
														'') {
														this.carList.get(id).productSn =
															purchaseDetails[0]
															.productSn
													}
													if (isTrue == false) {
														if (purchaseDetails[0].productId) {
															this.carList.get(id).id =
																purchaseDetails[0]
																.productId
															this.carList.get(id).productId =
																purchaseDetails[0].productId
															this.carList.get(id).isNew = false
															id = purchaseDetails[0].productId
														} else if (purchaseDetails[0]
															.productSn == '' ||
															purchaseDetails[0].productSn ==
															null) {
															this.carList.get(id).id =
																purchaseDetails[0]
																.productName
															id = purchaseDetails[0].productName
														} else if (purchaseDetails[0]
															.productSn == '货号') {
															this.carList.get(id).productSn =
																purchaseDetails[0]
																.productName
															this.carList.get(id).id =
																purchaseDetails[0]
																.productName
															id = purchaseDetails[0].productName
														} else if (purchaseDetails[0]
															.productSn) {
															this.carList.get(id).id =
																purchaseDetails[0]
																.productSn
															id = purchaseDetails[0].productSn
														}
													}
													this.$forceUpdate()
												})
												if (this.carList.get(id).purchasePrice == '' || this
													.carList.get(
														id)
													.purchasePrice == null) {
													if (oneData.purchasePrice) {
														this.carList.get(id).purchasePrice = oneData
															.purchasePrice
													} else {
														this.carList.get(id).purchasePrice =
															purchaseDetails[0]
															.purchasePrice
													}

												}
												if (this.carList.get(id).productPicture == '') {
													this.carList.get(id).productPicture =
														purchaseDetails[0]
														.productPicture
												}
												if (purchaseDetails[0].productId) {
													this.carList.get(id).attrId = purchaseDetails[0]
														.attrId
													this.carList.get(id).wholesalePrice =
														purchaseDetails[0]
														.wholesalePrice
													this.carList.get(id).lsPrice = purchaseDetails[0]
														.lsPrice
												}

												let specMap = new Map() //新的临时存放值那个更改过的值的map
												this.$nextTick(() => {
													this.carList.forEach(function(value, key) {
														if (key != value.id) {
															specMap.set(value.id,
																value)
														} else {
															specMap.set(key, value)
														}
													})
													this.carList = specMap
												})
												this.$nextTick(() => {
													for (let j = 0; j < purchaseDetails
														.length; j++) {
														for (let i = 0; i < purchaseDetails[j]
															.saleDetailQueryDTO
															.length; i++) {
															purchaseDetails[j]
																.saleDetailQueryDTO[i].name =
																this
																.sliceMsg(purchaseDetails[j]
																	.saleDetailQueryDTO[i]
																	.attributeList)
															if (this.carList.get(id)
																.stockLogList.size ==
																0) {
																this.carList.get(id)
																	.stockLogList.set(
																		purchaseDetails[j]
																		.saleDetailQueryDTO[
																			i]
																		.attributeList,
																		purchaseDetails[j]
																		.saleDetailQueryDTO[i])
															} else {
																if (this.carList.get(id)
																	.stockLogList.has(
																		purchaseDetails[j]
																		.saleDetailQueryDTO[
																			i]
																		.attributeList) == true
																) {
																	this.carList.get(id)
																		.stockLogList.get(
																			purchaseDetails[j]
																			.saleDetailQueryDTO[
																				i]
																			.attributeList)
																		.productCount +=
																		Number(purchaseDetails[
																				j]
																			.saleDetailQueryDTO[
																				i]
																			.productCount)
																} else {
																	this.carList.get(id)
																		.stockLogList.set(
																			purchaseDetails[j]
																			.saleDetailQueryDTO[
																				i]
																			.attributeList,
																			purchaseDetails[j]
																			.saleDetailQueryDTO[
																				i])
																}
															}
															this.carList.get(id)
																.productCount +=
																Number(purchaseDetails[j]
																	.saleDetailQueryDTO[i]
																	.productCount)
														}
													}
													this.carList.get(id).price1 = Number(this
															.carList
															.get(id).productCount) * this
														.carList.get(id)
														.purchasePrice
													this.carList.get(id).stockLogList.get(
															'{"颜色":"均色","尺码":"均码"}')
														.productNum = purchaseDetails[0]
														.defaultStockCount
													if (this.carList.get(id).stockLogList.get(
															'{"颜色":"均色","尺码":"均码"}')
														.productCount == 0 &&
														purchaseDetails[0].saleDetailQueryDTO
														.length > 0) {
														this.carList.get(id).stockLogList
															.delete(
																'{"颜色":"均色","尺码":"均码"}')
													}
												})
											}

											this.$nextTick(() => {
												this.getAllPrice()
												this.oneGoodsId = ''
											})
										} else {
											this.tui.toast("抱歉：小助手本次未识别到商品信息，请检查识别信息是否正确")
										}
									} else {
										// for (let i = 0; i < purchaseDetails.length; i++) {
										let data = {
											id: "",
											price: purchaseDetails[0].price,
											productCount: 0,
											attrId: purchaseDetails[0].attrId,
											customerCategoryList: purchaseDetails[0]
												.customerCategoryRule != null ? this
												.checkPriceRule(JSON.parse(
													purchaseDetails[0].customerCategoryRule)) :
												this.getNewProductRule(),
											categoryId: purchaseDetails[0].categoryId == '' ?
												this
												.categoryList
												.categoryId : purchaseDetails[0].categoryId,
											categoryName: purchaseDetails[0].categoryName ==
												'' ? this
												.categoryList.categoryName : purchaseDetails[0]
												.categoryName,
											wholesalePrice: purchaseDetails[0].wholesalePrice,
											purchasePrice: oneData.purchasePrice ? oneData
												.purchasePrice : purchaseDetails[0]
												.purchasePrice,
											isNew: purchaseDetails[0].productId == null ?
												true : false,
											productId: purchaseDetails[0].productId,
											productName: purchaseDetails[0].productName,
											productSn: purchaseDetails[0].productSn,
											productPicture: purchaseDetails[0].productPicture,
											supplierName: purchaseDetails[0].supplierName,
											productPictures: [],
											saleDetailQueryDTO: []
										}
										if (purchaseDetails[0].productId) {
											data.id = purchaseDetails[0].productId
										} else if (purchaseDetails[0].productSn == '' ||
											purchaseDetails[0]
											.productSn == null) {
											data.id = purchaseDetails[0].productName
										} else if (purchaseDetails[0].productSn == '货号') {
											data.productSn = purchaseDetails[0].productName
											data.id = purchaseDetails[0].productName
										} else if (purchaseDetails[0].productSn) {
											data.id = purchaseDetails[0].productSn
										}
										// for (let m = 0; m < purchaseDetails[0].saleDetailQueryDTO.length; m++) {
										let list = {
											attributeList: this.getAttribute(
												purchaseDetails[0]
												.saleDetailQueryDTO[0]
												.attributeList),
											productCount: Number(purchaseDetails[0]
													.saleDetailQueryDTO[0]
													.productCount) ||
												Number(purchaseDetails[0].saleDetailQueryDTO[0]
													.productCounts),
											productNum: purchaseDetails[0].saleDetailQueryDTO[0]
												.stockCount,
											name: this.sliceMsg(this.getAttribute(
												purchaseDetails[0]
												.saleDetailQueryDTO[0]
												.attributeList)),
											price: purchaseDetails[0].saleDetailQueryDTO[0]
												.purchasePrice
										}
										data.productCount += Number(purchaseDetails[0]
											.saleDetailQueryDTO[0]
											.productCount)
										data.saleDetailQueryDTO.push(list)
										// }
										this.carList1.push(data)
										// }
										uni.showLoading({
											title: '加载中...'
										})
										if (type == true) {
											this.$nextTick(() => {
												setTimeout(resLK => {
													this.AiVoice()
													uni.hideLoading();
												}, 300)
											})
										}

									}
								}
							} else {
								// this.$nextTick(() => {
								// setTimeout(ressD => {
								this.voiceText = ''
								this.voiceText1 = ''
								this.$refs.popup.close()

								this.$refs.voiceBottomPopup.close()
								if (oneData.productCount) {
									oneData.productCount = Number(oneData.productCount);
								}
								let data = {
									id: oneData.productSn,
									productCount: Number(oneData.productCount) ||
										0,
									productName: oneData.productName,
									productSn: oneData.productSn,
									customerCategoryList: this.getNewProductRule(),
									categoryId: this.categoryList
										.categoryId,
									categoryName: this.categoryList
										.categoryName,
									purchasePrice: oneData.purchasePrice ||
										0,
									wholesalePrice: oneData
										.wholesalePrice || 0,
									saleDetailQueryDTO: [{
										attributeList: '{"颜色":"均色","尺码":"均码"}',
										productCount: Number(
											oneData
											.productCount) || 1,
										stockCount: null
									}]
								}
								let purchaseDetails = []
								purchaseDetails.push(data)
								if (this.oneGoodsId) {
									let id = this.oneGoodsId
									if (purchaseDetails.length > 0) {
										if (this.carList.get(id).productSn !=
											'') {
											for (let j = 0; j < purchaseDetails
												.length; j++) {
												for (let i = 0; i <
													purchaseDetails[j]
													.saleDetailQueryDTO
													.length; i++) {
													if (this.carList.get(id)
														.productName == '') {
														this.carList.get(id)
															.productName =
															purchaseDetails[0]
															.productName
													}
													if (this.carList.get(id)
														.attrId == '') {
														this.carList.get(id)
															.attrId =
															purchaseDetails[
																0].attrId
													}

													this.carList.get(id)
														.customerCategoryList =
														purchaseDetails[
															0].customerCategoryList

													if (this.carList.get(id)
														.purchasePrice == '' ||
														this.carList.get(
															id)
														.purchasePrice == null
													) {
														this.carList.get(id)
															.purchasePrice =
															purchaseDetails[0]
															.purchasePrice
													}
													if (this.carList.get(id)
														.productPicture == ''
													) {
														this.carList.get(id)
															.productPicture =
															purchaseDetails[0]
															.productPicture
													}
													purchaseDetails[j]
														.saleDetailQueryDTO[i]
														.name =
														this.sliceMsg(
															purchaseDetails[j]
															.saleDetailQueryDTO[
																i]
															.attributeList)
													if (this.carList.get(id)
														.stockLogList.size == 0
													) {
														this.carList.get(id)
															.stockLogList.set(
																purchaseDetails[
																	j]
																.saleDetailQueryDTO[
																	i]
																.attributeList,
																purchaseDetails[
																	j]
																.saleDetailQueryDTO[
																	i])
													} else {
														if (this.carList.get(
																id)
															.stockLogList.has(
																purchaseDetails[
																	j]
																.saleDetailQueryDTO[
																	i]
																.attributeList
															) == true) {
															this.carList.get(
																	id)
																.stockLogList
																.get(
																	purchaseDetails[
																		j]
																	.saleDetailQueryDTO[
																		i]
																	.attributeList
																)
																.productCount +=
																Number(purchaseDetails[j]
																	.saleDetailQueryDTO[i]
																	.productCount)
														} else {
															this.carList.get(
																	id)
																.stockLogList
																.set(
																	purchaseDetails[
																		j]
																	.saleDetailQueryDTO[
																		i]
																	.attributeList,
																	purchaseDetails[
																		j]
																	.saleDetailQueryDTO[
																		i])
														}
													}
													this.carList.get(id)
														.productCount +=
														Number(purchaseDetails[j]
															.saleDetailQueryDTO[i]
															.productCount)
												}
											}
											if (this.carList.get(id)
												.stockLogList.get(
													'{"颜色":"均色","尺码":"均码"}')
												.productCount == 0 &&
												purchaseDetails[0]
												.saleDetailQueryDTO.length > 0
											) {
												this.carList.get(id)
													.stockLogList.delete(
														'{"颜色":"均色","尺码":"均码"}'
													)
											}
											this.carList.get(id).price1 = Number(this
													.carList.get(id).productCount) * this
												.carList.get(id).purchasePrice
										} else {

											let isTrue = false
											this.carList.forEach(function(
												value, key) {
												if (value.productSn ==
													purchaseDetails[0]
													.productSn) {
													isTrue = true
													that.tui.toast(
														'该货号被页面其他商品占用,请重新输入！'
													)
													that.carList.get(
															id)
														.productSn = ''
													setTimeout(
														resSLD => {
															that.$forceUpdate()
														}, 2000)
													throw Error('被占用')
												}
											})

											this.$nextTick(() => {
												if (this.carList.get(
														id)
													.productName == ''
												) {
													this.carList.get(
															id)
														.productName =
														purchaseDetails[
															0]
														.productName
												}

												this.carList.get(id)
													.customerCategoryList =
													purchaseDetails[0]
													.customerCategoryList

												if (isTrue == false &&
													this.carList.get(
														id)
													.productSn == '') {
													this.carList.get(
															id)
														.productSn =
														purchaseDetails[
															0]
														.productSn
												}
												if (isTrue == false) {
													if (purchaseDetails[
															0]
														.productId) {
														this.carList
															.get(id)
															.id =
															purchaseDetails[
																0]
															.productId
														this.carList
															.get(id)
															.isNew =
															false
														id = purchaseDetails[
																0]
															.productId
													} else if (
														purchaseDetails[
															0]
														.productSn ==
														'' ||
														purchaseDetails[
															0]
														.productSn ==
														null) {
														this.carList
															.get(id)
															.id =
															purchaseDetails[
																0]
															.productName
														id = purchaseDetails[
																0]
															.productName
													} else if (
														purchaseDetails[
															0]
														.productSn ==
														'货号') {
														this.carList
															.get(id)
															.productSn =
															purchaseDetails[
																0]
															.productName
														this.carList
															.get(id)
															.id =
															purchaseDetails[
																0]
															.productName
														id = purchaseDetails[
																0]
															.productName
													} else if (
														purchaseDetails[
															0]
														.productSn) {
														this.carList
															.get(id)
															.id =
															purchaseDetails[
																0]
															.productSn
														id = purchaseDetails[
																0]
															.productSn
													}
												}
												this.$forceUpdate()
											})
											if (this.carList.get(id)
												.purchasePrice == '' || this
												.carList.get(id)
												.purchasePrice == null) {
												this.carList.get(id)
													.purchasePrice =
													purchaseDetails[0]
													.purchasePrice
											}
											if (this.carList.get(id)
												.productPicture == '') {
												this.carList.get(id)
													.productPicture =
													purchaseDetails[
														0].productPicture
											}
											if (purchaseDetails[0].productId) {
												this.carList.get(id).attrId =
													purchaseDetails[0].attrId

												this.carList.get(id).lsPrice =
													purchaseDetails[0]
													.lsPrice
											}
											this.carList.get(id)
												.wholesalePrice =
												purchaseDetails[0]
												.wholesalePrice
											let specMap =
												new Map() //新的临时存放值那个更改过的值的map
											this.$nextTick(() => {
												this.carList.forEach(
													function(value,
														key) {
														if (key !=
															value
															.id) {
															specMap
																.set(
																	value
																	.id,
																	value
																)
														} else {
															specMap
																.set(
																	key,
																	value
																)
														}
													})
												this.carList = specMap
											})
											this.$nextTick(() => {
												for (let j = 0; j <
													purchaseDetails
													.length; j++) {
													for (let i = 0; i <
														purchaseDetails[
															j]
														.saleDetailQueryDTO
														.length; i++) {
														purchaseDetails
															[j]
															.saleDetailQueryDTO[
																i]
															.name =
															this
															.sliceMsg(
																purchaseDetails[
																	j]
																.saleDetailQueryDTO[
																	i]
																.attributeList
															)
														if (this
															.carList
															.get(id)
															.stockLogList
															.size == 0
														) {
															this.carList
																.get(
																	id)
																.stockLogList
																.set(
																	purchaseDetails[
																		j
																	]
																	.saleDetailQueryDTO[
																		i
																	]
																	.attributeList,
																	purchaseDetails[
																		j
																	]
																	.saleDetailQueryDTO[
																		i
																	]
																)
														} else {
															if (this
																.carList
																.get(
																	id)
																.stockLogList
																.has(
																	purchaseDetails[
																		j
																	]
																	.saleDetailQueryDTO[
																		i
																	]
																	.attributeList
																) ==
																true) {
																this.carList
																	.get(
																		id
																	)
																	.stockLogList
																	.get(
																		purchaseDetails[
																			j
																		]
																		.saleDetailQueryDTO[
																			i
																		]
																		.attributeList
																	)
																	.productCount +=
																	Number(purchaseDetails[j]
																		.saleDetailQueryDTO[i]
																		.productCount)
															} else {
																this.carList
																	.get(
																		id
																	)
																	.stockLogList
																	.set(
																		purchaseDetails[
																			j
																		]
																		.saleDetailQueryDTO[
																			i
																		]
																		.attributeList,
																		purchaseDetails[
																			j
																		]
																		.saleDetailQueryDTO[
																			i
																		]
																	)
															}
														}
														this.carList
															.get(id)
															.productCount +=
															Number(purchaseDetails[j]
																.saleDetailQueryDTO[i]
																.productCount)
													}
												}
												this.carList.get(id)
													.price1 = Number(this
														.carList.get(id)
														.productCount) *
													this.carList.get(id)
													.purchasePrice
												if (this.carList.get(
														id)
													.stockLogList.get(
														'{"颜色":"均色","尺码":"均码"}'
													)
													.productCount ==
													0 &&
													purchaseDetails[0]
													.saleDetailQueryDTO
													.length > 0) {
													this.carList.get(
															id)
														.stockLogList
														.delete(
															'{"颜色":"均色","尺码":"均码"}'
														)
												}
											})
										}

										this.$nextTick(() => {
											this.getAllPrice()
											this.oneGoodsId = ''
										})
									} else {
										this.tui.toast(
											"抱歉：小助手本次未识别到商品信息，请检查识别信息是否正确")
									}
								} else {
									for (let i = 0; i < purchaseDetails
										.length; i++) {
										let data = {
											id: "",
											price: purchaseDetails[i]
												.price,
											productCount: 0,
											attrId: purchaseDetails[i]
												.attrId,
											customerCategoryList: purchaseDetails[i]
												.customerCategoryList,
											categoryId: purchaseDetails[i]
												.categoryId == '' ? this
												.categoryList
												.categoryId : purchaseDetails[i]
												.categoryId,
											categoryName: purchaseDetails[
													i].categoryName == '' ?
												this.categoryList
												.categoryName : purchaseDetails[i]
												.categoryName,
											wholesalePrice: purchaseDetails[
												i].wholesalePrice,
											purchasePrice: purchaseDetails[
												i].purchasePrice,
											isNew: purchaseDetails[i]
												.productId == null ? true : false,
											productId: purchaseDetails[i]
												.productId,
											productName: purchaseDetails[i]
												.productName,
											productSn: purchaseDetails[i]
												.productSn,
											productPicture: purchaseDetails[
												i].productPicture,
											supplierName: purchaseDetails[
												i].supplierName,
											productPictures: [],
											saleDetailQueryDTO: []
										}
										if (purchaseDetails[i].productId) {
											data.id = purchaseDetails[i]
												.productId
										} else if (purchaseDetails[i]
											.productSn == '' ||
											purchaseDetails[i]
											.productSn ==
											null) {
											data.id = purchaseDetails[i]
												.productName
										} else if (purchaseDetails[i]
											.productSn == '货号') {
											data.productSn = purchaseDetails[i]
												.productName
											data.id = purchaseDetails[i]
												.productName
										} else if (purchaseDetails[i]
											.productSn) {
											data.id = purchaseDetails[i]
												.productSn
										}
										for (let m = 0; m < purchaseDetails[i]
											.saleDetailQueryDTO
											.length; m++) {
											let list = {
												attributeList: this
													.getAttribute(
														purchaseDetails[i]
														.saleDetailQueryDTO[
															m]
														.attributeList),
												productCount: Number(purchaseDetails[i]
														.saleDetailQueryDTO[m]
														.productCount) ||
													Number(purchaseDetails[i]
														.saleDetailQueryDTO[m]
														.productCounts),
												productNum: '',
												name: this.sliceMsg(this
													.getAttribute(
														purchaseDetails[
															i]
														.saleDetailQueryDTO[
															m]
														.attributeList)
												),
												price: purchaseDetails[i]
													.saleDetailQueryDTO[m]
													.purchasePrice
											}
											data.productCount +=
												Number(purchaseDetails[i]
													.saleDetailQueryDTO[m].productCount)
											data.saleDetailQueryDTO.push(list)
										}
										this.carList1.push(data)
									}
									uni.showLoading({
										title: '加载中...'
									})
									if (type == true) {
										this.$nextTick(() => {
											setTimeout(resDAAS => {
												this.AiVoice()
												uni.hideLoading();
											}, 500)
										})
									}

								}
								// }, 200 * (num +1))

								// })


							}
							setTimeout(res => {
								if (type == true && this.moreData.length > 0) {
									this.$refs.popup.close()
									this.$refs.voiceBottomPopup.close()
									this.$refs.oneDataPopup.open()
									this.showPopup(0)
								}
							}, 300)

						}
					})
				}, 100)

			},
			delItemSn(val) {
				var that = this;
				uni.showModal({
					title: "提示",
					content: "确定删除此条货号规则吗？",
					success: function(res) {
						if (res.confirm) {
							that.tui.request("/app/productSn/checkProductSn", "post", {
								snPre: val.value
							}, false, true).then((res1) => {
								if (res1.code == 200) {
									that.tui.request("/app/productSn/deleteProductSn", "post", {
										id: res1.result.id
									}, false, true).then((res2) => {
										if (res2.code == 200) {
											that.tui.toast('删除成功')
											setTimeout(res => {
												that.getSnList()
											}, 1000)
										} else {
											uni.showToast({
												title: res2.message,
												icon: 'none'
											})
										}
									}).catch((res) => {})
								} else {
									uni.showToast({
										title: res1.message,
										icon: 'none'
									})
								}
							}).catch((res) => {})
						}
					}
				})

			},
			dialogInputConfirm(e) {
				if (this.categoryText == '') {
					this.tui.toast("请输入规格值后提交")
					return
				}
				//this.goodsDetail[0]  颜色
				//this.goodsDetail[1]  尺码
				this.$refs.inputDialog.close()
				let data = {
					isChecked: false,
					value: this.categoryText
				}
				if (this.isOpenId == '0') {
					this.goodsDetail.attributeList[0].value.push(data)
					this.dataObj.set(data.value, '颜色')
				} else if (this.isOpenId == '1') {
					this.goodsDetail.attributeList[1].value.push(data)
					this.dataObj.set(data.value, '尺码')
				}
				this.$refs.clearInput.onClear()
				this.categoryText = ''
				this.$forceUpdate()
			},
			dialogClose() {
				this.inputVal = '';
				this.$refs.inputDialog.close()
				this.$refs.clearInput.onClear()
				this.categoryText = ''
			},
			//去掉空格和换行
			trimWhitespace(str) {
				return str.replace(/\s+/g, '');
			},
			combination(arr) {
				let result = [
					[]
				]

				arr.map(x => {
					var res = []
					result.map(y => {
						x.specs.map(z => {
							res.push([...y, z])
						})
					})
					result = res
				})
				return result;
			},
			//获取分类列表
			getGategoryList() {
				this.tui.request("/app/productCategory/list", "get", {

				}, false, true).then((res) => {
					if (res.code == 200) {
						this.indexList = res.result;
						this.$refs.clearInput.onClear()
						this.categoryText = ""
					} else {
						this.tui.toast(res.message)
					}
				}).catch((res) => {})
			},
			//扫一扫功能
			scanCodeAdd() {
				let that = this;
				uni.scanCode({
					success: (res) => {
						if (res.scanType == "QR_CODE") { //二维码

							let shopId = base.decode(res.result.split(',')[1])
							if (shopId == uni.getStorageSync('shopId').substring('10', '12')) {
								that.productId = base.decode(res.result.split(',')[0])
								that.toggle('bottom', base.decode(res.result.split(',')[0]));
								// if (item.saleDetailDTOList) {
								// 	for (let i = 0; i < item.saleDetailDTOList.length; i++) {
								// 		this.carList.push(item.saleDetailDTOList[i])
								// 	}
								// }
							} else {
								that.tui.toast('您的店铺中暂无该商品！')
							}
						} else {

							that.tui.request("/app/product/getByBarcode", "POST", {
								barcode: res.result
							}, false, true).then((res1) => {
								if (res1.code == 200) {
									that.productId = res1.result[0].id
									if (res1.result == '') {
										that.tui.toast('您的店铺中暂无该商品！')
									} else {
										that.toggle('bottom', res1.result[0].id);
										// if (item.saleDetailDTOList) {
										// 	for (let i = 0; i < item.saleDetailDTOList.length; i++) {
										// 		this.carList.push(item.saleDetailDTOList[i])
										// 	}
										// }
									}

								} else {
									that.tui.toast(res.message)
								}
							}).catch((res) => {
								that.tui.toast(res)
							})
						}

					},
					fail: (res) => {
						uni.showToast({
							title: '扫描失败',
							icon: 'none'
						})
					}
				})
			},
			getZhuBigImage(path) {
				let paths = []
				paths.push(path)
				uni.previewImage({
					urls: paths
				});
			},
			uploadFilePromise(value) {
				let that = this;
				uni.chooseMedia({
					count: 1,
					mediaType: ['image'],
					sourceType: ['album', 'camera'],
					camera: 'back',
					success(res) {
						uni.compressImage({
							src: res.tempFiles[0].tempFilePath,
							quality: 50,
							success: res1 => {

								uni.uploadFile({
									url: that.tui.interfaceUrl() + '/upload/file',
									filePath: res1.tempFilePath,
									name: 'file',
									header: {
										"content-type": "multipart/form-data",
										'accessToken': that.tui.getToken()
									},
									formData: {},
									success: (uploadFileRes) => {
										that.carList.get(value[0]).productPicture = ''
										let path = JSON.parse(uploadFileRes.data)
										//后端返回的地址，存入图片地址
										that.carList.get(value[0]).productPicture = path
											.result
										that.$forceUpdate()
									}
								});
							}
						})

					}
				})
			},
			goodsAdd() {
				uni.navigateTo({
					url: "/package1/inventory/changeGoods1"
				})
			},
			mergeGoods() {

			},
			//上传子图
			uploadZi(id) {

			},
			addGategory(e) {
				let multipleList = [{
					attributeName: '颜色',
					productAttributeValueVoList: [{
						isChecked: true,
						value: "均色"
					}]
				}, {
					attributeName: '尺码',
					productAttributeValueVoList: [{
						isChecked: true,
						value: "均码"
					}]
				}]
				this.tui.request("/app/productCategory/batchSaveCategoryAndAttribute", "post", {
					categoryName: this.categoryText,
					productAttributeOfAddVos: multipleList
				}, false, false).then((res) => {
					if (res.code == 200) {
						this.getGategoryList()
						uni.showToast({
							title: "添加成功",
							icon: 'none'
						})
					} else {
						uni.showToast({
							title: "添加失败",
							icon: 'none'
						})
					}
					this.$refs.addGateDialog.close()
				}).catch((res) => {})
			},
			allChange(e) {
				if (this.linshiPrice == e.target.value) {
					this.allChangeNum = e.target.value
				} else {
					if (e.target.value == '') {
						this.allChangeNum = this.linshiPrice
					} else {
						this.allChangeNum = e.target.value
					}

				}
				//监听到输入框改变，给所有的都赋值
				if (this.isPlusAndMinus == false) {
					for (var i = 0; i < this.temporaryList.length; i++) {
						if (this.evalue.length == 0) {
							this.temporaryList[i].productCount = Number(this.allChangeNum)
						} else {
							for (var j = 0; j < this.evalue.length; j++) {
								if (this.evalue[j] == this.temporaryList[i].name) {
									this.temporaryList[i].productCount = Number(this.allChangeNum)
								}
							}
						}

						for (var m = 0; m < this.pageOldTemList.length; m++) {
							if (this.temporaryList[i].attributeList == this.pageOldTemList[m].attributeList) {
								this.pageOldTemList[m].productCount = Number(this.temporaryList[i].productCount)
							}
						}
						for (var j = 0; j < this.oldTemList.length; j++) {
							if (this.temporaryList[i].attributeList == this.oldTemList[j].attributeList) {
								this.oldTemList[j].productCount = Number(this.temporaryList[i].productCount)
							}
						}
					}
				}
				this.isPlusAndMinus == false
				this.temporaryChange()
			},
			maskClick() {

			},
			async mapMinusNum(index) {
				this.temporaryList[index].productCount--
				this.temporaryChange()
			},
			mapPlusNum(index) {
				this.temporaryList[index].productCount++
				this.temporaryChange()
			},
			async oneMinusNum(index, index1) {
				let that = this;
				this.carList.get(index).productCount = 0
				this.carList.get(index).returnCount = 0
				if (this.carList.get(index).stockLogList.get(index1).productCount <= 0) {
					this.carList.get(index).stockLogList.get(index1).productCount = 0
				} else {
					this.carList.get(index).stockLogList.get(index1).productCount--
				}

				await this.carList.get(index).stockLogList.forEach(function(value, key) {
					if (value.productCount < 0) {
						that.carList.get(index).returnCount = Number(that.carList.get(index).returnCount) +
							Math.abs(
								value.productCount)
					} else {
						that.carList.get(index).productCount = Number(that.carList.get(index).productCount) +
							Number(value
								.productCount)
					}
				})
				await this.$nextTick(() => {
					// if (that.discountType != 0) { //单品折扣
					that.carList.get(index).price1 = Number(that.carList.get(index).productCount) * that
						.carList.get(index).purchasePrice
					// }
				})
				this.$forceUpdate()
				this.getAllPrice()
			},
			onePlusNum(index, index1) {
				let that = this;
				if (this.carList.get(index).stockLogList.get(index1).productCount < 0) {
					this.carList.get(index).stockLogList.get(index1).productCount = 0
				} else {
					this.carList.get(index).stockLogList.get(index1).productCount++
				}
				that.carList.get(index).productCount++
				that.carList.get(index).price1 = Number(that.carList.get(index).productCount) * that.carList
					.get(index).purchasePrice
				this.getAllPrice()
			},
			yuyinChange() {
				this.isVoice = false
			},
			numChange(e, index) {
				if (this.linshiPrice == e.target.value) {
					this.temporaryList[index].productCount = Number(e.target.value)
				} else {
					if (e.detail.value == '') {
						this.temporaryList[index].productCount = Number(this.linshiPrice)
					} else if (e.detail.value == 0) {
						this.temporaryList[index].productCount = 0
					} else {
						this.temporaryList[index].productCount = Number(e.detail.value);
					}
					this.$forceUpdate()
				}
				this.temporaryChange()
			},
			mapnumChange(e, id, id1) {
				let that = this;
				this.carList.get(id).productCount = 0
				this.carList.get(id).returnCount = 0
				if (this.linshiPrice == e.target.value) {
					this.carList.get(id).stockLogList.get(id1).productCount = Number(e.target.value)
				} else {
					if (e.detail.value == '') {
						this.carList.get(id).stockLogList.get(id1).productCount = Number(this.linshiPrice)
					} else {
						this.carList.get(id).stockLogList.get(id1).productCount = Number(e.detail.value)
					}
				}

				this.carList.get(id).stockLogList.forEach(function(value, key) {
					if (value.productCount < 0) {
						that.carList.get(id).returnCount = Number(that.carList.get(id).returnCount) + Math.abs(
							value
							.productCount)
					} else {
						that.carList.get(id).productCount = Number(that.carList.get(id).productCount) + Number(
							value.productCount)
					}
				})
				this.$nextTick(() => {
					// if (that.discountType != 0) { //单品折扣
					that.carList.get(id).price1 = Number(that.carList.get(id).productCount) * that.carList
						.get(id).purchasePrice
					// }
				})
				this.$nextTick(() => {
					this.getAllPrice()
				})
			},
			voiceGetOne() {
				this.voiceGetOneData = !this.voiceGetOneData
			},
			obtainPrice(e, type, num, num1) {
				this.linshiPrice = e.target.value
				if (type == 'danjia') {
					this.carList.get(num).purchasePrice = ''
				} else if (type == 'pifa') {
					this.carList.get(num).wholesalePrice = ''
				} else if (type == 'lingshou') {
					this.carList.get(num).lsprice = ''
					this.$forceUpdate()
				} else if (type == 'danjishu') {
					this.temporaryList[num].productCount = ''
					this.$forceUpdate()
				} else if (type == 'zongjishu') {
					this.allChangeNum = ''
				} else if (type == 'shouldPay') {
					this.shouldPay = ''
				} else if (type == 'mapdanjishu') {
					this.carList.get(num).stockLogList.get(num1).productCount = ''
					this.$forceUpdate()
				} else if (type == 'alreadyPay') {
					this.alreadyPay = ''
				}
				this.$forceUpdate()
			},
			plusNum() {
				this.isPlusAndMinus == true
				//监听到点击+的操作，给所有的都+1
				for (var i = 0; i < this.temporaryList.length; i++) {
					if (this.evalue.length == 0) {
						if (this.temporaryList[i].productCount == undefined) {
							this.temporaryList[i].productCount = 1
						} else {
							this.temporaryList[i].productCount++
						}
					} else {
						for (var j = 0; j < this.evalue.length; j++) {
							if (this.evalue[j] == this.temporaryList[i].name) {
								if (this.temporaryList[i].productCount == undefined) {
									this.temporaryList[i].productCount = 1
								} else {
									this.temporaryList[i].productCount++
								}
							}
						}
					}

					for (var m = 0; m < this.pageOldTemList.length; m++) {
						if (this.temporaryList[i].attributeList == this.pageOldTemList[m].attributeList) {
							this.pageOldTemList[m].productCount = Number(this.temporaryList[i].productCount)
						}
					}
					for (var j = 0; j < this.oldTemList.length; j++) {
						if (this.temporaryList[i].attributeList == this.oldTemList[j].attributeList) {
							this.oldTemList[j].productCount = Number(this.temporaryList[i].productCount)
						}
					}
				}
				this.temporaryChange()
			},
			minusNum() {
				this.isPlusAndMinus == true
				//监听到点击-的操作，给所有的都-1
				for (var i = 0; i < this.temporaryList.length; i++) {
					if (this.evalue.length == 0) {
						this.temporaryList[i].productCount--
					} else {
						for (var j = 0; j < this.evalue.length; j++) {
							if (this.evalue[j] == this.temporaryList[i].name) {
								this.temporaryList[i].productCount--
							}
						}
					}

					for (var m = 0; m < this.pageOldTemList.length; m++) {
						if (this.temporaryList[i].attributeList == this.pageOldTemList[m].attributeList) {
							this.pageOldTemList[m].productCount = Number(this.temporaryList[i].productCount)
						}
					}
					for (var j = 0; j < this.oldTemList.length; j++) {
						if (this.temporaryList[i].attributeList == this.oldTemList[j].attributeList) {
							this.oldTemList[j].productCount = Number(this.temporaryList[i].productCount)
						}
					}
				}
				this.temporaryChange()
			},
			goChooseGoods() {
				uni.navigateTo({
					url: '/package1/AI/AiChangeGoods'
				})
			},
			longPrec(index, value, index1) {
				var that = this;
				uni.showModal({
					title: "提示",
					content: "确定删除此默认规格吗？",
					success: function(res) {
						uni.showLoading({
							title: '加载中...'
						})
						if (res.confirm) {
							that.delDefaultCate(index, value, index1)
						}
						setTimeout(res => {
							uni.hideLoading();
						}, 500)
					}
				})
			},
			attrNameChange(index, data1, index1) {
				let that = this;
				uni.showLoading({
					title: '加载中...'
				})
				this.goodsDetail.attributeList[index].isChecked = !this.goodsDetail.attributeList[index].isChecked;
				this.goodsDetail.attributeList[index].value[index1].isChecked = !this.goodsDetail.attributeList[index]
					.value[index1].isChecked;
				if (this.goodsList[index].specs.indexOf(data1) != -1) {
					this.goodsList[index].specs.splice(this.goodsList[index].specs.indexOf(data1), 1)
				} else {
					this.goodsList[index].specs.push(data1)
				}
				let jishuqi = 0
				for (var i = 0; i < this.goodsList.length; i++) {
					if (this.goodsList[i].specs.length > 0) {
						jishuqi++
					}
				}
				var resultList = []
				if (jishuqi == this.goodsList.length) {

					resultList = this.combination(this.goodsList);
				}
				this.evalue = []
				var value = []
				for (var m = 0; m < resultList.length; m++) {
					var name = ''
					let value1 = "{"
					for (var j = 0; j < resultList[m].length; j++) {
						if (j != resultList[m].length - 1) {
							name += resultList[m][j] + '/'
							value1 += '"' + this.dataObj.get(resultList[m][j]) + '":"' + resultList[m][j] + '",'
						} else {
							name += resultList[m][j]
							value1 += '"' + this.dataObj.get(resultList[m][j]) + '":"' + resultList[m][j] + '"'
						}
					}
					value1 += "}"
					value.push(value1)
					this.evalue.push(name)
				}
				if (jishuqi == 0) {
					this.oldTemList = []
					this.temporaryList = this.pageOldTemList
				}
				if (this.temporaryList.length == 0) {
					if (jishuqi == this.goodsList.length) {
						for (var i = 0; i < value.length; i++) {
							this.attributeList = {
								attributeList: value[i],
								productCount: Number(this.temporaryNum),
								productNum: this.productNum,
								name: this.evalue[i],
								price: this.purchasePrice
							}
							this.temporaryList.push(this.attributeList);
						}
					}
				} else {
					let newProductCount = 0;
					for (var i = 0; i < value.length; i++) {
						for (var m = 0; m < this.temporaryList.length; m++) {
							if (this.temporaryList[m].attributeList == value[i]) {
								newProductCount = Number(this.temporaryList[m].productCount)
							}
						}
						this.attributeList = {
							attributeList: value[i],
							productCount: newProductCount || 0,
							productNum: this.productNum,
							name: this.evalue[i],
							price: this.purchasePrice
						}

						this.newTemList.push(this.attributeList);
						newProductCount = 0;
					}
					for (var i = 0; i < this.oldTemList.length; i++) {
						let oldAttributeList = '';
						let oldProductCount = '';
						let notChcek = true;
						for (var m = 0; m < this.newTemList.length; m++) {
							if (this.oldTemList[i].attributeList == this.newTemList[m].attributeList) {
								this.newTemList[m].productCount = Number(this.oldTemList[i].productCount)
								notChcek = false;
							}
						}
						if (this.newTemList.length > 0 && notChcek) {
							this.newTemList.push(this.oldTemList[i]);
						}
					}

					for (var i = 0; i < this.pageOldTemList.length; i++) {
						let oldAttributeList = '';
						let oldProductCount = '';
						let notChcek = true;
						for (var m = 0; m < this.newTemList.length; m++) {
							if (this.pageOldTemList[i].attributeList == this.newTemList[m].attributeList) {
								this.newTemList[m].productCount = Number(this.pageOldTemList[i].productCount)
								notChcek = false;
							}
						}
						if (this.newTemList.length > 0 && notChcek) {
							this.newTemList.push(this.pageOldTemList[i]);
						}
					}
				}
				this.$nextTick(() => {
					for (var i = 0; i < that.temporaryList.length; i++) {
						for (var m = 0; m < that.pecsList.length; m++) {
							if (that.temporaryList[i].attributeList == that.pecsList[m].attributeList) {
								that.temporaryList[i].productNum = that.pecsList[m].stockCount
							}
							that.$forceUpdate()
						}
					}
				})
				if (jishuqi != this.goodsList.length) {
					if (this.oldTemList.length == 0 && this.pageOldTemList.length == 0) {
						this.newTemList = []
						this.temporaryList = []
					}
				}
				if (this.newTemList.length != 0 && jishuqi == this.goodsList.length) {
					this.temporaryList = this.newTemList;
					this.oldTemList = []
					this.newTemList = []
				}
				setTimeout(res => {
					uni.hideLoading();
				}, 200)
			},
			clickGategroy(item) {
				this.carList.get(this.productId).categoryName = item.categoryName
				this.carList.get(this.productId).categoryId = item.id
				this.$forceUpdate()
				this.$refs.typePopup.close()
			},
			changeMore(e) {

				if (e.show == false) {
					this.moreData = []
				}
			},
			change() {
				this.allChangeNum = 0
				this.oldTemList = []
			},
			lunbochange(e) {
				this.current = e.detail.current
			},
			//弹出商品规格选择
			toggle(type, id) {
				if (type == 'bottom') {
					uni.showLoading({
						title: '加载中...'
					})
					this.allChangeNum = 0
					this.getById(id);
				} else if (type == 'typePopup') {
					this.productId = id
					this.getGategoryList()
					this.$refs.typePopup.open()
				} else if (type == 'addGateDialog') {
					this.$refs.addGateDialog.open("bottom")
				} else if (type == "mergePopup") {
					this.mergeId = id
					this.$refs.mergePopup.open()
				} else if (type == 'center') {
					this.initRecord();
					this.voiceText = ''
					this.voiceText1 = ''
					this.$refs.popup.open(type)
				} else if (type == 'voiceBottom') {
					this.initRecord();
					this.voiceText = ''
					this.voiceText1 = ''
					this.$refs.voiceBottomPopup.open('bottom')
				} else if (type == 'oneGoods') {
					this.oneGoodsId = id
					this.initRecord();
					this.voiceText = ''
					this.voiceText1 = ''
					this.$refs.popup.open('center')
				}
			},
			//按住语音识别，开始
			kaishi() {
				if (this.isVoice == false) {
					this.recordState = true
					uni.vibrateShort();
					manager.start({
						duration: 60000,
						lang: "zh_CN"
					});
				}
			},
			//松开语音识别，结束
			jieshu() {
				this.recordState = false
				manager.stop()
			},
			isCharPrecededByNumber(str, char) {
				const regex = new RegExp(`\\d${char}`, 'g');
				return regex.test(str);
			},

			replaceCharAfterNumber(str, charToFind, charToReplace) {
				// 正则表达式匹配字符前是否有数字，并且该字符与charToFind相同
				const regex = new RegExp(`\\d${charToFind}`, 'g');
				// 使用replace方法进行替换
				return str.replace(regex, (match) => {
					// 将匹配到的字符中的指定字符替换为charToReplace
					return match.replace(charToFind, charToReplace);
				});
			},
			//查询货号的后面第一个中文字符是不是“数量”，是返回true
			isQuantityFollowsProductCode(str) {
				const afterProductCode = str.split('货号')[1];
				if (!afterProductCode || afterProductCode.indexOf('数量') === -1) {
					return false;
				}
				const beforeQuantity = afterProductCode.split('数量')[0];
				const containsChineseCharacter = /[^\u4e00-\u9fa5]/.test(beforeQuantity);
				return !containsChineseCharacter;
			},
			extractInfo(str) {
				const info = {};
				const regexes = [{
						name: 'productSn',
						regex: /货号(.*?)，/
					},
					{
						name: 'productCount',
						regex: /，数量:(.*?)，/
					},
					{
						name: 'productCount',
						regex: /，数量:(.*?)。/
					},
					{
						name: 'purchasePrice',
						regex: /，单价:(.*?)，/
					},
					{
						name: 'purchasePrice',
						regex: /，单价:(.*?)。/
					},
					{
						name: 'productName',
						regex: /，名称:(.*?)，/
					},
					{
						name: 'productName',
						regex: /，名称:(.*?)。/
					},
					{
						name: 'wholesalePrice',
						regex: /，批发价:(.*?)，/
					},
					{
						name: 'wholesalePrice',
						regex: /，批发价:(.*?)。/
					},
					{
						name: 'lsprice',
						regex: /，零售价:(.*?)，/
					},
					{
						name: 'lsprice',
						regex: /，零售价:(.*?)。/
					}
				];

				regexes.forEach(({
					name,
					regex
				}) => {
					const match = str.match(regex);
					if (match && match[1]) {
						// 去除可能的前后空格
						info[name] = match[1].trim();
					}
				});
				if (info.productCount && info.productCount.indexOf('，') != -1) {
					info.productCount = info.productCount.split('，')[0]
				}
				if (info.purchasePrice && info.purchasePrice.indexOf('，') != -1) {
					info.purchasePrice = info.purchasePrice.split('，')[0]
				}
				if (info.productName && info.productName.indexOf('，') != -1) {
					info.productName = info.productName.split('，')[0]
				}
				if (info.wholesalePrice && info.wholesalePrice.indexOf('，') != -1) {
					info.wholesalePrice = info.wholesalePrice.split('，')[0]
				}
				if (info.lsprice && info.lsprice.indexOf('，') != -1) {
					info.lsprice = info.lsprice.split('，')[0]
				}
				return info;
			},
			//语音识别功能初始化
			initRecord() {
				let that = this;
				manager.stop()
				// 识别结束事件
				manager.onStop = (res) => {
					let convertedStr = this.spliceMsg(this.convertChineseToArabic(res.result));
					convertedStr = this.removeSpacesAndCommas(convertedStr)
					convertedStr = this.removePunctuationAndSpaces(convertedStr)
					if (convertedStr.indexOf('点') != -1) {
						convertedStr = that.replaceCharAfterNumber(convertedStr, '点', '.')
					}
					if (convertedStr.indexOf('，名称') != -1) {
						convertedStr = convertedStr.replace(/，名称/g, '名称')
					}
					if (convertedStr.indexOf('名称，') != -1) {
						convertedStr = convertedStr.replace(/名称，/g, '名称')
					}
					if (convertedStr.indexOf('名称') != -1) {
						convertedStr = convertedStr.replace(/名称/g, '，名称:')
					}
					if (convertedStr.indexOf('，单价') != -1) {
						convertedStr = convertedStr.replace(/，单价/g, '单价')
					}
					if (convertedStr.indexOf('单价，') != -1) {
						convertedStr = convertedStr.replace(/单价，/g, '单价')
					}
					if (convertedStr.indexOf('单价') != -1) {
						convertedStr = convertedStr.replace(/单价/g, '，单价:')
					}
					if (convertedStr.indexOf('，数量') != -1) {
						convertedStr = convertedStr.replace(/，数量/g, '数量')
					}
					if (convertedStr.indexOf('数量，') != -1) {
						convertedStr = convertedStr.replace(/数量，/g, '数量')
					}
					if (convertedStr.indexOf('数量') != -1) {
						convertedStr = convertedStr.replace(/数量/g, '，数量:')
					}
					if (convertedStr.indexOf('，批发价') != -1) {
						convertedStr = convertedStr.replace(/，批发价/g, '批发价')
					}
					if (convertedStr.indexOf('批发价，') != -1) {
						convertedStr = convertedStr.replace(/批发价，/g, '批发价')
					}
					if (convertedStr.indexOf('批发价::') != -1) {
						convertedStr = convertedStr.replace(/批发价::/g, '批发价')
					}
					if (convertedStr.indexOf('批发价:') != -1) {
						convertedStr = convertedStr.replace(/批发价:/g, '批发价')
					}
					if (convertedStr.indexOf('批发价') != -1) {
						convertedStr = convertedStr.replace(/批发价/g, '，批发价:')
					}
					if (convertedStr.startsWith("号")) {
						convertedStr = "货号" + convertedStr.substr(1);
					}
					if (!convertedStr.startsWith("货号")) {
						convertedStr = "货号" + convertedStr;
					}
					if (convertedStr.indexOf('货号，') != -1) {
						convertedStr = convertedStr.replace(/货号，/g, '货号')
					}
					if (convertedStr.indexOf('货号::') != -1) {
						convertedStr = convertedStr.replace(/货号::/g, '货号')
					}
					if (convertedStr.indexOf('货号:') != -1) {
						convertedStr = convertedStr.replace(/货号:/g, '货号')
					}
					if (convertedStr.indexOf('货号') != -1) {
						convertedStr = convertedStr.replace(/货号/g, '货号:')
					}
					convertedStr = convertedStr.replace(/[沟勾钩]/g, 'J');
					convertedStr = this.convertStringCorrectly(convertedStr)

					if (convertedStr.indexOf('，') == 0) {
						convertedStr = convertedStr.substr(1)
					}

					if (that.voiceText == '' || that.voiceText == null) {
						that.voiceText = convertedStr
						that.voiceText1 = convertedStr
					} else {
						that.voiceText += '\n' + convertedStr
						that.voiceText1 = convertedStr + '\n' + that.voiceText1
					}
				}

				// 识别错误事件
				manager.onError = (res) => {
					if (res.retcode == '-30011') {
						that.isVoice = true
					}
					if (res.retcode == '-30004') {
						// uni.hideLoading()
						that.isVoice = false
						uni.hideToast()
						uni.showToast({
							title: "未识别到声音信息,请重新录入",
							icon: 'none'
						})
					}
					if (res.retcode == '-40001') {
						uni.showToast({
							title: '使用次数超限制，请联系管理员！',
							icon: 'none'
						})
					}
				}
			},
			getAttribute(str) {
				str = str.replace(/"色"(?![^{]*": *"色")/g, '"均色"');
				str = str.replace(/"码"(?![^{]*": *"码")/g, '"均码"');
				return str
			},
			//清空语音输入的文字
			clearText() {
				this.voiceText = ''
				this.voiceText1 = ''
			},
			getText(e) {
				this.voiceText = e.detail.value
			},
			//正则匹配处理“2十9”等情况
			convertStringCorrectly(str) {
				var regexForSingleTen = /(\d+)十(?!\d)/g;
				var regexForFollowedByDigit = /(\d+)十(?=\d)/g;
				var step1Result = str.replace(regexForSingleTen, '$10');
				var finalResult = step1Result.replace(regexForFollowedByDigit, '$1');

				return finalResult;
			},
			spliceMsg(res) {
				let regex = /嗯|啊|儿|阿|恩/g;
				return res.replace(regex, '')
			},
			convertChineseToArabic(str) {
				const chineseNumToArabic = {
					// '零': 0,
					'幺': 1,
					'一': 1,
					'二': 2,
					'两': 2,
					'三': 3,
					'四': 4,
					'五': 5,
					'六': 6,
					'七': 7,
					'八': 8,
					'九': 9,
					'杠': '-',
					'刚': '-',
					'军色': '均色',
					'叉': 'X',
					'井': '#',
					'时间': '10件',
					'事件': '10件',
					'世间': '10件',
					'实践': '10件',
					'实件': '10件',
					'实价': '10件',
					'议价': '1件',
					'衣架': '1件',
					'景': '#',
					'警': '#',
					'颈': '#',
					'括号': '货号',
					'名城': '名称',
					'明城': '名称',
					'名成': '名称',
					'名程': '名称',
					'上移': '上衣',
					'时1': '11',
					'时2': '12',
					'时3': '13',
					'时4': '14',
					'时5': '15',
					'时6': '16',
					'时7': '17',
					'时8': '18',
					'时9': '19',

				};
				const regex =
					/(幺|一|二|两|三|四|五|六|七|八|九|杠|刚|军色|叉|井|时间|衣架|议价|实价|事件|世间|实践|实件|景|警|颈|括号|名城|名程|名成|明城|上移|时1|时2|时3|时4|时5|时6|时7|时8|时9)/g;
				return str.replace(regex, match => chineseNumToArabic[match]);
			},
			//合并已有
			clickMerge(value, key) {
				let that = this;
				this.carList.get(this.mergeId).stockLogList.forEach(function(values, keys) {
					if (that.carList.get(value).stockLogList.has(keys)) {
						that.carList.get(value).stockLogList.get(keys).productCount += Number(that.carList.get(that
							.mergeId).stockLogList.get(keys).productCount)
					} else {
						that.carList.get(value).stockLogList.set(keys, that.carList.get(that.mergeId).stockLogList
							.get(keys))
					}
					that.carList.get(value).productCount += Number(that.carList.get(that.mergeId).stockLogList.get(
							keys)
						.productCount)
					that.carList.get(value).price1 = Number(that.carList.get(value).productCount) * that.carList
						.get(value)
						.purchasePrice
				})
				this.carList.delete(this.mergeId)
				this.$forceUpdate()
				this.getAllPrice()
				this.$refs.mergePopup.close()
			},
			AiAddSpec(value) {
				this.getById(value, 1);
			},
			pictureAdd(id, huan) {
				let that = this
				uni.showLoading({
					title: '加载中...',
					mask: true
				})
				if (id != '') { //上传多图
					this.childrenId = id
					if (this.carList.get(id).productPictures.length > 0 && huan != 'huan') {
						this.productPictures = this.carList.get(id).productPictures
						this.$refs.showImgDiaLog.open()
						uni.hideLoading();
						return;
					} else if (huan == 'huan') {
						this.$refs.showImgDiaLog.close()
					}
				} else {
					this.childrenId = ''
				}
				uni.chooseMedia({
					count: 9,
					mediaType: ['image'],
					sourceType: ['album'],
					success(res) {
						if (that.childrenId != '') {
							that.carList.get(that.childrenId).productPictures = []
						}
						for (let i = 0; i < res.tempFiles.length; i++) {
							that.upLoadFile(res.tempFiles[i].tempFilePath, i + 1)
							that.zhuImgList.push(res.tempFiles[i].tempFilePath)
						}
					},
					fail(err) {
						uni.hideLoading();
					}
				})
				uni.hideLoading();
			},
			async upLoadFile(path, time) {
				let that = this;
				let hiver_token = uni.getStorageSync("hiver_token")
				await uni.compressImage({
					src: path,
					quality: 50,
					success: res1 => {

						uni.uploadFile({
							url: that.tui.interfaceUrl() + '/upload/file',
							filePath: res1.tempFilePath,
							name: 'file',
							header: {
								"content-type": "multipart/form-data",
								'accessToken': hiver_token
							},
							formData: {},
							success: (uploadFileRes) => {
								let pathData = JSON.parse(uploadFileRes.data)
								if (that.childrenId != '') {
									let data = {
										productPicture: pathData.result
									}
									that.carList.get(that.childrenId).productPictures.push(
										data)
									that.$forceUpdate()
								} else {
									setTimeout(function() {
										that.isSnList(pathData.result)
									}, 100 * time);

									// that.addPageGoods(pathData.result)
								}
							},
							fail: (err) => {
								uni.hideLoading();
								uni.showToast({
									title: JSON.stringify(err),
									icon: 'none'
								})
							}
						});
					}
				})

				await setTimeout(res => {
					uni.hideLoading();
				}, 1000)
			},
			removeSpacesAndCommas(str) {
				// 正则表达式匹配所有空格和逗号
				const regex = /[ ，,]/g; // 注意这里的空格和全角空格（全角逗号也包括在内）

				// 使用replace()方法替换匹配到的空格和逗号为空字符串
				return str.replace(regex, '');
			},
			//通过商品id查询商品详细信息
			getById(id, current) {
				let that = this;
				uni.showLoading({
					title: '加载中...'
				})
				this.isBottom = false
				//判断isNew，新商品直接调店铺颜色库
				if (current == 1) {
					that.goodsDetail = id;
					that.goodsDetail.attributeList = []
					if (this.goodsDetail.isNew) {
						this.goodsList = []
						that.goodsDetail.attributeList = this.defaultList
						for (var i = 0; i < that.goodsDetail.attributeList.length; i++) {
							for (var m = 0; m < that.goodsDetail.attributeList[i].value.length; m++) {
								that.dataObj.set(that.goodsDetail.attributeList[i].value[m].value, that.goodsDetail
									.attributeList[i].name)
							}
							let specs1 = {
								specs: []
							}
							that.goodsList.push(specs1)
						}
						this.$refs.shopPopup.open('bottom')
					} else {
						that.tui.request("/app/productAttribute/selectAttributeAndValueByCategoryId",
							"POST", {
								categoryId: that.goodsDetail.attrId
							}, false, true).then((res1) => {
							if (res1.code == 200) {
								that.goodsList = []
								if (typeof(res1.result.attributeAndValue) == 'string') {
									let newObj = JSON.parse(res1.result.attributeAndValue)
									let newArr = []
									let dataArr = []
									for (let val in newObj) {
										let valueObj = [];
										for (var i = 0; i < newObj[val].length; i++) {
											valueObj.push({
												value: newObj[val][i],
												isChecked: false
											})
											that.dataObj.set(newObj[val][i], val)
										}
										newArr.push({
											name: val,
											value: valueObj
										})
									}
									that.goodsDetail.attributeList = newArr;
									for (var i = 0; i < that.goodsDetail.attributeList.length; i++) {
										let specs1 = {
											specs: []
										}
										that.goodsList.push(specs1)
									}
								} else {
									that.tui.toast('失败了')
								}
								that.getKCList(res1.result.stock);
							} else {
								that.tui.toast(res1.message)
							}
						}).catch((res) => {})
					}
					this.pageOldTemList = []
					that.temporaryList = []
					if (that.carList.size > 0) {
						let isArgin = false
						let idOrProductId = ''
						if (id.isNew) {
							idOrProductId = id.id
						} else {
							idOrProductId = id.productId
						}
						if (that.carList.get(idOrProductId).stockLogList.size == 1) {
							if (that.carList.get(idOrProductId).stockLogList.get('{"颜色":"均色","尺码":"均码"}') != null && that
								.carList.get(idOrProductId).stockLogList.get('{"颜色":"均色","尺码":"均码"}') != undefined) {
								that.carList.get(idOrProductId).stockLogList.get('{"颜色":"均色","尺码":"均码"}').productCount = 0
							}
						}
						that.carList.forEach(function(value, key) {
							value.stockLogList1 = []
							if (isArgin == false) {
								value.stockLogList.forEach(function(values, keys) {
									if (value.stockLogList1.length == 0) {
										let obj = {
											productCount: Number(values.productCount),
											name: values.name,
											attributeList: keys,
											productNum: values.productNum
										}
										value.stockLogList1.push(obj)
									} else {
										for (var i = 0; i < value.stockLogList1.length; i++) {
											if (value.stockLogList1[i].attributeList != keys) {
												if (value.stockLogList1.length == (i + 1)) {
													let obj = {
														productCount: Number(values.productCount),
														name: values.name,
														attributeList: keys,
														productNum: values.productNum
													}
													value.stockLogList1.push(obj)
												}
											}
										}
									}

								})

								if (value.productId == id) {
									that.zNum = Number(value.productCount)
									that.temporaryList = value.stockLogList1
									that.pageOldTemList = value.stockLogList1
									that.oldTemList = value.stockLogList1
									isArgin = true
								} else {
									if (value.isNew) {
										if (value.id == id.id) {
											that.zNum = Number(value.productCount)
											that.temporaryList = value.stockLogList1
											that.pageOldTemList = value.stockLogList1
											that.oldTemList = value.stockLogList1
											isArgin = true
										}
									} else {
										if (value.productId == id.productId) {
											that.zNum = Number(value.productCount)
											that.temporaryList = value.stockLogList1
											that.pageOldTemList = value.stockLogList1
											that.oldTemList = value.stockLogList1
											isArgin = true
										}
									}

								}
								value.stockLogList1 = []

							}

						})

						that.zNum = 0
						// that.$nextTick(() => {
						// 	that.carList.forEach(function(value, key) {

						// 	})
						// })
					}
				} else {
					this.tui.request("/app/product/getById/" + id, "POST", {}, false, true).then((res) => {
						if (res.code == 200) {
							if (res.result.delFlag == 0) {
								that.tui.toast("请将商品上架后再操作！")
								return
							}
							if (res.result.inStorageStatus == 0) {
								that.tui.toast("请将商品入库后再操作！")
								return
							}

							that.goodsDetail = res.result;
							that.goodsDetail.attributeList = this.defaultList
							that.tui.request("/app/productAttribute/selectAttributeAndValueByCategoryId",
								"POST", {
									categoryId: that.goodsDetail.attrId || that.categoryList.attrId
								}, false, true).then((res1) => {
								if (res1.code == 200) {
									that.goodsList = []
									if (typeof(res1.result.attributeAndValue) == 'string') {
										let newObj = JSON.parse(res1.result.attributeAndValue)
										let newArr = []
										let dataArr = []
										for (let val in newObj) {
											let valueObj = [];
											for (var i = 0; i < newObj[val].length; i++) {
												valueObj.push({
													value: newObj[val][i],
													isChecked: false
												})
												that.dataObj.set(newObj[val][i], val)
											}
											newArr.push({
												name: val,
												value: valueObj
											})
										}
										that.goodsDetail.attributeList = newArr;
										for (var i = 0; i < that.goodsDetail.attributeList.length; i++) {
											// let oldCheck = false
											// let oldValue = []
											// for (var m = 0; m < that.goodsDetail.attributeList[i].value
											// 	.length; m++) {
											// 	if (that.goodsDetail.attributeList[i].value[m]
											// 		.isChecked == true) {
											// 		oldCheck = true
											// 		oldValue.push(that.goodsDetail.attributeList[i]
											// 			.value[m].value)
											// 	}
											// }
											let specs1 = {
												specs: []
											}
											that.goodsList.push(specs1)
											// oldCheck = false
											// oldValue = []
										}
									} else {
										that.tui.toast('失败了')
									}

									this.pageOldTemList = []
									that.temporaryList = []
									if (that.carList.size > 0) {
										let isArgin = false
										that.carList.forEach(function(value, key) {
											value.stockLogList1 = []
											if (isArgin == false) {
												value.stockLogList.forEach(function(values, keys) {
													if (value.stockLogList1.length == 0) {
														let obj = {
															productCount: Number(values
																.productCount),
															name: values.name,
															attributeList: keys,
															productNum: values
																.productNum
														}
														value.stockLogList1.push(obj)
													} else {
														for (var i = 0; i < value
															.stockLogList1.length; i++) {
															if (value.stockLogList1[i]
																.attributeList != keys) {
																if (value.stockLogList1
																	.length == (i + 1)) {
																	let obj = {
																		productCount: Number(
																			values
																			.productCount
																		),
																		name: values
																			.name,
																		attributeList: keys,
																		productNum: values
																			.productNum
																	}
																	value.stockLogList1
																		.push(obj)
																}
															}
														}
													}

												})

												if (value.productId == id) {
													that.zNum = Number(value.productCount)
													that.temporaryList = value.stockLogList1
													that.pageOldTemList = value.stockLogList1
													that.oldTemList = value.stockLogList1
													isArgin = true
												} else {
													if (value.isNew) {
														if (value.id == id.id) {
															that.zNum = Number(value.productCount)
															that.temporaryList = value
																.stockLogList1
															that.pageOldTemList = value
																.stockLogList1
															that.oldTemList = value.stockLogList1
															isArgin = true
														}
													} else {
														if (value.productId == id.productId) {
															that.zNum = Number(value.productCount)
															that.temporaryList = value
																.stockLogList1
															that.pageOldTemList = value
																.stockLogList1
															that.oldTemList = value.stockLogList1
															isArgin = true
														}
													}

												}
												value.stockLogList1 = []

											}

										})
										that.zNum = 0
										if (that.carList.get(id)) {
											if (that.carList.get(id).stockLogList1.length == 1) {
												if (that.carList.get(id).stockLogList1[0].attributeList ==
													'{"颜色":"均色","尺码":"均码"}') {
													that.carList.get(id).stockLogList1[0].productCount = 0
												}
											}
										}

										// that.$nextTick(() => {
										// 	that.carList.forEach(function(value, key) {

										// 	})
										// })
									}
									this.getKCList(res1.result.stock)
								} else {
									that.tui.toast(res1.message)
								}
							}).catch((res) => {})
						} else {
							this.tui.toast(res.message)
						}
					}).catch((res) => {})
				}
				uni.hideLoading()
			},
			changeSn() {

			},
			//新增商品的时候，判断有没有货号生成规则，没有则弹出货号新增弹出层
			async isSnList(img) {
				if (this.isGenerateSnRadio == 1) { //不自动生成货号
					await this.addPageGoods(img, '')
				} else {
					if (this.snList.length > 0) {
						await this.getNewSn(img)
					} else {
						this.zhuImg = img
						this.$refs.SNDialog.open('center')
						uni.hideLoading()
					}
				}
			},
			//获取新货号
			getNewSn(img) {
				this.tui.request("/app/productSn/getNewProductSn", "POST", {
					snPre: this.snName
				}, false, true).then((res1) => {
					if (res1.code == 200) {
						this.tui.request('/app/product/getByProductSn', "post", {
							productSn: res1.result
						}, false, true).then((res) => {
							if (res.code == 200) {
								if (res.result != '') {
									this.generateSn(value)
								} else {
									this.addPageGoods(img, res1.result)
								}
							}
						})
					} else {
						uni.hideLoading()
						this.tui.toast(res.message)
					}
				}).catch((res) => {
					uni.hideLoading()
				})
			},
			//getNewProductSnMore     count/snPre
			addPageGoods(path, sn) {
				let obj = {
					id: sn ? sn : generateUUID(),
					purchasePrice: 0, //进货价
					price: 0,
					price1: 0,
					categoryName: this.categoryList.categoryName,
					categoryId: this.categoryList.categoryId,
					productCount: 0,
					productId: "",
					productName: "",
					wholesalePrice: 0,
					customerCategoryList: this.getNewProductRule(),
					lsprice: 0,
					isNew: true,
					productPictures: [],
					productPicture: path ? path : '',
					productSn: sn ? sn : "",
					stockLogList: new Map(),
					stockLogList1: []
				}
				let key = '{"颜色":"均色","尺码":"均码"}'
				let value = {
					name: '均色/均码',
					productCount: 0
				}
				obj.stockLogList.set(key, value)
				this.carList.set(obj.id, obj)
				this.$forceUpdate()
				uni.hideLoading()
			},
			getNewProductRule() {
				let arr = []
				if (this.customerCategoryList1 != null && this.customerCategoryList1 != '') {
					for (let i = 0; i < this.customerCategoryList1.length; i++) {
						let data = {
							categoryId: this.customerCategoryList1[i].categoryId,
							categoryName: this.customerCategoryList1[i].categoryName,
							categoryPrice: this.customerCategoryList1[i].categoryPrice
						}
						arr.push(data)
					}
				} else {
					arr = null
				}

				return arr
			},
			//库存商品详情
			getKCList(list) {
				let that = this
				this.pecsList = list
				this.$refs.shopPopup.open('bottom')
			},
			temporaryChange(val, item) {
				if (item != '' && item != undefined) {
					for (var m = 0; m < this.pageOldTemList.length; m++) {
						if (item.attributeList == this.pageOldTemList[m].attributeList) {
							this.pageOldTemList[m].productCount = Number(item.productCount)
							break;
						}
					}
					for (var j = 0; j < this.oldTemList.length; j++) {
						if (item.attributeList == this.oldTemList[j].attributeList) {
							this.oldTemList[j].productCount = Number(item.productCount)
							break;
						}
					}
				}
				this.zNum = 0
				for (var i = 0; i < this.temporaryList.length; i++) {
					this.zNum += Number(this.temporaryList[i].productCount) || 0
				}
			},
			clickClose(e) {
				this.evalue = []
				for (let i = 0; i < this.goodsDetail.attributeList.length; i++) {
					this.goodsDetail.attributeList[i].isChecked = false;
					for (let m = 0; m < this.goodsDetail.attributeList[i].value.length; m++) {
						this.goodsDetail.attributeList[i].value[m].isChecked = false
					}
				}
				this.allChangeNum = 0
			},
			//弹窗选择规格后，点击弹窗中选好了按钮
			temporaryCheck() {
				uni.showLoading({
					title: '加载中...'
				})
				this.evalue = []
				let that = this,
					carList1 = []
				let data = {
					id: this.goodsDetail.productId ? this.goodsDetail.productId : this.goodsDetail.id,
					price: 0,
					num: this.zNum,
					customerCategoryRule: this.goodsDetail.customerCategoryRule != null ? this.checkPriceRule(JSON
						.parse(this.goodsDetail
							.customerCategoryRule)) : null,
					productId: this.goodsDetail.productId,
					productName: this.goodsDetail.productName,
					wholesalePrice: this.goodsDetail.wholesalePrice,
					purchasePrice: this.goodsDetail.purchasePrice,
					categoryName: this.goodsDetail.categoryName,
					categoryId: this.goodsDetail.categoryId,
					attrId: this.goodsDetail.attrId,
					lsprice: this.goodsDetail.price,
					productSn: this.goodsDetail.productSn,
					productPicture: this.goodsDetail.productPicture,
					supplierName: this.goodsDetail.supplierName,
					productPictures: [],
					saleDetailQueryDTO: this.temporaryList
				}
				carList1.push(data)
				this.temporaryList = []
				this.oldTemList = []
				this.purchasePrice = ''
				this.zPrice = ''
				this.zNum = ''
				for (let i = 0; i < this.goodsDetail.attributeList.length; i++) {
					this.goodsDetail.attributeList[i].isChecked = false;
					for (let m = 0; m < this.goodsDetail.attributeList[i].value.length; m++) {
						this.goodsDetail.attributeList[i].value[m].isChecked = false
					}
				}
				if (this.carList.size == 0) { //当前页没有数据
					for (let i = 0; i < carList1.length; i++) {
						let obj = {
							purchasePrice: this.userType == 0 ? this.goodsDetail.purchasePrice : '', //进货价
							price: this.goodsDetail.price,
							price1: 0,
							productCount: 0,
							id: carList1[i].id,
							productId: carList1[i].id,
							customerCategoryList: carList1[i].customerCategoryRule != null ? this.checkPriceRule(
								carList1[i]
								.customerCategoryRule) : this.getNewProductRule(),
							wholesalePrice: this.goodsDetail.wholesalePrice,
							categoryName: this.goodsDetail.categoryName,
							categoryId: carList1[i].categoryId,
							attrId: carList1[i].attrId,
							lsprice: this.goodsDetail.price,
							productName: carList1[i].productName,
							productPicture: carList1[i].productPicture,
							productSn: carList1[i].productSn,
							stockLogList: new Map(),
							productPictures: [],
							stockLogList1: []
						}
						for (let m = 0; m < carList1[i].saleDetailQueryDTO.length; m++) {

							var data1 = {
								productCount: Number(carList1[i].saleDetailQueryDTO[m].productCount),
								name: carList1[i].saleDetailQueryDTO[m].name,
								productNum: carList1[i].saleDetailQueryDTO[m].productNum
							}
							if (carList1[i].saleDetailQueryDTO.length > 1) {
								if (data1.productCount > 0) {
									obj.stockLogList.set(carList1[i].saleDetailQueryDTO[m].attributeList, data1)
								}
							} else {
								obj.stockLogList.set(carList1[i].saleDetailQueryDTO[m].attributeList, data1)
							}

							obj.productCount += Number(carList1[i].saleDetailQueryDTO[m].productCount)
							obj.price1 = Number(obj.productCount) * this.goodsDetail.purchasePrice
						}
						this.carList.set(carList1[i].id, obj)
					}
					carList1 = []

				} else { //当前页有数据

					for (let i = 0; i < carList1.length; i++) {
						if (this.carList.has(carList1[i].id) == true) {
							this.carList.get(carList1[i].id).stockLogList = new Map()
						}

						if (this.carList.has(carList1[i].id) == true) { //商品相同
							if (this.carList.get(carList1[i].id)) {
								this.carList.get(carList1[i].id).productCount = 0
							}
							for (let m = 0; m < carList1[i].saleDetailQueryDTO.length; m++) {
								if (this.carList.get(carList1[i].id).stockLogList.has(carList1[i]
										.saleDetailQueryDTO[
											m].attributeList) == true) { //规格相同

									var data1 = {
										productCount: Number(carList1[i].saleDetailQueryDTO[m].productCount),
										name: carList1[i].saleDetailQueryDTO[m].name,
										productNum: carList1[i].saleDetailQueryDTO[m].productNum
									}
									if (carList1[i].saleDetailQueryDTO.length > 1) {
										if (data1.productCount > 0) {
											this.carList.get(carList1[i].id).stockLogList.set(carList1[i]
												.saleDetailQueryDTO[m]
												.attributeList, data1)
										}
									} else {
										this.carList.get(carList1[i].id).stockLogList.set(carList1[i].saleDetailQueryDTO[m]
											.attributeList, data1)
									}
								} else { //规格不同
									var data1 = {
										productCount: Number(carList1[i].saleDetailQueryDTO[m].productCount),
										name: carList1[i].saleDetailQueryDTO[m].name,
										productNum: carList1[i].saleDetailQueryDTO[m].productNum
									}
									if (carList1[i].saleDetailQueryDTO.length > 1) {
										if (data1.productCount > 0) {
											this.carList.get(carList1[i].id).stockLogList.set(carList1[i]
												.saleDetailQueryDTO[m]
												.attributeList, data1)
										}
									} else {
										this.carList.get(carList1[i].id).stockLogList.set(carList1[i].saleDetailQueryDTO[m]
											.attributeList, data1)
									}
								}
								this.carList.get(carList1[i].id).productCount += Number(carList1[i].saleDetailQueryDTO[
									m].productCount)
								that.carList.get(carList1[i].id).price1 = Number(that.carList.get(carList1[i].id)
										.productCount) *
									that.carList.get(carList1[i].id).purchasePrice
							}
						} else { //商品不同
							let obj = {
								purchasePrice: this.userType == 0 ? this.goodsDetail.purchasePrice : '', //进货价
								price: this.goodsDetail.price,
								price1: 0,
								productCount: 0,
								productId: carList1[i].id,
								categoryId: carList1[i].categoryId,
								attrId: carList1[i].attrId,
								customerCategoryList: carList1[i].customerCategoryRule != null ? this.checkPriceRule(
									carList1[i]
									.customerCategoryRule) : this.getNewProductRule(),
								productName: carList1[i].productName,
								wholesalePrice: this.goodsDetail.wholesalePrice,
								lsprice: this.goodsDetail.price,
								productPicture: carList1[i].productPicture,
								stockLogList: new Map(),
								productSn: carList1[i].productSn,
								stockLogList1: [],
								productPictures: [],
								name: ''
							}

							for (let m = 0; m < carList1[i].saleDetailQueryDTO.length; m++) {
								var data1 = {
									productCount: Number(carList1[i].saleDetailQueryDTO[m].productCount),
									name: carList1[i].saleDetailQueryDTO[m].name,
									productNum: carList1[i].saleDetailQueryDTO[m].productNum
								}
								if (carList1[i].saleDetailQueryDTO.length > 1) {
									if (data1.productCount > 0) {
										obj.stockLogList.set(carList1[i].saleDetailQueryDTO[m].attributeList, data1)
									}
								} else {
									obj.stockLogList.set(carList1[i].saleDetailQueryDTO[m].attributeList, data1)
								}
								obj.productCount += Number(carList1[i].saleDetailQueryDTO[m].productCount)
								obj.price1 = obj.productCount * this.goodsDetail.purchasePrice
							}
							this.carList.set(carList1[i].id, obj)
						}
					}
					carList1 = []
				}
				this.getAllPrice()
				this.$refs.shopPopup.close()
				this.allChangeNum = 0
				setTimeout(res => {
					uni.hideLoading();
				}, 500)
			},
			changessPrice(e) {
				if (this.linshiPrice == e.target.value) {
					this.shouldPay = e.target.value
				} else {
					if (e.target.value == '') {
						this.shouldPay = this.linshiPrice
					} else {
						this.shouldPay = e.target.value
					}

				}
				this.alreadyPay = this.shouldPay
				this.noPay = this.shouldPay - this.alreadyPay;
			},
			//滨海商贸要求已收金额不计算
			checkRealPay(realPay) {
				let shopId = uni.getStorageSync('shopId')
				if (shopId == '1838094297858183168' || shopId == '1818888277105709056' || shopId ==
					'1810179818189361152') {
					if (this.isChangePriceOk == false) {
						return 0
					} else {
						return this.alreadyPay
					}
				} else {
					if (this.isChangePriceOk == false) {
						return realPay
					} else {
						return this.alreadyPay
					}
				}
			},
			sninput(e, id) {
				this.carList.get(id).productSn = e.detail.value
				this.$forceUpdate()
			},
			removePunctuationAndSpaces(str) {
				const regex = /[\u3002\uff0c\uff1a\uFF0E\u3001\s,:;]/g;
				return str.replace(regex, '');
			},
			//货号是否重复
			getSnIsRepeat(e, id) {
				let that = this;
				let isTrue = false
				if (e.detail.value != '') {
					this.tui.request('/app/product/getByProductSn', "post", {
						productSn: e.detail.value
					}, false, true).then((res1) => {
						if (res1.code == 200) {
							if (res1.result != '') {
								isTrue = true
								that.tui.toast('当前货号已被商品：“' + res1.result[0].productName + '”占用，请重新输入')
								that.carList.get(id).productSn = ''
								that.carList.get(id).id = ''
								setTimeout(res => {
									that.$forceUpdate()
								}, 2000)
								throw Error('11')
							} else {
								this.carList.forEach(function(value, key) {
									if (value.id != id) {
										if (value.productSn == e.detail.value) {
											isTrue = true
											uni.showToast({
												title: "该货号被页面其他商品占用,请重新输入！",
												icon: 'none'
											})
											that.carList.get(id).productSn = ''
											that.carList.get(id).id = ''
											that.$forceUpdate()
											throw Error('11')
										}
									}
								})
							}

						}
					})

					this.$nextTick(() => {
						if (isTrue == false) {
							if (that.carList.get(id).productId) {
								this.carList.get(id).id = that.carList.get(id).productId
								this.carList.get(id).isNew = false
								id = that.carList.get(id).productId
							} else if (that.carList.get(id).productSn == '' || that.carList.get(id).productSn ==
								null) {

								this.carList.get(id).id = that.carList.get(id).productName
								id = that.carList.get(id).productName
							} else if (that.carList.get(id).productSn == '货号') {
								this.carList.get(id).productSn = that.carList.get(id).productName
								this.carList.get(id).id = that.carList.get(id).productName
								id = that.carList.get(id).productName
							} else if (that.carList.get(id).productSn) {

								this.carList.get(id).id = that.carList.get(id).productSn
								id = that.carList.get(id).productSn
							}
							this.$forceUpdate()
						}
					})
					let specMap = new Map() //新的临时存放值那个更改过的值的map
					this.$nextTick(() => {
						// if(isTrue == false){
						this.carList.forEach(function(value, key) {
							if (key != value.id) {
								if (value.id == '') {
									specMap.set(generateUUID(), value)
								} else {
									specMap.set(value.id, value)
								}

							} else {
								specMap.set(key, value)
							}
						})
						this.carList = specMap
						// }
					})
				}
			},
			getName(e, id) {
				this.carList.get(id).productName = e.detail.value
			},
			noReturn() {
				this.yuedikou = 0
				this.alreadyPay = this.shouldPay
				this.noPay = this.shouldPay - (this.alreadyPay == '' ? 0 : this.alreadyPay)
				this.noPay = this.noPay.toFixed(2)
				this.leijiqiankuan = (Number(this.zhiqianqiankuan) + Number(this.yuedikou) + Number(this.noPay)).toFixed(2)
			},
			//计算欠款
			changePay(e) {
				this.isChangePriceOk = true
				if (this.linshiPrice == e.target.value) {
					this.alreadyPay = e.target.value
				} else if (Number(e.detail.value) > Number(this.shouldPay)) {
					this.alreadyPay = this.shouldPay
					setTimeout(res => {
						this.tui.toast("已付金额不能大于应付金额")
					}, 100)
				} else {
					if (e.target.value == '') {
						this.alreadyPay = this.linshiPrice
					} else {
						this.alreadyPay = e.target.value
						if ((this.shouldPay - this.alreadyPay) <= Math.abs(this.zhiqianqiankuan) && this.zhiqianqiankuan <
							0) {
							this.yuedikou = this.shouldPay - this.alreadyPay
						} else if ((this.shouldPay - this.alreadyPay) > Math.abs(this.zhiqianqiankuan) && this
							.zhiqianqiankuan < 0) {
							this.yuedikou = Math.abs(this.zhiqianqiankuan)
						}

					}
				}
				this.noPay = this.shouldPay - this.alreadyPay - this.yuedikou
				this.noPay = this.noPay.toFixed(2)
				this.leijiqiankuan = (Number(this.zhiqianqiankuan) + Number(this.yuedikou) + Number(this.noPay)).toFixed(2)
			},
			//跳转选择供应商
			goPopleList(popleType) {
				uni.setStorageSync('kaidanBack', true)
				uni.navigateTo({
					url: '/package1/index/peopleList?popleType=' + popleType
				})
			},
			//删除整条商品
			delShop(id) {
				var that = this;
				uni.showModal({
					title: "提示",
					content: "确定删除此条商品吗？",
					success: function(res) {
						if (res.confirm) {
							if (that.carList.has(id) == true) {
								that.carList.delete(id)
							}
							that.getAllPrice()
							that.$forceUpdate()
						}
					}
				})

			},
			//选商品的时候能删除规格
			delCarData(index) {
				this.temporaryList.splice(index, 1);
				this.temporaryChange()
			},
			//删除商品下的某一个规格
			delShopSpec(id, name) {
				var that = this;
				uni.showModal({
					title: "提示",
					content: "确定删除此条规格吗？",
					success: function(res) {
						if (res.confirm) {
							if (that.carList.get(id).stockLogList.size == 1) {
								that.carList.get(id).productCount = Number(that.carList.get(id).stockLogList
									.get(name)
									.productCount);
							} else {
								that.carList.get(id).productCount -= Number(that.carList.get(id).stockLogList
									.get(
										name).productCount);
							}

							let count = Number(that.carList.get(id).stockLogList.get(name).productCount)
							that.carList.get(id).stockLogList.delete(name)

							that.carList.get(id).price1 = Number(that.carList.get(id).productCount) * that
								.carList.get(
									id).purchasePrice
							if (that.carList.get(id).stockLogList.size == 0) {
								let key = '{"颜色":"均色","尺码":"均码"}'
								let value = {
									name: '均色/均码/',
									productCount: count
								}
								that.carList.get(id).stockLogList.set(key, value)
							}

							that.getAllPrice()
						}
						that.$forceUpdate()
					}
				})

			},
			gysList() {
				let that = this;
				this.tui.request("/app/supplier/getByCondition", "post", {
					searchStr: '默认供应商',
					pageNumber: 1,
					pageSize: 10
				}, false, true).then((res) => {
					if (res.code == 200) {
						if (res.result.content.length == 0) {
							that.tui.request("/app/supplier/save", "post", {
								consigneeMobile: '',
								consigneeName: '默认供应商',
								address1: '',
								address: '',
								province: '',
								city: '',
								area: ''
							}, false, true).then((res) => {
								if (res.code == 200) {
									that.gysList()
								}
							})
						} else {
							that.khName = res.result.content[0]
							that.goRuku()
						}

					} else {
						this.tui.toast(res.message)
					}
				})
			},
			filterEmojis(text) {
				// 匹配表情符号的正则表达式（包括Unicode范围内的表情）
				const emojiRegex =
					/[\uD800-\uDBFF][\uDC00-\uDFFF]|[\u2600-\u27FF]|[\uD83C][\uDF00-\uDFFF]|[\uD83D][\uDC00-\uDE4F]/g;

				// 检查是否包含表情符号
				var hasEmoji = emojiRegex.test(text);
				return hasEmoji;
			},
			async goRuku() {
				let that = this;
				let purchase = {
					id: uni.getStorageSync('AiInventoryId') ? uni.getStorageSync('AiInventoryId') : "",
					alreadyPay: this.alreadyPay == '' ? 0 : this.alreadyPay, //已付金额
					noPay: this.noPay == '' ? 0 : this.noPay, //欠款
					shouldPay: this.shouldPay, //应付金额
					totalAmount: this.totalAmount, //总数量
					remark: this.remark,
					purchaseTime: this.single,
					otherPay: this.otherPay == '' ? 0 : this.otherPay,
					supplierId: this.khName.id, //供应商id和姓名
					supplierName: this.khName.consigneeName
				}
				let purchaseDetails = [];
				let arr = []
				await this.carList.forEach(function(value, key) {
					arr += 1
					value.customerCategoryRule = JSON.stringify(value.customerCategoryList)
					let shopId = uni.getStorageSync('shopId')
					// 提钱和沐港，员工入库采购价为零
					if (that.userType == 1 && (shopId == '1853332569559535619' || shopId ==
							'1810179818189361152')) {
						value.purchasePrice = 0
					} else if (that.userType == 1) {
						value.purchasePrice = ''
					}
					if (that.filterEmojis(value.productName)) {
						uni.showToast({
							title: "第" + arr.length + "款商品品名中的有非法符号，请删除",
							icon: 'none'
						})
						throw Error("11")
					}
					if (value.productSn == '') {
						uni.showToast({
							title: "第" + arr.length + "款商品货号必须维护",
							icon: 'none'
						})
						throw Error("11")
					} else {
						value.price = value.lsprice
						value.stockLogList1 = []
						if (value.stockLogList.size == 0) {
							let obj = {
								productCount: 1,
								attributeList: '{"颜色":"均色","尺码":"均码"}'
							}
							value.productCount = 1
							value.price1 = Number(value.productCount) * value.purchasePrice
							value.stockLogList1.push(obj)
						} else {
							value.stockLogList.forEach(function(values, keys) {
								if (values.productCount <= 0) {
									that.tui.toast(value.productSn + "的入库数量不能为零~")
									throw Error('error')
								}
								let obj = {
									productCount: Number(values.productCount),
									attributeList: keys
								}
								value.stockLogList1.push(obj)
							})
						}
						purchaseDetails.push(value)
					}

				})
				await this.goInventory(purchase, purchaseDetails)
			},
			inventorySubmit() {
				let that = this
				if (this.carList.size == 0) {
					uni.showToast({
						title: "请选择商品后再入库",
						icon: 'none'
					})
				} else if (this.khName == '') {
					uni.showModal({
						title: "提示",
						content: "您没有选择供应商，要使用“默认供应商”入库吗?",
						success: function(res) {
							if (res.confirm) {
								that.gysList()
							}
						}
					})

				} else {
					this.goRuku()
				}

			},
			goInventory(purchase, purchaseDetails) {
				uni.navigateTo({
					url: '/package1/inventory/inventoryConfirm?aiinventory=1&purchase=' + JSON.stringify(
							purchase) + '&purchaseDetails=' + JSON.stringify(purchaseDetails) +
						'&zhiqianqiankuan=' + this.zhiqianqiankuan + '&yuedikou=' + this.yuedikou +
						'&leijiqiankuan=' + this.leijiqiankuan
				})
			},
			//编辑每一个的单价
			clickCollapse(e, id) {
				if (this.linshiPrice == e.target.value) {
					this.carList.get(id).purchasePrice = e.target.value
				} else {
					if (e.detail.value == '') {
						this.carList.get(id).purchasePrice = this.linshiPrice
					} else {
						this.carList.get(id).purchasePrice = Number(e.detail.value)
					}
				}
				this.carList.get(id).price1 = Number(this.carList.get(id).productCount) * this.carList.get(id)
					.purchasePrice
				this.getAllPrice()
			},
			//编辑每一个的批和零售
			PriceAndWho(e, id, type) {
				if (type == 'pi') {
					if (this.linshiPrice == e.target.value) {
						this.carList.get(id).wholesalePrice = e.target.value
					} else {
						if (e.detail.value == '') {
							this.carList.get(id).wholesalePrice = this.linshiPrice
						} else {
							this.carList.get(id).wholesalePrice = Number(e.detail.value)
						}
					}
				} else {
					if (this.linshiPrice == e.target.value) {
						this.carList.get(id).price = e.target.value
						this.carList.get(id).lsprice = e.target.value
					} else {
						if (e.detail.value == '') {
							this.carList.get(id).price = this.linshiPrice
							this.carList.get(id).lsprice = this.linshiPrice
						} else {
							this.carList.get(id).price = Number(e.detail.value)
							this.carList.get(id).lsprice = Number(e.detail.value)
						}
					}
				}
				this.$forceUpdate()
			},
			//计算总金额和总数量
			getAllPrice() {
				let that = this;
				this.shouldPay = 0
				this.totalAmount = 0
				that.leijiqiankuan = 0
				that.yuedikou = 0
				this.carList.forEach(function(value, key) {
					that.shouldPay = that.shouldPay + value.price1
					that.totalAmount = that.totalAmount + Number(value.productCount)
				})
				this.$nextTick(() => {
					if (parseFloat(that.zhiqianqiankuan) < 0) {
						if (that.shouldPay > Math.abs(that.zhiqianqiankuan)) {
							that.yuedikou = Math.abs(that.zhiqianqiankuan)
							this.alreadyPay = this.checkRealPay(this.shouldPay - Math.abs(that.zhiqianqiankuan))
						} else if (that.shouldPay <= Math.abs(that.zhiqianqiankuan)) {
							that.yuedikou = that.shouldPay
							that.alreadyPay = 0
						}
					} else {
						this.alreadyPay = this.checkRealPay(this.shouldPay)
					}
					that.shouldPay = that.shouldPay.toFixed(2)

					that.noPay = this.shouldPay - (this.alreadyPay == '' ? 0 : this.alreadyPay) - that.yuedikou
					that.noPay = that.noPay.toFixed(2)
					this.leijiqiankuan = (Number(this.zhiqianqiankuan) + Number(this.yuedikou) + Number(this
						.noPay)).toFixed(2)
					this.$forceUpdate()
				})

			},
			//选择是否需要自动生成货号
			isChange(index) {
				this.isGenerateSnRadio = index
			},
			//修改已选规格的数量
			GoodsNumChange(e, index, index1) {
				let that = this;
				this.carList.get(index[0]).stockLogList.get(index1).productCount = Number(e)
				this.carList.get(index[0]).productCount = 0
				this.carList.get(index[0]).stockLogList.forEach(function(value, key) {
					that.carList.get(index[0]).productCount = Number(that.carList.get(index[0]).productCount) +
						Number(value
							.productCount)
					that.carList.get(index[0]).price1 = Number(that.carList.get(index[0]).productCount) * that
						.carList.get(
							index[0]).purchasePrice
				})
				that.getAllPrice()
			}
		}
	}
</script>

<style lang="scss">
	page,
	.page1 {
		min-height: 100vh;
		font-size: 28rpx;
	}

	.u-upload {
		position: absolute;
		top: 30rpx;
		left: 30rpx;
		opacity: 0;
		width: 140rpx;
		height: 140rpx;
	}

	.content {
		border-top: 1px solid #eee;
		overflow-y: scroll;
		max-height: 100vh;
		margin-bottom: 100rpx;
	}

	.content-box {
		width: 100%;
		height: auto;
		background: #fff;
		margin-bottom: 20rpx;

	}

	.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: 100rpx;
		}
	}

	.shop-box {
		width: 95%;
		margin: 0 auto;
		position: relative;
	}

	.shop-name {
		width: 100%;
		height: 277rpx;
		line-height: 80rpx;
		border-top: 1px solid #eee;
		font-size: 28rpx;
		font-weight: bold;
		display: flex;
	}

	.shop-productName {
		flex: 1;
		display: flex;
		flex-direction: column;
		padding-left: 20rpx;
		height: 280rpx;
		margin-top: 20rpx;
	}

	.shop-productName view {
		height: 55rpx;
	}

	.shop-collapse {
		display: flex;
		height: 80rpx;
		font-size: 26rpx;
		line-height: 80rpx;
		border-top: 1px solid #eee;
	}

	.shop-collapse text {
		width: 50%;
		text-align: center;
		// padding-right: 40rpx;
		border-right: 1px solid #eee;
	}

	.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;
	}

	.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;
	}

	.uni-list-cell {
		display: flex;
		margin-right: 20rpx;
	}

	.bottom-box {
		width: 100%;
		display: flex;
		background: #fff;
		border-top: 1px solid #eee;
		// height: 10%;
		position: fixed;
		bottom: 0;
		z-index: 99;
	}

	.bottom-left {
		flex: 1;
		height: 110rpx;
		line-height: 110rpx;
	}

	.bottom-right {
		flex: 1;
		height: 110rpx;
	}

	.bottom-left text {
		line-height: 84rpx;
		display: inline-block;
		padding-left: 20rpx;
	}

	.bottom-btn {
		width: 320rpx;
		background: linear-gradient(90deg, #60F3FF, #088FEB);
		color: #fff;
		border-radius: 50rpx;
		height: 85rpx;
		margin-top: 15rpx;
		text-align: center;
		line-height: 85rpx;
	}

	textarea {
		margin: 20rpx;
		border: 1px solid #eee;
		height: 150rpx;
		width: 500rpx;
	}

	.shop-popup-content {
		align-items: center;
		justify-content: center;
		padding: 30rpx;
		height: 1200rpx;
		background-color: #fff;
		margin-bottom: 30rpx;
		overflow: scroll;
	}

	.popup-content {
		align-items: center;
		justify-content: center;
		padding: 30rpx;
		height: 1200rpx;
		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 {
		text {
			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%;
	}

	.shop-popup-bottom {
		width: 95%;
		height: 100rpx;
		position: fixed;
		bottom: 0;
		left: 2.5%;
		display: flex;
		z-index: 99;
		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;
		}
	}

	.noPic {
		border-radius: 10px;
		width: 150rpx;
		height: 150rpx;
		// margin: 30rpx 0 0 30rpx;
		text-align: center;
		line-height: 140rpx;
		color: #777;
		background: #eee;
	}

	.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;
	}

	.goods-btn {
		color: #fff;
		border-radius: 5px;
		background: linear-gradient(90deg, #60F3FF, #088FEB);
		height: 60rpx;
		width: 150rpx;
		padding: 10rpx;
		margin: 0 auto;
		text-align: center;
	}

	.shop-btn {
		display: flex;
	}

	.shop-title {
		display: flex;
		height: 80rpx;
		line-height: 80rpx;
		padding-left: 70rpx;
		text-align: center;
	}

	.shop-type {
		margin-top: 40rpx;
		border-top: 1px solid #eee;
	}

	.left-btn {
		font-weight: 800;
		font-size: 22rpx;
		color: #fff;
		background: #088FEB;
		border-radius: 5px;
		width: 60rpx;
		height: 40rpx;
		line-height: 40rpx;
		text-align: center;
	}

	.type-popup {
		width: 500rpx;
		height: auto;
		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: 50rpx;
		margin: 0 auto;
		border-bottom: 1px solid #eee;
	}

	.name {
		font-size: 30rpx;
		width: 50%;
		float: left;
		height: 50rpx;
		line-height: 70rpx;
	}

	.rightBox {
		display: flex;
		float: right;
	}

	.content-fur {
		padding-bottom: 25rpx;
	}

	.uni-calendar__content {
		z-index: 103 !important;
	}

	.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: 60%;
	}

	.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;
	}

	.voice-popup-content {
		align-items: center;
		justify-content: center;
		padding: 30rpx;
		width: 500rpx;
		border-radius: 10px;
		height: 600rpx;
		background-color: #fff;
	}

	.voice-popup-content1 {
		align-items: center;
		justify-content: center;
		padding: 30rpx;
		width: 100%;
		border-radius: 10px;
		height: 1200rpx;
		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: 50rpx;
	}

	.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%;
	}

	.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;
	}

	.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;
	}

	.showImg-box {
		width: 700rpx;
		height: 1100rpx;
	}

	@media screen and (min-width: 500px) {
		.uni-swiper-dot-box {
			width: 800rpx;
			margin: 0 auto;
			margin-top: 16rpx;
		}

		.image {
			width: 100%;
		}
	}

	.swiper-box {
		height: 1000rpx;
	}

	.swiper-item {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 1000rpx;
		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;
	}

	.uni-calendar__mask {
		z-index: 103 !important;
	}

	@media screen and (min-width: 470px) {

		/* 适配宽度为375px及以上的屏幕 */
		.shop-popup-content {
			height: 900rpx;
		}

		.voice-popup-content {
			align-items: center;
			justify-content: center;
			padding: 30rpx;
			width: 400rpx;
			border-radius: 10px;
			height: 500rpx;
			background-color: #fff;
		}

		.voice-popup-container textarea {
			height: 200rpx !important;
		}

		.voice-btn {
			position: absolute;
			bottom: -190rpx;
			left: 30%;
			width: 130rpx;
			height: 130rpx;
			background: #eee;
			border-radius: 50%;
		}
	}

	@media screen and (min-width: 760px) {
		.shop-popup-content {
			height: 750rpx !important;
		}

		.vue-ref {
			padding-bottom: 0 !important;
		}

		.voice-popup-content1 {
			align-items: center;
			justify-content: center;
			padding: 30rpx;
			width: 100%;
			border-radius: 10px;
			height: 750rpx;
			background-color: #fff;
			overflow: scroll;
		}

		.uni-date-single--x {
			top: -600px !important;
			left: -100px !important;
		}
	}

	.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
	}
</style>