前端代码提交测试问题修改

This commit is contained in:
zzyuan 2024-09-10 10:24:18 +08:00
parent 2a6b2173f7
commit 930d4478fe
38 changed files with 192 additions and 140 deletions

View File

@ -144,6 +144,7 @@
position: relative;
cursor: pointer;
width: 90%;
height: 100%;
display:flex;
justify-content: space-between;

View File

@ -30,9 +30,9 @@
style="font-size: 12px;position: absolute;z-index: 1;" :placeholder="placeholderOld"
v-model="filterInput">
<view v-else class="uni-select__input-text uni-select__input-placeholder">{{typePlaceholder}}</view>
<uni-icons v-if="(current.length>0 && clear&&!disabled)||(currentArr.length>0&&clear&&!disabled)"
type="clear" color="#c0c4cc" size="24" style="position: absolute;right: 0;" @click="clearVal" />
<uni-icons style="right: 0;position: absolute;" v-else :type="showSelector? 'top' : 'bottom'"
<!-- <uni-icons v-if="(current.length>0 && clear&&!disabled)||(currentArr.length>0&&clear&&!disabled)"
type="clear" color="#c0c4cc" size="24" style="position: absolute;right: 0;" @click="clearVal" /> -->
<uni-icons style="right: 0;position: absolute;" :type="showSelector? 'top' : 'bottom'"
size="14" color="#999" />
</view>
<view class="uni-select--mask" v-if="showSelector" @click="toggleSelector" />

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

View File

