Commit 2e52acba by 黑潮

update: ecm编辑

parent 116433f6
......@@ -96,7 +96,7 @@ export default {
loading: false,
infoHeader: [
{
label: '回复方式',
label: '营销方式',
prop: 'marketingType',
align: 'left',
formatter(row) {
......
......@@ -15,6 +15,7 @@ export default {
mixins: [xxSysp_mix],
data() {
return {
onlineStatus: 0,
ecmPlanId: '', // 必传,
creatorId: '',
code: '1001',
......@@ -117,6 +118,7 @@ export default {
isEdit: this.$route.meta.type === 'edit',
isAdd: this.$route.meta.type === 'add',
isInfo: this.$route.meta.type === 'info',
isCopy: this.$route.meta.copy === 'copy',
// 人群筛选器可传参数
sceneValue: 'member', // 场景值
useId: '', // 模板id
......@@ -302,6 +304,7 @@ export default {
this.enabledMessageState = res.result.enabledMessageState || 0;
this.xxSysp.goodsEnable = res.result.goodsEnable || false; // 是否支持商品选择器
if (result && !this.isAdd) {
this.onlineStatus = result.onlineStatus;
this.creatorId = res.result.ecmDTO.creatorId;
this.ecmPlanId = this.form.ecmPlanId = result.ecmPlanId || '';
this.form.ecmPlanName = result.ecmPlanName;
......
......@@ -269,10 +269,10 @@
<section class="dm-form__wrap" v-if="form.effectType == 0 || form.effectType == 1">
<h3 class="dm-title__label">有效时间</h3>
<el-form-item label="有效时间" prop="endDate" :show-message="showMessage">
<el-radio v-model="form.expireType" :label="0">长期有效</el-radio>
<el-radio v-model="form.expireType" :label="1">固定期限</el-radio>
<el-date-picker class="ml10" v-if="form.expireType" v-model="form.beginDate" type="datetime" placeholder="开始时间" @change="checkBeginEndTime"> </el-date-picker>
<el-date-picker v-if="form.expireType" v-model="form.endDate" type="datetime" :picker-options="endDatePickerOptions" placeholder="结束时间" @change="checkBeginEndTime"> </el-date-picker>
<el-radio :disabled="onlineStatus != 0 && form.expireType == 1" v-model="form.expireType" :label="0">长期有效</el-radio>
<el-radio :disabled="onlineStatus != 0 && form.expireType == 0" v-model="form.expireType" :label="1">固定期限</el-radio>
<el-date-picker class="ml10" v-if="form.expireType" v-model="form.beginDate" :disabled="onlineStatus != 0" type="datetime" placeholder="开始时间" @change="checkBeginEndTime"> </el-date-picker>
<el-date-picker v-if="form.expireType" v-model="form.endDate" :disabled="onlineStatus == 2" type="datetime" :picker-options="endDatePickerOptions" placeholder="结束时间" @change="checkBeginEndTime"> </el-date-picker>
</el-form-item>
</section>
<!-- 人群筛选器 -->
......@@ -301,7 +301,7 @@
<section class="dm-form__wrap">
<h3 class="dm-title__label">营销事件</h3>
<!-- 只有实时才是单图文 -->
<marketing-event :readOnly="isInfo" show-out-coupon-icon ref="marketingEvent" @has-card="hasCard" v-if="ecmPlanId" :singleFlag="form.effectType === 0" :integralMultiple="form.effectAction === 'consume'" :ecmPlanId="ecmPlanId" :isSupportVar="form.effectType === 0" :code="code" :enabledMessageState="enabledMessageState" :cardLimitType="-1" :use-stored="useStoredFlag && ['consume', 'stored'].includes(form.effectAction) && form.effectType == 0"></marketing-event>
<marketing-event :readOnly="isInfo || onlineStatus == 2" :show-delete-tooltip="isEdit && analyseConfig.open_flag == 1" show-out-coupon-icon ref="marketingEvent" @has-card="hasCard" v-if="ecmPlanId" :singleFlag="form.effectType === 0" :integralMultiple="form.effectAction === 'consume'" :ecmPlanId="ecmPlanId" :isSupportVar="form.effectType === 0" :code="code" :enabledMessageState="enabledMessageState" :cardLimitType="-1" :use-stored="useStoredFlag && ['consume', 'stored'].includes(form.effectAction) && form.effectType == 0"></marketing-event>
<!-- 只有非实时&&选择卡券了展示提示 -->
<div v-if="currentCard.comName && form.effectType != 0 && couponAutoGetFlag" class="fz13 regular-font-color line-height2" style="margin-left:120px;margin-top:30px;">
* 用户在领取卡券后需要<b class="bold">同步至ERP</b>,如果关闭用户<b class="bold">手动领取</b>,卡券在<b class="bold">批量投放</b>时会需要将卡券信息批量同步至ERP。 <br />
......@@ -422,7 +422,7 @@
<el-input-number :disabled="!isAdd" controls-position="right" class="w150" :min="3" :max="31" v-model="analyseConfig.marke_days"></el-input-number>
<span class="ml10">天之内</span>
</div>
<div style="margin-top:6px;color:#A5A7AD;font-size:12px;margin-left:164px">最长 31 天,最短 3 天 (以自然日计算)</div>
<div style="margin-top:6px;color:#A5A7AD;font-size:12px;margin-left:164px">最长 31 天,最短 1 天 (以自然日计算)</div>
<div class="mt20" v-show="[1, 2].includes(form.effectType)">
<div class="w150 text-right inline-block mr10">
<label class="cursor">
......
<template>
<div>
<el-dialog :title="isEdit && !readOnly ? '编辑群发消息' : '群发信息'" :visible.sync="show" width="660px" @closed="close">
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-dialog :title="isEdit && !readOnly ? '编辑群发消息' : '群发信息'" :visible.sync="show" width="680px" @closed="close">
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-form-item label="选择企业" prop="qfxxEnterpriseId">
<el-select v-model="form.qfxxEnterpriseId" @change="onChangeEnterprise" :disabled="isEdit || readOnly">
<el-option v-for="el in entepriseList" :key="el.wxEnterpriseId" :value="el.wxEnterpriseId" :label="el.corpName"></el-option>
</el-select>
</el-form-item>
<el-form-item label="任务标题" prop="title">
<template slot="label">
<span>任务标题</span>
<el-tooltip open-delay="200" placement="top">
<i style="cursor:pointer;color:#909399;font-size:14px;" class="iconfont icon-xinxixianshi"></i>
<div slot="content" style="width:376px;line-height: 22px;">计划创建后编辑任务标题,历史创建任务的标题不会更新,新下发任务按编辑后标题展示</div>
</el-tooltip>
</template>
<el-input show-word-limit v-model="form.title" :maxlength="20" :disabled="readOnly"></el-input>
</el-form-item>
<el-form-item label="任务描述" prop="remark">
<template slot="label">
<span>任务描述</span>
<el-tooltip open-delay="200" placement="top">
<i style="cursor:pointer;color:#909399;font-size:14px;" class="iconfont icon-xinxixianshi"></i>
<div slot="content" style="width:376px;line-height: 22px;">计划创建后编辑任务描述,历史创建任务的描述按编辑后内容展示,新下发任务按编辑后内容展示</div>
</el-tooltip>
</template>
<el-input class="task-desc" type="textarea" show-word-limit v-model="form.remark" :rows="4" :maxlength="200" resize="none" :disabled="readOnly"></el-input>
</el-form-item>
<el-form-item label="任务逾期判定" prop="expireDays">
......@@ -18,6 +32,13 @@
<span>天之后</span>
</el-form-item>
<el-form-item label="添加群发内容" prop="">
<template slot="label">
<span>添加群发内容</span>
<el-tooltip open-delay="200" placement="top">
<i style="cursor:pointer;color:#909399;font-size:14px;" class="iconfont icon-xinxixianshi"></i>
<div slot="content" style="width:376px;line-height: 22px;">计划创建后编辑添加群发内容,历史创建群发内容不会更新,新下发任务按编辑后内容展示</div>
</el-tooltip>
</template>
<div style="font-size:12px;color:#6B6D71;margin-bottom:10px">建议以文本+其他类型组合创建群发内容;文本内容最多只能添加 1 个</div>
<div style="margin-bottom:16px;display:flex;flex-wrap:wrap;margin-top:12px">
<material-item class="card-item" v-for="item in materials" :key="item.relation_id" :item="item" @delete="onDeleteMaterial" :read-only="readOnly"></material-item>
......@@ -33,7 +54,7 @@
<el-button style="width:74px" type="primary" @click="addItem">确定</el-button>
</template>
</el-dialog>
<dm-material :visible.sync="materialVisible" @select="onSelectMaterial" :wx-enterprise-id="this.form.qfxxEnterpriseId" projectName="marketing" :material-ids="materials.map(el => el.relation_id)"></dm-material>
<dm-material :visible.sync="materialVisible" @select="onSelectMaterial" :wx-enterprise-id="this.form.qfxxEnterpriseId" projectName="marketing" :material-ids="materials.map(el => el.relation_id)" :disableTypes="disableTypes"></dm-material>
</div>
</template>
......@@ -158,6 +179,15 @@ export default {
});
}
},
computed: {
disableTypes() {
if (this.materials.some(el => el.type == 1)) {
return [1];
} else {
return [];
}
}
},
watch: {
show: {
handler() {
......
<template>
<el-dialog title="编辑话务" :visible.sync="show" width="600px" :before-close="close">
<el-form ref="form" :model="form" label-width="110px" :rules="rules" v-loading="loading">
<el-dialog title="编辑话务" :visible.sync="show" width="620px" :before-close="close">
<el-form ref="form" :model="form" label-width="130px" :rules="rules" v-loading="loading">
<el-form-item label="话务任务标题" class="pb10" prop="title">
<template slot="label">
<span>话务任务标题</span>
<el-tooltip open-delay="200" placement="top">
<i style="cursor:pointer;color:#909399;font-size:14px;" class="iconfont icon-xinxixianshi"></i>
<div slot="content" style="width:376px;line-height: 22px;">计划创建后编辑标题,历史创建任务的标题不会更新,新下发任务按编辑后标题展示</div>
</el-tooltip>
</template>
<dm-input class="w400" v-model="form.title" placeholder="限制20个字符" :maxlength="20"></dm-input>
</el-form-item>
<el-form-item label="话务任务内容" class="pb10" prop="content">
<template slot="label">
<span>话务任务内容</span>
<el-tooltip open-delay="200" placement="top">
<i style="cursor:pointer;color:#909399;font-size:14px;" class="iconfont icon-xinxixianshi"></i>
<div slot="content" style="width:376px;line-height: 22px;">计划创建后编辑内容,历史创建任务的内容按编辑后内容展示,新下发任务按编辑后内容展示</div>
</el-tooltip>
</template>
<dm-input class="w400" :rows="4" type="textarea" v-model="form.content" placeholder="限制200个字符" :maxlength="200"></dm-input>
</el-form-item>
<el-form-item label="任务逾期判定" prop="lateDays"> <el-input-number controls-position="right" class="w400" v-model="form.lateDays"></el-input-number> 天之后 </el-form-item>
......
......@@ -18,7 +18,7 @@
<component :is="v.comName" :item="v.item" :isSupportVar="isSupportVar"></component>
<template v-if="!readOnly">
<i class="el-icon-edit dm-marketing__opt--icon" v-if="showEdit(v) && (v.comName === 'item-teltask' || v.comName === 'item-text' || v.comName === 'item-wxa' || v.comName === 'item-integral' || v.comName === 'item-qywx' || v.comName === 'item-qfxx')" @click="editItem(v)"></i>
<dm-delete @confirm="delItem(v)">
<dm-delete :tips="showDeleteTooltip ? '是否确定删除该营销事件?删除后,该计划营销分析数据可能会不准确。' : '是否删除?'" @confirm="delItem(v)">
<i class="el-icon-delete dm-marketing__opt--icon"></i>
</dm-delete>
</template>
......@@ -150,7 +150,8 @@ export default {
useQywx: {
type: Boolean,
default: true
}
},
showDeleteTooltip: Boolean
},
data() {
return {
......
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