app领料页面功能修改

This commit is contained in:
zzyuan 2025-01-14 10:02:12 +08:00
parent c4a9995d48
commit 99363d6463
10 changed files with 963 additions and 692 deletions

View File

@ -130,19 +130,19 @@
"navigationBarTitleText": "出库详情"
}
},
{
"path": "pages/picking/outbound/inner-detail",
"style": {
"navigationBarTitleText": "出库详情"
}
},
// 3.
{
"path": "pages/picking/outbound/code-outbound",
"style": {
"navigationBarTitleText": "编码出库"
}
}, // 3.
{
"path": "pages/picking/outbound/code-outScan",
"style": {
"navigationBarTitleText": "编码出库"
}
},
}, // 3.
{
"path": "pages/picking/outbound/codeOutScan",
"style": {

View File

@ -1,381 +0,0 @@
<template>
<!-- 编码出库-->
<view class="page-container">
<!-- <view class="table-list-item">
<uni-forms :model="formData" label-width="100" :border="true">
<uni-forms-item label="领料单位:" name="leaseUnit">
<span class="form-view">{{ queryParams.leaseUnit }}</span>
</uni-forms-item>
<uni-forms-item label="领料工程:" name="leaseProject">
<span class="form-view">{{ queryParams.leaseProject }}</span>
</uni-forms-item>
<uni-forms-item label="物资类型:" name="maTypeName">
<span class="form-view">{{ queryParams.maTypeName }}</span>
</uni-forms-item>
<uni-forms-item label="规格型号:" name="typeName">
<span class="form-view">{{ queryParams.typeName }}</span>
</uni-forms-item>
<uni-forms-item label="待出库数量:" name="maxNum">
<span class="form-view">{{ maxNum }}</span>
</uni-forms-item>
</uni-forms>
</view> -->
<view>
<CustomCamera :coverImageType="coverImageType" @back="back" @getImage="getImage"/>
</view>
<!-- <view class="table-list-item">
<button class="scan-btn" @click="">开始扫码</button>
</view> -->
<!-- <view class="table-list-item">
<uni-row :gutter="24" style="display: flex; align-items: center">
<uni-col :span="6">
<view> 设备编码 </view>
</uni-col>
<uni-col :span="12">
<view>
<uni-easyinput v-model="queryCodeParams.maCode" placeholder="请输入内容" />
</view>
</uni-col>
<uni-col :span="6">
<view
class="coding-btn"
style="padding: 10rpx 0;color: #fe9a09;background-color: #fff7eb;border: 1px solid #fe9a09;"
@click=""
>编码检索</view
>
</uni-col>
</uni-row>
</view>
<view class="table-list-item">
<scroll-view class="scroll-view" scroll-y="true" style="height: 300rpx;">
<uni-forms :model="codeData" label-width="100" :border="true">
<uni-forms-item label="物资类型:" name="typeName">
<span class="form-view">{{ codeData.typeName }}</span>
</uni-forms-item>
<uni-forms-item label="规格型号:" name="typeModelName">
<span class="form-view">{{ codeData.typeModelName }}</span>
</uni-forms-item>
<uni-forms-item label="设备状态:" name="statusName">
<span class="form-view">{{ codeData.statusName }}</span>
</uni-forms-item>
<uni-forms-item label="设备数量:">
<span class="form-view">1</span>
</uni-forms-item>
</uni-forms>
</scroll-view>
</view>
<view class="outbound-btn" @tap="onHandleOutbound"> 出库 </view> -->
</view>
</template>
<script setup>
import { ref, computed } from 'vue'
import CustomCamera from "@/components/CustomCamera/APP/index.nvue"
import { getCodeScanAPI, setOutboundNumAPI } from '@/services/picking/outbound.js'
import { onBackPress } from '@dcloudio/uni-app'
import { debounce } from 'lodash-es'
import { onShow } from '@dcloudio/uni-app'
import { onLoad } from '@dcloudio/uni-app'
// const query = defineProps() //
// const queryParams = JSON.parse(query.queryParams)
const queryParams = ref({})
const formData = ref({})
const codeData = ref({})
const codeNum = ref(0)
//
const queryCodeParams = ref({
pageNum: 1,
pageSize: 10,
typeId: '',
maStatus: 1,
maCode: '',
qrCode: '',
})
const qrCodeScan = ref('')
onLoad((options) => {
console.log('options', options)
queryParams.value = JSON.parse(options.queryParams)
queryCodeParams.value.typeId = queryParams.value.typeId
})
//
const maxNum = computed(() => {
//
const waitNum = queryParams.value.preNum - queryParams.value.alNum
return waitNum
})
const coverImageType = ref('side')
const back = () => {
uni.navigateBack()
}
const getImage = (res) => {
console.log(res)
}
//
const scanStart = () => {
var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module")
mpaasScanModule.mpaasScan({
// qrCodebarCode
'scanType': ['qrCode','barCode'],
// false
'hideAlbum': false,
//ios zh-Hansen
'language' : 'en',
//(ios)
'failedMsg': '未识别到二维码,请重试',
//Android
'screenType': 'full'
},(ret) => {
if(ret.resp_code==10){
uni.showToast({ title: '用户取消', icon: 'none' })
}
if(ret.resp_code==11){
uni.showToast({ title: '扫码失败', icon: 'none' })
}
if(ret.resp_code==1000){
uni.showToast({ title: '成功', icon: 'none' })
console.log('1111',ret.resp_result)
qrCodeScan.value = ret.resp_result.split("qrcode=")[1]
// queryCodeParams.value.maCode = ret.resp_result.split("qrcode=")[1]
queryCodeParams.value.qrCode = ret.resp_result.split("qrcode=")[1]
if (qrCodeScan.value=="") {
uni.showToast({ title: '扫码识别失败', icon: 'none'})
}else{
getMaInfoScan()
//
}
}
// uni.showModal({
// title: "",
// // resp_code 10111000
// // resp_message
// // resp_result
// content: JSON.stringify(ret),
// showCancel: false,
// confirmText: ""
// })
})
}
//
const getMaInfoScan = async () => {
const res = await getCodeScanAPI(queryCodeParams.value)
console.log(res)
if (res.code == 200) {
if (res.data && res.data.recordList.length > 0) {
// codeData.value = res.rows[0]
queryCodeParams.value.maCode = res.data.recordList[0].maCode
codeData.value = res.data.recordList[0]
uni.showToast({ title: res.data.msg, icon: 'none'})
}else{
uni.showToast({ title: res.data.msg, icon: 'none'})
}
} else {
uni.showToast({ title: res.data.msg, icon: 'none' })
}
}
// //
// const getMaInfo = async () => {
// console.log('queryCodeParams', queryCodeParams.value)
// const res = await getCodeDeviceListAPI(queryCodeParams.value)
// console.log(res)
// if (res.code == 200) {
// if (res.rows && res.rows.length > 0) {
// codeData.value = res.rows[0]
// } else {
// uni.showToast({ title: '', icon: 'none' })
// }
// }
// }
//
const onHandleOutbound = async () => {
//
let paramsList = []
paramsList.push({
maCode: codeData.value.maCode,
maId: codeData.value.maId,
leaseType:0,
outType:2,
outNum:1,
typeId:codeData.value.typeId,
manageType: codeData.value.manageType,
parentId: queryParams.value.parentId,
typeName: codeData.value.typeName,
typeModelName: codeData.value.typeModelName,
})
console.log('333333333', paramsList)
const res = await setOutboundNumAPI({ leaseOutDetailsList: paramsList })
if (res.code === 200) {
uni.showToast({
title: '出库成功!',
icon: 'none',
})
queryParams.value.alNum = queryParams.value.alNum + 1
queryCodeParams.value.maCode = ''
codeData.value = {}
// codeNum.value = codeNum.value + 1
// uni.$emit('onUpdate', codeNun.value)
}
}
//
onShow(() => {
})
//
// onBackPress(() => {
// //
// // uni.redirectTo({
// // url: '/pages/fixed-page/fixed-page' //
// // });
// console.log('2222222222222222222',queryParams.value.id)
// uni.redirectTo({
// url: `/pages/picking/outbound/code-outbound?queryParams=${JSON.stringify(queryParams.value)}`
// });
// // true
// return true;
// });
</script>
<style lang="scss" scoped>
.page-container {
display: flex;
height: 100%;
flex-direction: column;
background-color: #f7f8fa;
padding: 24rpx;
.table-list-item {
background: #fff;
padding: 32rpx;
border-radius: 20rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);
margin-bottom: 24rpx;
//
:deep(.uni-forms) {
.uni-forms-item {
margin-bottom: 24rpx;
padding: 0;
&:last-child {
margin-bottom: 0;
}
.uni-forms-item__label {
color: #8c8c8c;
font-size: 28rpx;
font-weight: 500;
padding: 0;
line-height: 1.8;
}
.uni-forms-item__content {
display: flex;
align-items: center;
min-height: unset;
}
.form-view {
color: #262626;
font-size: 28rpx;
font-weight: 500;
line-height: 1.8;
}
}
}
//
.scan-btn {
width: 100%;
height: 88rpx;
background: linear-gradient(135deg, #4b8eff 0%, #3784fb 100%);
text-align: center;
line-height: 88rpx;
color: #fff;
border-radius: 12rpx;
font-size: 32rpx;
font-weight: 600;
box-shadow: 0 6rpx 20rpx rgba(55, 132, 251, 0.2);
transition: all 0.3s ease;
margin: 0;
padding: 0;
&:active {
transform: scale(0.98);
opacity: 0.9;
}
}
//
.coding-btn {
padding: 12rpx 0;
background: #fff;
color: #ff9800;
border: 2rpx solid rgba(255, 152, 0, 0.5);
background: linear-gradient(to bottom, rgba(255, 152, 0, 0.05), rgba(255, 152, 0, 0.1));
border-radius: 12rpx;
text-align: center;
font-size: 28rpx;
font-weight: 600;
letter-spacing: 1rpx;
transition: all 0.3s ease;
&:active {
background: rgba(255, 152, 0, 0.15);
border-color: rgba(255, 152, 0, 0.6);
transform: translateY(1rpx);
}
}
//
:deep(.uni-easyinput__content) {
background-color: #f7f8fa;
border: 2rpx solid #e8e8e8;
border-radius: 12rpx;
height: 80rpx;
transition: all 0.3s ease;
&:focus-within {
border-color: #3784fb;
box-shadow: 0 0 0 2rpx rgba(55, 132, 251, 0.1);
}
.uni-easyinput__content-input {
font-size: 28rpx;
color: #262626;
}
}
}
//
.outbound-btn {
position: fixed;
bottom: 40rpx;
left: 50%;
transform: translateX(-50%);
width: 90%;
height: 88rpx;
background: linear-gradient(135deg, #4b8eff 0%, #3784fb 100%);
text-align: center;
line-height: 88rpx;
color: #fff;
border-radius: 12rpx;
font-size: 32rpx;
font-weight: 600;
box-shadow: 0 6rpx 20rpx rgba(55, 132, 251, 0.2);
transition: all 0.3s ease;
&:active {
transform: translateX(-50%) scale(0.98);
opacity: 0.9;
}
}
}
</style>

View File

@ -123,7 +123,7 @@
<script setup>
import { ref, computed, onUnmounted } from 'vue'
import { onLoad, onShow, } from '@dcloudio/uni-app'
import { getCodeDeviceListAPI, setOutboundNumAPI, getCodeScanAPI } from '@/services/picking/outbound.js'
import { getCodeDetailAPI, getCodeDeviceListAPI, setOutboundNumAPI, getCodeScanAPI } from '@/services/picking/outbound.js'
import { getBoxBindByCode } from '@/services/standard.js'
import { debounce } from 'lodash-es'
// const query = defineProps() //
@ -131,8 +131,8 @@ import { debounce } from 'lodash-es'
const queryParams = ref({})
const formData = ref({})
const codeDeviceList = ref([])
const total = ref(0)
const codeNum = ref(0)
const maxNum = ref(0)
const total = ref(0)
const boxCode = ref("")
const boxInfo = ref({})
//
@ -154,6 +154,116 @@ const toggleForm = () => {
isExpanded.value = !isExpanded.value
}
//
onLoad((options) => {
queryParams.value = JSON.parse(options.queryParams)
})
onShow(() => {
console.log(queryParams.value)
getCodeDetailData(queryParams.value.id)//
})
//
const getCodeDetailData = async (id) => {
const res = await getCodeDetailAPI({id:id})
formData.value=res.data;
maxNum.value=formData.value.preNum-formData.value.alNum;
queryCodeParams.value.typeId = queryParams.value.typeId;
queryCodeParams.value.pageNum = 1;
codeDeviceList.value = [];
getCodeDeviceListData()//
}
//
const getCodeDeviceListData = async () => {
const res = await getCodeDeviceListAPI(queryCodeParams.value)
codeDeviceList.value.push(...res.rows)
if (codeDeviceList.value.length > 0) {
codeDeviceList.value = codeDeviceList.value.map((e) => {
return { ...e, checked: false }
})
}
total.value = res.total
}
//
const onCodeSearch = () => {
queryCodeParams.value.pageNum = 1
codeDeviceList.value = []
getCodeDeviceListData()
}
//
const onScrollTolower = debounce(() => {
// console.log('--')
if (total.value > codeDeviceList.value.length) {
queryCodeParams.value.pageNum++
getCodeDeviceListData()
}
}, 500)
// <EFBFBD><EFBFBD>
const finish = computed(() => {
if (total.value === codeDeviceList.value.length) return true
})
//
const onChangeChecked = (item) => {
item.checked = !item.checked
}
//
const isSelectNum = computed(() => {
const isSelectList = codeDeviceList.value.filter((e) => e.checked === true)
if (maxNum.value === isSelectList.length) {
uni.showToast({
title: '勾选设备已达到最大待出库数量!',
icon: 'none',
})
}
return isSelectList.length
})
//
const onHandleOutbound = async () => {
const isSelect = codeDeviceList.value.some((e) => e.checked === true)
if (!isSelect) {
uni.showToast({
title: '请勾选需要出库的设备',
icon: 'none',
})
return
}
//
const { typeId, parentId } = queryParams.value
//
const paramsList = []
codeDeviceList.value.map((e) => {
if (e.checked) {
paramsList.push({
leaseType: 0,
maId: e.maId,
maCode: e.maCode,
manageType: 0,
outNum: 1,
parentId,
typeId,
})
}
})
console.log()
const res = await setOutboundNumAPI({ leaseOutDetailsList: paramsList })
if (res.code === 200) {
uni.showToast({
title: '出库成功!',
icon: 'none',
})
getCodeDetailData(queryParams.value.id)//
}
}
//
const boxScan = async () => {
boxCode.value=""
@ -182,33 +292,32 @@ const boxOut = async () => {
console.log(param)
const res = await getBoxBindByCode(param)
console.log(res)
if(res.code==200){
boxInfo.value = res.data
uni.showModal({
title: '提示',
content: boxInfo.value.msg,
confirmText: '确定',
cancelText: '取消',
success: async (res) => {
if (res.confirm) {
if(boxInfo.value.recordList.length>0){
if(boxInfo.value.recordList.length>maxNum.value){
uni.showToast({ title: '标准箱绑定设备数量多于待出库数量!', icon: 'none'})
}else{
boxOutBound()
}
}else{
uni.showToast({ title: '标准箱未绑定设备!', icon: 'none'})
}
}
}
})
if(res.code==200){
boxInfo.value = res.data;
if(boxInfo.value.recordList&&boxInfo.value.recordList.length>0){
if(boxInfo.value.recordList.length>maxNum.value){
uni.showToast({ title: '标准箱绑定设备数量多于待出库数量!', icon: 'none'})
}else{
uni.showModal({
title: '提示',
content: boxInfo.value.msg,
confirmText: '确定',
cancelText: '取消',
success: async (res) => {
if (res.confirm) {
boxOutBound()
}
}
})
}
}else{
uni.showToast({ title: '标准箱未绑定设备!', icon: 'none'})
}
}else{
uni.showToast({ title: '扫码识别失败', icon: 'none'})
}
}
}
//
const boxOutBound = async () => {
//
@ -221,68 +330,27 @@ const boxOutBound = async () => {
boxId: e.boxId,
maId: e.maId,
maCode: e.maCode,
manageType: 0,
// 0123
outType: 3,
manageType: 0,
outType: 3,// 0123
outNum: 1,
parentId,
typeId,
})
})
console.log(paramsList)
const res = await setOutboundNumAPI({ leaseOutDetailsList: paramsList })
const res = await setOutboundNumAPI({ leaseOutDetailsList: paramsList })
if (res.code === 200) {
uni.showToast({
title: '出库成功!',
icon: 'none',
})
setTimeout(() => {
//
uni.navigateBack({
delta: 1,
success() {
uni.$emit('onUpdate')
},
})
}, 500)
})
getCodeDetailData(queryParams.value.id)//
}
}
const maxNum = ref(0)
//
// const maxNum = computed(() => {
// // 1.
// const waitNum = queryParams.value.preNum - queryParams.value.alNum
// // 2.
// return total.value > waitNum ? waitNum : total.value
// })
//
const getCodeDeviceListData = async () => {
console.log('queryCodeParams', queryCodeParams.value)
const res = await getCodeDeviceListAPI(queryCodeParams.value)
console.log('xxxxxxxxxxxxxxx', )
console.log('333132133', res)
codeDeviceList.value.push(...res.rows)
console.log('21313131',codeDeviceList.value)
if (codeDeviceList.value.length > 0) {
codeDeviceList.value = codeDeviceList.value.map((e) => {
return { ...e, checked: false }
})
}
total.value = res.total
}
}
//
const onCodeIdentify = () => {
console.log('编码识别--')
// uni.navigateTo({
// url: `/pages/picking/outbound/code-outScan?queryParams=${JSON.stringify(
// queryParams.value,
// )}`,
// })
uni.navigateTo({
url: `/pages/picking/outbound/codeOutScan?queryParams=${JSON.stringify(queryParams.value)}`,
})
@ -370,130 +438,19 @@ const confirmCodeOutBound = async () => {
})
const res = await setOutboundNumAPI({ leaseOutDetailsList: paramsList })
if (res.code === 200) {
uni.showToast({
uni.showToast({
title: '出库成功!',
icon: 'none',
})
setTimeout(() => {
scanStart()
}, 800)
})
getCodeDetailData(queryParams.value.id)//
setTimeout(() => {
scanStart()
}, 800)
}
}
//
const onCodeSearch = () => {
queryCodeParams.value.pageNum = 1
codeDeviceList.value = []
getCodeDeviceListData()
}
//
const onScrollTolower = debounce(() => {
// console.log('--')
if (total.value > codeDeviceList.value.length) {
queryCodeParams.value.pageNum++
getCodeDeviceListData()
}
}, 500)
// <EFBFBD><EFBFBD>
const finish = computed(() => {
if (total.value === codeDeviceList.value.length) return true
})
//
const onChangeChecked = (item) => {
item.checked = !item.checked
}
//
const isSelectNum = computed(() => {
const isSelectList = codeDeviceList.value.filter((e) => e.checked === true)
if (maxNum.value === isSelectList.length) {
uni.showToast({
title: '勾选设备已达到最大待出库数量!',
icon: 'none',
})
}
return isSelectList.length
})
//
const onHandleOutbound = async () => {
const isSelect = codeDeviceList.value.some((e) => e.checked === true)
if (!isSelect) {
uni.showToast({
title: '请勾选需要出库的设备',
icon: 'none',
})
return
}
//
const { typeId, parentId } = queryParams.value
//
const paramsList = []
codeDeviceList.value.map((e) => {
if (e.checked) {
paramsList.push({
leaseType: 0,
maId: e.maId,
maCode: e.maCode,
manageType: 0,
outNum: 1,
parentId,
typeId,
})
}
})
console.log()
const res = await setOutboundNumAPI({ leaseOutDetailsList: paramsList })
if (res.code === 200) {
uni.showToast({
title: '出库成功!',
icon: 'none',
})
setTimeout(() => {
//
uni.navigateBack({
delta: 1,
success() {
uni.$emit('onUpdate')
},
})
}, 500)
}
}
//
onLoad((options) => {
//
uni.$on('onUpdate', (num) => {
console.log('监听事件', num)
codeNum.value = num
})
queryParams.value = JSON.parse(options.queryParams)
console.log('111111111111111111111',queryParams.value.id)
maxNum.value = queryParams.value.preNum - queryParams.value.alNum
queryCodeParams.value.typeId = queryParams.value.typeId
getCodeDeviceListData()
})
onShow(() => {
// maxNum
maxNum.value = queryParams.value.preNum - queryParams.value.alNum
})
//
onUnmounted(() => {
uni.$off('onUpdate') //
})
</script>
<style lang="scss" scoped>

