ソースを参照

BOM清单-变更

yuanchengman 1 年間 前
コミット
48413a1d93

+ 1 - 29
src/views/modules/common/upload-component-v2.vue

@@ -154,38 +154,10 @@ export default {
     // 上传
     submitUpload () {
       this.$refs.upload.submit()
-      // // 判断是否有文件
-      // if (this.fileList.length === 0) {
-      //   return this.$message.warning("请选取文件后再上传");
-      // }
-      // // 判断是否有重复文件
-      // let arr1 = this.fileList.map((i) => i.name);
-      // let arr2 = [...new Set(arr1)];
-      // if (arr1.length !== arr2.length) {
-      //   return this.$message.warning("请去掉重复文件后再上传");
-      // }
-      // // 开始上传
-      // const formData = new FormData();
-      // this.fileList.forEach((file) => {
-      //   formData.append("file", file.raw);
-      // });
-      // uploadFiles(formData).then(({ data }) => {
-      //   if (data && data.code === "200") {
-      //     data.data.forEach((item) => {
-      //       let fileData = this.fileList.find(
-      //         (file) => file.name === item.originFileName
-      //       );
-      //       fileData.url = item.fileUrl;
-      //     });
-      //     this.$message.success("上传成功");
-      //   } else {
-      //     this.$message.error("上传失败");
-      //   }
-      // });
     },
     // 移除
     handleRemove (file, fileList) {
-      this.fileList = fileList
+      this.$emit('input', fileList)
     },
     // 预览
     handlePreview (file) {

+ 5 - 62
src/views/modules/tech/product-add-or-update.vue

@@ -98,7 +98,7 @@
       </el-row>
       <el-row class="my-row">
         <el-col :span="8">
-          <el-form-item label="图" prop="attachList2">
+          <el-form-item label="图" prop="attachList2">
             <upload-component :accept="'.jpg,.jpeg,.png'" v-model="dataForm.attachList2" />
           </el-form-item>
         </el-col>
@@ -227,7 +227,7 @@ export default {
         cnt: [{ required: true, message: '请输入单套数量', trigger: 'blur' }],
         mapNumber: [{ required: true, message: '请输入主图号', trigger: 'blur' }],
         attachList: [{ required: true, message: '请上传技术资料附件', trigger: 'blur' }],
-        attachList2: [{ required: true, message: '请上传图', trigger: 'blur' }]
+        attachList2: [{ required: true, message: '请上传图', trigger: 'blur' }]
       },
       stepList: [],
       logList: []
@@ -278,26 +278,7 @@ export default {
             })
             this.dataForm.drawingIdList = idList
           }
-          // 附件
-          if (data.data.attachList) {
-            data.data.attachList.forEach((item) => {
-              this.fileList.push({
-                name: item.fileName,
-                url: item.url,
-                id: item.url
-              })
-            })
-          }
-          // 产品配料清单附件
-          if (data.data.listingList) {
-            data.data.listingList.forEach((item) => {
-              this.listingList.push({
-                name: item.fileName,
-                url: item.url,
-                id: item.url
-              })
-            })
-          }
+
           // 流程图展示
           if (data.data.workFlowBusinessExt) {
             dealStepData(data.data.workFlowBusinessExt.workFlowProcessStepList, this.stepList)
@@ -313,44 +294,9 @@ export default {
             })
             this.displayProductList = true
           }
-          // // 产品配料清单
-          // data.data.productMaterialList.forEach((item) => {
-          //   this.materialList.push(item)
-          // })
-          // 产品来源
-          if (data.data.source) {
-            this.optionsSource = [{
-              code: data.data.source,
-              value: data.data.sourceName
-            }]
-          }
-          // 产品工艺
-          if (data.data.techId) {
-            this.optionsTech = [{
-              code: data.data.techId,
-              value: data.data.techName
-            }]
-          }
+
           // 产品图纸
