qiushang há 8 meses atrás
pai
commit
6a155bbb86
2 ficheiros alterados com 116 adições e 17 exclusões
  1. BIN
      src/renderer/assets/image/a-hebing.png
  2. 116 17
      src/renderer/components/home.vue

BIN
src/renderer/assets/image/a-hebing.png


+ 116 - 17
src/renderer/components/home.vue

@@ -53,9 +53,9 @@
 								</div>
 							</el-col>
 							<el-col :span="6">
-								<div class="citem-nav2">
-									<img src="../assets/image/a-build.png" class="citem-img" />
-									<p class="citem-name">敬请期待...</p>
+								<div class="citem-nav"  @click="menuIndex = '8'">
+									<img src="../assets/image/a-hebing.png" class="citem-img" />
+									<p class="citem-name">目录文件合并/提取</p>
 								</div>
 							</el-col>
 						</el-row>
@@ -64,28 +64,31 @@
 
 				<template v-else>
 					<el-row type="flex" class="row-bg">
-						<el-button style="margin: 8px 15px 0 15px; font-size: 14px;width: 31px;" type="danger" size="mini" icon="el-icon-s-home" circle @click="menuIndex=''"></el-button>
+						<el-button style="margin: 8px 12px 0 12px; font-size: 14px;width: 31px;" type="danger" size="mini" icon="el-icon-s-home" circle @click="menuIndex=''"></el-button>
 						<el-tabs v-model="menuIndex">
 							<el-tab-pane name="1">
-								<span slot="label"><img src="../assets/image/a-file.png" class="tab-img"/>文件重命名</span>
+								<span slot="label"><img src="../assets/image/a-file.png" class="tab-img"/><span class="tab-span">文件重命名</span></span>
 							</el-tab-pane>
 							<el-tab-pane name="2">
-								<span slot="label"><img src="../assets/image/a-folder.png" class="tab-img"/>文件夹重命名</span>
+								<span slot="label"><img src="../assets/image/a-folder.png" class="tab-img"/><span class="tab-span">文件夹重命名</span></span>
 							</el-tab-pane>
 							<el-tab-pane name="3">
-								<span slot="label"><img src="../assets/image/a-timefile.png" class="tab-img"/>文件时间属性</span>
+								<span slot="label"><img src="../assets/image/a-timefile.png" class="tab-img"/><span class="tab-span">文件时间属性</span></span>
 							</el-tab-pane>
 							<el-tab-pane name="4">
-								<span slot="label"><img src="../assets/image/a-timefolder.png" class="tab-img"/>文件夹时间属性</span>
+								<span slot="label"><img src="../assets/image/a-timefolder.png" class="tab-img"/><span class="tab-span">文件夹时间属性</span></span>
 							</el-tab-pane>
 							<el-tab-pane name="5">
-								<span slot="label"><img src="../assets/image/a-tifile.png" class="tab-img"/>提取文件名</span>
+								<span slot="label"><img src="../assets/image/a-tifile.png" class="tab-img"/><span class="tab-span">提取文件名</span></span>
 							</el-tab-pane>
 							<el-tab-pane name="6">
-								<span slot="label"><img src="../assets/image/a-tifolder.png" class="tab-img"/>提取文件夹名</span>
+								<span slot="label"><img src="../assets/image/a-tifolder.png" class="tab-img"/><span class="tab-span">提取文件夹名</span></span>
 							</el-tab-pane>
 							<el-tab-pane name="7">
-								<span slot="label"><img src="../assets/image/a-create.png" class="tab-img"/>批量创建文件</span>
+								<span slot="label"><img src="../assets/image/a-create.png" class="tab-img"/><span class="tab-span">批量创建文件</span></span>
+							</el-tab-pane>
+							<el-tab-pane name="8">
+								<span slot="label"><img src="../assets/image/a-hebing.png" class="tab-img"/><span class="tab-span">目录文件合并/提取</span></span>
 							</el-tab-pane>
 						</el-tabs>
 					</el-row>
@@ -93,7 +96,7 @@
 						<el-button-group>
 							<el-button type="primary" size="mini" icon="el-icon-document" v-if="['1','3','5'].indexOf(menuIndex) > -1" @click="pickFile()">添加文件</el-button>
 							<el-button type="primary" size="mini" icon="el-icon-document" v-if="['1','3','5'].indexOf(menuIndex) > -1" @click="pickDir()">添加目录</el-button>
-							<el-button type="primary" size="mini" icon="el-icon-folder" v-if="['2','4','6'].indexOf(menuIndex) > -1" @click="addDir()">添加文件夹</el-button>
+							<el-button type="primary" size="mini" icon="el-icon-folder" v-if="['2','4','6','8'].indexOf(menuIndex) > -1" @click="addDir()">添加文件夹</el-button>
 							<el-button type="primary" size="mini" icon="el-icon-delete" @click="clearList()">清空列表</el-button>
 							<el-popover v-if="['1','3','5'].indexOf(menuIndex) > -1" popper-class="popper-open" placement="bottom" trigger="hover" content="添加目录会导入目录以及子目录下所有文件">
 								<i slot="reference" class="el-icon-question" style="font-size: 16px;margin: 6px 15px;"></i>
@@ -111,7 +114,7 @@
 					
 					<div class="soft-content">
 						<div class="content-left">
-							<div v-if="(['1','3','5'].indexOf(menuIndex) > -1 && fileList.length == 0) || (['2','4','6'].indexOf(menuIndex) > -1 && dirList.length == 0)" class="upload-area">
+							<div v-if="(['1','3','5'].indexOf(menuIndex) > -1 && fileList.length == 0) || (['2','4','6','8'].indexOf(menuIndex) > -1 && dirList.length == 0)" class="upload-area">
 								<div class="file-area" v-if="['1','3','5'].indexOf(menuIndex) > -1" @click="pickFile()" id="drag-audio" @dragover.prevent @drop="handleDrop">
 									<div class="file-area-pos">
 										<img v-if="menuIndex == '1'" src="../assets/image/a-file.png" class="upload-img"/>
@@ -122,11 +125,12 @@
 									</div>
 								</div>
 								
-								<div class="file-area" v-if="['2','4','6'].indexOf(menuIndex) > -1" @click="addDir()" id="drag-audio" @dragover.prevent @drop="handleDrop">
+								<div class="file-area" v-if="['2','4','6','8'].indexOf(menuIndex) > -1" @click="addDir()" id="drag-audio" @dragover.prevent @drop="handleDrop">
 									<div class="file-area-pos">
 										<img v-if="menuIndex == '2'" src="../assets/image/a-folder.png" class="upload-img"/>
 										<img v-if="menuIndex == '4'" src="../assets/image/a-timefolder.png" class="upload-img"/>
 										<img v-if="menuIndex == '6'" src="../assets/image/a-tifolder.png" class="upload-img"/>
+										<img v-if="menuIndex == '8'" src="../assets/image/a-hebing.png" class="upload-img"/>
 										<p style="font-size: 16px;">点击添加文件夹或拖拽文件夹到此</p>
 										<p v-if="menuIndex == '2'" style="font-size: 13px; color: #F56C6C;margin-top: 10px;">在原名称上直接修改,请明确后再操作</p>
 									</div>
@@ -185,7 +189,7 @@
 								</vxe-table>
 								<!-- 2、文件夹重命名 -->
 								<vxe-table
-									v-show="['2', '6'].indexOf(menuIndex) > -1"
+									v-show="['2', '6', '8'].indexOf(menuIndex) > -1"
 									show-overflow class="img-table" max-height="100%" empty-text="没有更多数据了!" :loading="tabLoading"
 									:loading-config="{icon: 'vxe-icon-indicator roll', text: '文件加载中...'}" :row-config="{isHover: true}"
 									:edit-config="{trigger: 'click', mode: 'cell'}" :data="dirList" :scroll-y="{enabled: true}">
@@ -365,6 +369,97 @@
 						<!-- 设置区域 -->
 						<div class="content-right">
 							
