dengrui 7 months ago
parent
commit
345e229c70

+ 5 - 1
src/components/Upload/FilesUpload.vue

@@ -10,7 +10,7 @@
     <el-button
       type="primary"
       :loading="loading"
-      :disabled="fileList.length >= limit"
+      :disabled="fileList.length >= limit || disabled"
       >点击上传文件</el-button
     >
     <template #tip>
@@ -65,6 +65,10 @@ const props = defineProps({
     type: String,
     default: "",
   },
+  disabled: {
+    type: Boolean,
+    default: false,
+  },
   srcList: {
     type: Array<string>,
     default: () => [],

+ 63 - 15
src/views/quality/feedback/components/process.vue

@@ -42,7 +42,7 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <div class="stage" v-if="userNameArray[0]">
+      <div class="stage" v-if="step > 0">
         <el-form-item
           label="不合格现象(质量问题)描述:"
           prop="remark1[content]"
@@ -52,13 +52,18 @@
             },
           ]"
         >
-          <el-input type="textarea" v-model="formData.remark2.content" />
+          <el-input
+            :disabled="step != 1"
+            type="textarea"
+            v-model="formData.remark2.content"
+          />
         </el-form-item>
         <el-row>
           <el-col :span="6">
             <el-form-item label="下部流向人员:">
               <el-select
                 v-model="formData.remark3.user3"
+                :disabled="step != 1"
                 filterable
                 placeholder="请选择人员"
                 value-key="id"
@@ -76,6 +81,7 @@
             <el-form-item label="日期" prop="reason">
               <el-date-picker
                 v-model="formData.remark2.time"
+                :disabled="step != 1"
                 type="date"
                 placeholder="Pick a day"
                 format="YYYY-MM-DD"
@@ -87,6 +93,7 @@
             <el-form-item label="审核结果:">
               <el-select
                 v-model="formData.remark2.state"
+                :disabled="step != 1"
                 filterable
                 placeholder="请选择结果"
               >
@@ -101,7 +108,7 @@
           </el-col>
         </el-row>
       </div>
-      <div class="stage" v-if="userNameArray[1]">
+      <div class="stage" v-if="step > 1">
         <el-form-item
           label="原因分析:"
           prop="remark1[content]"
@@ -111,13 +118,18 @@
             },
           ]"
         >
-          <el-input type="textarea" v-model="formData.remark3.content" />
+          <el-input
+            :disabled="step != 2"
+            type="textarea"
+            v-model="formData.remark3.content"
+          />
         </el-form-item>
         <el-row>
           <el-col :span="6">
             <el-form-item label="上传附件:">
               <FilesUpload
                 v-model:src-list="srcList"
+                :disabled="step != 2"
                 v-model:pdf-list="pdfUrlList"
                 v-model:file-name-list="fileNameList"
                 :generate-pdf="true"
@@ -131,6 +143,7 @@
             <el-form-item label="下部流向人员:">
               <el-select
                 v-model="formData.remark4.user4"
+                :disabled="step != 2"
                 filterable
                 placeholder="请选择人员"
                 value-key="id"
@@ -147,6 +160,7 @@
           <el-col :span="6">
             <el-form-item label="日期" prop="reason">
               <el-date-picker
+                :disabled="step != 2"
                 v-model="formData.remark3.time"
                 type="date"
                 placeholder="Pick a day"
@@ -158,6 +172,7 @@
           <el-col :span="6">
             <el-form-item label="审核结果:">
               <el-select
+                :disabled="step != 2"
                 v-model="formData.remark3.state"
                 filterable
                 placeholder="请选择结果"
@@ -173,7 +188,7 @@
           </el-col>
         </el-row>
       </div>
-      <div class="stage" v-if="userNameArray[2]">
+      <div class="stage" v-if="step > 2">
         <el-row>
           <el-col :span="8">
             <el-form-item
