|
|
@@ -29,7 +29,13 @@
|
|
|
>
|
|
|
<el-form inline>
|
|
|
<el-form-item>
|
|
|
- <el-button icon="Plus" text type="success" @click="positionShow = true">新增</el-button>
|
|
|
+ <el-button
|
|
|
+ icon="Plus"
|
|
|
+ text
|
|
|
+ type="success"
|
|
|
+ @click="openPosition('岗亭新增','')">
|
|
|
+ 新增
|
|
|
+ </el-button>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button icon="Edit" text type="warning">编辑</el-button>
|
|
|
@@ -41,11 +47,29 @@
|
|
|
<el-button icon="Refresh" text type="primary">刷新</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- <el-table size="small">
|
|
|
- <el-table-column label="编码" align="center" width="100"></el-table-column>
|
|
|
- <el-table-column label="名称" align="center" width="250"></el-table-column>
|
|
|
- <el-table-column label="IP地址" align="center" width="250"></el-table-column>
|
|
|
- <el-table-column label="备注" align="center"></el-table-column>
|
|
|
+ <el-table size="small" :data="positionList" height="680px">
|
|
|
+ <el-table-column label="编码" align="center" width="100" prop="booth_code"></el-table-column>
|
|
|
+ <el-table-column label="名称" align="center" width="250" prop="booth_name"></el-table-column>
|
|
|
+ <el-table-column label="IP地址" align="center" width="250" prop="ip_address"></el-table-column>
|
|
|
+ <el-table-column label="备注" align="center" prop="description"></el-table-column>
|
|
|
+ <el-table-column label="操作">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button
|
|
|
+ text
|
|
|
+ type="primary"
|
|
|
+ icon="edit"
|
|
|
+ @click="openPosition('岗亭编辑', scope.row)">
|
|
|
+ 编辑
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ text
|
|
|
+ type="primary"
|
|
|
+ icon="delete"
|
|
|
+ @click="delPosition(scope.row.ID)">
|
|
|
+ 删除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane
|
|
|
@@ -54,7 +78,7 @@
|
|
|
>
|
|
|
<el-form inline>
|
|
|
<el-form-item>
|
|
|
- <el-button icon="Plus" text type="success" @click="channelEditShow = true">新增</el-button>
|
|
|
+ <el-button icon="Plus" text type="success" @click="openChannel">新增</el-button>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button icon="Edit" text type="warning">编辑</el-button>
|
|
|
@@ -103,48 +127,24 @@
|
|
|
</el-table>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
-<!-- <div class="basicInformation">-->
|
|
|
-<!-- <div style="padding-top: 10px;margin-left: 30px">-->
|
|
|
-<!-- <el-image :src="sign" />-->
|
|
|
-<!-- </div>-->
|
|
|
-<!-- <div style="display: flex;align-items: center">-->
|
|
|
-<!-- <el-text-->
|
|
|
-<!-- style="margin-left: 10px"-->
|
|
|
-<!-- size="large"-->
|
|
|
-<!-- tag="b"-->
|
|
|
-<!-- >项目基本信息</el-text>-->
|
|
|
-<!-- </div>-->
|
|
|
-<!-- </div>-->
|
|
|
-<!-- <div class="operation">-->
|
|
|
-<!-- <el-button icon="Plus" text type="success">新增</el-button>-->
|
|
|
-<!-- <el-button icon="edit" text type="warning">编辑</el-button>-->
|
|
|
-<!-- <el-button icon="delete" text type="danger">删除</el-button>-->
|
|
|
-<!-- <el-button icon="Refresh" text type="primary">刷新</el-button>-->
|
|
|
-<!-- </div>-->
|
|
|
-<!-- <el-table size="small">-->
|
|
|
-<!-- <el-table-column label="编码"></el-table-column>-->
|
|
|
-<!-- <el-table-column label="名称"></el-table-column>-->
|
|
|
-<!-- <el-table-column label="IP地址"></el-table-column>-->
|
|
|
-<!-- <el-table-column label="备注"></el-table-column>-->
|
|
|
-<!-- </el-table>-->
|
|
|
</el-col>
|
|
|
<el-dialog
|
|
|
v-model="positionShow"
|
|
|
- title="岗亭新增"
|
|
|
+ :title="positionTitle"
|
|
|
width="500"
|
|
|
>
|
|
|
<el-form label-width="90">
|
|
|
<el-form-item label="岗亭编码:">
|
|
|
- <el-input></el-input>
|
|
|
+ <el-input v-model="positionData.booth_code"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="岗亭名称:">
|
|
|
- <el-input></el-input>
|
|
|
+ <el-input v-model="positionData.booth_name"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="IP地址:">
|
|
|
- <el-input></el-input>
|
|
|
+ <el-input v-model="positionData.ip_address"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="备注:">
|
|
|
- <el-input type="textarea"></el-input>
|
|
|
+ <el-input type="textarea" v-model="positionData.description"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
@@ -156,34 +156,34 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
- <el-dialog v-model="channelEditShow" title="通道新增" width="500">
|
|
|
+ <el-dialog v-model="channelShow" :title="channelTitle" width="500">
|
|
|
<el-form>
|
|
|
<el-form-item label="通道编码:">
|
|
|
- <el-input></el-input>
|
|
|
+ <el-input v-model="channelData.channel_code"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="通道名称:">
|
|
|
- <el-input></el-input>
|
|
|
+ <el-input v-model="channelData.channel_name"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="进出方向:">
|
|
|
- <el-radio-group v-model="exportDirection" size="large" fill="#409eff">
|
|
|
- <el-radio-button label="出" :value="0" />
|
|
|
- <el-radio-button label="进" :value="1" />
|
|
|
+ <el-radio-group v-model="channelData.allow_temporary" size="large" fill="#409eff">
|
|
|
+ <el-radio-button label="出" :value="false" />
|
|
|
+ <el-radio-button label="进" :value="true" />
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否允许临时车进出:">
|
|
|
- <el-radio-group v-model="exportDirection" size="large" fill="#409eff">
|
|
|
- <el-radio-button label="是" :value="0" />
|
|
|
- <el-radio-button label="否" :value="1" />
|
|
|
+ <el-radio-group v-model="channelData.allow_temporary" size="large" fill="#409eff">
|
|
|
+ <el-radio-button label="是" :value="true" />
|
|
|
+ <el-radio-button label="否" :value="false" />
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="备注:">
|
|
|
- <el-input type="textarea" ></el-input>
|
|
|
+ <el-input type="textarea" v-model="channelData.direction"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<div class="dialog-footer">
|
|
|
- <el-button @click="positionShow = false">取消</el-button>
|
|
|
- <el-button type="primary" @click="addPosition">
|
|
|
+ <el-button @click="channelShow = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="channelOperation">
|
|
|
确认
|
|
|
</el-button>
|
|
|
</div>
|
|
|
@@ -194,17 +194,184 @@
|
|
|
|
|
|
<script setup>
|
|
|
// import sign from '@/assets/sign.png'
|
|
|
-import {ref} from 'vue'
|
|
|
+import { ref, reactive, onMounted } from 'vue'
|
|
|
+import {
|
|
|
+ addGuardBooth,
|
|
|
+ obtainGuardBoothList,
|
|
|
+ editGuardBooth,
|
|
|
+ deleteGuardBooth,
|
|
|
+} from '@/api/guardBooth'
|
|
|
+import {
|
|
|
+ addChannel,
|
|
|
+ editChannel,
|
|
|
+ obtainChannelList,
|
|
|
+ deleteChannel
|
|
|
+} from '@/api/channel'
|
|
|
+import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
+
|
|
|
const activeName = ref('detail')
|
|
|
const handleClick = () => {}
|
|
|
-
|
|
|
const positionShow = ref(false)
|
|
|
const positionOperation = ref(0)
|
|
|
-const channelEditShow = ref(false)
|
|
|
|
|
|
-const addPosition = () => {}
|
|
|
+const positionTitle = ref('岗亭新增')
|
|
|
+// 岗亭数据
|
|
|
+const positionData = reactive({
|
|
|
+ id:'',
|
|
|
+ booth_code:'',
|
|
|
+ booth_name:'',
|
|
|
+ ip_address:'',
|
|
|
+ description:''
|
|
|
+})
|
|
|
+
|
|
|
+const positionList = reactive([])
|
|
|
+const addPosition = () => {
|
|
|
+ if (positionTitle.value === '岗亭新增') {
|
|
|
+ addGuardBooth(positionData).then(res => {
|
|
|
+ if (res.code === 0) {
|
|
|
+ ElMessage.success('添加成功')
|
|
|
+ positionShow.value = false
|
|
|
+ getGuardBoothList()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ editGuardBooth(positionData).then(res => {
|
|
|
+ if (res.code === 0) {
|
|
|
+ ElMessage.success('更新成功')
|
|
|
+ positionShow.value = false
|
|
|
+ getGuardBoothList()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const openPosition = (head,data) => {
|
|
|
+ positionTitle.value = head
|
|
|
+ positionShow.value = true
|
|
|
+ if (head === '岗亭编辑') {
|
|
|
+ positionData.id = data.ID
|
|
|
+ positionData.booth_code = data.booth_code
|
|
|
+ positionData.booth_name = data.booth_name
|
|
|
+ positionData.ip_address = data.ip_address
|
|
|
+ positionData.description = data.description
|
|
|
+ } else {
|
|
|
+ positionData.ip_address = ''
|
|
|
+ positionData.description = ''
|
|
|
+ positionData.booth_code = ''
|
|
|
+ positionData.booth_name = ''
|
|
|
+ }
|
|
|
+}
|
|
|
+const getGuardBoothList = () => {
|
|
|
+ obtainGuardBoothList().then(res => {
|
|
|
+ if (res.code === 0) {
|
|
|
+ positionList.length = 0
|
|
|
+ positionList.push(...res.data.list)
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const delPosition = (id) => {
|
|
|
+ ElMessageBox.confirm(
|
|
|
+ '确定要删除该岗亭吗?',
|
|
|
+ '提示',
|
|
|
+ {
|
|
|
+ confirmButtonText: '确认',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning',
|
|
|
+ }
|
|
|
+ )
|
|
|
+ .then(() => {
|
|
|
+ deleteGuardBooth(id).then(res => {
|
|
|
+ if (res.code === 0) {
|
|
|
+ ElMessage({
|
|
|
+ type: 'success',
|
|
|
+ message: '删除成功',
|
|
|
+ })
|
|
|
+ getGuardBoothList()
|
|
|
+ } else {
|
|
|
+ ElMessage({
|
|
|
+ type: 'error',
|
|
|
+ message: '删除失败',
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ ElMessage({
|
|
|
+ type: 'info',
|
|
|
+ message: '取消删除',
|
|
|
+ })
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 通道管理...................................................
|
|
|
+
|
|
|
+//通道数据
|
|
|
+const channelShow = ref(false)
|
|
|
+const channelData = reactive({
|
|
|
+ channel_code:'',
|
|
|
+ channel_name:'',
|
|
|
+ direction:'',
|
|
|
+ page: 1,
|
|
|
+ page_size: 10,
|
|
|
+ allow_temporary:false
|
|
|
+})
|
|
|
+
|
|
|
+const channelTitle = ref('通道新增')
|
|
|
+
|
|
|
+const channelList = reactive([])
|
|
|
+
|
|
|
+const openChannel = (head,data) => {
|
|
|
+ channelTitle.value = head
|
|
|
+ channelShow.value = true
|
|
|
+ if (head === '岗亭编辑') {
|
|
|
+ channelData.id = data.ID
|
|
|
+ channelData.channel_code = data.channel_code
|
|
|
+ channelData.channel_name = data.channel_name
|
|
|
+ channelData.allow_temporary = data.allow_temporary
|
|
|
+ channelData.direction = data.direction
|
|
|
+ channelData.description = data.description
|
|
|
+ } else {
|
|
|
+ channelData.channel_code = ''
|
|
|
+ channelData.channel_name = ''
|
|
|
+ channelData.allow_temporary = false
|
|
|
+ channelData.direction = ''
|
|
|
+ channelData.description = ''
|
|
|
+ }
|
|
|
+}
|
|
|
+const channelOperation = () => {
|
|
|
+ if (channelTitle.value === '通道新增') {
|
|
|
+ addChannel(channelData).then(res => {
|
|
|
+ if (res.code === 0) {
|
|
|
+ ElMessage.success('添加成功')
|
|
|
+ channelShow.value = false
|
|
|
+ getChannelList()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ editChannel(channelData).then(res => {
|
|
|
+ if (res.code === 0) {
|
|
|
+ ElMessage.success('更新成功')
|
|
|
+ channelShow.value = false
|
|
|
+ getChannelList()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const getChannelList = () => {
|
|
|
+ obtainChannelList().then(res => {
|
|
|
+ if (res.code === 0) {
|
|
|
+ channelList.length = 0
|
|
|
+ channelList.push(...res.data)
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
|
|
|
-const exportDirection = ref(false)
|
|
|
+onMounted(() => {
|
|
|
+ getGuardBoothList()
|
|
|
+ getChannelList()
|
|
|
+})
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|