1、消防点位样式调整

2、指挥模块点位调整
liujun0703-新项目开发
liujun 2024-08-10 18:18:14 +08:00
parent 4c0157d65a
commit a23cf15888
4 changed files with 82 additions and 29 deletions

View File

@ -11,18 +11,26 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<el-table ref="multipleTable" :data="varList" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row> <el-table
ref="multipleTable"
:data="varList"
:header-cell-style="{'font-weight': 'bold','color': '#000'}"
tooltip-effect="dark"
border
fit
highlight-current-row>
<el-table-column type="selection" width="55" align="center"/> <el-table-column type="selection" width="55" align="center"/>
<el-table-column type="index" label="序号" width="50" align="center"/> <el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column prop="NAME" label="名称" width="180"/> <el-table-column prop="NAME" label="名称" width="180"/>
<el-table-column prop="ADDRESS" label="地址" show-overflow-tooltip="true" /> <el-table-column :show-overflow-tooltip="true" prop="ADDRESS" label="地址"/>
<el-table-column prop="CONTACT_PERSON" label="联系人" show-overflow-tooltip="true" /> <el-table-column :show-overflow-tooltip="true" prop="CONTACT_PERSON" label="联系人"/>
<el-table-column prop="CONTACT_PHONE" label="联系电话" show-overflow-tooltip="true" /> <el-table-column :show-overflow-tooltip="true" prop="CONTACT_PHONE" label="联系电话"/>
<el-table-column prop="DESCRIPTION" label="描述" show-overflow-tooltip="true" /> <el-table-column :show-overflow-tooltip="true" prop="DESCRIPTION" label="描述"/>
<el-table-column label="操作" align="center" width="300"> <el-table-column label="操作" align="center" width="300">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.ID)"></el-button> <el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.ID)"></el-button>
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.ID, row.NAME)">删除</el-button> <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.ID, row.NAME)">删除
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -36,7 +44,7 @@
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList"/> <pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList"/>
</div> </div>
<el-dialog :visible.sync="dialogFormEdit" :title="dialogType==='editUser'?'修改':'新增'" width="1000px"> <el-dialog :visible.sync="dialogFormEdit" :title="dialogType==='editUser'?'修改':'新增'" width="1000px">
<el-form ref="form" :rules="rules" :model="form" label-width="250px"> <el-form ref="form" :rules="rules" :model="form" label-width="100px" style="margin-right: 50px">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="名称" prop="NAME"> <el-form-item label="名称" prop="NAME">
@ -61,6 +69,25 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item :key="form.LONGITUDE" label="经度" prop="LONGITUDE">
<el-input v-model="form.LONGITUDE" placeholder="请输入内容" disabled @focus="handleMap" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :key="form.LATITUDE" label="纬度" prop="LATITUDE">
<div style="display: flex">
<el-input v-model="form.LATITUDE" placeholder="请输入内容" disabled style="width: 100%" @focus="handleMap"/>
<el-button style="margin-left:10px" @click="handleMap">
<span class="svg-container">
<svg-icon icon-class="international" />
</span>
</el-button>
</div>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="描述" prop="DESCRIPTION"> <el-form-item label="描述" prop="DESCRIPTION">
<el-input v-model="form.DESCRIPTION" type="textarea" placeholder="请输入描述..."/> <el-input v-model="form.DESCRIPTION" type="textarea" placeholder="请输入描述..."/>
</el-form-item> </el-form-item>
@ -70,13 +97,16 @@
<el-button type="primary" @click="confirm"></el-button> <el-button type="primary" @click="confirm"></el-button>
</div> </div>
</el-dialog> </el-dialog>
<get-point ref="getPoint" @getPosition = "getPosition"/>
</div> </div>
</template> </template>
<script> <script>
import Pagination from '@/components/Pagination' import Pagination from '@/components/Pagination'
import { requestFN } from '@/utils/request' import { requestFN } from '@/utils/request'
import getPoint from '../../util/getPoint.vue'
export default { export default {
components: { Pagination }, components: { getPoint, Pagination },
data() { data() {
return { return {
listQuery: { listQuery: {
@ -96,7 +126,9 @@ export default {
ADDRESS: '', ADDRESS: '',
CONTACT_PERSON: '', CONTACT_PERSON: '',
CONTACT_PHONE: '', CONTACT_PHONE: '',
DESCRIPTION: '' DESCRIPTION: '',
LONGITUDE: '',
LATITUDE: ''
}, },
rules: { rules: {
NAME: [ NAME: [
@ -118,6 +150,12 @@ export default {
DESCRIPTION: [ DESCRIPTION: [
{ required: true, message: '描述不能为空', trigger: 'blur' }, { required: true, message: '描述不能为空', trigger: 'blur' },
{ min: 2, max: 255, message: '长度在 2 到 255 个字符', trigger: 'blur' } { min: 2, max: 255, message: '长度在 2 到 255 个字符', trigger: 'blur' }
],
LONGITUDE: [
{ required: true, message: '经度不能为空', trigger: 'blur' }
],
LATITUDE: [
{ required: true, message: '纬度不能为空', trigger: 'blur' }
] ]
} }
} }
@ -147,16 +185,18 @@ export default {
this.getDetail(ID) this.getDetail(ID)
}, },
getDetail(ID) { getDetail(ID) {
const params = { Id: ID } const params = { ID: ID }
requestFN('/major/checkpoint/detail', params).then((response) => { requestFN('/major/checkpoint/detail', params).then((response) => {
const data = response.msg const data = response.msg
this.form = { this.form = {
Id: data.ID, ID: data.ID,
NAME: data.NAME, NAME: data.NAME,
ADDRESS: data.ADDRESS, ADDRESS: data.ADDRESS,
CONTACT_PERSON: data.CONTACT_PERSON, CONTACT_PERSON: data.CONTACT_PERSON,
CONTACT_PHONE: data.CONTACT_PHONE, CONTACT_PHONE: data.CONTACT_PHONE,
DESCRIPTION: data.DESCRIPTION DESCRIPTION: data.DESCRIPTION,
LATITUDE: data.LATITUDE,
LONGITUDE: data.LONGITUDE
} }
}).catch((e) => { }).catch((e) => {
console.error('获取详情数据失败', e) console.error('获取详情数据失败', e)
@ -170,7 +210,9 @@ export default {
ADDRESS: '', ADDRESS: '',
CONTACT_PERSON: '', CONTACT_PERSON: '',
CONTACT_PHONE: '', CONTACT_PHONE: '',
DESCRIPTION: '' DESCRIPTION: '',
LATITUDE: '',
LONGITUDE: ''
} }
}, },
confirm() { confirm() {
@ -209,7 +251,8 @@ export default {
}).catch((e) => { }).catch((e) => {
this.listLoading = false this.listLoading = false
}) })
}).catch(() => {}) }).catch(() => {
})
}, },
makeAll() { makeAll() {
const _selectData = this.$refs.multipleTable.selection const _selectData = this.$refs.multipleTable.selection
@ -233,7 +276,8 @@ export default {
}).catch((e) => { }).catch((e) => {
this.listLoading = false this.listLoading = false
}) })
}).catch(() => {}) }).catch(() => {
})
}, },
resetQuery() { resetQuery() {
this.NAME = '' this.NAME = ''
@ -242,6 +286,13 @@ export default {
getQuery() { getQuery() {
this.$refs.multipleTable.clearSelection() this.$refs.multipleTable.clearSelection()
this.getList() this.getList()
},
getPosition(e) {
this.form.LATITUDE = e.LATITUDE
this.form.LONGITUDE = e.LONGITUDE
},
handleMap() {
this.$refs.getPoint.init({ LATITUDE: this.form.LATITUDE, LONGITUDE: this.form.LONGITUDE })
} }
} }
} }

