Browse Source

修改直接上架 2024/8/3

pull/1/head
test 4 months ago
parent
commit
054900db97
  1. 67
      src/common/style/pdabasic.css
  2. 8
      src/pages.json
  3. 121
      src/pages/fg/receiptByPlan.vue
  4. 33
      src/pages/fg/receiptNoPlan.vue
  5. 58
      src/pages/productPutaway/record/productPutawayRecord.vue
  6. 1
      src/pages/productReceipt/record/productReceiptRecord.vue
  7. 48
      src/pages/productReceipt/record/semiDirectReceipt.vue

67
src/common/style/pdabasic.css

@ -253,6 +253,7 @@
font-size: 28rpx; font-size: 28rpx;
background: rgba(95, 203, 148, 0.2); background: rgba(95, 203, 148, 0.2);
color: #22AF68; color: #22AF68;
padding: 10rpx 20rpx 10rpx 20rpx;
border-radius: 10rpx; border-radius: 10rpx;
} }
@ -281,9 +282,8 @@
/* 关闭 */ /* 关闭 */
.other { .other {
/* background-color: #808080; */ background-color: #808080;
color: #b4a5ff; color: #FFFFFF;
font-size: 26rpx;
border-radius: 10rpx; border-radius: 10rpx;
} }
@ -329,19 +329,16 @@
.inventory_status_insp { .inventory_status_insp {
color: #F9AE3D; color: #F9AE3D;
margin-right: 10rpx; margin-right: 10rpx;
font-size:26rpx
} }
.inventory_status_ok { .inventory_status_ok {
color: #67C23A; color: #67C23A;
margin-right: 10rpx; margin-right: 10rpx;
font-size:26rpx
} }
.inventory_status_nok { .inventory_status_nok {
color: #FF2424; color: #FF2424;
margin-right: 10rpx; margin-right: 10rpx;
font-size:26rpx
} }
.inventory_status_hold { .inventory_status_hold {
@ -483,9 +480,10 @@ export function getItemTypeStyle(val) {
.detail-list { .detail-list {
background-color: #fff; background-color: #fff;
margin:20rpx 20rpx; padding: 5rpx 10rpx;
padding:0px 20rpx; /* margin: 20rpx; */
border-radius: 16rpx; /* border-radius: 16rpx; */
/* overflow: hidden; */
} }
.detail-content { .detail-content {
@ -633,7 +631,7 @@ export function getItemTypeStyle(val) {
/* border-width: 0.5px; /* border-width: 0.5px;
border-style: solid; border-style: solid;
border-color: #e5e5e5; border-color: #e5e5e5;
border-radius: 5px; border-radius: 5px;
background-color: rgb(248, 248, 248); background-color: rgb(248, 248, 248);
font-size: 18px;*/ font-size: 18px;*/
font-size: .825rem; font-size: .825rem;
@ -723,44 +721,38 @@ page {
flex-direction: column; flex-direction: column;
width: 100%; width: 100%;
height: 100%; height: 100%;
background-color: #f5f5f5; /* background-color: #fff; */
} }
.page-header { .page-header {
background-color: rgb(60, 156, 255) !important; background-color: #3c9cff;
font-size: 35rpx; font-size: 35rpx;
padding: 10rpx 20rpx 20rpx; padding: 10rpx 20rpx;
} }
.page-header .header-view { .page-header .header-view {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
background-color: #fff; background-color: #fff;
font-size: 35rpx; font-size: 35rpx;
padding: 10rpx 20rpx; padding: 10rpx 20rpx;
border-radius:4px; border-radius: 4px;
} }
.page-header-box{ .page-header .header-view .header_item {
background-color: #fff !important;
padding:0px 20rpx 20rpx;
border-radius: 12rpx;
}
.page-header .header_item {
/* padding-left: 10rpx; */ /* padding-left: 10rpx; */
font-size:28rpx ; padding: 5rpx 10rpx;
color:#777E94; font-size: 32rpx;
}
.page-header .header_item text{
color:#011C43;
} }
.page-header .header_job_top { .page-header .header-view .header_job_top {
padding:5rpx 0rpx; padding: 5rpx 0rpx;
} }
.page-main { .page-main {
flex: 1; flex: 1;
position: relative; position: relative;
background: #fff;
} }
.page-main-scroll { .page-main-scroll {
@ -779,15 +771,10 @@ page {
} }
.choose-box1{ .page-footer {
background: white; /* color: #fff; */
padding:10rpx 20rpx line-height: 100rpx;
} /* 不放大不缩小固定100rpx */
.choose-item1{ flex: 0 0 100rpx;
border: 1px solid rgba(230, 230, 230, 1); /* background-color: #00AAFF; */
padding: 20rpx; }
display: flex
}
.choose-text1{
flex:1
}

8
src/pages.json

@ -1103,7 +1103,6 @@
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
{ {
"path": "pages/productReceipt/record/productReceiptRecord", "path": "pages/productReceipt/record/productReceiptRecord",
"style": { "style": {
@ -1145,7 +1144,14 @@
} }
}, },
{
"path": "pages/productPutaway/record/productPutawayRecord",
"style": {
"navigationBarTitleText": "制品上架记录",
"enablePullDownRefresh": false
}
},
{ {
"path": "pages/productPutaway/record/fgDirectPutaway", "path": "pages/productPutaway/record/fgDirectPutaway",
"style": { "style": {

121
src/pages/fg/receiptByPlan.vue

@ -1,89 +1,99 @@
<template> <template>
<view class="page-wraper" style="background-color: #fff"> <view class="page-wraper" style="background-color: #fff;">
<view class="header"> <view class="header">
<view class=""> <view class="">
<com-blank-view @goScan="openFg" v-if="!dataContent"></com-blank-view> <com-blank-view @goScan='openFg' v-if="!dataContent"></com-blank-view>
</view> </view>
<view class="" v-if="dataContent"> <view class="" v-if="dataContent">
<view class="page-header"> <view class="page-header">
<view class="header-view" > <view class="header-view">
<view class="" style="font-size: 35rpx; padding: 10rpx; padding-left: 15rpx"> 生产计划{{ dataContent.planNumber }} </view> <view class="" style="font-size: 35rpx;padding: 10rpx; padding-left: 15rpx;">
生产计划{{dataContent.planNumber}}
</view>
<view class="cell_box uni-flex uni-row"> <view class="cell_box uni-flex uni-row">
<view class="cell_info"> <view class="cell_info">
<view class="text_lightblue">完工库位</view> <view class="text_lightblue">完工库位</view>
<view style="font-size: 30rpx; margin-top: 13rpx">{{ dataContent.fgLocationCode }} </view> <view style="font-size: 30rpx; margin-top: 13rpx;">{{dataContent.fgLocationCode}}
</view> </view>
<view class="cell_info">
<view class="text_lightblue">计划数</view> </view>
<view>{{ dataContent.planQty }}{{ dataContent.uom }}</view> <view class="cell_info">
</view> <view class="text_lightblue">计划数</view>
<view class="cell_info"> <view>{{dataContent.planQty}}{{dataContent.uom}}</view>
<view class="text_lightblue">已完工</view> </view>
<view>{{ dataContent.goodQty }}{{ dataContent.uom }}</view> <view class="cell_info">
</view> <view class="text_lightblue">已完工</view>
<view class="cell_info"> <view>{{ dataContent.goodQty }}{{dataContent.uom}}</view>
<view class="text_lightblue">未完工</view> </view>
<view>{{ dataContent.noGoodQty }}{{ dataContent.uom }}</view> <view class="cell_info">
</view> <view class="text_lightblue">未完工</view>
</view> <view>{{dataContent.noGoodQty}}{{dataContent.uom}}</view>
</view>
</view>
</view> </view>
</view> </view>
<view class="" style="padding-top: 10rpx; padding-bottom: 10rpx; margin-left: 10rpx"> <view class="" style="padding: 10rpx; margin-left: 10rpx;">
<item :dataContent="dataContent"></item> <item :dataContent="dataContent"></item>
</view> </view>
<view class="split_line"></view> <view class='split_line'></view>
<view class="uni-flex uni-row space-between" style="align-items: center;padding: 0 10rpx;"> <view class="uni-flex uni-row space-between" style="align-items: center;padding: 0 10rpx;">
<view style="word-break: break-all"> <view style="word-break: break-all;">
<batch :batch="dataContent.batch"></batch> <batch :batch="dataContent.batch"></batch>
<view class="card_view"> <view class="card_view ">
<text style="color: #ffa500; padding: 5px; font-size: 30rpx">包装规格</text> <text style="color: #FFA500;padding: 5px;font-size: 30rpx;">包装规格</text>
<text class="card_content">{{ dataContent.packUnit }} </text> <text class="card_content ">{{dataContent.packUnit}} </text>
</view> </view>
</view> </view>
<view style="word-break: break-all; font-size: 35rpx; font-weight: bold"> <view style="word-break: break-all; font-size: 35rpx; font-weight: bold;">
<text v-if="dataContent.handleQty > 0" style="color: #ffa500">{{ dataContent.handleQty }}/</text> <text v-if="dataContent.handleQty>0" style="color: #FFA500;">{{dataContent.handleQty}}/</text>
<text class="text_recommend">{{ dataContent.packQtyHint }}</text> <text class="text_recommend">{{dataContent.packQtyHint}}</text>
</view> </view>
</view> </view>
<view class="split_line" v-if="dataContent"></view> <view class='split_line' v-if="dataContent"></view>
</view> </view>
</view> </view>
<view style="margin-top: 425rpx; padding-bottom: 160rpx" v-if="dataContent">
<view style="margin-top: 425rpx; padding-bottom: 160rpx;" v-if="dataContent">
<scroll-view scroll-y="true" class=""> <scroll-view scroll-y="true" class="">
<view class="scan_view" v-for="(item, index) in showList" :key="index"> <view class="scan_view" v-for="(item, index) in showList" :key="index">
<uni-swipe-action> <uni-swipe-action>
<uni-swipe-action-item :right-options="options" @click="swipeClick($event, item, index)"> <uni-swipe-action-item :right-options="options" @click="swipeClick($event,item,index)">
<view class="uni-flex uni-row" style="margin-left: 30rpx; margin-top: 10rpx; margin-bottom: 10rpx"> <view class="uni-flex uni-row "
<light :lightCode="item.content"></light> style="margin-left: 30rpx; margin-top: 10rpx; margin-bottom: 10rpx;">
<!-- <view class="auto-wrap" style="font-size: 35rpx; font-weight: bold; width: 100%"> <light :lightCode='item.content'></light>
<text style="font-size: 30rpx; color: #b66463">唯一码 </text> <!-- <view class="auto-wrap" style="font-size: 35rpx;font-weight: bold; width: 100%;">
{{ item.content }} <text style="font-size: 30rpx;color: #B66463;">唯一码 </text>
{{item.content}}
</view> --> </view> -->
</view> </view>
</uni-swipe-action-item> </uni-swipe-action-item>
</uni-swipe-action> </uni-swipe-action>
<u-line color="#D8D8D8"></u-line>
</view> </view>
</scroll-view> </scroll-view>
<uni-load-more :status="loadingType" v-if="showList.length > 0" /> <uni-load-more :status="loadingType" v-if="showList.length>0" />
</view> </view>
<view class="page-footer" v-if="dataContent"> <view class="page-footer" v-if="dataContent">
<view class="uni-flex u-col-center space-between" style="background-color: ghostwhite; width: 100%"> <view class="uni-flex u-col-center space-between " style="background-color:ghostwhite; width: 100%; ">
<view class=""> <view class="">
<view class="uni-flex uni-row"> </view> <view class="uni-flex uni-row">
</view>
</view> </view>
<view class="uni-flex uni-row"> <view class=" uni-flex uni-row">
<button class="btn_single_clear" hover-class="btn_commit_after" style="margin-right: 50rpx" @click="clear">清空</button> <button class="btn_single_clear" hover-class="btn_commit_after" style="margin-right: 50rpx;"
@click="clear">清空</button>
<button class="btn_single_commit" hover-class="btn_commit_after" @click="submit">提交</button> <button class="btn_single_commit" hover-class="btn_commit_after" @click="submit">提交</button>
</view> </view>
</view> </view>
</view> </view>
<comReceiptPopup ref="comReceiptPopupRef" @confirm="requestConfirm"></comReceiptPopup> <comReceiptPopup ref="comReceiptPopup" @confirm='requestConfirm'></comReceiptPopup>
<win-scan-button v-if="dataContent" @goScan="openScanPopup"></win-scan-button> <win-scan-button v-if="dataContent" @goScan='openScanPopup'></win-scan-button>
<win-scan-fg-label ref=" " @getResult="getScanResult" title="灯码标签"></win-scan-fg-label> <win-scan-fg-label ref="scanPopup" @getResult='getScanResult' title='灯码标签'></win-scan-fg-label>
<com-message ref="comMessageRef" /> <comMessage ref="comMessage"></comMessage>
</view> </view>
</template> </template>
@ -93,7 +103,7 @@ import { onLoad, onShow, onNavigationBarButtonTap, onReady, onBackPress, onReach
import { isCheckMesCode, planReceiptSubmit, createPutawayRequestByPlan, createInspectRequestByPlan, getPlanByNumber } from '@/api/request2.js' import { isCheckMesCode, planReceiptSubmit, createPutawayRequestByPlan, createInspectRequestByPlan, getPlanByNumber } from '@/api/request2.js'
import { calc } from '@/common/calc.js' import { calc } from '@/common/calc.js'
import { getRemoveOption, deepCopyData, getCurrDateTime, compare } from '@/common/basic.js' import { getRemoveOption, deepCopyData, getCurrDateTime, compare,getSwitchInfoByCode } from '@/common/basic.js'
import winScanButton from '@/mycomponents/scan/winScanButton.vue' import winScanButton from '@/mycomponents/scan/winScanButton.vue'
import comBlankView from '@/mycomponents/common/comBlankView.vue' import comBlankView from '@/mycomponents/common/comBlankView.vue'
import comReceiptPopup from '@/pages/fg/coms/comReceiptPopup.vue' import comReceiptPopup from '@/pages/fg/coms/comReceiptPopup.vue'
@ -240,9 +250,14 @@ const commit = async () => {
throw new Error('提交失败') throw new Error('提交失败')
} }
createPutawayRequestByPlan(list[0].requestNumber).then((res) => { //
createInspectRequestByPlan(list[0].requestNumber) let createProductputawaySwitch = getSwitchInfoByCode(
}) "CreateProductputawayRequestAfterProductreceiptRecordCreated")
if (createProductputawaySwitch) {
createPutawayRequestByPlan(list[0].requestNumber).then(res => {
createInspectRequestByPlan(list[0].requestNumber)
})
}
const queryParams = { const queryParams = {
filters: [ filters: [

33
src/pages/fg/receiptNoPlan.vue

@ -7,7 +7,7 @@
</view> </view>
<view class="" v-if="dataContent"> <view class="" v-if="dataContent">
<view class="page-header"> <view class="page-header">
<view class="header-view" > <view class="header-view">
<view class="cell_box uni-flex uni-row"> <view class="cell_box uni-flex uni-row">
<view class="cell_info"> <view class="cell_info">
<view class="text_lightblue">完工库位</view> <view class="text_lightblue">完工库位</view>
@ -104,7 +104,8 @@ import {
getRemoveOption, getRemoveOption,
deepCopyData, deepCopyData,
getCurrDateTime, getCurrDateTime,
compare compare,
getSwitchInfoByCode
} from '@/common/basic.js'; } from '@/common/basic.js';
import winScanButton from '@/mycomponents/scan/winScanButton.vue' import winScanButton from '@/mycomponents/scan/winScanButton.vue'
import comBlankView from '@/mycomponents/common/comBlankView.vue' import comBlankView from '@/mycomponents/common/comBlankView.vue'
@ -143,7 +144,8 @@ export default {
}; };
}, },
onShow() {}, onShow() {
},
onLoad() { onLoad() {
this.options = getRemoveOption() this.options = getRemoveOption()
@ -287,25 +289,14 @@ export default {
throw new Error("提交失败") throw new Error("提交失败")
} }
createPutawayRequestByPlan(list[0].requestNumber).then(res => { let createProductputawaySwitch = getSwitchInfoByCode(
createInspectRequestByPlan(list[0].requestNumber) "CreateProductputawayRequestAfterProductreceiptRecordCreated")
}) if (createProductputawaySwitch) {
createPutawayRequestByPlan(list[0].requestNumber).then(res => {
var queryParams = { createInspectRequestByPlan(list[0].requestNumber)
filters: [{ })
column: "plan_type",
action: "==",
value: "assemble"
},
{
column: "number",
action: "==",
value: this.dataContent.planNumber
}
],
pageNo: 1,
pageSize: 100,
} }
uni.hideLoading() uni.hideLoading()
this.showCommitSuccessMessage("提交成功<br>生成装配收货记录<br>" + list[0].requestNumber, list) this.showCommitSuccessMessage("提交成功<br>生成装配收货记录<br>" + list[0].requestNumber, list)

58
src/pages/productPutaway/record/productPutawayRecord.vue

@ -4,8 +4,8 @@
<com-blank-view @goScan="openScanPopup" v-if="detailSource.length == 0"></com-blank-view> <com-blank-view @goScan="openScanPopup" v-if="detailSource.length == 0"></com-blank-view>
</view> </view>
<view class="page-wraper" v-if="detailSource.length > 0"> <view class="uni-flex uni-column" v-if="detailSource.length > 0">
<view class="page-main"> <view class="">
<scroll-view scroll-y="true" class="page-main-scroll"> <scroll-view scroll-y="true" class="page-main-scroll">
<view class="detail-list" v-for="(item, index) in detailSource" :key="item.id"> <view class="detail-list" v-for="(item, index) in detailSource" :key="item.id">
<view class=""> <view class="">
@ -18,11 +18,9 @@
</scroll-view> </scroll-view>
</view> </view>
<view class="page-footer"> <view class="page-footer" v-if="detailSource.length > 0">
<view class="uni-flex u-col-center space-between padding_10" style="background-color: ghostwhite; width: 100%"> <view class="uni-flex u-col-center space-between padding_10" style="background-color: ghostwhite; width: 100%">
<view class=""> <view class="">
<!-- <requiredLocation title="目标库位" :locationCode="toLocationCode" @getLocation="getToLocationCode"-->
<!-- :locationAreaTypeList="tolocationTypeList"></requiredLocation>-->
</view> </view>
<view class="uni-flex uni-row"> <view class="uni-flex uni-row">
<button class="btn_single_reject" style="margin-right:5px ;" hover-class="btn_commit_after" <button class="btn_single_reject" style="margin-right:5px ;" hover-class="btn_commit_after"
@ -41,8 +39,8 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, getCurrentInstance, nextTick } from 'vue' import {ref, getCurrentInstance, nextTick, onMounted} from 'vue'
import { onLoad, onNavigationBarButtonTap, onReady, onReachBottom, onPullDownRefresh } from '@dcloudio/uni-app' import { onLoad, onNavigationBarButtonTap, onReady, onReachBottom, onPullDownRefresh ,onBackPress } from '@dcloudio/uni-app'
import { productPutawayRecordSubmit,getrecommendLocationExpectin, recommendLocationRemoveExpectin } from '@/api/request2.js' import { productPutawayRecordSubmit,getrecommendLocationExpectin, recommendLocationRemoveExpectin } from '@/api/request2.js'
import { goHome, getPackingNumberAndBatchByList, deepCopyData, updateTitle } from '@/common/basic.js' import { goHome, getPackingNumberAndBatchByList, deepCopyData, updateTitle } from '@/common/basic.js'
import { getPrecisionStrategyList } from '@/common/balance.js' import { getPrecisionStrategyList } from '@/common/balance.js'
@ -82,7 +80,18 @@
const type = ref('') const type = ref('')
const editItem = ref(null) const editItem = ref(null)
const toLocationAreaTypeList = ref([]) const toLocationAreaTypeList = ref([])
onLoad((option) => { // type = 'assemble'
// type = 'predict'
const props = defineProps({
putawayType: 'assemble'
})
onBackPress(()=>{
})
onPullDownRefresh(()=>{
})
onMounted((option) => {
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: option.title title: option.title
}) })
@ -354,7 +363,7 @@
}) })
}) })
dataContent.value.subList = subList dataContent.value.subList = subList
dataContent.value.type = type.value dataContent.value.type = props.putawayType
dataContent.value.creator = creator dataContent.value.creator = creator
return dataContent.value return dataContent.value
} }
@ -425,36 +434,5 @@
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
page {
width: 100%;
height: 100%;
background-color: #fff;
}
.page-wraper {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
}
.page-main {
flex: 1;
position: relative;
}
.page-main-scroll {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
.page-main-list {
/* height: 80rpx;
line-height: 80rpx; */
text-align: center;
background: #e0e0e0;
}
</style> </style>

1
src/pages/productReceipt/record/productReceiptRecord.vue

@ -290,6 +290,7 @@ const setParams = () => {
}) })
dataContent.value.subList = subList dataContent.value.subList = subList
dataContent.value.creator = creator dataContent.value.creator = creator
dataContent.value.type = "predict";//使
dataContent.value.workshopCode = workshopCode.value dataContent.value.workshopCode = workshopCode.value
return dataContent.value return dataContent.value
} }

48
src/pages/productReceipt/record/semiDirectReceipt.vue

@ -0,0 +1,48 @@
<template>
<view class="">
<product-receipt-record :title="title" ref="productPutawayRecord" type='predict'></product-receipt-record>
</view>
</template>
<script>
import productReceiptRecord from '@/pages/productReceipt/record/productReceiptRecord.vue'
export default {
components: {
productReceiptRecord
},
data() {
return {
title:''
};
},
onLoad(option){
this.title = option.title
},
onShow() {
if(this.$refs.productReceiptRecord!=undefined){
this.$refs.productReceiptRecord.refresh();
}
},
onPullDownRefresh() {
this.$refs.productReceiptRecord.refresh();
},
onNavigationBarButtonTap(e) {
if (e.index === 0) {
this.$refs.productReceiptRecord.toHome();
} else if (e.index == 1) {
this.$refs.productReceiptRecord.openFilter();
}
},
methods: {
}
}
</script>
<style scoped lang="scss">
</style>
Loading…
Cancel
Save