diff --git a/src/api/maintenance/handle_order.js b/src/api/maintenance/handle_order.js index 2666475..832d545 100644 --- a/src/api/maintenance/handle_order.js +++ b/src/api/maintenance/handle_order.js @@ -33,3 +33,11 @@ export function updateHandleOrder(data) { data: data, }); } + +// 提交告警工单审核 +export function commitHandleOrder(orderIds) { + return request({ + url: `/maintenance/handle-order/commit/${orderIds}`, + method: "put", + }); +} diff --git a/src/api/maintenance/order.js b/src/api/maintenance/order.js index e4ebd47..8cde520 100644 --- a/src/api/maintenance/order.js +++ b/src/api/maintenance/order.js @@ -49,3 +49,12 @@ export function publishOrder(orderIds) { method: "put", }); } + +/*审核工单*/ +export function commitExamine(data) { + return request({ + url: `/maintenance/order/commitExamine`, + method: "put", + data, + }); +} diff --git a/src/components/PagedSelect.vue b/src/components/PagedSelect.vue new file mode 100644 index 0000000..523aafa --- /dev/null +++ b/src/components/PagedSelect.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/constant/dict.js b/src/constant/dict.js index 4b40f60..0034c80 100644 --- a/src/constant/dict.js +++ b/src/constant/dict.js @@ -377,7 +377,7 @@ export const orderStatusDict = [ { label: "进行中", value: "1", - elTagType: "primary", + elTagType: "warning", }, { label: "已完成", @@ -389,6 +389,11 @@ export const orderStatusDict = [ value: "3", elTagType: "danger", }, + { + label: "待审核", + value: "4", + elTagType: "primary", + }, ]; export const alertHandleResultDict = [ diff --git a/src/views/maintenance/handle-order/index.vue b/src/views/maintenance/handle-order/index.vue index 8a925b8..fb56a40 100644 --- a/src/views/maintenance/handle-order/index.vue +++ b/src/views/maintenance/handle-order/index.vue @@ -49,6 +49,7 @@ /> + @@ -206,6 +207,14 @@ @click="handleGoDetail(row.orderId)" >详情 + 提交审核 + @@ -228,224 +237,224 @@ /> - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + import { - delHandleOrder, - getHandleOrder, + commitHandleOrder, listHandleOrder, - updateHandleOrder, } from "@/api/maintenance/handle_order"; -import { - alertFixResultDict, - alertHandleResultDict, - alertIsReturnFactoryDict, - orderLevel, - orderStatusDict, -} from "@/constant/dict"; +import { orderLevel, orderStatusDict } from "@/constant/dict"; import { getCurrentInstance, reactive, ref, toRefs } from "vue"; import { listUser } from "@/api/maintenance/user"; import AlertSelect from "../order/AlertSelect/index.vue"; import { parseTime } from "@/utils/ruoyi"; import DictTag from "@/components/DictTag/index.vue"; -import { ElMessage } from "element-plus"; +import { ElMessage, ElMessageBox } from "element-plus"; import { useDict } from "@/utils/dict"; import { useRouter } from "vue-router"; @@ -485,6 +486,7 @@ const open = ref(false); const loading = ref(true); const orderRef = ref(); const handleAlertRef = ref(); /*告警处理表单ref*/ +const showHandleAlert = ref(false); /*显示处理告警窗口*/ const showSearch = ref(true); const ids = ref([]); const orderNumbers = ref([]); @@ -493,7 +495,6 @@ const multiple = ref(true); const total = ref(0); const title = ref(""); const showSelectAlert = ref(false); -const showHandleAlert = ref(false); /*显示处理告警窗口*/ const workerOptions = ref([]); /*负责工人选项列表*/ const router = useRouter(); const data = reactive({ @@ -536,45 +537,45 @@ function getList() { } // 取消按钮 -function cancel() { - open.value = false; - reset(); -} +// function cancel() { +// open.value = false; +// reset(); +// } // 表单重置 -function reset() { - form.value = { - orderId: null, - orderNumber: null, - level: null, - workerId: null, - workerName: null, - suggestCompleteTime: null, - realCompleteTime: null, - status: null, - rejectReason: null, - remark: null, - createBy: null, - createTime: null, - alertIds: [], - alerts: [], - }; - proxy.resetForm("orderRef"); -} +// function reset() { +// form.value = { +// orderId: null, +// orderNumber: null, +// level: null, +// workerId: null, +// workerName: null, +// suggestCompleteTime: null, +// realCompleteTime: null, +// status: null, +// rejectReason: null, +// remark: null, +// createBy: null, +// createTime: null, +// alertIds: [], +// alerts: [], +// }; +// proxy.resetForm("orderRef"); +// } -const resetHandleAlertForm = () => { - handleAlertForm.value = { - handleId: null, - handleResult: null, - fixResult: null, - isReturnFactory: null, - returnTotal: null, - returnExpress: null, - }; - if (handleAlertRef.value) { - handleAlertRef.value.resetFields(); - } -}; +// const resetHandleAlertForm = () => { +// handleAlertForm.value = { +// handleId: null, +// handleResult: null, +// fixResult: null, +// isReturnFactory: null, +// returnTotal: null, +// returnExpress: null, +// }; +// if (handleAlertRef.value) { +// handleAlertRef.value.resetFields(); +// } +// }; /** 搜索按钮操作 */ function handleQuery() { @@ -597,22 +598,22 @@ function handleSelectionChange(selection) { } /** 新增按钮操作 */ -function handleAdd() { - reset(); - open.value = true; - title.value = "添加告警工单"; -} +// function handleAdd() { +// reset(); +// open.value = true; +// title.value = "添加告警工单"; +// } /** 修改按钮操作 */ -function handleUpdate(row) { - reset(); - const _orderId = row.orderId || ids.value; - getHandleOrder(_orderId).then((response) => { - form.value = response.data; - open.value = true; - title.value = "查看告警工单"; - }); -} +// function handleUpdate(row) { +// reset(); +// const _orderId = row.orderId || ids.value; +// getHandleOrder(_orderId).then((response) => { +// form.value = response.data; +// open.value = true; +// title.value = "查看告警工单"; +// }); +// } const handleGoDetail = (orderId) => { router.push({ @@ -623,33 +624,33 @@ const handleGoDetail = (orderId) => { }); }; /*处理告警*/ -const handleOrder = (row) => { - resetHandleAlertForm(); - handleAlertForm.value = { - handleId: row.handleId, - }; - showHandleAlert.value = true; -}; +// const handleOrder = (row) => { +// resetHandleAlertForm(); +// handleAlertForm.value = { +// handleId: row.handleId, +// }; +// showHandleAlert.value = true; +// }; /** * 提交告警处理结果 */ -const submitHandleAlert = () => { - handleAlertRef.value.validate((valid) => { - if (valid) { - updateHandleOrder(handleAlertForm.value).then(() => { - ElMessage.success("处理成功"); - showHandleAlert.value = false; - // reset(); - getHandleOrder(form.value.orderId).then((response) => { - form.value = response.data; - open.value = true; - title.value = "查看告警工单"; - }); - }); - } - }); -}; +// const submitHandleAlert = () => { +// handleAlertRef.value.validate((valid) => { +// if (valid) { +// updateHandleOrder(handleAlertForm.value).then(() => { +// ElMessage.success("处理成功"); +// showHandleAlert.value = false; +// // reset(); +// getHandleOrder(form.value.orderId).then((response) => { +// form.value = response.data; +// open.value = true; +// title.value = "查看告警工单"; +// }); +// }); +// } +// }); +// }; /** 提交按钮 */ // function submitForm() { @@ -685,25 +686,25 @@ const submitHandleAlert = () => { // } /** 删除按钮操作 */ -function handleDelete(row) { - const _orderIds = row.orderId || ids.value; - const _orderNumbers = row.orderNumber || orderNumbers.value; - proxy.$modal - .confirm('是否确认删除告警工单编号为"' + _orderNumbers + '"的数据项?') - .then(function () { - return delHandleOrder(_orderIds); - }) - .then(() => { - getList(); - proxy.$modal.msgSuccess("删除成功"); - }) - .catch(() => {}); -} +// function handleDelete(row) { +// const _orderIds = row.orderId || ids.value; +// const _orderNumbers = row.orderNumber || orderNumbers.value; +// proxy.$modal +// .confirm('是否确认删除告警工单编号为"' + _orderNumbers + '"的数据项?') +// .then(function () { +// return delHandleOrder(_orderIds); +// }) +// .then(() => { +// getList(); +// proxy.$modal.msgSuccess("删除成功"); +// }) +// .catch(() => {}); +// } /** 导出按钮操作 */ function handleExport() { proxy.download( - "maintenance/order/export", + "maintenance/handle-order/export", { ...queryParams.value, }, @@ -724,6 +725,25 @@ const loadWorkOptions = (keyword) => { const handleOpenSelectAlert = () => { showSelectAlert.value = true; }; +/** + * 提交告警工单审核 + * @param row + */ +const handleCommitOrder = (row) => { + const _orderIds = row.orderId || ids.value; + const messageVNode = () => <>是否确认提交审核; + ElMessageBox.confirm(messageVNode, "提交审核", { + confirmButtonText: "确定", + cancelButtonText: "取消", + }) + .then(() => { + commitHandleOrder(_orderIds).then(() => { + ElMessage.success("提交审核成功"); + getList(); + }); + }) + .catch(() => {}); +}; const handleConfirmAlertSelect = ({ list, regionId, regionName }) => { // console.log(data); form.value.alerts = list; diff --git a/src/views/maintenance/order/AlertSelect/index.vue b/src/views/maintenance/order/AlertSelect/index.vue index e22eb10..8f90254 100644 --- a/src/views/maintenance/order/AlertSelect/index.vue +++ b/src/views/maintenance/order/AlertSelect/index.vue @@ -269,7 +269,7 @@ const handleSelect = (selection, row) => { (el) => el[props.selectKey] === row[props.selectKey] ) === -1; if (isIdNotExist) { - console.log(isIdNotExist); + // console.log(isIdNotExist); selectedProperties.value.push(row); } } else { diff --git a/src/views/maintenance/order/detail.vue b/src/views/maintenance/order/detail.vue index 59e85ea..93c71d3 100644 --- a/src/views/maintenance/order/detail.vue +++ b/src/views/maintenance/order/detail.vue @@ -11,12 +11,17 @@ import { alertFixResultDict, alertHandleResultDict, alertIsReturnFactoryDict, + orderStatusDict, } from "@/constant/dict"; import DictTag from "@/components/DictTag/index.vue"; import { ElMessage } from "element-plus"; import { cloneDeep } from "lodash-es"; +import Review from "@/views/maintenance/order/review.vue"; const { iot_alert_level } = useDict("iot_alert_level"); +const showReviewOrder = ref(false); +/*是否显示审核窗口*/ +const underReviewOrderId = ref(); /*正在审核的order id*/ const defaultRowKeys = ref([]); const router = useRouter(); @@ -70,7 +75,7 @@ const loadDetail = (orderId) => { `.alert-handle-info-table .alert-handle-info-row .el-table__expand-column .el-table__expand-icon` ); response.data?.alerts.forEach((alert, index) => { - console.log(alert.handleResult); + // console.log(alert.handleResult); const expandEl = expandEls[index]; if (!alert.handleResult) { if (expandEl) expandEl.style.visibility = "hidden"; @@ -82,6 +87,11 @@ const loadDetail = (orderId) => { }); }; +const handleReview = () => { + underReviewOrderId.value = parseInt(route.query.id); + showReviewOrder.value = true; +}; + const resetHandleAlertForm = () => { handleAlertForm.value = { handleId: null, @@ -152,6 +162,18 @@ if (route.query.id) {