主数据配置
This commit is contained in:
parent
1bff1e9b6e
commit
1f1e28ff6f
|
@ -0,0 +1 @@
|
||||||
|
<svg t="1718845590777" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4246" width="200" height="200"><path d="M819.9 472.9L675 723.9l1.7 99.4 86.9-48.3 144.9-251-88.6-51.1zM871.1 384.3L837 443.4l88.6 51.1 34.1-59.1-88.6-51.1zM544.3 703h-288c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zM256.3 511c-17.7 0-32 14.3-32 32s14.3 32 32 32h384c17.7 0 32-14.3 32-32s-14.3-32-32-32h-384zM256.3 319c-17.7 0-32 14.3-32 32s14.3 32 32 32h384c17.7 0 32-14.3 32-32s-14.3-32-32-32h-384zM288 64h64v160h-64zM384 128h128v64H384zM544 64h64v160h-64z" p-id="4247" ></path><path d="M768 864c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32h96v-64h-96c-53 0-96 43-96 96v640c0 53 43 96 96 96h576c53 0 96-43 96-96V686.7L768 798v66zM832 224c0-53-43-96-96-96h-96v64h96c17.7 0 32 14.3 32 32v311l64-111.3V224z" p-id="4248"></path></svg>
|
After Width: | Height: | Size: 907 B |
|
@ -106,7 +106,7 @@ const permission = {
|
||||||
{
|
{
|
||||||
path: 'dataOrigin',
|
path: 'dataOrigin',
|
||||||
component: () => import('@/views/masterDataOptions/dataOrigin'),
|
component: () => import('@/views/masterDataOptions/dataOrigin'),
|
||||||
name: 'dataOrigin',
|
name: 'masterDataEdit',
|
||||||
hidden: true,
|
hidden: true,
|
||||||
meta: {
|
meta: {
|
||||||
title: '',
|
title: '',
|
||||||
|
@ -141,7 +141,16 @@ const permission = {
|
||||||
title: '',
|
title: '',
|
||||||
hidden: true
|
hidden: true
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'logsDeatil',
|
||||||
|
name: 'logsDeatil',
|
||||||
|
component: () => import('@/views/masterDataOptions/logsDeatil'),
|
||||||
|
meta: {
|
||||||
|
title: '',
|
||||||
|
hidden: true
|
||||||
}
|
}
|
||||||
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -74,6 +74,33 @@ const addForm = [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: "select",
|
||||||
|
title: "系统类型",
|
||||||
|
id: "appType",
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
id: "1",
|
||||||
|
label: "致远OA",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "2",
|
||||||
|
label: "用友U8C",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "3",
|
||||||
|
label: "用友BIP",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
fontSize: 16,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
elCol: [
|
elCol: [
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,21 +3,6 @@
|
||||||
<div class="menu">
|
<div class="menu">
|
||||||
<div class="appInfo">
|
<div class="appInfo">
|
||||||
<div class="img">
|
<div class="img">
|
||||||
<!-- <template v-if="name==='中台'">
|
|
||||||
<img src="./images/1.png" alt="" style="width: 64px; height: 64px"/>
|
|
||||||
</template>
|
|
||||||
<template v-else-if="name==='U8C'">
|
|
||||||
<img src="./images/2.png" alt="" style="width: 64px; height: 64px"/>
|
|
||||||
</template>
|
|
||||||
<template v-else-if="name==='U8'">
|
|
||||||
<img src="./images/3.png" alt="" style="width: 64px; height: 64px"/>
|
|
||||||
</template>
|
|
||||||
<template v-else-if="name==='BIP'">
|
|
||||||
<img src="./images/4.png" alt="" style="width: 64px; height: 64px"/>
|
|
||||||
</template>
|
|
||||||
<template v-else-if="name==='ERP'">
|
|
||||||
<img src="./images/5.png" alt="" />
|
|
||||||
</template> -->
|
|
||||||
<template>
|
<template>
|
||||||
<img :src="imgUrl" alt="" @error="handleImageError" style="width: 64px;"/>
|
<img :src="imgUrl" alt="" @error="handleImageError" style="width: 64px;"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -54,6 +54,9 @@
|
||||||
:tableHeight="'67vh'"
|
:tableHeight="'67vh'"
|
||||||
:border="false"
|
:border="false"
|
||||||
>
|
>
|
||||||
|
<template #data_status="{row}">
|
||||||
|
{{ data_status_dist[row.data_status] }}
|
||||||
|
</template>
|
||||||
</BaseTable>
|
</BaseTable>
|
||||||
<div class="nextPage">
|
<div class="nextPage">
|
||||||
<BasePage
|
<BasePage
|
||||||
|
@ -102,21 +105,61 @@
|
||||||
</template>
|
</template>
|
||||||
</baseDialog>
|
</baseDialog>
|
||||||
<!-- 分发任务dialog-->
|
<!-- 分发任务dialog-->
|
||||||
<baseDialog v-model="sendShow" :footerShow="false">
|
<baseDialog width="30%" v-model="sendShow" :footerShow="false" title="分发任务">
|
||||||
<baseTable
|
<div class="sendBox">
|
||||||
:tableData="sendTableData"
|
<div class="chunk" style="display: flex;align-items: center;margin: 20px 0;font-size: 16px">
|
||||||
:tableColumn="sendTableColumn"
|
<div class="title">分发</div>
|
||||||
|
<div class="value" style="margin-left: 20px">
|
||||||
|
<el-select
|
||||||
|
v-model="sendCheckboxList"
|
||||||
|
placeholder="请选择"
|
||||||
>
|
>
|
||||||
<template v-slot:status="{row}">
|
<el-option
|
||||||
{{ sendDist[row.status] }}
|
v-for="item in sendTableData"
|
||||||
</template>
|
:key="item.id"
|
||||||
<template v-slot:fun="{row}">
|
:label="item.name"
|
||||||
<el-button v-if="row.status === '1'||row.status === '2'" type="danger" @click="sendRowHandle(row)">删除
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="chunk" style="display: flex;align-items: center;font-size: 16px">
|
||||||
|
<div class="title">类型</div>
|
||||||
|
<div class="value" style="margin-left: 20px">
|
||||||
|
<el-select
|
||||||
|
v-model="sendCheckboxType"
|
||||||
|
placeholder="请选择"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in sendTableTypeOptions"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="btn" style="display: flex;justify-content: flex-end">
|
||||||
|
<el-button type="primary" @click="sendRowHandle()">下发
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-if="row.status === '3'||row.status === '4'" type="primary" @click="sendRowHandle(row)">下发
|
</div>
|
||||||
</el-button>
|
</div>
|
||||||
</template>
|
<!-- <baseTable-->
|
||||||
</baseTable>
|
<!-- :tableData="sendTableData"-->
|
||||||
|
<!-- :tableColumn="sendTableColumn"-->
|
||||||
|
<!-- >-->
|
||||||
|
<!-- <template v-slot:status="{row}">-->
|
||||||
|
<!-- {{ sendDist[row.status] }}-->
|
||||||
|
<!-- </template>-->
|
||||||
|
<!-- <template v-slot:fun="{row}">-->
|
||||||
|
<!-- <el-button v-if="row.status === '1'||row.status === '2'" type="danger" @click="sendRowHandle(row)">删除-->
|
||||||
|
<!-- </el-button>-->
|
||||||
|
<!-- <el-button v-if="row.status === '3'||row.status === '4'" type="primary" @click="sendRowHandle(row)">下发-->
|
||||||
|
<!-- </el-button>-->
|
||||||
|
<!-- </template>-->
|
||||||
|
<!-- </baseTable>-->
|
||||||
</baseDialog>
|
</baseDialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -232,7 +275,29 @@ export default {
|
||||||
},
|
},
|
||||||
treeData: [],
|
treeData: [],
|
||||||
treeActiveRow: {},
|
treeActiveRow: {},
|
||||||
treeSelectInfo: {}
|
treeSelectInfo: {},
|
||||||
|
data_status_dist: {
|
||||||
|
'Y': '正常',
|
||||||
|
'F': '修改',
|
||||||
|
'N': '删除'
|
||||||
|
},
|
||||||
|
sendCheckboxList: '',//下发弹窗分发
|
||||||
|
sendCheckboxType: '',
|
||||||
|
sendTableTypeOptions: [
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
name: '新增'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
name: '修改'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
name: '删除'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rowId: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -704,7 +769,7 @@ export default {
|
||||||
}
|
}
|
||||||
this.dialogTabaleInfo.push({ ...tempObj })
|
this.dialogTabaleInfo.push({ ...tempObj })
|
||||||
})
|
})
|
||||||
console.log(this.dialogTabaleInfo,'dialogTabaleInfo')
|
console.log(this.dialogTabaleInfo, 'dialogTabaleInfo')
|
||||||
//初始化数据
|
//初始化数据
|
||||||
const data = await getUserModuleApi({
|
const data = await getUserModuleApi({
|
||||||
tl: 'mdmService',
|
tl: 'mdmService',
|
||||||
|
@ -720,7 +785,7 @@ export default {
|
||||||
table.tableData = []
|
table.tableData = []
|
||||||
table.tableData = data.attribute[table.name] || []
|
table.tableData = data.attribute[table.name] || []
|
||||||
})
|
})
|
||||||
console.log(this.dialogTabaleInfo,'dialogTabaleInfo')
|
console.log(this.dialogTabaleInfo, 'dialogTabaleInfo')
|
||||||
}
|
}
|
||||||
this.dialogShow = true
|
this.dialogShow = true
|
||||||
}
|
}
|
||||||
|
@ -770,19 +835,25 @@ export default {
|
||||||
},
|
},
|
||||||
//下发方法
|
//下发方法
|
||||||
async sendHandle(id) {
|
async sendHandle(id) {
|
||||||
|
console.log(id)
|
||||||
const res = await getUserModuleApi({
|
const res = await getUserModuleApi({
|
||||||
tl: 'mdmService',
|
tl: 'mdmModuleService',
|
||||||
as: 'mdmService',
|
as: '',
|
||||||
dj: 'queryMdmShowDistribute'
|
dj: 'queryMdmDistributeByMdmCode'
|
||||||
}, {
|
}, {
|
||||||
mdmCode: this.$route.meta.mdmCode,
|
mdmCode: this.$route.meta.mdmCode,
|
||||||
id: id
|
'enabledState': '1',//固定值
|
||||||
|
'enabledType': '0'//固定值
|
||||||
})
|
})
|
||||||
this.sendTableData = res.attribute
|
this.sendTableData = res.attribute
|
||||||
|
console.log(this.sendTableData, 'this.sendTableData')
|
||||||
this.sendTableData.forEach(item => {
|
this.sendTableData.forEach(item => {
|
||||||
this.$set(item, 'rowId', id)
|
this.$set(item, 'rowId', id)
|
||||||
this.appSearch(item.appId, item)
|
this.appSearch(item.appId, item)
|
||||||
})
|
})
|
||||||
|
this.rowId = id
|
||||||
|
this.sendCheckboxType=''
|
||||||
|
this.sendCheckboxList=''
|
||||||
this.sendShow = true
|
this.sendShow = true
|
||||||
},
|
},
|
||||||
//应用名查找
|
//应用名查找
|
||||||
|
@ -798,24 +869,28 @@ export default {
|
||||||
},
|
},
|
||||||
//下发dialog行按钮
|
//下发dialog行按钮
|
||||||
async sendRowHandle(row) {
|
async sendRowHandle(row) {
|
||||||
let status = row.status === '1' ? 1 : 2
|
// let status = row.status === '1' ? 1 : 2
|
||||||
if (row.status === '2') {
|
// if (row.status === '2') {
|
||||||
this.$vmNews('发送中,请等待发送完成,再删除', 'warning')
|
// this.$vmNews('发送中,请等待发送完成,再删除', 'warning')
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
console.log(row)
|
// console.log(row)
|
||||||
const res = await getUserModuleApi({
|
const res = await getUserModuleApi({
|
||||||
tl: 'mdmService',
|
tl: 'mdmService',
|
||||||
as: 'mdmService',
|
as: '',
|
||||||
dj: 'doMdmDistribute'
|
dj: 'doMdmDistribute'
|
||||||
}, {
|
}, {
|
||||||
mdmCode: this.$route.meta.mdmCode,
|
mdmCode: this.$route.meta.mdmCode,
|
||||||
appID: row.appId,
|
id: this.rowId,
|
||||||
id: row.rowId,
|
distributeId: this.sendCheckboxList,
|
||||||
dataType: status
|
type: this.sendCheckboxType
|
||||||
})
|
})
|
||||||
this.$vmNews(`${res.msg}`, 'success')
|
this.$vmNews(`${res.msg}`, 'success')
|
||||||
this.sendHandle(row.rowId)
|
this.sendCheckboxList = ''
|
||||||
|
this.sendCheckboxType = ''
|
||||||
|
this.sendShow = false
|
||||||
|
this.rowId = ''
|
||||||
|
// this.sendHandle(row.rowId)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
|
@ -1,46 +1,38 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="wrap">
|
<div class="wrap">
|
||||||
<div class="btn">
|
|
||||||
<div class="chunk">
|
|
||||||
<el-button
|
|
||||||
icon="el-icon-back"
|
|
||||||
@click="
|
|
||||||
$router.replace({ path: '/integrationOption/masterDataOptions' })
|
|
||||||
"
|
|
||||||
>返回
|
|
||||||
</el-button
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
<div class="chunk">
|
|
||||||
<el-button
|
|
||||||
icon="el-icon-first-aid-kit"
|
|
||||||
type="primary"
|
|
||||||
@click="saveHandle"
|
|
||||||
:loading="saveLoading"
|
|
||||||
>保存
|
|
||||||
</el-button
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="main" v-loading="mainLoading">
|
<div class="main" v-loading="mainLoading">
|
||||||
<baseTable :tableData="tableData" :tabLoading="tabLoading"
|
<baseTable :tableData="tableData" :tabLoading="tabLoading"
|
||||||
:funData="funData"
|
|
||||||
@onFunc="onFunc"
|
:tableColumn="tableColumn" :border="false"
|
||||||
:tableColumn="tableColumn" :border="false">
|
>
|
||||||
<template #roleId="{row}">
|
<!-- 来源类型-->
|
||||||
<el-select v-model="row['roleId']" placeholder="请选择" style="width: 80%">
|
<template #sourceType="{row}">
|
||||||
<el-option
|
{{ row.sourceType == 1 ? '插件' : 'api' }}
|
||||||
v-for="item in options"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.value">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</template>
|
</template>
|
||||||
<template #checkBox="{row}">
|
<!-- 触发类型-->
|
||||||
<el-checkbox v-model="row[item.buttonType]" v-for="item in checkArr"
|
<template #triggerType="{row}">
|
||||||
:label="item.buttonType" :key="item.buttonType">{{ item.buttonName }}
|
{{ row.triggerType == 0 ? '手动' : '自动' }}
|
||||||
</el-checkbox>
|
</template>
|
||||||
|
<!-- 启用/停用-->
|
||||||
|
<template #enabledState="{row}">
|
||||||
|
<el-switch
|
||||||
|
:disabled="true"
|
||||||
|
v-model="row.enabledState"
|
||||||
|
active-value="1"
|
||||||
|
inactive-value="0"
|
||||||
|
>
|
||||||
|
</el-switch>
|
||||||
|
</template>
|
||||||
|
<!-- 操作-->
|
||||||
|
<template #operation="{row}">
|
||||||
|
<div class="btnList">
|
||||||
|
<div class="settingBtn" @click="sonTableEditHandle(row)">
|
||||||
|
<img src="./images/设置.png" alt="">
|
||||||
|
</div>
|
||||||
|
<div class="deleBtn" @click="activedOnFunc(row)">
|
||||||
|
<img src="./images/删除.png" alt="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</baseTable>
|
</baseTable>
|
||||||
<div class="receiptsAddRow">
|
<div class="receiptsAddRow">
|
||||||
|
@ -53,30 +45,39 @@
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<baseRightDialog ref="settingForm"
|
||||||
|
:footerShow="true"
|
||||||
|
:dialogVisible.sync="settingFormShow"
|
||||||
|
title="数据来源"
|
||||||
|
@handleClose="settingFormShow=false"
|
||||||
|
:submitShow="true"
|
||||||
|
:size="'50%'"
|
||||||
|
@handleConfirmClick="sonTableSaveHandle"
|
||||||
|
|
||||||
|
>
|
||||||
|
<settingForm ref="settingForm" v-if="settingFormShow" @saveSuccessHandle="saveSuccessHandle"></settingForm>
|
||||||
|
</baseRightDialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import baseNewSelect from "@/views/applicationList/com/baseNewSelect.vue";
|
import settingForm from './settingForm.vue'
|
||||||
import baseDialog from "@/views/integrationOption/compoments/baseDialog";
|
import baseRightDialog from '@/components/base/baseRightDialog/index.vue'
|
||||||
import BaseTable from "@/views/intergrationTask/compoments/baseTable.vue";
|
import baseNewSelect from '@/views/applicationList/com/baseNewSelect.vue'
|
||||||
import baseNewForm from "@/views/intergrationTask/compoments/baseNewForm";
|
import baseDialog from '@/views/integrationOption/compoments/baseDialog'
|
||||||
import {getApiModuleApi} from "@/api/apiChunks";
|
import BaseTable from '@/views/intergrationTask/compoments/baseTable.vue'
|
||||||
import {deepClone} from "@/utils/index.js";
|
import baseNewForm from '@/views/intergrationTask/compoments/baseNewForm'
|
||||||
import {getUserModuleApi} from "@/api/integrationOption/integrationOption";
|
import { getApiModuleApi } from '@/api/apiChunks'
|
||||||
import basePage from "@/views/intergrationTask/compoments/basePage.vue";
|
import { deepClone } from '@/utils/index.js'
|
||||||
|
import { getUserModuleApi } from '@/api/integrationOption/integrationOption'
|
||||||
|
import basePage from '@/views/intergrationTask/compoments/basePage.vue'
|
||||||
|
import { authApi } from '@/api/apis/auth'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
mainLoading: false,
|
mainLoading: false,
|
||||||
saveLoading: false,
|
saveLoading: false,
|
||||||
funData: [
|
|
||||||
{
|
|
||||||
text: "删除",
|
|
||||||
color: "red"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
options: [],
|
options: [],
|
||||||
// 角色字典
|
// 角色字典
|
||||||
roleDist: {},
|
roleDist: {},
|
||||||
|
@ -84,115 +85,154 @@ export default {
|
||||||
tabLoading: false,
|
tabLoading: false,
|
||||||
tableColumn: [
|
tableColumn: [
|
||||||
{
|
{
|
||||||
title: "角色名称",
|
title: '来源类型',
|
||||||
id: "roleId",
|
id: 'sourceType'
|
||||||
width: 300,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "按钮权限配置",
|
title: '来源应用',
|
||||||
id: "checkBox",
|
id: 'appName'
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
title: '触发类型',
|
||||||
|
id: 'triggerType'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '来源编码',
|
||||||
|
id: 'sourceCodeName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '新增接口',
|
||||||
|
id: 'addName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '修改接口',
|
||||||
|
id: 'updateName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '删除接口',
|
||||||
|
id: 'deleteName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '启用/停用',
|
||||||
|
id: 'enabledState'
|
||||||
|
},
|
||||||
|
{ title: '操作', id: 'operation' }
|
||||||
],
|
],
|
||||||
tableData: [],
|
tableData: [],
|
||||||
pageModel: {
|
pageModel: {
|
||||||
pageIndex: 1,
|
pageIndex: 1,
|
||||||
total: 10,
|
total: 10,
|
||||||
limit: 10,
|
limit: 10
|
||||||
},
|
},
|
||||||
addRole: "",
|
addRole: '',
|
||||||
checkArrDist: {
|
settingFormShow: false,
|
||||||
new: {
|
serviceOptions: []
|
||||||
buttonName: "新建",
|
}
|
||||||
buttonType: "new"
|
|
||||||
},
|
|
||||||
contrast: {
|
|
||||||
buttonName: "档案对照",
|
|
||||||
buttonType: "contrast"
|
|
||||||
},
|
|
||||||
resize: {
|
|
||||||
buttonName: "重置",
|
|
||||||
buttonType: "resize"
|
|
||||||
},
|
|
||||||
search: {
|
|
||||||
buttonName: "查询",
|
|
||||||
buttonType: "search"
|
|
||||||
},
|
|
||||||
edit: {
|
|
||||||
buttonName: "修改",
|
|
||||||
buttonType: "edit"
|
|
||||||
},
|
|
||||||
dele: {
|
|
||||||
buttonName: "删除",
|
|
||||||
buttonType: "dele"
|
|
||||||
},
|
|
||||||
view: {
|
|
||||||
buttonName: "查看",
|
|
||||||
buttonType: "view"
|
|
||||||
},
|
|
||||||
send: {
|
|
||||||
buttonName: "下发",
|
|
||||||
buttonType: "send"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
checkArr: [
|
|
||||||
{
|
|
||||||
buttonName: "新建",
|
|
||||||
buttonType: "new"
|
|
||||||
}, {
|
|
||||||
buttonName: "重置",
|
|
||||||
buttonType: "resize"
|
|
||||||
}, {
|
|
||||||
buttonName: "查询",
|
|
||||||
buttonType: "search"
|
|
||||||
}, {
|
|
||||||
buttonName: "修改",
|
|
||||||
buttonType: "edit"
|
|
||||||
}, {
|
|
||||||
buttonName: "删除",
|
|
||||||
buttonType: "dele"
|
|
||||||
}, {
|
|
||||||
buttonName: "查看",
|
|
||||||
buttonType: "view"
|
|
||||||
}, {
|
|
||||||
buttonName: "下发",
|
|
||||||
buttonType: "send"
|
|
||||||
},
|
|
||||||
]
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onFunc(row) {
|
//保存/编辑成功
|
||||||
this.tableData.splice(row.index, 1)
|
saveSuccessHandle() {
|
||||||
},
|
this.settingFormShow = false
|
||||||
addRowHandle() {
|
this.getTableData()
|
||||||
this.tableData.push({})
|
|
||||||
},
|
},
|
||||||
|
//这里需要拿到应用下啦为后续找中文环节做准备
|
||||||
async initSelect() {
|
async initSelect() {
|
||||||
const res = await getApiModuleApi({
|
const res = await authApi('sysApplicationService', '', 'queryEntity', '', {})
|
||||||
tl: "roleService",
|
console.log(res)
|
||||||
as: "role",
|
this.serviceOptions.options = []
|
||||||
dj: "queryAll",
|
|
||||||
})
|
|
||||||
console.log(res, '角色')
|
|
||||||
if (res.status === '200') {
|
|
||||||
this.options = []
|
|
||||||
res.attribute.forEach(item => {
|
res.attribute.forEach(item => {
|
||||||
this.$set(this.roleDist, item.id, item.roleName)
|
this.serviceOptions.push({
|
||||||
this.options.push({
|
id: item.id,
|
||||||
label: item.roleName,
|
label: item.name
|
||||||
value: item.id
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
console.log(this.options)
|
return true
|
||||||
|
},
|
||||||
|
//获取tableData
|
||||||
|
async getTableData() {
|
||||||
|
const res = await authApi('mdmModuleService', '', 'queryMdmSource', '', {
|
||||||
|
mdmId: this.$route.query.id
|
||||||
|
})
|
||||||
|
this.tableData = res.attribute
|
||||||
|
console.log(this.tableData, 'table')
|
||||||
|
//这边需要开始处理应用列表、新增修改删除接口找中文环节
|
||||||
|
this.tableData.forEach(async(item) => {
|
||||||
|
console.log('???', this.serviceOptions)
|
||||||
|
let obj = this.serviceOptions.find(ele => {
|
||||||
|
return ele.id === item.sourceName
|
||||||
|
})
|
||||||
|
this.$set(item, 'appName', obj.label)
|
||||||
|
let labelDist = {}
|
||||||
|
let plugInDist = {}
|
||||||
|
const res2 = await authApi('sysApplicationApiService', '', 'queryEntity', '', {
|
||||||
|
appId: item.appId
|
||||||
|
})
|
||||||
|
res2.attribute.forEach((item) => {
|
||||||
|
labelDist[item.id] = item.apiName
|
||||||
|
})
|
||||||
|
if (item.deleteApi) {
|
||||||
|
this.$set(item, 'deleteName', labelDist[item.deleteApi])
|
||||||
}
|
}
|
||||||
|
if (item.updateApi) {
|
||||||
|
this.$set(item, 'updateName', labelDist[item.updateApi])
|
||||||
|
}
|
||||||
|
if (item.addApi) {
|
||||||
|
this.$set(item, 'addName', labelDist[item.addApi])
|
||||||
|
}
|
||||||
|
if (item.sourceType == 2 && item.sourceCode) {
|
||||||
|
this.$set(item, 'sourceCodeName', labelDist[item.sourceCode])
|
||||||
|
}
|
||||||
|
//走插件开始找
|
||||||
|
if (item.sourceType == 1 && item.sourceCode) {
|
||||||
|
this.openLoading('detail')
|
||||||
|
const res = await authApi('sysApplicationPluginService', '', 'queryEntity', '', {
|
||||||
|
appId: item.sourceName
|
||||||
|
})
|
||||||
|
res.attribute.forEach((item) => {
|
||||||
|
plugInDist[item.id] = item.pluginName
|
||||||
|
})
|
||||||
|
this.$set(item, 'sourceCodeName', plugInDist[item.sourceCode])
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
//保存
|
||||||
|
sonTableSaveHandle() {
|
||||||
|
this.$refs.settingForm.$refs.typeOptionForm.submitForm()
|
||||||
|
},
|
||||||
|
//设置
|
||||||
|
sonTableEditHandle(row) {
|
||||||
|
this.settingFormShow = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.settingForm.getrowDetails(row.id)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//删除
|
||||||
|
activedOnFunc(row) {
|
||||||
|
this.$confirm('确定删除?')
|
||||||
|
.then(async(_) => {
|
||||||
|
this.openLoading('submit')
|
||||||
|
const res = await authApi('mdmModuleService', '', 'deleteMdmSource', '', {
|
||||||
|
id: row.id
|
||||||
|
})
|
||||||
|
this.$vmNews('删除成功', 'success')
|
||||||
|
this.getTableData()
|
||||||
|
})
|
||||||
|
.catch((_) => {
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//添加
|
||||||
|
addRowHandle() {
|
||||||
|
this.settingFormShow = true
|
||||||
},
|
},
|
||||||
async init() {
|
async init() {
|
||||||
this.mainLoading = true
|
this.mainLoading = true
|
||||||
const res = await getApiModuleApi({
|
const res = await getApiModuleApi({
|
||||||
tl: "mdmService",
|
tl: 'mdmService',
|
||||||
as: "mdmService",
|
as: 'mdmService',
|
||||||
dj: "queryMdmModuleRule",
|
dj: 'queryMdmModuleRule'
|
||||||
}, {id: this.$route.query.id})
|
}, { id: this.$route.query.id })
|
||||||
res.attribute.forEach(item => {
|
res.attribute.forEach(item => {
|
||||||
item.mdmModuleRoleButtonEntities.forEach(ele => {
|
item.mdmModuleRoleButtonEntities.forEach(ele => {
|
||||||
item[ele.buttonType] = true
|
item[ele.buttonType] = true
|
||||||
|
@ -203,7 +243,7 @@ export default {
|
||||||
},
|
},
|
||||||
//close
|
//close
|
||||||
dialogCloseHandle() {
|
dialogCloseHandle() {
|
||||||
this.addRole = ""
|
this.addRole = ''
|
||||||
},
|
},
|
||||||
//add
|
//add
|
||||||
addHandle() {
|
addHandle() {
|
||||||
|
@ -211,49 +251,9 @@ export default {
|
||||||
},
|
},
|
||||||
// 页码
|
// 页码
|
||||||
currentChangeHandle(pageModel) {
|
currentChangeHandle(pageModel) {
|
||||||
this.pageModel = pageModel;
|
this.pageModel = pageModel
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
});
|
|
||||||
},
|
|
||||||
async saveHandle() {
|
|
||||||
let params = {
|
|
||||||
id: this.$route.query.id,
|
|
||||||
mdmModuleRoleEntities: []
|
|
||||||
}
|
|
||||||
let temp = []
|
|
||||||
let flag = this.tableData.some(item => {
|
|
||||||
console.log(item)
|
|
||||||
if (temp.includes(item.roleId)) {
|
|
||||||
this.$vmNews("禁止选择相同角色", 'warning')
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
temp.push(item.roleId)
|
|
||||||
if (item.roleId) {
|
|
||||||
let tempObj = {
|
|
||||||
roleId: item.roleId,
|
|
||||||
mdmModuleRoleButtonEntities: [],
|
|
||||||
}
|
|
||||||
Object.keys(item).forEach(ele => {
|
|
||||||
if (this.checkArrDist[ele] && item[ele]) {
|
|
||||||
tempObj.mdmModuleRoleButtonEntities.push(this.checkArrDist[ele])
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
params.mdmModuleRoleEntities.push(tempObj)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
if (flag) return
|
|
||||||
this.saveLoading = true
|
|
||||||
const res = await getUserModuleApi({
|
|
||||||
tl: "mdmService",
|
|
||||||
as: "mdmService",
|
|
||||||
dj: "doSaveMdmModuleRule",
|
|
||||||
}, params)
|
|
||||||
if (res.status === '200') {
|
|
||||||
this.$vmNews("保存成功", 'success')
|
|
||||||
this.init()
|
|
||||||
this.$store.dispatch("GenerateRoutes")
|
|
||||||
}
|
|
||||||
this.saveLoading = false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -262,14 +262,18 @@ export default {
|
||||||
BaseTable,
|
BaseTable,
|
||||||
baseDialog,
|
baseDialog,
|
||||||
baseNewSelect,
|
baseNewSelect,
|
||||||
basePage
|
basePage,
|
||||||
|
baseRightDialog,
|
||||||
|
settingForm
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.initSelect()
|
this.initSelect().then(() => {
|
||||||
this.init()
|
this.getTableData()
|
||||||
this.$emit("flashActive", 3)
|
})
|
||||||
},
|
|
||||||
};
|
this.$emit('flashActive', 3)
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
@ -333,4 +337,43 @@ footer {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btnList {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.settingBtn {
|
||||||
|
cursor: pointer;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
background: #EBEBED;
|
||||||
|
border-radius: 6px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
> img {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.deleBtn {
|
||||||
|
cursor: pointer;
|
||||||
|
margin-left: 10px;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
background: #EBEBED;
|
||||||
|
border-radius: 6px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
> img {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -0,0 +1,370 @@
|
||||||
|
<template>
|
||||||
|
<div class="settingForm">
|
||||||
|
<baseNewForm
|
||||||
|
ref="typeOptionForm"
|
||||||
|
:spanNumber="18"
|
||||||
|
:isFunBtn="false"
|
||||||
|
:formRow="formRow"
|
||||||
|
:ruleForm="ruleForm"
|
||||||
|
:labelPosition="'top'"
|
||||||
|
@onSelect="typeSelectChangeHanlde"
|
||||||
|
@onSubmit="typeOptionOnSubmit"
|
||||||
|
>
|
||||||
|
</baseNewForm>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import baseNewForm from '../compoments/baseNewForm'
|
||||||
|
import BaseTable from '@/views/intergrationTask/compoments/baseTable.vue'
|
||||||
|
import { authApi } from '@/api/apis/auth'
|
||||||
|
import { getApiModuleApi } from '@/api/apiChunks'
|
||||||
|
import { retrieveRawAttr } from 'echarts/lib/data/helper/dataProvider'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'settingForm',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
formRow: [
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'select',
|
||||||
|
title: '来源类型',
|
||||||
|
id: 'sourceType',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
label: '插件',
|
||||||
|
id: '1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'api',
|
||||||
|
id: '2'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'select',
|
||||||
|
title: '来源应用',
|
||||||
|
id: 'sourceName',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
options: []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'select',
|
||||||
|
title: '来源编码',
|
||||||
|
id: 'sourceCode',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
options: []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'select',
|
||||||
|
title: '触发类型',
|
||||||
|
id: 'triggerType',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
label: '手动',
|
||||||
|
id: '0'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '自动',
|
||||||
|
id: '1'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'select',
|
||||||
|
title: '新增接口',
|
||||||
|
id: 'addApi',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
options: []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'select',
|
||||||
|
title: '修改接口',
|
||||||
|
id: 'updateApi',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
options: []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'select',
|
||||||
|
title: '删除接口',
|
||||||
|
id: 'deleteApi',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
options: []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'switch',
|
||||||
|
title: '启用/停用',
|
||||||
|
id: 'enabledState',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
activeValue: '1',
|
||||||
|
inactiveValue: '0'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
ruleForm: {},
|
||||||
|
tableId: '',//数据源主表名称
|
||||||
|
mainLoading: false,
|
||||||
|
tabLoading: false,
|
||||||
|
serviceOptions: [],//主表
|
||||||
|
labelOptions: [],//字段名称下啦
|
||||||
|
labelDist: {}//字段名称字典
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//字段名称修改事件 需要存filedName
|
||||||
|
filedIdChangHandle(val, row) {
|
||||||
|
row.filedName = this.labelDist[val]
|
||||||
|
},
|
||||||
|
//表字段字段类型下啦初始化
|
||||||
|
async initSelect() {
|
||||||
|
//服务名下拉
|
||||||
|
this.serviceOptions = []
|
||||||
|
this.openLoading('detail')
|
||||||
|
const service = await getApiModuleApi({
|
||||||
|
tl: 'mdmModuleService',
|
||||||
|
as: '',
|
||||||
|
dj: 'queryMdmService'
|
||||||
|
}, { remark: '' })
|
||||||
|
service.attribute.forEach(item => {
|
||||||
|
console.log(item.dbName, 'item')
|
||||||
|
this.serviceOptions.push({
|
||||||
|
id: item.id,
|
||||||
|
label: item.remark,
|
||||||
|
dbId: item.id,
|
||||||
|
mdmId: item.mdmId
|
||||||
|
})
|
||||||
|
})
|
||||||
|
console.log(this.serviceOptions, 'this.serviceOptions')
|
||||||
|
},
|
||||||
|
async typeSelectChangeHanlde(val, index, indexRow, row, flag = true) {
|
||||||
|
if (flag && (row.id === 'sourceName' || row.id === 'sourceType')) {
|
||||||
|
if (row.id === 'sourceType') {
|
||||||
|
this.formRow[2].elCol[0].options = []
|
||||||
|
this.$set(this.ruleForm, 'sourceCode', '')
|
||||||
|
} else {
|
||||||
|
this.formRow[2].elCol[0].options = []
|
||||||
|
this.formRow[4].elCol[0].options = []
|
||||||
|
this.formRow[5].elCol[0].options = []
|
||||||
|
this.formRow[6].elCol[0].options = []
|
||||||
|
this.$set(this.ruleForm, 'addApi', '')
|
||||||
|
this.$set(this.ruleForm, 'updateApi', '')
|
||||||
|
this.$set(this.ruleForm, 'deleteApi', '')
|
||||||
|
this.$set(this.ruleForm, 'sourceCode', '')
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
//当下啦是appid时条用接口查询该app下的所有接口用在新增、修改、删除上
|
||||||
|
if ((row.id === 'sourceName' || row.id === 'sourceType') && this.ruleForm.sourceName) {
|
||||||
|
this.openLoading('detail')
|
||||||
|
const res = await authApi('sysApplicationApiService', '', 'queryEntity', '', {
|
||||||
|
appId: this.ruleForm.sourceName
|
||||||
|
})
|
||||||
|
res.attribute.forEach((item) => {
|
||||||
|
this.formRow[4].elCol[0].options.push({
|
||||||
|
id: item.id,
|
||||||
|
label: item.apiName
|
||||||
|
})
|
||||||
|
this.formRow[5].elCol[0].options.push({
|
||||||
|
id: item.id,
|
||||||
|
label: item.apiName
|
||||||
|
})
|
||||||
|
this.formRow[6].elCol[0].options.push({
|
||||||
|
id: item.id,
|
||||||
|
label: item.apiName
|
||||||
|
})
|
||||||
|
if (this.ruleForm.sourceType == 2) {
|
||||||
|
this.formRow[2].elCol[0].options.push({
|
||||||
|
id: item.id,
|
||||||
|
label: item.apiName
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
//如果是插件则来源编号要走插件接口
|
||||||
|
if (this.ruleForm.sourceType == 1) {
|
||||||
|
this.openLoading('detail')
|
||||||
|
const res = await authApi('sysApplicationPluginService', '', 'queryEntity', '', {
|
||||||
|
appId: this.ruleForm.sourceName
|
||||||
|
})
|
||||||
|
res.attribute.forEach((item) => {
|
||||||
|
this.formRow[2].elCol[0].options.push({
|
||||||
|
id: item.id,
|
||||||
|
label: item.pluginName
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
//测试通过
|
||||||
|
async typeOptionOnSubmit() {
|
||||||
|
let params = {
|
||||||
|
...this.ruleForm,
|
||||||
|
dbId: this.tableId,
|
||||||
|
mdmId: this.$route.query.id
|
||||||
|
}
|
||||||
|
if (params.id) {
|
||||||
|
this.openLoading('submit')
|
||||||
|
const res = await authApi('mdmModuleService', '', 'updateMdmSource', '', params)
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.$emit('saveSuccessHandle')
|
||||||
|
} else {
|
||||||
|
this.openLoading('submit')
|
||||||
|
const res = await authApi('mdmModuleService', '', 'saveMdmSource', '', params)
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.$emit('saveSuccessHandle')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//获取应用下啦
|
||||||
|
async getAppList() {
|
||||||
|
this.openLoading('detail')
|
||||||
|
const res = await authApi('sysApplicationService', '', 'queryEntity', '', {})
|
||||||
|
this.formRow[1].elCol[0].options = []
|
||||||
|
res.attribute.forEach(item => {
|
||||||
|
this.formRow[1].elCol[0].options.push({
|
||||||
|
id: item.id,
|
||||||
|
label: item.name
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
//编辑获取数据
|
||||||
|
async getrowDetails(id) {
|
||||||
|
this.openLoading('detail')
|
||||||
|
const res = await authApi('mdmModuleService', '', 'getMdmSource', '', {
|
||||||
|
id
|
||||||
|
})
|
||||||
|
this.ruleForm = res.attribute
|
||||||
|
this.typeSelectChangeHanlde(this.ruleForm.appId, 0, 0, { id: 'sourceName' }, false)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getAppList()
|
||||||
|
this.initSelect()
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
BaseTable,
|
||||||
|
baseNewForm
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.bigTitle {
|
||||||
|
border-top: 1px solid #EBEBEB;
|
||||||
|
padding-top: 20px;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 22px;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tableName {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin: 30px 0;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
margin-right: 20px;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 20px;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.receiptsAddRow {
|
||||||
|
margin-top: 30px;
|
||||||
|
border: 1px dotted #ccc;
|
||||||
|
text-align: center;
|
||||||
|
height: 50px;
|
||||||
|
line-height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btnList {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.deleBtn {
|
||||||
|
cursor: pointer;
|
||||||
|
margin-left: 10px;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
background: #EBEBED;
|
||||||
|
border-radius: 6px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
> img {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -16,7 +16,7 @@
|
||||||
:gutter="0"
|
:gutter="0"
|
||||||
v-for="(item, index) in formRow"
|
v-for="(item, index) in formRow"
|
||||||
:key="index"
|
:key="index"
|
||||||
style="margin-bottom: 18px"
|
style="margin-bottom: 10px"
|
||||||
>
|
>
|
||||||
<el-col
|
<el-col
|
||||||
v-for="(row, indexRow) in item.elCol"
|
v-for="(row, indexRow) in item.elCol"
|
||||||
|
@ -318,12 +318,12 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import baseCascader from "./baseCascader/index.vue";
|
import baseCascader from './baseCascader/index.vue'
|
||||||
import {deepClone} from "@/utils/index.js";
|
import { deepClone } from '@/utils/index.js'
|
||||||
import baseDatePicker from "./baseDatePicker.vue";
|
import baseDatePicker from './baseDatePicker.vue'
|
||||||
import baseNewSelect from "./baseNewSelect";
|
import baseNewSelect from './baseNewSelect'
|
||||||
import {checkMobile} from "@/utils/util";
|
import { checkMobile } from '@/utils/util'
|
||||||
import {BaseSelect} from "./baseSelect.vue";
|
import { BaseSelect } from './baseSelect.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
@ -332,12 +332,12 @@ export default {
|
||||||
baseNewSelect,
|
baseNewSelect,
|
||||||
baseDatePicker,
|
baseDatePicker,
|
||||||
baseCascader,
|
baseCascader,
|
||||||
BaseSelect,
|
BaseSelect
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
labelWidth: {
|
labelWidth: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "80px"
|
default: '80px'
|
||||||
},
|
},
|
||||||
labelPosition: {
|
labelPosition: {
|
||||||
type: String,
|
type: String,
|
||||||
|
@ -346,159 +346,159 @@ export default {
|
||||||
// 提交按钮loading
|
// 提交按钮loading
|
||||||
loading: {
|
loading: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false
|
||||||
},
|
},
|
||||||
// 是否校验正则(搜索模式)
|
// 是否校验正则(搜索模式)
|
||||||
formRule: {
|
formRule: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true
|
||||||
},
|
},
|
||||||
refName: {
|
refName: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "ruleForm",
|
default: 'ruleForm'
|
||||||
},
|
},
|
||||||
// 表单新建模式
|
// 表单新建模式
|
||||||
newFlag: {
|
newFlag: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false
|
||||||
},
|
},
|
||||||
// 表单查看模式
|
// 表单查看模式
|
||||||
lookFlag: {
|
lookFlag: {
|
||||||
type: [Boolean, String],
|
type: [Boolean, String],
|
||||||
default: false,
|
default: false
|
||||||
},
|
},
|
||||||
// 表单显示格式
|
// 表单显示格式
|
||||||
spanNumber: {
|
spanNumber: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 12,
|
default: 12
|
||||||
},
|
},
|
||||||
spanWidth: {
|
spanWidth: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "200px",
|
default: '200px'
|
||||||
},
|
},
|
||||||
// 表单验证规则
|
// 表单验证规则
|
||||||
rules: {
|
rules: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {
|
default: () => {
|
||||||
return {};
|
return {}
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
// 表单页面结构数据
|
// 表单页面结构数据
|
||||||
formRow: {
|
formRow: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default: () => {
|
default: () => {
|
||||||
return [];
|
return []
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
// 是否禁用
|
// 是否禁用
|
||||||
disabled: {
|
disabled: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false
|
||||||
},
|
},
|
||||||
// 是否显示操作按钮
|
// 是否显示操作按钮
|
||||||
isFunBtn: {
|
isFunBtn: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true
|
||||||
},
|
},
|
||||||
formdata: {
|
formdata: {
|
||||||
type: Object,
|
type: Object
|
||||||
},
|
},
|
||||||
justifyContent: {
|
justifyContent: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "flex-end",
|
default: 'flex-end'
|
||||||
},
|
},
|
||||||
marginBottom: {
|
marginBottom: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "0",
|
default: '0'
|
||||||
},
|
},
|
||||||
ruleForm: {
|
ruleForm: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {
|
default: () => {
|
||||||
return {};
|
return {}
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
tableColumn: {
|
tableColumn: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default: () => {
|
default: () => {
|
||||||
return [];
|
return []
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pickerOptionsSearch: {
|
pickerOptionsSearch: {
|
||||||
shortcuts: [
|
shortcuts: [
|
||||||
{
|
{
|
||||||
text: "本月",
|
text: '本月',
|
||||||
onClick(picker) {
|
onClick(picker) {
|
||||||
picker.$emit("pick", [new Date(), new Date()]);
|
picker.$emit('pick', [new Date(), new Date()])
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: "今年至今",
|
text: '今年至今',
|
||||||
onClick(picker) {
|
onClick(picker) {
|
||||||
const end = new Date();
|
const end = new Date()
|
||||||
const start = new Date(new Date().getFullYear(), 0);
|
const start = new Date(new Date().getFullYear(), 0)
|
||||||
picker.$emit("pick", [start, end]);
|
picker.$emit('pick', [start, end])
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: "最近六个月",
|
text: '最近六个月',
|
||||||
onClick(picker) {
|
onClick(picker) {
|
||||||
const end = new Date();
|
const end = new Date()
|
||||||
const start = new Date();
|
const start = new Date()
|
||||||
start.setMonth(start.getMonth() - 6);
|
start.setMonth(start.getMonth() - 6)
|
||||||
picker.$emit("pick", [start, end]);
|
picker.$emit('pick', [start, end])
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
],
|
]
|
||||||
},
|
},
|
||||||
// 表单数据
|
// 表单数据
|
||||||
// ruleForm: {},
|
// ruleForm: {},
|
||||||
pickerOptions: {
|
pickerOptions: {
|
||||||
disabledDate(time) {
|
disabledDate(time) {
|
||||||
return time.getTime() > Date.now();
|
return time.getTime() > Date.now()
|
||||||
},
|
},
|
||||||
shortcuts: [
|
shortcuts: [
|
||||||
{
|
{
|
||||||
text: "今天",
|
text: '今天',
|
||||||
onClick(picker) {
|
onClick(picker) {
|
||||||
picker.$emit("pick", new Date());
|
picker.$emit('pick', new Date())
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: "昨天",
|
text: '昨天',
|
||||||
onClick(picker) {
|
onClick(picker) {
|
||||||
const date = new Date();
|
const date = new Date()
|
||||||
date.setTime(date.getTime() - 3600 * 1000 * 24);
|
date.setTime(date.getTime() - 3600 * 1000 * 24)
|
||||||
picker.$emit("pick", date);
|
picker.$emit('pick', date)
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: "一周前",
|
text: '一周前',
|
||||||
onClick(picker) {
|
onClick(picker) {
|
||||||
const date = new Date();
|
const date = new Date()
|
||||||
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
|
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
|
||||||
picker.$emit("pick", date);
|
picker.$emit('pick', date)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
},
|
tempFormData: {}
|
||||||
],
|
}
|
||||||
},
|
|
||||||
tempFormData: {},
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
ruleForm: {
|
ruleForm: {
|
||||||
immediate: true, // 立即执行
|
immediate: true, // 立即执行
|
||||||
deep: true, // 深度监听复杂类型内变化
|
deep: true, // 深度监听复杂类型内变化
|
||||||
handler(newVal, oldVal) {
|
handler(newVal, oldVal) {
|
||||||
this.$emit("dataChanges");
|
this.$emit('dataChanges')
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
this.tempFormData = deepClone(this.ruleForm);
|
this.tempFormData = deepClone(this.ruleForm)
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// this.ruleForm = this.formdata
|
// this.ruleForm = this.formdata
|
||||||
|
@ -510,24 +510,24 @@ export default {
|
||||||
},
|
},
|
||||||
selectChangeHanlde(val, row) {
|
selectChangeHanlde(val, row) {
|
||||||
console.log(val, row, 111)
|
console.log(val, row, 111)
|
||||||
this.$emit("selectChange", val, row);
|
this.$emit('selectChange', val, row)
|
||||||
},
|
},
|
||||||
showValueHandle() {
|
showValueHandle() {
|
||||||
},
|
},
|
||||||
limitPhoneNum(value, data, id) {
|
limitPhoneNum(value, data, id) {
|
||||||
if (value.toString().length > 11) {
|
if (value.toString().length > 11) {
|
||||||
data[id] = value.toString().slice(0, 11);
|
data[id] = value.toString().slice(0, 11)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
selectShow(row) {
|
selectShow(row) {
|
||||||
try {
|
try {
|
||||||
this.$emit("selectFormSearch", row);
|
this.$emit('selectFormSearch', row)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(this.ruleForm, row, "23232出错了");
|
console.log(this.ruleForm, row, '23232出错了')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
close() {
|
close() {
|
||||||
this.$emit("closeDialog");
|
this.$emit('closeDialog')
|
||||||
},
|
},
|
||||||
integerNumber(row) {
|
integerNumber(row) {
|
||||||
// row.rules?(v)=>()):''
|
// row.rules?(v)=>()):''
|
||||||
|
@ -536,128 +536,128 @@ export default {
|
||||||
// return this.ruleForm[row.prop].replace(/[^\d]/g,'')
|
// return this.ruleForm[row.prop].replace(/[^\d]/g,'')
|
||||||
//
|
//
|
||||||
// integer整数
|
// integer整数
|
||||||
if (row.rulesName == "integer") {
|
if (row.rulesName == 'integer') {
|
||||||
this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(/[^\d]/g, "");
|
this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(/[^\d]/g, '')
|
||||||
}
|
}
|
||||||
// decimal小数
|
// decimal小数
|
||||||
if (row.rulesName == "decimal") {
|
if (row.rulesName == 'decimal') {
|
||||||
this.ruleForm[row.id] = this.ruleForm[row.id]
|
this.ruleForm[row.id] = this.ruleForm[row.id]
|
||||||
.replace(/[^\d.]/g, "")
|
.replace(/[^\d.]/g, '')
|
||||||
.replace(/\.{2,}/g, ".")
|
.replace(/\.{2,}/g, '.')
|
||||||
.replace(".", "$#$")
|
.replace('.', '$#$')
|
||||||
.replace(/\./g, "")
|
.replace(/\./g, '')
|
||||||
.replace("$#$", ".")
|
.replace('$#$', '.')
|
||||||
.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")
|
.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')
|
||||||
.replace(/^\./g, "");
|
.replace(/^\./g, '')
|
||||||
}
|
}
|
||||||
// 身份证
|
// 身份证
|
||||||
if (row.rulesName == "identity") {
|
if (row.rulesName == 'identity') {
|
||||||
this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(
|
this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(
|
||||||
/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
|
/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
|
||||||
""
|
''
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
// 手机号
|
// 手机号
|
||||||
if (row.rulesName == "phone") {
|
if (row.rulesName == 'phone') {
|
||||||
this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(
|
this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(
|
||||||
/^1(3|4|5|7|8|9)\\d{9}$/,
|
/^1(3|4|5|7|8|9)\\d{9}$/,
|
||||||
""
|
''
|
||||||
);
|
)
|
||||||
// this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(/^1[3,4,5,6,7,8,9][0-9]{9}$/, '')
|
// this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(/^1[3,4,5,6,7,8,9][0-9]{9}$/, '')
|
||||||
// this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(/1(\d{2})\d{4}(\d{4})/g,'').replace(/[^\d]/g, '')
|
// this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(/1(\d{2})\d{4}(\d{4})/g,'').replace(/[^\d]/g, '')
|
||||||
// this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(/\.{11,}/g, '')
|
// this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(/\.{11,}/g, '')
|
||||||
// /^1[3|4|5|6|7|8|9][0-9]\d{8}$/
|
// /^1[3|4|5|6|7|8|9][0-9]\d{8}$/
|
||||||
}
|
}
|
||||||
// 邮箱
|
// 邮箱
|
||||||
if (row.rulesName == "eMail") {
|
if (row.rulesName == 'eMail') {
|
||||||
this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(
|
this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(
|
||||||
/^([0-9a-zA-Z_\.\-\])+\@([0-9a-zA-Z_\.\-\])+\.([a-zA-Z]+)$/,
|
/^([0-9a-zA-Z_\.\-\])+\@([0-9a-zA-Z_\.\-\])+\.([a-zA-Z]+)$/,
|
||||||
""
|
''
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
// this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(/[^\d]/g,'')
|
// this.ruleForm[row.prop] = this.ruleForm[row.prop].replace(/[^\d]/g,'')
|
||||||
},
|
},
|
||||||
//根据地址获取经纬度
|
//根据地址获取经纬度
|
||||||
searchByStationName(type, form) {
|
searchByStationName(type, form) {
|
||||||
this.$emit("inputBlur", type, form)
|
this.$emit('inputBlur', type, form)
|
||||||
if (type == "address") {
|
if (type == 'address') {
|
||||||
let address = this.ruleForm[type];
|
let address = this.ruleForm[type]
|
||||||
let that = this;
|
let that = this
|
||||||
var map = new BMap.Map("container");
|
var map = new BMap.Map('container')
|
||||||
map.centerAndZoom(address, 18);
|
map.centerAndZoom(address, 18)
|
||||||
map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用
|
map.enableScrollWheelZoom() //启用滚轮放大缩小,默认禁用
|
||||||
map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用
|
map.enableContinuousZoom() //启用地图惯性拖拽,默认禁用
|
||||||
map.addControl(new BMap.NavigationControl()); //添加默认缩放平移控件
|
map.addControl(new BMap.NavigationControl()) //添加默认缩放平移控件
|
||||||
map.addControl(new BMap.OverviewMapControl()); //添加默认缩略地图控件
|
map.addControl(new BMap.OverviewMapControl()) //添加默认缩略地图控件
|
||||||
map.addControl(
|
map.addControl(
|
||||||
new BMap.OverviewMapControl({
|
new BMap.OverviewMapControl({
|
||||||
isOpen: true,
|
isOpen: true,
|
||||||
anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
|
anchor: BMAP_ANCHOR_BOTTOM_RIGHT
|
||||||
})
|
})
|
||||||
); //右下角,打开
|
) //右下角,打开
|
||||||
var localSearch = new BMap.LocalSearch(map);
|
var localSearch = new BMap.LocalSearch(map)
|
||||||
localSearch.enableAutoViewport(); //允许自动调节窗体大小
|
localSearch.enableAutoViewport() //允许自动调节窗体大小
|
||||||
map.clearOverlays(); //清空原来的标注
|
map.clearOverlays() //清空原来的标注
|
||||||
var keyword = address;
|
var keyword = address
|
||||||
localSearch.setSearchCompleteCallback(function (searchResult) {
|
localSearch.setSearchCompleteCallback(function(searchResult) {
|
||||||
var poi = searchResult.getPoi(0);
|
var poi = searchResult.getPoi(0)
|
||||||
map.centerAndZoom(poi.point, 13);
|
map.centerAndZoom(poi.point, 13)
|
||||||
var marker = new BMap.Marker(
|
var marker = new BMap.Marker(
|
||||||
new BMap.Point(poi.point.lng, poi.point.lat)
|
new BMap.Point(poi.point.lng, poi.point.lat)
|
||||||
); // 创建标注,为要查询的地方对应的经纬度
|
) // 创建标注,为要查询的地方对应的经纬度
|
||||||
map.addOverlay(marker);
|
map.addOverlay(marker)
|
||||||
var content =
|
var content =
|
||||||
keyword +
|
keyword +
|
||||||
"<br/><br/>经度:" +
|
'<br/><br/>经度:' +
|
||||||
poi.point.lng +
|
poi.point.lng +
|
||||||
"<br/>纬度:" +
|
'<br/>纬度:' +
|
||||||
poi.point.lat;
|
poi.point.lat
|
||||||
that.ruleForm["lng"] = poi.point.lng;
|
that.ruleForm['lng'] = poi.point.lng
|
||||||
that.ruleForm["lat"] = poi.point.lat;
|
that.ruleForm['lat'] = poi.point.lat
|
||||||
var infoWindow = new BMap.InfoWindow(
|
var infoWindow = new BMap.InfoWindow(
|
||||||
"<p style='font-size:14px;'>" + content + "</p>"
|
'<p style=\'font-size:14px;\'>' + content + '</p>'
|
||||||
);
|
)
|
||||||
marker.addEventListener("click", function () {
|
marker.addEventListener('click', function() {
|
||||||
this.openInfoWindow(infoWindow);
|
this.openInfoWindow(infoWindow)
|
||||||
});
|
})
|
||||||
// marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
|
// marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
|
||||||
});
|
})
|
||||||
localSearch.search(keyword);
|
localSearch.search(keyword)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//计步器
|
//计步器
|
||||||
handleChange(val) {
|
handleChange(val) {
|
||||||
this.$emit("handleChange", val);
|
this.$emit('handleChange', val)
|
||||||
},
|
},
|
||||||
// 获取图片
|
// 获取图片
|
||||||
getImage(imagePath) {
|
getImage(imagePath) {
|
||||||
let licenseImg = imagePath.join(",");
|
let licenseImg = imagePath.join(',')
|
||||||
},
|
},
|
||||||
// 处置前照片
|
// 处置前照片
|
||||||
getbeforeImgList(imagePath) {
|
getbeforeImgList(imagePath) {
|
||||||
let licenseImg = imagePath.join(",");
|
let licenseImg = imagePath.join(',')
|
||||||
this.$set(this.ruleForm, "beforeImgList", licenseImg);
|
this.$set(this.ruleForm, 'beforeImgList', licenseImg)
|
||||||
},
|
},
|
||||||
// 处置材料
|
// 处置材料
|
||||||
getmaterialsList(imagePath) {
|
getmaterialsList(imagePath) {
|
||||||
let licenseImg = imagePath.join(",");
|
let licenseImg = imagePath.join(',')
|
||||||
this.$set(this.ruleForm, "materialsList", licenseImg);
|
this.$set(this.ruleForm, 'materialsList', licenseImg)
|
||||||
},
|
},
|
||||||
// 处置后材料
|
// 处置后材料
|
||||||
getmaterialsListAfter(imagePath) {
|
getmaterialsListAfter(imagePath) {
|
||||||
let licenseImg = imagePath.join(",");
|
let licenseImg = imagePath.join(',')
|
||||||
this.$set(this.ruleForm, "materialsListAfter", licenseImg);
|
this.$set(this.ruleForm, 'materialsListAfter', licenseImg)
|
||||||
},
|
},
|
||||||
revealPhoto(licenseImg) {
|
revealPhoto(licenseImg) {
|
||||||
this.$refs.imgFile.revealImg(licenseImg);
|
this.$refs.imgFile.revealImg(licenseImg)
|
||||||
},
|
},
|
||||||
// 回显数据
|
// 回显数据
|
||||||
echoFromData(echoData, otherField) {
|
echoFromData(echoData, otherField) {
|
||||||
let jsonData = [];
|
let jsonData = []
|
||||||
this.formRow.forEach((item) => {
|
this.formRow.forEach((item) => {
|
||||||
jsonData.push(item.elCol);
|
jsonData.push(item.elCol)
|
||||||
});
|
})
|
||||||
let newJson = [].concat.apply([], jsonData);
|
let newJson = [].concat.apply([], jsonData)
|
||||||
newJson.forEach((item) => {
|
newJson.forEach((item) => {
|
||||||
if (this.ruleForm.factoryInFlag == 1) {
|
if (this.ruleForm.factoryInFlag == 1) {
|
||||||
for (let i = 0; i < this.formRow[8].elCol.length; i++) {
|
for (let i = 0; i < this.formRow[8].elCol.length; i++) {
|
||||||
|
@ -667,31 +667,31 @@ export default {
|
||||||
for (let i = 0; i < this.formRow[8].elCol.length; i++) {
|
for (let i = 0; i < this.formRow[8].elCol.length; i++) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.$set(this.ruleForm, item.prop, echoData[item.prop]);
|
this.$set(this.ruleForm, item.prop, echoData[item.prop])
|
||||||
});
|
})
|
||||||
// 回显自定义多级选择组件
|
// 回显自定义多级选择组件
|
||||||
if (typeof otherField == "object") {
|
if (typeof otherField == 'object') {
|
||||||
this.$refs[otherField.props][0].setEchoData(echoData[otherField.field]);
|
this.$refs[otherField.props][0].setEchoData(echoData[otherField.field])
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 获取指定字段参数
|
// 获取指定字段参数
|
||||||
//参数propLabel , 值value
|
//参数propLabel , 值value
|
||||||
getField(propLabel, value) {
|
getField(propLabel, value) {
|
||||||
this.$set(this.ruleForm, propLabel, value);
|
this.$set(this.ruleForm, propLabel, value)
|
||||||
},
|
},
|
||||||
//弹窗赋值
|
//弹窗赋值
|
||||||
choiceAssignment(value) {
|
choiceAssignment(value) {
|
||||||
this.ruleForm = Object.assign({}, value);
|
this.ruleForm = Object.assign({}, value)
|
||||||
// this.$forceUpdate()
|
// this.$forceUpdate()
|
||||||
},
|
},
|
||||||
incomingParameters(vale) {
|
incomingParameters(vale) {
|
||||||
let ruleLength = 0;
|
let ruleLength = 0
|
||||||
let valeLength = 0;
|
let valeLength = 0
|
||||||
for (let i in vale) {
|
for (let i in vale) {
|
||||||
valeLength = valeLength + 1;
|
valeLength = valeLength + 1
|
||||||
}
|
}
|
||||||
for (let i in this.ruleForm) {
|
for (let i in this.ruleForm) {
|
||||||
ruleLength = ruleLength + 1;
|
ruleLength = ruleLength + 1
|
||||||
}
|
}
|
||||||
// if(ruleLength == valeLength){
|
// if(ruleLength == valeLength){
|
||||||
// this.choiceAssignment(vale)
|
// this.choiceAssignment(vale)
|
||||||
|
@ -701,50 +701,50 @@ export default {
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
for (let i in vale) {
|
for (let i in vale) {
|
||||||
this.getField(i, vale[i]);
|
this.getField(i, vale[i])
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
resetFormPlus(formName) {
|
resetFormPlus(formName) {
|
||||||
for (let i in this.$refs[formName]) {
|
for (let i in this.$refs[formName]) {
|
||||||
this.getField(i, "");
|
this.getField(i, '')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 重置表单字段
|
// 重置表单字段
|
||||||
resetField(field) {
|
resetField(field) {
|
||||||
if (this.ruleForm[field]) {
|
if (this.ruleForm[field]) {
|
||||||
this.$set(this.ruleForm, field, "");
|
this.$set(this.ruleForm, field, '')
|
||||||
this.$refs["ruleForm"].clearValidate(field); // 清除表单特定属性
|
this.$refs['ruleForm'].clearValidate(field) // 清除表单特定属性
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
resetForm() {
|
resetForm() {
|
||||||
this.$refs[this.rulesName].clearValidate(); // 清除表单特定属性
|
this.$refs[this.rulesName].clearValidate() // 清除表单特定属性
|
||||||
},
|
},
|
||||||
resetFields() {
|
resetFields() {
|
||||||
// this.choiceAssignment({});
|
// this.choiceAssignment({});
|
||||||
this.$refs.ruleForm.resetFields();
|
this.$refs.ruleForm.resetFields()
|
||||||
},
|
},
|
||||||
// 下拉框更改,可根据 index 与 indexRow 定位具体位置
|
// 下拉框更改,可根据 index 与 indexRow 定位具体位置
|
||||||
selectChange(val, index, indexRow, row) {
|
selectChange(val, index, indexRow, row) {
|
||||||
this.$emit("onSelect", val, index, indexRow, row);
|
this.$emit('onSelect', val, index, indexRow, row)
|
||||||
this.$forceUpdate();
|
this.$forceUpdate()
|
||||||
},
|
},
|
||||||
switchChange(val, index, indexRow, row) {
|
switchChange(val, index, indexRow, row) {
|
||||||
this.$emit("switchChange", val, index, indexRow, row);
|
this.$emit('switchChange', val, index, indexRow, row)
|
||||||
},
|
},
|
||||||
// 自定义级联选择器返回值
|
// 自定义级联选择器返回值
|
||||||
getCascader(value, field) {
|
getCascader(value, field) {
|
||||||
this.$set(this.ruleForm, field, value);
|
this.$set(this.ruleForm, field, value)
|
||||||
},
|
},
|
||||||
// 表单提交
|
// 表单提交
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs[this.refName].validate((valid) => {
|
this.$refs[this.refName].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$emit("onSubmit", this.ruleForm);
|
this.$emit('onSubmit', this.ruleForm)
|
||||||
} else {
|
} else {
|
||||||
console.log("error submit!!");
|
console.log('error submit!!')
|
||||||
return false;
|
return false
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
// 表单重置
|
// 表单重置
|
||||||
resetForm() {
|
resetForm() {
|
||||||
|
@ -756,32 +756,32 @@ export default {
|
||||||
// });
|
// });
|
||||||
// this.choiceAssignment({});
|
// this.choiceAssignment({});
|
||||||
// this.$emit("resetForm", tempObj);
|
// this.$emit("resetForm", tempObj);
|
||||||
this.$refs[this.refName].resetFields();
|
this.$refs[this.refName].resetFields()
|
||||||
},
|
},
|
||||||
clearCheck(propName) {
|
clearCheck(propName) {
|
||||||
this.ruleForm[propName] = "";
|
this.ruleForm[propName] = ''
|
||||||
},
|
},
|
||||||
elDialogClick(row, index, indexRow) {
|
elDialogClick(row, index, indexRow) {
|
||||||
if (row.disabled) {
|
if (row.disabled) {
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
// row.prop
|
// row.prop
|
||||||
this.$emit("elDialogClick", row, index);
|
this.$emit('elDialogClick', row, index)
|
||||||
},
|
},
|
||||||
elDialogHover(row) {
|
elDialogHover(row) {
|
||||||
row.elDialogHoverType = true;
|
row.elDialogHoverType = true
|
||||||
},
|
},
|
||||||
elDialogLeave(row) {
|
elDialogLeave(row) {
|
||||||
// row.elDialogHoverType = false
|
// row.elDialogHoverType = false
|
||||||
},
|
},
|
||||||
// 单选按钮组input事件
|
// 单选按钮组input事件
|
||||||
changeRadio(val, index, indexRow, row) {
|
changeRadio(val, index, indexRow, row) {
|
||||||
this.$emit("onChangeRadio", val, index, indexRow, row);
|
this.$emit('onChangeRadio', val, index, indexRow, row)
|
||||||
},
|
},
|
||||||
normalizer(node, row) {
|
normalizer(node, row) {
|
||||||
//去掉children=null的属性
|
//去掉children=null的属性
|
||||||
if (node.children == null || node.children == "null") {
|
if (node.children == null || node.children == 'null') {
|
||||||
delete node.children;
|
delete node.children
|
||||||
}
|
}
|
||||||
// return{
|
// return{
|
||||||
// ...node,
|
// ...node,
|
||||||
|
@ -789,21 +789,21 @@ export default {
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
selectTree(row) {
|
selectTree(row) {
|
||||||
this.$emit("selectTree");
|
this.$emit('selectTree')
|
||||||
if (this.$refs.ruleForm) {
|
if (this.$refs.ruleForm) {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.ruleForm.validateField(row.id);
|
this.$refs.ruleForm.validateField(row.id)
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
treeSelectClear() {
|
treeSelectClear() {
|
||||||
this.$refs.selectTree.clear();
|
this.$refs.selectTree.clear()
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// this.$refs.ruleForm.resetFields();
|
// this.$refs.ruleForm.resetFields();
|
||||||
},
|
}
|
||||||
};
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.el-form-item__label {
|
.el-form-item__label {
|
||||||
|
@ -821,7 +821,11 @@ export default {
|
||||||
content: "";
|
content: "";
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<style scoped lang='scss'>
|
<style scoped lang="scss">
|
||||||
|
::v-deep .el-form-item__label {
|
||||||
|
padding: 0 0 5px !important;
|
||||||
|
}
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
/* @include fontBase(16px, #333333) ; */
|
/* @include fontBase(16px, #333333) ; */
|
||||||
color: #999;
|
color: #999;
|
||||||
|
|
|
@ -32,7 +32,7 @@ const tableColumn = [
|
||||||
id: 'mdmName',
|
id: 'mdmName',
|
||||||
title: '主数据名称',
|
title: '主数据名称',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
width:130,
|
width: 130
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'mdmTypeName',
|
id: 'mdmTypeName',
|
||||||
|
@ -78,16 +78,21 @@ const settingMenu = [
|
||||||
icon: 'masterDataMenu03',
|
icon: 'masterDataMenu03',
|
||||||
path: 'displayInfo'
|
path: 'displayInfo'
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// title: "配置权限",
|
|
||||||
// icon: "masterDataMenu04",
|
|
||||||
// path: "authorily"
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
title: '分发权限',
|
title: '数据来源',
|
||||||
|
icon: 'masterDataMenu04',
|
||||||
|
path: 'authorily'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '分发设置',
|
||||||
icon: 'masterDataMenu05',
|
icon: 'masterDataMenu05',
|
||||||
path: 'distribute'
|
path: 'distribute'
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
title: '日志',
|
||||||
|
icon: 'masterDataMenu06',
|
||||||
|
path: 'logsDeatil'
|
||||||
|
},
|
||||||
]
|
]
|
||||||
const configData = {
|
const configData = {
|
||||||
addForm,
|
addForm,
|
||||||
|
|
|
@ -466,7 +466,6 @@ export default {
|
||||||
},
|
},
|
||||||
//表字段校验通过正式开始保存
|
//表字段校验通过正式开始保存
|
||||||
async sonSaveHandle(params) {
|
async sonSaveHandle(params) {
|
||||||
console.log('进来了')
|
|
||||||
if (params.id) {
|
if (params.id) {
|
||||||
this.openLoading('submit')
|
this.openLoading('submit')
|
||||||
const res = await authApi('mdmModuleService', '', 'updateMdmDbField', '', params)
|
const res = await authApi('mdmModuleService', '', 'updateMdmDbField', '', params)
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
|
@ -1,61 +1,34 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="wrap">
|
<div class="wrap">
|
||||||
<div class="btn">
|
<div class="main" v-loading="mainLoading">
|
||||||
<div class="chunk">
|
<baseTable :tableData="tableData" :tabLoading="tabLoading"
|
||||||
<el-button
|
|
||||||
icon="el-icon-back"
|
|
||||||
@click="
|
|
||||||
$router.replace({ path: '/integrationOption/masterDataOptions' })
|
|
||||||
"
|
|
||||||
>返回
|
|
||||||
</el-button
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
<div class="chunk">
|
|
||||||
<el-button
|
|
||||||
icon="el-icon-first-aid-kit"
|
|
||||||
type="primary"
|
|
||||||
@click="saveHandle"
|
|
||||||
>保存
|
|
||||||
</el-button
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="main">
|
|
||||||
<!-- <div class="btn">-->
|
|
||||||
<!-- <el-button icon="el-icon-plus" type="primary" @click="addHandle">新增</el-button>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<baseTable @onFunc="onFunc" :tableData="tableData" :tabLoading="tabLoading"
|
|
||||||
:tableColumn="tableColumn" :funData="funData" :border="false"
|
|
||||||
>
|
|
||||||
<template #appId="{row}">
|
|
||||||
<baseNewSelect v-model="row['appId']" :itemObj="{label:'name',value:'id'}"
|
|
||||||
@seleChange="(val)=>seleChangeHanlde(val,row,'main')"
|
|
||||||
></baseNewSelect>
|
|
||||||
</template>
|
|
||||||
<template #addApi="{row}">
|
|
||||||
<div class="line" flex>
|
|
||||||
<baseNewSelect v-model="row['addApi']" :itemObj="{label:'apiName',value:'id'}"
|
|
||||||
:appId="row['appId']" :flag="true"
|
|
||||||
@seleChange="(val)=>seleChangeHanlde(val,row,'addApi')"
|
|
||||||
></baseNewSelect>
|
|
||||||
<el-button :disabled="!row['addApi']" @click="configurationHanlde(row,row['addApi'],'addApi')"
|
|
||||||
icon="el-icon-edit" type="primary"
|
|
||||||
></el-button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
:tableColumn="tableColumn" :border="false"
|
||||||
|
>
|
||||||
|
<!-- 触发类型-->
|
||||||
|
<template #enabledType="{row}">
|
||||||
|
{{ row.enabledType == 0 ? '手动' : '自动' }}
|
||||||
</template>
|
</template>
|
||||||
<template #deleteApi="{row}">
|
<!-- 启用/停用-->
|
||||||
<div class="line" flex>
|
<template #enabledState="{row}">
|
||||||
<baseNewSelect v-model="row['deleteApi']" :itemObj="{label:'apiName',value:'id'}"
|
<el-switch
|
||||||
:appId="row['appId']" :flag="true"
|
:disabled="true"
|
||||||
@seleChange="(val)=>seleChangeHanlde(val,row,'deleteApi')"
|
v-model="row.enabledState"
|
||||||
></baseNewSelect>
|
active-value="1"
|
||||||
<el-button :disabled="!row['deleteApi']" @click="configurationHanlde(row,row['deleteApi'],'deleteApi')"
|
inactive-value="0"
|
||||||
icon="el-icon-edit" type="primary"
|
>
|
||||||
></el-button>
|
</el-switch>
|
||||||
|
</template>
|
||||||
|
<!-- 操作-->
|
||||||
|
<template #operation="{row}">
|
||||||
|
<div class="btnList">
|
||||||
|
<div class="settingBtn" @click="sonTableEditHandle(row)">
|
||||||
|
<img src="./images/设置.png" alt="">
|
||||||
|
</div>
|
||||||
|
<div class="deleBtn" @click="activedOnFunc(row)">
|
||||||
|
<img src="./images/删除.png" alt="">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</baseTable>
|
</baseTable>
|
||||||
<div class="receiptsAddRow">
|
<div class="receiptsAddRow">
|
||||||
|
@ -68,83 +41,25 @@
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<baseRightDialog ref="settingForm"
|
||||||
</footer>
|
:footerShow="true"
|
||||||
<baseDialog v-model="addSwitch" @close="dialogCloseHandle" :width="dialogWidth" @confirm="confirmHandle">
|
:dialogVisible.sync="settingFormShow"
|
||||||
<div class="addBox" v-if="addSwitch">
|
title="分发设置"
|
||||||
<div class="title">
|
@handleClose="settingFormShow=false"
|
||||||
使用类型
|
:submitShow="true"
|
||||||
</div>
|
:size="'50%'"
|
||||||
<div class="radioList">
|
@handleConfirmClick="sonTableSaveHandle"
|
||||||
<el-radio-group v-model="addType" @change="typeChangHandle">
|
|
||||||
<el-radio label="1">使用插件</el-radio>
|
|
||||||
<el-radio label="2">连线</el-radio>
|
|
||||||
</el-radio-group>
|
|
||||||
</div>
|
|
||||||
<div class="content">
|
|
||||||
<template v-show="addType==='1'">
|
|
||||||
<div class="wrapContent" v-show="addType==='1'">
|
|
||||||
<div class="chunk">
|
|
||||||
<div class="label">使用插件</div>
|
|
||||||
<div class="select">
|
|
||||||
<el-select v-model="plugIn" placeholder="请选择">
|
|
||||||
<el-option
|
|
||||||
v-for="item in options"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.pluginName"
|
|
||||||
:value="item.id"
|
|
||||||
>
|
>
|
||||||
</el-option>
|
<settingForm ref="settingForm" v-if="settingFormShow" @saveSuccessHandle="saveSuccessHandle"></settingForm>
|
||||||
</el-select>
|
</baseRightDialog>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template v-show="addType==='2'">
|
|
||||||
<div class="wrapContent" v-show="addType==='2'">
|
|
||||||
<div class="title">链接对照表</div>
|
|
||||||
<div class="link">
|
|
||||||
<div class="left">
|
|
||||||
<baseLink
|
|
||||||
v-loading="linkloading"
|
|
||||||
ref="link"
|
|
||||||
:lookFlag="lookFlag"
|
|
||||||
:leftData="linkData.leftData"
|
|
||||||
:rightData="linkData.rightData"
|
|
||||||
@linechange="getLineData"
|
|
||||||
:lineData="linkData.lineData"
|
|
||||||
></baseLink>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<div class="title">
|
|
||||||
<h1 style="font-size: 16px">连接结果</h1>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div
|
|
||||||
v-for="item in linkData.lineData"
|
|
||||||
:key="item.leftid"
|
|
||||||
class="result"
|
|
||||||
>
|
|
||||||
<div class="left" :style="{ color: item.stroke }">
|
|
||||||
{{ item.leftTitle }}
|
|
||||||
</div>
|
|
||||||
<div class="middle">-</div>
|
|
||||||
<div class="right" :style="{ color: item.stroke }">
|
|
||||||
{{ item.rightTitle }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</baseDialog>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import settingForm from './settingForm.vue'
|
||||||
|
import baseRightDialog from '@/components/base/baseRightDialog/index.vue'
|
||||||
|
import baseNewSelect from '@/views/applicationList/com/baseNewSelect.vue'
|
||||||
import baseDialog from '@/views/integrationOption/compoments/baseDialog'
|
import baseDialog from '@/views/integrationOption/compoments/baseDialog'
|
||||||
import BaseTable from '@/views/intergrationTask/compoments/baseTable.vue'
|
import BaseTable from '@/views/intergrationTask/compoments/baseTable.vue'
|
||||||
import baseNewForm from '@/views/intergrationTask/compoments/baseNewForm'
|
import baseNewForm from '@/views/intergrationTask/compoments/baseNewForm'
|
||||||
|
@ -152,385 +67,194 @@ import { getApiModuleApi } from '@/api/apiChunks'
|
||||||
import { deepClone } from '@/utils/index.js'
|
import { deepClone } from '@/utils/index.js'
|
||||||
import { getUserModuleApi } from '@/api/integrationOption/integrationOption'
|
import { getUserModuleApi } from '@/api/integrationOption/integrationOption'
|
||||||
import basePage from '@/views/intergrationTask/compoments/basePage.vue'
|
import basePage from '@/views/intergrationTask/compoments/basePage.vue'
|
||||||
import baseLink from './baseLink/index.vue'
|
import { authApi } from '@/api/apis/auth'
|
||||||
import baseNewSelect from './baseNewSelect.vue'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
appOptions: [],
|
mainLoading: false,
|
||||||
addApiOptions: [],
|
saveLoading: false,
|
||||||
deleApiOptopns: [],
|
options: [],
|
||||||
options: [],//插件op
|
// 角色字典
|
||||||
plugIn: '',//插件
|
roleDist: {},
|
||||||
addSwitch: false, //dialog
|
addSwitch: false,
|
||||||
tabLoading: false, // tableloading
|
tabLoading: false,
|
||||||
tableColumn: [ //table
|
tableColumn: [
|
||||||
{
|
{
|
||||||
title: '应用列表',
|
title: '应用列表',
|
||||||
id: 'appId'
|
id: 'appName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '触发类型',
|
||||||
|
id: 'enabledType'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '新增接口',
|
title: '新增接口',
|
||||||
id: 'addApi'
|
id: 'addName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '修改接口',
|
||||||
|
id: 'updateName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '删除接口',
|
title: '删除接口',
|
||||||
id: 'deleteApi'
|
id: 'deleteName'
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
title: '数据权限',
|
||||||
|
id: 'permission',
|
||||||
|
tooltip: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '启用/停用',
|
||||||
|
id: 'enabledState'
|
||||||
|
},
|
||||||
|
{ title: '操作', id: 'operation' }
|
||||||
],
|
],
|
||||||
tableData: [], //table
|
tableData: [],
|
||||||
pageModel: { //page
|
pageModel: {
|
||||||
pageIndex: 1,
|
pageIndex: 1,
|
||||||
total: 10,
|
total: 10,
|
||||||
limit: 10
|
limit: 10
|
||||||
},
|
},
|
||||||
funData: [ //table
|
addRole: '',
|
||||||
{ text: '删除', color: '#e44b2d' }
|
settingFormShow: false,
|
||||||
],
|
serviceOptions: []
|
||||||
addType: '1', //使用类型
|
|
||||||
linkloading: false, //linkloading
|
|
||||||
lookFlag: false, //是否为查看模式
|
|
||||||
linkData: { //连线组件数据
|
|
||||||
leftData: [
|
|
||||||
{ label: 1, id: 1 },
|
|
||||||
{ label: 1, id: 2 },
|
|
||||||
{ label: 1, id: 3 },
|
|
||||||
{ label: 1, id: 4 },
|
|
||||||
{ label: 1, id: 5 }
|
|
||||||
],
|
|
||||||
leftDataCopy: [{ label: 1, id: 1 },
|
|
||||||
{ label: 1, id: 2 },
|
|
||||||
{ label: 1, id: 3 },
|
|
||||||
{ label: 1, id: 4 },
|
|
||||||
{ label: 1, id: 5 }],
|
|
||||||
rightData: [{ label: 1, id: 6 },
|
|
||||||
{ label: 1, id: 7 },
|
|
||||||
{ label: 1, id: 8 },
|
|
||||||
{ label: 1, id: 9 },
|
|
||||||
{ label: 1, id: 10 }],
|
|
||||||
rightDataCopy: [{ label: 1, id: 6 },
|
|
||||||
{ label: 1, id: 7 },
|
|
||||||
{ label: 1, id: 8 },
|
|
||||||
{ label: 1, id: 9 },
|
|
||||||
{ label: 1, id: 10 }],
|
|
||||||
lineData: []
|
|
||||||
},
|
|
||||||
dialogWidth: '40%',
|
|
||||||
activedRow: {},
|
|
||||||
activedType: ''
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onFunc(row) {
|
//保存/编辑成功
|
||||||
this.tableData.splice(row.index, 1)
|
saveSuccessHandle() {
|
||||||
},
|
this.settingFormShow = false
|
||||||
confirmHandle() {
|
this.getTableData()
|
||||||
//addType、deleteType、addList、deleteList、addPlug、deletePlug
|
|
||||||
if (this.addType === '1' && !this.plugIn) {
|
|
||||||
this.$vmNews('请选择使用插件', 'warning')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if (this.addType === '2' && !this.linkData.lineData.length) {
|
|
||||||
this.$vmNews('请配置链接对照表', 'warning')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.activedType === 'addApi') {
|
|
||||||
this.$set(this.activedRow, 'addType', this.addType)
|
|
||||||
if (this.addType === '1') {
|
|
||||||
this.$set(this.activedRow, 'addPlug', this.plugIn)
|
|
||||||
} else {
|
|
||||||
let arr = []
|
|
||||||
this.linkData.lineData.forEach((item) => {
|
|
||||||
//参考2 连线数据保存
|
|
||||||
let tempObj = {}
|
|
||||||
tempObj['sourceFeld'] = item['leftTitle'].split('.').slice(-1)
|
|
||||||
tempObj['sourceName'] = item['leftTitle']
|
|
||||||
tempObj['sourcePath'] = item['leftTitle']
|
|
||||||
tempObj['targetField'] = item['rightTitle'].split('.').slice(-1)
|
|
||||||
tempObj['targetPath'] = item['rightTitle']
|
|
||||||
tempObj['sourceFieldPath'] = JSON.stringify(item['leftidarr'])
|
|
||||||
tempObj['targetFieldPath'] = JSON.stringify(item['rightidarr'])
|
|
||||||
tempObj['coordinate'] = JSON.stringify(item)
|
|
||||||
arr.push(tempObj)
|
|
||||||
})
|
|
||||||
this.$set(this.activedRow, 'addList', arr)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
this.$set(this.activedRow, 'deleteType', this.addType)
|
|
||||||
if (this.addType === '1') {
|
|
||||||
this.$set(this.activedRow, 'deletePlug', this.plugIn)
|
|
||||||
} else {
|
|
||||||
let arr = []
|
|
||||||
this.linkData.lineData.forEach((item) => {
|
|
||||||
//参考2 连线数据保存
|
|
||||||
let tempObj = {}
|
|
||||||
tempObj['sourceField'] = item['leftTitle'].split('.').slice(-1)
|
|
||||||
tempObj['sourceName'] = item['leftTitle']
|
|
||||||
tempObj['sourcePath'] = item['leftTitle']
|
|
||||||
tempObj['targetField'] = item['rightTitle'].split('.').slice(-1)
|
|
||||||
tempObj['targetPath'] = item['rightTitle']
|
|
||||||
tempObj['sourceFieldPath'] = JSON.stringify(item['leftidarr'])
|
|
||||||
tempObj['targetFieldPath'] = JSON.stringify(item['rightidarr'])
|
|
||||||
tempObj['coordinate'] = JSON.stringify(item)
|
|
||||||
arr.push(tempObj)
|
|
||||||
})
|
|
||||||
this.$set(this.activedRow, 'deleteList', arr)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.addSwitch = false
|
|
||||||
},
|
|
||||||
lineDataHandle(targetid, arr, saveName, saveId) {
|
|
||||||
arr.some((item) => {
|
|
||||||
if (item.id === targetid) {
|
|
||||||
this.$set(item, 'value', true)
|
|
||||||
this.$set(item, 'isline', true)
|
|
||||||
this.$set(item, saveName, saveId)
|
|
||||||
return true
|
|
||||||
} else if (item.children && item.children.length) {
|
|
||||||
this.lineDataHandle(targetid, item.children, saveName, saveId)
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 递归处理函数
|
|
||||||
selectDataHanlde(resultArr, arr) {
|
|
||||||
arr.forEach((item) => {
|
|
||||||
let obj = {}
|
|
||||||
resultArr.push(obj)
|
|
||||||
obj['label'] = item.parameterName
|
|
||||||
obj['id'] = item.id
|
|
||||||
obj['type'] = item.concreteType
|
|
||||||
if (item.children) {
|
|
||||||
obj['children'] = []
|
|
||||||
this.selectDataHanlde(obj['children'], item.children)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 点击按钮配置事件 回显
|
|
||||||
async configurationHanlde(row, val, key) {
|
|
||||||
this.activedRow = row
|
|
||||||
this.activedType = key
|
|
||||||
let dist = {
|
|
||||||
addApi: ['addType', 'addList', 'addPlug'],
|
|
||||||
deleteApi: ['deleteType', 'deleteList', 'deletePlug']
|
|
||||||
}
|
|
||||||
this.addType = row[dist[key][0]] || '1'
|
|
||||||
if (this.addType === '1') {
|
|
||||||
this.plugIn = row[dist[key][2]]
|
|
||||||
} else {
|
|
||||||
this.dialogWidth = '90%'
|
|
||||||
}
|
|
||||||
const res = await getUserModuleApi({
|
|
||||||
tl: 'sysApplicationService',
|
|
||||||
as: '',
|
|
||||||
dj: 'queryPlugAndApi'
|
|
||||||
}, {
|
|
||||||
id: val,
|
|
||||||
appId: row['appId']
|
|
||||||
})
|
|
||||||
const res1 = await getApiModuleApi(
|
|
||||||
{
|
|
||||||
tl: 'sysApplicationService',
|
|
||||||
as: '',
|
|
||||||
dj: 'queryPlugAndApi'
|
|
||||||
},
|
|
||||||
{ id: val, appId: row['appId'] }
|
|
||||||
)
|
|
||||||
let tempArr = []
|
|
||||||
//点击编辑按钮后 重新获取插件列表
|
|
||||||
this.options = res.attribute.app
|
|
||||||
let bodyIn = JSON.parse(res.attribute.api.bodyIn)
|
|
||||||
if (bodyIn[0] && bodyIn[0].children) {
|
|
||||||
this.selectDataHanlde(tempArr, bodyIn[0].children)
|
|
||||||
}
|
|
||||||
this.linkData.rightData = tempArr
|
|
||||||
//不知道是干啥用的
|
|
||||||
// res1.attribute.para.forEach(item => {
|
|
||||||
// if (item.interfaceType === '2') {
|
|
||||||
// this.linkData.rightData.push({
|
|
||||||
// label: item.interfaceKey,
|
|
||||||
// id: item.id
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// })
|
|
||||||
if (row[dist[key][1]] && row[dist[key][1]].length) {
|
|
||||||
this.linkData.lineData = []
|
|
||||||
row[dist[key][1]].forEach(item => {
|
|
||||||
//
|
|
||||||
let leftArr = JSON.parse(item.sourceFieldPath)
|
|
||||||
let saveId = leftArr[leftArr.length - 1]
|
|
||||||
let rightArr = JSON.parse(item.targetFieldPath)
|
|
||||||
let targetid = rightArr[rightArr.length - 1]
|
|
||||||
this.lineDataHandle(
|
|
||||||
targetid,
|
|
||||||
this.linkData.rightData,
|
|
||||||
'leftid',
|
|
||||||
saveId
|
|
||||||
)
|
|
||||||
this.lineDataHandle(
|
|
||||||
saveId,
|
|
||||||
this.linkData.leftData,
|
|
||||||
'rightid',
|
|
||||||
targetid
|
|
||||||
)
|
|
||||||
if (item.coordinate) {
|
|
||||||
this.linkData.lineData.push(JSON.parse(item.coordinate))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
this.addSwitch = true
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.link.line = deepClone(this.linkData.lineData)
|
|
||||||
this.$refs.link.resizeHeight()
|
|
||||||
})
|
|
||||||
},
|
|
||||||
seleChangeHanlde(val, row, key) {
|
|
||||||
let dist = {
|
|
||||||
addApi: ['addType', 'addList', 'addPlug'],
|
|
||||||
deleteApi: ['deleteType', 'deleteList', 'deletePlug']
|
|
||||||
}
|
|
||||||
|
|
||||||
if (key === 'main') {
|
|
||||||
this.$set(row, 'addApi', '')
|
|
||||||
this.$set(row, 'deleteApi', '')
|
|
||||||
} else {
|
|
||||||
this.$set(row, dist[key][0], '')
|
|
||||||
this.$set(row, dist[key][1], [])
|
|
||||||
this.$set(row, dist[key][2], '')
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
addRowHandle() {
|
|
||||||
this.tableData.push({})
|
|
||||||
},
|
},
|
||||||
|
//这里需要拿到应用下啦为后续找中文环节做准备
|
||||||
async initSelect() {
|
async initSelect() {
|
||||||
const plugRes = await getUserModuleApi({
|
const res = await authApi('sysApplicationService', '', 'queryEntity', '', {})
|
||||||
tl: 'pluginService',
|
console.log(res)
|
||||||
as: 'plugins',
|
this.serviceOptions.options = []
|
||||||
dj: 'queryPluginsByType'
|
res.attribute.forEach(item => {
|
||||||
}, {
|
this.serviceOptions.push({
|
||||||
'pluginType': '1'
|
id: item.id,
|
||||||
|
label: item.name
|
||||||
})
|
})
|
||||||
// console.log(plugRes.attribute, 'plugRes.attribute')
|
})
|
||||||
// this.options = plugRes.attribute
|
return true
|
||||||
|
},
|
||||||
|
//获取tableData
|
||||||
|
async getTableData() {
|
||||||
|
const res = await authApi('mdmModuleService', '', 'queryMdmDistribute', '', {
|
||||||
|
mdmId: this.$route.query.id
|
||||||
|
})
|
||||||
|
this.tableData = res.attribute
|
||||||
|
console.log(this.tableData, 'table')
|
||||||
|
//这边需要开始处理应用列表、新增修改删除接口找中文环节
|
||||||
|
//需要将数据权限拼起来
|
||||||
|
let compareTypeDist = {
|
||||||
|
'1': '=',
|
||||||
|
'2': '!=',
|
||||||
|
'3': '>',
|
||||||
|
'4': '<'
|
||||||
|
}
|
||||||
|
let connectionSymbolDist = {
|
||||||
|
'1': 'and',
|
||||||
|
'2': 'or'
|
||||||
|
}
|
||||||
|
this.tableData.forEach(async(item) => {
|
||||||
|
this.$set(item, 'permission', '')
|
||||||
|
//找中文名环节
|
||||||
|
let obj = this.serviceOptions.find(ele => {
|
||||||
|
console.log(ele.id, item.appId, '13')
|
||||||
|
return ele.id === item.appId
|
||||||
|
})
|
||||||
|
this.$set(item, 'appName', obj.label)
|
||||||
|
let labelDist = {}
|
||||||
|
const res2 = await authApi('sysApplicationApiService', '', 'queryEntity', '', {
|
||||||
|
appId: item.appId
|
||||||
|
})
|
||||||
|
res2.attribute.forEach((item) => {
|
||||||
|
labelDist[item.id] = item.apiName
|
||||||
|
})
|
||||||
|
if (item.deleteApi) {
|
||||||
|
this.$set(item, 'deleteName', labelDist[item.deleteApi])
|
||||||
|
}
|
||||||
|
if (item.updateApi) {
|
||||||
|
this.$set(item, 'updateName', labelDist[item.updateApi])
|
||||||
|
}
|
||||||
|
if (item.addApi) {
|
||||||
|
this.$set(item, 'addName', labelDist[item.addApi])
|
||||||
|
}
|
||||||
|
//开始拼凑权限字段
|
||||||
|
item.mdmModuleDistributeDetailEntities.forEach(ele => {
|
||||||
|
console.log(ele, 'ele')
|
||||||
|
let leftBracket = ele.leftBracket ? ele.leftBracket : ''
|
||||||
|
let rightParenthesis = ele.rightParenthesis ? ele.rightParenthesis : ''
|
||||||
|
let compareType = compareTypeDist[ele.compareType]
|
||||||
|
let connectionSymbol = connectionSymbolDist[ele.connectionSymbol] ? connectionSymbolDist[ele.connectionSymbol] : ''
|
||||||
|
item.permission += leftBracket + ele.filedId + ' ' + compareType + ' ' + ele.filedVaule + rightParenthesis + ' ' + connectionSymbol + ' '
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
//保存
|
||||||
|
sonTableSaveHandle() {
|
||||||
|
this.$refs.settingForm.$refs.typeOptionForm.submitForm()
|
||||||
|
},
|
||||||
|
//设置
|
||||||
|
sonTableEditHandle(row) {
|
||||||
|
this.settingFormShow = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.settingForm.getrowDetails(row.id)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//删除
|
||||||
|
activedOnFunc(row) {
|
||||||
|
this.$confirm('确定删除?')
|
||||||
|
.then(async(_) => {
|
||||||
|
this.openLoading('submit')
|
||||||
|
const res = await authApi('mdmModuleService', '', 'deleteMdmDistribute', '', {
|
||||||
|
id: row.id
|
||||||
|
})
|
||||||
|
this.$vmNews('删除成功', 'success')
|
||||||
|
this.getTableData()
|
||||||
|
})
|
||||||
|
.catch((_) => {
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//添加
|
||||||
|
addRowHandle() {
|
||||||
|
this.settingFormShow = true
|
||||||
},
|
},
|
||||||
async init() {
|
async init() {
|
||||||
const res = await getUserModuleApi({
|
this.mainLoading = true
|
||||||
|
const res = await getApiModuleApi({
|
||||||
tl: 'mdmService',
|
tl: 'mdmService',
|
||||||
as: 'mdmService',
|
as: 'mdmService',
|
||||||
dj: 'queryMdmModuleDistribute'
|
dj: 'queryMdmModuleRule'
|
||||||
}, {
|
|
||||||
id: this.$route.query.id
|
|
||||||
})
|
|
||||||
if (res.status === '200') {
|
|
||||||
this.tableData = res.attribute
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async initLeftLink() {
|
|
||||||
const res = await getUserModuleApi({
|
|
||||||
tl: 'mdmService',
|
|
||||||
as: 'mdmService',
|
|
||||||
dj: 'queryMdmShowAll'
|
|
||||||
}, { id: this.$route.query.id })
|
}, { id: this.$route.query.id })
|
||||||
if (res.status === '200') {
|
|
||||||
let arr = []
|
|
||||||
res.attribute.forEach(item => {
|
res.attribute.forEach(item => {
|
||||||
arr.push({
|
item.mdmModuleRoleButtonEntities.forEach(ele => {
|
||||||
label: item.name,
|
item[ele.buttonType] = true
|
||||||
id: item.id
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
this.linkData.leftData = deepClone(arr)
|
this.mainLoading = false
|
||||||
this.linkData.leftDataCopy = deepClone(arr)
|
this.tableData = res.attribute
|
||||||
}
|
|
||||||
},
|
},
|
||||||
//使用类型变更事件
|
//close
|
||||||
typeChangHandle(val) {
|
|
||||||
if (val == 2) {
|
|
||||||
this.dialogWidth = '95%'
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.link.resizeHeight()
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
this.dialogWidth = '40%'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// dialog关闭事件
|
|
||||||
dialogCloseHandle() {
|
dialogCloseHandle() {
|
||||||
//重置连线组件数据
|
this.addRole = ''
|
||||||
this.linkData.lineData = []
|
|
||||||
this.linkData.leftData = deepClone(this.linkData.leftDataCopy)
|
|
||||||
this.linkData.rightData = []
|
|
||||||
//重置radio选择
|
|
||||||
this.addType = '1'
|
|
||||||
//重置select选择
|
|
||||||
this.plugIn = ''
|
|
||||||
//宽度默认
|
|
||||||
this.dialogWidth = '40%'
|
|
||||||
},
|
},
|
||||||
// 获取连线数据 x y坐标等等
|
//add
|
||||||
getLineData(data) {
|
addHandle() {
|
||||||
this.linkData.lineData = deepClone(data)
|
this.addSwitch = true
|
||||||
},
|
},
|
||||||
// 页码
|
// 页码
|
||||||
currentChangeHandle(pageModel) {
|
currentChangeHandle(pageModel) {
|
||||||
this.pageModel = pageModel
|
this.pageModel = pageModel
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
})
|
})
|
||||||
},
|
|
||||||
// save
|
|
||||||
async saveHandle() {
|
|
||||||
let arr = []
|
|
||||||
let flag = this.tableData.some((item, index) => {
|
|
||||||
if (!item.appId) {
|
|
||||||
this.$vmNews('请选择应用', 'warning')
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
if (arr.includes(item.appId)) {
|
|
||||||
this.$vmNews('不允许重复选择应用', 'warning')
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
arr.push(item.appId)
|
|
||||||
if (!item.addApi || !item.deleteApi) {
|
|
||||||
this.$vmNews('请选择接口', 'warning')
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
if (item.addApi === item.deleteApi) {
|
|
||||||
this.$vmNews('新增接口和删除接口不能选同一个', 'warning')
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
if (!item.addType) {
|
|
||||||
this.$vmNews(`请配置${index + 1}行新增接口`, 'warning')
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
if (!item.deleteType) {
|
|
||||||
this.$vmNews(`请配置${index + 1}行删除接口`, 'warning')
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
})
|
|
||||||
if (flag) return
|
|
||||||
let params = {
|
|
||||||
id: this.$route.query.id,
|
|
||||||
mdmModuleDistributeEntities: this.tableData
|
|
||||||
}
|
|
||||||
const res = await getUserModuleApi({
|
|
||||||
tl: 'mdmService',
|
|
||||||
as: 'mdmService',
|
|
||||||
dj: 'doSaveMdmModuleDistribute'
|
|
||||||
}, params)
|
|
||||||
if (res.status === '200') {
|
|
||||||
this.$vmNews('保存成功', 'success')
|
|
||||||
this.init()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
//add
|
|
||||||
addHandle() {
|
|
||||||
this.addSwitch = true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
baseNewForm,
|
baseNewForm,
|
||||||
|
@ -538,18 +262,28 @@ export default {
|
||||||
baseDialog,
|
baseDialog,
|
||||||
baseNewSelect,
|
baseNewSelect,
|
||||||
basePage,
|
basePage,
|
||||||
baseLink
|
baseRightDialog,
|
||||||
|
settingForm
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.init()
|
this.initSelect().then(() => {
|
||||||
this.initSelect()
|
this.getTableData()
|
||||||
this.initLeftLink()
|
})
|
||||||
this.$emit('flashActive', 3)
|
|
||||||
|
this.$emit('flashActive', 4)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
.receiptsAddRow {
|
||||||
|
margin-top: 30px;
|
||||||
|
border: 1px dotted #ccc;
|
||||||
|
text-align: center;
|
||||||
|
height: 50px;
|
||||||
|
line-height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
::v-deep .el-button {
|
::v-deep .el-button {
|
||||||
border-radius: 16px;
|
border-radius: 16px;
|
||||||
}
|
}
|
||||||
|
@ -597,71 +331,48 @@ footer {
|
||||||
}
|
}
|
||||||
|
|
||||||
.addBox {
|
.addBox {
|
||||||
.title {
|
> .chunk {
|
||||||
font-weight: 600;
|
|
||||||
margin: 10px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.radioList {
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content {
|
|
||||||
margin-top: 30px;
|
|
||||||
|
|
||||||
.chunk {
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.label {
|
|
||||||
font-weight: 800;
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.link {
|
|
||||||
padding: 30px;
|
|
||||||
display: flex;
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
> .left {
|
|
||||||
width: 1000px;
|
|
||||||
min-height: 300px;
|
|
||||||
}
|
|
||||||
|
|
||||||
> .right {
|
|
||||||
margin-left: 50px;
|
|
||||||
width: 30vw;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
.result {
|
|
||||||
margin-top: 30px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
> .left {
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
> .right {
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.receiptsAddRow {
|
.btnList {
|
||||||
margin-top: 30px;
|
display: flex;
|
||||||
border: 1px dotted #ccc;
|
align-items: center;
|
||||||
text-align: center;
|
justify-content: center;
|
||||||
height: 50px;
|
|
||||||
line-height: 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.line {
|
.settingBtn {
|
||||||
|
cursor: pointer;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
background: #EBEBED;
|
||||||
|
border-radius: 6px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
> img {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.deleBtn {
|
||||||
|
cursor: pointer;
|
||||||
|
margin-left: 10px;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
background: #EBEBED;
|
||||||
|
border-radius: 6px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
> img {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -0,0 +1,587 @@
|
||||||
|
<template>
|
||||||
|
<div class="settingForm">
|
||||||
|
<baseNewForm
|
||||||
|
ref="typeOptionForm"
|
||||||
|
:spanNumber="18"
|
||||||
|
:isFunBtn="false"
|
||||||
|
:formRow="formRow"
|
||||||
|
:ruleForm="ruleForm"
|
||||||
|
:labelPosition="'top'"
|
||||||
|
@onSelect="typeSelectChangeHanlde"
|
||||||
|
@onSubmit="typeOptionOnSubmit"
|
||||||
|
>
|
||||||
|
</baseNewForm>
|
||||||
|
<div class="bigTitle">数据权限设置</div>
|
||||||
|
<div class="tableName">
|
||||||
|
<div class="title">数据主表名称</div>
|
||||||
|
<div class="input">
|
||||||
|
<el-select clearable v-model="tableId" @change="serviceSeleChangHadle">
|
||||||
|
<el-option v-for="(item,index) of serviceOptions" :key="index" :label="item.label"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="main" v-loading="mainLoading">
|
||||||
|
<!-- 此处逻辑当拥有左括号或者右括号时 连接符清除并禁用-->
|
||||||
|
<baseTable :tableData="tableData" :tabLoading="tabLoading"
|
||||||
|
:tableColumn="tableColumn" :border="false"
|
||||||
|
>
|
||||||
|
<!-- 左括号-->
|
||||||
|
<template #leftBracket="{row}">
|
||||||
|
<el-select clearable v-model="row.leftBracket"
|
||||||
|
>
|
||||||
|
<el-option v-for="(item,index) of leftBracketOptions" :key="index" :label="item.label" :value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
<!-- 字段名称-->
|
||||||
|
<template #filedName="{row}">
|
||||||
|
<el-select clearable v-model="row.filedId" @change="(val)=>{filedIdChangHandle(val,row)}">
|
||||||
|
<el-option v-for="(item,index) of labelOptions" :key="index" :label="item.label" :value="item.id">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
<!-- 对比类型-->
|
||||||
|
<template #compareType="{row}">
|
||||||
|
<el-select clearable v-model="row.compareType">
|
||||||
|
<el-option v-for="(item,index) of compareTypeOptions" :key="index" :label="item.label" :value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
<!-- 运算值-->
|
||||||
|
<template #filedVaule="{row}">
|
||||||
|
<el-input v-model="row.filedVaule"></el-input>
|
||||||
|
</template>
|
||||||
|
<!-- 连接符-->
|
||||||
|
<template #connectionSymbol="{row}">
|
||||||
|
<el-select clearable v-model="row.connectionSymbol"
|
||||||
|
>
|
||||||
|
<el-option v-for="(item,index) of connectionSymbolOptions" :key="index" :label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
<!-- 右括号-->
|
||||||
|
<template #rightParenthesis="{row}">
|
||||||
|
<el-select clearable v-model="row.rightParenthesis">
|
||||||
|
<el-option v-for="(item,index) of rightParenthesisOptions" :key="index" :label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
<!-- 操作-->
|
||||||
|
<template #operation="{row}">
|
||||||
|
<div class="btnList">
|
||||||
|
<div class="deleBtn" @click="activedOnFunc(row)">
|
||||||
|
<img src="./images/删除.png" alt="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</baseTable>
|
||||||
|
<div class="receiptsAddRow">
|
||||||
|
<el-link
|
||||||
|
type="primary"
|
||||||
|
@click="addRowHandle"
|
||||||
|
:underline="false"
|
||||||
|
>+ 添加
|
||||||
|
</el-link
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import baseNewForm from '../compoments/baseNewForm'
|
||||||
|
import BaseTable from '@/views/intergrationTask/compoments/baseTable.vue'
|
||||||
|
import { authApi } from '@/api/apis/auth'
|
||||||
|
import { getApiModuleApi } from '@/api/apiChunks'
|
||||||
|
import { retrieveRawAttr } from 'echarts/lib/data/helper/dataProvider'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'settingForm',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
formRow: [
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'select',
|
||||||
|
title: '应用列表',
|
||||||
|
id: 'appId',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
options: []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'select',
|
||||||
|
title: '触发类型',
|
||||||
|
id: 'enabledType',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
label: '手动',
|
||||||
|
id: '0'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '自动',
|
||||||
|
id: '1'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'select',
|
||||||
|
title: '新增接口',
|
||||||
|
id: 'addApi',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
options: []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'select',
|
||||||
|
title: '修改接口',
|
||||||
|
id: 'updateApi',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
options: []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'select',
|
||||||
|
title: '删除接口',
|
||||||
|
id: 'deleteApi',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
options: []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
type: 'switch',
|
||||||
|
title: '启用/停用',
|
||||||
|
id: 'enabledState',
|
||||||
|
row: 24,
|
||||||
|
disabled: false,
|
||||||
|
required: true,
|
||||||
|
fontSize: 16,
|
||||||
|
activeValue: '1',
|
||||||
|
inactiveValue: '0'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
ruleForm: {},
|
||||||
|
tableId: '',//数据源主表名称
|
||||||
|
mainLoading: false,
|
||||||
|
tabLoading: false,
|
||||||
|
tableData: [],
|
||||||
|
tableColumn: [
|
||||||
|
{
|
||||||
|
title: '括号',
|
||||||
|
id: 'leftBracket'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '字段名称',
|
||||||
|
id: 'filedName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '字段编码',
|
||||||
|
id: 'filedId'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '运算符',
|
||||||
|
id: 'compareType'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '运算值',
|
||||||
|
id: 'filedVaule'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '连接符',
|
||||||
|
id: 'connectionSymbol'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '括号',
|
||||||
|
id: 'rightParenthesis'
|
||||||
|
},
|
||||||
|
{ title: '操作', id: 'operation' }
|
||||||
|
],
|
||||||
|
compareTypeOptions: [
|
||||||
|
{
|
||||||
|
label: '=',
|
||||||
|
value: '1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '!=',
|
||||||
|
value: '2'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '>',
|
||||||
|
value: '3'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '<',
|
||||||
|
value: '4'
|
||||||
|
}
|
||||||
|
|
||||||
|
],//对比类型options
|
||||||
|
connectionSymbolOptions: [
|
||||||
|
{
|
||||||
|
label: 'and',
|
||||||
|
value: '1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'or',
|
||||||
|
value: '2'
|
||||||
|
}
|
||||||
|
],//连接符号options
|
||||||
|
leftBracketOptions: [
|
||||||
|
{
|
||||||
|
label: '(',
|
||||||
|
value: '('
|
||||||
|
}
|
||||||
|
],//左括号
|
||||||
|
rightParenthesisOptions: [
|
||||||
|
{
|
||||||
|
label: ')',
|
||||||
|
value: ')'
|
||||||
|
}
|
||||||
|
],//右括号
|
||||||
|
serviceOptions: [],//主表
|
||||||
|
labelOptions: [],//字段名称下啦
|
||||||
|
labelDist: {}//字段名称字典
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//字段名称修改事件 需要存filedName
|
||||||
|
filedIdChangHandle(val, row) {
|
||||||
|
row.filedName = this.labelDist[val]
|
||||||
|
},
|
||||||
|
//主表名称下啦改变事件 1.请求字段名称做成下啦 2.清除表单内所有字段名称和编码
|
||||||
|
async serviceSeleChangHadle(val, flag = true) {
|
||||||
|
if (flag) {
|
||||||
|
this.labelOptions = []
|
||||||
|
this.labelDist = {}
|
||||||
|
this.tableData.forEach(item => {
|
||||||
|
item.filedName = ''
|
||||||
|
item.filedId = ''
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (val) {
|
||||||
|
let obj = this.serviceOptions.find(item => {
|
||||||
|
return val === item.id
|
||||||
|
})
|
||||||
|
const res = await getApiModuleApi({
|
||||||
|
tl: 'mdmModuleService',
|
||||||
|
as: '',
|
||||||
|
dj: 'queryMdmServiceField'
|
||||||
|
}, { mdmId: obj.mdmId, dbId: obj.dbId })
|
||||||
|
res.attribute.forEach(item => {
|
||||||
|
this.$set(this.labelDist, item.enName, item.chName)
|
||||||
|
this.labelOptions.push({
|
||||||
|
id: item.enName,
|
||||||
|
label: item.chName
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//表字段字段类型下啦初始化
|
||||||
|
async initSelect() {
|
||||||
|
//服务名下拉
|
||||||
|
this.serviceOptions = []
|
||||||
|
const service = await getApiModuleApi({
|
||||||
|
tl: 'mdmModuleService',
|
||||||
|
as: '',
|
||||||
|
dj: 'queryMdmService'
|
||||||
|
}, { remark: '' })
|
||||||
|
service.attribute.forEach(item => {
|
||||||
|
console.log(item.dbName, 'item')
|
||||||
|
this.serviceOptions.push({
|
||||||
|
id: item.id,
|
||||||
|
label: item.remark,
|
||||||
|
dbId: item.id,
|
||||||
|
mdmId: item.mdmId
|
||||||
|
})
|
||||||
|
})
|
||||||
|
console.log(this.serviceOptions, 'this.serviceOptions')
|
||||||
|
},
|
||||||
|
async typeSelectChangeHanlde(val, index, indexRow, row, flag = true) {
|
||||||
|
if (flag && row.id === 'appId') {
|
||||||
|
this.formRow[2].elCol[0].options = []
|
||||||
|
this.formRow[3].elCol[0].options = []
|
||||||
|
this.formRow[4].elCol[0].options = []
|
||||||
|
this.$set(this.ruleForm, 'addApi', '')
|
||||||
|
this.$set(this.ruleForm, 'updateApi', '')
|
||||||
|
this.$set(this.ruleForm, 'deleteApi', '')
|
||||||
|
}
|
||||||
|
//当下啦是appid时条用接口查询该app下的所有接口用在新增、修改、删除上
|
||||||
|
if (row.id === 'appId' && val) {
|
||||||
|
const res = await authApi('sysApplicationApiService', '', 'queryEntity', '', {
|
||||||
|
appId: val
|
||||||
|
})
|
||||||
|
res.attribute.forEach((item) => {
|
||||||
|
this.formRow[2].elCol[0].options.push({
|
||||||
|
id: item.id,
|
||||||
|
label: item.apiName
|
||||||
|
})
|
||||||
|
this.formRow[3].elCol[0].options.push({
|
||||||
|
id: item.id,
|
||||||
|
label: item.apiName
|
||||||
|
})
|
||||||
|
this.formRow[4].elCol[0].options.push({
|
||||||
|
id: item.id,
|
||||||
|
label: item.apiName
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
//测试通过
|
||||||
|
async typeOptionOnSubmit() {
|
||||||
|
let flag
|
||||||
|
//校验规则:1.允许表单为0行 2.当表单为1行时只需要判断 字段、运算符、运算值的填写 3.当表单>1行时第一行必须要填写左括号 。最后一行表单则必填右括号,非最后一行必填连接符,一行中不能同时出现左括号和右括号
|
||||||
|
if (this.tableData.length === 1) {
|
||||||
|
flag = this.tableData.some(item => {
|
||||||
|
if (item.leftBracket || item.rightParenthesis || item.connectionSymbol) {
|
||||||
|
this.$vmNews(`当仅有一行时不允许填写左右括号及连接符`)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if (!item.filedName) {
|
||||||
|
this.$vmNews('请选择字段名称')
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if (!item.compareType) {
|
||||||
|
this.$vmNews('请选择运算符')
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if (!item.filedVaule) {
|
||||||
|
this.$vmNews('请填写运算值')
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else if (this.tableData.length > 1) {
|
||||||
|
//这边需要开始计算左括号和右括号数量 两者括号只允许左括号-右括号=1或者左括号-右括号=0否则报错
|
||||||
|
let leftBracketNum = 0
|
||||||
|
let rightParenthesisNum = 0
|
||||||
|
flag = this.tableData.some((item, index) => {
|
||||||
|
//最后一行右括号为必填
|
||||||
|
if (index + 1 === this.tableData.length && !item.rightParenthesis) {
|
||||||
|
this.$vmNews(`最后一行请填写右括号`)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
//第一行必须填写左括号
|
||||||
|
if (index + 1 === 1 && !item.leftBracket) {
|
||||||
|
this.$vmNews(`首行请填写左括号`)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
//除了最后一行每一行的连接符为必填
|
||||||
|
if (index + 1 != this.tableData.length && !item.connectionSymbol) {
|
||||||
|
this.$vmNews(`第${index + 1}请填写连接符`)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
//最后一行不允许填写连接符
|
||||||
|
if (index + 1 == this.tableData.length && item.connectionSymbol) {
|
||||||
|
this.$vmNews(`最后一行不允许填写连接符`)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if (!item.filedName) {
|
||||||
|
this.$vmNews(`第${index + 1}行请填写字段名称`)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if (!item.compareType) {
|
||||||
|
this.$vmNews(`第${index + 1}行请填写运算符`)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if (!item.filedVaule) {
|
||||||
|
this.$vmNews(`第${index + 1}行请填写运算值`)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if (item.leftBracket && item.rightParenthesis) {
|
||||||
|
this.$vmNews(`第${index + 1}行中不允许同时存在左括号和右括号`)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
//开始判断左右括号是否一致
|
||||||
|
if (item.leftBracket) {
|
||||||
|
leftBracketNum++
|
||||||
|
let num = leftBracketNum - rightParenthesisNum
|
||||||
|
if (num !== 0 && num !== 1) {
|
||||||
|
this.$vmNews(`第${index + 1}行中左括号填写不符合规则请重新填写`)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (item.rightParenthesis) {
|
||||||
|
rightParenthesisNum++
|
||||||
|
let num = leftBracketNum - rightParenthesisNum
|
||||||
|
if (num !== 0 && num !== 1) {
|
||||||
|
this.$vmNews(`第${index + 1}行中右括号填写不符合规则请重新填写`)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (flag) return
|
||||||
|
let params = {
|
||||||
|
...this.ruleForm,
|
||||||
|
dbId: this.tableId,
|
||||||
|
mdmId: this.$route.query.id,
|
||||||
|
mdmModuleDistributeDetailEntities: this.tableData
|
||||||
|
}
|
||||||
|
if (params.id) {
|
||||||
|
this.openLoading('submit')
|
||||||
|
const res = await authApi('mdmModuleService', '', 'updateMdmDistribute', '', params)
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.$emit('saveSuccessHandle')
|
||||||
|
} else {
|
||||||
|
this.openLoading('submit')
|
||||||
|
const res = await authApi('mdmModuleService', '', 'saveMdmDistribute', '', params)
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.$emit('saveSuccessHandle')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
addRowHandle() {
|
||||||
|
this.tableData.push({
|
||||||
|
'leftBracket': '',//左括号
|
||||||
|
'filedName': '',//字段名
|
||||||
|
'compareType': '',//对比类型 1、等于 2、不等于 3、大于 4、小于
|
||||||
|
'filedVaule': '',//值
|
||||||
|
'connectionSymbol': '',// 连接符号 1\and 2\or
|
||||||
|
'rightParenthesis': ''// 右括号
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//删除
|
||||||
|
activedOnFunc(row) {
|
||||||
|
this.tableData.splice(row.index, 1)
|
||||||
|
},
|
||||||
|
//获取应用下啦
|
||||||
|
async getAppList() {
|
||||||
|
const res = await authApi('sysApplicationService', '', 'queryEntity', '', {})
|
||||||
|
console.log(res)
|
||||||
|
this.formRow[0].elCol[0].options = []
|
||||||
|
res.attribute.forEach(item => {
|
||||||
|
this.formRow[0].elCol[0].options.push({
|
||||||
|
id: item.id,
|
||||||
|
label: item.name
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
//编辑获取数据
|
||||||
|
async getrowDetails(id) {
|
||||||
|
this.openLoading('detail')
|
||||||
|
const res = await authApi('mdmModuleService', '', 'getMdmDistribute', '', {
|
||||||
|
id
|
||||||
|
})
|
||||||
|
this.ruleForm = res.attribute
|
||||||
|
this.tableId = this.ruleForm.dbId
|
||||||
|
this.tableData = res.attribute.mdmModuleDistributeDetailEntities
|
||||||
|
console.log(this.tableData, '?')
|
||||||
|
this.typeSelectChangeHanlde(this.ruleForm.appId, 0, 0, { id: 'appId' }, false)
|
||||||
|
this.serviceSeleChangHadle(this.ruleForm.dbId, false)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getAppList()
|
||||||
|
this.initSelect()
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
BaseTable,
|
||||||
|
baseNewForm
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.bigTitle {
|
||||||
|
border-top: 1px solid #EBEBEB;
|
||||||
|
padding-top: 20px;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 22px;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tableName {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin: 30px 0;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
margin-right: 20px;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 20px;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.receiptsAddRow {
|
||||||
|
margin-top: 30px;
|
||||||
|
border: 1px dotted #ccc;
|
||||||
|
text-align: center;
|
||||||
|
height: 50px;
|
||||||
|
line-height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btnList {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.deleBtn {
|
||||||
|
cursor: pointer;
|
||||||
|
margin-left: 10px;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
background: #EBEBED;
|
||||||
|
border-radius: 6px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
> img {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -255,7 +255,7 @@ export default {
|
||||||
this.$set(el, 'imgUrl', tempImgUrl)
|
this.$set(el, 'imgUrl', tempImgUrl)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
console.log(res,'res')
|
console.log(res, 'res')
|
||||||
this.tableData = res.attribute
|
this.tableData = res.attribute
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -276,7 +276,7 @@ export default {
|
||||||
if (item.type === 'setting') {
|
if (item.type === 'setting') {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/integrationOption/settingMenu/masterDataEdit',
|
path: '/integrationOption/settingMenu/masterDataEdit',
|
||||||
query: { flag: 'setting', id: val.id, name: val.name, appLogo: val.appLogo }
|
query: { flag: 'setting', id: val.id, name: val.name, appLogo: val.appLogo, mdmCode: val.mdmCode }
|
||||||
})
|
})
|
||||||
} else if (item.type === 'copy') {
|
} else if (item.type === 'copy') {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
|
|
|
@ -0,0 +1,202 @@
|
||||||
|
<template>
|
||||||
|
<div class="logsDeatil">
|
||||||
|
<div class="tabs">
|
||||||
|
<div class="chunk" :class="{acivted:activeName==='1'}" @click="tabsHandleClick('1')">下发日志</div>
|
||||||
|
<div class="chunk" :class="{acivted:activeName==='2'}" @click="tabsHandleClick('2')">写入日志</div>
|
||||||
|
</div>
|
||||||
|
<div class="table">
|
||||||
|
<baseTable :tableData="tableData" :tabLoading="tabLoading"
|
||||||
|
:tableColumn="tableColumn" :border="false" tableHeight="70vh"
|
||||||
|
>
|
||||||
|
<!-- 状态-->
|
||||||
|
<template #dataType="{row}">
|
||||||
|
{{ row.dataType == 1 ? '成功' : '失败'}}
|
||||||
|
</template>
|
||||||
|
<!-- 操作类型-->
|
||||||
|
<template #optionType="{row}">
|
||||||
|
{{ optionTypeDist[row.optionType]}}
|
||||||
|
</template>
|
||||||
|
</baseTable>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<basePage :pageModel="pageModel" @update:pageModel="currentChangeHandle"></basePage>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import BaseTable from '@/views/intergrationTask/compoments/baseTable.vue'
|
||||||
|
import basePage from '@/views/intergrationTask/compoments/basePage.vue'
|
||||||
|
import { authApi } from '@/api/apis/auth'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'index',
|
||||||
|
components: { basePage, BaseTable },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activeName: '1',
|
||||||
|
tableData: [],
|
||||||
|
tableColumn: [],
|
||||||
|
tabLoading: false,
|
||||||
|
tableColumnTypeOne: [
|
||||||
|
{
|
||||||
|
title: "目标应用",
|
||||||
|
id: "targetApp",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "目标api",
|
||||||
|
id: "targetApi",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "源数据",
|
||||||
|
id: "sourceData",
|
||||||
|
tooltip: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "状态",
|
||||||
|
id: "dataType",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "返回信息",
|
||||||
|
id: "remark",
|
||||||
|
tooltip: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "操作类型",
|
||||||
|
id: "optionType",
|
||||||
|
},
|
||||||
|
|
||||||
|
],//下发日志用
|
||||||
|
tableColumnTypeTwo: [
|
||||||
|
{
|
||||||
|
title: "来源名称",
|
||||||
|
id: "sourceName",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "编码",
|
||||||
|
id: "code",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "源数据",
|
||||||
|
id: "sourceData",
|
||||||
|
tooltip: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "状态",
|
||||||
|
id: "dataType",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "返回信息",
|
||||||
|
id: "remark",
|
||||||
|
tooltip: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建时间",
|
||||||
|
id: "create_time",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "操作类型",
|
||||||
|
id: "optionType",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "操作人",
|
||||||
|
id: "optionName",
|
||||||
|
},
|
||||||
|
|
||||||
|
],//写入日志用
|
||||||
|
pageModel: {
|
||||||
|
pageIndex: 1,
|
||||||
|
total: 10,
|
||||||
|
limit: 10
|
||||||
|
},
|
||||||
|
optionTypeDist:{
|
||||||
|
1:"新增",
|
||||||
|
2:"修改",
|
||||||
|
3:"删除",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//选项卡切换事件
|
||||||
|
tabsHandleClick(num) {
|
||||||
|
if (this.activeName === num) return
|
||||||
|
this.activeName = num
|
||||||
|
this.pageModel.pageIndex = 1
|
||||||
|
this.initMainTableData()
|
||||||
|
},
|
||||||
|
// 页码
|
||||||
|
currentChangeHandle(pageModel) {
|
||||||
|
this.pageModel = pageModel
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.initMainTableData(this.searchForm)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
async initMainTableData() {
|
||||||
|
if (this.activeName === '2') {
|
||||||
|
const res = await authApi('mdmModuleService', '', 'queryMdmOptionLogPage', '', {
|
||||||
|
pageNum: this.pageModel.pageIndex,
|
||||||
|
pageSize: this.pageModel.limit,
|
||||||
|
mdmCode: this.$route.query.mdmCode
|
||||||
|
})
|
||||||
|
this.tableColumn = this.tableColumnTypeTwo
|
||||||
|
this.tableData = res.attribute.list
|
||||||
|
this.pageModel.total = res.attribute.total
|
||||||
|
} else {
|
||||||
|
const res = await authApi('mdmModuleService', '', 'queryMdmDistributeLogPage', '', {
|
||||||
|
pageNum: this.pageModel.pageIndex,
|
||||||
|
pageSize: this.pageModel.limit,
|
||||||
|
mdmCode: this.$route.query.mdmCode
|
||||||
|
})
|
||||||
|
this.tableColumn = this.tableColumnTypeOne
|
||||||
|
this.tableData = res.attribute.list
|
||||||
|
this.pageModel.total = res.attribute.total
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.initMainTableData()
|
||||||
|
this.$emit('flashActive', 5)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.logsDeatil {
|
||||||
|
margin-left: 10px;
|
||||||
|
background-color: #fff;
|
||||||
|
|
||||||
|
.tabs {
|
||||||
|
display: flex;
|
||||||
|
border-bottom: 1px solid #EBEBEB;
|
||||||
|
padding-left: 118px;
|
||||||
|
|
||||||
|
.chunk {
|
||||||
|
cursor: pointer;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 22px;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
padding: 20px 12px;
|
||||||
|
margin-left: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.acivted {
|
||||||
|
border-bottom: 2px #1478F6 solid !important;
|
||||||
|
color: #1478F6 !important;
|
||||||
|
font-weight: 700;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.table {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -55,6 +55,7 @@ export default {
|
||||||
saveSuccessInit(res, fun) {
|
saveSuccessInit(res, fun) {
|
||||||
console.log(res, 'res')
|
console.log(res, 'res')
|
||||||
this.billid = res.attribute.id
|
this.billid = res.attribute.id
|
||||||
|
this.mdmCode = res.attribute.mdmCode
|
||||||
this.$refs.routerChunk.billid = this.billid
|
this.$refs.routerChunk.billid = this.billid
|
||||||
this.initEditFormData()
|
this.initEditFormData()
|
||||||
fun()
|
fun()
|
||||||
|
@ -100,8 +101,9 @@ export default {
|
||||||
if (item.path && !this.$route.path.includes(item.path)) {
|
if (item.path && !this.$route.path.includes(item.path)) {
|
||||||
this.menuActived = index
|
this.menuActived = index
|
||||||
this.$set(this.query, 'id', this.billid)
|
this.$set(this.query, 'id', this.billid)
|
||||||
|
this.$set(this.query, 'mdmCode', this.mdmCode)
|
||||||
this.$router.replace({
|
this.$router.replace({
|
||||||
name: item.path,
|
path: item.path,
|
||||||
query: this.query
|
query: this.query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -113,6 +115,7 @@ export default {
|
||||||
mounted() {
|
mounted() {
|
||||||
if (this.$route.query.flag !== 'new') {
|
if (this.$route.query.flag !== 'new') {
|
||||||
this.billid = this.$route.query.id
|
this.billid = this.$route.query.id
|
||||||
|
this.mdmCode = this.$route.query.mdmCode
|
||||||
this.initEditFormData()
|
this.initEditFormData()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue