|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <!-- 站点详情 --> | 
|---|
|  |  |  | <view class="station" :class="station.style" > | 
|---|
|  |  |  | <view class="station" :class="station.style" v-if="station"> | 
|---|
|  |  |  | <view class="mt-flex"> | 
|---|
|  |  |  | <view class="station-title" style="flex: 1;">{{station.devNo}}</view> | 
|---|
|  |  |  | <view><button size="mini" :loading="reload.loading" @click="reloadStation()">{{reload.loadingText}}</button></view> | 
|---|
|  |  |  | 
|---|
|  |  |  | <view>站点状态:{{station.locSts$}}</view> | 
|---|
|  |  |  | <view class="mt-flex"> | 
|---|
|  |  |  | <view class="station-barcode" style="flex: 1">货架码:<text>{{station.barcode ? station.barcode : '--'}}</text></view> | 
|---|
|  |  |  | <view v-if="station.barcode"><button size="mini" type="warn" @click="unbind()">解除绑定</button></view> | 
|---|
|  |  |  | <view v-if="station.barcode && station.locSts == 'F'"> | 
|---|
|  |  |  | <!-- <button size="mini" type="warn" @click="unbind()">解除绑定</button> --> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 工作档 --> | 
|---|
|  |  |  | <view class="wrkMast" v-if="wrkMast"> | 
|---|
|  |  |  | <view class="wrkMast-wrkNo"> | 
|---|
|  |  |  | <view style="flex:5">工作号: {{wrkMast.wrkNo}}</view> | 
|---|
|  |  |  | <view style="flex:3;text-align: right;">{{wrkMast.ioTitle}}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view>工作类型: {{wrkMast.ioType$}}</view> | 
|---|
|  |  |  | <view>工作状态: {{wrkMast.wrkSts$}}</view> | 
|---|
|  |  |  | <view>源库位: {{wrkMast.sourceLocNo}}</view> | 
|---|
|  |  |  | <view>货架码: {{wrkMast.barcode}}</view> | 
|---|
|  |  |  | <view v-if="wrkMast.ioType == 111">目标楼层: {{wrkMast.crnNo}}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 明细 --> | 
|---|
|  |  |  | <view class="wrkDetls" v-if="wrkDetls.length > 0"> | 
|---|
|  |  |  | <view style="font-weight: bold;">工作明细</view> | 
|---|
|  |  |  | <view class="wrkDetl" v-for="wrkDetl in wrkDetls"> | 
|---|
|  |  |  | <view>商品名称:{{wrkDetl.maktx}}</view> | 
|---|
|  |  |  | <view>商品编码:{{wrkDetl.matnr}}</view> | 
|---|
|  |  |  | <view>销售订单号:{{wrkDetl.threeCode ? wrkDetl.threeCode : ' --'}}</view> | 
|---|
|  |  |  | <view>自由项:{{wrkDetl.deadTime ? wrkDetl.deadTime : ' --'}}</view> | 
|---|
|  |  |  | <view>作业数量:{{wrkDetl.anfme}}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 组托明细 --> | 
|---|
|  |  |  | <view class="waitPakins" v-if="waitPakins.length > 0"> | 
|---|
|  |  |  | <view style="font-weight: bold;">组托明细</view> | 
|---|
|  |  |  | <view class="waitPakin" v-for="waitPakin in waitPakins"> | 
|---|
|  |  |  | <view>商品名称:{{waitPakin.maktx}}</view> | 
|---|
|  |  |  | <view>商品编码:{{waitPakin.matnr}}</view> | 
|---|
|  |  |  | <view>订单编号:{{waitPakin.orderNo}}</view> | 
|---|
|  |  |  | <view>销售订单号:{{waitPakin.threeCode ? waitPakin.threeCode : ' --'}}</view> | 
|---|
|  |  |  | <view>自由项:{{waitPakin.deadTime ? waitPakin.deadTime : ' --'}}</view> | 
|---|
|  |  |  | <view>状态:{{waitPakin.ioStatus$}}</view> | 
|---|
|  |  |  | <view>入库数量:{{waitPakin.anfme}}</view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <view style="height: 140rpx;"></view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="emptyPakin" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">请输入空货架码</view> | 
|---|
|  |  |  | <view class="popup-item"> | 
|---|
|  |  |  | <view class="popup-item-left">货架码:</view> | 
|---|
|  |  |  | <view class="popup-item-right"><input type="text" v-model="barcode"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <button class="btn-left" @click="emptyPakinClose">取消</button> | 
|---|
|  |  |  | <button class="btn-right" @click="emptyPakinConfirm()" :disabled="emptyPakinDis">空架入库</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="doBack" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">请输入空货架码</view> | 
|---|
|  |  |  | <view class="popup-item"> | 
|---|
|  |  |  | <view class="popup-item-left">货架码:</view> | 
|---|
|  |  |  | <view class="popup-item-right"><input type="text" v-model="barcode"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <button class="btn-left" @click="doBackClose">取消</button> | 
|---|
|  |  |  | <button class="btn-right" @click="doBackConfirm()" :disabled="doBackDis">退库</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="doContainerMoveOut" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">请输入货架码</view> | 
|---|
|  |  |  | <view class="popup-item"> | 
|---|
|  |  |  | <view class="popup-item-left">货架码:</view> | 
|---|
|  |  |  | <view class="popup-item-right"><input type="text" v-model="barcode"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <button class="btn-left" @click="containerMoveOutClose">取消</button> | 
|---|
|  |  |  | <button class="btn-right" @click="containerMoveOut()" :disabled="containerMoveOutDis">确认出库</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="doContainerMoveOut2" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">请输入空货架码</view> | 
|---|
|  |  |  | <view class="popup-item"> | 
|---|
|  |  |  | <view class="popup-item-left">货架码:</view> | 
|---|
|  |  |  | <view class="popup-item-right"><input type="text" v-model="barcode"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <button class="btn-left" @click="containerMoveOutClose">取消</button> | 
|---|
|  |  |  | <button class="btn-right" @click="containerMoveOut2()" :disabled="containerMoveOut2Dis">确认离场</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="doPickIn" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">请输入空货架码</view> | 
|---|
|  |  |  | <view class="popup-item"> | 
|---|
|  |  |  | <view class="popup-item-left">货架码:</view> | 
|---|
|  |  |  | <view class="popup-item-right"><input type="text" v-model="barcode"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <button class="btn-left" @click="pickInClose">取消</button> | 
|---|
|  |  |  | <button class="btn-right" @click="pickIn()" :disabled="pickInDis">确认拣料</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="emptyOut" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">请选择货架类型</view> | 
|---|
|  |  |  | <view class="popup-item"> | 
|---|
|  |  |  | <view class="dropdown" @click="toggleDropdown()"> | 
|---|
|  |  |  | <input type="text" style="width: 650rpx;" v-model="containerType"  placeholder="请选择货架类型"> | 
|---|
|  |  |  | <uni-icons :type="isOpen ? 'top' : 'bottom'" color="#c1c1c1" style="margin-left: 10rpx;"></uni-icons> | 
|---|
|  |  |  | <scroll-view scroll-y="ture" class="dropdown-content" v-if="isOpen"> | 
|---|
|  |  |  | <view class="dropdown-item" v-for="option in selects" @click="selected(option)">{{option}}</view> | 
|---|
|  |  |  | </scroll-view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <button class="btn-left" @click="emptyOutClose">取消</button> | 
|---|
|  |  |  | <button class="btn-right" @click="emptyOutConfirm()" :disabled="emptyOutDis">出库</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="allocationIn" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">请输入货架码</view> | 
|---|
|  |  |  | <view class="popup-item"> | 
|---|
|  |  |  | <view class="popup-item-left">货架码:</view> | 
|---|
|  |  |  | <view class="popup-item-right"><input type="text" v-model="barcode"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <button class="btn-left" @click="allocationInClose">取消</button> | 
|---|
|  |  |  | <button class="btn-right" @click="allocationInConfirm()" :disabled="allocationInDis">确认进场</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="allocationOut" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">请输入货架码</view> | 
|---|
|  |  |  | <view class="popup-item"> | 
|---|
|  |  |  | <view class="popup-item-left">货架码:</view> | 
|---|
|  |  |  | <view class="popup-item-right"><input type="text" v-model="barcode"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <view class="btn-left" @click="allocationOutClose">取消</view> | 
|---|
|  |  |  | <view class="btn-right" @click="allocationOutConfirm()" :disabled="allocationOutDis">确认离场</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="empIn" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">请输入货架码</view> | 
|---|
|  |  |  | <view class="popup-item"> | 
|---|
|  |  |  | <view class="popup-item-left">货架码:</view> | 
|---|
|  |  |  | <view class="popup-item-right"><input type="text" v-model="barcode"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <button class="btn-left" @click="empInClose">取消</button> | 
|---|
|  |  |  | <button class="btn-right" @click="empInConfirm()" :disabled="empInDis">确认进场</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="empOut" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">请输入货架码</view> | 
|---|
|  |  |  | <view class="popup-item"> | 
|---|
|  |  |  | <view class="popup-item-left">货架码:</view> | 
|---|
|  |  |  | <view class="popup-item-right"><input type="text" v-model="barcode"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <button class="btn-left" @click="empOutClose">取消</button> | 
|---|
|  |  |  | <button class="btn-right" @click="empOutConfirm()" :disabled="empOutDis">确认离场</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="process" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">请输入货架码</view> | 
|---|
|  |  |  | <view class="popup-item"> | 
|---|
|  |  |  | <view class="popup-item-left">货架码:</view> | 
|---|
|  |  |  | <view class="popup-item-right"><input type="text" v-model="barcode"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <button class="btn-left" @click="processedClose">取消</button> | 
|---|
|  |  |  | <button class="btn-right" @click="processedConfirm()" :disabled="processedDis">加工完成</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 底部操作按钮 --> | 
|---|
|  |  |  | <view class="buttom"> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="emptyPakin(searchValue)" v-if="btnType == 'emptyPakin'">空板入库</button> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="containerMoveOut(searchValue)" v-if="btnType == 'out'">确认出库</button> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="pickIn(searchValue)" v-if="btnType == 'pick'">已拣料回库</button> | 
|---|
|  |  |  | <button size="mini" :disabled="dis" type="warn" @click="doBack()"  v-if="btnType == 'out' || btnType == 'pick'">退库{{sec}}</button> | 
|---|
|  |  |  | <!-- <button size="mini" type="primary" @click="handBack()" v-if="btnType == 'handBack'">转手动</button> --> | 
|---|
|  |  |  | <!-- <button size="mini" type="warn" @click="doBack()" v-if="btnType == 'out' || btnType == 'pick'">退库</button> --> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="emptyPakin()" v-if="btnType == 'emptyPakin'">空板入库</button> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="emptyOut()" v-if="btnType == 'emptyPakin'">呼叫空板</button> | 
|---|
|  |  |  | <!-- <button size="mini" type="primary" @click="doContainerMoveOut2()" v-if="btnType == 'out'">货架离场</button> --> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="doContainerMoveOut()" v-if="btnType == 'out'">确认出库</button> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="doPickIn()" v-if="btnType == 'pick'">已拣料回库</button> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="doPickIn2()" v-if="btnType == 'pick'">再次拣料</button> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="startPakin()" v-if="btnType == 'start'">启动入库</button> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="allocationOut()" v-if="btnType == 'allocationOut'">调拨离场</button> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="allocationIn()" v-if="btnType == 'allocationIn'">调拨进场</button> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="empOut()" v-if="btnType == 'empOut'">空架离场</button> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="empIn()" v-if="btnType == 'empIn'">空架进场</button> | 
|---|
|  |  |  | <button size="mini" type="primary" @click="processed()" v-if="btnType == 'processed'">已加工回库</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import utils from '@/pages/phyz/utils/utils.js' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | baseUrl: '', | 
|---|
|  |  |  | token: '', | 
|---|
|  |  |  | station: null, | 
|---|
|  |  |  | reload: { | 
|---|
|  |  |  | loading: false, | 
|---|
|  |  |  | loadingText: '更新状态' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | btnType: 'emptyPakin' | 
|---|
|  |  |  | btnType: 'emptyPakin', | 
|---|
|  |  |  | barcode: '', | 
|---|
|  |  |  | containerType: '', | 
|---|
|  |  |  | selects: [], | 
|---|
|  |  |  | option: '', | 
|---|
|  |  |  | isOpen: false, | 
|---|
|  |  |  | wrkMast:  '', | 
|---|
|  |  |  | wrkDetls: [], | 
|---|
|  |  |  | waitPakins: [], | 
|---|
|  |  |  | dis: true, | 
|---|
|  |  |  | sec: '', | 
|---|
|  |  |  | emptyPakinDis: false, | 
|---|
|  |  |  | containerMoveOutDis: false, | 
|---|
|  |  |  | containerMoveOut2Dis: false, | 
|---|
|  |  |  | pickInDis: false, | 
|---|
|  |  |  | emptyOutDis: false, | 
|---|
|  |  |  | allocationInDis: false, | 
|---|
|  |  |  | allocationOutDis:false, | 
|---|
|  |  |  | empInDis: false, | 
|---|
|  |  |  | empOutDis: false, | 
|---|
|  |  |  | doBackDis: false, | 
|---|
|  |  |  | processedDis: false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad() { | 
|---|
|  |  |  | onShow() { | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | this.baseUrl = uni.getStorageSync('baseUrl'); | 
|---|
|  |  |  | this.token = uni.getStorageSync('token'); | 
|---|
|  |  |  | 
|---|
|  |  |  | const eventChannel = this.getOpenerEventChannel(); | 
|---|
|  |  |  | // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 | 
|---|
|  |  |  | eventChannel.on('item', function(data) { | 
|---|
|  |  |  | console.log(data); | 
|---|
|  |  |  | _this.station = data.item | 
|---|
|  |  |  | _this.reloadStation() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | setInterval(()=> { | 
|---|
|  |  |  | let k = utils.checkSec() | 
|---|
|  |  |  | // console.log(k); | 
|---|
|  |  |  | if (k == 180) { | 
|---|
|  |  |  | this.dis = false | 
|---|
|  |  |  | this.sec = '' | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.dis = true | 
|---|
|  |  |  | this.sec = k + "秒后重试" | 
|---|
|  |  |  | } | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | // 更新站点 | 
|---|
|  |  |  | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | res = res.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | if (res.data.records[0].locSts == 'O') { | 
|---|
|  |  |  | if (res.data.records[0].devNo.substring(0, 2) == "DB") { | 
|---|
|  |  |  | if (res.data.records[0].floor != 1) { | 
|---|
|  |  |  | _this.btnType = 'allocationIn' | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | _this.btnType = 'empIn' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | _this.btnType = 'emptyPakin' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (res.data.records[0].locSts == 'F') { | 
|---|
|  |  |  | _this.btnType = 'pakin' | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | _this.btnType = 'working' | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | setTimeout(()=>{ | 
|---|
|  |  |  | for  (let k of res.data.records) { | 
|---|
|  |  |  | if (k.locSts != 'O') { | 
|---|
|  |  |  | 
|---|
|  |  |  | _this.station = res.data.records[0] | 
|---|
|  |  |  | _this.reload.loading = false | 
|---|
|  |  |  | _this.reload.loadingText = '更新状态' | 
|---|
|  |  |  | _this.getContainerType() | 
|---|
|  |  |  | },500) | 
|---|
|  |  |  | _this.getWrkMast(res.data.records[0].barcode) | 
|---|
|  |  |  | uni.showToast({ title: '更新成功!', icon: "none", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | _this.reloadStation() | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 空板入库确认 | 
|---|
|  |  |  | emptyPakin() { | 
|---|
|  |  |  | this.$refs.emptyPakin.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | emptyPakinClose() { | 
|---|
|  |  |  | this.$refs.emptyPakin.close() | 
|---|
|  |  |  | this.emptyPakinDis = false | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | emptyPakinConfirm() { | 
|---|
|  |  |  | let _this = this; | 
|---|
|  |  |  | this.barcode = this.barcode.replace(/\s+/g, '') | 
|---|
|  |  |  | _this.emptyPakinDis = true | 
|---|
|  |  |  | if (this.barcode.length != 6) { | 
|---|
|  |  |  | _this.emptyPakinDis = false | 
|---|
|  |  |  | uni.showToast({ title: '货架条码异常', icon: "error", position: 'top' }) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | let params = [] | 
|---|
|  |  |  | let param = { devNo: this.station.devNo, containerCode: this.barcode, } | 
|---|
|  |  |  | params.push(param) | 
|---|
|  |  |  | this.emptyPakinClose() | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: `${_this.baseUrl}/agvMobile/pakin/empty/auth`, | 
|---|
|  |  |  | data: { pad: params }, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | header: { 'token': uni.getStorageSync('token') }, | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | var res = res.data | 
|---|
|  |  |  | _this.emptyPakinDis = false | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | _this.barcode = '' | 
|---|
|  |  |  | _this.reloadStation() | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  | uni.showToast({ title: '启动入库', icon: "success", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | },100) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | fail(res) { | 
|---|
|  |  |  | _this.emptyPakinDis = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | emptyOut() { | 
|---|
|  |  |  | this.$refs.emptyOut.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | emptyOutClose() { | 
|---|
|  |  |  | this.$refs.emptyOut.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | emptyOutConfirm() { | 
|---|
|  |  |  | this.emptyOutClose() | 
|---|
|  |  |  | this.emptyOutDis = true | 
|---|
|  |  |  | let _this = this; | 
|---|
|  |  |  | let params = [] | 
|---|
|  |  |  | let param = { devNo: this.station.devNo, containerType: this.containerType, } | 
|---|
|  |  |  | params.push(param) | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: `${_this.baseUrl}/agvMobile/pakout/empty/auth`, | 
|---|
|  |  |  | data: { pad: params }, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | header: { 'token': uni.getStorageSync('token') }, | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | var res = res.data | 
|---|
|  |  |  | _this.emptyOutDis = false | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | _this.containerType = '' | 
|---|
|  |  |  | _this.reloadStation() | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  | uni.showToast({ title: '呼叫成功', icon: "success", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | fail(res) { | 
|---|
|  |  |  | _this.emptyOutDis = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getContainerType() { | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: `${_this.baseUrl}/agvMobile/pakout/empty/container/selector/auth`, | 
|---|
|  |  |  | header: {'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: JSON.stringify({devNo: _this.station.devNo}), | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | res = res.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | _this.selects = res.data | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 开启 / 关闭下拉框 | 
|---|
|  |  |  | toggleDropdown() { | 
|---|
|  |  |  | this.isOpen = !this.isOpen | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 选择货架类型 | 
|---|
|  |  |  | selected(option) { | 
|---|
|  |  |  | this.containerType = option | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 查询工作档 | 
|---|
|  |  |  | getWrkMast(barcode) { | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: `${_this.baseUrl}/agv/wrkMast/list/auth`, | 
|---|
|  |  |  | header: {'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | curr: 1, | 
|---|
|  |  |  | limit: 1000, | 
|---|
|  |  |  | condition:  _this.station.devNo | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | method: 'GET', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | res = res.data | 
|---|
|  |  |  | if (res.code === 200 && res.data.records.length > 0) { | 
|---|
|  |  |  | let mast = null | 
|---|
|  |  |  | for (let wrkMast of res.data.records) { | 
|---|
|  |  |  | if (wrkMast.ioType == 1) { | 
|---|
|  |  |  | wrkMast['ioTitle'] = '入库' | 
|---|
|  |  |  | } else if (wrkMast.ioType == 10) { | 
|---|
|  |  |  | wrkMast['ioTitle'] = '空板入库' | 
|---|
|  |  |  | } else if (wrkMast.ioType == 53) { | 
|---|
|  |  |  | wrkMast['ioTitle'] = '拣料回库' | 
|---|
|  |  |  | } else if (wrkMast.ioType == 101) { | 
|---|
|  |  |  | wrkMast['ioTitle'] = '全板出库' | 
|---|
|  |  |  | _this.btnType = 'out' | 
|---|
|  |  |  | } else if (wrkMast.ioType == 103) { | 
|---|
|  |  |  | wrkMast['ioTitle'] = '拣料出库' | 
|---|
|  |  |  | _this.btnType = 'pick' | 
|---|
|  |  |  | } else if (wrkMast.ioType == 107) { | 
|---|
|  |  |  | wrkMast['ioTitle'] = '加工出库' | 
|---|
|  |  |  | _this.btnType = 'processed' | 
|---|
|  |  |  | } else if (wrkMast.ioType == 109) { | 
|---|
|  |  |  | wrkMast['ioTitle'] = '自动回流' | 
|---|
|  |  |  | _this.btnType = 'handBack' | 
|---|
|  |  |  | } else if (wrkMast.ioType == 110) { | 
|---|
|  |  |  | wrkMast['ioTitle'] = '空板出库' | 
|---|
|  |  |  | } else if (wrkMast.ioType == 111) { | 
|---|
|  |  |  | wrkMast['ioTitle'] = '调拨出库' | 
|---|
|  |  |  | _this.btnType = 'allocationOut' | 
|---|
|  |  |  | } else if (wrkMast.ioType == 112) { | 
|---|
|  |  |  | wrkMast['ioTitle'] = '调拨入库' | 
|---|
|  |  |  | _this.btnType = 'null' | 
|---|
|  |  |  | } else if (wrkMast.ioType == 113) { | 
|---|
|  |  |  | if (wrkMast.wrkSts == 212) { | 
|---|
|  |  |  | wrkMast['ioTitle'] = '货架回流' | 
|---|
|  |  |  | _this.btnType = 'empOut' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (wrkMast.barcode == barcode) { | 
|---|
|  |  |  | mast = wrkMast | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | _this.wrkMast = mast | 
|---|
|  |  |  | _this.getWrkDetl(mast.wrkNo) | 
|---|
|  |  |  | } else if (res.code === 200 && res.data.records.length == 0) { | 
|---|
|  |  |  | _this.wrkMast = null | 
|---|
|  |  |  | _this.wrkDetls = [] | 
|---|
|  |  |  | if (_this.station.barcode != '') { | 
|---|
|  |  |  | _this.getWaitPakin(_this.station.barcode) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 获取工作明细 | 
|---|
|  |  |  | getWrkDetl(wrkNo) { | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: `${_this.baseUrl}/agv/wrkDetl/list/auth`, | 
|---|
|  |  |  | header: {'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | curr: 1, | 
|---|
|  |  |  | limit: 1000, | 
|---|
|  |  |  | wrk_no: wrkNo | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | method: 'GET', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | res = res.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | _this.wrkDetls = res.data.records | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 获取组托档 | 
|---|
|  |  |  | getWaitPakin(barcode) { | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: `${_this.baseUrl}/agv/waitPakin/list/auth`, | 
|---|
|  |  |  | header: {'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | curr: 1, | 
|---|
|  |  |  | limit: 1000, | 
|---|
|  |  |  | supp_code: barcode | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | method: 'GET', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | res = res.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | _this.waitPakins = res.data.records | 
|---|
|  |  |  | _this.btnType = 'start' | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 全板出库 确认出库 | 
|---|
|  |  |  | doContainerMoveOut() { | 
|---|
|  |  |  | this.$refs.doContainerMoveOut.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | containerMoveOutClose() { | 
|---|
|  |  |  | this.$refs.doContainerMoveOut.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | containerMoveOut() { | 
|---|
|  |  |  | this.containerMoveOutDis = true | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | let devNo = {devNo:[this.station.devNo],barcode: _this.barcode} | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: `${_this.baseUrl}/agv/basDevp/visualized/container/moveOut`, | 
|---|
|  |  |  | header: { 'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: JSON.stringify(devNo), | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | res = res.data | 
|---|
|  |  |  | _this.containerMoveOutDis = false | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | _this.$refs.doContainerMoveOut.close() | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | _this.barcode = '' | 
|---|
|  |  |  | _this.reloadStation() | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  | uni.showToast({ title: '确认完成', icon: "success", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | fail(res) { | 
|---|
|  |  |  | _this.containerMoveOutDis = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 全板出库 容器离场 | 
|---|
|  |  |  | doContainerMoveOut2() { | 
|---|
|  |  |  | this.$refs.doContainerMoveOut2.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | containerMoveOutClose() { | 
|---|
|  |  |  | this.$refs.doContainerMoveOut2.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | containerMoveOut2() { | 
|---|
|  |  |  | this.containerMoveOut2Dis = true | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | let devNo = {devNo:[this.station.devNo],barcode: _this.barcode} | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: `${_this.baseUrl}/agv/basDevp/visualized/container/moveOut2`, | 
|---|
|  |  |  | header: { 'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: JSON.stringify(devNo), | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | res = res.data | 
|---|
|  |  |  | _this.containerMoveOut2Dis = false | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | _this.$refs.doContainerMoveOut2.close() | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | _this.barcode = '' | 
|---|
|  |  |  | _this.reloadStation() | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  | uni.showToast({ title: '离场完成', icon: "success", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | fail(res) { | 
|---|
|  |  |  | _this.containerMoveOut2Dis = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 再次拣料 | 
|---|
|  |  |  | doPickIn2() { | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | let item = this.wrkMast | 
|---|
|  |  |  | uni.navigateTo({ | 
|---|
|  |  |  | url: './pickAgain', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | res.eventChannel.emit('item', { | 
|---|
|  |  |  | item: item, | 
|---|
|  |  |  | wrkDetls: _this.wrkDetls, | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | events: { | 
|---|
|  |  |  | acceptDataFromOpenedPage: function(data) { | 
|---|
|  |  |  | _this.reloadStation() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 拣料出库 确认后回库 | 
|---|
|  |  |  | doPickIn() { | 
|---|
|  |  |  | this.$refs.doPickIn.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | pickInClose() { | 
|---|
|  |  |  | this.$refs.doPickIn.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | pickIn() { | 
|---|
|  |  |  | this.pickInDis = true | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: `${_this.baseUrl}/agv/basDevp/visualized/container/pickIn`, | 
|---|
|  |  |  | header: { 'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: {devNo: _this.station.devNo,barcode: _this.barcode}, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | _this.pickInDis = false | 
|---|
|  |  |  | res = res.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | _this.$refs.doPickIn.close() | 
|---|
|  |  |  | _this.barcode = '' | 
|---|
|  |  |  | _this.reloadStation() | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | fail(res) { | 
|---|
|  |  |  | _this.pickInDis = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 启动入库 | 
|---|
|  |  |  | startPakin(type) { | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | let params = [] | 
|---|
|  |  |  | let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } | 
|---|
|  |  |  | params.push(param) | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.baseUrl + '/agvMobile/pakin/empty/auth', | 
|---|
|  |  |  | data: {pad: params}, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | header: {'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | success(result) { | 
|---|
|  |  |  | var res = result.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | _this.barcode = '' | 
|---|
|  |  |  | _this.reloadStation() | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  | uni.showToast({ title: '启动入库', icon: "success", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | allocationOut() { | 
|---|
|  |  |  | this.$refs.allocationOut.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | allocationOutClose() { | 
|---|
|  |  |  | this.$refs.allocationOut.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 调拨离场 | 
|---|
|  |  |  | allocationOutConfirm() { | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | let params = [] | 
|---|
|  |  |  | let param = { devNo: this.station.devNo, barcode: this.barcode, } | 
|---|
|  |  |  | params.push(param) | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.baseUrl + '/agvMobile/hand/control/allocationOut', | 
|---|
|  |  |  | header: {'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: param, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success(result) { | 
|---|
|  |  |  | var res = result.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | that.$refs.allocationOut.close() | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | that.barcode = '' | 
|---|
|  |  |  | that.reloadStation() | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  | uni.showToast({ title: '离场成功', icon: "success", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 空架离场 | 
|---|
|  |  |  | empOut() { | 
|---|
|  |  |  | this.$refs.empOut.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | empOutClose() { | 
|---|
|  |  |  | this.$refs.empOut.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | empOutConfirm() { | 
|---|
|  |  |  | this.empOutDis = true | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | let params = [] | 
|---|
|  |  |  | let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } | 
|---|
|  |  |  | params.push(param) | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.baseUrl + '/agvMobile/hand/control/empOut', | 
|---|
|  |  |  | header: {'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: {devNo: that.station.devNo,barcode: that.barcode}, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success(result) { | 
|---|
|  |  |  | var res = result.data | 
|---|
|  |  |  | that.$refs.empOut.close() | 
|---|
|  |  |  | that.empOutDis = false | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | that.barcode = '' | 
|---|
|  |  |  | that.reloadStation() | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  | uni.showToast({ title: '离场成功', icon: "success", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | fail(res) { | 
|---|
|  |  |  | that.empOutDis = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | allocationIn() { | 
|---|
|  |  |  | this.$refs.allocationIn.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | allocationInClose() { | 
|---|
|  |  |  | this.$refs.allocationIn.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | allocationInConfirm() { | 
|---|
|  |  |  | this.allocationInDis = true | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | let params = [] | 
|---|
|  |  |  | let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } | 
|---|
|  |  |  | params.push(param) | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.baseUrl + '/agvMobile/hand/control/allocationIn', | 
|---|
|  |  |  | header: {'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: {devNo: that.station.devNo, barcode: that.barcode}, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success(result) { | 
|---|
|  |  |  | that.allocationInDis = false | 
|---|
|  |  |  | var res = result.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | that.$refs.allocationIn.close() | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | that.barcode = '' | 
|---|
|  |  |  | that.reloadStation() | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  | uni.showToast({ title: '进场成功', icon: "success", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | fail(res) { | 
|---|
|  |  |  | that.allocationInDis = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | empIn() { | 
|---|
|  |  |  | this.$refs.empIn.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | empInClose() { | 
|---|
|  |  |  | this.$refs.empIn.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | empInConfirm() { | 
|---|
|  |  |  | this.empInDis = true | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | let params = [] | 
|---|
|  |  |  | let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } | 
|---|
|  |  |  | params.push(param) | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.baseUrl + '/agvMobile/hand/control/empIn', | 
|---|
|  |  |  | header: {'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: {devNo: that.station.devNo, barcode: that.barcode}, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success(result) { | 
|---|
|  |  |  | that.empInDis = false | 
|---|
|  |  |  | var res = result.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | that.$refs.empIn.close() | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | that.barcode = '' | 
|---|
|  |  |  | that.reloadStation() | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  | uni.showToast({ title: '进场成功', icon: "success", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | fail(res) { | 
|---|
|  |  |  | that.empInDis = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | doBack() { | 
|---|
|  |  |  | this.$refs.doBack.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | doBackClose() { | 
|---|
|  |  |  | this.$refs.doBack.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | doBackConfirm() { | 
|---|
|  |  |  | this.doBackDis = true | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | let params = [] | 
|---|
|  |  |  | let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } | 
|---|
|  |  |  | params.push(param) | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.baseUrl + '/agvMobile/hand/control/doBack', | 
|---|
|  |  |  | header: {'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: {devNo: that.station.devNo, barcode: that.barcode}, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success(result) { | 
|---|
|  |  |  | that.doBackDis = false | 
|---|
|  |  |  | var res = result.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | that.$refs.doBack.close() | 
|---|
|  |  |  | utils.startStop() | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | that.barcode = '' | 
|---|
|  |  |  | that.reloadStation() | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  | uni.showToast({ title: '退库任务申请成功', icon: "success", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | fail(res) { | 
|---|
|  |  |  | that.doBackDis = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | processed() { | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | uni.navigateTo({ | 
|---|
|  |  |  | url: './confirmProcessed', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | res.eventChannel.emit('item', { | 
|---|
|  |  |  | item: _this.wrkDetls | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // events: { | 
|---|
|  |  |  | //    acceptDataFromOpenedPage: function(data) { | 
|---|
|  |  |  | //       _this.getOrderDetlList(this.searchValue1,10) | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // processed() { | 
|---|
|  |  |  | //    this.$refs.process.open() | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | processedClose() { | 
|---|
|  |  |  | this.$refs.process.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | processedConfirm() { | 
|---|
|  |  |  | this.processedDis = true | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | let params = [] | 
|---|
|  |  |  | let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } | 
|---|
|  |  |  | params.push(param) | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.baseUrl + '/agvMobile/hand/control/processed', | 
|---|
|  |  |  | header: {'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: {devNo: that.station.devNo, barcode: that.barcode}, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success(result) { | 
|---|
|  |  |  | that.processedDis = false | 
|---|
|  |  |  | var res = result.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | that.$refs.process.close() | 
|---|
|  |  |  | utils.startStop() | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | that.barcode = '' | 
|---|
|  |  |  | that.reloadStation() | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  | uni.showToast({ title: '操作成功', icon: "success", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | fail(res) { | 
|---|
|  |  |  | that.processedDis = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | handBack() { | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | let params = [] | 
|---|
|  |  |  | let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } | 
|---|
|  |  |  | params.push(param) | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.baseUrl + '/agvMobile/hand/control/handBack', | 
|---|
|  |  |  | header: {'token': uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: {devNo: that.station.devNo, barcode: that.barcode}, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success(result) { | 
|---|
|  |  |  | var res = result.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | that.reloadStation() | 
|---|
|  |  |  | },1000) | 
|---|
|  |  |  | uni.showToast({ title: '转换成功', icon: "success", position: 'top' }) | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style> | 
|---|
|  |  |  | @import url('../../../static/css/common/order.css'); | 
|---|
|  |  |  | .station-title { | 
|---|
|  |  |  | font-size: 32px; | 
|---|
|  |  |  | font-weight: bold; | 
|---|
|  |  |  | padding: 24rpx 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .station { | 
|---|
|  |  |  | font-size: 18px; | 
|---|
|  |  |  | padding: 24rpx; | 
|---|
|  |  |  | font-size: 15px; | 
|---|
|  |  |  | padding: 18rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .station-title { | 
|---|
|  |  |  | font-size: 28px; | 
|---|
|  |  |  | font-weight: bold; | 
|---|
|  |  |  | padding: 18rpx 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .station-barcode { | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | 
|---|
|  |  |  | background-color: #3eb689; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .wrkMast { | 
|---|
|  |  |  | background-color: #0083ff; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | margin-top: 10rpx; | 
|---|
|  |  |  | font-size: 18px; | 
|---|
|  |  |  | padding: 24rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .wrkMast-wrkNo { | 
|---|
|  |  |  | font-size: 30px; | 
|---|
|  |  |  | font-weight: bold; | 
|---|
|  |  |  | padding: 24rpx 0; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .wrkDetls { | 
|---|
|  |  |  | background-color: #2299ff; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | margin-top: 10rpx; | 
|---|
|  |  |  | font-size: 18px; | 
|---|
|  |  |  | padding: 24rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .wrkDetl { | 
|---|
|  |  |  | padding: 16rpx 0; | 
|---|
|  |  |  | border-bottom: 1px solid #FFF; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .wrkDetl:last-child { | 
|---|
|  |  |  | border-bottom: none; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .waitPakins { | 
|---|
|  |  |  | background-color: #c494ed; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | margin-top: 10rpx; | 
|---|
|  |  |  | font-size: 18px; | 
|---|
|  |  |  | padding: 24rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .waitPakin { | 
|---|
|  |  |  | padding: 16rpx 0; | 
|---|
|  |  |  | border-bottom: 1px solid #FFF; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .waitPakin:last-child { | 
|---|
|  |  |  | border-bottom: none; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .popup { | 
|---|
|  |  |  | width: 80vw; | 
|---|
|  |  |  | min-height: 100rpx; | 
|---|
|  |  |  | background-color: #FFF; | 
|---|
|  |  |  | border-radius: 25rpx; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .title { | 
|---|
|  |  |  | height: 100rpx; | 
|---|
|  |  |  | line-height: 100rpx; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | color: #606266; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | font-size: 16px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .popup-item { | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | line-height: 80rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | font-size: 14px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .popup-item-left { | 
|---|
|  |  |  | width: 16vw; | 
|---|
|  |  |  | padding-right: 20rpx; | 
|---|
|  |  |  | text-align: right; | 
|---|
|  |  |  | color: #606266; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .popup-item-right { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | width: 50vw; | 
|---|
|  |  |  | height: 50rpx; | 
|---|
|  |  |  | padding: 2px 5px; | 
|---|
|  |  |  | border: 1px solid #E4E7ED; | 
|---|
|  |  |  | border-radius: 5rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .popup-item-right input{ | 
|---|
|  |  |  | color: #606266; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .btn { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | height: 90rpx; | 
|---|
|  |  |  | margin-top: 20rpx; | 
|---|
|  |  |  | border-top: 1px solid #DCDFE6; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .btn-left { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | color: #606266; | 
|---|
|  |  |  | border-right: 1px solid #DCDFE6; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .btn-right { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | color: #409EFF; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .dropdown { | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | width: 93%; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | padding: 0rpx 20rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .dropdown-content { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | top: calc(100% + 15rpx); | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | width: calc(100% - 20rpx); | 
|---|
|  |  |  | max-height: 300rpx; | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | box-shadow: 0 0px 6px rgba(0, 0, 0, 0.3); | 
|---|
|  |  |  | border-radius: 8rpx; | 
|---|
|  |  |  | z-index: 10; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .dropdown-item { | 
|---|
|  |  |  | padding: 12rpx; | 
|---|
|  |  |  | line-height: 1.2; | 
|---|
|  |  |  | font-size: 22px; | 
|---|
|  |  |  | color: #3a3a3a; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|