Browse Source

Merge remote-tracking branch 'epmet/dev_ljj' into dev_ljj

old
jianjun 4 years ago
parent
commit
e9778450ef
  1. 6
      src/components/generator/config.js
  2. 38
      src/components/parser/Parser.vue
  3. 2
      src/utils/constants.js
  4. 186
      src/views/account/member.vue
  5. 2
      src/views/form/editor/RightPanel.vue
  6. 4
      src/views/form/index.vue
  7. 7
      src/views/form/publish/index.vue
  8. 2
      src/views/form/setting/index.vue
  9. 202
      src/views/form/theme/index.vue

6
src/components/generator/config.js

@ -514,7 +514,7 @@ export const selectComponents = [
__slot__: { __slot__: {
'list-type': true 'list-type': true
}, },
action: process.env.VUE_APP_API_ROOT + '/project/file/upload/', action: process.env.VUE_APP_API_ROOT +process.env.VUE_APP_API_ROOT_TDUCK+ '/project/file/upload/',
disabled: false, disabled: false,
accept: '', accept: '',
name: 'file', name: 'file',
@ -665,7 +665,7 @@ export const assistComponents = [
}, },
color: '#000000', color: '#000000',
style: {width: '100%'}, style: {width: '100%'},
action: '/project/file/upload/' action:`${process.env.VUE_APP_API_ROOT_TDUCK}/project/file/upload/`
}, },
{ {
typeId: 'SIGN_PAD', typeId: 'SIGN_PAD',
@ -689,7 +689,7 @@ export const assistComponents = [
}, },
color: '#000000', color: '#000000',
style: {width: '100%'}, style: {width: '100%'},
action: '/project/file/upload/' action: `${process.env.VUE_APP_API_ROOT_TDUCK}/project/file/upload/`
}, },
{ {
typeId: 'PAGINATION', typeId: 'PAGINATION',

38
src/components/parser/Parser.vue

@ -183,7 +183,7 @@ function setValue (event, config, scheme) {
if (flag) { if (flag) {
// display // display
this.logicTriggerItemList.push(r.triggerFormItemId) this.logicTriggerItemList.push(r.triggerFormItemId)
console.log(this.logicTriggerItemList)
document.querySelector(`div[cid="${r.triggerFormItemId}"]`).style.display = '' document.querySelector(`div[cid="${r.triggerFormItemId}"]`).style.display = ''
} else { } else {
_.remove(this.logicTriggerItemList, function (n) { _.remove(this.logicTriggerItemList, function (n) {
@ -240,7 +240,6 @@ function setOtherValueLabel (event, config) {
// //
this.$nextTick(() => { this.$nextTick(() => {
this.$set(this[this.formConf.labelFormModel], `${config.__vModel__}other`, event) this.$set(this[this.formConf.labelFormModel], `${config.__vModel__}other`, event)
console.log(this[this.formConf.labelFormModel])
setValueLabel.call(this, value, config.__config__, config) setValueLabel.call(this, value, config.__config__, config)
}) })
@ -255,23 +254,21 @@ function setOtherValueLabel (event, config) {
* @param scheme * @param scheme
*/ */
function setValueLabel (event, config, scheme) { function setValueLabel (event, config, scheme) {
console.log(event)
console.log(config)
console.log(scheme)
// input // input
let tagOptionKey = processType[config.tag] let tagOptionKey = processType[config.tag]
debugger
if (tagOptionKey) { if (tagOptionKey) {
if (event instanceof Array) { if (event instanceof Array) {
// //
if (!event.includes(0) && config.tag != 'el-cascader') { // if (!event.includes(0) && config.tag != 'el-cascader') {
// other // // other
this.$set(this[this.formConf.labelFormModel], `${scheme.__vModel__}other`, '') // this.$set(this[this.formConf.labelFormModel], `${scheme.__vModel__}other`, '')
// // //
document.querySelector('.' + config.tag).querySelector('.item-other-input').value = '' // document.querySelector('.' + config.tag).querySelector('.item-other-input').value = ''
} // }
// debugger // debugger
if (config.tag === 'el-cascader') { if (config.tag === 'el-cascader') {
@ -301,13 +298,13 @@ function setValueLabel (event, config, scheme) {
} }
console.log('最终结果')
console.log(this[this.formConf.labelFormModel])
} else { } else {
// //
if (event == 0) { if (event == 0) {
console.log(this[this.formConf.labelFormModel][`${scheme.__vModel__}other`])
// labelfieldfieldother // labelfieldfieldother
let item = _.find(_.get(scheme, tagOptionKey), { 'value': event }) let item = _.find(_.get(scheme, tagOptionKey), { 'value': event })
this.$set(this[this.formConf.labelFormModel], scheme.__vModel__, item.label) this.$set(this[this.formConf.labelFormModel], scheme.__vModel__, item.label)
@ -315,10 +312,10 @@ function setValueLabel (event, config, scheme) {
} else { } else {
let item = _.find(_.get(scheme, tagOptionKey), { 'value': event }) let item = _.find(_.get(scheme, tagOptionKey), { 'value': event })
this.$set(this[this.formConf.labelFormModel], scheme.__vModel__, item.label) this.$set(this[this.formConf.labelFormModel], scheme.__vModel__, item.label)
// other // // other
this.$set(this[this.formConf.labelFormModel], `${scheme.__vModel__}other`, '') // this.$set(this[this.formConf.labelFormModel], `${scheme.__vModel__}other`, '')
// // //
document.querySelector('.' + config.tag).querySelector('.item-other-input').value = '""' // document.querySelector('.' + config.tag).querySelector('.item-other-input').value = '""'
} }
} }
} else if (config.tag === 'el-upload') { } else if (config.tag === 'el-upload') {
@ -326,6 +323,9 @@ function setValueLabel (event, config, scheme) {
} else { } else {
this.$set(this[this.formConf.labelFormModel], scheme.__vModel__, event) this.$set(this[this.formConf.labelFormModel], scheme.__vModel__, event)
} }
console.log('最终结果')
console.log(this[this.formConf.labelFormModel])
} }
function getCascaderData (array, tagOptionKey, scheme) { function getCascaderData (array, tagOptionKey, scheme) {

2
src/utils/constants.js

@ -4,7 +4,7 @@ export default {
// 密码正则 // 密码正则
passwordReg: /^.{6,}$/, passwordReg: /^.{6,}$/,
passwordRegDesc: '密码最少为6位字符', passwordRegDesc: '密码最少为6位字符',
userUploadUrl: `${process.env.VUE_APP_API_ROOT}/user/file/upload`, userUploadUrl: `${process.env.VUE_APP_API_ROOT}${process.env.VUE_APP_API_ROOT_TDUCK}/user/file/upload`,
// 启用微信功能 // 启用微信功能
// enableWx: process.env.VUE_APP_WX == 'OFF' // enableWx: process.env.VUE_APP_WX == 'OFF'
enableWx: false enableWx: false

186
src/views/account/member.vue

@ -3,40 +3,52 @@
<el-card class="member-box-card"> <el-card class="member-box-card">
<div class="member-info-view"> <div class="member-info-view">
<p class="title pl-10">个人信息</p> <p class="title pl-10">个人信息</p>
<div v-if="userInfo" class="account-info-view"> <div v-if="userInfo"
class="account-info-view">
<table> <table>
<tbody> <tbody>
<tr> <tr>
<td width="80" style="text-align: right;">用户名</td> <td width="80"
style="text-align: right;">用户名</td>
<td> <td>
{{ userInfo.name }} {{ userInfo.name }}
<el-button type="text" @click="editNameDialogVisible=true"> <el-button type="text"
@click="editNameDialogVisible=true">
修改 修改
</el-button> </el-button>
</td> </td>
</tr> </tr>
<tr> <tr>
<td width="80" style="text-align: right;">账号邮箱</td> <td width="80"
style="text-align: right;">账号邮箱</td>
<td> <td>
{{ userInfo.email }} {{ userInfo.email }}
<el-button type="text" @click="emailDialogVisible=true">绑定</el-button> <el-button type="text"
@click="emailDialogVisible=true">绑定</el-button>
</td> </td>
</tr> </tr>
<tr> <tr>
<td width="80" style="text-align: right;">密码</td> <td width="80"
style="text-align: right;">密码</td>
<td> <td>
****** ******
<el-button type="text" @click="pwdDialogVisible=true">修改</el-button> <el-button type="text"
@click="pwdDialogVisible=true">修改</el-button>
</td> </td>
</tr> </tr>
<tr> <tr>
<td width="80" style="text-align: right;">手机号</td> <td width="80"
style="text-align: right;">手机号</td>
<td> <td>
{{ userInfo.phoneNumber }} {{ userInfo.phoneNumber }}
<el-button v-if="userInfo.phoneNumber" type="text" @click="phoneDialogVisible=true"> <el-button v-if="userInfo.phoneNumber"
type="text"
@click="phoneDialogVisible=true">
修改 修改
</el-button> </el-button>
<el-button v-else type="text" @click="phoneDialogVisible=true">绑定</el-button> <el-button v-else
type="text"
@click="phoneDialogVisible=true">绑定</el-button>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -49,66 +61,70 @@
:url="getUploadUrl()" :url="getUploadUrl()"
:headers="getUploadHeader()" :headers="getUploadHeader()"
img-format="png" img-format="png"
@crop-upload-success="cropUploadSuccess" @crop-upload-success="cropUploadSuccess" />
/> <el-avatar style="width: 100px; height: 100px;"
<el-avatar
style="width: 100px; height: 100px;"
:src="userInfo.avatar" :src="userInfo.avatar"
@click.native="showUploadAvatar=true" @click.native="showUploadAvatar=true" />
/>
<div style="margin-left: 10px; margin-top: 5px;"> <div style="margin-left: 10px; margin-top: 5px;">
<el-button @click.native="showUploadAvatar=true">更换头像</el-button> <el-button @click.native="showUploadAvatar=true">更换头像</el-button>
</div> </div>
</div> </div>
</div> </div>
<p class="title pl-10">第三方账号</p> <p class="title pl-10">第三方账号</p>
<div v-if="userInfo" class="account-info-view"> <div v-if="userInfo"
class="account-info-view">
<div style="margin-left: 30px; display: flex; flex-direction: row;"> <div style="margin-left: 30px; display: flex; flex-direction: row;">
<div class="account-icon-view"> <div class="account-icon-view">
<font-icon class="fab fa-weixin icon" :style="{color:userInfo.wxName?'#3F9F3F':''}" /> <font-icon class="fab fa-weixin icon"
:style="{color:userInfo.wxName?'#3F9F3F':''}" />
<span v-if="userInfo.wxName"> <span v-if="userInfo.wxName">
{{ userInfo.wxName }}(已绑定) {{ userInfo.wxName }}(已绑定)
</span> </span>
<el-button v-else type="text" @click="bindWxHandle">绑定</el-button> <el-button v-else
type="text"
@click="bindWxHandle">绑定</el-button>
<el-dialog title="微信扫描二维码绑定" <el-dialog title="微信扫描二维码绑定"
width="400px" width="400px"
center center
:visible.sync="bindWxDialogVisible" :visible.sync="bindWxDialogVisible">
> <el-image style="width: 150px; height: 150px; display: block; margin: 0 auto;"
<el-image
style="width: 150px; height: 150px; display: block; margin: 0 auto;"
:src="bindWxQrcode" :src="bindWxQrcode"
fit="fill" fit="fill" />
/>
</el-dialog> </el-dialog>
</div> </div>
<div class="account-icon-view"> <div class="account-icon-view">
<font-icon class="fa fa-qq icon" :style="{color:userInfo.qqName?'#078DF0':''}" /> <font-icon class="fa fa-qq icon"
:style="{color:userInfo.qqName?'#078DF0':''}" />
<span v-if="userInfo.qqName"> <span v-if="userInfo.qqName">
{{ userInfo.qqName }}(已绑定) {{ userInfo.qqName }}(已绑定)
</span> </span>
<el-button v-else type="text" @click="redirectUrl(qqLoginAuthorizeUrl)">绑定</el-button> <el-button v-else
type="text"
@click="redirectUrl(qqLoginAuthorizeUrl)">绑定</el-button>
</div> </div>
<div class="account-icon-view"> <div class="account-icon-view">
<font-icon class="fa fa-weibo icon" /> <font-icon class="fa fa-weibo icon" />
<span v-if="userInfo.wbName"> <span v-if="userInfo.wbName">
{{ userInfo.wbName }}(已绑定) {{ userInfo.wbName }}(已绑定)
</span> </span>
<el-button v-else type="text">绑定</el-button> <el-button v-else
type="text">绑定</el-button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</el-card> </el-card>
<div> <div>
<el-dialog <el-dialog title="修改用户名"
title="修改用户名"
:visible.sync="editNameDialogVisible" :visible.sync="editNameDialogVisible"
width="450px" width="450px"
center center>
> <el-form ref="updateNameForm"
<el-form ref="updateNameForm" :model="userInfoForm" :rules="userInfoRules" label-width="80px"> :model="userInfoForm"
<el-form-item label="新用户名" prop="name"> :rules="userInfoRules"
label-width="80px">
<el-form-item label="新用户名"
prop="name">
<el-input v-model="userInfoForm.name" /> <el-input v-model="userInfoForm.name" />
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -121,85 +137,94 @@
this.updateUserHandle() this.updateUserHandle()
} }
}) })
}" }">保存</el-button>
>保存</el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog <el-dialog title="修改密码"
title="修改密码"
:visible.sync="pwdDialogVisible" :visible.sync="pwdDialogVisible"
width="450px" width="450px"
center center>
>
<el-form ref="updatePassWordForm" <el-form ref="updatePassWordForm"
style="width: 300px;" style="width: 300px;"
:model="userPwdForm" :rules="userPwdRules" label-width="120px" :model="userPwdForm"
> :rules="userPwdRules"
<el-form-item label="输入旧密码" prop="oldPassword"> label-width="120px">
<el-input v-model="userPwdForm.oldPassword" placeholder="请输入旧密码" show-password /> <el-form-item label="输入旧密码"
prop="oldPassword">
<el-input v-model="userPwdForm.oldPassword"
placeholder="请输入旧密码"
show-password />
</el-form-item> </el-form-item>
<el-form-item label="输入新密码" prop="password"> <el-form-item label="输入新密码"
<el-input v-model="userPwdForm.password" placeholder="请输入新密码" show-password /> prop="password">
<el-input v-model="userPwdForm.password"
placeholder="请输入新密码"
show-password />
</el-form-item> </el-form-item>
<el-form-item label="重复输入密码" prop="repeatPassword"> <el-form-item label="重复输入密码"
<el-input v-model="userPwdForm.repeatPassword" placeholder="请重复输入密码" show-password /> prop="repeatPassword">
<el-input v-model="userPwdForm.repeatPassword"
placeholder="请重复输入密码"
show-password />
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer"
class="dialog-footer">
<el-button type="primary" <el-button type="primary"
@click="()=>{this.pwdDialogVisible = false;this.updateUserPwdHandle()}" @click="()=>{this.pwdDialogVisible = false;this.updateUserPwdHandle()}"> </el-button>
> </el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog <el-dialog title="修改邮箱"
title="修改邮箱"
:visible.sync="emailDialogVisible" :visible.sync="emailDialogVisible"
width="450px" width="450px"
center center>
>
<el-form ref="updateEmailForm" <el-form ref="updateEmailForm"
style="width: 80%;" style="width: 80%;"
:model="userInfoForm" :rules="userInfoRules" label-width="80px" :model="userInfoForm"
> :rules="userInfoRules"
<el-form-item label="邮箱" prop="email"> label-width="80px">
<el-input v-model="userInfoForm.email" placeholder="请输入邮箱" /> <el-form-item label="邮箱"
prop="email">
<el-input v-model="userInfoForm.email"
placeholder="请输入邮箱" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer"
class="dialog-footer">
<el-button v-prevent-re-click <el-button v-prevent-re-click
type="primary" type="primary"
@click="()=>{this.pwdDialogVisible = false;this.sendUpdateEmail()}" @click="()=>{this.pwdDialogVisible = false;this.sendUpdateEmail()}">发送验证邮件</el-button>
>发送验证邮件</el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog <el-dialog title="修改手机号"
title="修改手机号"
:visible.sync="phoneDialogVisible" :visible.sync="phoneDialogVisible"
width="450px" width="450px"
center center>
>
<el-form ref="updatePhoneForm" <el-form ref="updatePhoneForm"
:model="userInfoForm" :rules="userInfoRules" label-width="120px" :model="userInfoForm"
> :rules="userInfoRules"
<el-form-item label="手机号" prop="phoneNumber"> label-width="120px">
<el-input v-model="userInfoForm.phoneNumber" placeholder="请输入手机号" /> <el-form-item label="手机号"
prop="phoneNumber">
<el-input v-model="userInfoForm.phoneNumber"
placeholder="请输入手机号" />
</el-form-item> </el-form-item>
<el-form-item label="输入验证码" prop="code"> <el-form-item label="输入验证码"
<el-input v-model="userInfoForm.code" placeholder="请输入验证码" prop="code">
style="display: inline-block; width: 60%;" <el-input v-model="userInfoForm.code"
/> placeholder="请输入验证码"
style="display: inline-block; width: 60%;" />
<el-button v-prevent-re-click <el-button v-prevent-re-click
style="display: inline-block; width: 40%;" style="display: inline-block; width: 40%;"
@click.native="sendUpdatePhoneNumber" @click.native="sendUpdatePhoneNumber">
>
{{ phoneValidateCodeBtnText }} {{ phoneValidateCodeBtnText }}
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer"
class="dialog-footer">
<el-button type="primary" <el-button type="primary"
@click="()=>{this.phoneDialogVisible = false;this.updateUserPhoneHandle()}" @click="()=>{this.phoneDialogVisible = false;this.updateUserPhoneHandle()}"> </el-button>
> </el-button>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -314,7 +339,7 @@ export default {
} }
}, },
getUploadUrl () { getUploadUrl () {
return `${process.env.VUE_APP_API_ROOT}/user/file/upload` return `${process.env.VUE_APP_API_ROOT}${process.env.VUE_APP_API_ROOT_TDUCK}/user/file/upload`
}, },
getBindWxQrCode () { getBindWxQrCode () {
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/bind/wx/qrcode`).then(res => { this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/bind/wx/qrcode`).then(res => {
@ -465,5 +490,4 @@ export default {
.account-avatar-view { .account-avatar-view {
width: 180px; width: 180px;
} }
</style> </style>

2
src/views/form/editor/RightPanel.vue

@ -1112,7 +1112,7 @@ export default {
}; };
}, },
getUploadUrl () { getUploadUrl () {
return `${process.env.VUE_APP_API_ROOT}/user/file/upload`; return `${process.env.VUE_APP_API_ROOT}${process.env.VUE_APP_API_ROOT_TDUCK}/user/file/upload`;
}, },
}, },
watch: { watch: {

4
src/views/form/index.vue

@ -18,7 +18,7 @@
<el-menu :collapse="isCollapse" <el-menu :collapse="isCollapse"
:default-active="defaultActiveMenu" :default-active="defaultActiveMenu"
class="el-menu-vertical"> class="el-menu-vertical">
<el-menu-item v-for="menuItem in (menuItemList)" <el-menu-item v-for="menuItem in (publishStatus?menuItemList2:menuItemList)"
:key="menuItem.key" :key="menuItem.key"
:index="menuItem.route" :index="menuItem.route"
@click="menuSelectHandle(menuItem.route,menuItem.key)"> @click="menuSelectHandle(menuItem.route,menuItem.key)">
@ -57,7 +57,7 @@ export default {
components: { PreView }, components: { PreView },
data () { data () {
return { return {
publishStatus: false, publishStatus: true,
previewKey: +new Date(), previewKey: +new Date(),
previewDialogVisible: false, previewDialogVisible: false,
defaultActiveMenu: '', defaultActiveMenu: '',

7
src/views/form/publish/index.vue

@ -83,18 +83,18 @@
复制链接 复制链接
</el-button> --> </el-button> -->
</el-col> </el-col>
<el-col :span="12"> <el-col :span="24">
<el-button type="danger" <el-button type="danger"
@click="stopPublishProject"> @click="stopPublishProject">
停止发布 停止发布
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="12"> <!-- <el-col :span="12">
<el-button type="warning" <el-button type="warning"
@click="toFeedbackPageHandle"> @click="toFeedbackPageHandle">
查看反馈 查看反馈
</el-button> </el-button>
</el-col> </el-col> -->
</el-row> </el-row>
</el-col> </el-col>
</el-row> </el-row>
@ -233,6 +233,7 @@ export default {
this.$api.post(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/stop`, { 'key': this.projectKey }).then(res => { this.$api.post(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/stop`, { 'key': this.projectKey }).then(res => {
if (res.data) { if (res.data) {
this.msgSuccess('停止成功') this.msgSuccess('停止成功')
this.getProjectStatus() this.getProjectStatus()
} }
}) })

2
src/views/form/setting/index.vue

@ -666,7 +666,7 @@ export default {
} }
}, },
getUploadUrl () { getUploadUrl () {
return `${process.env.VUE_APP_API_ROOT}/user/file/upload` return `${process.env.VUE_APP_API_ROOT}${process.env.VUE_APP_API_ROOT_TDUCK}/user/file/upload`
}, },
getUserInfo () { getUserInfo () {
return JSON.parse(this.$store.getters['user/userInfo']) return JSON.parse(this.$store.getters['user/userInfo'])

202
src/views/form/theme/index.vue

@ -7,14 +7,12 @@
<el-col :span="3"> <el-col :span="3">
<span class="theme-prompt-text">风格</span> <span class="theme-prompt-text">风格</span>
</el-col> </el-col>
<el-col <el-col v-for="item in styleList"
v-for="item in styleList" :key="item.key"
:key="item.key" :span="3" :span="3">
> <span :class="{'style-btn-active':activeStyle==item.key}"
<span class="style-btn"
:class="{'style-btn-active':activeStyle==item.key}" @click="activeStyleHandle(item)">{{ item.label }}</span>
class="style-btn" @click="activeStyleHandle(item)"
>{{ item.label }}</span>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
@ -22,119 +20,120 @@
<span class="theme-prompt-text">颜色</span> <span class="theme-prompt-text">颜色</span>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<span <span :class="{'style-btn-active':activeColor==''}"
:class="{'style-btn-active':activeColor==''}" class="style-btn"
class="style-btn" @click="activeColorHandle('')" @click="activeColorHandle('')">全部</span>
>全部</span>
</el-col> </el-col>
<el-col <el-col v-for="c in colorList"
v-for="c in colorList" :key="c"
:key="c" :class="{'style-btn-active':activeColor==c}" :class="{'style-btn-active':activeColor==c}"
:span="3" :span="3"
:style="{backgroundColor: c}" :style="{backgroundColor: c}"
class="color-btn" @click.native="activeColorHandle(c)" class="color-btn"
/> @click.native="activeColorHandle(c)" />
</el-row> </el-row>
<el-row> <el-row>
<el-col <el-col v-for="t in themeList"
v-for="t in themeList"
:key="t.id" :key="t.id"
:span="8" class="theme-img-view" :span="8"
@click.native="activeThemeHandle(t)" class="theme-img-view"
> @click.native="activeThemeHandle(t)">
<p :class="{'head-list-view-select':activeTheme.id==t.id}"> <p :class="{'head-list-view-select':activeTheme.id==t.id}">
<el-image <el-image :class="{'head-list-img-active':activeTheme.id==t.id}"
:class="{'head-list-img-active':activeTheme.id==t.id}"
:src="t.headImgUrl" :src="t.headImgUrl"
class="head-list-img" class="head-list-img"
fit="cover" fit="cover"
style="width: 100px; height: 100px;" style="width: 100px; height: 100px;" />
/>
</p> </p>
</el-col> </el-col>
</el-row> </el-row>
</el-scrollbar> </el-scrollbar>
</div> </div>
<pre-view :key="projectFormKey" :project-key="projectKey" /> <pre-view :key="projectFormKey"
:project-key="projectKey" />
<div class="right-container"> <div class="right-container">
<p class="right-title">外观设置</p> <p class="right-title">外观设置</p>
<el-row align="middle" class="option-line-view" type="flex"> <el-row align="middle"
class="option-line-view"
type="flex">
<el-col :span="8"> <el-col :span="8">
<span class="option-line-title">添加logo</span> <span class="option-line-title">添加logo</span>
</el-col> </el-col>
<el-col :offset="8" :span="8"> <el-col :offset="8"
<el-switch :span="8">
v-model="showSettings.logoSetting" <el-switch v-model="showSettings.logoSetting" />
/>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="showSettings.logoSetting" align="middle" type="flex"> <el-row v-if="showSettings.logoSetting"
align="middle"
type="flex">
<el-col :span="6"> <el-col :span="6">
<span class="option-line-sub-title">logo设置</span> <span class="option-line-sub-title">logo设置</span>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<img <img v-if="userProjectTheme.logoImg"
v-if="userProjectTheme.logoImg"
:src="userProjectTheme.logoImg" :src="userProjectTheme.logoImg"
style="width: 30px; height: 30px;" style="width: 30px; height: 30px;">
>
</el-col> </el-col>
<el-col :offset="6" :span="8"> <el-col :offset="6"
<el-upload :span="8">
ref="logoUpload" <el-upload ref="logoUpload"
:action="getUploadUrl" :action="getUploadUrl"
:headers="getUploadHeader" :headers="getUploadHeader"
:on-success="uploadLogoHandle" :on-success="uploadLogoHandle"
:show-file-list="false" :show-file-list="false"
accept=".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP" accept=".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP">
> <el-button slot="trigger"
<el-button slot="trigger" size="small" type="text">上传Logo</el-button> size="small"
type="text">上传Logo</el-button>
</el-upload> </el-upload>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="showSettings.logoSetting" align="middle" type="flex"> <el-row v-if="showSettings.logoSetting"
align="middle"
type="flex">
<el-col :span="6"> <el-col :span="6">
<span class="option-line-sub-title">logo位置</span> <span class="option-line-sub-title">logo位置</span>
</el-col> </el-col>
<el-col :span="18"> <el-col :span="18">
<el-radio-group <el-radio-group v-model="userProjectTheme.logoPosition"
v-model="userProjectTheme.logoPosition" size="mini"
size="mini" @change="saveUserTheme" @change="saveUserTheme">
>
<el-radio-button label="left">左对齐</el-radio-button> <el-radio-button label="left">左对齐</el-radio-button>
<el-radio-button label="center">居中</el-radio-button> <el-radio-button label="center">居中</el-radio-button>
<el-radio-button label="right">右对齐</el-radio-button> <el-radio-button label="right">右对齐</el-radio-button>
</el-radio-group> </el-radio-group>
</el-col> </el-col>
</el-row> </el-row>
<el-row align="middle" class="option-line-view" type="flex"> <el-row align="middle"
class="option-line-view"
type="flex">
<el-col :span="8"> <el-col :span="8">
<span class="option-line-title">背景设置</span> <span class="option-line-title">背景设置</span>
</el-col> </el-col>
<el-col :offset="8" :span="8"> <el-col :offset="8"
<el-switch :span="8">
v-model="showSettings.backgroundSetting" <el-switch v-model="showSettings.backgroundSetting"
@change="()=>{ @change="()=>{
this.userProjectTheme.backgroundImg='' this.userProjectTheme.backgroundImg=''
this.userProjectTheme.backgroundColor='' this.userProjectTheme.backgroundColor=''
this.saveUserTheme() this.saveUserTheme()
}" }" />
/>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="showSettings.backgroundSetting"> <el-row v-if="showSettings.backgroundSetting">
<el-row align="middle" type="flex"> <el-row align="middle"
type="flex">
<el-col :span="8"> <el-col :span="8">
<span class="option-line-sub-title">背景类型</span> <span class="option-line-sub-title">背景类型</span>
</el-col> </el-col>
<el-col :spvan="18"> <el-col :spvan="18">
<el-radio-group <el-radio-group v-model="showSettings.backgroundType"
v-model="showSettings.backgroundType" size="mini"
size="mini" @change="()=>{ @change="()=>{
this.userProjectTheme.backgroundImg='' this.userProjectTheme.backgroundImg=''
this.userProjectTheme.backgroundColor='' this.userProjectTheme.backgroundColor=''
}" }">
>
<el-radio-button label="color">颜色</el-radio-button> <el-radio-button label="color">颜色</el-radio-button>
<el-radio-button label="img">图片</el-radio-button> <el-radio-button label="img">图片</el-radio-button>
</el-radio-group> </el-radio-group>
@ -142,51 +141,53 @@
</el-row> </el-row>
</el-row> </el-row>
<el-row v-if="showSettings.backgroundSetting&&showSettings.backgroundType=='color'"> <el-row v-if="showSettings.backgroundSetting&&showSettings.backgroundType=='color'">
<el-row align="middle" type="flex"> <el-row align="middle"
type="flex">
<el-col :span="8"> <el-col :span="8">
<span class="option-line-sub-title">选择颜色</span> <span class="option-line-sub-title">选择颜色</span>
</el-col> </el-col>
<el-col :spvan="18"> <el-col :spvan="18">
<el-color-picker <el-color-picker v-model=" userProjectTheme.backgroundColor"
v-model=" userProjectTheme.backgroundColor"
size="mini" size="mini"
@change="saveUserTheme" @change="saveUserTheme" />
/>
</el-col> </el-col>
</el-row> </el-row>
</el-row> </el-row>
<el-row v-if="showSettings.backgroundType=='img'"> <el-row v-if="showSettings.backgroundType=='img'">
<el-row align="middle" type="flex"> <el-row align="middle"
type="flex">
<el-col :span="8"> <el-col :span="8">
<span class="option-line-sub-title">选择图片</span> <span class="option-line-sub-title">选择图片</span>
</el-col> </el-col>
<el-col :spvan="18"> <el-col :spvan="18">
<el-upload <el-upload ref="upload"
ref="upload"
:action="getUploadUrl" :action="getUploadUrl"
:headers="getUploadHeader" :headers="getUploadHeader"
:on-success="uploadBackgroundHandle" :on-success="uploadBackgroundHandle"
:show-file-list="false" :show-file-list="false"
accept=".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP" accept=".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP"
class="upload-demo" class="upload-demo">
> <el-button slot="trigger"
<el-button slot="trigger" size="small" type="text">上传背景</el-button> size="small"
type="text">上传背景</el-button>
</el-upload> </el-upload>
</el-col> </el-col>
</el-row> </el-row>
</el-row> </el-row>
<el-row align="middle" class="option-line-view" type="flex"> <el-row align="middle"
class="option-line-view"
type="flex">
<el-col :span="8"> <el-col :span="8">
<span class="option-line-title">按钮设置</span> <span class="option-line-title">按钮设置</span>
</el-col> </el-col>
<el-col :offset="8" :span="8"> <el-col :offset="8"
<el-switch :span="8">
v-model="showSettings.btnSetting" <el-switch v-model="showSettings.btnSetting" />
/>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="showSettings.btnSetting"> <el-row v-if="showSettings.btnSetting">
<el-row align="middle" type="flex"> <el-row align="middle"
type="flex">
<el-col :span="12"> <el-col :span="12">
<span class="option-line-sub-title">按钮提示文字</span> <span class="option-line-sub-title">按钮提示文字</span>
</el-col> </el-col>
@ -194,42 +195,45 @@
<el-input v-model="userProjectTheme.submitBtnText" <el-input v-model="userProjectTheme.submitBtnText"
placeholder="请输入内容" placeholder="请输入内容"
size="mini" size="mini"
style="width: 80%;" @change="saveUserTheme" style="width: 80%;"
/> @change="saveUserTheme" />
</el-col> </el-col>
</el-row> </el-row>
</el-row> </el-row>
<el-row align="middle" class="option-line-view" type="flex"> <el-row align="middle"
class="option-line-view"
type="flex">
<el-col :span="8"> <el-col :span="8">
<span class="option-line-title">显示标题</span> <span class="option-line-title">显示标题</span>
</el-col> </el-col>
<el-col :offset="8" :span="8"> <el-col :offset="8"
<el-switch :span="8">
v-model="userProjectTheme.showTitle" <el-switch v-model="userProjectTheme.showTitle"
@change="saveUserTheme" @change="saveUserTheme" />
/>
</el-col> </el-col>
</el-row> </el-row>
<el-row align="middle" class="option-line-view" type="flex"> <el-row align="middle"
class="option-line-view"
type="flex">
<el-col :span="8"> <el-col :span="8">
<span class="option-line-title">显示描述</span> <span class="option-line-title">显示描述</span>
</el-col> </el-col>
<el-col :offset="8" :span="8"> <el-col :offset="8"
<el-switch :span="8">
v-model="userProjectTheme.showDescribe" <el-switch v-model="userProjectTheme.showDescribe"
@change="saveUserTheme" @change="saveUserTheme" />
/>
</el-col> </el-col>
</el-row> </el-row>
<el-row align="middle" class="option-line-view" type="flex"> <el-row align="middle"
class="option-line-view"
type="flex">
<el-col :span="8"> <el-col :span="8">
<span class="option-line-title">显示序号</span> <span class="option-line-title">显示序号</span>
</el-col> </el-col>
<el-col :offset="8" :span="8"> <el-col :offset="8"
<el-switch :span="8">
v-model="userProjectTheme.showNumber" <el-switch v-model="userProjectTheme.showNumber"
@change="saveUserTheme" @change="saveUserTheme" />
/>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@ -303,7 +307,7 @@ export default {
} }
}, },
getUploadUrl () { getUploadUrl () {
return `${process.env.VUE_APP_API_ROOT}/user/file/upload` return `${process.env.VUE_APP_API_ROOT}${process.env.VUE_APP_API_ROOT_TDUCK}/user/file/upload`
} }
}, },
mounted () { mounted () {
@ -467,7 +471,7 @@ export default {
} }
.theme-img-view .head-list-view-select ::after { .theme-img-view .head-list-view-select ::after {
content: ""; content: "";
background: url('~@/assets/images/mobile_theme_active.png'); background: url("~@/assets/images/mobile_theme_active.png");
background-size: 18px; background-size: 18px;
width: 18px; width: 18px;
height: 18px; height: 18px;

Loading…
Cancel
Save