index.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <!--
  2. * @Author: your name
  3. * @Date: 2021-02-19 11:59:48
  4. * @LastEditTime: 2021-03-02 11:09:23
  5. * @LastEditors: Please set LastEditors
  6. * @Description: In User Settings Edit
  7. * @FilePath: \intelligentLock\src\pages\index\index.vue
  8. -->
  9. <template>
  10. <view class="page">
  11. <!-- <view class="addHeader">
  12. <AtNavBar :onClickLeftIcon="LeftIconClick"
  13. :title="userTitle"
  14. leftIconType="chevron-left"
  15. color='#646464' />
  16. </view> -->
  17. <view class="formBox">
  18. <view class="userTitle">基本信息</view>
  19. <AtForm :onSubmit="handleSubmit"
  20. :onReset="handleReset">
  21. <AtInput required
  22. name="name"
  23. title="姓名"
  24. type="text"
  25. placeholder="请输入姓名"
  26. :value="state.name"
  27. :onChange="handleChange.bind(this, 'name')" />
  28. <AtInput required
  29. name="phone"
  30. title="手机号码"
  31. type="phone"
  32. placeholder="请输入手机号码"
  33. :value="state.phone"
  34. :onChange="handleChange.bind(this, 'phone')" />
  35. <view class="formBtnBox">
  36. <AtButton type="primary"
  37. class="btn"
  38. formType="submit"
  39. :onClick="handleSubmit">
  40. 提交
  41. </AtButton>
  42. <AtButton formType="reset"
  43. class="btn"
  44. :onClick="handleReset">删除</AtButton>
  45. </view>
  46. </AtForm>
  47. </view>
  48. <AtToast :text="state.text"
  49. :isOpened="state.isOpened"></AtToast>
  50. </view>
  51. </template>
  52. <script>
  53. import './index.scss'
  54. import setStateMixin from '../../mixins/setStateMixin'
  55. export default {
  56. name: 'userControl',
  57. mixins: [setStateMixin],
  58. data () {
  59. return {
  60. userTitle: "新增用户",
  61. state: {
  62. name: '',
  63. phone: '',
  64. isOpened: false,
  65. text: ''
  66. }
  67. }
  68. },
  69. created () {
  70. const { id } = this.$taro.getCurrentInstance().router.params
  71. console.log("ddddd---", id)
  72. },
  73. onShow () {
  74. },
  75. onHide () { },
  76. methods: {
  77. LeftIconClick () {
  78. this.$taro.navigateBack({
  79. delta: 1 // 返回上一级页面。
  80. });
  81. },
  82. handleChange (stateName, value) {
  83. this.setState({
  84. [stateName]: value,
  85. })
  86. },
  87. // 表单 提交
  88. handleSubmit () {
  89. const { name, phone } = this.state
  90. if (!name) {
  91. this.setState({
  92. isOpened: true,
  93. text: `用户名不能为空`,
  94. })
  95. this.closeToast()
  96. return false
  97. }
  98. if (!phone) {
  99. this.setState({
  100. isOpened: true,
  101. text: `手机号不能为空`,
  102. })
  103. this.closeToast()
  104. return false
  105. }
  106. },
  107. // 表单重置
  108. handleReset () {
  109. console.log('handleReset')
  110. this.setState({
  111. isOpened: true,
  112. text: `基本信息已被重置`,
  113. name: '',
  114. phone: '',
  115. })
  116. this.closeToast()
  117. },
  118. closeToast () {
  119. setTimeout(() => {
  120. this.setState({
  121. isOpened: false,
  122. })
  123. }, 2000)
  124. }
  125. }
  126. }
  127. </script>