Selaa lähdekoodia

bugfix:研发任务详情页面附件没有验证空值

liqianyi 22 tuntia sitten
vanhempi
commit
b54057fc80
1 muutettua tiedostoa jossa 68 lisäystä ja 134 poistoa
  1. 68 134
      src/views/modules/tech/project-product-detail.vue

+ 68 - 134
src/views/modules/tech/project-product-detail.vue

@@ -1,163 +1,95 @@
 <template>
   <div>
     <div class="my-title">查看</div>
-    <el-form
-      :model="dataForm"
-      :rules="dataRule"
-      ref="dataForm"
-      label-width="auto"
-    >
+    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="auto">
       <el-row class="my-row">
         <el-col :span="6">
           <el-form-item label="项目名称:" prop="projectName">
-            <span>{{dataForm.projectName}}</span>
+            <span>{{ dataForm.projectName }}</span>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="任务号:" prop="orderCode">
-            <span>{{dataForm.orderCode}}</span>
+            <span>{{ dataForm.orderCode }}</span>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="技术协议:" prop="attachList1">
-            <span class="attch-file" @click="attachDetail(dataForm.attachList1)">{{dataForm.attachList1 == null ? '' : dataForm.attachList1[0].fileName}}</span>
+            <span class="attch-file" @click="attachDetail(dataForm.attachList1)">
+              {{
+                dataForm.attachList1 && Array.isArray(dataForm.attachList1) && dataForm.attachList1.length > 0 &&
+                  dataForm.attachList1[0] && dataForm.attachList1[0].fileName
+                  ? dataForm.attachList1[0].fileName
+                  : ''
+              }}
+            </span>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="资料:" prop="attachList2">
-            <span class="attch-file" @click="attachDetail(dataForm.attachList2)">{{dataForm.attachList2 == null ? '' : dataForm.attachList2[0].fileName}}</span>
+            <span class="attch-file" @click="attachDetail(dataForm.attachList2)">
+              {{
+                dataForm.attachList2 && Array.isArray(dataForm.attachList2) && dataForm.attachList2.length > 0 &&
+                  dataForm.attachList2[0] && dataForm.attachList2[0].fileName
+                  ? dataForm.attachList2[0].fileName
+                  : ''
+              }}
+            </span>
           </el-form-item>
         </el-col>
       </el-row>
 
-      <el-table
-        :data="dataForm.proProductList"
-        border
-        v-loading="dataListLoading"
-        style="width: 100%;">
-        <el-table-column
-          label="序号"
-          type="index"
-          width="100"
-          align="center">
+      <el-table :data="dataForm.proProductList" border v-loading="dataListLoading" style="width: 100%;">
+        <el-table-column label="序号" type="index" width="100" align="center">
         </el-table-column>
-        <el-table-column
-          prop="productName"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="名称">
+        <el-table-column prop="productName" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="名称">
         </el-table-column>
-        <el-table-column
-          prop="mapNumber"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="图号">
+        <el-table-column prop="mapNumber" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="图号">
         </el-table-column>
-        <el-table-column
-          prop="versionNumber"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="版本号">
+        <el-table-column prop="versionNumber" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="版本号">
         </el-table-column>
-        <el-table-column
-          prop="attachList2"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="简图">
+        <el-table-column prop="attachList2" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="简图">
           <template slot-scope="scope">
-            <el-button :disabled="!scope.row.attachList2 || scope.row.attachList2.length === 0" type="text" size="small" @click="attachDetail(scope.row.attachList2)">查看</el-button>
+            <el-button :disabled="!scope.row.attachList2 || scope.row.attachList2.length === 0" type="text" size="small"
+              @click="attachDetail(scope.row.attachList2)">查看</el-button>
           </template>
         </el-table-column>
-        <el-table-column
-          prop="productSpec"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="规格">
+        <el-table-column prop="productSpec" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="规格">
         </el-table-column>
-        <el-table-column
-          prop="cnt"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="数量">
+        <el-table-column prop="cnt" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="数量">
         </el-table-column>
