Merge branch 'dev'
This commit is contained in:
commit
81ca766743
@ -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));
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -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 {
|
||||||
|
@ -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;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user