Compare commits

..

No commits in common. "f0d7ca4f3918ab76fd1b6a5e01d2b5601fca265e" and "209183ec29b47fb48948a1bd379760c95b453e06" have entirely different histories.

1 changed files with 65 additions and 178 deletions

View File

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