fix:规则bug修复

This commit is contained in:
fanxb 2021-12-13 22:24:40 +08:00
parent 9d5cdbf3a6
commit 5550130397
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-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(true)" size="mini">全选</el-button>
<el-button type="primary" @click="selectAll(false)" 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>
<div v-for="(item, index) in filterFileList" :key="index"> <div v-for="(item, index) in filterFileList" :key="index">
<span class="folder" v-if="item.isFolder" @click="fileClick(item)">{{ item.name }}</span> <span class="folder" v-if="item.isFolder" @click="fileClick(item)">{{ item.name }}</span>
@ -34,7 +35,6 @@ export default {
return { return {
isWindows: false, isWindows: false,
fileList: [], // fileList: [], //
chosedFileList: [], //
pathList: [], // pathList: [], //
loading: false, // loading: false, //
filterText: "", // filterText: "", //
@ -50,7 +50,11 @@ export default {
this.isWindows = await HttpUtil.get("/file/isWindows"); this.isWindows = await HttpUtil.get("/file/isWindows");
await this.breadcrumbClick(-1); await this.breadcrumbClick(-1);
}, },
methods: { methods: {
async refresh() {
await this.breadcrumbClick(this.pathList.length - 1);
},
// //
async breadcrumbClick(index) { async breadcrumbClick(index) {
this.loading = true; this.loading = true;
@ -98,6 +102,7 @@ export default {
return; return;
} }
this.$emit("addData", chosedFiles); 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> <el-button type="danger" size="mini" @click="deleteCheckedFiles">删除</el-button>
</div> </div>
<div class="fileBlock"> <div class="fileBlock">
<div class="oneLine" v-for="(item, index) in fileList" :key="index"> <!-- 左侧原始文件名 -->
<!-- 左侧原始文件名 --> <div style="flex: 4">
<el-checkbox v-model="item.checked" class="left"> <div v-for="(item, index) in fileList" :key="index" class="oneLine">
<div class="oneFileName"> <el-checkbox v-model="item.checked" style="height: 1.2em">{{ item.name }}</el-checkbox>
{{ item.name }} <div style="display: flex; align-items: center; padding-right: 4em">
<ArrowDownBold <ArrowDownBold
style="width: 20px; padding-left: 10px" style="width: 20px; padding-left: 10px; cursor: pointer"
v-if="index < fileList.length - 1" v-if="index < fileList.length - 1"
@click.stop.prevent="moveIndex(index + 1, index)" @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> </div>
</el-checkbox> </div>
<!-- 修改后的文件名 --> </div>
<div class="right"> <!-- 右边的预览文件名 -->
{{ changedFileList.length > index ? changedFileList[index].name : "" }} <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> </div>
</div> </div>
@ -61,8 +68,8 @@ export default {
loading: false, // loading: false, //
dialogVisible: false, // dialogVisible: false, //
ruleList: [], // ruleList: [], //
fileList: [], fileList: [], //
changedFileList: [], changedFileList: [], //
needPreview: false, // needPreview: false, //
applicationRule: null, // applicationRule: null, //
}; };
@ -160,17 +167,16 @@ export default {
.fileBlock { .fileBlock {
margin-top: 20px; margin-top: 20px;
display: flex;
.oneLine { .oneLine {
display: flex; display: flex;
border-top: 1px solid rgb(228, 224, 224); justify-content: space-between;
.left { align-items: center;
flex: 1; border-top: 1px solid rgb(214, 212, 212);
} height: 1.5em;
.right { padding-top: 0.1em;
flex: 1; padding-bottom: 0.1em;
display: flex; padding-right: 0.2em;
align-items: center;
}
} }
.oneFileName { .oneFileName {

View File

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