| | |
| | | <script setup lang="ts"> |
| | | import { computed, ref, watch } from 'vue'; |
| | | import { jsonClone } from '~/packages/utils'; |
| | | import { fetchCreatePackerData, fetchUpdatePackerData } from '@/service/api/analy/packer-data'; |
| | | import { useFormRules, useNaiveForm } from '@/hooks/common/form'; |
| | | import { $t } from '@/locales'; |
| | | import { jsonClone } from '~/packages/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'PackerDataOperateDrawer' |
| | |
| | | |
| | | function createDefaultModel(): Model { |
| | | return { |
| | | time: null, |
| | | key: '', |
| | | online: null, |
| | | qty: null, |
| | | badQty: null, |
| | | xiaohemoVal: null, |
| | | tiaohemoVal: null, |
| | | xiaohezhiVal: null, |
| | | tiaohezhiVal: null, |
| | | neichenzhiVal: null, |
| | | runTime: null, |
| | | stopTime: null, |
| | | stopTimes: null, |
| | | speed: null, |
| | | runStatus: null, |
| | | tsQty: null, |
| | | mainQty: null, |
| | | mainBadQty: null, |
| | | tbjQty: null, |
| | | tbjGdQty: null, |
| | | tbjBadQty: null, |
| | | pbjQty: null, |
| | | shift: null, |
| | | equNo: null |
| | | time: null, |
| | | key: '', |
| | | online: null, |
| | | qty: null, |
| | | badQty: null, |
| | | xiaohemoVal: null, |
| | | tiaohemoVal: null, |
| | | xiaohezhiVal: null, |
| | | tiaohezhiVal: null, |
| | | neichenzhiVal: null, |
| | | runTime: null, |
| | | stopTime: null, |
| | | stopTimes: null, |
| | | speed: null, |
| | | runStatus: null, |
| | | tsQty: null, |
| | | mainQty: null, |
| | | mainBadQty: null, |
| | | tbjQty: null, |
| | | tbjGdQty: null, |
| | | tbjBadQty: null, |
| | | pbjQty: null, |
| | | shift: null, |
| | | equNo: null |
| | | }; |
| | | } |
| | | |
| | | type RuleKey = Extract< |
| | | keyof Model, |
| | | | 'time' |
| | | | 'shift' |
| | | | 'equNo' |
| | | >; |
| | | type RuleKey = Extract<keyof Model, 'time' | 'shift' | 'equNo'>; |
| | | |
| | | const rules: Record<RuleKey, App.Global.FormRule> = { |
| | | time: createRequiredRule('时间不能为空'), |
| | |
| | | async function handleSubmit() { |
| | | await validate(); |
| | | |
| | | const { time, key, online, qty, badQty, xiaohemoVal, tiaohemoVal, xiaohezhiVal, tiaohezhiVal, neichenzhiVal, runTime, stopTime, stopTimes, speed, runStatus, tsQty, mainQty, mainBadQty, tbjQty, tbjGdQty, tbjBadQty, pbjQty, shift, equNo } = model.value; |
| | | const { |
| | | time, |
| | | key, |
| | | online, |
| | | qty, |
| | | badQty, |
| | | xiaohemoVal, |
| | | tiaohemoVal, |
| | | xiaohezhiVal, |
| | | tiaohezhiVal, |
| | | neichenzhiVal, |
| | | runTime, |
| | | stopTime, |
| | | stopTimes, |
| | | speed, |
| | | runStatus, |
| | | tsQty, |
| | | mainQty, |
| | | mainBadQty, |
| | | tbjQty, |
| | | tbjGdQty, |
| | | tbjBadQty, |
| | | pbjQty, |
| | | shift, |
| | | equNo |
| | | } = model.value; |
| | | |
| | | // request |
| | | if (props.operateType === 'add') { |
| | | const { error } = await fetchCreatePackerData({ time, key, online, qty, badQty, xiaohemoVal, tiaohemoVal, xiaohezhiVal, tiaohezhiVal, neichenzhiVal, runTime, stopTime, stopTimes, speed, runStatus, tsQty, mainQty, mainBadQty, tbjQty, tbjGdQty, tbjBadQty, pbjQty, shift, equNo }); |
| | | const { error } = await fetchCreatePackerData({ |
| | | time, |
| | | key, |
| | | online, |
| | | qty, |
| | | badQty, |
| | | xiaohemoVal, |
| | | tiaohemoVal, |
| | | xiaohezhiVal, |
| | | tiaohezhiVal, |
| | | neichenzhiVal, |
| | | runTime, |
| | | stopTime, |
| | | stopTimes, |
| | | speed, |
| | | runStatus, |
| | | tsQty, |
| | | mainQty, |
| | | mainBadQty, |
| | | tbjQty, |
| | | tbjGdQty, |
| | | tbjBadQty, |
| | | pbjQty, |
| | | shift, |
| | | equNo |
| | | }); |
| | | if (error) return; |
| | | } |
| | | |
| | | if (props.operateType === 'edit') { |
| | | const { error } = await fetchUpdatePackerData({ time, key, online, qty, badQty, xiaohemoVal, tiaohemoVal, xiaohezhiVal, tiaohezhiVal, neichenzhiVal, runTime, stopTime, stopTimes, speed, runStatus, tsQty, mainQty, mainBadQty, tbjQty, tbjGdQty, tbjBadQty, pbjQty, shift, equNo }); |
| | | const { error } = await fetchUpdatePackerData({ |
| | | time, |
| | | key, |
| | | online, |
| | | qty, |
| | | badQty, |
| | | xiaohemoVal, |
| | | tiaohemoVal, |
| | | xiaohezhiVal, |
| | | tiaohezhiVal, |
| | | neichenzhiVal, |
| | | runTime, |
| | | stopTime, |
| | | stopTimes, |
| | | speed, |
| | | runStatus, |
| | | tsQty, |
| | | mainQty, |
| | | mainBadQty, |
| | | tbjQty, |
| | | tbjGdQty, |
| | | tbjBadQty, |
| | | pbjQty, |
| | | shift, |
| | | equNo |
| | | }); |
| | | if (error) return; |
| | | } |
| | | |
| | |
| | | /> |
| | | </NFormItem> |
| | | <NFormItem label="key" path="key"> |
| | | <NInput |
| | | v-model:value="model.key" |
| | | :rows="3" |
| | | type="textarea" |
| | | placeholder="请输入key" |
| | | /> |
| | | <NInput v-model:value="model.key" :rows="3" type="textarea" placeholder="请输入key" /> |
| | | </NFormItem> |
| | | <NFormItem label="网络状态(0异常,1正常)" path="online"> |
| | | <NInput v-model:value="model.online" placeholder="请输入网络状态(0异常,1正常)" /> |
| | | <NInputNumber v-model:value="model.online" placeholder="请输入网络状态(0异常,1正常)" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="产量" path="qty"> |
| | | <NInput v-model:value="model.qty" placeholder="请输入产量" /> |
| | | <NInputNumber v-model:value="model.qty" placeholder="请输入产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="剔除产量" path="badQty"> |
| | | <NInput v-model:value="model.badQty" placeholder="请输入剔除产量" /> |
| | | <NInputNumber v-model:value="model.badQty" placeholder="请输入剔除产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="小盒膜消耗" path="xiaohemoVal"> |
| | | <NInput v-model:value="model.xiaohemoVal" placeholder="请输入小盒膜消耗" /> |
| | | <NInputNumber v-model:value="model.xiaohemoVal" placeholder="请输入小盒膜消耗" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="条盒膜消耗" path="tiaohemoVal"> |
| | | <NInput v-model:value="model.tiaohemoVal" placeholder="请输入条盒膜消耗" /> |
| | | <NInputNumber v-model:value="model.tiaohemoVal" placeholder="请输入条盒膜消耗" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="小盒纸消耗" path="xiaohezhiVal"> |
| | | <NInput v-model:value="model.xiaohezhiVal" placeholder="请输入小盒纸消耗" /> |
| | | <NInputNumber v-model:value="model.xiaohezhiVal" placeholder="请输入小盒纸消耗" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="条盒纸消耗" path="tiaohezhiVal"> |
| | | <NInput v-model:value="model.tiaohezhiVal" placeholder="请输入条盒纸消耗" /> |
| | | <NInputNumber v-model:value="model.tiaohezhiVal" placeholder="请输入条盒纸消耗" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="内衬纸消耗" path="neichenzhiVal"> |
| | | <NInput v-model:value="model.neichenzhiVal" placeholder="请输入内衬纸消耗" /> |
| | | <NInputNumber v-model:value="model.neichenzhiVal" placeholder="请输入内衬纸消耗" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="运行时间" path="runTime"> |
| | | <NInput v-model:value="model.runTime" placeholder="请输入运行时间" /> |
| | | <NInputNumber v-model:value="model.runTime" placeholder="请输入运行时间" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="停机时间" path="stopTime"> |
| | | <NInput v-model:value="model.stopTime" placeholder="请输入停机时间" /> |
| | | <NInputNumber v-model:value="model.stopTime" placeholder="请输入停机时间" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="停机次数" path="stopTimes"> |
| | | <NInput v-model:value="model.stopTimes" placeholder="请输入停机次数" /> |
| | | <NInputNumber v-model:value="model.stopTimes" placeholder="请输入停机次数" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="车速" path="speed"> |
| | | <NInput v-model:value="model.speed" placeholder="请输入车速" /> |
| | | <NInputNumber v-model:value="model.speed" placeholder="请输入车速" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="运行状态(-1 断网 0停止 1低速运行 2正常运行)" path="runStatus"> |
| | | <NRadioGroup v-model:value="model.runStatus"> |
| | | <NSpace> |
| | | <NRadio value="0" label="请选择字典生成" /> |
| | | <NRadio :value="0" label="请选择字典生成" /> |
| | | </NSpace> |
| | | </NRadioGroup> |
| | | </NFormItem> |
| | | <NFormItem label="提升机产量" path="tsQty"> |
| | | <NInput v-model:value="model.tsQty" placeholder="请输入提升机产量" /> |
| | | <NInputNumber v-model:value="model.tsQty" placeholder="请输入提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="主机产量(小包机)" path="mainQty"> |
| | | <NInput v-model:value="model.mainQty" placeholder="请输入主机产量(小包机)" /> |
| | | <NInputNumber v-model:value="model.mainQty" placeholder="请输入主机产量(小包机)" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="主机剔除量" path="mainBadQty"> |
| | | <NInput v-model:value="model.mainBadQty" placeholder="请输入主机剔除量" /> |
| | | <NInputNumber v-model:value="model.mainBadQty" placeholder="请输入主机剔除量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="透包机产量" path="tbjQty"> |
| | | <NInput v-model:value="model.tbjQty" placeholder="请输入透包机产量" /> |
| | | <NInputNumber v-model:value="model.tbjQty" placeholder="请输入透包机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="透包机剔除好包" path="tbjGdQty"> |
| | | <NInput v-model:value="model.tbjGdQty" placeholder="请输入透包机剔除好包" /> |
| | | <NInputNumber v-model:value="model.tbjGdQty" placeholder="请输入透包机剔除好包" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="透包机剔除坏包" path="tbjBadQty"> |
| | | <NInput v-model:value="model.tbjBadQty" placeholder="请输入透包机剔除坏包" /> |
| | | <NInputNumber v-model:value="model.tbjBadQty" placeholder="请输入透包机剔除坏包" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="排包机产量" path="pbjQty"> |
| | | <NInput v-model:value="model.pbjQty" placeholder="请输入排包机产量" /> |
| | | <NInputNumber v-model:value="model.pbjQty" placeholder="请输入排包机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="班次" path="shift"> |
| | | <NSelect |
| | | v-model:value="model.shift" |
| | | placeholder="请选择班次" |
| | | :options="[{ value: '0', label: '请选择字典生成' }]" |
| | | :options="[{ value: 0, label: '请选择字典生成' }]" |
| | | clearable |
| | | /> |
| | | </NFormItem> |
| | |
| | | <NSelect |
| | | v-model:value="model.equNo" |
| | | placeholder="请选择设备" |
| | | :options="[{ value: '0', label: '请选择字典生成' }]" |
| | | :options="[{ value: 0, label: '请选择字典生成' }]" |
| | | clearable |
| | | /> |
| | | </NFormItem> |