Переглянути джерело

增加了未上传镜像的游戏查询展示

倚楼听风雨 2 роки тому
батько
коміт
928bda513b
2 змінених файлів з 315 додано та 248 видалено
  1. 7 0
      src/api/fileManager.js
  2. 308 248
      src/view/fileManager/qiniuTransfer.vue

+ 7 - 0
src/api/fileManager.js

@@ -99,3 +99,10 @@ export const updateMirrorPushPolicy = (data) => {
     data,
   });
 };
+export const checkIsExistMirror = (data) => {
+  return service({
+    url: "/fileManager/checkIsExistMirror",
+    method: "post",
+    data,
+  });
+};

+ 308 - 248
src/view/fileManager/qiniuTransfer.vue

@@ -6,214 +6,209 @@
           <el-form ref="searchForm" :inline="true" :model="searchInfo">
             <el-form-item label="归属任务">
               <el-select v-model="searchInfo.name" size="small" filterable>
-                  <el-option v-for="item in taskOptions" :key="item.value" :label="item.label" :value="item.value" />
-                </el-select>
-              </el-form-item>
-              <el-form-item label="负责人">
-                <el-select v-model="searchInfo.director_name" size="small">
-                  <el-option v-for="item in directorOptions" :key="item.value" :label="item.label" :value="item.value" />
-                </el-select>
-              </el-form-item>
-              <el-form-item>
-                <el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button>
-                <el-button size="small" icon="refresh" @click="onReset">重置</el-button>
-              </el-form-item>
-            </el-form>
-          </div>
+                <el-option v-for="item in taskOptions" :key="item.value" :label="item.label" :value="item.value" />
+              </el-select>
+            </el-form-item>
+            <el-form-item label="负责人">
+              <el-select v-model="searchInfo.director_name" size="small">
+                <el-option v-for="item in directorOptions" :key="item.value" :label="item.label" :value="item.value" />
+              </el-select>
+            </el-form-item>
+            <el-form-item>
+              <el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button>
+              <el-button size="small" icon="refresh" @click="onReset">重置</el-button>
+            </el-form-item>
+            <el-form-item>
+              <el-button size="small" type="danger" icon="place" @click="switchCheckMirror()">检查未上传镜像的任务</el-button>
+            </el-form-item>
+          </el-form>
         </div>
-        <div class="gva-search-box" style="padding-bottom: 25px">
-          <div>
-            <el-button size="small" type="primary" icon="upload" @click="navToScript()">上传文件</el-button>
-            <el-button v-if="createButtonVisible" class="excel-btn" size="small" type="success" icon="plus"
-              @click="switchCreateFolder()">新建文件夹</el-button>
-          </div>
+      </div>
+      <div class="gva-search-box" style="padding: 15px">
+        <div>
+          <el-button size="small" type="primary" icon="upload" @click="navToScript()">上传文件</el-button>
+          <el-button v-if="createButtonVisible" class="excel-btn" size="small" type="success" icon="plus"
+            @click="switchCreateFolder()">新建文件夹</el-button>
         </div>
-        <div class="gva-btn-list">
-          <div class="row center">
-            <el-breadcrumb :separator-icon="ArrowRight">
-              <el-breadcrumb-item v-for="(breadcrumb, index) in breadcrumbList" :key="index">
-                <a @click="clickBreadcrumb(breadcrumb, index)">{{
-                  breadcrumb.name
-                }}</a>
-              </el-breadcrumb-item>
-            </el-breadcrumb>
-          </div>
+      </div>
+      <div class="gva-btn-list breadcrumb1">
+        <div class="row center ">
+          <el-breadcrumb :separator-icon="ArrowRight">
+            <el-breadcrumb-item v-for="(breadcrumb, index) in breadcrumbList" :key="index">
+              <a @click="clickBreadcrumb(breadcrumb, index)" class="breadcrumb-a">{{
+                breadcrumb.name
+              }}</a>
+            </el-breadcrumb-item>
+          </el-breadcrumb>
         </div>
