qiushang 1 vuosi sitten
vanhempi
commit
cdb23347d3
1 muutettua tiedostoa jossa 55 lisäystä ja 191 poistoa
  1. 55 191
      src/renderer/components/home.vue

+ 55 - 191
src/renderer/components/home.vue

@@ -227,21 +227,14 @@
 
 							<div class="content-top">
 								<el-button-group>
-									<el-button type="primary" size="small" icon="el-icon-document"
+									<el-button type="primary" size="mini" icon="el-icon-document"
 										@click="pickFile()">添加文件</el-button>
-									<el-button type="primary" size="small" icon="el-icon-folder"
+									<el-button type="primary" size="mini" icon="el-icon-folder"
 										@click="pickDir()">添加文件夹</el-button>
-									<el-button type="primary" size="small" icon="el-icon-delete"
+									<el-button type="primary" size="mini" icon="el-icon-delete"
 										@click="clearList()">清空列表</el-button>
 								</el-button-group>
-								<div>
-									<span>保存目录:</span>
-									<el-input :title="handleData.newPath" ref="upload-input" @focus="pickPath" placeholder="请选择输出目录" size="mini" v-model="handleData.newPath" readonly style="width:180px;" prefix-icon="el-icon-folder"></el-input>
-									<el-popover placement="bottom" popper-class="popper-open" trigger="hover" content="打开保存目录">
-									    <i class="el-icon-folder-opened" slot="reference" style="padding-left: 5px; cursor: pointer; font-size: 22px; vertical-align: middle;" @click="openFolder()"></i>
-									</el-popover>
-									<el-button type="danger" style="margin: 0 20px;" @click="exportFile()" :loading="loading">开始转换</el-button>
-								</div>
+								
 							</div>
 
 							<div v-if="activeName && this[listStr+'List'].length == 0" class="upload-area">
@@ -322,204 +315,68 @@
 							<!-- 底部设置区域 -->
 							<div class="img-footer-area" v-if="this[listStr + 'List'].length > 0">
 								<div class="footer-line-between">
-									<!-- 1格式转化 -->
-									<div class="handle-item" v-if="menuIndex == '1' || menuIndex == '2'">
-										<label class="handle-label">输出格式:</label>
-										<el-select v-model="handleData.format" style="width:80px;" size="small">
-											<el-option v-for="(item, key) in outputVedio" :key="key" :value="item" :label="item"></el-option>
-										</el-select>
-										
-										<label class="handle-label">视频清晰度:</label>
-										<el-select v-model="handleData.type" style="width:100px" size="small" @change="selectVideoType">
-											<el-option :value="1" label="画质区分"></el-option>
-											<el-option :value="2" label="码率区分"></el-option>
-										</el-select>
-										
-										<template v-if="handleData.type == 2">
-											<label class="handle-label">视频码率:</label>
-											<el-select v-model="handleData.quality" style="width:100px;" size="small">
-												<el-option value="1" label="同源视频"></el-option>
-												<el-option value="1m" label="1Mbit/s"></el-option>
-												<el-option value="1.5m" label="1.5Mbit/s"></el-option>
-												<el-option value="2m" label="2Mbit/s"></el-option>
-												<el-option value="3m" label="3Mbit/s"></el-option>
-												<el-option value="4m" label="4Mbit/s"></el-option>
-												<el-option value="5m" label="5Mbit/s"></el-option>
-												<el-option value="8m" label="8Mbit/s"></el-option>
-												<el-option value="10m" label="10Mbit/s"></el-option>
-											</el-select>
-										</template>
-										<template v-else>
-											<label class="handle-label">视频画质:</label>
-											<el-select v-model="handleData.quality" style="width:80px" size="small">
-												<el-option value="1" label="原画"></el-option>
-												<el-option value="2" label="高清"></el-option>
-												<el-option value="3" label="流畅"></el-option>
-											</el-select>
-										</template>
-										
-										<label class="handle-label">视频分辨率:</label>
-										<el-select v-model="handleData.fenbianlv" style="width:120px;" size="small" @change="changeFenbianlv">
-											<el-option :value="-1" label="同原视频"></el-option>
-											<el-option :value="1" label="3840*2160"></el-option>
-											<el-option :value="2" label="1280*720"></el-option>
-											<el-option :value="3" label="720*576"></el-option>
-											<el-option :value="4" label="640*480"></el-option>
-											<el-option :value="5" label="自定义"></el-option>
-											<el-option :value="6" label="自定义(16:9)"></el-option>
-											<el-option :value="7" label="自定义(4:3)"></el-option>
-										</el-select>
-										
-										<template v-if="[5, 6, 7].includes(handleData.fenbianlv)">
-											<label class="handle-label">宽:</label>
-											<el-input-number size="small" v-model="handleData.width" style="width: 100px;" controls-position="right" @change="changeWidth" :min="1"></el-input-number>
-											
-											<label class="handle-label">高:</label>
-											<el-input-number size="small" v-model="handleData.height" style="width: 100px;" controls-position="right" @change="changeHeight" :min="1"></el-input-number>
-										</template>
-										
+									<div class="handle-item" v-if="activeName == '1-1'">
+										<label class="handle-label">转换格式:</label>
+										<el-radio-group v-model="handleData.docType">
+											<el-radio label="docx">docx</el-radio>
+											<el-radio label="doc">doc</el-radio>
+										</el-radio-group>
 									</div>
 									
