mirror of
https://github.com/Cp0204/quark-auto-save.git
synced 2026-01-15 17:00:43 +08:00
WebUI 增加筛选
This commit is contained in:
parent
8c3603bcad
commit
cacba43d65
@ -25,7 +25,7 @@ script_path = os.environ.get("SCRIPT_PATH", "./quark_auto_save.py")
|
|||||||
config_path = os.environ.get("CONFIG_PATH", "./config/quark_config.json")
|
config_path = os.environ.get("CONFIG_PATH", "./config/quark_config.json")
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
app.config["APP_VERSION"] = "0.2.5.1"
|
app.config["APP_VERSION"] = "0.2.6"
|
||||||
app.secret_key = "ca943f6db6dd34823d36ab08d8d6f65d"
|
app.secret_key = "ca943f6db6dd34823d36ab08d8d6f65d"
|
||||||
app.json.ensure_ascii = False
|
app.json.ensure_ascii = False
|
||||||
app.json.sort_keys = False
|
app.json.sort_keys = False
|
||||||
|
|||||||
@ -103,68 +103,84 @@
|
|||||||
<h2>任务列表</h2>
|
<h2>任务列表</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-sm-2 col-form-label">任务分类</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<select class="form-control" v-model="taskDirSelected">
|
||||||
|
<option v-for="(dir, index) in taskDirs" :value="dir" v-html="dir"></option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-sm-2 col-form-label">名称筛选</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="text" class="form-control mb-2" v-model="taskNameFilter">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div v-for="(task, index) in formData.tasklist" :key="index" class="task mb-3">
|
<div v-for="(task, index) in formData.tasklist" :key="index" class="task mb-3">
|
||||||
<hr>
|
<template v-if="(taskDirSelected == '' || getParentDirectory(task.savepath) == taskDirSelected) && task.taskname.includes(taskNameFilter)">
|
||||||
<div class="form-group row">
|
<hr>
|
||||||
<div class="col">
|
<div class="form-group row">
|
||||||
<h3>任务#<span v-html="index+1"></span></h3>
|
<div class="col">
|
||||||
</div>
|
<h3>任务#<span v-html="index+1"></span></h3>
|
||||||
<div class="col text-right">
|
</div>
|
||||||
<button type="button" class="btn btn-outline-danger" @click="removeTask(index)">删除任务</button>
|
<div class="col text-right">
|
||||||
</div>
|
<button type="button" class="btn btn-outline-danger" @click="removeTask(index)">删除任务</button>
|
||||||
</div>
|
|
||||||
<div class="alert alert-warning" role="alert" v-if="task.shareurl_ban" v-html="task.shareurl_ban"></div>
|
|
||||||
<div class="form-group row">
|
|
||||||
<label class="col-sm-2 col-form-label">任务名称</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<input type="text" name="taskname[]" class="form-control mb-2" v-model="task.taskname" placeholder="必填">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group row">
|
|
||||||
<label class="col-sm-2 col-form-label">分享链接</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<input type="text" name="shareurl[]" class="form-control mb-2" v-model="task.shareurl" placeholder="必填" @input="clearShareurlBan(task)">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group row">
|
|
||||||
<label class="col-sm-2 col-form-label">保存路径</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<input type="text" name="savepath[]" class="form-control mb-2" v-model="task.savepath" placeholder="必填">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group row">
|
|
||||||
<label class="col-sm-2 col-form-label">正则过滤</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<input type="text" name="pattern[]" class="form-control mb-2" v-model="task.pattern" placeholder="留空为不过滤">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group row">
|
|
||||||
<label class="col-sm-2 col-form-label">正则替换</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<input type="text" name="replace[]" class="form-control mb-2" v-model="task.replace" placeholder="留空为不替换">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group row">
|
|
||||||
<label class="col-sm-2 col-form-label">截止日期</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<input type="date" name="enddate[]" class="form-control mb-2" v-model="task.enddate" placeholder="可选">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group row">
|
|
||||||
<label class="col-sm-2 col-form-label">运行星期</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<div class="form-check form-check-inline" v-for="(day, index) in weekdays" :key="index">
|
|
||||||
<input class="form-check-input" type="checkbox" v-model="task.runweek" :value="index+1">
|
|
||||||
<label class="form-check-label" v-html="day"></label>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="alert alert-warning" role="alert" v-if="task.shareurl_ban" v-html="task.shareurl_ban"></div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-2 col-form-label">Emby ID</label>
|
<label class="col-sm-2 col-form-label">任务名称</label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<input type="number" name="emby_id[]" class="form-control mb-2" v-model="task.emby_id" placeholder="可选">
|
<input type="text" name="taskname[]" class="form-control mb-2" v-model="task.taskname" placeholder="必填">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="form-group row">
|
||||||
|
<label class="col-sm-2 col-form-label">分享链接</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="text" name="shareurl[]" class="form-control mb-2" v-model="task.shareurl" placeholder="必填" @input="clearShareurlBan(task)">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-sm-2 col-form-label">保存路径</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="text" name="savepath[]" class="form-control mb-2" v-model="task.savepath" placeholder="必填">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-sm-2 col-form-label">正则过滤</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="text" name="pattern[]" class="form-control mb-2" v-model="task.pattern" placeholder="留空为不过滤">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-sm-2 col-form-label">正则替换</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="text" name="replace[]" class="form-control mb-2" v-model="task.replace" placeholder="留空为不替换">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-sm-2 col-form-label">截止日期</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="date" name="enddate[]" class="form-control mb-2" v-model="task.enddate" placeholder="可选">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-sm-2 col-form-label">运行星期</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<div class="form-check form-check-inline" v-for="(day, index) in weekdays" :key="index">
|
||||||
|
<input class="form-check-input" type="checkbox" v-model="task.runweek" :value="index+1">
|
||||||
|
<label class="form-check-label" v-html="day"></label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label class="col-sm-2 col-form-label">Emby ID</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="number" name="emby_id[]" class="form-control mb-2" v-model="task.emby_id" placeholder="可选">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12 text-center">
|
<div class="col-sm-12 text-center">
|
||||||
@ -228,7 +244,20 @@
|
|||||||
},
|
},
|
||||||
tasklist: []
|
tasklist: []
|
||||||
},
|
},
|
||||||
run_log: ""
|
newTask: {
|
||||||
|
taskname: "",
|
||||||
|
shareurl: "",
|
||||||
|
savepath: "",
|
||||||
|
pattern: "",
|
||||||
|
replace: "",
|
||||||
|
enddate: "",
|
||||||
|
emby_id: "",
|
||||||
|
runweek: [1, 2, 3, 4, 5, 6, 7]
|
||||||
|
},
|
||||||
|
run_log: "",
|
||||||
|
taskDirs: [""],
|
||||||
|
taskDirSelected: "",
|
||||||
|
taskNameFilter: ""
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'formData.push_config': {
|
'formData.push_config': {
|
||||||
@ -263,6 +292,12 @@
|
|||||||
}
|
}
|
||||||
return task;
|
return task;
|
||||||
});
|
});
|
||||||
|
// 存所有任务父目录
|
||||||
|
response.data.tasklist.forEach(item => {
|
||||||
|
parentDir = this.getParentDirectory(item.savepath)
|
||||||
|
if (!this.taskDirs.includes(parentDir))
|
||||||
|
this.taskDirs.push(parentDir);
|
||||||
|
});
|
||||||
this.formData = response.data;
|
this.formData = response.data;
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
@ -296,16 +331,10 @@
|
|||||||
this.$delete(this.formData.push_config, key);
|
this.$delete(this.formData.push_config, key);
|
||||||
},
|
},
|
||||||
addTask() {
|
addTask() {
|
||||||
this.formData.tasklist.push({
|
newTask = { ...this.newTask }
|
||||||
taskname: "",
|
newTask.taskname = this.taskNameFilter
|
||||||
shareurl: "",
|
newTask.savepath = this.taskDirSelected + "/" + newTask.taskname
|
||||||
savepath: "",
|
this.formData.tasklist.push(newTask);
|
||||||
pattern: "",
|
|
||||||
replace: "",
|
|
||||||
enddate: "",
|
|
||||||
emby_id: "",
|
|
||||||
runweek: [1, 2, 3, 4, 5, 6, 7]
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
removeTask(index) {
|
removeTask(index) {
|
||||||
if (confirm("确认删除吗?"))
|
if (confirm("确认删除吗?"))
|
||||||
@ -325,6 +354,12 @@
|
|||||||
this.run_log = "错误:\n" + error
|
this.run_log = "错误:\n" + error
|
||||||
console.error('Error:', error);
|
console.error('Error:', error);
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
getParentDirectory(path) {
|
||||||
|
parentDir = path.substring(0, path.lastIndexOf('/'))
|
||||||
|
if (parentDir == "")
|
||||||
|
parentDir = "/"
|
||||||
|
return parentDir;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user