| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <script setup lang="ts"> |
| | | import {computed, onMounted, reactive, ref} from "vue"; |
| | | import {userListNoPageByTenantId} from "@/api/system/user.js"; |
| | | import {ElMessage} from "element-plus"; |
| | | import {addProductMain} from "@/api/productionManagement/workOrder.js"; |
| | | |
| | | defineOptions({ |
| | | name: "GranulationForm" |
| | | }); |
| | | |
| | | const props = defineProps({ |
| | | isShow: { |
| | | type: Boolean, |
| | | required: true |
| | | }, |
| | | isEdit: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | row: { |
| | | type: Object, |
| | | default: () => ({}), |
| | | } |
| | | }); |
| | | |
| | | const emits = defineEmits(["update:isShow", "refreshData"]); |
| | | |
| | | const visible = computed({ |
| | | get: () => props.isShow, |
| | | set: (value: boolean) => emits("update:isShow", value), |
| | | }); |
| | | |
| | | const formData = reactive({ |
| | | productProcessRouteItemId: undefined, |
| | | workOrderId: undefined, |
| | | planQuantity: undefined, |
| | | reportWork: undefined, |
| | | productMainId: undefined, |
| | | quantity: undefined, // äº§åºæ°é |
| | | userId: undefined, // ä½ä¸å |
| | | userName: undefined, // ä½ä¸å |
| | | otherData: { |
| | | whiteMaterialNumber: undefined, // ç½ææå· |
| | | ingredientDateTime: undefined, // é
ææ¥ææ¶é´ |
| | | weight: undefined, // éé |
| | | stirredMillIncludesMixing: { |
| | | oneBucketStartTime: undefined, // 1æ¡¶å¼å§æ¶é´ |
| | | oneBucketEndTime: undefined, // 1æ¡¶ç»ææ¶é´ |
| | | twoBucketStartTime: undefined, // 2æ¡¶å¼å§æ¶é´ |
| | | twoBucketEndTime: undefined, // 2æ¡¶ç»ææ¶é´ |
| | | fiveBucketStartTime: undefined, // 5æ¡¶å¼å§æ¶é´ |
| | | fiveBucketEndTime: undefined, // 5æ¡¶ç»ææ¶é´ |
| | | powderWeight: undefined, // ç²æéé |
| | | waterWeight: undefined, // æ°´éé |
| | | stirStartTime: undefined, // æ
æå¼å§æ¶é´ |
| | | stirEndTime: undefined, // æ
æç»ææ¶é´ |
| | | stirDispersantWeight: undefined, // æ
æåæ£åéé |
| | | userId: undefined, |
| | | userName: undefined, |
| | | confirmId: undefined, |
| | | confirmName: undefined, |
| | | }, |
| | | granulation: { |
| | | output: undefined, // äº§åºæ»äº§é |
| | | qualifiedMaterialWeight: undefined, // åæ ¼æéé |
| | | wallMaterial: undefined, // 壿 |
| | | wasteMaterials: undefined, // å°¾æ |
| | | }, |
| | | burningMaterial: { |
| | | startTime: undefined, // å¼å§æ¶é´ |
| | | endTime: undefined, // ç»ææ¶é´ |
| | | furnaceNumber: undefined, // çå· |
| | | highestTemperatureZone: undefined, // æé«æ¸©åº |
| | | calcinationRate: undefined, // ç
ç§é度 |
| | | calcinationWeight: undefined, // ç
ç§éé |
| | | userId: undefined, |
| | | userName: undefined, |
| | | confirmId: undefined, |
| | | confirmName: undefined, |
| | | }, |
| | | powder: { |
| | | excess: undefined, // ç²ç¢ææ¾ææ²¡è¶
è¿ææéä½çº¿ |
| | | }, |
| | | burntBlockBatchNumber: undefined, // ç§åææ¹æ¬¡å· |
| | | burntBlockBatchNumberDate: undefined, // ç§åææ¥æ |
| | | stirredMill: { |
| | | threeBucketStartTime: undefined, // 3æ¡¶å¼å§æ¶é´ |
| | | threeBucketEndTime: undefined, // 3æ¡¶ç»ææ¶é´ |
| | | threeBucketMixingPowderWeight: undefined, // 3æ¡¶å ç²æéé |
| | | fourBucketStartTime: undefined, // 4æ¡¶å¼å§æ¶é´ |
| | | fourBucketEndTime: undefined, // 4æ¡¶ç»ææ¶é´ |
| | | fourBucketMixingPowderWeight: undefined, // 4æ¡¶å ç²æéé |
| | | sixBucketStartTime: undefined, // 6æ¡¶å¼å§æ¶é´ |
| | | sixBucketEndTime: undefined, // 6æ¡¶ç»ææ¶é´ |
| | | sixBucketMixingPowderWeight: undefined, // 6æ¡¶å ç²æéé |
| | | userId: undefined, |
| | | userName: undefined, |
| | | confirmId: undefined, |
| | | confirmName: undefined, |
| | | }, |
| | | stir: { |
| | | startTime: undefined, |
| | | endTime: undefined, |
| | | weightRatio: undefined, // ééæ¯ï¼æ°´/æï¼ |
| | | pva: undefined, // PVAnç²ååéé |
| | | dispersantWeight: undefined, // 忣åéé |
| | | releaseAgentWeight: undefined, // è±æ¨¡åéé |
| | | }, |
| | | granulationB: { |
| | | startTime: undefined, |
| | | endTime: undefined, |
| | | atomizerRotationalSpeed: undefined, // é¾åå¨è½¬é |
| | | importSpeed: undefined, // è¿å£é度 |
| | | outSpeed: undefined, // åºå£é度 |
| | | qualifiedWeight: undefined, // åæ ¼éé |
| | | wallMaterial: undefined, // 壿 |
| | | wasteMaterials: undefined, // å°¾æ |
| | | userId: undefined, |
| | | userName: undefined, |
| | | confirmId: undefined, |
| | | confirmName: undefined, |
| | | }, |
| | | remark: undefined, // 夿³¨ |
| | | } |
| | | }) |
| | | |
| | | const userOptions = ref([]); |
| | | const getUserList = () => { |
| | | userListNoPageByTenantId() |
| | | .then(res => { |
| | | if (res.code === 200) { |
| | | userOptions.value = res.data || []; |
| | | } |
| | | }) |
| | | .catch(err => { |
| | | console.error("è·åç¨æ·å表失败", err); |
| | | }); |
| | | }; |
| | | // ç¨æ·éæ©ååæ¶æ´æ° userName |
| | | const handleUserChange = (userId: any, reportType: string) => { |
| | | if (userId) { |
| | | const selectedUser = userOptions.value.find(user => user.userId === userId); |
| | | |
| | | switch (reportType) { |
| | | case 'stirredMillIncludesMixingUserId': |
| | | formData.otherData.stirredMillIncludesMixing.userName = selectedUser.userName; |
| | | break; |
| | | case 'stirredMillIncludesMixingConfirmId': |
| | | formData.otherData.stirredMillIncludesMixing.confirmName = selectedUser.userName; |
| | | break; |
| | | case 'burningMaterialUserId': |
| | | formData.otherData.burningMaterial.userName = selectedUser.userName; |
| | | break; |
| | | case 'burningMaterialConfirmId': |
| | | formData.otherData.stirredMillIncludesMixing.confirmName = selectedUser.userName; |
| | | break; |
| | | case 'stirredMillUserId': |
| | | formData.otherData.stirredMill.userName = selectedUser.userName; |
| | | break; |
| | | case 'stirredMillConfirmId': |
| | | formData.otherData.stirredMill.confirmName = selectedUser.userName; |
| | | break; |
| | | } |
| | | } else { |
| | | switch (reportType) { |
| | | case 'stirredMillIncludesMixingUserId': |
| | | formData.otherData.stirredMillIncludesMixing.userName = ""; |
| | | break; |
| | | case 'stirredMillIncludesMixingConfirmId': |
| | | formData.otherData.stirredMillIncludesMixing.confirmName = ""; |
| | | break; |
| | | case 'burningMaterialUserId': |
| | | formData.otherData.burningMaterial.userName = ""; |
| | | break; |
| | | case 'burningMaterialConfirmId': |
| | | formData.otherData.stirredMillIncludesMixing.confirmName = ""; |
| | | break; |
| | | case 'stirredMillUserId': |
| | | formData.otherData.stirredMill.userName = ""; |
| | | break; |
| | | case 'stirredMillConfirmId': |
| | | formData.otherData.stirredMill.confirmName = ""; |
| | | break; |
| | | } |
| | | } |
| | | }; |
| | | // todo ä¿®æ¹ä½ä¸åï¼å¨ææä½ä¸åä¸è·åå¡«å
¥çå¼ï¼å¦ææ²¡æåæç¤ºä¸æäº¤ |
| | | const handleReport = () => { |
| | | if (!formData.otherData.userId && !formData.otherData.surfaceCopperPasteUserId && !formData.otherData.underlyingCopperPasteUserId) { |
| | | ElMessage.error('è¯·éæ©ä½ä¸å') |
| | | return; |
| | | } |
| | | if (!formData.quantity || formData.quantity <= 0) { |
| | | ElMessage.error('请è¾å
¥ç产æ°é') |
| | | return; |
| | | } |
| | | formData.userId = formData.otherData.surfaceCopperPasteUserId || formData.otherData.underlyingCopperPasteUserId; |
| | | |
| | | const otherData = JSON.stringify(formData.otherData); |
| | | const submitData = { |
| | | ...formData, |
| | | otherData: otherData |
| | | }; |
| | | |
| | | addProductMain(submitData).then(res => { |
| | | if (res.code === 200) { |
| | | ElMessage({ |
| | | message: 'æ¥å·¥æå', |
| | | type: 'success', |
| | | }) |
| | | emits("refreshData") |
| | | visible.value = false; |
| | | } else { |
| | | ElMessage.error('æ¥å·¥å¤±è´¥') |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | const initData = () => { |
| | | if (!props.isEdit) { |
| | | formData.otherData = JSON.parse(props.row.otherData || '{}'); |
| | | formData.quantity = props.row.quantity; |
| | | } else { |
| | | const row = props.row; |
| | | formData.planQuantity = row.planQuantity |
| | | formData.productProcessRouteItemId = row.productProcessRouteItemId |
| | | formData.workOrderId = row.id |
| | | formData.reportWork = row.reportWork |
| | | formData.productMainId = row.productMainId |
| | | } |
| | | } |
| | | |
| | | const displayValue = (value: any) => { |
| | | return value === undefined || value === null || value === "" ? "-" : value; |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | getUserList(); |
| | | initData() |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | | <el-dialog v-model="visible" |
| | | :title="isEdit? 'é ç²æ¥å·¥' : '详æ
'" |
| | | width="90%"> |
| | | <el-form :model="formData"> |
| | | <table class="report-table"> |
| | | <tbody> |
| | | <tr> |
| | | <td class="label" colspan="2">ç½ææå·ï¼</td> |
| | | <td colspan="3"> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.whiteMaterialNumber" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.whiteMaterialNumber) }}</span> |
| | | </td> |
| | | <td class="label" colspan="2">é
ææ¥æï¼</td> |
| | | <td colspan="5"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.ingredientDateTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.ingredientDateTime) }}</span> |
| | | </td> |
| | | <td class="label" colspan="2">ééï¼</td> |
| | | <td colspan="2"> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.weight" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.weight) }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="2" rowspan="5">æ
æç£¨ï¼å«æ
æï¼ï¼</td> |
| | | <td class="label" colspan="7">æ
æç£¨</td> |
| | | <td class="label" colspan="5" rowspan="2">æ
ææ¡¶æ
æ</td> |
| | | <td class="label" colspan="2" rowspan="3"> |
| | | <span>ä½ä¸å:</span> |
| | | <el-select v-model="formData.otherData.stirredMillIncludesMixing.userId" |
| | | v-if="props.isEdit" |
| | | style="width: 100%" |
| | | placeholder="è¯·éæ©ä½ä¸å" |
| | | clearable |
| | | filterable |
| | | @change="handleUserChange($event, 'stirredMillIncludesMixingUserId')"> |
| | | <el-option v-for="user in userOptions" |
| | | :key="user.userId" |
| | | :label="user.userName" |
| | | :value="user.userId"/> |
| | | </el-select> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.userName || formData.otherData.stirredMillIncludesMixing.userId) }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="2"></td> |
| | | <td class="label" colspan="1">1å·æ¡¶ï¼</td> |
| | | <td class="label" colspan="2">2å·æ¡¶ï¼</td> |
| | | <td class="label" colspan="2">5å·æ¡¶ï¼</td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="2">å¼å§æ¶é´ï¼</td> |
| | | <td colspan="1"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMillIncludesMixing.oneBucketStartTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.oneBucketStartTime) }}</span> |
| | | </td> |
| | | <td colspan="2"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMillIncludesMixing.twoBucketStartTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.twoBucketStartTime) }}</span> |
| | | </td> |
| | | <td colspan="2"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMillIncludesMixing.fiveBucketStartTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.fiveBucketStartTime) }}</span> |
| | | </td> |
| | | <td class="label" colspan="5"> |
| | | <span>å¼å§æ¶é´ï¼</span> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMillIncludesMixing.stirStartTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.stirStartTime) }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="2">ç»ææ¶é´ï¼</td> |
| | | <td colspan="1"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMillIncludesMixing.oneBucketEndTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.oneBucketEndTime) }}</span> |
| | | </td> |
| | | <td colspan="2"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMillIncludesMixing.twoBucketEndTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.twoBucketEndTime) }}</span> |
| | | </td> |
| | | <td colspan="2"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMillIncludesMixing.fiveBucketEndTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.fiveBucketEndTime) }}</span> |
| | | </td> |
| | | <td colspan="5"> |
| | | <span>ç»ææ¶é´ï¼</span> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMillIncludesMixing.stirEndTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.stirEndTime) }}</span> |
| | | </td> |
| | | <td class="label" colspan="2" rowspan="3"> |
| | | <span>确认人:</span> |
| | | <el-select v-model="formData.otherData.stirredMillIncludesMixing.confirmId" |
| | | v-if="props.isEdit" |
| | | style="width: 100%" |
| | | placeholder="è¯·éæ©ç¡®è®¤äºº" |
| | | clearable |
| | | filterable |
| | | @change="handleUserChange($event, 'stirredMillIncludesMixingConfirmId')"> |
| | | <el-option v-for="user in userOptions" |
| | | :key="user.userId" |
| | | :label="user.userName" |
| | | :value="user.userId"/> |
| | | </el-select> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.confirmName || formData.otherData.stirredMillIncludesMixing.confirmId) }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="2">ç²æééï¼</td> |
| | | <td colspan="1"> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.stirredMillIncludesMixing.powderWeight" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.powderWeight) }}</span> |
| | | <span>KG</span> |
| | | </td> |
| | | <td class="label" colspan="2">æ°´ééï¼</td> |
| | | <td colspan="2"> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.stirredMillIncludesMixing.waterWeight" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.waterWeight) }}</span> |
| | | <span>KG</span> |
| | | </td> |
| | | <td class="label" colspan="2">忣åééï¼</td> |
| | | <td colspan="3"> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.stirredMillIncludesMixing.stirDispersantWeight" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMillIncludesMixing.stirDispersantWeight) }}</span> |
| | | <span>g</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="2">é ç²ï¼</td> |
| | | <td class="label" colspan="2">äº§åºæ»ééï¼</td> |
| | | <td colspan="1"> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.granulation.output" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.granulation.output) }}</span> |
| | | <span>KG</span> |
| | | </td> |
| | | <td class="label" colspan="2">åæ ¼æééï¼</td> |
| | | <td colspan="2"> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.granulation.qualifiedMaterialWeight" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.granulation.qualifiedMaterialWeight) }}</span> |
| | | <span>KG</span> |
| | | </td> |
| | | <td class="label" colspan="2"> |
| | | å£æï¼ |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.granulation.wallMaterial" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.granulation.wallMaterial) }}</span> |
| | | </td> |
| | | <td colspan="3"> |
| | | å°¾æï¼ |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.granulation.wasteMaterials" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.granulation.wasteMaterials) }}</span> |
| | | <span>KG</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="2" rowspan="3">ç§æï¼</td> |
| | | <td class="label" colspan="7"> |
| | | <span>å¼å§æ¶é´ï¼</span> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.burningMaterial.startTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.burningMaterial.startTime) }}</span> |
| | | </td> |
| | | <td class="label" colspan="5"> |
| | | <span>ç»ææ¶é´ï¼</span> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.burningMaterial.endTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.burningMaterial.endTime) }}</span> |
| | | </td> |
| | | <td class="label" colspan="2" rowspan="2"> |
| | | <span>ä½ä¸å:</span> |
| | | <el-select v-model="formData.otherData.burningMaterial.userId" |
| | | v-if="props.isEdit" |
| | | style="width: 100%" |
| | | placeholder="è¯·éæ©ä½ä¸å" |
| | | clearable |
| | | filterable |
| | | @change="handleUserChange($event, 'burningMaterialUserId')"> |
| | | <el-option v-for="user in userOptions" |
| | | :key="user.userId" |
| | | :label="user.userName" |
| | | :value="user.userId"/> |
| | | </el-select> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.burningMaterial.userName || formData.otherData.burningMaterial.userId) }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="7"> |
| | | <span>çå·ï¼</span> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.burningMaterial.furnaceNumber" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.burningMaterial.furnaceNumber) }}</span> |
| | | </td> |
| | | <td class="label" colspan="5"> |
| | | <span>æé«æ¸©åº¦åºï¼</span> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.burningMaterial.highestTemperatureZone" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.burningMaterial.highestTemperatureZone) }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="7"> |
| | | <span>ç
ç§é度ï¼</span> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.burningMaterial.calcinationRate" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.burningMaterial.calcinationRate) }}</span> |
| | | <span>min/æ¿</span> |
| | | </td> |
| | | <td class="label" colspan="5"> |
| | | <span>ç
ç§åééï¼</span> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.burningMaterial.calcinationWeight" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.burningMaterial.calcinationWeight) }}</span> |
| | | <span>KG</span> |
| | | </td> |
| | | <td class="label" colspan="2" rowspan="3"> |
| | | <span>确认人:</span> |
| | | <el-select v-model="formData.otherData.burningMaterial.confirmId" |
| | | v-if="props.isEdit" |
| | | style="width: 100%" |
| | | placeholder="è¯·éæ©ç¡®è®¤äºº" |
| | | clearable |
| | | filterable |
| | | @change="handleUserChange($event, 'burningMaterialConfirmId')"> |
| | | <el-option v-for="user in userOptions" |
| | | :key="user.userId" |
| | | :label="user.userName" |
| | | :value="user.userId"/> |
| | | </el-select> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.burningMaterial.confirmName || formData.otherData.burningMaterial.confirmId) }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="2">ç²æ</td> |
| | | <td class="label" colspan="12"> |
| | | <span>ç²ç¢ææ¾ææ²¡è¶
è¿ææéä½çº¿ï¼</span> |
| | | <el-checkbox-group v-if="props.isEdit" v-model="formData.otherData.powder.excess"> |
| | | <el-checkbox label="æ¯" value="æ¯" /> |
| | | <el-checkbox label="å¦" value="å¦" /> |
| | | </el-checkbox-group> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.powder.excess) }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="9"> |
| | | <span>ç§åææ¹å·:</span> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.burntBlockBatchNumber" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.burntBlockBatchNumber) }}</span> |
| | | </td> |
| | | <td class="label" colspan="2">æ¥æï¼</td> |
| | | <td class="label" colspan="3"> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.burntBlockBatchNumberDate" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.burntBlockBatchNumberDate) }}</span> |
| | | </td> |
| | | <td class="label" colspan="2" rowspan="4"> |
| | | <span>ä½ä¸å:</span> |
| | | <el-select v-model="formData.otherData.stirredMill.userId" |
| | | v-if="props.isEdit" |
| | | style="width: 100%" |
| | | placeholder="è¯·éæ©ä½ä¸å" |
| | | clearable |
| | | filterable |
| | | @change="handleUserChange($event, 'stirredMillUserId')"> |
| | | <el-option v-for="user in userOptions" |
| | | :key="user.userId" |
| | | :label="user.userName" |
| | | :value="user.userId"/> |
| | | </el-select> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMill.userName || formData.otherData.stirredMill.userId) }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="2" rowspan="4">æ
æç£¨</td> |
| | | <td class="label" colspan="2"></td> |
| | | <td class="label" colspan="3">3å·æ¡¶</td> |
| | | <td class="label" colspan="4">4å·æ¡¶</td> |
| | | <td class="label" colspan="3">6å·æ¡¶</td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="2">æ
æç²æééï¼</td> |
| | | <td class="label" colspan="3"> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.stirredMill.threeBucketMixingPowderWeight" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMill.threeBucketMixingPowderWeight) }}</span> |
| | | </td> |
| | | <td class="label" colspan="4"> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.stirredMill.fourBucketMixingPowderWeight" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMill.fourBucketMixingPowderWeight) }}</span> |
| | | </td> |
| | | <td class="label" colspan="3"> |
| | | <el-input v-if="props.isEdit" v-model="formData.otherData.stirredMill.sixBucketMixingPowderWeight" placeholder="请è¾å
¥"/> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMill.sixBucketMixingPowderWeight) }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="2">å¼å§æ¶é´ï¼</td> |
| | | <td class="label" colspan="3"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMill.threeBucketStartTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMill.threeBucketStartTime) }}</span> |
| | | </td> |
| | | <td class="label" colspan="4"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMill.fourBucketStartTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMill.fourBucketStartTime) }}</span> |
| | | </td> |
| | | <td class="label" colspan="3"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMill.sixBucketStartTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMill.sixBucketStartTime) }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="label" colspan="2">ç»ææ¶é´ï¼</td> |
| | | <td class="label" colspan="3"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMill.threeBucketEndTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMill.threeBucketEndTime) }}</span> |
| | | </td> |
| | | <td class="label" colspan="4"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMill.fourBucketEndTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMill.fourBucketEndTime) }}</span> |
| | | </td> |
| | | <td class="label" colspan="3"> |
| | | <el-date-picker |
| | | v-if="props.isEdit" |
| | | v-model="formData.otherData.stirredMill.sixBucketEndTime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | placeholder="è¯·éæ©" |
| | | style="width: 100%" |
| | | /> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMill.sixBucketEndTime) }}</span> |
| | | </td> |
| | | <td class="label" colspan="2" rowspan="3"> |
| | | <span>确认人:</span> |
| | | <el-select v-model="formData.otherData.stirredMill.confirmId" |
| | | v-if="props.isEdit" |
| | | style="width: 100%" |
| | | placeholder="è¯·éæ©ç¡®è®¤äºº" |
| | | clearable |
| | | filterable |
| | | @change="handleUserChange($event, 'stirredMillConfirmId')"> |
| | | <el-option v-for="user in userOptions" |
| | | :key="user.userId" |
| | | :label="user.userName" |
| | | :value="user.userId"/> |
| | | </el-select> |
| | | <span v-else class="view-value">{{ displayValue(formData.otherData.stirredMill.confirmName || formData.otherData.stirredMill.confirmId) }}</span> |
| | | </td> |
| | | </tr> |
| | | <!-- todoæ
æè¡å¼å§ï¼ç¡®è®¤äººè¡ç空ï¼å·²å¨ä¸é¢è¡¨æ ¼é¢ç --> |
| | | </tbody> |
| | | </table> |
| | | </el-form> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button v-if="props.isEdit" type="primary" |
| | | @click="handleReport">ç¡®å®</el-button> |
| | | <el-button @click="visible = false">{{ props.isEdit ? "åæ¶" : "å
³é" }}</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | .report-table { |
| | | width: 100%; |
| | | border-collapse: collapse; |
| | | table-layout: fixed; |
| | | font-size: 13px; |
| | | } |
| | | |
| | | .report-table td { |
| | | border: 1px solid #dcdfe6; |
| | | padding: 6px; |
| | | vertical-align: middle; |
| | | } |
| | | |
| | | .report-table .label { |
| | | width: 90px; |
| | | background: #f5f7fa; |
| | | text-align: center; |
| | | font-weight: 500; |
| | | } |
| | | |
| | | .report-table .tip { |
| | | text-align: center; |
| | | font-weight: 500; |
| | | line-height: 1.4; |
| | | background: #fafafa; |
| | | } |
| | | |
| | | .view-value { |
| | | display: inline-block; |
| | | min-height: 32px; |
| | | line-height: 32px; |
| | | } |
| | | </style> |