invite.vue 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <template>
  2. <u-popup :show="value" @close="close()" round="15" mode="center" :closeable="true" :mask-close-able="true" :customStyle="{ width: '90%' }">
  3. <view class="ppopup">
  4. <u-divider text="发送面试邀请" style="margin-top: 25px"></u-divider>
  5. <view class="form_group">
  6. <picker :disabled="true" @click="show = true">
  7. <input placeholder="请选择面试时间" v-model="item.inviteTime" :disabled="true" />
  8. <view class="icon more">&#xe62b;</view>
  9. </picker>
  10. </view>
  11. <button class="btn" @click="confirm()">确认</button>
  12. <u-datetime-picker :show="show" :closeOnClickOverlay="true" :minDate="Number(new Date())" @close="show = false" @cancel="show = false" @confirm="ok"></u-datetime-picker>
  13. </view>
  14. </u-popup>
  15. </template>
  16. <script>
  17. export default {
  18. props: {
  19. value: {
  20. type: Boolean,
  21. default: true
  22. },
  23. resumeDeliverId: {
  24. type: Number
  25. }
  26. },
  27. data() {
  28. return {
  29. show: false,
  30. item: {}
  31. };
  32. },
  33. methods: {
  34. ok(e) {
  35. this.show = false;
  36. this.item.inviteTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM');
  37. },
  38. confirm() {
  39. let rule = [{ name: 'inviteTime', checkType: 'notnull', errorMsg: '请选择面试时间' }];
  40. if (!this.verify.check(this.item, rule)) {
  41. uni.showModal({ content: this.verify.error, showCancel: false });
  42. return false;
  43. }
  44. uni.showModal({
  45. title: '提示',
  46. content: '确定发送面试邀请',
  47. success: (res) => {
  48. if (res.confirm) {
  49. this.item.id = this.resumeDeliverId;
  50. this.http.request({
  51. url: '/app/deliver/invite',
  52. data: this.item,
  53. method: 'POST',
  54. success: (res) => {
  55. uni.showToast({ title: '发送成功' });
  56. this.$emit('confirm');
  57. this.$emit('input', false);
  58. }
  59. });
  60. }
  61. }
  62. });
  63. },
  64. close() {
  65. this.$emit('input', false);
  66. }
  67. }
  68. };
  69. </script>
  70. <style lang="scss">
  71. .ppopup {
  72. padding: 20px;
  73. }
  74. </style>