Merge branch 'bjxz-rain' of http://139.9.66.234:18023/dhp/zhgdyunapp into bjxz-rain

This commit is contained in:
Rain 2024-08-01 16:29:34 +08:00
commit 01446e4790
13 changed files with 295 additions and 80 deletions

View File

@ -40,10 +40,10 @@ if (process.env.NODE_ENV === 'development') {
// Vue.prototype.url_config = 'http://47.93.215.234:9809/' // 鞍钢正式地址(弃用)
// Vue.prototype.url_config = 'http://42.180.188.17:9809/' // 鞍钢正式地址
// Vue.prototype.url_config = 'http://42.180.188.17:11211/' // 鞍钢测试地址
Vue.prototype.url_config = 'http://182.90.224.237:51234/' //雄哥内网穿透地址
// Vue.prototype.url_config = 'http://182.90.224.237:51234/' //雄哥内网穿透地址
// Vue.prototype.url_config = 'http://jxj.zhgdyun.com:61212/' //杰哥内网穿透地址
// Vue.prototype.url_config = 'http://192.168.34.221:28888/' //郭圣雄本地
// Vue.prototype.url_config = 'http://192.168.34.221:9111/' //郭圣雄本地
Vue.prototype.url_config = 'http://192.168.34.221:9111/' //郭圣雄本地
// Vue.prototype.url_config = 'http://182.90.224.237:51234/' //郭圣雄本地
// Vue.prototype.url_config = 'http://192.168.34.155:19111/' //彭洁本地
// Vue.prototype.work_url = 'http://47.93.215.234:19997' // 工作流线上地址(弃用)

View File

@ -2,8 +2,8 @@
"name" : "智慧安全", //
"appid" : "__UNI__4AA4101",
"description" : "",
"versionName" : "1.6.7",
"versionCode" : 166,
"versionName" : "1.6.8",
"versionCode" : 168,
"transformPx" : false,
/* 5+App */
"app-plus" : {

View File

@ -2764,6 +2764,13 @@
{
"navigationBarTitleText" : ""
}
},
{
"path" : "pages/projectEnd/materialsManage/materialsManage",
"style" :
{
"navigationBarTitleText" : ""
}
}
],
// "subPackages":[{

View File

@ -12,8 +12,8 @@
<input class="uni-input" name="searchName" v-model="searchForm.enterpriseName" placeholder="搜索"
@input="handleInput" />
<view class="screen" @click="show = !show">筛选</view>
<view class="screen" style="margin-top: 3px; margin-left: 3px;">
<image src="/static/screenIcon.png" style="width: 15px;height: 15px">
<view class="screen" style="margin-top: 6rpx; margin-left: 6rpx;">
<image src="/static/screenIcon.png" style="width: 30rpx;height: 30rpx">
</image>
</view>
</view>
@ -233,18 +233,18 @@
}
.uni-input {
border-radius: 20px;
margin: 10px 10px;
border-radius: 40rpx;
margin: 20rpx 20rpx;
background-color: #f7f8fa;
height: 35px;
line-height: 30px;
padding: 0 20px;
font-size: 14px;
height: 70rpx;
line-height: 60rpx;
padding: 0 40rpx;
font-size: 28rpx;
width: 70%;
}
.screen {
line-height: 50px;
line-height: 100rpx;
color: gray;
}
}
@ -255,8 +255,8 @@
.dialogBox {
color: #000000;
width: 130px;
min-height: 350px;
width: 260rpx;
min-height: 700rpx;
position: fixed;
z-index: 10;
// top: 50%; /* */
@ -269,26 +269,26 @@
border-right: none;
transition: right 0.5s; /* 添加过渡效果 */
text-align: center;
font-size: 12px;
font-size: 24rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
padding: 5px 0;
padding: 10rpx 0;
float: right;
.dialogItem {
line-height: 35px;
line-height: 70rpx;
// margin-bottom: 5px;
}
.activeItem{
background-color: rgba(22,132,252, 0.1);
border: 4px solid #1684fc;
border: 8rpx solid #1684fc;
border-top: none;
border-bottom: none;
border-left: none;
}
}
.hidden-dialog{
right: -300px;
right: -600rpx;
}
.open-dialog{
right: 0;
@ -299,20 +299,20 @@
.scrollBox {
z-index: 1001;
height: 100%;
width: calc(100% - 20px);
width: calc(100% - 40rpx);
// background-color: darkred;
margin: 0 10px;
margin: 0 20rpx;
.itemBox {
width: 100%;
min-height: 120px;
margin-top: 10px;
min-height: 240rpx;
margin-top: 20rpx;
border: 1px solid rgba(219, 229, 255, 0.6);
border-radius: 2px;
padding: 5px 10px;
padding: 10rpx 20rpx;
// box-shadow: 0px 8rpx 15rpx 0px rgba(219,229,255,0.6);
// background-color: darkred;
font-size: 12px;
font-size: 24rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
@ -320,7 +320,7 @@
.itemLine1 {}
.itemLine1 {
font-size: 13px;
font-size: 26rpx;
font-weight: bold;
white-space: nowrap;
overflow: hidden; /* 隐藏超出部分 */
@ -364,8 +364,8 @@
display: flex;
justify-content: center;
align-items: center;
font-size: 34px;
font-size: 68rpx;
color: darkgray;
transform: translateY(-60px);
transform: translateY(-120rpx);
}
</style>

View File

@ -148,6 +148,30 @@
let {
accountType
} = res.result;
if(res.result.expire){
this.userInfo = {
userId: res.result.userId,
account: res.result.account,
token: res.result.token,
};
let that = this;
uni.showModal({
title: '提示',
content: '密码有效期已超过90天为确保您的账号安全请重新修改密码',
success: function(res) {
if (res.confirm) {
uni.navigateTo({
url: `/pages/my/changePassword/changePassword?userInfo=${JSON.stringify(that.userInfo)}`,
});
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
return
}
if (accountType == 5 || accountType == 6 || accountType == 10) {
if (this.type == "user") {

View File

@ -5,45 +5,58 @@
修改密码
</view>
</headers>
<view class="userLogin">
<view class="userLogin">
<u-form style="width: 100%;" :rules="rules" :error-type="['message']" :model="formData" ref="uForm">
<u-form-item prop="account" class="uni-form-item" :border-bottom="false">
<view>当前账号</view>
<input class="uni-input" name="userInfo" readonly :disabled="true" v-model="userInfo.account"
placeholder="请输入您的账号" />
</u-form-item>
<u-form-item prop="pw" class="uni-form-item" :border-bottom="false">
<view>当前密码</view>
<input class="uni-input" name="pw" v-model="formData.pw" :password="showPassword"
placeholder="请输入您的密码" />
<!-- <u-icon :name="showPassword ? 'eye-off' : 'eye-fill'" @click="showPassword = !showPassword"></u-icon> -->
</u-form-item>
<u-form-item prop="newpw" class="uni-form-item" :border-bottom="false">
<view>新密码</view>
<input class="uni-input" name="newpw" :password="showPassword" v-model="formData.newpw"
placeholder="请输入新密码" />
</u-form-item>
<u-form-item prop="newpwaff" class="uni-form-item" :border-bottom="false">
<view>确认新密码</view>
<input class="uni-input" name="newpwaff" :password="showPassword" v-model="formData.newpwaff"
placeholder="请输入再次新密码" />
</u-form-item>
<!-- <u-form-item prop="email" class="uni-form-item" :border-bottom="false">
<u-form-item prop="account" class="uni-form-item" :border-bottom="false">
<view>当前账号</view>
<input class="uni-input" name="userInfo" readonly :disabled="true" v-model="userInfo.account"
placeholder="请输入您的账号" />
</u-form-item>
<u-form-item prop="pw" class="uni-form-item" :border-bottom="false">
<view>当前密码</view>
<input class="uni-input" name="pw" v-model="formData.pw" :password="showPassword"
placeholder="请输入您的密码" />
<div class="text-right">
<u-icon :name="showPassword ? 'eye-off' : 'eye-fill'"
@click="showPassword = !showPassword"></u-icon>
</div>
</u-form-item>
<u-form-item prop="newpw" class="uni-form-item" :border-bottom="false">
<view>新密码</view>
<input class="uni-input" name="newpw" :password="showPassword1" v-model="formData.newpw"
placeholder="请输入新密码" />
<div class="text-right">
<u-icon :name="showPassword1 ? 'eye-off' : 'eye-fill'"
@click="showPassword1 = !showPassword1"></u-icon>
</div>
</u-form-item>
<u-form-item prop="newpwaff" class="uni-form-item" :border-bottom="false">
<view>确认新密码</view>
<input class="uni-input" name="newpwaff" :password="showPassword2" v-model="formData.newpwaff"
placeholder="请输入再次新密码" />
<div class="text-right">
<u-icon :name="showPassword2 ? 'eye-off' : 'eye-fill'"
@click="showPassword2 = !showPassword2"></u-icon>
</div>
</u-form-item>
<!-- <u-form-item prop="email" class="uni-form-item" :border-bottom="false">
<image class="icon" mode="widthFix" src="@/static/login/email.png"></image>
<input class="uni-input" type="email" name="email" v-model="formData.email" placeholder="请输入您的电子邮箱" />
</u-form-item> -->
<view class="uni-form-item submit">
<button type="primary" class="btn" @click="formSubmit">完成</button>
</view>
</u-form>
<view class="uni-form-item submit">
<button type="primary" class="btn" @click="formSubmit">完成</button>
</view>
</u-form>
</view>
</view>
</template>
<script>
import headers from '../../../components/headers/headers.vue';
import { exitApp } from "@/utils/tool.js"
import {
exitApp
} from "@/utils/tool.js"
export default {
components: {
headers
@ -51,7 +64,9 @@
data() {
return {
showPassword: true,
userInfo:{},
showPassword1: true,
showPassword2: true,
userInfo: {},
formData: {
account: '',
pw: '',
@ -93,17 +108,17 @@
message: '请输入密码',
trigger: ['change', 'blur'],
}, {
pattern: /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&*()_+~`\-={}[\]:";'<>?,./])[a-zA-Z\d!@#$%^&*()_+~`\-={}[\]:";'<>?,./]{8,}$/,
//
transform: (value) => {
// console.log(value,this.formData);
if(value != this.formData.newpw){
return false
}
return String(value);
},
message: '两次密码不一致'
}],
pattern: /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&*()_+~`\-={}[\]:";'<>?,./])[a-zA-Z\d!@#$%^&*()_+~`\-={}[\]:";'<>?,./]{8,}$/,
//
transform: (value) => {
// console.log(value,this.formData);
if (value != this.formData.newpw) {
return false
}
return String(value);
},
message: '两次密码不一致'
}],
email: [{
required: true,
message: '请输入邮箱',
@ -119,8 +134,9 @@
}
};
},
onLoad() {
this.userInfo = JSON.parse(uni.getStorageSync('userInfo'));
onLoad(option) {
console.log(option)
this.userInfo = option.userInfo ? JSON.parse(option.userInfo) : JSON.parse(uni.getStorageSync('userInfo'));
},
onReady() {
this.$refs.uForm.setRules(this.rules);
@ -133,20 +149,25 @@
//
this.sendRequest({
url: "xmgl/systemUser/xz/updatePw",
header: {
Authorization: "Bearer " + this.userInfo.token
},
data: {
userId:this.userInfo.userId,
oldPassword:this.formData.pw,
showPassword:this.formData.newpwaff,
isCheckCode:0
userId: this.userInfo.userId,
oldPassword: this.formData.pw,
showPassword: this.formData.newpwaff,
isCheckCode: 0
},
method: "POST",
success: (res) => {
console.log(res);
if (res.code == 200) {
uni.showToast({
title:'修改成功!'
title: '修改成功!'
})
this.logout();
setTimeout(() => {
this.logout();
}, 1000)
}
}
})
@ -173,6 +194,11 @@
</script>
<style lang="scss" scoped>
.text-right {
flex: 1;
text-align: right;
}
.userLogin {
padding: 30rpx;

View File

@ -126,6 +126,10 @@
let that = this;
let url = val.url
console.log(val)
uni.showLoading({
icon: 'loading',
title: '下载中...'
});
uni.downloadFile({
url: url,
success: function(res) {
@ -166,6 +170,7 @@
filePath: filePath,
success: function(res) {
console.log('打开文档成功');
uni.hideLoading();
that.dataList[index].isFileOver = true;
console.log(that.dataList);
}

View File

@ -0,0 +1,135 @@
<template>
<view class="specialOperations">
<headers class="fixedheader" :themeType="true" :showBack="true">
<view class="headerName">
材料管理
</view>
</headers>
<view class="sp-menu">
<view class="menu-item" @click="handleNavigateTo(1)">
<view class="item-icon">
<image src="@/static/ekashManage.png"></image>
</view>
<view class="item-text">
<text>材料入场管理</text>
</view>
</view>
<view class="menu-item" @click="handleNavigateTo(2)">
<view class="item-icon">
<image src="@/static/ukashManage.png"></image>
</view>
<view class="item-text">
<text>材料出场管理</text>
</view>
</view>
</view>
<levitatedsphere :x="100" :y="80"></levitatedsphere>
</view>
</template>
<script>
import levitatedsphere from "@/components/levitatedsphere/levitatedsphere.vue"
import headers from '../../../components/headers/headers.vue'
export default {
navigationBarTitleText: '页面标题',
data() {
return {
userInfo: {},
moduleList: [],
menuList: [],
};
},
onReady() {
},
created() {
},
mounted() {
},
onLoad() {
},
methods: {
handleNavigateTo(val) {
if (val === 1) {
uni.navigateTo({
url: "/pages/projectEnd/ukashManage/ukashManage"
})
} else if (val === 2) {
uni.navigateTo({
url: "/pages/projectEnd/ekashManage/ekashManage"
})
}
}
}
}
</script>
<style lang="scss">
.specialOperations {
.fixedheader {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 2;
}
.sp-menu {
margin: 0 38rpx;
padding-top: 200rpx;
// height: 1200rpx;
// height: 1000rpx;
// background-color: darkred;
display: grid;
grid-gap: 24rpx;
grid-template-columns: repeat(2, 1fr);
// grid-template-columns: repeat(auto-fill, 220rpx);
// place-items: center;
// justify-content: center;
.menu-item {
// width: 220rpx;
height: 274rpx;
// background-color: darkblue;
box-shadow: 0px 8rpx 15rpx 0px rgba(219, 229, 255, 0.6);
border-radius: 10rpx;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
.item-icon {
// width: 220rpx;
// height: 220rpx;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 14rpx;
image {
width: 66rpx;
height: 86rpx;
}
}
.item-text {
align-items: center;
width: 220rpx;
height: 54rpx;
display: flex;
justify-content: center;
align-items: center;
text {
text-align: center;
display: flex;
justify-content: center;
}
}
}
}
}
</style>

View File

@ -135,7 +135,8 @@
<view class="position"> 巡检点位置{{ qrCode.position }}</view>
</view>
</uni-popup>
<footers :activeTab="'projectEnd'" v-if="(accountType == 5 || accountType == 6 || accountType == 10) && projectDetail.projectSn"></footers>
<footers :activeTab="'projectEnd'"
v-if="(accountType == 5 || accountType == 6 || accountType == 10) && projectDetail.projectSn"></footers>
<levitatedsphere :x="100" :y="80"></levitatedsphere>
</view>
</template>
@ -695,6 +696,11 @@
url: '../../fileManage/fileManage'
})
break
case 'materialsManage':
uni.navigateTo({
url: '../../projectEnd/materialsManage/materialsManage'
})
break
case 'ukashManage':
uni.navigateTo({
url: '../../projectEnd/ukashManage/ukashManage'
@ -821,7 +827,7 @@
getAllModule(arr) {
console.log('获取的模块', arr)
const find = arr.find(item => item.plugin == "emergencyDisposal");
if(find){
if (find) {
uni.setStorageSync('moduleInfo', JSON.stringify(find))
}
var that = this

View File

@ -934,12 +934,15 @@
console.log(e)
//type ==1 ;2;3;4 ;5; 6; 7; 8;
if (type == 1) {
if(this.issueGradeList.length == 0) return;
this.issueGradeIndex = e.detail.value;
this.form.level = this.issueGradeList[e.detail.value].value;
} else if (type == 2) {
if(this.urgencyList.length == 0) return;
this.urgencyIndex = e.detail.value;
this.form.urgentLevel = this.urgencyList[e.detail.value].value;
} else if (type == 3) {
if(this.personList.length == 0) return;
this.inspectManIndex = e.detail.value;
this.form.inspectManId = this.personList[e.detail.value].userId
} else if (type == 'startTime') {
@ -947,13 +950,16 @@
} else if (type == 'startTime2') {
this.form.changeLimitTime = `${e.f1} ${e.f8}`;
} else if (type == 6) {
if(this.personUpdateList.length == 0) return;
this.changePeopleIndex = e.detail.value;
this.form.changeId = this.personUpdateList[e.detail.value].userId;
console.log(this.changePeopleIndex, this.form.changeId)
} else if (type == 7) {
if(this.reviewList.length == 0) return;
this.reviewIndex = e.detail.value;
this.form.reviewId = this.reviewList[e.detail.value].userId;
} else if (type == 8) {
if(this.personList.length == 0) return;
this.verifyManIndex = e.detail.value;
this.form.verifyManId = this.personList[e.detail.value].userId;
}

View File

@ -941,12 +941,15 @@
console.log(e)
//type ==1 ;2;3;4 ;5; 6; 7; 8;
if (type == 1) {
if(this.issueGradeList.length == 0) return;
this.issueGradeIndex = e.detail.value;
this.form.level = this.issueGradeList[e.detail.value].value;
} else if (type == 2) {
if(this.urgencyList.length == 0) return;
this.urgencyIndex = e.detail.value;
this.form.urgentLevel = this.urgencyList[e.detail.value].value;
} else if (type == 3) {
if(this.personList.length == 0) return;
this.inspectManIndex = e.detail.value;
this.form.inspectManId = this.personList[e.detail.value].userId
} else if (type == 'startTime') {
@ -954,13 +957,16 @@
} else if (type == 'startTime2') {
this.form.changeLimitTime = `${e.f1} ${e.f8}`;
} else if (type == 6) {
if(this.personUpdateList.length == 0) return;
this.changePeopleIndex = e.detail.value;
this.form.changeId = this.personUpdateList[e.detail.value].userId;
console.log(this.changePeopleIndex, this.form.changeId)
} else if (type == 7) {
if(this.reviewList.length == 0) return;
this.reviewIndex = e.detail.value;
this.form.reviewId = this.reviewList[e.detail.value].userId;
} else if (type == 8) {
if(this.personList.length == 0) return;
this.verifyManIndex = e.detail.value;
this.form.verifyManId = this.personList[e.detail.value].userId;
}

BIN
static/ekashManage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
static/ukashManage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB