jc1.0
fanluyan 1 year ago
parent 38c547c00c
commit cedfc24822

@ -739,3 +739,58 @@ export function delFieldConfigApi(data) {
data,
});
}
//查询导出类型配置
export function listConfigApi(data) {
return request({
url: "/i2sync/listConfig",
method: "get",
params: data,
headers: {
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
},
});
}
//新增到类型
export function addConfigApi(data) {
return request({
url: "/i2sync/addConfig",
method: "post",
data,
});
}
//删除导出类型
export function delConfigApi(data) {
return request({
url: "/i2sync/delConfig",
method: "post",
data,
});
}
//预览导出类型
export function prewXmlApi(data) {
return request({
url: "/i2sync/prewXml",
method: "get",
params: data,
headers: {
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
},
});
}
//查询导出记录
export function listRecordApi(data) {
return request({
url: "/i2sync/listRecord",
method: "get",
params: data,
headers: {
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
},
});
}

@ -0,0 +1,188 @@
<template>
<div class="configAddBox">
<el-dialog
class="AddDialogBox"
:title="title"
:visible.sync="configDialogshow"
width="520px"
:close-on-click-modal="false"
>
<div class="configInfo">
<el-form
label-position="left"
ref="formInfo"
label-width="104px"
:rules="rules"
:model="formInfo"
>
<el-form-item label="监测设备类型:">
<el-select
v-model="formInfo.jcsbType"
@change="changeJg"
:disabled="title == '修改'"
>
<el-option
v-for="item in jcsbOptions"
:key="item.id"
:label="item.mc + '(' + item.tablename + ')'"
:value="item.id"
>
{{ item.mc + "(" + item.tablename + ")" }}
</el-option>
</el-select>
</el-form-item>
</el-form>
<div class="prewInfo" v-loading="warnLoading">
<div class="prewclass">
{{ prewData }}
</div>
<div class="warnmsg">
<el-tag type="warning" v-if="warnMsg !== ''">{{ warnMsg }}</el-tag>
</div>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="hide"> </el-button>
<el-button type="primary" @click="submitForm()"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
modevtypeListAllApi,
addConfigApi,
prewXmlApi,
} from "@/utils/api/index";
export default {
props: ["title"],
data() {
return {
configDialogshow: false,
formInfo: {
jcsbType: "",
},
rules: {},
jcsbOptions: [],
selectTableName: "",
mc: "",
warnMsg: "",
prewData: "",
warnLoading: false,
};
},
created() {},
mounted() {
// selected value
},
watch: {},
methods: {
submitForm() {
this.$refs.formInfo.validate((valid) => {
if (valid) {
if (this.title == "新增导出类型") {
addConfigApi({ modevtypeId: this.formInfo.jcsbType })
.then((res) => {
if (res.success) {
this.$message({
duration: 1500,
showClose: true,
message: "添加成功",
type: "success",
});
this.hide();
this.$parent.getconfigList(); //
} else {
this.$message({
duration: 1500,
showClose: true,
message: res.errorMsg,
type: "error",
});
}
})
.catch((err) => {});
}
} else {
console.log("error submit!!");
return false;
}
});
},
//
getjcsbListAll() {
modevtypeListAllApi()
.then((res) => {
console.log(res);
this.jcsbOptions = res.data;
console.log(this.title);
if (this.title == "新增导出类型") {
console.log(this.formInfo);
this.formInfo.jcsbType = this.jcsbOptions[0].id;
this.selectTableName = this.jcsbOptions[0].tablename;
this.mc = this.jcsbOptions[0].mc;
this.prewFun();
}
})
.catch((err) => {
console.log(err); //
});
},
prewFun() {
this.warnLoading = true;
prewXmlApi({ tablename: this.selectTableName })
.then((res) => {
console.log(res);
this.prewData = res.data;
this.warnMsg = res.warnMsg;
this.warnLoading = false;
})
.catch((err) => {
console.log(err); //
});
},
//tablename
changeJg(val) {
console.log(val);
let selectedOption = this.jcsbOptions.find((item) => item.id === val);
if (selectedOption) {
// 访 tablename
this.selectTableName = selectedOption.tablename;
this.mc = selectedOption.mc;
console.log(this.selectTableName); // 使 tablename
this.prewFun();
}
},
display() {
this.configDialogshow = true;
this.getjcsbListAll();
},
hide() {
this.configDialogshow = false;
this.prewData = "";
this.warnMsg = "";
this.$refs.formInfo.resetFields(); //
},
},
};
</script>
<style lang="less">
.configAddBox {
.AddDialogBox {
.el-select {
width: 376px;
}
.configInfo {
.prewInfo {
overflow: auto;
height: 300px;
.warnmsg {
margin-top: 24px;
font-size: 14px;
}
}
}
}
}
</style>

