diff --git a/.env.development b/.env.development index 0aabab7..eb98de9 100644 --- a/.env.development +++ b/.env.development @@ -2,5 +2,5 @@ VITE_APP_ENV = 'development' VITE_APP_TITLE = 'vue-vite-project-admin' VITE_APP_PORT = 8089 -VITE_APP_WS_API = 'ws://board.heatiot.cn:8001/prod-api' ## websocket地址 -VITE_APP_BASE_API = '/dev-api' ## '/dev-api'线上接口 '/mock'本地模拟数据 +##VITE_APP_WS_API = 'ws://localhost:9010' ## websocket地址 +VITE_APP_BASE_API = 'http://10.10.10.56:9010/' ## '/dev-api'线上接口 '/mock'本地模拟数据 diff --git a/.env.production b/.env.production index 23cf18a..73a264b 100644 --- a/.env.production +++ b/.env.production @@ -2,5 +2,8 @@ VITE_APP_ENV = 'production' VITE_APP_TITLE = 'vue-vite-project-admin' VITE_APP_PORT = 8089 -VITE_APP_WS_API = 'ws://board.heatiot.cn:8001/prod-api' ## websocket地址 -VITE_APP_BASE_API = 'http://board.heatiot.cn:8001/prod-api/' ## 线上接口 +#VITE_APP_WS_API = 'ws://board.heatiot.cn:8001/prod-api' ## websocket地址 +#VITE_APP_BASE_API = 'http://board.heatiot.cn:8001/prod-api/' ## 线上接口 +#VITE_APP_WS_API = 'ws://${window.location.host}/ws' ## websocket地址 ws://10.10.10.56:9000/websocket/ +VITE_APP_BASE_API = '/prod-api/' ## '/dev-api'线上接口 '/mock'本地模拟数据 + diff --git a/src/api/table/list.ts b/src/api/table/list.ts index 1286f5f..3e9cc84 100644 --- a/src/api/table/list.ts +++ b/src/api/table/list.ts @@ -66,3 +66,11 @@ export function getTableFooter(params: number): AxiosPromise<[]> { method: 'get' }); } +/** 发送控制参数 */ +export function sendCtrl(data: any) { + return request({ + url: '/bi/opt/device/ctrl', + method: 'post', + data: data + }); +} \ No newline at end of file diff --git a/src/views/monitoring/screen/components/main.vue b/src/views/monitoring/screen/components/main.vue index 0b9b890..f9ac497 100644 --- a/src/views/monitoring/screen/components/main.vue +++ b/src/views/monitoring/screen/components/main.vue @@ -63,7 +63,7 @@ import { VxeFormEvents, VxeTablePropTypes } from 'vxe-table'; -import { getTableHeader, getStationInfo, getTableData, editConfig } from '@/api/table/list'; +import { getTableHeader, getStationInfo, getTableData, editConfig,sendCtrl } from '@/api/table/list'; import { TableVo } from '@/api/table/types'; import { tableStore } from '@/store/modules/table'; import mitt from '@/plugins/bus'; @@ -91,15 +91,17 @@ const tableBorder=ref(true) // const waringArrow = ref([]) interface FormDataVO { - url: string; + //url: string; deviceName: string; + paramCode :string; value: string; } const formRef = ref(); const formLoading = ref(false); const formData = ref({ - url: '', + //url: '', deviceName: '', + paramCode: '', value: '', }); const formRules = ref({ @@ -120,15 +122,15 @@ const formRules = ref({ const userStorageInfo = sessionStorage.getItem('userInfo') const userInfo = JSON.parse(userStorageInfo === null ? '' : userStorageInfo); -const apiUrl = import.meta.env.VITE_APP_WS_API -const wsUrl = `${apiUrl}/websocket/${userInfo.userName}`; //websocket地址 +//const apiUrl = import.meta.env.VITE_APP_WS_API +//const wsUrl = `${apiUrl}websocket/${userInfo.userName}`; //websocket地址 +//const wsUrl = `${apiUrl}${userInfo.userName}`; //websocket地址 // const loginIp = userInfo.loginIp.split('.').join(''); // const baseApi = "http://172.1.2.106:9000"//websocket链接地址,与项目接口地址一致。 // const baseApi = "http://board.heatiot.cn:8001/prod-api"//websocket链接地址,与项目接口地址一致。 -// const baseApi = import.meta.env.VITE_APP_BASE_API -// const apiUrl = baseApi.replace(/https?:/, ''); -// const wsUrl = `ws:${apiUrl}/websocket/${userInfo.userName}`; //websocket地址 -// const wsData = ref(socket.data); +//const baseApi = import.meta.env.VITE_APP_BASE_API +//const apiUrl = baseApi.replace(/https?:/, ''); +const wsUrl = `ws://${window.location.host}/ws/websocket/${userInfo.userName}`; //websocket地址 const emit = defineEmits(['tableHeaderData']); // const listData = ref([ @@ -174,7 +176,7 @@ const headerData = ref(); onMounted(() => { // stationInfo(); // tableHeader(); - socket.initialize(wsUrl); //初始化websocket + socket.initialize(wsUrl); //初始化websocket http:// }); mitt.on('menuKey', (res: any) => { @@ -322,17 +324,22 @@ function tableDatas() { const cellDBLClickEvent: VxeTableEvents.CellDblclick = ({ row, column }) => { //双击单元格 + //edit ty zhousq 2023-10-12 修改控制方式为接口方式,修改formdata提交的属性值 + // ctrlPro.centeruuid 设备UUID cellField.ctrlPro.paramcode 设备参数编码 cellField.val 设备值 + //ctrlPro 为新增的单元格属性,控制参数回传 console.log("cellData--", row, column); const cellField = row[column.field]; - const data = row.data; + //const data = row.data; cellRow.value = row cellColumn.value = column cellField.value = cellField if (cellField.canBeControl === '1') { modalTitle.value = column.title; - formData.value.url = data.url; - formData.value.deviceName = cellField.deviceName; + ///formData.value.url = data.url; + //formData.value.deviceName = cellField.deviceName; formData.value.value = cellField.val; + formData.value.deviceName=cellField.ctrlPro.centeruuid + formData.value.paramCode=cellField.ctrlPro.paramcode editModal.value = true; } console.log(row[column.field]); @@ -372,15 +379,25 @@ const submitEvent: VxeFormEvents.Submit = () => { formLoading.value = true; const $table = tableRef.value; const submitData = { - code: 'W01', - data: { - url: formData.value.url, - deviceName: formData.value.deviceName, - value: formData.value.value, - }, + //code: 'W01', + //data: { + //url: formData.value.url, + //deviceName: formData.value.deviceName, + //value: formData.value.value, + deviceUUID:formData.value.deviceName, + paramCode: formData.value.paramCode, + valueType: "", + value:formData.value.value + //}, }; console.log(submitData); - socket.onSend(submitData); + //Add by zhousq 2023-10-12 控制接口调用 post 方法 + sendCtrl(submitData).then((res: any) => { + if (res.code === 200) { + console.log(res.data); + } + }); + //socket.onSend(submitData); formLoading.value = false; editModal.value = false;