Compare commits
17 Commits
2f38c2edae
...
14f660a532
Author | SHA1 | Date |
---|---|---|
a0049873 | 14f660a532 | |
a0049873 | 654e76e352 | |
gongjiale | ddf78f3b6b | |
wangwei | 9dd4399f80 | |
wangwei | ed499a6886 | |
gongjiale | 20e237ff6a | |
gongjiale | 23196b42a1 | |
wangwei | 6e5de0544b | |
a0049873 | 3f19913e5a | |
a0049873 | b057d781ef | |
a0049873 | 1425e5c635 | |
a0049873 | d5b2125f39 | |
a0049873 | ea66cc2228 | |
gongjiale | bc5ee885e0 | |
gongjiale | 3906b9ea0f | |
gongjiale | 31f3c10abb | |
gongjiale | 054e538477 |
|
@ -373,7 +373,7 @@ export default {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
for (const key in this.refsParseArray) {
|
for (const key in this.refsParseArray) {
|
||||||
console.log('11111111111', data)
|
console.log('11111111111', data)
|
||||||
this.$refs[key] && this.$refs[key].getDataInfo && this.$refs[key].getDataInfo(data)
|
this.$refs[key] && this.$refs[key].IntegratedServicesGetDataInfo && this.$refs[key].IntegratedServicesGetDataInfo(data)
|
||||||
}
|
}
|
||||||
const _imgObj = data.fuseAttrList.find(v => v.attrType == '服务图片') || {}
|
const _imgObj = data.fuseAttrList.find(v => v.attrType == '服务图片') || {}
|
||||||
this.imageUrl = _imgObj.attrValue
|
this.imageUrl = _imgObj.attrValue
|
||||||
|
@ -387,7 +387,7 @@ export default {
|
||||||
// })
|
// })
|
||||||
// console.log('回显2', arr2)
|
// console.log('回显2', arr2)
|
||||||
// this.abilityListObj[k] = arr2
|
// this.abilityListObj[k] = arr2
|
||||||
this.$refs['abilityAdd' + (index + 1)].getDataInfo(data)
|
this.$refs['abilityAdd' + (index + 1)].IntegratedServicesGetDataInfo(data)
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log('this.dataForm----详情-------->', this.dataForm)
|
console.log('this.dataForm----详情-------->', this.dataForm)
|
||||||
|
|
|
@ -90,7 +90,7 @@ export default {
|
||||||
areaVisible: {
|
areaVisible: {
|
||||||
handler (newVal) {
|
handler (newVal) {
|
||||||
this.getSceneArea()
|
this.getSceneArea()
|
||||||
this.getArea()
|
// this.getArea()
|
||||||
this.areaVisibleCopy = newVal
|
this.areaVisibleCopy = newVal
|
||||||
if (this.modalType == 'add' && newVal) {
|
if (this.modalType == 'add' && newVal) {
|
||||||
this.getDetail(this.dataForm)
|
this.getDetail(this.dataForm)
|
||||||
|
@ -112,7 +112,8 @@ export default {
|
||||||
|
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
areas: [], // 所属区市
|
areas: [{'name':'市南区'},{'name':'市北区'},{'name':'李沧区'},{'name':'崂山区'},{'name':'西海岸新区'},
|
||||||
|
{'name':'城阳区'},{'name':'即墨区'},{'name':'胶州市'},{'name':'平度市'},{'name':'莱西市'}], // 所属区市
|
||||||
sceneAreas: [],
|
sceneAreas: [],
|
||||||
fileUploadUrl: window.SITE_CONFIG.apiURL + '/upload',
|
fileUploadUrl: window.SITE_CONFIG.apiURL + '/upload',
|
||||||
dataForm: {
|
dataForm: {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="info-title">{{ title }}</div>
|
<div class="info-title">{{ title }}</div>
|
||||||
|
|
||||||
<el-form :inline="true">
|
<el-form :inline="true">
|
||||||
<el-form-item label="使用总数">
|
<el-form-item label="使用总数">
|
||||||
<el-input
|
<el-input
|
||||||
|
@ -140,6 +141,35 @@ export default {
|
||||||
this.dataInfo.splice(row, 1)
|
this.dataInfo.splice(row, 1)
|
||||||
},
|
},
|
||||||
getDataInfo (dataForm) {
|
getDataInfo (dataForm) {
|
||||||
|
let arr = []
|
||||||
|
if (dataForm && (dataForm.id || dataForm.id === 0)) {
|
||||||
|
if (this.title === '基础设施') {
|
||||||
|
this.count = dataForm.infrastructureCount
|
||||||
|
}
|
||||||
|
if (this.title === '组件服务') {
|
||||||
|
this.count = dataForm.componentCount
|
||||||
|
}
|
||||||
|
if (this.title === '数据资源') {
|
||||||
|
this.count = dataForm.dataSourceCount
|
||||||
|
}
|
||||||
|
|
||||||
|
const fuseAttrList = dataForm.fuseAttrList || []
|
||||||
|
const obj = fuseAttrList.find((v) => v.attrType === this.title) || {}
|
||||||
|
const attrValue = JSON.parse(obj.attrValue || '[]')
|
||||||
|
if (attrValue.length > 0) {
|
||||||
|
attrValue.map((v) => {
|
||||||
|
arr.push(v)
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
arr = []
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
arr = []
|
||||||
|
}
|
||||||
|
|
||||||
|
this.dataInfo = arr
|
||||||
|
},
|
||||||
|
IntegratedServicesGetDataInfo (dataForm) {
|
||||||
let arr = []
|
let arr = []
|
||||||
if (dataForm && (dataForm.id || dataForm.id === 0)) {
|
if (dataForm && (dataForm.id || dataForm.id === 0)) {
|
||||||
if (this.title === '基础设施') {
|
if (this.title === '基础设施') {
|
||||||
|
|
|
@ -177,6 +177,7 @@ export default {
|
||||||
},
|
},
|
||||||
// 挂接
|
// 挂接
|
||||||
addServe () {
|
addServe () {
|
||||||
|
debugger
|
||||||
// this.addOrUpdateVisible = true
|
// this.addOrUpdateVisible = true
|
||||||
this.modalType = 'add'
|
this.modalType = 'add'
|
||||||
if (this.choose === 0) {
|
if (this.choose === 0) {
|
||||||
|
|
|
@ -629,8 +629,11 @@ export default {
|
||||||
})
|
})
|
||||||
} else if (this.departmentId === 4) { // 能力使用
|
} else if (this.departmentId === 4) { // 能力使用
|
||||||
this.detailType = '能力使用'
|
this.detailType = '能力使用'
|
||||||
|
const params = {
|
||||||
|
resourceDeptName:row.resourceDeptName
|
||||||
|
}
|
||||||
this.$http
|
this.$http
|
||||||
.get('/processForm/tabilityapplication/getByApplyFlag/' + applyNumber)
|
.get('/processForm/tabilityapplication/getByApplyFlag/' + applyNumber,{params})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.data.code == 0) {
|
if (res.data.code == 0) {
|
||||||
if (res.data.data != null) {
|
if (res.data.data != null) {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
/*
|
/*
|
||||||
* @Author: hisense.wuhongjian
|
* @Author: hisense.wuhongjian
|
||||||
* @Date: 2020-07-07 16:03:23
|
* @Date: 2020-07-07 16:03:23
|
||||||
* @LastEditors: hisense.wuhongjian
|
* @LastEditors: Light
|
||||||
* @LastEditTime: 2023-01-05 09:23:54
|
* @LastEditTime: 2023-01-13 11:22:30
|
||||||
* @Description: 系统静态参数配置
|
* @Description: 系统静态参数配置
|
||||||
*/
|
*/
|
||||||
var _global = {}
|
var _global = {}
|
||||||
|
|
|
@ -379,3 +379,37 @@ export function treminders(data) {
|
||||||
data,
|
data,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 评分列表
|
||||||
|
export function pageForScore(params) {
|
||||||
|
return request({
|
||||||
|
url: '/processForm/tabilityapplication/page_for_score',
|
||||||
|
method: 'get',
|
||||||
|
params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 评分
|
||||||
|
export function resourcescoreInsert(data) {
|
||||||
|
return request({
|
||||||
|
url: '/resourcescore/insert',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 评分修改
|
||||||
|
export function resourcescoreUpdate(data) {
|
||||||
|
return request({
|
||||||
|
url: '/resourcescore/update',
|
||||||
|
method: 'put',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 评分查询
|
||||||
|
export function resourcescoreSelect(data) {
|
||||||
|
return request({
|
||||||
|
url: '/resourcescore/select/' + data,
|
||||||
|
method: 'get',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
@ -21,12 +21,14 @@
|
||||||
<a-tooltip>
|
<a-tooltip>
|
||||||
<template #title>
|
<template #title>
|
||||||
{{
|
{{
|
||||||
approveStatus === '通过'
|
approveStatus === '通过' || role
|
||||||
? item.link.value
|
? item.link.value
|
||||||
: '请申请后查看'
|
: '请申请后查看'
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
<span :class="{ 'blur-word': approveStatus !== '通过' }">
|
<span
|
||||||
|
:class="{ 'blur-word': approveStatus !== '通过' && !role }"
|
||||||
|
>
|
||||||
{{ item.link.value }}
|
{{ item.link.value }}
|
||||||
</span>
|
</span>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
<template #title>
|
<template #title>
|
||||||
{{ approveStatus === '通过' ? dataFrom.link : '请申请后查看' }}
|
{{ approveStatus === '通过' ? dataFrom.link : '请申请后查看' }}
|
||||||
</template>
|
</template>
|
||||||
<p :class="{ 'blur-word': approveStatus !== '通过' }">
|
<p :class="{ 'blur-word': approveStatus !== '通过' && !role }">
|
||||||
{{ dataFrom.link }}
|
{{ dataFrom.link }}
|
||||||
</p>
|
</p>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<div class="caseBox" v-for="(item, index) in caseList" :key="index" @click="toView(item)">
|
<div class="caseBox" v-for="(item, index) in caseList" :key="index" @click="toView(item)">
|
||||||
<a-image :preview="false" style="width:300px;height:200px" :src="
|
<a-image :preview="false" style="width:300px;height:200px" :src="
|
||||||
item.fuseAttrList.filter((val) => val.attrType == '服务图片')[0]
|
item.fuseAttrList.filter((val) => val.attrType == '服务图片')[0]
|
||||||
.attrValue
|
.attrValue || imgSrcYyzy
|
||||||
" />
|
" />
|
||||||
<h3>{{ item.name }}</h3>
|
<h3>{{ item.name }}</h3>
|
||||||
<p>发布时间 {{ item.createDate }}</p>
|
<p>发布时间 {{ item.createDate }}</p>
|
||||||
|
@ -30,7 +30,7 @@ const props = defineProps({
|
||||||
default: '组件服务',
|
default: '组件服务',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
const imgSrcYyzy = ref(require('@/assets/home/fn/cjtd.png'))
|
||||||
const orderArray = ref([
|
const orderArray = ref([
|
||||||
{
|
{
|
||||||
value: 'create_date',
|
value: 'create_date',
|
||||||
|
|
|
@ -195,7 +195,7 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
.detail-content {
|
/* .detail-content {
|
||||||
margin-top: 90px;
|
margin-top: 90px;
|
||||||
}
|
} */
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -61,6 +61,16 @@
|
||||||
>
|
>
|
||||||
重置
|
重置
|
||||||
</a-button> -->
|
</a-button> -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="order">
|
||||||
|
申请时间
|
||||||
|
<span @click="changeOrder(orderType) "
|
||||||
|
class="arrow" :class="
|
||||||
|
orderType == 'ASC'
|
||||||
|
? 'down'
|
||||||
|
: ''
|
||||||
|
"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="roomYuyue">
|
<div v-if="roomYuyue">
|
||||||
|
@ -114,6 +124,7 @@
|
||||||
{{ item.description }}
|
{{ item.description }}
|
||||||
</a-tooltip> -->
|
</a-tooltip> -->
|
||||||
</div>
|
</div>
|
||||||
|
<div style="font-size:14px;margin-top:40px">申请量:{{item.applyCount}}次</div>
|
||||||
</div>
|
</div>
|
||||||
<a-button
|
<a-button
|
||||||
style="
|
style="
|
||||||
|
@ -976,6 +987,7 @@
|
||||||
const fileList = ref([])
|
const fileList = ref([])
|
||||||
const useForm = Form.useForm
|
const useForm = Form.useForm
|
||||||
const roomInput = ref('')
|
const roomInput = ref('')
|
||||||
|
let orderType = ref('ASC')
|
||||||
const rulesRef = reactive({
|
const rulesRef = reactive({
|
||||||
bookDate: [
|
bookDate: [
|
||||||
{
|
{
|
||||||
|
@ -1059,6 +1071,7 @@
|
||||||
let roomStr = router.currentRoute.value.query.str
|
let roomStr = router.currentRoute.value.query.str
|
||||||
if (roomStr) {
|
if (roomStr) {
|
||||||
roomInput.value = roomStr
|
roomInput.value = roomStr
|
||||||
|
|
||||||
getCamera()
|
getCamera()
|
||||||
}
|
}
|
||||||
// 获取用户信息
|
// 获取用户信息
|
||||||
|
@ -1198,7 +1211,16 @@
|
||||||
tabList.value[0].content.push('无人机')
|
tabList.value[0].content.push('无人机')
|
||||||
tabList.value[0].content.push('单兵设备')
|
tabList.value[0].content.push('单兵设备')
|
||||||
}
|
}
|
||||||
|
//申请时间排序
|
||||||
|
const changeOrder = (type) => {
|
||||||
|
if(type == 'DESC'){
|
||||||
|
type='ASC'
|
||||||
|
}else{
|
||||||
|
type = 'DESC'
|
||||||
|
}
|
||||||
|
orderType.value = type
|
||||||
|
searchData()
|
||||||
|
}
|
||||||
// 单个预览,当前点击数据
|
// 单个预览,当前点击数据
|
||||||
const rowClickData = ref(null)
|
const rowClickData = ref(null)
|
||||||
// 打开视频预览
|
// 打开视频预览
|
||||||
|
@ -1268,6 +1290,7 @@
|
||||||
page: roomPage.value,
|
page: roomPage.value,
|
||||||
limit: roomLimit.value,
|
limit: roomLimit.value,
|
||||||
roomName: roomInput.value,
|
roomName: roomInput.value,
|
||||||
|
|
||||||
}
|
}
|
||||||
getYuyue(query).then(({ data: res }) => {
|
getYuyue(query).then(({ data: res }) => {
|
||||||
dataRoom.value = res.data.list
|
dataRoom.value = res.data.list
|
||||||
|
@ -1584,6 +1607,8 @@
|
||||||
name: roomInput.value, //会客厅名称
|
name: roomInput.value, //会客厅名称
|
||||||
page: roomPage.value, //页码
|
page: roomPage.value, //页码
|
||||||
limit: roomLimit.value, //每页条数
|
limit: roomLimit.value, //每页条数
|
||||||
|
orderField: "applyCount",
|
||||||
|
orderType: orderType.value
|
||||||
}
|
}
|
||||||
getRoomSearch(query).then(({ data: res }) => {
|
getRoomSearch(query).then(({ data: res }) => {
|
||||||
roomList.value = res.data.list
|
roomList.value = res.data.list
|
||||||
|
@ -2785,8 +2810,22 @@
|
||||||
|
|
||||||
.roomSearch {
|
.roomSearch {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
.order{
|
||||||
|
margin-left: 629px;
|
||||||
|
.arrow {
|
||||||
|
display: inline-block;
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
background: url('~@/assets/newHome/arrow.png');
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.down {
|
||||||
|
background: url('~@/assets/newHome/down.png');
|
||||||
|
margin-top: 6px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.searchInput {
|
.searchInput {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-right: 0.2rem;
|
margin-right: 0.2rem;
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
<a-input-search v-model:value="searchValue" placeholder="请输入关键字" enter-button="搜索" size="large"
|
<a-input-search v-model:value="searchValue" placeholder="请输入关键字" enter-button="搜索" size="large"
|
||||||
@search="getIntegrationList" @change="onSearch" class="resultListSearchInput" />
|
@search="getIntegrationList" @change="onSearch" class="resultListSearchInput" />
|
||||||
<i class="searchImg" aria-hidden="true"></i>
|
<i class="searchImg" aria-hidden="true"></i>
|
||||||
<!-- <button class="button-reset" @click="resetAction()">重置</button> -->
|
<button class="button-reset" @click="resetAction()">重置</button>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
|
@ -119,8 +119,8 @@ export default defineComponent({
|
||||||
// 分页
|
// 分页
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
const currentPage = ref(1)
|
const currentPage = ref(1)
|
||||||
const currentPageSize = ref(10)
|
const currentPageSize = ref(9)
|
||||||
const pageSizeOptions = ref(['2', '5', '10', '20', '50'])
|
const pageSizeOptions = ref(['3', '6', '9', '18', '27'])
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const select = router.currentRoute.value.query.select
|
const select = router.currentRoute.value.query.select
|
||||||
const returnType = router.currentRoute.value.query.returnType
|
const returnType = router.currentRoute.value.query.returnType
|
||||||
|
@ -156,7 +156,8 @@ export default defineComponent({
|
||||||
}
|
}
|
||||||
let cityOrArea = ref(0)//0市级 1基层
|
let cityOrArea = ref(0)//0市级 1基层
|
||||||
let senses = ref([])//场景领域
|
let senses = ref([])//场景领域
|
||||||
let areas = ref([])//区市
|
let areas = ref([{'name':'市南区'},{'name':'市北区'},{'name':'李沧区'},{'name':'崂山区'},{'name':'西海岸新区'},
|
||||||
|
{'name':'城阳区'},{'name':'即墨区'},{'name':'胶州市'},{'name':'平度市'},{'name':'莱西市'}])//区市
|
||||||
let clickSensesList = ref([])//多选场景领域
|
let clickSensesList = ref([])//多选场景领域
|
||||||
let clickAreasList = ref([])//多选区域领域
|
let clickAreasList = ref([])//多选区域领域
|
||||||
const searchResultListDom = ref(null)
|
const searchResultListDom = ref(null)
|
||||||
|
@ -170,7 +171,8 @@ export default defineComponent({
|
||||||
// 搜索名称
|
// 搜索名称
|
||||||
searchValue.value = storageSearchInfo.name
|
searchValue.value = storageSearchInfo.name
|
||||||
currentPage.value = storageSearchInfo.page
|
currentPage.value = storageSearchInfo.page
|
||||||
currentPageSize.value = storageSearchInfo.limit
|
// currentPageSize.value = storageSearchInfo.limit
|
||||||
|
currentPageSize.value = 9
|
||||||
paramsGetResources.limit = storageSearchInfo.limit
|
paramsGetResources.limit = storageSearchInfo.limit
|
||||||
paramsGetResources.page = storageSearchInfo.page
|
paramsGetResources.page = storageSearchInfo.page
|
||||||
paramsGetResources.type = storageSearchInfo.type
|
paramsGetResources.type = storageSearchInfo.type
|
||||||
|
@ -230,12 +232,14 @@ export default defineComponent({
|
||||||
searchValue.value = ''
|
searchValue.value = ''
|
||||||
// 分页
|
// 分页
|
||||||
currentPage.value = 1
|
currentPage.value = 1
|
||||||
currentPageSize.value = 10
|
currentPageSize.value = 9
|
||||||
// 重置查询条件
|
// 重置查询条件
|
||||||
paramsGetResources.page = 1
|
paramsGetResources.page = 1
|
||||||
paramsGetResources.limit = 10
|
paramsGetResources.limit = 9
|
||||||
paramsGetResources.orderField = 'create_date'
|
paramsGetResources.orderField = 'create_date'
|
||||||
paramsGetResources.orderType = 'DESC'
|
paramsGetResources.orderType = 'DESC'
|
||||||
|
clickSensesList.value=[]
|
||||||
|
clickAreasList.value=[]
|
||||||
mybus.emit('resetAction', {
|
mybus.emit('resetAction', {
|
||||||
type: titleName.value[number.value].name,
|
type: titleName.value[number.value].name,
|
||||||
})
|
})
|
||||||
|
@ -254,11 +258,11 @@ export default defineComponent({
|
||||||
const params1 = {
|
const params1 = {
|
||||||
pid: '250000'
|
pid: '250000'
|
||||||
}
|
}
|
||||||
getRegion(params1).then(
|
// getRegion(params1).then(
|
||||||
(res) => {
|
// (res) => {
|
||||||
|
|
||||||
areas.value = res.data.data
|
// areas.value = res.data.data
|
||||||
})
|
// })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取融合服务列表
|
// 获取融合服务列表
|
||||||
|
@ -622,7 +626,7 @@ export default defineComponent({
|
||||||
//color: #0087ff;
|
//color: #0087ff;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
line-height: 0.32rem;
|
line-height: 0.32rem;
|
||||||
margin-left: 2.5rem;
|
margin-left: 1.74rem;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -660,7 +664,7 @@ export default defineComponent({
|
||||||
.pagination {
|
.pagination {
|
||||||
background: #f3f5f9;
|
background: #f3f5f9;
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
padding-bottom: 23px;
|
padding-bottom: 23px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -297,7 +297,7 @@
|
||||||
const returnType = router.currentRoute.value.query.type
|
const returnType = router.currentRoute.value.query.type
|
||||||
const districtType = router.currentRoute.value.query.districtType
|
const districtType = router.currentRoute.value.query.districtType
|
||||||
const hiddenBackFlag = router.currentRoute.value.query.hiddenBackFlag
|
const hiddenBackFlag = router.currentRoute.value.query.hiddenBackFlag
|
||||||
const imgSrcYyzy = ref(require('@/assets/newHome/empty.png'))
|
const imgSrcYyzy = ref(require('@/assets/home/fn/cjtd.png'))
|
||||||
document.documentElement.style.transition = 'all 0.3s ease'
|
document.documentElement.style.transition = 'all 0.3s ease'
|
||||||
document.documentElement.scrollTop = 0
|
document.documentElement.scrollTop = 0
|
||||||
document.body.style.transition = 'all 0.3s ease'
|
document.body.style.transition = 'all 0.3s ease'
|
||||||
|
|
|
@ -0,0 +1,711 @@
|
||||||
|
<template>
|
||||||
|
<div class="on-the-right-side-of-the-list">
|
||||||
|
<div class="title" style="margin-bottom: 0.2rem">能力评价</div>
|
||||||
|
<!--类型-->
|
||||||
|
<div class="top-title" v-show="chooseTab == 0">
|
||||||
|
<div
|
||||||
|
v-for="(item, index) in typeList"
|
||||||
|
:key="index"
|
||||||
|
:class="index === typeIndex ? 'sel' : ''"
|
||||||
|
@click="changeType(item, index)"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="photo"
|
||||||
|
:style="{
|
||||||
|
backgroundImage: `url(${item.photo}) `,
|
||||||
|
backgroundSize: 'cover',
|
||||||
|
}"
|
||||||
|
></span>
|
||||||
|
<span>
|
||||||
|
{{ item.name }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-if="contentList.data.length > 0">
|
||||||
|
<div class="content">
|
||||||
|
<div
|
||||||
|
class="content-body"
|
||||||
|
v-for="item in contentList.data"
|
||||||
|
:key="item.index"
|
||||||
|
>
|
||||||
|
<a-tooltip>
|
||||||
|
<template #title>
|
||||||
|
{{ item.system }}
|
||||||
|
</template>
|
||||||
|
<div class="content-body-title">
|
||||||
|
<span>{{ item.system }}</span>
|
||||||
|
<div></div>
|
||||||
|
</div>
|
||||||
|
</a-tooltip>
|
||||||
|
<div class="description">
|
||||||
|
<span>描述:{{ item.description || '--' }}</span>
|
||||||
|
<div></div>
|
||||||
|
</div>
|
||||||
|
<div class="content-body-content" style="display: flex">
|
||||||
|
<div style="margin-right: 20px">
|
||||||
|
申请日期:{{ item.createDate }}
|
||||||
|
</div>
|
||||||
|
<div style="margin-right: 20px">类型:{{ item.resourceTYpe }}</div>
|
||||||
|
<div>提供单位:{{ item.resourceDept }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="button-box">
|
||||||
|
<div class="button" @click="showDetail(item)">查看详情</div>
|
||||||
|
<div
|
||||||
|
class="button"
|
||||||
|
@click="showEvaluate(item, '评价')"
|
||||||
|
v-if="typeName === '待评价' && item.approveStatus === '通过'"
|
||||||
|
>
|
||||||
|
评价
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="button"
|
||||||
|
@click="showEvaluate(item, '修改')"
|
||||||
|
v-else-if="typeName === '已评价'"
|
||||||
|
>
|
||||||
|
修改
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom">
|
||||||
|
<a-pagination
|
||||||
|
size="small"
|
||||||
|
pageSize="4"
|
||||||
|
:total="total"
|
||||||
|
:current="page"
|
||||||
|
:showTotal="(total) => `共 ${total} 项`"
|
||||||
|
@change="handleCurrentChange"
|
||||||
|
:showSizeChanger="false"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="height: 640px; background: #fff; padding-top: 200px" v-else>
|
||||||
|
<a-empty />
|
||||||
|
</div>
|
||||||
|
<a-modal
|
||||||
|
v-model:visible="visible"
|
||||||
|
width="30%"
|
||||||
|
:title="type"
|
||||||
|
@ok="handleOk"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
:maskClosable="false"
|
||||||
|
>
|
||||||
|
<div class="modal">
|
||||||
|
<a-form
|
||||||
|
ref="formRef"
|
||||||
|
:model="fromData"
|
||||||
|
name="formRef"
|
||||||
|
:label-col="{ span: 6 }"
|
||||||
|
:wrapper-col="{ span: 18 }"
|
||||||
|
autocomplete="off"
|
||||||
|
>
|
||||||
|
<a-form-item
|
||||||
|
label="综合评价"
|
||||||
|
name="score"
|
||||||
|
:rules="[{ required: true, message: '请填写综合评价!' }]"
|
||||||
|
>
|
||||||
|
<a-rate v-model:value="fromData.score" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
v-if="resourceTYpe === '应用资源'"
|
||||||
|
label="产品质量"
|
||||||
|
name="qualityScore"
|
||||||
|
:rules="[{ required: true, message: '请填写产品质量!' }]"
|
||||||
|
>
|
||||||
|
<a-rate v-model:value="fromData.qualityScore" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
v-else-if="resourceTYpe === '智能算法'"
|
||||||
|
label="算法准确度"
|
||||||
|
name="algorithmExactScore"
|
||||||
|
:rules="[{ required: true, message: '请填写算法准确度!' }]"
|
||||||
|
>
|
||||||
|
<a-rate v-model:value="fromData.algorithmExactScore" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
v-else
|
||||||
|
label="组件服务质量"
|
||||||
|
name="assemblyQualityScore"
|
||||||
|
:rules="[{ required: true, message: '请填写组件服务质量!' }]"
|
||||||
|
>
|
||||||
|
<a-rate v-model:value="fromData.assemblyQualityScore" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="评价内容"
|
||||||
|
name="comment"
|
||||||
|
:rules="[{ required: true, message: '请填写评价内容!' }]"
|
||||||
|
>
|
||||||
|
<a-textarea
|
||||||
|
v-model:value="fromData.comment"
|
||||||
|
placeholder="请输入评价内容"
|
||||||
|
:auto-size="{ minRows: 3, maxRows: 3 }"
|
||||||
|
/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
<!-- <div>
|
||||||
|
<span>综合评价</span>
|
||||||
|
<a-rate v-model:value="fromData.score" />
|
||||||
|
</div>
|
||||||
|
<div v-if="resourceTYpe === '应用资源'">
|
||||||
|
<span>产品质量</span>
|
||||||
|
<a-rate v-model:value="fromData.qualityScore" />
|
||||||
|
</div>
|
||||||
|
<div v-else-if="resourceTYpe === '智能算法'">
|
||||||
|
<span>算法准确度</span>
|
||||||
|
<a-rate v-model:value="fromData.algorithmExactScore" />
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<span>组件服务质量</span>
|
||||||
|
<a-rate v-model:value="fromData.assemblyQualityScore" />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span>评价内容</span>
|
||||||
|
<a-textarea
|
||||||
|
v-model:value="fromData.comment"
|
||||||
|
placeholder="请输入评价内容"
|
||||||
|
:auto-size="{ minRows: 3, maxRows: 3 }"
|
||||||
|
/>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
</a-modal>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { onMounted, reactive, ref, defineProps } from 'vue'
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
|
import { getUserInfo } from '@/api/user'
|
||||||
|
import {
|
||||||
|
pageForScore,
|
||||||
|
resourcescoreInsert,
|
||||||
|
resourcescoreUpdate,
|
||||||
|
resourcescoreSelect,
|
||||||
|
} from '@/api/personalCenter'
|
||||||
|
import { message } from 'ant-design-vue'
|
||||||
|
import mybus from '@/myplugins/mybus'
|
||||||
|
import * as moment from 'moment'
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
tabTypeName: { type: String, default: '' },
|
||||||
|
})
|
||||||
|
const router = useRouter()
|
||||||
|
const userName = ref('')
|
||||||
|
getUserInfo().then((res) => {
|
||||||
|
userName.value = res.data.data.username
|
||||||
|
})
|
||||||
|
const formState = ref({ name: '' })
|
||||||
|
//选择展示的Tab页
|
||||||
|
let chooseTab = ref(0)
|
||||||
|
let typeList = ref([
|
||||||
|
{
|
||||||
|
photo: require('@/assets/newHome/nengli1.png'),
|
||||||
|
name: '待评价',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
photo: require('@/assets/newHome/nengli2.png'),
|
||||||
|
name: '已评价',
|
||||||
|
},
|
||||||
|
])
|
||||||
|
const contentList = reactive({ data: [] })
|
||||||
|
let tabIndex = ref(0)
|
||||||
|
let typeIndex = ref(0)
|
||||||
|
let typeName = ref('待评价')
|
||||||
|
|
||||||
|
if (router.currentRoute.value.query.tabTypeName) {
|
||||||
|
typeName.value = router.currentRoute.value.query.tabTypeName
|
||||||
|
}
|
||||||
|
const numFlag = ref(true)
|
||||||
|
|
||||||
|
const num = ref({
|
||||||
|
finished: 0,
|
||||||
|
unfinished: 0,
|
||||||
|
})
|
||||||
|
const total = ref('')
|
||||||
|
const showType = ref('')
|
||||||
|
const page = ref('1')
|
||||||
|
const ended = ref('')
|
||||||
|
|
||||||
|
// 选择类型
|
||||||
|
const changeType = (item, index) => {
|
||||||
|
contentList.data = []
|
||||||
|
formState.value.name = ''
|
||||||
|
numFlag.value = true
|
||||||
|
num.value = []
|
||||||
|
showType.value = ''
|
||||||
|
tabIndex.value = 0
|
||||||
|
ended.value = ''
|
||||||
|
page.value = 1
|
||||||
|
typeIndex.value = index
|
||||||
|
typeName.value = item.name
|
||||||
|
getApplyList()
|
||||||
|
}
|
||||||
|
|
||||||
|
const getApplyList = () => {
|
||||||
|
pageForScore({
|
||||||
|
page: page.value,
|
||||||
|
limit: 4,
|
||||||
|
score: typeName.value === '已评价',
|
||||||
|
}).then((res) => {
|
||||||
|
console.log('评分列表', res.data.data)
|
||||||
|
contentList.data = res.data.data.list
|
||||||
|
total.value = res.data.data.total
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleCurrentChange = (val) => {
|
||||||
|
console.log('切换', val)
|
||||||
|
page.value = val
|
||||||
|
getApplyList()
|
||||||
|
}
|
||||||
|
|
||||||
|
const showDetail = (item) => {
|
||||||
|
if (typeName.value === '待评价' && item.approveStatus !== '通过') {
|
||||||
|
mybus.emit('selectMenu', {
|
||||||
|
title: '我的申请',
|
||||||
|
img: require('@/assets/personalCenter/apply.png'),
|
||||||
|
imgActive: require('@/assets/personalCenter/applyactive.png'),
|
||||||
|
key: 'apply',
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
console.log(item)
|
||||||
|
const detailPage = router.resolve({
|
||||||
|
path: '/details', // 跳转的页面路由
|
||||||
|
query: {
|
||||||
|
id: item.resourceId,
|
||||||
|
hiddenBackFlag: true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
window.open(detailPage.href, '_blank')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 评分
|
||||||
|
const formRef = ref()
|
||||||
|
const visible = ref(false)
|
||||||
|
const type = ref('')
|
||||||
|
const resourceTYpe = ref('')
|
||||||
|
const fromData = ref({
|
||||||
|
resourceId: '',
|
||||||
|
score: null,
|
||||||
|
qualityScore: null,
|
||||||
|
algorithmExactScore: null,
|
||||||
|
assemblyQualityScore: null,
|
||||||
|
comment: '',
|
||||||
|
})
|
||||||
|
const showEvaluate = (item, str) => {
|
||||||
|
type.value = str
|
||||||
|
resourceTYpe.value = item.resourceTYpe
|
||||||
|
fromData.value.resourceId = item.resourceId
|
||||||
|
if (str === '修改') {
|
||||||
|
resourcescoreSelect(item.resourceId).then((res) => {
|
||||||
|
fromData.value.id = res.data.data.id
|
||||||
|
fromData.value.score = res.data.data.score
|
||||||
|
fromData.value.qualityScore = res.data.data.qualityScore
|
||||||
|
fromData.value.algorithmExactScore = res.data.data.algorithmExactScore
|
||||||
|
fromData.value.assemblyQualityScore = res.data.data.assemblyQualityScore
|
||||||
|
fromData.value.comment = res.data.data.comment
|
||||||
|
visible.value = true
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
visible.value = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const handleOk = () => {
|
||||||
|
console.log(fromData.value, type.value)
|
||||||
|
formRef.value.validate().then(() => {
|
||||||
|
if (type.value === '评价') {
|
||||||
|
resourcescoreInsert(fromData.value).then((res) => {
|
||||||
|
if (res.data.code != 0) {
|
||||||
|
message.warning('评价失败!')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
message.success('评价成功!')
|
||||||
|
handleCancel()
|
||||||
|
page.value = 1
|
||||||
|
getApplyList()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
resourcescoreUpdate(fromData.value).then((res) => {
|
||||||
|
if (res.data.code != 0) {
|
||||||
|
message.warning('评价失败!')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
message.success('评价成功!')
|
||||||
|
handleCancel()
|
||||||
|
page.value = 1
|
||||||
|
getApplyList()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const handleCancel = () => {
|
||||||
|
visible.value = false
|
||||||
|
fromData.value = {
|
||||||
|
resourceId: '',
|
||||||
|
score: null,
|
||||||
|
qualityScore: null,
|
||||||
|
algorithmExactScore: null,
|
||||||
|
assemblyQualityScore: null,
|
||||||
|
comment: '',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onMounted(() => {
|
||||||
|
getApplyList()
|
||||||
|
|
||||||
|
if (props.tabTypeName) {
|
||||||
|
let _index = typeList.value.findIndex((v) => v == props.tabTypeName)
|
||||||
|
changeType(props.tabTypeName, _index != -1 ? _index : 0)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.top-title {
|
||||||
|
background: #fff;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 18px;
|
||||||
|
font-family: 'Alibaba PuHuiTi';
|
||||||
|
color: #000000;
|
||||||
|
line-height: 0.34rem;
|
||||||
|
margin-bottom: 0.2rem;
|
||||||
|
|
||||||
|
.photo {
|
||||||
|
display: inline-block;
|
||||||
|
height: 28px;
|
||||||
|
width: 28px;
|
||||||
|
margin-right: 0.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
div {
|
||||||
|
padding: 0 0.4rem;
|
||||||
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div:hover {
|
||||||
|
color: #0058e1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sel {
|
||||||
|
font-weight: 600;
|
||||||
|
color: #0058e1;
|
||||||
|
border-bottom: 0.024rem solid #0058e1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.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 {
|
||||||
|
background: #fff;
|
||||||
|
padding: 20px 0px 30px 20px;
|
||||||
|
position: absolute;
|
||||||
|
width: 1087px;
|
||||||
|
height: 810px;
|
||||||
|
top: 0px;
|
||||||
|
display: flex;
|
||||||
|
margin-top: 20px;
|
||||||
|
flex-direction: column;
|
||||||
|
font-size: 16px;
|
||||||
|
justify-content: left;
|
||||||
|
|
||||||
|
.second-title {
|
||||||
|
background: #f4f5f8;
|
||||||
|
margin-left: 100px;
|
||||||
|
margin-top: 30px;
|
||||||
|
// margin-bottom: 22px;
|
||||||
|
font-size: 18px;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: center;
|
||||||
|
background: #fff;
|
||||||
|
width: 820px;
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
display: table;
|
||||||
|
border-top: 1px solid #d9d9d9;
|
||||||
|
border-bottom: 1px solid #d9d9d9;
|
||||||
|
}
|
||||||
|
.second-title div {
|
||||||
|
border-right: 1px solid #d9d9d9;
|
||||||
|
}
|
||||||
|
.second-title div:first-child {
|
||||||
|
border-left: 1px solid #d9d9d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chooseStyle {
|
||||||
|
display: table-cell;
|
||||||
|
width: 200px;
|
||||||
|
color: #fff;
|
||||||
|
border: 1px solid #0058e1;
|
||||||
|
background-color: #0058e1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.noChooseStyle {
|
||||||
|
display: table-cell;
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 20px;
|
||||||
|
color: #000000;
|
||||||
|
font-family: 'Alibaba PuHuiTi';
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sousuokuang {
|
||||||
|
margin: 20px 0px 21px 0px;
|
||||||
|
|
||||||
|
.ant-input-search {
|
||||||
|
max-width: 490px;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.ant-input) {
|
||||||
|
width: 400px;
|
||||||
|
height: 36px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #b2b2b2;
|
||||||
|
background: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.ant-input-group-addon) {
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 10px;
|
||||||
|
|
||||||
|
.ant-input-search-button {
|
||||||
|
width: 80px;
|
||||||
|
height: 36px;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab {
|
||||||
|
display: flex;
|
||||||
|
font-size: 16px;
|
||||||
|
margin-left: 16px;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
padding-top: 24px;
|
||||||
|
//margin-left: 16px;
|
||||||
|
border-bottom: 1px solid #0058e1;
|
||||||
|
|
||||||
|
div {
|
||||||
|
background: #eeeff1;
|
||||||
|
|
||||||
|
height: 40px;
|
||||||
|
width: 180px;
|
||||||
|
line-height: 40px;
|
||||||
|
border-radius: 2px;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
color: #212121;
|
||||||
|
border-left: 1px solid #dddee1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabclass {
|
||||||
|
background: #fff;
|
||||||
|
border-left: 1px solid #0087ff;
|
||||||
|
border-right: 1px solid #0087ff;
|
||||||
|
border-top: 1px solid #0087ff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-cloud {
|
||||||
|
padding: 0px 10px;
|
||||||
|
overflow-y: scroll;
|
||||||
|
height: 658px;
|
||||||
|
|
||||||
|
background: #fff;
|
||||||
|
margin-left: 16px;
|
||||||
|
.content-cloud-body {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
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 {
|
||||||
|
margin-left: 16px;
|
||||||
|
padding-left: 12px;
|
||||||
|
padding-right: 10px;
|
||||||
|
height: 610px;
|
||||||
|
overflow-y: scroll;
|
||||||
|
background: #fff;
|
||||||
|
.content-body {
|
||||||
|
padding-bottom: 10px;
|
||||||
|
padding-top: 10px;
|
||||||
|
margin-right: 10px;
|
||||||
|
height: 130px;
|
||||||
|
border-bottom: #cccccc 1px solid;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.content-body-title {
|
||||||
|
min-width: 100px;
|
||||||
|
max-width: 900px;
|
||||||
|
width: fit-content;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #333333;
|
||||||
|
font-weight: 600;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.description {
|
||||||
|
min-width: 100px;
|
||||||
|
max-width: 900px;
|
||||||
|
font-size: 14px;
|
||||||
|
height: 40px;
|
||||||
|
overflow: hidden;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-body-content {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-right: 40px;
|
||||||
|
/* width: 720px; */
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-body-content-son {
|
||||||
|
line-height: 16px;
|
||||||
|
font-size: 12px;
|
||||||
|
width: 100%;
|
||||||
|
// text-overflow: -o-ellipsis-lastline;
|
||||||
|
// overflow: hidden;
|
||||||
|
// text-overflow: ellipsis;
|
||||||
|
// display: -webkit-box;
|
||||||
|
// -webkit-line-clamp: 3;
|
||||||
|
// -webkit-box-orient: vertical;
|
||||||
|
display: flex;
|
||||||
|
color: #999999;
|
||||||
|
|
||||||
|
span {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 1;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
max-width: 8.1rem;
|
||||||
|
line-height: 24px;
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-body-bottom {
|
||||||
|
display: flex;
|
||||||
|
color: #cccccc;
|
||||||
|
font-size: 12px;
|
||||||
|
|
||||||
|
div:first-child {
|
||||||
|
margin-right: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 30px;
|
||||||
|
right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-box {
|
||||||
|
position: absolute;
|
||||||
|
right: 20px;
|
||||||
|
top: 10px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
width: 80px;
|
||||||
|
height: 32px;
|
||||||
|
margin: 5px 0;
|
||||||
|
background: #0058e1;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #fff;
|
||||||
|
border-radius: 1px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 32px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buttonAgree {
|
||||||
|
background-color: #49c988;
|
||||||
|
}
|
||||||
|
|
||||||
|
.backToFirst {
|
||||||
|
background-color: rgb(214, 91, 91);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.ant-badge-count) {
|
||||||
|
top: -5px;
|
||||||
|
right: -10px;
|
||||||
|
}
|
||||||
|
.modal {
|
||||||
|
& > div {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
& > span {
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
textarea {
|
||||||
|
margin-left: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -1,154 +1,180 @@
|
||||||
<template>
|
<template>
|
||||||
<div id="aside-menu-container">
|
<div id="aside-menu-container">
|
||||||
<a-menu id="aside-menu" v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" mode="inline">
|
<a-menu
|
||||||
<a-menu-item class="aside-menu-item" v-for="item in menuList" :key="item.key" @click="handleClick(item)">
|
id="aside-menu"
|
||||||
<i class="icon" :style="{
|
v-model:openKeys="openKeys"
|
||||||
backgroundImage:
|
v-model:selectedKeys="selectedKeys"
|
||||||
selectedKeys == item.key
|
mode="inline"
|
||||||
? 'url(' + item.imgActive + ')'
|
>
|
||||||
: 'url(' + item.img + ')',
|
<a-menu-item
|
||||||
}"></i>
|
class="aside-menu-item"
|
||||||
|
v-for="item in menuList"
|
||||||
|
:key="item.key"
|
||||||
|
@click="handleClick(item)"
|
||||||
|
>
|
||||||
|
<i
|
||||||
|
class="icon"
|
||||||
|
:style="{
|
||||||
|
backgroundImage:
|
||||||
|
selectedKeys == item.key
|
||||||
|
? 'url(' + item.imgActive + ')'
|
||||||
|
: 'url(' + item.img + ')',
|
||||||
|
}"
|
||||||
|
></i>
|
||||||
<span>{{ item.title }}</span>
|
<span>{{ item.title }}</span>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { defineComponent, ref, onMounted } from 'vue'
|
import { defineComponent, ref, onMounted, onBeforeUnmount } from 'vue'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: {},
|
components: {},
|
||||||
setup() {
|
setup() {
|
||||||
const itShowXiHaiAn = whoShow.itShowXiHaiAn;
|
const itShowXiHaiAn = whoShow.itShowXiHaiAn
|
||||||
const car = {
|
const car = {
|
||||||
title: '申购车',
|
title: '申购车',
|
||||||
img: require('@/assets/personalCenter/demand.png'),
|
|
||||||
imgActive: require('@/assets/personalCenter/demandactive.png'),
|
|
||||||
key: 'PurchaseVehicle',
|
|
||||||
}
|
|
||||||
const apply = {
|
|
||||||
title: '我的申请',
|
|
||||||
img: require('@/assets/personalCenter/apply.png'),
|
|
||||||
imgActive: require('@/assets/personalCenter/applyactive.png'),
|
|
||||||
key: 'apply',
|
|
||||||
}
|
|
||||||
const push = {
|
|
||||||
title: '我的发布',
|
|
||||||
img: require('@/assets/personalCenter/push.png'),
|
|
||||||
imgActive: require('@/assets/personalCenter/pushactive.png'),
|
|
||||||
key: 'push',
|
|
||||||
}
|
|
||||||
let menuList = [
|
|
||||||
car,
|
|
||||||
apply,
|
|
||||||
push,
|
|
||||||
{
|
|
||||||
title: '我的收藏',
|
|
||||||
img: require('@/assets/personalCenter/collect.png'),
|
|
||||||
imgActive: require('@/assets/personalCenter/collectactive.png'),
|
|
||||||
key: 'collect',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '我的浏览',
|
|
||||||
img: require('@/assets/personalCenter/recent.png'),
|
|
||||||
imgActive: require('@/assets/personalCenter/recentactive.png'),
|
|
||||||
key: 'recent',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '我的需求',
|
|
||||||
img: require('@/assets/personalCenter/demand.png'),
|
img: require('@/assets/personalCenter/demand.png'),
|
||||||
imgActive: require('@/assets/personalCenter/demandactive.png'),
|
imgActive: require('@/assets/personalCenter/demandactive.png'),
|
||||||
key: 'demand',
|
key: 'PurchaseVehicle',
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '我的评论',
|
|
||||||
img: require('@/assets/personalCenter/remark.png'),
|
|
||||||
imgActive: require('@/assets/personalCenter/remarkactive.png'),
|
|
||||||
key: 'remark',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
// 西海岸
|
|
||||||
if (itShowXiHaiAn) {
|
|
||||||
menuList = [car, apply, push]
|
|
||||||
}
|
|
||||||
const selectedKeys = ref(['apply'])
|
|
||||||
|
|
||||||
const type = JSON.parse(window.sessionStorage.getItem('type'))
|
|
||||||
if (type) {
|
|
||||||
selectedKeys.value = [type]
|
|
||||||
console.log('selectedKeys------------>', selectedKeys);
|
|
||||||
|
|
||||||
}
|
|
||||||
const handleClick = (item) => {
|
|
||||||
console.log('click', item)
|
|
||||||
mybus.emit('tabsChange', item)
|
|
||||||
}
|
|
||||||
|
|
||||||
onMounted(() => {
|
|
||||||
if (type) {
|
|
||||||
console.log('type---------->', type)
|
|
||||||
let _obj = menuList.find(v => v.key == type)
|
|
||||||
handleClick(_obj)
|
|
||||||
} else {
|
|
||||||
if (menuList[1]) {
|
|
||||||
handleClick(menuList[1])
|
|
||||||
} else {
|
|
||||||
handleClick(menuList[0])
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
const apply = {
|
||||||
|
title: '我的申请',
|
||||||
|
img: require('@/assets/personalCenter/apply.png'),
|
||||||
|
imgActive: require('@/assets/personalCenter/applyactive.png'),
|
||||||
|
key: 'apply',
|
||||||
|
}
|
||||||
|
const push = {
|
||||||
|
title: '我的发布',
|
||||||
|
img: require('@/assets/personalCenter/push.png'),
|
||||||
|
imgActive: require('@/assets/personalCenter/pushactive.png'),
|
||||||
|
key: 'push',
|
||||||
|
}
|
||||||
|
let menuList = [
|
||||||
|
car,
|
||||||
|
apply,
|
||||||
|
{
|
||||||
|
title: '能力评价',
|
||||||
|
img: require('@/assets/personalCenter/remark.png'),
|
||||||
|
imgActive: require('@/assets/personalCenter/remarkactive.png'),
|
||||||
|
key: 'evaluate',
|
||||||
|
},
|
||||||
|
push,
|
||||||
|
{
|
||||||
|
title: '我的收藏',
|
||||||
|
img: require('@/assets/personalCenter/collect.png'),
|
||||||
|
imgActive: require('@/assets/personalCenter/collectactive.png'),
|
||||||
|
key: 'collect',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '我的浏览',
|
||||||
|
img: require('@/assets/personalCenter/recent.png'),
|
||||||
|
imgActive: require('@/assets/personalCenter/recentactive.png'),
|
||||||
|
key: 'recent',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '我的需求',
|
||||||
|
img: require('@/assets/personalCenter/demand.png'),
|
||||||
|
imgActive: require('@/assets/personalCenter/demandactive.png'),
|
||||||
|
key: 'demand',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '我的评论',
|
||||||
|
img: require('@/assets/personalCenter/remark.png'),
|
||||||
|
imgActive: require('@/assets/personalCenter/remarkactive.png'),
|
||||||
|
key: 'remark',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
// 西海岸
|
||||||
|
if (itShowXiHaiAn) {
|
||||||
|
menuList = [car, apply, push]
|
||||||
|
}
|
||||||
|
const selectedKeys = ref(['apply'])
|
||||||
|
|
||||||
return {
|
const type = JSON.parse(window.sessionStorage.getItem('type'))
|
||||||
menuList,
|
if (type) {
|
||||||
selectedKeys,
|
selectedKeys.value = [type]
|
||||||
handleClick,
|
console.log('selectedKeys------------>', selectedKeys)
|
||||||
}
|
}
|
||||||
},
|
const handleClick = (item) => {
|
||||||
})
|
console.log('click', item)
|
||||||
|
mybus.emit('tabsChange', item)
|
||||||
|
}
|
||||||
|
|
||||||
|
mybus.on('selectMenu', (obj) => {
|
||||||
|
selectedKeys.value = [obj.key]
|
||||||
|
console.log('selectMenu', obj)
|
||||||
|
handleClick(obj)
|
||||||
|
})
|
||||||
|
onBeforeUnmount(() => {
|
||||||
|
mybus.off('selectMenu')
|
||||||
|
})
|
||||||
|
onMounted(() => {
|
||||||
|
if (type) {
|
||||||
|
console.log('type---------->', type)
|
||||||
|
let _obj = menuList.find((v) => v.key == type)
|
||||||
|
handleClick(_obj)
|
||||||
|
} else {
|
||||||
|
if (menuList[1]) {
|
||||||
|
handleClick(menuList[1])
|
||||||
|
} else {
|
||||||
|
handleClick(menuList[0])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return {
|
||||||
|
menuList,
|
||||||
|
selectedKeys,
|
||||||
|
handleClick,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
#aside-menu-container {
|
#aside-menu-container {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
height: 790px;
|
height: 790px;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
|
|
||||||
:deep(.ant-menu-item) {
|
:deep(.ant-menu-item) {
|
||||||
height: 60px;
|
height: 60px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
color: #333;
|
color: #333;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: #0087ff;
|
color: #0087ff;
|
||||||
|
background-color: #edf4fc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.ant-menu-title-content) {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: block;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
background: no-repeat center;
|
||||||
|
margin-right: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.ant-menu-item-selected) {
|
||||||
background-color: #edf4fc;
|
background-color: #edf4fc;
|
||||||
|
color: #0087ff;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-menu-title-content) {
|
#aside-menu-container::-webkit-scrollbar {
|
||||||
display: flex;
|
width: 0 !important;
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
.icon {
|
|
||||||
display: block;
|
|
||||||
width: 24px;
|
|
||||||
height: 24px;
|
|
||||||
background: no-repeat center;
|
|
||||||
margin-right: 30px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-menu-item-selected) {
|
|
||||||
background-color: #edf4fc;
|
|
||||||
color: #0087ff;
|
|
||||||
|
|
||||||
&::after {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#aside-menu-container::-webkit-scrollbar {
|
|
||||||
width: 0 !important;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
></my-apply-xha>
|
></my-apply-xha>
|
||||||
<my-apply v-else :tabTypeName="tabTypeName"></my-apply>
|
<my-apply v-else :tabTypeName="tabTypeName"></my-apply>
|
||||||
</template>
|
</template>
|
||||||
|
<Evaluate v-else-if="showFlag === 'evaluate'"></Evaluate>
|
||||||
<!-- 我的发布 -->
|
<!-- 我的发布 -->
|
||||||
<my-publish v-if="showFlag === 'push'"></my-publish>
|
<my-publish v-if="showFlag === 'push'"></my-publish>
|
||||||
<!-- 申购车 -->
|
<!-- 申购车 -->
|
||||||
|
@ -40,6 +41,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 Evaluate from '@/views/personalCenter/components/Evaluate'
|
||||||
import MyApplyXha from '@/views/personalCenter/components/MyApplyXha'
|
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'
|
||||||
|
|
Loading…
Reference in New Issue