bug修复

This commit is contained in:
jjLv 2024-11-05 09:15:47 +08:00
parent f5a9dbccf6
commit 3c33e3767f
12 changed files with 313 additions and 31 deletions

View File

@ -360,6 +360,7 @@ export default {
})
/* 生成查询参数 */
this.formLabel.map((e) => {
console.log('e',)
this.$set(this.queryParams, e.f_model, '')
//
if (e.f_rule) {

View File

@ -169,6 +169,7 @@ export default {
message: '请输入班组名称',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
relId: [
{
@ -193,6 +194,16 @@ export default {
methods: {
queryIsAllApi,
queryCrewSelApi,
validateInput(rule, value, callback) {
const regex = /[!@#$%^&*()_,.?":{}|<>+\//\\]/g; //
if (!value) {
callback(new Error('输入不能为空'));
} else if (regex.test(value)) {
callback(new Error('输入不能包含特殊字符'));
} else {
callback(); //
}
},
getIdList(idList) {
this.exportList = []
idList.forEach(item => {

View File

@ -12,7 +12,6 @@
<el-form-item label="设备类型" prop="devType">
<el-select
v-model="deviceParams.devType"
allow-create
clearable
filterable
placeholder="请选择设备类型"
@ -35,7 +34,6 @@
<el-form-item label="所属边带" prop="bdId">
<el-select
v-model="deviceParams.bdId"
allow-create
clearable
filterable
placeholder="请选择所属边带"
@ -52,7 +50,6 @@
<el-form-item label="预警配置" prop="configId">
<el-select
v-model="deviceParams.configId"
allow-create
clearable
filterable
placeholder="请选择预警配置"
@ -69,7 +66,6 @@
<el-form-item label="设备状态" prop="devStatus">
<el-select
v-model="deviceParams.devStatus"
allow-create
clearable
filterable
placeholder="请选择设备状态"
@ -160,6 +156,7 @@ export default {
message: '请输入设备名称',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
devCode: [
{
@ -167,12 +164,13 @@ export default {
message: '请输入设备编码',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
bdId: [
{
required: true,
message: '请选择所属边带',
trigger: 'change',
trigger: 'blur',
},
],
configId: [
@ -205,6 +203,16 @@ export default {
}
},
methods: {
validateInput(rule, value, callback) {
const regex = /[!@#$%^&*()_,.?":{}|<>+\//\\]/g; //
if (!value) {
callback(new Error('输入不能为空'));
} else if (regex.test(value)) {
callback(new Error('输入不能包含特殊字符'));
} else {
callback(); //
}
},
/** 获取各类下拉框 */
async getRanges() {
//

View File

@ -1,8 +1,8 @@
export const formLabel = [
{ f_label: '工程名称', f_model: 'proName', f_type: 'ipt' },
{ f_label: '项目部名称', f_model: 'departName', f_type: 'ipt' },
{ f_label: '边代名称', f_model: 'devName', f_type: 'ipt' },
{ f_label: '边代编码', f_model: 'devCode', f_type: 'ipt' },
{ f_label: '工程名称', f_model: 'proName', f_type: 'ipt',f_flag: 1 },
{ f_label: '项目部名称', f_model: 'departName', f_type: 'ipt',f_flag: 1 },
{ f_label: '边代名称', f_model: 'devName', f_type: 'ipt',f_flag: 1 },
{ f_label: '边代编码', f_model: 'devCode', f_type: 'ipt',f_flag: 1},
]
export const columnsList = [

View File

@ -2,7 +2,94 @@
<!-- 工程管理页面 -->
<div class="app-container">
<!-- 表格 -->
<TableModelTwo
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px" :rules="rule">
<el-form-item prop="proName" label="工程名称" label-width="90px">
<el-input
v-model="queryParams.proName"
placeholder="请输入工程名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="departName" label="项目部名称" label-width="90px">
<el-input
v-model="queryParams.departName"
placeholder="请输入项目部名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="devName" label="边代名称" label-width="90px">
<el-input
v-model="queryParams.devName"
placeholder="请输入边代名称"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item prop="devCode" label="边代编码" label-width="90px">
<el-input
v-model="queryParams.devCode"
placeholder="请输入边代编码"
clearable
@keyup.enter.native="handleQuery"
maxlength="20"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="houseList" ref="multipleTable" row-key="id">
<!-- <el-table-column type="selection" width="55" align="center" :reserve-selection="true" /> -->
<el-table-column label="序号" align="center" width="90" type="index">
<template slot-scope="scope">
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="项目部名称" align="center" prop="departName" />
<el-table-column label="在用工程" align="center" prop="proName" />
<el-table-column label="所用区域" align="center" prop="areaName" />
<el-table-column label="边代名称" align="center" prop="devName" />
<el-table-column label="边代编码" align="center" prop="devCode" />
<el-table-column label="负责人" align="center" prop="devUser" />
<el-table-column label="负责人电话" align="center" prop="devUserPhone" >
<template slot-scope="scope">
<div>
{{ phoneCrypto(scope.row.devUserPhone) || '-'}}
</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="180">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleClick(scope.row)"
v-if="scope.row.proType === '2'"
>{{ scope.row.bindId ? '修改杆塔' : '绑定杆塔' }}</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- <TableModelTwo
:isShowHandle="true"
:formLabel="formLabel"
:columnsList="columnsList"
@ -21,7 +108,7 @@
>{{ data.bindId ? '修改杆塔' : '绑定杆塔' }}</el-button
>
</template>
</TableModelTwo>
</TableModelTwo> -->
<!-- 绑定弹框 -->
<el-dialog
@ -72,6 +159,35 @@ import {
export default {
name: 'EdgeDevice',
methods: {
validateInput(rule, value, callback) {
const regex = /[!@#$%^&*()_,.?":{}|<>+\//\\]/g; //
if (!value) {
callback(new Error('输入不能为空'));
} else if (regex.test(value)) {
callback(new Error('输入不能包含特殊字符'));
} else {
callback(); //
}
},
getList() {
this.loading = true;
queryEdgeDeviceListApiTwo(this.queryParams).then(response => {
this.houseList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
async handleClick(row) {
if (row.bindId) {
this.bindPowerForm.powerId = row.bindId
@ -106,11 +222,26 @@ export default {
mixins: [commonMixin],
components: {},
created() {},
created() {
this.getList();
},
data() {
return {
//
//
showSearch: true,
showHouse: false,
houseList:[],
formLabel,
total:0,
queryParams: {
pageNum: 1,
pageSize: 10,
proName: undefined,
departName: undefined,
devName: undefined,
devCode: undefined
},
// // id
// exportList: [],
//
@ -132,6 +263,41 @@ export default {
},
],
},
rule:{
proName: [
{
required: false,
message: '请输入工程名称',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
departName: [
{
required: false,
message: '请输入项目部名称',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
devName: [
{
required: false,
message: '请输入边代名称',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
devCode: [
{
required: false,
message: '请输入边代编码',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
}
//
}
},

View File

@ -103,8 +103,8 @@
>删除</el-button
>
</template>
<template slot="devName" slot-scope="{ data }">
<el-input :maxlength="50" v-model="data.devName" placeholder="请输入"></el-input>
<template slot="devName" slot-scope="{ data }" >
<el-input :maxlength="50" v-model="data.devName" placeholder="请输入" ></el-input>
</template>
<template slot="devCode" slot-scope="{ data }">
<el-input :maxlength="50" v-model="data.devCode" placeholder="请输入"></el-input>
@ -187,6 +187,7 @@ export default {
columnsListInsert,
open: false,
exportList: [],
flagAdd:0,
subSort: "", // 1 / 2
projectParams: {
departId: undefined, //
@ -200,14 +201,14 @@ export default {
{
required: true,
message: "请输入项目部名称",
trigger: "blur",
trigger: "change",
},
],
proId: [
{
required: true,
message: "请输入工程名称",
trigger: "blur",
trigger: "change",
},
],
relUser: [
@ -216,6 +217,7 @@ export default {
message: "请输入申请人",
trigger: "blur",
},
{ validator: this.validateInput, trigger: 'blur' }
],
relPhone: [
{ required: true, message: "联系方式不能为空", trigger: "blur" },
@ -236,6 +238,16 @@ export default {
};
},
methods: {
validateInput(rule, value, callback) {
const regex = /[!@#$%^&*()_,.?":{}|<>+\//\\]/g; //
if (!value) {
callback(new Error('输入不能为空'));
} else if (regex.test(value)) {
callback(new Error('输入不能包含特殊字符'));
} else {
callback(); //
}
},
/** 校验手机号 */
validatePhone(rule, value, callback) {
if (!this.phoneReg.test(value)) {
@ -367,11 +379,22 @@ export default {
});
return leaf;
},
/** 确认按钮 */
onSubmit() {
console.log(this.$refs.tableRef.tableList, this.projectParams);
this.$refs.projectParamsRef.validate(async (valid) => {
if (valid) {
let isEmpty = true
this.$refs.tableRef.tableList.forEach(item=>{
if (item.devName == '' || !item.devName || item.devCode == '' || !item.devCode || item.unitName == '' || !item.unitName
|| item.areaName == '' || !item.areaName ||item.devUser == '' || !item.devUser || item.devUserPhone == '' || !item.devUserPhone
) {
isEmpty = false;
console.log('isEmpty',isEmpty)
}
})
if(isEmpty){
this.projectParams.recordList = this.$refs.tableRef.tableList;
if (this.subSort === 1) {
let res = await addEdgeDeviceApi(this.projectParams);
@ -386,6 +409,10 @@ export default {
this.$emit("closeDialog", true);
}
}
}else {
this.$modal.msgError('请填写全部字段!!!')
}
}
});
},

View File

@ -129,6 +129,7 @@ export default {
message: '请输入姓名',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
idCard: [
{ required: true, message: "身份证号不能为空", trigger: "blur" },
@ -179,6 +180,16 @@ export default {
}
},
methods: {
validateInput(rule, value, callback) {
const regex = /[!@#$%^&*()_,.?":{}|<>+\//\\]/g; //
if (!value) {
callback(new Error('输入不能为空'));
} else if (regex.test(value)) {
callback(new Error('输入不能包含特殊字符'));
} else {
callback(); //
}
},
/** 获取各类下拉框 */
async getRanges() {
//

View File

@ -217,6 +217,7 @@ export default {
message: '请输入工程名称',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'change' }
],
departId: [
{
@ -333,6 +334,16 @@ export default {
}
},
methods: {
validateInput(rule, value, callback) {
const regex = /[!@#$%^&*()_,.?":{}|<>+\//\\]/g; //
if (!value) {
callback(new Error('输入不能为空'));
} else if (regex.test(value)) {
callback(new Error('输入不能包含特殊字符'));
} else {
callback(); //
}
},
/** 校验经纬 */
validateLonLat(rule, value, callback) {
if(!this.lonLatReg.test(value)) {

View File

@ -62,6 +62,16 @@ export default {
}
},
methods: {
validateInput(rule, value, callback) {
const regex = /[!@#$%^&*()_,.?":{}|<>+\//\\]/g; //
if (!value) {
callback(new Error('输入不能为空'));
} else if (regex.test(value)) {
callback(new Error('输入不能包含特殊字符'));
} else {
callback(); //
}
},
/** 校验经纬 */
validateLonLat(rule, value, callback) {
if(!this.lonLatReg.test(value)) {
@ -150,6 +160,7 @@ export default {
message: '请输入杆塔名称',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'change' }
],
lon: [
{ required: true, message: "杆塔经度不能为空", trigger: "blur" },

View File

@ -126,6 +126,7 @@ export default {
message: '请选择项目部名称',
trigger: 'change',
},
{ validator: this.validateInput, trigger: 'change' }
],
departType: [
{
@ -147,6 +148,7 @@ export default {
message: '请输入负责人',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
headUserPhone: [
{ required: true, message: "负责人电话不能为空", trigger: "blur" },
@ -154,7 +156,8 @@ export default {
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
}
},
{ validator: this.validateInput, trigger: 'blur' }
],
},
//
@ -166,6 +169,16 @@ export default {
}
},
methods: {
validateInput(rule, value, callback) {
const regex = /[!@#$%^&*()_,.?":{}|<>+\//\\]/g; //
if (!value) {
callback(new Error('输入不能为空'));
} else if (regex.test(value)) {
callback(new Error('输入不能包含特殊字符'));
} else {
callback(); //
}
},
/** 获取各类下拉框 */
async getRanges() {
//

View File

@ -321,6 +321,7 @@ export default {
message: '请输入配置名称',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
configVal1Min: [
{
@ -656,6 +657,7 @@ export default {
message: '请输入配置名称',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
configVal1Min: [
{
@ -731,6 +733,7 @@ export default {
message: '请输入配置名称',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
configVal1Min: [
{
@ -806,6 +809,7 @@ export default {
message: '请输入配置名称',
trigger: 'blur',
},
{ validator: this.validateInput, trigger: 'blur' }
],
configVal1Min: [
{
@ -1089,6 +1093,16 @@ export default {
// }
// },
/** 改变树结构 */
validateInput(rule, value, callback) {
const regex = /[!@#$%^&*()_,.?":{}|<>+\//\\]/g; //
if (!value) {
callback(new Error('输入不能为空'));
} else if (regex.test(value)) {
callback(new Error('输入不能包含特殊字符'));
} else {
callback(); //
}
},
changeTree(leaf) {
leaf.map(item => {
item.value = item.id

View File

@ -23,7 +23,13 @@
>
<template slot="btn" slot-scope="{ queryParams }">
<el-button type="primary" @click="handleAddData()" icon="el-icon-plus" size="mini"
>新增配置</el-button
>新增配置</el-button>
<el-button type="warning" @click="handleExportData(
exportList,
'base/tbWarnConfig/export',
'预警配置',
queryParams)" icon="el-icon-plus" size="mini"
>导出数据</el-button
>
</template>
<template slot="handle" slot-scope="{ data }">
@ -121,6 +127,9 @@ export default {
this.$refs.tableRef.queryTableList({
configuType: v.dictCode
})
},
handExport(){
}
},
mixins: [commonMixin],