Commit 38b3a2c5 by ‘july-fu’

feat: 企业中台服务清单

1 parent d25372e5
......@@ -5,6 +5,9 @@ import {
EADC_SHARED_ABILITY,
} from "@/config/micromodule";
export function getDictOPtionsFromKeyword(key) {
return get(`/dict/getDictLabels?typeValue=${key}`);
}
export function getServiceList(data) {
return post(EADC_ARRCHITECTURE + "/arc-aby-iy/qryListPage", data);
}
......@@ -16,3 +19,7 @@ export function addService(data) {
export function getDataList(data) {
return post(EADC_ARRCHITECTURE + "/arc-aby-ast/qryDataListPage", data);
}
export function getTecList(data) {
return post(EADC_ARRCHITECTURE + "/arc-aby-ast/qryDataListPage", data);
}
......@@ -200,5 +200,16 @@ export default {
.businessMsgWrapper {
width: 100%;
height: 100%;
.w180 {
width: 180px !important;
}
.btn-box {
height: 38px;
display: flex;
justify-content: flex-end;
align-items: center;
}
}
</style>
\ No newline at end of file
......@@ -70,7 +70,8 @@ export default {
abilityName: "",
midGroundName: "",
midGroundType: "",
statTime: ""
statTime: "",
archiTypeId: 3,
},
selectionList: [],
operateList: [
......@@ -112,21 +113,21 @@ export default {
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: "assetName",
......@@ -162,17 +163,27 @@ export default {
},
{
label: "逻辑实体",
prop: "parentAssetName",
prop: "parentAssetNames",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
render: (h, params) => {
let arr = params.parentAssetNames ? params.parentAssetNames.split(',') : []
let enName = arr[1] || '--'
return h("span", {}, enName);
},
},
{
label: "概念实体",
prop: "parOfParAssetName",
prop: "parentAssetNames",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
render: (h, params) => {
let arr = params.parentAssetNames ? params.parentAssetNames.split(',') : []
let enName = arr[0] || '--'
return h("span", {}, enName);
},
},
],
data: [],
......@@ -208,7 +219,8 @@ export default {
abilityName: "",
midGroundName: "",
midGroundType: "",
statTime: ""
statTime: "",
archiTypeId: 3,
}
this.getList()
},
......@@ -225,5 +237,16 @@ export default {
.dataEntityWrapper {
width: 100%;
height: 100%;
.w180 {
width: 180px !important;
}
.btn-box {
height: 38px;
display: flex;
justify-content: flex-end;
align-items: center;
}
}
</style>
\ No newline at end of file
......@@ -61,18 +61,18 @@
import {
serverTypeOptions,
abilitySourceOptions,
midGroundNameOptions,
midGroundTypeOptions,
// midGroundNameOptions,
// midGroundTypeOptions,
} from "../options.js";
import { addService } from '@/api/comCenterServeListNew'
import { addService, getDictOPtionsFromKeyword } from '@/api/comCenterServeListNew'
export default {
data() {
return {
loading: false,
serverTypeOptions,
abilitySourceOptions,
midGroundNameOptions,
midGroundTypeOptions,
midGroundNameOptions: [],
midGroundTypeOptions: [],
show: false,
title: "新增中台服务",
form: {
......@@ -122,7 +122,19 @@ export default {
},
};
},
mounted() {
this.getMidGroundNameOptions()
this.getMidGroundTypeOptions()
},
methods: {
async getMidGroundNameOptions() {
const res = await getDictOPtionsFromKeyword('midGroundName').catch(() => { })
console.log(res)
},
async getMidGroundTypeOptions() {
const res = await getDictOPtionsFromKeyword('midGroundType').catch(() => { })
console.log(res)
},
comChange(val, str) {
let obj
switch (str) {
......
......@@ -490,6 +490,7 @@ export default {
}
.btn-box {
height: 38px;
display: flex;
justify-content: flex-end;
align-items: center;
......
......@@ -2,12 +2,38 @@
<div class="technicalComWrapper">
<ETable ref="ETableRef" title="技术组件信息列表" :tableRef.sync="tableRef" :height="430" tableKey="technicalCom"
: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>
@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"
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"
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"
v-preventReClick>查询</el-button>
<el-button size="mini" type="default" class="btn-reset" icon="el-icon-refresh"
@click="reset">重置</el-button>
</div>
</el-col>
</el-row>
</el-form>
</ETable>
</div>
</template>
<script>
import { stateOptions, serverTypeOptions, abilitySourceOptions, midGroundNameOptions, midGroundTypeOptions } from '../options.js'
import { getTecList } from '@/api/comCenterServeListNew'
import SearchForm from "@/components/SearchForm.vue";
import ETable from "@/newComponents/ETable/index.vue";
import tableMixin from "@/mixins/tableMixin";
......@@ -21,37 +47,13 @@ export default {
loading: false,
tableRef: null,
form: {
name: '',
date: '',
typeName: '',
type: ''
assetName: '',
beginTime: '',
endTime: '',
time: undefined,
archiTypeId: 4,
},
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: "基础组件名称",
},
],
operateList: [
{
label: "新增",
......@@ -91,88 +93,134 @@ export default {
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: "assetCode",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
render: (h, params) => {
let arr = params.fieldsValue ? JSON.parse(params.fieldsValue) : []
let obj = arr.find(i => i.cnName == '基础组件编码')
let enName = obj ? obj.value_ : '--'
return h("span", {}, enName);
},
},
{
label: "技术平台",
prop: "buildType2",
prop: "parentAssetNames",
minWidth: 120,
showOverflowTooltip: true,
align: "center",
render: (h, params) => {
let arr = params.parentAssetNames ? params.parentAssetNames.split(',') : []
let enName = arr.length > 1 ? arr[1] : ''
return h("span", {}, enName);
},
},
{
label: "支撑的系统数量",
T: 'a',
prop: "buildType2",
prop: "statNum",
minWidth: 140,
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", {}, enName);
},
},
{
label: "支撑的数据服务数量",
T: 'a',
prop: "buildType2",
prop: "statNum",
minWidth: 140,
align: "center",
style: { color: '#0b8680', cursor: 'pointer' },
click: (row) => {
this.$emit('dialog', '支撑的数据服务数量', row)
},
},
],
tableBtnList: [
{
label: "编辑",
type: "primary",
size: "mini",
icon: "el-icon-circle-plus-outline",
click: (row, index) => {
console.log("编辑", row);
render: (h, params) => {
let obj = params.statisticsList && params.statisticsList.length > 1 ? params.statisticsList[1] : {}
console.log(obj)
let enName = obj.statNum || '--'
return h("span", {}, enName);
},
},
],
data: [{ buildType2: 11 }],
data: [],
};
},
mounted() { },
mounted() {
this.getList()
},
methods: {
doLayout() {
this.tableRef.doLayout()
},
getList() {
console.log("getList");
async getList() {
const { time, ...others } = this.form
let beginTime, endTime
if (time) {
[beginTime, endTime] = time
}
let params = { ...others, beginTime, endTime, 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
console.log('technicalCom', res)
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 = {
assetName: '',
beginTime: '',
endTime: '',
time: undefined,
archiTypeId: 4,
}
this.getList()
},
reset() { },
handleSelectionChange(val) {
this.selectionList = val;
},
......@@ -186,5 +234,16 @@ export default {
.technicalComWrapper {
width: 100%;
height: 100%;
.w180 {
width: 180px !important;
}
.btn-box {
height: 38px;
display: flex;
justify-content: flex-end;
align-items: center;
}
}
</style>
\ No newline at end of file
......@@ -222,5 +222,16 @@ export default {
.usiingServiceWrapper {
width: 100%;
height: 100%;
.w180 {
width: 180px !important;
}
.btn-box {
height: 38px;
display: flex;
justify-content: flex-end;
align-items: center;
}
}
</style>
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!