From 933f7c55bdf0f84b1c780de715c7d477df8ab052 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Fri, 06 Sep 2024 13:44:17 +0800
Subject: [PATCH] fix: 责任单位修改

---
 src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue |  654 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 507 insertions(+), 147 deletions(-)

diff --git a/src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue b/src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue
index 78f1045..9783157 100644
--- a/src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue
+++ b/src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue
@@ -1,13 +1,30 @@
 <template>
   <div>
-    <el-dialog :title="dialogData.title" :visible.sync="visible" width="900px" center :before-close="close">
-      <div slot="title" class="titBox">
+    <el-dialog
+      :title="dialogData.title"
+      top="30px"
+      :visible.sync="visible"
+      width="900px"
+      center
+      :before-close="close"
+    >
+      <div
+        slot="title"
+        class="titBox"
+      >
         <div>{{ parentFormData.allocationNum }}</div>
         <div>{{ dialogData.title }}</div>
       </div>
       <div>
-        <div v-if="dialogData.pageType !=='delay'" class="stepsList">
-          <el-steps :space="200" :active="parentFormData.approveList.length+1" align-center>
+        <div
+          v-if="dialogData.pageType !=='delay'"
+          class="stepsList"
+        >
+          <el-steps
+            :space="200"
+            :active="activeLeng"
+            align-center
+          >
             <el-step
               v-for="(item,index) in setepList"
               :key="index"
@@ -17,29 +34,104 @@
           </el-steps>
         </div>
         <div class="inforData">
-          <el-descriptions title="������������" :column="parseInt('4')">
-            <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.escalationTime }}</el-descriptions-item>
-            <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.pollutePosition }}</el-descriptions-item>
-            <el-descriptions-item label="������������" label-class-name="itemSpan">{{ unitIdFormatter }}</el-descriptions-item>
-            <el-descriptions-item label="������������" label-class-name="itemSpan">{{ polluteTypeFormatter }}</el-descriptions-item>
-            <el-descriptions-item label="������������" label-class-name="itemSpan">{{ dictObj.changeEnum[parentFormData.changeType] }}</el-descriptions-item>
-            <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.changeDay }}</el-descriptions-item>
-            <el-descriptions-item label="������������" label-class-name="itemSpan">{{ updataUnitIdFormatter }}</el-descriptions-item>
-            <el-descriptions-item label="���������" label-class-name="itemSpan">{{ parentFormData.escalationName }}</el-descriptions-item>
+          <el-descriptions
+            title="������������"
+          >
+            <el-descriptions-item
+              label="������������"
+              label-class-name="itemSpan"
+            >
+              {{ parentFormData.escalationTime }}
+            </el-descriptions-item>
+            <el-descriptions-item
+              label="������������"
+              label-class-name="itemSpan"
+            >
+              {{ unitIdFormatter }}
+            </el-descriptions-item>
+            <el-descriptions-item
+              label="������������"
+              label-class-name="itemSpan"
+            >
+              {{ polluteTypeFormatter }}
+            </el-descriptions-item>
+            <el-descriptions-item
+              label="������������"
+              label-class-name="itemSpan"
+            >
+              {{ dictObj.changeEnum[parentFormData.changeType] }}
+            </el-descriptions-item>
+            <el-descriptions-item
+              label="������������"
+              label-class-name="itemSpan"
+            >
+              {{ parentFormData.changeDay }}
+            </el-descriptions-item>
+            <el-descriptions-item
+              label="������������"
+              label-class-name="itemSpan"
+            >
+              {{ updataUnitIdFormatter }}
+            </el-descriptions-item>
+            <el-descriptions-item
+              label="���������"
+              label-class-name="itemSpan"
+            >
+              {{ parentFormData.escalationName }}
+            </el-descriptions-item>
+            <el-descriptions-item
+              label="������������"
+              label-class-name="itemSpan"
+            >
+              {{ dictObj.emphasisEnum[parentFormData.keyPoint] }}
+            </el-descriptions-item>
+          </el-descriptions>
+          <el-descriptions>
+            <el-descriptions-item
+              label="������������"
+              label-class-name="itemSpan"
+            >
+              {{ parentFormData.pollutePosition }}
+              <i
+                v-if="parentFormData.latitude&&parentFormData.longitude"
+                style="color:#409EFF;margin-left:10px;font-size:18px;cursor:pointer"
+                class="el-icon-location-outline"
+                @click="toMap"
+              />
+            </el-descriptions-item>
           </el-descriptions>
           <el-descriptions :column="parseInt('1')">