+							<!--目录文件合并/提取 -->
+							<div v-show="menuIndex == '8'">
+								<div class="handle-item" >
+									<label class="handle-label">操作类型:</label>
+									<el-select v-model="foundData.foundType" style="width:150px;" size="small" @change="refreshList('change')">
+										<el-option value="folder" label="合并"></el-option>
+										<el-option value="docx" label="提取"></el-option>
+									</el-select>
+								</div>
+								
+								<template v-if="foundData.foundType != 'folder'">
+									<div class="handle-item">
+										<label class="handle-label">上传模板:</label>
+										<el-input :title="foundData.sourceFileName" ref="upload-example" @focus="importExample" placeholder="选择文件" size="small" v-model="foundData.sourceFileName" readonly style="width:150px;" prefix-icon="el-icon-folder"></el-input>
+									</div>
+									
+									<div class="eq-tips">不上传模板,默认创建文件内容为空</div>
+								</template>
+								
+								<el-divider content-position="left">
+									<i class="el-icon-s-tools" style="margin-right: 3px;"></i>文件名设置
+								</el-divider>
+								<el-popover placement="left" popper-class="popper-open" trigger="manual" v-model="visible5" content='文件名不能包含下列任何字符: \ / : * ? " < > |'>
+									<i slot="reference"></i>
+								</el-popover>
+								
+								<div class="handle-item" style="text-align: center;">
+									<el-radio-group v-model="foundData.foundMethod" @change="refreshList()">
+										<el-radio label="2">导入创建</el-radio>
+										<el-radio label="1">自定义创建</el-radio>
+									</el-radio-group>
+								</div>
+								<template v-if="foundData.foundMethod == '2'" style="margin: 10px auto; text-align: center;">
+									<div class="handle-item">
+										<label class="handle-label">导入名称:</label>
+										<el-input :title="newnamePath" ref="upload-xlsx" @focus="importFoundXlsx" placeholder="excel格式" size="small" v-model="newnamePath" readonly style="width:150px;" prefix-icon="el-icon-folder"></el-input>
+									</div>
+									
+									<el-popover placement="bottom" popper-class="popper-open" trigger="hover">
+										<img src="../assets/image/f-tips.jpg" style="width: 220px;"/>
+										<div slot="reference" class="i-tips" style="margin-bottom: 10px;">查看文件名填写示例</div>
+									</el-popover>
+								</template>
+								
+								<template v-else>
+									<div class="handle-item" >
+										<label class="handle-label">创建数量:</label>
+										<el-input-number size="small" :min="1" v-model="foundData.foundNumber" @change="refreshList()" style="width: 130px;" controls-position="right"></el-input-number> 个
+									</div>
+									<div class="handle-item">
+										<label class="handle-label">创建名称:</label>
+										<el-input placeholder="请输入创建名称" @input="inputChange('foundData', 'foundName', 'visible5')" size="small" v-model="foundData.foundName" style="width:150px;"></el-input>
+									</div>
+									<el-divider content-position="left">
+										<i class="el-icon-s-tools" style="margin-right: 3px;"></i>编号设置
+									</el-divider>
+									<div class="handle-item">
+										<label class="handle-label">编号位置:</label>
+										<el-select v-model="foundData.insertPosition" style="width:80px;" size="small" @change="refreshList()">
+											<el-option value="1" label="自定义"></el-option>
+											<el-option value="2" label="文件头"></el-option>
+											<el-option value="3" label="文件尾"></el-option>
+										</el-select>
+										<el-input-number v-if="foundData.insertPosition == '1'"  size="small" :min="1" v-model="foundData.insertNo" @change="refreshList()" style="width: 80px;" controls-position="right"></el-input-number>
+									</div>
+									<div class="handle-item" >
+										<label class="handle-label" style="width: 50px;">起始:</label>
+										<el-input-number size="small" :min="0" v-model="foundData.startNumber" @change="refreshList()" style="width: 90px;" controls-position="right"></el-input-number>
+										<span class="i-desc">(第一位编号的值)</span>
+									</div>
+									<div class="handle-item" >
+										<label class="handle-label" style="width: 50px;">增量:</label>
+										<el-input-number size="small" v-model="foundData.increment" @change="refreshList()" style="width: 90px;" controls-position="right"></el-input-number>
+										<span class="i-desc">(后一位编号增加的值)</span>
+									</div>
+									<div class="handle-item" >
+										<label class="handle-label" style="width: 50px;">位数:</label>
+										<el-input-number size="small" :min="1" v-model="foundData.digit" @change="refreshList()" style="width: 90px;" controls-position="right"></el-input-number>
+										<span class="i-desc">(0068的编号位数为4)</span>
+									</div>
+								</template>
+								
+								<div class="handle-item" >
+									<label class="handle-label">创建位置:</label>
+									<el-input :title="foundData.newPath" ref="upload-create" @focus="pickPath('foundData', 'upload-create')" placeholder="请选择创建位置" size="small" v-model="foundData.newPath" readonly style="width:150px; font-size: 12px;" 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="width: 18px;cursor: pointer; font-size: 22px; vertical-align: middle;" @click="openFolder('foundData')"></i>
+									</el-popover>
+								</div>
+							</div>
+							
 							<!--创建文件设置 -->
 							<div v-show="menuIndex == '7'">
 								<div class="handle-item" >
@@ -2561,7 +2656,7 @@ export default {
 		margin-bottom: 0 !important;
 	}
 	.el-tabs__item{
-		padding: 0 13px !important;
+		padding: 0 9px !important;
 	}
 	
 	.sort-btn{
@@ -2618,10 +2713,14 @@ export default {
 	
 	.tab-img{
 		width: 20px;
-		margin-right: 5px;
+		margin-right: 4px;
 		vertical-align: middle;
 	}
 	
+	.tab-span{
+		font-weight: 600;
+	}
+	
 	.eq-tips{
 		text-align: center;
 		color: #F56C6C;