@ -4,24 +4,106 @@
<h3>导出类型</h3>
</div>
<div class="page-body">
<el-button type="primary" icon="el-icon-plus">添加主设备</el-button>
<div class="zsbTableBox"></div>
<el-button type="primary" icon="el-icon-plus" @click="handleAddClick"
>添加导出类型</el-button
>
<div class="zsbTableBox">
<el-table :data="configData" style="width: 100%">
<el-table-column label="类型名称" prop="typeName"> </el-table-column>
<el-table-column label="表名" prop="tableName"> </el-table-column>
<el-table-column label="时间" prop="createTime">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="操作" class-name="editClass">
<template slot-scope="scope">
<el-link
type="danger"
@click="handleDeleteClick(scope.row)"
size="small"
icon="el-icon-delete"
>删除</el-link
>
</template>
</el-table-column>
</el-table>
</div>
</div>
<addconfigDialog ref="configAddRef" :title="title"></addconfigDialog>
</div>
</template>
<script>
//import { zsbDeleteApi, zsbListAllApi } from "@/utils/api/index";
// import addzsbDialog from "./components/addzsbDialog";
import { listConfigApi, delConfigApi } from "@/utils/api/index";
import addconfigDialog from "./components/addconfigDialog";
export default {
name: "exportType",
components: {},
components: {
addconfigDialog,
},
data() {
return {};
return {
configLoading: false,
configData: [],
title: "",
};
},
created() {
this.getconfigList();
},
created() {},
mounted() {},
watch: {},
methods: {},
methods: {
getconfigList() {
this.configLoading = true;
listConfigApi()
.then((res) => {
console.log(res);
this.configData = res.data;
this.configLoading = false;
})
.catch((err) => {
console.log(err); //
});
},
//
handleDeleteClick(data) {
console.log(data);
this.$confirm("确定要删除记录吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
delConfigApi({ id: data.id, modevtypeId: data.modevtypeId }).then(
(res) => {
if (res.success) {
this.$message({
duration: 1500,
showClose: true,
type: "success",
message: "删除成功",
});
this.getconfigList(); //
} else {
this.$message({
duration: 1500,
showClose: true,
type: "error",
message: res.errorMsg,
});
}
}
);
})
.catch(() => {});
},
//
handleAddClick() {
this.title = "新增导出类型";
this.$refs.configAddRef.display();
},
},
};
</script>
<style lang="less">

@ -15,7 +15,7 @@
:rules="rules"
:model="formInfo"
>
<el-form-item label="设备类型:">
<el-form-item label="监测设备类型:">
<el-select
v-model="formInfo.jcsbType"
@change="changeJg"
@ -24,9 +24,11 @@
<el-option
v-for="item in jcsbOptions"
:key="item.id"
:label="item.mc"
:label="item.mc + '(' + item.tablename + ')'"
:value="item.id"
></el-option>
>
{{ item.mc + "(" + item.tablename + ")" }}
</el-option>
</el-select>
</el-form-item>
</el-form>

