dev_comment.vue 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. <template>
  2. <div class="comment-main" :class="{
  3. 'comment-mobile':mobile
  4. }">
  5. <el-container>
  6. <el-container>
  7. <el-container>
  8. <el-header>
  9. <el-steps align-center :active="active" style="padding-top: 20px" finish-status="success">
  10. <el-step title="申请认证"></el-step>
  11. <el-step title="审核通过"></el-step>
  12. <el-step title="对接面试"></el-step>
  13. <el-step title="面试评价"></el-step>
  14. </el-steps>
  15. <el-divider></el-divider>
  16. </el-header>
  17. <el-main>
  18. <el-form v-if="active==4" style="margin-top: 60px" ref="form" label-width="0px">
  19. <el-form-item>
  20. <div class="title">面试专业度(面试水平,面试态度)</div>
  21. <el-select v-model="info.invite_experience" placeholder="请选择分数">
  22. <el-option v-for="item in fenshu" :key="item.value" :label="item.label" :value="item.value">
  23. </el-option>
  24. </el-select>
  25. </el-form-item>
  26. <el-form-item>
  27. <div class="title">技术专业度(技术水平)</div>
  28. <el-select v-model="info.invite_skill" placeholder="请选择分数">
  29. <el-option v-for="item in fenshu" :key="item.value" :label="item.label" :value="item.value">
  30. </el-option>
  31. </el-select>
  32. </el-form-item>
  33. <el-form-item>
  34. <div class="title">对面试官进行评价</div>
  35. <el-input v-model="info.inter_memo" show-word-limit maxlength="200"></el-input>
  36. </el-form-item>
  37. <el-form-item>
  38. <el-button @click="submitData" type="primary">确认提交</el-button>
  39. </el-form-item>
  40. </el-form>
  41. </el-main>
  42. </el-container>
  43. </el-container>
  44. </el-container>
  45. </div>
  46. </template>
  47. <script>
  48. import {
  49. mapState
  50. } from "vuex";
  51. export default {
  52. head: {
  53. title: '技术认证面试回访',
  54. },
  55. data() {
  56. return {
  57. fenshu: [{
  58. value: '1',
  59. label: '1分'
  60. }, {
  61. value: '2',
  62. label: '2分'
  63. }, {
  64. value: '3',
  65. label: '3分'
  66. }, {
  67. value: '4',
  68. label: '4分'
  69. }, {
  70. value: '5',
  71. label: '5分'
  72. }],
  73. active: 4,
  74. id: 0,
  75. sign: "",
  76. info: {},
  77. }
  78. },
  79. asyncData({
  80. app
  81. }) {
  82. return {
  83. mobile: app.$deviceType.isMobile(),
  84. }
  85. },
  86. mounted() {
  87. var id = this.$route.query.id ? this.$route.query.id : 0;
  88. var sign = this.$route.query.sign ? this.$route.query.sign : "";
  89. this.id = id;
  90. this.sign = sign;
  91. if (id != 0 && sign != "") {
  92. this.getDetail();
  93. }
  94. },
  95. methods: {
  96. async getDetail() {
  97. let res = await this.$axios.$post('/uapi/cert/invite_comment', {
  98. id: this.id,
  99. sign: this.sign
  100. });
  101. if (res.status === 1) {
  102. this.info = res.data.info;
  103. }
  104. },
  105. async submitData() {
  106. var data = JSON.stringify(this.info);
  107. let res = await this.$axios.$post('/uapi/cert/dev_comment_add', {
  108. id: this.id,
  109. sign: this.sign,
  110. data: data
  111. });
  112. if (res.status === 1) {
  113. this.$message.success('操作成功!')
  114. }
  115. },
  116. }
  117. }
  118. </script>
  119. <style lang="scss">
  120. @import "@/assets/css/consult/create.scss";
  121. .comment-main{
  122. background-color: white;
  123. margin:20px auto 30px;
  124. overflow: hidden;
  125. }
  126. .comment-main{
  127. .el-select {
  128. width: 100%;
  129. // max-width: 925px;
  130. .el-input{
  131. width: 100%;
  132. }
  133. }
  134. }
  135. .comment-mobile{
  136. width:100%;
  137. overflow: hidden;
  138. .title{
  139. word-break: break-all;
  140. line-height: 1.5;
  141. margin-bottom: 20px;
  142. }
  143. .el-radio__label{
  144. word-break: break-all;
  145. }
  146. .label-tips{
  147. max-width: 100%;
  148. width: 100%;
  149. display: block;
  150. word-break: break-all;
  151. }
  152. .el-radio{
  153. display: block;
  154. overflow: hidden;
  155. .el-radio__input{
  156. float: left;
  157. }
  158. .el-radio__label{
  159. margin-left: 16px;
  160. display: block;
  161. white-space: normal;
  162. line-height: 1.5;
  163. position: relative;
  164. top: -3px;
  165. }
  166. }
  167. }
  168. .common-upload {
  169. display: flex;
  170. align-items: end;
  171. .look-img {
  172. margin-left: 14px;
  173. .text {
  174. font-size: 14px;
  175. font-family: PingFangSC, PingFangSC-Medium;
  176. font-weight: 500;
  177. color: #308eff;
  178. cursor: pointer;
  179. }
  180. .text-hover:hover {
  181. position: relative;
  182. .img {
  183. display: block;
  184. }
  185. }
  186. .img {
  187. background: #fff;
  188. border: 1px solid #e0e5ed;
  189. box-shadow: 0px 2px 20px 0px rgba(22, 40, 63, 0.15);
  190. border-radius: 10px;
  191. text-align: center;
  192. position: relative;
  193. position: absolute;
  194. top: -120px;
  195. left: 0;
  196. width: 300px;
  197. height: 120px;
  198. display: none;
  199. transition: all ease .3s;
  200. .active-img2 {
  201. width: 234px;
  202. height: 71px;
  203. background-size: cover;
  204. overflow: hidden;
  205. margin-top: 24px;
  206. }
  207. .active-img1 {
  208. width: 262px;
  209. height: 78px;
  210. background-size: cover;
  211. overflow: hidden;
  212. margin-top: 22px;
  213. }
  214. }
  215. .img:after {
  216. content: '';
  217. width: 0;
  218. height: 0;
  219. border-right: 10px solid transparent;
  220. border-bottom: 10px solid transparent;
  221. border-top: 10px solid #e0e5ed;
  222. border-left: 10px solid transparent;
  223. position: absolute;
  224. left: 24px;
  225. bottom: -20px;
  226. }
  227. .img:before {
  228. content: '';
  229. width: 0;
  230. height: 0;
  231. border-right: 9px solid transparent;
  232. border-bottom: 9px solid transparent;
  233. border-top: 9px solid #fff;
  234. border-left: 9px solid transparent;
  235. position: absolute;
  236. left: 25px;
  237. bottom: -18px;
  238. z-index: 1;
  239. }
  240. }
  241. }
  242. </style>