|
|
@ -1,51 +1,68 @@ |
|
|
|
<template> |
|
|
|
<el-form ref="setting" :model="userProjectSettingData" :rules="settingRules"> |
|
|
|
<el-row align="top" class="project-setting-container" justify="center" type="flex"> |
|
|
|
<el-col :offset="3" :span="5" class="project-setting-view"> |
|
|
|
<el-form ref="setting" |
|
|
|
:model="userProjectSettingData" |
|
|
|
:rules="settingRules" |
|
|
|
> |
|
|
|
<el-row align="top" |
|
|
|
class="project-setting-container" |
|
|
|
justify="center" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :offset="3" |
|
|
|
:span="5" |
|
|
|
class="project-setting-view" |
|
|
|
> |
|
|
|
<p class="project-setting-title"> |
|
|
|
提交设置 |
|
|
|
</p> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">显示提示图片</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="projectSetting.showPromptImg" |
|
|
|
<el-switch v-model="projectSetting.showPromptImg" |
|
|
|
@change="()=>{this.userProjectSettingData.submitPromptImg=''}" |
|
|
|
/> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<div v-if="projectSetting.showPromptImg"> |
|
|
|
<div class="block"> |
|
|
|
<el-image |
|
|
|
:src="userProjectSettingData.submitPromptImg" |
|
|
|
<el-image :src="userProjectSettingData.submitPromptImg" |
|
|
|
class="submit-prompt-img" |
|
|
|
fit="cover " |
|
|
|
> |
|
|
|
<div slot="error" class="image-slot"> |
|
|
|
<div slot="error" |
|
|
|
class="image-slot" |
|
|
|
> |
|
|
|
<i class="el-icon-picture-outline" /> |
|
|
|
</div> |
|
|
|
</el-image> |
|
|
|
</div> |
|
|
|
<el-upload |
|
|
|
ref="logoUpload" |
|
|
|
<el-upload ref="logoUpload" |
|
|
|
:action="getUploadUrl" |
|
|
|
:headers="getUploadHeader" |
|
|
|
:on-success="uploadSubmitPromptHandle" |
|
|
|
:show-file-list="false" |
|
|
|
accept=".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP" |
|
|
|
> |
|
|
|
<el-button slot="trigger" size="small" type="text">请上传提示图片 *</el-button> |
|
|
|
<el-button slot="trigger" |
|
|
|
size="small" |
|
|
|
type="text" |
|
|
|
> |
|
|
|
请上传提示图片 * |
|
|
|
</el-button> |
|
|
|
</el-upload> |
|
|
|
</div> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">显示提示文字</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="projectSetting.showPromptText" |
|
|
|
<el-switch v-model="projectSetting.showPromptText" |
|
|
|
@change="()=>{ |
|
|
|
this.userProjectSettingData.submitPromptText='' |
|
|
|
this.saveUserProjectSetting() |
|
|
@ -54,7 +71,9 @@ |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row v-if="projectSetting.showPromptText"> |
|
|
|
<el-col :span="20" class="setting-input"> |
|
|
|
<el-col :span="20" |
|
|
|
class="setting-input" |
|
|
|
> |
|
|
|
<el-input v-model="userProjectSettingData.submitPromptText" |
|
|
|
:maxlength="50" |
|
|
|
:show-word-limit="true" |
|
|
@ -62,67 +81,66 @@ |
|
|
|
/> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<!-- <el-row align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">跳转网页地址</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="projectSetting.showSubmitJumpUrl" |
|
|
|
<el-switch v-model="projectSetting.showSubmitJumpUrl" |
|
|
|
@change="()=>{ |
|
|
|
this.userProjectSettingData.submitJumpUrl='' |
|
|
|
this.saveUserProjectSetting() |
|
|
|
}" |
|
|
|
/> |
|
|
|
}" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row v-if="projectSetting.showSubmitJumpUrl"> |
|
|
|
<el-col :span="20" class="setting-input"> |
|
|
|
<el-input |
|
|
|
v-model="userProjectSettingData.submitJumpUrl" |
|
|
|
</el-row> --> |
|
|
|
<!-- <el-row v-if="projectSetting.showSubmitJumpUrl"> |
|
|
|
<el-col :span="20" |
|
|
|
class="setting-input"> |
|
|
|
<el-input v-model="userProjectSettingData.submitJumpUrl" |
|
|
|
:maxlength="50" |
|
|
|
:show-word-limit="true" |
|
|
|
placeholder="https://demo.tduckapp.com" |
|
|
|
@change="saveUserProjectSetting" |
|
|
|
/> |
|
|
|
@change="saveUserProjectSetting" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
</el-row> --> |
|
|
|
<!-- <el-row align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">公开反馈结果</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="userProjectSettingData.publicResult" |
|
|
|
<el-switch v-model="userProjectSettingData.publicResult" |
|
|
|
@change="()=>{ |
|
|
|
this.saveUserProjectSetting() |
|
|
|
}" |
|
|
|
/> |
|
|
|
}" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-row> --> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6" class="project-setting-view text-center"> |
|
|
|
<el-col :span="6" |
|
|
|
class="project-setting-view text-center" |
|
|
|
> |
|
|
|
<p class="project-setting-title"> |
|
|
|
回收设置 |
|
|
|
</p> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<!-- <el-row align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">只在微信中填写</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="userProjectSettingData.wxWrite" |
|
|
|
@change="saveUserProjectSetting" |
|
|
|
/> |
|
|
|
<el-switch v-model="userProjectSettingData.wxWrite" |
|
|
|
@change="saveUserProjectSetting" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
</el-row> --> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">定时收集表单</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="projectSetting.timingCollectForm" |
|
|
|
<el-switch v-model="projectSetting.timingCollectForm" |
|
|
|
@change="()=>{ |
|
|
|
this.projectSetting.timingQuantitativeForm=false |
|
|
|
this.clearFieldHandle(['timedCollectionBeginTime','timedCollectionEndTime' |
|
|
@ -133,13 +151,14 @@ |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<div v-if="projectSetting.timingCollectForm"> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="5"> |
|
|
|
<p class="project-setting-sub-label">收集时间:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-date-picker |
|
|
|
v-model="userProjectSettingData.timedCollectionBeginTime" |
|
|
|
<el-date-picker v-model="userProjectSettingData.timedCollectionBeginTime" |
|
|
|
align="center" |
|
|
|
class="collection-date-picker" |
|
|
|
placeholder="选择开始时间" |
|
|
@ -151,8 +170,7 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="1"><span> 至</span></el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-date-picker |
|
|
|
v-model="userProjectSettingData.timedCollectionEndTime" |
|
|
|
<el-date-picker v-model="userProjectSettingData.timedCollectionEndTime" |
|
|
|
align="center" |
|
|
|
class="collection-date-picker" |
|
|
|
placeholder="结束日期" |
|
|
@ -163,12 +181,15 @@ |
|
|
|
/> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="8"> |
|
|
|
<p class="project-setting-sub-label">未启用提示语:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="15"> |
|
|
|
<el-input v-model="userProjectSettingData.timedNotEnabledPromptText" :maxlength="50" |
|
|
|
<el-input v-model="userProjectSettingData.timedNotEnabledPromptText" |
|
|
|
:maxlength="50" |
|
|
|
:show-word-limit="true" |
|
|
|
class="setting-input" |
|
|
|
style="width: 80%;" |
|
|
@ -176,12 +197,15 @@ |
|
|
|
/> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="8"> |
|
|
|
<p class="project-setting-sub-label">停用后提示语:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="15"> |
|
|
|
<el-input v-model="userProjectSettingData.timedDeactivatePromptText" :maxlength="50" |
|
|
|
<el-input v-model="userProjectSettingData.timedDeactivatePromptText" |
|
|
|
:maxlength="50" |
|
|
|
:show-word-limit="true" |
|
|
|
class="setting-input" |
|
|
|
style="width: 80%;" |
|
|
@ -190,13 +214,14 @@ |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</div> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">定时定量表单</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="projectSetting.timingQuantitativeForm" |
|
|
|
<el-switch v-model="projectSetting.timingQuantitativeForm" |
|
|
|
@change="()=>{ |
|
|
|
this.projectSetting.timingCollectForm=false |
|
|
|
this.clearFieldHandle(['timedCollectionBeginTime','timedCollectionEndTime' |
|
|
@ -207,13 +232,14 @@ |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<div v-if="projectSetting.timingQuantitativeForm"> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="5"> |
|
|
|
<p class="project-setting-sub-label">收集时间:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-date-picker |
|
|
|
v-model="userProjectSettingData.timedCollectionBeginTime" |
|
|
|
<el-date-picker v-model="userProjectSettingData.timedCollectionBeginTime" |
|
|
|
align="center" |
|
|
|
class="collection-date-picker" |
|
|
|
placeholder="选择开始时间" |
|
|
@ -225,8 +251,7 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="1"><span> 至</span></el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-date-picker |
|
|
|
v-model="userProjectSettingData.timedCollectionEndTime" |
|
|
|
<el-date-picker v-model="userProjectSettingData.timedCollectionEndTime" |
|
|
|
align="center" |
|
|
|
class="collection-date-picker" |
|
|
|
placeholder="结束日期" |
|
|
@ -237,12 +262,15 @@ |
|
|
|
/> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="8"> |
|
|
|
<p class="project-setting-sub-label">未启用提示语:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="15"> |
|
|
|
<el-input v-model="userProjectSettingData.timedNotEnabledPromptText" :maxlength="50" |
|
|
|
<el-input v-model="userProjectSettingData.timedNotEnabledPromptText" |
|
|
|
:maxlength="50" |
|
|
|
:show-word-limit="true" |
|
|
|
class="setting-input" |
|
|
|
style="width: 80%;" |
|
|
@ -250,12 +278,15 @@ |
|
|
|
/> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="8"> |
|
|
|
<p class="project-setting-sub-label">停用后提示语:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="15"> |
|
|
|
<el-input v-model="userProjectSettingData.timedDeactivatePromptText" :maxlength="50" |
|
|
|
<el-input v-model="userProjectSettingData.timedDeactivatePromptText" |
|
|
|
:maxlength="50" |
|
|
|
:show-word-limit="true" |
|
|
|
class="setting-input" |
|
|
|
style="width: 80%;" |
|
|
@ -263,12 +294,16 @@ |
|
|
|
/> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row v-if="projectSetting.timingQuantitativeForm" align="middle" type="flex"> |
|
|
|
<el-row v-if="projectSetting.timingQuantitativeForm" |
|
|
|
align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="8"> |
|
|
|
<p class="project-setting-sub-label">定量表单填写数量:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="15"> |
|
|
|
<el-input v-model="userProjectSettingData.timedQuantitativeQuantity" class="setting-input" |
|
|
|
<el-input v-model="userProjectSettingData.timedQuantitativeQuantity" |
|
|
|
class="setting-input" |
|
|
|
oninput="value=value.replace(/[^\d]/g,'')" |
|
|
|
style="width: 80%;" |
|
|
|
@change="saveUserProjectSetting" |
|
|
@ -277,12 +312,15 @@ |
|
|
|
</el-row> |
|
|
|
</div> |
|
|
|
<div v-if="projectSetting.timingQuantitativeForm"> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="8"> |
|
|
|
<p class="project-setting-sub-label">收集完成后提示:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="15"> |
|
|
|
<el-input v-model="userProjectSettingData.timedEndPromptText" :maxlength="50" |
|
|
|
<el-input v-model="userProjectSettingData.timedEndPromptText" |
|
|
|
:maxlength="50" |
|
|
|
:show-word-limit="true" |
|
|
|
class="setting-input" |
|
|
|
style="width: 80%;" |
|
|
@ -291,197 +329,212 @@ |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</div> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<!-- <el-row align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label "> |
|
|
|
每个微信仅填写一次 |
|
|
|
</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="userProjectSettingData.wxWriteOnce" |
|
|
|
<el-switch v-model="userProjectSettingData.wxWriteOnce" |
|
|
|
@change="()=>{ |
|
|
|
this.userProjectSettingData.recordWxUser=true |
|
|
|
this.userProjectSettingData.wxWrite=true |
|
|
|
this.saveUserProjectSetting() |
|
|
|
}" |
|
|
|
/> |
|
|
|
}" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
</el-row> --> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label "> |
|
|
|
每人限制填写1次(用户id) |
|
|
|
<el-tooltip class="item" content="根据用户ID限制填写" effect="dark" placement="top-start"> |
|
|
|
<el-tooltip class="item" |
|
|
|
content="根据用户ID限制填写" |
|
|
|
effect="dark" |
|
|
|
placement="top-start" |
|
|
|
> |
|
|
|
<i class="el-icon-warning" /> |
|
|
|
</el-tooltip> |
|
|
|
</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="userProjectSettingData.everyoneWriteOnceByUId" |
|
|
|
<el-switch v-model="userProjectSettingData.everyoneWriteOnceByUId" |
|
|
|
@change="saveUserProjectSetting" |
|
|
|
/> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<!-- <el-row align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label "> |
|
|
|
每人限制填写1次(IP地址) |
|
|
|
<el-tooltip class="item" content="根据IP地址限制填写" effect="dark" placement="top-start"> |
|
|
|
<el-tooltip class="item" |
|
|
|
content="根据IP地址限制填写" |
|
|
|
effect="dark" |
|
|
|
placement="top-start"> |
|
|
|
<i class="el-icon-warning" /> |
|
|
|
</el-tooltip> |
|
|
|
</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="userProjectSettingData.everyoneWriteOnceByIp" |
|
|
|
@change="saveUserProjectSetting" |
|
|
|
/> |
|
|
|
<el-switch v-model="userProjectSettingData.everyoneWriteOnceByIp" |
|
|
|
@change="saveUserProjectSetting" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
</el-row> --> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">每人每天限制填写1次</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="userProjectSettingData.everyoneDayWriteOnce" |
|
|
|
<el-switch v-model="userProjectSettingData.everyoneDayWriteOnce" |
|
|
|
@change="saveUserProjectSetting" |
|
|
|
/> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row v-if="userProjectSettingData.everyoneWriteOnceByUId||userProjectSettingData.everyoneWriteOnceByIp||userProjectSettingData.everyoneWriteOnce" |
|
|
|
<!-- <el-row v-if="userProjectSettingData.everyoneWriteOnceByUId||userProjectSettingData.everyoneWriteOnceByIp||userProjectSettingData.everyoneWriteOnce" |
|
|
|
align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
type="flex"> |
|
|
|
<el-col :span="8"> |
|
|
|
<p class="project-setting-sub-label">重复填写后提示:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="15"> |
|
|
|
<el-input v-model="userProjectSettingData.writeOncePromptText" :maxlength="50" |
|
|
|
<el-input v-model="userProjectSettingData.writeOncePromptText" |
|
|
|
:maxlength="50" |
|
|
|
:show-word-limit="true" |
|
|
|
class="setting-input" |
|
|
|
style="width: 80%;" |
|
|
|
@change="saveUserProjectSetting" |
|
|
|
/> |
|
|
|
@change="saveUserProjectSetting" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
</el-row> --> |
|
|
|
<!-- <el-row align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">新反馈提醒我</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch v-model="projectSetting.newFeedbackRemind" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<div v-if="projectSetting.newFeedbackRemind"> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
</el-row> --> |
|
|
|
<!-- <div v-if="projectSetting.newFeedbackRemind"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="5"> |
|
|
|
<p class="project-setting-sub-label">发邮件提醒我</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<el-checkbox |
|
|
|
v-model="projectSetting.newFeedbackRemindEmail" |
|
|
|
<el-checkbox v-model="projectSetting.newFeedbackRemindEmail" |
|
|
|
@change="()=>{ |
|
|
|
this.clearFieldHandle(['newWriteNotifyEmail']) |
|
|
|
this.saveUserProjectSetting() |
|
|
|
}" |
|
|
|
/> |
|
|
|
}" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row v-if="projectSetting.newFeedbackRemindEmail" align="middle" type="flex"> |
|
|
|
<el-col :offset="3" :span="5"> |
|
|
|
<el-row v-if="projectSetting.newFeedbackRemindEmail" |
|
|
|
align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :offset="3" |
|
|
|
:span="5"> |
|
|
|
<p class="project-setting-sub-label">请填写邮箱:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item prop="newWriteNotifyEmail"> |
|
|
|
<el-input v-model="userProjectSettingData.newWriteNotifyEmail" class="setting-input" |
|
|
|
<el-input v-model="userProjectSettingData.newWriteNotifyEmail" |
|
|
|
class="setting-input" |
|
|
|
placeholder="多个邮箱用 ; 隔开" |
|
|
|
style="width: 80%;" |
|
|
|
@change="saveUserProjectSetting" |
|
|
|
/> |
|
|
|
@change="saveUserProjectSetting" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="5"> |
|
|
|
<p class="project-setting-sub-label">发微信提醒我</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<el-checkbox |
|
|
|
v-model="projectSetting.newFeedbackRemindWx" |
|
|
|
<el-checkbox v-model="projectSetting.newFeedbackRemindWx" |
|
|
|
@change="()=>{ |
|
|
|
this.clearFieldHandle(['newWriteNotifyWx']) |
|
|
|
this.saveUserProjectSetting() |
|
|
|
}" |
|
|
|
/> |
|
|
|
}" /> |
|
|
|
</el-col> |
|
|
|
<el-col :span="10"> |
|
|
|
<p class="project-setting-sub-label"> |
|
|
|
需要关注公众号 |
|
|
|
<el-link type="primary" @click="openSubNotifyWxDialogHandle">TDUCK</el-link> |
|
|
|
<el-link type="primary" |
|
|
|
@click="openSubNotifyWxDialogHandle">TDUCK</el-link> |
|
|
|
</p> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row v-if="userProjectSettingData.newWriteNotifyWx" align="middle" type="flex"> |
|
|
|
<el-col :offset="3" :span="5"> |
|
|
|
<el-row v-if="userProjectSettingData.newWriteNotifyWx" |
|
|
|
align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :offset="3" |
|
|
|
:span="5"> |
|
|
|
<p class="project-setting-sub-label">提醒人:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<span v-for="(user,i) in subNotifyWxUserList" :key="i" class="sub-user-view"> |
|
|
|
<i class="el-icon-close sub-user-delete" @click="deleteSubNotifyUserHandle(i)" /> |
|
|
|
<span v-for="(user,i) in subNotifyWxUserList" |
|
|
|
:key="i" |
|
|
|
class="sub-user-view"> |
|
|
|
<i class="el-icon-close sub-user-delete" |
|
|
|
@click="deleteSubNotifyUserHandle(i)" /> |
|
|
|
<el-avatar :src="user.headImgUrl" /> |
|
|
|
</span> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</div> |
|
|
|
</div> --> |
|
|
|
<el-dialog :visible.sync="dialogSubNotifyVisible" |
|
|
|
title="微信扫描二维码订阅" |
|
|
|
width="400px" |
|
|
|
> |
|
|
|
<el-image |
|
|
|
:src="subNotifyWxQrCode" |
|
|
|
<el-image :src="subNotifyWxQrCode" |
|
|
|
fit="fill" |
|
|
|
style="width: 150px; height: 150px;" |
|
|
|
/> |
|
|
|
</el-dialog> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<!-- <el-row align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">记录微信用户个人信息</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="userProjectSettingData.recordWxUser" |
|
|
|
<el-switch v-model="userProjectSettingData.recordWxUser" |
|
|
|
@change="()=>{ |
|
|
|
this.userProjectSettingData.wxWrite=true |
|
|
|
this.saveUserProjectSetting() |
|
|
|
}" |
|
|
|
/> |
|
|
|
}" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
</el-row> --> |
|
|
|
<!-- <el-row> |
|
|
|
<p class="project-setting-sub-label"> |
|
|
|
* 开启后将会授权登录,提供微信昵称、性别、城市信息 |
|
|
|
</p> |
|
|
|
</el-row> |
|
|
|
</el-row> --> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6" class="project-setting-view"> |
|
|
|
<!-- <el-col :span="6" |
|
|
|
class="project-setting-view"> |
|
|
|
<p class="project-setting-title"> |
|
|
|
分享设置 |
|
|
|
</p> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">自定义分享图标</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="projectSetting.customizeShareIcon" |
|
|
|
@change="clearFieldHandle(['userProjectSettingData.shareImg'])" |
|
|
|
/> |
|
|
|
<el-switch v-model="projectSetting.customizeShareIcon" |
|
|
|
@change="clearFieldHandle(['userProjectSettingData.shareImg'])" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row v-if="projectSetting.customizeShareIcon" align="middle" type="flex"> |
|
|
|
<el-row v-if="projectSetting.customizeShareIcon" |
|
|
|
align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="10"> |
|
|
|
<p class="project-setting-label"> |
|
|
|
请上传分享图片 * |
|
|
@ -489,21 +542,18 @@ |
|
|
|
</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-upload |
|
|
|
ref="logoUpload" |
|
|
|
<el-upload ref="logoUpload" |
|
|
|
:action="getUploadUrl" |
|
|
|
:headers="getUploadHeader" |
|
|
|
:on-success="uploadShareImgHandle" |
|
|
|
: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"> |
|
|
|
<div class="block"> |
|
|
|
<el-image |
|
|
|
:src="userProjectSettingData.shareImg" |
|
|
|
<el-image :src="userProjectSettingData.shareImg" |
|
|
|
class="share-img" |
|
|
|
fit="cover " |
|
|
|
> |
|
|
|
<div slot="error" class="image-slot"> |
|
|
|
fit="cover "> |
|
|
|
<div slot="error" |
|
|
|
class="image-slot"> |
|
|
|
<i class="el-icon-picture-outline" /> |
|
|
|
</div> |
|
|
|
</el-image> |
|
|
@ -511,33 +561,33 @@ |
|
|
|
</el-upload> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">自定义分享标题</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-switch |
|
|
|
v-model="projectSetting.customizeShareTitle" |
|
|
|
@change="clearFieldHandle(['userProjectSettingData.shareTitle'])" |
|
|
|
/> |
|
|
|
<el-switch v-model="projectSetting.customizeShareTitle" |
|
|
|
@change="clearFieldHandle(['userProjectSettingData.shareTitle'])" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row v-if="projectSetting.customizeShareTitle" align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-row v-if="projectSetting.customizeShareTitle" |
|
|
|
align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="8"> |
|
|
|
<p class="project-setting-sub-label">请输入标题:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="15"> |
|
|
|
<el-input |
|
|
|
v-model="userProjectSettingData.shareTitle" |
|
|
|
<el-input v-model="userProjectSettingData.shareTitle" |
|
|
|
:maxlength="50" |
|
|
|
:show-word-limit="true" |
|
|
|
class="setting-input" style="width: 80%;" @change="saveUserProjectSetting" |
|
|
|
/> |
|
|
|
class="setting-input" |
|
|
|
style="width: 80%;" |
|
|
|
@change="saveUserProjectSetting" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row align="middle" type="flex"> |
|
|
|
<el-row align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="12"> |
|
|
|
<p class="project-setting-label">自定义分享描述</p> |
|
|
|
</el-col> |
|
|
@ -545,24 +595,22 @@ |
|
|
|
<el-switch v-model="projectSetting.customizeShareDesc" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row v-if="projectSetting.customizeShareDesc" align="middle" |
|
|
|
type="flex" |
|
|
|
> |
|
|
|
<el-row v-if="projectSetting.customizeShareDesc" |
|
|
|
align="middle" |
|
|
|
type="flex"> |
|
|
|
<el-col :span="8"> |
|
|
|
<p class="project-setting-sub-label">请输入描述:</p> |
|
|
|
</el-col> |
|
|
|
<el-col :span="15"> |
|
|
|
<el-input |
|
|
|
v-model="userProjectSettingData.shareDesc" |
|
|
|
<el-input v-model="userProjectSettingData.shareDesc" |
|
|
|
:maxlength="50" |
|
|
|
:show-word-limit="true" |
|
|
|
class="setting-input" style="width: 80%;" @change="saveUserProjectSetting" |
|
|
|
/> |
|
|
|
class="setting-input" |
|
|
|
style="width: 80%;" |
|
|
|
@change="saveUserProjectSetting" /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<div |
|
|
|
v-if="userProjectSettingData.shareDesc||userProjectSettingData.shareTitle||userProjectSettingData.shareImg" |
|
|
|
> |
|
|
|
<div v-if="userProjectSettingData.shareDesc||userProjectSettingData.shareTitle||userProjectSettingData.shareImg"> |
|
|
|
<p>通知卡片预览</p> |
|
|
|
<div class="share-preview"> |
|
|
|
<div style="flex: 1" /> |
|
|
@ -576,18 +624,21 @@ |
|
|
|
{{ userProjectSettingData.shareDesc }} |
|
|
|
</p> |
|
|
|
<div class="share-preview-img-box"> |
|
|
|
<img v-if="userProjectSettingData.shareImg" :src="userProjectSettingData.shareImg" class="share-preview-img"> |
|
|
|
<img v-if="userProjectSettingData.shareImg" |
|
|
|
:src="userProjectSettingData.shareImg" |
|
|
|
class="share-preview-img"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="share-preview-msg-angle" /> |
|
|
|
</div> |
|
|
|
<div class="share-preview-avatar"> |
|
|
|
<img :src="getUserInfo.avatar" class="share-user-avatar"> |
|
|
|
<img :src="getUserInfo.avatar" |
|
|
|
class="share-user-avatar"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
</el-col> --> |
|
|
|
</el-row> |
|
|
|
</el-form> |
|
|
|
</template> |
|
|
@ -741,7 +792,7 @@ export default { |
|
|
|
}) |
|
|
|
}, |
|
|
|
getSubNotifyWxQrCode() { |
|
|
|
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}user/project/wx/notify-qrcode`, {params: {key: this.projectKey}}).then(res => { |
|
|
|
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/wx/notify-qrcode`, { params: { key: this.projectKey } }).then(res => { |
|
|
|
this.subNotifyWxQrCode = res.data |
|
|
|
}) |
|
|
|
}, |
|
|
@ -892,8 +943,9 @@ export default { |
|
|
|
overflow: hidden; |
|
|
|
} |
|
|
|
|
|
|
|
.share-preview-msg::after,.share-preview-msg-angle { |
|
|
|
content: ''; |
|
|
|
.share-preview-msg::after, |
|
|
|
.share-preview-msg-angle { |
|
|
|
content: ""; |
|
|
|
border: 8px solid transparent; |
|
|
|
border-style: solid; |
|
|
|
border-left-color: rgba(157, 158, 162, 0.397); |
|
|
@ -919,7 +971,7 @@ export default { |
|
|
|
font-size: 14px; |
|
|
|
text-align: left; |
|
|
|
|
|
|
|
overflow : hidden; |
|
|
|
overflow: hidden; |
|
|
|
text-overflow: ellipsis; |
|
|
|
display: -webkit-box; |
|
|
|
-webkit-line-clamp: 2; |
|
|
@ -941,7 +993,7 @@ export default { |
|
|
|
line-height: 20px; |
|
|
|
text-align: left; |
|
|
|
|
|
|
|
overflow : hidden; |
|
|
|
overflow: hidden; |
|
|
|
text-overflow: ellipsis; |
|
|
|
display: -webkit-box; |
|
|
|
-webkit-line-clamp: 3; |
|
|
|