-        <div class="gva-table-box">
-          <div class="video-container">
-            <el-card shadow="hover">
-              <div class="video-main">
-                <ul class="list">
-                  <li v-if="files.length == 0" class="list-none">
-                    <el-empty :image-size="100" description="暂无文件" />
-                  </li>
-                  <li v-else v-for="(file, index) in files" :key="index" :class="{ active: file.active }" class="list-item"
-                    @dblclick="dbClickOpenFile(file)">
-                    <el-dropdown trigger="contextmenu" :id="String(file.id)" placement="bottom" @command="handleCommand"
-                      @visible-change="handleChange($event, String(file.id))" ref="dropdownRef">
-                      <div class="inner">
-                        <img :src="file.thumUrl ? file.thumUrl : defultThumUrl" class="icon-thumb" />
-                        <div class="inner-info" v-if="file.isFile">
-                          <!-- <p>
-                          版本:<span style="font-size: 14px">{{
-                            file.file_version
-                          }}</span>
-                        </p> -->
-                          <el-tag size="small" type="info">版本:{{ file.file_version }}</el-tag>
-                          <el-tag size="small" type="success">{{ file.push_policy }}</el-tag>
-                          <!-- <p>
-                                      <span style="font-size: 5px;color:brown">{{
-                                        file.push_policy
-                                      }}</span>
-                                    </p> -->
-                        </div>
+      </div>
+      <div class="gva-table-box">
+        <div class="video-container">
+          <el-card shadow="hover">
+            <div class="video-main">
+              <el-scrollbar height="500px">
+              <ul class="list">
+                <li v-if="files.length == 0" class="list-none">
+                  <el-empty :image-size="100" description="暂无文件" />
+                </li>
+                <li v-else v-for="(file, index) in files" :key="index" :class="{ active: file.active }" class="list-item"
+                  @dblclick="dbClickOpenFile(file)">
+                  <el-dropdown trigger="contextmenu" :id="String(file.id)" placement="bottom" @command="handleCommand"
+                    @visible-change="handleChange($event, String(file.id))" ref="dropdownRef">
+                    <div class="inner">
+                      <img :src="file.thumUrl ? file.thumUrl : defultThumUrl" class="icon-thumb" />
+                      <div class="inner-info" v-if="file.isFile">
+                        <el-tag size="small" type="info">版本:{{ file.file_version }}</el-tag>
+                        <el-tag size="small" type="success">{{ file.push_policy }}</el-tag>
+                      </div>
 
-                        <!-- <i v-else class="icon-folder"></i> -->
-                        <!-- <div v-show="file.resType > 0" class="hover-cover">
+                      <!-- <i v-else class="icon-folder"></i> -->
+                      <!-- <div v-show="file.resType > 0" class="hover-cover">
                       <span style="color: #fff">{{
                         file.size | sizeFilter
                       }}</span>
                     </div> -->
-                      </div>
+                    </div>
 
