page-mine.component.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. <nz-layout>
  2. <nz-header>账户</nz-header>
  3. <nz-content>
  4. <div class="card-container">
  5. <nz-tabset nzType="card" [nzSelectedIndex]="selectedTabIndex">
  6. <nz-tab [nzTitle]="'账号'">
  7. <div nz-row [nzGutter]="16">
  8. <ion-title>可用余额:{{userServ.currentUser.availableBalance || '未填写'}} <a href="">充值</a></ion-title>
  9. <ion-title>账号:{{userServ.currentUser.account || '未填写'}}</ion-title>
  10. <ion-title>手机号:{{userServ.currentUser.phoneNumber || '未填写'}}<a href="">修改</a></ion-title>
  11. </div>
  12. </nz-tab>
  13. <nz-tab [nzTitle]="'安全'">
  14. <div nz-row nzJustify="space-evenly">
  15. <button nz-button [nzType]="'primary'" (click)="actionChange('changePassword')"><span>修改密码</span></button>
  16. <nz-modal [(nzVisible)]="actionTypeMap['changePassword']" nzTitle="小心谨慎,保密至上"
  17. (nzOnCancel)="inActionChange('changePassword')"
  18. (nzOnOk)="handleChange('changePassword')">
  19. <ng-container *nzModalContent>
  20. <form [formGroup]="validateForm">
  21. <div class="form-group">
  22. <label for="oldPassword">旧密码</label>
  23. <!-- 密码输入-->
  24. <nz-input-group [nzSuffix]="suffixTemplate">
  25. <input
  26. [type]="passwordVisible ? 'text' : 'password'" id="oldPassword" formControlName="oldPassword"
  27. nz-input
  28. placeholder="input password"/>
  29. </nz-input-group>
  30. <ng-template #suffixTemplate>
  31. <span
  32. nz-icon
  33. [nzType]="passwordVisible ? 'eye-invisible' : 'eye'"
  34. (click)="passwordVisible = !passwordVisible"
  35. ></span>
  36. </ng-template>
  37. <div *ngIf="validateForm.controls['oldPassword'].errors?.['required']" class="error-message">
  38. 需要填写密码
  39. </div>
  40. <div *ngIf="validateForm.controls['oldPassword'].errors?.['pattern']" class="error-message">
  41. 密码必须包含字符和数字位数在6-10位之间
  42. </div>
  43. <label for="newPassword">新密码</label>
  44. <nz-input-group [nzSuffix]="suffixTemplate">
  45. <input
  46. [type]="passwordVisible ? 'text' : 'password'" id="newPassword" formControlName="newPassword"
  47. nz-input
  48. placeholder="input password"/>
  49. </nz-input-group>
  50. <ng-template #suffixTemplate>
  51. <span
  52. nz-icon
  53. [nzType]="passwordVisible ? 'eye-invisible' : 'eye'"
  54. (click)="passwordVisible = !passwordVisible"
  55. ></span>
  56. </ng-template>
  57. <div *ngIf="validateForm.controls['newPassword'].errors?.['required']" class="error-message">
  58. 需要填写密码
  59. </div>
  60. <div *ngIf="validateForm.controls['newPassword'].errors?.['pattern']" class="error-message">
  61. 密码必须包含字符和数字位数在6-10位之间
  62. </div>
  63. </div>
  64. </form>
  65. </ng-container>
  66. </nz-modal>
  67. <button nz-button [nzType]="'primary'" (click)="actionChange('forgetPassword')"><span>忘记密码</span></button>
  68. <nz-modal [(nzVisible)]="actionTypeMap['forgetPassword']" nzTitle="哟~又忘记了啊"
  69. (nzOnCancel)="inActionChange('forgetPassword')"
  70. (nzOnOk)="handleForget()">
  71. <ng-container *nzModalContent>
  72. <div class="example-input">
  73. 请输入邮箱:<input nz-input placeholder="请输入邮箱" nzSize="default"/>
  74. <!-- 验证信息-->
  75. </div>
  76. </ng-container>
  77. </nz-modal>
  78. <button nz-button [nzType]="'primary'" (click)="actionChange('removePassword')"><span>删除账户</span></button>
  79. <nz-modal [(nzVisible)]="actionTypeMap['removePassword']" nzTitle="请问您真的要删除吗????"
  80. (nzOnCancel)="inActionChange('removePassword')"
  81. (nzOnOk)="handleRemove('removePassword')">
  82. <ng-container *nzModalContent>
  83. <div class="example-input">
  84. <!-- 请输入密码:<input nz-input placeholder="请输入密码" nzSize="default"/>-->
  85. <form [formGroup]="validateForm">
  86. <div class="form-group">
  87. <label for="oldPassword">旧密码</label>
  88. <!-- 密码输入-->
  89. <nz-input-group [nzSuffix]="suffixTemplate">
  90. <input
  91. [type]="passwordVisible ? 'text' : 'password'" id="removePassword"
  92. formControlName="removePassword"
  93. nz-input
  94. placeholder="请输入密码"/>
  95. </nz-input-group>
  96. <ng-template #suffixTemplate>
  97. <span
  98. nz-icon
  99. [nzType]="passwordVisible ? 'eye-invisible' : 'eye'"
  100. (click)="passwordVisible = !passwordVisible"
  101. ></span>
  102. </ng-template>
  103. <div *ngIf="validateForm.controls['oldPassword'].errors?.['required']" class="error-message">
  104. 需要填写密码
  105. </div>
  106. <div *ngIf="validateForm.controls['oldPassword'].errors?.['pattern']" class="error-message">
  107. 密码必须包含字符和数字位数在6-10位之间
  108. </div>
  109. </div>
  110. </form>
  111. </div>
  112. </ng-container>
  113. </nz-modal>
  114. </div>
  115. </nz-tab>
  116. <nz-tab [nzTitle]="'设置'">
  117. <div *ngIf="isFirstRegister===1">
  118. <nz-steps [nzCurrent]="current">
  119. <nz-step nzTitle="完善信息"></nz-step>
  120. <nz-step nzTitle="性格测试"></nz-step>
  121. <nz-step nzTitle=""></nz-step>
  122. </nz-steps>
  123. <div class="steps-content" *ngIf="current === 0">
  124. <!-- 完善信息 -->
  125. <form [formGroup]="myForm" (ngSubmit)="submitForm()" class="form-container">
  126. <div class="form-row">
  127. <label for="phone">电话:</label>
  128. <input type="text" id="phone" formControlName="phone"/>
  129. <div *ngIf="myForm.get('phone')?.invalid && myForm.get('phone')?.touched">
  130. <div *ngIf="myForm.get('phone')?.errors?.['required']">Phone number is required.</div>
  131. <div *ngIf="myForm.get('phone')?.errors?.['pattern']">Invalid phone number.</div>
  132. </div>
  133. </div>
  134. <div class="form-row">
  135. <label for="name">姓名:</label>
  136. <input type="text" id="name" formControlName="name"/>
  137. <div *ngIf="myForm.get('name')?.invalid && myForm.get('name')?.touched">
  138. <div *ngIf="myForm.get('name')?.errors?.['required']">Phone number is required.</div>
  139. </div>
  140. </div>
  141. <!-- 学历-->
  142. <div class="form-row">
  143. <label>阶段:</label>
  144. <div>
  145. <label>
  146. <input type="radio" formControlName="employmentStatus" value="employed"/>
  147. 在职
  148. </label>
  149. </div>
  150. <div>
  151. <label>
  152. <input type="radio" formControlName="employmentStatus" value="jobSeeker"/>
  153. 学生
  154. </label>
  155. </div>
  156. <div>
  157. <label>
  158. <input type="radio" formControlName="employmentStatus" value="internship"/>
  159. 求职
  160. </label>
  161. </div>
  162. <div *ngIf="myForm.get('employmentStatus')?.invalid && myForm.get('employmentStatus')?.touched">
  163. Employment status is required.
  164. </div>
  165. </div>
  166. <!-- 性别-->
  167. <div class="form-row">
  168. <label>性别:</label>
  169. <div>
  170. <label>
  171. <input type="radio" formControlName="gender" value="男"/>
  172. </label>
  173. </div>
  174. <div>
  175. <label>
  176. <input type="radio" formControlName="gender" value="女"/>
  177. </label>
  178. </div>
  179. <div *ngIf="myForm.get('employmentStatus')?.invalid && myForm.get('employmentStatus')?.touched">
  180. Employment status is required.
  181. </div>
  182. </div>
  183. <!-- 本科-->
  184. <div class="form-row">
  185. <label>学历:</label>
  186. <div>
  187. <label>
  188. <input type="radio" formControlName="educationLevel" value="associateDegree"/>
  189. 大专
  190. </label>
  191. </div>
  192. <div>
  193. <label>
  194. <input type="radio" formControlName="educationLevel" value="bachelorDegree"/>
  195. 本科
  196. </label>
  197. </div>
  198. <div>
  199. <label>
  200. <input type="radio" formControlName="educationLevel" value="masterDegree"/>
  201. 研究生
  202. </label>
  203. </div>
  204. <div>
  205. <label>
  206. <input type="radio" formControlName="educationLevel" value="phd"/>
  207. 博士生
  208. </label>
  209. </div>
  210. <div *ngIf="myForm.get('educationLevel')?.invalid && myForm.get('educationLevel')?.touched">
  211. Education level is required.
  212. </div>
  213. </div>
  214. </form>
  215. </div>
  216. <!-- 性格测试-->
  217. <div class="steps-content" *ngIf="current===1">
  218. <div class="chat-container">
  219. <div class="chat-window">
  220. <div class="chat-label">聊天记录</div>
  221. <div class="chat-messages" #chatMessages>
  222. <div *ngFor="let message of messages" class="message"
  223. [ngClass]="{'left': !message.isReceived, 'right': message.isReceived}">
  224. <div class="avatar" [ngClass]="{'left': !message.isReceived, 'right': message.isReceived}">
  225. <img [src]="message.avatar" alt="Avatar"/>
  226. </div>
  227. <div class="content">{{ message.content }}</div>
  228. </div>
  229. </div>
  230. </div>
  231. <div class="input-container">
  232. <div class="input-message" *ngFor="let message of inputMessages">
  233. <div class="avatar">
  234. <img [src]="message.avatar" alt="Avatar"/>
  235. </div>
  236. <div class="content">{{ message.content }}</div>
  237. </div>
  238. <input type="text" [(ngModel)]="inputText" placeholder="请输入消息" (keyup.enter)="sendMessage()"/>
  239. <button (click)="sendMessage()">发送</button>
  240. </div>
  241. </div>
  242. </div>
  243. <div class="steps-content" *ngIf="current===2">3</div>
  244. <div class="steps-action">
  245. <button nz-button nzType="default" (click)="pre()" *ngIf="current > 0">
  246. <span>Previous</span>
  247. </button>
  248. <button nz-button nzType="default" (click)="next()" *ngIf="current < 2"
  249. [disabled]="current === 0 && myForm.invalid">
  250. <span>Next</span>
  251. </button>
  252. <button nz-button nzType="primary" (click)="done()" *ngIf="current === 2">
  253. <span>Done</span>
  254. </button>
  255. </div>
  256. </div>
  257. <div *ngIf="isFirstRegister!==1">
  258. </div>
  259. </nz-tab>
  260. </nz-tabset>
  261. <!-- <div class="container" style="background: #ECECEC;padding:30px">-->
  262. <!-- <div nz-row [nzGutter]="8">-->
  263. <!-- <div nz-col [nzSpan]="8">-->
  264. <!-- <nz-card nzTitle="Card title">-->
  265. <!-- 1111111111-->
  266. <!-- </nz-card>-->
  267. <!-- </div>-->
  268. <!-- </div>-->
  269. <!-- </div>-->
  270. </div>
  271. </nz-content>
  272. <nz-footer>
  273. <ion-list [inset]="true">
  274. <ion-button *ngIf="!userServ.currentUser?.account" expand="block" routerLink="/user/login">登录</ion-button>
  275. <ion-button *ngIf="userServ.currentUser?.account" fill="clear" expand="block" (click)="logout()">登出</ion-button>
  276. </ion-list>
  277. </nz-footer>
  278. </nz-layout>