Compare commits

...

2 Commits

Author SHA1 Message Date
gongjiale 412ef09be8 11 2022-11-11 16:59:50 +08:00
gongjiale 27a8de9a93 能力上架回滚 2022-11-11 16:48:58 +08:00
7 changed files with 1609 additions and 2168 deletions

View File

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

View File

@ -7,19 +7,18 @@
--> -->
<template> <template>
<div class="box"> <div class="box">
<!-- <div class="header">能力上架申请</div> --> <div class="header">能力上架申请</div>
<div class="top"> <div class="top">
<div <div
v-for="(nav, index) in navList" v-for="(nav, index) in navList"
:key="nav" :key="nav"
:class="[index <= navList2.indexOf(showView) ? 'finish' : 'ff']" :class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
> >
<div class="wai">
<span class="bg-box"> <span class="bg-box">
<span>{{ index + 1 }}</span> <span>{{ index + 1 }}</span>
</span> </span>
<span class="bg-name">{{ nav.name }}</span> <span>{{ nav.name }}</span>
</div>
<div class="line" v-if="index !== navList.length - 1"></div> <div class="line" v-if="index !== navList.length - 1"></div>
</div> </div>
</div> </div>
@ -81,10 +80,37 @@
:required="required" :required="required"
:notFilled="notFilled" :notFilled="notFilled"
></put-on-the-shelf> ></put-on-the-shelf>
<!-- <algorithm-essential-information
v-if="showView === '基本信息' && refData.name"
:refData="refData"
:dataFrom="dataFrom"
:videoList="videoList"
></algorithm-essential-information>
<algorithm-advantage
v-else-if="showView === '算法优势'"
:refData="refData"
:dataFrom="dataFrom"
></algorithm-advantage>
<algorithm-scenarios
v-else-if="showView === '应用场景'"
:refData="refData"
:dataFrom="dataFrom"
></algorithm-scenarios> -->
<!-- <algorithm-scenarios
v-else-if="showView === '应用场景'"
:refData="refData"
:dataFrom="dataFrom"
></algorithm-scenarios> -->
<!-- <algorithm-deployment-use
v-else-if="showView === '部署与使用'"
:refData="refData"
:dataFrom="dataFrom"
:fileList="fileList"
:imgList="imgList"
></algorithm-deployment-use> -->
</div> </div>
<div class="btn" :class="showView === '基本信息' ? 'first' : ''"> <div class="btn" :class="showView === '基本信息' ? 'first' : ''">
<button @click="close()">取消</button>
<a-popconfirm <a-popconfirm
v-if=" v-if="
showView == '算法优势' && showView == '算法优势' &&
@ -98,7 +124,7 @@
@confirm="changeSfys('上一步')" @confirm="changeSfys('上一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">上一步</button> <button>上一步</button>
</a-popconfirm> </a-popconfirm>
<button <button
v-else-if=" v-else-if="
@ -107,7 +133,6 @@
sfys[0].list.length sfys[0].list.length
" "
@click="changeSfys('上一步')" @click="changeSfys('上一步')"
class="buzhou"
> >
上一步 上一步
</button> </button>
@ -124,7 +149,7 @@
@confirm="changeYycj('上一步')" @confirm="changeYycj('上一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">上一步</button> <button>上一步</button>
</a-popconfirm> </a-popconfirm>
<button <button
v-else-if=" v-else-if="
@ -133,11 +158,10 @@
yycj[0].list.length yycj[0].list.length
" "
@click="changeYycj('上一步')" @click="changeYycj('上一步')"
class="buzhou"
> >
上一步 上一步
</button> </button>
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()"> <button v-else-if="showView !== '基本信息'" @click="back()">
上一步 上一步
</button> </button>
<a-popconfirm <a-popconfirm
@ -154,9 +178,9 @@
@confirm="changeBs('预览')" @confirm="changeBs('预览')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">预览</button> <button>预览</button>
</a-popconfirm> </a-popconfirm>
<button v-else-if="showView === '部署与使用'" @click="preview()" class="buzhou"> <button v-else-if="showView === '部署与使用'" @click="preview()">
预览 预览
</button> </button>
<a-popconfirm <a-popconfirm
@ -172,7 +196,7 @@
@confirm="changeSfys('下一步')" @confirm="changeSfys('下一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">下一步</button> <button>下一步</button>
</a-popconfirm> </a-popconfirm>
<button <button
v-else-if=" v-else-if="
@ -181,7 +205,6 @@
sfys[0].list.length sfys[0].list.length
" "
@click="changeSfys('下一步')" @click="changeSfys('下一步')"
class="buzhou"
> >
下一步 下一步
</button> </button>
@ -198,7 +221,7 @@
@confirm="changeYycj('下一步')" @confirm="changeYycj('下一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">下一步</button> <button>下一步</button>
</a-popconfirm> </a-popconfirm>
<button <button
v-else-if=" v-else-if="
@ -207,11 +230,10 @@
yycj[0].list.length yycj[0].list.length
" "
@click="changeYycj('下一步')" @click="changeYycj('下一步')"
class="buzhou"
> >
下一步 下一步
</button> </button>
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()"> <button v-else-if="showView !== '部署与使用'" @click="next()">
下一步 下一步
</button> </button>
<a-popconfirm <a-popconfirm
@ -228,12 +250,11 @@
@confirm="changeBs('提交')" @confirm="changeBs('提交')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">提交</button> <button>提交</button>
</a-popconfirm> </a-popconfirm>
<button class="buzhou" v-else-if="服务商联系电话 === '部署与使用'" @click="submit()"> <button v-else-if="showView === '部署与使用'" @click="submit()">
提交 提交
</button> </button>
<button class="quxiao" @click="close()">取消</button>
</div> </div>
</div> </div>
</template> </template>
@ -427,14 +448,18 @@ const next = () => {
notFilled.value.push('部门联系人电话') notFilled.value.push('部门联系人电话')
} }
if ( if (
!dataFrom.value.infoList.filter((val) => val.attrType === '算法类别')[0] || !dataFrom.value.infoList.filter(
(val) => val.attrType === '算法类别'
)[0] ||
!dataFrom.value.infoList.filter((val) => val.attrType === '算法类别')[0] !dataFrom.value.infoList.filter((val) => val.attrType === '算法类别')[0]
.attrValue .attrValue
) { ) {
notFilled.value.push('算法类别') notFilled.value.push('算法类别')
} }
if ( if (
!dataFrom.value.infoList.filter((val) => val.attrType === '应用领域')[0] || !dataFrom.value.infoList.filter(
(val) => val.attrType === '应用领域'
)[0] ||
!dataFrom.value.infoList.filter((val) => val.attrType === '应用领域')[0] !dataFrom.value.infoList.filter((val) => val.attrType === '应用领域')[0]
.attrValue .attrValue
) { ) {
@ -704,7 +729,9 @@ const init = () => {
} }
}) })
data.value = res.data.data.children data.value = res.data.data.children
refData.value = data.value.filter((item) => item.name === showView.value)[0] refData.value = data.value.filter(
(item) => item.name === showView.value
)[0]
console.log('所有编目结构==============>', data.value) console.log('所有编目结构==============>', data.value)
}) })
} }
@ -822,7 +849,7 @@ onBeforeUnmount(() => {
.box { .box {
position: relative; position: relative;
top: 0.64rem; top: 0.64rem;
// margin: 0.15rem 3rem; margin: 0.15rem 4rem;
padding: 0.1rem; padding: 0.1rem;
background: #fff; background: #fff;
.header { .header {
@ -833,87 +860,57 @@ onBeforeUnmount(() => {
padding: 0 1rem; padding: 0 1rem;
} }
.top { .top {
font-size: 16px; margin: 0.1rem 0.2rem 0;
margin: 0.32px 0.4px 0; padding: 0.15rem 0.3rem;
padding: 24px 24pxs; background: #edf4fc;
display: flex;
justify-content: space-between;
div {
font-size: 0.18rem;
color: #999;
display: flex; display: flex;
justify-content: center; justify-content: center;
.ff {
color: #b3b3b3;
display: inline-flex;
justify-content: center;
align-items: center; align-items: center;
.wai {
margin-top: 14px;
.bg-box { .bg-box {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
width: 32px; width: 0.45rem;
height: 32px; height: 0.45rem;
border-radius: 50%; border-radius: 50%;
// border: 0.01rem solid rgb(214, 214, 214); border: 0.01rem solid rgb(214, 214, 214);
margin: 0px 16px; margin-right: 0.1rem;
transition: all 0.3s ease; transition: all 0.3s ease;
span { span {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
width: 32px; width: 0.3rem;
height: 32px; height: 0.3rem;
border-radius: 50%; border-radius: 50%;
border: 1px solid #d9d9d9; border: 0.01rem solid #999;
}
}
.bg-name {
color: #b3b3b3;
} }
} }
.line { .line {
// margin-left: 16px; margin-left: 0.1rem;
width: 326px; width: 1.3rem;
height: 2px; height: 0.01rem;
background: #d9d9d9; background: #999;
} }
} }
.finish { .finish {
color: #fff; color: #0087ff;
display: inline-flex;
justify-content: center;
align-items: center;
.wai {
margin-top: 14px;
.bg-box { .bg-box {
display: flex; background: #9ccefa;
justify-content: center; color: #fff;
align-items: center; border: 0.01rem solid #9ccefa;
width: 32px;
height: 32px;
border-radius: 50%;
// border: 0.01rem solid rgb(214, 214, 214);
margin: 0px 16px;
transition: all 0.3s ease;
span { span {
background: #0058e1; background: #0087ff;
display: flex; border: 0.01rem solid #0087ff;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid solid #0058e1;
}
}
.bg-name {
color: #212121;
font-weight: bold;
} }
} }
.line { .line {
// margin-left: 16px; background: #0087ff;
width: 326px;
height: 2px;
background: #0058e1;
} }
} }
.btn { .btn {
@ -945,55 +942,34 @@ onBeforeUnmount(() => {
} }
} }
.first { .first {
justify-content: center; justify-content: space-around;
} }
} }
.btn { .btn {
display: flex; display: flex;
justify-content: center; justify-content: space-between;
padding: 0.1rem 3.5rem 0; padding: 0.1rem 3.5rem 0;
// button { button {
// cursor: pointer;
// font-size: 14px;
// text-align: center;
// color: #fff;
// border: none;
// border-radius: 0.06rem;
// background: #0087ff;
// margin-right:12px;
// margin-right:12px;
.quxiao{
margin-right:12px;
cursor: pointer; cursor: pointer;
width: 90px; font-size: 0.14rem;
height: 32px; width: 0.8rem;
background: #ffffff; height: 0.35rem;
color:#0058e1; text-align: center;
border-radius: 2px; color: #fff;
border: 1px #0058e1 solid; border: none;
border-radius: 0.06rem;
background: #0087ff;
} }
// .quxiao:hover{ button:nth-of-type(1) {
// background: #0058e1; color: #0087ff;
// color:#ffffff; background: #e1edfa;
// } }
.buzhou{ button:nth-of-type(2) {
margin-right:12px; background: #01c5dc;
cursor: pointer;
background: #0058e1;
color:#ffffff;
width: 90px;
height: 32px;
border-radius: 2px;
border: 1px #0058e1 solid;
} }
// .buzhou:hover{
// background: #ffffff;
// color:#0058e1;
// }
} }
.first { .first {
justify-content: center; justify-content: space-around;
} }
} }
</style> </style>

View File

@ -8,18 +8,46 @@
<template> <template>
<div class="put-on-the-shelf"> <div class="put-on-the-shelf">
<div v-for="title in props.refData.children" :key="title.id"> <div v-for="title in props.refData.children" :key="title.id">
<!-- <div class="top"> <div class="top">
<div></div> <div></div>
<div>{{ title.name }}</div> <div>{{ title.name }}</div>
<div></div> <div></div>
</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="item"
v-for="(val, index) in data[title.name]"
:key="'key1' + val.name + index"
>
<p>
<span>{{ title.name }}-{{ index + 1 }}</span>
<span></span>
</p>
<p
v-for="attr in props.configure.filter(
(item, index2) => item.name === title.name
)[0].list"
:key="'key2' + attr.name + index2"
>
<span>{{ attr.name }}</span>
<span v-if="attr.type === 'image'">
<a-image :width="85" :height="60" :src="val.img" />
</span>
<span v-else>{{ val[attr.field] + (attr.company || '') }}</span>
</p>
<div class="del">
<i class="delImg" @click="del(title.name, index)"></i>
<div @click="del(title.name, index)">删除</div>
</div>
</div>
</div> -->
<div <div
v-for="(val, index) in data[title.name]" v-for="(val, index) in data[title.name]"
:key="'key1' + val.name + index" :key="'key1' + val.name + index"
> >
<!-- <div <div
style=" style="
font-size: 0.18rem; font-size: 0.18rem;
font-weight: 600; font-weight: 600;
@ -39,28 +67,6 @@
<div>删除</div> <div>删除</div>
</div> </div>
</a-popconfirm> </a-popconfirm>
</div> -->
<div
style="
font-size: 16px;
display: flex;
float: right;
top:0px;
margin-right: 28px;
"
>
<!-- <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>
<div <div
class="form" class="form"
@ -69,10 +75,8 @@
)[0].list" )[0].list"
:key="'key2' + attr.name + index2" :key="'key2' + attr.name + index2"
> >
<span>{{ attr.name }}</span>
<span ><front style="color:#e83a48"> *</front>{{ attr.name }}:</span>
<a-input <a-input
style="width:280px"
disabled disabled
v-model:value="val[attr.field]" v-model:value="val[attr.field]"
:maxlength="24" :maxlength="24"
@ -81,30 +85,25 @@
/> />
<template v-if="attr.type == 'input2'"> <template v-if="attr.type == 'input2'">
<a-input <a-input
style="width:280px"
disabled disabled
:maxLength="1000" :maxLength="1000"
v-model:value="val[attr.field]" v-model:value="val[attr.field]"
:placeholder="'请填写' + attr.name" :placeholder="'请填写' + attr.name"
/> />
</template> </template>
<template v-else-if="attr.type == 'textArea'"> <a-textarea
<a-input
style="width:1120px"
disabled
v-model:value="val[attr.field]"
:maxlength="1000"
:placeholder="'请填写' + attr.name + ',不超过1000个字符'"
/>
</template>
<!-- <a-textarea
disabled disabled
v-model:value="val[attr.field]" v-model:value="val[attr.field]"
:showCount="true" :showCount="true"
:maxlength="1000" :maxlength="1000"
:placeholder="'请填写' + attr.name" :placeholder="'请填写' + attr.name"
v-else-if="attr.type == 'textArea'" 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'"> <div v-else-if="attr.type == 'radio'">
{{ val[attr.field] + (attr.company || '') }} {{ val[attr.field] + (attr.company || '') }}
@ -112,13 +111,24 @@
<span v-else-if="attr.type === 'image'"> <span v-else-if="attr.type === 'image'">
<a-image :width="85" :height="60" :src="val.img" /> <a-image :width="85" :height="60" :src="val.img" />
</span> </span>
<!-- <upload
:key="showKey"
type="图片"
btnName="上传图片"
:maxCount="1"
:data="val"
:list="[]"
tip="支持图片类型大小不超过100M"
v-else-if="val.type == 'image'"
></upload> -->
</div> </div>
<div style="margin-top:24px;height:1px;border-top: 1px dashed #dddee1; width: 1240px;font-size: 18px;"></div>
</div> </div>
<!-- <div class="add" @click="add(title.name)">
<!-- <div style="font-size: 0.18rem; font-weight: 600border-top: 1px dashed grey; width: 1240px;font-size: 18px;"> 添加更多{{ title.name }}
<span>{{ title.name }}-{{ data[title.name].length + 1 }}</span>
</div> --> </div> -->
<div style="font-size: 0.18rem; font-weight: 600">
<span>{{ title.name }}-{{ data[title.name].length + 1 }}</span>
</div>
<div <div
class="form" class="form"
v-for="(val, index) in props.configure.filter( v-for="(val, index) in props.configure.filter(
@ -126,9 +136,8 @@
)[0].list" )[0].list"
:key="'key3' + val.name + index" :key="'key3' + val.name + index"
> >
<span ><front style="color:#e83a48"> *</front>{{ val.name }}:</span> <span>{{ val.name }}</span>
<a-input <a-input
style="width:280px"
v-model:value="val.note1" v-model:value="val.note1"
:maxlength="24" :maxlength="24"
:placeholder="'请填写' + val.name + ',不超过24个字符'" :placeholder="'请填写' + val.name + ',不超过24个字符'"
@ -136,7 +145,6 @@
/> />
<template v-if="val.type == 'input2'"> <template v-if="val.type == 'input2'">
<a-input <a-input
style="width:280px"
:maxLength="1000" :maxLength="1000"
v-model:value="val.note1" v-model:value="val.note1"
:placeholder="'请填写' + val.name" :placeholder="'请填写' + val.name"
@ -155,23 +163,13 @@
}} }}
</span> </span>
</template> </template>
<template v-else-if="val.type == 'textArea'"> <a-textarea
<a-input
style="width:1120px"
:showCount="true"
v-model:value="val.note1"
:maxlength="1000"
:placeholder="'请填写' + val.name + ',不超过1000个字符'"
/>
</template>
<!-- <a-textarea
v-model:value="val.note1" v-model:value="val.note1"
:showCount="true" :showCount="true"
:maxlength="1000" :maxlength="1000"
:placeholder="'请填写' + val.name" :placeholder="'请填写' + val.name"
v-else-if="val.type == 'textArea'" v-else-if="val.type == 'textArea'"
/> --> />
<a-input-number <a-input-number
v-model:value="val.note1" v-model:value="val.note1"
:min="0" :min="0"
@ -181,31 +179,12 @@
:placeholder="'请填写' + val.name" :placeholder="'请填写' + val.name"
v-else-if="val.type == 'number'" v-else-if="val.type == 'number'"
/> />
<!-- <a-radio-group <a-radio-group
v-model:value="val.note1" v-model:value="val.note1"
:options="val.options" :options="val.options"
@change="radioChange" @change="radioChange"
v-else-if="val.type == 'radio'" v-else-if="val.type == 'radio'"
/> --> />
<div
v-else-if="val.type == 'radio'"
class="danxuan-Area"
id="danxuan-Area"
>
<div
v-for="itemSelect in val.options"
:key="itemSelect"
class="danxuan-Area-son"
@click="radioChangeNew(val, itemSelect)"
:class="
val.note1 && val.note1=== itemSelect
? 'danxuan-Area-down'
: ''
"
>
{{ itemSelect }}
</div>
</div>
<upload <upload
:key="showKey" :key="showKey"
type="图片" type="图片"
@ -217,15 +196,9 @@
v-else-if="val.type == 'image'" v-else-if="val.type == 'image'"
></upload> ></upload>
</div> </div>
<div style="margin-top:24px;height:1px;border-top: 1px dashed #dddee1; width: 1240px;font-size: 18px;"></div>
<div class="submit"> <div class="submit">
<a-button type="primary" @click="add(title.name)"> <a-button type="primary" @click="add(title.name)">
<img 添加更多{{ title.name }}
style="height: 12px; width: 12px;margin-top: -2px;"
src="../../../assets/home/zhengjia.png"
alt=""
/>
<span style="margin-left: 4px">添加多个{{ title.name }}</span>
</a-button> </a-button>
</div> </div>
</div> </div>
@ -255,7 +228,7 @@
<b class="required" v-if="required.indexOf(item.name) > -1"> <b class="required" v-if="required.indexOf(item.name) > -1">
* *
</b> </b>
{{ item.name }} : {{ item.name }}
</div> </div>
<a-input <a-input
:maxLength="1000" :maxLength="1000"
@ -273,59 +246,26 @@
:placeholder="'请输入' + item.name + '不超过50个字符'" :placeholder="'请输入' + item.name + '不超过50个字符'"
@change="changeIiem(item.name, item.note1)" @change="changeIiem(item.name, item.note1)"
/> />
<!-- <a-radio-group <a-radio-group
v-else-if="item.type == 'radio'" v-else-if="item.type == 'radio'"
v-model:value="item.note1" v-model:value="item.note1"
:options="item.options" :options="item.options"
@change="changeIiem(item.name, item.note1)" @change="changeIiem(item.name, item.note1)"
/> --> />
<!-- 接口请求方式 单选框样式改变 --> <a-input
<!-- <div v-else-if="item.type == 'radio'">ddd </div> -->
<div
v-else-if="item.type == 'radio'"
class="danxuan-Area"
id="danxuan-Area"
>
<div
v-for="itemSelect in item.options"
:key="itemSelect"
class="danxuan-Area-son"
@click="danxuanRadio(item, itemSelect)"
:class="
item.note1 && item.note1 === itemSelect
? 'danxuan-Area-down'
: ''
"
>
{{ itemSelect }}
</div>
</div>
<!-- <a-input
v-else-if="item.type == 'AbilityType'" v-else-if="item.type == 'AbilityType'"
:maxLength="1000" :maxLength="1000"
v-model:value="item.note1" v-model:value="item.note1"
:placeholder="'请输入' + item.name" :placeholder="'请输入' + item.name"
:disabled="true" :disabled="true"
/> --> />
<span <a-input
v-else-if="item.type == 'AbilityType'"
style="font-weight: bold; color: #212121"
>
{{ item.note1 }}
</span>
<span
v-else-if="item.type == 'ComponentType'"
style="font-weight:bold;color:#212121}"
>
{{ item.note1 }}
</span>
<!-- <a-input
v-else-if="item.type == 'ComponentType'" v-else-if="item.type == 'ComponentType'"
v-model:value="item.note1" v-model:value="item.note1"
:maxLength="1000" :maxLength="1000"
:placeholder="'请输入' + item.name" :placeholder="'请输入' + item.name"
:disabled="true" :disabled="true"
/> --> />
<a-textarea <a-textarea
v-else-if="item.type == 'textArea'" v-else-if="item.type == 'textArea'"
v-model:value="item.note1" v-model:value="item.note1"
@ -405,18 +345,15 @@
<VueTemplateDemo :dataFrom="props.dataFrom"></VueTemplateDemo> <VueTemplateDemo :dataFrom="props.dataFrom"></VueTemplateDemo>
</div> </div>
</div> </div>
<upload <upload
v-else-if="item.type == 'video'" v-else-if="item.type == 'video'"
type="视频" type="视频"
btnName="上传视频" btnName="上传视频"
:maxCount="1" :maxCount="1"
:data="item" :data="item"
: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"
@ -456,11 +393,11 @@
{{ itemSelect.dictLabel }} {{ itemSelect.dictLabel }}
</a-select-option> </a-select-option>
</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: 2.4rem" style="width: 2.4rem"
v-model:value="item.note1" v-model:value="item.note1"
:placeholder="'请选择11' + item.name" :placeholder="'请选择' + item.name"
@change="changeIiem(item.name, item.note1)" @change="changeIiem(item.name, item.note1)"
> >
<a-select-option <a-select-option
@ -470,27 +407,7 @@
> >
{{ itemSelect.dictLabel }} {{ itemSelect.dictLabel }}
</a-select-option> </a-select-option>
</a-select> --> </a-select>
<div
v-else-if="item.type == 'select' && item.name !== '归属部门'"
class="danxuan-Area"
id="danxuan-Area"
>
<div
v-for="(itemSelect, indexSelect) in item.options"
:key="indexSelect"
:value="itemSelect.dictLabel"
class="danxuan-Area-son"
@click="danxuanArea(item, item.name, itemSelect.dictLabel)"
:class="
item.note1 && item.note1 === itemSelect.dictLabel
? 'danxuan-Area-down'
: ''
"
>
{{ itemSelect.dictLabel }}
</div>
</div>
<a-select <a-select
v-else-if="item.name === '归属部门'" v-else-if="item.name === '归属部门'"
style="width: 2.4rem" style="width: 2.4rem"
@ -521,7 +438,6 @@
" "
> >
{{ itemson.dictLabel }} {{ itemson.dictLabel }}
<div class="application-Area-son-son"></div>
</div> </div>
</div> </div>
</div> </div>
@ -625,8 +541,6 @@ const router = useRouter()
const abilityToType = router.currentRoute.value.query.abilityToType const abilityToType = router.currentRoute.value.query.abilityToType
const componentTypeValue = router.currentRoute.value.query.componentTypeValue const componentTypeValue = router.currentRoute.value.query.componentTypeValue
const changeField = ref([]) const changeField = ref([])
//
const chooseField = ref([])
const props = defineProps({ const props = defineProps({
// //
refData: { type: Object, default: null }, refData: { type: Object, default: null },
@ -691,8 +605,10 @@ const props = defineProps({
// }] // }]
}) })
const emit = defineEmits(['next', 'back', 'submit', 'preview']) const emit = defineEmits(['next', 'back', 'submit', 'preview'])
// console.log('props==========>', props)
const changeAdd = () => {} const changeAdd = () => {
console.log('子组件方法触发~')
}
const data = ref({ const data = ref({
list: [], list: [],
}) })
@ -701,19 +617,6 @@ const numType = ref('一次性买断')
const radioChange = (e) => { const radioChange = (e) => {
numType.value = e.target.value numType.value = e.target.value
} }
const radioChangeNew = (item,itemSelect) => {
if (item.note1) {
if (item.note1 === itemSelect) {
item.note1 = null
} else {
item.note1 = itemSelect
}
} else {
item.note1 = itemSelect
}
numType.value =itemSelect
}
const changeIiem = (name, value) => { const changeIiem = (name, value) => {
if (value && value !== '' && changeField.value.indexOf(name) == -1) { if (value && value !== '' && changeField.value.indexOf(name) == -1) {
changeField.value.push(name) changeField.value.push(name)
@ -723,7 +626,6 @@ const changeIiem = (name, value) => {
} }
} }
} }
props.refData.children.map((item) => { props.refData.children.map((item) => {
if (item.name == '基本信息') { if (item.name == '基本信息') {
item.children.map((val) => { item.children.map((val) => {
@ -789,11 +691,12 @@ arr.forEach((val) => {
item.options = dataList item.options = dataList
if (!item.note1) { if (!item.note1) {
getUserInfo().then(({ data: res1 }) => { getUserInfo().then(({ data: res1 }) => {
console.log(res1.data)
item.note1 = res1.data.deptId item.note1 = res1.data.deptId
item.note2 = item.options.filter( item.note2 = item.options.filter(
(val) => val.value == item.note1 (val) => val.value == item.note1
)[0] )[0]
console.log('默认部门=========>', item, res1.data)
data.value.list.push(item) data.value.list.push(item)
}) })
} else { } else {
@ -840,8 +743,10 @@ arr.forEach((val) => {
data.value.list.push(item) data.value.list.push(item)
} }
}) })
console.log('props.dataFrom', data.value.list)
}) })
if (props.dataFrom) { if (props.dataFrom) {
// console.log(props.dataFrom, data.value.list)
props.dataFrom.infoList.forEach((item) => { props.dataFrom.infoList.forEach((item) => {
if ( if (
props.configure && props.configure &&
@ -855,6 +760,7 @@ if (props.dataFrom) {
// ; // ;
child.note2 = item.attrValue.split(';') child.note2 = item.attrValue.split(';')
showKey.value++ showKey.value++
// console.log('', item, item.attrValue.split(';'), child)
} }
}) })
}) })
@ -865,16 +771,20 @@ if (props.dataFrom) {
// //
let showText = ref(false) let showText = ref(false)
const showTextFunction = () => { const showTextFunction = () => {
console.log('点击富文本=========================>')
showText.value = true showText.value = true
} }
mybus.on('showTextFunctionEmit', (show) => { mybus.on('showTextFunctionEmit', (show) => {
console.log('ssdcsd')
showText.value = show showText.value = show
}) })
mybus.off('func') mybus.off('func')
const add = (title, addFlag, type) => { const add = (title, addFlag, type) => {
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
list.forEach((item) => { list.forEach((item) => {
// console.log(item)
if (item.type !== 'number' && !item.note1.length > 0) { if (item.type !== 'number' && !item.note1.length > 0) {
flag = false flag = false
} else if (item.type === 'number' && !item.note1 > 0) { } else if (item.type === 'number' && !item.note1 > 0) {
@ -911,7 +821,7 @@ const add = (title, addFlag, type) => {
if (!sfFlag) { if (!sfFlag) {
data.value[title].push(obj) data.value[title].push(obj)
} }
// console.log(data.value[title])
mybus.emit('chageDataFrom', { mybus.emit('chageDataFrom', {
attrType: title, attrType: title,
attrValue: JSON.stringify(data.value[title]), attrValue: JSON.stringify(data.value[title]),
@ -961,17 +871,24 @@ const del = (title, index) => {
}) })
} }
const ApplicationArea = (item, itemson) => { const ApplicationArea = (item, itemson) => {
// console.log('=========', item, itemson)
// console.log(item, itemson)
if (item.note2.indexOf(itemson.dictLabel) === -1) { if (item.note2.indexOf(itemson.dictLabel) === -1) {
item.note2.push(itemson.dictLabel) item.note2.push(itemson.dictLabel)
} else { } else {
item.note2.splice(item.note2.indexOf(itemson.dictLabel), 1) item.note2.splice(item.note2.indexOf(itemson.dictLabel), 1)
} }
// //
if (item.note2.length !== 0 && changeField.value.indexOf('应用领域') == -1) { if (
item.note2.length !== 0 &&
changeField.value.indexOf('应用领域') == -1
) {
changeField.value.push('应用领域') changeField.value.push('应用领域')
console.log('点击=========》1', changeField.value, item.note2)
} else if (item.note2.length == 0) { } else if (item.note2.length == 0) {
if (changeField.value.indexOf('应用领域') > -1) { if (changeField.value.indexOf('应用领域') > -1) {
changeField.value.splice(changeField.value.indexOf('应用领域'), 1) changeField.value.splice(changeField.value.indexOf('应用领域'), 1)
console.log('点击=========》2', changeField.value, item.note2)
} }
} }
mybus.emit('chageDataFrom', { mybus.emit('chageDataFrom', {
@ -980,32 +897,6 @@ const ApplicationArea = (item, itemson) => {
delFlag: 0, delFlag: 0,
}) })
} }
const danxuanArea = (item, itemSelect, indexSelect) => {
if (item.note1) {
if (item.note1 === indexSelect) {
item.note1 = null
} else {
item.note1 = indexSelect
}
} else {
item.note1 = indexSelect
}
changeIiem(itemSelect, indexSelect)
}
const danxuanRadio= (item, itemSelect) => {
if (item.note1) {
if (item.note1 === itemSelect) {
item.note1 = null
} else {
item.note1 = itemSelect
}
} else {
item.note1 = itemSelect
}
changeIiem(item.name, item.note1)
}
// //
const visibleAssociatedApplication = ref(false) const visibleAssociatedApplication = ref(false)
const visibleAssociatedApplicationOther = ref(false) const visibleAssociatedApplicationOther = ref(false)
@ -1026,6 +917,7 @@ const sourceClick = () => {
queryApplicationRelByResourceId({ queryApplicationRelByResourceId({
referenceId: 0, referenceId: 0,
}).then((res) => { }).then((res) => {
// console.log(res.data.data.notLinked)
res.data.data.notLinked.forEach((val, index) => { res.data.data.notLinked.forEach((val, index) => {
mockData.value.push({ mockData.value.push({
key: val.id, key: val.id,
@ -1038,10 +930,13 @@ const sourceClick = () => {
val.attrValue.split(',').forEach((item) => { val.attrValue.split(',').forEach((item) => {
targetKeys.value.push(item) targetKeys.value.push(item)
}) })
console.log(targetKeys.value)
// console.log('wowowo')
} else if (val.attrType === '来源应用' && val.attrValue == '') { } else if (val.attrType === '来源应用' && val.attrValue == '') {
queryApplicationRelByResourceId({ queryApplicationRelByResourceId({
referenceId: 0, referenceId: 0,
}).then((res) => { }).then((res) => {
// console.log(res.data.data.notLinked)
res.data.data.notLinked.forEach((val, index) => { res.data.data.notLinked.forEach((val, index) => {
mockData.value.push({ mockData.value.push({
key: val.id, key: val.id,
@ -1066,6 +961,7 @@ const componentsClick = () => {
type: '组件服务', type: '组件服务',
referenceName: '', referenceName: '',
}).then((res) => { }).then((res) => {
// console.log(res.data.data.notLinked)
res.data.data.notLinked.forEach((val, index) => { res.data.data.notLinked.forEach((val, index) => {
mockDataOther.value.push({ mockDataOther.value.push({
key: val.id, key: val.id,
@ -1078,12 +974,15 @@ const componentsClick = () => {
val.attrValue.split(',').forEach((item) => { val.attrValue.split(',').forEach((item) => {
targetKeysOther.value.push(item) targetKeysOther.value.push(item)
}) })
console.log(targetKeysOther.value)
// console.log('wowowo')
} else if (val.attrType === '关联组件信息' && val.attrValue == '') { } else if (val.attrType === '关联组件信息' && val.attrValue == '') {
queryResourceRelByKeyId({ queryResourceRelByKeyId({
keyId: 0, keyId: 0,
type: '组件服务', type: '组件服务',
referenceName: '', referenceName: '',
}).then((res) => { }).then((res) => {
// console.log(res.data.data.notLinked)
res.data.data.notLinked.forEach((val, index) => { res.data.data.notLinked.forEach((val, index) => {
mockDataOther.value.push({ mockDataOther.value.push({
key: val.id, key: val.id,
@ -1099,22 +998,35 @@ const selectedKeys = ref([])
const selectedKeysOther = ref([]) const selectedKeysOther = ref([])
const handleChange = (nextTargetKeys, direction, moveKeys) => { const handleChange = (nextTargetKeys, direction, moveKeys) => {
console.log('targetKeys: ', nextTargetKeys)
console.log('direction: ', direction)
console.log('moveKeys: ', moveKeys)
if (direction === 'right') { if (direction === 'right') {
targetKeys.value = moveKeys.filter((item, index) => index === 0) targetKeys.value = moveKeys.filter((item, index) => index === 0)
} }
} }
const handleSelectChange = (sourceSelectedKeys, targetSelectedKeys) => {} const handleSelectChange = (sourceSelectedKeys, targetSelectedKeys) => {
const handleChangeOther = (nextTargetKeys, direction, moveKeys) => {} console.log('targetSelectedKeys: ', targetSelectedKeys, sourceSelectedKeys)
const handleSelectChangeOther = (sourceSelectedKeys, targetSelectedKeys) => {} }
const handleChangeOther = (nextTargetKeys, direction, moveKeys) => {
console.log('targetKeys: ', nextTargetKeys)
console.log('direction: ', direction)
console.log('moveKeys: ', moveKeys)
}
const handleSelectChangeOther = (sourceSelectedKeys, targetSelectedKeys) => {
console.log('targetSelectedKeys: ', targetSelectedKeys, sourceSelectedKeys)
}
const filterOptionTransfer = (inputValue, option) => { const filterOptionTransfer = (inputValue, option) => {
console.log(option, 'option')
return option.description.indexOf(inputValue) > -1 return option.description.indexOf(inputValue) > -1
} }
const handleOk = (e) => { const handleOk = (e) => {
console.log(e)
visibleAssociatedApplicationOther.value = false visibleAssociatedApplicationOther.value = false
visibleAssociatedApplication.value = false visibleAssociatedApplication.value = false
// 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 + ''
@ -1124,6 +1036,7 @@ const handleOk = (e) => {
}) })
} }
const handleCancel = (e) => { const handleCancel = (e) => {
console.log(e)
visibleAssociatedApplicationOther.value = false visibleAssociatedApplicationOther.value = false
visibleAssociatedApplication.value = false visibleAssociatedApplication.value = false
} }
@ -1131,11 +1044,14 @@ const handleCancel = (e) => {
const showType = ref('') const showType = ref('')
const showTypeClick = (e) => { const showTypeClick = (e) => {
showType.value = e showType.value = e
console.log(e, 'showType', showType.value)
} }
showTypeClick('调用接口') showTypeClick('调用接口')
watch(data.value.list, (newProps, oldProps) => { watch(data.value.list, (newProps, oldProps) => {
console.log('数据发生改变==========>', newProps, oldProps)
newProps.forEach((val) => { newProps.forEach((val) => {
// console.log('==========>', val)
if ( if (
props.configure && props.configure &&
props.configure.filter((item) => item.name === val.name).length > 0 props.configure.filter((item) => item.name === val.name).length > 0
@ -1153,7 +1069,7 @@ watch(data.value.list, (newProps, oldProps) => {
if (val.options) { if (val.options) {
note2 = val.options.filter((item) => item.value == val.note1)[0] note2 = val.options.filter((item) => item.value == val.note1)[0]
} }
console.log('chageDataFromDwon===================>', val)
mybus.emit('chageDataFromDwon', { mybus.emit('chageDataFromDwon', {
attrType: val.name, attrType: val.name,
attrValue: val.note1, attrValue: val.note1,
@ -1163,6 +1079,7 @@ watch(data.value.list, (newProps, oldProps) => {
} else { } else {
if (val.name !== '应用领域' && val.name !== '发布端') { if (val.name !== '应用领域' && val.name !== '发布端') {
if (val.name == '算法介绍视频') { if (val.name == '算法介绍视频') {
console.log('变更视频==================>', val)
mybus.emit('chageDataFrom', { mybus.emit('chageDataFrom', {
attrType: val.name, attrType: val.name,
attrValue: val.note1, attrValue: val.note1,
@ -1186,13 +1103,22 @@ const applicationsChange = (value) => {
item.note1 = value item.note1 = value
} }
}) })
console.log(`selected ${value}`)
} }
const handleBlur = () => {} const handleBlur = () => {
const applicationsBlur = () => {} console.log('blur')
}
const applicationsBlur = () => {
console.log('blur')
}
const handleFocus = () => {} const handleFocus = () => {
const applicationsFocus = () => {} 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
@ -1206,53 +1132,13 @@ const applicationsOption = (input, option) => {
</script> </script>
<style></style> <style></style>
<style lang="less" scoped> <style lang="less" scoped>
:deep(.upload-list-inline .ant-upload .ant-btn) {
height: 150px;
width: 218px;
border: 1px solid rgba(198, 198, 198, 0.5);
border-radius: 2px;
background: rgba(0, 88, 225, 0.05);
color: #0087ff;
font-size: 14px;
}
:deep(.upload-list-inline .ant-upload .ant-btn > span) {
background: url('~@/assets/home/yuanjia.png') no-repeat;
color: #666666;
background-position: center;
text-align: center;
line-height: 120px;
height: 50px;
}
//
:deep(.ant-select-arrow) {
background: url('~@/assets/home/huixia.png') no-repeat;
cursor: pointer;
margin-top: -4px;
margin-right: -4px;
}
//
:deep(.ant-select-arrow .anticon) {
vertical-align: top;
transition: transform 0.3s;
display: none;
}
// :deep(.ant-select-arrow :focus) {
// background:url('~@/assets/home/huishang.png') no-repeat ;
// cursor: pointer;
// margin-top: -4px;
// margin-right: -4px;
// }
.put-on-the-shelf { .put-on-the-shelf {
margin: 0.15rem 2rem; height: 6.8rem;
background: rgb(246, 247, 249, 0.8);
height: 846px;
overflow: scroll; overflow: scroll;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
padding: 0.5rem 1rem 0.25rem;
.Technical-text { .Technical-text {
height: 0.3rem; height: 0.3rem;
width: 1rem; width: 1rem;
@ -1269,13 +1155,12 @@ const applicationsOption = (input, option) => {
} }
& > div { & > div {
padding: 0px 0px 24px 24px;
width: 100%; width: 100%;
font-size: 14px; margin-top: 0.6rem;
.top { .top {
color: #333333; color: #333333;
font-size: 0.22rem;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@ -1294,7 +1179,7 @@ const applicationsOption = (input, option) => {
} }
.bottom { .bottom {
// margin-top: 0.25rem; margin-top: 0.25rem;
.items { .items {
background: #fafafa; background: #fafafa;
@ -1328,18 +1213,17 @@ const applicationsOption = (input, option) => {
} }
.form { .form {
min-height: 32px; margin-top: 0.2rem;
margin-top: 24px;
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: 1.0rem; width: 1.2rem;
} }
:deep(.ant-input-textarea) { :deep(.ant-input-textarea) {
width: 1000px; width: 5.2rem;
} }
:deep(.ant-radio-group) { :deep(.ant-radio-group) {
@ -1370,27 +1254,16 @@ const applicationsOption = (input, option) => {
margin-top: 0.4rem; margin-top: 0.4rem;
font-size: 0.14rem; font-size: 0.14rem;
display: flex; display: flex;
justify-content: center; justify-content: flex-end;
.ant-btn { .ant-btn {
width: 260px; width: 1.8rem;
height: 32px; height: 0.3rem;
text-align: center; text-align: center;
background: #fff; background: #d9ebff;
color: #0558e1; color: #0087ff;
border: 1px solid #0558e1; border: 0.01rem solid #0087ff;
border-radius: 2px; border-radius: 0.06rem;
font-size: 14px;
}
.ant-btn:hover{
background: #fff;
color: #0558e1;
opacity: 0.8;
}
.ant-btn:active{
background: #fff;
color: #0558e1;
opacity: 0.8
} }
} }
} }
@ -1400,85 +1273,32 @@ const applicationsOption = (input, option) => {
margin-top: 0; margin-top: 0;
} }
} }
.danxuan-Area {
display: grid;
margin-top: -0.05rem;
grid-template-columns: auto auto auto auto auto auto;
border-right: 1px #0558e1 solid;
.danxuan-Area-son {
cursor: pointer;
min-width: 80px;
height: 32px;
border-radius: 2px;
color: #0558e1;
background: #fff;
border-left: 1px #0558e1 solid;
border-bottom: 1px #0558e1 solid;
border-top: 1px #0558e1 solid;
display: flex;
justify-content: center;
align-items: center;
}
.danxuan-Area-son:hover {
color: #fff;
background: #0558e1;
}
.danxuan-Area-down {
background: #0058e1;
color: #fff;
// border: 1px #0558e1 solid;
}
}
.application-Area { .application-Area {
width: 5.2rem;
display: grid; display: grid;
margin-top: -0.05rem; margin-top: -0.05rem;
grid-template-columns: auto auto auto auto auto auto; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
.application-Area-son { .application-Area-son {
cursor: pointer; cursor: pointer;
width: 162px; font-size: 0.14rem;
height: 32px; width: 0.9rem;
border-radius: 2px; height: 0.26rem;
color: #212121; border-radius: 0.13rem;
background: rgba(96, 99, 104, 0.1); color: #333333;
border: 0.01rem rgba(96, 99, 104, 0.1) solid; background: #f5f5f5;
border: 0.01rem #cccccc solid;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
margin-top: 8px; margin-top: 0.1rem;
margin-right: 8px; font-weight: 500;
position: relative;
.application-Area-son-son {
position: absolute;
right: 0px;
top: 0px;
z-index: 100;
width: 16px;
height: 16px;
background: url('~@/assets/home/kong.png') no-repeat;
}
}
.application-Area-son:hover {
opacity: 0.9;
color: #0058e1;
border: 1px #0558e1 solid;
} }
.application-Area-down { .application-Area-down {
opacity: 0.9; background: #0087ff;
color: #0058e1; color: #fff;
border: 1px #0558e1 solid;
.application-Area-son-son {
position: absolute;
right: 0px;
top: 0px;
z-index: 100;
width: 16px;
height: 16px;
background: url('~@/assets/home/duihao.png') no-repeat;
}
} }
} }
@ -1566,7 +1386,6 @@ const applicationsOption = (input, option) => {
background: url(~@/assets/home/sf_del.png) no-repeat; background: url(~@/assets/home/sf_del.png) no-repeat;
margin-right: 0.05rem; margin-right: 0.05rem;
} }
div { div {
cursor: pointer; cursor: pointer;
} }
@ -1579,47 +1398,20 @@ const applicationsOption = (input, option) => {
.box { .box {
display: flex; display: flex;
align-items: center; align-items: center;
min-height: 32px;
// margin: 15px 0; // margin: 15px 0;
& > div:nth-of-type(1) { & > div:nth-of-type(1) {
text-align: right; width: 105px;
width: 110px; display: flex;
margin-right: 16px;
// display: flex;
align-items: center; align-items: center;
} }
.required { .required {
color: #e83e48; color: #f56c6c;
margin-left: -6px; margin-right: 3px;
} }
} }
:deep(.the-new-release .box .first) {
justify-content: center !important;
padding: 10px 350px 0;
button {
cursor: pointer;
width: 80px;
height: 35px;
text-align: center;
color: #fff;
border: none;
border-radius: 6px;
background: yellow;
}
button:nth-of-type(1) {
color: red;
background: #e1edfa;
}
button:nth-of-type(2) {
background: yellow;
}
}
.requiredTips { .requiredTips {
font-size: 14px; font-size: 14px;
color: #e83e48; color: #f56c6c;
position: absolute; position: absolute;
bottom: -20px; bottom: -20px;
left: 110px; left: 110px;

View File

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

View File

@ -18,21 +18,12 @@
></OffTheShelf> ></OffTheShelf>
<Demand :refObj="refObj" v-else-if="showType === '能力需求'"></Demand> <Demand :refObj="refObj" v-else-if="showType === '能力需求'"></Demand>
<Comment :refObj="refObj" v-else-if="showType === '需求评论'"></Comment> <Comment :refObj="refObj" v-else-if="showType === '需求评论'"></Comment>
<dataResourceApplication
:refObj="refObj"
v-else-if="showType === '数据资源申请'"
></dataResourceApplication>
<OtherApplications :refObj="refObj" v-else></OtherApplications> <OtherApplications :refObj="refObj" v-else></OtherApplications>
<div> <div>
<div class="title">审批详情</div> <div class="title">审批详情</div>
<template v-for="item in dataSource.data" :key="item"> <template v-for="item in dataSource.data" :key="item">
<div class="oddNumbers">子单号:{{ item[0] }}</div> <div class="oddNumbers">子单号:{{ item[0] }}</div>
<a-table <a-table :dataSource="item[1]" :columns="columns">
:dataSource="item[1]"
:columns="dataSourceColumns"
v-if="showType === '数据资源申请'"
></a-table>
<a-table :dataSource="item[1]" :columns="columns" v-else>
<template #bodyCell="{ column, text }"> <template #bodyCell="{ column, text }">
<template v-if="column.dataIndex === 'name'"> <template v-if="column.dataIndex === 'name'">
<a>{{ text }}</a> <a>{{ text }}</a>
@ -49,7 +40,6 @@
import OffTheShelf from './OffTheShelf.vue' import OffTheShelf from './OffTheShelf.vue'
import Demand from './Demand.vue' import Demand from './Demand.vue'
import Comment from './Comment.vue' import Comment from './Comment.vue'
import dataResourceApplication from './dataResourceApplication.vue'
import DeviceApplyDetail from './DeviceApplyDetail.vue' import DeviceApplyDetail from './DeviceApplyDetail.vue'
import OtherApplications from '@/views/personalCenter/components/OtherApplications ' import OtherApplications from '@/views/personalCenter/components/OtherApplications '
import { onMounted, reactive, defineProps, ref } from 'vue' import { onMounted, reactive, defineProps, ref } from 'vue'
@ -169,33 +159,8 @@
width: '180px', width: '180px',
}, },
] ]
const dataSourceColumns = [
{
title: '操作',
dataIndex: 'cz',
key: 'cz',
width: '180px',
},
{
title: '处理用户',
dataIndex: 'czyh',
key: 'czyh',
width: '180px',
},
{
title: '处理时间',
dataIndex: 'clsj',
key: 'clsj',
width: '180px',
},
{
title: '备注',
dataIndex: 'remark',
key: 'remark',
width: '180px',
},
]
const getInfo = () => { const getInfo = () => {
console.log(props.processInstanceId, '============================')
if (props.processDefinitionName == '能力申请') { if (props.processDefinitionName == '能力申请') {
// getTaskVariables({ taskId: props.processInstanceId }).then((res) => { // getTaskVariables({ taskId: props.processInstanceId }).then((res) => {
// console.log('====================>', res.data.data) // console.log('====================>', res.data.data)
@ -240,6 +205,7 @@
shifoushizujian.value = false shifoushizujian.value = false
console.log(res.data.data.resourceDTO) console.log(res.data.data.resourceDTO)
res.data.data.resourceDTO.infoList.forEach((val) => { res.data.data.resourceDTO.infoList.forEach((val) => {
console.log(val, '111111111111111111111111')
if (val.attrValue === '智能算法') { if (val.attrValue === '智能算法') {
nameNotShow.value = true nameNotShow.value = true
algorithmShow.value = false algorithmShow.value = false
@ -247,6 +213,7 @@
} }
}) })
} }
console.log('222222222222', dataForm.data)
}) })
} }
if (props.processDefinitionName == '能力资源下架') { if (props.processDefinitionName == '能力资源下架') {
@ -288,6 +255,7 @@
}) })
const getResourceURL = () => { const getResourceURL = () => {
console.log('111111111111111111111111111111', Cookies.get('token'))
const params = qs.stringify({ const params = qs.stringify({
token: Cookies.get('token'), token: Cookies.get('token'),
// processInstanceId: this.dataForm.processInstanceId // processInstanceId: this.dataForm.processInstanceId

View File

@ -12,7 +12,7 @@
{{ item }} {{ item }}
</div> </div>
</div> </div>
<div class="tab" v-show="typeIndex != 5"> <div class="tab">
<span>申请状态</span> <span>申请状态</span>
<div <div
:class="tabIndex == index ? 'tabclass' : ' '" :class="tabIndex == index ? 'tabclass' : ' '"
@ -39,49 +39,32 @@
:key="item.index" :key="item.index"
> >
<div class="content-body-title"> <div class="content-body-title">
<span>申请单号{{ item.applyNumber || item.GUID || '--' }}</span> <span>申请单号{{ item.applyNumber || '--' }}</span>
<div></div> <div></div>
</div> </div>
<a-tooltip> <a-tooltip>
<template #title> <template #title>
{{ {{ item.cameraList ? item.system : (item.title|| item.name) }}
item.cameraList
? item.system
: item.title || item.name || item.title
}}
</template> </template>
<div class="content-body-title"> <div class="content-body-title">
<span> <span>
名称{{ 名称{{
item.cameraList item.cameraList ? item.system : (item.title || item.name)
? item.system
: item.title || item.name || item.title
}} }}
</span> </span>
<div></div> <div></div>
</div> </div>
</a-tooltip> </a-tooltip>
<div class="content-body-content"> <div class="content-body-content">
<p <p class="content-body-content-son" v-if="typeName !== '设备申请'">
class="content-body-content-son"
v-if="typeName !== '设备申请' && typeName !== '数据资源申请'"
>
审核结果{{ item.ended ? '审核完成' : '审核中' }} 审核结果{{ item.ended ? '审核完成' : '审核中' }}
</p> </p>
<p
class="content-body-content-son"
v-else-if="typeName == '设备申请'"
>
审核结果{{ item.state === 0 ? '审核中' : '审核完成' }}
</p>
<p class="content-body-content-son" v-else> <p class="content-body-content-son" v-else>
审核结果{{ item.bmyijian ? '审核完成' : '审核中' }} 审核结果{{ item.state === 0 ? '审核中' : '审核完成' }}
</p> </p>
</div> </div>
<div class="content-body-bottom"> <div class="content-body-bottom">
<div> <div>申请日期{{ item.createDate || item.startTime }}</div>
申请日期{{ item.createDate || item.startTime || item.tbsj }}
</div>
<!-- 西海岸--增加过期时间显示 --> <!-- 西海岸--增加过期时间显示 -->
<div v-if="isXiHaiAn">过期时间{{ item.expireDate || '' }}</div> <div v-if="isXiHaiAn">过期时间{{ item.expireDate || '' }}</div>
</div> </div>
@ -236,8 +219,6 @@
demandComment, demandComment,
deviceApplylist, deviceApplylist,
getDeviceDetail, getDeviceDetail,
yaweiApproveStatus,
yaweiApproveDetails,
} from '@/api/personalCenter' } from '@/api/personalCenter'
import { import {
updateRes, updateRes,
@ -262,7 +243,6 @@
'能力下架', '能力下架',
'能力需求', '能力需求',
'需求评论', '需求评论',
'数据资源申请',
// '', // '',
]) ])
// 西- // 西-
@ -273,10 +253,10 @@
typeList.value.push('设备申请') typeList.value.push('设备申请')
} }
const typeStrObj = { const typeStrObj = {
能力上架: 'resourcemountapply', '能力上架': 'resourcemountapply',
能力下架: 'resourcundercarriageapply', '能力下架': 'resourcundercarriageapply',
能力需求: 'abilitydemandapply', '能力需求': 'abilitydemandapply',
需求评论: 'comment_review', '需求评论': 'comment_review',
} }
let tabList = ref(['全部', '审核中', '审核完成']) let tabList = ref(['全部', '审核中', '审核完成'])
const contentList = reactive({ data: [] }) const contentList = reactive({ data: [] })
@ -322,7 +302,6 @@
// //
const changeType = (item, index) => { const changeType = (item, index) => {
contentList.data = []
console.log('item, index-----选择类型------->', item, index) console.log('item, index-----选择类型------->', item, index)
numFlag.value = true numFlag.value = true
num.value = [] num.value = []
@ -331,7 +310,7 @@
ended.value = '' ended.value = ''
page.value = 1 page.value = 1
typeIndex.value = index typeIndex.value = index
typeName.value = item typeName.value = item;
getApplyList() getApplyList()
} }
@ -382,33 +361,6 @@
message.error('数据请求失败!') message.error('数据请求失败!')
} }
}) })
} else if (typeName.value == '数据资源申请') {
yaweiApproveDetails({ applyGuid: item.GUID })
.then((res) => {
console.log('详情===========>', res.data.data)
res.data.data.map((val) => {
val.clsj = moment(val.clsj).format('YYYY-MM-DD HH:mm:ss')
})
refObj.value.description = '数据资源'
refObj.value.sqbm = item.sqbm //
refObj.value.title = item.title //
refObj.value.ywlxr = item.ywlxr //
refObj.value.ywlxrdh = item.ywlxrdh //
refObj.value.jslxr = item.jslxr //
refObj.value.jslxrdh = item.jslxrdh //
refObj.value.miaoshu = item.miaoshu //
refObj.value.zt = item.zt //
refObj.value.resourceApplication = {
dataSource: [
{
instanceId: item.GUID,
taskHandleDetailInfo: res.data.data,
},
],
} //
detailsVisible.value = true
})
.catch((err) => {})
} else if (typeName.value == '设备申请') { } else if (typeName.value == '设备申请') {
getDeviceDetailInfo(item.deviceId) getDeviceDetailInfo(item.deviceId)
.then((res) => { .then((res) => {
@ -589,16 +541,6 @@
showType.value = '能力申请' showType.value = '能力申请'
initNum2() initNum2()
}) })
} else if (typeName.value == '数据资源申请') {
yaweiApproveStatus({ page: page.value, size: 4, title: '' }).then(
(res) => {
console.log('数据资源申请===============>', res.data.data)
contentList.data = res.data.data.data
num.value = []
total.value = res.data.data.cos
showType.value = '数据资源申请'
}
)
} else if (typeName.value == '能力评价') { } else if (typeName.value == '能力评价') {
contentList.data = [] contentList.data = []
num.value = [] num.value = []

View File

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