Commit 5af5496d by 黑潮

update: 企微任务

parent df28798c
......@@ -471,3 +471,14 @@
vertical-align: middle;
margin: 0 10px;
}
.dm-qywx__item__wrap {
width: 760px;
padding: 11px 20px 18px;
border: 1px solid rgba(228,231,237,1);
border-radius:4px;
display: inline-block;
position: relative;
vertical-align: middle;
margin: 0 10px;
color: #303133;
}
<template>
<div class="dm-grade__item__wrap">
<div class="fz16">会员卡升级</div>
<p class="mt15 fz24 primary-font-color">
{{ item.title }}
<div class="dm-qywx__item__wrap">
<div class="fz16">{{ item.qywxEnterpriseName }}1231231</div>
<div class="divider"></div>
<div>{{ item.title }}123</div>
<div style="margin-top:12px;color:#606266">{{ item.remark }}123</div>
<p style="margin-top:12px">
<span>任务完成方式</span>
<el-checkbox label="话务" :value="item.telFlag" :true-label="1" :false-label="0" disabled></el-checkbox>
<el-checkbox label="会话" :value="item.chatFlag" :true-label="1" :false-label="0" disabled></el-checkbox>
<el-checkbox label="短信" :value="item.smsFlag" :true-label="1" :false-label="0" disabled></el-checkbox>
</p>
<p class="minor-font-color mt10 line-height1_5 fz12">*若当前会员卡等级超过该等级,则不会进行会员升级。</p>
</div>
</template>
<script>
export default {
name: 'item-grade',
name: 'item-qywx',
props: {
item: {
type: Object,
......@@ -21,3 +26,15 @@ export default {
}
};
</script>
<style lang="scss" scoped>
.divider {
margin-top: 12px;
margin-bottom: 18px;
height: 1px;
background-color: #dcdfe6;
}
/deep/ .el-checkbox {
margin: 0;
margin-right: 20px;
}
</style>
<template>
<el-dialog title="企微任务" :visible.sync="show" width="630px" @closed="close">
<dm-steps class="step-inner" :active="step" finish-status="success">
<dm-steps style="margin-bottom:30px" class="step-inner" :active="step" finish-status="success">
<dm-step title="编辑基本信息"></dm-step>
<dm-step title="配置任务完成方式"></dm-step>
</dm-steps>
<el-form v-show="step == 0">
<el-form-item label="选择企业"></el-form-item>
<el-form-item label="任务标题"></el-form-item>
<el-form-item label="任务描述"></el-form-item>
<el-form ref="form" v-show="step == 0" label-width="96px">
<el-form-item label="选择企业">
<el-select v-model="form.qywxEnterpriseId"></el-select>
</el-form-item>
<el-form-item label="任务标题">
<el-input show-word-limit v-model="form.title" :maxlength="20"></el-input>
</el-form-item>
<el-form-item label="任务描述">
<el-input show-word-limit v-model="form.remark" :maxlength="20"></el-input>
</el-form-item>
<el-form-item label="任务发放规则"></el-form-item>
<el-form-item label="任务逾期判定"></el-form-item>
<el-form-item label="任务逾期判定">
<el-input-number v-model="form.expireDays" :min="1"></el-input-number>
<span>天之后</span>
</el-form-item>
</el-form>
<div v-show="step == 1"></div>
<div v-show="step == 1">
<div class="task-wrapper">
<el-checkbox label="话务" v-model="form.telFlag" :true-label="1" :false-label="0"></el-checkbox>
</div>
<div class="task-wrapper">
<el-checkbox label="会话" v-model="form.chatFlag" :true-label="1" :false-label="0"></el-checkbox>
</div>
<div class="task-wrapper">
<el-checkbox label="短信" v-model="form.smsFlag" :true-label="1" :false-label="0"></el-checkbox>
</div>
</div>
<template slot="footer" v-if="step == 0">
<el-button @click="close">取消</el-button>
<el-button type="primary" @click="step = 1">下一步</el-button>
<el-button style="width:74px" :key="1" @click="close">取消</el-button>
<el-button style="width:74px" :key="1" type="primary" @click="step = 1">下一步</el-button>
</template>
<template slot="footer" v-else-if="step == 1">
<el-button type="primary" @click="step = 0">上一步</el-button>
<el-button type="primary" @click="addItem">确定</el-button>
<el-button style="width:74px" :key="2" type="primary" @click="step = 0">上一步</el-button>
<el-button style="width:74px" :key="2" type="primary" @click="addItem">确定</el-button>
</template>
</el-dialog>
</template>
......@@ -42,31 +61,42 @@ export default {
return {
cardLevelList: [],
cardLevel: '',
step: 0
};
},
mounted() {
console.log(1);
},
watch: {
show(val) {
if (val) {
this.cardLevel = this.item.relationId || '';
} else {
this.cardLevel = '';
step: 0,
form: {
qywxEnterpriseId: '123123',
qywxEnterpriseName: '测试企业',
remark: '',
clerkRule: '1,2,3',
title: '',
expireDays: 1,
telFlag: 0,
chatFlag: 0,
smsFlag: 0,
chatContent: null,
smsContent: null
}
}
};
},
methods: {
close() {
this.form = {
qywxEnterpriseId: '123123',
qywxEnterpriseName: '测试企业',
remark: '',
clerkRule: '1,2,3',
title: '',
expireDays: 1,
telFlag: 0,
chatFlag: 0,
smsFlag: 0,
chatContent: null,
smsContent: null
};
this.$refs.form.resetFields();
this.$emit('update:show', false);
},
addItem() {
if (!this.cardLevel) {
return this.$message({ type: 'warning', message: '未选择会员卡等级' });
}
let title = this.cardLevelList.find(item => item.key === this.cardLevel).value;
this.$emit('sendItem', { title, relationId: this.cardLevel, comName: 'grade' });
this.$emit('sendItem', { ...this.form, comName: 'qywx' });
this.close();
}
}
......@@ -74,17 +104,15 @@ export default {
</script>
<style lang="scss" scoped>
.step-wrap {
// width: calc(100% + 48px);
// height: 100px;
// margin-left: -24px;
// border-bottom: 1px solid #dcdfe6;
.step {
// width: 100%;
.step-inner {
// width: 750px;
margin: 0 auto;
}
.task-wrapper {
border: 1px solid#DCDFE6;
padding: 20px;
padding-bottom: 0;
.el-checkbox {
margin-bottom: 22px;
}
}
.task-wrapper + .task-wrapper {
margin-top: 10px;
}
</style>
......@@ -17,7 +17,7 @@
<i class="dm-marketing__content--index">{{ i + 1 }}</i>
<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="v.comName === 'item-teltask' || v.comName === 'item-text' || v.comName === 'item-wxa' || v.comName === 'item-integral'" @click="editItem(v)"></i>
<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')" @click="editItem(v)"></i>
<dm-delete @confirm="delItem(v)">
<i class="el-icon-delete dm-marketing__opt--icon"></i>
</dm-delete>
......@@ -248,9 +248,12 @@ export default {
this.list.push({ comName: 'item-integral', item: { multipleNum: v.multipleNum, integralType: v.integralType, integralCount: v.integralCount, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
// this.list.push({ comName: 'item-teltask', item: { ...v.teltask, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
case 'grade': // 8 积分
case 'grade': // 9 会员卡升级
this.list.push({ comName: 'item-grade', item: { title: v.title, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
case 'qywx': // 8 积分
this.list.push({ comName: 'item-qywx', item: { title: v.title, qywxEnterpriseName: v.qywxEnterpriseName, remark: v.remark, telFlag: v.telFlag, chatFlag: v.chatFlag, smsFlag: v.smsFlag, ecmMarketingTypeRelationId: v.ecmMarketingTypeRelationId, relationId: v.relationId, ecmPlanId: v.ecmPlanId } });
break;
}
});
this.hasReturnCard();
......@@ -341,6 +344,11 @@ export default {
params.title = val.title;
params.relationId = val.relationId;
}
if (val.comName === 'qywx') {
console.log(val);
params = { ...params, ...val };
delete params.comName;
}
// 接口请求 保存
saveUpdateMarketingType({ marketingType: JSON.stringify(params) })
.then(res => {
......@@ -441,6 +449,12 @@ export default {
console.log(e);
}
this.$emit('has-card', item);
},
showEdit(item) {
console.log(item);
this.options.find(i => {
return 'item-' + i.value == item.comName;
});
}
}
};
......
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