-									<!-- 3视频转gif -->
-									<div class="handle-item" v-if="menuIndex == '3'">
-										<label class="handle-label">视频分辨率:</label>
-										<el-select v-model="handleData.fenbianlv" style="width:100px;" size="small" @change="changeFenbianlv">
-											<el-option :value="-1" label="同原视频"></el-option>
-											<el-option :value="1" label="3840*2160"></el-option>
-											<el-option :value="2" label="1280*720"></el-option>
-											<el-option :value="3" label="720*576"></el-option>
-											<el-option :value="4" label="640*480"></el-option>
-											<el-option :value="5" label="自定义"></el-option>
-											<el-option :value="6" label="自定义(16:9)"></el-option>
-											<el-option :value="7" label="自定义(4:3)"></el-option>
-										</el-select>
-										<template v-if="[5, 6, 7].includes(handleData.fenbianlv)">
-											<label class="handle-label">宽:</label>
-											<el-input-number size="small" v-model="handleData.width" style="width: 100px;" controls-position="right" @change="changeWidth" :min="1"></el-input-number>
-											
-											<label class="handle-label">高:</label>
-											<el-input-number size="small" v-model="handleData.height" style="width: 100px;" controls-position="right" @change="changeHeight" :min="1"></el-input-number>
-										</template>
-										
-										
-										<label class="handle-label">开始时间:</label>
-										第 <el-input-number size="small" v-model="handleData.start" style="width: 90px;" controls-position="right" :min="0"></el-input-number> 秒
-							
-										<label class="handle-label">结束时间:</label>
-										<el-select v-model="handleData.isVideoDuration" size="small" style="width:120px">
-											<el-option :value="1" label="同原视频"></el-option>
-											<el-option :value="2" label="自定义时间"></el-option>
-										</el-select>
-										<template v-if="handleData.isVideoDuration != 1">
-											<label class="handle-label"> </label>
-											第 <el-input-number size="small" v-model="handleData.limit" style="width: 90px;" controls-position="right" :min="1"></el-input-number> 秒
-										</template>
+									<div class="handle-item" v-if="activeName == '1-2'">
+										<label class="handle-label">转换格式:</label>
+										<el-radio-group v-model="handleData.pptType">
+											<el-radio label="pptx">pptx</el-radio>
+											<el-radio label="ppt">ppt</el-radio>
+										</el-radio-group>
 									</div>
 									
-									<!-- 4视频转音频 -->
-									<div class="handle-item" v-if="menuIndex == '4'">
-										<label class="handle-label">音频格式:</label>
-										<el-select v-model="handleData.auto_format" style="width:100px;" size="small">
-											<el-option v-for="(item,key) in outputAudio" :key="key" :value="item" :label="item"></el-option>
-										</el-select>
+									<div class="handle-item" v-if="activeName == '1-3'">
+										<label class="handle-label">转换格式:</label>
+										<el-radio-group v-model="handleData.xlsType">
+											<el-radio label="xlsx">xlsx</el-radio>
+											<el-radio label="xls">xls</el-radio>
+										</el-radio-group>
 									</div>
 									
