Compare commits

...

2 Commits

Author SHA1 Message Date
xiaomeng adad14e618 Merge pull request '1' (#177) from pc-master into portal
Reviewed-on: #177
2024-10-08 08:03:44 +00:00
sunmeng 8836bf2410 1 2024-10-08 15:56:51 +08:00
7 changed files with 335 additions and 146 deletions

View File

@ -687,5 +687,13 @@ getIccid(data){
getFi_updateName(data){ getFi_updateName(data){
return sendPutRequest(`/getFi/updateName`, data) return sendPutRequest(`/getFi/updateName`, data)
}, },
//系统页面备忘录获取
readControl_getMemo(data){
return sendGetRequest(`/readControl/getMemo`, data)
},
//系统页面备忘录修改
readControl_setMemo(data){
return sendPostRequest(`/readControl/setMemo`, data)
},
}; };

View File

@ -116,6 +116,10 @@
max-height: 300px; max-height: 300px;
} }
textarea {
resize: none;
}
.border-none { .border-none {
border: none !important; border: none !important;
} }
@ -1376,6 +1380,12 @@
color: #A8B6C8; color: #A8B6C8;
} }
.system-tips.system-textarea {
padding: 10px;
height: auto;
min-height: 101px;
}
.upload .upload-view { .upload .upload-view {
width: 520px; width: 520px;
height: 520px; height: 520px;

File diff suppressed because one or more lines are too long

View File

@ -118,7 +118,9 @@
max-height: 300px; max-height: 300px;
@extend .scroll; @extend .scroll;
} }
textarea{
resize: none;
}
.border-none { .border-none {
border: none !important; border: none !important;
} }
@ -1436,6 +1438,11 @@
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
font-weight: 400; font-weight: 400;
color: #A8B6C8; color: #A8B6C8;
&.system-textarea{
padding: 10px;
height: auto;
min-height: 101px;
}
} }
.upload { .upload {

View File

@ -94,6 +94,12 @@
SIM:=0,SIM卡正常;=1,无SIM卡;=2,SIM卡异常(网络注册失败)<br> SIM:=0,SIM卡正常;=1,无SIM卡;=2,SIM卡异常(网络注册失败)<br>
信号质量:CSQ&lt;11 信号很差;11&lt;CSQ&lt;18,信号不稳定;CSQ&gt;18,信号稳定,最大是31. 信号质量:CSQ&lt;11 信号很差;11&lt;CSQ&lt;18,信号不稳定;CSQ&gt;18,信号稳定,最大是31.
</div> </div>
<div class="input-main">
<span>备忘录</span>
</div>
<textarea v-model="memoDetail.memo" @blur="blurMemo()" placeholder="备忘录"
class="system-tips system-textarea" maxlength="1200">
</textarea>
</div> </div>
</div> </div>
</template> </template>
@ -108,6 +114,9 @@ export default {
inputData: [], inputData: [],
loading:null, loading:null,
ICCID:'', ICCID:'',
memoDetail: {
memo: ''
},
} }
}, },
watch: { watch: {
@ -249,7 +258,30 @@ this.dataInit();
this.$message.error(res.data.msg); this.$message.error(res.data.msg);
} }
}) })
}, this.getMemo()
},
getMemo() {
var store = this.$store.state
var data1 = {
deviceId: store.equipmentList[store.equipmentIndex - 1].deviceId,
};
this.api.readControl_getMemo(data1).then(res => {
if (res.data.code == 200) {
if (res.data.data) {
this.memoDetail = res.data.data
} else {
this.memoDetail = {
deviceId: store.equipmentList[store.equipmentIndex - 1].deviceId,
id: "",
memo: "",
}
}
} else {
// this.$message.error(res.data.msg);
}
})
},
getType(index) { getType(index) {
if (index == 0) { if (index == 0) {
return '控制器正常' return '控制器正常'
@ -260,6 +292,23 @@ this.dataInit();
} else { } else {
return ' ' return ' '
} }
},
//
blurMemo() {
var data = this.memoDetail
this.api.readControl_setMemo(data).then(res => {
if (res.data.code == 200) {
this.$message({
message: res.data.msg,
type: "success",
});
if(!data.id){
this.getMemo()
}
} else {
this.$message.error(res.data.msg);
}
})
}, },
// //
selectValue(e) { selectValue(e) {

View File

@ -75,6 +75,12 @@
SIM:=0,SIM卡正常;=1,无SIM卡;=2,SIM卡异常(网络注册失败)<br> SIM:=0,SIM卡正常;=1,无SIM卡;=2,SIM卡异常(网络注册失败)<br>
信号质量:CSQ&lt;11 信号很差;11&lt;CSQ&lt;18,信号不稳定;CSQ&gt;18,信号稳定,最大是31. 信号质量:CSQ&lt;11 信号很差;11&lt;CSQ&lt;18,信号不稳定;CSQ&gt;18,信号稳定,最大是31.
</div> </div>
<div class="input-main">
<span>备忘录</span>
</div>
<textarea v-model="memoDetail.memo" @blur="blurMemo()" placeholder="备忘录"
class="system-tips system-textarea" maxlength="1200">
</textarea>
</div> </div>
</div> </div>
</template> </template>
@ -84,7 +90,11 @@ export default {
return { return {
inputData: [], inputData: [],
loading:null, loading:null,
ICCID:'' ICCID:'',
memoDetail: {
memo: ''
},
} }
}, },
@ -221,6 +231,29 @@ export default {
this.$message.error(res.data.msg); this.$message.error(res.data.msg);
} }
}) })
this.getMemo()
},
getMemo() {
var store = this.$store.state
var data1 = {
deviceId: store.equipmentList[store.equipmentIndex - 1].deviceId,
};
this.api.readControl_getMemo(data1).then(res => {
if (res.data.code == 200) {
if (res.data.data) {
this.memoDetail = res.data.data
} else {
this.memoDetail = {
deviceId: store.equipmentList[store.equipmentIndex - 1].deviceId,
id: "",
memo: "",
}
}
} else {
// this.$message.error(res.data.msg);
}
})
}, },
getType(index) { getType(index) {
if (index == 0) { if (index == 0) {
@ -233,6 +266,23 @@ export default {
return ' ' return ' '
} }
}, },
//
blurMemo() {
var data = this.memoDetail
this.api.readControl_setMemo(data).then(res => {
if (res.data.code == 200) {
this.$message({
message: res.data.msg,
type: "success",
});
if(!data.id){
this.getMemo()
}
} else {
this.$message.error(res.data.msg);
}
})
},
// //
selectValue(e) { selectValue(e) {
var store = this.$store.state var store = this.$store.state

View File

@ -7,76 +7,100 @@
<div class="export-btn">导入设定值</div> <div class="export-btn">导入设定值</div>
</label> </label>
<div class="export-btn" @click="downLoadData"></div> <div class="export-btn" @click="downLoadData"></div>
<input ref="fileInput" style="display: none" multiple id="upInput" type="file" accept=".txt" @change="changeTxt" /> <input ref="fileInput" style="display: none" multiple id="upInput" type="file" accept=".txt"
@change="changeTxt" />
</div> </div>
<div class="table-title"> <div class="table-title">
<img src="../../assets/image/system.png" alt=""> 系统参数设置 <img src="../../assets/image/system.png" alt=""> 系统参数设置
</div> </div>
<div class="flex-view border-none padding-none"> <div class="flex-view border-none padding-none">
<div class="input-main-80" style="width: auto;"> <div class="input-main-80" style="width: auto;">
<span>软件版本号</span> <span>软件版本号</span>
<input disabled v-model="inputData['76']" type="text" placeholder="0"> <input disabled v-model="inputData['76']" type="text" placeholder="0">
<span></span> <span></span>
</div> </div>
<div class="input-main"> <div class="input-main">
<span>施肥机状况</span> <span>施肥机状况</span>
<input disabled v-model="inputData['77']" type="text" placeholder="0"> <input disabled v-model="inputData['77']" type="text" placeholder="0">
<span></span> <span></span>
</div>
<div class="input-main-80" style="width: auto;">
<span>施肥机剩余使用时间</span>
<input disabled v-model="inputData['78']" type="text" placeholder="0">
<span></span>
</div>
</div> </div>
<div class="input-main-80" style="width: auto;">
<span>施肥机剩余使用时间</span>
<input disabled v-model="inputData['78']" type="text" placeholder="0">
<span></span>
</div>
</div>
<div class="flex-view"> <div class="flex-view">
<div class="input-main"> <div class="input-main">
<span>信号质量</span> <span>信号质量</span>
<input disabled @blur="blurChange('65', $event)" v-model="inputData['65']" @input="change('65', $event)" type="number" placeholder="0"> <input disabled @blur="blurChange('65', $event)" v-model="inputData['65']"
@input="change('65', $event)" type="number" placeholder="0">
</div> </div>
<div class="input-main"> <div class="input-main">
<span>SIM</span> <span>SIM</span>
<input disabled @blur="blurChange('66', $event)" v-model="inputData['66']" @input="change('66', $event)" type="number" placeholder="0"> <input disabled @blur="blurChange('66', $event)" v-model="inputData['66']"
@input="change('66', $event)" type="number" placeholder="0">
</div> </div>
<div class="input-main"> <div class="input-main">
<span>4G</span> <span>4G</span>
<input disabled @blur="blurChange('67', $event)" v-model="inputData['67']" @input="change('67', $event)" type="number" placeholder="0"> <input disabled @blur="blurChange('67', $event)" v-model="inputData['67']"
@input="change('67', $event)" type="number" placeholder="0">
</div> </div>
<br> <br>
<div class="input-main-80" style="width: 100%;"> <div class="input-main-80" style="width: 100%;">
<span>IP</span> <span>IP</span>
<input disabled @blur="blurChange('68', $event)" v-model="inputData['68']" @input="change('68', $event)" type="number" placeholder="0"> <input disabled @blur="blurChange('68', $event)" v-model="inputData['68']"
<input disabled @blur="blurChange('69', $event)" v-model="inputData['69']" @input="change('69', $event)" type="number" placeholder="0"> @input="change('68', $event)" type="number" placeholder="0">
<input disabled @blur="blurChange('70', $event)" v-model="inputData['70']" @input="change('70', $event)" type="number" placeholder="0"> <input disabled @blur="blurChange('69', $event)" v-model="inputData['69']"
<input disabled @blur="blurChange('71', $event)" v-model="inputData['71']" @input="change('71', $event)" type="number" placeholder="0"> @input="change('69', $event)" type="number" placeholder="0">
<input disabled @blur="blurChange('70', $event)" v-model="inputData['70']"
@input="change('70', $event)" type="number" placeholder="0">
<input disabled @blur="blurChange('71', $event)" v-model="inputData['71']"
@input="change('71', $event)" type="number" placeholder="0">
</div> </div>
</div> </div>
<div class="flex-view" style="border: none;"> <div class="flex-view" style="border: none;">
<div class="input-main-80"> <div class="input-main-80">
<span>ICCID</span> <span>ICCID</span>
<input disabled @blur="blurChange('55', $event)" v-model="inputData['55']" @input="change16to10('55', $event)" type="text" placeholder="0"> <input disabled @blur="blurChange('55', $event)" v-model="inputData['55']"
<input disabled @blur="blurChange('56', $event)" v-model="inputData['56']" @input="change16to10('56', $event)" type="text" placeholder="0"> @input="change16to10('55', $event)" type="text" placeholder="0">
<input disabled @blur="blurChange('57', $event)" v-model="inputData['57']" @input="change16to10('57', $event)" type="text" placeholder="0"> <input disabled @blur="blurChange('56', $event)" v-model="inputData['56']"
<input disabled @blur="blurChange('58', $event)" v-model="inputData['58']" @input="change16to10('58', $event)" type="text" placeholder="0"> @input="change16to10('56', $event)" type="text" placeholder="0">
<input disabled @blur="blurChange('59', $event)" v-model="inputData['59']" @input="change16to10('59', $event)" type="text" placeholder="0"> <input disabled @blur="blurChange('57', $event)" v-model="inputData['57']"
<input disabled @blur="blurChange('60', $event)" v-model="inputData['60']" @input="change16to10('60', $event)" type="text" placeholder="0"> @input="change16to10('57', $event)" type="text" placeholder="0">
<input disabled @blur="blurChange('61', $event)" v-model="inputData['61']" @input="change16to10('61', $event)" type="text" placeholder="0"> <input disabled @blur="blurChange('58', $event)" v-model="inputData['58']"
<input disabled @blur="blurChange('62', $event)" v-model="inputData['62']" @input="change16to10('62', $event)" type="text" placeholder="0"> @input="change16to10('58', $event)" type="text" placeholder="0">
<input disabled @blur="blurChange('63', $event)" v-model="inputData['63']" @input="change16to10('63', $event)" type="text" placeholder="0"> <input disabled @blur="blurChange('59', $event)" v-model="inputData['59']"
<input disabled @blur="blurChange('64', $event)" v-model="inputData['64']" @input="change16to10('64', $event)" type="text" placeholder="0"> @input="change16to10('59', $event)" type="text" placeholder="0">
<input disabled @blur="blurChange('60', $event)" v-model="inputData['60']"
@input="change16to10('60', $event)" type="text" placeholder="0">
<input disabled @blur="blurChange('61', $event)" v-model="inputData['61']"
@input="change16to10('61', $event)" type="text" placeholder="0">
<input disabled @blur="blurChange('62', $event)" v-model="inputData['62']"
@input="change16to10('62', $event)" type="text" placeholder="0">
<input disabled @blur="blurChange('63', $event)" v-model="inputData['63']"
@input="change16to10('63', $event)" type="text" placeholder="0">
<input disabled @blur="blurChange('64', $event)" v-model="inputData['64']"
@input="change16to10('64', $event)" type="text" placeholder="0">
</div> </div>
<div class="input-main-one"> <div class="input-main-one">
<span>ICCID</span> <span>ICCID</span>
<input disabled v-model="ICCID" type="text" placeholder="0"> <input disabled v-model="ICCID" type="text" placeholder="0">
</div> </div>
<div class="system-tips"> <div class="system-tips">
说明:4G:=0,无网络;=2,2G网络;=4,4G网络 <br> 说明:4G:=0,无网络;=2,2G网络;=4,4G网络 <br>
SIM:=0,SIM卡正常;=1,无SIM卡;=2,SIM卡异常(网络注册失败)<br> SIM:=0,SIM卡正常;=1,无SIM卡;=2,SIM卡异常(网络注册失败)<br>
信号质量:CSQ&lt;11 信号很差;11&lt;CSQ&lt;18,信号不稳定;CSQ&gt;18,信号稳定,最大是31. 信号质量:CSQ&lt;11 信号很差;11&lt;CSQ&lt;18,信号不稳定;CSQ&gt;18,信号稳定,最大是31.
</div> </div>
<div class="input-main">
<span>备忘录</span>
</div>
<textarea v-model="memoDetail.memo" @blur="blurMemo()" placeholder="备忘录"
class="system-tips system-textarea" maxlength="1200">
</textarea>
</div> </div>
</div> </div>
</div> </div>
@ -90,28 +114,32 @@ export default {
data() { data() {
return { return {
inputData: [], inputData: [],
loading:null, loading: null,
ICCID:'' ICCID: '',
memoDetail: {
memo: ''
},
} }
}, },
mounted() { mounted() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: '加载中',
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
this.dataInit() this.dataInit()
//input //input
let inputList = document.querySelectorAll('input'); let inputList = document.querySelectorAll('input');
for (let index = 0; index < inputList.length; index++) { for (let index = 0; index < inputList.length; index++) {
inputList[index].onfocus = this.selectValue;//input inputList[index].onfocus = this.selectValue;//input
} }
}, },
methods: { methods: {
// //
downLoadData() { downLoadData() {
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '加载中', text: '加载中',
@ -120,13 +148,13 @@ export default {
}); });
var store = this.$store.state var store = this.$store.state
var index = store.equipmentIndex; var index = store.equipmentIndex;
var devicecode=store.equipmentList[index - 1].deviceId var devicecode = store.equipmentList[index - 1].deviceId
this.api.FsdataReadValuedownload(devicecode).then(res => { this.api.FsdataReadValuedownload(devicecode).then(res => {
// blob // blob
this.loading.close() this.loading.close()
console.log(res,111); console.log(res, 111);
const blob = new Blob([res.data], { type: 'text/txt' }); const blob = new Blob([res.data], { type: 'text/txt' });
console.log(blob,111); console.log(blob, 111);
// a // a
const url = window.URL.createObjectURL(blob); const url = window.URL.createObjectURL(blob);
const link = document.createElement('a'); const link = document.createElement('a');
@ -153,45 +181,45 @@ export default {
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
var store = this.$store.state var store = this.$store.state
var deviceId=store.equipmentList[store.equipmentIndex - 1].deviceId var deviceId = store.equipmentList[store.equipmentIndex - 1].deviceId
const files = e.target.files
const that = this const files = e.target.files
for (let i = 0; i < files.length; i++) {
const formData = new FormData() const that = this
console.log(files[i]) for (let i = 0; i < files.length; i++) {
formData.append('file', files[i]) const formData = new FormData()
const fileContent = URL.createObjectURL(files[i]) console.log(files[i])
formData.append('devicecode', deviceId) formData.append('file', files[i])
this.api.upLoadFsdataWriteValue(formData).then((res) => { const fileContent = URL.createObjectURL(files[i])
this.loading.close() formData.append('devicecode', deviceId)
if (res.data.code == 200) { this.api.upLoadFsdataWriteValue(formData).then((res) => {
this.$message.success(res.data.msg); this.loading.close()
}else{ if (res.data.code == 200) {
this.$message.error(res.data.msg); this.$message.success(res.data.msg);
} } else {
}) this.$message.error(res.data.msg);
} }
setTimeout(() => { })
this.$refs.fileInput.value = '' }
}, 100) setTimeout(() => {
}, this.$refs.fileInput.value = ''
change16to10(code,el){ }, 100)
var num=parseInt(el.target.value,16) },
var dataNum={ change16to10(code, el) {
target:{ var num = parseInt(el.target.value, 16)
value:num var dataNum = {
target: {
value: num
} }
} }
this.change(code, dataNum) this.change(code, dataNum)
}, },
fliter2(string){ fliter2(string) {
var data='' var data = ''
if(string.length<2){ if (string.length < 2) {
data='0'+string data = '0' + string
}else{ } else {
data=string data = string
} }
return data return data
}, },
@ -203,34 +231,57 @@ export default {
regNum: 72, regNum: 72,
}; };
this.api.postState(data).then((res) => { this.api.postState(data).then((res) => {
this.loading.close() this.loading.close()
if (res.data.code == 200) { if (res.data.code == 200) {
this.inputData = res.data.data; this.inputData = res.data.data;
this.inputData['55']= this.fliter2(this.inputData['55'].toString(16)) this.inputData['55'] = this.fliter2(this.inputData['55'].toString(16))
this.inputData['56']= this.fliter2(this.inputData['56'].toString(16)) this.inputData['56'] = this.fliter2(this.inputData['56'].toString(16))
this.inputData['57']= this.fliter2(this.inputData['57'].toString(16)) this.inputData['57'] = this.fliter2(this.inputData['57'].toString(16))
this.inputData['58']= this.fliter2(this.inputData['58'].toString(16)) this.inputData['58'] = this.fliter2(this.inputData['58'].toString(16))
this.inputData['59']= this.fliter2(this.inputData['59'].toString(16)) this.inputData['59'] = this.fliter2(this.inputData['59'].toString(16))
this.inputData['60']= this.fliter2(this.inputData['60'].toString(16)) this.inputData['60'] = this.fliter2(this.inputData['60'].toString(16))
this.inputData['61']= this.fliter2(this.inputData['61'].toString(16)) this.inputData['61'] = this.fliter2(this.inputData['61'].toString(16))
this.inputData['62']= this.fliter2(this.inputData['62'].toString(16)) this.inputData['62'] = this.fliter2(this.inputData['62'].toString(16))
this.inputData['63']= this.fliter2(this.inputData['63'].toString(16)) this.inputData['63'] = this.fliter2(this.inputData['63'].toString(16))
this.inputData['64']= this.fliter2(this.inputData['64'].toString(16)) this.inputData['64'] = this.fliter2(this.inputData['64'].toString(16))
this.inputData['76'] = 'REV:' + this.inputData['76'] this.inputData['76'] = 'REV:' + this.inputData['76']
this.inputData['77'] = this.getType(this.inputData['77']) this.inputData['77'] = this.getType(this.inputData['77'])
} else { } else {
this.$message.error(res.data.msg); this.$message.error(res.data.msg);
} }
}); });
var data1 = { var data1 = {
deviceId: store.equipmentList[store.equipmentIndex - 1].deviceId, deviceId: store.equipmentList[store.equipmentIndex - 1].deviceId,
}; };
this.api.getFsIccid(data1).then(res=>{ this.api.getFsIccid(data1).then(res => {
if(res.data.code==200){ if (res.data.code == 200) {
this.ICCID=res.data.msg this.ICCID = res.data.msg
}else{ } else {
this.$message.error(res.data.msg); this.$message.error(res.data.msg);
}
})
this.getMemo()
},
getMemo() {
var store = this.$store.state
var data1 = {
deviceId: store.equipmentList[store.equipmentIndex - 1].deviceId,
};
this.api.readControl_getMemo(data1).then(res => {
if (res.data.code == 200) {
if (res.data.data) {
this.memoDetail = res.data.data
} else {
this.memoDetail = {
deviceId: store.equipmentList[store.equipmentIndex - 1].deviceId,
id: "",
memo: "",
}
}
} else {
// this.$message.error(res.data.msg);
} }
}) })
}, },
@ -245,29 +296,46 @@ export default {
return ' ' return ' '
} }
}, },
// //
selectValue(e) { blurMemo() {
var store = this.$store.state var data = this.memoDetail
store.nowInput=e.target.value this.api.readControl_setMemo(data).then(res => {
if (res.data.code == 200) {
this.$message({
message: res.data.msg,
type: "success",
});
if(!data.id){
this.getMemo()
}
} else {
this.$message.error(res.data.msg);
}
})
},
//
selectValue(e) {
var store = this.$store.state
store.nowInput = e.target.value
e.currentTarget.select(); e.currentTarget.select();
}, },
// //
blurChange(code, el) { blurChange(code, el) {
var store=this.$store.state var store = this.$store.state
var data = { var data = {
equipmentId: store.equipmentList[store.equipmentIndex-1].deviceId, equipmentId: store.equipmentList[store.equipmentIndex - 1].deviceId,
regAddress: code, regAddress: code,
num: el.target.value, num: el.target.value,
}; // }; //
if (store.nowInput != el.target.value) { if (store.nowInput != el.target.value) {
this.changeData(data); this.changeData(data);
} }
// if (this.timer) { // if (this.timer) {
// this.timer && clearInterval(this.timer); // this.timer && clearInterval(this.timer);
// this.changeData(data); // this.changeData(data);
// } // }
}, },
change(code, el) { change(code, el) {
var store = this.$store.state var store = this.$store.state
var data = { var data = {
@ -294,27 +362,24 @@ export default {
// }, 100); // }, 100);
}, },
changeData(data) { changeData(data) {
// var store = this.$store.state // var store = this.$store.state
// this.api.postWriteFs(data).then((res) => { // this.api.postWriteFs(data).then((res) => {
// if (res.data.code == 200) { // if (res.data.code == 200) {
// this.$message({ // this.$message({
// message: res.data.msg, // message: res.data.msg,
// type: "success", // type: "success",
// }); // });
// store.nowInput='' // store.nowInput=''
// // this.dataInit(); // // this.dataInit();
// } else { // } else {
// this.inputData[data.regAddress]=store.nowInput // this.inputData[data.regAddress]=store.nowInput
// this.$message.error(res.data.msg); // this.$message.error(res.data.msg);
// } // }
// this.timer = null // this.timer = null
// }); // });
}, },
}, },
} }
</script> </script>
<style lang="scss"> <style lang="scss"></style>
</style>