优化发送内容

This commit is contained in:
wuxw 2022-10-26 23:52:38 +08:00
parent 54dfb4cd55
commit 3ab62e1cb1
4 changed files with 316 additions and 0 deletions

View File

@ -0,0 +1,37 @@
<div id="viewMarketSendContentModel" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-body">
<h3 class="m-t-none m-b "><span>
<vc:i18n name="发送内容" namespace="viewMarketSendContent"></vc:i18n>
</span></h3>
<div class="ibox-content">
<div>
<div>
<div class="form-group row">
<label class="col-sm-2 col-form-label"><span>
<vc:i18n name='发送内容' namespace='viewMarketSendContent'></vc:i18n>
</span></label>
<div class="col-sm-10">
<textarea v-model="viewMarketSendContentInfo.sendContent"
:placeholder="vc.i18n('必填,请填写备注','viewMarketSendContent')" class="form-control"></textarea>
</div>
</div>
<div class="ibox-content">
<button type="button" class="btn btn-warning float-right" style="margin-right:20px;"
data-dismiss="modal">
<span>
<vc:i18n name="关闭"></vc:i18n>
</span>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,28 @@
(function (vc) {
vc.extends({
propTypes: {
callBackListener: vc.propTypes.string, //父组件名称
callBackFunction: vc.propTypes.string //父组件监听方法
},
data: {
viewMarketSendContentInfo: {
sendContent: '',
}
},
_initMethod: function () {
},
_initEvent: function () {
vc.on('viewMarketSendContent', 'openModal', function (_param) {
$('#viewMarketSendContentModel').modal('show');
$that.viewMarketSendContentInfo = _param;
});
},
methods: {
}
});
})(window.vc);

View File

@ -0,0 +1,161 @@
<div>
<div class="row">
<div class="col-lg-12">
<div class="ibox ">
<div class="ibox-title">
<h5><span>
<vc:i18n name="查询条件"></vc:i18n>
</span></h5>
<div class="ibox-tools" style="top:10px;">
</div>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<input type="text" :placeholder="vc.i18n('请选择小区名称','marketLogManage')"
v-model="marketLogInfo.conditions.communityName" class=" form-control">
</div>
</div>
<div class="col-sm-4">
<select class="custom-select" v-model="marketLogInfo.conditions.sendWay">
<option selected value="">{{vc.i18n('请选择营销方式','marketLogManage')}}
</option>
<option value="1001">{{vc.i18n('短信','marketLogManage')}}
</option>
<option value="2002">{{vc.i18n('微信模板消息','marketLogManage')}}
</option>
<option value="3003">{{vc.i18n('其他','marketLogManage')}}
</option>
</select>
</div>
<div class="col-sm-3">
<select class="custom-select" v-model="marketLogInfo.conditions.businessType">
<option selected value="">{{vc.i18n('请选择业务类型','marketLogManage')}}
</option>
<option value="1001">{{vc.i18n('门禁','marketLogManage')}}
</option>
<option value="2002">{{vc.i18n('车辆道闸','marketLogManage')}}
</option>
<option value="3003">{{vc.i18n('手机支付完成','marketLogManage')}}
</option>
<option value="4004 ">{{vc.i18n('报修单提交','marketLogManage')}}
</option>
</select>
</div>
<div class="col-sm-1">
<button type="button" class="btn btn-primary btn-sm" v-on:click="_queryMarketLogMethod()">
<i class="glyphicon glyphicon-search"></i> <span>
<vc:i18n name="查询"></vc:i18n>
</span>
</button>
</div>
<div class="col-sm-4">
<div class="form-group">
<input type="text" :placeholder="vc.i18n('请填写营销人','marketLogManage')"
v-model="marketLogInfo.conditions.personNameLike" class=" form-control">
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<input type="text" :placeholder="vc.i18n('请填写开始时间','marketLogManage')"
v-model="marketLogInfo.conditions.startTime" class=" form-control logStartTime">
</div>
</div>
<div class="col-sm-3">
<div class="form-group">
<input type="text" :placeholder="vc.i18n('请填写结束时间','marketLogManage')"
v-model="marketLogInfo.conditions.endTime" class=" form-control logEndTime">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="ibox">
<div class="ibox-title">
<h5><span>
<vc:i18n name="营销记录" namespace="marketLog"></vc:i18n>
</span></h5>
<div class="ibox-tools" style="top:10px;">
</div>
</div>
<div class="ibox-content">
<table class="footable table table-stripped toggle-arrow-tiny" data-page-size="15">
<thead>
<tr>
<th class="text-center"><span>
<vc:i18n name='编号' namespace='marketLogManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='营销规则' namespace='marketLogManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='小区名称' namespace='marketLogManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='营销人' namespace='marketLogManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='手机号' namespace='marketLogManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='openId' namespace='marketLogManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='营销方式' namespace='marketLogManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='业务类型' namespace='marketLogManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='说明' namespace='marketLogManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='操作'></vc:i18n>
</span></th>
</tr>
</thead>
<tbody>
<tr v-for="marketLog in marketLogInfo.logs">
<td class="text-center">{{marketLog.logId}}</td>
<td class="text-center">{{marketLog.ruleName}}</td>
<td class="text-center">{{marketLog.communityName}}</td>
<td class="text-center">{{marketLog.personName}}</td>
<td class="text-center">{{marketLog.personTel}}</td>
<td class="text-center">{{marketLog.openId}}</td>
<td class="text-center">{{marketLog.sendWayName}}</td>
<td class="text-center">{{marketLog.businessTypeName}}</td>
<td class="text-center">{{marketLog.remark}}</td>
<td class="text-center">
<div class="btn-group">
<button class="btn-white btn btn-xs"
v-on:click="_openViewLogModel(marketLog)"><span>
<vc:i18n name='发送内容'></vc:i18n>
</span></button>
</div>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="7">
<ul class="pagination float-right"></ul>
</td>
</tr>
</tfoot>
</table>
<!-- 分页 -->
<vc:create path="frame/pagination"></vc:create>
</div>
</div>
</div>
</div>
<vc:create path="admin/viewMarketSendContent" callBackListener="" callBackFunction=""></vc:create>
</div>

