球机IO表配置数据增(包含Excel文件导入)、删、改、查接口联调

merge-requests/1/head
张鑫 5 years ago
parent 4918f7fe75
commit 67642928b4

@ -29,6 +29,7 @@ export default {
// url: "/street", // url: "/street",
// name: "删除巷道" // name: "删除巷道"
// }, // },
//注释所有用到删除的接口都需要拼接变量id所以请求方式采用了挂载在原型链上的$axios进行请求详细请看具体页面的$axios请求
getCameraList: { getCameraList: {
method: "POST", method: "POST",
url: "/camera/page", url: "/camera/page",
@ -49,6 +50,27 @@ export default {
url: "/lychee/stream/push", url: "/lychee/stream/push",
name: "获取channel字符集" name: "获取channel字符集"
}, },
getCameraIoList: {
method: "POST",
url: "/camera/config/page",
name: "球机IO配置分页列表"
},
addCameraIo: {
method: "POST",
url: "/camera/config",
name: "球机IO指令配置新增"
},
editCameraIo: {
method: "PUT",
url: "/camera/config",
name: "球机IO指令配置编辑"
},
// cameraIoImport: {
// method: "POST",
// url: "/camera/config/import",
// name: "球机IO导入"
// },
//注释:导出接口路径已采用ant design vue的upload组件action属性动态定义
queryList: { queryList: {
url: '/order/list', url: '/order/list',
name: '查询', name: '查询',

@ -0,0 +1 @@
export const importExcelUrl = process.env.VUE_APP_API_URL + "/camera/config/import";

@ -25,7 +25,8 @@ import {
Tag, Tag,
Drawer, Drawer,
Divider, Divider,
DatePicker DatePicker,
Upload,
} from "ant-design-vue"; } from "ant-design-vue";
Vue.use(Layout); Vue.use(Layout);
Vue.use(ConfigProvider); Vue.use(ConfigProvider);
@ -51,7 +52,8 @@ Vue.use(Tooltip)
Vue.use(Tag) Vue.use(Tag)
Vue.use(Drawer) Vue.use(Drawer)
Vue.use(Divider) Vue.use(Divider)
Vue.use(DatePicker ) Vue.use(DatePicker)
Vue.use(Upload)
Vue.prototype.$message = message; Vue.prototype.$message = message;
Vue.prototype.$info = Modal.info; Vue.prototype.$info = Modal.info;
Vue.prototype.$success = Modal.success; Vue.prototype.$success = Modal.success;

@ -13,6 +13,8 @@ window.once = 0
instance.interceptors.request.use((config) => { instance.interceptors.request.use((config) => {
const reqObj = config; const reqObj = config;
// 在发送请求之前做些什么 -- 路径参数拼接 // 在发送请求之前做些什么 -- 路径参数拼接
console.log('xxxxxxxxxx')
console.log(reqObj)
const reg = /\{(.+?)\}/g; const reg = /\{(.+?)\}/g;
if (reg.test(reqObj.url)) { if (reg.test(reqObj.url)) {
reqObj.url = reqObj.url.replace(reg, Object.values(reqObj.path)[0]); reqObj.url = reqObj.url.replace(reg, Object.values(reqObj.path)[0]);

@ -30,5 +30,4 @@ apiAll.keys().map((key) => {
console.log('moduleApis ', moduleApis) console.log('moduleApis ', moduleApis)
return trans(moduleApis[name]); return trans(moduleApis[name]);
}); });
export default moduleApis; export default moduleApis;

@ -147,7 +147,7 @@ export default {
}) })
}, },
goIo(){ goIo(){
this.$router.push({ name: "ioTable" }); this.$router.push({ name: "ioTable"});
} }
}, },
components:{ components:{

@ -90,24 +90,24 @@ export default {
if (!err) { if (!err) {
console.log(this.title) console.log(this.title)
if(this.type=='add'){ if(this.type=='add'){
this.$api.httpApi.addCamera({ this.$api.httpApi.addCameraIo({
data:values data:values
}).then(res => { }).then(res => {
if(res.code==200){ if(res.code==200){
this.$emit('sure',false) this.$emit('sure',false)
this.$message.success('新增球机成功'); this.$message.success('新增IO指令成功');
} }
}).catch(err => { }).catch(err => {
}); });
}else if(this.type=='edit'){ }else if(this.type=='edit'){
values.id = this.id values.id = this.id
this.$api.httpApi.editCamera({ this.$api.httpApi.editCameraIo({
data:values data:values
}).then(res => { }).then(res => {
if(res.code==200){ if(res.code==200){
this.$emit('sure',false) this.$emit('sure',false)
this.$message.success('编辑球机成功'); this.$message.success('编辑IO指令成功');
} }
}).catch(err => { }).catch(err => {

@ -4,16 +4,26 @@
<a-button type="primary" class="add" @click="showModel('add','')"> <a-button type="primary" class="add" @click="showModel('add','')">
新增 新增
</a-button> </a-button>
<a-upload
name="file"
:multiple="true"
accept=".xlsx"
:action="uploadProps.action"
:showUploadList = 'false'
@change="handleChange"
ref="table"
>
<a-button type="primary" class="plc" @click="goIo"> <a-button type="primary" class="plc" @click="goIo">
导入 导入
</a-button> </a-button>
</a-upload>
</div> </div>
<a-table <a-table
:columns="columns" :columns="columns"
:row-key="record => record.id" :row-key="record => record.id"
:data-source="data" :data-source="data"
:pagination="pagination" :pagination="pagination"
@change="handleGetCameraList" @change="handleGetCameraIoList"
> >
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a-divider type="vertical"/> <a-divider type="vertical"/>
@ -42,14 +52,20 @@
<script> <script>
import Model from "./ioModel.vue" import Model from "./ioModel.vue"
import { importExcelUrl } from "@/api/importExcel";
const columns = [ const columns = [
{ {
title: 'ID', title: '序号',
dataIndex: 'name', // dataIndex: 'id',
customRender: (text, record, index) => {
return (
(record.pageNumber - 1) * 10 + index + 1
)
}
}, },
{ {
title: 'IO指令', title: 'IO指令',
dataIndex: 'ip', dataIndex: 'name',
}, },
{ {
title: '修改时间', title: '修改时间',
@ -69,6 +85,7 @@ export default {
data: [], data: [],
pagination:{ pagination:{
total:0, total:0,
current:1,
defaultPageSize:10, // defaultPageSize:10, //
showTotal: total => `${total} 条数据`, // showTotal: total => `${total} 条数据`, //
showSizeChanger:true, // showSizeChanger:true, //
@ -79,14 +96,30 @@ export default {
columns, columns,
visible:false, visible:false,
modelType:'', modelType:'',
modelData:[] modelData:[],
}; };
}, },
computed:{
uploadProps() {
return {
action: importExcelUrl//Excel
}
}
},
mounted() { mounted() {
this.handleGetCameraList() this.handleGetCameraIoList()
}, },
methods: { methods: {
handleGetCameraList(pagination) { handleChange(data) {
console.log(data)
if (data.file.status == "done") { //
this.$message.success(data.file.response.message)
this.handleGetCameraIoList();
} else if(data.file.status == 'error'){ //
this.$message.error(data.file.response.message)
}
},
handleGetCameraIoList(pagination) {
console.log(pagination) console.log(pagination)
if(pagination){ if(pagination){
this.pagination.current = pagination.current; this.pagination.current = pagination.current;
@ -97,16 +130,19 @@ export default {
this.request(); this.request();
}, },
request(){ request(){
this.$api.httpApi.getCameraList({ this.$api.httpApi.getCameraIoList({
data: { data: {
pageNum:this.pageNum, page:this.pageNum,
pageSize:this.pageSize, size:this.pageSize,
} }
}).then(res => { }).then(res => {
const pagination = { ...this.pagination }; const pagination = { ...this.pagination };
pagination.total = res.data.total; pagination.total = res.data.total;
this.data = res.data.list; this.data = res.data.list;
this.pagination = pagination; this.pagination = pagination;
res.data.list.forEach((value,index) => {
value.pageNumber = this.pagination.current
});
}).catch(err => { }).catch(err => {
}); });
@ -119,7 +155,7 @@ export default {
}, },
submit(visible){ submit(visible){
this.visible = visible this.visible = visible
this.handleGetCameraList() this.handleGetCameraIoList()
}, },
closeModel(visible,data){ closeModel(visible,data){
this.visible = visible this.visible = visible
@ -128,12 +164,12 @@ export default {
delDosage(data){ delDosage(data){
console.log(data.id) console.log(data.id)
var id=data.id var id=data.id
this.$axios.delete('/camera/'+id, { this.$axios.delete('/camera/config/'+id, {
data: {} data: {}
}).then(res => { }).then(res => {
if(res.code==200){ if(res.code==200){
this.$message.success('删除球机成功'); this.$message.success('删除球机IO成功');
this.handleGetCameraList() this.handleGetCameraIoList()
} }
}).catch(err => { }).catch(err => {

@ -145,7 +145,6 @@ export default {
id:'', id:'',
mdata:[], mdata:[],
zoomSubUrl:require('@/assets/sub-icon.png'), zoomSubUrl:require('@/assets/sub-icon.png'),
zoomAddUrl:require('@/assets/add-icon.png'), zoomAddUrl:require('@/assets/add-icon.png'),
focusSubUrl:require('@/assets/sub-icon.png'), focusSubUrl:require('@/assets/sub-icon.png'),

Loading…
Cancel
Save