Merge pull request 'de' (#360) from de into dev

Reviewed-on: http://git.feashow.cn/clay/tunnel-cloud-web/pulls/360
This commit is contained in:
2024-08-15 14:40:05 +00:00
4 changed files with 71 additions and 15 deletions

View File

@@ -532,9 +532,25 @@ getList()
width: 450px!important; width: 450px!important;
} }
} }
.el-table__cell{ .el-select.serialNumber {
border-radius: 6px!important;
border: 1px solid #05FEFF!important;
background-color: transparent!important;
.el-select__wrapper{
//height: 53px!important;
color: #FFFFFF!important;
font-size: 40px!important;
height: auto!important;
line-height: normal!important;
}
.el-select__placeholder {
height: 54px;
line-height: 54px;
color: #FFFFFF;
}
} }
.serialNumber-select.el-popper { .serialNumber-select.el-popper {
background: #064B66 !important; background: #064B66 !important;
border: 2px solid #05FEFF !important; border: 2px solid #05FEFF !important;
@@ -542,7 +558,9 @@ getList()
.el-select-dropdown { .el-select-dropdown {
min-width: 130px !important; min-width: 130px !important;
} }
.el-select-dropdown__item.is-hovering{
background-color: #064B66 !important;
}
.el-select-dropdown__item { .el-select-dropdown__item {
color: #FFFFFF; color: #FFFFFF;
border-bottom: 1px solid #05FEFF; border-bottom: 1px solid #05FEFF;

View File

@@ -12,15 +12,21 @@
</div> </div>
</div> </div>
<div class="edit-box"> <div class="edit-box">
<el-form :model="form" :label-position="right" label-width="188px"> <el-form :model="form" :label-position="right" label-width="230px">
<el-form-item label="隧道名称"> <el-form-item label="隧道名称">
<el-input v-model="form.tunnelName" placeholder="请输入隧道名称"/> <el-input v-model="form.tunnelName" placeholder="请输入隧道名称"/>
</el-form-item> </el-form-item>
<el-form-item label="隧道简称"> <el-form-item label="隧道简称">
<el-input v-model="form.tunnelAlias" placeholder="请输入隧道简称"/> <el-input v-model="form.tunnelAlias" placeholder="请输入隧道简称"/>
</el-form-item> </el-form-item>
<el-form-item label="序列号"> <el-form-item label="序列号前缀" prop="serialNumberPrefix">
<el-input v-model="form.serialNumber" placeholder="请输入序列号"/> <el-input v-model="form.serialNumberPrefix" placeholder="请输入序列号前缀"/>
</el-form-item>
<el-form-item label="序列号" prop="serialNumberOne">
<el-input v-model="form.serialNumberOne" placeholder="请输入序列号"/>
</el-form-item>
<el-form-item label="序列号1" prop="serialNumber">
<el-input v-model="form.serialNumber" placeholder="请输入序列号1"/>
</el-form-item> </el-form-item>
<el-form-item label="隧道长度"> <el-form-item label="隧道长度">
<el-input type="number" v-model="form.totalLength" placeholder="请输入隧道长度"/> <el-input type="number" v-model="form.totalLength" placeholder="请输入隧道长度"/>
@@ -86,7 +92,9 @@ const type = reactive(router.currentRoute.value.params.type);
const modelEquipmentList = ref(null) const modelEquipmentList = ref(null)
const form = ref({ const form = ref({
tunnelName: "", tunnelName: "",
serialNumber: "", serialNumberPrefix: '',
serialNumberOne: '',
serialNumber: '',
totalLength: "", totalLength: "",
referenceFrequency: '', referenceFrequency: '',
upTime: '', upTime: '',

View File

@@ -90,16 +90,23 @@
<div class="siteId"> <div class="siteId">
<span>{{ title }}</span> <span>{{ title }}</span>
</div> </div>
<el-form :model="form" :label-position="right" label-width="188px" :rules="formRules" ref="formInstance"> <el-form :model="form" :label-position="right" label-width="230px" :rules="formRules" ref="formInstance">
<el-form-item label="隧道名称" prop="tunnelName"> <el-form-item label="隧道名称" prop="tunnelName">
<el-input v-model="form.tunnelName" placeholder="请输入隧道名称"/> <el-input v-model="form.tunnelName" placeholder="请输入隧道名称"/>
</el-form-item> </el-form-item>
<el-form-item label="隧道简称" prop="tunnelAlias"> <el-form-item label="隧道简称" prop="tunnelAlias">
<el-input v-model="form.tunnelAlias" placeholder="请输入隧道简称"/> <el-input v-model="form.tunnelAlias" placeholder="请输入隧道简称"/>
</el-form-item> </el-form-item>
<el-form-item label="序列号" prop="serialNumber"> <!-- <el-form-item label="序列号前缀" prop="serialNumberPrefix">-->
<el-input v-model="form.serialNumber" placeholder="请输入序列号"/> <!-- <el-input v-model="form.serialNumberPrefix" placeholder="请输入序列号前缀"/>-->
</el-form-item> <!-- </el-form-item>-->
<!-- <el-form-item label="序列号1" prop="serialNumber">-->
<!-- <el-input v-model="form.serialNumber" placeholder="请输入序列号1"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="序列号2" prop="serialNumberOne">-->
<!-- <el-input v-model="form.serialNumberOne" placeholder="请输入序列号2"/>-->
<!-- </el-form-item>-->
<el-form-item label="隧道长度" prop="totalLength"> <el-form-item label="隧道长度" prop="totalLength">
<el-input type="number" v-model="form.totalLength" placeholder="请输入隧道长度"/> <el-input type="number" v-model="form.totalLength" placeholder="请输入隧道长度"/>
</el-form-item> </el-form-item>
@@ -174,6 +181,12 @@ const validateNumber = (rule, value) => {
const reg = /^[A-Za-z0-9]+$/; const reg = /^[A-Za-z0-9]+$/;
return reg.test(value); return reg.test(value);
} }
const validateSerialNumberPrefix = (rule, value) => {
return value.length > 13 && value.slice(0,-2) == form.value.serialNumberPrefix;
}
const validateSerialNumberOnePrefix = (rule, value) => {
return value.length > 13 && value.slice(0,-2) == form.value.serialNumberPrefix;
}
const router = useRouter() const router = useRouter()
const siteImage = ref() const siteImage = ref()
const showAddIcon = ref(true) const showAddIcon = ref(true)
@@ -184,9 +197,22 @@ const type = reactive(params.type)
const formRules = ref({ const formRules = ref({
tunnelName: [{required: true, message: '请输入隧道名称', trigger: ['blur', 'change']}], tunnelName: [{required: true, message: '请输入隧道名称', trigger: ['blur', 'change']}],
tunnelAlias: [{required: true, message: '请输入隧道简称', trigger: ['blur', 'change']}], tunnelAlias: [{required: true, message: '请输入隧道简称', trigger: ['blur', 'change']}],
serialNumberPrefix: [
{required: true, message: '请输入序列号前缀', trigger: ['blur', 'change']},
{validator: validateNumber, message: '请输入英文、数字、英文数字组合的序列号前缀', trigger: ['blur', 'change']},
{ min:14,max:14,message: '隧道序列号前缀长度为14位',trigger: ['blur', 'change'] },
],
serialNumber: [ serialNumber: [
{required: true, message: '请输入序列号', trigger: ['blur', 'change']}, {required: true, message: '请输入序列号1', trigger: ['blur', 'change']},
{validator: validateNumber, message: '请输入英文、数字、英文数字组合的用户名', trigger: ['blur', 'change']} {validator: validateNumber, message: '请输入英文、数字、英文数字组合的序列号1', trigger: ['blur', 'change']},
{ min:16,max:16,message: '隧道序列号1长度为16位',trigger: ['blur', 'change']},
// {validator: validateSerialNumberPrefix, message: '同一隧道的序列号前缀需相同', trigger: ['blur', 'change']}
],
serialNumberOne: [
// {required: true, message: '请输入序列号2', trigger: ['blur', 'change']},
// {validator: validateNumber, message: '请输入英文、数字、英文数字组合的序列号2', trigger: ['blur', 'change']},
// { min:16,max:16,message: '隧道序列号2长度为16位',trigger: ['blur', 'change']},
// {validator: validateSerialNumberOnePrefix, message: '同一隧道的序列号前缀需相同', trigger: ['blur', 'change']}
], ],
totalLength: [{required: true, message: '请输入隧道长度', trigger: ['blur', 'change']}], totalLength: [{required: true, message: '请输入隧道长度', trigger: ['blur', 'change']}],
constructionLength: [{required: true, message: '请输入施工长度', trigger: ['blur', 'change']}], constructionLength: [{required: true, message: '请输入施工长度', trigger: ['blur', 'change']}],
@@ -272,6 +298,8 @@ const siteName = ref(localStorage.getItem('site'))
const form = ref({ const form = ref({
tunnelName: '', tunnelName: '',
tunnelAlias: '', tunnelAlias: '',
serialNumberPrefix: '',
serialNumberOne: '',
serialNumber: '', serialNumber: '',
totalLength: '', totalLength: '',
referenceFrequency: '', referenceFrequency: '',

View File

@@ -435,7 +435,8 @@ const getScreenInfo = (id) => {
initSceneData(id).then((res) => { initSceneData(id).then((res) => {
tunnelLength.value = res.data.tunnelLength tunnelLength.value = res.data.tunnelLength
constructionLength.value = res.data.constructionLength constructionLength.value = res.data.constructionLength
serialNumber.value = res.data.serialNumber // serialNumber.value = res.data.serialNumber.slice(0, -2)
serialNumber.value = res.data.serialNumberPrefix
initWebSocket(); initWebSocket();
}) })
} }
@@ -563,8 +564,9 @@ const nextBtn = () => {
}; };
const initWebSocket = () => { const initWebSocket = () => {
// let wsUrl = `ws://192.168.31.175:9000/websocket/equipment/${token}/${serialNumber.value}` // let wsUrl = `ws://192.168.31.176:9000/websocket/equipment/${token}/${serialNumber.value}`
let wsUrl = `ws://web-tunnel.feashow.com/api/wstunnel/websocket/equipment/${token}/${serialNumber.value}`; let wsUrl = `ws://web-tunnel.feashow.com/api/wstunnel/websocket/equipment/${token}/${serialNumber.value}`;
// let wsUrl = `ws://clay.frp.feashow.cn/wstunnel/websocket/equipment/${token}/${serialNumber.value}`;
socket = new WebSocket(wsUrl); socket = new WebSocket(wsUrl);
//连接发生错误的回调方法 //连接发生错误的回调方法
socket.onerror = function () { socket.onerror = function () {