-            <el-descriptions-item label="������������" label-class-name="itemSpan" :content-style="{'width': '80%'}">{{ parentFormData.problemDescribe }}</el-descriptions-item>
-            <el-descriptions-item label="������" label-class-name="itemSpan" :content-style="{'width': '80%'}">
+            <el-descriptions-item
+              label="������������"
+              label-class-name="itemSpan"
+              :content-style="{'width': '80%'}"
+            >
+              {{ parentFormData.problemDescribe }}
+            </el-descriptions-item>
+            <el-descriptions-item
+              label="������"
+              label-class-name="itemSpan"
+              :content-style="{'width': '80%'}"
+            >
               <div>
-                <div v-for="(file,index) in fileBaseListCover" :key="file.id+index" class="block">
+                <div
+                  v-for="(file,index) in fileBaseListCover"
+                  :key="file.id+index"
+                  class="block"
+                >
                   <el-image
                     v-if="file.fileType ===1"
                     style="width: 100px; height: 100px"
                     :src="file.url"
-                    :preview-src-list="fileBaseList"
+                    :preview-src-list="getPreviewImages(file.id,fileBaseList)"
                     :initial-index="index"
                   />
-                  <video v-else :src="file.url" style="width: 100px; height: 100px" @click="openVideo(file)">
+                  <video
+                    v-else
+                    :src="file.url"
+                    style="width: 100px; height: 100px"
+                    @click="openVideo(file)"
+                  >
                     ������������������������ video ���������
                   </video>
                 </div>
@@ -48,18 +140,34 @@
           </el-descriptions>
         </div>
         <!-- ������������������ -->
-        <div v-if="dialogData.pageType ==='work'" class="rectification">
+        <div
+          v-if="dialogData.pageType ==='work'"
+          class="rectification"
+        >
           <div>
-            <el-form label-width="90px" class="demo-form-inline">
+            <el-form
+              label-width="90px"
+              class="demo-form-inline"
+            >
               <div style="display: flex;">
-                <el-form-item label="������������:">
+                <el-form-item
+                  label="������������:"
+                >
                   <el-radio-group v-model="workForme.isChange">
-                    <el-radio :label="0">���</el-radio>
-                    <el-radio :label="1">���</el-radio>
+                    <el-radio :label="1">
+                      ���
+                    </el-radio>
+                    <el-radio :label="0">
+                      ���
+                    </el-radio>
                   </el-radio-group>
                 </el-form-item>
                 <el-form-item label="���������:">
-                  <el-input v-model="workForme.changeName" size="mini" placeholder="������������������" />
+                  <el-input
+                    v-model="workForme.changeName"
+                    size="mini"
+                    placeholder="������������������"
+                  />
                 </el-form-item>
               </div>
               <el-form-item label="������������:">
@@ -71,40 +179,80 @@
                 />
               </el-form-item>
               <el-row>
-                <el-form-item label="������:">
-                  <uploadFile :upload-url="uploadTermExcelUrl" :sys-code="dialogData.sysCode" />
+                <el-form-item
+                  label="������:"
+                  class="isChangeFile"
+                >
+                  <uploadFile
+                    :upload-url="uploadTermExcelUrl"
+                    :sys-code="dialogData.sysCode"
+                  />
                 </el-form-item>
               </el-row>
-
             </el-form>
           </div>
         </div>
         <!-- ������������ -->
-        <div v-if="dialogData.pageType ==='detail' && parentFormData.state >=30">
+        <div v-if="(dialogData.pageType ==='detail'||dialogData.pageType ==='approve' )&& parentFormData.state >=30">
           <el-row class="rectificationContent">
