Browse Source

维修工单备件查询

master
han\hanst 3 days ago
parent
commit
0b06f5863c
  1. 3
      src/api/partspare/repairtransdetail.js
  2. 217
      src/views/modules/partspare/workOrderSpareQuery.vue

3
src/api/partspare/repairtransdetail.js

@ -4,3 +4,6 @@ import { createAPI } from "@/utils/httpRequest.js";
export const getRepairTransDetailList = data => createAPI(`/pms/repairtransdetail/getRepairTransDetailList`,'post',data)
//查询 单价 栏位查看权限角色
export const getaveragePriceFlagList = data => createAPI(`/pms/repairtransdetail/getaveragePriceFlagList`,'post',data)
// 维修工单备件查询
export const getRepairWorkOrderPartSpareList = data => createAPI(`/pms/repairtransdetail/getRepairWorkOrderPartSpareList`,'post',data)

217
src/views/modules/partspare/workOrderSpareQuery.vue

@ -0,0 +1,217 @@
<template>
<div class="mod-config">
<el-form :inline="true" label-position="top" :model="queryForm">
<el-form-item label="工单编码">
<el-input v-model="queryForm.orderNo" clearable style="width: 150px"></el-input>
</el-form-item>
<el-form-item label="反馈单号">
<el-input v-model="queryForm.planId" clearable style="width: 150px"></el-input>
</el-form-item>
<el-form-item label="设备编码">
<el-input v-model="queryForm.objectId" clearable style="width: 150px"></el-input>
</el-form-item>
<el-form-item label="备品备件编码">
<el-input v-model="queryForm.partNo" clearable style="width: 150px"></el-input>
</el-form-item>
<el-form-item label="备品备件名称">
<el-input v-model="queryForm.partDescription" clearable style="width: 180px"></el-input>
</el-form-item>
<el-form-item label="出库日期">
<el-date-picker
style="width: 140px"
v-model="queryForm.startTransDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="开始日期"
></el-date-picker>
<span class="date-separator">-</span>
<el-date-picker
style="width: 170px"
v-model="queryForm.endTransDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd 23:59:59"
placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" @click="handleQuery">查询</el-button>
<el-button @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table
ref="mainTable"
:data="dataList"
border
:height="height"
v-loading="dataListLoading"
style="width: 100%"
>
<el-table-column prop="orderNo" label="工单编码" min-width="130" align="center"></el-table-column>
<el-table-column prop="planId" label="反馈单号" min-width="130" align="center"></el-table-column>
<el-table-column prop="objectId" label="设备编码" min-width="130" align="center"></el-table-column>
<el-table-column prop="objectDesc" label="设备名称" min-width="160" show-overflow-tooltip></el-table-column>
<el-table-column prop="status" label="工单状态" min-width="100" align="center"></el-table-column>
<el-table-column prop="actualDate" label="工单执行时间" min-width="160" align="center"></el-table-column>
<el-table-column prop="partNo" label="备品备件编码" min-width="140" align="center"></el-table-column>
<el-table-column prop="partDescription" label="备品备件名称" min-width="170" show-overflow-tooltip></el-table-column>
<el-table-column prop="averagePrice" label="单价" min-width="90" align="right">
<template slot-scope="scope">
{{ formatNumber(scope.row.averagePrice) }}
</template>
</el-table-column>
<el-table-column prop="warehouseId" label="仓库编码" min-width="120" align="center"></el-table-column>
<el-table-column prop="locationId" label="货位编码" min-width="120" align="center"></el-table-column>
<el-table-column prop="transQty" label="数量" min-width="90" align="right">
<template slot-scope="scope">
{{ formatNumber(scope.row.transQty) }}
</template>
</el-table-column>
<el-table-column prop="batchNo" label="序列号" min-width="130" align="center"></el-table-column>
<el-table-column prop="transDate" label="出库时间" min-width="160" align="center"></el-table-column>
<el-table-column prop="transType" label="记录类型" min-width="100" align="center"></el-table-column>
<el-table-column prop="operateUserName" label="操作人" min-width="120" align="center"></el-table-column>
</el-table>
<el-pagination
style="margin-top: 8px"
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[20, 50, 100, 500]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper"
></el-pagination>
</div>
</template>
<script>
import { getRepairWorkOrderPartSpareList } from '@/api/partspare/repairtransdetail.js'
export default {
name: 'workOrderSpareQuery',
data () {
const defaultDateRange = this.getDefaultDateRange()
return {
height: 200,
queryForm: {
userName: this.$store.state.user.name,
orderNo: '',
planId: '',
objectId: '',
partNo: '',
partDescription: '',
startTransDate: defaultDateRange.startTransDate,
endTransDate: defaultDateRange.endTransDate,
page: 1,
limit: 20
},
dataList: [],
dataListLoading: false,
pageIndex: 1,
pageSize: 20,
totalPage: 0
}
},
activated () {
this.getDataList()
this.updateTableHeight()
},
mounted () {
this.updateTableHeight()
window.addEventListener('resize', this.updateTableHeight)
},
beforeDestroy () {
window.removeEventListener('resize', this.updateTableHeight)
},
methods: {
getDefaultDateRange () {
return {
startTransDate: this.dayjs().subtract(6, 'day').format('YYYY-MM-DD'),
endTransDate: this.dayjs().format('YYYY-MM-DD 23:59:59')
}
},
updateTableHeight () {
this.$nextTick(() => {
const tableTop = this.$refs.mainTable && this.$refs.mainTable.$el
? this.$refs.mainTable.$el.getBoundingClientRect().top
: 220
const paginationHeight = 90
const minHeight = 240
this.height = Math.max(window.innerHeight - tableTop - paginationHeight, minHeight)
})
},
handleQuery () {
this.pageIndex = 1
this.getDataList()
},
resetQuery () {
const defaultDateRange = this.getDefaultDateRange()
this.queryForm.orderNo = ''
this.queryForm.planId = ''
this.queryForm.objectId = ''
this.queryForm.partNo = ''
this.queryForm.partDescription = ''
this.queryForm.startTransDate = defaultDateRange.startTransDate
this.queryForm.endTransDate = defaultDateRange.endTransDate
this.pageIndex = 1
this.getDataList()
},
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
getDataList () {
this.dataListLoading = true
this.queryForm.page = this.pageIndex
this.queryForm.limit = this.pageSize
this.queryForm.userName = this.$store.state.user.name
getRepairWorkOrderPartSpareList(this.queryForm).then(({data}) => {
this.dataListLoading = false
if (data && data.code === 0) {
this.dataList = data.page.list || []
this.pageIndex = data.page.currPage
this.pageSize = data.page.pageSize
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
this.$message.error(data.msg || '查询失败')
}
}).catch(() => {
this.dataListLoading = false
this.dataList = []
this.totalPage = 0
this.$message.error('查询失败')
})
},
formatNumber (value) {
if (value === null || value === undefined || value === '') {
return ''
}
const number = Number(value)
if (isNaN(number)) {
return value
}
return number.toFixed(4)
}
}
}
</script>
<style scoped>
.date-separator {
display: inline-block;
width: 16px;
text-align: center;
}
</style>
Loading…
Cancel
Save