@ -40,7 +40,7 @@
<text>人脸照片</text><text style="color: red;">*</text>
<u-form-item prop='imageUrl' style="width:100%;height: 100%;">
<view class="flex" style="margin-top: 20rpx;">
<img :src="chosenImg" style="width: 120rpx;height: 120rpx; margin-right: 20rpx;" alt="" v-show="chosenImg!=''">
<image :src="chosenImg" style="width: 120rpx;height: 120rpx; margin-right: 20rpx;" alt="" v-show="chosenImg!=''">
<u-avatar src="../../static/chosenImg.png" size="120" shape="square" v-show="chosenImg==''"
@click="chooseTheImg()"></u-avatar>
<u-avatar src="../../static/rechosenImg.png" size="120" shape="square" v-show="chosenImg!=''"
@ -232,7 +232,7 @@
}).catch(errors => {
console.log(errors)
uni.$u.toast('校验失败')
uni.$u.toast('填写数据存在问题')
})
},
back(){

View File

@ -30,13 +30,17 @@
<view class="header-status">
<text style="margin-left: 20rpx;">{{item.shCode}}</text>
<view style="display: flex;align-items: center;">
<image src="@/static/img/electrical1.png" mode="" style="width: 40rpx;height: 20rpx;margin-left: 30rpx;"></image>
<text style="margin-left: 20rpx;">{{item.dl}}</text>
<image src="@/static/img/electrical.png" v-if="item.dl&&Number(item.dl.replace('%',''))==100" mode="" style="width: 40rpx;height: 20rpx;margin-left: 30rpx;"></image>
<image src="@/static/img/electrical1.png" mode="" v-if="item.dl&&Number(item.dl.replace('%',''))>20&&Number(item.dl.replace('%',''))<100" style="width: 40rpx;height: 20rpx;margin-left: 30rpx;"></image>
<image src="@/static/img/electrical2.png" v-if="item.dl&&Number(item.dl.replace('%',''))<=20" mode="" style="width: 40rpx;height: 20rpx;margin-left: 30rpx;"></image>
<text style="margin-left: 20rpx;">{{item.dl.replace('%', '')||0}}%</text>
</view>
</view>
<view class="header-status">
<!-- <text v-if="item.userId==null">未使用</text> -->
<text>在用</text>
<text v-if="item.userId!=null">在用</text>
</view>
</view>
<view class="item-content">
@ -141,8 +145,8 @@
当前未使用手环剩余{{editForm.lessNum}}
</view>
<view class="edit-form">
<u--form ref="edForm" labelPosition="left" labelWidth="100px" style="margin: 40rpx;80rpx" :model="editForm">
<u-form-item label="发放手环数量" prop="devModule" required>
<u--form ref="edForm" labelPosition="left" labelWidth="100px" :rules="rules" style="margin: 40rpx;80rpx" :model="editForm">
<u-form-item label="发放手环数量" prop="boxNum" required>
<u--input v-model="editForm.boxNum" type="number" placeholder="发放手环数量" maxlength="10"></u--input>
</u-form-item>
</u--form>
@ -189,6 +193,26 @@
shCode: '',
userName: '',
},
rules: {
boxNum: [
{
required: true,
message: '请输入发放手环数量',
trigger: ['blur','change']
},
//
{
pattern: /^[0-9]*$/g,
//
transform(value) {
return String(value);
},
message: '请输入正确发放数量',
trigger: 'blur'
},
],
},
};
},
onShow() {
@ -286,10 +310,15 @@
// console.log(obj)
this.$http.get(getBoxInfo,obj).then(res => {
if (res) {
console.log(res)
// console.log(res)
if(res.code == 200){
this.message=res.data.msg;
this.listData=res.data.data;
this.listData.forEach(item=>{
if(!item.dl){
item.dl='0%';
}
})
}else{
this.message=res.data.msg
this.listData=[]
@ -347,47 +376,46 @@
},
editConfirm(){
console.log(this.editForm)
if(Number(this.editForm.boxNum)>this.editForm.lessNum){
uni.showToast({
title: "发放数量不可大于剩余数量!",
icon: "none"
})
}else{
let obj = {
"boxId":this.boxId,
"boxNum":Number(this.editForm.boxNum)
}
let param = {
// encryptedData: AES.encrypt(JSON.stringify(obj))
}
let option = {
contentType:'form'
}
console.log(obj)
this.$http.post(sendBoxBracelet,obj,false,option).then(res => {
if (res) {
console.log(res)
if(res.code == 200){
uni.showToast({
title: "发放成功!",
icon: "none"
})
this.givePopup=false;
}else{
uni.showToast({
title: res.msg,
icon: "none"
})
}
this.$refs.edForm.validate().then(res => {
if(Number(this.editForm.boxNum)>this.editForm.lessNum){
uni.showToast({
title: "发放数量不可大于剩余数量!",
icon: "none"
})
}else{
let obj = {
"boxId":this.boxId,
"boxNum":Number(this.editForm.boxNum)
}
}).catch(error => {})
}
let param = {
// encryptedData: AES.encrypt(JSON.stringify(obj))
}
let option = {
contentType:'form'
}
console.log(obj)
this.$http.post(sendBoxBracelet,obj,false,option).then(res => {
if (res) {
console.log(res)
if(res.code == 200){
uni.showToast({
title: "发放成功!",
icon: "none"
})
this.givePopup=false;
}else{
uni.showToast({
title: res.msg,
icon: "none"
})
}
}
}).catch(error => {})
}
}).catch(errors => {
console.log(errors)
// uni.$u.toast('')
})
// this.listData[this.editIndex]=this.editForm;
// this.givePopup = false;
// uni.showToast({

View File

@ -19,7 +19,7 @@
<text>班组长</text><text style="color: red;">*</text>
<u-form-item prop='teamLeader' style="width:100%;height: 100%;" >
<u--input
v-model="formData.teamLeader" readonly
v-model="formData.teamLeader" disabled
type="text" placeholder="班组长"
maxlength="11" border="surround"
clearable></u--input>
@ -29,7 +29,7 @@
<text>所属工程</text><text style="color: red;">*</text>
<u-form-item prop='proName' style="width:100%;height: 100%;">
<u--input
v-model="formData.proName" readonly
v-model="formData.proName" disabled
type="text" placeholder="所属工程"
maxlength="20" border="surround"
clearable></u--input>
@ -58,7 +58,7 @@
<u-form-item prop='devId' style="width:100%;height: 100%;" >
<searchSelect
v-model="formData.devId" :localdata="devList" @change="changeDev"
dataKey="devName" dataValue="devId" placeholder="请选择领用设备"
dataKey="devCode" dataValue="devId" placeholder="请选择领用设备"
clearable="true" :filterable="true" ></searchSelect>
<image src="@/static/img/scan.png" mode="" style="width: 50rpx;height: 50rpx;margin-left:40rpx;margin-right: 20rpx;" @click="scanDev"></image>
</u-form-item>
@ -70,7 +70,7 @@
<text>人脸照片</text><text style="color: red;">*</text>
<u-form-item prop='imageUrl' style="width:100%;height: 100%;">
<view class="flex" style="margin-top: 20rpx;">
<img :src="chosenImg" style="width: 120rpx;height: 120rpx; margin-right: 20rpx;" alt="" v-show="chosenImg!=''">
<image :src="chosenImg" style="width: 120rpx;height: 120rpx; margin-right: 20rpx;" alt="" v-show="chosenImg!=''">
<u-avatar src="../../static/chosenImg.png" size="120" shape="square" v-show="chosenImg==''"
@click="chooseTheImg()"></u-avatar>
<u-avatar src="../../static/rechosenImg.png" size="120" shape="square" v-show="chosenImg!=''"
@ -349,7 +349,7 @@
}).catch(error => {console.log(error)})
}).catch(errors => {
console.log(errors)
uni.$u.toast('校验失败')
uni.$u.toast('填写数据存在问题')
})
},

View File

@ -107,6 +107,14 @@
clearable></u--input>
</u-form-item>
</view>
<view class="visitor-input-box">
<u-form-item prop='isLy' style="width:100%;height: 100%;" >
<searchSelect
v-model="filterForm.isLy" :localdata="lyList"
dataKey="name" dataValue="id" placeholder="是否在用"
clearable="true" :filterable="true" ></searchSelect>
</u-form-item>
</view>
<view class="visitor-input-box ">
<u-form-item prop='lyTime' style="width:100%;height: 100%;" >
<!-- <u--input
@ -161,6 +169,7 @@
return {
showPopup: false,
showModal: false,
lyList:[{id:'0',name:'在用'},{id:'1',name:'归还'}],
backItem: {},
modalTitle:'设备归还确认',
content:'确定该设备已归还?',
@ -173,6 +182,7 @@
devType: '',
devName: '',
devCode: '',
isLy:'',
lyTime:'',
ghTime: '',
},
@ -253,6 +263,7 @@
//-
filterList(){
this.showPopup = false
this.listData=[]
this.page = 1;
this.loadmore()
},
@ -265,6 +276,7 @@
devType: '',
devName: '',
devCode: '',
isLy: '',
lyTime:'',
ghTime: '',
}

