plm前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

147 lines
4.1 KiB

<script>
export default {
name: "transferTable",
props: {
dataList: {
type: Array,
default: () => []
},
modelList: {
type: Array,
default: () => []
}
},
model:{
prop: "modelList",
event: "change"
},
data(){
return{
searchModel: {
itemNo: "",
itemDesc: ""
},
searchTableList: [],
dataTableList: []
}
},
methods:{
handleSearch(){
this.$emit("search", this.searchModel)
},
handleAdd(){
if (this.searchTableList.length === 0){
this.$message.warning("请选择需要新增的属性")
return
}
let params = JSON.parse(JSON.stringify(this.searchModel))
params.searchTableList = JSON.parse(JSON.stringify(this.searchTableList))
this.$emit("add",params)
},
handleDelete() {
if (this.dataTableList.length === 0){
this.$message.warning("请选择需要删除的属性")
return
}
let params = JSON.parse(JSON.stringify(this.searchModel))
params.dataTableList = JSON.parse(JSON.stringify(this.dataTableList))
this.$emit("delete",params)
},
handleRowClick(row, column, event, table) {
this.$refs[table].toggleRowSelection(row)
},
handleSelectionChange(selection, table) {
this[`${table}List`] = selection
}
}
}
</script>
<template>
<div>
<el-form :model="searchModel" label-position="top" :inline="true">
<el-form-item label="属性编码">
<el-input v-model="searchModel.itemNo"></el-input>
</el-form-item>
<el-form-item label="属性名称">
<el-input v-model="searchModel.itemDesc"></el-input>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" @click="handleSearch">查询</el-button>
</el-form-item>
</el-form>
<el-row :gutter="20">
<!--表格1-->
<el-col :span="11">
<span style="font-size: 12px">可选属性:</span>
<el-table
height="400px"
:data="dataList"
ref="searchTable"
@selection-change="(selection)=>handleSelectionChange(selection,'searchTable')"
@row-click="(row,column,event)=>handleRowClick(row,column,event,'searchTable')"
border>
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="itemNo"
header-align="center"
align="left"
label="属性编码">
</el-table-column>
<el-table-column
prop="itemDesc"
header-align="center"
align="left"
label="属性名称">
</el-table-column>
</el-table>
</el-col>
<!--按钮-->
<el-col :span="2">
<div style="text-align: center;display: flex;flex-direction: column;align-items: center;justify-content: center;height: 400px">
<div><el-button type="primary" @click="handleAdd">新增<i class="el-icon-d-arrow-right el-icon--right"></i></el-button></div>
<div><el-button type="primary" @click="handleDelete" icon="el-icon-d-arrow-left" style="margin-top: 10px">删除</el-button></div>
</div>
</el-col>
<!--表格2-->
<el-col :span="11">
<span style="font-size: 12px">已有属性</span>
<el-table
height="400px"
:data="modelList"
ref="dataTable"
@selection-change="(selection)=>handleSelectionChange(selection,'dataTable')"
@row-click="(row,column,event)=>handleRowClick(row,column,event,'dataTable')"
border>
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="itemNo"
header-align="center"
align="left"
label="属性编码">
</el-table-column>
<el-table-column
prop="itemDesc"
header-align="center"
align="left"
label="属性名称">
</el-table-column>
</el-table>
</el-col>
</el-row>
</div>
</template>
<style scoped>
</style>