-									<!-- 5视频压缩 -->
-									<div class="handle-item" v-if="menuIndex == '5'">
-										<label class="handle-label">视频分辨率:</label>
-										<el-select v-model="handleData.fenbianlv" style="width:100px;" size="small" @change="changeFenbianlv">
-											<el-option :value="-1" label="同原视频"></el-option>
-											<el-option :value="1" label="3840*2160"></el-option>
-											<el-option :value="2" label="1280*720"></el-option>
-											<el-option :value="3" label="720*576"></el-option>
-											<el-option :value="4" label="640*480"></el-option>
-											<el-option :value="5" label="自定义"></el-option>
-											<el-option :value="6" label="自定义(16:9)"></el-option>
-											<el-option :value="7" label="自定义(4:3)"></el-option>
-										</el-select>
-										<template v-if="[5, 6, 7].includes(handleData.fenbianlv)">
-											<label class="handle-label">宽:</label>
-											<el-input-number size="small" v-model="handleData.width" style="width: 100px;" controls-position="right" @change="changeWidth" :min="1"></el-input-number>
-											
-											<label class="handle-label">高:</label>
-											<el-input-number size="small" v-model="handleData.height" style="width: 100px;" controls-position="right" @change="changeHeight" :min="1"></el-input-number>
-										</template>
-										
-										<label class="handle-label">视频码率:</label>
-										<el-select v-model="handleData.videoQuality" style="width:100px;" size="small">
-											<el-option value="-1" label="同原视频"></el-option>
-											<el-option value="0.9" label="90%"></el-option>
-											<el-option value="0.8" label="80%"></el-option>
-											<el-option value="0.7" label="70%"></el-option>
-											<el-option value="0.6" label="60%"></el-option>
-											<el-option value="0.5" label="50%"></el-option>
-											<el-option value="0.4" label="40%"></el-option>
-											<el-option value="0.3" label="30%"></el-option>
-											<el-option value="0.2" label="20%"></el-option>
-											<el-option value="0.1" label="10%"></el-option>
-										</el-select>
+									<!-- 2-4 -->
+									<div class="handle-item" v-if="activeName == '2-4'">
+										<label style="font-weight: 600;">将所有图片合成一个PDF:</label>
+										<el-radio-group v-model="handleData.imgContact">
+											<el-radio label="1">否</el-radio>
+											<el-radio label="2">是</el-radio>
+										</el-radio-group>
 										
-										<label class="handle-label">音频码率:</label>
-										<el-select v-model="handleData.audioQuality" style="width:100px;" size="small">
-											<el-option value="-1" label="同原视频"></el-option>
-											<el-option value="64" label="64"></el-option>
-											<el-option value="96" label="96"></el-option>
-											<el-option value="128" label="128(标准)"></el-option>
-											<el-option value="160" label="160"></el-option>
-											<el-option value="192" label="192(较高)"></el-option>
-											<el-option value="256" label="256"></el-option>
-										</el-select>
+										<template v-if="handleData.imgContact == '2'">
+											<label class="handle-label">合并名称:</label>
+											<el-input placeholder="合并名称" size="mini" v-model="handleData.contactImgname" style="width:150px;"></el-input>.pdf
+										</template>
 									</div>
 									
-									<!-- 6音频消音 -->
-									<div class="handle-item remove" v-if="menuIndex == '6'">
-										<label class="handle-label">去除声音:</label>
-										<el-checkbox v-model="handleData.audioRemove" disabled></el-checkbox>
-										<el-input-number size="small" disabled style="opacity: 0;"></el-input-number>
+									<!-- 3-2 pdf合并 -->
+									<div class="handle-item" v-if="activeName == '3-2'">
+										<label class="handle-label">合并名称:</label>
+										<el-input placeholder="合并名称" size="mini" v-model="handleData.contactName" style="width:150px;"></el-input>.pdf
 									</div>
 									
