<!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>
|