Commit c306a069 by 史敦盼

中台

1 parent f2816c1f
......@@ -27,3 +27,16 @@ export function getTecList(data) {
export function getTechnicalDetail(data) {
return post(EADC_ARRCHITECTURE + "/arc-aby-ast/qryRelaAsset", data);
}
// 关联业务 保存
export function correlationSave(data) {
return post(EADC_ARRCHITECTURE + "/arc-aby-ast/add", data);
}
export function qryStatDetPage(data) {
return post(EADC_ARRCHITECTURE + "/arc-aby-ast/qryStatDetPage", data);
}
// 查询关联资产回显
export function qryAssetsPage(data) {
return post(EADC_ARRCHITECTURE + "/arc-aby-ast/qryAssetsPage", data);
}
\ No newline at end of file
......@@ -14,7 +14,7 @@
</template>
</div>
</div>
<div class="mainTable">
<div class="mainTable flex-1">
<el-table ref="mainTableRef" v-bind="$attrs" v-on="$listeners" stripe border>
<el-table-column v-if="selectionList" type="selection" fixed="left" width="55" align="center"
:selectable="selectable"></el-table-column>
......@@ -213,7 +213,7 @@ export default {
.mainTable {
width: 100%;
min-height: 0;
/deep/.el-table__fixed {
height: 100% !important;
}
......@@ -222,7 +222,7 @@ export default {
.paginations {
width: 100%;
display: flex;
justify-content: flex-end;
justify-content: center;
align-items: center;
margin-top: 20px;
margin-bottom: 12px;
......
......@@ -1448,7 +1448,7 @@ export default {
const requestParams =
this.is_add_edit == 'add'
? params
: { ...params, elementId: this.elementId, version: this.version, archiBelongId: this.rowData.archiBelongId }
: { ...params, elementId: this.elementId, version: this.version }
if (this.is_add_edit == 'add') {
add_jia_gou_yuan_su(requestParams).then((res) => {
if (res.code == 200) {
......
<template>
<div class="businessMsgWrapper">
<ETable ref="ETableRef" title="业务信息列表" :tableRef.sync="tableRef" :height="430" tableKey="businessMsg" :data="data"
<ETable ref="ETableRef" title="业务信息列表" :tableRef.sync="tableRef" height="100%" tableKey="businessMsg" :data="data"
:columns="columns" :indexMethod="true" v-loading="loading" :operateList="operateList" :tableBtnList="tableBtnList"
@sizeChange="handlerSizeChange" @currentChange="handlerCurrentChange" :pager="pager">
<SearchForm slot="header" :formOptions="formOptions" @onSearch="getList" @onReset="reset"></SearchForm>
......@@ -11,7 +11,7 @@
import SearchForm from "@/components/SearchForm.vue";
import ETable from "@/newComponents/ETable/index.vue";
import tableMixin from "@/mixins/tableMixin";
import { getTecList } from '@/api/comCenterServeListNew'
export default {
name: "businessMsg",
components: { SearchForm, ETable },
......@@ -21,48 +21,38 @@ export default {
loading: false,
tableRef: null,
form: {
name: '',
date: '',
typeName: '',
type: ''
archiTypeId: 1,
},
selectionList: [],
formOptions: [
{
label: "中台服务名称",
prop: "abilityName",
element: "el-input",
placeholder: "服务名称",
},
{
label: "统计日期",
prop: "statTime",
element: "el-date-picker",
type: 'date',
valueFormat: 'yyyy-MM-dd',
element: 'el-date-picker',
initValue: new Date().format('yyyy-MM-dd'),
placeholder: '统计日期',
},
{
label: "业务活动名称",
prop: "businessActName",
element: "el-select",
dictType: "build_type",
placeholder: "业务活动名称",
prop: "assetName",
element: "el-input",
placeholder: "请输入",
},
// {
// label: "统计日期",
// prop: "statTime",
// element: "el-date-picker",
// type: 'date',
// valueFormat: 'yyyy-MM-dd',
// element: 'el-date-picker',
// initValue: new Date().format('yyyy-MM-dd'),
// placeholder: '统计日期',
// },
],
operateList: [
{
label: "新增",
type: "primary",
size: "mini",
icon: "el-icon-plus",
disabled: true,
click: () => {
console.log("add");
},
},
// {
// label: "新增",
// type: "primary",
// size: "mini",
// icon: "el-icon-plus",
// disabled: true,
// click: () => {
// console.log("add");
// },
// },
{
label: "下载模板",
type: "primary",
......@@ -85,37 +75,37 @@ export default {
},
],
pager: {
current: 2,
current: 1,
size: 10,
total: 100,
total: 0,
sizes: [10, 20, 50, 100],
},
columns: [
{
label: "中台服务编码",
prop: "abilityCode",
showOverflowTooltip: true,
align: "center",
fixed: "left",
minWidth: 140
},
{
label: "中台服务名称",
prop: "abilityName",
minWidth: 140,
showOverflowTooltip: true,
align: "center",
},
// {
// label: "中台服务编码",
// prop: "abilityCode",
// showOverflowTooltip: true,
// align: "center",
// fixed: "left",
// minWidth: 140
// },
// {
// label: "中台服务名称",
// prop: "abilityName",
// minWidth: 140,
// showOverflowTooltip: true,
// align: "center",
// },
{
label: "业务活动名称",
prop: "businessActName",
prop: "assetName",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "业务活动编码",
prop: "businessActName",
prop: "assetNumber",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
......@@ -126,6 +116,9 @@ export default {
minWidth: 120,
showOverflowTooltip: true,
align: "center",
render: (h, params) => {
return h("span", {}, this.handleName(params.parentAssetNames, 0) || '--');
},
},
{
label: "业务职能",
......@@ -133,6 +126,9 @@ export default {
minWidth: 120,
showOverflowTooltip: true,
align: "center",
render: (h, params) => {
return h("span", {}, this.handleName(params.parentAssetNames, 1) || '--');
},
},
{
label: "业务域",
......@@ -140,6 +136,9 @@ export default {
minWidth: 120,
showOverflowTooltip: true,
align: "center",
render: (h, params) => {
return h("span", {}, this.handleName(params.parentAssetNames, 2) || '--');
},
},
{
label: "关联的业务对象数量",
......@@ -148,9 +147,25 @@ export default {
minWidth: 120,
align: "center",
style: { color: '#0b8680', cursor: 'pointer' },
click: (row) => {
this.$emit('dialog', '关联的业务对象数量', row)
render: (h, params) => {
let obj = params.statisticsList && params.statisticsList.length ? params.statisticsList[0] : {}
let enName = obj.statNum || '--'
return h("span", {
style: {
color: '#0b8680',
cursor: 'pointer',
borderBottom: '1px solid #0b8680'
},
on: {
click: () => {
this.$emit('dialog', '关联的业务对象数量', params)
}
}
}, enName);
},
// click: (row) => {
// this.$emit('dialog', '关联的业务对象数量', row)
// },
},
{
label: "关联的应用服务数量",
......@@ -159,9 +174,25 @@ export default {
minWidth: 120,
align: "center",
style: { color: '#0b8680', cursor: 'pointer' },
click: (row) => {
this.$emit('dialog', '关联的应用服务数量', row)
render: (h, params) => {
let obj = params.statisticsList && params.statisticsList.length > 1 ? params.statisticsList[1] : {}
let enName = obj.statNum || '--'
return h("span", {
style: {
color: '#0b8680',
cursor: 'pointer',
borderBottom: '1px solid #0b8680'
},
on: {
click: () => {
this.$emit('dialog', '关联的应用服务数量', params)
}
}
}, enName);
},
// click: (row) => {
// this.$emit('dialog', '关联的应用服务数量', row)
// },
},
],
tableBtnList: [
......@@ -178,15 +209,56 @@ export default {
data: [],
};
},
mounted() { },
mounted() {
this.getList()
},
methods: {
handleName(name,idx) {
let strArr = ['', '', '']
if(name) {
let str = name.split(',')
if(str.length === 1) {
strArr[2] = str[0]
} else if(str.length === 2) {
strArr[1] = str[0]
strArr[2] = str[1]
} else if(str.length === 3) {
strArr[0] = str[0]
strArr[1] = str[1]
strArr[2] = str[2]
}
}
return strArr[idx]
},
doLayout() {
this.tableRef.doLayout()
},
getList() {
console.log("getList");
async getList() {
let params = { ...this.form, pageSize: this.pager.size, current: this.pager.current }
this.loading = true
const res = await getTecList(params).catch(() => {
this.pager.total = 0
this.loading = false
})
this.loading = false
if (res.code == 200) {
this.data = res.data?.records
this.pager.total = res.data?.total
}
},
search() {
this.pager.current = 1
this.pager.total = 0
this.getList()
},
reset() {
this.pager.current = 1
this.pager.total = 0
this.form = {
archiTypeId: 1,
}
this.getList()
},
reset() { },
handleSelectionChange(val) {
this.selectionList = val;
},
......
......@@ -3,14 +3,14 @@
:center="false" :close-on-click-modal="false" width="80%" @close="close">
<div class="comDialogTable">
<ETable ref="ETableRef" :height="430" :data="tableData" :columns="tableConfig.columns" :indexMethod="true"
v-loading="loading" @sizeChange="handlerSizeChange" @currentChange="handlerCurrentChange" :pager="pager">
v-loading="loading" @sizeChange="handlerSizeChange" @currentChange="handlerCurrentChange">
</ETable>
</div>
</el-dialog>
</template>
<script>
import { getTechnicalDetail } from '@/api/comCenterServeListNew'
import { getTechnicalDetail, qryStatDetPage } from '@/api/comCenterServeListNew'
import ETable from "@/newComponents/ETable/index.vue";
import tableMixin from "@/mixins/tableMixin";
export default {
......@@ -27,7 +27,7 @@ export default {
pager: {
current: 1,
size: 10,
total: 100,
total: 0,
sizes: [10, 20, 50, 100],
},
defaultTableColumns: [
......@@ -119,7 +119,7 @@ export default {
},
],
getList() {
// that.getQryStatDetPage('SERVICE_INV_NUM')
},
},
{
......@@ -128,7 +128,7 @@ export default {
columns: [
{
label: "中台服务编码",
prop: "buildType",
prop: "中台服务编码",
showOverflowTooltip: true,
align: "center",
fixed: "left",
......@@ -136,14 +136,14 @@ export default {
},
{
label: "中台服务名称",
prop: "buildType2",
prop: "中台服务名称",
minWidth: 140,
showOverflowTooltip: true,
align: "center",
},
{
label: "系统应用",
prop: "buildType2",
prop: "系统应用",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
......@@ -151,7 +151,7 @@ export default {
],
tableBtnList: [],
getList() {
that.getQryStatDetPage('SERVICE_INV_NUM', 2, '应用架构')
},
},
{
......@@ -160,7 +160,7 @@ export default {
columns: [
{
label: "中台服务编码",
prop: "buildType",
prop: "中台服务编码",
showOverflowTooltip: true,
align: "center",
fixed: "left",
......@@ -168,63 +168,63 @@ export default {
},
{
label: "物理实体名称",
prop: "buildType2",
prop: "物理实体名称",
minWidth: 140,
showOverflowTooltip: true,
align: "center",
},
{
label: "物理实体编码",
prop: "buildType2",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "物理实体记录数量",
prop: "buildType2",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "响应时间(S)",
prop: "buildType2",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "物理实体当前大小",
prop: "buildType2",
prop: "物理实体编码",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
// {
// label: "物理实体记录数量",
// prop: "buildType2",
// minWidth: 120,
// showOverflowTooltip: true,
// align: "center",
// },
// {
// label: "响应时间(S)",
// prop: "buildType2",
// minWidth: 120,
// showOverflowTooltip: true,
// align: "center",
// },
// {
// label: "物理实体当前大小",
// prop: "buildType2",
// minWidth: 120,
// showOverflowTooltip: true,
// align: "center",
// },
{
label: "逻辑实体",
prop: "buildType2",
prop: "逻辑实体",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "概念实体",
prop: "buildType2",
prop: "概念实体",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "实体发布时间",
prop: "buildType2",
prop: "实体发布时间",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
],
getList() {
that.getQryStatDetPage('OPR_ENTITY_NUM', 3, '数据架构')
},
},
{
......@@ -233,7 +233,7 @@ export default {
columns: [
{
label: "中台服务编码",
prop: "buildType",
prop: "中台服务编码",
showOverflowTooltip: true,
align: "center",
fixed: "left",
......@@ -241,45 +241,44 @@ export default {
},
{
label: "中台服务名称",
prop: "buildType2",
prop: "中台服务名称",
minWidth: 140,
showOverflowTooltip: true,
align: "center",
},
{
label: "基础组件名称",
prop: "buildType2",
prop: "基础组件名称",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "基础组件编码",
prop: "buildType2",
prop: "基础组件编码",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "技术平台",
prop: "buildType2",
prop: "技术平台",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
],
getList() {
that.getQryStatDetPage('SUPPORT_TEC_MODNUM', 4, '技术架构')
},
},
// 业务信息
{
title: '关联的业务对象数量',
subTitle: '查询检修计划',
title: '关联的中台服务',
subTitle: '检修计划编制服务',
columns: [
{
label: "中台服务编码",
prop: "buildType",
prop: "中台服务编码",
showOverflowTooltip: true,
align: "center",
fixed: "left",
......@@ -287,12 +286,115 @@ export default {
},
{
label: "中台服务名称",
prop: "buildType2",
prop: "中台服务名称",
minWidth: 140,
showOverflowTooltip: true,
align: "center",
},
{
label: "服务类型",
prop: "服务类型",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "模块",
prop: "模块",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "中台类型",
prop: "中台类型",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "中台名称",
prop: "中台名称",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "服务调用方数量",
prop: "服务调用方数量",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "操作实体数量",
prop: "操作实体数量",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "支撑的技术组件数量",
prop: "支撑的技术组件数量",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "支撑的业务活动",
prop: "支撑的业务活动",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "关联的中台服务",
prop: "关联的中台服务",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "服务发布时间",
prop: "服务发布时间",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "服务状态",
prop: "服务状态",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
],
tableBtnList: [],
getList() {
that.getQryStatDetPage('REL_MID_SERVICE_NUM', 6, 6)
},
},
// 业务信息
{
title: '关联的业务对象数量',
subTitle: '查询检修计划',
columns: [
// {
// label: "中台服务编码",
// prop: "buildType",
// showOverflowTooltip: true,
// align: "center",
// fixed: "left",
// minWidth: 140
// },
// {
// label: "中台服务名称",
// prop: "buildType2",
// minWidth: 140,
// showOverflowTooltip: true,
// align: "center",
// },
{
label: "业务对象名称",
prop: "buildType2",
minWidth: 120,
......@@ -329,28 +431,28 @@ export default {
},
],
getList() {
that.getTableData(1)
},
},
{
title: '关联的应用服务数量',
subTitle: '查询检修计划',
columns: [
{
label: "中台服务编码",
prop: "buildType",
showOverflowTooltip: true,
align: "center",
fixed: "left",
minWidth: 140
},
{
label: "中台服务名称",
prop: "buildType2",
minWidth: 140,
showOverflowTooltip: true,
align: "center",
},
// {
// label: "中台服务编码",
// prop: "buildType",
// showOverflowTooltip: true,
// align: "center",
// fixed: "left",
// minWidth: 140
// },
// {
// label: "中台服务名称",
// prop: "buildType2",
// minWidth: 140,
// showOverflowTooltip: true,
// align: "center",
// },
{
label: "应用服务名称",
prop: "buildType2",
......@@ -381,7 +483,7 @@ export default {
},
],
getList() {
that.getTableData(1)
},
},
//应用服务信息
......@@ -390,21 +492,21 @@ export default {
title: '关联的业务活动数量',
subTitle: '查询检修计划',
columns: [
{
label: "中台服务编码",
prop: "buildType",
showOverflowTooltip: true,
align: "center",
fixed: "left",
minWidth: 140
},
{
label: "中台服务名称",
prop: "buildType2",
minWidth: 140,
showOverflowTooltip: true,
align: "center",
},
// {
// label: "中台服务编码",
// prop: "buildType",
// showOverflowTooltip: true,
// align: "center",
// fixed: "left",
// minWidth: 140
// },
// {
// label: "中台服务名称",
// prop: "buildType2",
// minWidth: 140,
// showOverflowTooltip: true,
// align: "center",
// },
{
label: "业务活动名称",
prop: "buildType2",
......@@ -435,7 +537,7 @@ export default {
},
],
getList() {
that.getTableData(2)
},
},
{
......@@ -494,7 +596,7 @@ export default {
},
],
getList() {
that.getTableData(2)
},
},
{
......@@ -539,7 +641,7 @@ export default {
},
],
getList() {
that.getTableData(2)
},
},
// 技术组件信息
......@@ -585,19 +687,7 @@ export default {
},
],
async getList() {
that.loading = true
let params = {
assetId: that.row?.assetId,
archiTypeId: 4,
}
const res = await getTechnicalDetail(params).catch(() => {
that.loading = false
})
console.log('支撑的系统数量', res)
that.loading = false
if (res.code == 200) {
that.tableData = res.tableData
}
that.getTableData(4, 2)
},
},
{
......@@ -642,19 +732,7 @@ export default {
// },
],
async getList() {
that.loading = true
let params = {
assetId: that.row?.assetId,
archiTypeId: 4,
}
const res = await getTechnicalDetail(params).catch(() => {
that.loading = false
})
that.loading = false
if (res.code == 200) {
that.tableData = res.data
console.log('支撑的数据服务数量', that)
}
that.getTableData(4, 3)
},
},
],
......@@ -663,6 +741,39 @@ export default {
}
},
methods: {
getQryStatDetPage(inventoryEnum, archiTypeId, archiType) {
const params = {
inventoryId: this.row.row.inventoryEnum,
inventoryEnum,
archiTypeId,
archiType
}
this.loading = true
qryStatDetPage(params).then(res => {
this.loading = false
if (res.code == 200) {
this.tableData = res.data.dataList
}
}).catch(err => {
this.loading = false
})
},
async getTableData(archiTypeId) {
const that = this
that.loading = true
let params = {
assetId: that.row.row.assetId,
archiTypeId,
}
const res = await getTechnicalDetail(params).catch(() => {
that.loading = false
})
// console.log('支撑的系统数量', that)
that.loading = false
if (res.code == 200) {
that.tableData = res.data
}
},
async open(params) {
const { title, ...others } = params
let arr = this.defaultTableColumns.filter(i => i.title == title)
......@@ -673,7 +784,7 @@ export default {
this.show = true;
this.tableConfig = arr[0]
await this.tableConfig.getList()
console.log('this.tableData', this.tableData)
// console.log('this.tableData', this.tableData)
},
close() {
this.reset()
......@@ -685,7 +796,7 @@ export default {
this.pager = {
current: 1,
size: 10,
total: 100,
total: 0,
sizes: [10, 20, 50, 100],
}
}
......
<template>
<div class="dataEntityWrapper">
<ETable ref="ETableRef" title="数据实体信息列表" :tableRef.sync="tableRef" :height="430" tableKey="dataEntity" :data="data"
<ETable ref="ETableRef" title="数据实体信息列表" :tableRef.sync="tableRef" height="100%" tableKey="dataEntity" :data="data"
:columns="columns" :indexMethod="true" v-loading="loading" :operateList="operateList"
@sizeChange="handlerSizeChange" @currentChange="handlerCurrentChange" :pager="pager">
<el-form class="search" :model="form" slot="header">
<el-row>
<el-col :span="4">
<el-form-item label="服务名称">
<el-input class="w180" size="mini" type="text" placeholder="服务名称" v-model="form.abilityName"
<el-col :span="6">
<el-form-item label="物理实体名称" class="flex">
<el-input class="w180" type="text" placeholder="请输入" v-model="form.abilityName"
maxlength="50"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<!-- <el-col :span="4">
<el-form-item label="中台类型">
<el-select class="w180" size="mini" v-model="form.midGroundType" placeholder="中台类型">
<el-option v-for="item in midGroundTypeOptions" :key="item.value" :label="item.label"
......@@ -35,12 +35,12 @@
placeholder="发布时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
</el-col> -->
<el-col :span="4">
<div class="btn-box">
<el-button size="mini" type="primary" class="btn-search" icon="el-icon-search" @click="search"
<el-button type="primary" class="btn-search" icon="el-icon-search" @click="search"
v-preventReClick>查询</el-button>
<el-button size="mini" type="default" class="btn-reset" icon="el-icon-refresh"
<el-button type="default" class="btn-reset" icon="el-icon-refresh"
@click="reset">重置</el-button>
</div>
</el-col>
......@@ -75,16 +75,16 @@ export default {
},
selectionList: [],
operateList: [
{
label: "新增",
type: "primary",
size: "mini",
icon: "el-icon-plus",
disabled: true,
click: () => {
console.log("add");
},
},
// {
// label: "新增",
// type: "primary",
// size: "mini",
// icon: "el-icon-plus",
// disabled: true,
// click: () => {
// console.log("add");
// },
// },
{
label: "下载模板",
type: "primary",
......@@ -109,7 +109,7 @@ export default {
pager: {
current: 1,
size: 10,
total: 100,
total: 0,
sizes: [10, 20, 50, 100],
},
columns: [
......@@ -189,6 +189,9 @@ export default {
data: [],
};
},
created() {
this.getList()
},
methods: {
doLayout() {
this.tableRef.doLayout()
......@@ -201,7 +204,7 @@ export default {
this.loading = false
})
this.loading = false
console.log('getList', res)
// console.log('getList', res)
if (res.code == 200) {
this.data = res.data.records
this.pager.total = res.data.total
......@@ -241,7 +244,10 @@ export default {
.w180 {
width: 180px !important;
}
.search {
margin-top: 25px;
// margin-bottom: 15px;
}
.btn-box {
height: 38px;
display: flex;
......
......@@ -52,7 +52,7 @@
<span slot="footer">
<el-button @click="close">取 消</el-button>
<el-button type="primary" @click="submit">保 存</el-button>
<el-button type="primary" @click="release">发 布</el-button>
<!-- <el-button type="primary" @click="release">发 布</el-button> -->
</span>
</el-dialog>
</template>
......@@ -160,6 +160,7 @@ export default {
default:
return
}
// console.log('this.form', this.form)
},
async close() {
await this.$refs.formRef.resetFields()
......
<template>
<div class="serviceListWrapper">
<ETable ref="ETableRef" title="中台服务清单列表" :tableRef.sync="tableRef" :height="500" tableKey="serviceList"
<ETable ref="ETableRef" title="中台服务清单列表" :tableRef.sync="tableRef" height="100%" tableKey="serviceList"
:selectionList="selectionList" @selection-change="handleSelectionChange" :data="data" :columns="columns"
:indexMethod="true" v-loading="loading" :operateList="operateList" @sizeChange="handlerSizeChange"
@currentChange="handlerCurrentChange" :pager="pager">
......@@ -8,13 +8,13 @@
<el-row>
<el-col :span="4">
<el-form-item label="中台服务名称">
<el-input class="w180" size="mini" type="text" placeholder="中台服务名称" v-model="form.abilityName"
<el-input class="w180" type="text" placeholder="中台服务名称" v-model="form.abilityName"
maxlength="50"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="资源类型">
<el-select class="w180" size="mini" v-model="form.abilitySource" placeholder="资源类型">
<el-select class="w180" v-model="form.abilitySource" placeholder="资源类型">
<el-option v-for="item in abilitySourceOptions" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
......@@ -23,7 +23,7 @@
</el-col>
<el-col :span="4">
<el-form-item label="中台类型">
<el-select class="w180" size="mini" v-model="form.midGroundType" placeholder="中台类型">
<el-select class="w180" v-model="form.midGroundType" placeholder="中台类型">
<el-option v-for="item in midGroundTypeOptions" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
......@@ -32,7 +32,7 @@
</el-col>
<el-col :span="4">
<el-form-item label="中台名称">
<el-select class="w180" size="mini" v-model="form.midGroundName" placeholder="中台名称">
<el-select class="w180" v-model="form.midGroundName" placeholder="中台名称">
<el-option v-for="item in midGroundNameOptions" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
......@@ -41,16 +41,16 @@
</el-col>
<el-col :span="4">
<el-form-item label="发布时间">
<el-date-picker class="w180" size="mini" v-model="form.startTime" value-format="yyyy-MM-dd" type="date"
<el-date-picker class="w180" v-model="form.startTime" value-format="yyyy-MM-dd" type="date"
placeholder="发布时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<div class="btn-box">
<el-button size="mini" type="primary" class="btn-search" icon="el-icon-search" @click="search"
<el-button type="primary" class="btn-search" icon="el-icon-search" @click="search"
v-preventReClick>查询</el-button>
<el-button size="mini" type="default" class="btn-reset" icon="el-icon-refresh"
<el-button type="default" class="btn-reset" icon="el-icon-refresh"
@click="reset">重置</el-button>
</div>
</el-col>
......@@ -68,12 +68,14 @@
<!-- 关联 -->
<el-dialog :title="title" custom-class="comDialog" :visible.sync="show" :center="false"
:close-on-click-modal="false" width="80%" @close="close">
:close-on-click-modal="false" width="80%" @close="close" @open="handleOpen()">
<el-row class="comDialogContent">
<el-col :span="12">
<el-tree :data="treeData" show-checkbox node-key="id" default-expand-all :props="treeProps"
@check-change="checkChange">
</el-tree>
<div style="height: 400px;overflow-y:auto">
<el-tree ref="tree" :data="treeData" show-checkbox check-on-click-node node-key="assetId" default-expand-all :props="treeProps"
@check-change="checkChange">
</el-tree>
</div>
</el-col>
<el-col :span="12">
<ETable title="选中列表" :max-height="630" :height="400" tableKey="serviceListDialog" :data="dialogData"
......@@ -83,7 +85,7 @@
</el-row>
<span slot="footer">
<el-button @click="show = false">取 消</el-button>
<el-button type="primary" @click="show = false">确 定</el-button>
<el-button type="primary" @click="fnCorrelationSave()">确 定</el-button>
</span>
</el-dialog>
......@@ -93,11 +95,12 @@
</template>
<script>
import { stateOptions, serverTypeOptions, abilitySourceOptions, midGroundNameOptions, midGroundTypeOptions } from '../options.js'
import { getServiceList } from '@/api/comCenterServeListNew'
import { getServiceList, correlationSave, qryAssetsPage } from '@/api/comCenterServeListNew'
import EditService from './editService.vue'
import ETable from "@/newComponents/ETable/index.vue";
import tableMixin from "@/mixins/tableMixin";
import { getQryByTree } from '@/api'
export default {
name: "serviceList",
components: { ETable, EditService },
......@@ -176,9 +179,9 @@ export default {
},
],
pager: {
current: 2,
current: 1,
size: 10,
total: 100,
total: 0,
sizes: [10, 20, 50, 100],
},
columns: [
......@@ -231,7 +234,7 @@ export default {
showOverflowTooltip: true,
align: "center",
render: (h, params) => {
return h("span", {}, params.midGroundName ? midGroundTypeOptions[params.midGroundName - 1].label : '--');
return h("span", {}, params.midGroundName ? params.midGroundName : '--');
},
},
// {
......@@ -295,7 +298,12 @@ export default {
label: "关联的中台服务",
prop: "relMidServiceNum",
minWidth: 120,
T: 'a',
style: { color: '#0b8680', cursor: 'pointer' },
align: "center",
click: (row) => {
this.$emit('dialog', '关联的中台服务', row)
},
},
{
label: "服务状态",
......@@ -358,27 +366,13 @@ export default {
data: [],
treeProps: {
children: 'children',
label: 'label'
label: 'assetName'
},
treeData: [{
id: 1,
label: '一级 1',
children: [{
id: 4,
label: '二级 1-1',
children: [{
id: 9,
label: '三级 1-1-1'
}, {
id: 10,
label: '三级 1-1-2'
}]
}]
}],
treeData: [],
dialogColumns: [
{
label: "资产名称",
prop: "buildType",
prop: "assetName",
showOverflowTooltip: true,
align: "center",
fixed: "left",
......@@ -386,7 +380,7 @@ export default {
},
{
label: "资产编号",
prop: "buildType",
prop: "assetNumber",
showOverflowTooltip: true,
align: "center",
fixed: "left",
......@@ -394,14 +388,14 @@ export default {
},
{
label: "所属元素",
prop: "buildType",
prop: "eleName",
showOverflowTooltip: true,
align: "center",
fixed: "left",
minWidth: 140
},
],
dialogData: []
// dialogData: []
};
},
mounted() {
......@@ -409,6 +403,34 @@ export default {
this.getList()
},
methods: {
handleOpen() {
this.getTreeData()
},
getTreeData() {
const params = {
archiType: 'ARCHI_BUSINESS',
archiAssetState: 2,
archiStage: 1,
}
getQryByTree(params).then((res) => {
if (res.code == 200) {
this.treeData = res.data
this.getQryAssetsPage()
}
})
},
getQryAssetsPage() {
const { inventoryId } = this.dialogRow
const params = {
inventoryId
}
qryAssetsPage(params).then(res => {
if(res.code === 200) {
const keys = res.data.records.map(v => v.relaAssetId)
this.$refs.tree.setCheckedKeys(keys)
}
})
},
concatService(row) {
this.dialogRow = { ...row }
console.log("编辑", row);
......@@ -428,10 +450,75 @@ export default {
}
},
checkChange(node, checked) {
console.log('checkChange', node, checked);
// console.log('checkChange', node, checked);
// console.log('checkedNodes', this.$refs.tree.getCheckedNodes())
this.dialogData = this.$refs.tree.getCheckedNodes()
this.dialogData = this.dialogData.filter(v => v.parentAssetId != '0')
},
close() {
this.dialogData = []
this.treeData = []
},
fnCorrelationSave() {
const loading = this.$loading({
lock: true,
text: '保存中......',
spinner: 'el-icon-loading',
})
const { inventoryId, abilityCode, abilityName } = this.dialogRow
const assetsDTOS = this.dialogData.map(v => {
return {
inventoryId,
abilityCode,
abilityName,
assetId: v.assetId,
assetName: v.assetName,
archiType: this.getArchiType(v.archiAssetType),
archiTypeId: v.archiAssetType,
eleName: v.eleName,
parentAssetIds: v.parentAssetId,
parentAssetNames: v.parentAssetName,
}
})
const params = {
assetsDTOS
}
correlationSave(params).then(res => {
loading.close()
if(res.code === 200) {
this.$message.success('保存成功')
this.show = false
} else {
this.$message.warning(res.msg)
}
}).catch(err => {
loading.close()
})
},
getArchiType(type) {
let str = ''
switch (type) {
case 1:
str = '业务架构'
break;
case 2:
str = '应用架构'
break;
case 3:
str = '数据架构'
break;
case 4:
str = '技术架构'
break;
case 5:
str = '安全架构'
break;
default:
break;
}
return str
},
doLayout() {
this.tableRef.doLayout()
......@@ -444,7 +531,7 @@ export default {
this.loading = false
})
this.loading = false
console.log('getList', res)
// console.log('getList', res)
if (res.code == 200) {
this.data = res.data.records
this.pager.total = res.data.total
......@@ -480,6 +567,8 @@ export default {
}
.search {
margin-top: 25px;
margin-bottom: 15px;
/deep/.el-form-item {
margin-bottom: 0 !important;
}
......
<template>
<div class="technicalComWrapper">
<ETable ref="ETableRef" title="技术组件信息列表" :tableRef.sync="tableRef" :height="430" tableKey="technicalCom"
<ETable ref="ETableRef" title="技术组件信息列表" :tableRef.sync="tableRef" height="100%" tableKey="technicalCom"
:data="data" :columns="columns" :indexMethod="true" v-loading="loading" :operateList="operateList"
@sizeChange="handlerSizeChange" @currentChange="handlerCurrentChange" :pager="pager">
<el-form class="search" :model="form" slot="header">
<el-row>
<el-col :span="6">
<el-form-item label="基础组件名称">
<el-input class="w180" size="mini" type="text" placeholder="基础组件名称" v-model="form.assetName"
<el-form-item label="基础组件名称" class="flex">
<el-input class="w180" type="text" placeholder="基础组件名称" v-model="form.assetName"
maxlength="50"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="发布时间">
<el-date-picker style="width:300px" size="mini" v-model="form.time" value-format="yyyy-MM-dd"
<el-form-item label="发布时间" class="flex">
<el-date-picker style="width:300px" v-model="form.time" value-format="yyyy-MM-dd"
type="datetimerange" placeholder="发布时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="btn-box">
<el-button size="mini" type="primary" class="btn-search" icon="el-icon-search" @click="search"
<el-button type="primary" class="btn-search" icon="el-icon-search" @click="search"
v-preventReClick>查询</el-button>
<el-button size="mini" type="default" class="btn-reset" icon="el-icon-refresh"
<el-button type="default" class="btn-reset" icon="el-icon-refresh"
@click="reset">重置</el-button>
</div>
</el-col>
......@@ -55,16 +55,16 @@ export default {
},
selectionList: [],
operateList: [
{
label: "新增",
type: "primary",
size: "mini",
icon: "el-icon-plus",
disabled: true,
click: () => {
console.log("add");
},
},
// {
// label: "新增",
// type: "primary",
// size: "mini",
// icon: "el-icon-plus",
// disabled: true,
// click: () => {
// console.log("add");
// },
// },
{
label: "下载模板",
type: "primary",
......@@ -89,7 +89,7 @@ export default {
pager: {
current: 1,
size: 10,
total: 100,
total: 0,
sizes: [10, 20, 50, 100],
},
columns: [
......@@ -210,7 +210,7 @@ export default {
this.loading = false
})
this.loading = false
console.log('technicalCom', res)
// console.log('technicalCom', res)
if (res.code == 200) {
this.data = res.data?.records
this.pager.total = res.data?.total
......@@ -246,11 +246,12 @@ export default {
.technicalComWrapper {
width: 100%;
height: 100%;
.w180 {
width: 180px !important;
}
.search {
margin-top: 25px;
}
.btn-box {
height: 38px;
display: flex;
......
<template>
<div class="usiingServiceWrapper">
<ETable ref="ETableRef" title="应用服务列表" :tableRef.sync="tableRef" :height="430" tableKey="usiingService" :data="data"
<ETable ref="ETableRef" title="应用服务列表" :tableRef.sync="tableRef" height="100%" tableKey="usiingService" :data="data"
:columns="columns" :indexMethod="true" v-loading="loading" :operateList="operateList" :tableBtnList="tableBtnList"
@sizeChange="handlerSizeChange" @currentChange="handlerCurrentChange" :pager="pager">
<SearchForm slot="header" :formOptions="formOptions" @onSearch="getList" @onReset="reset"></SearchForm>
<SearchForm ref="searchForm" slot="header" :formOptions="formOptions" @onSearch="getList"></SearchForm>
</ETable>
</div>
</template>
......@@ -11,7 +11,7 @@
import SearchForm from "@/components/SearchForm.vue";
import ETable from "@/newComponents/ETable/index.vue";
import tableMixin from "@/mixins/tableMixin";
import { getTecList } from '@/api/comCenterServeListNew'
export default {
name: "usiingService",
components: { SearchForm, ETable },
......@@ -21,55 +21,52 @@ export default {
loading: false,
tableRef: null,
form: {
name: '',
date: '',
typeName: '',
type: ''
archiTypeId: 2,
},
selectionList: [],
formOptions: [
{
label: "中台服务名称",
prop: "name",
element: "el-input",
placeholder: "中台服务名称",
},
{
label: "统计日期",
prop: "buildType",
element: "el-date-picker",
type: 'date',
valueFormat: 'yyyy-MM-dd',
element: 'el-date-picker',
initValue: new Date().format('yyyy-MM-dd'),
placeholder: '统计日期',
},
{
label: "业务服务名称",
prop: "buildType",
element: "el-select",
dictType: "build_type",
placeholder: "业务服务名称",
},
{
label: "应用服务名称",
prop: "buildType",
element: "el-select",
dictType: "build_type",
placeholder: "应用服务名称",
prop: "assetName",
element: "el-input",
placeholder: "请输入",
},
// {
// label: "统计日期",
// prop: "buildType",
// element: "el-date-picker",
// type: 'date',
// valueFormat: 'yyyy-MM-dd',
// element: 'el-date-picker',
// initValue: new Date().format('yyyy-MM-dd'),
// placeholder: '统计日期',
// },
// {
// label: "业务服务名称",
// prop: "buildType",
// element: "el-select",
// dictType: "build_type",
// placeholder: "业务服务名称",
// },
// {
// label: "应用服务名称",
// prop: "buildType",
// element: "el-select",
// dictType: "build_type",
// placeholder: "应用服务名称",
// },
],
operateList: [
{
label: "新增",
type: "primary",
size: "mini",
icon: "el-icon-plus",
disabled: true,
click: () => {
console.log("add");
},
},
// {
// label: "新增",
// type: "primary",
// size: "mini",
// icon: "el-icon-plus",
// disabled: true,
// click: () => {
// console.log("add");
// },
// },
{
label: "下载模板",
type: "primary",
......@@ -92,37 +89,37 @@ export default {
},
],
pager: {
current: 2,
current: 1,
size: 10,
total: 100,
total: 0,
sizes: [10, 20, 50, 100],
},
columns: [
{
label: "中台服务编码",
prop: "buildType",
showOverflowTooltip: true,
align: "center",
fixed: "left",
minWidth: 140
},
{
label: "中台服务名称",
prop: "buildType2",
minWidth: 140,
showOverflowTooltip: true,
align: "center",
},
// {
// label: "中台服务编码",
// prop: "buildType",
// showOverflowTooltip: true,
// align: "center",
// fixed: "left",
// minWidth: 140
// },
// {
// label: "中台服务名称",
// prop: "buildType2",
// minWidth: 140,
// showOverflowTooltip: true,
// align: "center",
// },
{
label: "应用活动名称",
prop: "buildType2",
prop: "assetName",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
},
{
label: "应用活动编码",
prop: "buildType2",
prop: "assetNumber",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
......@@ -133,6 +130,9 @@ export default {
minWidth: 120,
showOverflowTooltip: true,
align: "center",
render: (h, params) => {
return h("span", {}, this.handleName(params.parentAssetNames, 0) || '--');
},
},
{
label: "系统应用",
......@@ -140,6 +140,9 @@ export default {
minWidth: 120,
showOverflowTooltip: true,
align: "center",
render: (h, params) => {
return h("span", {}, this.handleName(params.parentAssetNames, 1) || '--');
},
},
{
label: "关联的业务对象数量",
......@@ -148,8 +151,24 @@ export default {
minWidth: 140,
align: "center",
style: { color: '#0b8680', cursor: 'pointer' },
click: (row) => {
this.$emit('dialog', '关联的业务对象数量', row)
// click: (row) => {
// this.$emit('dialog', '关联的业务对象数量', row)
// },
render: (h, params) => {
let obj = params.statisticsList && params.statisticsList.length > 1 ? params.statisticsList[0] : {}
let enName = obj.statNum || '--'
return h("span", {
style: {
color: '#0b8680',
cursor: 'pointer',
borderBottom: '1px solid #0b8680'
},
on: {
click: () => {
this.$emit('dialog', '关联的业务对象数量', params)
}
}
}, enName);
},
},
{
......@@ -159,8 +178,24 @@ export default {
minWidth: 140,
align: "center",
style: { color: '#0b8680', cursor: 'pointer' },
click: (row) => {
this.$emit('dialog', '关联的业务活动数量', row)
// click: (row) => {
// this.$emit('dialog', '关联的业务活动数量', row)
// },
render: (h, params) => {
let obj = params.statisticsList && params.statisticsList.length > 1 ? params.statisticsList[1] : {}
let enName = obj.statNum || '--'
return h("span", {
style: {
color: '#0b8680',
cursor: 'pointer',
borderBottom: '1px solid #0b8680'
},
on: {
click: () => {
this.$emit('dialog', '关联的业务活动数量', params)
}
}
}, enName);
},
},
{
......@@ -170,8 +205,24 @@ export default {
minWidth: 140,
align: "center",
style: { color: '#0b8680', cursor: 'pointer' },
click: (row) => {
this.$emit('dialog', '关联的物理实体数量', row)
// click: (row) => {
// this.$emit('dialog', '关联的物理实体数量', row)
// },
render: (h, params) => {
let obj = params.statisticsList && params.statisticsList.length > 1 ? params.statisticsList[2] : {}
let enName = obj.statNum || '--'
return h("span", {
style: {
color: '#0b8680',
cursor: 'pointer',
borderBottom: '1px solid #0b8680'
},
on: {
click: () => {
this.$emit('dialog', '关联的物理实体数量', params)
}
}
}, enName);
},
},
{
......@@ -181,8 +232,24 @@ export default {
minWidth: 140,
align: "center",
style: { color: '#0b8680', cursor: 'pointer' },
click: (row) => {
this.$emit('dialog', '关联的技术组件数量', row)
// click: (row) => {
// this.$emit('dialog', '关联的技术组件数量', row)
// },
render: (h, params) => {
let obj = params.statisticsList && params.statisticsList.length > 1 ? params.statisticsList[3] : {}
let enName = obj.statNum || '--'
return h("span", {
style: {
color: '#0b8680',
cursor: 'pointer',
borderBottom: '1px solid #0b8680'
},
on: {
click: () => {
this.$emit('dialog', '关联的技术组件数量', params)
}
}
}, enName);
},
},
],
......@@ -197,18 +264,52 @@ export default {
},
},
],
data: [{ buildType2: 11 }],
data: [],
};
},
mounted() { },
mounted() {
this.getList()
},
methods: {
handleName(name,idx) {
let strArr = ['', '']
if(name) {
let str = name.split(',')
strArr[0] = str[str.length - 2]
strArr[1] = str[str.length - 1]
}
return strArr[idx]
},
doLayout() {
this.tableRef.doLayout()
},
getList() {
console.log("getList");
async getList() {
const searchFormInfo = this.$refs['searchForm'].formData
let params = { ...this.form, ...searchFormInfo, pageSize: this.pager.size, current: this.pager.current }
this.loading = true
const res = await getTecList(params).catch(() => {
this.pager.total = 0
this.loading = false
})
this.loading = false
if (res.code == 200) {
this.data = res.data?.records
this.pager.total = res.data?.total
}
},
search() {
this.pager.current = 1
this.pager.total = 0
this.getList()
},
reset() { },
reset() {
this.pager.current = 1
this.pager.total = 0
this.form = {
archiTypeId: 2,
}
this.getList()
},
handleSelectionChange(val) {
this.selectionList = val;
},
......
......@@ -2,7 +2,7 @@
<div class="comCenterServeList">
<div class="table_container">
<el-tabs v-model="active" @tab-click="handleClick">
<el-tab-pane v-for="(item, index) in tabList" :key="index" :label="item.label" :name="item.name">
<el-tab-pane lazy v-for="(item, index) in tabList" :key="index" :label="item.label" :name="item.name">
<component :ref="`${item.name}ref`" :is="item.name" @dialog="openDialog"></component>
</el-tab-pane>
</el-tabs>
......@@ -75,12 +75,14 @@ export default {
}
}
</script>
<style scoped>
<style lang="scss" scoped>
.form_item_container {
display: flex;
flex-wrap: wrap;
}
/deep/ .el-tabs__header {
margin: 0;
}
.el-form-item {
display: flex;
width: 33%;
......@@ -264,6 +266,15 @@ export default {
width: 97%;
height: calc(100% - 40px);
margin-top: 20px;
/deep/ .el-tabs {
height: 100%;
.el-tabs__content {
height: calc(100% - 20px);
}
.el-tab-pane {
height: 100%;
}
}
}
.el-pagination {
......
......@@ -94,6 +94,7 @@ import {
getQryByTree,
queryRepeatAssetByNumber,
getAssetDetail,
getAssetCode
} from '@/api/index'
import { archiEleColor } from '@/config'
export default {
......@@ -143,6 +144,7 @@ export default {
graphId: '',
// 选择的上级节点对应的详细信息
selectedObject: {},
assetNumberDis: false
}
},
components: { Form, ChooseSvg },
......@@ -167,6 +169,7 @@ export default {
{ required: true, trigger: 'blur', message: '不能为空' },
{ validator: this.assetNameValidator, trigger: 'blur' },
],
readonly: this.assetNumberDis
},
{
label: '所属元素', // label文字
......@@ -421,6 +424,7 @@ export default {
},
// 上级节点change
superiorNodeChange(value) {
this.assetNumberDis = false
// 当选中值变化时,更新绑定的对象
this.selectedObject = {}
if (value && value.length) {
......@@ -432,6 +436,17 @@ export default {
this.superiorNodeValue = this.selectedObject.assetId
this.superiorNodeLabel = this.selectedObject.assetName
this.selectCode = this.selectedObject.assetCode
getAssetCode({
archiType: this.getArchiType,
superiorAssetCode: this.selectedObject.assetNumber
}).then(res => {
this.assetNumberDis = true
if(res.code === 200) {
this.selectCode = res.msg
this.$refs['addForm'].changeFormItemData('assetNumber', res.msg)
}
})
},
findObjectById(items, id) {
for (let i = 0; i < items.length; i++) {
......
......@@ -4,7 +4,7 @@
* @Autor: pan
* @Date: 2024-04-23 11:30:05
* @LastEditors: pan
* @LastEditTime: 2024-05-07 17:58:40
* @LastEditTime: 2024-05-07 19:04:17
-->
<template>
<div class="dataMapping w-100">
......@@ -29,14 +29,14 @@
<el-button icon="el-icon-document-checked" type="primary" plain
>保存</el-button
>
<el-button
<!-- <el-button
v-preventReClick
@click="fnGraph()"
icon="el-icon-picture-outline"
type="primary"
plain
>绘图</el-button
>
> -->
</div>
</div>
<div class="flex w-100 flex-1" style="min-height: 0">
......@@ -125,7 +125,7 @@
icon="el-icon-delete"
plain
@click="fnDel(row, $index)"
></el-button
></el-button
>
</template>
</el-table-column>
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!