-									<!-- 7视频变速 -->
-									<div class="handle-item" style="padding: 4px 0;" v-if="menuIndex == '7'">
-										<label class="handle-label">选择设置:</label>
-										<el-radio-group v-model="handleData.reverseSet" size="mini">
-											<el-radio-button :label="1" >变速</el-radio-button>
-											<el-radio-button :label="2" >倒放</el-radio-button>
-										</el-radio-group>
-										<template v-if="handleData.reverseSet == 1">
-											<label class="handle-label">播放速度:</label>
-											<el-slider class="info-input" v-model="handleData.speed" :min="0.5" :max="2.0" :step="0.05" style="margin-right: 10px;"></el-slider> {{handleData.speed}}倍
-										</template>
-										<template v-else>
-											<label class="handle-label">视频倒放:</label>
-											<el-checkbox v-model="handleData.reverse"></el-checkbox>
-											<label class="handle-label">声音倒放:</label>
-											<el-checkbox v-model="handleData.areverse"></el-checkbox>
-											
-											<span style="margin-left: 20px;color: #F56C6C;font-size: 12px;">倒放视频会消耗大量的CPU资源和时间,请控制视频时长不超过5分钟</span>
-										</template>
+									<!-- 3-3 加密/解密 -->
+									<div class="handle-item" v-if="activeName == '3-3' || activeName == '3-4'">
+										<label class="handle-label">输入密码:</label>
+										<el-input placeholder="请输入密码" size="mini" v-model="handleData.pwd" style="width:150px;"></el-input>
 									</div>
 									
-									<!-- 8音量调整 -->
-									<div class="handle-item" v-if="menuIndex == '8'" style="margin-bottom: 5px;">
-										<label class="handle-label">音量调整:</label>
-										<el-slider class="info-input" v-model="handleData.volume" :min="0.5" :max="2.0" :step="0.05" style="margin-right: 10px;"></el-slider> {{handleData.volume}}倍
-									</div>
-								</div>
-								
-								<div style="display: flex; justify-content: space-between; margin-top: 5px;">
+									<div v-else></div>
+									
 									<div>
-										<label class="handle-label">保存目录:</label>
-										<el-input :title="handleData.newPath" ref="upload-input" @focus="pickPath" placeholder="请选择输出目录" size="small" v-model="handleData.newPath" readonly style="width:240px;" prefix-icon="el-icon-folder"></el-input>
+										<span>保存目录:</span>
+										<el-input :title="handleData.newPath" ref="upload-input" @focus="pickPath" placeholder="请选择输出目录" size="mini" v-model="handleData.newPath" readonly style="width:180px;" prefix-icon="el-icon-folder"></el-input>
 										<el-popover placement="bottom" popper-class="popper-open" trigger="hover" content="打开保存目录">
-											<i class="el-icon-folder-opened" slot="reference" style="padding-left: 5px; cursor: pointer; font-size: 22px; vertical-align: middle;" @click="openFolder()"></i>
+										    <i class="el-icon-folder-opened" slot="reference" style="padding-left: 5px; cursor: pointer; font-size: 22px; vertical-align: middle;" @click="openFolder()"></i>
 										</el-popover>
+										<el-button type="danger" style="margin: 0 20px;" @click="exportFile()" :loading="loading">开始转换</el-button>
 									</div>
-									
-									<el-button type="danger" style="margin-left: 20px;" @click="exportFile()" :loading="exportLoading">开始处理</el-button>
 								</div>
 							</div>
-							
-							
 						</template>
 						
 						<!-- 合并进度 -->
@@ -629,7 +486,14 @@
 				downloadDir: '', // 默认下载目录
 				handleData: {
 					pathType: 2,
-					newPath: os.userInfo().homedir + separator + "Downloads", // 新路径
+					docType: "docx",
+					pptType: "pptx",
+					xlsType: "xlsx",
+					imgContact: "2",
+					pwd: "", // 加密密码
+					pages: "1", // 页码
+					contactName: "PDF合并",
+					contactImgname: "图片合并",
 				},
 				dowloadModel: false,
 				finishModel: false,