Merge branch 'dev'

This commit is contained in:
fanxb 2021-12-13 22:29:27 +08:00
commit 81ca766743
3 changed files with 43 additions and 28 deletions

View File

@ -13,6 +13,7 @@
<el-input style="display: inline-block; width: 150px" type="text" size="small" placeholder="关键词过滤" v-model="filterText" />
<el-button type="primary" @click="selectAll(true)" size="mini">全选</el-button>
<el-button type="primary" @click="selectAll(false)" size="mini">全不选</el-button>
<el-button type="primary" @click="refresh" size="mini">刷新</el-button>
</div>
<div v-for="(item, index) in filterFileList" :key="index">
<span class="folder" v-if="item.isFolder" @click="fileClick(item)">{{ item.name }}</span>
@ -34,7 +35,6 @@ export default {
return {
isWindows: false,
fileList: [], //
chosedFileList: [], //
pathList: [], //
loading: false, //
filterText: "", //
@ -50,7 +50,11 @@ export default {
this.isWindows = await HttpUtil.get("/file/isWindows");
await this.breadcrumbClick(-1);
},
methods: {
async refresh() {
await this.breadcrumbClick(this.pathList.length - 1);
},
//
async breadcrumbClick(index) {
this.loading = true;
@ -98,6 +102,7 @@ export default {
return;
}
this.$emit("addData", chosedFiles);
this.fileList.forEach((item) => (item.checked = false));
},
},
};

View File

@ -14,22 +14,29 @@
<el-button type="danger" size="mini" @click="deleteCheckedFiles">删除</el-button>
</div>
<div class="fileBlock">
<div class="oneLine" v-for="(item, index) in fileList" :key="index">
<!-- 左侧原始文件名 -->
<el-checkbox v-model="item.checked" class="left">
<div class="oneFileName">
{{ item.name }}
<!-- 左侧原始文件名 -->
<div style="flex: 4">
<div v-for="(item, index) in fileList" :key="index" class="oneLine">
<el-checkbox v-model="item.checked" style="height: 1.2em">{{ item.name }}</el-checkbox>
<div style="display: flex; align-items: center; padding-right: 4em">
<ArrowDownBold
style="width: 20px; padding-left: 10px"
style="width: 20px; padding-left: 10px; cursor: pointer"
v-if="index < fileList.length - 1"
@click.stop.prevent="moveIndex(index + 1, index)"
/>
<ArrowUpBold style="width: 20px; padding-left: 10px" v-if="index > 0" @click.stop.prevent="moveIndex(index - 1, index)" />
<ArrowUpBold
style="width: 20px; padding-left: 10px; cursor: pointer"
v-if="index > 0"
@click.stop.prevent="moveIndex(index - 1, index)"
/>
</div>
</el-checkbox>
<!-- 修改后的文件名 -->
<div class="right">
{{ changedFileList.length > index ? changedFileList[index].name : "" }}
</div>
</div>
<!-- 右边的预览文件名 -->
<div style="flex: 4">
<div v-for="(item, index) in changedFileList" :key="index" class="oneLine">
<div style="flex: 4">{{ item.name }}</div>
<div style="color: red; flex: 1">{{ item.errorMessage }}</div>
</div>
</div>
</div>
@ -61,8 +68,8 @@ export default {
loading: false, //
dialogVisible: false, //
ruleList: [], //
fileList: [],
changedFileList: [],
fileList: [], //
changedFileList: [], //
needPreview: false, //
applicationRule: null, //
};
@ -160,17 +167,16 @@ export default {
.fileBlock {
margin-top: 20px;
display: flex;
.oneLine {
display: flex;
border-top: 1px solid rgb(228, 224, 224);
.left {
flex: 1;
}
.right {
flex: 1;
display: flex;
align-items: center;
}
justify-content: space-between;
align-items: center;
border-top: 1px solid rgb(214, 212, 212);
height: 1.5em;
padding-top: 0.1em;
padding-bottom: 0.1em;
padding-right: 0.2em;
}
.oneFileName {

View File

@ -22,7 +22,7 @@
</div>
<!-- 弹窗 -->
<el-dialog title="新增规则" v-model="addRuleDialogShow" width="70%">
<rule :editRule="editRule" @ruleAdd="ruleAdd" />
<rule :editRule="editRule" @ruleAdd="ruleAdd" v-if="addRuleDialogShow" />
</el-dialog>
<el-dialog title="选择规则模板" v-model="ruleTemplateShow" width="70%">
<application-rule-list v-if="ruleTemplateShow" v-model="chosedTemplate" @close="ruleTemplateShow = false" />
@ -115,8 +115,6 @@ export default {
},
//
async ruleAdd(data) {
data.checked = false;
data.blocked = false;
if (this.editRule != null) {
let index = this.ruleList.indexOf(this.editRule);
this.ruleList.splice(index, 1, data);
@ -124,12 +122,18 @@ export default {
} else {
this.ruleList.push(data);
}
data.checked = false;
this.ruleUpdate();
this.addRuleDialogShow = false;
},
///
async block() {
this.ruleList.filter((item) => item.checked).forEach((item) => (item.blocked = !item.blocked));
this.ruleList
.filter((item) => item.checked)
.forEach((item) => {
item.blocked = !item.blocked;
item.checked = false;
});
this.ruleUpdate();
},
//
@ -140,7 +144,7 @@ export default {
//
editClick() {
this.editRule = this.checkedRules[0];
this.ruleDialogShow = true;
this.addRuleDialogShow = true;
},
},
};