-                      <template #dropdown>
-                        <el-dropdown-menu>
-                          <el-dropdown-item v-if="file.isFile == false"
-                            :command="beforeHandleCommand('open', file)"><el-icon>
-                              <Position />
-                            </el-icon>打开</el-dropdown-item>
-                          <el-dropdown-item v-if="file.isFile" :command="beforeHandleCommand('info', file)"><el-icon>
-                              <InfoFilled />
-                            </el-icon>文件信息</el-dropdown-item>
-                          <el-dropdown-item v-if="file.isFile" :command="beforeHandleCommand('rename', file)"><el-icon>
-                              <InfoFilled />
-                            </el-icon>重命名</el-dropdown-item>
-                          <el-dropdown-item v-if="file.isFile"
-                            :command="beforeHandleCommand('updatePolicy', file)"><el-icon>
-                              <InfoFilled />
-                            </el-icon>更新策略</el-dropdown-item>
-                          <el-dropdown-item v-if="file.isFile" :command="beforeHandleCommand('getUrl', file)"><el-icon>
-                              <Share />
-                            </el-icon>获取链接</el-dropdown-item>
-                          <el-dropdown-item v-if="file.isFile" :command="beforeHandleCommand('download', file)"><el-icon>
-                              <Download />
-                            </el-icon>下载</el-dropdown-item>
-                          <el-dropdown-item v-if="file.isFile" :command="beforeHandleCommand('delete', file)"><el-icon>
-                              <DeleteFilled />
-                            </el-icon>删除</el-dropdown-item>
-                        </el-dropdown-menu>
-                      </template>
-                    </el-dropdown>
-                    <!-- <i
+                    <template #dropdown>
+                      <el-dropdown-menu>
+                        <el-dropdown-item v-if="file.isFile == false"
+                          :command="beforeHandleCommand('open', file)"><el-icon>
+                            <Position />
+                          </el-icon>打开</el-dropdown-item>
+                        <el-dropdown-item v-if="file.isFile" :command="beforeHandleCommand('info', file)"><el-icon>
+                            <InfoFilled />
+                          </el-icon>文件信息</el-dropdown-item>
+                        <el-dropdown-item v-if="file.isFile" :command="beforeHandleCommand('rename', file)"><el-icon>
+                            <InfoFilled />
+                          </el-icon>重命名</el-dropdown-item>
+                        <el-dropdown-item v-if="file.isFile"
+                          :command="beforeHandleCommand('updatePolicy', file)"><el-icon>
+                            <InfoFilled />
+                          </el-icon>更新策略</el-dropdown-item>
+                        <el-dropdown-item v-if="file.isFile" :command="beforeHandleCommand('getUrl', file)"><el-icon>
+                            <Share />
+                          </el-icon>获取链接</el-dropdown-item>
+                        <el-dropdown-item v-if="file.isFile" :command="beforeHandleCommand('download', file)"><el-icon>
+                            <Download />
+                          </el-icon>下载</el-dropdown-item>
+                        <el-dropdown-item v-if="file.isFile" :command="beforeHandleCommand('delete', file)"><el-icon>
+                            <DeleteFilled />
+                          </el-icon>删除</el-dropdown-item>
+                      </el-dropdown-menu>
+                    </template>
+                  </el-dropdown>
+                  <!-- <i
                     class="icon-file-selected"
                     @click="toggleSelect(file, file.id)"
                   ></i> -->
-                    <div class="file-name">
-                      <span :title="file.name">{{ file.name }}</span>
-                    </div>
-                  </li>
-                </ul>
-              </div>
-            </el-card>
-          </div>
+                  <div class="file-name">
+                    <span :title="file.name">{{ file.name }}</span>
+                  </div>
+                </li>
+              </ul>
+              </el-scrollbar>
+            </div>
+          </el-card>
         </div>
       </div>
