main
			
			
		
		
							parent
							
								
									06f466773e
								
							
						
					
					
						commit
						dbddfcb547
					
				| 
						 | 
					@ -17,36 +17,6 @@ const infoApi = {
 | 
				
			||||||
  reboot() {
 | 
					  reboot() {
 | 
				
			||||||
    return postPBRequest("/system", null, 57202);
 | 
					    return postPBRequest("/system", null, 57202);
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  //   // 透传列表
 | 
					 | 
				
			||||||
  //   getTc(params) {
 | 
					 | 
				
			||||||
  //     return getRequest('/tc', params)
 | 
					 | 
				
			||||||
  //   },
 | 
					 | 
				
			||||||
  //   // 获取透传类型
 | 
					 | 
				
			||||||
  //   getSupport(params) {
 | 
					 | 
				
			||||||
  //     return getRequest('/tc/support', params)
 | 
					 | 
				
			||||||
  //   },
 | 
					 | 
				
			||||||
  //   // 获取可用串口列表
 | 
					 | 
				
			||||||
  //   getFree(params) {
 | 
					 | 
				
			||||||
  //     return getRequest('/com/free', params)
 | 
					 | 
				
			||||||
  //   },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  //   // 获取所有串口列表api/com
 | 
					 | 
				
			||||||
  //   getCom(params) {
 | 
					 | 
				
			||||||
  //     return getRequest('/com', params)
 | 
					 | 
				
			||||||
  //   },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  //   saveTx(params) {
 | 
					 | 
				
			||||||
  //     return postJsonRequest("/tx", params);
 | 
					 | 
				
			||||||
  //   },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  //   // 透传服务启停
 | 
					 | 
				
			||||||
  //   stopTc(params) {
 | 
					 | 
				
			||||||
  //     return putRequest("/tc", params);
 | 
					 | 
				
			||||||
  //   },
 | 
					 | 
				
			||||||
  //   // 透传服务删除
 | 
					 | 
				
			||||||
  //   delTc(params) {
 | 
					 | 
				
			||||||
  //     return deleteRequest("/tc", params);
 | 
					 | 
				
			||||||
  //   },
 | 
					 | 
				
			||||||
  // 模板列表
 | 
					  // 模板列表
 | 
				
			||||||
  getMb(params) {
 | 
					  getMb(params) {
 | 
				
			||||||
    return postPBRequest('/template', params, 53000)
 | 
					    return postPBRequest('/template', params, 53000)
 | 
				
			||||||
| 
						 | 
					@ -170,7 +140,7 @@ const infoApi = {
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  // 获取com
 | 
					  // 获取com
 | 
				
			||||||
  getCom(params) {
 | 
					  getCom(params) {
 | 
				
			||||||
    return postPBRequest("/info", null, 51001, params.name);
 | 
					    return postPBRequest("/system", null, 57002, params.name);
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  // 实时数据
 | 
					  // 实时数据
 | 
				
			||||||
  // 获取驱动
 | 
					  // 获取驱动
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -44,7 +44,7 @@
 | 
				
			||||||
      <fieldset class="box2">
 | 
					      <fieldset class="box2">
 | 
				
			||||||
        <legend class="box-ht">通用配置</legend>
 | 
					        <legend class="box-ht">通用配置</legend>
 | 
				
			||||||
        <el-form-item label="轮询时间" prop="polling_time">
 | 
					        <el-form-item label="轮询时间" prop="polling_time">
 | 
				
			||||||
          <el-input-number v-model="form2.polling_time" :min="1" placeholder="(单位:秒)" clearable /><span>秒</span>
 | 
					          <el-input-number v-model="form2.polling_time" :min="1" placeholder="(单位:毫秒)" clearable /><span>毫秒</span>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="失败重试时间" prop="faile_retry_time">
 | 
					        <el-form-item label="失败重试时间" prop="faile_retry_time">
 | 
				
			||||||
          <el-input-number v-model="form2.faile_retry_time" :min="1" placeholder="(单位:秒)" clearable /><span>秒</span>
 | 
					          <el-input-number v-model="form2.faile_retry_time" :min="1" placeholder="(单位:秒)" clearable /><span>秒</span>
 | 
				
			||||||
| 
						 | 
					@ -283,7 +283,7 @@ export default {
 | 
				
			||||||
      var header = {
 | 
					      var header = {
 | 
				
			||||||
        driver_name: props.formData.driver_name
 | 
					        driver_name: props.formData.driver_name
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      if (props.pztypecode === 2) {
 | 
					      if (props.pztypecode === 2) { //modbus_tcp
 | 
				
			||||||
        await ruleFormRef.value.validate(async (valid) => {
 | 
					        await ruleFormRef.value.validate(async (valid) => {
 | 
				
			||||||
          if (valid) {
 | 
					          if (valid) {
 | 
				
			||||||
            var param = {
 | 
					            var param = {
 | 
				
			||||||
| 
						 | 
					@ -295,27 +295,17 @@ export default {
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const res = await infoApi.addPz(param, header);
 | 
					            const res = await infoApi.addPz(param, header);
 | 
				
			||||||
            if (res.code == 0) {
 | 
					            if (res.code == 0) {
 | 
				
			||||||
              ElMessage.success(res.message || "请求成功");
 | 
					              ElMessage.success(res.data || "请求成功");
 | 
				
			||||||
              ctx.emit("dialogClose");
 | 
					              ctx.emit("dialogClose");
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
              ElMessage.error(res.message);
 | 
					              ElMessage.error(res.data);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          } else {
 | 
					          } else {
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
      } else if (props.pztypecode === 1) {
 | 
					      } else if (props.pztypecode === 1) { // modbus_rtu
 | 
				
			||||||
        await ruleFormRef2.value.validate(async (valid) => {
 | 
					        await ruleFormRef2.value.validate(async (valid) => {
 | 
				
			||||||
          if (valid) {
 | 
					          if (valid) {
 | 
				
			||||||
            // var param = {
 | 
					 | 
				
			||||||
            //     polling_time:Number(state.form2.polling_time),
 | 
					 | 
				
			||||||
            //     faile_retry_time: Number(state.form2.faile_retry_time),
 | 
					 | 
				
			||||||
            //     dataBits: Number(state.form2.dataBits),
 | 
					 | 
				
			||||||
            //     baudRate: Number(state.form2.baudRate),
 | 
					 | 
				
			||||||
            //     stopBits: Number(state.form2.stopBits),
 | 
					 | 
				
			||||||
            //     driver_name: state.form2.driver_name,
 | 
					 | 
				
			||||||
            //     parity: state.form2.parity,
 | 
					 | 
				
			||||||
            //     id: Number(state.form2.id)
 | 
					 | 
				
			||||||
            //   }
 | 
					 | 
				
			||||||
            var param = {
 | 
					            var param = {
 | 
				
			||||||
              name: props.formData.name,
 | 
					              name: props.formData.name,
 | 
				
			||||||
              polling_time: Number(state.form2.polling_time),
 | 
					              polling_time: Number(state.form2.polling_time),
 | 
				
			||||||
| 
						 | 
					@ -330,10 +320,10 @@ export default {
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const res = await infoApi.addPz(param, header);
 | 
					            const res = await infoApi.addPz(param, header);
 | 
				
			||||||
            if (res.code == 0) {
 | 
					            if (res.code == 0) {
 | 
				
			||||||
              ElMessage.success(res.message || "请求成功");
 | 
					              ElMessage.success(res.data || "请求成功");
 | 
				
			||||||
              ctx.emit("dialogClose");
 | 
					              ctx.emit("dialogClose");
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
              ElMessage.error(res.message);
 | 
					              ElMessage.error(res.data);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          } else {
 | 
					          } else {
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
| 
						 | 
					@ -351,10 +341,10 @@ export default {
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const res = await infoApi.addPz(param, header);
 | 
					            const res = await infoApi.addPz(param, header);
 | 
				
			||||||
            if (res.code == 0) {
 | 
					            if (res.code == 0) {
 | 
				
			||||||
              ElMessage.success(res.message || "请求成功");
 | 
					              ElMessage.success(res.data || "请求成功");
 | 
				
			||||||
              ctx.emit("dialogClose");
 | 
					              ctx.emit("dialogClose");
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
              ElMessage.error(res.message);
 | 
					              ElMessage.error(res.data);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          } else {
 | 
					          } else {
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
| 
						 | 
					@ -368,7 +358,7 @@ export default {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    onMounted(() => {
 | 
					    onMounted(() => {
 | 
				
			||||||
      getD();
 | 
					      getD();
 | 
				
			||||||
      // getCom();
 | 
					      getCom();
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    const getD = async () => {
 | 
					    const getD = async () => {
 | 
				
			||||||
      const parm = {
 | 
					      const parm = {
 | 
				
			||||||
| 
						 | 
					@ -376,8 +366,17 @@ export default {
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      const res = await infoApi.getD(parm);
 | 
					      const res = await infoApi.getD(parm);
 | 
				
			||||||
      if (res.code == 0) {
 | 
					      if (res.code == 0) {
 | 
				
			||||||
 | 
					        if (props.pztypecode === 2) {
 | 
				
			||||||
          state.form = res.data;
 | 
					          state.form = res.data;
 | 
				
			||||||
        console.log(state.form);
 | 
					        }
 | 
				
			||||||
 | 
					        if (props.pztypecode === 1) {
 | 
				
			||||||
 | 
					          state.form2 = res.data;
 | 
				
			||||||
 | 
					          state.form2.com_name = res.data.com.name;
 | 
				
			||||||
 | 
					          state.form2.dataBits = Number(res.data.com.dataBits);
 | 
				
			||||||
 | 
					          state.form2.baudRate = Number(res.data.com.baudRate);
 | 
				
			||||||
 | 
					          state.form2.stopBits = Number(res.data.com.stopBits);
 | 
				
			||||||
 | 
					          state.form2.parity = res.data.com.parity;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    const getCom = async () => {
 | 
					    const getCom = async () => {
 | 
				
			||||||
| 
						 | 
					@ -389,7 +388,6 @@ export default {
 | 
				
			||||||
        state.comArr = res.data.sort((a, b) => {
 | 
					        state.comArr = res.data.sort((a, b) => {
 | 
				
			||||||
          return (a.name > b.name ? 1 : -1)
 | 
					          return (a.name > b.name ? 1 : -1)
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        state.form2.com_name = state.comArr[0].name;
 | 
					 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    const closeDialog = () => {
 | 
					    const closeDialog = () => {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -117,7 +117,7 @@
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { onMounted, reactive, ref, toRefs, nextTick } from "vue";
 | 
					import { onMounted, reactive, ref, toRefs, nextTick,onUnmounted } from "vue";
 | 
				
			||||||
import infoApi from "@/api/infoApi.js";
 | 
					import infoApi from "@/api/infoApi.js";
 | 
				
			||||||
import { ElMessage, ElMessageBox } from "element-plus";
 | 
					import { ElMessage, ElMessageBox } from "element-plus";
 | 
				
			||||||
import De from "@/components/De.vue";
 | 
					import De from "@/components/De.vue";
 | 
				
			||||||
| 
						 | 
					@ -153,15 +153,22 @@ export default {
 | 
				
			||||||
      dialogVisible1: false,
 | 
					      dialogVisible1: false,
 | 
				
			||||||
      dialogVisible2: false,
 | 
					      dialogVisible2: false,
 | 
				
			||||||
      txStatus: [], //通讯状态
 | 
					      txStatus: [], //通讯状态
 | 
				
			||||||
      pointTypeOptions: {}
 | 
					      pointTypeOptions: {},
 | 
				
			||||||
 | 
					      intervalId:null
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    onMounted(() => {
 | 
					    onMounted(() => {
 | 
				
			||||||
      getDriverData();
 | 
					 | 
				
			||||||
      getTxStatus();
 | 
					      getTxStatus();
 | 
				
			||||||
      getPointType();
 | 
					      getPointType();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      state.intervalId = setInterval(() =>
 | 
				
			||||||
 | 
					        getDriverData(), 1000);
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    onUnmounted(() => {
 | 
				
			||||||
 | 
					      clearInterval(state.intervalId);
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const getPointType = async () => {
 | 
					    const getPointType = async () => {
 | 
				
			||||||
      const parm = {};
 | 
					      const parm = {};
 | 
				
			||||||
      const res = await infoApi.getPointType(parm);
 | 
					      const res = await infoApi.getPointType(parm);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
  <el-card class="content-div">
 | 
					  <el-card class="content-div">
 | 
				
			||||||
    <div class="all-content">
 | 
					    <div class="all-content">
 | 
				
			||||||
      <div class="top-div">
 | 
					      <div class="top-div">
 | 
				
			||||||
        <el-button type="primary" size="large" v-show="tableData && tableData.length>0" @click="addData">新增</el-button>
 | 
					        <el-button type="primary" size="large" @click="addData">新增</el-button>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
      <el-table :data="tableData" style="width: 100%" border stripe
 | 
					      <el-table :data="tableData" style="width: 100%" border stripe
 | 
				
			||||||
        :header-cell-style="{ background: '#F6F7FC' }" size="large">
 | 
					        :header-cell-style="{ background: '#F6F7FC' }" size="large">
 | 
				
			||||||
| 
						 | 
					@ -90,15 +90,15 @@ export default {
 | 
				
			||||||
      // 分页的末尾下标
 | 
					      // 分页的末尾下标
 | 
				
			||||||
      const endIndex = startIndex + state.listQuery.pageNum;
 | 
					      const endIndex = startIndex + state.listQuery.pageNum;
 | 
				
			||||||
      // 返回切割后的数据
 | 
					      // 返回切割后的数据
 | 
				
			||||||
      return state.tableData1.slice(startIndex, endIndex);
 | 
					      return state.tableData1 && state.tableData1.length > 0 && state.tableData1.slice(startIndex, endIndex);
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const totalNum = computed(() => {
 | 
					    const totalNum = computed(() => {
 | 
				
			||||||
      return state.tableData1.length;
 | 
					      return state.tableData1 && state.tableData1.length;
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const total = computed(() => {
 | 
					    const total = computed(() => {
 | 
				
			||||||
      return Math.ceil(state.tableData1.length / state.listQuery.pageNum);
 | 
					      return state.tableData1 && Math.ceil(state.tableData1.length / state.listQuery.pageNum);
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    onMounted(() => {
 | 
					    onMounted(() => {
 | 
				
			||||||
| 
						 | 
					@ -120,7 +120,7 @@ export default {
 | 
				
			||||||
      if (res.code == 0) {
 | 
					      if (res.code == 0) {
 | 
				
			||||||
        // 获取数据
 | 
					        // 获取数据
 | 
				
			||||||
        state.tableData1 = res.data && res.data.length > 0 && res.data.sort((a,b) => {
 | 
					        state.tableData1 = res.data && res.data.length > 0 && res.data.sort((a,b) => {
 | 
				
			||||||
          return (a.name > b.name ? 1 : -1)
 | 
					          return (a.name > b.name ? 1 : -1) || []
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -49,44 +49,24 @@
 | 
				
			||||||
        </el-table-column>
 | 
					        </el-table-column>
 | 
				
			||||||
      </el-table>
 | 
					      </el-table>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <AddData
 | 
					    <AddData :formData="formData" :type="type" :qudongOptions="qudongOptions" :dialogVisible="dialogVisible"
 | 
				
			||||||
      :formData="formData"
 | 
					      v-if="dialogVisible" @dialogClose="dialogClose" @dialogSuccess="dialogSuccess"></AddData>
 | 
				
			||||||
      :type="type"
 | 
					    <PzSet :dialogVisible="dialogVisible3" :formData="formData" :pztype="pztype" :pztypecode="pztypecode"
 | 
				
			||||||
      :qudongOptions="qudongOptions"
 | 
					      v-if="dialogVisible3" @dialogClose="dialogClose3" @dialogSuccess="dialogSuccess3">
 | 
				
			||||||
      :dialogVisible="dialogVisible"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      v-if="dialogVisible"
 | 
					 | 
				
			||||||
      @dialogClose="dialogClose"
 | 
					 | 
				
			||||||
      @dialogSuccess="dialogSuccess"
 | 
					 | 
				
			||||||
    ></AddData>
 | 
					 | 
				
			||||||
    <PzSet
 | 
					 | 
				
			||||||
      :dialogVisible="dialogVisible3"
 | 
					 | 
				
			||||||
      :formData="formData"
 | 
					 | 
				
			||||||
      :pztype="pztype"
 | 
					 | 
				
			||||||
      :pztypecode="pztypecode"
 | 
					 | 
				
			||||||
      v-if="dialogVisible3"
 | 
					 | 
				
			||||||
      @dialogClose="dialogClose3"
 | 
					 | 
				
			||||||
      @dialogSuccess="dialogSuccess3"
 | 
					 | 
				
			||||||
    >
 | 
					 | 
				
			||||||
    </PzSet>
 | 
					    </PzSet>
 | 
				
			||||||
    <Details
 | 
					    <Details :formData="formData" :dialogVisible="dialogVisible4" v-if="dialogVisible4" @dialogClose="dialogClose4"
 | 
				
			||||||
      :formData="formData"
 | 
					      @dialogSuccess="dialogSuccess4">
 | 
				
			||||||
      :dialogVisible="dialogVisible4"
 | 
					 | 
				
			||||||
      v-if="dialogVisible4"
 | 
					 | 
				
			||||||
      @dialogClose="dialogClose4"
 | 
					 | 
				
			||||||
      @dialogSuccess="dialogSuccess4"
 | 
					 | 
				
			||||||
    >
 | 
					 | 
				
			||||||
    </Details>
 | 
					    </Details>
 | 
				
			||||||
    <AddData :formData="formData" :type="type" :qudongOptions="qudongOptions" :dialogVisible="dialogVisible"
 | 
					    <AddData :formData="formData" :type="type" :qudongOptions="qudongOptions" :dialogVisible="dialogVisible"
 | 
				
			||||||
      v-if="dialogVisible" @dialogClose="dialogClose" @dialogSuccess="dialogSuccess"></AddData>
 | 
					      v-if="dialogVisible" @dialogClose="dialogClose" @dialogSuccess="dialogSuccess"></AddData>
 | 
				
			||||||
    <ViewSet :formData="formData" :qudongOptions="qudongOptions" :dialogVisible="dialogVisible2" v-if="dialogVisible2" @dialogClose="dialogClose"
 | 
					    <ViewSet :formData="formData" :qudongOptions="qudongOptions" :dialogVisible="dialogVisible2" v-if="dialogVisible2"
 | 
				
			||||||
      @dialogSuccess="dialogSuccess">
 | 
					      @dialogClose="dialogClose" @dialogSuccess="dialogSuccess">
 | 
				
			||||||
    </ViewSet>
 | 
					    </ViewSet>
 | 
				
			||||||
  </el-card>
 | 
					  </el-card>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { onMounted, reactive, ref, toRefs } from "vue";
 | 
					import { onMounted, reactive, ref, toRefs, onUnmounted } from "vue";
 | 
				
			||||||
import infoApi from "@/api/infoApi.js";
 | 
					import infoApi from "@/api/infoApi.js";
 | 
				
			||||||
import { ElMessage, ElMessageBox } from "element-plus";
 | 
					import { ElMessage, ElMessageBox } from "element-plus";
 | 
				
			||||||
import AddData from "@/components/AddData.vue";
 | 
					import AddData from "@/components/AddData.vue";
 | 
				
			||||||
| 
						 | 
					@ -114,14 +94,21 @@ export default {
 | 
				
			||||||
      type: '0', // 0新增 1 编辑
 | 
					      type: '0', // 0新增 1 编辑
 | 
				
			||||||
      pztype: '',
 | 
					      pztype: '',
 | 
				
			||||||
      pztypecode: '',
 | 
					      pztypecode: '',
 | 
				
			||||||
      txStatus: [] //通讯状态
 | 
					      txStatus: [], //通讯状态
 | 
				
			||||||
 | 
					      intervalId: null
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    onMounted(() => {
 | 
					    onMounted(() => {
 | 
				
			||||||
      getTxSupport();
 | 
					      getTxSupport();
 | 
				
			||||||
      getTableData();
 | 
					 | 
				
			||||||
      getTxStatus();
 | 
					      getTxStatus();
 | 
				
			||||||
 | 
					      // getTableData();
 | 
				
			||||||
 | 
					      state.intervalId = setInterval(() =>
 | 
				
			||||||
 | 
					        getTableData(), 1000);
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    onUnmounted(() => {
 | 
				
			||||||
 | 
					      clearInterval(state.intervalId);
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
    // 获取通讯驱动
 | 
					    // 获取通讯驱动
 | 
				
			||||||
    const getTxSupport = async () => {
 | 
					    const getTxSupport = async () => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -317,11 +304,12 @@ export default {
 | 
				
			||||||
  border-radius: 10px;
 | 
					  border-radius: 10px;
 | 
				
			||||||
  color: #fff;
 | 
					  color: #fff;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.stop {
 | 
					.stop {
 | 
				
			||||||
  color: red;
 | 
					  color: red;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.start {
 | 
					.start {
 | 
				
			||||||
  color: #009fa4;
 | 
					  color: #009fa4;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue