批量验证
f\RG3.BO.DB\Services\DbExecuteService$BatSave.cs
后台通知进度 bsWsLogProcessId
\rg3-frontend\rg3-cli-oapp\src\components\basis\bs-ws-log-content\index.vue
\rg3-frontend\rg3-cli-oapp\src\components\basis\bs-op-float
\RG3.PF.Web.StartUsed\Providers\PushPullWsLogEventBusProvider.cs
<a class="cursor-p" v-show="processValue>0">
<!-- @click.prevent="$emit('on-copy-add')" -->
<div class="el-backtop"
style="right: 0rem; bottom: 26rem;">
<el-tooltip class="item" effect="dark" content="查看进度" placement="left-start">
<bs-ws-log-process ref="bsWsLogProcessId" :config="process" :emitterId="emitterId" :width="32" @change="onProcessChange"></bs-ws-log-process>
</el-tooltip>
</div>
</a>
mounted() {
let that = this;
//#region 执行进度
let moduleKey = that.meta.mkey;
let responseField = that.meta.field;
that.emitterId = `${moduleKey}-mr-${responseField}-ra-import`;
that.process = { title: "导入" }
//#endregion
that.loadData(true);
// that.$store.dispatch("jeObj", that);
},
// #region 进度配置
emitterId: null,
process: {},
pageFilter: {},
processValue: 0,
// #endregion 进度配置
methods: {
onProcessChange(val){
//debugger;
this.processValue=val;
},
call(type){
if(type==='process'&&this.$refs['bsWsLogProcessId']){
this.$refs['bsWsLogProcessId'].callResetProcess();
}
}
},
### 调用 _bizEventId: that.emitterId
that.$bsAjax.doBatSave(moduleKey, responseField, { _bizEventId: that.emitterId, _menuId: that.meta.menuId, _rowPageSize: that.excelTemplates.pageSize }, that.saveData, null).then(res => {
推送进度日志信息 使用
\rg3-pf\RG3.BO.Op\Provider\SubPushTraceLogBasisProvider.cs
/// <summary>
/// 推送进度日志信息
/// </summary>
/// <param name="pfMapper"></param>
/// <param name="logInfoBasis"></param>
/// <returns></returns>
public Task Push(PFGlobalParameter pfMapper, LogInfoBasis logInfoBasis)
{
var dateT = pfMapper.LastDate ?? DateTimeUtil.Now();
var pf = new PFGlobalParameter
{
FromEventId = pfMapper.FromEventId,
LastDate = dateT,
LastDateUtc = DateTimeUtil.DateUtcTimeStampMilliseconds(dateT),
Process = logInfoBasis.Progress.ToString() ?? pfMapper.Process,// logInfoBasis.Progress.ToString(),
UserId = pfMapper.UserId,// ?? _authProvider.GetCurrentUserId()?.ToString(),
SysId = pfMapper.SysId,
AppId = pfMapper.AppId,
TenantId = pfMapper.TenantId,
ChannelReceiver = pfMapper.ChannelReceiver,
ChannelRule = pfMapper.ChannelRule,
Message = logInfoBasis.LogContent ?? pfMapper.Message,
OwnerId = pfMapper.OwnerId,
ModuleKey = pfMapper.ModuleKey,
SubBeforeKey = pfMapper.SubBeforeKey,
ReponseField = pfMapper.ReponseField
};
return _capBus.PublishAsync<PFGlobalParameter>("pushpull.ws.process.log", pf);
//return null;
}
private ISubPushTraceLogBasis _subPushTraceLogBasis;
var log = new LogInfoBasis
{
TraceId = pfGloal.FromTraceId,
EventId = pfGloal.FromEventId,
LogContent = $"【{item.Remark}】保存结果记录数【{result}】条。";.Replace("【】", ""),
Progress = (record / total) * 100,
LogTime = DateTimeUtil.Now(),
ClientIp = pfGloal.ClientUserIp,
CreateBy = pfGloal.UserName,
CreateId = pfGloal.UserId
};
log.Progress = Math.Round(log.Progress, 0);
if (log.Progress > 100)
{
log.Progress = 100;
}
_subPushTraceLogBasis.Push(pfGloal, log);
文档更新时间: 2025-03-08 07:37 作者:admin