@@ -185,7 +200,10 @@
                 },
               ]"
             >
-              <el-radio-group v-model="formData.remark4.res">
+              <el-radio-group
+                :disabled="step != 3"
+                v-model="formData.remark4.res"
+              >
                 <el-radio value="0">否</el-radio>
                 <el-radio value="1">是</el-radio>
               </el-radio-group>
@@ -193,7 +211,10 @@
           </el-col>
           <el-col :span="8" v-if="formData.remark4.res == '1'">
             <el-form-item label="纠正措施通知单编号:">
-              <el-input v-model="formData.remark4.resNum" />
+              <el-input
+                :disabled="step != 3"
+                v-model="formData.remark4.resNum"
+              />
             </el-form-item>
           </el-col>
         </el-row>
@@ -206,7 +227,11 @@
             },
           ]"
         >
-          <el-input type="textarea" v-model="formData.remark4.content" />
+          <el-input
+            type="textarea"
+            :disabled="step != 3"
+            v-model="formData.remark4.content"
+          />
         </el-form-item>
         <el-row>
           <el-col :span="6">
@@ -214,6 +239,7 @@
               <FilesUpload
                 v-model:src-list="srcList1"
                 v-model:pdf-list="pdfUrlList1"
+                :disabled="step != 3"
                 v-model:file-name-list="fileNameList1"
                 :generate-pdf="true"
                 :limit="10"
@@ -226,6 +252,7 @@
             <el-form-item label="下部流向人员:">
               <el-select
                 v-model="formData.remark5.user5"
+                :disabled="step != 3"
                 filterable
                 placeholder="请选择人员"
                 value-key="id"
@@ -243,6 +270,7 @@
             <el-form-item label="日期" prop="reason">
               <el-date-picker
                 v-model="formData.remark4.time"
+                :disabled="step != 3"
                 type="date"
                 placeholder="Pick a day"
                 format="YYYY-MM-DD"
@@ -254,6 +282,7 @@
             <el-form-item label="审核结果:">
               <el-select
                 v-model="formData.remark4.state"
+                :disabled="step != 3"
                 filterable
                 placeholder="请选择结果"
               >
@@ -268,7 +297,7 @@
           </el-col>
         </el-row>
       </div>
-      <div class="stage" v-if="userNameArray[3]">
+      <div class="stage" v-if="step > 3">
         <el-form-item
           label="采取的措施:"
           prop="remark1[content]"
@@ -278,13 +307,18 @@
             },
           ]"
         >
-          <el-input type="textarea" v-model="formData.remark5.content" />
+          <el-input
+            :disabled="step != 4"
+            type="textarea"
+            v-model="formData.remark5.content"
+          />
         </el-form-item>
         <el-row>
           <el-col :span="6">
             <el-form-item label="上传附件:">
               <FilesUpload
                 v-model:src-list="srcList2"
+                :disabled="step != 4"
                 v-model:pdf-list="pdfUrlList2"
                 v-model:file-name-list="fileNameList2"
                 :generate-pdf="true"
@@ -301,6 +335,7 @@
                 filterable
                 placeholder="请选择人员"
                 value-key="id"
+                :disabled="step != 4"
               >
                 <el-option
                   v-for="item in userList"
@@ -314,6 +349,7 @@
           <el-col :span="6">
             <el-form-item label="日期" prop="reason">
               <el-date-picker
+                :disabled="step != 4"
                 v-model="formData.remark5.time"
                 type="date"
                 placeholder="Pick a day"
@@ -325,6 +361,7 @@
           <el-col :span="6">
             <el-form-item label="审核结果:">
               <el-select
+                :disabled="step != 4"
                 v-model="formData.remark5.state"
                 filterable
                 placeholder="请选择结果"
@@ -340,7 +377,7 @@
           </el-col>
         </el-row>
       </div>