View File

@ -0,0 +1,90 @@
/**
入驻小区
**/
(function (vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 10;
vc.extends({
data: {
marketLogInfo: {
logs: [],
total: 0,
records: 1,
moreCondition: false,
venueId: '',
conditions: {
communityName: '',
sendWay: '',
businessType: '',
personNameLike:'',
startTime:'',
endTime:''
}
}
},
_initMethod: function () {
vc.component._listMarketLogs(DEFAULT_PAGE, DEFAULT_ROWS);
vc.initDate('logStartTime', function(_value) {
$that.marketLogInfo.conditions.startTime = _value;
});
vc.initDate('logEndTime', function(_value) {
$that.marketLogInfo.conditions.endTime = _value;
});
},
_initEvent: function () {
vc.on('marketLog', 'listMarketLog', function (_param) {
vc.component._listMarketLogs(DEFAULT_PAGE, DEFAULT_ROWS);
});
vc.on('pagination', 'page_event', function (_currentPage) {
vc.component._listMarketLogs(_currentPage, DEFAULT_ROWS);
});
},
methods: {
_listMarketLogs: function (_page, _rows) {
vc.component.marketLogInfo.conditions.page = _page;
vc.component.marketLogInfo.conditions.row = _rows;
let param = {
params: vc.component.marketLogInfo.conditions
};
//发送get请求
vc.http.apiGet('/marketRule.listMarketLog',
param,
function (json, res) {
var _marketLogInfo = JSON.parse(json);
vc.component.marketLogInfo.total = _marketLogInfo.total;
vc.component.marketLogInfo.records = _marketLogInfo.records;
vc.component.marketLogInfo.logs = _marketLogInfo.data;
vc.emit('pagination', 'init', {
total: vc.component.marketLogInfo.records,
currentPage: _page
});
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_openViewLogModel: function (_log) {
vc.emit('viewMarketSendContent', 'openModal',_log);
},
_queryMarketLogMethod: function () {
vc.component._listMarketLogs(DEFAULT_PAGE, DEFAULT_ROWS);
},
_moreCondition: function () {
if (vc.component.marketLogInfo.moreCondition) {
vc.component.marketLogInfo.moreCondition = false;
} else {
vc.component.marketLogInfo.moreCondition = true;
}
}
}
});
})(window.vc);