修改与新增8.11所提功能

This commit is contained in:
weipengfei 2023-08-12 15:48:54 +08:00
parent 1545bf867f
commit 1ebc1241f2
11 changed files with 1019 additions and 789 deletions

View File

@ -20,6 +20,11 @@ export const userCenter = (data) => oahttp.get('/user/center', data)
*/ */
export const userInfo = (data) => oahttp.get('/user/info', data) export const userInfo = (data) => oahttp.get('/user/info', data)
/**
* 修改密码
*/
export const changePassword = (data) => oahttp.post('/user/changePassword', data)
/** /**
* 新增人员 * 新增人员
*/ */

View File

@ -20,7 +20,7 @@
<uni-icons type="location" color="#666666" size="14"></uni-icons> <uni-icons type="location" color="#666666" size="14"></uni-icons>
<view class="location">区域</view> <view class="location">区域</view>
</view> </view>
<view style="flex: 1;">{{company.address}}</view> <view style="flex: 1;">{{c_address}}</view>
</view> </view>
</view> </view>
</block> </block>
@ -163,6 +163,23 @@
mounted() { mounted() {
this.initContract(this.$props.id, this.$props.type || null); this.initContract(this.$props.id, this.$props.type || null);
}, },
computed:{
c_address(){
let str = '';
if(this.company.company_type==16){
this.company?.province_name?str+=this.company?.province_name:null;
this.company?.city_name?str+=this.company?.city_name:null;
this.company?.area_name?str+=this.company?.area_name:null;
this.company?.street_name?str+=this.company?.street_name:null;
}else {
this.company?.street_name?str+=this.company?.street_name:null;
this.company?.village_name?str+=this.company?.village_name:null;
this.company?.brigade_name?str+=this.company?.brigade_name:null;
}
return str;
}
},
methods: { methods: {
navTo(contract_no) { navTo(contract_no) {
download_file({ applyNo: contract_no }).then(res => { download_file({ applyNo: contract_no }).then(res => {

View File

@ -118,8 +118,16 @@
"navigationBarTextStyle": "white" "navigationBarTextStyle": "white"
} }
}, {
"path": "pages/updatePasswprd/updatePasswprd",
"style": {
"navigationBarTitleText": "修改密码",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#3175f9",
"navigationBarTextStyle": "white"
} }
}
], ],
"subPackages": [{ "subPackages": [{
"root": "pages/views", "root": "pages/views",

View File

@ -79,9 +79,21 @@ import { Toast } from "../../libs/uniApi";
let { data } = await userInfo(); let { data } = await userInfo();
this.$store.commit('setUserInfo', data); this.$store.commit('setUserInfo', data);
uni.hideLoading() uni.hideLoading()
uni.switchTab({ if(data.is_new_user) {
url: '/pages/oaHome/oaHome' uni.showLoading({
mask:true,
title:'加载中'
}) })
uni.switchTab({
url:'/pages/oaHome/oaHome',
success: () => {
uni.hideLoading()
}
})
}
else uni.navigateTo({
url: '/pages/updatePasswprd/updatePasswprd'
});
}, },
initTerminal() { initTerminal() {
// #ifndef APP-PLUS // #ifndef APP-PLUS

View File

@ -0,0 +1,96 @@
<template>
<view class="reset-password">
<u--form ref="formRef" :rules="rules" :model="formData">
<u-form-item label="原密码" labelWidth="140rpx" borderBottom prop="old_password">
<u--input v-model="formData.old_password" type="password" placeholder="请输入原密码" maxlength="18"></u--input>
</u-form-item>
<u-form-item label="新密码" labelWidth="140rpx" borderBottom prop="password">
<u--input v-model="formData.password" type="password" placeholder="请输入新密码" maxlength="18"></u--input>
</u-form-item>
<u-form-item label="确认密码" labelWidth="140rpx" borderBottom prop="password_confirm">
<u--input v-model="formData.password_confirm" type="password" placeholder="请确认新密码" maxlength="18"></u--input>
</u-form-item>
<u-button style="margin-top: 28rpx;background-color: #3175f9;color: #fff;" @click="submit">提交</u-button>
</u--form>
</view>
</template>
<script>
import { Toast } from '../../libs/uniApi';
import { changePassword } from "@/api/oaUser.js"
export default {
data() {
return {
formData:{
old_password: '', //
password: '', //
password_confirm: '', //
},
rules:{
old_password: {
type: 'string',
required: true,
min: 6,
max: 18,
message: '请输入6-18位密码',
trigger: ['change', 'blur']
},
password: {
type: 'string',
required: true,
min: 6,
max: 18,
message: '请输入6-18位密码',
trigger: ['change', 'blur']
},
password_confirm: {
type: 'string',
required: true,
min: 6,
max: 18,
message: '请输入6-18位密码',
trigger: ['change', 'blur']
},
}
}
},
methods: {
submit() {
this.$refs.formRef.validate().then(async (e)=>{
if(e){
if(this.formData.password == this.formData.old_password) return Toast('新密码不能与原密码一致');
if(this.formData.password !== this.formData.password_confirm) return Toast('两次新密码不一致');
try{
await changePassword({...this.formData});
Toast('修改成功');
this.$u.sleep(500).then(()=>{
uni.showLoading({
mask:true,
title:'加载中'
})
uni.switchTab({
url:'/pages/oaHome/oaHome',
success: () => {
uni.hideLoading()
}
})
})
}catch(e){
// console.log(e);
Toast(e.msg||'修改失败')
}
}
})
}
}
}
</script>
<style>
.reset-password {
margin: 28rpx;
padding: 28rpx;
background-color: #fff;
border-radius: 14rpx;
}
</style>

BIN
static/icons/setting.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -392,6 +392,11 @@ export const myOaData = [
icon: '../../static/icons/manager.png', icon: '../../static/icons/manager.png',
url: '/pages/oaManager/oaManager' url: '/pages/oaManager/oaManager'
}, },
{
name: '安全设置',
icon: '../../static/icons/setting.png',
url: '/pages/updatePasswprd/updatePasswprd'
},
// { // {
// name: '管理后台', // name: '管理后台',
// icon: 'custom-icongongzi', // icon: 'custom-icongongzi',

View File

@ -11,7 +11,7 @@
<button class="btn tips_center">合同已生成,请等待审核</button> <button class="btn tips_center">合同已生成,请等待审核</button>
<!-- <mybtn text="生成合同" position="false" disabled></mybtn> --> <!-- <mybtn text="生成合同" position="false" disabled></mybtn> -->
</view> </view>
<view v-if="company.contract&&company.contract.check_status==2" class="card"> <view v-if="company.contract&&company.contract.check_status==2&&company.contract.file" class="card">
<view class="contract_box send"> <view class="contract_box send">
<view class="left"> <view class="left">
<image class="contract_img" src="../../static/img/contract/pdf.png"></image> <image class="contract_img" src="../../static/img/contract/pdf.png"></image>
@ -22,6 +22,11 @@
</view> </view>
</view> </view>
</view> </view>
<view class="right" @click="naviToContract(company.contract.file)">
<!-- <image class="icon"></image> -->
<uni-icons type="paperclip" color="#3274F9"></uni-icons>
<view>查看</view>
</view>
</view> </view>
<u-line color="#999999FF" style="margin: 31rpx 0;"></u-line> <u-line color="#999999FF" style="margin: 31rpx 0;"></u-line>
<view class="bottom"> <view class="bottom">
@ -101,6 +106,12 @@
type: 1 //1-,2- type: 1 //1-,2-
}) })
}, },
//
naviToContract(file) {
uni.navigateTo({
url: `/subpkg/pdfView/pdfView?url=${file}`
})
},
// //
async initContractTypeList() { async initContractTypeList() {
let res = await dictDataLists({ let res = await dictDataLists({
@ -110,6 +121,13 @@
}, },
// //
async createContract(data) { async createContract(data) {
uni.showModal({
content: '请检查信息无误后再生成合同',
confirmText: '确认无误',
cancelText: '我再看看',
confirmColor: '#3175f9',
success: async (e) => {
if (e.confirm) {
uni.showLoading({ uni.showLoading({
title:'合同生成中', title:'合同生成中',
mask: true mask: true
@ -121,10 +139,21 @@
}) })
this.initCompany(); this.initCompany();
uni.hideLoading(); uni.hideLoading();
Toast(res.msg || '合同已生成') Toast(res.msg || '合同已生成');
this.navTo('/subpkg/submit/submit?type=' + 1);
}
}
})
}, },
// //
async addContract(data) { async addContract(data) {
uni.showModal({
content: '请检查合同无误后再发送',
confirmText: '确认无误',
cancelText: '我再看看',
confirmColor: '#3175f9',
success: async (e) => {
if (e.confirm) {
try{ try{
uni.showLoading({ uni.showLoading({
title:'合同发送中', title:'合同发送中',
@ -134,26 +163,36 @@
id: this.id id: this.id
}); });
this.initCompany(); this.initCompany();
if (this.userInfo.contract.check_status == 3) {
this.startTimer(); this.startTimer();
}
uni.hideLoading(); uni.hideLoading();
Toast('合同已发送'); Toast('合同已发送');
this.navTo('/subpkg/submit/submit'); // this.navTo('/subpkg/submit/submit');
}catch(e){ }catch(e){
uni.hideLoading(); uni.hideLoading();
Toast(e.msg||'合同发送失败'); Toast(e.msg||'合同发送失败');
} }
}
}
})
}, },
// //
async getPostsms() { async getPostsms() {
try {
uni.showLoading({
title: '发送中',
mask: true
})
if (this.timerCount == 0) { if (this.timerCount == 0) {
this.startTimer(); this.startTimer();
let res = await postsms({ let res = await postsms({
id: this.id id: this.id
}) })
Toast('短信已发送'); Toast('短信已发送');
this.navTo('/subpkg/submit/submit'); // this.navTo('/subpkg/submit/submit');
}
} catch (e) {
uni.hideLoading();
Toast(e.msg || '合同发送失败');
} }
}, },
// //

View File

@ -17,13 +17,14 @@
<view @click="copyPhone(item.master_phone)">联系方式{{item.master_phone}}</view> <view @click="copyPhone(item.master_phone)">联系方式{{item.master_phone}}</view>
<view style="display: flex;"> <view style="display: flex;">
<view class="">区县乡镇</view> <view class="">区县乡镇</view>
<view>{{item.city_name+'/'+item.area_name+'/'+item.street_name}}</view> <view>{{c_address(item)}}</view>
</view> </view>
<!-- <view>片区经理</view> --> <!-- <view>片区经理</view> -->
</view> </view>
</view> </view>
</view> </view>
<u-empty v-if="loadConfig.status=='nomore'&& companyList.length==0" text="没有更多公司" icon="/static/img/empty/data.png"></u-empty> <u-empty v-if="loadConfig.status=='nomore'&& companyList.length==0" text="没有更多公司"
icon="/static/img/empty/data.png"></u-empty>
<u-loadmore v-else :status="loadConfig.status" :loading-text="loadConfig.loadingText" <u-loadmore v-else :status="loadConfig.status" :loading-text="loadConfig.loadingText"
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" /> :loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view> </view>
@ -94,6 +95,21 @@ export default {
} }
}) })
}, },
//
c_address(company) {
let str = '';
if (company.company_type == 16) {
company?.province_name ? str += company?.province_name : null;
company?.city_name ? str += company?.city_name : null;
company?.area_name ? str += company?.area_name : null;
company?.street_name ? str += company?.street_name : null;
} else {
company?.street_name ? str += company?.street_name : null;
company?.village_name ? str += company?.village_name : null;
company?.brigade_name ? str += company?.brigade_name : null;
}
return str;
}
}, },
onPullDownRefresh() { onPullDownRefresh() {
uni.stopPullDownRefresh() uni.stopPullDownRefresh()

View File

@ -106,14 +106,17 @@
</image> </image>
</view> </view>
</view> </view>
<view class="c_item"> <view class="c_item"
v-if="userInfo.qualification&&userInfo.qualification.car_card||(userInfo.qualification&&userInfo.qualification.car_card)">
<uni-section style="background-color: transparent;" title="驾驶证" titleFontSize="32rpx" type="line"> <uni-section style="background-color: transparent;" title="驾驶证" titleFontSize="32rpx" type="line">
</uni-section> </uni-section>
<view class="card_box"> <view class="card_box">
<image :src="userInfo.qualification&&userInfo.qualification.car_card" <image v-if="userInfo.qualification&&userInfo.qualification.car_card"
:src="userInfo.qualification&&userInfo.qualification.car_card"
@click="previewImg([userInfo.qualification&&userInfo.qualification.car_card,userInfo.qualification&&userInfo.qualification.car_card_b], 0)"> @click="previewImg([userInfo.qualification&&userInfo.qualification.car_card,userInfo.qualification&&userInfo.qualification.car_card_b], 0)">
</image> </image>
<image :src="userInfo.qualification&&userInfo.qualification.car_card_b" <image v-if="userInfo.qualification&&userInfo.qualification.car_card"
:src="userInfo.qualification&&userInfo.qualification.car_card_b"
@click="previewImg([userInfo.qualification&&userInfo.qualification.car_card,userInfo.qualification&&userInfo.qualification.car_card_b], 1)"> @click="previewImg([userInfo.qualification&&userInfo.qualification.car_card,userInfo.qualification&&userInfo.qualification.car_card_b], 1)">
</image> </image>
</view> </view>
@ -165,12 +168,17 @@
<view class="left"> <view class="left">
<image class="contract_img" src="../../static/img/contract/pdf.png"></image> <image class="contract_img" src="../../static/img/contract/pdf.png"></image>
<view class="text"> <view class="text">
<view class="name">{{userInfo.contract.contract_type_name}}</view> <view class="name">{{userInfo.contract.contract_type_name||'合同'}}</view>
<view> <view>
<text>{{userInfo.contract&&userInfo.contract.create_time}}</text> <text>{{userInfo.contract&&userInfo.contract.create_time}}</text>
</view> </view>
</view> </view>
</view> </view>
<view class="right" @click="naviToContract(userInfo.contract.contract_no)">
<!-- <image class="icon"></image> -->
<uni-icons type="paperclip" color="#3274F9"></uni-icons>
<view>查看</view>
</view>
</view> </view>
<u-line color="#999999FF" style="margin: 31rpx 0;"></u-line> <u-line color="#999999FF" style="margin: 31rpx 0;"></u-line>
<view class="bottom"> <view class="bottom">
@ -269,7 +277,9 @@
} }
}, },
methods: { methods: {
//
naviToContract(contract_no) { naviToContract(contract_no) {
if (this.userInfo.is_contract) {
download_file({ download_file({
applyNo: contract_no applyNo: contract_no
}).then(res => { }).then(res => {
@ -280,6 +290,9 @@
url: `/subpkg/pdfView/pdfView?url=${res.data.url}` url: `/subpkg/pdfView/pdfView?url=${res.data.url}`
}) })
}) })
} else uni.navigateTo({
url: `/subpkg/pdfView/pdfView?url=${this.userInfo?.contract?.file}`
})
}, },
navTo(url) { navTo(url) {
url ? url ?
@ -322,7 +335,14 @@
this.contractTypeList = res.data; this.contractTypeList = res.data;
}, },
// //
async createContract(data) { createContract(data) {
uni.showModal({
content: '请检查信息无误后再生成合同',
confirmText: '确认无误',
cancelText: '我再看看',
confirmColor: '#3175f9',
success: async (e) => {
if (e.confirm) {
uni.showLoading({ uni.showLoading({
title: '合同生成中', title: '合同生成中',
mask: true mask: true
@ -335,9 +355,20 @@
this.loadUserDetail(); this.loadUserDetail();
uni.hideLoading(); uni.hideLoading();
Toast('合同已生成'); Toast('合同已生成');
this.navTo('/subpkg/submit/submit?type=' + 1);
}
}
})
}, },
// //
async addContract(data) { async addContract(data) {
uni.showModal({
content: '请检查合同无误后再发送',
confirmText: '确认无误',
cancelText: '我再看看',
confirmColor: '#3175f9',
success: async (e) => {
if (e.confirm) {
try { try {
uni.showLoading({ uni.showLoading({
title: '合同发送中', title: '合同发送中',
@ -347,16 +378,17 @@
id: this.userInfo.id id: this.userInfo.id
}); });
this.loadUserDetail(); this.loadUserDetail();
if (this.userInfo.contract.check_status == 3) {
this.startTimer(); this.startTimer();
}
uni.hideLoading(); uni.hideLoading();
Toast('合同已发送'); Toast('合同已发送');
this.navTo('/subpkg/submit/submit'); // this.navTo('/subpkg/submit/submit?type='+2);
} catch (e) { } catch (e) {
uni.hideLoading(); uni.hideLoading();
Toast(e.msg || '合同发送失败'); Toast(e.msg || '合同发送失败');
} }
}
}
})
}, },
// //
async getPostsms() { async getPostsms() {
@ -372,7 +404,7 @@
}) })
uni.hideLoading(); uni.hideLoading();
Toast('短信已发送'); Toast('短信已发送');
this.navTo('/subpkg/submit/submit'); // this.navTo('/subpkg/submit/submit?type='+3);
} }
} catch (e) { } catch (e) {
uni.hideLoading(); uni.hideLoading();