From d289be3b10e9b259625ca9128b54bc62950c4e48 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期一, 08 九月 2025 17:57:49 +0800
Subject: [PATCH] 出库状态改为生命周期 其他文档改为电子文档 电子文档新增指派设备结构树

---
 src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue |  613 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 519 insertions(+), 94 deletions(-)

diff --git a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue
index 4384150..01f35e9 100644
--- a/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue
+++ b/src/views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue
@@ -57,45 +57,367 @@
           </a-col>
         </a-row>
 
-        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鏄惁闇�瑕侀鐢ㄥ浠�</a-divider>
-
         <a-tabs v-model="activeTabKey">
-          <a-tab-pane key="1" tab="棰嗙敤澶囦欢">
-            <a-row>
-              <a-col :span="twoColSpan*2">
-                <a-form-model-item label="鏄惁闇�瑕侀鐢ㄥ浠�" prop="isUseSpare">
-                  <a-radio-group v-model="tableRowRecord.isUseSpare"
-                                 :disabled="isDisableUseSpare">
-                    <a-radio :value="1">鏄�</a-radio>
-                    <a-radio :value="0">鍚�</a-radio>
-                  </a-radio-group>
-                </a-form-model-item>
-              </a-col>
+          <a-tab-pane key="1" tab="缁翠慨澶勭悊">
 
-              <template v-if="tableRowRecord.isUseSpare===0">
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason">
-                    <a-input :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_REPAIR'"
-                             v-model="tableRowRecord.faultReason" rows="4"
-                             placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/>
+            <div v-if="repairConfirm">
+              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">缁翠慨纭</a-divider>
+
+              <a-row :gutter="24">
+                <a-col :span="12">
+                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairConfirm" label="鏄惁鍐呴儴鍙淮淇�">
+                    <j-dict-select-tag type='radio' v-model='tableRowRecord.repairConfirm' dictCode='yn'
+                                       placeholder="璇烽�夋嫨" :disabled="disableSubmit || tableRowRecord.repairStatus !== 'WAIT_INTERNAL_CONFIRM'"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="12">
+                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairConfirmComment" label="缁翠慨纭鎰忚">
+                    <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.repairConfirmComment"
+                                :readOnly="disableSubmit || tableRowRecord.repairStatus !== 'WAIT_INTERNAL_CONFIRM'"/>
+                  </a-form-model-item>
+                </a-col>
+              </a-row>
+            </div>
+            <div v-if="underInternalRepair && tableRowRecord.repairConfirm === '1'">
+              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">缁翠慨缁撴灉</a-divider>
+              <a-row>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="鏁呴殰绫诲瀷" prop="faultType" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
+                             v-model="tableRowRecord.faultType" rows="4" dictCode="repair_warehouse_fault_type"
+                             placeholder="璇烽�夋嫨鏁呴殰绫诲瀷"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="鏁呴殰閮ㄤ綅" prop="faultPart" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <a-auto-complete
+                      v-model="tableRowRecord.faultPart"
+                      :data-source="faultPartDataList"
+                      :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
+                      placeholder="璇疯緭鍏ユ晠闅滈儴浣�"
+                      :filter-option="filterOption"
+                      :allowClear="true"
+                      @focus="fetchFaultPartList"
+                    @input="fetchFaultPartList"
+                    />
+
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="鏁呴殰瀛愰儴浣�" prop="faultChildPart" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <a-auto-complete
+                      v-model="tableRowRecord.faultChildPart"
+                      :data-source="faultChildPartDataList"
+                      :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
+                      placeholder="璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅"
+                      :filter-option="filterOption"
+                      :allowClear="true"
+                      @focus="fetchFaultChildPartList"
+                    @input="fetchFaultChildPartList"
+                    />
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="涓ラ噸绋嬪害" prop="severity" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
+                                       v-model="tableRowRecord.severity" rows="4" dictCode="repair_severity"
+                                       placeholder="璇烽�夋嫨涓ラ噸绋嬪害"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="24">
+                  <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong">
+                    <a-auto-complete
+                      :data-source="repairDescriptionPartDataList"
+                      :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
+                      :filter-option="filterOption"
+                      :allowClear="true"
+                      v-model="tableRowRecord.repairDescription"
+                    >
+                      <a-textarea
+                        placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"
+                        class="custom"
+                        @focus="fetchRepairDescList"
+                      @input="fetchRepairDescList"
+                      />
+                    </a-auto-complete>
                   </a-form-model-item>
                 </a-col>
                 <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription">
