|
@@ -6,214 +6,209 @@
|
|
|
<el-form ref="searchForm" :inline="true" :model="searchInfo">
|
|
<el-form ref="searchForm" :inline="true" :model="searchInfo">
|
|
|
<el-form-item label="归属任务">
|
|
<el-form-item label="归属任务">
|
|
|
<el-select v-model="searchInfo.name" size="small" filterable>
|
|
<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>
|
|
|
- <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>
|
|
|
- <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>
|
|
|
- <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">{{
|
|
<span style="color: #fff">{{
|
|
|
file.size | sizeFilter
|
|
file.size | sizeFilter
|
|
|
}}</span>
|
|
}}</span>
|
|
|
</div> -->
|
|
</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"
|
|
class="icon-file-selected"
|
|
|
@click="toggleSelect(file, file.id)"
|
|
@click="toggleSelect(file, file.id)"
|
|
|
></i> -->
|
|
></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>
|
|
|
</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>
|
|
</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"
|
|
v-if="progressFlag"
|
|
|
:text-inside="true"
|
|
:text-inside="true"
|
|
|
:percentage="progress"
|
|
:percentage="progress"
|
|
|
:stroke-width="15"
|
|
:stroke-width="15"
|
|
|
:status="status"
|
|
:status="status"
|
|
|
></el-progress> -->
|
|
></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-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"
|
|
v-model="formFolder.folder_type"
|
|
|
size="small"
|
|
size="small"
|
|
|
@change="changeFolderType"
|
|
@change="changeFolderType"
|
|
@@ -221,68 +216,79 @@
|
|
|
<el-option label="游戏任务" value="0" />
|
|
<el-option label="游戏任务" value="0" />
|
|
|
<el-option label="其他文件" value="1" />
|
|
<el-option label="其他文件" value="1" />
|
|
|
</el-select> -->
|
|
</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>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -307,6 +313,7 @@ import {
|
|
|
renameQiniuFileAndRecord,
|
|
renameQiniuFileAndRecord,
|
|
|
queryFolder,
|
|
queryFolder,
|
|
|
updateMirrorPushPolicy,
|
|
updateMirrorPushPolicy,
|
|
|
|
|
+ checkIsExistMirror,
|
|
|
} from "@/api/fileManager";
|
|
} from "@/api/fileManager";
|
|
|
import { getDirectorList } from "@/api/responsiblePerson";
|
|
import { getDirectorList } from "@/api/responsiblePerson";
|
|
|
import { ref } from "vue";
|
|
import { ref } from "vue";
|
|
@@ -336,6 +343,7 @@ const formPolicy = ref({
|
|
|
pushPolicy: '0',
|
|
pushPolicy: '0',
|
|
|
pushTime: new Date("2099-01-01 15:04:05"),
|
|
pushTime: new Date("2099-01-01 15:04:05"),
|
|
|
})
|
|
})
|
|
|
|
|
+let noMirrorList = ref([]);
|
|
|
const taskOptions = ref();
|
|
const taskOptions = ref();
|
|
|
const fileTypeOptions = ref([]);
|
|
const fileTypeOptions = ref([]);
|
|
|
const directorOptions = ref();
|
|
const directorOptions = ref();
|
|
@@ -374,6 +382,7 @@ const qiniuData = ref({
|
|
|
token: "",
|
|
token: "",
|
|
|
cName: "",
|
|
cName: "",
|
|
|
}); //七牛上传时获取的服务器信息
|
|
}); //七牛上传时获取的服务器信息
|
|
|
|
|
+const dialogVisible = ref(false);
|
|
|
const showVersion = ref(false);
|
|
const showVersion = ref(false);
|
|
|
const showUpdatePolicy = ref(false);
|
|
const showUpdatePolicy = ref(false);
|
|
|
const showUpdateTime = ref(false);
|
|
const showUpdateTime = ref(false);
|
|
@@ -486,6 +495,7 @@ async function navToScript() {
|
|
|
uploadForm.value.way += e.name + ">";
|
|
uploadForm.value.way += e.name + ">";
|
|
|
});
|
|
});
|
|
|
// console.log(uploadForm.value.parentId);
|
|
// console.log(uploadForm.value.parentId);
|
|
|
|
|
+ await getFileTypeOptions();
|
|
|
const folderInfo = await getParentTaskMsg(uploadForm.value.parentId);
|
|
const folderInfo = await getParentTaskMsg(uploadForm.value.parentId);
|
|
|
// console.log(folderInfo);
|
|
// console.log(folderInfo);
|
|
|
if (folderInfo == "") {
|
|
if (folderInfo == "") {
|
|
@@ -504,7 +514,6 @@ async function navToScript() {
|
|
|
uploadForm.value.qiniuVersion = "";
|
|
uploadForm.value.qiniuVersion = "";
|
|
|
uploadForm.value.qiniuAddress = "";
|
|
uploadForm.value.qiniuAddress = "";
|
|
|
progressFlag.value = false;
|
|
progressFlag.value = false;
|
|
|
- await getFileTypeOptions();
|
|
|
|
|
disabledUpload.value = false;
|
|
disabledUpload.value = false;
|
|
|
processMD5.value = '';
|
|
processMD5.value = '';
|
|
|
await getToken();
|
|
await getToken();
|
|
@@ -512,6 +521,16 @@ async function navToScript() {
|
|
|
beforeMD5.value = '';
|
|
beforeMD5.value = '';
|
|
|
keyWord.value = '';
|
|
keyWord.value = '';
|
|
|
uploadForm.value.pushTime = new Date("2099-01-01 15:04:05");
|
|
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() {
|
|
async function getFileTypeOptions() {
|
|
@@ -759,6 +778,7 @@ async function getToken() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
async function selectChanged(aaa) {
|
|
async function selectChanged(aaa) {
|
|
|
|
|
+ // console.log('selectChanged')
|
|
|
// 查询该类型对应最新版本号并+1
|
|
// 查询该类型对应最新版本号并+1
|
|
|
const res = await queryVersionByType({
|
|
const res = await queryVersionByType({
|
|
|
task_id: aaa.task_id,
|
|
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) {
|
|
function clickCopy(msg) {
|
|
|
const save = function (e) {
|
|
const save = function (e) {
|
|
@@ -1307,6 +1351,14 @@ const onSubmit = async () => {
|
|
|
};
|
|
};
|
|
|
files.value.push(temp);
|
|
files.value.push(temp);
|
|
|
}
|
|
}
|
|
|
|
|
+ // 重置路径
|
|
|
|
|
+ breadcrumbList.value = [
|
|
|
|
|
+ {
|
|
|
|
|
+ id: 0,
|
|
|
|
|
+ name: "根目录",
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ ]
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
@@ -1332,6 +1384,14 @@ initMaterialPage();
|
|
|
display: block;
|
|
display: block;
|
|
|
clear: both;
|
|
clear: both;
|
|
|
}
|
|
}
|
|
|
|
|
+.breadcrumb1 {
|
|
|
|
|
+ // background: #807d7e;
|
|
|
|
|
+ padding:1px;
|
|
|
|
|
+ .breadcrumb-a{
|
|
|
|
|
+ // color:#fff !important;
|
|
|
|
|
+ font-size: medium;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
.video-container {
|
|
.video-container {
|
|
|
min-width: 630px;
|
|
min-width: 630px;
|