Compare commits

..

No commits in common. "a65014ace56a2c55ef2b1760fae64f5b9221e3f1" and "79357c6e9a1937e0fefe62490fcf157bdbc2b2a9" have entirely different histories.

2 changed files with 144 additions and 271 deletions

View File

@ -98,7 +98,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 +107,6 @@
sfys[0].list.length sfys[0].list.length
" "
@click="changeSfys('上一步')" @click="changeSfys('上一步')"
class="buzhou"
> >
上一步 上一步
</button> </button>
@ -124,7 +123,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 +132,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 +152,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 +170,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 +179,6 @@
sfys[0].list.length sfys[0].list.length
" "
@click="changeSfys('下一步')" @click="changeSfys('下一步')"
class="buzhou"
> >
下一步 下一步
</button> </button>
@ -198,7 +195,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 +204,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 +224,12 @@
@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="服务商联系电话 === '部署与使用'" @click="submit()">
提交 提交
</button> </button>
<button class="quxiao" @click="close()">取消</button> <button @click="close()">取消</button>
</div> </div>
</div> </div>
</template> </template>
@ -950,47 +946,36 @@ onBeforeUnmount(() => {
} }
.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;
margin-right:12px;
} }
// .quxiao:hover{ button:nth-of-type(1) {
// background: #0058e1; background: #0058e1;
// color:#ffffff;
// }
.buzhou{
margin-right:12px;
cursor: pointer;
background: #0058e1;
color:#ffffff; color:#ffffff;
width: 90px; width: 90px;
height: 32px; height: 32px;
border-radius: 2px; border-radius: 2px;
border: 1px #0058e1 solid; border: 1px #0058e1 solid;
} }
// .buzhou:hover{ button:nth-of-type(2) {
// background: #ffffff; width: 90px;
// color:#0058e1; height: 32px;
// } background: #ffffff;
color:#0058e1;
border-radius: 2px;
border: 1px #0058e1 solid;
}
} }
.first { .first {
justify-content: center; justify-content: center;

View File

@ -19,7 +19,7 @@
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 +39,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 +47,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,44 +57,33 @@
/> />
<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 disabled
v-model:value="val[attr.field]"
:maxlength="1000"
:placeholder="'请填写' + attr.name + ',不超过1000个字符'"
/>
</template>
<!-- <a-textarea
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'"
/> --> />
<div v-else-if="attr.type == 'radio'"> <div v-else-if="attr.type == 'radio'">
{{ val[attr.field] + (attr.company || '') }} {{ val[attr.field] + (attr.company || '') }}
</div> </div>
<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>
</div> </div>
<div style="margin-top:24px;height:1px;border-top: 1px dashed #dddee1; width: 1240px;font-size: 18px;"></div>
</div> </div>
<!-- <div style="font-size: 0.18rem; font-weight: 600border-top: 1px dashed grey; width: 1240px;font-size: 18px;"> <div style="font-size: 0.18rem; font-weight: 600">
<span>{{ title.name }}-{{ data[title.name].length + 1 }}</span> <span>{{ title.name }}-{{ data[title.name].length + 1 }}</span>
</div> --> </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 +91,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 +100,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 +118,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 +134,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 +151,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>
@ -273,33 +201,12 @@
: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)"
/> --> />
<!-- 接口请求方式 单选框样式改变 -->
<!-- <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 <!-- <a-input
v-else-if="item.type == 'AbilityType'" v-else-if="item.type == 'AbilityType'"
:maxLength="1000" :maxLength="1000"
@ -405,9 +312,8 @@
<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="请上传视频"
@ -415,7 +321,19 @@
:data="item" :data="item"
:list="props.videoList" :list="props.videoList"
tip="支持视频类型大小不超过100M" tip="支持视频类型大小不超过100M"
></upload> >
</upload> -->
<upload v-else-if="item.type == 'video'"
type="视频"
btnName="请上传视频"
:maxCount="1"
:data="item"
:list="props.videoList"
tip="支持视频类型大小不超过100M">
</upload>
<!-- <a-button <!-- <a-button
v-else-if="item.type == 'AssociatedApplication'" v-else-if="item.type == 'AssociatedApplication'"
@ -701,19 +619,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)
@ -981,31 +886,19 @@ const ApplicationArea = (item, itemson) => {
}) })
} }
const danxuanArea = (item, itemSelect, indexSelect) => { const danxuanArea = (item, itemSelect, indexSelect) => {
if (item.note1) {
if (item.note1 === indexSelect) { if(item.note1){
item.note1 = null if(item.note1===indexSelect){
} else { item.note1= null
item.note1 = indexSelect }else{
} item.note1=indexSelect
} else { }
}else{
item.note1 = indexSelect item.note1 = indexSelect
} }
changeIiem(itemSelect, 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)
@ -1206,44 +1099,47 @@ 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) { :deep(.upload-list-inline .ant-upload .ant-btn) {
height: 150px; height: 150px;
width: 218px; width: 218px;
border: 1px solid rgba(198, 198, 198, 0.5); border: 1px solid rgba(198,198,198,0.5);
border-radius: 2px; border-radius: 2px;
background: rgba(0, 88, 225, 0.05); background: rgba(0,88,225,0.05);
color: #0087ff; color: #0087ff;
font-size: 14px; font-size: 14px;
} }
:deep(.upload-list-inline .ant-upload .ant-btn > span) { :deep(.upload-list-inline .ant-upload .ant-btn > span){
background: url('~@/assets/home/yuanjia.png') no-repeat; background:url('~@/assets/home/yuanjia.png') no-repeat ;
color: #666666; color: #666666;
background-position: center; background-position: center;
text-align: center; text-align: center;
line-height: 120px; line-height: 120px;
height: 50px; height: 50px;
} }
// //
:deep(.ant-select-arrow) { :deep(.ant-select-arrow) {
background: url('~@/assets/home/huixia.png') no-repeat; background:url('~@/assets/home/huixia.png') no-repeat ;
cursor: pointer; cursor: pointer;
margin-top: -4px; margin-top: -4px;
margin-right: -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;
// }
//
: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; margin: 0.15rem 2rem;
@ -1328,18 +1224,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 +1265,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
} }
} }
} }
@ -1424,6 +1308,7 @@ const applicationsOption = (input, option) => {
background: #0558e1; background: #0558e1;
} }
.danxuan-Area-down { .danxuan-Area-down {
background: #0058e1; background: #0058e1;
color: #fff; color: #fff;
@ -1577,6 +1462,7 @@ const applicationsOption = (input, option) => {
width: unset; width: unset;
} }
.box { .box {
display: flex; display: flex;
align-items: center; align-items: center;
min-height: 32px; min-height: 32px;
@ -1592,31 +1478,33 @@ const applicationsOption = (input, option) => {
color: #e83e48; color: #e83e48;
margin-left: -6px; margin-left: -6px;
} }
} }
:deep(.the-new-release .box .first) { :deep(.the-new-release .box .first){
justify-content: center !important; justify-content: center !important;
padding: 10px 350px 0;
button { padding: 10px 350px 0;
cursor: pointer; button {
width: 80px; cursor: pointer;
height: 35px; width: 80px;
text-align: center; height: 35px;
color: #fff; text-align: center;
border: none; color: #fff;
border-radius: 6px; border: none;
background: yellow; border-radius: 6px;
background: yellow;
}
button:nth-of-type(1) {
color:red;
background: #e1edfa;
}
button:nth-of-type(2) {
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: #e83e48;