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