appeal.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. (function() {
  2. Vue.component('appeal-form', {
  3. template: `<div><div class="container-fluid">
  4. <div class="container" id="head">
  5. <div class="top-banner">
  6. <img src="../../../images/doctor_logo_img.png" class="hlogo" />
  7. <span class="qr-container">
  8. <img src="../../../images/qr_code.png" class="qr_code" />
  9. <p class="c-f12 text-center">下载APP</p>
  10. </span>
  11. <span class="c-border-l return" @click="goLogin()">返回登录页</span>
  12. </div>
  13. </div>
  14. </div>
  15. <div class="container-fluid chahua-bg c-border-t">
  16. <div class="container ptb40">
  17. <div class="appeal-form c-border">
  18. <h3 class="pt20 pb10 pl0 pr20 m0 mb30 c-f16 c-border-b clearfix">账号申诉<span class="fr c-f14 c-0ad8c8 f-w400" @click="record()">申诉记录</span></h3>
  19. <div class="edit-question" v-if="!isRecord && isQuestion">
  20. <div class="question-form pl20 pr50">
  21. <h4 class="c-909090 f-w400 m0 mb10 txt-center" v-if="!isEdit">hi~你发现了什么问题?</h4>
  22. <label class="mb10">选择申诉类型<span class="c-f00">*</span></label>
  23. <ul class="container-fluid p0 mb20 clearfix">
  24. <li v-if="isEdit" class="fl question-li mr30">
  25. <div class="question-li-div c-323232 c-f14 txt-center select-active">功能优化</div>
  26. </li>
  27. <li v-if="!isEdit" class="fl question-li mr30" v-for="list in questionArr" :key="list.code">
  28. <div class="question-li-div c-323232 c-f14 txt-center" :class="{'select-active': judgeSelectIndex == list.code}" @click="select(list.code)">{{list.name}}</div>
  29. </li>
  30. </ul>
  31. <div>
  32. <label class="mb10">问题&建议<span class="c-f00">*</span></label>
  33. <p class="c-position-r m0" v-if="!isEdit">
  34. <textarea @input="limit" class="form-control" placeholder="请描述您在使用过程中遇到的问题或建议,如果遇到功能异常,上传异常页面截图能更快解决哦~"></textarea>
  35. <span class="limit c-909090">最多300字</span>
  36. </p>
  37. <p class="c-position-r m0" v-if="isEdit">
  38. <textarea @input="limit" readonly class="form-control" placeholder="请描述您在使用过程中遇到的问题或建议,如果遇到功能异常,上传异常页面截图能更快解决哦~"></textarea>
  39. <span class="limit c-909090">最多300字</span>
  40. </p>
  41. </div>
  42. <div class="h100 mtb20">
  43. <div class="fl set-img mr20 c-position-r" v-if="quesImg.length > 0" v-for="(imgs, key) in quesImg" :key="key">
  44. <img src="imgs.src" \>
  45. <span class="delete-img" v-if="!isEdit" @click="remove(key)"></span>
  46. </div>
  47. <div v-if="isEdit ? !isEdit : quesImg.length < 4" class="fl img-add mr20">
  48. <input type="file" @change="uploadImg()" class="fl set-img type-hide" accept="image/jpg,image/jpeg,image/png">
  49. </div>
  50. <span class="fl pt40 c-909090">(选填,图片最多可传4张)</span>
  51. </div>
  52. <div v-if="isEdit">
  53. <div class="mb10">
  54. <label class="m0">处理时间</label><span class="ml10">2018-04-28</span>
  55. </div>
  56. <div>
  57. <label class="mb10">处理记录</label>
  58. <p class="c-position-r m0">
  59. <textarea readonly="true" class="form-control" placeholder="请描述您在使用过程中遇到的问题或建议,如果遇到功能异常,上传异常页面截图能更快解决哦~"></textarea>
  60. </p>
  61. </div>
  62. </div>
  63. <div class="mt10 clearfix" v-if="!isEdit">
  64. <p class="c-323232 c-f14 txt-center">请留下您的联系方式,管理员会尽快为您找到解决方案</p>
  65. <div class="c-border pt30 pl50 b-r-5">
  66. <p class="form-group clearfix">
  67. <label class="fl form-label">姓名<span class="c-f00">*</span></label>
  68. <input class="fl form-control" placeholder="请输入姓名" />
  69. </p>
  70. <p class="form-group clearfix">
  71. <label class="fl form-label">身份证<span class="c-f00">*</span></label>
  72. <input class="fl form-control" placeholder="请输入身份证号" />
  73. </p>
  74. <p class="form-group clearfix">
  75. <label class="fl form-label">手机号<span class="c-f00">*</span></label>
  76. <input class="fl form-control" placeholder="请输入手机号" />
  77. </p>
  78. </div>
  79. </div>
  80. <div class="pt20">
  81. <span v-if="!isEdit" class="btn" @click="submit()">提&emsp;交</span>
  82. <span v-if="isEdit" class="btn" @click="backRecord()">返&emsp;回</span>
  83. </div>
  84. </div>
  85. </div>
  86. <div class="finish-device txt-center" v-if="!isRecord && !isQuestion">
  87. <h3 class="device-success">账号申诉已完成</h3>
  88. <p class="c-909090 c-f18">您可以在申诉记录查看意见进展</p>
  89. <div class="pt30">
  90. <span class="btn" @click="back()">返&emsp;回</span>
  91. </div>
  92. </div>
  93. <div v-if="isRecord">
  94. <ul class="list-record pl30 c-f14 m0">
  95. <li v-if="recordList.length == 0" class="txt-center">暂无反馈记录</li>
  96. <li v-if="recordList.length > 0" class="c-border-b ptb10 clearfix" v-for="(list, index) in recordList" :key="index">
  97. <span class="fl c-fff list-tap pr5 mr20">{{list.tit}}</span>
  98. <p class="fl c-909090 list-detail m0">{{list.detail}}</p>
  99. <span class="fl list-status mr30" :class="{'list-status-active':list.status == 1}">{{list.status == 1 ? "已处理" : '待处理'}}</span>
  100. <span class="fl list-view pr20 c-0ad8c8" @click="view(list)">查看</span>
  101. </li>
  102. </ul>
  103. <div v-if="recordList.length == 0">
  104. <span class="btn" @click="back()">返&emsp;回</span>
  105. </div>
  106. <div class="mt15 h30 pr30 txt-center clearfix" v-if="recordList.length > 0">
  107. <div class="fr ml10 clearfix">
  108. <span class="fl c-border-tb c-border-l page-btn-input m0"><input class="fl c-888 page-input" v-model="editPage" /></span><span class="fr c-f12 btn page-btn page-btn-sure" @click="setPage(editPage)">确定</span>
  109. </div>
  110. <span class="fr btn page-btn" @click="setPage(page + 2)" v-if="page == 1">{{page + 2}}</span>
  111. <span class="fr btn page-btn" @click="setPage(page + 1)">{{page + 1}}</span>
  112. <span class="fr btn page-btn page-btn-active">{{page}}</span>
  113. <span class="fr btn page-btn" @click="setPage(page - 1)" v-if="page != 1">{{page - 1}}</span>
  114. </div>
  115. </div>
  116. </div>
  117. </div>
  118. </div></div>`,
  119. props: [],
  120. data: function() {
  121. return {
  122. isRecord: false,
  123. isEdit: false,
  124. isQuestion: true,
  125. judgeSelectIndex: null,
  126. questionArr: [{
  127. name: "手机号无法使用",
  128. code: "1"
  129. },{
  130. name: "无法找回密码",
  131. code: "2"
  132. },{
  133. name: "其他",
  134. code: "3"
  135. }],
  136. quesImg: [],
  137. recordList: [{
  138. tit: "功能异常",
  139. detail: "是啥东西爱尔家圣诞节哦按时大多数萨达阿达擦擦擦市场擦拭菜市场大神擦拭的",
  140. status: "1"
  141. },{
  142. tit: "手机号无法使用",
  143. detail: "是啥东西爱尔家圣诞节哦按时大多数萨达阿达擦擦擦市场擦拭菜市场大神擦拭的",
  144. status: "1"
  145. },{
  146. tit: "功能异常",
  147. detail: "是啥东西爱尔家圣诞节哦按时大多数萨达阿达擦擦擦市场擦拭菜市场大神擦拭的",
  148. status: "0"
  149. },{
  150. tit: "无法找回密码",
  151. detail: "是啥东西爱尔家圣诞节哦按时大多数萨达阿达擦擦擦市场擦拭菜市场大神擦拭的",
  152. status: "1"
  153. },{
  154. tit: "功能异常",
  155. detail: "是啥东西爱尔家圣诞节哦按时大多数萨达阿达擦擦擦市场擦拭菜市场大神擦拭的",
  156. status: "1"
  157. },{
  158. tit: "功能异常",
  159. detail: "是啥东西爱尔家圣诞节哦按时大多数萨达阿达擦擦擦市场擦拭菜市场大神擦拭的",
  160. status: "0"
  161. },{
  162. tit: "功能异常",
  163. detail: "是啥东西爱尔家圣诞节哦按时大多数萨达阿达擦擦擦市场擦拭菜市场大神擦拭的",
  164. status: "1"
  165. },{
  166. tit: "功能异常",
  167. detail: "是啥东西爱尔家圣诞节哦按时大多数萨达阿达擦擦擦市场擦拭菜市场大神擦拭的",
  168. status: "1"
  169. },{
  170. tit: "功能异常",
  171. detail: "是啥东西爱尔家圣诞节哦按时大多数萨达阿达擦擦擦市场擦拭菜市场大神擦拭的",
  172. status: "0"
  173. },{
  174. tit: "功能异常",
  175. detail: "是啥东西爱尔家圣诞节哦按时大多数萨达阿达擦擦擦市场擦拭菜市场大神擦拭的",
  176. status: "0"
  177. }],
  178. page: 1,
  179. editPage: null
  180. }
  181. },
  182. methods: {
  183. goHelp: function() {
  184. window.location.href = "appeal.html"
  185. },
  186. goLogin: function() {
  187. window.location.href = "login.html"
  188. },
  189. select: function(key) {
  190. if(this.judgeSelectIndex == key) {
  191. this.judgeSelectIndex = null
  192. } else {
  193. this.judgeSelectIndex = key
  194. }
  195. },
  196. record: function() {
  197. this.isRecord = true
  198. },
  199. limit: function() {
  200. },
  201. remove: function(key) {
  202. this.quesImg.splice(key, 1)
  203. },
  204. submit: function() {
  205. this.isQuestion = false
  206. },
  207. back: function() {
  208. this.isQuestion = true
  209. this.isRecord = false
  210. },
  211. setPage: function(key) {
  212. if(+key) {
  213. this.page = +key
  214. } else {
  215. alert(key)
  216. }
  217. },
  218. view: function(list) {
  219. this.isRecord = false
  220. this.isQuestion = true
  221. this.isEdit = true
  222. },
  223. backRecord: function() {
  224. this.isRecord = true
  225. this.isQuestion = false
  226. this.isEdit = false
  227. }
  228. },
  229. watch: {
  230. // Password: function(newVal, oldVal) {
  231. // var val = newVal.toString();
  232. // var reg = /\s+/g; //去除空格
  233. // if(reg.test(val)) {
  234. // this.Password = oldVal;
  235. // }
  236. // }
  237. }
  238. })
  239. })()