Compare commits

..

2 Commits

Author SHA1 Message Date
851673013@qq.com f0d7ca4f39 Merge branch 'hi-ucs-dev' of http://15.2.21.221:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-07-18 18:53:09 +08:00
851673013@qq.com 23a577a544 组件服务挂接 2022-07-18 18:53:04 +08:00
1 changed files with 178 additions and 65 deletions

View File

@ -11,12 +11,12 @@
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getDataList2(dataForm.name)">{{
$t("query")
$t('query')
}}</el-button>
</el-form-item>
<el-form-item>
<el-button type="info" @click="exportHandle()">{{
$t("export")
$t('export')
}}</el-button>
</el-form-item>
<!-- <el-form-item>
@ -28,9 +28,7 @@
>
</el-form-item> -->
<el-form-item>
<el-button
type="primary"
@click="showPutOnTheShelf()"
<el-button type="primary" @click="showPutOnTheShelf()"
>上架</el-button
>
</el-form-item>
@ -39,7 +37,7 @@
v-if="$hasPermission('ability:bsabilityai:delete')"
type="danger"
@click="deleteHandle2()"
>{{ $t("deleteBatch") }}</el-button
>{{ $t('deleteBatch') }}</el-button
>
</el-form-item>
<el-form-item>
@ -110,14 +108,14 @@
type="text"
size="small"
@click="UpdateData(scope.row)"
>{{ $t("update") }}</el-button
>{{ $t('update') }}</el-button
>
<el-button
v-if="$hasPermission('ability:bsabilityai:delete')"
type="text"
size="small"
@click="deleteHandle2(scope.row.id)"
>{{ $t("delete") }}</el-button
>{{ $t('delete') }}</el-button
>
<el-button type="text" size="small" @click="showDetail(scope.row)"
>详情</el-button
@ -125,7 +123,12 @@
<el-button type="text" size="small" @click="showDocument(scope.row)"
>开发文档</el-button
>
<el-button type="text" size="small" @click="showRelateApplication(scope.row)">关联应用</el-button>
<el-button
type="text"
size="small"
@click="showRelateApplication(scope.row)"
>关联应用</el-button
>
</template>
</el-table-column>
</el-table>
@ -146,33 +149,48 @@
ref="addOrUpdate"
@refreshDataList="getDataList"
></add-or-update>
<relate-application v-if="relateApplicationVisible" ref="relateApplication" :nameArray="['未关联应用名称', '已关联应用名称']" :relateInfo="relateInfo" @isShowRelatePopup="handleIsShowRelatePopup"></relate-application>
<relate-application
v-if="relateApplicationVisible"
ref="relateApplication"
:nameArray="['未关联应用名称', '已关联应用名称']"
:relateInfo="relateInfo"
@isShowRelatePopup="handleIsShowRelatePopup"
></relate-application>
</div>
<el-dialog
title="选择组件类型"
:visible.sync="showPutOnTheShelfFlag"
:close-on-click-modal='false'
:close-on-press-escape='false'
:before-close='clear'
width="30%">
:close-on-click-modal="false"
:close-on-press-escape="false"
:before-close="clear"
width="30%"
>
<el-radio v-model="radio" label="智能算法">智能算法</el-radio>
<el-radio v-model="radio" label="图层服务">图层服务</el-radio>
<el-radio v-model="radio" label="开发组件">开发组件</el-radio>
<el-radio v-model="radio" label="业务组件">业务组件</el-radio>
<span slot="footer" class="dialog-footer">
<el-button @click="clear"> </el-button>
<el-button type="primary" @click="showPutOnTheShelfVue"> </el-button>
<el-button type="primary" @click="showPutOnTheShelfVue"
> </el-button
>
</span>
</el-dialog>
<el-dialog
:title="submitFrom.id ? '修改' + radio : '上架' + radio"
:visible.sync="showPutOnTheShelfFlag2"
:close-on-click-modal='false'
:close-on-press-escape='false'
:destroy-on-close='true'
:before-close='clear'
width="50%">
<putOnTheShelf :putOnTheShelfList='putOnTheShelfList' @changeInfoList='changeInfoList' :type='radio' :typeInput='typeInput'></putOnTheShelf>
:close-on-click-modal="false"
:close-on-press-escape="false"
:destroy-on-close="true"
:before-close="clear"
width="50%"
>
<putOnTheShelf
:putOnTheShelfList="putOnTheShelfList"
@changeInfoList="changeInfoList"
:type="radio"
:typeInput="typeInput"
></putOnTheShelf>
<span slot="footer" class="dialog-footer">
<el-button @click="clear"> </el-button>
<el-button type="primary" @click="submitData"> </el-button>
@ -281,6 +299,19 @@ export default {
this.dataList = this.mixinViewModuleOptions.getDataListIsPage
? res.data.list
: res.data
this.dataList.map((item, index) => {
const dataListSinforList = []
item.infoList.map((itemson, indexson) => {
if (
itemson.attrType === '部署位置' ||
itemson.attrType === '组件类型' ||
itemson.attrType === '应用领域'
) {
dataListSinforList.push(itemson)
}
})
this.dataList[index].infoList = dataListSinforList
})
console.log('this.dataList', this.dataList)
this.total = this.mixinViewModuleOptions.getDataListIsPage
? res.data.total
@ -355,6 +386,19 @@ export default {
this.mixinViewModuleOptions.requestCallback(res.data)
}
this.dataListLoading = false
this.dataList.map((item, index) => {
const dataListSinforList = []
item.infoList.map((itemson, indexson) => {
if (
itemson.attrType === '部署位置' ||
itemson.attrType === '组件类型' ||
itemson.attrType === '应用领域'
) {
dataListSinforList.push(itemson)
}
})
this.dataList[index].infoList = dataListSinforList
})
} else {
this.$message.error('未查询到相关信息')
this.reset()
@ -380,7 +424,11 @@ export default {
},
//
showRelateApplication (row) {
this.$http.get(`dataResourceRel/queryApplicationRelByResourceId?referenceId=${row.id}`).then(({ data: res }) => {
this.$http
.get(
`dataResourceRel/queryApplicationRelByResourceId?referenceId=${row.id}`
)
.then(({ data: res }) => {
if (res && res.data) {
this.relateApplicationVisible = true
this.relateInfo = {
@ -389,7 +437,8 @@ export default {
linkType: '2'
}
}
}).catch(() => { })
})
.catch(() => {})
},
//
handleIsShowRelatePopup (type) {
@ -419,30 +468,44 @@ export default {
},
showPutOnTheShelf () {
this.showPutOnTheShelfFlag = true
this.$http.get('/category/getCategoryTree').then(res => {
this.insertList = res.data.data.filter(item => item.name === '组件服务一')[0]
this.$http.get('/category/getCategoryTree').then((res) => {
this.insertList = res.data.data.filter(
(item) => item.name === '组件服务一'
)[0]
})
},
showPutOnTheShelfVue () {
this.showPutOnTheShelfFlag = false
this.showPutOnTheShelfFlag2 = true
this.submitFrom.infoList[0].attrValue = this.radio
this.putOnTheShelfList = this.insertList.children.filter(item => item.name === this.radio)[0].children
this.putOnTheShelfList = this.insertList.children.filter(
(item) => item.name === this.radio
)[0].children
},
changeInfoList (obj) {
console.log(obj, this.submitFrom)
this.submitFrom.infoList = this.submitFrom.infoList.filter((item) => item.attrType !== obj.attrType)
this.submitFrom.infoList = this.submitFrom.infoList.filter(
(item) => item.attrType !== obj.attrType
)
this.submitFrom.infoList.push(obj)
},
submitData () {
console.log('提交11111111111===============>', this.putOnTheShelfList)
const arr = []
this.putOnTheShelfList.map(item => {
item.children.map(child => {
this.putOnTheShelfList.map((item) => {
item.children.map((child) => {
if (child.children) {
if (child.name === '算法优势' || child.name === '应用场景' || child.name === '功能介绍') {
if (
child.name === '算法优势' ||
child.name === '应用场景' ||
child.name === '功能介绍'
) {
arr.push(child.name)
if (this.submitFrom.infoList.filter(value => value.attrType === child.name).length === 0) {
if (
this.submitFrom.infoList.filter(
(value) => value.attrType === child.name
).length === 0
) {
this.submitFrom.infoList.push({
attrType: child.name,
attrValue: child.note1,
@ -450,10 +513,18 @@ export default {
})
}
}
child.children.map(val => {
child.children.map((val) => {
arr.push(val.name)
if (val.type === 'input' || val.type === 'textArea' || val.type === 'select' || val.type === 'checkBox' || val.type === 'radio') {
this.submitFrom.infoList = this.submitFrom.infoList.filter((item) => item.attrType !== val.name)
if (
val.type === 'input' ||
val.type === 'textArea' ||
val.type === 'select' ||
val.type === 'checkBox' ||
val.type === 'radio'
) {
this.submitFrom.infoList = this.submitFrom.infoList.filter(
(item) => item.attrType !== val.name
)
}
if (val.note1) {
switch (val.name) {
@ -497,14 +568,22 @@ export default {
this.submitFrom.type = val.note1
break
default:
if (val.type !== 'image' && val.type !== 'file' && val.type !== 'video') {
if (
val.type !== 'image' &&
val.type !== 'file' &&
val.type !== 'video'
) {
this.submitFrom.infoList.push({
attrType: val.name,
attrValue: val.note1,
delFlag: 0
})
} else {
if (this.submitFrom.infoList.filter(value => value.attrType === val.name).length === 0) {
if (
this.submitFrom.infoList.filter(
(value) => value.attrType === val.name
).length === 0
) {
this.submitFrom.infoList.push({
attrType: val.name,
attrValue: val.note1,
@ -520,10 +599,12 @@ export default {
}
})
})
this.submitFrom.infoList = this.submitFrom.infoList.sort((a, b) => arr.indexOf(a.attrType) - arr.indexOf(b.attrType))
this.submitFrom.infoList = this.submitFrom.infoList.sort(
(a, b) => arr.indexOf(a.attrType) - arr.indexOf(b.attrType)
)
if (this.submitFrom.id) {
//
this.submitFrom.infoList.map(val => {
this.submitFrom.infoList.map((val) => {
if (val.attrType === '组件类型') {
val.attrValue = this.radio
}
@ -531,11 +612,18 @@ export default {
console.log('编辑===============>', this.submitFrom)
console.log(this.submitFrom.infoList, '===============abc')
//
const newArr = this.submitFrom.infoList.filter((element, index, self) => {
return self.findIndex(x => x.attrType === element.attrType) === index
})
const newArr = this.submitFrom.infoList.filter(
(element, index, self) => {
return (
self.findIndex((x) => x.attrType === element.attrType) === index
)
}
)
this.submitFrom.infoList = newArr
console.log(this.submitFrom.infoList, '====================================wpwpwp')
console.log(
this.submitFrom.infoList,
'====================================wpwpwp'
)
this.$http
.put('/resource/update', this.submitFrom)
.then(({ data: res }) => {
@ -563,22 +651,39 @@ export default {
},
//
UpdateData (item) {
this.$http.get('/category/getCategoryTree').then(res => {
this.insertList = res.data.data.filter(item => item.name === '组件服务一')[0]
this.radio = item.infoList.filter(val => val.attrType === '组件类型')[0].attrValue
this.putOnTheShelfList = this.insertList.children.filter(item => item.name === this.radio)[0].children
this.putOnTheShelfList.map(parent => {
parent.children.map(child => {
if (child.name === '算法优势' || child.name === '应用场景' || child.name === '功能介绍') {
const obj = item.infoList.filter(val => val.attrType === child.name)[0]
this.$http.get('/category/getCategoryTree').then((res) => {
this.insertList = res.data.data.filter(
(item) => item.name === '组件服务一'
)[0]
this.radio = item.infoList.filter(
(val) => val.attrType === '组件类型'
)[0].attrValue
this.putOnTheShelfList = this.insertList.children.filter(
(item) => item.name === this.radio
)[0].children
this.putOnTheShelfList.map((parent) => {
parent.children.map((child) => {
if (
child.name === '算法优势' ||
child.name === '应用场景' ||
child.name === '功能介绍'
) {
const obj = item.infoList.filter(
(val) => val.attrType === child.name
)[0]
if (obj) {
child.note1 = obj.attrValue
}
} else {
if (child.children) {
child.children.map(data => {
if (data.name === '计费标准信息' || data.name === '常见问题') {
const obj = item.infoList.filter(val => val.attrType === child.name)[0]
child.children.map((data) => {
if (
data.name === '计费标准信息' ||
data.name === '常见问题'
) {
const obj = item.infoList.filter(
(val) => val.attrType === child.name
)[0]
if (obj) {
data.note1 = obj.attrValue
}
@ -625,14 +730,22 @@ export default {
break
default:
// eslint-disable-next-line no-case-declarations
const obj1 = item.infoList.filter(val => val.attrType === data.name)[0]
const obj1 = item.infoList.filter(
(val) => val.attrType === data.name
)[0]
if (obj1) {
data.note1 = obj1.attrValue
}
break
}
if (data.type === 'image' || data.type === 'file' || data.type === 'video') {
const obj1 = item.infoList.filter(val => val.attrType === data.name)[0]
if (
data.type === 'image' ||
data.type === 'file' ||
data.type === 'video'
) {
const obj1 = item.infoList.filter(
(val) => val.attrType === data.name
)[0]
if (obj1) {
data.note2 = obj1.note2
}