|
|
@ -120,219 +120,216 @@ |
|
|
|
</el-table> --> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
import currenDescriptions from "@/components/currenDescriptions" |
|
|
|
import { tableMixins } from "@/mixins/TableMixins"; |
|
|
|
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"; |
|
|
|
import { LoadingMixins } from "@/mixins/LoadingMixins"; |
|
|
|
import { mixins } from "@/mixins/mixins"; |
|
|
|
import { filterSelectMixins } from '@/mixins/filter-Select' |
|
|
|
import {getListDesById,getPageListForDetail} from "@/api/wms-api" |
|
|
|
export default { |
|
|
|
name: 'filterForDetailPage', |
|
|
|
mixins: [ |
|
|
|
tableMixins, |
|
|
|
TableHeaderMixins, |
|
|
|
mixins, |
|
|
|
filterSelectMixins, |
|
|
|
LoadingMixins |
|
|
|
], |
|
|
|
components:{ |
|
|
|
currenDescriptions |
|
|
|
}, |
|
|
|
props: { |
|
|
|
// 已app-main高度为100% 需要减掉的高度 |
|
|
|
setUTableHeight: { |
|
|
|
type: Number, |
|
|
|
default: 340 |
|
|
|
}, |
|
|
|
// 是否显示序号 |
|
|
|
isShowIndex:{ |
|
|
|
type: Boolean, |
|
|
|
default: false |
|
|
|
}, |
|
|
|
// 复选框 |
|
|
|
tableSelection: { |
|
|
|
type: Boolean, |
|
|
|
default: false |
|
|
|
}, |
|
|
|
cellStyle: { |
|
|
|
type: Function, |
|
|
|
default: () => { |
|
|
|
return Function; |
|
|
|
} |
|
|
|
}, |
|
|
|
// 超出内容是否提示 |
|
|
|
showOverflowTooltip:{ |
|
|
|
type: Boolean, |
|
|
|
default: false, |
|
|
|
}, |
|
|
|
// 删除api |
|
|
|
DeleteApi: { |
|
|
|
type: String, |
|
|
|
default: null |
|
|
|
}, |
|
|
|
// 主表数据-表头 |
|
|
|
parentColumns:{ |
|
|
|
type: Array, |
|
|
|
default: null |
|
|
|
}, |
|
|
|
showHandleButtons:{ |
|
|
|
type:Array, |
|
|
|
default:() => { |
|
|
|
//'add','edit'暂未处理操作 'delete'暂时隐藏 |
|
|
|
// showParent查看主表信息,fresh刷新,filter筛选,field字段设置 |
|
|
|
return ['showParent','fresh','filter','field']; |
|
|
|
} |
|
|
|
}, |
|
|
|
// 父级展现列数,默认为2列展现 |
|
|
|
column: { |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
import currenDescriptions from "@/components/currenDescriptions" |
|
|
|
import { tableMixins } from "@/mixins/TableMixins"; |
|
|
|
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"; |
|
|
|
import { LoadingMixins } from "@/mixins/LoadingMixins"; |
|
|
|
import { mixins } from "@/mixins/mixins"; |
|
|
|
import { filterSelectMixins } from '@/mixins/filter-Select' |
|
|
|
import {getListDesById,getPageListForDetail} from "@/api/wms-api" |
|
|
|
import { initApiColumnsForDto } from '@/utils/index' |
|
|
|
export default { |
|
|
|
name: 'filterForDetailPage', |
|
|
|
mixins: [ |
|
|
|
tableMixins, |
|
|
|
TableHeaderMixins, |
|
|
|
mixins, |
|
|
|
filterSelectMixins, |
|
|
|
LoadingMixins |
|
|
|
], |
|
|
|
components:{ |
|
|
|
currenDescriptions |
|
|
|
}, |
|
|
|
props: { |
|
|
|
// 已app-main高度为100% 需要减掉的高度 |
|
|
|
setUTableHeight: { |
|
|
|
type: Number, |
|
|
|
default: 2 |
|
|
|
}, |
|
|
|
// 父级展示方式,默认水平分布 |
|
|
|
direction: { |
|
|
|
default: 340 |
|
|
|
}, |
|
|
|
// 是否显示序号 |
|
|
|
isShowIndex:{ |
|
|
|
type: Boolean, |
|
|
|
default: false |
|
|
|
}, |
|
|
|
// 复选框 |
|
|
|
tableSelection: { |
|
|
|
type: Boolean, |
|
|
|
default: false |
|
|
|
}, |
|
|
|
cellStyle: { |
|
|
|
type: Function, |
|
|
|
default: () => { |
|
|
|
return Function; |
|
|
|
} |
|
|
|
}, |
|
|
|
// 超出内容是否提示 |
|
|
|
showOverflowTooltip:{ |
|
|
|
type: Boolean, |
|
|
|
default: false, |
|
|
|
}, |
|
|
|
// 删除api |
|
|
|
DeleteApi: { |
|
|
|
type: String, |
|
|
|
default: 'horizontal' |
|
|
|
}, |
|
|
|
rowMaxHeight:{ |
|
|
|
type:String, |
|
|
|
default:'calc(90vh - 450px)' |
|
|
|
}, |
|
|
|
default: null |
|
|
|
}, |
|
|
|
data () { |
|
|
|
return { |
|
|
|
dialogShow:true, |
|
|
|
// URLOption_detailList:allUrlOption[this.$route.name].detailListURL,//明细-列表 |
|
|
|
// URLOption_masterId:allUrlOption[this.$route.name].masterId || 'masterId',//明细-查看主表的连接id |
|
|
|
// URLOption_masterName:allUrlOption[this.$route.name].masterName,//明细-列表//明细-查看主表的连接title名称 |
|
|
|
// URLOption_parent:allUrlOption[this.$route.name].parentURL ? allUrlOption[this.$route.name].parentURL : allUrlOption[this.$route.name].detailURL,//明细-查看主表 |
|
|
|
currenButtonData: [],//头部按钮 |
|
|
|
operaButtons:[],//操作列按钮 |
|
|
|
showParentDialog:false,//显示父级数据弹窗 |
|
|
|
showParentTitle:null,//显示父级数据弹窗-title |
|
|
|
showParentTableData:null,//显示父级数据弹窗-数据 |
|
|
|
showParentLoading:false,//显示父级数据弹窗-加载 |
|
|
|
listColumns:[],//表头数据 |
|
|
|
// 主表数据-表头 |
|
|
|
parentColumns:{ |
|
|
|
type: Array, |
|
|
|
default: null |
|
|
|
}, |
|
|
|
showHandleButtons:{ |
|
|
|
type:Array, |
|
|
|
default:() => { |
|
|
|
//'add','edit'暂未处理操作 'delete'暂时隐藏 |
|
|
|
// showParent查看主表信息,fresh刷新,filter筛选,field字段设置 |
|
|
|
return ['showParent','fresh','filter','field']; |
|
|
|
} |
|
|
|
}, |
|
|
|
activated(){ |
|
|
|
// 解决切换页面的时候,遮罩层消失的问题 |
|
|
|
// 父级展现列数,默认为2列展现 |
|
|
|
column: { |
|
|
|
type: Number, |
|
|
|
default: 2 |
|
|
|
}, |
|
|
|
// 父级展示方式,默认水平分布 |
|
|
|
direction: { |
|
|
|
type: String, |
|
|
|
default: 'horizontal' |
|
|
|
}, |
|
|
|
rowMaxHeight:{ |
|
|
|
type:String, |
|
|
|
default:'calc(90vh - 450px)' |
|
|
|
}, |
|
|
|
}, |
|
|
|
data () { |
|
|
|
return { |
|
|
|
dialogShow:true, |
|
|
|
currenButtonData: [],//头部按钮 |
|
|
|
operaButtons:[],//操作列按钮 |
|
|
|
showParentDialog:false,//显示父级数据弹窗 |
|
|
|
showParentTitle:null,//显示父级数据弹窗-title |
|
|
|
showParentTableData:null,//显示父级数据弹窗-数据 |
|
|
|
showParentLoading:false,//显示父级数据弹窗-加载 |
|
|
|
listColumns:[],//表头数据 |
|
|
|
} |
|
|
|
}, |
|
|
|
activated(){ |
|
|
|
// 解决切换页面的时候,遮罩层消失的问题 |
|
|
|
this.dialogShow = false |
|
|
|
this.$nextTick(() => { |
|
|
|
this.dialogShow = true |
|
|
|
}); |
|
|
|
}, |
|
|
|
mounted(){ |
|
|
|
this.paging() |
|
|
|
this.initHandleButtons() |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
rowDropForDetail(data,type){ |
|
|
|
this.listColumns = data |
|
|
|
this.$emit("rowDropForDetail", data,type) |
|
|
|
}, |
|
|
|
// 初始化显示按钮 |
|
|
|
initHandleButtons(){ |
|
|
|
// 头部按钮 |
|
|
|
let _arr_header = [] |
|
|
|
if(this.showHandleButtons.indexOf('add') >= 0){_arr_header.push(this.defaultAddBtn())} |
|
|
|
if(this.showHandleButtons.indexOf('field') >= 0){_arr_header.push(this.defaultFieldSettingBtn())} |
|
|
|
if(this.showHandleButtons.indexOf('fresh') >= 0){_arr_header.push(this.defaultFreshBtn())} |
|
|
|
if(this.showHandleButtons.indexOf('filter') >= 0){_arr_header.push(this.defaultFilterBtn())} |
|
|
|
this.currenButtonData = _arr_header |
|
|
|
|
|
|
|
// 操作列按钮 |
|
|
|
let _arr_op = [] |
|
|
|
if(this.showHandleButtons.indexOf('edit') >= 0){_arr_op.push('edit')} |
|
|
|
if(this.showHandleButtons.indexOf('delete') >= 0){_arr_op.push('delete')} |
|
|
|
if(this.showHandleButtons.indexOf('showParent') >= 0){_arr_op.push('showParent')} |
|
|
|
this.operaButtons = _arr_op |
|
|
|
}, |
|
|
|
// 关闭明细查询弹窗 |
|
|
|
closeDialog(data){ |
|
|
|
this.dialogShow = false |
|
|
|
this.$nextTick(() => { |
|
|
|
this.dialogShow = true |
|
|
|
}); |
|
|
|
this.$emit("closeDialog", data) |
|
|
|
}, |
|
|
|
// 获取列表 |
|
|
|
paging(callback){ |
|
|
|
this.Loading.tableLoading = true; |
|
|
|
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount |
|
|
|
getPageListForDetail(this.PageListParams,this.URLOption_detailList) |
|
|
|
.then(res=>{ |
|
|
|
// 表头处理 |
|
|
|
let _parentName = this.URLOption_detailList.substr(0,this.URLOption_detailList.indexOf('/')) |
|
|
|
let _Columns = initApiColumnsForDto(res.items[0],_parentName,this) |
|
|
|
this.listColumns = this.initTableColumns(_Columns,'detailPage_api') |
|
|
|
// 页面数据处理 |
|
|
|
if(res){ |
|
|
|
this.Loading.tableLoading = false |
|
|
|
this.tableData = [] |
|
|
|
res.items.forEach(item=>{ |
|
|
|
item.deleteTipVisible = false |
|
|
|
this.tableData.push(item) |
|
|
|
}) |
|
|
|
this.totalCount = res.totalCount |
|
|
|
} |
|
|
|
this.pagingCallback(callback) |
|
|
|
}) |
|
|
|
.catch(err=>{ |
|
|
|
this.Loading.tableLoading = false |
|
|
|
this.$message.error("数据获取失败") |
|
|
|
}) |
|
|
|
}, |
|
|
|
mounted(){ |
|
|
|
this.paging() |
|
|
|
this.initHandleButtons() |
|
|
|
// 查看主表信息 |
|
|
|
showParentHandleForDetail(data){ |
|
|
|
this.showParentTitle = `${data[this.URLOption_masterName] || ''} 主表信息` |
|
|
|
this.showParentDialog = true |
|
|
|
this.showParentLoading = true |
|
|
|
getListDesById(this.URLOption_parent,data[this.URLOption_masterId]) |
|
|
|
.then(res => { |
|
|
|
this.showParentTableData = res |
|
|
|
this.showParentLoading = false |
|
|
|
}) |
|
|
|
.catch(err => { |
|
|
|
this.showParentLoading = false |
|
|
|
this.$message.error("主表信息获取失败!") |
|
|
|
}) |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
rowDropForDetail(data,type){ |
|
|
|
this.listColumns = data |
|
|
|
this.$emit("rowDropForDetail", data,type) |
|
|
|
}, |
|
|
|
// 初始化显示按钮 |
|
|
|
initHandleButtons(){ |
|
|
|
// 头部按钮 |
|
|
|
let _arr_header = [] |
|
|
|
if(this.showHandleButtons.indexOf('add') >= 0){_arr_header.push(this.defaultAddBtn())} |
|
|
|
if(this.showHandleButtons.indexOf('field') >= 0){_arr_header.push(this.defaultFieldSettingBtn())} |
|
|
|
if(this.showHandleButtons.indexOf('fresh') >= 0){_arr_header.push(this.defaultFreshBtn())} |
|
|
|
if(this.showHandleButtons.indexOf('filter') >= 0){_arr_header.push(this.defaultFilterBtn())} |
|
|
|
this.currenButtonData = _arr_header |
|
|
|
// 编辑 |
|
|
|
editHandleForDetail(data){ |
|
|
|
console.log(data) |
|
|
|
}, |
|
|
|
// 删除 |
|
|
|
deleteHandleForDetail(data){ |
|
|
|
this.Loading.appMainLoading = true |
|
|
|
data.deleteTipVisible = false |
|
|
|
// interfaceApi[this.DeleteApi](data.id).then(res => { |
|
|
|
// this.$successMsg('删除成功!') |
|
|
|
// this.oldSkipCount = 1 |
|
|
|
// this.Loading.appMainLoading = false |
|
|
|
// this.paging() |
|
|
|
// }).catch(err => { |
|
|
|
// this.Loading.appMainLoading = false |
|
|
|
// this.$message.error("删除失败!") |
|
|
|
// }) |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
<style lang="scss"> |
|
|
|
.filterForDetailPage { |
|
|
|
|
|
|
|
// 操作列按钮 |
|
|
|
let _arr_op = [] |
|
|
|
if(this.showHandleButtons.indexOf('edit') >= 0){_arr_op.push('edit')} |
|
|
|
if(this.showHandleButtons.indexOf('delete') >= 0){_arr_op.push('delete')} |
|
|
|
if(this.showHandleButtons.indexOf('showParent') >= 0){_arr_op.push('showParent')} |
|
|
|
this.operaButtons = _arr_op |
|
|
|
}, |
|
|
|
// 关闭明细查询弹窗 |
|
|
|
closeDialog(data){ |
|
|
|
this.dialogShow = false |
|
|
|
this.$emit("closeDialog", data) |
|
|
|
}, |
|
|
|
// 获取列表 |
|
|
|
paging(callback){ |
|
|
|
this.Loading.tableLoading = true; |
|
|
|
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount |
|
|
|
getPageListForDetail(this.PageListParams,this.URLOption_detailList) |
|
|
|
.then(res=>{ |
|
|
|
// 表头处理 |
|
|
|
let _parentName = this.URLOption_detailList.substr(0,this.URLOption_detailList.indexOf('/')) |
|
|
|
let _Columns = this.initApiColumnsForDto(res.items[0],_parentName) |
|
|
|
this.listColumns = this.initTableColumns(_Columns,'detailPage_api') |
|
|
|
// 页面数据处理 |
|
|
|
if(res){ |
|
|
|
this.Loading.tableLoading = false |
|
|
|
this.tableData = [] |
|
|
|
res.items.forEach(item=>{ |
|
|
|
item.deleteTipVisible = false |
|
|
|
this.tableData.push(item) |
|
|
|
}) |
|
|
|
this.totalCount = res.totalCount |
|
|
|
} |
|
|
|
this.pagingCallback(callback) |
|
|
|
}) |
|
|
|
.catch(err=>{ |
|
|
|
this.Loading.tableLoading = false |
|
|
|
this.$message.error("数据获取失败") |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 查看主表信息 |
|
|
|
showParentHandleForDetail(data){ |
|
|
|
this.showParentTitle = `${data[this.URLOption_masterName] || ''} 主表信息` |
|
|
|
this.showParentDialog = true |
|
|
|
this.showParentLoading = true |
|
|
|
getListDesById(this.URLOption_parent,data[this.URLOption_masterId]) |
|
|
|
.then(res => { |
|
|
|
this.showParentTableData = res |
|
|
|
this.showParentLoading = false |
|
|
|
}) |
|
|
|
.catch(err => { |
|
|
|
this.showParentLoading = false |
|
|
|
this.$message.error("主表信息获取失败!") |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 编辑 |
|
|
|
editHandleForDetail(data){ |
|
|
|
console.log(data) |
|
|
|
}, |
|
|
|
// 删除 |
|
|
|
deleteHandleForDetail(data){ |
|
|
|
this.Loading.appMainLoading = true |
|
|
|
data.deleteTipVisible = false |
|
|
|
// interfaceApi[this.DeleteApi](data.id).then(res => { |
|
|
|
// this.$successMsg('删除成功!') |
|
|
|
// this.oldSkipCount = 1 |
|
|
|
// this.Loading.appMainLoading = false |
|
|
|
// this.paging() |
|
|
|
// }).catch(err => { |
|
|
|
// this.Loading.appMainLoading = false |
|
|
|
// this.$message.error("删除失败!") |
|
|
|
// }) |
|
|
|
}, |
|
|
|
.mainTable-dialog{ |
|
|
|
.el-dialog{ |
|
|
|
height: calc(100% - 100px); |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
<style lang="scss"> |
|
|
|
.filterForDetailPage { |
|
|
|
|
|
|
|
.mainTable-dialog{ |
|
|
|
.el-dialog{ |
|
|
|
height: calc(100% - 100px); |
|
|
|
} |
|
|
|
} |
|
|
|
.el-dialog__body{ |
|
|
|
min-height: 200px; |
|
|
|
padding-bottom: 20px !important; |
|
|
|
} |
|
|
|
} |
|
|
|
.filterForDetailPage-list{ |
|
|
|
height: calc(100%); |
|
|
|
overflow: auto; |
|
|
|
.el-dialog__body{ |
|
|
|
min-height: 200px; |
|
|
|
padding-bottom: 20px !important; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|
.filterForDetailPage-list{ |
|
|
|
height: calc(100%); |
|
|
|
overflow: auto; |
|
|
|
} |
|
|
|
</style> |