-            <el-col :span="12"><div class="grid-content bg-purple" />
-              <el-descriptions title="������������" :column="parseInt('2')">
-                <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.changeType }}</el-descriptions-item>
-                <el-descriptions-item label="���������" label-class-name="itemSpan">{{ parentFormData.changeName }}</el-descriptions-item>
+            <el-col :span="12">
+              <div class="grid-content bg-purple" />
+              <el-descriptions
+                title="������������"
+                :column="parseInt('2')"
+              >
+                <el-descriptions-item
+                  label="������������"
+                  label-class-name="itemSpan"
+                >
+                  {{ dictObj.yesOrNo[parentFormData.isChange] }}
+                </el-descriptions-item>
+                <el-descriptions-item
+                  label="���������"
+                  label-class-name="itemSpan"
+                >
+                  {{ parentFormData.changeName }}
+                </el-descriptions-item>
               </el-descriptions>
               <el-descriptions :column="parseInt('1')">
-                <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.changeDescribe }}</el-descriptions-item>
+                <el-descriptions-item
+                  label="������������"
+                  label-class-name="itemSpan"
+                >
+                  {{ parentFormData.changeDescribe }}
+                </el-descriptions-item>
               </el-descriptions>
             </el-col>
-            <el-col :span="12"><div class="grid-content bg-purple-light" />
+            <el-col :span="12">
+              <div class="grid-content bg-purple-light" />
               <el-row>
-                <el-col :span="3" style="margin-top: 40px;font-size: 15px;color: #101010;"><div class="grid-content bg-purple" />���������</el-col>
-                <el-col :span="21"><div class="grid-content bg-purple-light" />
+                <el-col
+                  :span="3"
+                  style="margin-top: 40px;font-size: 15px;color: #101010;"
+                >
+                  <div class="grid-content bg-purple" />���������
+                </el-col>
+                <el-col :span="21">
+                  <div class="grid-content bg-purple-light" />
                   <div>
-                    <div v-for="(file,index) in fileChangeListCover" :key="file.id+index" class="block">
+                    <div
+                      v-for="(file,index) in fileChangeListCover"
+                      :key="file.id+index"
+                      class="block"
+                    >
                       <el-image
                         v-if="file.fileType ===1"
                         style="width: 100px; height: 100px"
                         :src="file.url"
-                        :preview-src-list="fileChangeList"
+                        :preview-src-list="getPreviewImages(file.id,fileChangeList)"
                         :initial-index="index"
                       />
-                      <video v-else :src="file.url" style="width: 100px; height: 100px" @click="openVideo(file)">
+                      <video
+                        v-else
+                        :src="file.url"
+                        style="width: 100px; height: 100px"
+                        @click="openVideo(file)"
+                      >
                         ������������������������ video ���������
                       </video>
                     </div>
@@ -117,29 +265,59 @@
         <!-- ������������ -->
         <div v-if="dialogData.pageType ==='detail'&& parentFormData.state>30">
           <el-row class="rectificationContent">
-            <el-col :span="12"><div class="grid-content bg-purple" />
-              <el-descriptions title="������������" :column="2">
-                <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.checkScore }}</el-descriptions-item>
+            <el-col :span="12">
+              <div class="grid-content bg-purple" />
+              <el-descriptions
+                title="������������"
+                :column="2"
+              >
+                <el-descriptions-item
+                  label="������������"
+                  label-class-name="itemSpan"
+                >
+                  {{ parentFormData.checkScore }}
+                </el-descriptions-item>
               </el-descriptions>
               <el-descriptions :column="1">
-                <el-descriptions-item label="������" label-class-name="itemSpan">{{ parentFormData.checkDescribe }}</el-descriptions-item>
+                <el-descriptions-item
+                  label="������"
+                  label-class-name="itemSpan"
+                >
+                  {{ parentFormData.checkDescribe }}
+                </el-descriptions-item>
               </el-descriptions>
             </el-col>
-            <el-col :span="12"><div class="grid-content bg-purple-light" />
+            <el-col :span="12">
+              <div class="grid-content bg-purple-light" />
               <el-row>
-                <el-col :span="3" style="margin-top: 40px;font-size: 15px;color: #101010;"><div class="grid-content bg-purple" />���������</el-col>
-                <el-col :span="21"><div class="grid-content bg-purple-light" />
+                <el-col
+                  :span="3"
+                  style="margin-top: 40px;font-size: 15px;color: #101010;"
+                >
+                  <div class="grid-content bg-purple" />���������
+                </el-col>
+                <el-col :span="21">
+                  <div class="grid-content bg-purple-light" />
                   <div>
                     <div>
