合并版本v0.8.2.5

This commit is contained in:
wuhongjian 2022-07-20 15:02:17 +08:00
commit 6fcc79b738
20 changed files with 742 additions and 285 deletions

2
.gitignore vendored
View File

@ -8,3 +8,5 @@ back/dist-市局-后台管理-v0.8.2.1.zip
front/public/index.html front/public/index.html
back/dist-西海岸-后台管理-v0.8.2.1.zip back/dist-西海岸-后台管理-v0.8.2.1.zip
back/dist-市局-后台管理-v0.8.2.3.zip back/dist-市局-后台管理-v0.8.2.3.zip
back/dist-西海岸-后台管理-v0.8.2.4.d.zip
*.zip

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-05-06 11:12:00 * @Date: 2022-05-06 11:12:00
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-21 16:59:46 * @LastEditTime: 2022-07-20 11:05:25
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<template> <template>
@ -32,5 +32,6 @@
margin: auto; margin: auto;
height: 100%; height: 100%;
position: relative; position: relative;
background-color: #fff;
} }
</style> </style>

View File

@ -385,7 +385,7 @@
} }
console.log('展示详情================>', item, flag.value, nowShow.value) console.log('展示详情================>', item, flag.value, nowShow.value)
} }
// 971px 560px // 9.71rem 5.60rem
const bubbleList = ref([]) const bubbleList = ref([])
// //
const coordinate = ref([]) const coordinate = ref([])
@ -481,7 +481,7 @@
}, index * 100) }, index * 100)
val.style.width = coordinate.value[index][2] + 'px' val.style.width = coordinate.value[index][2] + 'px'
val.style.height = coordinate.value[index][2] + 'px' val.style.height = coordinate.value[index][2] + 'px'
val.style.fontSize = '14px' val.style.fontSize = '0.14rem'
if (index % 2 == 0) { if (index % 2 == 0) {
val.classList.add('blue') val.classList.add('blue')
} else { } else {
@ -530,70 +530,70 @@
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.atlas-resources { .atlas-resources {
height: 970px; height: 9.7rem;
width: 100%; width: 100%;
padding: 80px 0 50px; padding: 0.8rem 0 0.5rem;
.title { .title {
font-size: 32px; font-size: 0.32rem;
text-align: center; text-align: center;
margin-bottom: 15px; margin-bottom: 0.15rem;
} }
.line { .line {
width: 35px; width: 0.35rem;
height: 4px; height: 0.04rem;
background: #1890ff; background: #1890ff;
margin-bottom: 20px; margin-bottom: 0.2rem;
margin-left: 930px; margin-left: 9.3rem;
} }
.main { .main {
width: 100%; width: 100%;
height: 800px; height: 8rem;
margin-top: 10px; margin-top: 0.1rem;
padding: 60px 302px; padding: 0.6rem 3.02rem;
background: url('~@/assets/abilityStatistics/tp-bg.png') no-repeat; background: url('~@/assets/abilityStatistics/tp-bg.png') no-repeat;
display: flex; display: flex;
.left { .left {
div { div {
width: 178px; width: 1.78rem;
height: 84px; height: 0.84rem;
font-size: 16px; font-size: 0.16rem;
line-height: 84px; line-height: 0.84rem;
text-align: center; text-align: center;
color: rgba(255, 255, 255, 0.6); color: rgba(255, 255, 255, 0.6);
background: rgba(255, 255, 255, 0.08); background: rgba(255, 255, 255, 0.08);
margin-bottom: 1px; margin-bottom: 0.01rem;
border-right: 2px solid rgba(233, 233, 233, 0.3); border-right: 0.02rem solid rgba(233, 233, 233, 0.3);
cursor: pointer; cursor: pointer;
} }
.select { .select {
background: rgba(255, 255, 255, 0.18) !important; background: rgba(255, 255, 255, 0.18) !important;
border-right: 2px solid #fff; border-right: 0.02rem solid #fff;
} }
} }
.right { .right {
width: 100%; width: 100%;
margin-left: 30px; margin-left: 0.3rem;
background: #fff; background: #fff;
.itemList { .itemList {
width: 100%; width: 100%;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
font-size: 16px; font-size: 0.16rem;
padding: 20px; padding: 0.2rem;
.item { .item {
width: 48%; width: 48%;
height: 40px; height: 0.4rem;
margin-top: 7px; margin-top: 0.07rem;
padding: 10px; padding: 0.1rem;
.top { .top {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
padding: 8px 10px; padding: 0.08rem 0.1rem;
.name { .name {
width: 300px; width: 3rem;
text-align: right; text-align: right;
margin-right: 10px; margin-right: 0.1rem;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box; display: -webkit-box;
@ -602,36 +602,36 @@
word-break: break-all; word-break: break-all;
} }
.num { .num {
width: 100px; width: 1rem;
margin-left: 10px; margin-left: 0.1rem;
} }
.percentage { .percentage {
width: 100px; width: 1rem;
margin-left: 10px; margin-left: 0.1rem;
} }
.img { .img {
width: 20px; width: 0.2rem;
} }
} }
.showBottom { .showBottom {
background: rgba(0, 88, 225, 0.1); background: rgba(0, 88, 225, 0.1);
border-radius: 2px; border-radius: 0.02rem;
} }
.bottom { .bottom {
width: 527px; width: 5.27rem;
height: 165px; height: 1.65rem;
margin-top: 5px; margin-top: 0.05rem;
background: #fff; background: #fff;
border: 1px solid #0058e1; border: 0.01rem solid #0058e1;
position: absolute; position: absolute;
z-index: 1000; z-index: 1000;
.up { .up {
margin: 10px; margin: 0.1rem;
font-size: 16px; font-size: 0.16rem;
span { span {
margin-right: 9px; margin-right: 0.09rem;
font-weight: 600; font-weight: 600;
font-size: 16px; font-size: 0.16rem;
} }
span:nth-of-type(2), span:nth-of-type(2),
span:nth-of-type(3) { span:nth-of-type(3) {
@ -639,7 +639,7 @@
background: url('~@/assets/abilityStatistics/bq-bg.png') background: url('~@/assets/abilityStatistics/bq-bg.png')
no-repeat; no-repeat;
background-size: 100%; background-size: 100%;
padding: 0 15px; padding: 0 0.15rem;
color: #0058e1; color: #0058e1;
} }
} }
@ -648,11 +648,11 @@
flex-wrap: wrap; flex-wrap: wrap;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
padding: 0 10px; padding: 0 0.1rem;
.type { .type {
width: 20%; width: 20%;
margin-bottom: 15px; margin-bottom: 0.15rem;
font-size: 14px; font-size: 0.14rem;
:deep(.ant-radio-inner::after) { :deep(.ant-radio-inner::after) {
background-color: #1890ff; background-color: #1890ff;
} }
@ -680,7 +680,7 @@
} }
} }
.item:nth-child(2n) { .item:nth-child(2n) {
margin-left: 40px; margin-left: 0.4rem;
} }
} }
.bubble { .bubble {
@ -690,12 +690,12 @@
display: flex; display: flex;
position: relative; position: relative;
div { div {
width: 160px; width: 1.6rem;
height: 160px; height: 1.6rem;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding: 15px; padding: 0.15rem;
text-align: center; text-align: center;
// background: radial-gradient( // background: radial-gradient(
// closest-side at 50% 50%, // closest-side at 50% 50%,
@ -706,13 +706,13 @@
// rgb(106, 178, 206) 100% // rgb(106, 178, 206) 100%
// ); // );
color: #fff; color: #fff;
font-size: 18px; font-size: 0.18rem;
border-radius: 50%; border-radius: 50%;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.2);
position: absolute; position: absolute;
opacity: 0; opacity: 0;
top: 259px; top: 2.59rem;
left: 471.5px; left: 471.05rem;
transition: all 1s; transition: all 1s;
span { span {
overflow: hidden; overflow: hidden;
@ -729,7 +729,7 @@
p { p {
cursor: pointer; cursor: pointer;
position: absolute; position: absolute;
right: 10px; right: 0.1rem;
bottom: 0; bottom: 0;
} }
.box { .box {
@ -739,12 +739,12 @@
justify-content: center; justify-content: center;
align-items: center; align-items: center;
.departmentList { .departmentList {
width: 150px; width: 1.5rem;
max-height: 400px; max-height: 4rem;
background: rgba(130, 191, 255, 0.79); background: rgba(130, 191, 255, 0.79);
border-radius: 5px; border-radius: 0.05rem;
position: absolute; position: absolute;
padding: 10px; padding: 0.1rem;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
align-items: center; align-items: center;
@ -762,7 +762,7 @@
word-break: break-all; word-break: break-all;
} }
span:hover { span:hover {
border: 1px solid #147ad8; border: 0.01rem solid #147ad8;
} }
} }
} }
@ -791,7 +791,7 @@
#dbeaff 95%, #dbeaff 95%,
#cce0ff 100% #cce0ff 100%
); );
border: 1px solid #bed7ff; border: 0.01rem solid #bed7ff;
color: #000; color: #000;
} }
} }

View File

@ -393,15 +393,14 @@
// //
const NumberOfComponentServices = () => { const NumberOfComponentServices = () => {
assemblerBaseStatic().then((res) => { assemblerBaseStatic().then((res) => {
snum.value[0].num = res.data.data[0].amount
res.data.data.map((item, index) => { res.data.data.map((item, index) => {
if (index != 0) {
servicesSnum.value.map((servicesSnumitem, servicesSnumindex) => { servicesSnum.value.map((servicesSnumitem, servicesSnumindex) => {
if (servicesSnumitem.type == item.type) { if (servicesSnumitem.type == item.type) {
servicesSnum.value[servicesSnumindex].amount = item.amount servicesSnum.value[servicesSnumindex].amount = item.amount
} else if (item.type == '上架总数') {
snum.value[0].num = item.amount
} }
}) })
}
}) })
}) })
} }

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-13 10:22:27 * @Date: 2022-06-13 10:22:27
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-16 14:27:31 * @LastEditTime: 2022-07-19 20:04:47
* @Description: 算法上架 * @Description: 算法上架
--> -->
<template> <template>
@ -24,25 +24,41 @@
<div class="vue-box"> <div class="vue-box">
<put-on-the-shelf <put-on-the-shelf
v-if="showView === '基本信息' && refData.name" v-if="showView === '基本信息' && refData.name"
ref="refPutOnTheShelf"
:refData="refData" :refData="refData"
:dataFrom="dataFrom" :dataFrom="dataFrom"
:videoList="videoList" :videoList="videoList"
:externalField="['算法名称', '算法描述', '共享条件', '共享类型']" :externalField="[
'算法名称',
'算法描述',
'共享条件',
'共享类型',
'归属部门',
'部门联系人',
'部门联系人电话',
]"
></put-on-the-shelf> ></put-on-the-shelf>
<put-on-the-shelf <put-on-the-shelf
v-else-if="showView === '算法优势'" v-else-if="showView === '算法优势'"
ref="refPutOnTheShelf"
:refData="refData" :refData="refData"
:dataFrom="dataFrom" :dataFrom="dataFrom"
:configure="sfys" :configure="sfys"
@next="next()"
@back="back()"
></put-on-the-shelf> ></put-on-the-shelf>
<put-on-the-shelf <put-on-the-shelf
v-else-if="showView === '应用场景'" v-else-if="showView === '应用场景'"
ref="refPutOnTheShelf"
:refData="refData" :refData="refData"
:dataFrom="dataFrom" :dataFrom="dataFrom"
:configure="yycj" :configure="yycj"
@next="next()"
@back="back()"
></put-on-the-shelf> ></put-on-the-shelf>
<put-on-the-shelf <put-on-the-shelf
v-else-if="showView === '部署与使用'" v-else-if="showView === '部署与使用'"
ref="refPutOnTheShelf"
:refData="refData" :refData="refData"
:dataFrom="dataFrom" :dataFrom="dataFrom"
:fileList="fileList" :fileList="fileList"
@ -50,6 +66,8 @@
:imgList="imgList" :imgList="imgList"
:externalField="['接口服务', '接口请求方式']" :externalField="['接口服务', '接口请求方式']"
:configure="bs" :configure="bs"
@submit="submit()"
@back="back()"
></put-on-the-shelf> ></put-on-the-shelf>
<!-- <algorithm-essential-information <!-- <algorithm-essential-information
v-if="showView === '基本信息' && refData.name" v-if="showView === '基本信息' && refData.name"
@ -82,12 +100,134 @@
</div> </div>
<div class="btn" :class="showView === '基本信息' ? 'first' : ''"> <div class="btn" :class="showView === '基本信息' ? 'first' : ''">
<button @click="close()">取消</button> <button @click="close()">取消</button>
<button v-show="showView !== '基本信息'" @click="back()">上一步</button> <a-popconfirm
v-if="
showView == '算法优势' &&
sfys[0].list.filter((val) => val.note1 !== '').length > 0 &&
sfys[0].list.filter((val) => val.note1 !== '').length !==
sfys[0].list.length
"
title="如果信息未填写完整将会被丢弃,是否返回上一步?"
ok-text="是"
cancel-text="否"
@confirm="changeSfys('上一步')"
@cancel="cancel"
>
<button>上一步</button>
</a-popconfirm>
<button
v-else-if="
showView == '算法优势' &&
sfys[0].list.filter((val) => val.note1 !== '').length ==
sfys[0].list.length
"
@click="changeSfys('上一步')"
>
上一步
</button>
<a-popconfirm
v-else-if="
showView == '应用场景' &&
yycj[0].list.filter((val) => val.note1 !== '').length > 0 &&
yycj[0].list.filter((val) => val.note1 !== '').length !==
yycj[0].list.length
"
title="如果信息未填写完整将会被丢弃,是否返回上一步?"
ok-text="是"
cancel-text="否"
@confirm="changeYycj('上一步')"
@cancel="cancel"
>
<button>上一步</button>
</a-popconfirm>
<button
v-else-if="
showView == '应用场景' &&
yycj[0].list.filter((val) => val.note1 !== '').length ==
yycj[0].list.length
"
@click="changeYycj('上一步')"
>
上一步
</button>
<button v-else-if="showView !== '基本信息'" @click="back()">
上一步
</button>
<button v-show="showView === '部署与使用'" @click="preview()"> <button v-show="showView === '部署与使用'" @click="preview()">
预览 预览
</button> </button>
<button v-show="showView !== '部署与使用'" @click="next()">下一步</button> <a-popconfirm
<button v-show="showView === '部署与使用'" @click="submit()">提交</button> v-if="
showView == '算法优势' &&
sfys[0].list.filter((val) => val.note1 !== '').length > 0 &&
sfys[0].list.filter((val) => val.note1 !== '').length !==
sfys[0].list.length
"
title="如果信息未填写完整将会被丢弃,是否进行下一步?"
ok-text="是"
cancel-text="否"
@confirm="changeSfys('下一步')"
@cancel="cancel"
>
<button>下一步</button>
</a-popconfirm>
<button
v-else-if="
showView == '算法优势' &&
sfys[0].list.filter((val) => val.note1 !== '').length ==
sfys[0].list.length
"
@click="changeSfys('下一步')"
>
下一步
</button>
<a-popconfirm
v-else-if="
showView == '应用场景' &&
yycj[0].list.filter((val) => val.note1 !== '').length > 0 &&
yycj[0].list.filter((val) => val.note1 !== '').length !==
yycj[0].list.length
"
title="如果信息未填写完整将会被丢弃,是否进行下一步?"
ok-text="是"
cancel-text="否"
@confirm="changeYycj('下一步')"
@cancel="cancel"
>
<button>下一步</button>
</a-popconfirm>
<button
v-else-if="
showView == '应用场景' &&
yycj[0].list.filter((val) => val.note1 !== '').length ==
yycj[0].list.length
"
@click="changeYycj('下一步')"
>
下一步
</button>
<button v-else-if="showView !== '部署与使用'" @click="next()">
下一步
</button>
<a-popconfirm
v-if="
showView === '部署与使用' &&
(bs[0].list.filter(
(val) => val.note1 !== '' && val.name !== '计费方式'
).length > 0 ||
bs[1].list.filter((val) => val.note1 !== '').length > 0)
"
title="如果计费标准信息或常见问题未填写完整将会被丢弃,是否进行提交?"
ok-text="是"
cancel-text="否"
@confirm="changeBs('提交')"
@cancel="cancel"
>
<button>提交</button>
</a-popconfirm>
<button v-else-if="showView === '部署与使用'" @click="submit()">
提交
</button>
</div> </div>
</div> </div>
</template> </template>
@ -272,7 +412,7 @@
dataFrom.value.id = res.data.data dataFrom.value.id = res.data.data
getUser().then((res6) => { getUser().then((res6) => {
getUserInfo(res6.data.data.id).then((res2) => { getUserInfo(res6.data.data.id).then((res2) => {
const deptId = res2.data.data.deptId const deptId = dataFrom.value.deptId
const userId = res2.data.data.id const userId = res2.data.data.id
const userName = res2.data.data.realName const userName = res2.data.data.realName
const params = { const params = {
@ -332,6 +472,21 @@
console.log('所有编目结构==============>', res.data.data) console.log('所有编目结构==============>', res.data.data)
}) })
} }
//
const refPutOnTheShelf = ref(null)
const changeSfys = (type) => {
console.log(refPutOnTheShelf, sfys.value)
refPutOnTheShelf.value.add('算法优势', true, type)
}
const changeYycj = (type) => {
console.log(refPutOnTheShelf)
refPutOnTheShelf.value.add('应用场景', true, type)
}
const changeBs = (type) => {
console.log(refPutOnTheShelf)
refPutOnTheShelf.value.add('计费标准信息', true)
refPutOnTheShelf.value.add('常见问题', true, type)
}
init() init()
mybus.on('chageDataFrom', (obj) => { mybus.on('chageDataFrom', (obj) => {
if (obj.attrType == '技术文档' && obj.attrValue != null) { if (obj.attrType == '技术文档' && obj.attrValue != null) {
@ -386,6 +541,16 @@
case '接口请求方式': case '接口请求方式':
dataFrom.value.apiMethodType = obj.attrValue dataFrom.value.apiMethodType = obj.attrValue
break break
case '归属部门':
dataFrom.value.deptId = obj.attrValue
dataFrom.value.deptName = obj.attrValueTwo.label
break
case '部门联系人':
dataFrom.value.deptContacts = obj.attrValue
break
case '部门联系人电话':
dataFrom.value.deptPhone = obj.attrValue
break
} }
// console.log('dataFrom.value', dataFrom.value) // console.log('dataFrom.value', dataFrom.value)
}) })

View File

@ -28,7 +28,13 @@
:dataFrom="dataFrom" :dataFrom="dataFrom"
:videoList="videoList" :videoList="videoList"
:imgList="imgList" :imgList="imgList"
:externalField="['应用名称', '应用描述']" :externalField="[
'应用名称',
'应用描述',
'归属部门',
'部门联系人',
'部门联系人电话',
]"
></put-on-the-shelf> ></put-on-the-shelf>
<put-on-the-shelf <put-on-the-shelf
v-else-if="showView === '功能介绍'" v-else-if="showView === '功能介绍'"
@ -225,7 +231,7 @@
dataFrom.value.id = res.data.data dataFrom.value.id = res.data.data
getUser().then((res6) => { getUser().then((res6) => {
getUserInfo(res6.data.data.id).then((res2) => { getUserInfo(res6.data.data.id).then((res2) => {
const deptId = res2.data.data.deptId const deptId = dataFrom.value.deptId
const userId = res2.data.data.id const userId = res2.data.data.id
const userName = res2.data.data.realName const userName = res2.data.data.realName
const params = { const params = {
@ -339,6 +345,10 @@
case '访问地址': case '访问地址':
dataFrom.value.link = obj.attrValue dataFrom.value.link = obj.attrValue
break break
case '归属部门':
dataFrom.value.deptId = obj.attrValue
dataFrom.value.deptName = obj.attrValueTwo.label
break
case '部门联系人': case '部门联系人':
dataFrom.value.deptContacts = obj.attrValue dataFrom.value.deptContacts = obj.attrValue
break break

View File

@ -32,6 +32,7 @@
'组件描述', '组件描述',
'共享条件', '共享条件',
'共享类型', '共享类型',
'归属部门',
'部门联系人', '部门联系人',
'部门联系人电话', '部门联系人电话',
]" ]"
@ -253,7 +254,7 @@
dataFrom.value.id = res.data.data dataFrom.value.id = res.data.data
getUser().then((res6) => { getUser().then((res6) => {
getUserInfo(res6.data.data.id).then((res2) => { getUserInfo(res6.data.data.id).then((res2) => {
const deptId = res2.data.data.deptId const deptId = dataFrom.value.deptId
const userId = res2.data.data.id const userId = res2.data.data.id
const userName = res2.data.data.realName const userName = res2.data.data.realName
const params = { const params = {
@ -349,6 +350,10 @@
case '共享类型': case '共享类型':
dataFrom.value.shareType = obj.attrValue dataFrom.value.shareType = obj.attrValue
break break
case '归属部门':
dataFrom.value.deptId = obj.attrValue
dataFrom.value.deptName = obj.attrValueTwo.label
break
case '部门联系人': case '部门联系人':
dataFrom.value.deptContacts = obj.attrValue dataFrom.value.deptContacts = obj.attrValue
break break

View File

@ -33,6 +33,7 @@
'组件描述', '组件描述',
'共享条件', '共享条件',
'共享类型', '共享类型',
'归属部门',
'部门联系人', '部门联系人',
'部门联系人电话', '部门联系人电话',
]" ]"
@ -253,7 +254,7 @@
dataFrom.value.id = res.data.data dataFrom.value.id = res.data.data
getUser().then((res6) => { getUser().then((res6) => {
getUserInfo(res6.data.data.id).then((res2) => { getUserInfo(res6.data.data.id).then((res2) => {
const deptId = res2.data.data.deptId const deptId = dataFrom.value.deptId
const userId = res2.data.data.id const userId = res2.data.data.id
const userName = res2.data.data.realName const userName = res2.data.data.realName
const params = { const params = {
@ -349,6 +350,10 @@
case '共享类型': case '共享类型':
dataFrom.value.shareType = obj.attrValue dataFrom.value.shareType = obj.attrValue
break break
case '归属部门':
dataFrom.value.deptId = obj.attrValue
dataFrom.value.deptName = obj.attrValueTwo.label
break
case '部门联系人': case '部门联系人':
dataFrom.value.deptContacts = obj.attrValue dataFrom.value.deptContacts = obj.attrValue
break break

View File

@ -32,6 +32,7 @@
'图层描述', '图层描述',
'共享条件', '共享条件',
'共享类型', '共享类型',
'归属部门',
'部门联系人', '部门联系人',
'部门联系人电话', '部门联系人电话',
]" ]"
@ -201,7 +202,7 @@
dataFrom.value.id = res.data.data dataFrom.value.id = res.data.data
getUser().then((res6) => { getUser().then((res6) => {
getUserInfo(res6.data.data.id).then((res2) => { getUserInfo(res6.data.data.id).then((res2) => {
const deptId = res2.data.data.deptId const deptId = dataFrom.value.deptId
const userId = res2.data.data.id const userId = res2.data.data.id
const userName = res2.data.data.realName const userName = res2.data.data.realName
const params = { const params = {
@ -297,6 +298,10 @@
case '共享类型': case '共享类型':
dataFrom.value.shareType = obj.attrValue dataFrom.value.shareType = obj.attrValue
break break
case '归属部门':
dataFrom.value.deptId = obj.attrValue
dataFrom.value.deptName = obj.attrValueTwo.label
break
case '部门联系人': case '部门联系人':
dataFrom.value.deptContacts = obj.attrValue dataFrom.value.deptContacts = obj.attrValue
break break

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-17 14:11:08 * @Date: 2022-06-17 14:11:08
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-18 14:43:47 * @LastEditTime: 2022-07-19 18:51:52
* @Description: 上架 * @Description: 上架
--> -->
<template> <template>
@ -15,7 +15,7 @@
</div> </div>
<template v-if="title.isConfigure"> <template v-if="title.isConfigure">
<div class="bottom"> <div class="bottom">
<div class="items" v-if="data[title.name].length > 0"> <!-- <div class="items" v-if="data[title.name].length > 0">
<div <div
class="item" class="item"
v-for="(val, index) in data[title.name]" v-for="(val, index) in data[title.name]"
@ -42,8 +42,92 @@
<div @click="del(title.name, index)">删除</div> <div @click="del(title.name, index)">删除</div>
</div> </div>
</div> </div>
</div> -->
<div
v-for="(val, index) in data[title.name]"
:key="'key1' + val.name + index"
>
<div
style="
font-size: 0.18rem;
font-weight: 600;
display: flex;
justify-content: flex-start;
"
>
<span>{{ title.name }}-{{ index + 1 }}</span>
<a-popconfirm
:title="'是否删除该条' + title.name + '?'"
ok-text="是"
cancel-text="否"
@confirm="del(title.name, index)"
>
<div class="del">
<i class="delImg"></i>
<div>删除</div>
</div>
</a-popconfirm>
</div>
<div
class="form"
v-for="attr in props.configure.filter(
(item, index2) => item.name === title.name
)[0].list"
:key="'key2' + attr.name + index2"
>
<span>{{ attr.name }}</span>
<a-input
disabled
v-model:value="val[attr.field]"
:maxlength="24"
:placeholder="'请填写' + attr.name + ',不超过24个字符'"
v-if="attr.type == 'input'"
/>
<template v-if="attr.type == 'input2'">
<a-input
disabled
v-model:value="val[attr.field]"
:placeholder="'请填写' + attr.name"
/>
</template>
<a-textarea
disabled
v-model:value="val[attr.field]"
:showCount="true"
:maxlength="200"
:placeholder="'请填写' + attr.name"
v-else-if="attr.type == 'textArea'"
/>
<!-- <a-radio-group
v-model:value="val[attr.field]"
:options="val.options"
@change="radioChange"
v-else-if="attr.type == 'radio'"
/> -->
<div v-else-if="attr.type == 'radio'">
{{ val[attr.field] + (attr.company || '') }}
</div>
<span v-else-if="attr.type === 'image'">
<a-image :width="85" :height="60" :src="val.img" />
</span>
<!-- <upload
:key="showKey"
type="图片"
btnName="上传图片"
:maxCount="1"
:data="val"
:list="[]"
tip="支持图片类型大小不超过100M"
v-else-if="val.type == 'image'"
></upload> -->
</div>
</div>
<!-- <div class="add" @click="add(title.name)">
添加更多{{ title.name }}
</div> -->
<div style="font-size: 0.18rem; font-weight: 600">
<span>{{ title.name }}-{{ data[title.name].length + 1 }}</span>
</div> </div>
<div class="add">添加更多{{ title.name }}</div>
<div <div
class="form" class="form"
v-for="(val, index) in props.configure.filter( v-for="(val, index) in props.configure.filter(
@ -112,7 +196,7 @@
</div> </div>
<div class="submit"> <div class="submit">
<a-button type="primary" @click="add(title.name)"> <a-button type="primary" @click="add(title.name)">
添加更多 添加更多{{ title.name }}
</a-button> </a-button>
</div> </div>
</div> </div>
@ -234,12 +318,24 @@
:list="props.videoList" :list="props.videoList"
tip="支持视频类型大小不超过100M" tip="支持视频类型大小不超过100M"
></upload> ></upload>
<a-button <!-- <a-button
v-else-if="item.type == 'AssociatedApplication'" v-else-if="item.type == 'AssociatedApplication'"
@click="sourceClick" @click="sourceClick"
> >
请选择来源应用 请选择来源应用
</a-button> </a-button> -->
<a-select
v-else-if="item.type == 'select' && item.name == '来源应用'"
style="width: 2.4rem"
v-model:value="item.note1"
show-search
placeholder="请输入关键字"
:options="item.options"
:filter-option="applicationsOption"
@focus="applicationsFocus"
@blur="applicationsBlur"
@change="applicationsChange"
></a-select>
<a-button <a-button
v-else-if="item.type == 'AssociatedComponents'" v-else-if="item.type == 'AssociatedComponents'"
@click="componentsClick" @click="componentsClick"
@ -248,7 +344,7 @@
</a-button> </a-button>
<a-select <a-select
v-else-if="item.type == 'select' && item.name == '使用方式'" v-else-if="item.type == 'select' && item.name == '使用方式'"
style="width: 240px" style="width: 2.4rem"
v-model:value="item.note1" v-model:value="item.note1"
:placeholder="'请选择' + item.name" :placeholder="'请选择' + item.name"
@change="showTypeClick" @change="showTypeClick"
@ -263,7 +359,7 @@
</a-select> </a-select>
<a-select <a-select
v-else-if="item.type == 'select' && item.name !== '归属部门'" v-else-if="item.type == 'select' && item.name !== '归属部门'"
style="width: 240px" style="width: 2.4rem"
v-model:value="item.note1" v-model:value="item.note1"
:placeholder="'请选择' + item.name" :placeholder="'请选择' + item.name"
> >
@ -277,7 +373,7 @@
</a-select> </a-select>
<a-select <a-select
v-else-if="item.name === '归属部门'" v-else-if="item.name === '归属部门'"
style="width: 240px" style="width: 2.4rem"
v-model:value="item.note1" v-model:value="item.note1"
show-search show-search
placeholder="请输入关键字" placeholder="请输入关键字"
@ -315,7 +411,7 @@
:title="titleName" :title="titleName"
@ok="handleOk" @ok="handleOk"
@cancel="handleCancel" @cancel="handleCancel"
style="width: 960px" style="width: 9.6rem"
> >
<div> <div>
<a-transfer <a-transfer
@ -333,7 +429,7 @@
<!-- 关联组件 --> <!-- 关联组件 -->
<div class="AssociatedApplication"> <div class="AssociatedApplication">
<a-modal <a-modal
v-model:visible="visibleAssociatedApplication" v-model:visible="visibleAssociatedApplicationOther"
:title="titleName" :title="titleName"
@ok="handleOk" @ok="handleOk"
@cancel="handleCancel" @cancel="handleCancel"
@ -341,13 +437,13 @@
> >
<div> <div>
<a-transfer <a-transfer
v-model:target-keys="targetKeys2" v-model:target-keys="targetKeysOther"
v-model:selected-keys="selectedKeys2" v-model:selected-keys="selectedKeysOther"
:data-source="mockData2" :data-source="mockDataOther"
:titles="titles" :titles="titles"
:render="(item) => item.title" :render="(item) => item.title"
@change="handleChange1" @change="handleChangeOther"
@selectChange="handleSelectChange1" @selectChange="handleSelectChangeOther"
/> />
</div> </div>
</a-modal> </a-modal>
@ -358,7 +454,14 @@
</div> </div>
</template> </template>
<script setup> <script setup>
import { ref, defineProps, watch, onMounted } from 'vue' import {
ref,
defineProps,
watch,
onMounted,
defineExpose,
defineEmits,
} from 'vue'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import upload from '@/views/components/upload' import upload from '@/views/components/upload'
import { message } from 'ant-design-vue' import { message } from 'ant-design-vue'
@ -369,7 +472,6 @@
queryResourceRelByKeyId, queryResourceRelByKeyId,
filesUpload, filesUpload,
} from '@/api/personalCenter' } from '@/api/personalCenter'
import VueTemplateDemo from '@/views/personalCenter/VueTemplateDemo.vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
const router = useRouter() const router = useRouter()
const abilityToType = router.currentRoute.value.query.abilityToType const abilityToType = router.currentRoute.value.query.abilityToType
@ -435,6 +537,7 @@
// ] // ]
// }] // }]
}) })
const emit = defineEmits(['next', 'back', 'submit'])
// console.log('props==========>', props) // console.log('props==========>', props)
const changeAdd = () => { const changeAdd = () => {
console.log('子组件方法触发~') console.log('子组件方法触发~')
@ -514,6 +617,9 @@
getUserInfo().then(({ data: res1 }) => { getUserInfo().then(({ data: res1 }) => {
console.log(res1.data) console.log(res1.data)
item.note1 = res1.data.deptId item.note1 = res1.data.deptId
item.note2 = item.options.filter(
(val) => val.value == item.note1
)[0]
console.log('默认部门=========>', item, res1.data) console.log('默认部门=========>', item, res1.data)
data.value.list.push(item) data.value.list.push(item)
}) })
@ -525,6 +631,7 @@
console.log(res1.data) console.log(res1.data)
item.note1 = res1.data.realName || '' item.note1 = res1.data.realName || ''
}) })
data.value.list.push(item)
} }
} else if (item.name === '部门联系人电话') { } else if (item.name === '部门联系人电话') {
if (!item.note1) { if (!item.note1) {
@ -532,7 +639,22 @@
console.log(res1.data) console.log(res1.data)
item.note1 = res1.data.mobile || '' item.note1 = res1.data.mobile || ''
}) })
data.value.list.push(item)
} }
} else if (item.name === '来源应用') {
queryApplicationRelByResourceId({
referenceId: 0,
}).then((res) => {
const dataList = []
res.data.data.notLinked.forEach((element) => {
dataList.push({
value: element.id,
label: element.name,
})
})
item.options = dataList
data.value.list.push(item)
})
} else { } else {
data.value.list.push(item) data.value.list.push(item)
} }
@ -568,11 +690,10 @@
} }
mybus.on('showTextFunctionEmit', (show) => { mybus.on('showTextFunctionEmit', (show) => {
console.log('ssdcsd') console.log('ssdcsd')
debugger
showText.value = show showText.value = show
}) })
mybus.off('func') mybus.off('func')
const add = (title) => { const add = (title, addFlag, type) => {
console.log(title, 'title') console.log(title, 'title')
let list = props.configure.filter((item) => item.name === title)[0].list let list = props.configure.filter((item) => item.name === title)[0].list
let flag = true let flag = true
@ -624,8 +745,31 @@
item.note1 = '' item.note1 = ''
showKey.value++ showKey.value++
}) })
if (addFlag) {
if (type == '上一步') {
emit('back')
} else if (type == '下一步') {
emit('next')
} else if (type == '提交') {
emit('submit')
}
}
} else { } else {
if (!addFlag) {
message.warning('请填写完整') message.warning('请填写完整')
} else {
list.forEach((item) => {
item.note1 = ''
showKey.value++
})
if (type == '上一步') {
emit('back')
} else if (type == '下一步') {
emit('next')
} else if (type == '提交') {
emit('submit')
}
}
} }
} }
const del = (title, index) => { const del = (title, index) => {
@ -652,15 +796,16 @@
} }
// //
const visibleAssociatedApplication = ref(false) const visibleAssociatedApplication = ref(false)
const visibleAssociatedApplicationOther = ref(false)
const mockData = ref([]) const mockData = ref([])
const mockData2 = ref([]) const mockDataOther = ref([])
const titles = ref(['未关联的应用名称', '已关联的应用名称']) const titles = ref(['未关联的应用名称', '已关联的应用名称'])
const titleName = ref('来源应用') const titleName = ref('来源应用')
const targetKeys = ref([]) const targetKeys = ref([])
const targetKeys2 = ref([]) const targetKeysOther = ref([])
// //
// const targetKeysBack = ref([]) // const targetKeysBack = ref([])
// -back
const sourceClick = () => { const sourceClick = () => {
mockData.value = [] mockData.value = []
visibleAssociatedApplication.value = true visibleAssociatedApplication.value = true
@ -704,8 +849,8 @@
const componentsClick = () => { const componentsClick = () => {
titles.value = ['未关联的组件名称', '已关联的组件名称'] titles.value = ['未关联的组件名称', '已关联的组件名称']
titleName.value = '关联组件' titleName.value = '关联组件'
mockData2.value = [] visibleAssociatedApplicationOther.value = true
visibleAssociatedApplication.value = true mockDataOther.value = []
props.dataFrom.infoList.forEach((val) => { props.dataFrom.infoList.forEach((val) => {
if (val.attrType === '关联组件信息' && val.attrValue != '') { if (val.attrType === '关联组件信息' && val.attrValue != '') {
queryResourceRelByKeyId({ queryResourceRelByKeyId({
@ -715,18 +860,18 @@
}).then((res) => { }).then((res) => {
// console.log(res.data.data.notLinked) // console.log(res.data.data.notLinked)
res.data.data.notLinked.forEach((val, index) => { res.data.data.notLinked.forEach((val, index) => {
mockData2.value.push({ mockDataOther.value.push({
key: val.id, key: val.id,
title: val.name, title: val.name,
description: val.id, description: val.id,
}) })
}) })
}) })
targetKeys2.value = [] targetKeysOther.value = []
val.attrValue.split(',').forEach((item) => { val.attrValue.split(',').forEach((item) => {
targetKeys2.value.push(item) targetKeysOther.value.push(item)
}) })
console.log(targetKeys2.value) console.log(targetKeysOther.value)
// console.log('wowowo') // console.log('wowowo')
} else if (val.attrType === '关联组件信息' && val.attrValue == '') { } else if (val.attrType === '关联组件信息' && val.attrValue == '') {
queryResourceRelByKeyId({ queryResourceRelByKeyId({
@ -736,7 +881,7 @@
}).then((res) => { }).then((res) => {
// console.log(res.data.data.notLinked) // console.log(res.data.data.notLinked)
res.data.data.notLinked.forEach((val, index) => { res.data.data.notLinked.forEach((val, index) => {
mockData2.value.push({ mockDataOther.value.push({
key: val.id, key: val.id,
title: val.name, title: val.name,
description: val.id, description: val.id,
@ -747,7 +892,7 @@
}) })
} }
const selectedKeys = ref([]) const selectedKeys = ref([])
const selectedKeys2 = ref([]) const selectedKeysOther = ref([])
const handleChange = (nextTargetKeys, direction, moveKeys) => { const handleChange = (nextTargetKeys, direction, moveKeys) => {
console.log('targetKeys: ', nextTargetKeys) console.log('targetKeys: ', nextTargetKeys)
@ -757,38 +902,34 @@
targetKeys.value = moveKeys.filter((item, index) => index === 0) targetKeys.value = moveKeys.filter((item, index) => index === 0)
} }
} }
const handleChange1 = (nextTargetKeys1, direction1, moveKeys1) => {
console.log('targetKeys: ', nextTargetKeys1)
console.log('direction: ', direction1)
console.log('moveKeys: ', moveKeys1)
}
const handleSelectChange = (sourceSelectedKeys, targetSelectedKeys) => { const handleSelectChange = (sourceSelectedKeys, targetSelectedKeys) => {
console.log('targetSelectedKeys: ', targetSelectedKeys, sourceSelectedKeys) console.log('targetSelectedKeys: ', targetSelectedKeys, sourceSelectedKeys)
console.log('after', sourceSelectedKeys)
} }
const handleSelectChange1 = (sourceSelectedKeys1, targetSelectedKeys1) => { const handleChangeOther = (nextTargetKeys, direction, moveKeys) => {
console.log( console.log('targetKeys: ', nextTargetKeys)
'targetSelectedKeys: ', console.log('direction: ', direction)
targetSelectedKeys1, console.log('moveKeys: ', moveKeys)
sourceSelectedKeys1 }
) const handleSelectChangeOther = (sourceSelectedKeys, targetSelectedKeys) => {
console.log('targetSelectedKeys: ', targetSelectedKeys, sourceSelectedKeys)
} }
const handleOk = (e) => { const handleOk = (e) => {
console.log(e) console.log(e)
visibleAssociatedApplicationOther.value = false
visibleAssociatedApplication.value = false visibleAssociatedApplication.value = false
// console.log('2222222222222', props.refData) // console.log('2222222222222', props.refData)
data.value.list.map((item) => { data.value.list.map((item) => {
if (item.name === '来源应用') { if (item.name === '来源应用') {
item.note1 = targetKeys.value + '' item.note1 = targetKeys.value + ''
} else if (item.name === '关联组件信息') { } else if (item.name === '关联组件信息') {
item.note1 = targetKeys2.value + '' item.note1 = targetKeysOther.value + ''
} }
}) })
} }
const handleCancel = (e) => { const handleCancel = (e) => {
console.log(e) console.log(e)
visibleAssociatedApplicationOther.value = false
visibleAssociatedApplication.value = false visibleAssociatedApplication.value = false
} }
@ -816,10 +957,15 @@
props.externalField && props.externalField &&
props.externalField.indexOf(val.name) > -1 props.externalField.indexOf(val.name) > -1
) { ) {
let note2 = {} //
if (val.options) {
note2 = val.options.filter((item) => item.value == val.note1)[0]
}
mybus.emit('chageDataFromDwon', { mybus.emit('chageDataFromDwon', {
attrType: val.name, attrType: val.name,
attrValue: val.note1, attrValue: val.note1,
delFlag: 0, delFlag: 0,
attrValueTwo: note2,
}) })
} else { } else {
if (val.name !== '应用领域' && val.name !== '发布端') { if (val.name !== '应用领域' && val.name !== '发布端') {
@ -835,38 +981,58 @@
const handleChange2 = (value) => { const handleChange2 = (value) => {
console.log(`selected ${value}`) console.log(`selected ${value}`)
} }
const applicationsChange = (value) => {
data.value.list.map((item) => {
if (item.name === '来源应用') {
item.note1 = value
}
})
console.log(`selected ${value}`)
}
const handleBlur = () => { const handleBlur = () => {
console.log('blur') console.log('blur')
} }
const applicationsBlur = () => {
console.log('blur')
}
const handleFocus = () => { const handleFocus = () => {
console.log('focus') console.log('focus')
} }
const applicationsFocus = () => {
console.log('focus')
}
const filterOption = (input, option) => { const filterOption = (input, option) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
} }
defineExpose({
add,
})
const applicationsOption = (input, option) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
}
</script> </script>
<style></style> <style></style>
<style lang="less" scoped> <style lang="less" scoped>
.put-on-the-shelf { .put-on-the-shelf {
height: 680px; height: 6.8rem;
overflow: scroll; overflow: scroll;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
padding: 50px 100px 25px; padding: 0.5rem 1rem 0.25rem;
.Technical-text { .Technical-text {
height: 30px; height: 0.3rem;
width: 100px; width: 1rem;
border: 1px solid #bbd3ef; border: 0.01rem solid #bbd3ef;
border-radius: 6px; border-radius: 0.06rem;
background: #edf4fc; background: #edf4fc;
color: #0087ff; color: #0087ff;
font-size: 14px; font-size: 0.14rem;
text-align: center; text-align: center;
line-height: 30px; line-height: 0.3rem;
} }
.Technical-text:hover { .Technical-text:hover {
cursor: pointer; cursor: pointer;
@ -874,41 +1040,41 @@
& > div { & > div {
width: 100%; width: 100%;
margin-top: 60px; margin-top: 0.6rem;
.top { .top {
color: #333333; color: #333333;
font-size: 22px; font-size: 0.22rem;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
margin-bottom: 25px; margin-bottom: 0.25rem;
div:first-child, div:first-child,
div:last-child { div:last-child {
width: 245px; width: 2.45rem;
height: 1px; height: 0.01rem;
background: #f0f0f0; background: #f0f0f0;
} }
div:nth-child(2) { div:nth-child(2) {
margin: 0 30px; margin: 0 0.3rem;
} }
} }
.bottom { .bottom {
margin-top: 25px; margin-top: 0.25rem;
.items { .items {
background: #fafafa; background: #fafafa;
padding: 10px; padding: 0.1rem;
p { p {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
span:nth-of-type(1) { span:nth-of-type(1) {
width: 200px; width: 2rem;
} }
span:nth-of-type(2) { span:nth-of-type(2) {
@ -918,87 +1084,69 @@
} }
p:nth-of-type(1) > span:nth-of-type(1) { p:nth-of-type(1) > span:nth-of-type(1) {
font-size: 18px; font-size: 0.18rem;
font-weight: 600; font-weight: 600;
} }
.del {
display: flex;
justify-content: flex-end;
align-items: center;
.delImg {
cursor: pointer;
display: inline-block;
width: 16px;
height: 18px;
background: url(~@/assets/home/sf_del.png) no-repeat;
margin-right: 5px;
}
div {
cursor: pointer;
}
}
} }
.add { .add {
margin-top: 10px; cursor: pointer;
font-size: 16px; margin-top: 0.1rem;
font-size: 0.16rem;
color: #007efb; color: #007efb;
} }
.form { .form {
margin-top: 20px; margin-top: 0.2rem;
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;
span:first-child { span:first-child {
width: 120px; width: 1.2rem;
} }
:deep(.ant-input-textarea) { :deep(.ant-input-textarea) {
width: 520px; width: 5.2rem;
} }
:deep(.ant-radio-group) { :deep(.ant-radio-group) {
width: 520px; width: 5.2rem;
} }
:deep(.ant-input-number) { :deep(.ant-input-number) {
width: 200px; width: 2rem;
} }
:deep(.ant-input) { :deep(.ant-input) {
resize: none; resize: none;
width: 520px; width: 5.2rem;
} }
.ant-btn { .ant-btn {
width: 160px; width: 1.6rem;
height: 32px; height: 0.32rem;
text-align: center; text-align: center;
background: #edf4fc; background: #edf4fc;
color: #0087ff; color: #0087ff;
border: 1px solid #bbd3ef; border: 0.01rem solid #bbd3ef;
border-radius: 6px; border-radius: 0.06rem;
} }
} }
.submit { .submit {
margin-top: 40px; margin-top: 0.4rem;
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
.ant-btn { .ant-btn {
width: 80px; width: 1.8rem;
height: 28px; height: 0.3rem;
text-align: center; text-align: center;
background: #d9ebff; background: #d9ebff;
color: #0087ff; color: #0087ff;
border: 1px solid #0087ff; border: 0.01rem solid #0087ff;
border-radius: 6px; border-radius: 0.06rem;
} }
} }
} }
@ -1010,24 +1158,24 @@
} }
.application-Area { .application-Area {
width: 520px; width: 5.2rem;
display: grid; display: grid;
margin-top: -5px; margin-top: -0.05rem;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
.application-Area-son { .application-Area-son {
cursor: pointer; cursor: pointer;
font-size: 14px; font-size: 0.14rem;
width: 90px; width: 0.9rem;
height: 26px; height: 0.26rem;
border-radius: 13px; border-radius: 0.13rem;
color: #333333; color: #333333;
background: #f5f5f5; background: #f5f5f5;
border: 1px #cccccc solid; border: 0.01rem #cccccc solid;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
margin-top: 10px; margin-top: 0.1rem;
font-weight: 500; font-weight: 500;
} }
@ -1044,27 +1192,27 @@
} }
:deep(.ant-modal) { :deep(.ant-modal) {
width: 960px; width: 9.6rem;
} }
:deep(.ant-transfer-list) { :deep(.ant-transfer-list) {
width: 39.5%; width: 39.5%;
height: 520px; height: 5.2rem;
} }
:deep(.ant-transfer-operation) { :deep(.ant-transfer-operation) {
flex-direction: row-reverse; flex-direction: row-reverse;
margin: 0 30px; margin: 0 0.3rem;
} }
:deep(.ant-btn) { :deep(.ant-btn) {
width: 56px; width: 0.56rem;
height: 40px; height: 0.4rem;
border-radius: 4px; border-radius: 0.04rem;
} }
:deep(.ant-btn:first-child) { :deep(.ant-btn:first-child) {
margin-left: 4px; margin-left: 0.04rem;
} }
:deep(.ant-modal-footer) { :deep(.ant-modal-footer) {
@ -1076,8 +1224,8 @@
} }
:deep(.ant-modal-title) { :deep(.ant-modal-title) {
line-height: 24px; line-height: 0.24rem;
font-size: 18px; font-size: 0.18rem;
color: #303133; color: #303133;
} }
@ -1094,7 +1242,7 @@
} }
:deep(.ant-transfer-list-header-title) { :deep(.ant-transfer-list-header-title) {
font-size: 16px; font-size: 0.16rem;
color: #303133; color: #303133;
font-weight: 400; font-weight: 400;
text-align: left; text-align: left;
@ -1103,6 +1251,27 @@
display: none !important; display: none !important;
} }
:deep(.ant-upload-list-item-name) { :deep(.ant-upload-list-item-name) {
width: 100px; width: 1rem;
}
.del {
display: flex;
justify-content: flex-start;
align-items: center;
font-size: 0.14rem;
margin-left: 0.2rem;
.delImg {
cursor: pointer;
display: inline-block;
width: 0.16rem;
height: 0.18rem;
background: url(~@/assets/home/sf_del.png) no-repeat;
margin-right: 0.05rem;
}
div {
cursor: pointer;
}
} }
</style> </style>

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 16:06:10 * @Date: 2022-06-08 16:06:10
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-06-15 20:44:47 * @LastEditTime: 2022-07-19 14:02:54
* @Description: 关联组件 * @Description: 关联组件
--> -->
<template> <template>

View File

@ -103,7 +103,11 @@
list.value.push('应用展示') list.value.push('应用展示')
} }
}) })
if (props.dataList.link && whoShow1.value.itShowQingDao) { if (
props.dataList.link &&
whoShow1.value.itShowQingDao &&
props.dataList.applyState === '通过'
) {
list.value.push('应用详情') list.value.push('应用详情')
} }
list.value.unshift('关联组件') list.value.unshift('关联组件')
@ -147,7 +151,11 @@
list.value.push('应用展示') list.value.push('应用展示')
} }
}) })
if (props.dataList.link && whoShow1.value.itShowQingDao) { if (
props.dataList.link &&
whoShow1.value.itShowQingDao &&
props.dataList.applyState === '通过'
) {
list.value.push('应用详情') list.value.push('应用详情')
} }
list.value.unshift('关联组件') list.value.unshift('关联组件')

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:56:28 * @Date: 2022-06-08 11:56:28
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-07-19 14:11:50 * @LastEditTime: 2022-07-20 15:02:12
* @Description: 算法详情页头部 * @Description: 算法详情页头部
--> -->
<template> <template>
@ -154,7 +154,7 @@
if (res.data.msg === 'success') { if (res.data.msg === 'success') {
message.success('取消成功') message.success('取消成功')
// eslint-disable-next-line vue/no-mutating-props // eslint-disable-next-line vue/no-mutating-props
props.dataList.isCollect = false props.dataList.isCollect = 'false'
scFlag2.value = true scFlag2.value = true
} }
}) })
@ -167,7 +167,7 @@
if (res.data.msg === 'success') { if (res.data.msg === 'success') {
message.success('添加收藏成功!') message.success('添加收藏成功!')
// eslint-disable-next-line vue/no-mutating-props // eslint-disable-next-line vue/no-mutating-props
props.dataList.isCollect = true props.dataList.isCollect = 'true'
scFlag2.value = true scFlag2.value = true
} }
}) })

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:56:28 * @Date: 2022-06-08 11:56:28
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-19 11:09:52 * @LastEditTime: 2022-07-19 15:02:47
* @Description: 算法详情页头部 * @Description: 算法详情页头部
--> -->
<template> <template>
@ -137,7 +137,7 @@
if (res.data.msg === 'success') { if (res.data.msg === 'success') {
message.success('取消成功') message.success('取消成功')
// eslint-disable-next-line vue/no-mutating-props // eslint-disable-next-line vue/no-mutating-props
props.dataList.isCollect = false props.dataList.isCollect = 'false'
scFlag2.value = true scFlag2.value = true
} }
}) })
@ -150,7 +150,7 @@
if (res.data.msg === 'success') { if (res.data.msg === 'success') {
message.success('添加收藏成功!') message.success('添加收藏成功!')
// eslint-disable-next-line vue/no-mutating-props // eslint-disable-next-line vue/no-mutating-props
props.dataList.isCollect = true props.dataList.isCollect = 'true'
scFlag2.value = true scFlag2.value = true
} }
}) })

View File

@ -237,6 +237,7 @@
max-width: 2.8rem; max-width: 2.8rem;
div { div {
max-width: 2.8rem; max-width: 2.8rem;
display: flex;
// overflow: hidden; // overflow: hidden;
// text-overflow: ellipsis; // text-overflow: ellipsis;
// display: -webkit-box; // display: -webkit-box;

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:56:28 * @Date: 2022-06-08 11:56:28
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-19 11:10:06 * @LastEditTime: 2022-07-19 15:03:50
* @Description: 开发组件详情页头部 * @Description: 开发组件详情页头部
--> -->
<template> <template>
@ -132,7 +132,7 @@
if (res.data.msg === 'success') { if (res.data.msg === 'success') {
message.success('取消成功') message.success('取消成功')
// eslint-disable-next-line vue/no-mutating-props // eslint-disable-next-line vue/no-mutating-props
props.dataList.isCollect = false props.dataList.isCollect = 'false'
scFlag2.value = true scFlag2.value = true
} }
}) })
@ -145,7 +145,7 @@
if (res.data.msg === 'success') { if (res.data.msg === 'success') {
message.success('添加收藏成功!') message.success('添加收藏成功!')
// eslint-disable-next-line vue/no-mutating-props // eslint-disable-next-line vue/no-mutating-props
props.dataList.isCollect = true props.dataList.isCollect = 'true'
scFlag2.value = true scFlag2.value = true
} }
}) })

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:56:28 * @Date: 2022-06-08 11:56:28
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-19 11:10:20 * @LastEditTime: 2022-07-19 15:04:02
* @Description: 算法详情页头部 * @Description: 算法详情页头部
--> -->
<template> <template>
@ -132,7 +132,7 @@
if (res.data.msg === 'success') { if (res.data.msg === 'success') {
message.success('取消成功') message.success('取消成功')
// eslint-disable-next-line vue/no-mutating-props // eslint-disable-next-line vue/no-mutating-props
props.dataList.isCollect = false props.dataList.isCollect = 'false'
scFlag2.value = true scFlag2.value = true
} }
}) })
@ -145,7 +145,7 @@
if (res.data.msg === 'success') { if (res.data.msg === 'success') {
message.success('添加收藏成功!') message.success('添加收藏成功!')
// eslint-disable-next-line vue/no-mutating-props // eslint-disable-next-line vue/no-mutating-props
props.dataList.isCollect = true props.dataList.isCollect = 'true'
scFlag2.value = true scFlag2.value = true
} }
}) })

