Browse Source

SBBJ-964设备维护-维修工单,维修新增,备件应增加筛选功能,太多,不好找

master
张立 2 weeks ago
parent
commit
918a33e9c2
  1. 8
      src/api/eam/basic/item/index.ts
  2. 75
      src/components/SearchTableItem/src/SearchTableItem.vue

8
src/api/eam/basic/item/index.ts

@ -65,7 +65,13 @@ export const exportItem = async (params) => {
// 修改备件
export const getItemList = async (params) => {
return await request.get({ url: `/eam/item/getListByNumber`, params })
if (params.isSearch) {
delete params.isSearch
const data = { ...params }
return await request.post({ url: '/eam/item/getListByNumberSenior', data })
} else {
return await request.get({ url: `/eam/item/getListByNumber`, params })
}
}
// // 删除备件

75
src/components/SearchTableItem/src/SearchTableItem.vue

@ -1,10 +1,17 @@
<template>
<Dialog :title="dialogTitle" v-model="searchDialogVisible" :width="'80%'">
<!-- 列表头部 -->
<TableHead
:HeadButttondata="HeadButttondata"
:routeName="routeName"
@searchFormClick="searchFormClick"
:allSchemas="allSchemasRef"
/>
<ContentWrap>
<Table
ref="searchTableRef"
:columns="tableColumns"
:data="tableObjectRef.tableList"
:data="showTableData()"
:loading="tableObjectRef.loading"
:selection="true"
:reserveSelection="true"
@ -14,6 +21,14 @@
<el-input v-model="row.qty" type="number" placeholder="请输入数量" />
</template>
</Table>
<el-pagination
background
layout="total, sizes, prev, pager, next, jumper"
:total="tableObjectRef.tableList.length"
class="float-right mt-15px"
v-model:current-page="currentPage"
v-model:page-size="pageSize"
/>
</ContentWrap>
<template #footer>
<div class="flex items-center">
@ -45,6 +60,10 @@ const tableObjectRef = ref({
loading: false,
params: {}
})
//
const HeadButttondata = [
defaultButtons.defaultFilterBtn(null), //
]
const getPage: any = ref()
const searchSchema = ref()
const tableColumns = ref()
@ -55,7 +74,7 @@ const rowRef = ref()
const allSchemasRef = ref()
const multipleBol = ref(false)
const searchConditionRef = ref()
const open = (
const open = async (
titleName: any,
allSchemas: any,
getApiPage: any,
@ -79,17 +98,29 @@ const open = (
rowRef.value = row
multipleBol.value = multiple
dialogTitle.value = titleName
const getList = async () => {
await getPage.value(searchCondition).then((res) => {
searchConditionRef.value = searchCondition
if (searchCondition) tableObjectRef.value.params = searchCondition;
await getList()
}
const getList = async () => {
await getPage.value(tableObjectRef.value.params).then((res) => {
tableObjectRef.value.tableList = res
})
}
console.log(tableObjectRef.value)
getList()
//
const pageSize = ref(10)
const currentPage = ref(1)
const showTableData = () => {
if (tableObjectRef.value.tableList.length > pageSize.value) {
return tableObjectRef.value.tableList.slice(
(currentPage.value - 1) * pageSize.value,
currentPage.value * pageSize.value
)
} else {
return tableObjectRef.value.tableList
}
}
defineExpose({ open }) // open
@ -139,6 +170,34 @@ const submitForm = async () => {
formLoading.value = false
}
}
//
const searchFormClick = (searchData) => {
// 20240104 searchData.filters
if (searchConditionRef.value) {
Object.keys(searchConditionRef.value).forEach(key => {
if (searchData.filters) {
searchData.filters.push({
action: "==",
column: key,
value: searchConditionRef.value[key]
})
// }
} else {
searchData.filters = [{
action: "==",
column: key,
value: searchConditionRef.value[key]
}]
}
});
}
tableObjectRef.value.params = {
isSearch: true,
filters: searchData.filters
}
getList()//
}
</script>
<style scoped lang="scss">
</style>
Loading…
Cancel
Save