-                      <div v-for="(file,index) in fileApproveListCover" :key="file.id+index" class="block">
+                      <div
+                        v-for="(file,index) in fileApproveListCover"
+                        :key="file.id+index"
+                        class="block"
+                      >
                         <el-image
                           v-if="file.fileType ===1"
                           style="width: 100px; height: 100px"
                           :src="file.url"
-                          :preview-src-list="fileApproveList"
+                          :preview-src-list="getPreviewImages(file.id,fileApproveList)"
                           :initial-index="index"
                         />
-                        <video v-else :src="file.url" style="width: 100px; height: 100px" @click="openVideo(file)">
+                        <video
+                          v-else
+                          :src="file.url"
+                          style="width: 100px; height: 100px"
+                          @click="openVideo(file)"
+                        >
                           ������������������������ video ���������
                         </video>
                       </div>
@@ -153,39 +331,81 @@
         <!-- ������������ -->
         <div v-if="(dialogData.pageType ==='delay' && (dialogData.pageState ==='view' ||dialogData.pageState ==='edit'))">
           <el-row class="rectificationContent">
-            <el-col :span="12"><div class="grid-content bg-purple" />
-              <el-descriptions title="������������" :column="1">
-                <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.extensionNum }}</el-descriptions-item>
-                <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.remake }}</el-descriptions-item>
+            <el-col :span="12">
+              <div class="grid-content bg-purple" />
+              <el-descriptions
+                title="������������"
+                :column="1"
+              >
+                <el-descriptions-item
+                  label="������������"
+                  label-class-name="itemSpan"
+                >
+                  {{ parentFormData.extensionNum }}
+                </el-descriptions-item>
+                <el-descriptions-item
+                  label="������������"
+                  label-class-name="itemSpan"
+                >
+                  {{ parentFormData.remake }}
+                </el-descriptions-item>
               </el-descriptions>
             </el-col>
-            <el-col :span="12"><div class="grid-content bg-purple-light" />
+            <el-col :span="12">
+              <div class="grid-content bg-purple-light" />
               <el-row>
-                <el-col :span="3" style="margin-top: 40px;font-size: 15px;color: #101010;"><div class="grid-content bg-purple" />���������</el-col>
-                <el-col :span="21"><div class="grid-content bg-purple-light" />
+                <el-col
+                  :span="3"
+                  style="margin-top: 40px;font-size: 15px;color: #101010;"
+                >
+                  <div class="grid-content bg-purple" />���������
+                </el-col>
+                <el-col :span="21">
+                  <div class="grid-content bg-purple-light" />
                   <div>
-                    <div v-for="(file,index) in fileDelayListCover" :key="file.id+index" class="block">
+                    <div
+                      v-for="(file,index) in fileDelayListCover"
+                      :key="file.id+index"
+                      class="block"
+                    >
                       <el-image
                         v-if="file.fileType ===1"
                         style="width: 100px; height: 100px"
                         :src="file.url"
-                        :preview-src-list="fileDelayList"
+                        :preview-src-list="getPreviewImages(file.id,fileDelayList)"
                         :initial-index="index"
                       />
-                      <video v-else :src="file.url" style="width: 100px; height: 100px" @click="openVideo(file)">
+                      <video
+                        v-else
+                        :src="file.url"
+                        style="width: 100px; height: 100px"
+                        @click="openVideo(file)"
+                      >
                         ������������������������ video ���������
                       </video>
                     </div>
-                  </div></el-col>
+                  </div>
+                </el-col>
               </el-row>
             </el-col>
           </el-row>
         </div>
         <!-- ������������ -->
-        <div v-if="dialogData.pageType ==='approve'" class="examineAndApprove">
-          <el-form label-width="90px" :model="rectificationFromData" class="demo-form-inline">
+        <div
+          v-if="dialogData.pageType ==='approve'"
+          class="examineAndApprove"
+        >
+          <el-form
+            label-width="90px"
+            :model="rectificationFromData"
+            class="demo-form-inline"
+          >
             <el-form-item label="������������:">
-              <el-input v-model="approveForm.checkScore" style="width: 120px;" size="mini" />
+              <el-input
+                v-model="approveForm.checkScore"
+                style="width: 120px;"
+                size="mini"
+              />
             </el-form-item>
             <el-form-item label="������:">
               <el-input
@@ -196,15 +416,28 @@
               />
             </el-form-item>
             <el-form-item label="������:">
