You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
duoji-frontend/src/views/roadwayManage/index.vue

184 lines
5.2 KiB
Vue

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<div>
<a-button type="primary" class="add" @click="showModel('add','')">
</a-button>
<a-table
style="margin-top:40px"
:columns="columns"
:row-key="record => record.id"
:data-source="data"
:pagination="pagination"
@change="handleGetStreetList"
>
<span slot="leftType" slot-scope="text">
{{ text === null ? '-' : text === 0 ? '单伸' : '双伸' }}
</span>
<span slot="rightType" slot-scope="text">
{{ text === null ? '-' : text === 0 ? '单伸' : '双伸' }}
</span>
<span slot="actions" slot-scope="text">
<template>
<span v-if="text.camera1Name && text.camera2Name">{{text.camera1Name}} 、{{text.camera2Name}}</span>
<span v-else>
<span v-if="text.camera1Name">{{text.camera1Name}}</span>
<span v-if="text.camera2Name">{{text.camera2Name}}</span>
</span>
</template>
</span>
<span slot="action" slot-scope="text, record">
<a @click="showModel('edit',record)">
编辑
</a>
<a-divider type="vertical"/>
<a-popconfirm
title="是否删除?"
@confirm="() => delDosage(record)"
>
<a>删除</a>
</a-popconfirm>
</span>
</a-table>
<Model
:visible.sync="visible"
:modelTitle="modelTitle"
:modelData.sync="modelData"
@sure="submit"
@close="closeModel"
/>
</div>
</template>
<script>
import Model from "./model.vue"
const columns = [
{
title: '巷道名称',
dataIndex: 'name',
},
{
title: 'PLC-ID',
dataIndex: 'plcId',
},
{
title: '左货架类型',
dataIndex: 'leftType',
scopedSlots: { customRender: 'leftType' }
},
{
title: '右货架类型',
dataIndex: 'rightType',//若这里保留slot插槽的text即代表rightType否则text.rightType才代表rightType本身
scopedSlots: {customRender: 'rightType'}
},
{
title: '对应球机',
scopedSlots: { customRender: 'actions' }
},
{
title: '修改时间',
dataIndex: 'updateTime',
},
{
title: '操作',
dataIndex: 'action',
scopedSlots: { customRender: 'action' }
},
];
export default {
data() {
return {
pageNum:1,
pageSize:10,
data: [],
pagination:{
total:0,
defaultPageSize:10, // 默认每页显示数量
showTotal: total => `共 ${total} 条数据`, // 显示总数
showSizeChanger:true, // 显示可改变每页数量
pageSizeOptions: ['10', '20', '30'],
onShowSizeChange:(current, pageSize)=>this.pageSize = pageSize // 改变每页数量时更新显示
},
loading: false,
columns,
visible:false,
modelTitle:'',
modelData:[]
};
},
mounted() {
this.handleGetStreetList()
},
methods: {
handleGetStreetList(pagination) {
console.log(pagination)
if(pagination){
this.pagination.current = pagination.current;
this.pagination.pageSize = pagination.pageSize;
this.pageNum = pagination.current;
this.pageSize = pagination.pageSize;
}
this.request();
},
request(){
this.$api.httpApi.getStreetList({
data: {
pageNum:this.pageNum,
pageSize:this.pageSize,
}
}).then(res => {
const pagination = { ...this.pagination };
pagination.total = res.data.total;
this.data = res.data.list;
this.pagination = pagination;
}).catch(err => {
});
},
showModel(type,data){
this.visible = true
console.log(type)
if(type=='add'){
this.modelTitle = "新增巷道"
}else if(type=='edit'){
this.modelTitle = "编辑巷道"
this.modelData = data
}
},
submit(visible){
this.visible = visible
this.handleGetStreetList()
},
closeModel(visible,data){
this.visible = visible
this.modelData=data
},
delDosage(data){
console.log(data.id)
var id=data.id
this.$axios.delete('/street/'+id, {
data: {}
}).then(res => {
if(res.code==200){
this.$message.success('删除巷道成功');
this.handleGetStreetList()
}
}).catch(err => {
})
}
},
components:{
Model
}
};
</script>
<style lang="scss" scoped>
.add{
position: absolute;
top:20px;
right: 40px;
}
</style>