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

This commit is contained in:
wuhongjian 2022-12-12 11:12:49 +08:00
commit 28d3d632ee
8 changed files with 1639 additions and 47 deletions

View File

@ -192,7 +192,11 @@
</el-table-column> </el-table-column>
<el-table-column prop="yyzy" label="应用资源" min-width="100%"> <el-table-column prop="yyzy" label="应用资源" min-width="100%">
</el-table-column> </el-table-column>
<el-table-column prop="hys" label="会客厅" min-width="100%" v-show='departmentId == 2 || departmentId == 4'> <el-table-column prop="hys" label="会客厅" min-width="100%" >
</el-table-column>
<el-table-column prop="yzy" label="云资源" min-width="100%" >
</el-table-column>
<el-table-column prop="ysp" label="云视频" min-width="100%" >
</el-table-column> </el-table-column>
<el-table-column prop="zj" label="总计" min-width="100%"> <el-table-column prop="zj" label="总计" min-width="100%">
</el-table-column> </el-table-column>
@ -381,7 +385,9 @@ export default {
{ name: '开发组件', value: 3 }, { name: '开发组件', value: 3 },
{ name: '业务组件', value: 4 }, { name: '业务组件', value: 4 },
{ name: '应用资源', value: 5 }, { name: '应用资源', value: 5 },
{ name: '会客厅', value: 6 } { name: '会客厅', value: 6 },
{ name: '云资源', value: 7 },
{ name: '云视频', value: 8 }
], // ], //
typeOptions1: [// typeOptions1: [//
{ name: '智能算法', value: 1 }, { name: '智能算法', value: 1 },
@ -401,7 +407,7 @@ export default {
this.departmentSelects = [] this.departmentSelects = []
this.provideSelects = [] this.provideSelects = []
res.data.data.map(val => { res.data.data.map(val => {
this.departmentSelects.push({ label: val.name, value: val.id }) this.departmentSelects.push({ label: val.name, value: val.name })
this.provideSelects.push({ label: val.name, value: val.name }) this.provideSelects.push({ label: val.name, value: val.name })
}) })
}) })

View File

