158 lines
4.0 KiB
Vue
158 lines
4.0 KiB
Vue
<template>
|
||
<view class="app status-bar-gap">
|
||
<view class="page">
|
||
<l-header :title="state.FBillNo" sticky></l-header>
|
||
<view class="data-item" :style="[{'background-color':'#ffffff'}]">
|
||
<view class="dataText">
|
||
<view class="itemBox">
|
||
<view>{{ t('index.cpmc') }}</view>
|
||
<view class="zongjian"></view>
|
||
<view>{{ formatLangTextValue(state.viewData.MaterialName) }}</view>
|
||
</view>
|
||
<view class="itemBox">
|
||
<view>{{ t('index.scdd') }}</view>
|
||
<view class="zongjian"></view>
|
||
<view>{{ state.FBillNo }}</view>
|
||
</view>
|
||
<view class="itemBox">
|
||
<view>{{ t('index.cpbm') }}</view>
|
||
<view class="zongjian"></view>
|
||
<view>{{ state.viewData.MaterialNumber }}</view>
|
||
</view>
|
||
<view class="itemBox">
|
||
<view>{{ t('public.qty') }}</view>
|
||
<view class="zongjian"></view>
|
||
<view>{{ state.viewData.Qty }}</view>
|
||
</view>
|
||
<view class="itemBox">
|
||
<view>{{ t('index.llts') }}:</view>
|
||
<view class="zongjian"></view>
|
||
<view style="width: 50%;">
|
||
<up-input :placeholder="t('index.llts')" clearable inputAlign="right" inputmode="numeric"
|
||
@change="quantityStrChange" v-model="state.quantityStr">
|
||
</up-input>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="btnList">
|
||
<up-button class="btnItem" type="primary" shape="circle" :text="t('public.confirm')" @click="WholeSetPushFun"></up-button>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script setup lang="ts">
|
||
import { reactive, nextTick, onMounted, ref, computed, watch } from 'vue';
|
||
import { onLoad, onShow, onReachBottom, } from '@dcloudio/uni-app'
|
||
import { PRD_MOEnterIntoPro, PRD_MOPushIntoPro, PRD_MORPTSave, PRD_MOView, PRD_MOViewIntoPro, WholeSetPush, WholeSetView } from '../../common/request/api/api';
|
||
import { timeFormat } from '@/uni_modules/uview-plus';
|
||
import { pageDataInfo } from '../../stores/info.js';
|
||
import { useI18n } from 'vue-i18n'
|
||
const getI18n = useI18n()
|
||
const { t, locale } = getI18n
|
||
const pageDataInfoCom = pageDataInfo()
|
||
const state = reactive({
|
||
id: '',
|
||
FBillNo: '',
|
||
quantityStr: '',//开始汇报时间
|
||
viewData: {}
|
||
})
|
||
onLoad((pageData : any) => {
|
||
state.id = pageData.id
|
||
state.FBillNo = pageData.fBillNo
|
||
getPRD_MOViewFun()
|
||
})
|
||
const quantityStrChange = (e : any) => {
|
||
if (Number(state.viewData.Qty) < Number(e)) {
|
||
uni.$u.toast(t('index.llthbddy'))
|
||
}
|
||
}
|
||
|
||
const WholeSetPushFun = () => {
|
||
WholeSetPush({
|
||
FBillNo:state.FBillNo,
|
||
SetsQty:state.quantityStr
|
||
}).then((res:any) => {
|
||
if(res.code === 200){
|
||
uni.$u.toast(t('public.cg'))
|
||
}
|
||
})
|
||
}
|
||
|
||
//获取详情数据
|
||
const getPRD_MOViewFun = () => {
|
||
WholeSetView({ Id: state.id }).then((res : any) => {
|
||
if (res.code === 200) {
|
||
state.viewData = res.data.Entry[0]
|
||
}
|
||
})
|
||
}
|
||
const formatLangTextValue = (val : any) => {
|
||
if (!val || !Array.isArray(val)) { // 检查 val 是否存在且为数组
|
||
return ''; // 返回默认值或空字符串
|
||
}
|
||
let lang_Id = uni.getStorageSync('locale');
|
||
let item = val.find((p : any) => p.Key === (lang_Id === 'cn' ? 2052 : 1033));
|
||
return item ? item.Value : (val[0]?.Value || '');
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
:deep(.uni-date__x-input) {
|
||
color: black !important;
|
||
}
|
||
|
||
.app {
|
||
background-color: #F5F5F5;
|
||
|
||
.page {
|
||
padding: 18px 32rpx;
|
||
display: flex;
|
||
flex-direction: column;
|
||
height: 100%;
|
||
flex: 1;
|
||
|
||
.data-item {
|
||
border: 1px solid #efeaea;
|
||
border-radius: 20rpx;
|
||
padding: 20rpx 22rpx;
|
||
background-color: #ffffff;
|
||
flex: 1;
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: space-between;
|
||
|
||
.btnList {
|
||
display: flex;
|
||
margin-bottom: 32rpx;
|
||
|
||
.btnItem {
|
||
width: 40%;
|
||
}
|
||
}
|
||
|
||
.timebox {
|
||
display: flex;
|
||
align-items: center;
|
||
margin-top: 32rpx;
|
||
}
|
||
|
||
.itemBox {
|
||
line-height: 50rpx;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
margin-bottom: 32rpx;
|
||
|
||
.zongjian {
|
||
height: 1px;
|
||
flex: 1;
|
||
background-color: #f0f0f0;
|
||
margin: 0 16rpx;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</style> |