leader-mailbox-reply.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. <template>
  2. <div>
  3. <!-- 当员工未留言时加载 -->
  4. <div class="headers" v-if="showH1">
  5. <h1>暂无数据</h1>
  6. </div>
  7. <!-- 循环体 -->
  8. <div
  9. class="consult"
  10. v-for="(item, index) in value"
  11. :key="index"
  12. ref="dialog"
  13. >
  14. <!-- 渲染员工姓名 -->
  15. <div class="consult-item">
  16. <span>
  17. <img src="../../../assets/images/leader-mailbox/renwu.png" alt="" />
  18. </span>
  19. <input type="text" placeholder="姓名" readonly :value="item.name" />
  20. <!-- 这里进行判断是否是已回复还是未回复 -->
  21. <div>
  22. <van-button type="primary" disabled size="mini" v-if="status=item.reply_status">已回复</van-button>
  23. <van-button type="danger" disabled size="mini" v-else>未回复</van-button>
  24. </div>
  25. </div>
  26. <!-- 渲染员工留言时间 -->
  27. <div class="consult-item-time">
  28. <span>
  29. <img src="../../../assets/images/leader-mailbox/shijian.png" alt="" />
  30. </span>
  31. <input
  32. type="text"
  33. placeholder="时间"
  34. readonly
  35. :value="item.created_at"
  36. />
  37. </div>
  38. <!-- 渲染员工留言内容 -->
  39. <div class="consult-item-textarea">
  40. <span>
  41. <img src="../../../assets/images/leader-mailbox/neirong.png" alt="" />
  42. </span>
  43. <textarea
  44. name=""
  45. id=""
  46. cols="30"
  47. rows="1"
  48. readonly
  49. :value="item.content"
  50. ></textarea>
  51. </div>
  52. <!-- 渲染领导回复 -->
  53. <div class="consult-item-textarea" v-if="status1=item.reply_status">
  54. <span>
  55. <img src="../../../assets/images/leader-mailbox/huifu.png" alt="" />
  56. </span>
  57. <!-- 渲染领导回复时间 -->
  58. <div>
  59. <input
  60. type="text"
  61. placeholder="暂无回复"
  62. readonly
  63. :value="item.reply_time"
  64. />
  65. <!-- 渲染领导回复内容 -->
  66. <p>{{ item.reply }}</p>
  67. </div>
  68. </div>
  69. </div>
  70. </div>
  71. </template>
  72. <script>
  73. export default {
  74. data() {
  75. return {
  76. value: [], //获取到员工姓名和留言组成对象,放入数组中
  77. token: sessionStorage.getItem("mytoken")
  78. ? sessionStorage.getItem("mytoken")
  79. : "", //token值保存在本地,有的话取值,没有为空
  80. show: true, //tabber是否显示
  81. gettoken: "", //从url获取到token值
  82. correlate: false,//弹出层
  83. textareas: "",//弹出层中的多行文本域
  84. indexlist: "",//获取当前循环体中的下标
  85. indexid: "",//获取当前循环体中的id
  86. showH1:false
  87. };
  88. },
  89. mounted() {
  90. document.body.style.backgroundColor = "#3399ff";//背景色
  91. // this.gettoken =getAllUrlParams(window.location.href).token;
  92. // this.token = `Bearer ${this.gettoken}`;
  93. this.token=this.$route.query.token;//获取token值
  94. sessionStorage.setItem("mytoken", this.token);//存入token值
  95. this.getleaderBox();//挂载接口信息
  96. },
  97. methods: {
  98. getleaderBox() {
  99. this.$http.post("/api/workbench/leader_mailbox/list", {}).then((res) => {
  100. if(res.data.data.data.length==""){
  101. this.showH1=true
  102. }else{
  103. this.showH1=false
  104. }
  105. this.value = res.data.data.data;
  106. });
  107. },
  108. },
  109. };
  110. </script>
  111. <style scoped>
  112. .headers{
  113. text-align: center;
  114. width: 90%;
  115. height: 150px;
  116. line-height: 150px;
  117. border-radius: 10px;
  118. margin: 15% auto;
  119. background: #fff;
  120. }
  121. .consult {
  122. width: 90%;
  123. margin: 3% auto 7%;
  124. background: #fff;
  125. border-radius: 10px;
  126. }
  127. .consult-item {
  128. display: flex;
  129. justify-content: space-between;
  130. line-height: 34px;
  131. }
  132. .consult-item > span {
  133. display: block;
  134. width: 25px;
  135. margin-left: 5%;
  136. }
  137. .consult-item img {
  138. width: 100%;
  139. padding-top: 23%;
  140. }
  141. .consult-item > input {
  142. border: none;
  143. }
  144. .consult-item > div {
  145. margin-right: 5%;
  146. }
  147. .consult-item-time {
  148. line-height: 36px;
  149. display: flex;
  150. }
  151. .consult-item-time > span {
  152. display: flex;
  153. width: 25px;
  154. margin-left: 5%;
  155. }
  156. .consult-item-time img {
  157. width: 25px;
  158. height: 25px;
  159. padding-top: 23%;
  160. }
  161. .consult-item-time > input {
  162. border: none;
  163. margin-left: 7%;
  164. }
  165. .consult-item-textarea {
  166. display: flex;
  167. }
  168. .consult-item-textarea > span {
  169. display: block;
  170. width: 25px;
  171. margin-left: 5%;
  172. }
  173. .consult-item-textarea > textarea {
  174. border: none;
  175. margin-left: 7%;
  176. margin-top: 2%;
  177. }
  178. .consult-item-textarea img {
  179. width: 100%;
  180. padding-top: 23%;
  181. }
  182. .consult-item-textarea {
  183. display: flex;
  184. }
  185. .consult-item-textarea > div > input {
  186. margin-top: 6%;
  187. margin-left: 10%;
  188. border: none;
  189. }
  190. .consult-item-textarea > div p {
  191. margin-top: 3%;
  192. margin-left: 10%;
  193. margin-bottom: 3%
  194. }
  195. .van-cell {
  196. border-radius: 10px;
  197. }
  198. .van-cell-group {
  199. border-radius: 10px;
  200. }
  201. .input-button {
  202. width: 85%;
  203. background: #39f;
  204. height: 30px;
  205. text-align: center;
  206. margin: auto;
  207. margin-bottom: 10px;
  208. line-height: 30px;
  209. border-radius: 10px;
  210. margin-top: 5%;
  211. }
  212. .input-button > input {
  213. background: #39f;
  214. border: none;
  215. color: #fff;
  216. }
  217. .active {
  218. visibility: hidden;
  219. }
  220. >>> .van-dialog__content {
  221. text-align: center;
  222. }
  223. </style>