|
@@ -6,14 +6,53 @@
|
|
<a-row :gutter="48">
|
|
<a-row :gutter="48">
|
|
<a-col :md="8" :sm="24">
|
|
<a-col :md="8" :sm="24">
|
|
<a-form-item label="关键字">
|
|
<a-form-item label="关键字">
|
|
- <a-input v-model="queryParam.keyword" placeholder="请输入出库单号"/>
|
|
|
|
|
|
+ <a-input v-model="queryParam.keyword" placeholder="请输入名称/编码"/>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
</a-col>
|
|
</a-col>
|
|
<a-col :md="8" :sm="24">
|
|
<a-col :md="8" :sm="24">
|
|
- <a-form-item label="出库类型">
|
|
|
|
- <a-select v-model="queryParam.type" placeholder="请选择">
|
|
|
|
|
|
+ <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
|
|
<a-select-option
|
|
- v-for="(label,value) in typeMap"
|
|
|
|
|
|
+ v-for="(label,value) in levelMap"
|
|
:key="value"
|
|
:key="value"
|
|
:label="label"
|
|
:label="label"
|
|
:value="parseInt(value)">{{ label }}
|
|
:value="parseInt(value)">{{ label }}
|
|
@@ -21,7 +60,36 @@
|
|
</a-select>
|
|
</a-select>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
</a-col>
|
|
</a-col>
|
|
- <a-col :md="8 || 24" :sm="24">
|
|
|
|
|
|
+ <a-col :md="6" :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="6" :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="6" :sm="24">
|
|
|
|
+ <a-form-item label="关联设备">
|
|
|
|
+ <a-input v-model="queryParam.model" placeholder="新号/旧号/名称/规格"/>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </a-col>
|
|
|
|
+ <a-col :md="6 || 24" :sm="24">
|
|
<span class="table-page-search-submitButtons">
|
|
<span class="table-page-search-submitButtons">
|
|
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
|
|
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
|
|
<a-button style="margin-left: 8px" @click="resetSearchForm">重置</a-button>
|
|
<a-button style="margin-left: 8px" @click="resetSearchForm">重置</a-button>
|
|
@@ -53,6 +121,7 @@
|
|
:columns="columns"
|
|
:columns="columns"
|
|
:data="loadData"
|
|
:data="loadData"
|
|
:alert="options.alert"
|
|
:alert="options.alert"
|
|
|
|
+ :scroll="{x: 1500, y: BaseTool.Constant.scrollY}"
|
|
:rowSelection="options.rowSelection"
|
|
:rowSelection="options.rowSelection"
|
|
showPagination="auto"
|
|
showPagination="auto"
|
|
>
|
|
>
|
|
@@ -70,7 +139,7 @@
|
|
<a-popconfirm v-if="$auth('store-out-store-forms-del')&&record.status==1" title="是否要删除该条数据?" @confirm="batchDelete(record.id)">
|
|
<a-popconfirm v-if="$auth('store-out-store-forms-del')&&record.status==1" title="是否要删除该条数据?" @confirm="batchDelete(record.id)">
|
|
<a>删除</a>
|
|
<a>删除</a>
|
|
</a-popconfirm>
|
|
</a-popconfirm>
|
|
- <a-divider v-if="record.status==2" type="vertical" />
|
|
|
|
|
|
+ <a-divider v-if="record.status==2" type="vertical" />
|
|
<a-popconfirm v-if="record.status==2" title="是否要撤销?" @confirm="updateStoreBack(record.id)">
|
|
<a-popconfirm v-if="record.status==2" title="是否要撤销?" @confirm="updateStoreBack(record.id)">
|
|
<a>撤销</a>
|
|
<a>撤销</a>
|
|
</a-popconfirm>
|
|
</a-popconfirm>
|
|
@@ -92,6 +161,7 @@
|
|
import { STable, Ellipsis } from '@/components'
|
|
import { STable, Ellipsis } from '@/components'
|
|
import BaseForm from './modules/BaseForm'
|
|
import BaseForm from './modules/BaseForm'
|
|
import Detail from './modules/Detail'
|
|
import Detail from './modules/Detail'
|
|
|
|
+import { fetchSpareTypeTree } from '@/api/sqarepartmanage/sparetype'
|
|
import { updateStore, updateStoreBack, getOutStoreFormPage, deleteOutStoreForms, fetchOutStoreForm, exportOutStoreForm } from '@/api/store/outstoreform'
|
|
import { updateStore, updateStoreBack, getOutStoreFormPage, deleteOutStoreForms, fetchOutStoreForm, exportOutStoreForm } from '@/api/store/outstoreform'
|
|
import { fetchInStoreForm } from '@/api/store/instoreform'
|
|
import { fetchInStoreForm } from '@/api/store/instoreform'
|
|
|
|
|
|
@@ -120,44 +190,158 @@ export default {
|
|
{
|
|
{
|
|
title: '序号',
|
|
title: '序号',
|
|
dataIndex: 'index',
|
|
dataIndex: 'index',
|
|
|
|
+ checked: true,
|
|
|
|
+ width: '100px',
|
|
customRender: (text, record, index) => {
|
|
customRender: (text, record, index) => {
|
|
return `${(this.$refs.table.localPagination.current - 1) * this.$refs.table.localPagination.pageSize + index + 1}`
|
|
return `${(this.$refs.table.localPagination.current - 1) * this.$refs.table.localPagination.pageSize + index + 1}`
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '出库单号',
|
|
title: '出库单号',
|
|
|
|
+ checked: true,
|
|
|
|
+ width: '150px',
|
|
dataIndex: 'outNo'
|
|
dataIndex: 'outNo'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '出库类型',
|
|
title: '出库类型',
|
|
dataIndex: 'type',
|
|
dataIndex: 'type',
|
|
|
|
+ checked: true,
|
|
|
|
+ width: '150px',
|
|
customRender: (text, record, index) => {
|
|
customRender: (text, record, index) => {
|
|
return this.BaseTool.Object.getField(this.typeMap, text)
|
|
return this.BaseTool.Object.getField(this.typeMap, text)
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ {
|
|
|
|
+ title: '备件编码',
|
|
|
|
+ dataIndex: 'no',
|
|
|
|
+ checked: true,
|
|
|
|
+ width: '150px'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '备件名称',
|
|
|
|
+ dataIndex: 'name',
|
|
|
|
+ checked: true,
|
|
|
|
+ width: '150px'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '规格型号',
|
|
|
|
+ checked: true,
|
|
|
|
+ width: '150px',
|
|
|
|
+ dataIndex: 'ggxh'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ 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'
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ {
|
|
|
|
+ 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)
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '备注',
|
|
|
|
+ checked: true,
|
|
|
|
+ width: '150px',
|
|
|
|
+ dataIndex: 'remark'
|
|
|
|
+ },
|
|
{
|
|
{
|
|
title: '总价',
|
|
title: '总价',
|
|
|
|
+ checked: true,
|
|
|
|
+ width: '150px',
|
|
dataIndex: 'totalPrice'
|
|
dataIndex: 'totalPrice'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '状态',
|
|
title: '状态',
|
|
dataIndex: 'status',
|
|
dataIndex: 'status',
|
|
|
|
+ checked: true,
|
|
|
|
+ width: '150px',
|
|
scopedSlots: { customRender: 'status' }
|
|
scopedSlots: { customRender: 'status' }
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '创建日期',
|
|
title: '创建日期',
|
|
- dataIndex: 'createdTime'
|
|
|
|
|
|
+ dataIndex: 'createdTime',
|
|
|
|
+ checked: true,
|
|
|
|
+ width: '150px'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '仓库',
|
|
title: '仓库',
|
|
dataIndex: 'storeId',
|
|
dataIndex: 'storeId',
|
|
|
|
+ checked: true,
|
|
|
|
+ width: '150px',
|
|
customRender: (text, record, index) => {
|
|
customRender: (text, record, index) => {
|
|
return record.storeName
|
|
return record.storeName
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '操作',
|
|
title: '操作',
|
|
|
|
+ checked: true,
|
|
key: 'action',
|
|
key: 'action',
|
|
|
|
+ fixed: 'right',
|
|
width: '200px',
|
|
width: '200px',
|
|
align: 'center',
|
|
align: 'center',
|
|
scopedSlots: { customRender: 'action' }
|
|
scopedSlots: { customRender: 'action' }
|
|
@@ -165,6 +349,11 @@ export default {
|
|
],
|
|
],
|
|
// 下拉框map
|
|
// 下拉框map
|
|
typeMap: {},
|
|
typeMap: {},
|
|
|
|
+ levelMap: {},
|
|
|
|
+ specialMap: {},
|
|
|
|
+ ytMap: {},
|
|
|
|
+ unitMap: {},
|
|
|
|
+ spareTypeTreeData: [],
|
|
// 加载数据方法 必须为 Promise 对象
|
|
// 加载数据方法 必须为 Promise 对象
|
|
loadData: parameter => {
|
|
loadData: parameter => {
|
|
parameter = {
|
|
parameter = {
|
|
@@ -197,6 +386,13 @@ export default {
|
|
// 下拉框map
|
|
// 下拉框map
|
|
this.typeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.OUT_STORE_FORM_TYPE)
|
|
this.typeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.OUT_STORE_FORM_TYPE)
|
|
this.statusMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.OUT_STORE_FORM_STATUS)
|
|
this.statusMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.OUT_STORE_FORM_STATUS)
|
|
|
|
+ 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.tableOption()
|
|
this.tableOption()
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|