putAppeal.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <template>
  2. <div class="content">
  3. <div class="explain">
  4. <div class="title">问题说明:</div>
  5. <textarea
  6. v-model="question.explain"
  7. class="input card"
  8. placeholder="您反映的内容要体现一下几个重点信息:事情有关的地址,具体事情概述以及您的期望是什么?内容不少于5个字。"
  9. ></textarea>
  10. </div>
  11. <div class="update_photo">
  12. <div class="title">选择图片:</div>
  13. <div class="update_container card">
  14. <div class="update_button">
  15. <div>
  16. <img src="/static/appeal/photo.png" />
  17. </div>
  18. <div class="txt">上传</div>
  19. </div>
  20. </div>
  21. </div>
  22. <div class="info">
  23. <div class="name info_msg">
  24. <label>联系人:</label>
  25. <input type="text" class="card ipt" v-model="question.info.name" />
  26. </div>
  27. <div class="tel info_msg">
  28. <label>联系方式:</label>
  29. <input type="text" class="card ipt" v-model="question.info.tel" />
  30. </div>
  31. </div>
  32. <!-- <button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">
  33. 获取手机号
  34. </button>
  35. <button open-type="getUserInfo" @getuserinfo="getInfo">授权登录</button> -->
  36. <button class="submit" @tap="submit">提交</button>
  37. </div>
  38. </template>
  39. <script>
  40. import WXBizDataCrypt from "../../static/appeal/WXBizDataCrypt";
  41. export default {
  42. data() {
  43. return {
  44. msg: "提出诉求",
  45. question: {
  46. explain: "",
  47. info: {
  48. name: "",
  49. tel: "",
  50. },
  51. },
  52. };
  53. },
  54. methods: {
  55. getPhoneNumber(e) {
  56. console.log(e);
  57. let pc = new WXBizDataCrypt("wx5bb130cfb50e6b36");
  58. let data = pc.decryptData(e.detail.encryptedData, e.detail.iv);
  59. console.log(data);
  60. },
  61. getInfo(val) {
  62. console.log(val);
  63. },
  64. submit(){
  65. console.log(this.question);
  66. }
  67. },
  68. };
  69. </script>
  70. <style lang="scss" scoped>
  71. .content {
  72. font-size: 25rpx;
  73. font-weight: 200;
  74. padding: 5%;
  75. .title {
  76. font-size: 30rpx;
  77. margin: 5% 0;
  78. }
  79. .card {
  80. background-color: rgb(248, 247, 247);
  81. border-radius: 20rpx;
  82. }
  83. .explain {
  84. .input {
  85. width: 96%;
  86. padding: 2%;
  87. }
  88. }
  89. .info{
  90. margin-top: 5%;
  91. .info_msg {
  92. display: flex;
  93. align-items: center;
  94. label {
  95. display: inline-block;
  96. width: 20%;
  97. vertical-align: middle;
  98. }
  99. .ipt {
  100. padding: 0 2%;
  101. margin: 2% 0;
  102. display: inline-block;
  103. width: 70%;
  104. height: 70rpx;
  105. }
  106. }
  107. }
  108. img {
  109. width: 100rpx;
  110. height: 100rpx;
  111. }
  112. .update_button {
  113. text-align: center;
  114. }
  115. .submit {
  116. color: white;
  117. width: 75%;
  118. border-radius: 20rpx;
  119. background-color: #02a7f0;
  120. margin: 0 auto;
  121. margin-top: 150rpx;
  122. }
  123. }
  124. </style>