205 lines
5.6 KiB
Vue
205 lines
5.6 KiB
Vue
<template>
|
||
<view class="app status-bar-gap">
|
||
<view class="page">
|
||
<l-header :title="titleText()" sticky></l-header>
|
||
<view class="data-item" :style="[{'background-color':'#ffffff'}]">
|
||
<view class="dataText">
|
||
<view class="itemBox">
|
||
<view>生产订单</view>
|
||
<view class="zongjian"></view>
|
||
<view>{{ state.FBillNo }}</view>
|
||
</view>
|
||
<view class="timebox">
|
||
<view>开始生产时间:</view>
|
||
<uni-datetime-picker hasInput :show="state.FStartProTimeShow" v-model="state.FStartProTimes" :visibleItemCount="3" disabled
|
||
mode="datetime"></uni-datetime-picker>
|
||
</view>
|
||
<view class="timebox">
|
||
<view>开始测试时间:</view>
|
||
<uni-datetime-picker hasInput :show="state.FProTestTimeShow" v-model="state.FProTestTimes" :visibleItemCount="3" disabled
|
||
mode="datetime"></uni-datetime-picker>
|
||
</view>
|
||
<view class="timebox">
|
||
<view>开始汇报时间:</view>
|
||
<uni-datetime-picker hasInput :show="state.FProReportTimeShow" v-model="state.FProReportTimes" :visibleItemCount="3" disabled
|
||
mode="datetime"></uni-datetime-picker>
|
||
</view>
|
||
<view class="timebox" v-if="state.type === '1'">
|
||
<view>开始投产个数:</view>
|
||
<up-input placeholder="请输入开始投产个数" clearable inputmode="numeric" v-memo="state.qty"></up-input>
|
||
</view>
|
||
</view>
|
||
<view class="btnList">
|
||
<up-button v-show="state.type === '1'" class="btnItem" type="primary" shape="circle"
|
||
@click="PRD_MOPushIntoProFun"
|
||
text="确认"></up-button>
|
||
<up-button v-show="state.type !== '1'" class="btnItem" type="primary" shape="circle"
|
||
@click="PRD_MORPTSaveFun"
|
||
text="确认"></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_MOViewIntoPro } from '../../common/request/api/api';
|
||
import { timeFormat } from '@/uni_modules/uview-plus';
|
||
import { pageDataInfo } from '../../stores/info.js';
|
||
const pageDataInfoCom = pageDataInfo()
|
||
const state = reactive({
|
||
id: '',
|
||
FBillNo: '',
|
||
FStartProTimeShow: false,
|
||
FProTestTimeShow: false,
|
||
FProReportTimeShow: false,
|
||
FStartProTimes: '', //开始生产时间
|
||
FProTestTimes: '', //开始测试时间
|
||
FProReportTimes: '',//开始汇报时间
|
||
EnterIntoProData: {},
|
||
type: '',
|
||
qty:''
|
||
})
|
||
onShow(() => {
|
||
let pageData = pageDataInfoCom.userInfos
|
||
state.EnterIntoProData = pageData
|
||
state.id = pageData.FID
|
||
state.FBillNo = pageData.FBillNo
|
||
state.type = pageData.type
|
||
|
||
if (state.type === '1' && state.FStartProTimes == '') {
|
||
state.FStartProTimes = timeFormat(pageData.time, 'yyyy-mm-dd hh:MM:ss')
|
||
}
|
||
if(pageData.FStartProTimes !== ''){
|
||
state.FStartProTimes = pageData.FStartProTimes
|
||
}
|
||
if (state.type === '2' && state.FProReportTimes == '') {
|
||
state.FProReportTimes = timeFormat(pageData.time, 'yyyy-mm-dd hh:MM:ss')
|
||
}
|
||
if(pageData.FProReportTimes !== ''){
|
||
state.FProReportTimes = pageData.FProReportTimes
|
||
}
|
||
if (state.type === '3' && state.FProTestTimes == '') {
|
||
state.FProTestTimes = timeFormat(pageData.time, 'yyyy-mm-dd hh:MM:ss')
|
||
}
|
||
if(pageData.FProTestTimes !== ''){
|
||
state.FProTestTimes = pageData.FProTestTimes
|
||
}
|
||
})
|
||
const titleText = () => {
|
||
if(state.type === '1') return '开始生产'
|
||
if(state.type === '2') return '开始汇报'
|
||
if(state.type === '3') return '开始测试'
|
||
}
|
||
const PRD_MORPTSaveFun = () => {
|
||
PRD_MOViewIntoPro({
|
||
Number:state.FBillNo
|
||
}).then((res:any) => {
|
||
if(res.code === 200){
|
||
if(res.data.FRPFID !== ''){
|
||
PRD_MORPTSave({
|
||
Model:JSON.stringify({
|
||
FID:res.data.FRPFID,
|
||
FStartProTimes:state.FStartProTimes,
|
||
FProTestTimes:state.FProTestTimes,
|
||
FProReportTimes:state.FProReportTimes,
|
||
})
|
||
}).then((resItem:any) => {
|
||
if(resItem.code === 200){
|
||
uni.$u.toast('操作成功')
|
||
}
|
||
})
|
||
} else {
|
||
uni.$u.toast('请先进行生产')
|
||
}
|
||
}
|
||
})
|
||
}
|
||
const PRD_MOPushIntoProFun = () => {
|
||
PRD_MOPushIntoPro({
|
||
EntryIds: state.id + '',
|
||
TargetFormId: "PRD_MORPT",
|
||
IsEnableDefaultRule: "true",
|
||
CustomParams: {
|
||
ScanEntry: [
|
||
{
|
||
FStartProTimes: state.FStartProTimes,
|
||
FENTRYID: state.id + '',
|
||
Qty: Number(state.qty)
|
||
}
|
||
]
|
||
}
|
||
}).then((res : any) => {
|
||
if(res.code === 200){
|
||
uni.$u.toast('操作成功')
|
||
}
|
||
})
|
||
}
|
||
const formatLangTextValue = (val : any) => {
|
||
let lang_Id = uni.getStorageSync('locale')
|
||
let item = val.find(p => p.Key == (lang_Id == 'cn' ? 2052 : 1033));
|
||
if (item != null) {
|
||
return item.Value;
|
||
}
|
||
return 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> |