View File

@ -22,7 +22,8 @@
</view>
</uni-col>
<uni-col :span="6">
<view class="coding-btn" style="padding: 10rpx 0;color: #fe9a09;background-color: #fff7eb;border: 1px solid #fe9a09;" @click="">
<view class="coding-btn" style="padding: 10rpx 0;color: #fe9a09;background-color: #fff7eb;border: 1px solid #fe9a09;"
@click="getCode()">
<text style="color: #fe9a09;text-align: center;">编码检索</text>
</view>
</uni-col>
@ -31,18 +32,24 @@
<view class="table-list-item">
<scroll-view class="scroll-view" scroll-y="true" style="height: 500rpx;">
<uni-forms :model="codeData" label-width="100" :border="true">
<uni-forms-item label="物资类型:" name="typeName">
<text class="form-view">{{ codeData.typeName }}</text>
</uni-forms-item>
<uni-forms-item label="规格型号:" name="typeModelName">
<text class="form-view">{{ codeData.typeModelName }}</text>
</uni-forms-item>
<uni-forms-item label="设备状态:" name="statusName">
<text class="form-view">{{ codeData.statusName }}</text>
</uni-forms-item>
<uni-forms-item label="设备数量:">
<text class="form-view">1</text>
</uni-forms-item>
<uni-forms-item label="物资名称:" name="materialType">
<text style="height: 100%;display: flex;align-items: center;">{{ codeData.materialType }}</text>
</uni-forms-item>
<uni-forms-item label="物资类型:" name="materialName">
<text style="height: 100%;display: flex;align-items: center;">{{ codeData.materialName }}</text>
</uni-forms-item>
<uni-forms-item label="规格型号:" name="materialModel">
<text style="height: 100%;display: flex;align-items: center;">{{ codeData.materialModel }}</text>
</uni-forms-item>
<uni-forms-item label="设备编码:" name="maCode">
<text style="height: 100%;display: flex;align-items: center;">{{ codeData.maCode }}</text>
</uni-forms-item>
<uni-forms-item label="设备状态:" name="statusName">
<text style="height: 100%;display: flex;align-items: center;">{{ codeData.statusName }}</text>
</uni-forms-item>
<!-- <uni-forms-item label="设备数量:">
<text class="form-view">1</text>
</uni-forms-item> -->
</uni-forms>
</scroll-view>
</view>
@ -54,7 +61,6 @@
</template>
<script>
export default {
data() {
return {
@ -71,7 +77,7 @@
},
onLoad(options) {
this.queryParams = JSON.parse(options.queryParams)
this.queryCodeParams.typeId = this.queryParams.typeId
this.queryCodeParams.typeId = this.queryParams.typeId;
},
onReady() {
this.cameraHeight = uni.getSystemInfoSync().screenHeight * 0.22
@ -79,6 +85,7 @@
this.init()
},
methods: {
//初始化相机
init() {
this.livePusher = uni.createLivePusherContext('livePusher', this);
console.log(this.livePusher)
@ -86,6 +93,7 @@
this.startPreview()
}, 1000)
},
// 开始相机
startPreview() {
this.livePusher.startPreview({
success: () => {
@ -103,6 +111,7 @@
}
});
},
//截屏
handleInstruct(instruct) {
if (this.ready) {
this.ready = false
@ -115,30 +124,70 @@
})
}
},
//编码检索
async getCode(){
let param = {
maCode:this.queryCodeParams.maCode,
typeId:this.queryCodeParams.typeId,
maStatus:1
}
uni.request({
url: 'http://192.168.2.246:18080/material/ma_machine/list',
method: 'get',
data: param,
success: res => {
res = res.data;
console.log(res)
if(res.rows&&res.rows.length>0){
this.codeData=res.rows[0];
}else{
uni.showToast({
title: '未检索到有效的设备编码!',
icon: 'none',
})
}
},
fail: err => {
console.log(err)
}
})
// const res = await getCodeDeviceListAPI(param)
// console.log(res)
// this.codeData=res.rows[0];
},
//出库按钮
async onHandleOutbound(){
let paramsList = []
paramsList.push({
maCode: this.codeData.maCode,
maId: this.codeData.maId,
leaseType:0,
outType:2,
outNum:1,
typeId:this.codeData.typeId,
manageType: this.codeData.manageType,
parentId: this.queryParams.parentId,
// typeName: this.codeData.typeName,
// typeModelName: this.codeData.typeModelName
})
paramsList.push({
maCode: this.codeData.maCode,
maId: this.codeData.maId,
manageType:0,
outNum:1,
typeId:this.codeData.typeId,
parentId: this.queryParams.parentId,
})
console.log('333333333', paramsList)
// const res = await setOutboundNumAPI({ leaseOutDetailsList: paramsList })
// if (res.code === 200) {
// uni.showToast({
// title: '出库成功!',
// icon: 'none',
// })
// this.queryCodeParams.maCode = ''
// this.codeData = {}
// }
uni.request({
url: 'http://192.168.2.246:18080/material/lease_apply_info/leaseOut',
method: 'post',
data: { leaseOutDetailsList: paramsList },
success: res => {
res = res.data;
console.log(res)
if (res.code === 200) {
uni.showToast({
title: '出库成功!',
icon: 'none',
})
this.queryCodeParams.maCode = ''
this.codeData = {}
}
},
fail: err => {
console.log(err)
}
})
}
}
}