-        <el-table-column
-          prop="unit"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="单位">
+        <el-table-column prop="unit" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="单位">
         </el-table-column>
-        <el-table-column
-          prop="materials"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="材料">
+        <el-table-column prop="materials" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="材料">
         </el-table-column>
-        <el-table-column
-          prop="size"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="净尺寸">
+        <el-table-column prop="size" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="净尺寸">
         </el-table-column>
-        <el-table-column
-          prop="surfaceTreatment"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="表处理">
+        <el-table-column prop="surfaceTreatment" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="表处理">
         </el-table-column>
-        <el-table-column
-          prop="heatTreatment"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="热处理">
+        <el-table-column prop="heatTreatment" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="热处理">
         </el-table-column>
-        <el-table-column
-          prop="importance"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="关重性">
+        <el-table-column prop="importance" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="关重性">
         </el-table-column>
-        <el-table-column
-          prop="appraisal"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="是否首件鉴定">
+        <el-table-column prop="appraisal" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="是否首件鉴定">
           <template slot-scope="scope">
-            {{scope.row.appraisal === 2 ? '是' : '否'}}
+            {{ scope.row.appraisal === 2 ? '是' : '否' }}
           </template>
         </el-table-column>
-        <el-table-column
-          prop="notes"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-tooltip-when-overflow="true"
-          label="备注">
+        <el-table-column prop="notes" header-align="center" align="center" min-width="140"
+          :show-tooltip-when-overflow="true" label="备注">
         </el-table-column>
       </el-table>
     </el-form>
@@ -171,7 +103,7 @@
       > -->
     </span>
 
-    <attach-detail-dialog ref="attachDetail"/>
+    <attach-detail-dialog ref="attachDetail" />
   </div>
 </template>
 
@@ -182,7 +114,7 @@ export default {
   name: 'project-product-detail',
   components: { UserComponent, AttachDetailDialog },
   computed: {},
-  data () {
+  data() {
     return {
       visible: false,
       id: 0,
@@ -194,19 +126,19 @@ export default {
       dataListLoading: false
     }
   },
-  created () {},
-  beforeDestroy () {},
+  created() { },
+  beforeDestroy() { },
   methods: {
-    onChose () {
+    onChose() {
       this.$emit('onChose')
     },
-    async init (item) {
+    async init(item) {
       let id = item.productTechnologyId
 
       this.$http({
         url: this.$http.adornUrl(`/biz-service/projProduct/info/${id}`),
         method: 'get'
-      }).then(({data}) => {
+      }).then(({ data }) => {
         if (data && data.code === '200') {
           this.dataForm = data.data
         } else {
@@ -216,20 +148,20 @@ export default {
 
       this.dataForm = item
 
-      this.dataList = [{disposal: '', isTechnology: ''}]
+      this.dataList = [{ disposal: '', isTechnology: '' }]
 
       this.visible = true
     },
-    validateField (type) {
+    validateField(type) {
       this.$refs.dataForm.validateField(type)
     },
-    attachDetail (attachList) {
+    attachDetail(attachList) {
       this.$nextTick(() => {
         this.$refs.attachDetail.init(attachList)
       })
     },
     // 表单提交
-    dataFormSubmit () {
+    dataFormSubmit() {
       this.$refs['dataForm'].validate((valid) => {
         if (valid) {
           this.$http({
@@ -257,7 +189,7 @@ export default {
         }
       })
     },
-    selectChange (val) {
+    selectChange(val) {
       this.dataForm.responsibilityPerson = val
     }
   }
@@ -273,11 +205,13 @@ export default {
   display: flex;
   align-items: flex-start;
   flex-direction: column;
-  gap: 10px 15px; /* 行列间距控制 */
+  gap: 10px 15px;
+  /* 行列间距控制 */
 }
 
 .radio-group-wrap :deep(.el-radio) {
-  margin-left: 0; /* 清除横向间距 */
+  margin-left: 0;
+  /* 清除横向间距 */
 }
 
 .attch-file {