View File

@ -83,7 +83,7 @@
<el-input v-model="form.CONTACT_PHONE" placeholder="请输入联系电话..." /> <el-input v-model="form.CONTACT_PHONE" placeholder="请输入联系电话..." />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col v-if="false" :span="12">
<el-form-item label="描述" prop="DESCRIPTION"> <el-form-item label="描述" prop="DESCRIPTION">
<el-input v-model="form.DESCRIPTION" type="textarea" placeholder="请输入描述..." /> <el-input v-model="form.DESCRIPTION" type="textarea" placeholder="请输入描述..." />
</el-form-item> </el-form-item>

View File

@ -13,7 +13,7 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button> <el-button class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button class="filter-item" type="default" icon="el-icon-refresh" @click="resetQuery"></el-button> <el-button class="filter-item" type="info" icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@ -147,6 +147,7 @@ export default {
dialogFormShow: false, dialogFormShow: false,
dialogType: 'add', dialogType: 'add',
form: { form: {
ID: '',
RESOURCE_LIBRARY_NAME: '', RESOURCE_LIBRARY_NAME: '',
LOCATION: '', LOCATION: '',
RESOURCE_CATEGORY: '', RESOURCE_CATEGORY: '',
@ -231,7 +232,7 @@ export default {
this.getDetail(ID) this.getDetail(ID)
}, },
getDetail(ID) { getDetail(ID) {
const params = { Id: ID } const params = { ID: ID }
requestFN('/major/resource/detail', params).then((response) => { requestFN('/major/resource/detail', params).then((response) => {
const data = response.msg const data = response.msg
this.form = { this.form = {
@ -268,7 +269,6 @@ export default {
} }
}, },
confirm() { confirm() {
/* this.dataSave()*/
this.$refs.form.validate(valid => { this.$refs.form.validate(valid => {
if (valid) { if (valid) {
this.dataSave() this.dataSave()

View File

@ -162,6 +162,8 @@ export default {
setPosition() { setPosition() {
this.visible = false this.visible = false
this.$emit('getPosition', { LATITUDE: this.LATITUDE, LONGITUDE: this.LONGITUDE }) this.$emit('getPosition', { LATITUDE: this.LATITUDE, LONGITUDE: this.LONGITUDE })
this.LONGITUDE = ''
this.LATITUDE = ''
} }
} }
} }