| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="filter-container"> |
| | | <el-input v-model="listQuery.keyword" size="small" placeholder="请输入编号/名称/卡号" clearable class="filter-item w-200" /> |
| | | <el-input v-model="listQuery.keyword" size="small" placeholder="请输入编号/名称/卡号" clearable |
| | | class="filter-item w-200" /> |
| | | <el-button-group class="filter-item"> |
| | | <el-button size="small" type="primary" icon="el-icon-search" @click="search"> |
| | | 搜索 |
| | |
| | | <el-button size="small" type="primary" icon="el-icon-refresh" @click="refresh"> |
| | | 刷新 |
| | | </el-button> |
| | | <el-button v-if="uadd=='Yes'" size="small" type="primary" icon="el-icon-plus" @click="add"> |
| | | <el-button v-if="uadd == 'Yes'" size="small" type="primary" icon="el-icon-plus" @click="add"> |
| | | 新增 |
| | | </el-button> |
| | | </el-button-group> |
| | | |
| | | <span style="margin-left: 100px;"> |
| | | <!-- <el-date-picker v-model="timeExport" type="daterange" unlink-panels :picker-options="pickerOptions" |
| | | range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" value-format="yyyy-MM-dd" /> --> |
| | | |
| | | <!-- <el-button style="margin-left: 10px;" type="primary" @click="exportExcel">导出EXCEL</el-button> --> |
| | | |
| | | <el-button style="margin-left: 10px;" type="primary" @click="resetzuobiao">重置基站坐标</el-button> |
| | | |
| | | </span> |
| | | </div> |
| | | |
| | | <el-table v-loading="listLoading" :data="list" element-loading-text="Loading" border fit height="100%" |
| | | class="table-container" highlight-current-row> |
| | | <el-table-column fixed label="ID" width="70" > |
| | | class="table-container" highlight-current-row @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"> |
| | | </el-table-column> |
| | | <el-table-column fixed label="ID" width="70"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.id }} |
| | | </template> |
| | |
| | | {{ scope.row.tagid }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="名称" width="150"> |
| | | <el-table-column label="名称" width="150"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.anchorname }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="公司" width="170"> |
| | | <el-table-column label="公司" width="170"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.company }} |
| | | </template> |
| | |
| | | |
| | | <template slot-scope="scope"> |
| | | <!-- <template slot-scope="scope"> --> |
| | | <span v-if="scope.row.onlie == '1'"><img src="../../assets/images/online6.png"></span> |
| | | <span v-else-if="scope.row.onlie == '0'"><img src="../../assets/images/offline4.png"></span> |
| | | <!-- </template> --> |
| | | <!-- <span v-if="scope.row.onlie == '1'"><img src="../../assets/images/online6.png"></span> |
| | | <span v-else-if="scope.row.onlie == '0'"><img src="../../assets/images/offline4.png"></span> --> |
| | | <span v-if="scope.row.onlie == '1'">在线</span> |
| | | <span v-else-if="scope.row.onlie == '0'">离线</span> |
| | | <span v-else-if="scope.row.onlie == '4'">高精度</span> |
| | | <span v-else-if="scope.row.onlie == '6'">超阈值告警</span> |
| | | <span v-else-if="scope.row.onlie == '7'">非高精度告警</span> |
| | | <!-- </template> --> |
| | | <!-- <span v-if="scope.row.onlie == 1">在线</span> |
| | | <span v-if="scope.row.onlie == 0">离线</span> --> |
| | | </template> |
| | |
| | | {{ scope.row.gpsnum }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="卡号" width="190"> |
| | | <el-table-column label="卡号" width="190"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.cid }} |
| | | </template> |
| | |
| | | {{ scope.row.lat }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="高程" > |
| | | <el-table-column label="高程"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.height }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="时间" width="180"> |
| | | <el-table-column label="时间" width="180"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.addtime }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" width="200" v-if="uupdate=='Yes' || udelete=='Yes'"> |
| | | <el-table-column label="操作" width="200" v-if="uupdate == 'Yes' || udelete == 'Yes'"> |
| | | <template slot-scope="scope"> |
| | | <el-button-group> |
| | | <el-button v-if="uupdate=='Yes'" type="primary" icon="el-icon-edit" size="mini" @click="edit(scope)"> |
| | | <el-button v-if="uupdate == 'Yes'" type="primary" icon="el-icon-edit" size="mini" @click="edit(scope)"> |
| | | 修改 |
| | | </el-button> |
| | | <el-button v-if="udelete=='Yes'" type="danger" icon="el-icon-delete" size="mini" @click="del(scope)"> |
| | | <el-button v-if="udelete == 'Yes'" type="danger" icon="el-icon-delete" size="mini" @click="del(scope)"> |
| | | 删除 |
| | | </el-button> |
| | | </el-button-group> |
| | |
| | | <el-form :ref="temp" :model="temp" label-width="120px" label-position="right" :rules="rules"> |
| | | <el-form-item label="编号" prop="tagid"> |
| | | <el-input v-model="temp.tagid |
| | | " placeholder="请输入编号" /> |
| | | " placeholder="请输入编号" /> |
| | | </el-form-item> |
| | | <el-form-item label="名称" prop="anchorname"> |
| | | <el-input v-model="temp.anchorname |
| | | " placeholder="请输入名称" /> |
| | | " placeholder="请输入名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="公司" prop="companyid"> |
| | | <el-select style="width: 100%;" v-model="temp.company" filterable remote placeholder="请选择公司" |
| | |
| | | |
| | | <script> |
| | | import Pagination from '@/components/Pagination' |
| | | import { getList, delEquipment, addorupEquipment, searchEquipment,search,addSystemOperationLog } from '@/api/equipment' |
| | | import { getList, delEquipment, addorupEquipment, searchEquipment, search, addSystemOperationLog, resetzuobiao,searchfive } from '@/api/equipment' |
| | | import { deepClone } from '@/utils' |
| | | |
| | | const _temp = { |
| | | adminname:'', |
| | | adminname: '', |
| | | id: '', |
| | | anchorname: '', |
| | | tagid: '', |
| | | companyid: '', |
| | | // cid: '', |
| | | type:0 |
| | | type: 0 |
| | | } |
| | | |
| | | export default { |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | uadd:'', |
| | | udelete:'', |
| | | uupdate:'', |
| | | uadd: '', |
| | | udelete: '', |
| | | uupdate: '', |
| | | total: 0, |
| | | list: [], |
| | | menus: [], |
| | |
| | | keyword: undefined, |
| | | type: 0 |
| | | }, |
| | | multipleSelection: [], |
| | | uploadUrl: '', |
| | | temp: Object.assign({}, _temp), |
| | | dialogVisible: false, |
| | |
| | | options: [], |
| | | rules: { |
| | | tagid: [ |
| | | { required: true, message: '请输入编号', trigger: 'blur' }, |
| | | ], |
| | | anchorname: [ |
| | | { required: true, message: '请数据名称', trigger: 'blur' } |
| | | ], |
| | | companyid: [ |
| | | { required: true, message: '请选择公司', trigger: 'blur' } |
| | | ], |
| | | // cid: [ |
| | | // { required: true, message: '请输入卡号', trigger: 'blur' } |
| | | // ] |
| | | }, |
| | | { required: true, message: '请输入编号', trigger: 'blur' }, |
| | | ], |
| | | anchorname: [ |
| | | { required: true, message: '请数据名称', trigger: 'blur' } |
| | | ], |
| | | companyid: [ |
| | | { required: true, message: '请选择公司', trigger: 'blur' } |
| | | ], |
| | | // cid: [ |
| | | // { required: true, message: '请输入卡号', trigger: 'blur' } |
| | | // ] |
| | | }, |
| | | searchloading: false |
| | | } |
| | | }, |
| | |
| | | this.fetchData() |
| | | }, |
| | | methods: { |
| | | // 远程搜索 |
| | | searchMethod(query) { |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val; |
| | | }, |
| | | resetzuobiao() { |
| | | console.log(this.multipleSelection); |
| | | if (this.multipleSelection.length == 0) { |
| | | this.$message({ |
| | | message: '请先选择一条数据', |
| | | type: 'error' |
| | | }) |
| | | } else if (this.multipleSelection.length > 1) { |
| | | this.$message({ |
| | | message: '请选择一条数据', |
| | | type: 'error' |
| | | }) |
| | | |
| | | |
| | | } else { |
| | | this.$prompt('该操作需要由专业技术人员完成,请输入操作密码', '设备编号' + this.multipleSelection[0].tagid + '确认操作', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | // inputPattern: /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/, |
| | | |
| | | inputErrorMessage: '密码错误', |
| | | inputValidator: (value) => {//input校验 |
| | | if (value != 20151102) { |
| | | return '密码错误'; |
| | | } |
| | | }, |
| | | }).then(({ value }) => { |
| | | |
| | | const params = { tagid: this.multipleSelection[0].tagid }; |
| | | resetzuobiao(params).then(response => { |
| | | console.log(response); |
| | | |
| | | |
| | | }) |
| | | this.$message({ |
| | | type: 'success', |
| | | message: '重置成功!' |
| | | }); |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '取消重置' |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | // 远程搜索 |
| | | searchMethod(query) { |
| | | if (query !== '') { |
| | | this.loading = true; |
| | | var params = { query: query } |
| | |
| | | this.options = []; |
| | | } |
| | | }, |
| | | |
| | | // 远程搜索 |
| | | searchMethodfive(query) { |
| | | if (query !== '') { |
| | | this.loading = true; |
| | | // var params = { query: query } |
| | | searchfive().then(response => { |
| | | this.options = response.data; |
| | | this.loading = false; |
| | | }) |
| | | } else { |
| | | this.options = []; |
| | | } |
| | | }, |
| | | // 搜索 |
| | | search() { |
| | | this.listLoading = true |
| | | searchEquipment(this.listQuery).then(response => { |
| | | if (response.data!=null) { |
| | | if (response.data != null) { |
| | | this.list = response.data.records |
| | | this.total = response.data.total |
| | | }else{ |
| | | } else { |
| | | this.$message({ |
| | | message: '未搜索到数据', |
| | | type: 'error' |
| | | }) |
| | | } |
| | | |
| | | |
| | | this.listLoading = false |
| | | }) |
| | | }, |
| | |
| | | current: 1, |
| | | size: 20, |
| | | keyword: undefined, |
| | | type:0 |
| | | type: 0 |
| | | } |
| | | this.fetchData() |
| | | }, |
| | |
| | | this.total = response.data.total |
| | | this.listLoading = false |
| | | }) |
| | | this.searchMethodfive() |
| | | }, |
| | | resetTemp() { |
| | | this.temp = Object.assign({}, _temp) |
| | |
| | | }, |
| | | // 删除 |
| | | del(scope) { |
| | | |
| | | |
| | | this.$confirm('确认删除该条数据吗?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | |
| | | this.list.splice(scope.$index, 1) |
| | | delEquipment(params).then(response => { |
| | | this.temp.adminname = localStorage.getItem('username') || ''; |
| | | const params = { name: this.temp.adminname, content: '删除了一个基准站,该编号为:'+scope.row.tagid }; |
| | | const params = { name: this.temp.adminname, content: '删除了一个基准站,该编号为:' + scope.row.tagid }; |
| | | addSystemOperationLog(params).then(response => { |
| | | |
| | | }) |
| | | }) |
| | | this.$message({ |
| | | message: '删除成功', |
| | | type: 'success' |
| | |
| | | }) |
| | | }, |
| | | submit() { |
| | | |
| | | |
| | | if (this.loading) { |
| | | return |
| | | } |
| | | this.temp.companyid=this.temp.companyid |
| | | if ( this.dialogType != 'modify') { |
| | | this.temp.companyid=this.temp.company |
| | | } |
| | | // this.temp.companyid = this.temp.companyid |
| | | this.loading = true |
| | | this.$refs[this.temp].validate((valid) => { |
| | | if (valid) { |
| | | addorupEquipment(this.temp).then(() => { |
| | | if (this.temp.id=="") { |
| | | this.temp.adminname = localStorage.getItem('username') || ''; |
| | | const params = { name: this.temp.adminname, content: '新增了一个基准站,该编号为:'+this.temp.tagid }; |
| | | addSystemOperationLog(params).then(response => { |
| | | addorupEquipment(this.temp).then(() => { |
| | | if (this.temp.id == "") { |
| | | this.temp.adminname = localStorage.getItem('username') || ''; |
| | | const params = { name: this.temp.adminname, content: '新增了一个基准站,该编号为:' + this.temp.tagid }; |
| | | addSystemOperationLog(params).then(response => { |
| | | |
| | | }) |
| | | } else { |
| | | this.temp.adminname = localStorage.getItem('username') || ''; |
| | | const params = { name: this.temp.adminname, content: '修改了一个基准站,该编号为:'+this.temp.tagid }; |
| | | addSystemOperationLog(params).then(response => { |
| | | }) |
| | | } else { |
| | | this.temp.adminname = localStorage.getItem('username') || ''; |
| | | const params = { name: this.temp.adminname, content: '修改了一个基准站,该编号为:' + this.temp.tagid }; |
| | | addSystemOperationLog(params).then(response => { |
| | | |
| | | }) |
| | | } |
| | | |
| | | this.fetchData() |
| | | setTimeout(() => { |
| | | this.$message({ |
| | | message: '提交成功', |
| | | type: 'success' |
| | | }) |
| | | } |
| | | |
| | | this.fetchData() |
| | | setTimeout(() => { |
| | | this.$message({ |
| | | message: '提交成功', |
| | | type: 'success' |
| | | }) |
| | | this.dialogVisible = false |
| | | this.loading = false |
| | | }, 300) |
| | | }) |
| | | this.dialogVisible = false |
| | | this.loading = false |
| | | }, 300) |
| | | }) |
| | | } else { |
| | | this.$message({ |
| | | } else { |
| | | this.$message({ |
| | | message: '提交失败,请检查表单必填项是否为空', |
| | | type: 'error' |
| | | }) |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | | |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | | |
| | | } |
| | | } |
| | | } |