release.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <template>
  2. <ele-modal :visible.sync="visible" v-if="visible" title="发布" width="800px" append-to-body :close-on-click-modal="false">
  3. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  4. <el-row>
  5. <el-col :span="20">
  6. <el-form-item label=" 图纸附件:" prop="technicalDrawings">
  7. <fileUpload v-model="form.technicalDrawings" module="main" :showLib="false" :limit="5" />
  8. <div v-if="form.technicalDrawings && form.technicalDrawings?.length">
  9. <el-link v-for="link in form.technicalDrawings" :key="link.id" type="primary" :underline="false"
  10. @click="downloadFile(link)">
  11. {{ link.name }}</el-link>
  12. </div>
  13. </el-form-item>
  14. </el-col>
  15. <el-col :span="20">
  16. <el-form-item label=" 附件:" prop="files">
  17. <fileUpload v-model="form.files" module="main" :showLib="false" :limit="5" />
  18. <div v-if="form.files && form.files?.length">
  19. <el-link v-for="link in form.files" :key="link.id" type="primary" :underline="false"
  20. @click="downloadFile(link)">
  21. {{ link.name }}</el-link>
  22. </div>
  23. </el-form-item>
  24. </el-col>
  25. <el-col :span="20">
  26. <el-form-item label="分批到货:" prop="">
  27. <el-link type="primary" :underline="false" @click.native="handleMethod">
  28. 设置分批时间
  29. </el-link>
  30. </el-form-item>
  31. </el-col>
  32. </el-row>
  33. </el-form>
  34. <template v-slot:footer>
  35. <el-button @click="close">取消</el-button>
  36. <el-button type="primary" :loading="loading" @click="save">
  37. 发布
  38. </el-button>
  39. </template>
  40. <timeDialog ref="timeDialogRef" @chooseTime="chooseTime"></timeDialog>
  41. </ele-modal>
  42. </template>
  43. <script>
  44. import { release } from '@/api/outsourcing/index.js';
  45. import fileUpload from '@/components/upload/fileUpload';
  46. import { getFile } from "@/api/system/file";
  47. import timeDialog from './timeDialog'
  48. export default {
  49. components: {
  50. fileUpload,
  51. timeDialog
  52. },
  53. data() {
  54. return {
  55. visible: false,
  56. rowObj: {},
  57. form: {},
  58. rules: {},
  59. loading: false
  60. }
  61. },
  62. methods: {
  63. downloadFile(file) {
  64. getFile({ objectName: file.storePath }, file.name);
  65. },
  66. open(row) {
  67. this.visible = true
  68. this.rowObj = row
  69. },
  70. close() {
  71. this.visible = false
  72. },
  73. handleMethod() {
  74. this.$refs.timeDialogRef.open(this.rowObj)
  75. },
  76. chooseTime(timeList) {
  77. if (timeList.length > 0) {
  78. this.form.timeList = timeList
  79. this.form.deliveryMethod = 2
  80. } else {
  81. this.form.timeList = []
  82. this.form.deliveryMethod = 1
  83. }
  84. },
  85. save() {
  86. this.form.id = this.rowObj.id
  87. this.form['type'] = this.rowObj['type']
  88. release(this.form).then(res => {
  89. this.$emit('refresh')
  90. this.close()
  91. })
  92. },
  93. }
  94. }
  95. </script>
  96. <style></style>