-          if (data.data.proDrawings) {
-            this.dataForm.drawingIdList = []
-            data.data.proDrawings.forEach((item) => {
-              if (item.attachList) {
-                item.attachList.forEach((item1) => {
-                  this.fileList.push({
-                    name: item1.fileName,
-                    url: item1.url,
-                    id: item1.url
-                  })
-                })
-              }
-              // this.optionsDraw.push({
-              //   code: item.drawingId,
-              //   value: item.drawingName
-              // })
-              this.dataForm.drawingIdList.push(item.drawingId)
-            })
-          }
+          this.drawingList = data.data.proDrawings
         }
       })
     },
@@ -447,9 +393,6 @@ export default {
         }
       })
     },
-    receiverChange (val) {
-      this.dataForm.drawingIdList = val
-    },
     docSelectChange (val) {
       // console.log(val)
       this.dataForm.docIdList = val

+ 10 - 30
src/views/modules/tech/product-change.vue

@@ -9,7 +9,9 @@
           </el-form-item>
         </el-row>
         <el-row class="my-row">
-          <upload-component :title="'产品变更通知单'" :accept="'*'" :file-obj-list="fileList" @uploadSuccess="uploadSuccess"/>
+          <el-form-item label="产品变更通知单" prop="attachList">
+            <upload-component :accept="'*'" v-model="dataForm.attachList"/>
+          </el-form-item>
         </el-row>
       </el-form>
         <span slot="footer" class="dialog-footer">
@@ -21,7 +23,7 @@
 
 <script>
   import UserComponents from '../common/user-components'
-  import UploadComponent from '../common/upload-component'
+  import UploadComponent from '../common/upload-component-v2'
   import { getProductDetail } from '@/api/product'
 
 export default {
@@ -39,12 +41,13 @@ export default {
       return {
         visible: false,
         dataForm: {
-          description: ''
+          description: '',
+          attachList: []
         },
         id: 0,
-        fileList: [],
         dataRule: {
-          description: [{ required: true, message: '更改内容简述不能为空', trigger: 'blur' }]
+          description: [{ required: true, message: '请输入内容简述', trigger: 'blur' }],
+          attachList: [{ required: true, message: '请选择文件', trigger: 'change' }]
         }
       }
     },
@@ -53,23 +56,14 @@ export default {
         this.$emit('onChose')
       },
       async init (id) {
-        this.fileList = []
         this.visible = true
         this.id = id || 0
         if (!id) return
         this.dataForm.bizId = id
         await getProductDetail(id).then(({data}) => {
           if (data && data.code === '200' && data.data) {
-            this.dataForm = data.data.noticeChangeRecord
-            if (data.data.noticeChangeRecord && data.data.noticeChangeRecord.attachList) {
-              data.data.noticeChangeRecord.attachList.forEach((item) => {
-                this.fileList.push({
-                  name: item.fileName,
-                  url: item.url,
-                  id: item.url
-                })
-              })
-            }
+            this.dataForm = data.data.noticeChangeRecord || {}
+            this.dataForm.bizId = data.data.productId
           } else {
             this.$message.error(data.msg)
           }
@@ -80,20 +74,6 @@ export default {
       },
       // 表单提交
       dataFormSubmit () {
-        // 产品技术文件
-        let fList = this.fileList
-        if (fList.length > 0) {
-          this.dataForm.attachList = []
-          for (let i = 0; i < fList.length; i++) {
-            this.dataForm.attachList.push({
-              fileName: fList[i].name,
-              url: fList[i].url
-            })
-          }
-        } else {
-          this.$message.error('请上传文件')
-          return
-        }
         this.$refs['dataForm'].validate((valid) => {
           if (valid) {
             this.$http({

+ 71 - 9
src/views/modules/tech/product-detail.vue

@@ -29,12 +29,23 @@
         <approve-component ref="approve" @approveFinished="approveFinished"/>
       </div>
       <e-desc title="基本信息" column="3">
-        <e-desc-item label="产品名称">{{dataForm.productName}}</e-desc-item>
-        <e-desc-item label="产品规格">{{dataForm.productSpec}}</e-desc-item>
-        <e-desc-item label="产品类别">{{dataForm.productTypeValue}}</e-desc-item>
+        <e-desc-item label="物料名称">{{dataForm.productName}}</e-desc-item>
+        <e-desc-item label="物料规格">{{dataForm.productSpec}}</e-desc-item>
+        <e-desc-item label="物料类别">{{dataForm.productTypeValue}}</e-desc-item>
 
-        <e-desc-item label="产品来源">{{dataForm.sourceName}}</e-desc-item>
-        <e-desc-item v-if="dataForm.noticeChangeRecord" label="产品变更描述">{{dataForm.noticeChangeRecord?dataForm.noticeChangeRecord.description:''}}</e-desc-item>
+        <e-desc-item label="材料">{{dataForm.materials}}</e-desc-item>
+        <e-desc-item label="物料尺寸">{{dataForm.size}}</e-desc-item>
+        <e-desc-item label="展开尺寸">{{dataForm.developedSize}}</e-desc-item>
+
+        <e-desc-item label="单位">{{dataForm.unit}}</e-desc-item>
+        <e-desc-item label="单套数量">{{dataForm.cnt}}</e-desc-item>
+        <e-desc-item label="主图号">{{dataForm.mapNumber}}</e-desc-item>
+
+        <e-desc-item label="表面处理" span="3">{{dataForm.surfaceTreatment}}</e-desc-item>
+
+        <e-desc-item label="备注" span="3">{{dataForm.notes}}</e-desc-item>
+
+        <!-- <e-desc-item v-if="dataForm.noticeChangeRecord" label="物料变更描述">{{dataForm.noticeChangeRecord?dataForm.noticeChangeRecord.description:''}}</e-desc-item>
 
         <e-desc-item v-if="dataForm.noticeChangeRecord && dataForm.noticeChangeRecord.attachList" label="变更通知单" span="3">
           <div v-for="(item, index) in dataForm.noticeChangeRecord.attachList" style="display: inline">
@@ -69,9 +80,60 @@
             <span v-if="index > 0">,</span>
             <a :key="item.fileName + index" type="primary" href="#" @click="previewFile(item.fileName, item.url)">{{ item.fileName }}</a>
           </div>
-        </e-desc-item>
-
-        <e-desc-item label="备注说明" span="2" style="min-height: 80px">{{dataForm.notes}}</e-desc-item>
+        </e-desc-item> -->
+      </e-desc>
+      <e-desc title="简图">
+        <upload-component
+          :display="true"
+          :display-title="false"
+          :accept="'*'"
+          :value="dataForm.attachList2"
+        />
+      </e-desc>
+      <e-desc title="技术资料附件">
+        <upload-component
+          :display="true"
+          :display-title="false"
+          :accept="'*'"
+          :value="dataForm.attachList"
+        />
+      </e-desc>
+      <e-desc title="关联图纸">
+        <el-table
+          :data="dataForm.proDrawings"
+          border
+          style="width: 100%;">
+          <el-table-column
+            label="序号"
+            type="index"
+            width="50"
+            align="center">
+          </el-table-column>
+          <el-table-column
+            prop="drawingName"
+            header-align="center"
+            align="center"
+            label="图纸名称">
+          </el-table-column>
+          <el-table-column
+            prop="drawingNo"
+            header-align="center"
+            align="center"
+            label="图号">
+          </el-table-column>
+          <el-table-column
+            prop="source"
+            header-align="center"
+            align="center"
+            label="来源">
+          </el-table-column>
+          <el-table-column
+            prop="notes"
+            header-align="center"
+            align="center"
+            label="备注">
+          </el-table-column>
+        </el-table>
       </e-desc>
       <e-desc title="组合小产品">
         <el-table
@@ -172,7 +234,7 @@
   import EDesc from '../common/e-desc'
   import EDescItem from '../common/e-desc-item'
   import { dealStepData, dealStepLogs } from '@/api/util'
-  import uploadComponent from '../common/upload-component'
+  import uploadComponent from '../common/upload-component-v2'
   import { getProductDetail } from '@/api/product'
   import ApproveComponent from '../common/approve-component'
   import PreviewComponent from '../common/preview-component'