| | |
| | | <script setup lang="ts"> |
| | | import { computed, ref, watch } from 'vue'; |
| | | import { jsonClone } from '~/packages/utils'; |
| | | import { fetchCreateHoisterData, fetchUpdateHoisterData } from '@/service/api/analy/hoister-data'; |
| | | import { useFormRules, useNaiveForm } from '@/hooks/common/form'; |
| | | import { $t } from '@/locales'; |
| | | import { jsonClone } from '~/packages/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'HoisterDataOperateDrawer' |
| | |
| | | |
| | | function createDefaultModel(): Model { |
| | | return { |
| | | time: null, |
| | | key: '', |
| | | online: null, |
| | | qty: null, |
| | | tState1: null, |
| | | tState2: null, |
| | | tState3: null, |
| | | tState4: null, |
| | | tState5: null, |
| | | tState6: null, |
| | | tState7: null, |
| | | tState8: null, |
| | | tState9: null, |
| | | tState10: null, |
| | | tState11: null, |
| | | tState12: null, |
| | | pState1: null, |
| | | pState2: null, |
| | | pState3: null, |
| | | pState4: null, |
| | | tQty1: null, |
| | | tQty2: null, |
| | | tQty3: null, |
| | | tQty4: null, |
| | | tQty5: null, |
| | | tQty6: null, |
| | | tQty7: null, |
| | | tQty8: null, |
| | | tQty9: null, |
| | | tQty10: null, |
| | | tQty11: null, |
| | | tQty12: null, |
| | | pQty1: null, |
| | | pQty2: null, |
| | | pQty3: null, |
| | | pQty4: null, |
| | | shift: null, |
| | | equNo: null, |
| | | remark: '' |
| | | time: null, |
| | | key: '', |
| | | online: null, |
| | | qty: null, |
| | | tState1: null, |
| | | tState2: null, |
| | | tState3: null, |
| | | tState4: null, |
| | | tState5: null, |
| | | tState6: null, |
| | | tState7: null, |
| | | tState8: null, |
| | | tState9: null, |
| | | tState10: null, |
| | | tState11: null, |
| | | tState12: null, |
| | | pState1: null, |
| | | pState2: null, |
| | | pState3: null, |
| | | pState4: null, |
| | | tQty1: null, |
| | | tQty2: null, |
| | | tQty3: null, |
| | | tQty4: null, |
| | | tQty5: null, |
| | | tQty6: null, |
| | | tQty7: null, |
| | | tQty8: null, |
| | | tQty9: null, |
| | | tQty10: null, |
| | | tQty11: null, |
| | | tQty12: null, |
| | | pQty1: null, |
| | | pQty2: null, |
| | | pQty3: null, |
| | | pQty4: null, |
| | | shift: null, |
| | | equNo: null, |
| | | remark: '' |
| | | }; |
| | | } |
| | | |
| | | type RuleKey = Extract< |
| | | keyof Model, |
| | | | 'time' |
| | | | 'key' |
| | | >; |
| | | type RuleKey = Extract<keyof Model, 'time' | 'key'>; |
| | | |
| | | const rules: Record<RuleKey, App.Global.FormRule> = { |
| | | time: createRequiredRule('时间不能为空'), |
| | | key: createRequiredRule('key不能为空'), |
| | | key: createRequiredRule('key不能为空') |
| | | }; |
| | | |
| | | function handleUpdateModelWhenEdit() { |
| | |
| | | async function handleSubmit() { |
| | | await validate(); |
| | | |
| | | const { time, key, online, qty, tState1, tState2, tState3, tState4, tState5, tState6, tState7, tState8, tState9, tState10, tState11, tState12, pState1, pState2, pState3, pState4, tQty1, tQty2, tQty3, tQty4, tQty5, tQty6, tQty7, tQty8, tQty9, tQty10, tQty11, tQty12, pQty1, pQty2, pQty3, pQty4, shift, equNo, remark } = model.value; |
| | | const { |
| | | time, |
| | | key, |
| | | online, |
| | | qty, |
| | | tState1, |
| | | tState2, |
| | | tState3, |
| | | tState4, |
| | | tState5, |
| | | tState6, |
| | | tState7, |
| | | tState8, |
| | | tState9, |
| | | tState10, |
| | | tState11, |
| | | tState12, |
| | | pState1, |
| | | pState2, |
| | | pState3, |
| | | pState4, |
| | | tQty1, |
| | | tQty2, |
| | | tQty3, |
| | | tQty4, |
| | | tQty5, |
| | | tQty6, |
| | | tQty7, |
| | | tQty8, |
| | | tQty9, |
| | | tQty10, |
| | | tQty11, |
| | | tQty12, |
| | | pQty1, |
| | | pQty2, |
| | | pQty3, |
| | | pQty4, |
| | | shift, |
| | | equNo, |
| | | remark |
| | | } = model.value; |
| | | |
| | | // request |
| | | if (props.operateType === 'add') { |
| | | const { error } = await fetchCreateHoisterData({ time, key, online, qty, tState1, tState2, tState3, tState4, tState5, tState6, tState7, tState8, tState9, tState10, tState11, tState12, pState1, pState2, pState3, pState4, tQty1, tQty2, tQty3, tQty4, tQty5, tQty6, tQty7, tQty8, tQty9, tQty10, tQty11, tQty12, pQty1, pQty2, pQty3, pQty4, shift, equNo, remark }); |
| | | const { error } = await fetchCreateHoisterData({ |
| | | time, |
| | | key, |
| | | online, |
| | | qty, |
| | | tState1, |
| | | tState2, |
| | | tState3, |
| | | tState4, |
| | | tState5, |
| | | tState6, |
| | | tState7, |
| | | tState8, |
| | | tState9, |
| | | tState10, |
| | | tState11, |
| | | tState12, |
| | | pState1, |
| | | pState2, |
| | | pState3, |
| | | pState4, |
| | | tQty1, |
| | | tQty2, |
| | | tQty3, |
| | | tQty4, |
| | | tQty5, |
| | | tQty6, |
| | | tQty7, |
| | | tQty8, |
| | | tQty9, |
| | | tQty10, |
| | | tQty11, |
| | | tQty12, |
| | | pQty1, |
| | | pQty2, |
| | | pQty3, |
| | | pQty4, |
| | | shift, |
| | | equNo, |
| | | remark |
| | | }); |
| | | if (error) return; |
| | | } |
| | | |
| | | if (props.operateType === 'edit') { |
| | | const { error } = await fetchUpdateHoisterData({ time, key, online, qty, tState1, tState2, tState3, tState4, tState5, tState6, tState7, tState8, tState9, tState10, tState11, tState12, pState1, pState2, pState3, pState4, tQty1, tQty2, tQty3, tQty4, tQty5, tQty6, tQty7, tQty8, tQty9, tQty10, tQty11, tQty12, pQty1, pQty2, pQty3, pQty4, shift, equNo, remark }); |
| | | const { error } = await fetchUpdateHoisterData({ |
| | | time, |
| | | key, |
| | | online, |
| | | qty, |
| | | tState1, |
| | | tState2, |
| | | tState3, |
| | | tState4, |
| | | tState5, |
| | | tState6, |
| | | tState7, |
| | | tState8, |
| | | tState9, |
| | | tState10, |
| | | tState11, |
| | | tState12, |
| | | pState1, |
| | | pState2, |
| | | pState3, |
| | | pState4, |
| | | tQty1, |
| | | tQty2, |
| | | tQty3, |
| | | tQty4, |
| | | tQty5, |
| | | tQty6, |
| | | tQty7, |
| | | tQty8, |
| | | tQty9, |
| | | tQty10, |
| | | tQty11, |
| | | tQty12, |
| | | pQty1, |
| | | pQty2, |
| | | pQty3, |
| | | pQty4, |
| | | shift, |
| | | equNo, |
| | | remark |
| | | }); |
| | | if (error) return; |
| | | } |
| | | |
| | |
| | | if (visible.value) { |
| | | handleUpdateModelWhenEdit(); |
| | | restoreValidation(); |
| | | getTreeList(); |
| | | } |
| | | }); |
| | | </script> |
| | |
| | | /> |
| | | </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="1#提升机状态" path="tState1"> |
| | | <NInput v-model:value="model.tState1" placeholder="请输入1#提升机状态" /> |
| | | <NInputNumber v-model:value="model.tState1" placeholder="请输入1#提升机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="2#提升机状态" path="tState2"> |
| | | <NInput v-model:value="model.tState2" placeholder="请输入2#提升机状态" /> |
| | | <NInputNumber v-model:value="model.tState2" placeholder="请输入2#提升机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="3#提升机状态" path="tState3"> |
| | | <NInput v-model:value="model.tState3" placeholder="请输入3#提升机状态" /> |
| | | <NInputNumber v-model:value="model.tState3" placeholder="请输入3#提升机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="4#提升机状态" path="tState4"> |
| | | <NInput v-model:value="model.tState4" placeholder="请输入4#提升机状态" /> |
| | | <NInputNumber v-model:value="model.tState4" placeholder="请输入4#提升机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="5#提升机状态" path="tState5"> |
| | | <NInput v-model:value="model.tState5" placeholder="请输入5#提升机状态" /> |
| | | <NInputNumber v-model:value="model.tState5" placeholder="请输入5#提升机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="6#提升机状态" path="tState6"> |
| | | <NInput v-model:value="model.tState6" placeholder="请输入6#提升机状态" /> |
| | | <NInputNumber v-model:value="model.tState6" placeholder="请输入6#提升机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="7#提升机状态" path="tState7"> |
| | | <NInput v-model:value="model.tState7" placeholder="请输入7#提升机状态" /> |
| | | <NInputNumber v-model:value="model.tState7" placeholder="请输入7#提升机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="8#提升机状态" path="tState8"> |
| | | <NInput v-model:value="model.tState8" placeholder="请输入8#提升机状态" /> |
| | | <NInputNumber v-model:value="model.tState8" placeholder="请输入8#提升机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="9#提升机状态" path="tState9"> |
| | | <NInput v-model:value="model.tState9" placeholder="请输入9#提升机状态" /> |
| | | <NInputNumber v-model:value="model.tState9" placeholder="请输入9#提升机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="10#提升机状态" path="tState10"> |
| | | <NInput v-model:value="model.tState10" placeholder="请输入10#提升机状态" /> |
| | | <NInputNumber v-model:value="model.tState10" placeholder="请输入10#提升机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="11#提升机状态" path="tState11"> |
| | | <NInput v-model:value="model.tState11" placeholder="请输入11#提升机状态" /> |
| | | <NInputNumber v-model:value="model.tState11" placeholder="请输入11#提升机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="12#提升机状态" path="tState12"> |
| | | <NInput v-model:value="model.tState12" placeholder="请输入12#提升机状态" /> |
| | | <NInputNumber v-model:value="model.tState12" placeholder="请输入12#提升机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="1#排包机状态" path="pState1"> |
| | | <NInput v-model:value="model.pState1" placeholder="请输入1#排包机状态" /> |
| | | <NInputNumber v-model:value="model.pState1" placeholder="请输入1#排包机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="2#排包机状态" path="pState2"> |
| | | <NInput v-model:value="model.pState2" placeholder="请输入2#排包机状态" /> |
| | | <NInputNumber v-model:value="model.pState2" placeholder="请输入2#排包机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="3#排包机状态" path="pState3"> |
| | | <NInput v-model:value="model.pState3" placeholder="请输入3#排包机状态" /> |
| | | <NInputNumber v-model:value="model.pState3" placeholder="请输入3#排包机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="4#排包机状态" path="pState4"> |
| | | <NInput v-model:value="model.pState4" placeholder="请输入4#排包机状态" /> |
| | | <NInputNumber v-model:value="model.pState4" placeholder="请输入4#排包机状态" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="1#提升机产量" path="tQty1"> |
| | | <NInput v-model:value="model.tQty1" placeholder="请输入1#提升机产量" /> |
| | | <NInputNumber v-model:value="model.tQty1" placeholder="请输入1#提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="2#提升机产量" path="tQty2"> |
| | | <NInput v-model:value="model.tQty2" placeholder="请输入2#提升机产量" /> |
| | | <NInputNumber v-model:value="model.tQty2" placeholder="请输入2#提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="3#提升机产量" path="tQty3"> |
| | | <NInput v-model:value="model.tQty3" placeholder="请输入3#提升机产量" /> |
| | | <NInputNumber v-model:value="model.tQty3" placeholder="请输入3#提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="4#提升机产量" path="tQty4"> |
| | | <NInput v-model:value="model.tQty4" placeholder="请输入4#提升机产量" /> |
| | | <NInputNumber v-model:value="model.tQty4" placeholder="请输入4#提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="5#提升机产量" path="tQty5"> |
| | | <NInput v-model:value="model.tQty5" placeholder="请输入5#提升机产量" /> |
| | | <NInputNumber v-model:value="model.tQty5" placeholder="请输入5#提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="6#提升机产量" path="tQty6"> |
| | | <NInput v-model:value="model.tQty6" placeholder="请输入6#提升机产量" /> |
| | | <NInputNumber v-model:value="model.tQty6" placeholder="请输入6#提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="7#提升机产量" path="tQty7"> |
| | | <NInput v-model:value="model.tQty7" placeholder="请输入7#提升机产量" /> |
| | | <NInputNumber v-model:value="model.tQty7" placeholder="请输入7#提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="8#提升机产量" path="tQty8"> |
| | | <NInput v-model:value="model.tQty8" placeholder="请输入8#提升机产量" /> |
| | | <NInputNumber v-model:value="model.tQty8" placeholder="请输入8#提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="9#提升机产量" path="tQty9"> |
| | | <NInput v-model:value="model.tQty9" placeholder="请输入9#提升机产量" /> |
| | | <NInputNumber v-model:value="model.tQty9" placeholder="请输入9#提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="10#提升机产量" path="tQty10"> |
| | | <NInput v-model:value="model.tQty10" placeholder="请输入10#提升机产量" /> |
| | | <NInputNumber v-model:value="model.tQty10" placeholder="请输入10#提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="11#提升机产量" path="tQty11"> |
| | | <NInput v-model:value="model.tQty11" placeholder="请输入11#提升机产量" /> |
| | | <NInputNumber v-model:value="model.tQty11" placeholder="请输入11#提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="12#提升机产量" path="tQty12"> |
| | | <NInput v-model:value="model.tQty12" placeholder="请输入12#提升机产量" /> |
| | | <NInputNumber v-model:value="model.tQty12" placeholder="请输入12#提升机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="1#排包机产量" path="pQty1"> |
| | | <NInput v-model:value="model.pQty1" placeholder="请输入1#排包机产量" /> |
| | | <NInputNumber v-model:value="model.pQty1" placeholder="请输入1#排包机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="2#排包机产量" path="pQty2"> |
| | | <NInput v-model:value="model.pQty2" placeholder="请输入2#排包机产量" /> |
| | | <NInputNumber v-model:value="model.pQty2" placeholder="请输入2#排包机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="3#排包机产量" path="pQty3"> |
| | | <NInput v-model:value="model.pQty3" placeholder="请输入3#排包机产量" /> |
| | | <NInputNumber v-model:value="model.pQty3" placeholder="请输入3#排包机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="4#排包机产量" path="pQty4"> |
| | | <NInput v-model:value="model.pQty4" placeholder="请输入4#排包机产量" /> |
| | | <NInputNumber v-model:value="model.pQty4" placeholder="请输入4#排包机产量" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="班次" path="shift"> |
| | | <NInput v-model:value="model.shift" placeholder="请输入班次" /> |
| | | <NInputNumber v-model:value="model.shift" placeholder="请输入班次" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="设备" path="equNo"> |
| | | <NInput v-model:value="model.equNo" placeholder="请输入设备" /> |
| | | <NInputNumber v-model:value="model.equNo" placeholder="请输入设备" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="备注" path="remark"> |
| | | <NInput v-model:value="model.remark" placeholder="请输入备注" /> |