|
@@ -3,243 +3,129 @@
|
|
|
<back :title="titlename"></back>
|
|
|
<!-- 表单 -->
|
|
|
<van-form @submit="onSubmit">
|
|
|
- <van-field v-model="user.name" class="m" name="中文名" label="中文名" placeholder="请填写中文名" :rules="[{ required: false}]"/>
|
|
|
- <van-field v-model="user.englishName" type="" name="英文名" label="英文名" placeholder="请填写英文名" :rules="[{ required: false}]"/>
|
|
|
- <van-field v-model="user.email" class="m" type="" name="邮箱地址" label="邮箱地址" placeholder="请填写邮箱地址" :rules="[{ required: false}]"/>
|
|
|
- <van-field v-model="user.phone" class="m" type="number" name="手机号" label="手机号" placeholder="请填写手机号" :rules="[{ required: false}]"/>
|
|
|
- <van-field v-model="user.stationNum" type="" name="工号" label="工号" placeholder="请填写工号" :rules="[{ required: false}]"/>
|
|
|
- <van-field v-model="user.company" class="m" type="" readonly name="公司" label="公司" placeholder="公司" :rules="[{ required: false}]"/>
|
|
|
- <van-field v-model="user.department" readonly @click="show=true" class="m" type="" name="部门" label="部门" placeholder="请选择部门" :rules="[{ required: false}]"/>
|
|
|
- <!-- 弹窗物品类型 -->
|
|
|
- <van-popup v-model="show" position="bottom">
|
|
|
- <van-picker title="选择部门" show-toolbar value-key="department" :columns="departmenList" @confirm="onConfirm" @cancel="show=false"/>
|
|
|
- </van-popup>
|
|
|
-
|
|
|
- <!--上司部门-->
|
|
|
- <van-field v-model="user.leaderDepartment" readonly @click="show2=true" class="m" type="" name="上司部门" label="上司部门" placeholder="请选择上司部门" :rules="[{ required: false}]"/>
|
|
|
- <van-popup v-model="show2" position="bottom">
|
|
|
- <van-picker title="选择上司部门" show-toolbar value-key="department" :columns="departmenList" @confirm="onConfirm2" @cancel="show2=false"/>
|
|
|
- </van-popup>
|
|
|
-
|
|
|
- <!--上司姓名-->
|
|
|
- <van-field v-model="user.leaderName" readonly @click="show3=true" class="m" type="" name="上司" label="上司" placeholder="请选择上司" :rules="[{ required: false}]"/>
|
|
|
- <van-popup v-model="show3" position="bottom">
|
|
|
- <van-picker title="选择上司" show-toolbar value-key="name" :columns="leaderList" @confirm="onConfirm3" @cancel="show3=false"/>
|
|
|
- </van-popup>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <van-field v-model="user.costCenterName" readonly class="m" type="" name="成本中心" label="成本中心" placeholder="请填写成本中心" :rules="[{ required: false}]"/>
|
|
|
- <van-field v-model="user.build" type="" name="幢/座" label="幢/座" placeholder="请填写幢/座" :rules="[{ required: false}]"/>
|
|
|
- <van-field v-model="user.floor" type="" name="楼层" label="楼层" placeholder="请填写楼层" :rules="[{ required: false}]"/>
|
|
|
- <van-field v-model="user.seat" type="" name="座位" label="座位" placeholder="请填写座位" :rules="[{ required: false}]"/>
|
|
|
- <van-field v-model="user.remark" type="" name="备注" label="备注" placeholder="请填写备注" :rules="[{ required: false}]"/>
|
|
|
- <div style="margin: 16px;">
|
|
|
- <van-button round block type="info" native-type="submit">保存</van-button>
|
|
|
- </div>
|
|
|
+ <van-field v-model="user.name" class="m" name="NAME" label="中文名" placeholder="请填写中文名"
|
|
|
+ :rules="[{ required: false }]" />
|
|
|
+ <van-field v-model="user.email" class="m" name="EMAIL" label="邮箱地址" placeholder="请填写邮箱地址"
|
|
|
+ :rules="[{ required: false }]" />
|
|
|
+ <van-field v-model="user.phone" class="m" type="number" name="PHONE" label="手机号" placeholder="请填写手机号"
|
|
|
+ :rules="[{ required: false }]" />
|
|
|
+ <van-field v-model="user.company" class="m" readonly label="公司" placeholder="公司"
|
|
|
+ :rules="[{ required: false }]" />
|
|
|
+ <van-field v-model="user.departmentName" readonly class="m" label="部门" placeholder="请选择部门"
|
|
|
+ :rules="[{ required: false }]" />
|
|
|
+ <van-field v-model="user.seatNo" readonly label="座位" placeholder="请填写座位" :rules="[{ required: false }]" />
|
|
|
+
|
|
|
+ <!-- <van-field v-model="user.englishName" type="" name="英文名" label="英文名" placeholder="请填写英文名"
|
|
|
+ :rules="[{ required: false }]" /> -->
|
|
|
+ <!-- <van-field v-model="user.stationNum" type="" name="工号" label="工号" placeholder="请填写工号"
|
|
|
+ :rules="[{ required: false }]" /> -->
|
|
|
+ <!-- 弹窗物品类型 -->
|
|
|
+ <!-- <van-popup v-model="show" position="bottom">
|
|
|
+ <van-picker title="选择部门" show-toolbar value-key="department" :columns="departmenList"
|
|
|
+ @confirm="onConfirm" @cancel="show = false" />
|
|
|
+ </van-popup> -->
|
|
|
+ <!--上司部门-->
|
|
|
+ <!-- <van-field v-model="user.leaderDepartment" readonly @click="show2 = true" class="m" type="" name="上司部门"
|
|
|
+ label="上司部门" placeholder="请选择上司部门" :rules="[{ required: false }]" />
|
|
|
+ <van-popup v-model="show2" position="bottom">
|
|
|
+ <van-picker title="选择上司部门" show-toolbar value-key="department" :columns="departmenList"
|
|
|
+ @confirm="onConfirm2" @cancel="show2 = false" />
|
|
|
+ </van-popup> -->
|
|
|
+ <!--上司姓名-->
|
|
|
+ <!-- <van-field v-model="user.leaderName" readonly @click="show3 = true" class="m" type="" name="上司" label="上司"
|
|
|
+ placeholder="请选择上司" :rules="[{ required: false }]" />
|
|
|
+ <van-popup v-model="show3" position="bottom">
|
|
|
+ <van-picker title="选择上司" show-toolbar value-key="name" :columns="leaderList" @confirm="onConfirm3"
|
|
|
+ @cancel="show3 = false" />
|
|
|
+ </van-popup> -->
|
|
|
+ <!-- <van-field v-model="user.costCenterName" readonly class="m" type="" name="成本中心" label="成本中心"
|
|
|
+ placeholder="请填写成本中心" :rules="[{ required: false }]" /> -->
|
|
|
+ <!-- <van-field v-model="user.build" type="" name="幢/座" label="幢/座" placeholder="请填写幢/座"
|
|
|
+ :rules="[{ required: false }]" /> -->
|
|
|
+ <!-- <van-field v-model="user.floor" type="" name="楼层" label="楼层" placeholder="请填写楼层"
|
|
|
+ :rules="[{ required: false }]" /> -->
|
|
|
+ <!-- <van-field v-model="user.remark" type="" name="备注" label="备注" placeholder="请填写备注"
|
|
|
+ :rules="[{ required: false }]" /> -->
|
|
|
+ <div style="margin: 16px;">
|
|
|
+ <van-button round block type="info" native-type="submit">保存</van-button>
|
|
|
+ </div>
|
|
|
</van-form>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import { Form,Toast,Field } from 'vant'
|
|
|
- export default{
|
|
|
- data(){
|
|
|
- return {
|
|
|
- titlename:"个人信息",
|
|
|
- user:{},
|
|
|
- userId:'',
|
|
|
- departmenList:[],
|
|
|
- leaderList:[],
|
|
|
- show:false,
|
|
|
- show2:false,
|
|
|
- show3:false,
|
|
|
- }
|
|
|
- },
|
|
|
- created:function() {
|
|
|
- this.userId = localStorage.getItem("userId");
|
|
|
- this.getUser();
|
|
|
+import { Form, Toast, Field } from 'vant'
|
|
|
+import { getUserByUserId, UserUpdate } from '../api/index'
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ titlename: "个人信息",
|
|
|
+ user: {},
|
|
|
+ userId: '',
|
|
|
+ departmenList: [],
|
|
|
+ leaderList: [],
|
|
|
|
|
|
- this.getDepartmentList();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created: function () {
|
|
|
+ this.getUserByUserIdAPI()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 获取信息
|
|
|
+ async getUserByUserIdAPI() {
|
|
|
+ const res = await getUserByUserId({ id: localStorage.getItem("userId") })
|
|
|
+ this.user = res.userInfo
|
|
|
+ console.log(res, 'res')
|
|
|
},
|
|
|
- methods:{
|
|
|
- onConfirm(e){//确定
|
|
|
- this.isLogin();
|
|
|
- this.user.department=e.department;
|
|
|
- this.user.costCenterName=e.costCenter;
|
|
|
- this.show=false;
|
|
|
- },
|
|
|
- onConfirm2(e){//上司部门确定
|
|
|
- this.isLogin();
|
|
|
- this.user.leaderDepartment=e.department;//绑定上司部门
|
|
|
- this.user.leader='';//清除上司名字 PS:为了防止有人选完上司又重新选了个部门
|
|
|
- console.log("上司部门:"+ this.user.leaderDepartment)
|
|
|
- this.getLeaderList();
|
|
|
- this.show2=false;
|
|
|
- },
|
|
|
- onConfirm3(e){//上司确定
|
|
|
- this.isLogin();
|
|
|
- this.user.leaderDepartment=e.department;
|
|
|
- this.user.leader=''
|
|
|
- console.log("上司部门:"+ this.user.leaderDepartment)
|
|
|
- this.getLeaderList();
|
|
|
- this.show2=false;
|
|
|
- },
|
|
|
- getLeaderList(){
|
|
|
- this.$http.post(this.$store.state.host+"/personal/getLeaderList.do",{leaderDepartment:this.user.leaderDepartment,
|
|
|
- },{emulateJSON:true})
|
|
|
- .then(res=>{
|
|
|
- //发送成功
|
|
|
- if(res.body.msg=='success'){
|
|
|
- this.leaderList = res.body.employeeList
|
|
|
- console.log("1"+ this.user.leaderDepartment)
|
|
|
- }
|
|
|
- },res=>{
|
|
|
- //发送失败
|
|
|
- })
|
|
|
- },
|
|
|
-
|
|
|
- onSubmit(){
|
|
|
- if(this.user.name == '' || this.user.name == undefined){
|
|
|
- Toast('请填写中文名')
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- if(this.user.englishName == undefined){
|
|
|
- this.user.englishName = ''
|
|
|
- }
|
|
|
-
|
|
|
- if(this.user.email == '' || this.user.email == undefined){
|
|
|
- Toast('请填写邮箱地址')
|
|
|
- return
|
|
|
- }
|
|
|
|
|
|
- let regEmail = new RegExp(this.$store.state.regEmail)
|
|
|
- if(!regEmail.test(this.user.email)){
|
|
|
- Toast('邮箱格式不正确')
|
|
|
- return
|
|
|
- }
|
|
|
|
|
|
- if(this.user.phone == '' || this.user.phone == undefined){
|
|
|
- Toast('请填写手机号')
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- let regPhone = new RegExp(this.$store.state.regPhone)
|
|
|
- if(!regPhone.test(this.user.phone)){
|
|
|
- Toast('手机号格式不正确')
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- if(this.user.stationNum == undefined){
|
|
|
- this.user.stationNum = ''
|
|
|
- }
|
|
|
-
|
|
|
- if(this.user.company == '' || this.user.company == undefined){
|
|
|
- Toast('请填写公司')
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- if(this.user.department == '' || this.user.department == undefined){
|
|
|
- Toast('请选择部门')
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- if(this.user.costCenterName == '' || this.user.costCenterName == undefined){
|
|
|
- Toast('请选择成本中心')
|
|
|
- return
|
|
|
- }
|
|
|
+ async onSubmit(value) {
|
|
|
+ const res = await UserUpdate({ ...value })
|
|
|
+ if (res.msg == 'success') {
|
|
|
+ Toast('修改成功')
|
|
|
+ this.$router.push('/My')
|
|
|
+ }
|
|
|
+ console.log(res)
|
|
|
+ },
|
|
|
|
|
|
- if(this.user.build == undefined){
|
|
|
- this.user.build = ''
|
|
|
- }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
|
|
|
- if(this.user.floor == undefined){
|
|
|
- this.user.floor = ''
|
|
|
- }
|
|
|
+<style lang="less" scoped>
|
|
|
+/deep/.van-form {
|
|
|
+ .van-button--info {
|
|
|
+ background-color: #00c4b8;
|
|
|
+ border: 1px solid #00c4b8;
|
|
|
+ border-radius: 5px;
|
|
|
+ }
|
|
|
|
|
|
- if(this.user.seat == undefined){
|
|
|
- this.user.seat = ''
|
|
|
- }
|
|
|
+ .m .van-field__label::before {
|
|
|
+ content: "*";
|
|
|
+ color: red;
|
|
|
+ }
|
|
|
|
|
|
- if(this.user.remark == undefined){
|
|
|
- this.user.remark = ''
|
|
|
- }
|
|
|
+ .van-cell {
|
|
|
+ font-size: .26rem;
|
|
|
+ }
|
|
|
|
|
|
- this.$http.post(this.$store.state.host+"/personal/savePersonalInfo.do",{userId:this.userId,
|
|
|
- name:this.user.name,
|
|
|
- englishName:this.user.englishName,
|
|
|
- email:this.user.email,
|
|
|
- phone:this.user.phone,
|
|
|
- stationNum:this.user.stationNum,
|
|
|
- company:this.user.company,
|
|
|
- department:this.user.department,
|
|
|
- costCenterName:this.user.costCenterName,
|
|
|
- build:this.user.build,
|
|
|
- floor:this.user.floor,
|
|
|
- seat:this.user.seat,
|
|
|
- remark:this.user.remark
|
|
|
- },{emulateJSON:true})
|
|
|
- .then(res=>{
|
|
|
- //发送成功
|
|
|
- if(res.body.msg=='success'){
|
|
|
- Toast("保存成功");
|
|
|
- let that = this;
|
|
|
- setTimeout(function(){
|
|
|
- that.$router.push({path:'/My'})
|
|
|
- },500)
|
|
|
- }
|
|
|
- },res=>{
|
|
|
- //发送失败
|
|
|
- })
|
|
|
- },
|
|
|
- getDepartmentList(){
|
|
|
- this.$http.post(this.$store.state.host+"/personal/getDepartmentList.do",{userId:this.userId,
|
|
|
- },{emulateJSON:true})
|
|
|
- .then(res=>{
|
|
|
- //console.log(res.body)
|
|
|
- //发送成功
|
|
|
- if(res.body.msg=='success'){
|
|
|
- this.departmenList = res.body.departmenList
|
|
|
- }
|
|
|
- },res=>{
|
|
|
- //发送失败
|
|
|
- })
|
|
|
- }
|
|
|
+ .textarea {
|
|
|
+ font-size: .26rem;
|
|
|
+ padding: 10px 16px;
|
|
|
+ color: #646566;
|
|
|
+
|
|
|
+ textarea {
|
|
|
+ width: 98%;
|
|
|
+ height: 150px;
|
|
|
+ border-color: #e5e5e5;
|
|
|
+ color: #999999;
|
|
|
+ margin-top: 16px;
|
|
|
+ padding: 10px 1%;
|
|
|
}
|
|
|
}
|
|
|
-</script>
|
|
|
+}
|
|
|
|
|
|
-<style lang="less" scoped>
|
|
|
- /deep/.van-form{
|
|
|
- .van-button--info{
|
|
|
- background-color: #00c4b8;
|
|
|
- border: 1px solid #00c4b8;
|
|
|
- border-radius: 5px;
|
|
|
- }
|
|
|
- .m .van-field__label::before{
|
|
|
- content:"*";
|
|
|
- color: red;
|
|
|
- }
|
|
|
- .van-cell{
|
|
|
- font-size: .26rem;
|
|
|
- }
|
|
|
- .textarea{
|
|
|
- font-size: .26rem;
|
|
|
- padding: 10px 16px;
|
|
|
- color: #646566;
|
|
|
- textarea{
|
|
|
- width: 98%;
|
|
|
- height: 150px;
|
|
|
- border-color: #e5e5e5;
|
|
|
- color: #999999;
|
|
|
- margin-top: 16px;
|
|
|
- padding: 10px 1%;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- /deep/.van-field__control{
|
|
|
- text-align: right;
|
|
|
- }
|
|
|
+/deep/.van-field__control {
|
|
|
+ text-align: right;
|
|
|
+}
|
|
|
</style>
|