| | |
| | | <div class="header-content"> |
| | | <div class="search"> |
| | | <span style="padding-right:20px">筛选条件:</span> |
| | | <el-select v-model="context" placeholder="请选择" @change="getBayonetListData"> |
| | | <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> |
| | | <el-select |
| | | v-model="context" |
| | | placeholder="请选择" |
| | | @change="getBayonetListData" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | <main> |
| | | <div class="main-content"> |
| | | <div class="main-title"> |
| | | <el-button class="el-icon-plus" type="primary" @click="showDialog(false, null)">添加</el-button> |
| | | <el-button |
| | | class="el-icon-plus" |
| | | type="primary" |
| | | @click="showDialog(false, null)" |
| | | >添加</el-button |
| | | > |
| | | <el-button @click="handleExport">导出卡口</el-button> |
| | | </div> |
| | | <!-- 数据展示 --> |
| | | <MyTable |
| | | :tableOption="tableOption" |
| | | :tableData="list" |
| | | :pageShow="false"> |
| | | <MyTable :tableOption="tableOption" :tableData="list" :pageShow="false"> |
| | | <template #operation="info"> |
| | | <el-link :underline="false" style="color:#4b9bb7" @click="showDialog(true, info)">编辑</el-link> |
| | | <el-link |
| | | :underline="false" |
| | | style="color: #4b9bb7" |
| | | @click="showDialog(true, info)" |
| | | >编辑</el-link |
| | | > |
| | | |
| | | <span class="line">|</span> |
| | | <el-link |
| | | :underline="false" |
| | | style="color: #4b9bb7" |
| | | @click="handleDelete(info)" |
| | | >删除</el-link |
| | | > |
| | | </template> |
| | | </MyTable> |
| | | </div> |
| | | </main> |
| | | <footer> |
| | | <!-- 添加卡口 --> |
| | | <el-dialog :destroy-on-close="true" :title="getDialogTitle" :visible.sync="isShowDialog" width="60%" :before-close="handleClose"> |
| | | <MyCreate v-if="isShowDialog" @closeDialog="closeDialog" :originalBayonet="originalBayonet" :isEdit="isEdit"></MyCreate> |
| | | <el-dialog |
| | | :destroy-on-close="true" |
| | | :title="getDialogTitle" |
| | | :visible.sync="isShowDialog" |
| | | width="60%" |
| | | :before-close="handleClose" |
| | | > |
| | | <MyCreate |
| | | v-if="isShowDialog" |
| | | @closeDialog="closeDialog" |
| | | :originalBayonet="originalBayonet" |
| | | :isEdit="isEdit" |
| | | ></MyCreate> |
| | | </el-dialog> |
| | | </footer> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import MyCreate from './create' |
| | | import MyTable from '@/components/Table' |
| | | import MyCreate from "./create"; |
| | | import MyTable from "@/components/Table"; |
| | | import bayonet from "@/api/system/bayonet"; |
| | | import { downloadFile } from "@/utils/helper"; |
| | | |
| | | export default { |
| | | components: { |
| | | MyCreate, MyTable, |
| | | MyCreate, |
| | | MyTable, |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | options: [ |
| | | { |
| | | value: 0, |
| | | label: '离线', |
| | | label: "离线", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: '在线', |
| | | } |
| | | label: "在线", |
| | | }, |
| | | ], |
| | | list: [], |
| | | current: 1, |
| | |
| | | tableOption: { |
| | | group: [ |
| | | { |
| | | label: '卡口名称', |
| | | type: 'text', |
| | | prop: 'bayonetName', |
| | | label: "卡口名称", |
| | | type: "text", |
| | | prop: "name", |
| | | }, |
| | | { |
| | | label: '经纬度位置', |
| | | type: 'text', |
| | | prop: 'latitude', |
| | | label: "域名/IP", |
| | | type: "text", |
| | | prop: "ipAddress", |
| | | }, |
| | | { |
| | | label: '域名/IP', |
| | | type: 'text', |
| | | prop: 'ipAddress', |
| | | label: "端口号", |
| | | type: "text", |
| | | prop: "port", |
| | | }, |
| | | { |
| | | label: '端口号', |
| | | type: 'text', |
| | | prop: 'port', |
| | | label: "前端类型", |
| | | type: "text", |
| | | prop: "frontEndTypeName", |
| | | }, |
| | | { |
| | | label: '前端类型', |
| | | type: 'text', |
| | | prop: 'frontEndType', |
| | | label: "出入城类型", |
| | | type: "text", |
| | | prop: "inOutCityTypeName", |
| | | }, |
| | | { |
| | | label: '出入城类型', |
| | | type: 'text', |
| | | prop: 'inOutCityType', |
| | | label: "操作", |
| | | type: "operation", |
| | | prop: "operation", |
| | | }, |
| | | { |
| | | label: '操作', |
| | | type: 'operation', |
| | | prop: 'operation', |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | originalBayonet: null, |
| | | isEdit: false |
| | | } |
| | | isEdit: false, |
| | | }; |
| | | }, |
| | | |
| | | computed: { |
| | | getDialogTitle() { |
| | | return this.isEdit ? '编辑卡口' : '新建卡口'; |
| | | return this.isEdit ? "编辑卡口" : "新建卡口"; |
| | | }, |
| | | }, |
| | | created() { |
| | |
| | | }, |
| | | methods: { |
| | | getBayonetListData() { |
| | | bayonet.getBayonetList({ bayonetName: '', current: this.current, size: this.size }) |
| | | bayonet |
| | | .getBayonetList({ |
| | | bayonetName: "", |
| | | current: this.current, |
| | | size: this.size, |
| | | }) |
| | | .then(({ records }) => { |
| | | this.list = records; |
| | | }) |
| | | .catch(err => { |
| | | this.$message({ type: 'error', message: err }); |
| | | }) |
| | | .catch((err) => { |
| | | this.$message({ type: "error", message: err }); |
| | | }); |
| | | }, |
| | | // 弹窗关闭 |
| | | handleClose(done) { |
| | | this.$confirm('确认关闭?') |
| | | .then(_ => { |
| | | this.$confirm("确认关闭?").then((_) => { |
| | | done(); |
| | | }) |
| | | }); |
| | | }, |
| | | |
| | | closeDialog() { |
| | | this.isShowDialog = false; |
| | | this.getBayonetListData(); |
| | | }, |
| | | |
| | | handleExport() { |
| | | bayonet.exportBayonetList({ bayonetName: this.context, current: this.current, size: this.size }) |
| | | .then(res => { |
| | | bayonet |
| | | .exportBayonetList({ |
| | | bayonetName: this.context, |
| | | current: this.current, |
| | | size: this.size, |
| | | }) |
| | | .then((res) => { |
| | | downloadFile(res); |
| | | this.$message({ type: 'success', message: '操作成功' }); |
| | | this.$message({ type: "success", message: "操作成功" }); |
| | | }) |
| | | .catch(err => { |
| | | this.$message({ type: 'error', message: err }); |
| | | }) |
| | | .catch((err) => { |
| | | this.$message({ type: "error", message: err }); |
| | | }); |
| | | }, |
| | | handleDelete(data) { |
| | | this.$confirm("确认删除?").then((_) => { |
| | | bayonet.deleteBayonet(data.info.row.id).then((res) => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "删除成功!", |
| | | }); |
| | | this.getBayonetListData(); |
| | | }); |
| | | }); |
| | | }, |
| | | showDialog(isEdit, data) { |
| | | this.isShowDialog = true; |
| | | this.isEdit = isEdit; |
| | | this.originalBayonet = data; |
| | | } |
| | | } |
| | | } |
| | | this.originalBayonet = data.info.row; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .userList { |
| | |
| | | border: 1px solid #17324c; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | color: #4b9bb7; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | .pagination { |
| | |
| | | justify-content: center; |
| | | |
| | | .el-pagination { |
| | | |
| | | &::v-deep li, |
| | | &::v-deep .btn-prev, |
| | | &::v-deep .btn-next { |
| | |
| | | color: #4b9bb7; |
| | | font-size: 10px; |
| | | |
| | | .operation { |
| | | .cell { |
| | | display: flex; |
| | | |
| | | .line { |
| | | &::v-deep .line { |
| | | padding: 0 5px; |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | .line { |
| | | padding: 0 5px; |
| | | } |
| | | </style> |