@ -338,6 +338,23 @@ export function getDeviceDetail(deviceId) {
}) })
} }
//
export function getZwyBusinessList(params) {
return request({
url: '/act/task/getZwyBusinessList',
method: 'get',
params
})
}
//
export function getZwyBusinessInfoById(params) {
return request({
url: '/act/task/getZwyBusinessInfoById',
method: 'get',
params
})
}
// //
export function treminders(data) { export function treminders(data) {
return request({ return request({

View File

@ -92,7 +92,9 @@
<div class="bottom" @click="goToView()">查看更多</div> <div class="bottom" @click="goToView()">查看更多</div>
</div> </div>
<div class="info"> <div class="info">
<i class="img"></i> <i class="img" @click="
jumpPage({ name: '个人中心', key: 'personalCenter' }, 'headerClick')
"></i>
<a-tooltip placement="bottom"> <a-tooltip placement="bottom">
<template #title> <template #title>
<span>{{ user.realName }}</span> <span>{{ user.realName }}</span>

View File

@ -252,8 +252,7 @@
} }
} }
const showToolTip = (e) => { const showToolTip = (e) => {
console.log('鼠标移入', e, e.target.clientWidth, e.target.scrollWidth)
debugger
if (e.target.clientWidth < 200) { if (e.target.clientWidth < 200) {
e.target.style.pointerEvents = 'none' // e.target.style.pointerEvents = 'none' //
} }

View File

@ -0,0 +1,102 @@
<template>
<div class="top">
<div class="title">基本信息</div>
<div class="main">
<div>
<p class="item">
<span>业务名称{{baseInfo.BUSINESS_NAME}}</span>
</p>
<p class="item">
<span>业务id :{{baseInfo.BSNUM}}</span>
</p>
<p class="item">
<span>状态{{baseInfo.STATUS}}</span>
</p>
<p class="item">
<span>申请时间: {{baseInfo.CREATE_TIME}}</span>
</p>
</div>
</div>
</div>
<div class="top">
<div class="title">申请资源</div>
<a-table :columns="columns" :data-source="xVideoList" bordered :pagination="{ defaultPageSize: 6 }">
<template #bodyCell="{ column, text }">
</template>
</a-table>
</div>
</template>
<script setup>
import { onMounted, defineProps, ref } from 'vue'
import {
getZwyBusinessInfoById
} from '@/api/personalCenter'
const props = defineProps({
BSNUM: { type: String, default: '' },
baseInfo: { type: Object, default: null },
})
const BSNUM = ref('')
const baseInfo = ref({})
BSNUM.value = props.BSNUM
baseInfo.value = props.baseInfo
const columns = ref([
{
title: '资源类型',
dataIndex: 'SOURCE_TYPE',
}, {
title: '资源名称',
dataIndex: 'NAME',
}, {
title: '备注',
dataIndex: 'INFO',
},
])
const xVideoList = ref([
])
onMounted(() => {
const params={
"id":BSNUM.value
}
getZwyBusinessInfoById(params).then(
(res) => {
xVideoList.value = res.data.data
num.value = []
total.value = res.data.data.total
}
)
})
</script>
<style lang="less" scoped>
.title {
font-size: 0.18rem;
color: #000;
font-weight: bold;
margin-bottom: 0.2rem;
padding-left: 0.1rem;
border-left: 0.06rem #0058e1 solid;
margin-left: 12px;
}
// .resource{
// margin: 0.1rem 0.2rem;
// }
.top {
margin: 0.1rem 0.2rem;
.main {
background: #eee;
padding: 0.2rem 0.2rem 0.1rem;
height: 100px;
.item {
width: 450px;
float: left;
}
}
}
</style>

View File

@ -1,7 +1,18 @@
<template> <template>
<div class="on-the-right-side-of-the-list"> <div class="on-the-right-side-of-the-list">
<div class="title" style="margin-bottom: 0.2rem">我的申请</div> <div class="title" style="margin-bottom: 0.2rem">我的申请</div>
<div class="tab" style="margin-bottom: 0.1rem"> <div class="second-title">
<div
style="margin-right: 30px"
v-for="(item, index) in chooseList"
:class="chooseTab == index ? 'chooseStyle' : 'noChooseStyle'"
:key="index"
@click="handleTab(index)"
>
{{item}}
</div>
</div>
<div class="tab" style="margin-bottom: 0.1rem" v-show="(chooseTab==0)">
<span>类型</span> <span>类型</span>
<div <div
:class="typeIndex == index ? 'tabclass' : ' '" :class="typeIndex == index ? 'tabclass' : ' '"
@ -14,7 +25,7 @@
</div> </div>
<div <div
class="tab" class="tab"
v-show="typeIndex != 5 && typeIndex != 6 && typeIndex != 7" v-if="(chooseTab != 1 && chooseTab != 2 && chooseTab != 3)"
> >
<span>申请状态</span> <span>申请状态</span>
<div <div
@ -34,25 +45,86 @@
</template> </template>
</div> </div>
</div> </div>
<a-form <!--政务云资源-->
:model="formState" <template v-if="chooseTab==2">
name="basic" <a-form
:label-col="{ span: 8 }" :label-col="{ style: { width: '80px' } }"
:wrapper-col="{ span: 16 }" :wrapper-col="{ style: { width: '200px' } }"
autocomplete="off" labelAlign="center"
@submit="onSubmit" >
v-if="typeIndex == 6 || typeIndex == 7" <a-row>
style="display: flex; margin-top: 10px; margin-left: -35px" <a-form-item
> label="业务名称">
<a-form-item label="名称" name="name"> <a-input placeholder="请输入业务名称"
<a-input v-model:value="formState.name" /> v-model:value="yunForm.busineessName"
</a-form-item> style="width: 200px"
/>
</a-form-item>
<a-form-item label="状态">
<a-select
ref="select"
v-model:value="yunForm.status"
placeholder="请选择状态"
style="width: 200px"
>
<a-select-option v-for="(item,index) in cloudResourceStatusList"
:key="index" :value="item.dictValue">
{{ item.dictLabel}}
</a-select-option>
</a-select>
</a-form-item>
<button class="queryButton" @click="getCloudList()">查询</button>
<button class="queryButton" @click="cloudSearchReserve()"> 重置</button>
</a-row>
</a-form>
<a-form-item :wrapper-col="{ offset: 8, span: 16 }"> <div v-if="cloudList.data.length > 0">
<a-button type="primary" html-type="submit">搜索</a-button> <div class="content-cloud">
</a-form-item> <div
</a-form> class="content-cloud-body"
<div v-if="contentList.data.length > 0"> v-for="item in cloudList.data"
:key="item.index"
>
<div class="content-body-left">
<div class="content-body-left-one">
<div style="font-size:16px">{{item.BUSINESS_NAME}}</div>
<div>单号: {{item.BSNUM}}</div>
</div>
<div class="content-body-left-two">
<!-- <div>申请类型: {{item.type}}</div> -->
<div>状态: {{item.STATUS}}</div>
<div>申请时间: {{item.CREATE_TIME}}</div>
</div>
</div>
<div class="content-body-right">
<div class="button" @click="showCloudDetail(item)">查看详情</div>
</div>
</div>
</div>
<div class="bottom">
<a-pagination
size="small"
pageSize="4"
:total="total"
:showTotal="(total) => `共 ${total} 项`"
:current="page"
@change="handleCurrentChange"
@showSizeChange="handlePageSizeChange"
:showSizeChanger="false"
/>
</div>
</div>
<a-empty v-else />
</template>
<!--数据资源和视频资源-->
<template v-else-if="(chooseTab==1||chooseTab==3)">
<a-empty></a-empty>
</template>
<!--UCS内部资源-->
<template v-else>
<div v-if="contentList.data.length > 0">
<div class="content"> <div class="content">
<div <div
class="content-body" class="content-body"
@ -198,6 +270,7 @@
pageSize="4" pageSize="4"
:total="total" :total="total"
:current="page" :current="page"
:showTotal="(total) => `共 ${total} 项`"
@change="handleCurrentChange" @change="handleCurrentChange"
@showSizeChange="handlePageSizeChange" @showSizeChange="handlePageSizeChange"
:showSizeChanger="false" :showSizeChanger="false"
@ -205,7 +278,29 @@
</div> </div>
</div> </div>
<a-empty v-else /> <a-empty v-else />
<a-modal </template>
</div>
<!-- 政务云资源详情-->
<a-modal
bodyStyle="padding:0.1rem 0"
v-model:visible="cloudVisible"
style="width: 1000px"
:footer="null"
destroyOnClose="true"
:maskClosable="false"
>
<template v-slot:title>
申请详情
</template>
<cloud-details
:BSNUM="BSNUM"
:baseInfo="baseInfo"
></cloud-details>
</a-modal>
<a-modal
bodyStyle="padding:0.1rem 0" bodyStyle="padding:0.1rem 0"
v-model:visible="detailsVisible" v-model:visible="detailsVisible"
style="width: 1000px" style="width: 1000px"
@ -255,8 +350,6 @@
</template> </template>
</a-table> </a-table>
</a-modal> </a-modal>
</div>
<!-- 联系方式弹框 --> <!-- 联系方式弹框 -->
<a-modal <a-modal
v-model:visible="phoneVisible" v-model:visible="phoneVisible"
@ -291,6 +384,8 @@
yaweiApproveDetails, yaweiApproveDetails,
getResourceBusinessList, getResourceBusinessList,
getVideoBusinessList, getVideoBusinessList,
getCategoryTreePage,
getZwyBusinessList
} from '@/api/personalCenter' } from '@/api/personalCenter'
import { import {
updateRes, updateRes,
@ -303,6 +398,7 @@
import { getUserInfo } from '@/api/user' import { getUserInfo } from '@/api/user'
import { message } from 'ant-design-vue' import { message } from 'ant-design-vue'
import ApplyDetails from '@/views/personalCenter/components/ApplyDetails' import ApplyDetails from '@/views/personalCenter/components/ApplyDetails'
import CloudDetails from '@/views/personalCenter/components/CloudDetails'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import * as moment from 'moment' import * as moment from 'moment'
@ -311,27 +407,34 @@
}) })
const router = useRouter() const router = useRouter()
const userName = ref('') const userName = ref('')
//
let cloudResourceStatusList=ref([])
getUserInfo().then((res) => { getUserInfo().then((res) => {
userName.value = res.data.data.username userName.value = res.data.data.username
}) })
const formState = ref({ name: '' }) const formState = ref({ name: '' })
// 西- // 西-
let isXiHaiAn = whoShow.itShowXiHaiAn let isXiHaiAn = whoShow.itShowXiHaiAn
let typeList = ref( //Tab
isXiHaiAn let chooseTab=ref(0)
? ['能力申请', '能力上架', '能力下架', '能力需求', '需求评论'] //
: [ let yunForm=reactive({
status:'',
busineesName:'',
})
let chooseList=ref(['UCS内部资源','数据资源','政务云资源','视频资源'])
let typeList = ref( [
'能力申请', '能力申请',
'能力上架', '能力上架',
'能力下架', '能力下架',
'能力需求', '能力需求',
'需求评论', '需求评论',
'数据资源申请', // '',
'云资源申请', // '',
'云视频申请', // '',
// '',
] ])
)
const itShowXiHaiAn = ref(isXiHaiAn) const itShowXiHaiAn = ref(isXiHaiAn)
const phoneSate = ref([2, 3]) const phoneSate = ref([2, 3])
if (isXiHaiAn) { if (isXiHaiAn) {
@ -346,9 +449,14 @@
let tabList = ref(['全部', '审核中', '审核完成']) let tabList = ref(['全部', '审核中', '审核完成'])
const contentList = reactive({ data: [] }) const contentList = reactive({ data: [] })
const contentList2 = reactive({ data: [] }) // 使 const contentList2 = reactive({ data: [] }) // 使
//
const cloudList = reactive({ data: [
]})
let tabIndex = ref(0) let tabIndex = ref(0)
let typeIndex = ref(0) let typeIndex = ref(0)
let typeName = ref(typeList.value[0]) let typeName = ref(typeList.value[0])
if (router.currentRoute.value.query.tabTypeName) { if (router.currentRoute.value.query.tabTypeName) {
typeName.value = router.currentRoute.value.query.tabTypeName typeName.value = router.currentRoute.value.query.tabTypeName
} }
@ -365,6 +473,8 @@
let name = ref('') let name = ref('')
const detailsVisible = ref(false) const detailsVisible = ref(false)
const detailsVisible2 = ref(false) const detailsVisible2 = ref(false)
//
const cloudVisible=ref(false)
const businessKey = ref('') const businessKey = ref('')
const processInstanceId = ref('') const processInstanceId = ref('')
const processDefinitionName = ref('') const processDefinitionName = ref('')
@ -375,6 +485,9 @@
const taskId = ref('') const taskId = ref('')
const backUrl = ref(window.SITE_CONFIG.apiURL + '/') const backUrl = ref(window.SITE_CONFIG.apiURL + '/')
const refObj = ref({}) const refObj = ref({})
//
const BSNUM = ref('')
const baseInfo = ref({})
const num = ref({ const num = ref({
finished: 0, finished: 0,
unfinished: 0, unfinished: 0,
@ -401,6 +514,50 @@
typeName.value = item typeName.value = item
getApplyList() getApplyList()
} }
//tab
const handleTab=(index)=>{
chooseTab.value=index
if(index==2){
//
getCloudResource()
getCloudList()
}
}
const cloudSearchReserve = () =>{
Object.keys(yunForm).map(key => {
delete yunForm[key]
})
getCloudList()
}
//
const getCloudList = () => {
const params = {
pageNum : page.value,
pageSize : 5,
status:yunForm.status,
name :yunForm.busineesName
}
total.value = 5
getZwyBusinessList(params).then(
(res) => {
cloudList.data = res.data.data.list
num.value = []
total.value = res.data.data.total
}
)
}
//
const getCloudResource = () => {
getCategoryTreePage({
page: 1,
limit: 20,
dictTypeId: '1601043884320755714',
deFlage: 0,
}).then((res) => {
cloudResourceStatusList.value = res.data.data.list
})
}
// //
function changeApplyState(item, index) { function changeApplyState(item, index) {
@ -464,6 +621,14 @@
'06': '交付', '06': '交付',
} }
const cilckRowData = ref({}) const cilckRowData = ref({})
//
const showCloudDetail=(item)=>{
//
cloudVisible.value = true
BSNUM.value=item.BSNUM
baseInfo.value=item
}
const showDetail = (item) => { const showDetail = (item) => {
cilckRowData.value = item cilckRowData.value = item
// 西- // 西-
@ -810,12 +975,12 @@
contentList.data = res.data.data.list contentList.data = res.data.data.list
total.value = res.data.data.total total.value = res.data.data.total
initNum() initNum()
console.log('typeIndex', typeIndex.value)
switch (typeIndex.value) { switch (typeIndex.value) {
case 1: case 1:
contentList.data.map((val) => { contentList.data.map((val) => {
nengliziyuanshangjiaapply(val.businessKey).then((res1) => { nengliziyuanshangjiaapply(val.businessKey).then((res1) => {
console.log('上架===========>', res1.data.data)
val.title = res1.data.data.resourceDTO.name val.title = res1.data.data.resourceDTO.name
val.dto = res1.data.data.resourceDTO val.dto = res1.data.data.resourceDTO
showType.value = '能力上架' showType.value = '能力上架'
@ -869,12 +1034,23 @@
} }
const handleCurrentChange = (val) => { const handleCurrentChange = (val) => {
page.value = val page.value = val
getApplyList() if(chooseTab==2){
getCloudList()
}else{
getApplyList()
}
} }
const handlePageSizeChange = (val) => { const handlePageSizeChange = (val) => {
page.value = val page.value = val
getApplyList() if(chooseTab==2){
getCloudList()
}else{
getApplyList()
}
} }
const viewDetail = (processDefinitionName, id, ended, businessKey) => { const viewDetail = (processDefinitionName, id, ended, businessKey) => {
@ -988,6 +1164,7 @@
phoneVisible.value = true phoneVisible.value = true
} }
mybus.on('closeModal', (obj) => { mybus.on('closeModal', (obj) => {
detailsVisible.value = false detailsVisible.value = false
changeType(obj.type, obj.index) changeType(obj.type, obj.index)
@ -1006,6 +1183,15 @@
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.queryButton{
background: #0058e1;
width: 80px;
height: 32px;
margin-left: 20px;
border:1px solid #0058e1;
border-radius: 2px;
color:#fff;
}
.on-the-right-side-of-the-list { .on-the-right-side-of-the-list {
background: #ffffff; background: #ffffff;
padding: 20px 0px 30px 20px; padding: 20px 0px 30px 20px;
@ -1018,6 +1204,32 @@
flex-direction: column; flex-direction: column;
font-size: 16px; font-size: 16px;
justify-content: left; justify-content: left;
.second-title {
border-radius: 4px;
margin-top: 10px;
margin-bottom: 22px;
font-size: 18px;
cursor: pointer;
text-align: center;
background: #edf4fc;
width: 500px;
height: 36px;
line-height: 36px;
display: table;
}
.chooseStyle {
display: table-cell;
width: 25%;
color: #fff;
background-color: #0058e1;
font-weight: bolder;
}
.noChooseStyle{
display: table-cell;
width: 25%;
}
.title { .title {
font-size: 20px; font-size: 20px;
color: #000000; color: #000000;
@ -1076,7 +1288,56 @@
color: #0087ff; color: #0087ff;
} }
} }
.content-cloud{
padding: 0px 10px;
overflow-y: scroll;
height: 610px;
.content-cloud-body{
height: 100px;
height: 100px;
margin-bottom: 10px;
border-bottom: 1px solid #cccccc;
.content-body-left{
width:85%;
float: left;
.content-body-left-one{
display: table;
height: 50px;
width: 80%;
div{
display: table-cell;
width: 50%;
font-size:14px;
}
}
.content-body-left-two{
width: 80%;
height: 50px;
display: table;
div{
display: table-cell;
width: 30%;
font-size:14px;
}
}
}
.content-body-right{
width:15%;
float: left;
}
}
}
.content { .content {
padding-right: 10px; padding-right: 10px;
height: 610px; height: 610px;

File diff suppressed because it is too large Load Diff

View File

@ -7,10 +7,12 @@
</aside> </aside>
<article> <article>
<div class="form-container"> <div class="form-container">
<!-- <on-the-right-side-of-the-list
v-if="showFlag === 'collect'" <template v-if="showFlag === 'apply'">
></on-the-right-side-of-the-list> --> <my-apply-xha v-if="xinhaian" :tabTypeName="tabTypeName"></my-apply-xha>
<my-apply v-if="showFlag === 'apply'" :tabTypeName="tabTypeName"></my-apply> <my-apply v-else :tabTypeName="tabTypeName"></my-apply>
</template>
<my-publish v-if="showFlag === 'push'"></my-publish> <my-publish v-if="showFlag === 'push'"></my-publish>
<purchase-vehicle <purchase-vehicle
v-if="showFlag === 'PurchaseVehicle'" v-if="showFlag === 'PurchaseVehicle'"
@ -30,6 +32,7 @@
import asideMenu from '@/views/personalCenter/components/asideMenu' import asideMenu from '@/views/personalCenter/components/asideMenu'
// import OnTheRightSideOfTheList from './OnTheRightSideOfTheList' // import OnTheRightSideOfTheList from './OnTheRightSideOfTheList'
import MyApply from '@/views/personalCenter/components/MyApply' import MyApply from '@/views/personalCenter/components/MyApply'
import MyApplyXha from '@/views/personalCenter/components/MyApplyXha'
import MyApplication from '@/views/personalCenter/components/MyApplication' import MyApplication from '@/views/personalCenter/components/MyApplication'
import MyComments from '@/views/personalCenter/components/MyComments' import MyComments from '@/views/personalCenter/components/MyComments'
import MyPublish from '@/views/personalCenter/components/MyPublish' import MyPublish from '@/views/personalCenter/components/MyPublish'
@ -41,6 +44,7 @@
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
const router = useRouter() const router = useRouter()
let tabTypeName = ref(router.currentRoute.value.query.tabTypeName || '') let tabTypeName = ref(router.currentRoute.value.query.tabTypeName || '')
let xinhaian = whoShow.itShowXiHaiAn //西
const type = JSON.parse(window.sessionStorage.getItem('type')) const type = JSON.parse(window.sessionStorage.getItem('type'))
const showFlag = ref('PurchaseVehicle') const showFlag = ref('PurchaseVehicle')
if (type) { if (type) {