editPerfect.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <template>
  2. <div class='perfect'>
  3. <div class="perfectTitle">完善工号</div>
  4. <div class="perfectNumber">
  5. <input type="text" v-model.trim="jobNumber" placeholder="请输入工号">
  6. </div>
  7. <div class="perfectBtn">
  8. <van-button type="info" round :disabled="!jobNumber" @click="editPerfectJobNumber">确定</van-button>
  9. </div>
  10. </div>
  11. </template>
  12. <script>
  13. export default {
  14. name: '',
  15. components: {},
  16. props: {},
  17. data() {
  18. return {
  19. jobNumber: '',
  20. user: JSON.parse(localStorage.userInfo)
  21. }
  22. },
  23. computed: {},
  24. watch: {},
  25. created() { },
  26. mounted() { },
  27. methods: {
  28. editPerfectJobNumber() {
  29. const { id } = this.user
  30. this.$axios.post("/user/updateUserJobNumber", {
  31. id,
  32. jobNumber: this.jobNumber
  33. })
  34. .then(res => {
  35. if (res.code == "ok") {
  36. this.$toast.success('操作成功');
  37. let newUserInfo = {
  38. ...this.user,
  39. jobNumber: this.jobNumber
  40. }
  41. localStorage.setItem('userInfo', JSON.stringify(newUserInfo))
  42. this.$router.go(-1);
  43. } else {
  44. this.$toast.fail(res.msg);
  45. }
  46. }).catch(err => {
  47. this.$toast.fail(err);
  48. });
  49. }
  50. },
  51. }
  52. </script>
  53. <style scoped lang='less'>
  54. .perfect {
  55. width: 100%;
  56. height: 100vh;
  57. background: #fff;
  58. .perfectTitle {
  59. font-size: 30px;
  60. padding-top: 20vh;
  61. text-align: center;
  62. color: #00a0e9;
  63. }
  64. .perfectNumber {
  65. width: 100%;
  66. display: flex;
  67. justify-content: center;
  68. input {
  69. width: 80%;
  70. height: 50px;
  71. border: 1px solid #ccc;
  72. border-radius: 5px;
  73. margin-top: 8vh;
  74. padding-left: 10px;
  75. font-size: 16px;
  76. border-radius: 50px;
  77. text-align: center;
  78. }
  79. }
  80. .perfectBtn {
  81. width: 80%;
  82. margin: 0 auto;
  83. .van-button {
  84. margin-top: 10vh;
  85. width: 100%;
  86. height: 50px;
  87. border-radius: 50px;
  88. background: #00a0e9;
  89. color: #fff;
  90. }
  91. }
  92. }
  93. </style>