mirror of
https://github.com/IoTManagerProject/IoTManagerWeb.git
synced 2026-03-26 23:12:34 +03:00
исправление бага добавления задачи
This commit is contained in:
@@ -60,7 +60,7 @@
|
||||
//****************************************************variable section**********************************************************/
|
||||
//******************************************************************************************************************************/
|
||||
let myip = document.location.hostname;
|
||||
if (devMode) myip = "192.168.1.232";
|
||||
if (devMode) myip = "192.168.87.242";
|
||||
|
||||
//Flags
|
||||
let firstDevListRequest = true;
|
||||
|
||||
@@ -4,8 +4,9 @@ export default {
|
||||
"login.pass": "Пароль",
|
||||
"login.login": "Вход",
|
||||
"profile.update": "Собрать прошивку",
|
||||
ok_success: "Задача запущена",
|
||||
ok_success: "Задача добавлена",
|
||||
err_order_exist: "Ваша задача выполняется! Cледующию задачу можно будет запустить после завершения",
|
||||
err_add_order: "Ошибка отправки задачи",
|
||||
err_of_login: "Ошибка входа в систему",
|
||||
err_user_not_exist: "Такой пользователь не был зарегестрирован",
|
||||
err_pass: "Неправильный пароль",
|
||||
@@ -21,8 +22,9 @@ export default {
|
||||
"login.pass": "Password",
|
||||
"login.login": "Login",
|
||||
"profile.update": "Собрать прошивку",
|
||||
ok_success: "Задача запущена",
|
||||
ok_success: "Задача добавлена",
|
||||
err_order_exist: "Ваша задача выполняется! Cледующию задачу можно будет запустить после завершения",
|
||||
err_add_order: "Ошибка отправки задачи",
|
||||
err_of_login: "Ошибка входа в систему",
|
||||
err_user_not_exist: "Такой пользователь не был зарегестрирован",
|
||||
err_pass: "Неправильный пароль",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
export let show;
|
||||
export let myProfileJson;
|
||||
export let userdata;
|
||||
import CrossIcon from "../svg/Cross.svelte";
|
||||
let errors = [];
|
||||
let allmodeinfo = null;
|
||||
let userBuilds = null;
|
||||
@@ -81,7 +82,29 @@
|
||||
}
|
||||
};
|
||||
|
||||
const update = async () => {
|
||||
const delBuild = async (ord) => {
|
||||
try {
|
||||
const JWT = Cookies.get("token_iotm2");
|
||||
let res = await fetch("https://portal.iotmanager.org/compiler/delete/builds/" + ord.orderId, {
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
Authorization: `Bearer ${JWT}`,
|
||||
},
|
||||
mode: "cors",
|
||||
method: "GET",
|
||||
});
|
||||
if (res.ok) {
|
||||
await getUserBuilds();
|
||||
} else {
|
||||
console.log("error", res.statusText);
|
||||
}
|
||||
} catch (e) {
|
||||
console.log("error", e);
|
||||
}
|
||||
};
|
||||
|
||||
const placeOrder = async () => {
|
||||
delete myProfileJson["_id"];
|
||||
const JWT = Cookies.get("token_iotm2");
|
||||
try {
|
||||
let res = await fetch("https://portal.iotmanager.org/compiler/order", {
|
||||
@@ -93,7 +116,6 @@
|
||||
body: JSON.stringify(myProfileJson),
|
||||
});
|
||||
const content = await res.json();
|
||||
//console.log(content);
|
||||
if (res.ok) {
|
||||
errors = [{ msg: "ok_success" }];
|
||||
await getUserBuilds();
|
||||
@@ -161,7 +183,7 @@
|
||||
{#each errors as e, i}
|
||||
<p class="text-red-500 p-0 m-0 font-bold text-xs italic">{$t(e.msg)}</p>
|
||||
{/each}
|
||||
<button class="btn-lg mt-6" on:click={() => update()}>{$t("profile.update")}</button>
|
||||
<button class="btn-lg mt-4" on:click={() => placeOrder()}>{$t("profile.update")}</button>
|
||||
{#if userBuilds}
|
||||
<table class="tbl mt-6 mb-0">
|
||||
<thead class="bg-gray-100">
|
||||
@@ -173,6 +195,8 @@
|
||||
<th class="tbl-hd">Подготовка</th>
|
||||
<th class="tbl-hd">Сборка build</th>
|
||||
<th class="tbl-hd">Сборка fs</th>
|
||||
<th class="tbl-hd" />
|
||||
<th class="tbl-hd w-7" />
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="bg-white">
|
||||
@@ -184,8 +208,11 @@
|
||||
<td class="tbl-bdy-lg ipt-lg w-full">{new Date(build.dateAdded).toLocaleString("ru", { timeZone: "Europe/Vienna" })}</td>
|
||||
{#if build.status.preparation === 0 && build.status.build === 0 && build.status.fs === 0}
|
||||
<td class="tbl-bdy-lg ipt-lg w-full">
|
||||
<p class="text-green-700">{"Ожидание очереди..."}</p>
|
||||
<p class="text-green-500 font-bold truncate">{"Ожидание очереди..."}</p>
|
||||
</td>
|
||||
<td class="tbl-bdy-lg ipt-lg w-full" />
|
||||
<td class="tbl-bdy-lg ipt-lg w-full" />
|
||||
<td class="tbl-bdy-lg ipt-lg w-full" />
|
||||
{:else}
|
||||
<td class="tbl-bdy-lg ipt-lg w-full">
|
||||
<div onClick={() => showLog(build, "py.txt")}>
|
||||
@@ -200,6 +227,21 @@
|
||||
<td class="tbl-bdy-lg ipt-lg w-full">
|
||||
<div onClick={() => showLog(build, "fs.txt")}>{st[build.status.fs]}</div>
|
||||
</td>
|
||||
{#if build.status.build === 2 && build.status.preparation === 2 && build.status.fs === 2}
|
||||
<td onClick={() => showLog(build, "fs.txt")} class="tbl-bdy-lg ipt-lg w-full cursor-pointer select-none bg-green-100 hover:bg-green-200">
|
||||
<p class="w-fill">Установить</p>
|
||||
</td>
|
||||
{:else}
|
||||
<td class="tbl-bdy-lg ipt-lg w-full" />
|
||||
{/if}
|
||||
|
||||
{#if build.processed}
|
||||
<td class="tbl-bdy-lg ipt-lg w-full">
|
||||
<CrossIcon click={() => delBuild(build)} />
|
||||
</td>
|
||||
{:else}
|
||||
<td class="tbl-bdy-lg ipt-lg w-full" />
|
||||
{/if}
|
||||
{/if}
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
@@ -1,130 +1,130 @@
|
||||
<script>
|
||||
const wifiState = {
|
||||
0: "не подключено",
|
||||
1: "нет сигнала",
|
||||
2: "очень низкий",
|
||||
3: "низкий",
|
||||
4: "хороший",
|
||||
5: "очень хороший",
|
||||
6: "отличный",
|
||||
};
|
||||
//const wifiState = {
|
||||
// 0: "не подключено",
|
||||
// 1: "нет сигнала",
|
||||
// 2: "очень низкий",
|
||||
// 3: "низкий",
|
||||
// 4: "хороший",
|
||||
// 5: "очень хороший",
|
||||
// 6: "отличный",
|
||||
//};
|
||||
|
||||
const systemErrorsRus = {
|
||||
mqtt: {
|
||||
e1: {
|
||||
descr: "Ошибка mqtt",
|
||||
color: "text-red-500",
|
||||
txt: "Нет ответа от сервера",
|
||||
cancel: false,
|
||||
},
|
||||
e2: {
|
||||
descr: "Ошибка mqtt",
|
||||
color: "text-red-500",
|
||||
txt: "Соединение было разорвано",
|
||||
cancel: false,
|
||||
},
|
||||
e3: {
|
||||
descr: "Ошибка mqtt",
|
||||
color: "text-red-500",
|
||||
txt: "Ошибка соединения. Обычно возникает когда неверно указано название сервера MQTT",
|
||||
cancel: false,
|
||||
},
|
||||
e4: {
|
||||
descr: "Ошибка mqtt",
|
||||
color: "text-red-500",
|
||||
txt: "Клиент был отключен",
|
||||
cancel: false,
|
||||
},
|
||||
e6: {
|
||||
descr: "Ошибка mqtt",
|
||||
color: "text-red-500",
|
||||
txt: "Ошибка версии",
|
||||
cancel: false,
|
||||
},
|
||||
e7: {
|
||||
descr: "Ошибка mqtt",
|
||||
color: "text-red-500",
|
||||
txt: "Отклонен идентификатор",
|
||||
cancel: false,
|
||||
},
|
||||
e8: {
|
||||
descr: "Ошибка mqtt",
|
||||
color: "text-red-500",
|
||||
txt: "Не могу установить соединение",
|
||||
cancel: false,
|
||||
},
|
||||
e9: {
|
||||
descr: "Ошибка mqtt",
|
||||
color: "text-red-500",
|
||||
txt: "Неправильное имя пользователя/пароль",
|
||||
},
|
||||
e10: {
|
||||
descr: "Ошибка mqtt",
|
||||
color: "text-red-500",
|
||||
txt: "Не авторизован для подключения",
|
||||
cancel: false,
|
||||
},
|
||||
e11: {
|
||||
descr: "Ошибка mqtt",
|
||||
color: "text-red-500",
|
||||
txt: "Название сервера пустое",
|
||||
cancel: false,
|
||||
},
|
||||
e12: {
|
||||
descr: "Ошибка mqtt",
|
||||
color: "text-red-500",
|
||||
txt: "Имя пользователя или пароль пустые",
|
||||
cancel: false,
|
||||
},
|
||||
e13: {
|
||||
descr: "Mqtt",
|
||||
color: "text-red-500",
|
||||
txt: "Подключение в процессе",
|
||||
cancel: false,
|
||||
},
|
||||
},
|
||||
wse1: {
|
||||
1: {
|
||||
descr: "Ошибка веб сокетов",
|
||||
color: "text-red-500",
|
||||
txt: "Слишком много клиентов было открыто. Допускается не более четырех.",
|
||||
cancel: true,
|
||||
},
|
||||
},
|
||||
jse1: {
|
||||
1: {
|
||||
descr: "Ошибка json",
|
||||
color: "text-red-500",
|
||||
txt: "Недостаточный размер буфера библиотеки Arduino Json. Устройство может вести себя непредсказуемо. Обратитесь к разработчику.",
|
||||
cancel: true,
|
||||
},
|
||||
},
|
||||
jse2: {
|
||||
1: {
|
||||
descr: "Ошибка json",
|
||||
color: "text-red-500",
|
||||
txt: "Ошибка записи/чтения json.",
|
||||
cancel: true,
|
||||
num: true,
|
||||
},
|
||||
},
|
||||
jse3: {
|
||||
1: {
|
||||
descr: "Ошибка json",
|
||||
color: "text-red-500",
|
||||
txt: "Ошибка чтения json файла с виджетами при отправки в mqtt",
|
||||
cancel: true,
|
||||
},
|
||||
},
|
||||
tme1: {
|
||||
1: {
|
||||
descr: "Ошибка времени",
|
||||
color: "text-red-500",
|
||||
txt: "Ошибка синхронизации времени с NTP сервером",
|
||||
cancel: false,
|
||||
},
|
||||
},
|
||||
};
|
||||
//const systemErrorsRus = {
|
||||
// mqtt: {
|
||||
// e1: {
|
||||
// descr: "Ошибка mqtt",
|
||||
// color: "text-red-500",
|
||||
// txt: "Нет ответа от сервера",
|
||||
// cancel: false,
|
||||
// },
|
||||
// e2: {
|
||||
// descr: "Ошибка mqtt",
|
||||
// color: "text-red-500",
|
||||
// txt: "Соединение было разорвано",
|
||||
// cancel: false,
|
||||
// },
|
||||
// e3: {
|
||||
// descr: "Ошибка mqtt",
|
||||
// color: "text-red-500",
|
||||
// txt: "Ошибка соединения. Обычно возникает когда неверно указано название сервера MQTT",
|
||||
// cancel: false,
|
||||
// },
|
||||
// e4: {
|
||||
// descr: "Ошибка mqtt",
|
||||
// color: "text-red-500",
|
||||
// txt: "Клиент был отключен",
|
||||
// cancel: false,
|
||||
// },
|
||||
// e6: {
|
||||
// descr: "Ошибка mqtt",
|
||||
// color: "text-red-500",
|
||||
// txt: "Ошибка версии",
|
||||
// cancel: false,
|
||||
// },
|
||||
// e7: {
|
||||
// descr: "Ошибка mqtt",
|
||||
// color: "text-red-500",
|
||||
// txt: "Отклонен идентификатор",
|
||||
// cancel: false,
|
||||
// },
|
||||
// e8: {
|
||||
// descr: "Ошибка mqtt",
|
||||
// color: "text-red-500",
|
||||
// txt: "Не могу установить соединение",
|
||||
// cancel: false,
|
||||
// },
|
||||
// e9: {
|
||||
// descr: "Ошибка mqtt",
|
||||
// color: "text-red-500",
|
||||
// txt: "Неправильное имя пользователя/пароль",
|
||||
// },
|
||||
// e10: {
|
||||
// descr: "Ошибка mqtt",
|
||||
// color: "text-red-500",
|
||||
// txt: "Не авторизован для подключения",
|
||||
// cancel: false,
|
||||
// },
|
||||
// e11: {
|
||||
// descr: "Ошибка mqtt",
|
||||
// color: "text-red-500",
|
||||
// txt: "Название сервера пустое",
|
||||
// cancel: false,
|
||||
// },
|
||||
// e12: {
|
||||
// descr: "Ошибка mqtt",
|
||||
// color: "text-red-500",
|
||||
// txt: "Имя пользователя или пароль пустые",
|
||||
// cancel: false,
|
||||
// },
|
||||
// e13: {
|
||||
// descr: "Mqtt",
|
||||
// color: "text-red-500",
|
||||
// txt: "Подключение в процессе",
|
||||
// cancel: false,
|
||||
// },
|
||||
// },
|
||||
// wse1: {
|
||||
// 1: {
|
||||
// descr: "Ошибка веб сокетов",
|
||||
// color: "text-red-500",
|
||||
// txt: "Слишком много клиентов было открыто. Допускается не более четырех.",
|
||||
// cancel: true,
|
||||
// },
|
||||
// },
|
||||
// jse1: {
|
||||
// 1: {
|
||||
// descr: "Ошибка json",
|
||||
// color: "text-red-500",
|
||||
// txt: "Недостаточный размер буфера библиотеки Arduino Json. Устройство может вести себя непредсказуемо. Обратитесь к разработчику.",
|
||||
// cancel: true,
|
||||
// },
|
||||
// },
|
||||
// jse2: {
|
||||
// 1: {
|
||||
// descr: "Ошибка json",
|
||||
// color: "text-red-500",
|
||||
// txt: "Ошибка записи/чтения json.",
|
||||
// cancel: true,
|
||||
// num: true,
|
||||
// },
|
||||
// },
|
||||
// jse3: {
|
||||
// 1: {
|
||||
// descr: "Ошибка json",
|
||||
// color: "text-red-500",
|
||||
// txt: "Ошибка чтения json файла с виджетами при отправки в mqtt",
|
||||
// cancel: true,
|
||||
// },
|
||||
// },
|
||||
// tme1: {
|
||||
// 1: {
|
||||
// descr: "Ошибка времени",
|
||||
// color: "text-red-500",
|
||||
// txt: "Ошибка синхронизации времени с NTP сервером",
|
||||
// cancel: false,
|
||||
// },
|
||||
// },
|
||||
//};
|
||||
|
||||
import Card from "../components/Card.svelte";
|
||||
import Alarm from "../components/Alarm.svelte";
|
||||
@@ -147,7 +147,7 @@
|
||||
|
||||
let reboot = false;
|
||||
|
||||
export let cancelAlarm = (alarmKey) => {};
|
||||
//export let cancelAlarm = (alarmKey) => {};
|
||||
</script>
|
||||
|
||||
{#if show}
|
||||
@@ -309,7 +309,7 @@
|
||||
UPDATE_BUILD_FAILED
|
||||
PATH_ERROR
|
||||
-->
|
||||
<div class="flex justify-center text-xs sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words">
|
||||
<!--<div class="flex justify-center text-xs sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words">
|
||||
{#if errorsJson.upd === 1}
|
||||
<p class="text-green-500 mb-2 font-bold text-sm text-center truncate">Обновление FS в процессе...</p>
|
||||
{/if}
|
||||
@@ -331,9 +331,9 @@
|
||||
{#if errorsJson.upd === 7}
|
||||
<p class="text-red-500 mb-2 font-bold text-sm text-center truncate">Ошибка пути обновления</p>
|
||||
{/if}
|
||||
</div>
|
||||
</div>-->
|
||||
<button class="btn-lg mb-2" on:click={() => startUpdate(false)}>{"Обновить прошивку"}</button>
|
||||
<button class="btn-lg mb-2" on:click={() => startUpdate(true)}>{"Обновить прошивку на всех устройствах"}</button>
|
||||
<!--<button class="btn-lg mb-2" on:click={() => startUpdate(true)}>{"Обновить прошивку на всех устройствах"}</button>-->
|
||||
<button class="btn-lg" on:click={() => rebootEsp()}>{"Перезагрузить устройство"}</button>
|
||||
</Card>
|
||||
<!--SETTINGS-->
|
||||
@@ -492,7 +492,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!--ERRORS-->
|
||||
<div class="grd-1col1">
|
||||
<!--<div class="grd-1col1">
|
||||
<Card title="Системные ошибки">
|
||||
{#each Object.entries(errorsJson) as [key, param], i}
|
||||
{#if key in systemErrorsRus && param in systemErrorsRus[key]}
|
||||
@@ -507,7 +507,7 @@
|
||||
{/if}
|
||||
{/each}
|
||||
</Card>
|
||||
</div>
|
||||
</div>-->
|
||||
{:else}
|
||||
<Alarm title="Загрузка..." />
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user