suggestionWrite.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <template>
  2. <view>
  3. <view>
  4. <!-- 建议标题 -->
  5. <view class="suggestWrapper">
  6. <text class="suggestTitle">建议标题</text>
  7. <textarea v-model="adviseTitle" name="建议标题" cols="30" rows="10" maxlength="50" suggestTitle placeholder="不超过50字" class="titleInput" bindinput="getSuggestTitle"></textarea>
  8. </view>
  9. <!-- 建议内容 -->
  10. <view class="suggestWrapper">
  11. <text class="suggestTitle">建议内容</text>
  12. <textarea v-model="adviseDetail" name="建议内容" cols="30" rows="10" maxlength="512" suggestTitle placeholder="不超过512字" class="contentInput" bindinput="getSuggestContent"></textarea>
  13. </view>
  14. </view>
  15. <!-- 取消和提交按钮 -->
  16. <view class="suggestBtn">
  17. <view class="confirmBtn" @click="toCancel">取消</view>
  18. <view class="confirmBtn" @click="toConfirm">提交</view>
  19. </view>
  20. </view>
  21. </template>
  22. <script>
  23. export default {
  24. data() {
  25. return {
  26. adviseTitle: "",
  27. adviseDetail: ""
  28. }
  29. },
  30. methods: {
  31. toCancel(){
  32. this.adviseTitle = "";
  33. this.adviseDetail = "";
  34. uni.navigateBack({
  35. delta: 1,
  36. })
  37. },
  38. toConfirm(){
  39. let suggestTitle = this.adviseTitle;
  40. let suggestDetail = this.adviseDetail;
  41. var head = '^[ ]+$';
  42. var re = new RegExp(head);
  43. if (!suggestTitle) {
  44. uni.showModal({
  45. title: '建议标题未写',
  46. content: '请补充标题后再重新提交'
  47. })
  48. }
  49. else if (re.test(suggestTitle)) {
  50. uni.showModal({
  51. title: '标题不能全为空格',
  52. content: '建议标题不能全部为空格,请修改建议标题后再提交'
  53. })
  54. }
  55. else if (!suggestDetail) {
  56. uni.showModal({
  57. title: '建议内容未写',
  58. content: '建议内容不能为空,请补充建议内容后再提交'
  59. })
  60. }
  61. else if (re.test(suggestDetail)) {
  62. uni.showModal({
  63. title: '建议内容不能全部为空格',
  64. content: '建议内容不能全部为空格,请修改建议内容后再提交'
  65. })
  66. }
  67. else{
  68. //const { data: result } =await uni.$http.get('/education/my-suggestion/writeAdvise',this.queryObj)
  69. uni.request({
  70. url: 'http://localhost:8222/education/my-suggestion/writeAdvise',
  71. data: {
  72. "adviseTitle": this.adviseTitle,
  73. "adviseDetail": this.adviseDetail,
  74. },
  75. header: {
  76. token: uni.getStorageSync('token')
  77. },
  78. method: 'POST',
  79. success: res => {
  80. // this.isLoading = false
  81. console.log(res)
  82. uni.$showMsg(res.data.message)
  83. setTimeout(() => {
  84. uni.navigateBack()
  85. }, 1000)
  86. }
  87. })
  88. }
  89. }
  90. }
  91. }
  92. </script>
  93. <style lang="scss" scoped>
  94. /* pages/writeSuggestion/writeSuggestion.wxss */
  95. /* 设置页面背景 */
  96. page{
  97. background-color: #E2F0D9;
  98. height: 100%;
  99. }
  100. .suggestWrapper{
  101. display: flex;
  102. flex-direction: column;
  103. width: 100%;
  104. padding: 20rpx;
  105. }
  106. /* 标题 */
  107. .suggestTitle{
  108. text-align: center;
  109. padding-bottom: 20rpx;
  110. font-weight: bold;
  111. }
  112. /* 输入的建议标题和内容公共样式 */
  113. .titleInput,
  114. .contentInput{
  115. width: 93%;
  116. padding: 10rpx;
  117. /* border: 1rpx solid gray; */
  118. border-radius: 20rpx;
  119. background-color: #fff;
  120. }
  121. /* 建议标题输入框的高度 */
  122. .titleInput{
  123. height: 150rpx;
  124. }
  125. /* 建议内容输入框的高度 */
  126. .contentInput{
  127. height: 650rpx;
  128. }
  129. /* 下方按钮 */
  130. .suggestBtn{
  131. display: flex;
  132. margin-top: 40rpx;
  133. justify-content: space-around;
  134. }
  135. .confirmBtn{
  136. font-size: 42rpx;
  137. width: 120rpx;
  138. padding: 10rpx 20rpx;
  139. border-radius: 40rpx;
  140. text-align: center;
  141. background-color: #8FAADC;
  142. color: white;
  143. }
  144. </style>