Merge branch 'hi-ucs-dev' into release

# Conflicts:
#	front/public/static/config/basicConfig.js
This commit is contained in:
a0049873 2022-09-19 11:08:15 +08:00
commit e97fc9afa9
6 changed files with 973 additions and 670 deletions

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2020-07-07 16:03:23 * @Date: 2020-07-07 16:03:23
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-09-14 10:50:37 * @LastEditTime: 2022-09-19 11:08:04
* @Description: 系统静态参数配置 * @Description: 系统静态参数配置
*/ */
var _global = {} var _global = {}
@ -58,8 +58,8 @@ var CONFIGITEM = {
}, },
backUrl: 'http://localhost:8001', backUrl: 'http://localhost:8001',
previewUrl: 'http://192.168.124.236:9796/', previewUrl: 'http://192.168.124.236:9796/',
// websocketURL: '192.168.124.236:8888/renren-admin', websocketURL: '192.168.124.236:8888/renren-admin',
websocketURL: '10.18.1.99:8889/renren-admin', // websocketURL: '10.18.1.99:8889/renren-admin',
POI_URL: POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address', 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
}, },

View File

@ -1,6 +1,18 @@
<!-- 智能算法 --> <!-- 智能算法 -->
<template> <template>
<div class="algorithm"> <div class="algorithm">
<div class="select">
<div class="top" @click="selectFlag2 = true">
{{ typeName2 }}
<div class="light"></div>
</div>
<div class="bottom" v-show="selectFlag2">
<span class="light"></span>
<div v-for="val in dictList" :key="val" @click="getList2(val)">
{{ val }}
</div>
</div>
</div>
<div class="algorithm-class"> <div class="algorithm-class">
<div <div
v-for="(item, index) in dataList" v-for="(item, index) in dataList"
@ -27,9 +39,25 @@
</div> </div>
</template> </template>
<script setup> <script setup>
import { getCategoryTreePage } from '@/api/personalCenter'
import { pageWithAttrs } from '@/api/abilityStatistics' import { pageWithAttrs } from '@/api/abilityStatistics'
import { ref, onMounted, onBeforeUnmount } from 'vue' import { ref, onMounted, onBeforeUnmount } from 'vue'
const typeName2 = ref('全部')
const dictList = ref([])
const dataList = ref([]) const dataList = ref([])
const selectFlag2 = ref(false)
getCategoryTreePage({
page: 1,
limit: 99,
dictTypeId: '1513712507692818433',
}).then((res) => {
dictList.value = ['全部']
res.data.data.list.map((val) => {
if (val.dictLabel !== '其他') {
dictList.value.push(val.dictLabel)
}
})
})
const params = { const params = {
deptIds: [], deptIds: [],
districtId: '', districtId: '',
@ -40,6 +68,19 @@
pageSize: 9, pageSize: 9,
type: '组件服务', type: '组件服务',
} }
const getList2 = (val) => {
typeName2.value = val
if (val == '全部') {
params.infoList = [{ attrType: '组件类型', attrValue: '智能算法' }]
} else {
params.infoList = [
{ attrType: '组件类型', attrValue: '智能算法' },
{ attrType: '应用领域', attrValue: val },
]
}
selectFlag2.value = false
pageWithAttrsFunction()
}
let algorithmclass = null let algorithmclass = null
const imgSrc = ref(require('@/assets/capacitySquare/algorithm-photo.jpg')) const imgSrc = ref(require('@/assets/capacitySquare/algorithm-photo.jpg'))
const dataLength = ref(true) const dataLength = ref(true)
@ -109,9 +150,67 @@
<style lang="less" scoped> <style lang="less" scoped>
.algorithm { .algorithm {
.select {
margin: 0.1rem 0 0.1rem 0.2rem;
color: #fff;
font-size: 0.2rem;
font-family: webfont;
position: relative;
.top {
cursor: pointer;
width: 3.61rem;
height: 0.85rem;
font-weight: 600;
text-align: center;
padding-top: 0.1rem;
background: url('~@/assets/capacitySquare/select-bg.png') no-repeat;
background-size: 100%;
position: relative;
.light {
width: 0.56rem;
height: 3px;
position: absolute;
top: 0.4rem;
left: 1.52rem;
background: url('~@/assets/capacitySquare/select-light1.png')
no-repeat;
background-size: 100%;
}
}
.bottom {
cursor: pointer;
position: absolute;
top: 0.5rem;
left: 0.9rem;
z-index: 1000;
background: rgba(57, 134, 239, 0.68);
border: 1px solid #aed5ff;
.light {
display: inline-block;
width: 2.39rem;
height: 5px;
position: absolute;
top: -0.08rem;
left: -0.3rem;
background: url('~@/assets/capacitySquare/select-light2.png')
no-repeat;
background-size: 100%;
}
& > div {
width: 1.8rem;
height: 0.4rem;
line-height: 0.4rem;
text-align: center;
border-top: 1px solid #aed5ff;
}
& > div:nth-of-type(1) {
border: none;
}
}
}
.algorithm-class { .algorithm-class {
margin-top: 0.6rem; // margin-top: 0.6rem;
margin-bottom: 0.59rem; margin-bottom: 0.18rem;
display: grid; display: grid;
grid-template-columns: repeat(3, 33%); grid-template-columns: repeat(3, 33%);
height: 8.8rem; height: 8.8rem;

View File

@ -2,11 +2,12 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-08-09 09:31:25 * @Date: 2022-08-09 09:31:25
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-08-10 14:29:05 * @LastEditTime: 2022-09-19 10:19:02
* @Description: 应用资源 * @Description: 应用资源
--> -->
<template> <template>
<div class="application"> <div class="application">
<div style="display: flex">
<div class="select"> <div class="select">
<div class="top" @click="selectFlag = true"> <div class="top" @click="selectFlag = true">
{{ typeName }} {{ typeName }}
@ -20,6 +21,19 @@
<div @click="getList('企业')">企业</div> <div @click="getList('企业')">企业</div>
</div> </div>
</div> </div>
<div class="select">
<div class="top" @click="selectFlag2 = true">
{{ typeName2 }}
<div class="light"></div>
</div>
<div class="bottom" v-show="selectFlag2">
<span class="light"></span>
<div v-for="val in dictList" :key="val" @click="getList2(val)">
{{ val }}
</div>
</div>
</div>
</div>
<div class="item-box"> <div class="item-box">
<div class="item" v-for="item in data.list" :key="item.id"> <div class="item" v-for="item in data.list" :key="item.id">
<a-image <a-image
@ -38,6 +52,7 @@
</div> </div>
</template> </template>
<script setup> <script setup>
import { getCategoryTreePage } from '@/api/personalCenter'
import { onMounted, reactive, onBeforeUnmount, ref, nextTick } from 'vue' import { onMounted, reactive, onBeforeUnmount, ref, nextTick } from 'vue'
import { selectAppList } from '@/api/home' import { selectAppList } from '@/api/home'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
@ -45,9 +60,25 @@
const pageNum = ref(1) const pageNum = ref(1)
const flag = ref(true) const flag = ref(true)
const type = ref(null) const type = ref(null)
const area = ref(null)
const typeName = ref('全市') const typeName = ref('全市')
const typeName2 = ref('全部')
const dictList = ref([])
const data = reactive({ list: [] }) const data = reactive({ list: [] })
const selectFlag = ref(false) const selectFlag = ref(false)
const selectFlag2 = ref(false)
getCategoryTreePage({
page: 1,
limit: 99,
dictTypeId: '1513712507692818433',
}).then((res) => {
dictList.value = ['全部']
res.data.data.list.map((val) => {
if (val.dictLabel !== '其他') {
dictList.value.push(val.dictLabel)
}
})
})
let dom = null let dom = null
const goToView = (id) => { const goToView = (id) => {
const newpage = router.resolve({ const newpage = router.resolve({
@ -82,7 +113,14 @@
pageNum.value = 1 pageNum.value = 1
data.list = [] data.list = []
} }
selectAppList({ pageNum: pageNum.value, type: type.value }).then((res) => { getData(str)
}
const getData = (str) => {
selectAppList({
pageNum: pageNum.value,
type: type.value,
area: area.value,
}).then((res) => {
if (res.data.data.length < 9) { if (res.data.data.length < 9) {
dom.removeEventListener('scroll', viewMonitor, true) dom.removeEventListener('scroll', viewMonitor, true)
} }
@ -122,6 +160,20 @@
} }
} }
} }
const getList2 = (val) => {
dom.scrollTop = 0
typeName2.value = val
pageNum.value = 1
data.list = []
if (val == '全部') {
area.value = null
getData()
} else {
area.value = val
getData()
}
selectFlag2.value = false
}
onMounted(() => { onMounted(() => {
dom = document.querySelector('.item-box') dom = document.querySelector('.item-box')
console.log('box============', dom) console.log('box============', dom)

View File

@ -1,6 +1,18 @@
<!-- 图层服务 --> <!-- 图层服务 -->
<template> <template>
<div class="algorithm"> <div class="algorithm">
<div class="select">
<div class="top" @click="selectFlag2 = true">
{{ typeName2 }}
<div class="light"></div>
</div>
<div class="bottom" v-show="selectFlag2">
<span class="light"></span>
<div v-for="val in dictList" :key="val" @click="getList2(val)">
{{ val }}
</div>
</div>
</div>
<div class="algorithm-class"> <div class="algorithm-class">
<div <div
v-for="(item, index) in dataList" v-for="(item, index) in dataList"
@ -27,10 +39,25 @@
</div> </div>
</template> </template>
<script setup> <script setup>
import { getCategoryTreePage } from '@/api/personalCenter'
import { pageWithAttrs } from '@/api/abilityStatistics' import { pageWithAttrs } from '@/api/abilityStatistics'
import { ref, onMounted, onBeforeUnmount } from 'vue' import { ref, onMounted, onBeforeUnmount } from 'vue'
const typeName2 = ref('全部')
const dictList = ref([])
const dataList = ref([]) const dataList = ref([])
let algorithmclass = null const selectFlag2 = ref(false)
getCategoryTreePage({
page: 1,
limit: 99,
dictTypeId: '1513712507692818433',
}).then((res) => {
dictList.value = ['全部']
res.data.data.list.map((val) => {
if (val.dictLabel !== '其他') {
dictList.value.push(val.dictLabel)
}
})
})
const params = { const params = {
deptIds: [], deptIds: [],
districtId: '', districtId: '',
@ -41,6 +68,20 @@
pageSize: 9, pageSize: 9,
type: '组件服务', type: '组件服务',
} }
const getList2 = (val) => {
typeName2.value = val
if (val == '全部') {
params.infoList = [{ attrType: '组件类型', attrValue: '图层服务' }]
} else {
params.infoList = [
{ attrType: '组件类型', attrValue: '图层服务' },
{ attrType: '应用领域', attrValue: val },
]
}
selectFlag2.value = false
pageWithAttrsFunction()
}
let algorithmclass = null
const imgSrc = ref(require('@/assets/capacitySquare/algorithm-photo2.jpg')) const imgSrc = ref(require('@/assets/capacitySquare/algorithm-photo2.jpg'))
const dataLength = ref(true) const dataLength = ref(true)
const isNoMore = ref(false) const isNoMore = ref(false)
@ -103,9 +144,67 @@
<style lang="less" scoped> <style lang="less" scoped>
.algorithm { .algorithm {
.select {
margin: 0.1rem 0 0.1rem 0.2rem;
color: #fff;
font-size: 0.2rem;
font-family: webfont;
position: relative;
.top {
cursor: pointer;
width: 3.61rem;
height: 0.85rem;
font-weight: 600;
text-align: center;
padding-top: 0.1rem;
background: url('~@/assets/capacitySquare/select-bg.png') no-repeat;
background-size: 100%;
position: relative;
.light {
width: 0.56rem;
height: 3px;
position: absolute;
top: 0.4rem;
left: 1.52rem;
background: url('~@/assets/capacitySquare/select-light1.png')
no-repeat;
background-size: 100%;
}
}
.bottom {
cursor: pointer;
position: absolute;
top: 0.5rem;
left: 0.9rem;
z-index: 1000;
background: rgba(57, 134, 239, 0.68);
border: 1px solid #aed5ff;
.light {
display: inline-block;
width: 2.39rem;
height: 5px;
position: absolute;
top: -0.08rem;
left: -0.3rem;
background: url('~@/assets/capacitySquare/select-light2.png')
no-repeat;
background-size: 100%;
}
& > div {
width: 1.8rem;
height: 0.4rem;
line-height: 0.4rem;
text-align: center;
border-top: 1px solid #aed5ff;
}
& > div:nth-of-type(1) {
border: none;
}
}
}
.algorithm-class { .algorithm-class {
margin-top: 0.6rem; // margin-top: 0.6rem;
margin-bottom: 0.59rem; margin-bottom: 0.18rem;
display: grid; display: grid;
grid-template-columns: repeat(3, 33%); grid-template-columns: repeat(3, 33%);
height: 8.8rem; height: 8.8rem;

View File

@ -67,7 +67,22 @@
placeholder="请输入单位" placeholder="请输入单位"
v-model:value="formName.unit" v-model:value="formName.unit"
disabled disabled
v-if="deptFlage"
/> />
<a-select
v-else
placeholder="请选择归属部门"
v-model:value="formName.unit"
@change="deptIdChangeFunction"
>
<a-select-option
v-for="(item, index) in deptNameAll"
:key="`${index}-${item}`"
:value="item.name"
>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item> </a-form-item>
</div> </div>
<div class="base-info" v-if="flag"> <div class="base-info" v-if="flag">
@ -176,14 +191,14 @@
</div> </div>
</template> </template>
<script> <script>
import AbilityToApplyFor from './AbilityToApplyFor.vue' import AbilityToApplyFor from './AbilityToApplyFor.vue'
import HomeHeader from '@/views/home/components/header' import HomeHeader from '@/views/home/components/header'
import { reactive, ref, watch, onBeforeUnmount } from 'vue' import { reactive, ref, watch, onBeforeUnmount } from 'vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { message } from 'ant-design-vue' import { message } from 'ant-design-vue'
import qs from 'qs' import qs from 'qs'
import { Upload } from 'ant-design-vue' import { Upload } from 'ant-design-vue'
import { import {
lastestPage, lastestPage,
tabilityapplication, tabilityapplication,
startOfBusinessKey, startOfBusinessKey,
@ -194,14 +209,15 @@ import {
getUserInfo, getUserInfo,
relaunch, relaunch,
selectOne, selectOne,
} from '@/api/home' } from '@/api/home'
import { getCategoryTreePage, endProcess } from '@/api/personalCenter' import { getDeptAll } from '@/api/user'
import mybus from '@/myplugins/mybus' import { getCategoryTreePage, endProcess } from '@/api/personalCenter'
import { sgcDel, getApplyForm } from '@/api/personalCenter' import mybus from '@/myplugins/mybus'
import { pageWithAttrs, updateIntegrationServices } from '@/api/home' import { sgcDel, getApplyForm } from '@/api/personalCenter'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js' import { pageWithAttrs, updateIntegrationServices } from '@/api/home'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
export default { export default {
name: '', name: '',
props: {}, props: {},
components: { components: {
@ -216,6 +232,8 @@ export default {
const integrationServicesItemInfo = ref( const integrationServicesItemInfo = ref(
JSON.parse(localStorage.getItem('integrationServicesItemInfo') || '{}') JSON.parse(localStorage.getItem('integrationServicesItemInfo') || '{}')
) )
const deptNameAll = ref([]) //
const deptFlage = ref(true) //
console.log( console.log(
'integrationServicesItemInfo------------>', 'integrationServicesItemInfo------------>',
integrationServicesItemInfo integrationServicesItemInfo
@ -268,6 +286,7 @@ export default {
userId: '', userId: '',
phone: '', phone: '',
unit: '', unit: '',
deptId: '',
system: [], system: [],
enclosure: '', // enclosure: '', //
enclosureName: '', // enclosureName: '', //
@ -303,8 +322,24 @@ export default {
formName.phone = res.data.data.mobile formName.phone = res.data.data.mobile
} }
formName.unit = res.data.data.deptName formName.unit = res.data.data.deptName
if (!formName.unit) {
deptFlage.value = false
//
getDeptAll().then((res) => {
deptNameAll.value = res.data.data
})
}
}) })
}) })
//
const deptIdChangeFunction = (name) => {
deptNameAll.value.map((item) => {
if (item.name == name) {
formName.deptId = item.id
}
})
console.log(formName)
}
const applicationSceneOpthion = ref([]) const applicationSceneOpthion = ref([])
getCategoryTreePage({ getCategoryTreePage({
page: 1, page: 1,
@ -344,13 +379,12 @@ export default {
router.push({ router.push({
path: '/DetailsPageconetent', path: '/DetailsPageconetent',
query: { query: {
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB select: DETAIL_PAGE_CONTENT_DEFAULT_TAB,
}, },
}) })
} }
const processStartHandle = () => { const processStartHandle = () => {
debugger
formRef.value.validate().then(() => { formRef.value.validate().then(() => {
if (!formUrl) { if (!formUrl) {
return message.error('请设置保存表单的URL') return message.error('请设置保存表单的URL')
@ -425,7 +459,11 @@ export default {
} }
}) })
} else { } else {
if (res.data.msg === 'success' && falgNum == 0 && sxt) { if (
res.data.msg === 'success' &&
falgNum == 0 &&
sxt
) {
message.success('申请提交成功,请到消息中心查看!') message.success('申请提交成功,请到消息中心查看!')
sxt = false sxt = false
} }
@ -458,7 +496,9 @@ export default {
}) })
} else { } else {
// todo // todo
if (Object.keys(integrationServicesItemInfo).length > 0) { if (
Object.keys(integrationServicesItemInfo).length > 0
) {
updateIntegrationServiceAction() updateIntegrationServiceAction()
} }
jumpToDetailsPageconetent() jumpToDetailsPageconetent()
@ -542,7 +582,11 @@ export default {
} }
}) })
} else { } else {
if (res.data.msg === 'success' && falgNum == 0 && sxt) { if (
res.data.msg === 'success' &&
falgNum == 0 &&
sxt
) {
message.success('申请提交成功,请到消息中心查看!') message.success('申请提交成功,请到消息中心查看!')
sxt = false sxt = false
} }
@ -552,7 +596,11 @@ export default {
} }
}) })
}) })
console.log('提交数据==========================>', formName, ids) console.log(
'提交数据==========================>',
formName,
ids
)
if (formName.system.length !== 0) { if (formName.system.length !== 0) {
if (formName.applicationSystem.length == 0) { if (formName.applicationSystem.length == 0) {
formName.applicationSystem = '' formName.applicationSystem = ''
@ -571,7 +619,9 @@ export default {
}) })
} else { } else {
// todo // todo
if (Object.keys(integrationServicesItemInfo).length > 0) { if (
Object.keys(integrationServicesItemInfo).length > 0
) {
updateIntegrationServiceAction() updateIntegrationServiceAction()
} }
jumpToDetailsPageconetent() jumpToDetailsPageconetent()
@ -761,8 +811,10 @@ export default {
}) })
} }
return { return {
deptIdChangeFunction,
formRef, formRef,
formName, formName,
deptNameAll,
instanceIdUrl, instanceIdUrl,
formUrl, formUrl,
processStartHandle, processStartHandle,
@ -771,6 +823,7 @@ export default {
options, options,
fileList, fileList,
list, list,
deptFlage,
headers: { headers: {
authorization: 'authorization-text', authorization: 'authorization-text',
}, },
@ -790,10 +843,10 @@ export default {
applyAll, applyAll,
} }
}, },
} }
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
#apply-container { #apply-container {
// background-color: #f5f8fc; // background-color: #f5f8fc;
height: 100%; height: 100%;
width: 100%; width: 100%;
@ -856,22 +909,22 @@ export default {
font-weight: bold; font-weight: bold;
color: #000; color: #000;
} }
} }
.applicationScene { .applicationScene {
:deep(.ant-select-selector) { :deep(.ant-select-selector) {
overflow-x: scroll; overflow-x: scroll;
} }
:deep(.ant-select-selection-overflow) { :deep(.ant-select-selection-overflow) {
flex-wrap: nowrap; flex-wrap: nowrap;
} }
} }
textarea { textarea {
resize: none; resize: none;
font-size: 14px; font-size: 14px;
} }
.bottom-btn { .bottom-btn {
display: flex; display: flex;
justify-content: center; justify-content: center;
// position: fixed; // position: fixed;
} }
</style> </style>

View File

@ -367,7 +367,7 @@ export default {
// id // id
const selList = ref([ const selList = ref([
{ name: '发布时间', value: 'tdr.create_date', show: true, orderType: 'DESC' }, { name: '发布时间', value: 'tdr.create_date', show: true, orderType: 'DESC' },
{ name: '浏览量', value: 'visits', show: true, orderType: 'DESC' }, // { name: '', value: 'visits', show: true, orderType: 'DESC' },
{ name: '申请量', value: 'applyCount', show: true, orderType: 'DESC' }, { name: '申请量', value: 'applyCount', show: true, orderType: 'DESC' },
{ name: '收藏量', value: 'collectCount', show: true, orderType: 'DESC' }, { name: '收藏量', value: 'collectCount', show: true, orderType: 'DESC' },
{ name: '评分', value: 'score', show: true, orderType: 'DESC' }, { name: '评分', value: 'score', show: true, orderType: 'DESC' },