-                    <a-textarea :readOnly="disableSubmit||tableRowRecord.repairStatus!=='UNDER_REPAIR'"
-                                v-model="tableRowRecord.repairDescription"
-                                placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/>
-                  </a-form-model-item>
-                </a-col>
-                <a-col :span="twoColSpan*2">
-                  <a-form-model-item label="缁翠慨鍥剧墖">
+                  <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong">
                     <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3"
-                               :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_REPAIR'"
+                               :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
                                v-model="tableRowRecord.imageFiles"/>
                   </a-form-model-item>
                 </a-col>
-              </template>
-            </a-row>
+              </a-row>
+            </div>
+            <div v-if="leaderConfirm && tableRowRecord.repairConfirm === '0'">
+              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">棰嗗纭</a-divider>
+
+              <a-row :gutter="24">
+                <a-col :span="12">
+                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leaderConfirm" label="鏄惁鍚屾剰澶栭儴缁翠慨">
+                    <j-dict-select-tag type='radio' v-model='tableRowRecord.leaderConfirm' dictCode='approved_rejected'
+                                       placeholder="璇烽�夋嫨" :disabled="disableSubmit || tableRowRecord.repairStatus!=='WAIT_LEADER_CONFIRM'"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="12">
+                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leaderConfirmComment" label="纭鎰忚">
+                    <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.leaderConfirmComment"
+                                :readOnly="disableSubmit || tableRowRecord.repairStatus!=='WAIT_LEADER_CONFIRM'"/>
+                  </a-form-model-item>
+                </a-col>
+              </a-row>
+            </div>
+            <div v-if="underInternalRepair && tableRowRecord.leaderConfirm === '2'">
+              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">缁翠慨缁撴灉</a-divider>
+              <a-row>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="鏁呴殰绫诲瀷" prop="faultType" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
+                                       v-model="tableRowRecord.faultType" rows="4" dictCode="repair_warehouse_fault_type"
+                                       placeholder="璇烽�夋嫨鏁呴殰绫诲瀷"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="鏁呴殰閮ㄤ綅" prop="faultPart" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <a-auto-complete
+                      v-model="tableRowRecord.faultPart"
+                      :data-source="faultPartDataList"
+                      :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
+                      placeholder="璇疯緭鍏ユ晠闅滈儴浣�"
+                      :filter-option="filterOption"
+                      :allowClear="true"
+                      @focus="fetchFaultPartList"
+                      @input="fetchFaultPartList"
+                    />
+
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="鏁呴殰瀛愰儴浣�" prop="faultChildPart" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <a-auto-complete
+                      v-model="tableRowRecord.faultChildPart"
+                      :data-source="faultChildPartDataList"
+                      :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
+                      placeholder="璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅"
+                      :filter-option="filterOption"
+                      :allowClear="true"
+                      @focus="fetchFaultChildPartList"
+                      @input="fetchFaultChildPartList"
+                    />
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="涓ラ噸绋嬪害" prop="severity" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
+                                       v-model="tableRowRecord.severity" rows="4" dictCode="repair_severity"
+                                       placeholder="璇烽�夋嫨涓ラ噸绋嬪害"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="24">
+                  <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong">
+                    <a-auto-complete
+                      :data-source="repairDescriptionPartDataList"
+                      :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
+                      :filter-option="filterOption"
+                      :allowClear="true"
+                      v-model="tableRowRecord.repairDescription"
+                    >
+                      <a-textarea
+                        placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"
+                        class="custom"
+                        @focus="fetchRepairDescList"
+                        @input="fetchRepairDescList"
+                      />
+                    </a-auto-complete>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan*2">
+                  <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong">
+                    <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3"
+                               :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_INTERNAL_REPAIR'"
+                               v-model="tableRowRecord.imageFiles"/>
+                  </a-form-model-item>
+                </a-col>
+              </a-row>
+            </div>
+            <div v-if="externalConfirm && tableRowRecord.leaderConfirm === '1'">
+              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鏈哄姩鍔炵‘璁�</a-divider>
+
+              <a-row :gutter="24">
+                <a-col :span="12">
+                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="externalConfirm" label="鏈哄姩鍔炴槸鍚﹀彲缁翠慨">
+                    <j-dict-select-tag type='radio' v-model='tableRowRecord.externalConfirm' dictCode='yn'
+                                       placeholder="璇烽�夋嫨" :disabled="disableSubmit||tableRowRecord.repairStatus!=='WAIT_EXTERNAL_CONFIRM'"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="12">
+                  <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="externalConfirmComment" label="纭鎰忚">
+                    <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.externalConfirmComment"
+                                :readOnly="disableSubmit || tableRowRecord.repairStatus!=='WAIT_EXTERNAL_CONFIRM'"/>
+                  </a-form-model-item>
+                </a-col>
+              </a-row>
+            </div>
+            <div v-if="underExternalRepair && tableRowRecord.externalConfirm === '1'">
+              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鏈哄姩鍔炵淮淇粨鏋�</a-divider>
+              <a-row>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="鏁呴殰绫诲瀷" prop="faultType" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'"
+                                       v-model="tableRowRecord.faultType" rows="4" dictCode="repair_warehouse_fault_type"
+                                       placeholder="璇烽�夋嫨鏁呴殰绫诲瀷"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="鏁呴殰閮ㄤ綅" prop="faultPart" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <a-auto-complete
+                      v-model="tableRowRecord.faultPart"
+                      :data-source="faultPartDataList"
+                      :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'"
+                      placeholder="璇疯緭鍏ユ晠闅滈儴浣�"
+                      :filter-option="filterOption"
+                      :allowClear="true"
+                      @focus="fetchFaultPartList"
+                      @input="fetchFaultPartList"
+                    />
+
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="鏁呴殰瀛愰儴浣�" prop="faultChildPart" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <a-auto-complete
+                      v-model="tableRowRecord.faultChildPart"
+                      :data-source="faultChildPartDataList"
+                      :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'"
+                      placeholder="璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅"
+                      :filter-option="filterOption"
+                      :allowClear="true"
+                      @focus="fetchFaultChildPartList"
+                      @input="fetchFaultChildPartList"
+                    />
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="涓ラ噸绋嬪害" prop="severity" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'"
+                                       v-model="tableRowRecord.severity" rows="4" dictCode="repair_severity"
+                                       placeholder="璇烽�夋嫨涓ラ噸绋嬪害"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="24">
+                  <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong">
+                    <a-auto-complete
+                      :data-source="repairDescriptionPartDataList"
+                      :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'"
+                      :filter-option="filterOption"
+                      :allowClear="true"
+                      v-model="tableRowRecord.repairDescription"
+                    >
+                      <a-textarea
+                        placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"
+                        class="custom"
+                        @focus="fetchRepairDescList"
+                        @input="fetchRepairDescList"
+                      />
+                    </a-auto-complete>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan*2">
+                  <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong">
+                    <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3"
+                               :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_EXTERNAL_REPAIR'"
+                               v-model="tableRowRecord.imageFiles"/>
+                  </a-form-model-item>
+                </a-col>
+              </a-row>
+            </div>
+            <div v-if="underOutsideRepair && tableRowRecord.externalConfirm === '0'">
+              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">濮斿缁翠慨缁撴灉</a-divider>
+              <a-row>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="鏁呴殰绫诲瀷" prop="faultType" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'"
+                                       v-model="tableRowRecord.faultType" rows="4" dictCode="repair_warehouse_fault_type"
+                                       placeholder="璇烽�夋嫨鏁呴殰绫诲瀷"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="鏁呴殰閮ㄤ綅" prop="faultPart" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <a-auto-complete
+                      v-model="tableRowRecord.faultPart"
+                      :data-source="faultPartDataList"
+                      :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'"
+                      placeholder="璇疯緭鍏ユ晠闅滈儴浣�"
+                      :filter-option="filterOption"
+                      :allowClear="true"
+                      @focus="fetchFaultPartList"
+                      @input="fetchFaultPartList"
+                    />
+
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="鏁呴殰瀛愰儴浣�" prop="faultChildPart" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <a-auto-complete
+                      v-model="tableRowRecord.faultChildPart"
+                      :data-source="faultChildPartDataList"
+                      :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'"
+                      placeholder="璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅"
+                      :filter-option="filterOption"
+                      :allowClear="true"
+                      @focus="fetchFaultChildPartList"
+                      @input="fetchFaultChildPartList"
+                    />
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan">
+                  <a-form-model-item label="涓ラ噸绋嬪害" prop="severity" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                    <j-dict-select-tag :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'"
+                                       v-model="tableRowRecord.severity" rows="4" dictCode="repair_severity"
+                                       placeholder="璇烽�夋嫨涓ラ噸绋嬪害"/>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="24">
+                  <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong">
+                    <a-auto-complete
+                      :data-source="repairDescriptionPartDataList"
+                      :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'"
+                      :filter-option="filterOption"
+                      :allowClear="true"
+                      v-model="tableRowRecord.repairDescription"
+                    >
+                      <a-textarea
+                        placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"
+                        class="custom"
+                        @focus="fetchRepairDescList"
+                        @input="fetchRepairDescList"
+                      />
+                    </a-auto-complete>
+                  </a-form-model-item>
+                </a-col>
+                <a-col :span="twoColSpan*2">
+                  <a-form-model-item label="缁翠慨鍥剧墖" :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="wrapperColLong">
+                    <lx-upload :returnUrl="false" :isMultiple="true" file-type="image" :number="3"
+                               :disabled="disableSubmit||tableRowRecord.repairStatus!=='UNDER_OUTSIDE_REPAIR'"
+                               v-model="tableRowRecord.imageFiles"/>
+                  </a-form-model-item>
+                </a-col>
+              </a-row>
+            </div>
+            <div v-if="operatorConfirm">
+              <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">鎿嶄綔宸ョ‘璁�</a-divider>
+
+              <a-row :gutter="24">
+                <a-col :span="24">
+                  <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="confirmComment" label="纭鎰忚">
+                    <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.confirmComment"
+                                :readOnly="disableSubmit || tableRowRecord.repairStatus!=='WAIT_CONFIRM'"/>
+                  </a-form-model-item>
+                </a-col>
+              </a-row>
+            </div>
           </a-tab-pane>
 
           <template v-if="selectShenpiData.procInstId">
