Merge branch 'phyzasrs' of http://47.97.1.152:5880/r/wms_app into phyzasrs
| | |
| | | "name" : "中扬WMS", |
| | | "appid" : "__UNI__DA5854D", |
| | | "description" : "", |
| | | "versionName" : "20240511A", |
| | | "versionCode" : 106, |
| | | "versionName" : "20240515A", |
| | | "versionCode" : 107, |
| | | "transformPx" : false, |
| | | /* 5+App特有相关 */ |
| | | "app-plus" : { |
| | |
| | | "navigationBarTitleText" : "半成品调拨单", |
| | | "enablePullDownRefresh" : false |
| | | } |
| | | }, |
| | | { |
| | | "path" : "pages/home/locMastManage", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "库位管理", |
| | | "enablePullDownRefresh" : false |
| | | } |
| | | }, |
| | | { |
| | | "path" : "pages/phyz/checkLocDetl/locMove", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "库位转移", |
| | | "enablePullDownRefresh" : false |
| | | } |
| | | } |
| | | ,{ |
| | | "path" : "pages/phyz/bcp/bcpDbList", |
| | |
| | | "enablePullDownRefresh": false |
| | | } |
| | | |
| | | }, |
| | | { |
| | | "path" : "pages/phyz/wrkMast/locMoveMast", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "调拨任务管理", |
| | | "enablePullDownRefresh" : false |
| | | } |
| | | } |
| | | ], |
| | | "globalStyle": { |
New file |
| | |
| | | <template> |
| | | <view> |
| | | <scroll-view scroll-y class="page"> |
| | | <view class="nav-list"> |
| | | <navigator hover-class='none' :url="'/pages' + item.url" class="nav-li" navigateTo |
| | | :class="'bg-'+item.color" :style="[{animation: 'show ' + ((index+1)*0.2+1) + 's 1'}]" |
| | | v-for="(item,index) in elements" :key="index"> |
| | | <view class="nav-title">{{item.title}}</view> |
| | | <view class="nav-name">{{item.name}}</view> |
| | | <text :class="'cuIcon-' + item.cuIcon"></text> |
| | | </navigator> |
| | | </view> |
| | | <view class="cu-tabbar-height"></view> |
| | | </scroll-view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | baseUrl: '', |
| | | token: '', |
| | | icon: '', |
| | | elements: [], |
| | | project: 'tzsk', |
| | | elements2: [ |
| | | { |
| | | title: '库位盘点维护', |
| | | name: 'checkLocDetl', |
| | | color: 'blue', |
| | | // cuIcon: 'pullup', |
| | | url: `/phyz/checkLocDetl/checkLocDetl` |
| | | }, |
| | | { |
| | | title: '移库', |
| | | name: 'locMove', |
| | | color: 'blue', |
| | | // cuIcon: 'pullup', |
| | | url: `/phyz/checkLocDetl/locMove` |
| | | }, |
| | | |
| | | ], |
| | | colorList: ['cyan','blue','purple','mauve','pink','brown','red','orange','yellow','olive','olive','grey' ] |
| | | }; |
| | | }, |
| | | onShow() { |
| | | this.baseUrl = uni.getStorageSync('baseUrl'); |
| | | this.token = uni.getStorageSync('token'); |
| | | this.project = uni.getStorageSync('project') |
| | | this.getAuth() |
| | | this.backGroundRepeat() |
| | | }, |
| | | methods: { |
| | | backGroundRepeat() { |
| | | let len = this.colorList.length |
| | | let i = 0 |
| | | for (let k in this.elements2) { |
| | | if (i == len) { |
| | | i = 0 |
| | | } |
| | | this.elements2[k].color = this.colorList[i] |
| | | i++ |
| | | } |
| | | }, |
| | | getAuth() { |
| | | let that = this |
| | | uni.request({ |
| | | url: that.baseUrl + '/menu/pda/auth', |
| | | data: {}, |
| | | header: { 'token': uni.getStorageSync('token') }, |
| | | method: 'POST', |
| | | success(res) { |
| | | console.log(res); |
| | | if (res.statusCode === 404) { |
| | | that.elements = that.elements2 |
| | | return |
| | | } |
| | | res = res.data |
| | | that.elements = [] |
| | | if (res.code === 200) { |
| | | if (res.data == undefined || res.data == null || res.data == "") { |
| | | that.elements = that.elements2 |
| | | return |
| | | } |
| | | for (var i = 0; i < res.data.length; i++) { |
| | | if (res.data.length < 0) { |
| | | break; |
| | | } |
| | | that.getIcon(res.data[i].title) |
| | | that.elements.unshift({ |
| | | title: res.data[i].name, |
| | | name: res.data[i].title, |
| | | color: that.colorList[i], |
| | | cuIcon: that.icon, |
| | | url: `/${that.project}${res.data[i].action}` |
| | | }) |
| | | } |
| | | that.elements.push({ |
| | | title: '退出登录', |
| | | name: 'logOut', |
| | | color: 'grey', |
| | | cuIcon: 'exit', |
| | | url: '/login/logOut' |
| | | }) |
| | | } else if (res.code === 403) { |
| | | uni.showToast({ |
| | | title: res.msg, |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | setTimeout(() => { |
| | | uni.reLaunch({ |
| | | url: '../login/login' |
| | | }); |
| | | }, 1000); |
| | | } else if(res.status === 404) { |
| | | that.elements = that.elements2 |
| | | // uni.showToast({ |
| | | // title: '默认主页', |
| | | // icon: "none", |
| | | // position: 'top' |
| | | // }) |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.msg, |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | } |
| | | }, |
| | | fail(err) { |
| | | console.log(err); |
| | | } |
| | | }) |
| | | }, |
| | | getIcon(e) { |
| | | const ways = ['pakin','orderPakin','orderPutOn'] |
| | | if (ways.includes(e)) { |
| | | this.icon = 'pullup' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .page { |
| | | height: 100vh; |
| | | } |
| | | |
| | | .bg-red { |
| | | background-color: #e54d42; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .bg-orange { |
| | | background-color: #f37b1d; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .bg-yellow { |
| | | background-color: #fbbd08; |
| | | color: #333333; |
| | | } |
| | | |
| | | .bg-olive { |
| | | background-color: #8dc63f; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .bg-green { |
| | | background-color: #39b54a; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .bg-cyan { |
| | | background-color: #1cbbb4; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .bg-blue { |
| | | background-color: #0081ff; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .bg-purple { |
| | | background-color: #6739b6; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .bg-mauve { |
| | | background-color: #9c26b0; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .bg-pink { |
| | | background-color: #e03997; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .bg-brown { |
| | | background-color: #a5673f; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .bg-grey { |
| | | background-color: #8799a3; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .bg-gray { |
| | | background-color: #f0f0f0; |
| | | color: #333333; |
| | | } |
| | | |
| | | .bg-black { |
| | | background-color: #333333; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .bg-white { |
| | | background-color: #ffffff; |
| | | color: #666666; |
| | | } |
| | | </style> |
| | |
| | | // cuIcon: 'pullup', |
| | | url: `/phyz/stationManage/stationManage` |
| | | }, |
| | | { |
| | | title: '入出库管理', |
| | | name: 'inOutManage', |
| | | color: 'purple', |
| | | // cuIcon: 'pullup', |
| | | url: `/home/inOutManage` |
| | | }, |
| | | // { |
| | | // title: '入出库管理', |
| | | // name: 'inOutManage', |
| | | // color: 'purple', |
| | | // // cuIcon: 'pullup', |
| | | // url: `/home/inOutManage` |
| | | // }, |
| | | { |
| | | title: '单据管理', |
| | | name: 'ordeManage', |
| | |
| | | name: 'locManage', |
| | | color: 'blue', |
| | | // cuIcon: 'pullup', |
| | | url: `/phyz/checkLocDetl/checkLocDetl` |
| | | url: `/home/locMastManage` |
| | | }, |
| | | // { |
| | | // title: '工作档管理', |
| | | // name: 'ordeManage', |
| | | // color: 'brown', |
| | | // // cuIcon: 'pullup', |
| | | // url: `/home/wrkMastManage` |
| | | // }, |
| | | { |
| | | title: '任务管理', |
| | | name: 'ordeManage', |
| | | color: 'olive', |
| | | // cuIcon: 'pullup', |
| | | url: `/home/wrkMastManage` |
| | | }, |
| | | // { |
| | | // title: '测试', |
| | | // name: 'testView', |
| | |
| | | elements: [], |
| | | project: 'tzsk', |
| | | elements2: [ |
| | | { |
| | | title: '工作档查询维护', |
| | | name: 'wrkMast', |
| | | color: 'blue', |
| | | // cuIcon: 'pullup', |
| | | url: `/phyz/wrkMast/wrkMast` |
| | | }, |
| | | { |
| | | title: '工作历史档维护', |
| | | name: 'wrkMastLog', |
| | | color: 'blue', |
| | | // cuIcon: 'pullup', |
| | | url: `/phyz/wrkMast/wrkMastLog` |
| | | }, |
| | | { |
| | | title: '入库通知档', |
| | | name: 'waitPakin', |
| | | color: 'blue', |
| | | // cuIcon: 'pullup', |
| | | url: `/phyz/wrkMast/waitPakin` |
| | | }, |
| | | { |
| | | title: '入库通知历史档', |
| | | name: 'waitPakinLog', |
| | | color: 'blue', |
| | | // cuIcon: 'pullup', |
| | | url: `/phyz/wrkMast/waitPakinLog` |
| | | }, |
| | | // { |
| | | // title: '工作档查询维护', |
| | | // name: 'wrkMast', |
| | | // color: 'blue', |
| | | // // cuIcon: 'pullup', |
| | | // url: `/phyz/wrkMast/wrkMast` |
| | | // }, |
| | | // { |
| | | // title: '工作历史档维护', |
| | | // name: 'wrkMastLog', |
| | | // color: 'blue', |
| | | // // cuIcon: 'pullup', |
| | | // url: `/phyz/wrkMast/wrkMastLog` |
| | | // }, |
| | | // { |
| | | // title: '入库通知档', |
| | | // name: 'waitPakin', |
| | | // color: 'blue', |
| | | // // cuIcon: 'pullup', |
| | | // url: `/phyz/wrkMast/waitPakin` |
| | | // }, |
| | | // { |
| | | // title: '入库通知历史档', |
| | | // name: 'waitPakinLog', |
| | | // color: 'blue', |
| | | // // cuIcon: 'pullup', |
| | | // url: `/phyz/wrkMast/waitPakinLog` |
| | | // }, |
| | | ], |
| | | colorList: ['cyan','blue','purple','mauve','pink','brown','red','orange','yellow','olive','olive','grey' ] |
| | | }; |
| | |
| | | let param = {floor: this.floor,dbList: this.dbList,moveType: this.moveType} |
| | | uni.request({ |
| | | url: `${_this.baseUrl}/agvMobile/agv/v1/locMove`, |
| | | header: {'token': uni.getStorageSync('token'),}, |
| | | data: param, |
| | | method: 'POST', |
| | | success(res) { |
| | |
| | | uni.navigateBack({ |
| | | delta: 1 |
| | | }); |
| | | } |
| | | } 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' }) |
| | | } |
| | | } |
| | | }) |
| | | this.$refs.filter.close('bottom') |
| | |
| | | .locSts-P { |
| | | background-color: #ffaa00; |
| | | } |
| | | .locSts-Q { |
| | | background-color: #47a301; |
| | | } |
| | | .locSts-X { |
| | | background-color: #767676; |
| | | } |
New file |
| | |
| | | <template> |
| | | <view> |
| | | <view class="code"> |
| | | <uni-search-bar v-model="searchValue1" |
| | | maxlength="500" ancel="cancel" @confirm="searchValueInput1()" @clear="clearVal" placeholder="输入 / 扫描 货架码"> |
| | | </uni-search-bar> |
| | | <view style="display: flex;padding: 10rpx 20rpx;"> |
| | | <view class="dropdown"> |
| | | <input type="text" style="flex: 1;" v-model="row1" placeholder="请输入排" @confirm="getLocMastList('')"> |
| | | <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('row1')"></uni-icons> |
| | | </view> |
| | | <view class="dropdown"> |
| | | <input type="text" style="flex: 1;" v-model="bay1" placeholder="请输入列" @confirm="getLocMastList('')"> |
| | | <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('bay1')"></uni-icons> |
| | | </view> |
| | | <view class="dropdown"> |
| | | <input type="text" style="flex: 1;" v-model="lev1" placeholder="请输入层" @confirm="getLocMastList('')"> |
| | | <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('lev1')"></uni-icons> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="list list-font-color" :class="locMast.color" v-for="(locMast,index) in dataList" :key="index"> |
| | | <view class="list-left"> |
| | | <view class="detl-threeCode">{{locMast.locNo}}</view> |
| | | <view>库位状态:{{locMast.locSts$}}</view> |
| | | <view>库位类型:{{locMast.locType1$}}</view> |
| | | <view>货架码:{{locMast.barcode}}</view> |
| | | <view style="display: flex;"> |
| | | <view style="flex:1">排:<text style="font-size: 22px;font-weight: bold;">{{locMast.row1}}</text></view> |
| | | <view style="flex:1">列:<text style="font-size: 22px;font-weight: bold;">{{locMast.bay1}}</text></view> |
| | | <view style="flex:1">层:<text style="font-size: 22px;font-weight: bold;">{{locMast.lev1}}</text></view> |
| | | </view> |
| | | </view> |
| | | <view class="list-right" @click="goToLocDetl(locMast)"> |
| | | <uni-icons type="right" size="25" color="#fff"></uni-icons> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 弹窗 --> |
| | | <view> |
| | | <uni-popup ref="check" type="dialog"> |
| | | <view class="popup"> |
| | | <!-- 标题 --> |
| | | <view class="title">目标楼层</view> |
| | | <view class="popup-item"> |
| | | <view class="popup-item-left">楼层:</view> |
| | | <view class="popup-item-right"> |
| | | <uni-combox :candidates="floorList" placeholder="请选择目标楼层" v-model="floor"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="btn"> |
| | | <view class="btn-left" @click="checkClose">取消</view> |
| | | <view class="btn-right" @click="checkConfirm()">确认</view> |
| | | </view> |
| | | </view> |
| | | </uni-popup> |
| | | </view> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | searchValue1: '', |
| | | baseUrl: '', |
| | | token: '', |
| | | barcode: '', |
| | | locNo: '123123', |
| | | row1: '', |
| | | bay1: '', |
| | | lev1: '', |
| | | dataList: [], |
| | | item: '', |
| | | floorList: ['1F','2F','3F'], |
| | | floor: '', |
| | | locMast: null |
| | | } |
| | | }, |
| | | onShow() { |
| | | this.baseUrl = uni.getStorageSync('baseUrl'); |
| | | this.token = uni.getStorageSync('token'); |
| | | if (uni.getStorageSync('lev1')) { |
| | | this.lev1 = uni.getStorageSync('lev1'); |
| | | } else { |
| | | this.lev1 = 2 |
| | | } |
| | | this.getLocMastList() |
| | | }, |
| | | methods: { |
| | | clear(e) { |
| | | switch (e) { |
| | | case 'row1': |
| | | setTimeout(() => { |
| | | this.row1 = '' |
| | | this.getLocMastList('') |
| | | }, 100); |
| | | break; |
| | | case 'bay1': |
| | | setTimeout(() => { |
| | | this.bay1 = '' |
| | | this.getLocMastList('') |
| | | }, 100); |
| | | |
| | | break; |
| | | case 'lev1': |
| | | setTimeout(() => { |
| | | this.lev1 = '' |
| | | this.getLocMastList('') |
| | | }, 100); |
| | | break; |
| | | } |
| | | }, |
| | | clearVal() { |
| | | this.getLocMastList('') |
| | | }, |
| | | searchValueInput1() { |
| | | setTimeout(() => { |
| | | this.row1 = '' |
| | | this.bay1 = '' |
| | | this.lev1 = '' |
| | | this.getLocMastList(this.searchValue1) |
| | | }, 100); |
| | | }, |
| | | getLocMastList(barcode) { |
| | | let _this = this |
| | | uni.setStorageSync('lev1', this.lev1); |
| | | uni.request({ |
| | | url: `${_this.baseUrl}/agv/locMast/list/auth`, |
| | | header: {'token': uni.getStorageSync('token')}, |
| | | data: { |
| | | curr: 1, |
| | | limit: 50, |
| | | row1: _this.row1, |
| | | bay1: _this.bay1, |
| | | floor: _this.lev1, |
| | | barcode: barcode |
| | | }, |
| | | method: 'GET', |
| | | success(res) { |
| | | res = res.data |
| | | if (res.code === 200) { |
| | | for (let k of res.data.records) { |
| | | if (k.locSts == 'F') { |
| | | k['color'] = 'locSts-F' |
| | | } else if (k.locSts == 'D') { |
| | | k['color'] = 'locSts-D' |
| | | } else if (k.locSts == 'O') { |
| | | k['color'] = 'locSts-O' |
| | | } else if (k.locSts == 'R') { |
| | | k['color'] = 'locSts-R' |
| | | } else if (k.locSts == 'S') { |
| | | k['color'] = 'locSts-S' |
| | | } else if (k.locSts == 'X') { |
| | | k['color'] = 'locSts-X' |
| | | } else if (k.locSts == 'Q') { |
| | | k['color'] = 'locSts-Q' |
| | | } else if (k.locSts == 'P') { |
| | | k['color'] = 'locSts-P' |
| | | } else if (k.locSts == 'X') { |
| | | k['color'] = 'locSts-X' |
| | | } |
| | | } |
| | | _this.dataList = 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' }) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | goToLocDetl(e) { |
| | | this.locNo = e.locNo |
| | | this.item = e |
| | | if (e.locSts == 'S' || e.locSts == 'R') { |
| | | uni.showToast({ title: '当前库位在作业', icon: "error", position: 'top' }) |
| | | return |
| | | } |
| | | if (e.locSts == 'O') { |
| | | uni.showToast({ title: '当前库位为空库位', icon: "error", position: 'top' }) |
| | | return |
| | | } |
| | | this.locMast = e |
| | | this.$refs.check.open() |
| | | }, |
| | | checkClose() { |
| | | this.$refs.check.close() |
| | | }, |
| | | checkConfirm() { |
| | | let _this = this |
| | | uni.request({ |
| | | url: `${_this.baseUrl}/agvMobile/hand/control/locMove`, |
| | | header: {'token': uni.getStorageSync('token'), |
| | | }, |
| | | data: JSON.stringify({ |
| | | locNo: this.locMast.locNo, |
| | | floor: _this.floor |
| | | }), |
| | | method: 'POST', |
| | | success(res) { |
| | | res = res.data |
| | | if (res.code === 200) { |
| | | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) |
| | | _this.$refs.check.close() |
| | | _this.getLocMastList() |
| | | } 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'); |
| | | .detl-threeCode { |
| | | font-size: 28px; |
| | | font-weight: bold; |
| | | } |
| | | .list-font-color { |
| | | color: #fff; |
| | | /* background-color: #2299ff; */ |
| | | } |
| | | .dropdown { |
| | | border: 1px solid #a7a7a7; |
| | | border-radius: 8rpx; |
| | | margin: 2px; |
| | | padding: 6px; |
| | | } |
| | | .dropdown:first-child { |
| | | margin-left: 2px; |
| | | } |
| | | .dropdown:last-child { |
| | | margin-right: 2px; |
| | | } |
| | | .locSts-F { |
| | | background-color: #d82f2f; |
| | | } |
| | | .locSts-D { |
| | | background-color: #daad25; |
| | | } |
| | | .locSts-O { |
| | | background-color: #55aaff; |
| | | } |
| | | .locSts-R { |
| | | background-color: #aaaaff; |
| | | } |
| | | .locSts-S { |
| | | background-color: #d86d66; |
| | | } |
| | | .locSts-P { |
| | | background-color: #ffaa00; |
| | | } |
| | | .locSts-Q { |
| | | background-color: #47a301; |
| | | } |
| | | .locSts-X { |
| | | background-color: #767676; |
| | | } |
| | | |
| | | .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; */ |
| | | margin-top: 30rpx; |
| | | margin-bottom: 60rpx; |
| | | 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; |
| | | } |
| | | </style> |
| | | |
| | |
| | | <view>名称:{{orderDetl.maktx}}</view> |
| | | <view>库存数量:{{orderDetl.anfme}}</view> |
| | | <view>订单可出数量:{{orderDetl.stock}}</view> |
| | | <view>已拣数量:{{orderDetl.pickedAnfme}}</view> |
| | | <view>拣料数量:{{orderDetl.count}}</view> |
| | | </view> |
| | | <view class="list-right" @click="addItem(index)"> |
| | |
| | | count: 0, |
| | | maxCount: 0, |
| | | wrkNo: '', |
| | | locNo: '' |
| | | locNo: '', |
| | | pickedAnfme: 0 |
| | | } |
| | | }, |
| | | onShow() { |
| | |
| | | res = res.data |
| | | console.log(res); |
| | | if (res.code === 200) { |
| | | _this.chosed(_this.pickList,res.data.records) |
| | | return |
| | | let enbleList = [], isfl; |
| | | for (let k of res.data.records) { |
| | | isfl = false; |
| | |
| | | }) |
| | | }, |
| | | // 已选拣料列表 |
| | | orderCar() { |
| | | |
| | | chosed(wrkDetls,locDetls) { |
| | | let isfl = false, enbleList = [] |
| | | for (let locDetl of locDetls) { |
| | | locDetl['color'] = 'order-sts-start' |
| | | locDetl['pickedAnfme'] = 0 |
| | | locDetl['count'] = 0 |
| | | for (let wrkDetl of wrkDetls) { |
| | | if (wrkDetl.threeCode == locDetl.threeCode && wrkDetl.matnr == locDetl.matnr) { |
| | | locDetl['pickedAnfme'] = wrkDetl.anfme |
| | | if (locDetl.stock == -1) { |
| | | locDetl.stock = 0 |
| | | } |
| | | if (wrkDetl.anfme < locDetl.anfme) { |
| | | locDetl['color'] = 'order-sts-working' |
| | | locDetl['pickedAnfme'] = wrkDetl.anfme |
| | | locDetl['count'] = 0 |
| | | } else { |
| | | locDetl['color'] = 'order-sts-end' |
| | | } |
| | | break |
| | | } |
| | | } |
| | | |
| | | } |
| | | this.dataList = locDetls |
| | | }, |
| | | // 添加入库商品至 待组托列表 |
| | | addItem(index) { |
| | |
| | | <view>商品编码:{{wrkDetl.matnr}}</view> |
| | | <view>销售订单号:{{wrkDetl.threeCode ? wrkDetl.threeCode : ' --'}}</view> |
| | | <view>自由项:{{wrkDetl.deadTime ? wrkDetl.deadTime : ' --'}}</view> |
| | | <view>出库数量:{{wrkDetl.anfme}}</view> |
| | | <view>作业数量:{{wrkDetl.anfme}}</view> |
| | | </view> |
| | | </view> |
| | | |
| | |
| | | <uni-popup ref="doContainerMoveOut" type="dialog"> |
| | | <view class="popup"> |
| | | <!-- 标题 --> |
| | | <view class="title">请输入空货架码</view> |
| | | <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="pickInClose">取消</view> |
| | | <view class="btn-right" @click="pickIn()">入库</view> |
| | | <view class="btn-right" @click="pickIn()">确认拣料</view> |
| | | </view> |
| | | </view> |
| | | </uni-popup> |
| | |
| | | </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"> |
| | | <view class="btn-left" @click="pickInClose">取消</view> |
| | | <view class="btn-right" @click="allocationInConfirm()">确认进场</view> |
| | | </view> |
| | | </view> |
| | | </uni-popup> |
| | | </view> |
| | | |
| | | |
| | | |
| | |
| | | <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> |
| | | </view> |
| | | </view> |
| | | </template> |
| | |
| | | res = res.data |
| | | if (res.code === 200) { |
| | | if (res.data.records[0].locSts == 'O') { |
| | | _this.btnType = 'emptyPakin' |
| | | if (res.data.records[0].devNo.substring(0, 2) == "DB") { |
| | | _this.btnType = 'allocationIn' |
| | | } else { |
| | | _this.btnType = 'emptyPakin' |
| | | } |
| | | } else if (res.data.records[0].locSts == 'F') { |
| | | _this.btnType = 'pakin' |
| | | } else { |
| | | _this.btnType = 'working' |
| | | } |
| | | // if (res.data.records[0].locSts == 'O') { |
| | | // res.data.records[0].locSts$ = '没有货架' |
| | | // } else if (res.data.records[0].locSts == 'F') { |
| | | // res.data.records[0].locSts$ = '货架在库' |
| | | // } else if (res.data.records[0].locSts == 'S') { |
| | | // res.data.records[0].locSts$ = '货架进入中' |
| | | // } else if (res.data.records[0].locSts == 'R') { |
| | | // res.data.records[0].locSts$ = '货架离开中' |
| | | // } |
| | | |
| | | setTimeout(()=>{ |
| | | for (let k of res.data.records) { |
| | |
| | | _this.btnType = 'pick' |
| | | } else if (wrkMast.ioType == 110) { |
| | | wrkMast['ioTitle'] = '空板出库' |
| | | } else if (wrkMast.ioType == 111) { |
| | | wrkMast['ioTitle'] = '空板出库' |
| | | _this.btnType = 'allocationOut' |
| | | } |
| | | if (wrkMast.barcode == barcode) { |
| | | mast = wrkMast |
| | |
| | | } |
| | | }); |
| | | }, |
| | | // 调拨离场 |
| | | allocationOut() { |
| | | 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/allocationOut', |
| | | header: {'token': uni.getStorageSync('token')}, |
| | | data: {devNo: that.station.devNo}, |
| | | method: 'POST', |
| | | success(result) { |
| | | var res = result.data |
| | | 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' }) |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | allocationIn() { |
| | | this.$refs.allocationIn.open() |
| | | }, |
| | | allocationInClose() { |
| | | this.$refs.allocationIn.close() |
| | | }, |
| | | allocationInConfirm() { |
| | | 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) { |
| | | 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' }) |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |
| | | } |
| | | </script> |
| | |
| | | @import url('../../../static/css/common/order.css'); |
| | | |
| | | .station { |
| | | font-size: 18px; |
| | | padding: 24rpx; |
| | | font-size: 15px; |
| | | padding: 18rpx; |
| | | } |
| | | .station-title { |
| | | font-size: 32px; |
| | | font-size: 28px; |
| | | font-weight: bold; |
| | | padding: 24rpx 0; |
| | | padding: 18rpx 0; |
| | | } |
| | | .station-barcode { |
| | | font-size: 24px; |
| | |
| | | <template> |
| | | <view> |
| | | <view style="font-size: 14px;"> |
| | | <view class="code"> |
| | | <uni-search-bar :focus="searchValueFocus" v-model="searchValue" @input="searchValueInput()" |
| | | maxlength="500" ancel="cancel" @clear="clear" placeholder="输入 / 扫描 站点号"> |
New file |
| | |
| | | <template> |
| | | <view> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | |
| | | </style> |
| | |
| | | } |
| | | .list { |
| | | margin: 20rpx; |
| | | |
| | | font-size: 14px; |
| | | background-color: #fff; |
| | | border-radius: 20rpx; |
| | | border: 1px solid #eeeeee; |