Merge branch 'hi-ucs-dev' into release

This commit is contained in:
wuhongjian 2022-11-14 10:00:26 +08:00
commit adeaa3d2d7
32 changed files with 982 additions and 245 deletions

View File

@ -1,3 +1,10 @@
<!--
* @Author: hisense.wuhongjian
* @Date: 2022-06-14 09:30:22
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-11-11 11:06:48
* @Description: 告诉大家这是什么
-->
<template> <template>
<transition name="el-fade-in-linear"> <transition name="el-fade-in-linear">
<router-view /> <router-view />

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-05-11 20:03:41 * @Date: 2022-05-11 20:03:41
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-06 13:08:06 * @LastEditTime: 2022-11-11 11:07:09
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
*/ */
import axios from 'axios' import axios from 'axios'
@ -102,7 +102,7 @@ http.interceptors.response.use(
response['Access-Control-Expose-Headers'] = 'redirect' response['Access-Control-Expose-Headers'] = 'redirect'
const { code, message } = response.data const { code, message } = response.data
if (response.headers.token) { if (response.headers.token) {
Cookies.set('ucsToken', response.headers.token) Cookies.set('ucsToken', response.headers.token, { expires: 'session' })
} }
if (response.headers.redirect) { if (response.headers.redirect) {
window.location.href = response.headers.redirect window.location.href = response.headers.redirect

View File

@ -73,7 +73,7 @@ export default {
// 西 v2 v3 // 西 v2 v3
children.total = returnLocationStr() == 'qingdao' ? Number(this.numObject.abilityprocess_v3) : Number(this.numObject.abilityprocess_v2) children.total = returnLocationStr() == 'qingdao' ? Number(this.numObject.abilityprocess_v3) : Number(this.numObject.abilityprocess_v2)
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
} if (children.id == '1559376285703081986') { // } if (children.id == '1559376285703081986') { //
children.total = Number(this.numObject.meetingroom_book) children.total = Number(this.numObject.meetingroom_book)
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
} if (children.id == '1545292602084827138') { // } if (children.id == '1545292602084827138') { //
@ -88,7 +88,7 @@ export default {
} if (children.id == '1545313754106699777') { // } if (children.id == '1545313754106699777') { //
children.total = Number(this.numObject.comment_review) children.total = Number(this.numObject.comment_review)
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
} if (children.id == '1554294862931562498') { // } if (children.id == '1554294862931562498') { //
children.total = 0 children.total = 0
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
} }

View File

@ -251,6 +251,7 @@ import qs from 'qs'
import { pinyin } from 'pinyin-pro' import { pinyin } from 'pinyin-pro'
import RelateApplication from './bsabilityai-relate-application.vue' import RelateApplication from './bsabilityai-relate-application.vue'
import putOnTheShelf from '@/views/modules/putOnTheShelf' import putOnTheShelf from '@/views/modules/putOnTheShelf'
import Cookies from 'js-cookie'
export default { export default {
mixins: [mixinViewModule], mixins: [mixinViewModule],
data () { data () {
@ -341,6 +342,15 @@ export default {
} }
}) })
}, },
exportHandle () {
window.open(window.SITE_CONFIG.apiURL + '/resource/export?token=' + Cookies.get('ucsToken') + '&' + qs.stringify({
name: this.dataForm.name,
type: '组件服务',
orderField: 'pin_top',
orderType: 'DESC',
delFlag: 0
}))
},
noToppingCapacity (item) { noToppingCapacity (item) {
this.$http.put('/resource/cancel_pin_top/' + item.id).then(res => { this.$http.put('/resource/cancel_pin_top/' + item.id).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
@ -365,6 +375,7 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
orderType: 'DESC', orderType: 'DESC',
orderField: 'pin_top',
infoList: [], infoList: [],
delFlag: 0, delFlag: 0,
type: '组件服务', type: '组件服务',
@ -519,6 +530,7 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
orderType: 'DESC', orderType: 'DESC',
orderField: 'pin_top',
infoList: [], infoList: [],
delFlag: 0, delFlag: 0,
type: '组件服务', type: '组件服务',

View File

@ -227,6 +227,7 @@ import dictionaries from '@/utils/dictionaries'
import RelateApplication from './bsabilityai-relate-application.vue' import RelateApplication from './bsabilityai-relate-application.vue'
import qs from 'qs' import qs from 'qs'
import { type } from 'os' import { type } from 'os'
import Cookies from 'js-cookie'
import putOnTheShelf from '@/views/modules/putOnTheShelf' import putOnTheShelf from '@/views/modules/putOnTheShelf'
export default { export default {
@ -359,6 +360,15 @@ export default {
'_blank' '_blank'
) )
}, },
exportHandle () {
window.open(window.SITE_CONFIG.apiURL + '/resource/export?token=' + Cookies.get('ucsToken') + '&' + qs.stringify({
name: this.dataForm.name,
type: '应用资源',
orderField: 'pin_top',
orderType: 'DESC',
delFlag: 0
}))
},
findValue (list, type) { findValue (list, type) {
const found = list.find((item) => item.attrType === type) const found = list.find((item) => item.attrType === type)
if (found) { if (found) {

View File

@ -74,7 +74,8 @@
<!-- <span v-if="this.departmentId === 2 || this.departmentId === 4">资源名称</span> --> <!-- <span v-if="this.departmentId === 2 || this.departmentId === 4">资源名称</span> -->
<el-input v-model="resourceName" placeholder="请输入资源名称" clearable></el-input> <el-input v-model="resourceName" placeholder="请输入资源名称" clearable></el-input>
</el-form-item> </el-form-item>
</el-form>
<el-form :inline="true" style="display: flex;justify-content: end;margin-right: 40px;">
<!--操作按钮查询--> <!--操作按钮查询-->
<el-form-item> <el-form-item>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
@ -235,7 +236,7 @@ import Template from '../devtools/template.vue'
// }) // })
export default { export default {
components: { componentServices, applicationResources, ComponentUsed, AbilityDetail, Template }, components: { componentServices, applicationResources, ComponentUsed, AbilityDetail, Template },
data() { data () {
return { return {
checked: false, checked: false,
departmentSelects: [], departmentSelects: [],
@ -347,7 +348,7 @@ export default {
abilityType: '', // abilityType: '', //
beginTime: '', // beginTime: '', //
endTime: '', // endTime: '', //
resourceName:'',// resourceName: '', //
typeOptions: [ typeOptions: [
{ name: '智能算法', value: 1 }, { name: '智能算法', value: 1 },
{ name: '图层服务', value: 2 }, { name: '图层服务', value: 2 },
@ -369,7 +370,7 @@ export default {
endDate: '' // endDate: '' //
} }
}, },
created() { created () {
this.$http.get('/sys/dept/all').then(res => { this.$http.get('/sys/dept/all').then(res => {
// console.log('=========>', res) // console.log('=========>', res)
this.departmentSelects = [] this.departmentSelects = []
@ -390,7 +391,7 @@ export default {
// const date2 = new Date(year2, month2, day2, 7) // const date2 = new Date(year2, month2, day2, 7)
// this.value1.unshift(date2) // this.value1.unshift(date2)
}, },
mounted() { mounted () {
// this.getFirstTree() // this.getFirstTree()
console.log('this.$route.query.Id;', this.$route.query.type) console.log('this.$route.query.Id;', this.$route.query.type)
if (this.$route.query.type === 'use') { if (this.$route.query.type === 'use') {
@ -410,7 +411,7 @@ export default {
// ...mapState(['departmentSelects']) // ...mapState(['departmentSelects'])
}, },
methods: { methods: {
chagneCheckbox() { chagneCheckbox () {
if (this.checked) { if (this.checked) {
this.tableData = this.tableDataClone.filter(val => val.count !== 0) this.tableData = this.tableDataClone.filter(val => val.count !== 0)
this.total = this.tableData.length this.total = this.tableData.length
@ -419,7 +420,7 @@ export default {
this.total = this.tableData.length this.total = this.tableData.length
} }
}, },
closeModal() { closeModal () {
this.detailsVisible = false this.detailsVisible = false
}, },
handleCurrentChange (val) { handleCurrentChange (val) {
@ -439,7 +440,7 @@ export default {
// this.getReleaseTree(val) // this.getReleaseTree(val)
// } // }
}, },
getTreeName(data) { getTreeName (data) {
this.$http this.$http
.get('/census/center/v3/treeList/', { .get('/census/center/v3/treeList/', {
params: { params: {
@ -469,7 +470,7 @@ export default {
// }, // },
// -- // --
getFirstTree(page) { getFirstTree (page) {
if (this.examineStatus == '-1') { if (this.examineStatus == '-1') {
this.status = '' this.status = ''
} else if (this.examineStatus == '0') { } else if (this.examineStatus == '0') {
@ -531,12 +532,12 @@ export default {
deptId: this.abilityDepartment, deptId: this.abilityDepartment,
startDate: this.startDate, startDate: this.startDate,
endDate: this.endDate, endDate: this.endDate,
resourceName:this.resourceName resourceName: this.resourceName
}) })
}) })
}, },
// 使-使 // 使-使
getSecondTree(page) { getSecondTree (page) {
if (this.examineStatus == '-1') { if (this.examineStatus == '-1') {
this.status = '' this.status = ''
} else if (this.examineStatus == '0') { } else if (this.examineStatus == '0') {
@ -598,13 +599,13 @@ export default {
deptId: this.abilityDepartment, deptId: this.abilityDepartment,
startDate: this.startDate, startDate: this.startDate,
endDate: this.endDate, endDate: this.endDate,
resourceName:this.resourceName resourceName: this.resourceName
}) })
}) })
}, },
// //
detailClick(row) { detailClick (row) {
this.detailParamss = {} this.detailParamss = {}
const applyNumber = row.applyNumber const applyNumber = row.applyNumber
if (this.departmentId == 3) { // if (this.departmentId == 3) { //
@ -646,7 +647,7 @@ export default {
} }
}, },
// //
getOneDetail(page) { getOneDetail (page) {
var passAndReview = '' // "" var passAndReview = '' // ""
if (this.examineStatus == '-1') { if (this.examineStatus == '-1') {
this.status = '' this.status = ''
@ -669,7 +670,7 @@ export default {
type: this.abilityType, type: this.abilityType,
startDate: this.startDate, startDate: this.startDate,
endDate: this.endDate, endDate: this.endDate,
resourceName:this.resourceName resourceName: this.resourceName
} }
}) })
.then((res) => { .then((res) => {
@ -682,12 +683,12 @@ export default {
deptId: this.abilityDepartment, deptId: this.abilityDepartment,
startDate: this.startDate, startDate: this.startDate,
endDate: this.endDate, endDate: this.endDate,
resourceName:this.resourceName resourceName: this.resourceName
}) })
}) })
}, },
// 使 使 // 使 使
getTwoDetail(page) { getTwoDetail (page) {
var passAndReview = '' // "" var passAndReview = '' // ""
if (this.examineStatus == '-1') { if (this.examineStatus == '-1') {
this.status = '' this.status = ''
@ -710,7 +711,7 @@ export default {
type: this.abilityType, type: this.abilityType,
startDate: this.startDate, startDate: this.startDate,
endDate: this.endDate, endDate: this.endDate,
resourceName:this.resourceName resourceName: this.resourceName
} }
}) })
.then((res) => { .then((res) => {
@ -722,11 +723,11 @@ export default {
deptId: this.abilityDepartment, deptId: this.abilityDepartment,
startDate: this.startDate, startDate: this.startDate,
endDate: this.endDate, endDate: this.endDate,
resourceName:this.resourceName resourceName: this.resourceName
}) })
}) })
}, },
getReleaseTree(page) { getReleaseTree (page) {
this.$http this.$http
.get('/census/center/selectApplyDeptDetailTypeCountList/', { .get('/census/center/selectApplyDeptDetailTypeCountList/', {
params: { params: {
@ -773,7 +774,7 @@ export default {
}) })
}, },
// 使 // 使
getUsedTree() { getUsedTree () {
this.$http this.$http
.get('/census/center/v3/resourceReleaseDetails/', { .get('/census/center/v3/resourceReleaseDetails/', {
params: { params: {
@ -787,7 +788,7 @@ export default {
this.tableData = res.data.data.list this.tableData = res.data.data.list
}) })
}, },
handleClick(row) { handleClick (row) {
if (this.choseId === 0) { if (this.choseId === 0) {
if (this.departmentId === 1) { if (this.departmentId === 1) {
this.homeIsShow = false this.homeIsShow = false
@ -808,7 +809,7 @@ export default {
} }
}, },
// //
choseBtn(index) { choseBtn (index) {
this.choseId = index this.choseId = index
this.handleChose(1) this.handleChose(1)
}, },
@ -824,11 +825,11 @@ export default {
// } // }
// }, // },
// or使 // or使
handleChose(index) { handleChose (index) {
this.checked = false this.checked = false
this.departmentId = index this.departmentId = index
this.currentPage=1 this.currentPage = 1
this.pageSize=10 this.pageSize = 10
if (index === 1) { if (index === 1) {
if (this.choseId === 0) { if (this.choseId === 0) {
if (!this.detailFlag) { if (!this.detailFlag) {
@ -868,32 +869,32 @@ export default {
} }
}, },
// //
handleSizeChange(val) { handleSizeChange (val) {
console.log(`每页 ${val}`) console.log(`每页 ${val}`)
}, },
closeChild() { closeChild () {
this.homeIsShow = true this.homeIsShow = true
this.servicesIsShow = false this.servicesIsShow = false
this.handleCurrentChange(1) this.handleCurrentChange(1)
}, },
closeChild2() { closeChild2 () {
this.homeIsShow = true this.homeIsShow = true
this.UsedIsShow = false this.UsedIsShow = false
this.handleCurrentChange(1) this.handleCurrentChange(1)
}, },
closeApplication() { closeApplication () {
this.homeIsShow = true this.homeIsShow = true
this.resourcesIsShow = false this.resourcesIsShow = false
this.handleCurrentChange(1) this.handleCurrentChange(1)
}, },
changeIiem(){ changeIiem () {
this.currentPage=1 this.currentPage = 1
this.pageSize=10 this.pageSize = 10
}, },
// ////////// // //////////
goToDetail () { goToDetail () {
this.currentPage=1 this.currentPage = 1
this.pageSize=10 this.pageSize = 10
this.detailFlag = !this.detailFlag this.detailFlag = !this.detailFlag
if (this.departmentId === 1) { if (this.departmentId === 1) {
this.handleChose(3) this.handleChose(3)
@ -905,10 +906,10 @@ export default {
} }
}, },
// //
goToBack() { goToBack () {
this.checked = false this.checked = false
this.currentPage=1, this.currentPage = 1,
this.pageSize=10, this.pageSize = 10,
// departmentId 13 24 // departmentId 13 24
this.detailFlag = !this.detailFlag this.detailFlag = !this.detailFlag
if (this.departmentId === 3) { if (this.departmentId === 3) {
@ -921,7 +922,7 @@ export default {
} }
}, },
// //
getDataList() { getDataList () {
if (this.value1 && this.value1.length > 0) { if (this.value1 && this.value1.length > 0) {
// this.startDate = this.handleTime(this.value1[0], 'yyyy-MM-dd') // this.startDate = this.handleTime(this.value1[0], 'yyyy-MM-dd')
// this.endDate = this.handleTime(this.value1[1], 'yyyy-MM-dd') // this.endDate = this.handleTime(this.value1[1], 'yyyy-MM-dd')
@ -954,7 +955,7 @@ export default {
} }
}, },
// //
resetDataList() { resetDataList () {
this.value1 = [] this.value1 = []
this.startDate = '' this.startDate = ''
this.endDate = '' this.endDate = ''
@ -967,7 +968,7 @@ export default {
deptId: this.abilityDepartment, deptId: this.abilityDepartment,
startDate: this.startDate, startDate: this.startDate,
endDate: this.endDate, endDate: this.endDate,
resourceName:this.resourceName resourceName: this.resourceName
}) })
if (this.departmentId === 1) { if (this.departmentId === 1) {
// if (this.detailFlag) { // if (this.detailFlag) {
@ -993,7 +994,7 @@ export default {
} }
}, },
// //
handleTime(time, format) { handleTime (time, format) {
if (time == null || time == undefined || time == '') { if (time == null || time == undefined || time == '') {
return '' return ''
} }

View File

@ -4,7 +4,7 @@
<el-input <el-input
v-model="roomNameA" v-model="roomNameA"
style="width: 160px" style="width: 160px"
placeholder="请输入会议室名称" placeholder="请输入会客厅名称"
></el-input> ></el-input>
<el-select <el-select
v-model="value" v-model="value"
@ -39,7 +39,7 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="申请会议室" label="申请会客厅"
prop="roomName" prop="roomName"
header-align="center" header-align="center"
align="center" align="center"

View File

@ -2,7 +2,7 @@
<el-card shadow="never" class="roomBox"> <el-card shadow="never" class="roomBox">
<div> <div>
<div slot="header" class="roomHeadSpan"> <div slot="header" class="roomHeadSpan">
<span>议室管理</span> <span>客厅管理</span>
<el-button <el-button
style="float: right; padding: 5px 5px" style="float: right; padding: 5px 5px"
type="primary" type="primary"
@ -13,7 +13,7 @@
</div> </div>
<el-table border style="width: 100%" :data="tableData"> <el-table border style="width: 100%" :data="tableData">
<el-table-column <el-table-column
label="会议室名称" label="会客厅名称"
prop="name" prop="name"
header-align="center" header-align="center"
align="center" align="center"
@ -70,10 +70,10 @@
@close="outDialog" @close="outDialog"
:title=" :title="
flge === 'add' flge === 'add'
? '会议室新增' ? '会客厅新增'
: flge === 'look' : flge === 'look'
? '会议室详情' ? '会客厅详情'
: '会议室修改' : '会客厅修改'
" "
:visible.sync="dialogFormVisible" :visible.sync="dialogFormVisible"
> >
@ -88,7 +88,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item
label="会议室名称" label="会客厅名称"
prop="name" prop="name"
:label-width="formLabelWidth" :label-width="formLabelWidth"
> >
@ -106,7 +106,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item
label="会议室面积(m²)" label="会客厅面积(m²)"
prop="area" prop="area"
:label-width="formLabelWidth" :label-width="formLabelWidth"
> >
@ -143,7 +143,7 @@
</el-col> </el-col>
<el-col> <el-col>
<el-form-item <el-form-item
label="会议室图片" label="会客厅图片"
prop="pic" prop="pic"
:label-width="formLabelWidth" :label-width="formLabelWidth"
> >
@ -241,11 +241,11 @@ export default {
fileList: [], fileList: [],
rules: { rules: {
name: [ name: [
{ required: true, message: '请输入会议室名称', trigger: 'blur' }, { required: true, message: '请输入会客厅名称', trigger: 'blur' },
{ min: 1, trigger: 'blur' } { min: 1, trigger: 'blur' }
], ],
area: [ area: [
{ required: true, message: '请输入会议室面积', trigger: 'blur' } { required: true, message: '请输入会客厅面积', trigger: 'blur' }
// { min: 1, message: '', type: 'number', trigger: 'blur' } // { min: 1, message: '', type: 'number', trigger: 'blur' }
], ],
description: [ description: [
@ -381,7 +381,7 @@ export default {
}, },
// //
taskDelete (row) { taskDelete (row) {
this.$confirm('此操作将永久删除该会议室, 是否继续?', '提示', { this.$confirm('此操作将永久删除该会客厅, 是否继续?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'

View File

@ -11,12 +11,12 @@
<el-form-item> <el-form-item>
<ren-select v-model="dataForm.gender" dict-type="gender" :placeholder="$t('user.gender')"></ren-select> <ren-select v-model="dataForm.gender" dict-type="gender" :placeholder="$t('user.gender')"></ren-select>
</el-form-item> </el-form-item>
<el-form-item> <!-- <el-form-item>
<el-select v-model="dataForm.postId" :placeholder="$t('user.postIdList')" clearable> <el-select v-model="dataForm.postId" :placeholder="$t('user.postIdList')" clearable>
<el-option :label="data.postName" v-for="data in postList" :key="data.id" :value="data.id">{{ data.postName <el-option :label="data.postName" v-for="data in postList" :key="data.id" :value="data.id">{{ data.postName
}}</el-option> }}</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<el-form-item> <el-form-item>
<ren-dept-tree v-model="dataForm.deptId" :placeholder="$t('dept.title')" :query="true" ref="renDeptTree"> <ren-dept-tree v-model="dataForm.deptId" :placeholder="$t('dept.title')" :query="true" ref="renDeptTree">
</ren-dept-tree> </ren-dept-tree>

View File

@ -115,7 +115,7 @@ export default {
this.getCaptcha() this.getCaptcha()
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
Cookies.set('ucsToken', res.data.token) Cookies.set('ucsToken', res.data.token, { expires: 'session' })
this.$router.replace({ path: '/home' }) this.$router.replace({ path: '/home' })
}).catch(() => {}) }).catch(() => {})
}) })

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.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-11-09 17:06:33 * @LastEditTime: 2022-11-14 10:00:17
* @Description: 系统静态参数配置 * @Description: 系统静态参数配置
*/ */
var _global = {} var _global = {}

View File

@ -454,7 +454,7 @@ export function getDevelopDocTree(params) {
}) })
} }
// //
export function getRoomSearch(params) { export function getRoomSearch(params) {
return request({ return request({
url: '/bookMeeting/list', url: '/bookMeeting/list',

View File

@ -7,6 +7,34 @@ export function getMyProcessInstancePage(params) {
params, params,
}) })
} }
export function getResourceBusinessList(params) {
return request({
url: 'resource/getResourceBusinessList',
method: 'post',
params,
})
}
export function getVideoBusinessList(params) {
return request({
url: 'resource/getVideoBusinessList',
method: 'post',
params,
})
}
export function yaweiApproveStatus(params) {
return request({
url: 'resource/ZywMessage/yaweiApproveStatus',
method: 'get',
params,
})
}
export function yaweiApproveDetails(params) {
return request({
url: 'resource/ZywMessage/yaweiApproveDetails',
method: 'get',
params,
})
}
export function getTabilityapplication(params) { export function getTabilityapplication(params) {
return request({ return request({
url: '/processForm/tabilityapplication/my_page', url: '/processForm/tabilityapplication/my_page',

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

View File

@ -8,6 +8,7 @@
<template> <template>
<div class="box"> <div class="box">
<div class="header">能力上架申请</div> <div class="header">能力上架申请</div>
<div class="top"> <div class="top">
<div <div
v-for="(nav, index) in navList" v-for="(nav, index) in navList"

View File

@ -1386,7 +1386,6 @@
background: url(~@/assets/home/sf_del.png) no-repeat; background: url(~@/assets/home/sf_del.png) no-repeat;
margin-right: 0.05rem; margin-right: 0.05rem;
} }
div { div {
cursor: pointer; cursor: pointer;
} }

View File

@ -763,7 +763,7 @@
next() next()
}, },
setup() { setup() {
//6 //6
const flag = ref('') const flag = ref('')
let componentTypeArray = ['组件类型', '应用领域'] let componentTypeArray = ['组件类型', '应用领域']
const handleAdd = (value) => { const handleAdd = (value) => {
@ -1169,28 +1169,43 @@
str = searchValue.value.substring(0, 2) str = searchValue.value.substring(0, 2)
r = re.test(str) r = re.test(str)
} }
if ( if (searchValue.value.length > 1 && r) {
(searchValue.value.length > 1 && r) ||
paramsGetResources.type === '基础设施'
) {
flag = false flag = false
} else { } else {
flag = true flag = true
} }
getCountByFuzzyQuery(searchValue.value || '', flag).then((res) => { getCountByFuzzyQuery(searchValue.value || '', flag).then((res) => {
console.log('全局搜索==========》', res.data.data) console.log('全局搜索==========》', res.data.data)
const arr = []
const sortArr = [
'应用资源',
'组件服务',
'基础设施',
'数据资源',
'知识库',
]
globalData.data = res.data.data globalData.data = res.data.data
let mapFlag = true let mapFlag = true
res.data.data.map((val) => { res.data.data.map((val) => {
if (mapFlag && val.count != 0) { if (val.count != 0) {
mapFlag = false mapFlag = false
if (Cardsname.value === val.type) { arr.push(val.type)
getAppResources2()
} else {
changeCards(val.type)
}
} }
}) })
arr.sort((a, b) => {
return sortArr.indexOf(a) - sortArr.indexOf(b)
})
console.log('arr', arr, Cardsname.value)
// if (Cardsname.value === arr[0]) {
// getAppResources2()
// } else {
// changeCards(arr[0])
// }
if (arr[0]) {
changeCards(arr[0])
} else {
changeCards('应用资源')
}
if (!mapFlag) { if (!mapFlag) {
return return
} }
@ -1287,10 +1302,7 @@
str = searchValue.value.substring(0, 2) str = searchValue.value.substring(0, 2)
r = re.test(str) r = re.test(str)
} }
if ( if (searchValue.value.length > 1 && r) {
(searchValue.value.length > 1 && r) ||
paramsGetResources.type === '基础设施'
) {
paramsGetResources.nonChinese = false paramsGetResources.nonChinese = false
paramsGetResources.name = searchValue.value paramsGetResources.name = searchValue.value
paramsGetResources.type = Cardsname.value paramsGetResources.type = Cardsname.value
@ -1772,6 +1784,7 @@
Cardsname.value = name Cardsname.value = name
newQuery.select = Cardsname.value newQuery.select = Cardsname.value
newQuery.type = '' newQuery.type = ''
newQuery.zwy = ''
router router
.replace({ .replace({
query: newQuery, query: newQuery,

View File

@ -35,7 +35,7 @@
@click="roomResults" @click="roomResults"
:class="roomYuyue ? 'roomBackground' : 'nullBackground'" :class="roomYuyue ? 'roomBackground' : 'nullBackground'"
> >
议室预约 客厅预约
</div> </div>
<div <div
class="leftBottom" class="leftBottom"
@ -46,7 +46,7 @@
</div> </div>
</div> </div>
<div class="roomSearch"> <div class="roomSearch">
<span>议室搜索</span> <span>客厅搜索</span>
<div class="searchInput"> <div class="searchInput">
<a-input-search <a-input-search
v-model:value="roomInput" v-model:value="roomInput"
@ -65,7 +65,7 @@
</div> </div>
<div v-if="roomYuyue"> <div v-if="roomYuyue">
<div class="roomTableList"> <div class="roomTableList">
<span>议室列表</span> <span>客厅列表</span>
<div class="roomTime"> <div class="roomTime">
<span>可用时间查询</span> <span>可用时间查询</span>
<a-space direction="vertical" class="roomSpace"> <a-space direction="vertical" class="roomSpace">
@ -251,7 +251,7 @@
</a-modal> </a-modal>
<a-modal <a-modal
v-model:visible="appointmentRoom" v-model:visible="appointmentRoom"
title="会议室预约" title="会客厅预约"
width="10rem" width="10rem"
@ok="handleOk" @ok="handleOk"
:body-style="bodystyle" :body-style="bodystyle"
@ -289,7 +289,7 @@
> >
<div class="imgJinggao"></div> <div class="imgJinggao"></div>
<span style="color: #da2a13; font-size: 0.12rem"> <span style="color: #da2a13; font-size: 0.12rem">
当日会议室可用时段{{ roomDateList[0] }} 当日会客厅可用时段{{ roomDateList[0] }}
</span> </span>
</div> </div>
</a-col> </a-col>
@ -922,7 +922,7 @@
showSizeChanger: true, showSizeChanger: true,
pageSizeOptions: ['10', '30', '50', '100', '1000'], // pageSizeOptions: ['10', '30', '50', '100', '1000'], //
}) })
//======= //=======
const paginationRoom = ref({ const paginationRoom = ref({
total: 0, total: 0,
current: 1, current: 1,
@ -1024,6 +1024,7 @@
} }
// //
let formPage = router.currentRoute.value.query.formPage || '' let formPage = router.currentRoute.value.query.formPage || ''
let zwy = router.currentRoute.value.query.zwy || ''
// -- // --
let facilitiesType = router.currentRoute.value.query.facilitiesType || '' let facilitiesType = router.currentRoute.value.query.facilitiesType || ''
onMounted(() => { onMounted(() => {
@ -1053,11 +1054,16 @@
roomYuyue.value = false roomYuyue.value = false
roomResult.value = true roomResult.value = true
onSearch() onSearch()
} else {
//
if (zwy) {
tabClick(0, '政务云资源')
} else { } else {
tabClick(0, '城市云脑会客厅') tabClick(0, '城市云脑会客厅')
} }
} }
} }
}
mybus.off('getListByParentId') mybus.off('getListByParentId')
mybus.on('getListByParentId', (parentId) => { mybus.on('getListByParentId', (parentId) => {
@ -1217,7 +1223,7 @@
} }
init() init()
// //
const result = () => { const result = () => {
roomYuyue.value = false roomYuyue.value = false
roomResult.value = true roomResult.value = true
@ -1348,7 +1354,7 @@
return seconds return seconds
} }
} }
// ---- // ----
// //
const disabledTimeHours = () => { const disabledTimeHours = () => {
if (formState.endTime) { if (formState.endTime) {
@ -1457,7 +1463,7 @@
const handleChange = (i) => { const handleChange = (i) => {
let query = { let query = {
date: i, //riqi date: i, //riqi
roomId: dateId.value, // roomId: dateId.value, //
} }
getDate(query).then(({ data: res }) => { getDate(query).then(({ data: res }) => {
roomDateList.value = res.data roomDateList.value = res.data
@ -1466,7 +1472,7 @@
const columnsRomm = [ const columnsRomm = [
{ {
title: '会议室名称', title: '会客厅名称',
dataIndex: 'roomName', dataIndex: 'roomName',
align: 'center', align: 'center',
}, },
@ -1530,13 +1536,13 @@
console.log('error', err) console.log('error', err)
}) })
} }
// //
const searchData = () => { const searchData = () => {
let query = { let query = {
bookDate: roomCerateDate.value, // bookDate: roomCerateDate.value, //
startTime: roomCreateTime.value, // startTime: roomCreateTime.value, //
endTime: roomEndTime.value, // endTime: roomEndTime.value, //
name: roomInput.value, // name: roomInput.value, //
page: roomPage.value, // page: roomPage.value, //
limit: roomLimit.value, // limit: roomLimit.value, //
} }

View File

@ -187,8 +187,8 @@ let typeObj = {
7: '需求后台', 7: '需求后台',
8: '评论前台', 8: '评论前台',
9: '评论后台', 9: '评论后台',
10: '会议室前台', 10: '会客厅前台',
11: '会议室后台', 11: '会客厅后台',
12: '其他' 12: '其他'
} }
@ -214,7 +214,7 @@ let pageObj = {
0: 'myAgent-CommentModeration', 0: 'myAgent-CommentModeration',
1: 'hasToDoTasks-CommentModeration', 1: 'hasToDoTasks-CommentModeration',
}, },
'会议室后台': { '会客厅后台': {
0: 'activiti-RoomExamineAdmin', 0: 'activiti-RoomExamineAdmin',
1: 'activiti-RoomExamineAdmin', 1: 'activiti-RoomExamineAdmin',
}, },
@ -227,10 +227,10 @@ const tabTypeObj = {
'下架前台': '能力下架', '下架前台': '能力下架',
'需求前台': '需求评论', '需求前台': '需求评论',
'评论前台': '需求评论', '评论前台': '需求评论',
'会议室前台': '会议室前台' '会客厅前台': '会客厅前台'
} }
// //
const goPage = (item) => { const goPage = (item) => {
if (item.jumpUrl && item.type !== 12) { if (item.jumpUrl && item.type !== 12) {
let typeText = typeObj[item.type]; let typeText = typeObj[item.type];
@ -259,7 +259,7 @@ const goPage = (item) => {
// let _page = pageObj[typeText][_applyState] // let _page = pageObj[typeText][_applyState]
// window.open(window.SITE_CONFIG.backUrl + `/#/${_page}`) // window.open(window.SITE_CONFIG.backUrl + `/#/${_page}`)
// } else if (typeText.indexOf('') !== -1) { // } else if (typeText.indexOf('') !== -1) {
// if (typeText == '') { // if (typeText == '') {
// router.push({ // router.push({
// path: '/DetailsPageconetent', // path: '/DetailsPageconetent',
// query: { // query: {

View File

@ -53,6 +53,9 @@
let dataList = ref([]) let dataList = ref([])
const getList = () => { const getList = () => {
selectRecommend().then((res) => { selectRecommend().then((res) => {
if (res.data.data.records.length > 9) {
res.data.data.records.length = 9
}
dataList.value = res.data.data.records dataList.value = res.data.data.records
dataList.value.map((item, index) => { dataList.value.map((item, index) => {
// debugger // debugger
@ -95,7 +98,7 @@
router.push({ router.push({
path: '/DetailsPageconetent', path: '/DetailsPageconetent',
query: { query: {
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB select: DETAIL_PAGE_CONTENT_DEFAULT_TAB,
}, },
}) })
} }

View File

@ -1,57 +1,5 @@
<template> <template>
<div class="work-dynamics"> <div class="work-dynamics">
<!-- <div class="title">
<div>工作动态</div>
<div class="title-son"></div>
</div>
<div class="content" v-if="dataList && dataList.length > 0">
<div v-for="(item, index) in dataList" :key="item">
<div class="content-one" v-if="index % 2 == 0">
<div class="one">
<a-image
style="text-align: center"
alt="暂无图片"
:src="item.imageUrl"
:fallback="imgSrc"
/>
</div>
<div class="content-miaoshui">
<div class="content-miaoshui-title">{{ item.title }}</div>
<div class="content-miaoshui-content">
{{ item.content }}
</div>
<div class="shijain">
<div>{{ item.createDate }}发布</div>
<div class="shijain-content-bootom" @click="selectOne(item.id)">
查看详情
</div>
</div>
</div>
</div>
<div class="content-one" v-else>
<div class="content-miaoshui">
<div class="content-miaoshui-title">{{ item.title }}</div>
<div class="content-miaoshui-content">
{{ item.content }}
</div>
</div>
<div class="one">
<a-image alt="暂无图片" :src="item.imageUrl" :fallback="imgSrc" />
<div class="shijain">
<div>{{ item.createDate }}发布</div>
<div class="shijain-content-bootom" @click="selectOne(item.id)">
查看详情
</div>
</div>
</div>
</div>
</div>
</div>
<a-empty v-else></a-empty>
<div class="bottom" @click="jumpPage()">
查看更多
<span class="gengduo"></span>
</div> -->
<div class="fixedmount"> <div class="fixedmount">
<div @click="applyResource()"> <div @click="applyResource()">
<p></p> <p></p>
@ -65,14 +13,9 @@
<p></p> <p></p>
<p>能力上架</p> <p>能力上架</p>
<!-- <a-button type="primary" >Open Modal</a-button> --> <!-- <a-button type="primary" >Open Modal</a-button> -->
<a-modal <a-modal v-model:visible="visible" class="shangjia-class">
v-model:visible="visible"
@ok="handleOk"
class="shangjia-class"
@cancel="handlecancel"
>
<div class="ant-modal-title" id="vcDialogTitle1"> <div class="ant-modal-title" id="vcDialogTitle1">
<div class="showBg"></div> <!-- <div class="showBg"></div> -->
能力上架申请 能力上架申请
</div> </div>
<div class="ability-to-type"> <div class="ability-to-type">
@ -92,62 +35,31 @@
</div> </div>
</div> </div>
</div> </div>
<div <div
class="component-type" class="ability-to-type"
v-if="abilityToTypeFunctionData == '组件服务'" v-if="abilityToTypeFunctionData == '组件服务'"
> >
<div class="title">组件类型选择</div> <div class="title">组件类型选择</div>
<div class="component-type-content">
<!-- <a-checkbox-group
v-model:value="value1"
name="checkboxgroup"
:options="componentType"
/> -->
<a-radio-group v-model:value="componentTypeValue">
<a-radio
@click="componentTypeValueFunction(item)"
v-for="item in componentType"
:key="item"
:value="item"
>
{{ item }}
</a-radio>
</a-radio-group>
</div>
</div>
</a-modal>
</div>
<!-- <div @click="showAbilitySquare">
<p></p>
<p>能力广场</p>
<a-modal
v-model:visible="visibleAbilitySquare"
@ok="handleOkAbilitySquare"
class="shangjia-class"
@cancel="handlecancelAbilitySquare"
>
<div class="ant-modal-title" id="vcDialogTitle1">
<div class="showBg"></div>
能力广场目录
</div>
<div class="ability-to-type">
<div class="ability-to-type-content"> <div class="ability-to-type-content">
<div <div
v-for="item in abilitySquare" v-for="item in componentType"
:key="item" :key="item"
@click="abilitySquareFunction(item)" @click="componentTypeValueFunction(item)"
:class=" :class="
abilitySquareFunctionData == item componentTypeValue == item ? 'ability-to-type-down' : ''
? 'ability-to-type-down'
: ''
" "
> >
{{ item }} {{ item }}
</div> </div>
</div> </div>
</div> </div>
<template v-slot:footer>
<a-button class="shenqing" @click="handleOk">申请</a-button>
<a-button class="quxiao" @click="handlecancel">取消</a-button>
</template>
</a-modal> </a-modal>
</div> --> </div>
</div> </div>
</div> </div>
</template> </template>
@ -176,6 +88,7 @@
function abilityToTypeFunction(item) { function abilityToTypeFunction(item) {
abilityToTypeFunctionData.value = item abilityToTypeFunctionData.value = item
} }
let abilityToType = ref(['组件服务', '应用资源']) let abilityToType = ref(['组件服务', '应用资源'])
let abilitySquare = ref(['智能算法', '图层服务', '应用资源']) let abilitySquare = ref(['智能算法', '图层服务', '应用资源'])
let componentType = ref([ let componentType = ref([
@ -197,6 +110,7 @@
} }
let componentTypeValueOld = ref('') let componentTypeValueOld = ref('')
function componentTypeValueFunction(item) { function componentTypeValueFunction(item) {
componentTypeValue.value = item
if (componentTypeValueOld.value != item) { if (componentTypeValueOld.value != item) {
componentTypeValue.value = item componentTypeValue.value = item
componentTypeValueOld.value = item componentTypeValueOld.value = item
@ -321,6 +235,7 @@
path: '/DetailsPageconetent', path: '/DetailsPageconetent',
query: { query: {
select: '基础设施', select: '基础设施',
zwy: true,
}, },
}) })
} }
@ -334,7 +249,32 @@
margin-top: -1.44rem; margin-top: -1.44rem;
font-size: 0.14rem; font-size: 0.14rem;
font-weight: 500; font-weight: 500;
.ant-modal-footer {
border: 0;
text-align: center;
margin-top: 24px;
padding-bottom: 24px;
.shenqing {
background: #0058e1;
color: #ffffff;
width: 90px;
height: 32px;
border-radius: 2px;
border: 1px #0058e1 solid;
}
.quxiao {
width: 90px;
height: 32px;
background: #ffffff;
color: #0058e1;
border-radius: 2px;
border: 1px #0058e1 solid;
}
}
.ant-modal-body {
padding: 0px !important;
}
.ant-radio-inner { .ant-radio-inner {
height: 0.16rem; height: 0.16rem;
width: 0.16rem; width: 0.16rem;
@ -346,17 +286,21 @@
background-position: center; background-position: center;
} }
.ant-modal-content { .ant-modal-content {
border-radius: 0.1rem; border-radius: 2px;
border: 1px #e6e9ed solid;
width: 690px;
box-shadow: 0px 4px 20px rgb(0, 0, 0, 0.5);
.ability-to-type, .ability-to-type,
.component-type { .component-type {
display: flex; display: flex;
margin-top: 0.2rem; margin-top: 24px;
margin-left: 24px;
.title { .title {
white-space: nowrap; white-space: nowrap;
margin-right: 0.2rem;
display: flex; display: flex;
align-items: center; align-items: center;
height: 0.26rem; height: 0.26rem;
font-size: 16px;
} }
.component-type-content { .component-type-content {
width: 100%; width: 100%;
@ -365,7 +309,7 @@
background: unset; background: unset;
.ant-radio-group { .ant-radio-group {
display: grid; display: grid;
grid-template-columns: 1fr 1fr 1fr; grid-template-columns: auto auto auto auto;
grid-gap: 0.15rem; grid-gap: 0.15rem;
} }
} }
@ -374,20 +318,26 @@
.ability-to-type { .ability-to-type {
.ability-to-type-content { .ability-to-type-content {
display: grid; display: grid;
grid-template-columns: 1fr 1fr 1fr; grid-template-columns: auto auto auto auto;
height: unset; height: unset;
border: unset; border: unset;
background: unset; background: unset;
margin-left: 20px;
div { div {
margin-right: 0.15rem; &:hover {
background: #0058e1;
cursor: pointer; cursor: pointer;
font-size: 0.14rem; color: #ffffff;
width: 0.9rem; }
height: 0.26rem; margin-right: 16px;
border-radius: 0.13rem; cursor: pointer;
color: #333333; font-size: 16px;
background: #f5f5f5; width: 90px;
border: 0.01rem #cccccc solid; height: 32px;
border-radius: 2px;
color: #0058e1;
background: #ffffff;
border: 1px #0058e1 solid;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@ -395,7 +345,7 @@
} }
.ability-to-type-down { .ability-to-type-down {
background: #0087ff; background: #0058e1;
color: #fff; color: #fff;
} }
} }
@ -405,15 +355,25 @@
.ant-modal-title { .ant-modal-title {
display: flex; display: flex;
align-items: center; align-items: center;
display: flex;
align-items: center;
margin: 0px 24px;
padding-top: 24px;
padding-bottom: 22px;
color: #212121;
font-weight: bold;
font-size: 20px;
border-bottom: 2px solid #ebeced;
} }
.ant-modal-footer { .ant-modal-footer {
border: 0; border: 0;
text-align: center; text-align: center;
padding-bottom: 0.2rem; padding-bottom: 0.2rem;
margin-top: 50px;
button { button {
margin-right: 0.2rem; margin-right: 12px;
border-radius: 0.08rem; border-radius: 2px;
} }
} }

View File

@ -18,12 +18,31 @@
></OffTheShelf> ></OffTheShelf>
<Demand :refObj="refObj" v-else-if="showType === '能力需求'"></Demand> <Demand :refObj="refObj" v-else-if="showType === '能力需求'"></Demand>
<Comment :refObj="refObj" v-else-if="showType === '需求评论'"></Comment> <Comment :refObj="refObj" v-else-if="showType === '需求评论'"></Comment>
<dataResourceApplication
:refObj="refObj"
v-else-if="showType === '数据资源申请'"
></dataResourceApplication>
<cloudResources
:refObj="refObj"
v-else-if="showType === '云资源'"
></cloudResources>
<OtherApplications :refObj="refObj" v-else></OtherApplications> <OtherApplications :refObj="refObj" v-else></OtherApplications>
<div> <div v-if="showType !== '云资源'">
<div class="title">审批详情</div> <div class="title">审批详情</div>
<template v-for="item in dataSource.data" :key="item"> <template v-for="item in dataSource.data" :key="item">
<div class="oddNumbers">子单号:{{ item[0] }}</div> <div class="oddNumbers">子单号:{{ item[0] }}</div>
<a-table :dataSource="item[1]" :columns="columns"> <a-table
:dataSource="item[1]"
:columns="dataSourceColumns"
v-if="showType === '数据资源申请'"
>
<template #bodyCell="{ column, text }">
<template v-if="column.dataIndex === 'name'">
<a>{{ text }}</a>
</template>
</template>
</a-table>
<a-table :dataSource="item[1]" :columns="columns" v-else>
<template #bodyCell="{ column, text }"> <template #bodyCell="{ column, text }">
<template v-if="column.dataIndex === 'name'"> <template v-if="column.dataIndex === 'name'">
<a>{{ text }}</a> <a>{{ text }}</a>
@ -40,6 +59,8 @@
import OffTheShelf from './OffTheShelf.vue' import OffTheShelf from './OffTheShelf.vue'
import Demand from './Demand.vue' import Demand from './Demand.vue'
import Comment from './Comment.vue' import Comment from './Comment.vue'
import dataResourceApplication from './dataResourceApplication.vue'
import cloudResources from './cloudResources.vue'
import DeviceApplyDetail from './DeviceApplyDetail.vue' import DeviceApplyDetail from './DeviceApplyDetail.vue'
import OtherApplications from '@/views/personalCenter/components/OtherApplications ' import OtherApplications from '@/views/personalCenter/components/OtherApplications '
import { onMounted, reactive, defineProps, ref } from 'vue' import { onMounted, reactive, defineProps, ref } from 'vue'
@ -159,6 +180,32 @@
width: '180px', width: '180px',
}, },
] ]
const dataSourceColumns = [
{
title: '操作',
dataIndex: 'cz',
key: 'cz',
width: '180px',
},
{
title: '处理用户',
dataIndex: 'czyh',
key: 'czyh',
width: '180px',
},
{
title: '处理时间',
dataIndex: 'clsj',
key: 'clsj',
width: '180px',
},
{
title: '备注',
dataIndex: 'remark',
key: 'remark',
width: '180px',
},
]
const getInfo = () => { const getInfo = () => {
console.log(props.processInstanceId, '============================') console.log(props.processInstanceId, '============================')
if (props.processDefinitionName == '能力申请') { if (props.processDefinitionName == '能力申请') {

View File

@ -12,7 +12,10 @@
{{ item }} {{ item }}
</div> </div>
</div> </div>
<div class="tab"> <div
class="tab"
v-show="typeIndex != 5 && typeIndex != 6 && typeIndex != 7"
>
<span>申请状态</span> <span>申请状态</span>
<div <div
:class="tabIndex == index ? 'tabclass' : ' '" :class="tabIndex == index ? 'tabclass' : ' '"
@ -31,6 +34,24 @@
</template> </template>
</div> </div>
</div> </div>
<a-form
:model="formState"
name="basic"
:label-col="{ span: 8 }"
:wrapper-col="{ span: 16 }"
autocomplete="off"
@submit="onSubmit"
v-if="typeIndex == 6 || typeIndex == 7"
style="display: flex; margin-top: 10px; margin-left: -35px"
>
<a-form-item label="名称" name="name">
<a-input v-model:value="formState.name" />
</a-form-item>
<a-form-item :wrapper-col="{ offset: 8, span: 16 }">
<a-button type="primary" html-type="submit">搜索</a-button>
</a-form-item>
</a-form>
<div v-if="contentList.data.length > 0"> <div v-if="contentList.data.length > 0">
<div class="content"> <div class="content">
<div <div
@ -39,32 +60,71 @@
:key="item.index" :key="item.index"
> >
<div class="content-body-title"> <div class="content-body-title">
<span>申请单号{{ item.applyNumber || '--' }}</span> <span>
申请单号{{
item.applyNumber || item.GUID || item.BSNUM || '--'
}}
</span>
<div></div> <div></div>
</div> </div>
<a-tooltip> <a-tooltip>
<template #title> <template #title>
{{ item.cameraList ? item.system : (item.title|| item.name) }} {{
item.cameraList
? item.system
: item.title || item.name || item.title || item.BUSINESS_NAME
}}
</template> </template>
<div class="content-body-title"> <div class="content-body-title">
<span> <span>
名称{{ 名称{{
item.cameraList ? item.system : (item.title || item.name) item.cameraList
? item.system
: item.title ||
item.name ||
item.title ||
item.BUSINESS_NAME
}} }}
</span> </span>
<div></div> <div></div>
</div> </div>
</a-tooltip> </a-tooltip>
<div class="content-body-content"> <div class="content-body-content">
<p class="content-body-content-son" v-if="typeName !== '设备申请'"> <p class="content-body-content-son" v-if="typeName == '设备申请'">
审核结果{{ item.ended ? '审核完成' : '审核中' }}
</p>
<p class="content-body-content-son" v-else>
审核结果{{ item.state === 0 ? '审核中' : '审核完成' }} 审核结果{{ item.state === 0 ? '审核中' : '审核完成' }}
</p> </p>
<p
class="content-body-content-son"
v-else-if="typeName == '数据资源申请'"
>
审核结果{{ item.bmyijian === 0 ? '审核中' : '审核完成' }}
</p>
<p
class="content-body-content-son"
v-else-if="typeName == '云资源申请'"
>
审核结果{{ status[item.STATUS] }}
</p>
<p
class="content-body-content-son"
v-else-if="typeName == '云视频申请'"
>
审核结果{{ status2[item.STATUS] }}
</p>
<p class="content-body-content-son" v-else>
审核结果{{ item.ended ? '审核完成' : '审核中' }}
</p>
<div>
申请日期{{
item.createDate ||
item.startTime ||
item.tbsj ||
(item.CREATE_TIME &&
moment(item.CREATE_TIME.time + 480 * 60 * 1000).format(
'YYYY-MM-DD HH:mm:ss'
))
}}
</div> </div>
<div class="content-body-bottom">
<div>申请日期{{ item.createDate || item.startTime }}</div>
<!-- 西海岸--增加过期时间显示 --> <!-- 西海岸--增加过期时间显示 -->
<div v-if="isXiHaiAn">过期时间{{ item.expireDate || '' }}</div> <div v-if="isXiHaiAn">过期时间{{ item.expireDate || '' }}</div>
</div> </div>
@ -219,6 +279,10 @@
demandComment, demandComment,
deviceApplylist, deviceApplylist,
getDeviceDetail, getDeviceDetail,
yaweiApproveStatus,
yaweiApproveDetails,
getResourceBusinessList,
getVideoBusinessList,
} from '@/api/personalCenter' } from '@/api/personalCenter'
import { import {
updateRes, updateRes,
@ -228,6 +292,7 @@
selectOneDel, selectOneDel,
} from '@/api/home' } from '@/api/home'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
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 mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
@ -237,14 +302,22 @@
tabTypeName: { type: String, default: '' }, tabTypeName: { type: String, default: '' },
}) })
const router = useRouter() const router = useRouter()
const userName = ref('')
getUserInfo().then((res) => {
userName.value = res.data.data.username
})
let typeList = ref([ let typeList = ref([
'能力申请', '能力申请',
'能力上架', '能力上架',
'能力下架', '能力下架',
'能力需求', '能力需求',
'需求评论', '需求评论',
'数据资源申请',
'云资源申请',
'云视频申请',
// '', // '',
]) ])
const formState = ref({ name: '' })
// 西- // 西-
let isXiHaiAn = whoShow.itShowXiHaiAn let isXiHaiAn = whoShow.itShowXiHaiAn
const itShowXiHaiAn = ref(isXiHaiAn) const itShowXiHaiAn = ref(isXiHaiAn)
@ -253,17 +326,18 @@
typeList.value.push('设备申请') typeList.value.push('设备申请')
} }
const typeStrObj = { const typeStrObj = {
'能力上架': 'resourcemountapply', 能力上架: 'resourcemountapply',
'能力下架': 'resourcundercarriageapply', 能力下架: 'resourcundercarriageapply',
'能力需求': 'abilitydemandapply', 能力需求: 'abilitydemandapply',
'需求评论': 'comment_review', 需求评论: 'comment_review',
} }
let tabList = ref(['全部', '审核中', '审核完成']) let tabList = ref(['全部', '审核中', '审核完成'])
const contentList = reactive({ data: [] }) const contentList = reactive({ data: [] })
const contentList2 = 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
} }
const videoVisible = ref(false) const videoVisible = ref(false)
@ -302,6 +376,8 @@
// //
const changeType = (item, index) => { const changeType = (item, index) => {
contentList.data = []
formState.value.name = ''
console.log('item, index-----选择类型------->', item, index) console.log('item, index-----选择类型------->', item, index)
numFlag.value = true numFlag.value = true
num.value = [] num.value = []
@ -310,7 +386,7 @@
ended.value = '' ended.value = ''
page.value = 1 page.value = 1
typeIndex.value = index typeIndex.value = index
typeName.value = item; typeName.value = item
getApplyList() getApplyList()
} }
@ -336,6 +412,45 @@
} }
} }
const applytype = {
'01': '新增',
'02': '变更',
'03': '停用',
'04': '核减',
}
const sourcetype = {
'01': '云主机',
'02': '云数据库',
'03': '对象存储',
'04': '堡垒机',
'05': '备份服务',
'06': '防火墙',
'07': '网闸',
'08': '负载均衡',
'09': '公网ip',
10: '托管服务',
11: '大数据服务',
}
const status = {
'00': '草稿',
'01': '提交',
'03': '一级部门提交',
'04': '驳回',
'05': '审核通过',
'06': '交付',
'07': '作废',
99: '终止办结',
}
const status2 = {
'00': '草稿',
'01': '提交',
'02': '大数据局审核通过',
'04': '大数据局驳回',
'03': '提交给视频所属部门',
'08': '视频所属部门审核中',
'05': '视频所属部门已审核',
'06': '交付',
}
const cilckRowData = ref({}) const cilckRowData = ref({})
const showDetail = (item) => { const showDetail = (item) => {
cilckRowData.value = item cilckRowData.value = item
@ -361,6 +476,59 @@
message.error('数据请求失败!') message.error('数据请求失败!')
} }
}) })
} else if (typeName.value == '数据资源申请') {
yaweiApproveDetails({ applyGuid: item.GUID })
.then((res) => {
console.log('详情===========>', res.data.data)
res.data.data.map((val) => {
val.clsj = moment(val.clsj).format('YYYY-MM-DD HH:mm:ss')
})
refObj.value.description = '数据资源'
refObj.value.sqbm = item.sqbm //
refObj.value.title = item.title //
refObj.value.ywlxr = item.ywlxr //
refObj.value.ywlxrdh = item.ywlxrdh //
refObj.value.jslxr = item.jslxr //
refObj.value.jslxrdh = item.jslxrdh //
refObj.value.miaoshu = item.miaoshu //
refObj.value.zt = item.zt //
refObj.value.resourceApplication = {
dataSource: [
{
instanceId: item.GUID,
taskHandleDetailInfo: res.data.data,
},
],
} //
detailsVisible.value = true
})
.catch((err) => {})
} else if (
typeName.value == '云资源申请' ||
typeName.value == '云视频申请'
) {
refObj.value.description = '政务云'
if (typeName.value == '云资源申请') {
refObj.value.STATUS = status[item.STATUS] //
} else {
refObj.value.STATUS = status2[item.STATUS] //
}
refObj.value.CREATE_TIME = moment(
item.CREATE_TIME.time + 480 * 60 * 1000
).format('YYYY-MM-DD HH:mm:ss')
//
refObj.value.BUSINESS_NAME = item.BUSINESS_NAME //
refObj.value.BSNUM = item.BSNUM // id
refObj.value.APPLYTYPE = applytype[item.APPLYTYPE] //
refObj.value.SOURCE_TYPE = sourcetype[item.SOURCE_TYPE] //
refObj.value.REGION_CODE = item.REGION_CODE //
refObj.value.REGION_NAME = item.REGION_NAME //
refObj.value.ORG_NAME = item.ORG_NAME //
refObj.value.ORG_CODE = item.ORG_CODE //
refObj.value.AGENT_NAME = item.AGENT_NAME //
refObj.value.AGENT_CODE = item.AGENT_CODE //
refObj.value.CREATOR_NAME = item.CREATOR_NAME //
detailsVisible.value = true
} else if (typeName.value == '设备申请') { } else if (typeName.value == '设备申请') {
getDeviceDetailInfo(item.deviceId) getDeviceDetailInfo(item.deviceId)
.then((res) => { .then((res) => {
@ -541,6 +709,34 @@
showType.value = '能力申请' showType.value = '能力申请'
initNum2() initNum2()
}) })
} else if (typeName.value == '数据资源申请') {
yaweiApproveStatus({ page: page.value, size: 4, title: '' }).then(
(res) => {
console.log('数据资源申请===============>', res.data.data)
contentList.data = res.data.data.data
num.value = []
total.value = res.data.data.cos
showType.value = '数据资源申请'
}
)
} else if (typeName.value == '云资源申请') {
getResourceBusinessList({ userAccount: userName.value }).then((res) => {
console.log('数据资源申请===============>', res.data.data)
contentList.data = res.data.data
contentList2.data = res.data.data
num.value = []
total.value = 0
showType.value = '云资源'
})
} else if (typeName.value == '云视频申请') {
getVideoBusinessList({ userAccount: userName.value }).then((res) => {
console.log('数据资源申请===============>', res.data.data)
contentList.data = res.data.data
contentList2.data = res.data.data
num.value = []
total.value = 0
showType.value = '云资源'
})
} else if (typeName.value == '能力评价') { } else if (typeName.value == '能力评价') {
contentList.data = [] contentList.data = []
num.value = [] num.value = []
@ -624,6 +820,11 @@
showType.value = '' showType.value = ''
} }
} }
const onSubmit = () => {
contentList.data = contentList2.data.filter(
(val) => val.BUSINESS_NAME.indexOf(formState.value.name) > -1
)
}
const handleCurrentChange = (val) => { const handleCurrentChange = (val) => {
page.value = val page.value = val
getApplyList() getApplyList()
@ -775,7 +976,6 @@
flex-direction: column; flex-direction: column;
font-size: 16px; font-size: 16px;
justify-content: left; justify-content: left;
.title { .title {
font-size: 20px; font-size: 20px;
color: #000000; color: #000000;
@ -837,7 +1037,8 @@
.content { .content {
padding-right: 10px; padding-right: 10px;
height: 510px; height: 610px;
overflow-y: scroll;
.content-body { .content-body {
padding-bottom: 20px; padding-bottom: 20px;

View File

@ -0,0 +1,229 @@
<!--
* @Author: hisense.liangjunhua
* @Date: 2022-07-12 09:42:44
* @LastEditors: Light
* @LastEditTime: 2022-11-11 18:48:42
* @Description:我的申请 能力申请 查看详情
-->
<template>
<div class="top">
<div class="title">基本信息</div>
<div class="main" v-if="props.refObj">
<div>
<p class="item">
<span>状态{{ props.refObj.STATUS || '--' }}</span>
<span>操作时间{{ props.refObj.CREATE_TIME || '--' }}</span>
</p>
<p class="item">
<span>业务名称{{ props.refObj.BUSINESS_NAME || '--' }}</span>
<span>业务id{{ props.refObj.BSNUM || '--' }}</span>
</p>
<p class="item">
<span>申请类型{{ props.refObj.APPLYTYPE || '--' }}</span>
<span>资源类型{{ props.refObj.SOURCE_TYPE || '--' }}</span>
</p>
<p class="item">
<span>区划编码{{ props.refObj.REGION_CODE || '--' }}</span>
<span>区划名称{{ props.refObj.REGION_NAME || '--' }}</span>
</p>
<p class="item">
<span>部门名称{{ props.refObj.ORG_NAME || '--' }}</span>
<span>部门名称编码{{ props.refObj.ORG_CODE || '--' }}</span>
</p>
<p class="item">
<span>处室名称{{ props.refObj.AGENT_NAME || '--' }}</span>
<span>处室编码{{ props.refObj.AGENT_CODE || '--' }}</span>
</p>
<p class="item">
<span>申请人{{ props.refObj.CREATOR_NAME || '--' }}</span>
</p>
</div>
</div>
</div>
</template>
<script setup>
import { ref, defineProps } from 'vue'
const props = defineProps({
refObj: { type: Object, default: null },
})
console.log(props.refObj, '=====================================')
// if (props.refObj.resourceApplication) {
// showArr.value = []
// for (const key in props.refObj.resourceApplication) {
// if (props.refObj.resourceApplication[key].length > 0) {
// let obj = { name: '', instanceId: '', list: [], list2: [] }
// obj.name = key
// props.refObj.resourceApplication[key].map((item) => {
// obj.instanceId = item.instanceId
// if (item.resources.length > 0) {
// item.resources.map((val) => {
// obj.list.push(val)
// })
// } else {
// item.camera.map((val) => {
// obj.list2.push(val)
// })
// }
// })
// showArr.value.push(obj)
// }
// }
// }
</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;
}
.top {
margin-bottom: 0.1rem;
.main {
background: #eee;
padding: 0.2rem 0.2rem 0.1rem;
p {
display: flex;
justify-content: space-between;
& > span {
width: 100%;
}
.enclosure {
width: 95%;
padding: 0.05rem 0.1rem;
background: #ddd;
display: flex;
justify-content: space-between;
margin-top: 0.05rem;
}
.btn:hover {
color: #0058e1;
cursor: pointer;
}
}
.item {
span {
width: 4.5rem;
}
}
}
}
.bottom {
.main {
.item {
border-top: 1px #eee solid;
.deptName {
color: #0058e1;
font-size: 0.16rem;
margin-top: 0.1rem;
display: flex;
align-items: center;
.img {
width: 0.05rem;
height: 0.05rem;
border-radius: 0.05rem;
background: #0058e1;
margin-right: 0.1rem;
}
}
.oddNumbers {
margin: 0.1rem 0 0 0.15rem;
}
.box {
margin-left: 0.1rem;
.ability {
height: 1.3rem;
display: flex;
border-bottom: 1px #eee solid;
padding: 0.1rem 0;
.left {
display: inline-block;
width: 1.1rem;
height: 1.1rem;
margin-left: 0.1rem;
background: url('~@/assets/home/sxt_square.png') no-repeat;
background-size: 100%;
}
.sxt {
background: url('~@/assets/home/sxt_square.png') no-repeat;
background-size: 100%;
}
.yyzy {
background: url('~@/assets/home/yyzy_square.png') no-repeat;
background-size: 100%;
}
.znsf {
background: url('~@/assets/home/znsf_square.png') no-repeat;
background-size: 100%;
}
.tcfw {
background: url('~@/assets/home/tcfw_square.png') no-repeat;
background-size: 100%;
}
.kfzj {
background: url('~@/assets/home/kfzj_square.png') no-repeat;
background-size: 100%;
}
.ywzj {
background: url('~@/assets/home/ywzj_square.png') no-repeat;
background-size: 100%;
}
.btn {
cursor: pointer;
color: #0087ff;
align-self: flex-end;
padding: 5px 10px;
border: 1px #0087ff solid;
border-radius: 0.2rem;
}
.right {
flex: 1;
margin-left: 0.15rem;
.ability-top {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
.name {
.type {
background: #0087ff;
color: #fff;
padding: 2px 10px;
border-radius: 10px;
margin-left: 0.1rem;
}
}
}
.ability-bottom {
margin-top: 0.15rem;
// display: flex;
// justify-content: space-between;
.dec {
width: 7rem;
height: 0.44rem;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
word-break: break-all;
}
.result:hover {
color: #0058e1;
cursor: pointer;
}
}
}
}
}
}
}
}
</style>

View File

@ -0,0 +1,220 @@
<!--
* @Author: hisense.liangjunhua
* @Date: 2022-07-12 09:42:44
* @LastEditors: Light
* @LastEditTime: 2022-11-11 14:38:06
* @Description:我的申请 能力申请 查看详情
-->
<template>
<div class="top">
<div class="title">基本信息</div>
<div class="main" v-if="props.refObj">
<div>
<p class="item">
<span>申请部门{{ props.refObj.sqbm || '--' }}</span>
<span>需求标题{{ props.refObj.title }}</span>
</p>
<p class="item">
<span>业务联系人{{ props.refObj.ywlxr }}</span>
<span>业务联系人电话{{ props.refObj.ywlxrdh }}</span>
</p>
<p class="item">
<span>技术联系人{{ props.refObj.jslxr }}</span>
<span>技术联系人电话{{ props.refObj.jslxrdh }}</span>
</p>
<p>
<span>共享数据必要性法分析{{ props.refObj.miaoshu }}</span>
</p>
<p class="item">
<span>办结结果{{ props.refObj.zt }}</span>
</p>
</div>
</div>
</div>
</template>
<script setup>
import { ref, defineProps } from 'vue'
const props = defineProps({
refObj: { type: Object, default: null },
})
console.log(props.refObj, '=====================================')
// if (props.refObj.resourceApplication) {
// showArr.value = []
// for (const key in props.refObj.resourceApplication) {
// if (props.refObj.resourceApplication[key].length > 0) {
// let obj = { name: '', instanceId: '', list: [], list2: [] }
// obj.name = key
// props.refObj.resourceApplication[key].map((item) => {
// obj.instanceId = item.instanceId
// if (item.resources.length > 0) {
// item.resources.map((val) => {
// obj.list.push(val)
// })
// } else {
// item.camera.map((val) => {
// obj.list2.push(val)
// })
// }
// })
// showArr.value.push(obj)
// }
// }
// }
</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;
}
.top {
margin-bottom: 0.1rem;
.main {
background: #eee;
padding: 0.2rem 0.2rem 0.1rem;
p {
display: flex;
justify-content: space-between;
& > span {
width: 100%;
}
.enclosure {
width: 95%;
padding: 0.05rem 0.1rem;
background: #ddd;
display: flex;
justify-content: space-between;
margin-top: 0.05rem;
}
.btn:hover {
color: #0058e1;
cursor: pointer;
}
}
.item {
span {
width: 4.5rem;
}
}
}
}
.bottom {
.main {
.item {
border-top: 1px #eee solid;
.deptName {
color: #0058e1;
font-size: 0.16rem;
margin-top: 0.1rem;
display: flex;
align-items: center;
.img {
width: 0.05rem;
height: 0.05rem;
border-radius: 0.05rem;
background: #0058e1;
margin-right: 0.1rem;
}
}
.oddNumbers {
margin: 0.1rem 0 0 0.15rem;
}
.box {
margin-left: 0.1rem;
.ability {
height: 1.3rem;
display: flex;
border-bottom: 1px #eee solid;
padding: 0.1rem 0;
.left {
display: inline-block;
width: 1.1rem;
height: 1.1rem;
margin-left: 0.1rem;
background: url('~@/assets/home/sxt_square.png') no-repeat;
background-size: 100%;
}
.sxt {
background: url('~@/assets/home/sxt_square.png') no-repeat;
background-size: 100%;
}
.yyzy {
background: url('~@/assets/home/yyzy_square.png') no-repeat;
background-size: 100%;
}
.znsf {
background: url('~@/assets/home/znsf_square.png') no-repeat;
background-size: 100%;
}
.tcfw {
background: url('~@/assets/home/tcfw_square.png') no-repeat;
background-size: 100%;
}
.kfzj {
background: url('~@/assets/home/kfzj_square.png') no-repeat;
background-size: 100%;
}
.ywzj {
background: url('~@/assets/home/ywzj_square.png') no-repeat;
background-size: 100%;
}
.btn {
cursor: pointer;
color: #0087ff;
align-self: flex-end;
padding: 5px 10px;
border: 1px #0087ff solid;
border-radius: 0.2rem;
}
.right {
flex: 1;
margin-left: 0.15rem;
.ability-top {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
.name {
.type {
background: #0087ff;
color: #fff;
padding: 2px 10px;
border-radius: 10px;
margin-left: 0.1rem;
}
}
}
.ability-bottom {
margin-top: 0.15rem;
// display: flex;
// justify-content: space-between;
.dec {
width: 7rem;
height: 0.44rem;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
word-break: break-all;
}
.result:hover {
color: #0058e1;
cursor: pointer;
}
}
}
}
}
}
}
}
</style>