-      <el-dialog title="文件上传界面" v-model="uploadVisible" :center="true" :close-on-click-modal="false"
-        :close-on-press-escape="false">
-        <el-form ref="elForm2" :model="uploadForm" size="default" label-width="100px">
-          <el-form-item label="上传目录" prop="way">
-            <el-col :span="20">
-              <el-input v-model="uploadForm.way" placeholder="根目录" disabled></el-input>
-            </el-col>
-          </el-form-item>
-          <el-form-item label="关联任务" prop="id">
-            <el-col :span="20">
-              <el-input v-model="uploadForm.task_id" placeholder="关联任务" disabled></el-input>
-            </el-col>
-          </el-form-item>
-          <el-form-item label="任务名称" prop="name">
-            <el-col :span="20">
-              <el-input v-model="uploadForm.task_name" placeholder="任务名称" disabled></el-input>
-            </el-col>
-          </el-form-item>
-          <el-form-item label="文件类型" prop="type">
-            <el-col :span="20">
-              <el-select v-model="uploadForm.type" placeholder="文件类型" :style="{ width: '100%' }"
-                @change="selectChanged(uploadForm)">
-                <el-option v-for="item in fileTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
-              </el-select>
-            </el-col>
-          </el-form-item>
-          <el-form-item v-if="showUpdatePolicy" label="更新策略" prop="type">
-            <el-col :span="20">
-              <el-radio-group v-model="uploadForm.pushPolicy" @change="pushPolicyChanged(uploadForm.pushPolicy)">
-                <el-radio label="0" size="large">暂不更新</el-radio>
-                <el-radio label="1" size="large">立即更新</el-radio>
-                <el-radio label="2" size="large">延迟更新</el-radio>
-              </el-radio-group>
-            </el-col>
-          </el-form-item>
-          <el-form-item v-if="showUpdateTime" label="更新时间" prop="type">
-            <el-col :span="20">
-              <el-date-picker v-model="uploadForm.pushTime" type="datetime" placeholder="选择日期时间" />
-            </el-col>
-          </el-form-item>
-          <el-form-item label="文件名称" prop="qiniuVersion">
-            <el-col :span="20">
-              <el-input v-model="uploadForm.fileName" placeholder="文件名称,选择文件后自动生成" disabled
-                :style="{ width: '100%' }"></el-input>
-            </el-col>
-          </el-form-item>
-          <el-form-item v-if="showVersion" label="更新版本" prop="qiniuVersion">
-            <el-col :span="20">
-              <el-input v-model="uploadForm.qiniuVersion" placeholder="版本号" disabled :style="{ width: '100%' }"></el-input>
-            </el-col>
-          </el-form-item>
-          <el-form-item v-if="showUpload" label="MD5进度">
-            <p style="color:brown">{{ processMD5 }}</p>
-            <p style="color:rgb(255, 0, 0)">{{ keyWord }}</p>
-          </el-form-item>
-          <el-form-item v-if="showUpload" label="选择文件" prop="qiniuAddress">
-            <el-col :span="20">
-              <el-upload :limit="1" action="http://upload-z2.qiniup.com" :data="qiniuData" drag :disabled="disabledUpload"
-                :show-file-list="false" :http-request="uploadHttpRequest" :on-success="handleAvatarSuccess"
-                :before-upload="beforeAvatarUpload" :on-progress="onProgress">
-                <div class="el-default" v-if="!progressFlag">
-                  <i class="el-icon-upload"></i>
-                  <div class="el-upload__text">
-                    将文件拖到此处,或<em> 点击上传 </em>
-                  </div>
+    </div>
+    <el-dialog title="文件上传界面" v-model="uploadVisible" :center="true" :close-on-click-modal="false"
+      :close-on-press-escape="false">
+      <el-form ref="elForm2" :model="uploadForm" size="default" label-width="100px">
+        <el-form-item label="上传目录" prop="way">
+          <el-col :span="20">
+            <el-input v-model="uploadForm.way" placeholder="根目录" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="关联任务" prop="id">
+          <el-col :span="20">
+            <el-input v-model="uploadForm.task_id" placeholder="关联任务" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="任务名称" prop="name">
+          <el-col :span="20">
+            <el-input v-model="uploadForm.task_name" placeholder="任务名称" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="文件类型" prop="type">
+          <el-col :span="20">
+            <el-select v-model="uploadForm.type" placeholder="文件类型" :style="{ width: '100%' }"
+              @change="selectChanged(uploadForm)">
+              <el-option v-for="item in fileTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
+            </el-select>
+          </el-col>
+        </el-form-item>
+        <el-form-item v-if="showUpdatePolicy" label="更新策略" prop="type">
+          <el-col :span="20">
+            <el-radio-group v-model="uploadForm.pushPolicy" @change="pushPolicyChanged(uploadForm.pushPolicy)">
+              <el-radio label="0" size="large">暂不更新</el-radio>
+              <el-radio label="1" size="large">立即更新</el-radio>
+              <el-radio label="2" size="large">延迟更新</el-radio>
+            </el-radio-group>
+          </el-col>
+        </el-form-item>
+        <el-form-item v-if="showUpdateTime" label="更新时间" prop="type">
+          <el-col :span="20">
+            <el-date-picker v-model="uploadForm.pushTime" type="datetime" placeholder="选择日期时间" />
+          </el-col>
+        </el-form-item>
+        <el-form-item label="文件名称" prop="qiniuVersion">
+          <el-col :span="20">
+            <el-input v-model="uploadForm.fileName" placeholder="文件名称,选择文件后自动生成" disabled
+              :style="{ width: '100%' }"></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item v-if="showVersion" label="更新版本" prop="qiniuVersion">
+          <el-col :span="20">
+            <el-input v-model="uploadForm.qiniuVersion" placeholder="版本号" disabled :style="{ width: '100%' }"></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item v-if="showUpload" label="MD5进度">
+          <p style="color:brown">{{ processMD5 }}</p>
+          <p style="color:rgb(255, 0, 0)">{{ keyWord }}</p>
+        </el-form-item>
+        <el-form-item v-if="showUpload" label="选择文件" prop="qiniuAddress">
+          <el-col :span="20">
+            <el-upload :limit="1" action="http://upload-z2.qiniup.com" :data="qiniuData" drag :disabled="disabledUpload"
+              :show-file-list="false" :http-request="uploadHttpRequest" :on-success="handleAvatarSuccess"
+              :before-upload="beforeAvatarUpload" :on-progress="onProgress">
+              <div class="el-default" v-if="!progressFlag">
+                <i class="el-icon-upload"></i>
+                <div class="el-upload__text">
+                  将文件拖到此处,或<em> 点击上传 </em>
                 </div>
