Commit b151e310 authored by 黄奎's avatar 黄奎

组件调整

parent 57a7b6b5
......@@ -18,6 +18,7 @@
width: 100%;
height: 100%;
}
.WebSite_slider .webSliderDiv .addIconDiv {
position: absolute;
width: 100%;
......@@ -39,42 +40,51 @@
background: rgba(0, 0, 0, 0.5);
color: #fff;
}
/deep/.WebSite_slider .el-form-item__content{
/deep/.WebSite_slider .el-form-item__content {
line-height: 20px;
}
.caidantext{
.caidantext {
font-size: 16px;
font-weight: bold;
color: #f45c43;
}
.caidantext.caidantext2{
.caidantext.caidantext2 {
color: dodgerblue;
}
.row{
.row {
display: flex;
flex-direction: row;
}
.rowSbAc{
.rowSbAc {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.rowEnd{
.rowEnd {
display: flex;
flex-direction: row;
justify-content: end;
}
.colAs{
.colAs {
display: flex;
flex-direction: column;
justify-content: start;
align-items: stretch;
}
.flex{
.flex {
flex: 1;
}
.flex-shrink{
.flex-shrink {
flex: 1;
flex-shrink: 0;
}
......@@ -83,13 +93,7 @@
<template>
<div class="WebSite_slider">
<el-form label-width="100px">
<!-- <el-row>
<el-col :span="24">
<el-form-item>
<p class="text-warning">{{$t('objFill.v101.wutuzbxians')}}</p>
</el-form-item>
</el-col>
</el-row> -->
<el-row class="row">
<el-form-item :label="$t('objFill.v101.zhubiaoti')" class="flex-shrink" style="margin-bottom: 0;">
<el-input type="text" v-model="plugData.Title"></el-input>
......@@ -99,21 +103,9 @@
</el-form-item>
</el-row>
<el-row style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;">
<el-form-item :label="$t('objFill.v101.fengmian')" style="margin-bottom: 0;">
<div class="webSliderDiv" style="width: 100px;height: 100px;">
<el-upload :http-request="UploadAttachmentCover" :multiple="true"
accept="image/jpeg,image/gif,image/png,image/bmp" :show-file-list="false" action="">
<img v-if="plugData.CoverImg" :src="plugData.CoverImg" class="web_imgUrl" alt="" />
<div class="addIconDiv">
<i class="web_addImg iconfont icon-img_haha"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;" @click.stop="plugData.CoverImg=''"></i>
</div>
</el-upload>
</div>
</el-form-item>
<el-form-item :label="$t('objFill.v101.jianjie')" class="flex" style="margin-bottom: 0;">
<el-input type="textarea"
:rows="2" v-model="plugData.Describe"></el-input>
<el-input type="textarea" :rows="2" v-model="plugData.Describe"></el-input>
</el-form-item>
<el-form-item :label="$t('objFill.v101.beijinse')" style="margin-bottom: 0;flex-shrink: 0;">
<el-color-picker style='vertical-align: middle;' v-model="plugData.BgColor"></el-color-picker>
......@@ -131,8 +123,10 @@
<el-tooltip class="item" effect="dark" :content="'+ '+$t('objFill.caidan')" placement="top">
<el-button type="primary" icon="el-icon-plus" size="mini" circle @click="addMenu(1)"></el-button>
</el-tooltip>
<el-tooltip v-show="plugData.NavList.length>1" class="item" effect="dark" :content="'- '+$t('objFill.caidan')" placement="top">
<el-button type="danger" icon="el-icon-minus" size="mini" circle @click="delMenu(1,index)"></el-button>
<el-tooltip v-show="plugData.NavList.length>1" class="item" effect="dark"
:content="'- '+$t('objFill.caidan')" placement="top">
<el-button type="danger" icon="el-icon-minus" size="mini" circle @click="delMenu(1,index)">
</el-button>
</el-tooltip>
</div>
</td>
......@@ -146,7 +140,8 @@
<img v-if="item.FileUrl" :src="item.FileUrl" class="web_imgUrl" alt="" />
<div class="addIconDiv">
<i class="web_addImg iconfont icon-img_haha"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;" @click.stop="item.FileUrl=''"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;"
@click.stop="item.FileUrl=''"></i>
</div>
</el-upload>
<el-upload v-if="item.FileType==2" :http-request="UploadAttachment" :multiple="true"
......@@ -154,7 +149,8 @@
<video v-if="item.FileUrl" :src="item.FileUrl" class="web_imgUrl" alt=""></video>
<div class="addIconDiv">
<i class="web_addImg iconfont icon-img_haha"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;" @click.stop="item.FileUrl=''"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;"
@click.stop="item.FileUrl=''"></i>
</div>
</el-upload>
</div>
......@@ -163,23 +159,21 @@
</el-form-item>
</td>
<td class="flex">
<el-form-item :label="$t('objFill.v101.fengmian')+$t('system.query_type')+(index+1)" style="margin-bottom: 0;">
<el-form-item :label="$t('objFill.v101.fengmian')+$t('system.query_type')+(index+1)"
style="margin-bottom: 0;">
<el-select v-model="item.FileType" style="width: 100%;">
<el-option
v-for="item in typeList"
:key="item.Id"
:label="item.Name"
:value="item.Id">
<el-option v-for="item in typeList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('objFill.v101.activity.lianjie')+(index+1)" style="margin-bottom: 0;">
<!-- <el-input type="text" v-model="item.LinkUrl"></el-input> -->
<pageLinkUrl :item="item" @getUrl="(url)=>{item.LinkUrl=url}"></pageLinkUrl>
<el-input type="text" v-model="item.LinkUrl">
<el-button slot="append" icon="el-icon-search" @click="ShowMenuDialog(item)"></el-button>
</el-input>
</el-form-item>
<el-form-item :label="$t('hotel.hotel_describle')+(index+1)">
<el-input type="textarea"
:rows="2" v-model="item.SubDescribe"></el-input>
<el-input type="textarea" :rows="2" v-model="item.SubDescribe"></el-input>
</el-form-item>
</td>
<td class="colAs">
......@@ -194,59 +188,65 @@
</tbody>
</table>
</el-form>
<el-dialog :title="$t('objFill.qingxzcd')" :visible.sync="isShowMenuDialog" width="500px" append-to-body>
<!-- 行程选中 -->
<chooseMenu ref="chooseMenu"></chooseMenu>
<span slot="footer" class="dialog-footer">
<el-button @click="isShowMenuDialog = false" size="small">{{$t('pub.cancelBtn')}}</el-button>
<el-button type="danger" size="small" @click="getMenuChoose()">{{$t('pub.sureBtn')}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import pageLinkUrl from "./linkUrl"
import chooseMenu from "../plug-in/choose_menu.vue"
export default {
components: {
pageLinkUrl
chooseMenu
},
props: ["plugData"],
data() {
return {
clickIndex: 0, //点击图片索引
typeList: [
{Name: this.$t('system.label_img'),Id: 1},
{Name: this.$t('objFill.shipin'),Id: 2},
typeList: [{
Name: this.$t('system.label_img'),
Id: 1
},
{
Name: this.$t('objFill.shipin'),
Id: 2
},
],
clickType: 0,//1主菜单 2二级菜单
MenuList:{
clickType: 0, //1主菜单 2二级菜单
MenuList: {
FileType: 1,
FileUrl: '',
LinkUrl: '',
MenuName: '',
MenuSubName: '',
},
SubMenuList: {
FileType: 1,
FileUrl: '',
LinkUrl: '',
MenuName: '',
MenuSubName: '',
SubMenuList: null,
}
clickItem: {},
isShowMenuDialog: false, //是否显示菜单弹窗
};
},
created() {
},
methods: {
addMenu(type,index){
addMenu(type, index) {
this.clickType = type
this.plugData.NavList.push(JSON.parse(JSON.stringify(this.MenuList)))
},
delMenu(type,index,i){
delMenu(type, index, i) {
this.clickType = type
if(type==1){
this.plugData.NavList.splice(index,1)
if (type == 1) {
this.plugData.NavList.splice(index, 1)
}
},
//上传图片
UploadAttachment(file) {
let newArr = [];
newArr.push(file.file);
let fileName = file.file.name;
var path = "/Upload/WebSite/";
this.UploadSelfFileT(path, newArr, x => {
var str = x.data.FilePath;
......@@ -254,16 +254,20 @@
this.plugData.NavList[this.clickIndex].FileUrl = imgUrl;
});
},
UploadAttachmentCover(file) {
let newArr = [];
newArr.push(file.file);
let fileName = file.file.name;
var path = "/Upload/WebSite/";
this.UploadSelfFileT(path, newArr, x => {
var str = x.data.FilePath;
var imgUrl = this.domainManager().ViittoFileUrl + str;
this.plugData.CoverImg = imgUrl;
});
//显示菜单弹窗
ShowMenuDialog(item) {
this.clickItem = item;
this.isShowMenuDialog = true;
},
//获取选中的菜单数据
getMenuChoose() {
var chooseMenuObj = this.$refs.chooseMenu.getChooseMenu();
this.isShowMenuDialog = false;
if (chooseMenuObj) {
this.clickItem.SubName = chooseMenuObj.MenuName;
this.clickItem.LinkUrl = chooseMenuObj.MenuUrl;
}
this.$refs.chooseMenu.initMenuCheck();
},
},
mounted() {}
......
......@@ -18,6 +18,7 @@
width: 100%;
height: 100%;
}
.WebSite_slider .webSliderDiv .addIconDiv {
position: absolute;
width: 100%;
......@@ -39,42 +40,51 @@
background: rgba(0, 0, 0, 0.5);
color: #fff;
}
/deep/.WebSite_slider .el-form-item__content{
/deep/.WebSite_slider .el-form-item__content {
line-height: 20px;
}
.caidantext{
.caidantext {
font-size: 16px;
font-weight: bold;
color: #f45c43;
}
.caidantext.caidantext2{
.caidantext.caidantext2 {
color: dodgerblue;
}
.row{
.row {
display: flex;
flex-direction: row;
}
.rowSbAc{
.rowSbAc {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.rowEnd{
.rowEnd {
display: flex;
flex-direction: row;
justify-content: end;
}
.colAs{
.colAs {
display: flex;
flex-direction: column;
justify-content: start;
align-items: stretch;
}
.flex{
.flex {
flex: 1;
}
.flex-shrink{
.flex-shrink {
flex: 1;
flex-shrink: 0;
}
......@@ -83,13 +93,6 @@
<template>
<div class="WebSite_slider">
<el-form label-width="100px">
<!-- <el-row>
<el-col :span="24">
<el-form-item>
<p class="text-warning">{{$t('objFill.v101.wutuzbxians')}}</p>
</el-form-item>
</el-col>
</el-row> -->
<el-row class="row">
<el-form-item :label="$t('objFill.v101.zhubiaoti')" class="flex-shrink" style="margin-bottom: 0;">
<el-input type="text" v-model="plugData.Title"></el-input>
......@@ -99,21 +102,8 @@
</el-form-item>
</el-row>
<el-row style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;">
<el-form-item :label="$t('objFill.v101.fengmian')" style="margin-bottom: 0;">
<div class="webSliderDiv" style="width: 100px;height: 100px;">
<el-upload :http-request="UploadAttachmentCover" :multiple="true"
accept="image/jpeg,image/gif,image/png,image/bmp" :show-file-list="false" action="">
<img v-if="plugData.CoverImg" :src="plugData.CoverImg" class="web_imgUrl" alt="" />
<div class="addIconDiv">
<i class="web_addImg iconfont icon-img_haha"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;" @click.stop="plugData.CoverImg=''"></i>
</div>
</el-upload>
</div>
</el-form-item>
<el-form-item :label="$t('objFill.v101.jianjie')" class="flex" style="margin-bottom: 0;">
<el-input type="textarea"
:rows="2" v-model="plugData.Describe"></el-input>
<el-input type="textarea" :rows="2" v-model="plugData.Describe"></el-input>
</el-form-item>
<el-form-item :label="$t('objFill.v101.beijinse')" style="margin-bottom: 0;flex-shrink: 0;">
<el-color-picker style='vertical-align: middle;' v-model="plugData.BgColor"></el-color-picker>
......@@ -131,8 +121,10 @@
<el-tooltip class="item" effect="dark" :content="'+ '+$t('objFill.caidan')" placement="top">
<el-button type="primary" icon="el-icon-plus" size="mini" circle @click="addMenu(1)"></el-button>
</el-tooltip>
<el-tooltip v-show="plugData.NavList.length>1" class="item" effect="dark" :content="'- '+$t('objFill.caidan')" placement="top">
<el-button type="danger" icon="el-icon-minus" size="mini" circle @click="delMenu(1,index)"></el-button>
<el-tooltip v-show="plugData.NavList.length>1" class="item" effect="dark"
:content="'- '+$t('objFill.caidan')" placement="top">
<el-button type="danger" icon="el-icon-minus" size="mini" circle @click="delMenu(1,index)">
</el-button>
</el-tooltip>
</div>
</td>
......@@ -146,7 +138,8 @@
<img v-if="item.FileUrl" :src="item.FileUrl" class="web_imgUrl" alt="" />
<div class="addIconDiv">
<i class="web_addImg iconfont icon-img_haha"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;" @click.stop="item.FileUrl=''"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;"
@click.stop="item.FileUrl=''"></i>
</div>
</el-upload>
<el-upload v-if="item.FileType==2" :http-request="UploadAttachment" :multiple="true"
......@@ -154,7 +147,8 @@
<video v-if="item.FileUrl" :src="item.FileUrl" class="web_imgUrl" alt=""></video>
<div class="addIconDiv">
<i class="web_addImg iconfont icon-img_haha"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;" @click.stop="item.FileUrl=''"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;"
@click.stop="item.FileUrl=''"></i>
</div>
</el-upload>
</div>
......@@ -163,23 +157,20 @@
</el-form-item>
</td>
<td class="flex">
<el-form-item :label="$t('objFill.v101.fengmian')+$t('system.query_type')+(index+1)" style="margin-bottom: 0;">
<el-form-item :label="$t('objFill.v101.fengmian')+$t('system.query_type')+(index+1)"
style="margin-bottom: 0;">
<el-select v-model="item.FileType" style="width: 100%;">
<el-option
v-for="item in typeList"
:key="item.Id"
:label="item.Name"
:value="item.Id">
<el-option v-for="item in typeList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('objFill.v101.activity.lianjie')+(index+1)" style="margin-bottom: 0;">
<!-- <el-input type="text" v-model="item.LinkUrl"></el-input> -->
<pageLinkUrl :item="item" @getUrl="(url)=>{item.LinkUrl=url}"></pageLinkUrl>
<el-input type="text" v-model="item.LinkUrl">
<el-button slot="append" icon="el-icon-search" @click="ShowMenuDialog(item)"></el-button>
</el-input>
</el-form-item>
<el-form-item :label="$t('hotel.hotel_describle')+(index+1)">
<el-input type="textarea"
:rows="2" v-model="item.SubDescribe"></el-input>
<el-input type="textarea" :rows="2" v-model="item.SubDescribe"></el-input>
</el-form-item>
</td>
<td class="colAs">
......@@ -194,59 +185,65 @@
</tbody>
</table>
</el-form>
<el-dialog :title="$t('objFill.qingxzcd')" :visible.sync="isShowMenuDialog" width="500px" append-to-body>
<!-- 行程选中 -->
<chooseMenu ref="chooseMenu"></chooseMenu>
<span slot="footer" class="dialog-footer">
<el-button @click="isShowMenuDialog = false" size="small">{{$t('pub.cancelBtn')}}</el-button>
<el-button type="danger" size="small" @click="getMenuChoose()">{{$t('pub.sureBtn')}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import pageLinkUrl from "./linkUrl"
import chooseMenu from "../plug-in/choose_menu.vue"
export default {
components: {
pageLinkUrl
chooseMenu
},
props: ["plugData"],
data() {
return {
clickIndex: 0, //点击图片索引
typeList: [
{Name: this.$t('system.label_img'),Id: 1},
{Name: this.$t('objFill.shipin'),Id: 2},
typeList: [{
Name: this.$t('system.label_img'),
Id: 1
},
{
Name: this.$t('objFill.shipin'),
Id: 2
},
],
clickType: 0,//1主菜单 2二级菜单
MenuList:{
clickType: 0, //1主菜单 2二级菜单
MenuList: {
FileType: 1,
FileUrl: '',
LinkUrl: '',
MenuName: '',
MenuSubName: '',
},
SubMenuList: {
FileType: 1,
FileUrl: '',
LinkUrl: '',
MenuName: '',
MenuSubName: '',
SubMenuList: null,
}
clickItem: {},
isShowMenuDialog: false, //是否显示菜单弹窗
};
},
created() {
},
methods: {
addMenu(type,index){
addMenu(type, index) {
this.clickType = type
this.plugData.NavList.push(JSON.parse(JSON.stringify(this.MenuList)))
},
delMenu(type,index,i){
delMenu(type, index, i) {
this.clickType = type
if(type==1){
this.plugData.NavList.splice(index,1)
if (type == 1) {
this.plugData.NavList.splice(index, 1)
}
},
//上传图片
UploadAttachment(file) {
let newArr = [];
newArr.push(file.file);
let fileName = file.file.name;
var path = "/Upload/WebSite/";
this.UploadSelfFileT(path, newArr, x => {
var str = x.data.FilePath;
......@@ -254,16 +251,20 @@
this.plugData.NavList[this.clickIndex].FileUrl = imgUrl;
});
},
UploadAttachmentCover(file) {
let newArr = [];
newArr.push(file.file);
let fileName = file.file.name;
var path = "/Upload/WebSite/";
this.UploadSelfFileT(path, newArr, x => {
var str = x.data.FilePath;
var imgUrl = this.domainManager().ViittoFileUrl + str;
this.plugData.CoverImg = imgUrl;
});
//显示菜单弹窗
ShowMenuDialog(item) {
this.clickItem = item;
this.isShowMenuDialog = true;
},
//获取选中的菜单数据
getMenuChoose() {
var chooseMenuObj = this.$refs.chooseMenu.getChooseMenu();
this.isShowMenuDialog = false;
if (chooseMenuObj) {
this.clickItem.SubName = chooseMenuObj.MenuName;
this.clickItem.LinkUrl = chooseMenuObj.MenuUrl;
}
this.$refs.chooseMenu.initMenuCheck();
},
},
mounted() {}
......
......@@ -8,7 +8,6 @@
line-height: 0;
height: 100px;
overflow: hidden;
/* height: 234px; */
border: 1px solid #ccc;
cursor: pointer;
position: relative;
......@@ -18,6 +17,7 @@
width: 100%;
height: 100%;
}
.WebSite_slider .webSliderDiv .addIconDiv {
position: absolute;
width: 100%;
......@@ -39,42 +39,51 @@
background: rgba(0, 0, 0, 0.5);
color: #fff;
}
/deep/.WebSite_slider .el-form-item__content{
/deep/.WebSite_slider .el-form-item__content {
line-height: 20px;
}
.caidantext{
.caidantext {
font-size: 16px;
font-weight: bold;
color: #f45c43;
}
.caidantext.caidantext2{
.caidantext.caidantext2 {
color: dodgerblue;
}
.row{
.row {
display: flex;
flex-direction: row;
}
.rowSbAc{
.rowSbAc {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.rowEnd{
.rowEnd {
display: flex;
flex-direction: row;
justify-content: end;
}
.colAs{
.colAs {
display: flex;
flex-direction: column;
justify-content: start;
align-items: stretch;
}
.flex{
.flex {
flex: 1;
}
.flex-shrink{
.flex-shrink {
flex: 1;
flex-shrink: 0;
}
......@@ -83,13 +92,7 @@
<template>
<div class="WebSite_slider">
<el-form label-width="100px">
<!-- <el-row>
<el-col :span="24">
<el-form-item>
<p class="text-warning">{{$t('objFill.v101.wutuzbxians')}}</p>
</el-form-item>
</el-col>
</el-row> -->
<el-row class="row">
<el-form-item :label="$t('objFill.v101.zhubiaoti')" class="flex-shrink" style="margin-bottom: 0;">
<el-input type="text" v-model="plugData.Title"></el-input>
......@@ -99,21 +102,9 @@
</el-form-item>
</el-row>
<el-row style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;">
<el-form-item :label="$t('objFill.v101.fengmian')" style="margin-bottom: 0;">
<div class="webSliderDiv" style="width: 100px;height: 100px;">
<el-upload :http-request="UploadAttachmentCover" :multiple="true"
accept="image/jpeg,image/gif,image/png,image/bmp" :show-file-list="false" action="">
<img v-if="plugData.CoverImg" :src="plugData.CoverImg" class="web_imgUrl" alt="" />
<div class="addIconDiv">
<i class="web_addImg iconfont icon-img_haha"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;" @click.stop="plugData.CoverImg=''"></i>
</div>
</el-upload>
</div>
</el-form-item>
<el-form-item :label="$t('objFill.v101.jianjie')" class="flex" style="margin-bottom: 0;">
<el-input type="textarea"
:rows="2" v-model="plugData.Describe"></el-input>
<el-input type="textarea" :rows="2" v-model="plugData.Describe"></el-input>
</el-form-item>
<el-form-item :label="$t('objFill.v101.beijinse')" style="margin-bottom: 0;flex-shrink: 0;">
<el-color-picker style='vertical-align: middle;' v-model="plugData.BgColor"></el-color-picker>
......@@ -131,8 +122,10 @@
<el-tooltip class="item" effect="dark" :content="'+ '+$t('objFill.caidan')" placement="top">
<el-button type="primary" icon="el-icon-plus" size="mini" circle @click="addMenu(1)"></el-button>
</el-tooltip>
<el-tooltip v-show="plugData.NavList.length>1" class="item" effect="dark" :content="'- '+$t('objFill.caidan')" placement="top">
<el-button type="danger" icon="el-icon-minus" size="mini" circle @click="delMenu(1,index)"></el-button>
<el-tooltip v-show="plugData.NavList.length>1" class="item" effect="dark"
:content="'- '+$t('objFill.caidan')" placement="top">
<el-button type="danger" icon="el-icon-minus" size="mini" circle @click="delMenu(1,index)">
</el-button>
</el-tooltip>
</div>
</td>
......@@ -146,7 +139,8 @@
<img v-if="item.FileUrl" :src="item.FileUrl" class="web_imgUrl" alt="" />
<div class="addIconDiv">
<i class="web_addImg iconfont icon-img_haha"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;" @click.stop="item.FileUrl=''"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;"
@click.stop="item.FileUrl=''"></i>
</div>
</el-upload>
<el-upload v-if="item.FileType==2" :http-request="UploadAttachment" :multiple="true"
......@@ -154,7 +148,8 @@
<video v-if="item.FileUrl" :src="item.FileUrl" class="web_imgUrl" alt=""></video>
<div class="addIconDiv">
<i class="web_addImg iconfont icon-img_haha"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;" @click.stop="item.FileUrl=''"></i>
<i class="web_delImg iconfont icon-img_delete_small" style="margin-left:10px;"
@click.stop="item.FileUrl=''"></i>
</div>
</el-upload>
</div>
......@@ -163,23 +158,20 @@
</el-form-item>
</td>
<td class="flex">
<el-form-item :label="$t('objFill.v101.fengmian')+$t('system.query_type')+(index+1)" style="margin-bottom: 0;">
<el-form-item :label="$t('objFill.v101.fengmian')+$t('system.query_type')+(index+1)"
style="margin-bottom: 0;">
<el-select v-model="item.FileType" style="width: 100%;">
<el-option
v-for="item in typeList"
:key="item.Id"
:label="item.Name"
:value="item.Id">
<el-option v-for="item in typeList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('objFill.v101.activity.lianjie')+(index+1)" style="margin-bottom: 0;">
<!-- <el-input type="text" v-model="item.LinkUrl"></el-input> -->
<pageLinkUrl :item="item" @getUrl="(url)=>{item.LinkUrl=url}"></pageLinkUrl>
<el-input type="text" v-model="item.LinkUrl">
<el-button slot="append" icon="el-icon-search" @click="ShowMenuDialog(item)"></el-button>
</el-input>
</el-form-item>
<el-form-item :label="$t('hotel.hotel_describle')+(index+1)">
<el-input type="textarea"
:rows="2" v-model="item.SubDescribe"></el-input>
<el-input type="textarea" :rows="2" v-model="item.SubDescribe"></el-input>
</el-form-item>
</td>
<td class="colAs">
......@@ -194,59 +186,65 @@
</tbody>
</table>
</el-form>
<el-dialog :title="$t('objFill.qingxzcd')" :visible.sync="isShowMenuDialog" width="500px" append-to-body>
<!-- 行程选中 -->
<chooseMenu ref="chooseMenu"></chooseMenu>
<span slot="footer" class="dialog-footer">
<el-button @click="isShowMenuDialog = false" size="small">{{$t('pub.cancelBtn')}}</el-button>
<el-button type="danger" size="small" @click="getMenuChoose()">{{$t('pub.sureBtn')}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import pageLinkUrl from "./linkUrl"
import chooseMenu from "../plug-in/choose_menu.vue"
export default {
components: {
pageLinkUrl
chooseMenu
},
props: ["plugData"],
data() {
return {
clickIndex: 0, //点击图片索引
typeList: [
{Name: this.$t('system.label_img'),Id: 1},
{Name: this.$t('objFill.shipin'),Id: 2},
typeList: [{
Name: this.$t('system.label_img'),
Id: 1
},
{
Name: this.$t('objFill.shipin'),
Id: 2
},
],
clickType: 0,//1主菜单 2二级菜单
MenuList:{
clickType: 0, //1主菜单 2二级菜单
MenuList: {
FileType: 1,
FileUrl: '',
LinkUrl: '',
MenuName: '',
MenuSubName: '',
},
SubMenuList: {
FileType: 1,
FileUrl: '',
LinkUrl: '',
MenuName: '',
MenuSubName: '',
SubMenuList: null,
}
clickItem: {},
isShowMenuDialog: false, //是否显示菜单弹窗
};
},
created() {
},
methods: {
addMenu(type,index){
addMenu(type, index) {
this.clickType = type
this.plugData.NavList.push(JSON.parse(JSON.stringify(this.MenuList)))
},
delMenu(type,index,i){
delMenu(type, index, i) {
this.clickType = type
if(type==1){
this.plugData.NavList.splice(index,1)
if (type == 1) {
this.plugData.NavList.splice(index, 1)
}
},
//上传图片
UploadAttachment(file) {
let newArr = [];
newArr.push(file.file);
let fileName = file.file.name;
var path = "/Upload/WebSite/";
this.UploadSelfFileT(path, newArr, x => {
var str = x.data.FilePath;
......@@ -254,16 +252,20 @@
this.plugData.NavList[this.clickIndex].FileUrl = imgUrl;
});
},
UploadAttachmentCover(file) {
let newArr = [];
newArr.push(file.file);
let fileName = file.file.name;
var path = "/Upload/WebSite/";
this.UploadSelfFileT(path, newArr, x => {
var str = x.data.FilePath;
var imgUrl = this.domainManager().ViittoFileUrl + str;
this.plugData.CoverImg = imgUrl;
});
//显示菜单弹窗
ShowMenuDialog(item) {
this.clickItem = item;
this.isShowMenuDialog = true;
},
//获取选中的菜单数据
getMenuChoose() {
var chooseMenuObj = this.$refs.chooseMenu.getChooseMenu();
this.isShowMenuDialog = false;
if (chooseMenuObj) {
this.clickItem.SubName = chooseMenuObj.MenuName;
this.clickItem.LinkUrl = chooseMenuObj.MenuUrl;
}
this.$refs.chooseMenu.initMenuCheck();
},
},
mounted() {}
......
<style>
.choose_menu {
width: 450px;
line-height: 0;
max-height: 400px;
}
</style>
<template>
<div class="choose_menu">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane :label="$t('objFill.v101.myOrdersAllType.zidingyi')+$t('objFill.caidan')" name="1">
<div class="column" style="height:400px;overflow-y:scroll;line-height:normal;">
<template v-for="(subItem,subIndex) in dataDiyList">
<div :key="subIndex" style="margin-bottom:10px;">
<el-checkbox v-model="subItem.IsChecked" :key="subIndex" @change="checkMenuChange(subItem)">
<span>{{subItem.CategoryName}}</span>
</el-checkbox>
</div>
</template>
</div>
</el-tab-pane>
<el-tab-pane :label="$t('ground.fenlei')+$t('objFill.caidan')" name="2">
<el-tree :data='WebSiteCategoryList' node-key="Id" ref="treeMenu" :props="defaultProps" @check="treeCheck"
:check-strictly="true" show-checkbox :check-on-click-node="true">
</el-tree>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
export default {
data() {
return {
defaultProps: {
children: "SubList",
label: "CategoryName",
},
activeName: '1',
WebSiteCategoryList: [], //分类菜单
dataDiyList: [], //自定义页面
checkedMenuObj: {}, //选中的菜单对象
};
},
created() {
this.getOptions()
},
methods: {
//复选框选择
checkMenuChange(subItem) {
if (this.dataDiyList && this.dataDiyList.length > 0) {
this.dataDiyList.forEach(item => {
item.IsChecked = false;
});
}
subItem.IsChecked = !subItem.IsChecked;
},
//树形菜单选择
treeCheck(node, list) {
if (list.checkedKeys.length == 2) {
//单选实现
this.$refs.treeMenu.setCheckedKeys([node.Id]);
this.checkedMenuObj = node;
}
},
//选项卡切换
handleClick() {
},
//获取菜单数据
getOptions() {
this.apipost(
"ws_post_GetAllMenuList", {},
res => {
if (res.data.resultCode == 1) {
this.WebSiteCategoryList = res.data.data.WebSiteCategoryList
this.dataDiyList = res.data.data.DiyList;
} else {
this.Error(res.data.message);
}
});
},
//初始化菜单选中状态
initMenuCheck() {
if (this.dataDiyList && this.dataDiyList.length > 0) {
this.dataDiyList.forEach(item => {
item.IsChecked = false;
});
}
this.checkedMenuObj = {};
},
//获取选择的菜单
getChooseMenu() {
var obj = {
MenuName: "",
MenuUrl: "",
};
if (this.activeName == "1") {
if (this.dataDiyList && this.dataDiyList.length > 0) {
this.dataDiyList.forEach(item => {
if (item.IsChecked) {
obj.MenuUrl = item.LinkUrl;
obj.MenuName = item.CategoryName;
}
});
}
} else {
obj.MenuUrl = this.checkedMenuObj.LinkUrl;
obj.MenuName = this.checkedMenuObj.CategoryName
}
var domainUrl = this.getLocalStorage().B2BDomain;
if (obj.MenuUrl) {
if (obj.MenuUrl.indexOf("https") != -1) {
} else if (obj.MenuUrl.indexOf("http") != -1) {
} else {
obj.MenuUrl = domainUrl + obj.MenuUrl;
}
}
return obj;
},
},
mounted() {
},
};
</script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment