|
@@ -3,9 +3,94 @@
|
|
|
<div class="table-page-search-wrapper">
|
|
|
<a-form layout="inline">
|
|
|
<a-row :gutter="48">
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="关键字">
|
|
|
+ <a-input v-model="queryParam.keyword" placeholder="请输入名称/编码"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="品牌">
|
|
|
+ <a-input v-model="queryParam.brand" placeholder="模糊查询"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="类型">
|
|
|
+ <a-tree-select
|
|
|
+ style="width: 100%"
|
|
|
+ :dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"
|
|
|
+ :treeData="spareTypeTreeData"
|
|
|
+ :treeNodeFilterProp="'title'"
|
|
|
+ :showSearch="true"
|
|
|
+ v-model="queryParam.typeId"
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ </a-tree-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="规格型号">
|
|
|
+ <a-input v-model="queryParam.ggxh" placeholder="模糊查询"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="原厂编号">
|
|
|
+ <a-input v-model="queryParam.initNo" placeholder="模糊查询"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="生产商">
|
|
|
+ <a-input v-model="queryParam.producerName" placeholder="名称模糊查询"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="供应商">
|
|
|
+ <a-input v-model="queryParam.supplierName" placeholder="名称模糊查询"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="等级">
|
|
|
+ <a-select v-model="queryParam.level" placeholder="请选择">
|
|
|
+ <a-select-option
|
|
|
+ v-for="(label,value) in levelMap"
|
|
|
+ :key="value"
|
|
|
+ :label="label"
|
|
|
+ :value="parseInt(value)">{{ label }}
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="用途">
|
|
|
+ <a-select v-model="queryParam.yt" placeholder="请选择">
|
|
|
+ <a-select-option
|
|
|
+ v-for="(label,value) in ytMap"
|
|
|
+ :key="value"
|
|
|
+ :label="label"
|
|
|
+ :value="parseInt(value)">{{ label }}
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="是否专用">
|
|
|
+ <a-select v-model="queryParam.isSpecial" placeholder="请选择">
|
|
|
+ <a-select-option
|
|
|
+ v-for="(label,value) in specialMap"
|
|
|
+ :key="value"
|
|
|
+ :label="label"
|
|
|
+ :value="parseInt(value)">{{ label }}
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="关联设备">
|
|
|
+ <a-input v-model="queryParam.model" placeholder="新号/旧号/名称/规格"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
<a-form-item label="仓库">
|
|
|
- <a-tree-select
|
|
|
+ <a-tree-select
|
|
|
style="width: 100%"
|
|
|
:dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"
|
|
|
:treeData="storeTreeData"
|
|
@@ -18,24 +103,24 @@
|
|
|
</a-tree-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="单据起始日期">
|
|
|
- <a-date-picker
|
|
|
- v-model="queryParam.searchStartTime"
|
|
|
- style="width: 100%"
|
|
|
- :format="BaseTool.Date.PICKER_NORM_DATE_PATTERN"
|
|
|
- v-decorator="['searchStartTime']"/>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :md="6" :sm="24">
|
|
|
- <a-form-item label="单据结束日期">
|
|
|
- <a-date-picker
|
|
|
- v-model="queryParam.searchEndTime"
|
|
|
- style="width: 100%"
|
|
|
- :format="BaseTool.Date.PICKER_NORM_DATE_PATTERN"
|
|
|
- v-decorator="['searchEndTime']"/>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="单据起始日期">
|
|
|
+ <a-date-picker
|
|
|
+ v-model="queryParam.searchStartTime"
|
|
|
+ style="width: 100%"
|
|
|
+ :format="BaseTool.Date.PICKER_NORM_DATE_PATTERN"
|
|
|
+ v-decorator="['searchStartTime']"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="8" :sm="24">
|
|
|
+ <a-form-item label="单据结束日期">
|
|
|
+ <a-date-picker
|
|
|
+ v-model="queryParam.searchEndTime"
|
|
|
+ style="width: 100%"
|
|
|
+ :format="BaseTool.Date.PICKER_NORM_DATE_PATTERN"
|
|
|
+ v-decorator="['searchEndTime']"/>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
<a-col :md="4 || 24" :sm="24">
|
|
|
<span class="table-page-search-submitButtons">
|
|
|
<a-button type="primary" @click="handleOk">查询</a-button>
|
|
@@ -47,7 +132,7 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="table-operator">
|
|
|
- <a-button style="margin-left: 8px" v-if="$auth('store-out-store-details-export')" type="primary" icon="download" @click="doExport">导出</a-button>
|
|
|
+ <a-button style="margin-left: 8px" v-if="$auth('store-out-store-details-export')" type="primary" icon="download" @click="doExport">导出</a-button>
|
|
|
|
|
|
</div>
|
|
|
|
|
@@ -57,6 +142,7 @@
|
|
|
rowKey="spareId"
|
|
|
:columns="columns"
|
|
|
:data="loadData"
|
|
|
+ :scroll="{x: 1500, y: BaseTool.Constant.scrollY}"
|
|
|
:alert="options.alert"
|
|
|
:rowSelection="options.rowSelection"
|
|
|
showPagination="auto"
|
|
@@ -71,8 +157,9 @@
|
|
|
<script>
|
|
|
import { STable, Ellipsis } from '@/components'
|
|
|
import BaseForm from './modules/BaseForm'
|
|
|
+import { fetchSpareTypeTree } from '@/api/sqarepartmanage/sparetype'
|
|
|
import Detail from './modules/Detail'
|
|
|
-import {fetchStoreTree} from '@/api/store/store'
|
|
|
+import { fetchStoreTree } from '@/api/store/store'
|
|
|
import { getOutStoreDetailPage, deleteOutStoreDetails, fetchOutStoreDetail, exportOutStoreDetail } from '@/api/report/outstoredetail'
|
|
|
|
|
|
export default {
|
|
@@ -85,47 +172,144 @@ export default {
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
|
- storeTreeData:[],
|
|
|
+ storeTreeData: [],
|
|
|
// 查询参数
|
|
|
queryParam: {
|
|
|
- storeId:null,
|
|
|
- searchStartTime:null,
|
|
|
- searchEndTime:null
|
|
|
+ storeId: null,
|
|
|
+ searchStartTime: null,
|
|
|
+ searchEndTime: null
|
|
|
},
|
|
|
// 表头
|
|
|
columns: [
|
|
|
{
|
|
|
title: '序号',
|
|
|
+ width: '100px',
|
|
|
+ checked: true,
|
|
|
dataIndex: 'index',
|
|
|
customRender: (text, record, index) => {
|
|
|
return `${(this.$refs.table.localPagination.current - 1) * this.$refs.table.localPagination.pageSize + index + 1}`
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
+ width: '150px',
|
|
|
title: '备件规格',
|
|
|
+ checked: true,
|
|
|
+
|
|
|
dataIndex: 'ggxh'
|
|
|
},
|
|
|
{
|
|
|
+ width: '150px',
|
|
|
+ checked: true,
|
|
|
title: '原厂编号',
|
|
|
dataIndex: 'initNo'
|
|
|
},
|
|
|
{
|
|
|
title: '备件名称',
|
|
|
dataIndex: 'spareId',
|
|
|
+ checked: true,
|
|
|
+ width: '150px',
|
|
|
customRender: (text, record, index) => {
|
|
|
return record.spareName
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
title: '备件类型',
|
|
|
+ checked: true,
|
|
|
+ width: '150px',
|
|
|
dataIndex: 'typeName'
|
|
|
},
|
|
|
{
|
|
|
title: '出库总数',
|
|
|
+ checked: true,
|
|
|
+ width: '150px',
|
|
|
dataIndex: 'totalNum'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '品牌',
|
|
|
+ checked: true,
|
|
|
+ width: '150px',
|
|
|
+ dataIndex: 'brand'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '备件价值',
|
|
|
+ dataIndex: 'initialValue',
|
|
|
+ checked: true,
|
|
|
+ width: '150px',
|
|
|
+ customRender: (text, record, index) => {
|
|
|
+ return this.BaseTool.Amount.formatter(text)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ checked: true,
|
|
|
+ width: '150px',
|
|
|
+ title: '数量',
|
|
|
+ dataIndex: 'inNum'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ checked: true,
|
|
|
+ width: '150px',
|
|
|
+ title: '总价',
|
|
|
+ dataIndex: 'totalPrice'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '计量单位',
|
|
|
+ checked: true,
|
|
|
+ width: '150px',
|
|
|
+ dataIndex: 'unit'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '当前库存',
|
|
|
+ dataIndex: 'currentStock',
|
|
|
+ checked: true,
|
|
|
+ width: '100px',
|
|
|
+ scopedSlots: { customRender: 'status' }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '最高库存',
|
|
|
+ checked: true,
|
|
|
+ width: '100px',
|
|
|
+ dataIndex: 'maxStock'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '最低库存',
|
|
|
+ checked: true,
|
|
|
+ width: '100px',
|
|
|
+ dataIndex: 'minStock'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '等级',
|
|
|
+ checked: true,
|
|
|
+ width: '150px',
|
|
|
+ dataIndex: 'level',
|
|
|
+ customRender: (text, record, index) => {
|
|
|
+ return this.BaseTool.Object.getField(this.levelMap, text)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '生产商',
|
|
|
+ checked: true,
|
|
|
+ width: '150px',
|
|
|
+ dataIndex: 'producerId',
|
|
|
+ customRender: (text, record, index) => {
|
|
|
+ return record.producerName
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '用途',
|
|
|
+ checked: true,
|
|
|
+ width: '150px',
|
|
|
+ dataIndex: 'yt',
|
|
|
+ customRender: (text, record, index) => {
|
|
|
+ return this.BaseTool.Object.getField(this.ytMap, text)
|
|
|
+ }
|
|
|
}
|
|
|
],
|
|
|
// 下拉框map
|
|
|
+ levelMap: {},
|
|
|
+ specialMap: {},
|
|
|
+ ytMap: {},
|
|
|
+ unitMap: {},
|
|
|
+ spareTypeTreeData: [],
|
|
|
// 加载数据方法 必须为 Promise 对象
|
|
|
loadData: parameter => {
|
|
|
parameter = {
|
|
@@ -158,8 +342,15 @@ export default {
|
|
|
created () {
|
|
|
// 下拉框map
|
|
|
this.tableOption()
|
|
|
- // 设置仓库选项
|
|
|
- this.setTree()
|
|
|
+ this.levelMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SPARE_PART_INFO_LEVEL)
|
|
|
+ this.unitMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SBINFO_UNIT)
|
|
|
+ this.ytMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.SPARE_USE_TYPE)
|
|
|
+ this.specialMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.YES_NO)
|
|
|
+ fetchSpareTypeTree({}).then(res => {
|
|
|
+ this.spareTypeTreeData = res.data
|
|
|
+ })
|
|
|
+ // 设置仓库选项
|
|
|
+ this.setTree()
|
|
|
},
|
|
|
methods: {
|
|
|
setTree () {
|