diff --git a/src/views/administration/new_task.vue b/src/views/administration/new_task.vue
index 7673107..d4faad2 100644
--- a/src/views/administration/new_task.vue
+++ b/src/views/administration/new_task.vue
@@ -173,7 +173,7 @@
间隔类型 *
-
+
diff --git a/src/views/cards/patrolPlan/notstart.vue b/src/views/cards/patrolPlan/notstart.vue
index 697d06a..7abd50e 100644
--- a/src/views/cards/patrolPlan/notstart.vue
+++ b/src/views/cards/patrolPlan/notstart.vue
@@ -268,7 +268,7 @@ export default {
// 查询参数
queryParams: {
pageNum: 1,
- pageSize: 10,
+ pageSize: 20,
taskName: null,
areaName: null,
isenable: null,
diff --git a/src/views/cards/patrolPlan/summary_editTask.vue b/src/views/cards/patrolPlan/summary_editTask.vue
index b1fdcbc..20ed71e 100644
--- a/src/views/cards/patrolPlan/summary_editTask.vue
+++ b/src/views/cards/patrolPlan/summary_editTask.vue
@@ -755,17 +755,24 @@ export default {
},
changeDateList() {
- if (!this.formData.cycleStartTime || !this.formData.cycleEndTime) return;
+ if (!this.formData.cycleStartTime || !this.formData.cycleEndTime) {
+ this.dayList = [];
+ this.weekendList = [];
+ this.resetTimeList();
+ return;
+ }
if (this.weekormonth == "month") {
this.dayList = getDaysInRange(
this.formData.cycleStartTime,
this.formData.cycleEndTime
);
+ this.weekendList = [];
} else {
this.weekendList = getWeekdaysInRange(
this.formData.cycleStartTime,
this.formData.cycleEndTime
);
+ this.dayList = [];
}
},
@@ -1522,6 +1529,13 @@ export default {
.el-picker-panel__footer {
border-top: 1px solid #40486a !important;
}
+.el-picker-panel__footer .el-picker-panel__link-btn {
+ color: #409eff !important;
+}
+.el-picker-panel__footer .el-picker-panel__link-btn:hover,
+.el-picker-panel__footer .el-picker-panel__link-btn:focus {
+ color: #66b1ff !important;
+}
.el-input-number--medium .el-input-number__increase {
background-color: transparent !important;
}
diff --git a/src/views/cards/patrolPlan/summary_newTask.vue b/src/views/cards/patrolPlan/summary_newTask.vue
index 490f636..66a756b 100644
--- a/src/views/cards/patrolPlan/summary_newTask.vue
+++ b/src/views/cards/patrolPlan/summary_newTask.vue
@@ -294,6 +294,7 @@
class="form-input"
v-model="intervalType"
placeholder="请选择"
+ disabled
>
@@ -669,11 +670,18 @@ export default {
this.changeDateList();
},
changeDateList() {
- if (!this.value1 || !this.value2) return;
+ if (!this.value1 || !this.value2) {
+ this.dayList = [];
+ this.weekendList = [];
+ this.resetTimeList();
+ return;
+ }
if (this.weekormonth == "month") {
this.dayList = getDaysInRange(this.value1, this.value2);
+ this.weekendList = [];
} else {
this.weekendList = getWeekdaysInRange(this.value1, this.value2);
+ this.dayList = [];
}
},
handleChangeTaskRunTimeWithMonth(t, item) {
@@ -1424,6 +1432,13 @@ export default {
.el-picker-panel__footer {
border-top: 1px solid #40486a !important;
}
+.el-picker-panel__footer .el-picker-panel__link-btn {
+ color: #409eff !important;
+}
+.el-picker-panel__footer .el-picker-panel__link-btn:hover,
+.el-picker-panel__footer .el-picker-panel__link-btn:focus {
+ color: #66b1ff !important;
+}
.el-input-number--medium .el-input-number__increase {
background-color: transparent !important;
}
diff --git a/src/views/cards/site_management/components/chooseAlg.vue b/src/views/cards/site_management/components/chooseAlg.vue
index 23b0608..07e5afd 100644
--- a/src/views/cards/site_management/components/chooseAlg.vue
+++ b/src/views/cards/site_management/components/chooseAlg.vue
@@ -98,7 +98,8 @@
type="index"
align="center"
label="序号"
- width="50"
+ width="70"
+ class-name="algorithm-index-column"
/>
{{
@@ -361,6 +365,7 @@
@@ -393,6 +398,7 @@
v-model="formAdd.patrolTypeId"
:options="listPatroltype"
:show-count="true"
+ :no-results-text="'\u65e0\u5339\u914d\u7ed3\u679c'"
placeholder="请选择巡检类型"
/>
@@ -1512,7 +1518,7 @@ export default {
],
patrolContent: [
{
- required: true,
+ required: false,
message: "必填",
trigger: "blur",
},
@@ -1526,14 +1532,14 @@ export default {
],
patrolTypeId: [
{
- required: true,
+ required: false,
message: "必填",
trigger: "blur",
},
],
pointImptLevel: [
{
- required: true,
+ required: false,
message: "必填",
trigger: "blur",
},
@@ -1695,6 +1701,13 @@ export default {
document.removeEventListener("mouseup", this.stopResize);
},
methods: {
+ handlePatrolpointNameInput(value, target) {
+ const name = String(value || "");
+ if (name.length > 200) {
+ target.patrolpointName = name.slice(0, 200);
+ this.$message.warning("\u70b9\u4f4d\u540d\u79f0\u4e0d\u80fd\u8d85\u8fc7200\u4e2a\u5b57\u7b26");
+ }
+ },
// 获取行的唯一key(用于表格多选)
getRowKey(row) {
return row.patrolpointId;
@@ -2459,6 +2472,10 @@ export default {
//点位列表,更换智能识别类型
chooseAlgorithm(row) {
+ if (this.batchDeleteMode) {
+ this.$message.warning("请先退出批量删除模式");
+ return;
+ }
this.currentRow = row;
this.showChooseAlg = true;
},
@@ -4798,4 +4815,13 @@ export default {
align-items: center;
flex-shrink: 0;
}
+
+.nowarp.is-disabled {
+ color: #000000 !important;
+ cursor: not-allowed;
+}
+
+.algorithm-setting-link {
+ color: #1890ff;
+}
diff --git a/src/views/point copy/site_management.vue b/src/views/point copy/site_management.vue
index c341557..d4b2c03 100644
--- a/src/views/point copy/site_management.vue
+++ b/src/views/point copy/site_management.vue
@@ -826,7 +826,7 @@ export default {
],
patrolContent: [
{
- required: true,
+ required: false,
message:
this.$t("share.PleaseEnter") +
this.$t("site_management.MonitoringContent"),
@@ -835,7 +835,7 @@ export default {
],
patrolTypeId: [
{
- required: true,
+ required: false,
message:
this.$t("share.PleaseEnter") +
this.$t("site_management.InspectionType"),
@@ -844,7 +844,7 @@ export default {
],
pointImptLevel: [
{
- required: true,
+ required: false,
message:
this.$t("share.PleaseEnter") +
this.$t("site_management.ImportantLevel"),
diff --git a/src/views/point/components/chooseAlg.vue b/src/views/point/components/chooseAlg.vue
index 28cbc09..f6e541a 100644
--- a/src/views/point/components/chooseAlg.vue
+++ b/src/views/point/components/chooseAlg.vue
@@ -119,7 +119,8 @@
type="index"
align="center"
label="序号"
- width="50"
+ width="70"
+ class-name="algorithm-index-column"
/>
+
+
diff --git a/src/views/point/site_management.vue b/src/views/point/site_management.vue
index 9b81ace..a64152a 100644
--- a/src/views/point/site_management.vue
+++ b/src/views/point/site_management.vue
@@ -109,6 +109,7 @@
@@ -380,6 +381,7 @@
@@ -412,6 +414,7 @@
v-model="formAdd.patrolTypeId"
:options="listPatroltype"
:show-count="true"
+ :no-results-text="'\u65e0\u5339\u914d\u7ed3\u679c'"
placeholder="请选择巡检类型"
/>
@@ -1514,7 +1517,7 @@ export default {
],
patrolContent: [
{
- required: true,
+ required: false,
message: "必填",
trigger: "blur",
},
@@ -1528,14 +1531,14 @@ export default {
],
patrolTypeId: [
{
- required: true,
+ required: false,
message: "必填",
trigger: "blur",
},
],
pointImptLevel: [
{
- required: true,
+ required: false,
message: "必填",
trigger: "blur",
},
@@ -1614,6 +1617,13 @@ export default {
});
},
methods: {
+ handlePatrolpointNameInput(value, target) {
+ const name = String(value || "");
+ if (name.length > 200) {
+ target.patrolpointName = name.slice(0, 200);
+ this.$message.warning("\u70b9\u4f4d\u540d\u79f0\u4e0d\u80fd\u8d85\u8fc7200\u4e2a\u5b57\u7b26");
+ }
+ },
//获取无人机图片
getUavImg() {
var data = {
diff --git a/src/views/video/LivePreview.vue b/src/views/video/LivePreview.vue
index 016fafe..8bfe193 100644
--- a/src/views/video/LivePreview.vue
+++ b/src/views/video/LivePreview.vue
@@ -317,10 +317,22 @@ export default {
if (this.slots[index] !== slot || !result) return
const payload = result.data || result
const mediaUrl = payload.url || payload.playUrl || payload.mediaUrl || payload.address || ''
- slot.streamSource.hlsUrl = payload.hlsUrl || payload.hls || (/\.m3u8(?:\?|$)/i.test(mediaUrl) ? mediaUrl : '')
- slot.streamSource.flvUrl = payload.flvUrl || payload.flv || (/\.flv(?:\?|$)/i.test(mediaUrl) ? mediaUrl : '')
+ const hlsUrl = payload.hlsUrl || payload.hls || (/\.m3u8(?:\?|$)/i.test(mediaUrl) ? mediaUrl : '')
+ const flvUrl = payload.flvUrl || payload.flv || (/\.flv(?:\?|$)/i.test(mediaUrl) ? mediaUrl : '')
+ slot.streamSource.hlsUrl = this.replaceStreamHost(hlsUrl)
+ slot.streamSource.flvUrl = this.replaceStreamHost(flvUrl)
slot.loading = !(slot.streamSource.hlsUrl || slot.streamSource.flvUrl)
},
+ replaceStreamHost(url) {
+ if (!url || !window.location.hostname) return url
+ try {
+ const parsed = new URL(url, window.location.origin)
+ parsed.hostname = window.location.hostname
+ return parsed.toString()
+ } catch (_) {
+ return url
+ }
+ },
pollLive(index, slot, attempt) {
if (this.slots[index] !== slot) return
if (attempt >= 20) {