addAchievementCertificate.vue 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <!-- 录入成绩和证书 -->
  2. <template>
  3. <view class="achievement" id="achievement">
  4. <u-form :model="form" ref="uForm" class="achievement-form">
  5. <u-form-item label="考试名称:" label-position="top" :required="true">
  6. <u-input v-model="form.teamName" placeholder="请输入内容" />
  7. </u-form-item>
  8. <u-form-item label="成绩:" label-position="top" :required="true">
  9. <view class="achievement-form-result">
  10. <u-form-item label="得分" label-width="70" class="item" :border-bottom="false">
  11. <u-input v-model="form.score" border type="number" placeholder="得分" />
  12. </u-form-item>
  13. <u-form-item label="满分" label-width="70" class="item" :border-bottom="false">
  14. <u-input v-model="form.fullScore" border type="number" placeholder="满分" />
  15. </u-form-item>
  16. </view>
  17. </u-form-item>
  18. <u-form-item label="通过日期:" label-position="top" :required="true">
  19. <u-input v-model="form.passedDate" placeholder="选择通过日期" type="select" @click="dateShow = true" border />
  20. </u-form-item>
  21. <u-form-item label="上传证书:" label-position="top" :border-bottom="false">
  22. <u-form-item label="证书名称" label-width="140" :border-bottom="false">
  23. <u-input v-model="form.certName" placeholder="请输入内容" border />
  24. </u-form-item>
  25. <u-form-item label="证书相片" label-width="140" :border-bottom="false">
  26. <u-upload :action="upload.action" :custom-btn="true" :limitType="['png', 'jpg']" :max-count="2" @on-success="uploadSuccess" @on-remove="uploadRemove">
  27. <view class="upload-button" slot="addBtn">
  28. <view class="upload-button-icon">
  29. <u-image src="../../../static/img/upload-add.png" mode="aspectFill" width="62"
  30. height="64" />
  31. </view>
  32. <view>上传相片</view>
  33. </view>
  34. </u-upload>
  35. <view class="tips">支持jpg.png格式</view>
  36. </u-form-item>
  37. </u-form-item>
  38. </u-form>
  39. <view class="achievement-submit">提交</view>
  40. <u-calendar v-model="dateShow" mode="date" @change="dateChange"></u-calendar>
  41. <u-toast ref="uToast" />
  42. </view>
  43. </template>
  44. <script>
  45. export default {
  46. data() {
  47. return {
  48. form: {
  49. teamName: '',
  50. score: '',
  51. fullScore: '',
  52. passedDate: '',
  53. certName: '',
  54. picList: []
  55. },
  56. dateShow: false,
  57. upload: {
  58. action: this.config.uploadUrl
  59. }
  60. }
  61. },
  62. methods: {
  63. /**
  64. * 日历选择器选中触发
  65. * @param {Object} e
  66. */
  67. dateChange(e) {
  68. this.form.passedDate = e.result;
  69. },
  70. /**
  71. * 图片上传成功触发
  72. * @param {Object} res
  73. */
  74. uploadSuccess(res) {
  75. if (res.code === 200) {
  76. this.form.picList.push(res.data.url)
  77. } else {
  78. this.$refs.uToast.show({
  79. title: res.msg,
  80. type: 'error'
  81. })
  82. }
  83. },
  84. /**
  85. * 移除图片下标
  86. * @param {Object} index
  87. */
  88. uploadRemove(index) {
  89. this.form.picList.splice(index, 1)
  90. }
  91. }
  92. }
  93. </script>
  94. <style lang="scss" scoped>
  95. @import './addAchievementCertificate.scss';
  96. </style>