-      <div class="stage" v-if="userNameArray[4]">
+      <div class="stage" v-if="step > 4">
         <el-form-item
           label="不合格品评审(审理)处置意见:"
           prop="remark1[content]"
@@ -350,7 +387,11 @@
             },
           ]"
         >
-          <el-input type="textarea" v-model="formData.remark6.content" />
+          <el-input
+            :disabled="step != 5"
+            type="textarea"
+            v-model="formData.remark6.content"
+          />
         </el-form-item>
         <el-row>
           <el-col :span="8">
@@ -373,6 +414,7 @@
           <el-col :span="8">
             <el-form-item label="日期" prop="reason">
               <el-date-picker
+                :disabled="step != 5"
                 v-model="formData.remark6.time"
                 type="date"
                 placeholder="Pick a day"
@@ -387,6 +429,7 @@
                 v-model="formData.remark6.state"
                 filterable
                 placeholder="请选择结果"
+                :disabled="step != 5"
               >
                 <el-option
                   v-for="item in stateOption"
@@ -399,7 +442,7 @@
           </el-col>
         </el-row>
       </div>
-      <div class="stage" v-if="userNameArray[5]">
+      <div class="stage" v-if="step > 5">
         <el-form-item
           label="组长(或分管领导)审批意见:"
           prop="remark1[content]"
@@ -409,7 +452,11 @@
             },
           ]"
         >
-          <el-input type="textarea" v-model="formData.remark7.content" />
+          <el-input
+            :disabled="step != 6"
+            type="textarea"
+            v-model="formData.remark7.content"
+          />
         </el-form-item>
         <el-row>
           <el-col :span="6" />
@@ -418,6 +465,7 @@
             <el-form-item label="日期" prop="reason">
               <el-date-picker
                 v-model="formData.remark7.time"
+                :disabled="step != 6"
                 type="date"
                 placeholder="Pick a day"
                 format="YYYY-MM-DD"
@@ -429,6 +477,7 @@
             <el-form-item label="审核结果:">
               <el-select
                 v-model="formData.remark7.state"
+                :disabled="step != 6"
                 filterable
                 placeholder="请选择结果"
               >
@@ -637,7 +686,6 @@ const setFormData = () => {
       delete formData.value.remark7[key];
     }
   }
-  console.log(formData.value);
 };
 
 const submit = async () => {

+ 63 - 15
src/views/quality/reject/components/process.vue

@@ -42,7 +42,7 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <div class="stage" v-if="userNameArray[0]">
+      <div class="stage" v-if="step > 0">
         <el-form-item
           label="不合格现象(质量问题)描述:"
           prop="remark1[content]"
@@ -52,13 +52,18 @@
             },
           ]"
         >
-          <el-input type="textarea" v-model="formData.remark2.content" />
+          <el-input
+            :disabled="step != 1"
+            type="textarea"
+            v-model="formData.remark2.content"
+          />
         </el-form-item>
         <el-row>
           <el-col :span="6">
             <el-form-item label="下部流向人员:">
               <el-select
                 v-model="formData.remark3.user3"
+                :disabled="step != 1"
                 filterable
                 placeholder="请选择人员"
                 value-key="id"
@@ -76,6 +81,7 @@
             <el-form-item label="日期" prop="reason">
               <el-date-picker
                 v-model="formData.remark2.time"
+                :disabled="step != 1"
                 type="date"
                 placeholder="Pick a day"
                 format="YYYY-MM-DD"
@@ -87,6 +93,7 @@
             <el-form-item label="审核结果:">
               <el-select
                 v-model="formData.remark2.state"
+                :disabled="step != 1"
                 filterable
                 placeholder="请选择结果"
               >
@@ -101,7 +108,7 @@
           </el-col>
         </el-row>
       </div>
-      <div class="stage" v-if="userNameArray[1]">
+      <div class="stage" v-if="step > 1">
         <el-form-item
           label="原因分析:"
           prop="remark1[content]"
