You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
3.8 KiB

2 months ago
  1. <template>
  2. <div class="customer-css">
  3. <el-dialog :title="pageData.titleCon" :close-on-click-modal="false" :visible.sync="visible" width="390px" style="height: 520px;" class="customer-dialog">
  4. <el-form :inline="true" label-position="top" label-width="80px">
  5. <el-row>
  6. <el-col :span="12">
  7. <el-form-item class="customer-item" label="物料编码">
  8. <el-input v-model="pageData.partNo" style="width: 120px;" disabled></el-input>
  9. </el-form-item>
  10. </el-col>
  11. <el-col :span="12">
  12. <el-form-item label="检验类型">
  13. <el-select v-model="pageData.inspectionTypeNo" placeholder="请选择">
  14. <el-option
  15. v-for="i in pageData.options"
  16. :key="i.inspectionTypeNo"
  17. :label="i.inspectionTypeName"
  18. :value="i.inspectionTypeNo">
  19. </el-option>
  20. </el-select>
  21. </el-form-item>
  22. </el-col>
  23. </el-row>
  24. <el-row>
  25. <el-col :span="24">
  26. <el-upload
  27. class="customer-upload"
  28. drag
  29. multiple
  30. :file-list="fileList"
  31. action="javascript:void(0);"
  32. ref="uploadFile"
  33. :before-upload="beforeUploadHandle"
  34. :on-change="onChange"
  35. accept="*"
  36. :auto-upload="false"
  37. style="text-align: left;">
  38. <i class="el-icon-upload"></i>
  39. <div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
  40. </el-upload>
  41. </el-col>
  42. </el-row>
  43. </el-form>
  44. <span slot="footer" class="dialog-footer">
  45. <el-button type="primary" @click="saveUploadFile">保存</el-button>
  46. <el-button type="primary" @click="closeDialog">关闭</el-button>
  47. </span>
  48. </el-dialog>
  49. </div>
  50. </template>
  51. <script>
  52. import { uploadSopFile } from "@/api/qc/dmBasic.js";
  53. export default {
  54. name: "DmSopUploadFile",
  55. data() {
  56. return {
  57. visible: false,
  58. fileList: [],
  59. pageData: {
  60. titleCon: "",
  61. site: "",
  62. buNo: "",
  63. createBy: "",
  64. partNo: "",
  65. inspectionTypeNo: "",
  66. options: []
  67. },
  68. };
  69. },
  70. methods: {
  71. init(currentRow) {
  72. this.pageData = JSON.parse(JSON.stringify(currentRow));
  73. this.visible = true;
  74. },
  75. beforeUploadHandle() {},
  76. onChange(file, fileList) {
  77. this.fileList = fileList;
  78. },
  79. closeDialog() {
  80. this.fileList = [];
  81. this.$refs.uploadFile.clearFiles();
  82. this.$emit("refreshPageTables");
  83. this.visible = false;
  84. },
  85. saveUploadFile() {
  86. if (this.fileList == null || this.fileList.length === 0) {
  87. this.$message.error("请先上传文件!");
  88. return false;
  89. }
  90. if (this.pageData.inspectionTypeNo === null || this.pageData.inspectionTypeNo === "") {
  91. this.$message.error("请选择检验类型!");
  92. return false;
  93. }
  94. const formData = new FormData();
  95. for (let i = 0; i < this.fileList.length; i++) {
  96. formData.append("file", this.fileList[i].raw);
  97. }
  98. formData.append("orderRef1", this.pageData.site);
  99. formData.append("orderRef2", this.pageData.partNo);
  100. formData.append("orderRef3", this.pageData.inspectionTypeNo);
  101. formData.append("createBy", this.pageData.createBy);
  102. formData.append("orderRef4", this.pageData.buNo);
  103. uploadSopFile(formData).then(({ data }) => {
  104. if (data.code === 0) {
  105. this.$message.success(data.msg);
  106. this.$refs.uploadFile.clearFiles();
  107. this.fileList = [];
  108. } else {
  109. this.$message.warning(data.msg);
  110. }
  111. });
  112. }
  113. }
  114. };
  115. </script>
  116. <style scoped lang="scss">
  117. </style>