Merge branch 'master' of http://192.168.0.56:3000/bonus/SafetyAlertSystem-ui
This commit is contained in:
commit
bafab4120b
|
|
@ -0,0 +1,10 @@
|
|||
module.exports = {
|
||||
tabWidth: 4,
|
||||
semi: false,
|
||||
vueIndentScriptAndStyle: false,
|
||||
singleQuote: true,
|
||||
trailingComma: 'all',
|
||||
proseWrap: 'never',
|
||||
htmlWhitespaceSensitivity: 'strict',
|
||||
endOfLine: 'auto',
|
||||
}
|
||||
|
|
@ -4,9 +4,16 @@
|
|||
import request from '@/utils/request'
|
||||
/** 边代设备列表查询 */
|
||||
export const queryEdgeDeviceListApiTwo = (data) => {
|
||||
return request.get('/base/tbBdDeviceRecord//getDeviceList', {
|
||||
params: data
|
||||
})
|
||||
return request.get('/base/tbBdDeviceRecord//getDeviceList', {
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/* 获取杆塔数据 */
|
||||
export const getPowerListApi = (params) => {
|
||||
return request.get('/base/tbBdDeviceRecord/getPowerList', { params })
|
||||
}
|
||||
/* 修改边带与杆塔的绑定关系 */
|
||||
export const putPowerDataApi = (params) => {
|
||||
return request.post('/base/tbBdDeviceRecord/updatePowerId', params)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,17 +46,24 @@
|
|||
:props="item.optionProps"
|
||||
:show-all-levels="false"
|
||||
clearable
|
||||
@change="handleCasAdd($event, item.f_model, cascaderFunc, extraTableProp)"
|
||||
@change="
|
||||
handleCasAdd(
|
||||
$event,
|
||||
item.f_model,
|
||||
cascaderFunc,
|
||||
extraTableProp,
|
||||
)
|
||||
"
|
||||
style="width: 240px"
|
||||
/>
|
||||
<el-cascader
|
||||
v-if="item.f_type === 'selCas'"
|
||||
v-model="queryParams[item.f_model]"
|
||||
:options="item.f_selList"
|
||||
:props="item.optionProps"
|
||||
:show-all-levels="false"
|
||||
@change="handleCas($event, item.f_model)"
|
||||
style="width: 240px"
|
||||
v-if="item.f_type === 'selCas'"
|
||||
v-model="queryParams[item.f_model]"
|
||||
:options="item.f_selList"
|
||||
:props="item.optionProps"
|
||||
:show-all-levels="false"
|
||||
@change="handleCas($event, item.f_model)"
|
||||
style="width: 240px"
|
||||
/>
|
||||
<el-date-picker
|
||||
v-if="item.f_type === 'date'"
|
||||
|
|
@ -66,20 +73,20 @@
|
|||
type="date"
|
||||
/>
|
||||
<el-date-picker
|
||||
v-if="item.f_type === 'dateRange'"
|
||||
v-model="queryParams[item.f_model]"
|
||||
style="width: 240px"
|
||||
type="daterange"
|
||||
value-format="yyyy-MM-dd"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
v-if="item.f_type === 'dateRange'"
|
||||
v-model="queryParams[item.f_model]"
|
||||
style="width: 240px"
|
||||
type="daterange"
|
||||
value-format="yyyy-MM-dd"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
/>
|
||||
<el-input-number
|
||||
v-if="item.f_type === 'num'"
|
||||
v-model="queryParams[item.f_model]"
|
||||
:min="0"
|
||||
style="width: 240px"
|
||||
v-if="item.f_type === 'num'"
|
||||
v-model="queryParams[item.f_model]"
|
||||
:min="0"
|
||||
style="width: 240px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="showBtnCrews">
|
||||
|
|
@ -109,7 +116,7 @@
|
|||
</el-form-item>
|
||||
</el-form>
|
||||
<!-- 按钮集群 -->
|
||||
<el-row class="btn-container" >
|
||||
<el-row class="btn-container">
|
||||
<div class="btn-handler">
|
||||
<slot name="btn" :queryParams="queryParams"></slot>
|
||||
</div>
|
||||
|
|
@ -132,8 +139,9 @@
|
|||
select-on-indeterminate
|
||||
style="width: 100%"
|
||||
v-loading="loading"
|
||||
@selection-change="handleSelectionChange">
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
>
|
||||
<!-- <el-table-column
|
||||
type="selection"
|
||||
width="45"
|
||||
|
|
@ -170,18 +178,18 @@
|
|||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="操作"
|
||||
v-if="handleShow && showOperation"
|
||||
v-if="handleShow && isShowHandle"
|
||||
:min-width="dynamicWidth"
|
||||
>
|
||||
<template slot-scope="{ row }">
|
||||
<div class="optionDivRef">
|
||||
<slot :data="row" name="handle">-</slot>
|
||||
<slot :data="row" name="handle"></slot>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- 分页 -->
|
||||
|
|
@ -221,57 +229,62 @@ export default {
|
|||
},
|
||||
/** 传递参数 */
|
||||
sendParams: {
|
||||
type: Object,
|
||||
default: () => null
|
||||
type: Object,
|
||||
default: () => null,
|
||||
},
|
||||
sendId: {
|
||||
type: Number,
|
||||
default: () => null
|
||||
type: Number,
|
||||
default: () => null,
|
||||
},
|
||||
/** 是否显示查询按钮 */
|
||||
showSearchBtn: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
showBtnCrews: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
cascaderFunc: {
|
||||
type: Function,
|
||||
default: () => null
|
||||
type: Function,
|
||||
default: () => null,
|
||||
},
|
||||
extraTableProp: {
|
||||
type: Object,
|
||||
default: () => null
|
||||
type: Object,
|
||||
default: () => null,
|
||||
},
|
||||
showOperation: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
showRightTools: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
selectable: {
|
||||
type: Function,
|
||||
default: () => {
|
||||
return true
|
||||
}
|
||||
type: Function,
|
||||
default: () => {
|
||||
return true
|
||||
},
|
||||
},
|
||||
selSingle: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
showIndex: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
|
||||
isShowHandle: {
|
||||
type: Boolean,
|
||||
default: () => false,
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
/* 根据操作栏控制表头是否显示 */
|
||||
tableColumCheckProps() {
|
||||
return this.columCheckList.filter(e => {
|
||||
return this.columCheckList.filter((e) => {
|
||||
return e.checked != false
|
||||
})
|
||||
},
|
||||
|
|
@ -286,17 +299,17 @@ export default {
|
|||
},
|
||||
columnsList: {
|
||||
handler(nv, ov) {
|
||||
if(nv !== ov) {
|
||||
if (nv !== ov) {
|
||||
this.columnsList = nv
|
||||
this.columCheckList = this.columnsList.map(e => {
|
||||
this.$set(e, 'checked', true)
|
||||
return e
|
||||
this.columCheckList = this.columnsList.map((e) => {
|
||||
this.$set(e, 'checked', true)
|
||||
return e
|
||||
})
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
/* sendParams: {
|
||||
deep: true,
|
||||
},
|
||||
/* sendParams: {
|
||||
handler(nv, ov) {
|
||||
console.log(nv, ov)
|
||||
if(nv !== ov) {
|
||||
|
|
@ -311,9 +324,7 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
// 表单校验
|
||||
formRules: {
|
||||
|
||||
},
|
||||
formRules: {},
|
||||
loading: false,
|
||||
// 列表接口查询参数
|
||||
queryParams: {
|
||||
|
|
@ -338,37 +349,37 @@ export default {
|
|||
columCheckList: [],
|
||||
// 操作列最小宽度
|
||||
dynamicWidth: 0,
|
||||
idCount: 1
|
||||
idCount: 1,
|
||||
}
|
||||
},
|
||||
|
||||
created() {
|
||||
this.columCheckList = this.columnsList.map(e => {
|
||||
this.columCheckList = this.columnsList.map((e) => {
|
||||
this.$set(e, 'checked', true)
|
||||
return e
|
||||
})
|
||||
/* 生成查询参数 */
|
||||
this.formLabel.map(e => {
|
||||
this.formLabel.map((e) => {
|
||||
this.$set(this.queryParams, e.f_model, '')
|
||||
// 设置表单必填
|
||||
if(e.f_rule) {
|
||||
this.$set(this.formRules, e.f_rule, [
|
||||
{
|
||||
required: true,
|
||||
message: `请填写${e.f_label}`,
|
||||
trigger: 'blur'
|
||||
}
|
||||
])
|
||||
if (e.f_rule) {
|
||||
this.$set(this.formRules, e.f_rule, [
|
||||
{
|
||||
required: true,
|
||||
message: `请填写${e.f_label}`,
|
||||
trigger: 'blur',
|
||||
},
|
||||
])
|
||||
}
|
||||
})
|
||||
if(this.sendParams !== null) {
|
||||
Object.assign(this.queryParams, this.sendParams)
|
||||
/* for(let key in this.sendParams) {
|
||||
if (this.sendParams !== null) {
|
||||
Object.assign(this.queryParams, this.sendParams)
|
||||
/* for(let key in this.sendParams) {
|
||||
console.log(key, this.sendParams[key])
|
||||
this.$set(this.queryParams, key, this.sendParams[key])
|
||||
} */
|
||||
}
|
||||
if(this.sendId !== null) this.queryParams.id = this.sendId
|
||||
if (this.sendId !== null) this.queryParams.id = this.sendId
|
||||
this.getTableList()
|
||||
},
|
||||
updated() {
|
||||
|
|
@ -378,46 +389,45 @@ export default {
|
|||
methods: {
|
||||
/** 获取列表数据 */
|
||||
async getTableList() {
|
||||
if(this.queryParams.time && this.queryParams.time.length !== 0) {
|
||||
this.queryParams.startTime = this.queryParams.time[0]
|
||||
this.queryParams.endTime = this.queryParams.time[1]
|
||||
delete this.queryParams.time
|
||||
}
|
||||
console.log(this.queryParams)
|
||||
if(Object.keys(this.formRules).length !== 0) {
|
||||
this.$refs.queryFormRef.validate(async valid => {
|
||||
if (valid) {
|
||||
if (this.queryParams.time && this.queryParams.time.length !== 0) {
|
||||
this.queryParams.startTime = this.queryParams.time[0]
|
||||
this.queryParams.endTime = this.queryParams.time[1]
|
||||
delete this.queryParams.time
|
||||
}
|
||||
console.log(this.queryParams)
|
||||
if (Object.keys(this.formRules).length !== 0) {
|
||||
this.$refs.queryFormRef.validate(async (valid) => {
|
||||
if (valid) {
|
||||
this.loading = true
|
||||
const res = await this.requestApi(this.queryParams)
|
||||
this.loading = false
|
||||
console.log(res, '列表数据')
|
||||
if (res.code === 200) {
|
||||
if (res.data) {
|
||||
this.tableList = res.data.rows || res.data
|
||||
this.total = res.data.total || res.data.length
|
||||
} else {
|
||||
this.tableList = res.rows || res.data
|
||||
this.total = res.data.total || res.rows.length
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.loading = true
|
||||
const res = await this.requestApi(this.queryParams)
|
||||
this.loading = false
|
||||
console.log(res, '列表数据')
|
||||
console.log(res, '列表数据2')
|
||||
if (res.code === 200) {
|
||||
if (res.data) {
|
||||
this.tableList = res.data.rows || res.data
|
||||
this.total = res.data.total || res.data.length
|
||||
} else {
|
||||
this.tableList = res.rows || res.data
|
||||
this.total = res.data.total || res.rows.length
|
||||
}
|
||||
if (res.data) {
|
||||
this.tableList = res.data.rows || res.data
|
||||
this.total = res.data.total
|
||||
} else {
|
||||
this.tableList = res.rows || res.data
|
||||
this.total = res.total
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.loading = true
|
||||
const res = await this.requestApi(this.queryParams)
|
||||
this.loading = false
|
||||
console.log(res, '列表数据2')
|
||||
if (res.code === 200) {
|
||||
if (res.data) {
|
||||
this.tableList = res.data.rows || res.data
|
||||
this.total = res.data.total
|
||||
} else {
|
||||
this.tableList = res.rows || res.data
|
||||
this.total = res.total
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
/** 查询按钮 */
|
||||
handleQuery() {
|
||||
|
|
@ -425,7 +435,7 @@ export default {
|
|||
},
|
||||
/** 填充按钮 */
|
||||
handleFill() {
|
||||
/* this.tableList.forEach(obj => {
|
||||
/* this.tableList.forEach(obj => {
|
||||
Object.assign(obj, this.formLabel)
|
||||
}) */
|
||||
},
|
||||
|
|
@ -438,39 +448,36 @@ export default {
|
|||
},
|
||||
/** 级联选择 */
|
||||
handleCas(e, val) {
|
||||
this.queryParams[val] = e[e.length - 1]
|
||||
this.queryParams[val] = e[e.length - 1]
|
||||
},
|
||||
/** 级联选择只选最后一级 */
|
||||
handleCasAdd(
|
||||
e,
|
||||
val,
|
||||
func,
|
||||
prop
|
||||
) {
|
||||
if(e.length !== 0) {
|
||||
this.queryParams[val] = e[e.length - 1]
|
||||
let setObj = {}
|
||||
// 合并
|
||||
if(prop) {
|
||||
Object.assign(setObj, prop)
|
||||
handleCasAdd(e, val, func, prop) {
|
||||
if (e.length !== 0) {
|
||||
this.queryParams[val] = e[e.length - 1]
|
||||
let setObj = {}
|
||||
// 合并
|
||||
if (prop) {
|
||||
Object.assign(setObj, prop)
|
||||
}
|
||||
// 设置id自增
|
||||
this.$set(setObj, 'id', this.idCount)
|
||||
this.idCount++
|
||||
// 获取单位
|
||||
func({
|
||||
id: e[e.length - 1],
|
||||
})
|
||||
.then((res) => {
|
||||
this.$set(setObj, 'name', res.data.parentName)
|
||||
this.$set(setObj, 'unitName', res.data.unitName)
|
||||
this.$set(setObj, 'typeName', res.data.name)
|
||||
})
|
||||
.catch((err) => {})
|
||||
for (let key in this.queryParams) {
|
||||
this.$set(setObj, key, this.queryParams[key])
|
||||
}
|
||||
this.tableList.unshift(setObj)
|
||||
console.log(this.tableList)
|
||||
}
|
||||
// 设置id自增
|
||||
this.$set(setObj, 'id', this.idCount)
|
||||
this.idCount++
|
||||
// 获取单位
|
||||
func({
|
||||
id: e[e.length - 1]
|
||||
}).then(res => {
|
||||
this.$set(setObj, 'name', res.data.parentName)
|
||||
this.$set(setObj, 'unitName', res.data.unitName)
|
||||
this.$set(setObj, 'typeName', res.data.name)
|
||||
}).catch(err => {})
|
||||
for(let key in this.queryParams) {
|
||||
this.$set(setObj, key, this.queryParams[key])
|
||||
}
|
||||
this.tableList.unshift(setObj)
|
||||
console.log(this.tableList)
|
||||
}
|
||||
},
|
||||
/** 动态设置操作列的列宽 */
|
||||
getOperatorWidth() {
|
||||
|
|
@ -500,16 +507,15 @@ export default {
|
|||
},
|
||||
|
||||
queryTableList(params) {
|
||||
Object.assign(this.queryParams, params)
|
||||
this.getTableList()
|
||||
Object.assign(this.queryParams, params)
|
||||
this.getTableList()
|
||||
},
|
||||
|
||||
handleSelectionChange(e) {
|
||||
console.log(e, 'e')
|
||||
this.msgList = e
|
||||
this.$emit('transIdList', this.msgList)
|
||||
console.log(e, 'e')
|
||||
this.msgList = e
|
||||
this.$emit('transIdList', this.msgList)
|
||||
},
|
||||
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,50 +1,139 @@
|
|||
<template>
|
||||
<!-- 工程管理页面 -->
|
||||
<div class="app-container">
|
||||
<!-- 表格 -->
|
||||
<TableModelTwo
|
||||
:formLabel="formLabel"
|
||||
:columnsList="columnsList"
|
||||
:request-api="queryEdgeDeviceListApiTwo"
|
||||
ref="tableRef"
|
||||
>
|
||||
<template slot="devUserPhone" slot-scope="{ data }">
|
||||
{{ phoneCrypto(data.devUserPhone) || '-' }}
|
||||
</template>
|
||||
</TableModelTwo>
|
||||
<!-- 工程管理页面 -->
|
||||
<div class="app-container">
|
||||
<!-- 表格 -->
|
||||
<TableModelTwo
|
||||
:isShowHandle="true"
|
||||
:formLabel="formLabel"
|
||||
:columnsList="columnsList"
|
||||
:request-api="queryEdgeDeviceListApiTwo"
|
||||
ref="tableRef"
|
||||
>
|
||||
<template slot="devUserPhone" slot-scope="{ data }">
|
||||
{{ phoneCrypto(data.devUserPhone) || '-' }}
|
||||
</template>
|
||||
|
||||
</div>
|
||||
<template slot="handle" slot-scope="{ data }">
|
||||
<el-button
|
||||
size="mini"
|
||||
@click="handleClick(data)"
|
||||
v-if="data.proType === '2'"
|
||||
>{{ data.bindId ? '修改杆塔' : '绑定杆塔' }}</el-button
|
||||
>
|
||||
</template>
|
||||
</TableModelTwo>
|
||||
|
||||
<!-- 绑定弹框 -->
|
||||
<el-dialog
|
||||
width="40%"
|
||||
title="绑定杆塔"
|
||||
v-if="bindVisible"
|
||||
:visible.sync="bindVisible"
|
||||
>
|
||||
<el-form
|
||||
label-width="80px"
|
||||
ref="bindPowerFormRef"
|
||||
:model="bindPowerForm"
|
||||
:rules="bindPowerFormRules"
|
||||
>
|
||||
<el-form-item label="绑定杆塔" prop="powerId">
|
||||
<el-select
|
||||
clearable
|
||||
placeholder="请选择需要绑定的杆塔"
|
||||
v-model="bindPowerForm.powerId"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in powerList"
|
||||
:key="item.powerId"
|
||||
:label="item.powerName"
|
||||
:value="item.powerId"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button size="mini" type="primary" @click="onSubmit"
|
||||
>确 定</el-button
|
||||
>
|
||||
<el-button size="mini" @click="onCancel">取 消</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { formLabel, columnsList, } from './config'
|
||||
import { formLabel, columnsList } from './config'
|
||||
import { commonMixin } from '../mixins/common'
|
||||
import {
|
||||
queryEdgeDeviceListApiTwo
|
||||
getPowerListApi,
|
||||
putPowerDataApi,
|
||||
queryEdgeDeviceListApiTwo,
|
||||
} from '@/api/base/edgeDevice'
|
||||
export default {
|
||||
name: 'EdgeDevice',
|
||||
methods: {
|
||||
queryEdgeDeviceListApiTwo
|
||||
name: 'EdgeDevice',
|
||||
methods: {
|
||||
async handleClick(row) {
|
||||
if (row.bindId) {
|
||||
this.bindPowerForm.powerId = row.bindId
|
||||
} else {
|
||||
this.bindPowerForm.powerId = ''
|
||||
}
|
||||
const { id } = row
|
||||
this.bindPowerForm.id = id
|
||||
const res = await getPowerListApi({ id })
|
||||
this.powerList = res.rows
|
||||
this.bindVisible = true
|
||||
},
|
||||
|
||||
},
|
||||
/* 确定 */
|
||||
onSubmit() {
|
||||
this.$refs.bindPowerFormRef.validate(async (valid) => {
|
||||
if (valid) {
|
||||
const res = await putPowerDataApi(this.bindPowerForm)
|
||||
if (res.code === 200) {
|
||||
this.$message.success('绑定成功!')
|
||||
this.bindVisible = false
|
||||
this.$refs.tableRef.getTableList()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
/* 取消 */
|
||||
onCancel() {
|
||||
this.bindVisible = false
|
||||
},
|
||||
},
|
||||
|
||||
mixins: [commonMixin],
|
||||
components: {
|
||||
|
||||
},
|
||||
created() {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 搜索区表单配置项
|
||||
formLabel,
|
||||
// // 表格导出id列表
|
||||
// exportList: [],
|
||||
// 列表区配置项
|
||||
columnsList,
|
||||
// 弹框区配置项
|
||||
}
|
||||
},
|
||||
mixins: [commonMixin],
|
||||
components: {},
|
||||
created() {},
|
||||
data() {
|
||||
return {
|
||||
// 搜索区表单配置项
|
||||
formLabel,
|
||||
// // 表格导出id列表
|
||||
// exportList: [],
|
||||
// 列表区配置项
|
||||
columnsList,
|
||||
powerList: [], // 杆塔数据源
|
||||
bindVisible: false,
|
||||
queryEdgeDeviceListApiTwo,
|
||||
bindPowerForm: {
|
||||
powerId: '',
|
||||
id: '',
|
||||
},
|
||||
|
||||
bindPowerFormRules: {
|
||||
powerId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择需要绑定的杆塔',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
},
|
||||
// 弹框区配置项
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ module.exports = {
|
|||
proxy: {
|
||||
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
||||
[process.env.VUE_APP_BASE_API]: {
|
||||
target: `http://192.168.2.12:18080`,
|
||||
target: `http://192.168.0.110:18080`,
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
["^" + process.env.VUE_APP_BASE_API]: "",
|
||||
|
|
|
|||
Loading…
Reference in New Issue