-                <el-progress type="circle" :percentage="progress" :stroke-width="15" style="margin-top: 20px"
-                  v-if="progressFlag">
-                </el-progress>
-              </el-upload>
-              <!-- 进度条 -->
-              <!-- <el-progress
+              </div>
+              <el-progress type="circle" :percentage="progress" :stroke-width="15" style="margin-top: 20px"
+                v-if="progressFlag">
+              </el-progress>
+            </el-upload>
+            <!-- 进度条 -->
+            <!-- <el-progress
 							v-if="progressFlag"
 							:text-inside="true"
 							:percentage="progress"
 							:stroke-width="15"
 							:status="status"
 						></el-progress> -->
-            </el-col>
-          </el-form-item>
-          <el-form-item>
-            <el-button size="small" @click="cancelUp()">取消上传</el-button>
-            <!-- <el-button type="primary" size="small" @click="recordFile(uploadForm)"
+          </el-col>
+        </el-form-item>
+        <el-form-item>
+          <el-button size="small" @click="cancelUp()">取消上传</el-button>
+          <!-- <el-button type="primary" size="small" @click="recordFile(uploadForm)"
 						>确定上传</el-button
 					> -->
-          </el-form-item>
-        </el-form>
-      </el-dialog>
-      <el-dialog v-model="fileFolderVisible" title="新建文件夹" width="50%" :close-on-press-escape="false" :show-close="false"
-        :close-on-click-modal="false">
-        <el-form v-if="fileFolderVisible" :inline="true" :model="formFolder" :rules="rules" label-position="left"
-          label-width="100px">
-          <el-row :gutter="2">
-            <el-col :span="24">
-              <el-form-item label="文件夹类型" prop="folder_type">
-                <!-- <el-select
+        </el-form-item>
+      </el-form>
+    </el-dialog>
+    <el-dialog v-model="fileFolderVisible" title="新建文件夹" width="50%" :close-on-press-escape="false" :show-close="false"
+      :close-on-click-modal="false">
+      <el-form v-if="fileFolderVisible" :inline="true" :model="formFolder" :rules="rules" label-position="left"
+        label-width="100px">
+        <el-row :gutter="2">
+          <el-col :span="24">
+            <el-form-item label="文件夹类型" prop="folder_type">
+              <!-- <el-select
               v-model="formFolder.folder_type"
               size="small"
               @change="changeFolderType"
@@ -221,68 +216,79 @@
               <el-option label="游戏任务" value="0" />
               <el-option label="其他文件" value="1" />
             </el-select> -->