@@ -111,13 +118,18 @@
             },
           ]"
         >
-          <el-input type="textarea" v-model="formData.remark3.content" />
+          <el-input
+            :disabled="step != 2"
+            type="textarea"
+            v-model="formData.remark3.content"
+          />
         </el-form-item>
         <el-row>
           <el-col :span="6">
             <el-form-item label="上传附件:">
               <FilesUpload
                 v-model:src-list="srcList"
+                :disabled="step != 2"
                 v-model:pdf-list="pdfUrlList"
                 v-model:file-name-list="fileNameList"
                 :generate-pdf="true"
@@ -131,6 +143,7 @@
             <el-form-item label="下部流向人员:">
               <el-select
                 v-model="formData.remark4.user4"
+                :disabled="step != 2"
                 filterable
                 placeholder="请选择人员"
                 value-key="id"
@@ -147,6 +160,7 @@
           <el-col :span="6">
             <el-form-item label="日期" prop="reason">
               <el-date-picker
+                :disabled="step != 2"
                 v-model="formData.remark3.time"
                 type="date"
                 placeholder="Pick a day"
@@ -158,6 +172,7 @@
           <el-col :span="6">
             <el-form-item label="审核结果:">
               <el-select
+                :disabled="step != 2"
                 v-model="formData.remark3.state"
                 filterable
                 placeholder="请选择结果"
@@ -173,7 +188,7 @@
           </el-col>
         </el-row>
       </div>
-      <div class="stage" v-if="userNameArray[2]">
+      <div class="stage" v-if="step > 2">
         <el-row>
           <el-col :span="8">
             <el-form-item
@@ -185,7 +200,10 @@
                 },
               ]"
             >
-              <el-radio-group v-model="formData.remark4.res">
+              <el-radio-group
+                :disabled="step != 3"
+                v-model="formData.remark4.res"
+              >
                 <el-radio value="0">否</el-radio>
                 <el-radio value="1">是</el-radio>
               </el-radio-group>
@@ -193,7 +211,10 @@
           </el-col>
           <el-col :span="8" v-if="formData.remark4.res == '1'">
             <el-form-item label="纠正措施通知单编号:">
-              <el-input v-model="formData.remark4.resNum" />
+              <el-input
+                :disabled="step != 3"
+                v-model="formData.remark4.resNum"
+              />
             </el-form-item>
           </el-col>
         </el-row>
@@ -206,7 +227,11 @@
             },
           ]"
         >
-          <el-input type="textarea" v-model="formData.remark4.content" />
+          <el-input
+            type="textarea"
+            :disabled="step != 3"
+            v-model="formData.remark4.content"
+          />
         </el-form-item>
         <el-row>
           <el-col :span="6">
@@ -214,6 +239,7 @@
               <FilesUpload
                 v-model:src-list="srcList1"
                 v-model:pdf-list="pdfUrlList1"
+                :disabled="step != 3"
                 v-model:file-name-list="fileNameList1"
                 :generate-pdf="true"
                 :limit="10"
@@ -226,6 +252,7 @@
             <el-form-item label="下部流向人员:">
               <el-select
                 v-model="formData.remark5.user5"
+                :disabled="step != 3"
                 filterable
                 placeholder="请选择人员"
                 value-key="id"
@@ -243,6 +270,7 @@
             <el-form-item label="日期" prop="reason">
               <el-date-picker
                 v-model="formData.remark4.time"
+                :disabled="step != 3"
                 type="date"
                 placeholder="Pick a day"
                 format="YYYY-MM-DD"
@@ -254,6 +282,7 @@
             <el-form-item label="审核结果:">
               <el-select
                 v-model="formData.remark4.state"
+                :disabled="step != 3"
                 filterable
                 placeholder="请选择结果"
               >
@@ -268,7 +297,7 @@
           </el-col>
         </el-row>
       </div>
