2024-06-20 11:40:09 +08:00
|
|
|
|
<template>
|
|
|
|
|
<div class="settingForm">
|
|
|
|
|
<baseNewForm
|
2024-06-20 16:11:38 +08:00
|
|
|
|
ref="typeOptionForm"
|
|
|
|
|
:spanNumber="18"
|
|
|
|
|
:isFunBtn="false"
|
|
|
|
|
:formRow="formRow"
|
|
|
|
|
:ruleForm="ruleForm"
|
|
|
|
|
:labelPosition="'top'"
|
|
|
|
|
@onSelect="typeSelectChangeHanlde"
|
|
|
|
|
@onSubmit="typeOptionOnSubmit"
|
2024-06-20 11:40:09 +08:00
|
|
|
|
>
|
|
|
|
|
</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
|
2024-06-20 16:11:38 +08:00
|
|
|
|
type="primary"
|
|
|
|
|
@click="addRowHandle"
|
|
|
|
|
:underline="false"
|
2024-06-20 11:40:09 +08:00
|
|
|
|
>+ 添加
|
|
|
|
|
</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: []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2024-06-20 16:11:38 +08:00
|
|
|
|
{
|
|
|
|
|
elCol: [
|
|
|
|
|
{
|
|
|
|
|
type: 'select',
|
|
|
|
|
title: '新增脚本',
|
|
|
|
|
id: 'addScript',
|
|
|
|
|
row: 24,
|
|
|
|
|
disabled: false,
|
|
|
|
|
fontSize: 16,
|
|
|
|
|
options: []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
elCol: [
|
|
|
|
|
{
|
|
|
|
|
type: 'select',
|
|
|
|
|
title: '修改脚本',
|
|
|
|
|
id: 'updateScript',
|
|
|
|
|
row: 24,
|
|
|
|
|
disabled: false,
|
|
|
|
|
fontSize: 16,
|
|
|
|
|
options: []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
elCol: [
|
|
|
|
|
{
|
|
|
|
|
type: 'select',
|
|
|
|
|
title: '删除脚本',
|
|
|
|
|
id: 'deleteScript',
|
|
|
|
|
row: 24,
|
|
|
|
|
disabled: false,
|
|
|
|
|
fontSize: 16,
|
|
|
|
|
options: []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2024-06-20 11:40:09 +08:00
|
|
|
|
{
|
|
|
|
|
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 = []
|
2024-06-20 16:11:38 +08:00
|
|
|
|
this.formRow[5].elCol[0].options = []
|
|
|
|
|
this.formRow[6].elCol[0].options = []
|
|
|
|
|
this.formRow[7].elCol[0].options = []
|
2024-06-20 11:40:09 +08:00
|
|
|
|
this.$set(this.ruleForm, 'addApi', '')
|
|
|
|
|
this.$set(this.ruleForm, 'updateApi', '')
|
|
|
|
|
this.$set(this.ruleForm, 'deleteApi', '')
|
2024-06-20 16:11:38 +08:00
|
|
|
|
this.$set(this.ruleForm, 'addScript', '')
|
|
|
|
|
this.$set(this.ruleForm, 'updateScript', '')
|
|
|
|
|
this.$set(this.ruleForm, 'deleteScript', '')
|
2024-06-20 11:40:09 +08:00
|
|
|
|
}
|
|
|
|
|
//当下啦是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
|
|
|
|
|
})
|
|
|
|
|
})
|
2024-06-20 16:11:38 +08:00
|
|
|
|
//插件
|
|
|
|
|
this.openLoading('detail')
|
|
|
|
|
const res2 = await authApi('sysApplicationService', '', 'queryAppScript', '', {
|
|
|
|
|
appId: val
|
|
|
|
|
})
|
|
|
|
|
res2.attribute.forEach((item) => {
|
|
|
|
|
this.formRow[5].elCol[0].options.push({
|
|
|
|
|
id: item.id,
|
|
|
|
|
label: item.scriptName
|
|
|
|
|
})
|
|
|
|
|
this.formRow[6].elCol[0].options.push({
|
|
|
|
|
id: item.id,
|
|
|
|
|
label: item.scriptName
|
|
|
|
|
})
|
|
|
|
|
this.formRow[7].elCol[0].options.push({
|
|
|
|
|
id: item.id,
|
|
|
|
|
label: item.scriptName
|
|
|
|
|
})
|
|
|
|
|
})
|
2024-06-20 11:40:09 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
//测试通过
|
|
|
|
|
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>
|