<template>
|
<div class="rightContent">
|
<div class="top">
|
<SearchCommonView
|
:add-title="'新建'"
|
:placeholder="'请输入单号'"
|
:amount-view="false"
|
:search-task-map="searchTaskMap"
|
@addCommonClick="addBtnClick"
|
@searchClick="getList"
|
@delSelectClick="delSelectClick"
|
/>
|
</div>
|
<div class="list-view">
|
<div class="table">
|
<TableCommonView ref="tableListRef" :table-list="tableList" :show-checkcol="false">
|
<template slot="tableButton">
|
<el-table-column label="操作" width="120" fixed="right">
|
<template slot-scope="scope">
|
<el-button @click="tableRowClick(scope.row, 'edit')" type="text" size="small">编辑</el-button>
|
<el-button type="text" size="small" @click="tableRowClick(scope.row, 'look')">查看</el-button>
|
</template>
|
</el-table-column>
|
</template>
|
</TableCommonView>
|
</div>
|
<div class="btn-pager">
|
<PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
|
</div>
|
</div>
|
<!-- 新建/编辑 -->
|
<AddDialog
|
v-if="editConfig.visible"
|
@refresh="refresh"
|
:positionList="tableList.tableInfomation"
|
:edit-common-config="editConfig"
|
/>
|
</div>
|
</template>
|
|
<script>
|
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
|
import { getLocationList } from "@/api/warehouseManage/warehouse"
|
import AddDialog from "@/views/warehouseManage/position/AddDialog"
|
import { getDataByType } from "@/api/data"
|
export default {
|
name: "WarehouseView",
|
props: {},
|
components: { AddDialog },
|
mixins: [pageMixin],
|
computed: {},
|
data() {
|
return {
|
tableList: {},
|
searchOptions: [],
|
editConfig: {
|
visible: false,
|
title: "新建",
|
infomation: {}
|
},
|
positionTypeList: getDataByType("positionType"),
|
searchTaskMap: [],
|
type: 3
|
}
|
},
|
created() {
|
this.setTable()
|
this.searchTaskMap = [{ id: "3", title: "内部位置" }]
|
this.getData()
|
},
|
methods: {
|
setTable() {
|
this.tableList = {
|
tableInfomation: [],
|
selectBox: false,
|
selectIndex: true,
|
showcol: this.showcol,
|
allcol: [],
|
tableColumn: this.setTableColumn(this.showcol)
|
}
|
let allcol = []
|
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
|
if (!this.tableList.tableColumn[i].default) {
|
const label = this.tableList.tableColumn[i].label
|
allcol.push(label)
|
}
|
}
|
this.tableList.allcol = allcol
|
},
|
setTableColumn(showcol) {
|
console.log(showcol)
|
let tableColumn = [
|
{
|
label: "位置",
|
prop: "jointName",
|
isShowColumn: true,
|
default: true
|
},
|
{
|
label: "位置类型",
|
prop: "type",
|
isShowColumn: true,
|
default: true,
|
conversion: true,
|
getStatus: this.getTypesList
|
}
|
]
|
return tableColumn
|
},
|
getTypesList(val) {
|
let string = "--"
|
if (val) {
|
for (let i in this.positionTypeList) {
|
if (this.positionTypeList[i].id == val) {
|
return this.positionTypeList[i].name
|
}
|
}
|
}
|
return string
|
},
|
selTableCol(val) {
|
this.showcol = val
|
this.tableList.tableColumn = this.setTableColumn(val)
|
},
|
// 请求数据
|
async getData() {
|
await getLocationList({
|
type: this.type,
|
keyword: this.keyword,
|
page: this.pagerOptions.currPage,
|
pageSize: this.pagerOptions.pageSize
|
}).then((res) => {
|
if (res.code === 200) {
|
const list = res.data ? res.data : []
|
this.tableList.tableInfomation = list
|
this.pagerOptions.totalCount = res.total
|
}
|
})
|
},
|
refresh() {
|
this.pagerOptions.currPage = 1
|
this.getData()
|
},
|
// 搜索
|
getList(val) {
|
this.keyword = val
|
this.pagerOptions.currPage = 1
|
this.getData()
|
},
|
// 行点击
|
tableRowClick(row, val) {
|
this.editConfig.title = val == "look" ? "查看" : "编辑"
|
this.editConfig.infomation = { ...row }
|
this.editConfig.infomation.parentId = this.editConfig.infomation.parentId
|
? Number(this.editConfig.infomation.parentId)
|
: null
|
this.editConfig.visible = true
|
},
|
// 新建
|
addBtnClick() {
|
this.editConfig.infomation = {
|
name: "",
|
parentId: null,
|
type: 3,
|
isScrapLocation: null,
|
isReturnLocation: null,
|
replenishLocation: null,
|
countFrequency: 0,
|
recentlyCount: "",
|
nextCount: "",
|
notes: ""
|
}
|
this.editConfig.visible = true
|
this.editConfig.title = "新建"
|
},
|
// 删除位置
|
delSelectClick() {
|
this.type = 0
|
this.getData()
|
}
|
}
|
}
|
</script>
|
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
<style lang="scss" scoped></style>
|