@ -27,7 +27,7 @@
<el-table-column label="名称" prop="mc"> </el-table-column>
<el-table-column label="表名" prop="tablename"> </el-table-column>
<el-table-column label="字段映射个数" prop="i2syncFields">
<el-table-column label="字段导出个数" prop="i2syncFields">
<template slot-scope="scope">
<span>{{ scope.row.i2syncFields.length }}</span>
</template>

@ -1,31 +1,123 @@
<template>
<div class="filedBox">
<div class="recordBox">
<div class="reportHead">
<h3>导出记录</h3>
</div>
<div class="page-body">
<el-button type="primary" icon="el-icon-plus">添加主设备</el-button>
<div class="zsbTableBox"></div>
<div class="title">
<span>监测设备类型</span>
<el-select v-model="jcsbType" @change="changeJg">
<el-option
v-for="item in jcsbOptions"
:key="item.id"
:label="item.mc + '(' + item.tablename + ')'"
:value="item.id"
>
{{ item.mc + "(" + item.tablename + ")" }}
</el-option>
</el-select>
</div>
<div class="zsbTableBox">
<el-table
:data="recordData"
style="width: 100%"
height="calc(100% - 0px)"
v-loading="recordLoading"
>
<el-table-column label="名称" prop="name">
<template slot-scope="scope">
<span>{{ scope.row.sensor.name }}</span>
</template>
</el-table-column>
<el-table-column label="被监测设备标识" prop="equipmentId">
<template slot-scope="scope">
<span>{{ scope.row.sensor.equipmentId }}</span>
</template>
</el-table-column>
<el-table-column label="监测装置标识" prop="sensorCode">
<template slot-scope="scope">
<span>{{ scope.row.sensor.sensorCode }}</span>
</template>
</el-table-column>
<el-table-column label="最后导出时间" prop="lastDTime">
<template slot-scope="scope">
<span>{{ scope.row.lastDTime }}</span>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
</template>
<script>
//import { zsbDeleteApi, zsbListAllApi } from "@/utils/api/index";
import { modevtypeListAllApi, listRecordApi } from "@/utils/api/index";
// import addzsbDialog from "./components/addzsbDialog";
export default {
name: "record",
components: {},
data() {
return {};
return {
jcsbType: "",
jcsbOptions: [{ id: -1, mc: "全部", tablename: "all" }],
selectTableName: "",
recordData: [],
recordLoading: false,
};
},
created() {
this.getjcsbListAll();
},
created() {},
mounted() {},
watch: {},
methods: {},
methods: {
getjcsbListAll() {
modevtypeListAllApi()
.then((res) => {
console.log(res);
this.jcsbOptions = this.jcsbOptions.concat(res.data);
this.jcsbType = this.jcsbOptions[0].id;
this.selectTableName = this.jcsbOptions[0].tablename;
this.exportFun();
})
.catch((err) => {
console.log(err); //
});
},
//tablename
changeJg(val) {
console.log(val);
let selectedOption = this.jcsbOptions.find((item) => item.id === val);
if (selectedOption) {
// 访 tablename
this.selectTableName = selectedOption.tablename;
console.log(this.selectTableName); // 使 tablename
this.exportFun();
}
},
exportFun() {
let params = {};
if (this.jcsbType !== -1) {
params.modevtypeId = this.jcsbType;
}
this.recordLoading = true;
listRecordApi(params)
.then((res) => {
console.log(res);
this.recordData = res.data;
this.recordLoading = false;
})
.catch((err) => {
console.log(err); //
});
},
},
};
</script>
<style lang="less">
.zsbBox {
.recordBox {
width: 100%;
height: 100%;
.page-body {
@ -33,6 +125,14 @@ export default {
height: calc(100% - 74px);
padding: 12px;
background: #eee;
.title {
display: flex;
align-items: center;
span {
color: #000;
font-size: 14px;
}
}
.zsbTableBox {
margin-top: 8px;
height: calc(100% - 38px);

Loading…
Cancel
Save