-                <el-select v-model="formFolder.folder_type" placeholder="文件夹类型" :style="{ width: '100%' }" size="small"
-                  @change="changeFolderType">
-                  <el-option v-for="item in folderTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
-                </el-select>
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row :gutter="2" v-if="taskFolderVisible">
-            <el-col :span="24">
-              <el-form-item label="任务名称" prop="task">
-                <el-select v-model="formFolder.task" size="small" filterable @change="changeTask">
-                  <el-option v-for="item in taskOptions" :key="item.value" :label="item.label" :value="item.value" />
-                </el-select>
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row :gutter="2">
-            <el-col :span="24">
-              <el-form-item label="文件夹名" prop="folder_name">
-                <el-input v-model="formFolder.folder_name" :disabled="disabledFolderName" />
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-        <template #footer>
-          <div class="dialog-footer">
-            <el-button size="small" @click="fileFolderVisible = false">取 消</el-button>
-            <el-button size="small" type="primary" @click="createFolder()">确 定</el-button>
-          </div>
-        </template>
-      </el-dialog>
-      <el-dialog title="修改策略" v-model="policyVisible" :center="true" :close-on-click-modal="false">
-        <el-form :model="formPolicy">
-          <el-form-item label="文件名称" prop="file_name">
-            <el-col :span="20">
-              <el-input v-model="formPolicy.file_name" disabled></el-input>
-            </el-col>
-          </el-form-item>
-          <el-form-item label="更新策略" prop="type">
-            <el-col :span="20">
-              <el-radio-group v-model="formPolicy.pushPolicy" @change="formPolicyChanged(formPolicy.pushPolicy)">
-                <el-radio label="0" size="large">暂不更新</el-radio>
-                <el-radio label="1" size="large">立即更新</el-radio>
-                <el-radio label="2" size="large">延迟更新</el-radio>
-              </el-radio-group>
-            </el-col>
-          </el-form-item>
-          <el-form-item v-if="showUpdateTime2" label="更新时间" prop="type">
-            <el-col :span="20">
-              <el-date-picker v-model="formPolicy.pushTime" type="datetime" placeholder="选择日期时间" />
-            </el-col>
-          </el-form-item>
-        </el-form>
-        <template #footer>
-          <span class="dialog-footer">
-            <el-button @click="policyVisible = false">取消</el-button>
-            <el-button type="primary" @click="updatePolicy()">
-              确定
-            </el-button>
-          </span>
-        </template>
-      </el-dialog>
+              <el-select v-model="formFolder.folder_type" placeholder="文件夹类型" :style="{ width: '100%' }" size="small"
+                @change="changeFolderType">
+                <el-option v-for="item in folderTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="2" v-if="taskFolderVisible">
+          <el-col :span="24">
+            <el-form-item label="任务名称" prop="task">
+              <el-select v-model="formFolder.task" size="small" filterable @change="changeTask">
+                <el-option v-for="item in taskOptions" :key="item.value" :label="item.label" :value="item.value" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="2">
+          <el-col :span="24">
+            <el-form-item label="文件夹名" prop="folder_name">
+              <el-input v-model="formFolder.folder_name" :disabled="disabledFolderName" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button size="small" @click="fileFolderVisible = false">取 消</el-button>
+          <el-button size="small" type="primary" @click="createFolder()">确 定</el-button>
+        </div>
+      </template>
+    </el-dialog>
+    <el-dialog title="修改策略" v-model="policyVisible" :center="true" :close-on-click-modal="false">
+      <el-form :model="formPolicy">
+        <el-form-item label="文件名称" prop="file_name">
+          <el-col :span="20">
+            <el-input v-model="formPolicy.file_name" disabled></el-input>
+          </el-col>
+        </el-form-item>
+        <el-form-item label="更新策略" prop="type">
+          <el-col :span="20">
+            <el-radio-group v-model="formPolicy.pushPolicy" @change="formPolicyChanged(formPolicy.pushPolicy)">
+              <el-radio label="0" size="large">暂不更新</el-radio>
+              <el-radio label="1" size="large">立即更新</el-radio>
+              <el-radio label="2" size="large">延迟更新</el-radio>
+            </el-radio-group>
+          </el-col>
+        </el-form-item>
+        <el-form-item v-if="showUpdateTime2" label="更新时间" prop="type">
+          <el-col :span="20">
+            <el-date-picker v-model="formPolicy.pushTime" type="datetime" placeholder="选择日期时间" />
+          </el-col>
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="policyVisible = false">取消</el-button>
+          <el-button type="primary" @click="updatePolicy()">
+            确定
+          </el-button>
+        </span>
+      </template>
+    </el-dialog>
+
+    <el-dialog title="未上传镜像的游戏任务" v-model="dialogVisible" :center="true" :close-on-click-modal="true"
+      :close-on-press-escape="true" width="60%">
+      <el-table :data="noMirrorList" border style="width: 100%" max-height="600" size="small">
+        <el-table-column prop="task_id" label="任务ID" min-width="80" align="center" />
+        <el-table-column prop="task_name" label="任务名称" min-width="80" align="center" />
+        <el-table-column prop="user" label="负责人" min-width="80" align="center" />
+      </el-table>
+    </el-dialog>
+
+
   </div>
 </template>
 