-      <div class="stage" v-if="userNameArray[3]">
+      <div class="stage" v-if="step > 3">
         <el-form-item
           label="采取的措施:"
           prop="remark1[content]"
@@ -278,13 +307,18 @@
             },
           ]"
         >
-          <el-input type="textarea" v-model="formData.remark5.content" />
+          <el-input
+            :disabled="step != 4"
+            type="textarea"
+            v-model="formData.remark5.content"
+          />
         </el-form-item>
         <el-row>
           <el-col :span="6">
             <el-form-item label="上传附件:">
               <FilesUpload
                 v-model:src-list="srcList2"
+                :disabled="step != 4"
                 v-model:pdf-list="pdfUrlList2"
                 v-model:file-name-list="fileNameList2"
                 :generate-pdf="true"
@@ -301,6 +335,7 @@
                 filterable
                 placeholder="请选择人员"
                 value-key="id"
+                :disabled="step != 4"
               >
                 <el-option
                   v-for="item in userList"
@@ -314,6 +349,7 @@
           <el-col :span="6">
             <el-form-item label="日期" prop="reason">
               <el-date-picker
+                :disabled="step != 4"
                 v-model="formData.remark5.time"
                 type="date"
                 placeholder="Pick a day"
@@ -325,6 +361,7 @@
           <el-col :span="6">
             <el-form-item label="审核结果:">
               <el-select
+                :disabled="step != 4"
                 v-model="formData.remark5.state"
                 filterable
                 placeholder="请选择结果"
@@ -340,7 +377,7 @@
           </el-col>
         </el-row>
       </div>
-      <div class="stage" v-if="userNameArray[4]">
+      <div class="stage" v-if="step > 4">
         <el-form-item
           label="不合格品评审(审理)处置意见:"
           prop="remark1[content]"
@@ -350,7 +387,11 @@
             },
           ]"
         >
-          <el-input type="textarea" v-model="formData.remark6.content" />
+          <el-input
+            :disabled="step != 5"
+            type="textarea"
+            v-model="formData.remark6.content"
+          />
         </el-form-item>
         <el-row>
           <el-col :span="8">
@@ -373,6 +414,7 @@
           <el-col :span="8">
             <el-form-item label="日期" prop="reason">
               <el-date-picker
+                :disabled="step != 5"
                 v-model="formData.remark6.time"
                 type="date"
                 placeholder="Pick a day"
@@ -387,6 +429,7 @@
                 v-model="formData.remark6.state"
                 filterable
                 placeholder="请选择结果"
+                :disabled="step != 5"
               >
                 <el-option
                   v-for="item in stateOption"
@@ -399,7 +442,7 @@
           </el-col>
         </el-row>
       </div>
-      <div class="stage" v-if="userNameArray[5]">
+      <div class="stage" v-if="step > 5">
         <el-form-item
           label="组长(或分管领导)审批意见:"
           prop="remark1[content]"
@@ -409,7 +452,11 @@
             },
           ]"
         >
-          <el-input type="textarea" v-model="formData.remark7.content" />
+          <el-input
+            :disabled="step != 6"
+            type="textarea"
+            v-model="formData.remark7.content"
+          />
         </el-form-item>
         <el-row>
           <el-col :span="6" />
@@ -418,6 +465,7 @@
             <el-form-item label="日期" prop="reason">
               <el-date-picker
                 v-model="formData.remark7.time"
+                :disabled="step != 6"
                 type="date"
                 placeholder="Pick a day"
                 format="YYYY-MM-DD"
@@ -429,6 +477,7 @@
             <el-form-item label="审核结果:">
               <el-select
                 v-model="formData.remark7.state"
+                :disabled="step != 6"
                 filterable
                 placeholder="请选择结果"
               >
@@ -637,7 +686,6 @@ const setFormData = () => {
       delete formData.value.remark7[key];
     }
   }
-  console.log(formData.value);
 };
 
 const submit = async () => {