<!DOCTYPE html> 
 | 
<html lang="en"> 
 | 
<head> 
 | 
    <meta charset="UTF-8"> 
 | 
    <title>API开放平台 - 上报接口管理</title> 
 | 
    <link rel="stylesheet" href="../static/css/element.css"> 
 | 
    <link rel="stylesheet" href="../static/css/common.css"> 
 | 
    <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> 
 | 
    <script type="text/javascript" src="../static/js/vue.min.js"></script> 
 | 
    <script type="text/javascript" src="../static/js/showdown.min.js"></script> 
 | 
    <script type="text/javascript" src="../static/js/common.js"></script> 
 | 
    <script type="text/javascript" src="../static/js/element.js"></script> 
 | 
</head> 
 | 
<body> 
 | 
    <div id="app" style="display: flex;justify-content: center;flex-wrap: wrap;"> 
 | 
        <div style="width: 80%;"> 
 | 
            <el-card class="box-card"> 
 | 
                <el-form :inline="true" :model="tableSearchParam" class="demo-form-inline"> 
 | 
                    <el-form-item label=""> 
 | 
                        <el-input v-model="tableSearchParam.url" placeholder="URL"></el-input> 
 | 
                    </el-form-item> 
 | 
                    <el-form-item label=""> 
 | 
                        <el-select v-model="tableSearchParam.type" placeholder="请选择上报类型"> 
 | 
                            <el-option label="订单完成" value="order_complete"></el-option> 
 | 
                            <el-option label="订单取消" value="order_cancel"></el-option> 
 | 
                            <el-option label="库存上报" value="report_stock"></el-option> 
 | 
                        </el-select> 
 | 
                    </el-form-item> 
 | 
                    <el-form-item> 
 | 
                        <el-select v-model="tableSearchParam.status" placeholder="请选择是否开启"> 
 | 
                            <el-option label="开启" value="1"></el-option> 
 | 
                            <el-option label="关闭" value="0"></el-option> 
 | 
                        </el-select> 
 | 
                    </el-form-item> 
 | 
                    <el-form-item label=""> 
 | 
                        <el-select v-model="tableSearchParam.hostId" placeholder="请选择选择仓库"> 
 | 
                            <el-option v-for="item in hostList" :label="item.name" :value="item.id"></el-option> 
 | 
                        </el-select> 
 | 
                    </el-form-item> 
 | 
                    <el-form-item> 
 | 
                        <el-button type="primary" @click="getTableData">查询</el-button> 
 | 
                        <el-button type="primary" @click="resetParam">重置</el-button> 
 | 
                        <el-button type="success" @click="showAddApi()">添加接口</el-button> 
 | 
                    </el-form-item> 
 | 
                </el-form> 
 | 
                <el-table ref="singleTable" :data="tableData" style="width: 100%;"> 
 | 
                    <el-table-column property="url" label="URL"> 
 | 
                    </el-table-column> 
 | 
                    <el-table-column property="type$" label="上报类型"> 
 | 
                    </el-table-column> 
 | 
                    <el-table-column property="status$" label="是否开启"> 
 | 
                    </el-table-column> 
 | 
                    <el-table-column property="hostId$" label="仓库"> 
 | 
                    </el-table-column> 
 | 
                    <el-table-column 
 | 
                            fixed="right" 
 | 
                            label="操作" 
 | 
                            width="100"> 
 | 
                        <template slot-scope="scope"> 
 | 
                            <el-button @click="showAddApi(scope.row)" type="text" size="small">编辑</el-button> 
 | 
                            <el-button @click="deleteApi(scope.row)" type="text" size="small">删除</el-button> 
 | 
                        </template> 
 | 
                    </el-table-column> 
 | 
                </el-table> 
 | 
  
 | 
                <div style="margin-top: 10px;"> 
 | 
                    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" 
 | 
                                   :current-page="currentPage" :page-sizes="pageSizes" :page-size="pageSize" 
 | 
                                   layout="total, sizes, prev, pager, next, jumper" :total="pageTotal"> 
 | 
                    </el-pagination> 
 | 
                </div> 
 | 
            </el-card> 
 | 
        </div> 
 | 
  
 | 
        <div class="slider"> 
 | 
            <div><el-button type="text" @click="switchPage('index.html')">简介</el-button></div> 
 | 
            <div><el-button type="text" @click="switchPage('default.html')">规范说明</el-button></div> 
 | 
            <el-divider></el-divider> 
 | 
            <div><el-button type="text" @click="switchPage('reportCompleted.html')">订单完成上报</el-button></div> 
 | 
            <div><el-button type="text" @click="switchPage('reportCancel.html')">订单取消上报</el-button></div> 
 | 
            <div><el-button type="text" @click="switchPage('reportStock.html')">库存上报</el-button></div> 
 | 
            <div><el-button type="text" @click="switchPage('reportApiManage.html')">上报API管理</el-button></div> 
 | 
            <el-divider></el-divider> 
 | 
            <div><el-button type="text" @click="switchPage('getOrderType.html')">获取订单类型</el-button></div> 
 | 
            <div><el-button type="text" @click="switchPage('getOrderStatus.html')">获取订单状态列表</el-button></div> 
 | 
            <div><el-button type="text" @click="switchPage('getOrderList.html')">获取订单列表</el-button></div> 
 | 
            <div><el-button type="text" @click="switchPage('generateOrderPakIn.html')">生成入库订单</el-button></div> 
 | 
            <div><el-button type="text" @click="switchPage('generateOrderPakOut.html')">生成出库订单</el-button></div> 
 | 
            <div><el-button type="text" @click="switchPage('createMat.html')">添加物料信息</el-button></div> 
 | 
