Commit c306a069 by 史敦盼

中台

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