249 lines
8.0 KiB
Vue
249 lines
8.0 KiB
Vue
<template>
|
|
<div>
|
|
<el-dialog
|
|
title=""
|
|
:visible.sync="open"
|
|
width="85%"
|
|
append-to-body
|
|
:close-on-click-modal="false"
|
|
>
|
|
<div class="content">
|
|
<el-form
|
|
:model="formData"
|
|
ref="form"
|
|
label-width="80px"
|
|
:inline="false"
|
|
size="small"
|
|
inline
|
|
>
|
|
<el-form-item
|
|
label="领料单号"
|
|
size="small"
|
|
prop="materialReqNo"
|
|
>
|
|
<el-input
|
|
v-model="formData.materialReqNo"
|
|
placeholder="请输入领料单号"
|
|
size="small"
|
|
clearable
|
|
filterable
|
|
></el-input>
|
|
</el-form-item>
|
|
<el-form-item
|
|
label="单位名称"
|
|
size="small"
|
|
prop="materialReqUnitValue"
|
|
>
|
|
<el-select
|
|
v-model="formData.materialReqUnitValue"
|
|
placeholder="请选择单位"
|
|
size="small"
|
|
clearable
|
|
filterable
|
|
@change="handleUnit"
|
|
>
|
|
<el-option
|
|
v-for="item in formData.materialReqUnitList"
|
|
:key="item.unitId"
|
|
:label="item.unitName"
|
|
:value="item.unitId"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item
|
|
label="工程名称"
|
|
size="small"
|
|
prop="materialReqProjectValue"
|
|
>
|
|
<el-select
|
|
v-model="formData.materialReqProjectValue"
|
|
placeholder="请选择工程名称"
|
|
size="small"
|
|
clearable
|
|
filterable
|
|
@change="handleProject"
|
|
>
|
|
<el-option
|
|
v-for="item in formData.materialReqProjectList"
|
|
:key="item.projectId"
|
|
:label="item.projectName"
|
|
:value="item.projectId"
|
|
></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item>
|
|
<el-button
|
|
type="primary"
|
|
icon="el-icon-search"
|
|
size="small"
|
|
@click="handleSearch"
|
|
>查询</el-button
|
|
>
|
|
<el-button
|
|
icon="el-icon-refresh"
|
|
size="small"
|
|
@click="handleReset"
|
|
>重置</el-button
|
|
>
|
|
</el-form-item>
|
|
</el-form>
|
|
|
|
<el-table :data="tableData" style="width: 100%" stripe>
|
|
<el-table-column
|
|
v-for="item in tableColumn"
|
|
:prop="item.prop"
|
|
:label="item.label"
|
|
:width="item.width"
|
|
:key="item.prop"
|
|
:align="item.align"
|
|
:type="item.type"
|
|
show-overflow-tooltip
|
|
>
|
|
</el-table-column>
|
|
</el-table>
|
|
|
|
<Pagination
|
|
v-show="total > 0"
|
|
:total="total"
|
|
:page.sync="queryParams.pageNum"
|
|
:limit.sync="queryParams.pageSize"
|
|
@pagination="getList"
|
|
/>
|
|
</div>
|
|
<!-- <span slot="footer" class="dialog-footer">
|
|
<el-button @click="open = false">关 闭</el-button>
|
|
</span> -->
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import Pagination from '../Pagination/index.vue'
|
|
import { getPickingAnalysis, getUnitList, getProjectList } from '@/api/dialog'
|
|
|
|
export default {
|
|
name: 'getMaterialsDialog',
|
|
components: {
|
|
Pagination,
|
|
},
|
|
data() {
|
|
return {
|
|
open: false,
|
|
formData: {
|
|
materialReqNo: '',
|
|
materialReqUnitValue: '',
|
|
materialReqProjectValue: '',
|
|
materialReqUnitList: [],
|
|
materialReqProjectList: [],
|
|
},
|
|
tableData: [],
|
|
tableColumn: [
|
|
{
|
|
label: '序号',
|
|
type: 'index',
|
|
width: 60,
|
|
align: 'center',
|
|
},
|
|
{
|
|
label: '领料单号',
|
|
prop: 'materialCode',
|
|
align: 'center',
|
|
},
|
|
{
|
|
label: '领料申请单位',
|
|
prop: 'unitName',
|
|
align: 'center',
|
|
},
|
|
{
|
|
label: '领料申请工程',
|
|
prop: 'projectName',
|
|
align: 'center',
|
|
},
|
|
{
|
|
label: '申请数量',
|
|
prop: 'num',
|
|
align: 'center',
|
|
},
|
|
{
|
|
label: '申请时间',
|
|
prop: 'materialTime',
|
|
align: 'center',
|
|
},
|
|
{
|
|
label: '申请状态',
|
|
prop: 'statusName',
|
|
align: 'center',
|
|
},
|
|
],
|
|
total: 0,
|
|
queryParams: {
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
},
|
|
maType: 1,
|
|
}
|
|
},
|
|
created() {
|
|
this.getUnit()
|
|
this.getProject()
|
|
},
|
|
methods: {
|
|
setOpen(params) {
|
|
this.open = params.open
|
|
this.maType = params.maType
|
|
this.tableData = []
|
|
this.total = 0
|
|
setTimeout(() => {
|
|
this.$refs.form.resetFields()
|
|
this.getList()
|
|
}, 100)
|
|
},
|
|
getList() {
|
|
const params = {
|
|
pageNum: this.queryParams.pageNum,
|
|
pageSize: this.queryParams.pageSize,
|
|
maType: this.maType,
|
|
materialCode: this.formData.materialReqNo.trim(),
|
|
unitId: this.formData.materialReqUnitValue,
|
|
projectId: this.formData.materialReqProjectValue,
|
|
}
|
|
getPickingAnalysis(params).then(({ data }) => {
|
|
this.tableData = data.rows
|
|
this.total = data.total
|
|
})
|
|
},
|
|
getUnit() {
|
|
getUnitList().then((res) => {
|
|
this.formData.materialReqUnitList = res.data
|
|
})
|
|
},
|
|
handleUnit(val) {
|
|
this.formData.materialReqUnitValue = val
|
|
},
|
|
getProject() {
|
|
getProjectList().then((res) => {
|
|
this.formData.materialReqProjectList = res.data
|
|
})
|
|
},
|
|
handleProject(val) {
|
|
this.formData.materialReqProjectValue = val
|
|
},
|
|
handleSearch() {
|
|
this.queryParams.pageNum = 1
|
|
this.getList()
|
|
},
|
|
handleReset() {
|
|
// this.$refs.form.resetFields()
|
|
this.getList()
|
|
},
|
|
},
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.content {
|
|
padding: 20px;
|
|
}
|
|
</style>
|