@@ -307,6 +313,7 @@ import {
   renameQiniuFileAndRecord,
   queryFolder,
   updateMirrorPushPolicy,
+  checkIsExistMirror,
 } from "@/api/fileManager";
 import { getDirectorList } from "@/api/responsiblePerson";
 import { ref } from "vue";
@@ -336,6 +343,7 @@ const formPolicy = ref({
   pushPolicy: '0',
   pushTime: new Date("2099-01-01 15:04:05"),
 })
+let noMirrorList = ref([]);
 const taskOptions = ref();
 const fileTypeOptions = ref([]);
 const directorOptions = ref();
@@ -374,6 +382,7 @@ const qiniuData = ref({
   token: "",
   cName: "",
 }); //七牛上传时获取的服务器信息
+const dialogVisible = ref(false);
 const showVersion = ref(false);
 const showUpdatePolicy = ref(false);
 const showUpdateTime = ref(false);
@@ -486,6 +495,7 @@ async function navToScript() {
     uploadForm.value.way += e.name + ">";
   });
   // console.log(uploadForm.value.parentId);
+  await getFileTypeOptions();
   const folderInfo = await getParentTaskMsg(uploadForm.value.parentId);
   // console.log(folderInfo);
   if (folderInfo == "") {
@@ -504,7 +514,6 @@ async function navToScript() {
   uploadForm.value.qiniuVersion = "";
   uploadForm.value.qiniuAddress = "";
   progressFlag.value = false;
-  await getFileTypeOptions();
   disabledUpload.value = false;
   processMD5.value = '';
   await getToken();
@@ -512,6 +521,16 @@ async function navToScript() {
   beforeMD5.value = '';
   keyWord.value = '';
   uploadForm.value.pushTime = new Date("2099-01-01 15:04:05");
+  //如果在文件类型子目录下,则直接预选文件类型
+  if (breadcrumbList.value[breadcrumbList.value.length - 2].name == uploadForm.value.task_id + "|" + uploadForm.value.task_name) {
+    fileTypeOptions.value.forEach(e => {
+      if (e.name == breadcrumbList.value[breadcrumbList.value.length - 1].name) {
+        uploadForm.value.type = e.value
+      }
+    });
+    await selectChanged(uploadForm.value)
+  }
+
 }
 // 查询所有文件类型
 async function getFileTypeOptions() {
@@ -759,6 +778,7 @@ async function getToken() {
   }
 }
 async function selectChanged(aaa) {
+  // console.log('selectChanged')
   // 查询该类型对应最新版本号并+1
   const res = await queryVersionByType({
     task_id: aaa.task_id,
@@ -1243,6 +1263,30 @@ async function initMaterialPage(id = 0) {
     }
   }
 }
+// 查询未上传镜像的游戏任务
+async function switchCheckMirror() {
+  noMirrorList.value = [];
+  const loading = ElLoading.service({
+    lock: true,
+    text: "正在查询...",
+    spinner: "el-icon-loading",
+    background: "rgba(0, 0, 0, 0.9)"
+  });
+  const resMirror = await checkIsExistMirror();
+  if (resMirror.code === 0) {
+    const mirrorList = resMirror.data.list
+    mirrorList.forEach(e => {
+      let temp = {
+        task_id: e.task_id,
+        task_name: e.task_name,
+        user: e.user
+      }
+      noMirrorList.value.push(temp)
+    });
+  }
+  loading.close()
+  dialogVisible.value = true;
+}
 // 点击复制到剪切板
 function clickCopy(msg) {
   const save = function (e) {
@@ -1307,6 +1351,14 @@ const onSubmit = async () => {
         };
         files.value.push(temp);
       }
+      // 重置路径
+      breadcrumbList.value = [
+        {
+          id: 0,
+          name: "根目录",
+        }
+
+      ]
     }
   }
 };
@@ -1332,6 +1384,14 @@ initMaterialPage();
   display: block;
   clear: both;
 }
+.breadcrumb1 {
+  // background: #807d7e;
+  padding:1px;
+  .breadcrumb-a{
+    // color:#fff !important;
+    font-size: medium;
+  }
+}
 
 .video-container {
   min-width: 630px;