| | |
| | | // catch (error) { |
| | | // } |
| | | // } |
| | | const dialogVisible = ref(false); |
| | | const detailsList = ref([]); |
| | | const selectedIds = ref<string[]>([]); |
| | | |
| | | // 新增:加载异常数据列表 |
| | | const loadDetails = async () => { |
| | | try { |
| | | const response = await request.get("/glassStorage/rawGlassStorageDetails/selectDetails"); |
| | | if (response.code === 200) { |
| | | detailsList.value = response.data; |
| | | } else { |
| | | ElMessage.error("数据加载失败:" + response.msg); |
| | | } |
| | | } catch (error) { |
| | | ElMessage.error("请求失败:" + (error as Error).message); |
| | | } |
| | | }; |
| | | |
| | | // 新增:处理表格选择变化 |
| | | const handleSelectionChange = (selection: any[]) => { |
| | | selectedIds.value = selection.map(item => item.id); |
| | | }; |
| | | |
| | | // 新增:确认删除选中数据 |
| | | const confirmDelete = async () => { |
| | | if (selectedIds.value.length === 0) { |
| | | ElMessage.warning("Select the data you want to delete first"); |
| | | return; |
| | | } |
| | | |
| | | try { |
| | | const confirmResult = await ElMessageBox.confirm( |
| | | t('searchOrder.deletemessage'), |
| | | t('customer.prompt'), |
| | | { |
| | | confirmButtonText: t('workOrder.yes'), |
| | | cancelButtonText: t('workOrder.cancel'), |
| | | type: "warning" |
| | | } |
| | | ); |
| | | |
| | | if (confirmResult === "confirm") { |
| | | // 批量删除请求 |
| | | const deletePromises = selectedIds.value.map(id => |
| | | request.post(`/glassStorage/rawGlassStorageDetails/deleteData?id=${id}`) |
| | | ); |
| | | |
| | | const results = await Promise.all(deletePromises); |
| | | const allSuccess = results.every(res => res.code === 200); |
| | | |
| | | if (allSuccess) { |
| | | ElMessage.success("success"); |
| | | dialogVisible.value = false; |
| | | loadDetails(); // 刷新数据 |
| | | selectedIds.value = []; |
| | | } else { |
| | | ElMessage.error("error"); |
| | | } |
| | | } |
| | | } catch (error) { |
| | | if (error !== "cancel") { |
| | | ElMessage.error("删除失败:" + (error as Error).message); |
| | | } |
| | | } |
| | | }; |
| | | const handleClearClick = () => { |
| | | dialogVisible.value = true; |
| | | loadDetails(); // 打开弹窗时加载数据 |
| | | }; |
| | | // 任务成功处理 |
| | | const successfull = async (row) => { |
| | | try { |
| | |
| | | $t('searchOrder.historicaltasks') |
| | | }} |
| | | </el-button> |
| | | <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="handleClearClick"> |
| | | clear |
| | | </el-button> |
| | | <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="datetimerange" format="YYYY/MM/DD HH:mm:ss" |
| | | value-format="YYYY-MM-DD HH:mm:ss" :start-placeholder="$t('film.starttime')" |
| | | :end-placeholder="$t('film.endtime')" :default-time="defaultTime" /> |
| | |
| | | <el-table-column prop="createTime" align="center" :label="$t('film.createtime')" /> |
| | | <el-table-column fixed="right" :label="$t('film.operate')" align="center"> |
| | | <template #default="scope"> |
| | | <el-button :disabled="(scope.row.taskState >2)" type="text" plain @click="successfull(scope.row)">{{ |
| | | <el-button type="text" plain @click="successfull(scope.row)">{{ |
| | | $t('searchOrder.successfullyprocessed') }}</el-button> |
| | | <el-button :disabled="(scope.row.taskState >2)" type="text" plain @click="handleptask(scope.row)">{{ |
| | | <el-button type="text" plain @click="handleptask(scope.row)">{{ |
| | | $t('searchOrder.taskfailure') }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | }" v-show="cards[45]"> |
| | | </div> |
| | | </div> |
| | | <el-dialog title="Select the data you want to delete first" v-model="dialogVisible" width="60%" @close="selectedIds = []"> |
| | | <el-table :data="detailsList" border style="width: 100%; margin-bottom: 20px;" |
| | | @selection-change="handleSelectionChange"> |
| | | <el-table-column prop="id" label="ID" width="80"></el-table-column> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="slot" :label="$t('film.slot')"></el-table-column> |
| | | <el-table-column prop="shelf" :label="$t('reportWork.shelfnumbera')"></el-table-column> |
| | | <el-table-column prop="state" :label="$t('reportWork.state')" :formatter="formatState"></el-table-column> |
| | | <!-- 可根据需要添加其他字段列 --> |
| | | </el-table> |
| | | |
| | | <template #footer> |
| | | <el-button @click="dialogVisible = false">{{t('workOrder.cancel')}}</el-button> |
| | | <el-button type="danger" @click="confirmDelete" :disabled="selectedIds.length === 0"> |
| | | {{t('reportWork.sure')}} |
| | | </el-button> |
| | | </template> |
| | | </el-dialog> |
| | | |
| | | |
| | | <el-dialog v-model="dialogFormVisiblea" top="5vh" width="85%"> |
| | | <el-table ref="table" style="margin-top: 20px;height: 700px;" :data="tableDatab" v-loading="loading" |