@@ -116,56 +438,10 @@
             </a-tab-pane>
 
             <a-tab-pane key='3' tab='娴佺▼鍥�'>
-              <img :src="imageSrc" alt="Fetched Image"/>-->
+              <img :src="imageSrc" alt="Fetched Image"/>
             </a-tab-pane>
           </template>
         </a-tabs>
-
-        <template v-if="tableRowRecord.isUseSpare===1&&isDisableUseSpare">
-          <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">绠$悊鍛橀鐢ㄥ浠�
-          </a-divider>
-
-          <a-row>
-            <a-col :span="twoColSpan*2">
-              <a-form-model-item prop="sparePartDescription" label="澶囦欢鎻忚堪">
-                <a-textarea placeholder="璇疯緭鍏ュ浠舵弿杩�" :readOnly="disableSubmit||tableRowRecord.repairStatus!=='WAIT_SPARES'"
-                            v-model="tableRowRecord.sparePartDescription"></a-textarea>
-              </a-form-model-item>
-            </a-col>
-          </a-row>
-        </template>
-
-        <template v-if="Boolean(tableRowRecord.sparePartDescription)&&isDisplayRepairResult">
-          <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;">缁翠慨缁撴灉涓婃姤</a-divider>
-          <a-row>
-            <a-col :span="twoColSpan*2">
-              <a-form-model-item label="鏁呴殰鍘熷洜" prop="faultReason">
-                <a-input :readOnly="disableSubmit||isDisableSubmitRepairResult" v-model="tableRowRecord.faultReason"
-                         rows="4" placeholder="璇疯緭鍏ユ晠闅滃師鍥�"/>
-              </a-form-model-item>
-            </a-col>
-          </a-row>
-
-          <a-row>
-            <a-col :span="twoColSpan*2">
-              <a-form-model-item label="缁翠慨缁撴灉鎻忚堪" prop="repairDescription">
-                <a-textarea :readOnly="disableSubmit||isDisableSubmitRepairResult"
-                            v-model="tableRowRecord.repairDescription"
-                            placeholder="璇疯緭鍏ョ淮淇粨鏋滄弿杩�"/>
-              </a-form-model-item>
-            </a-col>
-          </a-row>
-
-          <a-row>
-            <a-col :span="twoColSpan*2">
-              <a-form-model-item label="缁翠慨鍥剧墖">
-                <lx-upload :disabled="disableSubmit||isDisableSubmitRepairResult" :returnUrl="false" :isMultiple="true"
-                           file-type="image" :number="3"
-                           v-model="tableRowRecord.imageFiles"/>
-              </a-form-model-item>
-            </a-col>
-          </a-row>
-        </template>
       </a-form-model>
     </a-spin>
   </j-modal>