View File

@ -20,51 +20,51 @@
</view>
<view class="center">
<view class="center-item" style="background-image: url('../../static/img/item1.png');" @click="goDevices()">
<view class="center-item" style="background-image: url('../../static/img/item1.png');" @click="goDevices()" v-if="permission.indexOf('devices')>-1">
<view class="title">设备领用</view>
<view class="tip">立即进入</view>
<view class="img">
<img src="../../static/img/back2.png" style="width: 25rpx;height: 25rpx;" alt="">
<image src="../../static/img/back2.png" style="width: 25rpx;height: 25rpx;" alt="">
</view>
</view>
<view class="center-item" style="background-image: url('../../static/img/item2.png');" @click="goBracelet()">
<view class="center-item" style="background-image: url('../../static/img/item2.png');" @click="goBracelet()" v-if="permission.indexOf('bracelet')>-1">
<view class="title">手环管理</view>
<view class="tip">立即进入</view>
<view class="img">
<img src="../../static/img/back2.png" style="width: 25rpx;height: 25rpx;" alt="">
<image src="../../static/img/back2.png" style="width: 25rpx;height: 25rpx;" alt="">
</view>
</view>
<view class="center-item" style="background-image: url('../../static/img/item3.png');" @click="goSafeHat()">
<view class="center-item" style="background-image: url('../../static/img/item3.png');" @click="goSafeHat()" v-if="permission.indexOf('safehat')>-1">
<view class="title">智能安全帽</view>
<view class="tip">立即进入</view>
<view class="img">
<img src="../../static/img/back2.png" style="width: 25rpx;height: 25rpx;" alt="">
<image src="../../static/img/back2.png" style="width: 25rpx;height: 25rpx;" alt="">
</view>
</view>
<view class="center-item" style="background-image: url('../../static/img/item4.png');" @click="goStaff()">
<view class="center-item" style="background-image: url('../../static/img/item4.png');" @click="goStaff()" v-if="permission.indexOf('staff')>-1">
<view class="title">现场人员</view>
<view class="tip">立即进入</view>
<view class="img">
<img src="../../static/img/back2.png" style="width: 25rpx;height: 25rpx;" alt="">
<image src="../../static/img/back2.png" style="width: 25rpx;height: 25rpx;" alt="">
</view>
</view>
<view class="center-item" style="background-image: url('../../static/img/item5.png');" @click="goMonitor()">
<view class="center-item" style="background-image: url('../../static/img/item5.png');" @click="goMonitor()" v-if="permission.indexOf('monitor')>-1">
<view class="title">吊车监控</view>
<view class="tip">立即进入</view>
<view class="img">
<img src="../../static/img/back2.png" style="width: 25rpx;height: 25rpx;" alt="">
<image src="../../static/img/back2.png" style="width: 25rpx;height: 25rpx;" alt="">
</view>
</view>
<view class="center-item" style="background-image: url('../../static/img/item6.png');" @click="goAlarm()">
<view class="center-item" style="background-image: url('../../static/img/item6.png');" @click="goAlarm()" v-if="permission.indexOf('alarm')>-1">
<view class="title">预警提醒</view>
<view class="tip">立即进入</view>
<view class="img">
<img src="../../static/img/back2.png" style="width: 25rpx;height: 25rpx;" alt="">
<image src="../../static/img/back2.png" style="width: 25rpx;height: 25rpx;" alt="">
</view>
</view>
@ -88,6 +88,8 @@
},
data() {
return {
menuList:uni.getStorageSync('menuList')[0].children,
permission:'',
bgList: [
'/static/img/banner.png',
'/static/img/banner.png',
@ -102,9 +104,22 @@
};
},
onShow() {
this.getPermission()
this.carouselList()
},
methods: {
getPermission(){
console.log(this.menuList)
let arr = this.menuList.map(item=>{
return item.path
})
this.permission=arr.join(',')
console.log(this.permission)
console.log(this.permission.indexOf('devices'))
this.$forceUpdate()
},
carouselList(){
let obj = {}
let param = {

View File

@ -128,6 +128,7 @@
uni.setStorageSync('loginPwd', this.userInfo.password)
uni.setStorageSync('auth-token', res.data.access_token)
uni.setStorageSync('userInfo', res.data.user)
uni.setStorageSync('menuList', res.data.menuList)
uni.reLaunch ({
url: '/pages/index/index'
})
@ -142,7 +143,7 @@
// uni.hideHomeButton();
}).catch(errors => {
// uni.$u.toast('')
// uni.$u.toast('')
})
},
}