View File

@ -19,15 +19,12 @@
class="table-list-item"
>
<uni-swipe-action class="swipe-action">
<uni-swipe-action-item
:right-options="item.status == 2 ? options2 : options"
@click="onClick($event, item)"
>
<uni-swipe-action-item :right-options="item.status==2 ? options2 : options"
@click="onClick($event, item)">
<div class="title">
<span class="main-title">领料出库</span>
<div class="status-tag">
<uni-tag
:text="item.status == 2 ? '已完成' : '未完成'"
<uni-tag :text="item.status == 2 ? '已完成' : '未完成'"
:type="item.status == 2 ? 'success' : 'warning'"
:custom-style="item.status == 2 ? successStyle : warningStyle"
/>
@ -98,9 +95,10 @@
<script setup>
import { ref, onUnmounted } from 'vue'
import { getOutboundDetailsAPI } from '@/services/picking/outbound.js'
import { getOutboundDetailsAPI,leaseOutBackApi } from '@/services/picking/outbound.js'
import { onLoad, onShow } from '@dcloudio/uni-app'
const taskStatus = ref(3)//
const detailsList = ref([])
// const query = defineProps() //
@ -117,74 +115,99 @@ const leaseApplyInfo = ref({
preNum: '', //
parentId: '', // id
id: '', // id
typeId: '', // typeId
typeId: '', // typeId
manageType: '', // manageType
})
onLoad((options) => {
leaseApplyInfo.value.parentId = options.id
getOutboundDetailsData()
})
//
const getOutboundDetailsData = async () => {
const { data: res } = await getOutboundDetailsAPI(leaseApplyInfo.value.parentId)
detailsList.value = res.leaseApplyDetailsList
console.log(res.leaseApplyInfo)
leaseApplyInfo.value.leaseUnitId = res.leaseApplyInfo.leaseUnitId
leaseApplyInfo.value.leaseUnit = res.leaseApplyInfo.leaseUnit
leaseApplyInfo.value.leaseProjectId = res.leaseApplyInfo.leaseProjectId
leaseApplyInfo.value.leaseProject = res.leaseApplyInfo.leaseProject
// console.log('', res)
}
//
const onCodingItem = (item) => {
console.log(item)
//
const {
status,
manageType,
maTypeName,
typeName,
storageNum,
preNum,
alNum,
unitName,
id,
typeId,
unitValue,
} = item
leaseApplyInfo.value.maTypeName = maTypeName
leaseApplyInfo.value.typeName = typeName
leaseApplyInfo.value.unitName = unitName
leaseApplyInfo.value.storageNum = storageNum
leaseApplyInfo.value.preNum = preNum
leaseApplyInfo.value.alNum = alNum
leaseApplyInfo.value.id = id
leaseApplyInfo.value.typeId = typeId
leaseApplyInfo.value.manageType = manageType
leaseApplyInfo.value.unitValue = unitValue
if (status == 2) {
uni.showToast({ title: '该物资已完成出库!', icon: 'none' })
return
}
let codingUrl = ''
if (manageType === 0) {
codingUrl = '/pages/picking/outbound/code-outbound' //
}
if (manageType == 1) {
codingUrl = '/pages/picking/outbound/num-outbound' //
}
// leaseApplyInfo json
uni.navigateTo({ url: `${codingUrl}?queryParams=${JSON.stringify(leaseApplyInfo.value)}` })
}
})
onShow(() => {
getOutboundDetailsData()
})
//
const getOutboundDetailsData = async () => {
const { data: res } = await getOutboundDetailsAPI(leaseApplyInfo.value.parentId)
console.log(res)
detailsList.value = res.leaseApplyDetailsList;
leaseApplyInfo.value.taskId = res.leaseApplyInfo.taskId;
leaseApplyInfo.value.typeId = res.leaseApplyInfo.typeId;
leaseApplyInfo.value.leaseUnitId = res.leaseApplyInfo.leaseUnitId;
leaseApplyInfo.value.leaseUnit = res.leaseApplyInfo.leaseUnit;
leaseApplyInfo.value.leaseProjectId = res.leaseApplyInfo.leaseProjectId;
leaseApplyInfo.value.leaseProject = res.leaseApplyInfo.leaseProject;
taskStatus.value = res.leaseApplyInfo.taskStatus;
if(taskStatus.value==3){
options.value = [
{ text: '出库',style: {backgroundColor: '#84c649',color: '#fff',fontSize: '28rpx'} },
{ text: '退回',style: {backgroundColor: '#ed6042',color: '#fff',fontSize: '28rpx'} },
{ text: '查看',style: {backgroundColor: '#3784fb',color: '#fff',fontSize: '28rpx'} }
];
options2.value = [
{ text: '退回',style: {backgroundColor: '#ed6042',color: '#fff',fontSize: '28rpx'}},
{ text: '查看',style: {backgroundColor: '#3784fb',color: '#fff',fontSize: '28rpx'}}
]
}else if(taskStatus.value==4){
options.value = [
{ text: '出库',style: {backgroundColor: '#84c649',color: '#fff',fontSize: '28rpx'} },
{ text: '查看',style: {backgroundColor: '#3784fb',color: '#fff',fontSize: '28rpx'} }
];
options2.value = [
{ text: '查看',style: {backgroundColor: '#3784fb',color: '#fff',fontSize: '28rpx'}}
]
}
}
// 退
const leaseOutBack = async (item) => {
console.log(item)
if(item.manageType==0){//
const { status,manageType,maTypeName,typeName,storageNum,preNum,alNum,unitName,id,typeId, unitValue} = item
leaseApplyInfo.value.maTypeName = maTypeName
leaseApplyInfo.value.typeName = typeName
leaseApplyInfo.value.unitName = unitName
leaseApplyInfo.value.storageNum = storageNum
leaseApplyInfo.value.preNum = preNum
leaseApplyInfo.value.alNum = alNum
leaseApplyInfo.value.id = id
leaseApplyInfo.value.typeId = typeId
leaseApplyInfo.value.manageType = manageType
leaseApplyInfo.value.unitValue = unitValue
console.log(leaseApplyInfo.value)
let codingUrl = '/pages/picking/outbound/inner-detail'
// leaseApplyInfo json
uni.navigateTo({ url: `${codingUrl}?queryParams=${JSON.stringify(leaseApplyInfo.value)}&isBack=1` })
}else{
let param = {
outNum:item.alNum,
taskId:leaseApplyInfo.value.taskId,
typeId:item.typeId,
parentId:item.parentId
}
console.log(param)
uni.showModal({
title: '退回',
content: `是否确定退回该类型的出库?`,
confirmText: '确定',
cancelText: '取消',
success: async (res) => {
if (res.confirm) {
const res = await leaseOutBackApi(param)
console.log(res)
if(res.code==200){
uni.showToast({
title: '退回成功!',
icon: 'none',
})
getOutboundDetailsData()
}
}
}
})
}
}
//
const successStyle = {
color: '#52c41a',
@ -224,13 +247,20 @@ const options = ref([
{
text: '出库',
style: {
backgroundColor: '#3784fb',
backgroundColor: '#84c649',
// color: '#fff',
fontSize: '28rpx',
},
},
])
{
text: '查看',
style: {
backgroundColor: '#3784fb',
// color: '#fff',
fontSize: '28rpx',
},
}
])
const options2 = ref([
{
text: '查看',
@ -244,9 +274,106 @@ const options2 = ref([
//
const onClick = (e, item) => {
if (e.index === 0) {
onCodingItem(item)
if(taskStatus.value==3){//
if (e.index === 0) {
if (item.status == 2) {//
console.log(302)//退
leaseOutBack(item)
}else{
console.log(30)
onCodingItem(item)//
}
}
if (e.index === 1) {
if (item.status == 2) {//
console.log(312)
checkViewDetail(item)//
}else{
console.log(31)//退
leaseOutBack(item)
}
}
if (e.index === 2) {
if (item.status == 2) {//
}else{
console.log(32)
checkViewDetail(item)//
}
}
}
if(taskStatus.value==4){//
checkViewDetail(item)//
}
// onCodingItem(item)//
// checkViewDetail(item)//
// onCodingItem(item)//
}
//
const onCodingItem = (item) => {
//
const {
status,
manageType,
maTypeName,
typeName,
storageNum,
preNum,
alNum,
unitName,
id,
typeId,
unitValue,
} = item
leaseApplyInfo.value.maTypeName = maTypeName
leaseApplyInfo.value.typeName = typeName
leaseApplyInfo.value.unitName = unitName
leaseApplyInfo.value.storageNum = storageNum
leaseApplyInfo.value.preNum = preNum
leaseApplyInfo.value.alNum = alNum
leaseApplyInfo.value.id = id
leaseApplyInfo.value.typeId = typeId
leaseApplyInfo.value.manageType = manageType
leaseApplyInfo.value.unitValue = unitValue
console.log(leaseApplyInfo.value)
let codingUrl = ''
if (manageType === 0) {
codingUrl = '/pages/picking/outbound/code-outbound' //
}
if (manageType == 1) {
codingUrl = '/pages/picking/outbound/num-outbound' //
}
// leaseApplyInfo json
uni.navigateTo({ url: `${codingUrl}?queryParams=${JSON.stringify(leaseApplyInfo.value)}` })
}
const checkViewDetail = (item) => {
//
const {
status,
manageType,
maTypeName,
typeName,
storageNum,
preNum,
alNum,
unitName,
id,
typeId,
unitValue,
} = item
leaseApplyInfo.value.maTypeName = maTypeName
leaseApplyInfo.value.typeName = typeName
leaseApplyInfo.value.unitName = unitName
leaseApplyInfo.value.storageNum = storageNum
leaseApplyInfo.value.preNum = preNum
leaseApplyInfo.value.alNum = alNum
leaseApplyInfo.value.id = id
leaseApplyInfo.value.typeId = typeId
leaseApplyInfo.value.manageType = manageType
leaseApplyInfo.value.unitValue = unitValue
console.log(leaseApplyInfo.value)
let codingUrl = '/pages/picking/outbound/inner-detail'
// leaseApplyInfo json
uni.navigateTo({ url: `${codingUrl}?queryParams=${JSON.stringify(leaseApplyInfo.value)}&isBack=0` })
}
</script>

View File

@ -0,0 +1,489 @@
<template>
<view class="page-container">
<!-- 表单信息区域 -->
<scroll-view scroll-y style="height: 100vh;">
<view class="form-section" v-if="queryParams.manageType==1">
<view class="form-content">
<uni-forms :model="formData" label-width="100" :border="true">
<uni-forms-item label="物资类型:" name="maTypeName">
<span style="height: 100%;display: flex;align-items: center;">{{ formData.maTypeName||"" }}</span>
</uni-forms-item>
<uni-forms-item label="规格型号:" name=" typeName">
<span style="height: 100%;display: flex;align-items: center;">{{ formData.typeName||"" }}</span>
</uni-forms-item>
<uni-forms-item label="出库人:" name="createBy">
<span style="height: 100%;display: flex;align-items: center;">{{ formData.createBy||"" }}</span>
</uni-forms-item>
<uni-forms-item label="出库时间:" name="createTime">
<span style="height: 100%;display: flex;align-items: center;">{{ formData.createTime||"" }}</span>
</uni-forms-item>
</uni-forms>
</view>
</view>
<scroll-view scroll-y @scrolltolower="onScrollTolower" v-if="queryParams.manageType==0" style="padding-bottom: 90rpx">
<view class="table-list-item" v-for="item in codeDeviceList" :key="item.maId">
<uni-row :gutter="24">
<uni-col :span="6">物资类型</uni-col>
<uni-col :span="14">
<view class="cont">{{ item.maTypeName }}</view>
</uni-col>
<uni-col :span="4">
<view class="return-btn" @tap="leaseOutBack(item)" v-if="isBack"> 退回 </view>
</uni-col>
<!-- <uni-col :span="4">
<checkbox-group @change="onChangeChecked(item)">
<label>
<checkbox
color="#409eff"
borderColor="#409eff"
activeBorderColor="#409eff"
:checked="item.checked"
style="transform: scale(0.7)"
/>
</label>
</checkbox-group>
</uni-col> -->
</uni-row>
<uni-row :gutter="24">
<uni-col :span="6">规格型号</uni-col>
<uni-col :span="16">
<view class="cont">{{ item.typeName }}</view>
</uni-col>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="6">设备编码</uni-col>
<uni-col :span="16">
<view class="cont">{{ item.maCode }}</view>
</uni-col>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="6">出库人</uni-col>
<uni-col :span="16">
<view class="cont">{{ item.createBy||"" }}</view>
</uni-col>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="6">出库时间</uni-col>
<uni-col :span="16">
<view class="cont">{{item.createTime||""}}</view>
</uni-col>
</uni-row>
</view>
<view class="loading-text">
{{ finish ? '没有更多数据了~' : '正在加载...' }}
</view>
</scroll-view>
</scroll-view>
<!-- <view class="outbound-btn" @tap="leaseOutBack" v-if="isBack"> 退回 </view> -->
</view>
</template>
<script setup>
import { ref, computed, onUnmounted } from 'vue'
import { onLoad, onShow, } from '@dcloudio/uni-app'
import { getDetailsByIdApi, leaseOutBackApi } from '@/services/picking/outbound.js'
import { debounce } from 'lodash-es'
const queryParams = ref({})
const formData = ref({})
const isBack = ref(0)
const codeDeviceList = ref([])
const total = ref(0)
//
const queryCodeParams = ref({
pageNum: 1,
pageSize: 10,
taskId: '',
typeId: '',
})
//
onLoad((options) => {
queryParams.value = JSON.parse(options.queryParams)
if(options.isBack==0){
isBack.value = false
}else{
isBack.value = true
}
})
onShow(() => {
console.log(queryParams.value)
queryCodeParams.value.taskId = queryParams.value.taskId;
queryCodeParams.value.typeId = queryParams.value.typeId;
queryCodeParams.value.pageNum = 1;
codeDeviceList.value = [];
getCodeDeviceListData()//
})
//
const getCodeDeviceListData = async () => {
const res = await getDetailsByIdApi(queryCodeParams.value)
if(queryParams.value.manageType==0){
codeDeviceList.value.push(...res.data.rows)
if (isBack.value&&codeDeviceList.value.length > 0) {
codeDeviceList.value = codeDeviceList.value.map((e) => {
return { ...e, checked: false }
})
}
total.value = res.data.total;
}else if(queryParams.value.manageType==1){
if(res.data.rows&&res.data.rows.length>0){
formData.value=res.data.rows[0]
}else{
formData.value={
maTypeName:queryParams.value.maTypeName,
typeName:queryParams.value.typeName,
createBy:"",
createTime:""
}
}
}
}
//
const onCodeSearch = () => {
queryCodeParams.value.pageNum = 1
codeDeviceList.value = []
getCodeDeviceListData()
}
//
const onScrollTolower = debounce(() => {
// console.log('--')
if (total.value > codeDeviceList.value.length) {
queryCodeParams.value.pageNum++
getCodeDeviceListData()
}
}, 500)
// <EFBFBD><EFBFBD>
const finish = computed(() => {
if (total.value === codeDeviceList.value.length) return true
})
//
const onChangeChecked = (item) => {
item.checked = !item.checked
}
const leaseOutBack = async (item) => {
//
const { typeId, parentId,taskId } = queryParams.value
// const isSelect = codeDeviceList.value.some((e) => e.checked === true)
// if (!isSelect) {
// uni.showToast({
// title: '',
// icon: 'none',
// })
// return
// }
//
// const paramsList = []
// codeDeviceList.value.map((e) => {
// if (e.checked) {
// paramsList.push({
// maId: e.maId,
// taskId,
// parentId,
// typeId,
// })
// }
// })
// console.log(paramsList)
console.log(item)
let param = {
maId: item.maId,
outNum:1,
taskId,
parentId,
typeId,
}
console.log(param)
const res = await leaseOutBackApi(param)
if (res.code === 200) {
uni.showToast({
title: '退回成功!',
icon: 'none',
})
queryCodeParams.value.pageNum = 1
codeDeviceList.value = []
getCodeDeviceListData()//
}
}
</script>
<style lang="scss" scoped>
.page-container {
display: flex;
height: 100%;
flex-direction: column;
background-color: #f7f8fa;
padding: 24rpx;
.table-list-item {
background: #fff;
padding: 32rpx;
border-radius: 20rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);
margin-bottom: 24rpx;
//
:deep(.uni-forms) {
.uni-forms-item {
margin-bottom: 24rpx;
padding: 0;
&:last-child {
margin-bottom: 0;
}
.uni-forms-item__label {
color: #8c8c8c;
font-size: 28rpx;
font-weight: 500;
padding: 0;
line-height: 1.8;
}
.uni-forms-item__content {
display: flex;
align-items: center;
min-height: unset;
}
}
}
//
.coding-btn {
padding: 16rpx 0;
background: linear-gradient(135deg, #4b8eff 0%, #3784fb 100%);
border-radius: 12rpx;
text-align: center;
color: #fff;
font-size: 28rpx;
font-weight: 600;
box-shadow: 0 6rpx 20rpx rgba(55, 132, 251, 0.2);
transition: all 0.3s ease;
&:active {
transform: scale(0.98);
opacity: 0.9;
}
//
&.search-btn {
padding: 12rpx 0;
background: #fff;
color: #ff9800;
border: 2rpx solid rgba(255, 152, 0, 0.5);
background: linear-gradient(to bottom, rgba(255, 152, 0, 0.05), rgba(255, 152, 0, 0.1));
box-shadow: none;
font-weight: 600;
letter-spacing: 1rpx;
&:active {
background: rgba(255, 152, 0, 0.15);
border-color: rgba(255, 152, 0, 0.6);
transform: translateY(1rpx);
}
}
}
//
:deep(.uni-row) {
margin-bottom: 20rpx;
&:last-child {
margin-bottom: 0;
}
.uni-col-6 {
color: #8c8c8c;
font-size: 28rpx;
font-weight: 500;
}
.cont {
color: #262626;
font-size: 28rpx;
font-weight: 500;
line-height: 1.8;
}
}
//
:deep(.uni-easyinput__content) {
background-color: #f7f8fa;
border: 2rpx solid #e8e8e8;
border-radius: 12rpx;
height: 80rpx;
transition: all 0.3s ease;
&:focus-within {
border-color: #3784fb;
box-shadow: 0 0 0 2rpx rgba(55, 132, 251, 0.1);
}
.uni-easyinput__content-input {
font-size: 28rpx;
color: #262626;
}
}
//
:deep(checkbox) {
.wx-checkbox-input {
width: 36rpx;
height: 36rpx;
border-radius: 8rpx;
border: 2rpx solid #e8e8e8;
background: transparent;
&.wx-checkbox-input-checked {
background: #3784fb;
border-color: #3784fb;
&::before {
font-size: 28rpx;
color: #fff;
}
}
&.wx-checkbox-input-disabled {
background: #f5f5f5;
border-color: #e8e8e8;
}
}
}
}
.return-btn{
width: 100%;
height: 60rpx;
background: #fa8c16;
text-align: center;
line-height: 60rpx;
color: #fff;
border-radius: 12rpx;
font-size: 24rpx;
font-weight: 600;
}
//
.outbound-btn {
position: fixed;
bottom: 40rpx;
left: 50%;
transform: translateX(-50%);
width: 90%;
height: 88rpx;
background: linear-gradient(135deg, #4b8eff 0%, #3784fb 100%);
text-align: center;
line-height: 88rpx;
color: #fff;
border-radius: 12rpx;
font-size: 32rpx;
font-weight: 600;
box-shadow: 0 6rpx 20rpx rgba(55, 132, 251, 0.2);
transition: all 0.3s ease;
&:active {
transform: translateX(-50%) scale(0.98);
opacity: 0.9;
}
}
}
//
.loading-text {
text-align: center;
font-size: 26rpx;
color: #8c8c8c;
padding: 32rpx 0;
letter-spacing: 1rpx;
}
.form-section {
background: #fff;
border-radius: 20rpx;
margin-bottom: 24rpx;
overflow: hidden;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);
//
.section-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 24rpx 32rpx;
background: #fff;
cursor: pointer;
transition: all 0.3s ease;
&:active {
background: #f7f8fa;
}
.title {
font-size: 32rpx;
font-weight: 600;
color: #262626;
}
.toggle-icon {
font-size: 40rpx;
color: #8c8c8c;
transform: rotate(90deg);
transition: transform 0.3s ease;
display: inline-block;
&.is-expanded {
transform: rotate(-90deg);
}
}
}
//
.form-content {
max-height: 300px;
overflow: hidden;
transition: max-height 0.3s ease-out;
&.is-expanded {
max-height: 1000rpx; //
}
:deep(.uni-forms) {
padding: 30rpx;
}
:deep(.uni-forms-item) {
margin-bottom: 0rpx;
&:last-child {
margin-bottom: 0;
}
.uni-forms-item__label {
color: #8c8c8c;
}
.form-view {
color: #262626;
font-size: 28rpx;
}
}
}
}
</style>

View File

@ -124,14 +124,11 @@ const onHandleOutbound = async () => {
title: '出库成功!',
icon: 'none',
})
setTimeout(() => {
//
uni.navigateBack({
delta: 1,
success() {
uni.$emit('onUpdate')
},
success() {},
})
}, 500)
}

View File

@ -176,6 +176,9 @@ const bindMa = (qrCode) => {
if(res.code==200){
uni.showToast({ title: '绑定成功', icon: 'none' })
getCodeList()
setTimeout(()=>{
scanStart()
},500)
}else{
uni.showToast({ title: '绑定失败', icon: 'none' })
}

View File

@ -11,7 +11,7 @@ export const getPickingOutboundListAPI = (data) => {
})
}
/**
* 领料出库 ---- 列表详情
* 领料出库 ---- 任务详情
*/
export const getOutboundDetailsAPI = (id) => {
return http({
@ -20,7 +20,28 @@ export const getOutboundDetailsAPI = (id) => {
})
}
/**
* 领料出库 ---- 数量出库
* 领料出库 ---- 物资详情
*/
export const getCodeDetailAPI = (data) => {
return http({
method: 'GET',
url: `/material/lease_apply_info/getInnerById`,
data
})
}
/**
* 领料出库 ---- 查看详情
*/
export const getDetailsByIdApi = (data) => {
return http({
method: 'GET',
url: `/material/lease_apply_info/getDetailsById`,
data
})
}
/**
* 领料出库 ---- 出库
*/
export const setOutboundNumAPI = (data) => {
return http({
@ -39,6 +60,7 @@ export const getCodeDeviceListAPI = (data) => {
data,
})
}
//
export const getCodeScanAPI = (data) => {
return http({
method: 'GET',
@ -46,3 +68,11 @@ export const getCodeScanAPI = (data) => {
data,
})
}
//出库退回
export const leaseOutBackApi = (data) => {
return http({
method: 'POSt',
url: '/material/lease_apply_info/leaseOutBack',
data,
})
}

View File

@ -6,10 +6,10 @@ import { useMemberStore } from '@/stores'
* baseURL 设置请求ip地址和端口
*/
const ENV = process.env.NODE_ENV
export const baseURL = ENV === 'development' ? 'http://192.168.0.244:18580' : 'http://192.168.0.244:18580'//测试
// export const baseURL = ENV === 'development' ? 'http://192.168.0.244:18580' : 'http://192.168.0.244:18580'//测试
// export const baseURL = ENV === 'development' ? 'http://36.33.26.201:19988/prod-api/' : 'http://36.33.26.201:19988/prod-api/'//生产
// export const baseURL = ENV === 'development' ? 'http://192.168.0.234:18080' : '***'
// export const baseURL = ENV === 'development' ? 'http://192.168.2.248:18080' : '***'
export const baseURL = ENV === 'development' ? 'http://192.168.2.246:18080' : 'http://192.168.2.246:18080'//马
// export const baseURL = ENV === 'development' ? '/api' : '***'
/**
* httpInterceptor 分别拦截 request uploadFile 请求