283 lines
7.0 KiB
Vue
283 lines
7.0 KiB
Vue
|
<template>
|
|||
|
<div>
|
|||
|
<base-right-dialog
|
|||
|
ref="baseRightDialog"
|
|||
|
:footerShow="true"
|
|||
|
:dialogVisible.sync="dialogVisible"
|
|||
|
:title="dialogTitle + ' 消息管理日志'"
|
|||
|
@handleClose="handleDialogClose"
|
|||
|
:type="dialogType"
|
|||
|
:submitShow="submitShow"
|
|||
|
:size="'65%'"
|
|||
|
@handleConfirmClick="handleConfirmClick"
|
|||
|
>
|
|||
|
<base-form
|
|||
|
ref="basicsForm"
|
|||
|
:formRow="formRow"
|
|||
|
:isFunBtn="false"
|
|||
|
:rules="basicsRules"
|
|||
|
class="dialog_form"
|
|||
|
:spanWidth="`120px`"
|
|||
|
:loading="vLoading"
|
|||
|
style="padding-bottom:20px;"
|
|||
|
>
|
|||
|
<div slot="sourceData" class="code-json-editor">
|
|||
|
<vue-json-editor
|
|||
|
class="editor"
|
|||
|
v-model="sourceData"
|
|||
|
:showBtns="false"
|
|||
|
:mode="'code'"
|
|||
|
@json-change="onSourceDataJsonChange"
|
|||
|
@json-save="onSourceDataSave"
|
|||
|
@has-error="onSourceDataError"
|
|||
|
/>
|
|||
|
</div>
|
|||
|
<div slot="targetData" class="code-json-editor">
|
|||
|
<vue-json-editor
|
|||
|
class="editor"
|
|||
|
v-model="targetData"
|
|||
|
:showBtns="false"
|
|||
|
:mode="'code'"
|
|||
|
@json-change="onTargetDataChange"
|
|||
|
@json-save="onTargetDataSave"
|
|||
|
@has-error="onTargetDataError"
|
|||
|
/>
|
|||
|
</div>
|
|||
|
</base-form>
|
|||
|
</base-right-dialog>
|
|||
|
</div>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
import vueJsonEditor from "vue-json-editor";
|
|||
|
import baseRightDialog from "@/components/base/baseRightDialog";
|
|||
|
import baseForm from "@/components/base/baseNewForm";
|
|||
|
import baseTable from "@/components/base/baseTable";
|
|||
|
import configData from "./configData";
|
|||
|
import { authApi } from "@/api/apis/auth";
|
|||
|
import {getApiModuleApi} from "@/api/apiChunks/index.js";
|
|||
|
export default {
|
|||
|
components: {
|
|||
|
baseRightDialog,
|
|||
|
baseForm,
|
|||
|
baseTable,
|
|||
|
vueJsonEditor,
|
|||
|
},
|
|||
|
data() {
|
|||
|
return {
|
|||
|
dialogVisible: false,
|
|||
|
dialogTitle: "",
|
|||
|
dialogType: "",
|
|||
|
formRow: configData.formRow,
|
|||
|
basicsRules: configData.basicsRules,
|
|||
|
vLoading: false,
|
|||
|
submitShow: true,
|
|||
|
sourceData: {},
|
|||
|
sourceDataFlag: true,
|
|||
|
targetData: {},
|
|||
|
targetDataFlag: true,
|
|||
|
};
|
|||
|
},
|
|||
|
methods: {
|
|||
|
openDialog(type, row) {
|
|||
|
this.querysysAppService();
|
|||
|
// this.querysysAppApiService();
|
|||
|
this.formRow = configData.formRow;
|
|||
|
this.submitShow = true;
|
|||
|
// 编辑
|
|||
|
if (type == "edit") {
|
|||
|
this.dialogTitle = "编辑";
|
|||
|
this.dialogType = "edit";
|
|||
|
this.messageLogGetById(row.id);
|
|||
|
}
|
|||
|
// 查看
|
|||
|
if (type == "show") {
|
|||
|
this.submitShow = false;
|
|||
|
this.formRow = configData.formRowShow;
|
|||
|
this.dialogTitle = "查看";
|
|||
|
this.dialogType = "show";
|
|||
|
this.messageLogGetById(row.id);
|
|||
|
}
|
|||
|
this.dialogVisible = true;
|
|||
|
},
|
|||
|
// 编辑详情
|
|||
|
async messageLogGetById(id) {
|
|||
|
let params = {
|
|||
|
id: id,
|
|||
|
};
|
|||
|
let res = await authApi(
|
|||
|
"sysMessageManageLogService",
|
|||
|
"messageManage",
|
|||
|
"thirdInterfacequeryEntity",
|
|||
|
"",
|
|||
|
params
|
|||
|
);
|
|||
|
if (res.status == "200") {
|
|||
|
this.$nextTick(() => {
|
|||
|
this.$refs.basicsForm.incomingParameters(res.attribute);
|
|||
|
});
|
|||
|
}
|
|||
|
},
|
|||
|
// 实时保存 源数据
|
|||
|
onSourceDataJsonChange(value) {
|
|||
|
this.onSourceDataSave(value);
|
|||
|
},
|
|||
|
onSourceDataSave(value) {
|
|||
|
this.sourceData = value;
|
|||
|
this.sourceDataFlag = true;
|
|||
|
},
|
|||
|
onSourceDataError(value) {
|
|||
|
this.sourceDataFlag = false;
|
|||
|
},
|
|||
|
checkSourceDataJson() {
|
|||
|
if (this.sourceDataFlag === false) {
|
|||
|
return false;
|
|||
|
} else {
|
|||
|
return true;
|
|||
|
}
|
|||
|
},
|
|||
|
// 实时保存 目标数据
|
|||
|
onTargetDataChange(value) {
|
|||
|
this.onTargetDataSave(value);
|
|||
|
},
|
|||
|
onTargetDataSave(value) {
|
|||
|
this.targetData = value;
|
|||
|
this.targetDataFlag = true;
|
|||
|
},
|
|||
|
onTargetDataError(value) {
|
|||
|
this.targetDataFlag = false;
|
|||
|
},
|
|||
|
checkTargetDataJson() {
|
|||
|
if (this.targetDataFlag === false) {
|
|||
|
return false;
|
|||
|
} else {
|
|||
|
return true;
|
|||
|
}
|
|||
|
},
|
|||
|
// 弹窗关闭
|
|||
|
handleDialogClose() {
|
|||
|
this.$refs.basicsForm.resetFields();
|
|||
|
this.dialogVisible = false;
|
|||
|
},
|
|||
|
// 弹窗确认按钮
|
|||
|
handleConfirmClick() {
|
|||
|
let checkSource = this.checkSourceDataJson();
|
|||
|
if (!checkSource) {
|
|||
|
this.$vmNews("源数据格式应为JSON格式!", "warning");
|
|||
|
return;
|
|||
|
}
|
|||
|
let checkTarget = this.checkTargetDataJson();
|
|||
|
if (!checkTarget) {
|
|||
|
this.$vmNews("目标数据格式应为JSON格式!", "warning");
|
|||
|
return;
|
|||
|
}
|
|||
|
let params = {
|
|||
|
...this.$refs.basicsForm.ruleForm,
|
|||
|
sourceData: this.sourceData,
|
|||
|
targetData: this.targetData,
|
|||
|
};
|
|||
|
if (this.dialogType == "edit") {
|
|||
|
this.openLoading("submit");
|
|||
|
this.messageLogUpdateDto(params);
|
|||
|
}
|
|||
|
},
|
|||
|
// 编辑保存
|
|||
|
async messageLogUpdateDto(params) {
|
|||
|
let res = await authApi(
|
|||
|
"sysMessageManageLogService",
|
|||
|
"messageManage",
|
|||
|
"updateEntity",
|
|||
|
"",
|
|||
|
params
|
|||
|
);
|
|||
|
if (res.status == "200") {
|
|||
|
this.handleDialogClose();
|
|||
|
this.$vmNews("更新成功", "success");
|
|||
|
this.$emit("resetTable");
|
|||
|
}
|
|||
|
},
|
|||
|
// 应用
|
|||
|
async querysysAppService() {
|
|||
|
const res = await getApiModuleApi({
|
|||
|
tl: "sysApplicationService",
|
|||
|
as: "application",
|
|||
|
dj: "thirdInterfacequeryApp"
|
|||
|
}, {
|
|||
|
"pageNum": 1,
|
|||
|
"pageSize": 999
|
|||
|
})
|
|||
|
this.formRow[0].elCol[0].options = res.attribute.list
|
|||
|
// if (res.status == "200") {
|
|||
|
// this.formRow[1].elCol[0].options = res.attribute.list;
|
|||
|
// this.formRow[2].elCol[0].options = res.attribute.list;
|
|||
|
// }
|
|||
|
},
|
|||
|
// 应用者
|
|||
|
async querysysAppApiService() {
|
|||
|
let params = {
|
|||
|
pageSize: 9999,
|
|||
|
pageNum: 1,
|
|||
|
};
|
|||
|
let res = await authApi(
|
|||
|
"appApiService",
|
|||
|
"appApi",
|
|||
|
"queryPage",
|
|||
|
"",
|
|||
|
params
|
|||
|
);
|
|||
|
if (res.status == "200") {
|
|||
|
// this.formRow[1].elCol[1].options = res.attribute.list;
|
|||
|
// this.formRow[2].elCol[1].options = res.attribute.list;
|
|||
|
}
|
|||
|
},
|
|||
|
},
|
|||
|
};
|
|||
|
</script>
|
|||
|
<style lang="less" scoped>
|
|||
|
.code-json-editor {
|
|||
|
/* jsoneditor右上角默认有一个链接,加css去掉 */
|
|||
|
/deep/ .jsoneditor-poweredBy {
|
|||
|
display: none !important;
|
|||
|
}
|
|||
|
/deep/ .ace-jsoneditor {
|
|||
|
height: 150px !important;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
</style>
|
|||
|
<style scoped lang="scss">
|
|||
|
::v-deep textarea.el-textarea__inner {
|
|||
|
min-height: 150px !important;
|
|||
|
}
|
|||
|
.dialogList {
|
|||
|
padding: 16px 0;
|
|||
|
border-top: 1px solid #dcdfe6;
|
|||
|
display: flex;
|
|||
|
flex-direction: column;
|
|||
|
}
|
|||
|
|
|||
|
.updateBtn {
|
|||
|
border: 1px solid #ebedf1;
|
|||
|
padding: 5px 0;
|
|||
|
border-radius: 3px;
|
|||
|
text-align: center;
|
|||
|
font-size: 14px;
|
|||
|
cursor: pointer;
|
|||
|
width: 100px;
|
|||
|
}
|
|||
|
|
|||
|
.updateBtn:hover {
|
|||
|
color: #1890ff;
|
|||
|
border-color: #badeff;
|
|||
|
background-color: #e8f4ff;
|
|||
|
}
|
|||
|
|
|||
|
::v-deep .el-table__body-wrapper.is-scrolling-none {
|
|||
|
height: auto !important;
|
|||
|
}
|
|||
|
|
|||
|
::v-deep .app-container {
|
|||
|
height: auto !important;
|
|||
|
}
|
|||
|
</style>
|