diff --git a/common/config.js b/common/config.js
index 4e59770..5841e5c 100644
--- a/common/config.js
+++ b/common/config.js
@@ -25,6 +25,6 @@ const config = {
// 设置后台接口服务的基础地址
// config.baseUrl = 'http://tc.cqsznc.com:7080/api';
-config.baseUrl = 'http://3deb348c.r28.cpolar.top';
+config.baseUrl = 'http://183.230.235.66:11010/api';
export default config;
\ No newline at end of file
diff --git a/common/http.api.js b/common/http.api.js
index 68ee134..85a4e1d 100644
--- a/common/http.api.js
+++ b/common/http.api.js
@@ -31,6 +31,11 @@ const install = (Vue, vm) => {
//会议列表
getMeetings:(params = {})=>vm.$u.get(config.adminPath+'/property/roomBooking/list',params),
+ //监控列表
+ getMonitors:(params = {})=>vm.$u.get(config.adminPath+'/sis/deviceChannel/treeList',params),
+
+ getPlay:(params = {})=>vm.$u.post(config.adminPath+'/sis/stream/realtime/add',params),
+
// 基础服务:登录登出、身份信息、菜单授权、切换系统、字典数据等
lang: (params = {}) => vm.$u.get('/lang/'+params.lang),
index: (params = {}) => vm.$u.get(config.adminPath+'/mobile/index', params),
diff --git a/pages.json b/pages.json
index 8c443ba..7ea8fa2 100644
--- a/pages.json
+++ b/pages.json
@@ -430,6 +430,20 @@
{
"navigationStyle": "custom"
}
+ },
+ {
+ "path" : "pages/sys/workbench/monitor/monitors",
+ "style" :
+ {
+ "navigationBarTitleText" : "监控室"
+ }
+ },
+ {
+ "path" : "pages/sys/workbench/monitor/monitorplay",
+ "style" :
+ {
+ "navigationStyle": "custom"
+ }
}
],
"tabBar": {
diff --git a/pages/sys/user/myRepair/myRepair.vue b/pages/sys/user/myRepair/myRepair.vue
index f514bc6..1793d3a 100644
--- a/pages/sys/user/myRepair/myRepair.vue
+++ b/pages/sys/user/myRepair/myRepair.vue
@@ -79,7 +79,6 @@
}
},
onLoad() {
- // uni.$on('refreshData', this.getOrders);
this.getOrders()
},
onShow() {
diff --git a/pages/sys/workbench/monitor/TreeNode.vue b/pages/sys/workbench/monitor/TreeNode.vue
new file mode 100644
index 0000000..956f22b
--- /dev/null
+++ b/pages/sys/workbench/monitor/TreeNode.vue
@@ -0,0 +1,89 @@
+
+
+
+ {{ expanded ? '▼' : '▶' }} {{ node.title }}
+
+
+
+
+
+
+ 设备编号:{{ node.code }}
+ 设备描述:{{ node.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/sys/workbench/monitor/monitorplay.vue b/pages/sys/workbench/monitor/monitorplay.vue
new file mode 100644
index 0000000..65b06aa
--- /dev/null
+++ b/pages/sys/workbench/monitor/monitorplay.vue
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/sys/workbench/monitor/monitors.vue b/pages/sys/workbench/monitor/monitors.vue
new file mode 100644
index 0000000..e9ef600
--- /dev/null
+++ b/pages/sys/workbench/monitor/monitors.vue
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/sys/workbench/order/order.vue b/pages/sys/workbench/order/order.vue
index 2aa0a45..502226e 100644
--- a/pages/sys/workbench/order/order.vue
+++ b/pages/sys/workbench/order/order.vue
@@ -1,5 +1,17 @@
+
+ 工单类型
+
+
+ 工单状态
+
+
+ 处理人
+
+
+
+
-
+
工单号:{{ item.orderNo }}
- {{ getStatusLabel(item.status) }}
+ {{ getStatusLabel(item.status) }}
+
工单名称:{{ item.orderName }}
@@ -23,7 +36,29 @@
有 效 期:{{ item.createTime }}-{{item.planCompleTime}}
服务评价
-
+
+
+
+
+
+
+
+
+
@@ -32,15 +67,18 @@
export default {
data() {
return {
- tabs: ['待办', '全部', '发起 '],
+ tabs: ['待办', '全部'],
activeTab: 1,
tabData: [
- [],
[],
[]
], // 每个tab的数据
- tabLoaded: [false, false, false], // 每个tab是否已加载
+ tabLoaded: [false, false], // 每个tab是否已加载
loading: false,
+ lastScrollTop: 0,
+ isAddBtnHidden: false,
+ showPopup: false,
+ selectedType: ''
}
},
computed: {
@@ -55,6 +93,26 @@
goBack() {
uni.navigateBack();
},
+ addOrder() {
+ uni.navigateTo({
+ url: '/pages/sys/workbench/order/addOrder'
+ });
+ },
+ handleScroll(e) {
+ const scrollTop = e.detail.scrollTop;
+ // 为了避免过于频繁的触发,可以设置一个阈值
+ if (Math.abs(scrollTop - this.lastScrollTop) < 20) {
+ return;
+ }
+ if (scrollTop > this.lastScrollTop && scrollTop > 50) {
+ // 向下滚动,隐藏按钮
+ this.isAddBtnHidden = true;
+ } else {
+ // 向上滚动,显示按钮
+ this.isAddBtnHidden = false;
+ }
+ this.lastScrollTop = scrollTop;
+ },
async changeTab(idx) {
this.activeTab = idx;
if (!this.tabLoaded[idx]) {
@@ -66,8 +124,7 @@
// 模拟接口请求,不同tab返回不同mock数据
let params = {}
if (idx === 0) {
- params = {
- }
+ params = {}
}
let data = [];
@@ -108,6 +165,22 @@
uni.navigateTo({
url: '/pages/sys/workbench/order/orderDetail?item=' + itemStr
});
+ },
+ togglePopup() {
+ this.showPopup = !this.showPopup;
+ },
+ selectType(type) {
+ this.selectedType = type;
+ },
+ closePopup() {
+ this.showPopup = false;
+ },
+ confirmSelection() {
+ if (this.selectedType) {
+ // 处理确认逻辑,例如更新筛选条件
+ console.log('Selected type:', this.selectedType);
+ }
+ this.showPopup = false;
}
}
}
@@ -121,6 +194,33 @@
flex-direction: column;
}
+ .filter {
+ display: flex;
+ flex-direction: row;
+ background: #fff;
+ padding-left: 36rpx;
+ padding-top: 15rpx;
+ padding-bottom: 15rpx;
+ }
+
+ .filter-btn {
+ padding: 15rpx 22rpx 15rpx 22rpx;
+ background: #F7F7F7;
+ border-radius: 25rpx;
+ height: 58rpx;
+ color: #9A9A9A;
+ font-size: 28rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-right: 24rpx;
+ }
+
+ .filter-img {
+ width: 18rpx;
+ height: 10rpx;
+ margin-left: 8rpx;
+ }
.order-tabs {
display: flex;
@@ -166,8 +266,10 @@
/* 占据所有剩余空间 */
overflow-y: auto;
/* 内容超出时,开启垂直滚动 */
- padding-bottom: 200rpx;
+ padding-bottom: 30rpx;
/* 为底部按钮留出空间 */
+ height: calc(100vh - 80rpx - 32rpx);
+ /* 减去tab栏高度和margin-top */
}
.order-card {
@@ -190,41 +292,78 @@
margin-left: 19rpx;
margin-right: 50rpx;
}
-
+
.order-no {
font-size: 24rpx;
color: #0B0B0B;
font-weight: 500;
}
-
+
.order-status {
font-size: 24rpx;
font-weight: 500;
}
-
+
.order-line-image {
margin: left 29rpx;
margin-right: 39rpx;
height: 2rpx;
margin-bottom: 29rpx;
}
-
+
.order-status.orange {
color: #F3AB44;
}
-
+
.order-status.doing {
color: #00C9AA;
}
-
+
.order-status.done {
color: #8A8A8A;
}
-
+
.order-info {
font-size: 24rpx;
color: #888;
margin-bottom: 30rpx;
margin-left: 47rpx;
}
+
+ .order-add-btn-fixed {
+ position: fixed;
+ right: 40rpx;
+ bottom: 80rpx;
+ width: 100rpx;
+ height: 100rpx;
+ z-index: 100;
+ transition: transform 0.3s ease;
+ transform: translateX(0);
+ }
+
+ .order-add-btn-fixed.hide {
+ transform: translateX(200%);
+ }
+
+ .popup-content {
+ background-color: #fff;
+ width: 100%;
+ }
+
+ .popup-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 20rpx;
+ border-bottom: 1px solid #f0f0f0;
+ }
+
+ .popup-header text {
+ color: #2186FF;
+ font-size: 30rpx;
+ }
+
+ .popup-body {
+ padding: 20rpx;
+ }
\ No newline at end of file
diff --git a/pages/sys/workbench/order/orderDetail.vue b/pages/sys/workbench/order/orderDetail.vue
index b5bfa19..1ac5fac 100644
--- a/pages/sys/workbench/order/orderDetail.vue
+++ b/pages/sys/workbench/order/orderDetail.vue
@@ -1,5 +1,5 @@
-
+
@@ -26,12 +26,21 @@
处理地点:{{ detail.location }}
创建时间:{{ detail.createTime }}
发起单位/人:{{ detail.initiatorPeople }}
- 计划完成时间:{{ detail.planCompleTime }}
-
- 附件:
- 下载
-
+ 工单图片:
+
+
+
+
@@ -45,41 +54,50 @@