View File

@ -121,8 +121,8 @@
<view class="setting-box" v-if="showSetting">
<view class="setting-content">
<view class="setting-item" v-for="(item, index) in configItems" :key="index">
<view class="setting-item-sub">配置{{index+1}}</view>
<view class="setting-item-sub">
<!-- <view class="setting-item-sub">配置{{index+1}}</view> -->
<!-- <view class="setting-item-sub">
<view class="sub-label">线路属性</view>
<view class="sub-box">
<radio-group @change="radioChange($event,index)" style="display: flex;">
@ -139,16 +139,16 @@
@click="chosenLevel(sItem.id,index)" :class="item.voltageLevel == sItem.id ? 'active' : ''"
>{{sItem.name}}</view>
</view>
</view>
</view> -->
<view class="setting-item-sub">
<view class="sub-label">报警距离</view>
<view class="sub-box" style="width: 40%;display: flex;align-items: center;">
<!-- <input class="uni-input" style="border: 2rpx solid #F5F5F5;" type="number" :value="item.distance" maxlength="10" placeholder="请输入报警距离" /> -->
<u--input v-model="item.distance" type="number" placeholder="请输入报警距离" border="surround" maxlength="3" fontSize="14px" clearable></u--input>
</view>
<view v-if="index==configItems.length-1" @click="addItem" style="background: #409EFF;color: #FFF;padding:4rpx 8rpx;border-radius: 10rpx;margin-left: 40rpx;">
<!-- <view v-if="index==configItems.length-1" @click="addItem" style="background: #409EFF;color: #FFF;padding:4rpx 8rpx;border-radius: 10rpx;margin-left: 40rpx;">
添加配置
</view>
</view> -->
<view v-if="index<configItems.length-1" @click="delItem(index)" style="background: red;color: #FFF;padding:4rpx 8rpx;border-radius: 10rpx;margin-left: 40rpx;">
删除配置
</view>
@ -236,6 +236,7 @@ import { nextTick } from "vue";
page:1,
showSetting:false,
configDevId:'',
configDevCode:'',
configItems:[],
radioList:[],
filterForm: {
@ -490,10 +491,12 @@ import { nextTick } from "vue";
this.warnData = [...this.warnData, ...res.data];
}
// this.warnData = res.data;
}else{
uni.$u.toast('暂无近电设备预警')
}
}else{
this.warnData = []
uni.$u.toast('暂无数据')
uni.$u.toast('暂无近电设备预警')
}
}
}).catch(error => {})
@ -506,6 +509,7 @@ import { nextTick } from "vue";
//-
setting(item){
this.configDevId=item.devId;
this.configDevCode=item.devCode;
this.getLineStats()
this.getConfigJdDevice()
// this.showSetting=true
@ -524,23 +528,19 @@ import { nextTick } from "vue";
if (res) {
if(res.code == 200){
if(res.data.length>0){
// this.configItems=res.data;
// this.getLineStats()
res.data.forEach((item,index)=>{
// item.levelList=[]
// this.configItems[index]=item;
this.configItems[index]=Object.assign({},item);
this.getVoltageLevelByLineStats(item.configType,index)
// this.getVoltageLevelByLineStats(item.configType,index)
})
}else{
this.configItems=[{
configType: "",
voltageLevel: "",
levelList:[],
// configType: "",
// voltageLevel: "",
// levelList:[],
distance: ""
}]
this.configItems[0].configType=this.radioList[0].id;
this.getVoltageLevelByLineStats(this.radioList[0].id,0);
// this.configItems[0].configType=this.radioList[0].id;
// this.getVoltageLevelByLineStats(this.radioList[0].id,0);
}
}
}
@ -607,6 +607,7 @@ import { nextTick } from "vue";
saveSetting(){
let obj = {
"devId": this.configDevId,
"devCode": this.configDevCode,
"configItems":this.configItems
}
let param = {
@ -615,6 +616,7 @@ import { nextTick } from "vue";
let option = {
contentType:'form'
}
console.log(obj)
this.$http.post(configJdDevice,obj,false,option).then(res => {
if (res) {
if(res.code == 200){

View File

@ -43,8 +43,12 @@
<view class="header-status">
<text style="margin-left: 20rpx;">{{item.shCode}}</text>
<view style="display: flex;align-items: center;">
<image src="@/static/img/electrical1.png" mode="" style="width: 40rpx;height: 20rpx;margin-left: 30rpx;"></image>
<text style="margin-left: 20rpx;">{{item.dl}}%</text>
<image src="@/static/img/electrical.png" v-if="Number(item.dl)==100" mode="" style="width: 40rpx;height: 20rpx;margin-left: 30rpx;"></image>
<image src="@/static/img/electrical1.png" mode="" v-if="Number(item.dl)>20&&Number(item.dl)<100" style="width: 40rpx;height: 20rpx;margin-left: 30rpx;"></image>
<image src="@/static/img/electrical2.png" v-if="Number(item.dl)<=20||!item.dl" mode="" style="width: 40rpx;height: 20rpx;margin-left: 30rpx;"></image>
<text style="margin-left: 20rpx;">{{item.dl||0}}%</text>
</view>
</view>
<view class="header-status" style="color:#0085FF;" v-if="item.faceStatus==0" @click="singleRecognition(item)">发起验证</view>
@ -182,12 +186,21 @@
if (res) {
// console.log(res)
if(res.code == 200){
this.powerList=res.data;
this.userName="";
this.powerId=this.powerList[0].id;
this.page = 1;
this.listData=[]
this.loadmore()
if(res.data.length>0){
this.powerList=res.data;
this.userName="";
this.powerId=this.powerList[0].id;
this.page = 1;
this.listData=[]
this.loadmore()
}else{
this.powerList=[]
this.userName="";
this.powerId="";
this.page = 1;
this.listData=[]
}
}
}
}).catch(error => {})

View File

@ -78,7 +78,7 @@ const _fn = {
if(res.data.decrypt){
res.data=AES.decrypt(res.data.data)
}
console.log(res.data)
console.log(res.data,'//////request res////////////')
// 接口返回res.data是string类型需转成json类型
if (typeof res.data === 'string') {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

BIN
zhgd-app/static/videoBg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB