parent
e5df40569f
commit
510bf01362
@ -0,0 +1,114 @@ |
|||||||
|
<template> |
||||||
|
<div class="app-container"> |
||||||
|
<el-dialog v-model="bindingDeviceFlag" title="绑定设备" width="1000"> |
||||||
|
<div class="search-container"> |
||||||
|
<el-form :model="queryForm" :inline="true"> |
||||||
|
<el-form-item label="设备标识"> |
||||||
|
<el-input |
||||||
|
v-model="queryForm.devOuiSno" |
||||||
|
placeholder="请输入设备标识:xxx-xxx" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item> |
||||||
|
<el-button type="primary" :icon="Search" @click="handleSearch" |
||||||
|
>搜索</el-button |
||||||
|
> |
||||||
|
<el-button type="primary" :icon="Position" @click="bindingDev" |
||||||
|
>绑定</el-button |
||||||
|
> |
||||||
|
</el-form-item> |
||||||
|
</el-form> |
||||||
|
</div> |
||||||
|
<div class="any-table mb"> |
||||||
|
<el-table |
||||||
|
:data="tableData" |
||||||
|
highlight-current-row |
||||||
|
v-loading="loading" |
||||||
|
@row-click="handleCurrentChange" |
||||||
|
> |
||||||
|
<el-table-column width="55"> |
||||||
|
<template #default="scope"> |
||||||
|
<el-radio :label="scope.row" v-model="devOuiSno"> |
||||||
|
{{ "" }} |
||||||
|
</el-radio> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column label="设备标识" align="center"> |
||||||
|
<template #default="scope">{{ scope.row }}</template> |
||||||
|
</el-table-column> |
||||||
|
</el-table> |
||||||
|
<pagination |
||||||
|
v-if="total > 0" |
||||||
|
v-model:total="total" |
||||||
|
v-model:page="queryForm.pageNum" |
||||||
|
v-model:limit="queryForm.pageSize" |
||||||
|
@pagination="handleSearch" |
||||||
|
/> |
||||||
|
</div> |
||||||
|
</el-dialog> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script setup lang="ts"> |
||||||
|
import { Position, Search } from "@element-plus/icons-vue"; |
||||||
|
import { DevOuiSnoSearchForm } from "@/api/order/types"; |
||||||
|
import { findDevOuiSnoPage } from "@/api/resources-equipment"; |
||||||
|
import { bindingOuiSno } from "@/api/order"; |
||||||
|
|
||||||
|
const queryForm = ref<DevOuiSnoSearchForm>({ |
||||||
|
pageNum: 1, |
||||||
|
pageSize: 10, |
||||||
|
}); |
||||||
|
const bindingDeviceFlag = ref<boolean>(false); |
||||||
|
const orderId = ref<number>(0); |
||||||
|
const devOuiSno = ref<string>(""); |
||||||
|
const total = ref<number>(0); |
||||||
|
const loading = ref<boolean>(false); |
||||||
|
const tableData = ref<string[]>([]); |
||||||
|
const open = (orderId_: number) => { |
||||||
|
orderId.value = orderId_; |
||||||
|
bindingDeviceFlag.value = true; |
||||||
|
}; |
||||||
|
defineExpose({ open }); |
||||||
|
const handleCurrentChange = (val: string) => { |
||||||
|
devOuiSno.value = val; |
||||||
|
}; |
||||||
|
const handleSearch = () => { |
||||||
|
loading.value = true; |
||||||
|
findDevOuiSnoPage(queryForm.value) |
||||||
|
.then(({ data }) => { |
||||||
|
tableData.value = data.list; |
||||||
|
total.value = data.total; |
||||||
|
}) |
||||||
|
.finally(() => { |
||||||
|
loading.value = false; |
||||||
|
}); |
||||||
|
}; |
||||||
|
const emit = defineEmits(["success"]); |
||||||
|
const bindingDev = () => { |
||||||
|
if (devOuiSno.value === "") { |
||||||
|
ElMessage({ |
||||||
|
message: "请选择设备标识", |
||||||
|
duration: 1500, |
||||||
|
type: "error", |
||||||
|
}); |
||||||
|
return; |
||||||
|
} |
||||||
|
loading.value = false; |
||||||
|
bindingOuiSno(orderId.value, devOuiSno.value) |
||||||
|
.then(() => { |
||||||
|
ElMessage({ |
||||||
|
message: "操作成功", |
||||||
|
duration: 1500, |
||||||
|
type: "success", |
||||||
|
}); |
||||||
|
emit("success"); |
||||||
|
bindingDeviceFlag.value = false; |
||||||
|
}) |
||||||
|
.finally(() => { |
||||||
|
loading.value = false; |
||||||
|
}); |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped></style> |
@ -0,0 +1,66 @@ |
|||||||
|
<template> |
||||||
|
<el-dialog |
||||||
|
class="com-dialog" |
||||||
|
v-model="orderLogFlag" |
||||||
|
title="工单日志" |
||||||
|
width="1000" |
||||||
|
> |
||||||
|
<div class="any-table"> |
||||||
|
<el-table :data="tableData" v-loading="loading" border> |
||||||
|
<el-table-column |
||||||
|
label="操作时间" |
||||||
|
prop="logTime" |
||||||
|
width="200" |
||||||
|
align="center" |
||||||
|
/> |
||||||
|
<el-table-column |
||||||
|
label="执行结果" |
||||||
|
prop="logCode" |
||||||
|
width="100" |
||||||
|
align="center" |
||||||
|
/> |
||||||
|
<el-table-column label="详细信息" prop="logContent" align="center" /> |
||||||
|
</el-table> |
||||||
|
<pagination |
||||||
|
v-if="total > 0" |
||||||
|
v-model:total="total" |
||||||
|
v-model:page="queryPage.pageNum" |
||||||
|
v-model:limit="queryPage.pageSize" |
||||||
|
@pagination="getOrderLogPage" |
||||||
|
/> |
||||||
|
</div> |
||||||
|
</el-dialog> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script setup lang="ts"> |
||||||
|
import { OrderLogVO } from "@/api/order/types"; |
||||||
|
import { orderLogVOPage } from "@/api/order"; |
||||||
|
const orderLogFlag = ref<boolean>(false); |
||||||
|
const orderId = ref<number>(0); |
||||||
|
const loading = ref<boolean>(false); |
||||||
|
const tableData = ref<OrderLogVO[]>([]); |
||||||
|
const queryPage = ref<PageQuery>({ |
||||||
|
pageNum: 1, |
||||||
|
pageSize: 10, |
||||||
|
}); |
||||||
|
const total = ref<number>(0); |
||||||
|
const open = (orderId_: number) => { |
||||||
|
orderId.value = orderId_; |
||||||
|
orderLogFlag.value = true; |
||||||
|
getOrderLogPage(); |
||||||
|
}; |
||||||
|
defineExpose({ open }); |
||||||
|
const getOrderLogPage = () => { |
||||||
|
loading.value = true; |
||||||
|
orderLogVOPage(orderId.value, queryPage.value) |
||||||
|
.then(({ data }) => { |
||||||
|
tableData.value = data.list; |
||||||
|
total.value = data.total; |
||||||
|
}) |
||||||
|
.finally(() => { |
||||||
|
loading.value = false; |
||||||
|
}); |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped></style> |
Loading…
Reference in new issue