123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- @using WeApp.Configuration
- @using WeApp.Helpers
- @using WeEngine.Enum
- @model WeApp.Views.Exercise.ScreenModel
- @{
- string id = "cmd-log";
- string id2 = $"{id}_{Model.GroupNo}";
- string body = "<div class=\"log-box-body\"></div>";
- }
- <style>
- .log-box-body {
- padding-left: 3px;
- }
- .card-log {
- width: 100%;
- margin: 10px 0;
- border-radius: 0.5rem;
- --bg: var(--mc);
- }
- .card-log > .card-header {
- padding: 0 20px 0 0;
- position: relative;
- height: 32px;
- }
- .card-log > .card-header .card-title {
- position: absolute;
- top: 0;
- left: -3px;
- font-weight: bold;
- color: #fff;
- background: var(--bg);
- padding: 5px 10px;
- border-radius: .75rem 0 .75rem 0;
- max-width: 50%;
- display: flex;
- }
- .card-log > .card-header .card-title:before {
- position: absolute;
- content: "";
- width: 0;
- height: 0;
- border-right: 5px solid var(--bg);
- border-bottom: 5px solid transparent;
- bottom: -5px;
- left: 0;
- }
- .card-log > .card-header .card-title span {
- white-space: nowrap;
- line-height: 21px;
- font-size: 15px;
- }
- .card-log > .card-header .card-title span.scene-name {
- margin-left: 10px;
- padding-right: 5px;
- font-size: 12px;
- font-style: italic;
- font-weight: normal;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- .card-log > .card-header > .card-tools {
- margin-top: 3px;
- }
- .card-log > .card-header > .card-tools > .btn {
- padding: 0 5px !important;
- font-size: 13px !important;
- line-height: 22px;
- }
- .card-log > .card-body {
- color: #8c91a8;
- text-align: center;
- padding: 10px;
- font-size: 13px;
- border-radius: 0 0 0.5rem 0.5rem;
- position: relative;
- text-indent: 2em;
- }
- .log-box-body .split-line {
- height: 0;
- border-bottom: 2px dashed var(--mc);
- margin: 10px 0;
- }
- </style>
- @Html.Partial("_Run/_AreaBox", $"决策指令区#{id2}#{body}")
- @if (Model.WithScript)
- {
- using (Html.BeginScripts())
- {
- <script id="log-script">
- function GetLogs(no) {
- $.iwbAjax5({
- url: abp.appUrl + 'Query/GetGroupLogs?no='+no,
- success: res => {
- if (res && res.length) {
- res.forEach(v => { FormatterLog(v,no); });
- }
- }
- });
- }
- function FormatterLog(data,groupNo,isNew) {
- if (data) {
- var btnStr , sceneName = GetSceneNameByPath(data.scenePath);//, imagePath = data.imagePath ? data.imagePath : '/Content/Image/user.png';
- if (data.logState == '@(LogStateDefinition.New)') {
- btnStr = `<button type="button" id="log_${data.id}" class="btn btn-sm btn-iwb log-state log-wait">等待下达</button>`;
- } else if (data.logState == '@(LogStateDefinition.Submit)' ||data.logState == '@(LogStateDefinition.HasSendMatch)'||
- data.logState == '@(LogStateDefinition.Send)' ||
- data.logState == '@(LogStateDefinition.HasMatch)') {
- btnStr =
- `<button type="button" id="log_${data.id}" class="btn btn-sm btn-success log-state" disabled>已下达</button>`;
- } else {
- btnStr =
- `<button type="button" id="log_${data.id}" class="btn btn-sm btn-danger log-state" disabled>未下达</button>`;
- }
- var str = `<div class="card card-log shadow-sm ">
- <div class="card-header">
- <div class="card-title"><span>${data.role}</span><span class="scene-name">${sceneName}</span></div>
- <div class="card-tools">${btnStr}</div>
- </div>
- <div class="card-body">${data.word}</div>
- </div>`;
- if (str) {
- isNew ? $(`#@(id)_${groupNo} .log-box-body`).prepend(str) : $(`#@(id)_${groupNo} .log-box-body`).append(str);
- window.Scroll2Top($(`#@(id)_${groupNo} .log-box-body`).closest('.scroll-box'));
- }
- }
- }
- function GetSceneNameByPath(path) {
- var sceneName = '', $sceneBox = $('.card-scene[data-path="' + path + '"]');
- if ($sceneBox.length > 0) {
- sceneName = $sceneBox.data("name");
- }
- return sceneName;
- }
- function DisabledLog() {
- $('.log-wait').prop('disabled', true).text('未下达').removeClass('log-wait');
- }
- function ChangeLog(word, style) {
- var arr = word.split('|');
- var $log = $('#log_' + arr[0] + ' .card-body');
- if ($log.length) {
- var text = $log.html(), text2 = text;
- if (arr[2]) {
- var arr2 = arr[2].split(',');
- arr2.forEach(function(v) {
- var reg = new RegExp(v, "g");
- var str = '<span class="{1} ml-1 mr-1">{0}</span>'.format(v, style);
- if (text2.indexOf(str) < 0) {
- text2 = text2.replace(reg, str);
- }
- });
- $log.html(text2);
- if (text != text2) {
- $.iwbAjax5({
- url: abp.appUrl + 'CampPlay/UpdateLog',
- data: { id: arr[0], Text: text2 }
- });
- }
- }
- }
- }
- iwbHub.client.getOperationLog = function(msg) {
- console.log('getOperationLog: ', msg);
- if (msg) {
- try {
- var data = JSON.parse(msg);
- if (@(Model.Type) == 2 ||data.no == '@Model.GroupNo') {
- FormatterLog(data,data.no,true);
- }
- } catch (e) {
- console.log('getOperationLog: ', e);
- }
- }
- };
- iwbHub.client.getOperationLogSubmit = function(msg) {
- console.log('getOperationLogSubmit: ', msg);
- if (msg) {
- try {
- var data = JSON.parse(msg);
- if (@(Model.Type) == 2 ||data.no == '@Model.GroupNo') {
- $(`#@(id)_${data.no} .log-box-body`).find('#log_' + data.logId).html('已下达').removeClass('btn-iwb')
- .removeClass('log-wait').addClass('btn-success').prop('disabled', true)
- .closest('.card-log')
- .find('.scene-name').html(GetSceneNameByPath(data.scenePath));
- }
- } catch (e) {
- console.log('getOperationLogSubmit: ', e);
- }
- }
- };
- iwbHub.client.getMatchSuccess = function(msg) {
- console.log('getMatchSuccess: ', msg);
- if (msg) {
- try {
- var data = JSON.parse(msg);
- if (!data) {
- return;
- }
- var url = "", style = "";
- if (data.scoreType == @((int) BehaviorScoreType.Normal)) {
- style = "text-success";
- url = "/Content/Media/S4.mp3";
- } else if (data.scoreType == @((int) BehaviorScoreType.Negative)) {
- style = "text-danger";
- url = "/Content/Media/E2.mp3";
- } else if (data.scoreType == @((int) BehaviorScoreType.ImportantNegative)) {
- style = "text-danger text-bold";
- url = "/Content/Media/E6.mp3";
- }
- ChangeLog(data.word, style);
- window.PlayAudio(url, data.scoreType);
- } catch (e) {
- console.log('getMatchSuccess: ', e);
- }
- }
- };
- iwbHub.client.getDisabledScene = function(msg) {
- console.log('getDisabledScene: ', msg);
- if (msg) {
- try {
- //var data = JSON.parse(msg);
- if (msg == '@Model.GroupNo') {
- $(`#@(id)_${msg} .log-box-body`).prepend('<div class="split-line"></div>');
- DisabledLog();
- window.DisabledScene1();
- }
- } catch (e) {
- console.log('getDisabledScene: ', e);
- }
- }
- }
- </script>
- }
- }
|