@@ -173,8 +449,8 @@
 
 <script>
   import '@assets/less/TableExpand.less'
-  import { getAction, deleteAction, postAction, downFile, httpAction } from '@api/manage'
-  import LxSearchEquipmentSelect from '../../../eam/equipment/modules/LxSearchEquipmentSelect'
+  import { getAction, downFile, httpAction } from '@api/manage'
+  import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect'
 
   export default {
     name: 'RepairOrderApprovalModal',
@@ -189,6 +465,9 @@
       return {
         title: '',
         threeColSpan: 8,
+        faultPartDataList: [],
+        faultChildPartDataList: [],
+        repairDescriptionPartDataList: [],
         twoColSpan: 12,
         inputReadOnly: true,
         disableSubmit: false,
@@ -215,14 +494,41 @@
           sm: { span: 20 }
         },
         validatorRules: {
-          isUseSpare: [
-            { required: true, message: '璇烽�夋嫨鏄惁闇�瑕侀鐢ㄥ浠�' }
+          repairConfirm: [
+            { required: true, message: '璇烽�夋嫨鏄惁鍐呴儴鍙淮淇紒' }
           ],
-          sparePartDescription: [
-            { required: true, message: '璇疯緭鍏ュ浠舵弿杩�' }
+          repairConfirmComment: [
+            { required: true, message: '璇疯緭鍏ョ淮淇‘璁ゆ剰瑙�' }
+          ],
+          leaderConfirm: [
+            { required: true, message: '璇烽�夋嫨鏄惁鍚屾剰澶栭儴缁翠慨锛�' }
+          ],
+          leaderConfirmComment: [
+            { required: true, message: '璇疯緭鍏ラ瀵肩‘璁ゆ剰瑙�' }
+          ],
+          externalConfirm: [
+            { required: true, message: '璇烽�夋嫨鏈哄姩鍔炴槸鍚﹀彲缁翠慨锛�' }
+          ],
+          externalConfirmComment: [
+            { required: true, message: '璇疯緭鍏ユ満鍔ㄥ姙纭鎰忚' }
+          ],
+          confirmComment: [
+            { required: true, message: '璇疯緭鍏ユ搷浣滃伐纭鎰忚' }
           ],
           faultReason: [
             { required: true, message: '璇疯緭鍏ユ晠闅滃師鍥�' }
+          ],
+          faultType: [
+            { required: true, message: '璇烽�夋嫨鏁呴殰绫诲瀷' }
+          ],
+          faultPart: [
+            { required: true, message: '璇疯緭鍏ユ晠闅滈儴浣�' }
+          ],
+          faultChildPart: [
+            { required: true, message: '璇疯緭鍏ユ晠闅滃瓙閮ㄤ綅' }
+          ],
+          severity: [
+            { required: true, message: '璇烽�夋嫨涓ラ噸绋嬪害' }
           ],
           repairDescription: [
             { required: true, message: '璇疯緭鍏ョ淮淇粨鏋滄弿杩�' }
@@ -235,26 +541,135 @@
           queryBomDataById: '/eam/eamRepairOrder/queryById',
           diagramView: '/assign/flow/diagramView',
           queryHisTaskList: '/assign/flow/queryHisTaskList',
-          approve: '/eam/eamRepairOrder/perform'
+          approve: '/eam/eamRepairOrder/perform',
+          getColumnDateList: '/repairWarehouse/repairWarehouse/getColumnDateList'
         }
       }
     },
     computed: {
-      isDisableUseSpare() {
-        return this.disableSubmit || this.tableRowRecord.repairStatus !== 'UNDER_REPAIR' || Boolean(this.tableRowRecord.sparePartDescription)
+      repairConfirm() {
+        return ['WAIT_INTERNAL_CONFIRM', 'UNDER_INTERNAL_REPAIR', 'WAIT_LEADER_CONFIRM', 'WAIT_EXTERNAL_CONFIRM', 'UNDER_EXTERNAL_REPAIR', 'UNDER_OUTSIDE_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
       },
-      isDisplayRepairResult() {
-        return ['UNDER_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
+      underInternalRepair() {
+        return ['UNDER_INTERNAL_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
       },
-      isDisableSubmitRepairResult() {
+      leaderConfirm() {
+        return ['UNDER_INTERNAL_REPAIR', 'WAIT_LEADER_CONFIRM', 'WAIT_EXTERNAL_CONFIRM', 'UNDER_EXTERNAL_REPAIR', 'UNDER_OUTSIDE_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
+      },
+      externalConfirm() {
+        return ['WAIT_EXTERNAL_CONFIRM', 'UNDER_EXTERNAL_REPAIR', 'UNDER_OUTSIDE_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
+      },
+      underExternalRepair() {
+        return ['UNDER_EXTERNAL_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
+      },
+      underOutsideRepair() {
+        return ['UNDER_OUTSIDE_REPAIR', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
+      },
+      operatorConfirm() {
         return ['WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.repairStatus)
       }
     },
+
+    watch: {
+    },
+
     methods: {
       /**
-       * 鑾峰彇娴佺▼鑺傜偣鍜屾祦绋嬪浘
-       * @param record 寰呭姙璁板綍淇℃伅
+       * 1. 鏌ヨ鏁呴殰閮ㄤ綅鍒楄〃锛堟牴鎹晠闅滅被鍨嬬瓫閫夛級
        */
+      fetchFaultPartList() {
+        const that = this
+        // 绛涢�夊弬鏁帮細浠呮惡甯﹀凡閫変腑鐨勬晠闅滅被鍨嬶紙鏈�変腑鍒欏弬鏁颁负绌猴級
+        const params = {
+          faultType: that.tableRowRecord.faultType || '',
+          column: "fault_part"
+        }
+
+        // 璋冪敤鎺ュ彛锛堜娇鐢ㄩ」鐩皝瑁呯殑 getAction锛�
+        getAction(this.url.getColumnDateList, params)
+          .then(res => {
+            if (res.success) {
+              // 鎺ュ彛杩斿洖鏍煎紡鍋囪涓猴細[{ label: "閮ㄤ綅1", value: "1" }, ...]
+              // 鑻ユ帴鍙h繑鍥炴槸绾暟缁勶紙濡� ["閮ㄤ綅1", "閮ㄤ綅2"]锛夛紝鍒欑洿鎺ヨ祴鍊硷細that.faultPartDataList = res.result
+              that.faultPartDataList = res.result
+            } else {
+              that.$message.warning('鏁呴殰閮ㄤ綅鏌ヨ澶辫触锛�' + res.message)
+              that.faultPartDataList = []  // 澶辫触鏃舵竻绌烘暟鎹簮
+            }
+          })
+          .catch(err => {
+            that.$message.error('鏁呴殰閮ㄤ綅鏌ヨ寮傚父锛�' + err.message)
+            that.faultPartDataList = []
+          })
+      },
+
+      /**
+       * 2. 鏌ヨ鏁呴殰瀛愰儴浣嶅垪琛紙鏍规嵁鏁呴殰绫诲瀷 + 鏁呴殰閮ㄤ綅绛涢�夛級
+       */
+      fetchFaultChildPartList() {
+        const that = this
+        const { faultType, faultPart } = that.tableRowRecord
+        // 绛涢�夊弬鏁帮細浠呭綋鏁呴殰绫诲瀷銆佹晠闅滈儴浣嶅潎闈炵┖鏃舵墠鎼哄甫
+        const params = {}
+        if (faultType) params.faultType = faultType
+        if (faultPart) params.faultPart = faultPart
+        params.column = "fault_child_part"
+
+        // 璋冪敤鎺ュ彛
+        getAction(this.url.getColumnDateList, params)
+          .then(res => {
+            if (res.success) {
+              that.faultChildPartDataList = res.result
+            } else {
+              that.$message.warning('鏁呴殰瀛愰儴浣嶆煡璇㈠け璐ワ細' + res.message)
+              that.faultChildPartDataList = []
+            }
+          })
+          .catch(err => {
+            that.$message.error('鏁呴殰瀛愰儴浣嶆煡璇㈠紓甯革細' + err.message)
+            that.faultChildPartDataList = []
+          })
+      },
+
+      /**
+       * 3. 鏌ヨ鏁呴殰鎻忚堪鍒楄〃锛堟牴鎹晠闅滅被鍨� + 鏁呴殰閮ㄤ綅 + 鏁呴殰瀛愰儴浣嶇瓫閫夛級
+       */
+      fetchRepairDescList() {
+        const that = this
+        const { faultType, faultPart, faultChildPart } = that.tableRowRecord
+        // 绛涢�夊弬鏁帮細浠呭綋涓変釜鏉′欢鍧囬潪绌烘椂鎵嶆惡甯�
+        const params = {}
+        if (faultType) params.faultType = faultType
+        if (faultPart) params.faultPart = faultPart
+        if (faultChildPart) params.faultChildPart = faultChildPart
+        params.column = "repair_description"
+        // 璋冪敤鎺ュ彛
+        getAction(this.url.getColumnDateList, params)
+          .then(res => {
+            if (res.success) {
+              that.repairDescriptionPartDataList = res.result
+            } else {
+              that.$message.warning('鏁呴殰鎻忚堪鏌ヨ澶辫触锛�' + res.message)
+              that.repairDescriptionPartDataList = []
+            }
+          })
+          .catch(err => {
+            that.$message.error('鏁呴殰鎻忚堪鏌ヨ寮傚父锛�' + err.message)
+            that.repairDescriptionPartDataList = []
+          })
+      },
+      /**
+       * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳�
+       * @param input 杈撳叆鐨勫唴瀹�
+       * @param option 閰嶇疆
+       * @returns {boolean} 鍒ゆ柇鏄惁绛涢��
+       */
+      filterOption(input, option) {
+        return (
+          option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
+        )
+      },
+
       getAllApproveData(record) {
         if (!record.procInstId) return
         console.log('record----->', record)
@@ -313,14 +728,24 @@
         this.$refs.form.validate(valid => {
           if (valid) {
             that.confirmLoading = that.spinning = true
-            const { isUseSpare, faultReason, repairDescription, sparePartDescription, imageFiles, equipmentId } = that.tableRowRecord
+            const { confirmComment, externalConfirm, externalConfirmComment, repairConfirm, repairConfirmComment, leaderConfirm, leaderConfirmComment, faultReason, faultType, faultPart, faultChildPart, severity, repairDescription, imageFiles, equipmentId } = that.tableRowRecord
             const { dataId, id, procInstId, taskDefKey, variables } = that.selectShenpiData
 
             const flowTaskVo = {}
-            flowTaskVo.isUseSpare = isUseSpare
+            flowTaskVo.repairConfirm = repairConfirm
+            flowTaskVo.repairConfirmComment = repairConfirmComment
+            flowTaskVo.leaderConfirm = leaderConfirm
+            flowTaskVo.leaderConfirmComment = leaderConfirmComment
+            flowTaskVo.externalConfirm = externalConfirm
+            flowTaskVo.externalConfirmComment = externalConfirmComment
+            flowTaskVo.confirmComment = confirmComment
+
             flowTaskVo.faultReason = faultReason
+            flowTaskVo.faultType = faultType
+            flowTaskVo.faultPart = faultPart
+            flowTaskVo.faultChildPart = faultChildPart
+            flowTaskVo.severity = severity
             flowTaskVo.repairDescription = repairDescription
-            flowTaskVo.sparePartDescription = sparePartDescription
             flowTaskVo.imageFilesResult = imageFiles
             flowTaskVo.equipmentId = equipmentId
             flowTaskVo.id = dataId

--
Gitblit v1.9.3