合并版本v0.8.2.4

This commit is contained in:
wuhongjian 2022-07-19 09:19:29 +08:00
commit a89511eee3
2 changed files with 187 additions and 68 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,9 +28,7 @@
> >
</el-form-item> --> </el-form-item> -->
<el-form-item> <el-form-item>
<el-button <el-button type="primary" @click="showPutOnTheShelf()"
type="primary"
@click="showPutOnTheShelf()"
>上架</el-button >上架</el-button
> >
</el-form-item> </el-form-item>
@ -39,7 +37,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>
@ -110,14 +108,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
@ -125,7 +123,12 @@
<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 type="text" size="small" @click="showRelateApplication(scope.row)">关联应用</el-button> <el-button
type="text"
size="small"
@click="showRelateApplication(scope.row)"
>关联应用</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -146,33 +149,48 @@
ref="addOrUpdate" ref="addOrUpdate"
@refreshDataList="getDataList" @refreshDataList="getDataList"
></add-or-update> ></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> </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> <el-button type="primary" @click="showPutOnTheShelfVue"
> </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>
@ -281,6 +299,19 @@ 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
@ -355,6 +386,19 @@ 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()
@ -380,7 +424,11 @@ export default {
}, },
// //
showRelateApplication (row) { 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) { if (res && res.data) {
this.relateApplicationVisible = true this.relateApplicationVisible = true
this.relateInfo = { this.relateInfo = {
@ -389,7 +437,8 @@ export default {
linkType: '2' linkType: '2'
} }
} }
}).catch(() => { }) })
.catch(() => {})
}, },
// //
handleIsShowRelatePopup (type) { handleIsShowRelatePopup (type) {
@ -419,30 +468,44 @@ 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(item => item.name === '组件服务一')[0] this.insertList = res.data.data.filter(
(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(item => item.name === this.radio)[0].children this.putOnTheShelfList = this.insertList.children.filter(
(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((item) => item.attrType !== obj.attrType) this.submitFrom.infoList = this.submitFrom.infoList.filter(
(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 (child.name === '算法优势' || child.name === '应用场景' || child.name === '功能介绍') { if (
child.name === '算法优势' ||
child.name === '应用场景' ||
child.name === '功能介绍'
) {
arr.push(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({ this.submitFrom.infoList.push({
attrType: child.name, attrType: child.name,
attrValue: child.note1, attrValue: child.note1,
@ -450,10 +513,18 @@ export default {
}) })
} }
} }
child.children.map(val => { child.children.map((val) => {
arr.push(val.name) arr.push(val.name)
if (val.type === 'input' || val.type === 'textArea' || val.type === 'select' || val.type === 'checkBox' || val.type === 'radio') { if (
this.submitFrom.infoList = this.submitFrom.infoList.filter((item) => item.attrType !== val.name) 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) { if (val.note1) {
switch (val.name) { switch (val.name) {
@ -497,14 +568,22 @@ export default {
this.submitFrom.type = val.note1 this.submitFrom.type = val.note1
break break
default: 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({ this.submitFrom.infoList.push({
attrType: val.name, attrType: val.name,
attrValue: val.note1, attrValue: val.note1,
delFlag: 0 delFlag: 0
}) })
} else { } 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({ this.submitFrom.infoList.push({
attrType: val.name, attrType: val.name,
attrValue: val.note1, 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) { 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
} }
@ -531,11 +612,18 @@ 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((element, index, self) => { const newArr = this.submitFrom.infoList.filter(
return self.findIndex(x => x.attrType === element.attrType) === index (element, index, self) => {
}) return (
self.findIndex((x) => x.attrType === element.attrType) === index
)
}
)
this.submitFrom.infoList = newArr this.submitFrom.infoList = newArr
console.log(this.submitFrom.infoList, '====================================wpwpwp') console.log(
this.submitFrom.infoList,
'====================================wpwpwp'
)
this.$http this.$http
.put('/resource/update', this.submitFrom) .put('/resource/update', this.submitFrom)
.then(({ data: res }) => { .then(({ data: res }) => {
@ -563,22 +651,39 @@ 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(item => item.name === '组件服务一')[0] this.insertList = res.data.data.filter(
this.radio = item.infoList.filter(val => val.attrType === '组件类型')[0].attrValue (item) => item.name === '组件服务一'
this.putOnTheShelfList = this.insertList.children.filter(item => item.name === this.radio)[0].children )[0]
this.putOnTheShelfList.map(parent => { this.radio = item.infoList.filter(
parent.children.map(child => { (val) => val.attrType === '组件类型'
if (child.name === '算法优势' || child.name === '应用场景' || child.name === '功能介绍') { )[0].attrValue
const obj = item.infoList.filter(val => val.attrType === child.name)[0] 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) { 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 (data.name === '计费标准信息' || data.name === '常见问题') { if (
const obj = item.infoList.filter(val => val.attrType === child.name)[0] data.name === '计费标准信息' ||
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
} }
@ -625,14 +730,22 @@ 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(val => val.attrType === data.name)[0] const obj1 = item.infoList.filter(
(val) => val.attrType === data.name
)[0]
if (obj1) { if (obj1) {
data.note1 = obj1.attrValue data.note1 = obj1.attrValue
} }
break break
} }
if (data.type === 'image' || data.type === 'file' || data.type === 'video') { if (
const obj1 = item.infoList.filter(val => val.attrType === data.name)[0] data.type === 'image' ||
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
} }

View File

@ -271,6 +271,7 @@
const flag = ref(false) const flag = ref(false)
const list = ref(JSON.parse(localStorage.getItem('applyList'))) const list = ref(JSON.parse(localStorage.getItem('applyList')))
const applyAll = router.currentRoute.value.query.applyAll const applyAll = router.currentRoute.value.query.applyAll
const num = ref(0)
if (!applyAll) { if (!applyAll) {
list.value.map((item) => { list.value.map((item) => {
item.arr.map((val) => { item.arr.map((val) => {
@ -291,7 +292,6 @@
} }
}) })
} }
const num = ref(0)
console.log( console.log(
'list', 'list',
list.value list.value
@ -447,12 +447,18 @@
}) })
}) })
submitApply(obj).then((res) => { submitApply(obj).then((res) => {
applySuccess.value = false // applySuccess.value = false
console.log('摄像头申请================>', res) console.log('摄像头申请================>', res)
if (item.id) { if (item.id) {
sgcDel({ ids: [item.id] }).then((res) => { sgcDel({ ids: [item.id] }).then((res) => {
if (res.data.msg === 'success') { if (res.data.msg === 'success') {
mybus.emit('getSgcNum') mybus.emit('getSgcNum')
router.push({
path: '/DetailsPageconetent',
query: {
select: '组件服务',
},
})
} }
}) })
} }
@ -517,7 +523,7 @@
// proxy.$http['post']('/act/running/startOfBusinessKey', data) // proxy.$http['post']('/act/running/startOfBusinessKey', data)
startOfBusinessKey(data) startOfBusinessKey(data)
.then(({ data: res }) => { .then(({ data: res }) => {
applySuccess.value = false // applySuccess.value = false
if (res.code !== 0) { if (res.code !== 0) {
if (callbacks.startProcessErrorCallback) { if (callbacks.startProcessErrorCallback) {
callbacks.startProcessErrorCallback(res.data) callbacks.startProcessErrorCallback(res.data)