<!--            <el-divider></el-divider>--> 
 | 
<!--            <div><el-button type="text" @click="keyList()">密钥管理</el-button></div>--> 
 | 
        </div> 
 | 
  
 | 
        <el-dialog title="接口管理" :visible.sync="formVisible"> 
 | 
            <el-form ref="form" :model="formData" label-width="80px"> 
 | 
                <el-form-item label="URL"> 
 | 
                    <el-input v-model="formData.url" placeholder="请输入上报URL"></el-input> 
 | 
                </el-form-item> 
 | 
                <el-form-item label="上报类型"> 
 | 
                    <el-select v-model="formData.type" placeholder="请选择上报类型"> 
 | 
                        <el-option label="订单完成" value="order_complete"></el-option> 
 | 
                        <el-option label="订单取消" value="order_cancel"></el-option> 
 | 
                        <el-option label="库存上报" value="report_stock"></el-option> 
 | 
                    </el-select> 
 | 
                </el-form-item> 
 | 
                <el-form-item label="是否开启"> 
 | 
                    <el-select v-model="formData.status" placeholder="请选择是否开启"> 
 | 
                        <el-option label="开启" value="1"></el-option> 
 | 
                        <el-option label="关闭" value="0"></el-option> 
 | 
                    </el-select> 
 | 
                </el-form-item> 
 | 
                <el-form-item label="选择仓库"> 
 | 
                    <el-select v-model="formData.hostId" placeholder="请选择选择仓库"> 
 | 
                        <el-option v-for="item in hostList" :label="item.name" :value="item.id"></el-option> 
 | 
                    </el-select> 
 | 
                </el-form-item> 
 | 
                <el-form-item> 
 | 
                    <el-button v-if="formData.id == null" type="success" @click="addApi()">添加</el-button> 
 | 
                    <el-button v-else type="primary" @click="updateApi()">更新</el-button> 
 | 
                </el-form-item> 
 | 
            </el-form> 
 | 
        </el-dialog> 
 | 
    </div> 
 | 
  
 | 
    <script> 
 | 
        var app = new Vue({ 
 | 
            el: '#app', 
 | 
            data: { 
 | 
                tableData: [], 
 | 
                currentPage: 1, 
 | 
                pageSizes: [16, 30, 50, 100, 150, 200], 
 | 
                pageSize: 16, 
 | 
                pageTotal: 0, 
 | 
                tableSearchParam: { 
 | 
                    url: "", 
 | 
                    type: "", 
 | 
                    status: "", 
 | 
                    hostId: "" 
 | 
                }, 
 | 
                tableData: [], 
 | 
                formVisible: false, 
 | 
                formData: { 
 | 
                    id: null, 
 | 
                    url: "", 
 | 
                    type: "", 
 | 
                    status: "", 
 | 
                    hostId: "" 
 | 
                }, 
 | 
                hostList: [] 
 | 
            }, 
 | 
            created() { 
 | 
                this.init() 
 | 
            }, 
 | 
            methods: { 
 | 
                init() { 
 | 
                    this.getTableData() 
 | 
                    this.getHostList() 
 | 
                }, 
 | 
                getTableData() { 
 | 
                    let that = this; 
 | 
                    let data = this.tableSearchParam 
 | 
                    data.curr = this.currentPage 
 | 
                    data.limit = this.pageSize 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/apiList/page/auth", 
 | 
                        headers: { 
 | 
                            'token': localStorage.getItem('token') 
 | 
                        }, 
 | 
                        data: data, 
 | 
                        dataType: 'json', 
 | 
                        contentType: 'application/json;charset=UTF-8', 
 | 
                        method: 'GET', 
 | 
                        success: function(res) { 
 | 
                            if (res.code == 200) { 
 | 
                                that.tableData = res.data.records 
 | 
                                that.pageTotal = res.data.total 
 | 
                            } else { 
 | 
                                that.$message({ 
 | 
                                    message: res.msg, 
 | 
                                    type: 'error' 
 | 
                                }); 
 | 
                            } 
 | 
                        } 
 | 
                    }); 
 | 
                }, 
 | 
                handleSizeChange(val) { 
 | 
                    console.log(`每页 ${val} 条`); 
 | 
                    this.pageSize = val 
 | 
                    this.getTableData() 
 | 
                }, 
 | 
                handleCurrentChange(val) { 
 | 
                    console.log(`当前页: ${val}`); 
 | 
                    this.currentPage = val 
 | 
                    this.getTableData() 
 | 
                }, 
 | 
                resetParam() { 
 | 
                    this.tableSearchParam = { 
 | 
                        task_no: null, 
 | 
                        status: null, 
 | 
                        wrk_no: null 
 | 
                    } 
 | 
                    this.getTableData() 
 | 
                }, 
 | 
                switchPage(url) { 
 | 
                    location.href = url 
 | 
                }, 
 | 
                showAddApi(data) { 
 | 
                    this.formVisible = true; 
 | 
                    if (data != null) { 
 | 
                        this.formData = { 
 | 
                            id: data.id, 
 | 
                            url: data.url, 
 | 
                            type: data.type, 
 | 
                            status: "" + data.status, 
 | 
                            hostId: data.hostId 
 | 
                        } 
 | 
                    }else { 
 | 
                        this.formData = { 
 | 
                            id: null, 
 | 
                            url: "", 
 | 
                            type: "", 
 | 
                            status: "", 
 | 
                            hostId: "" 
 | 
                        } 
 | 
                    } 
 | 
                }, 
 | 
                addApi() { 
 | 
                    let that = this; 
 | 
                    if(this.formData.url == '' || this.formData.type == '' || this.formData.status == '' || this.formData.hostId == ''){ 
 | 
                        this.$message({ 
 | 
                            message: '参数不能为空', 
 | 
                            type: 'error' 
 | 
                        }); 
 | 
                        return; 
 | 
                    } 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/apiList/add/auth", 
 | 
                        headers: { 
 | 
                            'token': localStorage.getItem('token') 
 | 
                        }, 
 | 
                        data: this.formData, 
 | 
                        dataType: 'json', 
 | 
                        contentType: 'application/json;charset=UTF-8', 
 | 
                        method: 'GET', 
 | 
                        success: function(res) { 
 | 
                            if (res.code == 200) { 
 | 
                                that.formVisible = false; 
 | 
                                that.formData = { 
 | 
                                    id: null, 
 | 
                                    url: "", 
 | 
                                    type: "", 
 | 
                                    status: "", 
 | 
                                    hostId: "" 
 | 
                                } 
 | 
                                that.getTableData() 
 | 
                                that.$message({ 
 | 
                                    message: '添加成功', 
 | 
                                    type: 'success' 
 | 
                                }); 
 | 
                            }else { 
 | 
                                that.$message({ 
 | 
                                    message: res.msg, 
 | 
                                    type: 'error' 
 | 
                                }); 
 | 
                            } 
 | 
                        } 
 | 
                    }); 
 | 
                }, 
 | 
                updateApi() { 
 | 
                    let that = this; 
 | 
                    if(this.formData.id == null || this.formData.url == '' || this.formData.type == '' || this.formData.status == '' || this.formData.hostId == ''){ 
 | 
                        this.$message({ 
 | 
                            message: '参数不能为空', 
 | 
                            type: 'error' 
 | 
                        }); 
 | 
                        return; 
 | 
                    } 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/apiList/update/auth", 
 | 
                        headers: { 
 | 
                            'token': localStorage.getItem('token') 
 | 
                        }, 
 | 
                        data: this.formData, 
 | 
                        dataType: 'json', 
 | 
                        contentType: 'application/json;charset=UTF-8', 
 | 
                        method: 'GET', 
 | 
                        success: function(res) { 
 | 
                            if (res.code == 200) { 
 | 
                                that.formVisible = false; 
 | 
                                that.formData = { 
 | 
                                    id: null, 
 | 
                                    url: "", 
 | 
                                    type: "", 
 | 
                                    status: "", 
 | 
                                    hostId: "" 
 | 
                                } 
 | 
                                that.getTableData() 
 | 
                                that.$message({ 
 | 
                                    message: '更新成功', 
 | 
                                    type: 'success' 
 | 
                                }); 
 | 
                            }else { 
 | 
                                that.$message({ 
 | 
                                    message: res.msg, 
 | 
                                    type: 'error' 
 | 
                                }); 
 | 
                            } 
 | 
                        } 
 | 
                    }); 
 | 
                }, 
 | 
                deleteApi(data) { 
 | 
                    let that = this; 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/apiList/delete/auth", 
 | 
                        headers: { 
 | 
                            'token': localStorage.getItem('token') 
 | 
                        }, 
 | 
                        data: { 
 | 
                            ids: [data.id] 
 | 
                        }, 
 | 
                        dataType: 'json', 
 | 
                        contentType: 'application/json;charset=UTF-8', 
 | 
                        method: 'GET', 
 | 
                        success: function(res) { 
 | 
                            if (res.code == 200) { 
 | 
                                that.getTableData() 
 | 
                                that.$message({ 
 | 
                                    message: '删除成功', 
 | 
                                    type: 'success' 
 | 
                                }); 
 | 
                            }else { 
 | 
                                that.$message({ 
 | 
                                    message: res.msg, 
 | 
                                    type: 'error' 
 | 
                                }); 
 | 
                            } 
 | 
                        } 
 | 
                    }); 
 | 
                }, 
 | 
                getHostList() { 
 | 
                    let that = this; 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/host/list", 
 | 
                        headers: { 
 | 
                            'token': localStorage.getItem('token') 
 | 
                        }, 
 | 
                        dataType: 'json', 
 | 
                        contentType: 'application/json;charset=UTF-8', 
 | 
                        method: 'GET', 
 | 
                        success: function(res) { 
 | 
                            that.hostList = res.data 
 | 
                        } 
 | 
                    }); 
 | 
                } 
 | 
            } 
 | 
        }) 
 | 
    </script> 
 | 
</body> 
 | 
</html> 
 |