-              <uploadFile :upload-url="uploadTermExcelUrl" :sys-code="dialogData.sysCode" />
+              <uploadFile
+                :upload-url="uploadTermExcelUrl"
+                :sys-code="dialogData.sysCode"
+              />
             </el-form-item>
           </el-form>
         </div>
         <!-- ������������ -->
-        <div v-if="dialogData.pageType ==='delay' && ( dialogData.pageState ==='approve')" class="examineAndApprove">
-          <el-form label-width="90px" :model="rectificationFromData" class="demo-form-inline">
+        <div
+          v-if="dialogData.pageType ==='delay' && ( dialogData.pageState ==='approve')"
+          class="examineAndApprove"
+        >
+          <el-form
+            label-width="90px"
+            :model="rectificationFromData"
+            class="demo-form-inline"
+          >
             <el-form-item label="������������:">
-              <el-input v-model="delayForm.extensionNum" style="width: 200px;" />
+              <el-input
+                v-model="delayForm.extensionNum"
+                style="width: 200px;"
+              />
             </el-form-item>
             <el-form-item label="������������:">
               <el-input
@@ -215,20 +448,66 @@
               />
             </el-form-item>
             <el-form-item label="������:">
-              <uploadFile :upload-url="uploadTermExcelUrl" :sys-code="dialogData.sysCode" />
+              <uploadFile
+                :upload-url="uploadTermExcelUrl"
+                :sys-code="dialogData.sysCode"
+              />
             </el-form-item>
           </el-form>
         </div>
       </div>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="close()">������</el-button>
-        <el-button v-if="dialogData.pageType ==='approve'" type="danger" @click="handleSubmit(50)">������</el-button>
-        <el-button v-if="dialogData.pageType ==='delay'&& dialogData.pageState ==='edit'" type="danger" @click="handleDelaySubmit(50)">������</el-button>
-        <el-button v-if="dialogData.pageType ==='delay'&& dialogData.pageState ==='edit'" type="primary" @click="handleDelaySubmit(40)">������</el-button>
-        <el-button v-if="dialogData.pageType !=='detail'&& dialogData.pageState ==='approve'" type="primary" @click="handleSubmit(40)">������</el-button>
+      <el-alert
+        v-if="parentFormData.isInvalid===1"
+        title="���������"
+        type="warning"
+        show-icon
+        :description="`���������${parentFormData.invalidReason}`"
+        :closable="false"
+      />
+      <div
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button @click="close()">
+          ������
+        </el-button>
+        <el-button
+          v-if="dialogData.pageType ==='approve'"
+          type="danger"
+          @click="handleSubmit(50)"
+        >
+          ������
+        </el-button>
+        <el-button
+          v-if="dialogData.pageType ==='delay'&& dialogData.pageState ==='edit'"
+          type="danger"
+          @click="handleDelaySubmit(50)"
+        >
+          ������
+        </el-button>
+        <el-button
+          v-if="dialogData.pageType ==='delay'&& dialogData.pageState ==='edit'"
+          type="primary"
+          @click="handleDelaySubmit(40)"
+        >
+          ������
+        </el-button>
+        <el-button
+          v-if="dialogData.pageType !=='detail'&& dialogData.pageState ==='approve'"
+          type="primary"
+          @click="handleSubmit(40)"
+        >
+          ������
+        </el-button>
       </div>
     </el-dialog>
-    <el-dialog :visible.sync="videoVisible" width="600px" :modal-append-to-body="false" :destroy-on-close="true" @close="handleCancel">
+    <el-dialog
+      :visible.sync="videoVisible"
+      width="600px"
+      :modal-append-to-body="false"
+      :destroy-on-close="true"
+      @close="handleCancel"
+    >
       <div style="text-align: center;">
         <video
           ref="video"
@@ -253,14 +532,15 @@
     uploadFile
   },
   props: {
+    isToMap: { type: Boolean, required: true, default: false },
     dialogData: { type: Object, default: () => {} },
     visible: { type: Boolean, required: true }
   },
