包裹列表

界面命名规范:/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数据即可。