| | |
| | | {
|
| | | "name": "中扬WMS",
|
| | | "appid": "__UNI__DA5854D",
|
| | | "description": "",
|
| | | "versionName": "20250225A",
|
| | | "versionCode": 146,
|
| | | "transformPx": false,
|
| | | /* 5+App特有相关 */
|
| | | "app-plus": {
|
| | | "usingComponents": true,
|
| | | "nvueStyleCompiler": "uni-app",
|
| | | "compilerVersion": 3,
|
| | | "splashscreen": {
|
| | | "alwaysShowBeforeRender": true,
|
| | | "waiting": true,
|
| | | "autoclose": true,
|
| | | "delay": 0
|
| | | },
|
| | | /* 模块配置 */
|
| | | "modules": {
|
| | | "Bluetooth": {}
|
| | | },
|
| | | /* 应用发布信息 */
|
| | | "distribute": {
|
| | | /* android打包配置 */
|
| | | "android": {
|
| | | "permissions": [
|
| | | "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
| | | "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
| | | "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
| | | "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
| | | "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
| | | "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
| | | "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
| | | "<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
| | | "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
| | | "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
| | | "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
| | | "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
| | | "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
| | | "<uses-feature android:name=\"android.hardware.camera\"/>",
|
| | | "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
| | | ]
|
| | | },
|
| | | /* ios打包配置 */
|
| | | "ios": {
|
| | | "dSYMs": false
|
| | | },
|
| | | /* SDK配置 */
|
| | | "sdkConfigs": {
|
| | | "ad": {}
|
| | | },
|
| | | "icons": {
|
| | | "android": {
|
| | | "hdpi": "unpackage/res/icons/72x72.png",
|
| | | "xhdpi": "unpackage/res/icons/96x96.png",
|
| | | "xxhdpi": "unpackage/res/icons/144x144.png",
|
| | | "xxxhdpi": "unpackage/res/icons/192x192.png"
|
| | | },
|
| | | "ios": {
|
| | | "appstore": "unpackage/res/icons/1024x1024.png",
|
| | | "ipad": {
|
| | | "app": "unpackage/res/icons/76x76.png",
|
| | | "app@2x": "unpackage/res/icons/152x152.png",
|
| | | "notification": "unpackage/res/icons/20x20.png",
|
| | | "notification@2x": "unpackage/res/icons/40x40.png",
|
| | | "proapp@2x": "unpackage/res/icons/167x167.png",
|
| | | "settings": "unpackage/res/icons/29x29.png",
|
| | | "settings@2x": "unpackage/res/icons/58x58.png",
|
| | | "spotlight": "unpackage/res/icons/40x40.png",
|
| | | "spotlight@2x": "unpackage/res/icons/80x80.png"
|
| | | },
|
| | | "iphone": {
|
| | | "app@2x": "unpackage/res/icons/120x120.png",
|
| | | "app@3x": "unpackage/res/icons/180x180.png",
|
| | | "notification@2x": "unpackage/res/icons/40x40.png",
|
| | | "notification@3x": "unpackage/res/icons/60x60.png",
|
| | | "settings@2x": "unpackage/res/icons/58x58.png",
|
| | | "settings@3x": "unpackage/res/icons/87x87.png",
|
| | | "spotlight@2x": "unpackage/res/icons/80x80.png",
|
| | | "spotlight@3x": "unpackage/res/icons/120x120.png"
|
| | | }
|
| | | }
|
| | | }
|
| | | },
|
| | | "nativePlugins": {
|
| | | "Hanyin-Plugin": {
|
| | | "__plugin_info__": {
|
| | | "name": "蓝牙连接汉印便携式打印机",
|
| | | "description": "app蓝牙连接汉印便携式打印机面单打印-----测试型号: HM-A300",
|
| | | "platforms": "Android",
|
| | | "url": "https://ext.dcloud.net.cn/plugin?id=2731",
|
| | | "android_package_name": "uni.UNIDA5854D",
|
| | | "ios_bundle_id": "",
|
| | | "isCloud": true,
|
| | | "bought": 1,
|
| | | "pid": "2731",
|
| | | "parameters": {}
|
| | | }
|
| | | }
|
| | | }
|
| | | },
|
| | | /* 快应用特有相关 */
|
| | | "quickapp": {},
|
| | | /* 小程序特有相关 */
|
| | | "mp-weixin": {
|
| | | "appid": "",
|
| | | "setting": {
|
| | | "urlCheck": false
|
| | | },
|
| | | "usingComponents": true
|
| | | },
|
| | | "mp-alipay": {
|
| | | "usingComponents": true
|
| | | },
|
| | | "mp-baidu": {
|
| | | "usingComponents": true
|
| | | },
|
| | | "mp-toutiao": {
|
| | | "usingComponents": true
|
| | | },
|
| | | "uniStatistics": {
|
| | | "enable": false
|
| | | },
|
| | | "vueVersion": "2",
|
| | | "h5": {
|
| | | "devServer": {
|
| | | "port": 8133
|
| | | }
|
| | | }
|
| | | } |
| | | { |
| | | "name" : "中扬WMS", |
| | | "appid" : "__UNI__DA5854D", |
| | | "description" : "", |
| | | "versionName" : "20250225A", |
| | | "versionCode" : 146, |
| | | "transformPx" : false, |
| | | /* 5+App特有相关 */ |
| | | "app-plus" : { |
| | | "usingComponents" : true, |
| | | "nvueStyleCompiler" : "uni-app", |
| | | "compilerVersion" : 3, |
| | | "splashscreen" : { |
| | | "alwaysShowBeforeRender" : true, |
| | | "waiting" : true, |
| | | "autoclose" : true, |
| | | "delay" : 0 |
| | | }, |
| | | /* 模块配置 */ |
| | | "modules" : { |
| | | "Bluetooth" : {} |
| | | }, |
| | | /* 应用发布信息 */ |
| | | "distribute" : { |
| | | /* android打包配置 */ |
| | | "android" : { |
| | | "permissions" : [ |
| | | "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", |
| | | "<uses-permission android:name=\"android.permission.VIBRATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.READ_LOGS\"/>", |
| | | "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", |
| | | "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", |
| | | "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.CAMERA\"/>", |
| | | "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", |
| | | "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", |
| | | "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", |
| | | "<uses-feature android:name=\"android.hardware.camera\"/>", |
| | | "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" |
| | | ], |
| | | "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ] |
| | | }, |
| | | /* ios打包配置 */ |
| | | "ios" : { |
| | | "dSYMs" : false |
| | | }, |
| | | /* SDK配置 */ |
| | | "sdkConfigs" : { |
| | | "ad" : {} |
| | | }, |
| | | "icons" : { |
| | | "android" : { |
| | | "hdpi" : "unpackage/res/icons/72x72.png", |
| | | "xhdpi" : "unpackage/res/icons/96x96.png", |
| | | "xxhdpi" : "unpackage/res/icons/144x144.png", |
| | | "xxxhdpi" : "unpackage/res/icons/192x192.png" |
| | | }, |
| | | "ios" : { |
| | | "appstore" : "unpackage/res/icons/1024x1024.png", |
| | | "ipad" : { |
| | | "app" : "unpackage/res/icons/76x76.png", |
| | | "app@2x" : "unpackage/res/icons/152x152.png", |
| | | "notification" : "unpackage/res/icons/20x20.png", |
| | | "notification@2x" : "unpackage/res/icons/40x40.png", |
| | | "proapp@2x" : "unpackage/res/icons/167x167.png", |
| | | "settings" : "unpackage/res/icons/29x29.png", |
| | | "settings@2x" : "unpackage/res/icons/58x58.png", |
| | | "spotlight" : "unpackage/res/icons/40x40.png", |
| | | "spotlight@2x" : "unpackage/res/icons/80x80.png" |
| | | }, |
| | | "iphone" : { |
| | | "app@2x" : "unpackage/res/icons/120x120.png", |
| | | "app@3x" : "unpackage/res/icons/180x180.png", |
| | | "notification@2x" : "unpackage/res/icons/40x40.png", |
| | | "notification@3x" : "unpackage/res/icons/60x60.png", |
| | | "settings@2x" : "unpackage/res/icons/58x58.png", |
| | | "settings@3x" : "unpackage/res/icons/87x87.png", |
| | | "spotlight@2x" : "unpackage/res/icons/80x80.png", |
| | | "spotlight@3x" : "unpackage/res/icons/120x120.png" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "nativePlugins" : { |
| | | "Hanyin-Plugin" : { |
| | | "__plugin_info__" : { |
| | | "name" : "蓝牙连接汉印便携式打印机", |
| | | "description" : "app蓝牙连接汉印便携式打印机面单打印-----测试型号: HM-A300", |
| | | "platforms" : "Android", |
| | | "url" : "https://ext.dcloud.net.cn/plugin?id=2731", |
| | | "android_package_name" : "uni.UNIDA5854D", |
| | | "ios_bundle_id" : "", |
| | | "isCloud" : true, |
| | | "bought" : 1, |
| | | "pid" : "2731", |
| | | "parameters" : {} |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | /* 快应用特有相关 */ |
| | | "quickapp" : {}, |
| | | /* 小程序特有相关 */ |
| | | "mp-weixin" : { |
| | | "appid" : "", |
| | | "setting" : { |
| | | "urlCheck" : false |
| | | }, |
| | | "usingComponents" : true |
| | | }, |
| | | "mp-alipay" : { |
| | | "usingComponents" : true |
| | | }, |
| | | "mp-baidu" : { |
| | | "usingComponents" : true |
| | | }, |
| | | "mp-toutiao" : { |
| | | "usingComponents" : true |
| | | }, |
| | | "uniStatistics" : { |
| | | "enable" : false |
| | | }, |
| | | "vueVersion" : "2", |
| | | "h5" : { |
| | | "devServer" : { |
| | | "port" : 8133 |
| | | } |
| | | } |
| | | } |
| | |
| | | }
|
| | | },
|
| | | {
|
| | | "path": "pages/AGV/AGVStaBind",
|
| | | "style": {
|
| | | "navigationBarTitleText": "AGV站点绑定"
|
| | | }
|
| | | },
|
| | | {
|
| | | "path": "pages/AGV/StaUnBind",
|
| | | "style": {
|
| | | "navigationBarTitleText": "AGV站点解绑"
|
| | | }
|
| | | },
|
| | | {
|
| | | "path": "pages/AGV/StartInTask",
|
| | | "style": {
|
| | | "navigationBarTitleText": "AGV启动入库"
|
| | | }
|
| | | },
|
| | | {
|
| | | "path": "pages/listing/matnrPalletising",
|
| | | "style": {
|
| | | "navigationBarTitleText": "物料组盘"
|
New file |
| | |
| | | <template> |
| | | <view class="has-foot"> |
| | | <form> |
| | | <view class="cu-form-group margin-top"> |
| | | <view class="title">容器编号</view> |
| | | <input placeholder="请扫容器编号" v-model="container"></input> |
| | | <text class='cuIcon-search text-blue' @click="search"></text> |
| | | </view> |
| | | |
| | | <view class="cu-form-group "> |
| | | <view class="title">接驳站</view> |
| | | <input placeholder="请扫描接驳站条码" v-model="barcode" ></input> |
| | | </view> |
| | | </form> |
| | | |
| | | |
| | | |
| | | <view class="cu-list det menu sm-border padding"> |
| | | <block v-for="(item, index) in list" :key="index"> |
| | | <view class="cu-bar bg-white solid-bottom margin-top-sm"> |
| | | <view class="action"> |
| | | <view class="index"> |
| | | {{index+1}} |
| | | </view> |
| | | <view class="text-blue"> |
| | | {{`${item.maktx}`}} |
| | | </view> |
| | | </view> |
| | | <!-- <view class="action" > |
| | | <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text> |
| | | </view> --> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">ASN:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.asnCode}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">供应商批次:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey">{{item.splrBatch}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">库存批次:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.batch}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">收货数量:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.anfme}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | </block> |
| | | </view> |
| | | |
| | | |
| | | <view class="cu-bar btn-group foot"> |
| | | <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button> |
| | | <button class="cu-btn bg-blue shadow-blur" @click="confirm">绑定</button> |
| | | </view> |
| | | |
| | | <uni-popup ref="popup" class="cu-popup"> |
| | | <view class="popup-content"> |
| | | <view class="head"> |
| | | <text>推荐</text> |
| | | <text class='cuIcon-close text-red close' @click="close"></text> |
| | | </view> |
| | | |
| | | <div class="body"> |
| | | <view class="cu-list grid col-3 no-border"> |
| | | <view class="item" v-for="el in range"> |
| | | <view class="cu-btn round sm" :class="[el===curCode?'bg-blue':'line-blue']" |
| | | @click="itemChange(el)">{{el}}</view> |
| | | </view> |
| | | </view> |
| | | </div> |
| | | |
| | | <view class="cu-bar btn-group "> |
| | | <button class="cu-btn bg-blue shadow-blur" @click="popupSubmit">提交</button> |
| | | </view> |
| | | </view> |
| | | </uni-popup> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | request |
| | | } from '../../common/request.js' |
| | | import { |
| | | mapState, |
| | | mapMutations, |
| | | mapActions, |
| | | mapGetters |
| | | } from 'vuex'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | barcode: '', |
| | | areaName: '', |
| | | locCode: '', |
| | | container: '', |
| | | list: [], |
| | | range: [], |
| | | curCode: '' |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState('user', ['dynamicFields']), |
| | | }, |
| | | mounted() {}, |
| | | methods: { |
| | | async search() { |
| | | const { |
| | | code, |
| | | data, |
| | | msg |
| | | } = await request('/stock/operate/list', { |
| | | barcode: this.container, |
| | | sta: this.barcode |
| | | }) |
| | | if (code === 200) { |
| | | // const find = this.list.find(el => el.id === data.id); |
| | | // !find && |
| | | this.list = data |
| | | } else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | remove(index) { |
| | | this.list.splice(index, 1); |
| | | }, |
| | | clear() { |
| | | this.list = [] |
| | | |
| | | this.container = '' |
| | | this.barcode = '' |
| | | }, |
| | | |
| | | open() { |
| | | this.$refs.popup.open() |
| | | }, |
| | | |
| | | close() { |
| | | this.$refs.popup.close() |
| | | }, |
| | | |
| | | popupSubmit() { |
| | | this.$refs.popup.close() |
| | | }, |
| | | itemChange(el) { |
| | | this.curCode = el |
| | | }, |
| | | |
| | | async confirm() { |
| | | if(this.container === '' || this.container ===null){ |
| | | uni.showToast({ |
| | | title: "容器码不能为空", |
| | | icon: "none", |
| | | }) |
| | | return ; |
| | | } |
| | | if(this.barcode === '' || this.barcode ===null){ |
| | | uni.showToast({ |
| | | title: "接驳站码不能为空", |
| | | icon: "none", |
| | | }) |
| | | return ; |
| | | } |
| | | const { |
| | | code, |
| | | data, |
| | | msg |
| | | } = await request('/AGV/staBind',{ |
| | | barcode: this.container, |
| | | sta: this.barcode |
| | | } |
| | | ) |
| | | if (code === 200) { |
| | | uni.showToast({ |
| | | title: '绑定成功' |
| | | }) |
| | | this.clear() |
| | | } else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .index { |
| | | border: 1px solid #e54d42; |
| | | color: #e54d42; |
| | | border-radius: 50%; |
| | | display: block; |
| | | width: 50rpx; |
| | | height: 50rpx; |
| | | line-height: 48rpx; |
| | | text-align: center; |
| | | margin-right: 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | .text-blue { |
| | | color: #0081ff !important; |
| | | |
| | | } |
| | | |
| | | .item { |
| | | position: relative; |
| | | display: flex; |
| | | min-height: 80upx; |
| | | align-items: center; |
| | | } |
| | | |
| | | .uni-file-picker { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .uni-select__selector { |
| | | z-index: 999; |
| | | } |
| | | |
| | | .tj { |
| | | height: auto; |
| | | padding: 6px 8px; |
| | | display: inline-block; |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | .item { |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .item .cu-btn { |
| | | font-size: 26upx; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <view class="has-foot"> |
| | | <form> |
| | | <view class="cu-form-group "> |
| | | <view class="title">接驳站</view> |
| | | <input placeholder="请扫描接驳站条码" v-model="barcode" ></input> |
| | | <text class='cuIcon-search text-blue' @click="search"></text> |
| | | </view> |
| | | </form> |
| | | <view class="flex solid-bottom padding-sm justify-between"> |
| | | <view class="text-blue">容器码:{{container}}</view> |
| | | |
| | | </view> |
| | | |
| | | |
| | | |
| | | <view class="cu-list det menu sm-border padding"> |
| | | <block v-for="(item, index) in list" :key="index"> |
| | | <view class="cu-bar bg-white solid-bottom margin-top-sm"> |
| | | <view class="action"> |
| | | <view class="index"> |
| | | {{index+1}} |
| | | </view> |
| | | <view class="text-blue"> |
| | | {{`${item.maktx}`}} |
| | | </view> |
| | | </view> |
| | | <!-- <view class="action" > |
| | | <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text> |
| | | </view> --> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">ASN:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.asnCode}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">供应商批次:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey">{{item.splrBatch}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">库存批次:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.batch}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">收货数量:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.anfme}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | </block> |
| | | </view> |
| | | |
| | | |
| | | <view class="cu-bar btn-group foot"> |
| | | <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button> |
| | | <button class="cu-btn bg-blue shadow-blur" @click="confirm">解绑</button> |
| | | </view> |
| | | |
| | | <uni-popup ref="popup" class="cu-popup"> |
| | | <view class="popup-content"> |
| | | <view class="head"> |
| | | <text>推荐</text> |
| | | <text class='cuIcon-close text-red close' @click="close"></text> |
| | | </view> |
| | | |
| | | <div class="body"> |
| | | <view class="cu-list grid col-3 no-border"> |
| | | <view class="item" v-for="el in range"> |
| | | <view class="cu-btn round sm" :class="[el===curCode?'bg-blue':'line-blue']" |
| | | @click="itemChange(el)">{{el}}</view> |
| | | </view> |
| | | </view> |
| | | </div> |
| | | |
| | | <view class="cu-bar btn-group "> |
| | | <button class="cu-btn bg-blue shadow-blur" @click="popupSubmit">提交</button> |
| | | </view> |
| | | </view> |
| | | </uni-popup> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | request |
| | | } from '../../common/request.js' |
| | | import { |
| | | mapState, |
| | | mapMutations, |
| | | mapActions, |
| | | mapGetters |
| | | } from 'vuex'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | barcode: '', |
| | | areaName: '', |
| | | locCode: '', |
| | | container: '', |
| | | list: [], |
| | | range: [], |
| | | curCode: '' |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState('user', ['dynamicFields']), |
| | | }, |
| | | mounted() {}, |
| | | methods: { |
| | | async search() { |
| | | let that = this |
| | | const { |
| | | code, |
| | | data, |
| | | msg |
| | | } = await request('/staBind/list', { |
| | | sta: this.barcode |
| | | }) |
| | | if (code === 200) { |
| | | if(data.list.length >0){ |
| | | that.container = data.barcode |
| | | that.list = data.list |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | remove(index) { |
| | | this.list.splice(index, 1); |
| | | }, |
| | | clear() { |
| | | this.list = [] |
| | | |
| | | this.container = '' |
| | | this.barcode = '' |
| | | }, |
| | | |
| | | open() { |
| | | this.$refs.popup.open() |
| | | }, |
| | | |
| | | close() { |
| | | this.$refs.popup.close() |
| | | }, |
| | | |
| | | popupSubmit() { |
| | | this.$refs.popup.close() |
| | | }, |
| | | itemChange(el) { |
| | | this.curCode = el |
| | | }, |
| | | |
| | | async confirm() { |
| | | if(this.barcode === '' || this.barcode ===null){ |
| | | uni.showToast({ |
| | | title: "接驳站码不能为空", |
| | | icon: "none", |
| | | }) |
| | | return ; |
| | | } |
| | | const { |
| | | code, |
| | | data, |
| | | msg |
| | | } = await request('/AGV/staUnBind',{ |
| | | sta: this.barcode |
| | | } |
| | | ) |
| | | if (code === 200) { |
| | | uni.showToast({ |
| | | title: '解绑成功' |
| | | }) |
| | | this.clear() |
| | | } else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .index { |
| | | border: 1px solid #e54d42; |
| | | color: #e54d42; |
| | | border-radius: 50%; |
| | | display: block; |
| | | width: 50rpx; |
| | | height: 50rpx; |
| | | line-height: 48rpx; |
| | | text-align: center; |
| | | margin-right: 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | .text-blue { |
| | | color: #0081ff !important; |
| | | |
| | | } |
| | | |
| | | .item { |
| | | position: relative; |
| | | display: flex; |
| | | min-height: 80upx; |
| | | align-items: center; |
| | | } |
| | | |
| | | .uni-file-picker { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .uni-select__selector { |
| | | z-index: 999; |
| | | } |
| | | |
| | | .tj { |
| | | height: auto; |
| | | padding: 6px 8px; |
| | | display: inline-block; |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | .item { |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .item .cu-btn { |
| | | font-size: 26upx; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <view class="has-foot"> |
| | | <form> |
| | | <view class="cu-form-group "> |
| | | <view class="title">接驳站</view> |
| | | <input placeholder="请扫描接驳站条码" v-model="barcode" ></input> |
| | | <text class='cuIcon-search text-blue' @click="search"></text> |
| | | </view> |
| | | </form> |
| | | <view class="flex solid-bottom padding-sm justify-between"> |
| | | <view class="text-blue">容器码:{{container}}</view> |
| | | |
| | | </view> |
| | | |
| | | |
| | | |
| | | <view class="cu-list det menu sm-border padding"> |
| | | <block v-for="(item, index) in list" :key="index"> |
| | | <view class="cu-bar bg-white solid-bottom margin-top-sm"> |
| | | <view class="action"> |
| | | <view class="index"> |
| | | {{index+1}} |
| | | </view> |
| | | <view class="text-blue"> |
| | | {{`${item.maktx}`}} |
| | | </view> |
| | | </view> |
| | | <!-- <view class="action" > |
| | | <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text> |
| | | </view> --> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">ASN:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.asnCode}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">供应商批次:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey">{{item.splrBatch}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">库存批次:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.batch}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">收货数量:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.anfme}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | </block> |
| | | </view> |
| | | |
| | | |
| | | <view class="cu-bar btn-group foot"> |
| | | <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button> |
| | | <button class="cu-btn bg-blue shadow-blur" @click="confirm">解绑</button> |
| | | </view> |
| | | |
| | | <uni-popup ref="popup" class="cu-popup"> |
| | | <view class="popup-content"> |
| | | <view class="head"> |
| | | <text>推荐</text> |
| | | <text class='cuIcon-close text-red close' @click="close"></text> |
| | | </view> |
| | | |
| | | <div class="body"> |
| | | <view class="cu-list grid col-3 no-border"> |
| | | <view class="item" v-for="el in range"> |
| | | <view class="cu-btn round sm" :class="[el===curCode?'bg-blue':'line-blue']" |
| | | @click="itemChange(el)">{{el}}</view> |
| | | </view> |
| | | </view> |
| | | </div> |
| | | |
| | | <view class="cu-bar btn-group "> |
| | | <button class="cu-btn bg-blue shadow-blur" @click="popupSubmit">提交</button> |
| | | </view> |
| | | </view> |
| | | </uni-popup> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | request |
| | | } from '../../common/request.js' |
| | | import { |
| | | mapState, |
| | | mapMutations, |
| | | mapActions, |
| | | mapGetters |
| | | } from 'vuex'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | barcode: '', |
| | | areaName: '', |
| | | locCode: '', |
| | | container: '', |
| | | list: [], |
| | | range: [], |
| | | curCode: '' |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState('user', ['dynamicFields']), |
| | | }, |
| | | mounted() {}, |
| | | methods: { |
| | | async search() { |
| | | let that = this |
| | | const { |
| | | code, |
| | | data, |
| | | msg |
| | | } = await request('/staBind/list', { |
| | | sta: this.barcode |
| | | }) |
| | | if (code === 200) { |
| | | if(data.list.length >0){ |
| | | that.container = data.barcode |
| | | that.list = data.list |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | remove(index) { |
| | | this.list.splice(index, 1); |
| | | }, |
| | | clear() { |
| | | this.list = [] |
| | | |
| | | this.container = '' |
| | | this.barcode = '' |
| | | }, |
| | | |
| | | open() { |
| | | this.$refs.popup.open() |
| | | }, |
| | | |
| | | close() { |
| | | this.$refs.popup.close() |
| | | }, |
| | | |
| | | popupSubmit() { |
| | | this.$refs.popup.close() |
| | | }, |
| | | itemChange(el) { |
| | | this.curCode = el |
| | | }, |
| | | |
| | | async confirm() { |
| | | if(this.barcode === '' || this.barcode ===null){ |
| | | uni.showToast({ |
| | | title: "接驳站码不能为空", |
| | | icon: "none", |
| | | }) |
| | | return ; |
| | | } |
| | | const { |
| | | code, |
| | | data, |
| | | msg |
| | | } = await request('/AGV/staUnBind',{ |
| | | sta: this.barcode |
| | | } |
| | | ) |
| | | if (code === 200) { |
| | | uni.showToast({ |
| | | title: '解绑成功' |
| | | }) |
| | | this.clear() |
| | | } else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .index { |
| | | border: 1px solid #e54d42; |
| | | color: #e54d42; |
| | | border-radius: 50%; |
| | | display: block; |
| | | width: 50rpx; |
| | | height: 50rpx; |
| | | line-height: 48rpx; |
| | | text-align: center; |
| | | margin-right: 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | .text-blue { |
| | | color: #0081ff !important; |
| | | |
| | | } |
| | | |
| | | .item { |
| | | position: relative; |
| | | display: flex; |
| | | min-height: 80upx; |
| | | align-items: center; |
| | | } |
| | | |
| | | .uni-file-picker { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .uni-select__selector { |
| | | z-index: 999; |
| | | } |
| | | |
| | | .tj { |
| | | height: auto; |
| | | padding: 6px 8px; |
| | | display: inline-block; |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | .item { |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .item .cu-btn { |
| | | font-size: 26upx; |
| | | } |
| | | </style> |
| | |
| | | <text>人工上架</text>
|
| | | </navigator>
|
| | | </view>
|
| | |
|
| | | |
| | | |
| | | </view>
|
| | | <view class="cu-bar bg-white solid-bottom margin-top">
|
| | | <view class="action">
|
| | | <text class="cuIcon-title text-orange "></text> AGV
|
| | | </view>
|
| | | </view>
|
| | | |
| | | <view class="cu-list grid col-4 no-border">
|
| | | <view class="cu-item">
|
| | | <navigator hover-class='none' url="/pages/listing/upper" navigateTo>
|
| | | <navigator hover-class='none' url="/pages/AGV/AGVStaBind" navigateTo>
|
| | | <view class="cuIcon-punch text-blue">
|
| | | </view>
|
| | | <text>上架</text>
|
| | | <text>站点绑定</text>
|
| | | </navigator>
|
| | | </view>
|
| | | <view class="cu-item">
|
| | | <navigator hover-class='none' url="/pages/phyz/inStock/inStock" navigateTo>
|
| | | <navigator hover-class='none' url="/pages/AGV/AGVStaBind" navigateTo>
|
| | | <view class="cuIcon-punch text-blue">
|
| | | </view>
|
| | | <text>入库上架</text>
|
| | | <text>启动入库</text>
|
| | | </navigator>
|
| | | </view>
|
| | | <view class="cu-item">
|
| | | <navigator hover-class='none' url="/pages/AGV/StaUnBind" navigateTo>
|
| | | <view class="cuIcon-punch text-blue">
|
| | | </view>
|
| | | <text>站点解绑</text>
|
| | | </navigator>
|
| | | </view>
|
| | | |
| | | </view>
|
| | |
|
| | | <view class="cu-bar bg-white solid-bottom margin-top">
|
| | |
| | | <template>
|
| | | <view class="has-foot">
|
| | | <form>
|
| | | <view class="cu-form-group margin-top">
|
| | | <view class="title">ASN单</view>
|
| | | <input placeholder="请扫描ASN单" v-model="asnCode" focus></input>
|
| | | </view>
|
| | |
|
| | | <view class="cu-form-group ">
|
| | | <view class="title">托盘</view>
|
| | | <input placeholder="请扫描托盘" v-model="container"></input>
|
| | | </view>
|
| | |
|
| | | <view class="cu-form-group ">
|
| | | <view class="title">物料码</view>
|
| | | <input placeholder="请扫描物料码" v-model="barcode"></input>
|
| | | <view class="title">容器码</view>
|
| | | <input placeholder="请扫描容器码" v-model="container"></input>
|
| | | <text class='cuIcon-search text-blue' @click="search"></text>
|
| | | </view>
|
| | | <view class="cu-form-group">
|
| | | <view class="title">库位码</view>
|
| | | <input placeholder="请扫描库位码" v-model="locCode"></input>
|
| | | </view>
|
| | | </form>
|
| | | <view class="cu-list det menu sm-border padding">
|
| | |
| | | {{index+1}}
|
| | | </view>
|
| | | <view class="text-blue">
|
| | | {{`${item.maktx}`}}
|
| | | 编码:{{`${item.matnrCode}`}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="action">
|
| | | <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
|
| | | </view>
|
| | | |
| | | </view>
|
| | |
|
| | | <view class="cu-item">
|
| | | <view class="content">
|
| | | <text class="text-black">名称:</text>
|
| | | <text class="text-grey ">{{item.maktx}}</text>
|
| | | </view>
|
| | | |
| | | </view>
|
| | | <view class="cu-item">
|
| | | <view class="content">
|
| | | <text class="text-black">ASN:</text>
|
| | |
| | | <text class="text-grey ">{{item.asnCode}}</text>
|
| | | </view>
|
| | | </view>
|
| | |
|
| | | <view class="cu-item">
|
| | | <view class="content">
|
| | | <text class="text-black">托盘:</text>
|
| | | </view>
|
| | | <view class="action">
|
| | | <text class="text-grey ">{{item.barcode}}</text>
|
| | | </view>
|
| | | </view>
|
| | | <view class="cu-item">
|
| | | <view class="content">
|
| | | <text class="text-black">供应商批次:</text>
|
| | | </view>
|
| | | <view class="action">
|
| | | <text class="text-grey ">{{item.splrBatch}}</text>
|
| | | </view>
|
| | | </view>
|
| | | <view class="cu-item">
|
| | | <view class="content">
|
| | | <text class="text-black">库存批次:</text>
|
| | | <text class="text-black">批次:</text>
|
| | | </view>
|
| | | <view class="action">
|
| | | <text class="text-grey ">{{item.batch}}</text>
|
| | |
| | | </view>
|
| | | <view class="cu-item">
|
| | | <view class="content">
|
| | | <text class="text-black">收货数量:</text>
|
| | | <text class="text-black">数量:</text>
|
| | | </view>
|
| | | <view class="action">
|
| | | <text class="text-grey ">{{item.anfme}}</text>
|
| | |
| | | </block>
|
| | | </view>
|
| | |
|
| | | <view class="cu-form-group margin-bottom">
|
| | | <view class="title">库位码</view>
|
| | | <input placeholder="请扫描库位码" v-model="locCode"></input>
|
| | | </view>
|
| | | |
| | | <view class="cu-bar btn-group foot">
|
| | | <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button>
|
| | | <button class="cu-btn bg-blue shadow-blur" @click="confirm">上架</button>
|
| | |
| | | code,
|
| | | data,
|
| | | msg
|
| | | } = await request('/stock/operate/list', {
|
| | | asnCode: this.asnCode,
|
| | | barcode: this.container,
|
| | | matnrCode: this.barcode
|
| | | } = await request('/stock/operate/list', { |
| | | barcode: this.container, |
| | | })
|
| | | if (code === 200) {
|
| | | // const find = this.list.find(el => el.id === data.id);
|
| | | // !find && |
| | | this.list.push(data)
|
| | | this.list = data
|
| | | } else {
|
| | | uni.showToast({
|
| | | title: msg,
|
| | |
| | | },
|
| | |
|
| | | async confirm() {
|
| | | if (this.locCode !== '') {
|
| | | const {
|
| | | code,
|
| | | data,
|
| | | msg
|
| | | } = await request('/stock/operate', {
|
| | | itemList: this.list,
|
| | | locCode: this.locCode
|
| | | if (this.locCode === '' || this.locCode === null) {
|
| | | uni.showToast({
|
| | | title: '请输入库位',
|
| | | icon: "none",
|
| | | })
|
| | | if (code === 200) {
|
| | | uni.showToast({
|
| | | title: '上架成功'
|
| | | })
|
| | | this.list = []
|
| | | this.barcode = ''
|
| | | } else {
|
| | | uni.showToast({
|
| | | title: msg,
|
| | | icon: "none",
|
| | | })
|
| | | }
|
| | | return ;
|
| | | }
|
| | | if (this.container === '' || this.container === null) {
|
| | | uni.showToast({
|
| | | title: '请输入托盘码',
|
| | | icon: "none",
|
| | | })
|
| | | return ;
|
| | | }
|
| | | const {
|
| | | code,
|
| | | data,
|
| | | msg
|
| | | } = await request('/stock/operate', {
|
| | | itemList: this.list,
|
| | | locCode: this.locCode,
|
| | | barcode: this.container,
|
| | | |
| | | })
|
| | | if (code === 200) {
|
| | | uni.showToast({
|
| | | title: '上架成功'
|
| | | })
|
| | | this.list = []
|
| | | this.locCode = ''
|
| | | this.container = ''
|
| | | } else {
|
| | | uni.showToast({
|
| | | title: '请选择库位',
|
| | | title: msg,
|
| | | icon: "none",
|
| | | })
|
| | | }
|
| | | |
| | |
|
| | |
|
| | | },
|
| | |
| | | </view>
|
| | | <view class="cu-item">
|
| | | <view class="content">
|
| | | <text class="text-black">供应商批次:</text>
|
| | | <text class="text-grey ">{{item.splrBatch}}</text>
|
| | | <text class="text-black">批次:</text>
|
| | | <text class="text-grey ">{{item.batch}}</text>
|
| | | </view>
|
| | | </view>
|
| | | <view class="cu-item">
|