-  data() {
+  data () {
     return {
       centerDialogVisible: true,
       workForme: {
-        isChange: '',
+        isChange: 1,
         changeName: '',
         changeDescribe: ''
       },
@@ -272,9 +552,7 @@
         remake: '',
         extensionNum: ''
       },
-      rectificationFromData: {
-
-      },
+      rectificationFromData: {},
       dialogVisibleMainGraph: false,
       hasFile: '',
       setepListAdd: {
@@ -287,9 +565,7 @@
           { createName: '', stateName: '������', createTime: '' },
           { createName: '', stateName: '������', createTime: '' }
         ],
-        set3: [
-          { createName: '', stateName: '������', createTime: '' }
-        ]
+        set3: [{ createName: '', stateName: '������', createTime: '' }]
       },
       unitList: [],
       polluteList: [],
@@ -305,56 +581,72 @@
       fileDelayListCover: [],
       fileDelayList: [],
       videoVisible: false,
-      dialogImageUrl: ''
+      dialogImageUrl: '',
+      activeLeng: 1
     }
   },
   computed: {
-    uploadTermExcelUrl() {
+    uploadTermExcelUrl () {
       return `${requestObj.baseUrl}/file/upload`
     },
-    parentFormData() {
-      console.log('parentFormData.approveList', this.dialogData.parentFormData)
+    parentFormData () {
+      console.log('parentFormData.approveList', this.dialogData)
       return this.dialogData.parentFormData
     },
-    updataUnitIdFormatter: function() {
-      const data = this.unitList.find(item => item && item.unitId === this.dialogData.parentFormData.escalationUnitId)
+    updataUnitIdFormatter: function () {
+      const data = this.unitList.find(
+        item =>
+          item &&
+          item.unitId === this.dialogData.parentFormData.escalationUnitId
+      )
       return data ? data.unitName : ''
     },
-    unitIdFormatter: function() {
-      const data = this.unitList.find(item => item && item.unitId === this.dialogData.parentFormData.unitId)
+    unitIdFormatter: function () {
+      const data = this.unitList.find(
+        item => item && item.unitId === this.dialogData.parentFormData.unitId
+      )
       return data ? data.unitName : ''
     },
-    polluteTypeFormatter: function() {
-      const data = this.polluteList.find(item => item && parseInt(item.dataKey) === this.dialogData.parentFormData.polluteType)
+    polluteTypeFormatter: function () {
+      const data = this.polluteList.find(
+        item =>
+          item &&
+          parseInt(item.dataKey) === this.dialogData.parentFormData.polluteType
+      )
       return data ? data.dataValue : ''
     },
-    setepList() {
+    setepList () {
       const leng = this.dialogData.parentFormData.approveList.length
       let data = _.cloneDeep(this.dialogData.parentFormData.approveList)
-
       if (leng === 1) {
         data = [...data, ...this.setepListAdd.set1]
+        // eslint-disable-next-line vue/no-side-effects-in-computed-properties
+        this.activeLeng = 1
       }
       if (leng === 2) {
         data = [...data, ...this.setepListAdd.set2]
+        // eslint-disable-next-line vue/no-side-effects-in-computed-properties
+        this.activeLeng = 2
       }
       if (leng === 3) {
         data = [...data, ...this.setepListAdd.set3]
+        // eslint-disable-next-line vue/no-side-effects-in-computed-properties
+        this.activeLeng = 4
       }
-      console.log('data', leng)
+      console.log('datadata', data)
       return data
     }
   },
   watch: {
-    'parentFormData': {
-      handler(newVal) {
+    parentFormData: {
+      handler (newVal) {
         this.searchthisFileList(newVal)
       },
       deep: true,
       immediate: true
     }
   },
-  created() {
+  created () {
     const name = this.$store.state.user.name
     this.workForme.changeName = name
     this.getContaminateList()
@@ -363,7 +655,7 @@
       console.log('fileList', fileList)
       this.fileList = []
       if (fileList.length > 0) {
-        fileList.map((item) => {
+        fileList.map(item => {
           if (item.response) {
             this.fileList.push(item.response.data)
           }
@@ -372,22 +664,48 @@
     })
   },
   methods: {
-    openVideo(item) {
+    toMap () {
+      this.$emit('update:isToMap', true)
+    },
+    getPreviewImages (index, list) {
+      let startIndex = 0
+      const chechList = _.cloneDeep(list)
+      chechList.forEach((item, i) => {
+        const str = item.substring(item.lastIndexOf('/') + 1)
+        if (Number(str) === Number(index)) {
+          startIndex = i
+        }
+      })
+      console.log('startIndex', startIndex)
+      var imgList = [...list]
+      if (index === 0) return imgList
+      var start = imgList.splice(startIndex)
+      var remain = imgList.splice(0, startIndex)
+      return start.concat(remain)
+    },
+    openVideo (item) {
       console.log('item', item)
       this.dialogImageUrl = item.url
       this.videoVisible = true
     },
-    handleCancel() {
+    handleCancel () {
       this.dialogImageUrl = ''
       this.videoVisible = false
     },
-    searchthisFileList(newVal) {
+    searchthisFileList (newVal) {
       if (newVal.fileBaseList && newVal.fileBaseList.length > 0) {
         newVal.fileBaseList.forEach(item => {
-          // const srcApi = item.fileType === 1 ? api + 'preview/' : api + 'preview/cover/'
-          this.fileBaseList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������
+          if (item.fileType === 1) {
+            this.fileBaseList.push(
+              `${requestObj.baseUrl}/file/preview/${item.fileId}`
+            ) // ������
+          }
+
           this.fileBaseListCover.push({
-            url: item.fileType === 1 ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}` : `${requestObj.baseUrl}/file/preview/${item.fileId}`,
+            url:
+              item.fileType === 1
+                ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}`
+                : `${requestObj.baseUrl}/file/preview/${item.fileId}`,
             fileType: item.fileType,
             id: item.fileId
           })
@@ -396,9 +714,16 @@
       }
       if (newVal.fileChangeList && newVal.fileChangeList.length > 0) {
         newVal.fileChangeList.forEach(item => {
-          this.fileChangeList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������
+          if (item.fileType === 1) {
+            this.fileChangeList.push(
+              `${requestObj.baseUrl}/file/preview/${item.fileId}`
+            ) // ������
+          }
           this.fileChangeListCover.push({
-            url: item.fileType === 1 ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}` : `${requestObj.baseUrl}/file/preview/${item.fileId}`,
+            url:
+              item.fileType === 1
+                ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}`
+                : `${requestObj.baseUrl}/file/preview/${item.fileId}`,
             fileType: item.fileType,
             id: item.fileId
           })
@@ -406,9 +731,19 @@
       }
       if (newVal.fileApproveList && newVal.fileApproveList.length > 0) {
         newVal.fileApproveList.forEach(item => {
-          this.fileApproveList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������
+          if (item.fileType === 1) {
+            this.fileApproveList.push(
+              `${requestObj.baseUrl}/file/preview/${item.fileId}`
+            ) // ������
+          }
+          this.fileApproveList.push(
+            `${requestObj.baseUrl}/file/preview/${item.fileId}`
+          ) // ������
           this.fileApproveListCover.push({
-            url: item.fileType === 1 ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}` : `${requestObj.baseUrl}/file/preview/${item.fileId}`,
+            url:
+              item.fileType === 1
+                ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}`
+                : `${requestObj.baseUrl}/file/preview/${item.fileId}`,
             fileType: item.fileType,
             id: item.fileId
           })
@@ -416,28 +751,38 @@
       }
       if (newVal.fileList && newVal.fileList.length > 0) {
         newVal.fileList.forEach(item => {
-          this.fileDelayList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������
+          if (item.fileType === 1) {
+            this.fileDelayList.push(
+              `${requestObj.baseUrl}/file/preview/${item.fileId}`
+            ) // ������
+          }
+          this.fileDelayList.push(
+            `${requestObj.baseUrl}/file/preview/${item.fileId}`
+          ) // ������
           this.fileDelayListCover.push({
-            url: item.fileType === 1 ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}` : `${requestObj.baseUrl}/file/preview/${item.fileId}`,
+            url:
+              item.fileType === 1
+                ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}`
+                : `${requestObj.baseUrl}/file/preview/${item.fileId}`,
             fileType: item.fileType,
             id: item.fileId
           })
         })
       }
     },
-    close() {
+    close () {
       this.$emit('update:visible', false)
     },
     // ������������������list
-    getUnitList() {
+    getUnitList () {
       this.$request({
         url: '/allocation/unit',
         method: 'get'
-      }).then((res) => {
+      }).then(res => {
         this.unitList = res.data
       })
     },
-    handleDelaySubmit(state) {
+    handleDelaySubmit (state) {
       this.$request({
         url: '/allocationExtension/check',
         method: 'get',
@@ -445,7 +790,7 @@
           id: this.dialogData.parentFormData.id,
           state: state
         }
-      }).then((res) => {
+      }).then(res => {
         if (res.code === 0) {
           this.$emit('update:visible', false)
           this.$emit('handeleSumit')
@@ -454,40 +799,46 @@
         }
       })
     },
-    handleSubmit(state) {
+    handleSubmit (state) {
+      console.log(state)
+      console.log(this.fileList)
       // ������
       let api = '/allocation/change'
       let data = {}
       console.log('this.dialogData.pageType', this.dialogData.pageType)
       if (this.dialogData.pageType === 'work') {
+        if (!this.fileList.length) {
+          this.$message.error('���������������������')
+          return false
+        }
         api = '/allocation/change'
         data = {
-          'allocationId': this.dialogData.parentFormData.allocationId,
+          allocationId: this.dialogData.parentFormData.allocationId,
           ...this.workForme,
-          'fileChangeList': this.fileList,
+          fileChangeList: this.fileList,
           state: 30
         }
       } else if (this.dialogData.pageType === 'approve') {
         api = '/allocation/check'
         data = {
-          'allocationId': this.dialogData.parentFormData.allocationId,
+          allocationId: this.dialogData.parentFormData.allocationId,
           ...this.approveForm,
-          'fileApproveList': this.fileList,
+          fileApproveList: this.fileList,
           state: state
         }
       } else if (this.dialogData.pageType === 'delay') {
         api = '/allocation/applyfor'
         data = {
-          'allocationId': this.dialogData.parentFormData.allocationId,
+          allocationId: this.dialogData.parentFormData.allocationId,
           ...this.delayForm,
-          'fileList': this.fileList
+          fileList: this.fileList
         }
       }
       this.$request({
         url: api,
         method: 'post',
         data: data
-      }).then((res) => {
+      }).then(res => {
         if (res.code === 0) {
           this.$emit('update:visible', false)
           this.$emit('handeleSumit')
@@ -496,11 +847,11 @@
         }
       })
     },
-    getContaminateList() {
+    getContaminateList () {
       this.$request({
         url: '/allocation/contaminate',
         method: 'get'
-      }).then((res) => {
+      }).then(res => {
         this.polluteList = res.data
       })
     }
@@ -509,14 +860,14 @@
 </script>
 
 <style lang="scss" scoped>
-.titBox{
+.titBox {
   position: relative;
   font-size: 18px;
-  div:first-child{
+  div:first-child {
     position: absolute;
     left: 10px;
   }
-  div{
+  div {
     display: inline-block;
   }
 }
@@ -524,26 +875,35 @@
   border-bottom: 1px dashed rgba(187, 187, 187, 1);
   padding-bottom: 10px;
 }
-.inforData{
+.inforData {
   margin-top: 20px;
   border-bottom: 1px dashed rgba(187, 187, 187, 1);
   padding-bottom: 10px;
-  font-size: 15px!important;
-  color: rgba(16, 16, 16, 1)!important;
+  font-size: 15px !important;
+  color: rgba(16, 16, 16, 1) !important;
 }
-  /deep/.itemSpan{
-    width: 70px;
-    text-align: right;
-    font-size: 15px;
-    color: rgba(16, 16, 16, 1);
-  }
-  .rectification ,.examineAndApprove,.rectificationContent{
-    margin-top: 20px;
-    border-bottom: 1px dashed rgba(187, 187, 187, 1);
-    margin-bottom: 10px;
-  }
-  .block {
-    display: inline-block;
-    margin-right: 10px;
+/deep/.itemSpan {
+  width: 70px;
+  text-align: right;
+  font-size: 15px;
+  color: rgba(16, 16, 16, 1);
+}
+.rectification,
+.examineAndApprove,
+.rectificationContent {
+  margin-top: 20px;
+  border-bottom: 1px dashed rgba(187, 187, 187, 1);
+  margin-bottom: 10px;
+}
+.block {
+  display: inline-block;
+  margin-right: 10px;
+}
+.isChangeFile{
+  /deep/.el-form-item__label:before {
+    content: "*";
+    color: #f56c6c;
+    margin-right: 4px;
+}
 }
 </style>

--
Gitblit v1.8.0