界面命名规范:/src/pages/packagemanage/packagelist.vue
样式文件: /src/static/system_01/style/packagelist.scss
1、主页框架左侧导航
在主框架左侧导航中新增一个主菜单--包裹管理,点击包裹管理主菜单时,右边内容页直接加载包裹列表。主菜单下新增两个子菜单-- 1、在线下单 2、我的工单
点击左侧导航时,主页框架顶部的新增一个可关闭的选项卡
新增的导航数据如下:
{
"l_id": "12",
"l_name": "包裹管理",
"l_url": "/packagemanage/packagelist",
"l_haveson": 1,
"l_icon": "",
"sonlist": [{
"l_id": "13",
"l_name": "在线下单",
"l_url": " /packagemanage/createorder",
"l_haveson": "0"
},
{
"l_id": "15",
"l_name": "我的工单",
"l_url": " /crm/myquestion",
"l_haveson": "0"
}
]
}
1、搜索栏的排版
2、列表排版由多个选项卡组成,每个选项卡下生成不同的列表和操作按钮。如下图。列表可直接用已封装的 tablegrid.vue 组件

a.选项卡以及对应操作按钮的json格式如下
{
"tabs": [{
"name": "未审核",
"count": 0,
"tabclick": "GetTabData('wsh')",
"buttons": [{
"type": "primary",
"icon": "",
"title": "导入",
"event": "exportorder"
},
{
"type": "danger",
"icon": "",
"title": "删除",
"event": "delorder"
}
]
}, {
"name": "未申报",
"count": 0,
"tabclick": "GetTabData('sh')",
"buttons": [{
"type": "primary",
"icon": "",
"title": "导入",
"event": "exportorder"
},
{
"type": "danger",
"icon": "",
"title": "删除",
"event": "delorder"
}
]
}, {
"name": "已申报",
"count": 0,
"tabclick": "GetTabData('dy')",
"buttons": [{
"type": "primary",
"icon": "",
"title": "更新状态",
"event": "updateorder"
}]
}]
}
b.当点击选项卡时,调用GetTabData(type)方法,获取列表的表头和表体数据。每个选项卡下的列表数据变量和表头变量都需分开设置。每个列表变量和表头变量都独立声明。
表头配置变量如下:
columns_wrk:[], --未入库
columns_ckclz:[], --仓库处理中
columns_gjzt:[], --国际在途
columns_gwlz:[] --国外流转中
columns_yqs:[] --已签收
columns_all:[] --全部
列表变量
data_wrk:[], --未入库
data_ckclz:[], --仓库处理中
data_gjzt:[], --国际在途
data_gwlz:[] --国外流转中
data_yqs:[] --已签收
data_all:[] --全部
GetTabData(type)方法的逻辑:
此处包含两个方法:
--1、获取表头
GetColumns(type)
--2、获取列表数据
GetGridData(type)
调用获取表头方法之前先判断type对应的表头是否已加载,如果未加载则调用接口,如果已加载则可直接调用GetGridData方法
--获取表头的调用方法
GetTabData(type){
GetColumns(type)
}
//获取表头方法
GetColumns(type) {
//此处请添加判断对应选项卡的columns是否已生成,没有则调用接口,有则直接调用GetGridData
this.$apipost.get.GetColumns({tablename:'PRC_UserList',checkfield:1,parentid:'13',mode:'用户管理'}).then(res => {
that. columns_wrk=res;
});
}
//获取列表数据方法
GetGridData(type){
this.$apipost.get.GetUserlist({ pageindex: this.pageindex, pagesize: this.pagesize,
search:JSON.stringify(search), sort: this.sort }).then(res => {
if (that.pageindex > 0) {
this.data_yqs.push(res.list);
} else {
this.data_yqs= res.list;
}
});
}
c.操作栏按钮生成
可用已封装的 handler.vue 组件,传入【a】中的选项卡下的buttons数据即可。