View File

@ -26,8 +26,8 @@
</a-tooltip> </a-tooltip>
</div> </div>
<div class="right"> <div class="right">
<div @click="technical()">接口文档</div> <div @click="technical()">技术文档</div>
<div @click="technicalNew()">使用手册</div> <div @click="technicalNew()">新手指引</div>
</div> </div>
</div> </div>
<div class="content-right"> <div class="content-right">

View File

@ -945,6 +945,89 @@
const videoList = reactive({ data: [] }) const videoList = reactive({ data: [] })
const resourceTotal = ref('') const resourceTotal = ref('')
const getAppResources = (switchIndex) => { const getAppResources = (switchIndex) => {
if (switchIndex) {
if (switchIndex.length > 1) {
//switchIndex
paramsGetResources.name = searchValue.value
paramsGetResources.type = Cardsname.value
console.log(
'执行getAppResources====================》',
paramsGetResources
)
if (
!whoShow1.value.itShowBaoTou &&
paramsGetResources.type === '数据资源'
) {
if (switchIndex != '分页查询') {
paramsGetResources.pageNum = 1
}
let dataResourceParams = {
serviceName: paramsGetResources.name || '', //
orderField: whoShow1.value.itShowQingDao
? paramsGetResources.orderField == 'applyCount'
? 'syqk'
: 'fbrq'
: paramsGetResources.orderField == 'applyCount'
? 'requestCount'
: 'createTime', //
orderType: paramsGetResources.orderType.toLowerCase(), //descasc
pageNum: paramsGetResources.pageNum, //
pageSize: paramsGetResources.pageSize, //
}
getDataResource(dataResourceParams).then((res) => {
if (whoShow1.value.itShowQingDao) {
res.data.data.data.forEach((val) => {
val.id = val.guid // id
val.name = val.zyname //
val.sjlCount = val.sjcczl //
val.applyCount = val.syqk //
val.deptName = val.TGBM //
val.createDate = val.fbrq //
})
resourceList.data = res.data.data.data || []
resourceTotal.value = res.data.data.rows || ''
loading.value = false
} else if (whoShow1.value.itShowXiHaiAn) {
res.data.data.list.forEach((val) => {
val.id = val.serviceId // id
val.name = val.serviceName //
val.sjlCount = val.requestQuantity //
val.applyCount = val.requestCount //
val.deptName = val.departmentName //
val.createTime = val.createTime.split('.')[0]
val.createDate = val.createTime //
})
resourceList.data = res.data.data.list || []
resourceTotal.value = res.data.data.total || ''
loading.value = false
}
})
} else if (paramsGetResources.type !== '数据资源') {
if (switchIndex != '分页查询') {
paramsGetResources.pageNum = 1
}
pageWithAttrs(paramsGetResources).then((res) => {
console.log(
'查询列表============>',
resourceList,
res.data.data
)
resourceList.data = []
videoList.data = []
if (Cardsname.value === '基础设施') {
resourceList.data = res.data.data.records || []
resourceTotal.value = res.data.data.total || ''
loading.value = false
} else {
resourceTotal.value = res.data.data.total || ''
getShoppingCartList(res.data.data.records)
}
})
}
} else {
message.error('请输入一个字以上!')
}
} else {
//switchIndex //switchIndex
paramsGetResources.name = searchValue.value paramsGetResources.name = searchValue.value
paramsGetResources.type = Cardsname.value paramsGetResources.type = Cardsname.value
@ -1019,6 +1102,7 @@
}) })
} }
} }
}
let shoppingCartList = ref([]) let shoppingCartList = ref([])
// //

View File

@ -468,6 +468,7 @@
} }
// //
const getList = (type, index) => { const getList = (type, index) => {
console.log(type, index)
if (type == 'init') { if (type == 'init') {
pageNum.value = 1 pageNum.value = 1
pageSize.value = 99999 pageSize.value = 99999
@ -535,11 +536,13 @@
} }
// deptid // deptid
const getListByDeptId = (item) => { const getListByDeptId = (item) => {
console.log(item, 'item')
if (item.children.length == 0) { if (item.children.length == 0) {
selectResourceListByDept({ selectResourceListByDept({
pageNum: item.pageNum, pageNum: item.pageNum,
pageSize: item.pageSize, pageSize: item.pageSize,
deptId: item.deptId, deptId: item.deptId,
name: name.value,
}).then((res) => { }).then((res) => {
// console.log( // console.log(
// '=============>', // '=============>',