Merge branch 'hi-ucs-dev' of http://15.2.21.221:3000/wuhongjian/hi-ucs into hi-ucs-dev

This commit is contained in:
a0049873 2022-07-19 09:16:37 +08:00
commit 74168d8a2c
3 changed files with 185 additions and 71 deletions

1
.gitignore vendored
View File

@ -7,3 +7,4 @@ back/dist-市局-后台管理.zip
back/dist-市局-后台管理-v0.8.2.1.zip back/dist-市局-后台管理-v0.8.2.1.zip
front/public/index.html front/public/index.html
back/dist-西海岸-后台管理-v0.8.2.1.zip back/dist-西海岸-后台管理-v0.8.2.1.zip
back/dist-市局-后台管理-v0.8.2.3.zip

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

@ -126,12 +126,12 @@ export default {
dataList.push(element) dataList.push(element)
}) })
this.options = dataList this.options = dataList
// if (!this.data.note1) { if (!this.data.note1) {
// this.$http.get('/sys/user/info').then(({ data: res }) => { this.$http.get('/sys/user/info').then(({ data: res }) => {
// console.log(res.data) console.log(res.data)
// this.data.note1 = res.data.deptId this.data.note1 = res.data.deptId
// }) })
// } }
}) })
} else if (this.data.name === '部门联系人') { } else if (this.data.name === '部门联系人') {
// this.$http.get('/sys/dept/all').then(res => { // this.$http.get('/sys/dept/all').then(res => {