skyouc
2024-12-21 c635d78b479510ebe2556a420948effcd30a0731
zy-asrs-openapi/src/main/webapp/views/reportApiManage.html
@@ -1,359 +1,359 @@
<!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>
<!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>