|
@@ -4,7 +4,6 @@ meta:
|
|
|
</route>
|
|
</route>
|
|
|
|
|
|
|
|
<script lang="ts" setup name="BizObjectOAM">
|
|
<script lang="ts" setup name="BizObjectOAM">
|
|
|
-import type { TabsPaneContext } from 'element-plus'
|
|
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
import ObjectOAMRuleComponent from '../rule/components/objectOAMRule.vue'
|
|
import ObjectOAMRuleComponent from '../rule/components/objectOAMRule.vue'
|
|
|
import ObjectOAMComponent from './components/objectOAM.vue'
|
|
import ObjectOAMComponent from './components/objectOAM.vue'
|
|
@@ -12,7 +11,8 @@ import useSettingsStore from '@/store/modules/settings'
|
|
|
import { getObjectById } from '@/api/biz/bizObjectApi'
|
|
import { getObjectById } from '@/api/biz/bizObjectApi'
|
|
|
import { deleteObjectOAMById, getObjectOAMById, getObjectOAMListByObjectId } from '@/api/biz/bizObjectOAMApi'
|
|
import { deleteObjectOAMById, getObjectOAMById, getObjectOAMListByObjectId } from '@/api/biz/bizObjectOAMApi'
|
|
|
import { getObjectOAMRuleListByOamId } from '@/api/biz/bizObjectOAMRuleApi'
|
|
import { getObjectOAMRuleListByOamId } from '@/api/biz/bizObjectOAMRuleApi'
|
|
|
-import { oamType, sqlType } from '@/utils/tool'
|
|
|
|
|
|
|
+import { dataType, oamType, sqlType } from '@/utils/tool'
|
|
|
|
|
+import { createObjectOAMParams, deleteObjectOAMParamsById, getObjectOAMParamsListByOamId, updateObjectOAMParams } from '@/api/biz/bizObjectOAMParamsApi'
|
|
|
|
|
|
|
|
const settingsStore = useSettingsStore()
|
|
const settingsStore = useSettingsStore()
|
|
|
const route = useRoute()
|
|
const route = useRoute()
|
|
@@ -39,7 +39,6 @@ interface ObjectOAM {
|
|
|
oamType: number
|
|
oamType: number
|
|
|
oamStatement: string
|
|
oamStatement: string
|
|
|
oamDesc: string
|
|
oamDesc: string
|
|
|
-
|
|
|
|
|
sqlStatement: string
|
|
sqlStatement: string
|
|
|
sqlSelect: string
|
|
sqlSelect: string
|
|
|
sqlFrom: string
|
|
sqlFrom: string
|
|
@@ -48,6 +47,21 @@ interface ObjectOAM {
|
|
|
sqlCount: string
|
|
sqlCount: string
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+interface ObjectOAMParams {
|
|
|
|
|
+ bizId: number
|
|
|
|
|
+ objectId: number
|
|
|
|
|
+ oamId: number
|
|
|
|
|
+ paramsId: number
|
|
|
|
|
+ logicalOperator: string
|
|
|
|
|
+ compareOperator: string
|
|
|
|
|
+ paramsTarget: string
|
|
|
|
|
+ paramsValue: string
|
|
|
|
|
+ paramsType: number
|
|
|
|
|
+ paramsRemark: string
|
|
|
|
|
+ sortNo: number
|
|
|
|
|
+ isEdit: boolean
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
const state = reactive({
|
|
const state = reactive({
|
|
|
loading: false,
|
|
loading: false,
|
|
|
objectTitle: '',
|
|
objectTitle: '',
|
|
@@ -59,14 +73,15 @@ const state = reactive({
|
|
|
objectOamRuleList: [],
|
|
objectOamRuleList: [],
|
|
|
treeData: [] as TreeNode[],
|
|
treeData: [] as TreeNode[],
|
|
|
oam: {} as ObjectOAM,
|
|
oam: {} as ObjectOAM,
|
|
|
|
|
+ params: [] as ObjectOAMParams[],
|
|
|
dialogState: 1,
|
|
dialogState: 1,
|
|
|
search: {
|
|
search: {
|
|
|
bizId,
|
|
bizId,
|
|
|
objectId,
|
|
objectId,
|
|
|
keywords: '',
|
|
keywords: '',
|
|
|
},
|
|
},
|
|
|
- params: '',
|
|
|
|
|
result: '',
|
|
result: '',
|
|
|
|
|
+ actionType: 0,
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
const leftTreeRef = ref()
|
|
const leftTreeRef = ref()
|
|
@@ -90,6 +105,16 @@ const getObjectOAMData = async () => {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+const getObjectOAMParams = async () => {
|
|
|
|
|
+ const curOamId = state.curOamId
|
|
|
|
|
+ if (curOamId > 0) {
|
|
|
|
|
+ state.loading = true
|
|
|
|
|
+ const { data } = await getObjectOAMParamsListByOamId(bizId, objectId, curOamId)
|
|
|
|
|
+ state.params = data
|
|
|
|
|
+ state.loading = false
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
const getObjectOAMRuleList = async () => {
|
|
const getObjectOAMRuleList = async () => {
|
|
|
const curOamId = state.curOamId
|
|
const curOamId = state.curOamId
|
|
|
if (curOamId > 0) {
|
|
if (curOamId > 0) {
|
|
@@ -118,6 +143,7 @@ const getOAMTree = async () => {
|
|
|
leftTreeRef.value.setCurrentKey(data[0].oamId)
|
|
leftTreeRef.value.setCurrentKey(data[0].oamId)
|
|
|
})
|
|
})
|
|
|
await getObjectOAMData()
|
|
await getObjectOAMData()
|
|
|
|
|
+ await getObjectOAMParams()
|
|
|
await getObjectOAMRuleList()
|
|
await getObjectOAMRuleList()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -132,6 +158,7 @@ const onTreeNodeClick = async (node: TreeNode) => {
|
|
|
if (node.isLeaf) {
|
|
if (node.isLeaf) {
|
|
|
state.curOamId = node.oamId
|
|
state.curOamId = node.oamId
|
|
|
await getObjectOAMData()
|
|
await getObjectOAMData()
|
|
|
|
|
+ await getObjectOAMParams()
|
|
|
await getObjectOAMRuleList()
|
|
await getObjectOAMRuleList()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -164,13 +191,79 @@ const onSuccess = () => {
|
|
|
|
|
|
|
|
const activeName = ref('first')
|
|
const activeName = ref('first')
|
|
|
|
|
|
|
|
-const handleClick = (tab: TabsPaneContext, event: Event) => {
|
|
|
|
|
- // console.log(tab, event)
|
|
|
|
|
|
|
+// 查询参数
|
|
|
|
|
+const paramsTableRef = ref()
|
|
|
|
|
+const paramsTableKey = ref(0)
|
|
|
|
|
+
|
|
|
|
|
+const logicalOperators = [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: 'AND',
|
|
|
|
|
+ value: 'AND',
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: 'OR',
|
|
|
|
|
+ value: 'OR',
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: 'NOT',
|
|
|
|
|
+ value: 'NOT',
|
|
|
|
|
+ },
|
|
|
|
|
+]
|
|
|
|
|
+
|
|
|
|
|
+function onParamsAdd() {
|
|
|
|
|
+ state.params.push({
|
|
|
|
|
+ bizId,
|
|
|
|
|
+ objectId,
|
|
|
|
|
+ oamId: state.curOamId,
|
|
|
|
|
+ paramsId: 0,
|
|
|
|
|
+ logicalOperator: 'AND',
|
|
|
|
|
+ paramsTarget: '', // 名称
|
|
|
|
|
+ compareOperator: '=', // 代码
|
|
|
|
|
+ paramsValue: '',
|
|
|
|
|
+ paramsType: 0,
|
|
|
|
|
+ paramsRemark: '',
|
|
|
|
|
+ sortNo: 0,
|
|
|
|
|
+ isEdit: true,
|
|
|
|
|
+ })
|
|
|
|
|
+ state.actionType = 1
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-const objectOAMRuleRef = ref()
|
|
|
|
|
-const onObjectOAMRuleSearch = () => {
|
|
|
|
|
|
|
+function onParamsEdit(row: any) {
|
|
|
|
|
+ row.isEdit = true
|
|
|
|
|
+ state.actionType = 2
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+async function onParamsDelete(row: any) {
|
|
|
|
|
+ const oamId = state.curOamId
|
|
|
|
|
+ const paramsId = row.paramsId
|
|
|
|
|
+ await deleteObjectOAMParamsById(bizId, objectId, oamId, paramsId)
|
|
|
|
|
+ ElMessage.success('删除成功')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+function onParamsCancel(row: any, index: number) {
|
|
|
|
|
+ row.isEdit = false
|
|
|
|
|
+ if (state.actionType === 1) {
|
|
|
|
|
+ state.params.splice(index, 1)
|
|
|
|
|
+ }
|
|
|
|
|
+ state.actionType = 0
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
|
|
+async function onParamsSave(row: any) {
|
|
|
|
|
+ row.isEdit = false
|
|
|
|
|
+ if (state.actionType === 1) {
|
|
|
|
|
+ await createObjectOAMParams(row)
|
|
|
|
|
+ ElMessage.success('新增成功')
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ await updateObjectOAMParams(row)
|
|
|
|
|
+ ElMessage.success('修改成功')
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 业务规则
|
|
|
|
|
+const objectOAMRuleRef = ref()
|
|
|
|
|
+const onObjectOAMRuleSearch = async () => {
|
|
|
|
|
+ await getObjectOAMRuleList()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const onObjectOAMRuleAdd = () => {
|
|
const onObjectOAMRuleAdd = () => {
|
|
@@ -184,6 +277,7 @@ const onObjectOAMRuleEdit = (row: { orId: number }) => {
|
|
|
const onObjectOAMRuleDelete = (row: { }) => {
|
|
const onObjectOAMRuleDelete = (row: { }) => {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
// 返回列表页
|
|
// 返回列表页
|
|
|
function goBack() {
|
|
function goBack() {
|
|
|
if (settingsStore.settings.tabbar.enable && settingsStore.settings.tabbar.mergeTabsBy !== 'activeMenu') {
|
|
if (settingsStore.settings.tabbar.enable && settingsStore.settings.tabbar.mergeTabsBy !== 'activeMenu') {
|
|
@@ -252,10 +346,11 @@ function goBack() {
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<div class="container">
|
|
<div class="container">
|
|
|
- <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
|
|
|
|
|
|
|
+ <el-tabs v-model="activeName" class="demo-tabs">
|
|
|
<el-tab-pane label="行为定义" name="first">
|
|
<el-tab-pane label="行为定义" name="first">
|
|
|
<el-descriptions
|
|
<el-descriptions
|
|
|
:title="state.oam.oamTitle"
|
|
:title="state.oam.oamTitle"
|
|
|
|
|
+ direction="horizontal"
|
|
|
:column="1"
|
|
:column="1"
|
|
|
border
|
|
border
|
|
|
>
|
|
>
|
|
@@ -315,60 +410,180 @@ function goBack() {
|
|
|
{{ state.oam.oamDesc }}
|
|
{{ state.oam.oamDesc }}
|
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
</el-descriptions>
|
|
|
- </el-tab-pane>
|
|
|
|
|
|
|
|
|
|
- <el-tab-pane label="业务规则" name="two">
|
|
|
|
|
- <tool-bar>
|
|
|
|
|
- <template #left>
|
|
|
|
|
- <h4>业务规则</h4>
|
|
|
|
|
- </template>
|
|
|
|
|
|
|
+ <div v-if="state.oam && state.oam.sqlType === 1" class="container">
|
|
|
|
|
+ <tool-bar>
|
|
|
|
|
+ <template #left>
|
|
|
|
|
+ <h4>查询参数</h4>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template #right>
|
|
|
|
|
+ <el-button type="default" @click="onParamsAdd">
|
|
|
|
|
+ <template #icon>
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <svg-icon name="i-ep:plus" />
|
|
|
|
|
+ </el-icon>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </tool-bar>
|
|
|
|
|
+
|
|
|
|
|
+ <el-table ref="paramsTableRef" :key="paramsTableKey" :data="state.params" class="list-table" size="small" border stripe highlight-current-row>
|
|
|
|
|
+ <el-table-column type="index" label="序号" header-align="center" align="center" width="60" />
|
|
|
|
|
+
|
|
|
|
|
+ <el-table-column label="关系" header-align="center" align="center" width="150">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <el-select v-if="scope.row.isEdit" v-model="scope.row.logicalOperator" placeholder="请选择">
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in logicalOperators"
|
|
|
|
|
+ :key="item.value"
|
|
|
|
|
+ :label="item.label"
|
|
|
|
|
+ :value="item.value"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ <span v-else>{{ scope.row.logicalOperators }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
|
|
|
- <template #right>
|
|
|
|
|
- <el-input v-model="state.search.keywords" placeholder="请输入名称,支持模糊查询" style="padding-right: 10px;" clearable />
|
|
|
|
|
- <el-button type="primary" @click="onObjectOAMRuleSearch">
|
|
|
|
|
- <template #icon>
|
|
|
|
|
- <el-icon>
|
|
|
|
|
- <svg-icon name="i-ep:search" />
|
|
|
|
|
- </el-icon>
|
|
|
|
|
|
|
+ <el-table-column label="参数名称" header-align="center" align="center" width="150">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <el-input v-if="scope.row.isEdit" v-model="scope.row.paramsTarget" size="small" />
|
|
|
|
|
+ <span v-else>{{ scope.row.paramsTarget }}</span>
|
|
|
</template>
|
|
</template>
|
|
|
- </el-button>
|
|
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
|
|
|
- <el-button type="primary" size="default" @click.stop="onObjectOAMRuleAdd">
|
|
|
|
|
- <template #icon>
|
|
|
|
|
- <el-icon>
|
|
|
|
|
- <svg-icon name="i-ep:plus" />
|
|
|
|
|
- </el-icon>
|
|
|
|
|
|
|
+ <el-table-column label="运算符" header-align="center" align="center" width="120">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <el-input v-if="scope.row.isEdit" v-model="scope.row.paramsOperator" size="small" />
|
|
|
|
|
+ <span v-else>{{ scope.row.paramsOperator }}</span>
|
|
|
</template>
|
|
</template>
|
|
|
- 业务规则
|
|
|
|
|
- </el-button>
|
|
|
|
|
- </template>
|
|
|
|
|
- </tool-bar>
|
|
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
|
|
|
- <el-table ref="objectRuleTableRef" v-loading="state.loading" class="list-table" :data="state.objectOamRuleList" border stripe highlight-current-row height="100%">
|
|
|
|
|
- <el-table-column type="index" label="序号" header-align="center" align="center" width="70" />
|
|
|
|
|
|
|
+ <el-table-column label="值" header-align="center" align="center" width="120">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <el-input v-if="scope.row.isEdit" v-model="scope.row.paramsValue" size="small" />
|
|
|
|
|
+ <span v-else>{{ scope.row.paramsValue }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
|
|
|
- <el-table-column prop="objectTitle" label="名称" header-align="center" align="center" width="200">
|
|
|
|
|
- <template #default="scope">
|
|
|
|
|
- <el-icon>
|
|
|
|
|
- <svg-icon name="lucide:clipboard-check" />
|
|
|
|
|
- </el-icon>
|
|
|
|
|
- <span> {{ scope.row.objectTitle }}</span>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
|
|
+ <el-table-column label="类型" header-align="center" align="center" width="120">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <data-type-selector v-if="scope.row.isEdit" v-model="scope.row.paramsType" />
|
|
|
|
|
+ <span v-else>{{ dataType(scope.row.paramsType) }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+
|
|
|
|
|
+ <el-table-column label="备注">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <el-input v-if="scope.row.isEdit" v-model="scope.row.paramsRemark" size="small" />
|
|
|
|
|
+ <span v-else>{{ scope.row.paramsRemark }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
|
|
|
- <el-table-column prop="ruleTitle" label="规则" header-align="center" align="center" width="150" />
|
|
|
|
|
|
|
+ <el-table-column header-align="center" align="center" width="70">
|
|
|
|
|
+ <template #header>
|
|
|
|
|
+ 排序
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template #default>
|
|
|
|
|
+ <el-tag type="info" class="sortable">
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <svg-icon name="i-ep:d-caret" />
|
|
|
|
|
+ </el-icon>
|
|
|
|
|
+ </el-tag>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+
|
|
|
|
|
+ <el-table-column label="操作" width="140" align="center">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <template v-if="scope.row.isEdit">
|
|
|
|
|
+ <el-button type="primary" plain size="small" @click="onParamsSave(scope.row)">
|
|
|
|
|
+ 保存
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ <el-button type="primary" plain size="small" @click="onParamsCancel(scope.row, scope.$index)">
|
|
|
|
|
+ 取消
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-else>
|
|
|
|
|
+ <el-button type="primary" plain size="small" @click="onParamsEdit(scope.row)">
|
|
|
|
|
+ 编辑
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ <el-popconfirm title="是否要删除此行?" style="margin-left: 10px;" @confirm="onParamsDelete(scope.row)">
|
|
|
|
|
+ <template #reference>
|
|
|
|
|
+ <el-button type="danger" plain size="small">
|
|
|
|
|
+ 删除
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-popconfirm>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-tab-pane>
|
|
|
|
|
|
|
|
- <el-table-column label="操作" header-align="center" align="center" width="230">
|
|
|
|
|
- <template #default="scope">
|
|
|
|
|
- <el-button type="warning" size="small" plain @click="onObjectOAMRuleEdit(scope.row)">
|
|
|
|
|
- 编辑
|
|
|
|
|
|
|
+ <el-tab-pane label="业务规则" name="two">
|
|
|
|
|
+ <div class="container">
|
|
|
|
|
+ <tool-bar>
|
|
|
|
|
+ <template #left>
|
|
|
|
|
+ <h4>业务规则</h4>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template #right>
|
|
|
|
|
+ <el-input v-model="state.search.keywords" placeholder="请输入名称,支持模糊查询" style="padding-right: 10px;" clearable />
|
|
|
|
|
+ <el-button type="primary" @click="onObjectOAMRuleSearch">
|
|
|
|
|
+ <template #icon>
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <svg-icon name="i-ep:search" />
|
|
|
|
|
+ </el-icon>
|
|
|
|
|
+ </template>
|
|
|
</el-button>
|
|
</el-button>
|
|
|
- <el-button type="danger" size="small" plain @click="onObjectOAMRuleDelete(scope.row)">
|
|
|
|
|
- 删除
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <el-button type="primary" size="default" @click.stop="onObjectOAMRuleAdd">
|
|
|
|
|
+ <template #icon>
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <svg-icon name="i-ep:plus" />
|
|
|
|
|
+ </el-icon>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ 业务规则
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
|
|
- </el-table>
|
|
|
|
|
|
|
+ </tool-bar>
|
|
|
|
|
+
|
|
|
|
|
+ <el-table ref="objectRuleTableRef" v-loading="state.loading" class="list-table" :data="state.objectOamRuleList" border stripe highlight-current-row height="100%">
|
|
|
|
|
+ <el-table-column type="index" label="序号" header-align="center" align="center" width="70" />
|
|
|
|
|
+
|
|
|
|
|
+ <el-table-column prop="objectTitle" label="对象名称" header-align="center" align="center">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <svg-icon name="uim:box" />
|
|
|
|
|
+ </el-icon>
|
|
|
|
|
+ <span> {{ scope.row.objectTitle }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+
|
|
|
|
|
+ <el-table-column prop="targetAttrTitle" label="目标属性" header-align="center" align="center">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <span> {{ scope.row.targetAttrTitle }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+
|
|
|
|
|
+ <el-table-column prop="ruleTitle" label="应用规则" header-align="center" align="center">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <span> {{ scope.row.ruleTitle }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+
|
|
|
|
|
+ <el-table-column label="操作" header-align="center" align="center" width="230">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <el-button type="warning" size="small" plain @click="onObjectOAMRuleEdit(scope.row)">
|
|
|
|
|
+ 编辑
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ <el-button type="danger" size="small" plain @click="onObjectOAMRuleDelete(scope.row)">
|
|
|
|
|
+ 删除
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </div>
|
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
</el-tabs>
|
|
|
</div>
|
|
</div>
|