diff --git a/frontend/src/assets/None.png b/frontend/src/assets/None.png new file mode 100644 index 0000000000..700664ed24 Binary files /dev/null and b/frontend/src/assets/None.png differ diff --git a/frontend/src/assets/None_Select.png b/frontend/src/assets/None_Select.png new file mode 100644 index 0000000000..90e6251238 Binary files /dev/null and b/frontend/src/assets/None_Select.png differ diff --git a/frontend/src/assets/nothing.png b/frontend/src/assets/nothing.png new file mode 100644 index 0000000000..7b1fa548bf Binary files /dev/null and b/frontend/src/assets/nothing.png differ diff --git a/frontend/src/components/cron/cron.vue b/frontend/src/components/cron/cron.vue index 9a740e7fc2..e7dc69c3e1 100644 --- a/frontend/src/components/cron/cron.vue +++ b/frontend/src/components/cron/cron.vue @@ -114,7 +114,6 @@ export default { }] }, value_() { - console.log(9, this.weekVal, this.dVal, this.value) if (!this.dVal && !this.weekVal) { return '' } diff --git a/frontend/src/views/panel/template/component/TemplateImport.vue b/frontend/src/views/panel/template/component/TemplateImport.vue index 7b71a449f9..51c4626c35 100644 --- a/frontend/src/views/panel/template/component/TemplateImport.vue +++ b/frontend/src/views/panel/template/component/TemplateImport.vue @@ -146,6 +146,7 @@ export default { type: "primary", cb: () => save(this.templateInfo).then((response) => { this.openMessageSuccess("system_parameter_setting.import_succeeded"); + this.$emit("refresh"); this.$emit("closeEditTemplateDialog"); }), confirmButtonText: this.$t('template.override') @@ -154,6 +155,7 @@ export default { } else { save(this.templateInfo).then((response) => { this.openMessageSuccess("system_parameter_setting.import_succeeded"); + this.$emit("refresh"); this.$emit("closeEditTemplateDialog"); }); } diff --git a/frontend/src/views/panel/template/component/TemplateItem.vue b/frontend/src/views/panel/template/component/TemplateItem.vue index 0f859e9cb9..b9e6368dea 100644 --- a/frontend/src/views/panel/template/component/TemplateItem.vue +++ b/frontend/src/views/panel/template/component/TemplateItem.vue @@ -72,7 +72,7 @@ export default { background: #ffffff; border: 1px solid var(--deCardStrokeColor, #dee0e3); border-radius: 4px; - margin: 0 25px 25px 0; + margin: 0 12.5px 25px 12.5px; .card-img-model { border-bottom: 1px solid var(--deCardStrokeColor, #dee0e3); height: 144px; diff --git a/frontend/src/views/panel/template/index.vue b/frontend/src/views/panel/template/index.vue index 217dbfcbe5..478fd8d8d5 100644 --- a/frontend/src/views/panel/template/index.vue +++ b/frontend/src/views/panel/template/index.vue @@ -33,7 +33,9 @@
- {{ currentTemplateLabel }}  ({{ currentTemplateShowList.length }}) + {{ currentTemplateLabel }}  ({{ + currentTemplateShowList.length + }}) -
+
@@ -60,7 +66,7 @@
- + @@ -97,6 +100,8 @@ @@ -109,10 +114,10 @@ import TemplateList from "./component/TemplateList"; import TemplateItem from "./component/TemplateItem"; import TemplateImport from "./component/TemplateImport"; import { save, templateDelete, find } from "@/api/system/template"; -import elementResizeDetectorMaker from 'element-resize-detector' +import elementResizeDetectorMaker from "element-resize-detector"; import msgCfm from "@/components/msgCfm/index"; -import { log } from '@antv/g2plot/lib/utils'; +import { log } from "@antv/g2plot/lib/utils"; export default { name: "PanelMain", mixins: [msgCfm], @@ -129,7 +134,7 @@ export default { { required: true, message: this.$t("commons.input_content"), - trigger: "change", + trigger: "blur", }, { max: 50, @@ -171,17 +176,20 @@ export default { }, mounted() { this.getTree(); - const _this = this - const erd = elementResizeDetectorMaker() - const templateMainDom = document.getElementById('template-box') + const _this = this; + const erd = elementResizeDetectorMaker(); + const templateMainDom = document.getElementById("template-box"); // 监听div变动事件 - erd.listenTo(templateMainDom, element => { + erd.listenTo(templateMainDom, (element) => { _this.$nextTick(() => { - const curSeparator = Math.trunc(templateMainDom.offsetWidth / _this.templateMiniWidth) - console.log(1, curSeparator) - _this.templateCurWidth = Math.trunc(templateMainDom.offsetWidth / curSeparator) - 50 - }) - }) + const curSeparator = Math.trunc( + templateMainDom.offsetWidth / _this.templateMiniWidth + ); + console.log(1, curSeparator); + _this.templateCurWidth = + Math.trunc(templateMainDom.offsetWidth / curSeparator) - 50; + }); + }); }, methods: { roleValidator(rule, value, callback) { @@ -226,11 +234,11 @@ export default { }, templateDeleteConfirm(template) { const options = { - title: 'system_parameter_setting.delete_this_template', - type: "primary", - cb: () => this.templateDelete(template.id), - }; - this.handlerConfirm(options); + title: "system_parameter_setting.delete_this_template", + type: "primary", + cb: () => this.templateDelete(template.id), + }; + this.handlerConfirm(options); }, handleClick(tab, event) { this.getTree(); @@ -247,7 +255,7 @@ export default { templateDelete(id) { if (id) { templateDelete(id).then((response) => { - this.openMessageSuccess('commons.delete_success'); + this.openMessageSuccess("commons.delete_success"); this.getTree(); }); } @@ -257,7 +265,13 @@ export default { this.formType = type; if (type === "edit") { this.templateEditForm = JSON.parse(JSON.stringify(templateInfo)); - this.dialogTitle = this.$t(`system_parameter_setting.${"folder" === this.templateEditForm.nodeType ? 'edit_classification' : 'edit_template'}`); + this.dialogTitle = this.$t( + `system_parameter_setting.${ + "folder" === this.templateEditForm.nodeType + ? "edit_classification" + : "edit_template" + }` + ); this.originName = this.templateEditForm.label; } else { this.dialogTitle = this.$t("panel.add_category"); @@ -268,7 +282,13 @@ export default { level: 0, }; } - this.dialogTitleLabel = this.$t(`system_parameter_setting.${ "folder" === this.templateEditForm.nodeType ? 'classification_name' : 'template_name'}`) + this.dialogTitleLabel = this.$t( + `system_parameter_setting.${ + "folder" === this.templateEditForm.nodeType + ? "classification_name" + : "template_name" + }` + ); this.editTemplate = true; }, templateEdit(templateInfo) { @@ -365,7 +385,7 @@ export default { .de-tabs-right { flex: 1; background: #fff; - padding: 24px; + padding: 24px 12px 24px 12px; overflow: hidden; .template-box { @@ -373,6 +393,7 @@ export default { flex-wrap: wrap; overflow-y: auto; box-sizing: border-box; + align-content: flex-start; height: calc(100% - 10px); width: 100%; padding-bottom: 24px; diff --git a/frontend/src/views/system/plugin/index.vue b/frontend/src/views/system/plugin/index.vue index 62c4c91f56..c033ddd8a3 100644 --- a/frontend/src/views/system/plugin/index.vue +++ b/frontend/src/views/system/plugin/index.vue @@ -78,7 +78,7 @@

-
+
更新
- + {{ $t("user.clear_filter") }}
-
+ :class="[filterTexts.length ? 'table-container-filter' : '']" + > @@ -263,7 +268,6 @@
- @@ -316,9 +320,7 @@ const columnOptions = [ props: "status", }, ]; -import { - formatOrders, -} from "@/utils/index"; +import { formatOrders } from "@/utils/index"; import { datasetTaskList, post } from "@/api/dataset/dataset"; import cron from "@/components/cron/cron"; import TableSelector from "@/views/chart/view/TableSelector"; @@ -326,12 +328,18 @@ import { hasDataPermission } from "@/utils/permission"; import GridTable from "@/components/gridTable/index.vue"; import filterUser from "./filterUser.vue"; import msgCfm from "@/components/msgCfm/index"; -import _ from 'lodash'; +import _ from "lodash"; export default { name: "DatasetTaskList", components: { GridTable, cron, filterUser, TableSelector }, mixins: [msgCfm], + props: { + transCondition: { + type: Object, + default: () => {}, + }, + }, data() { return { nikeName: "", @@ -366,7 +374,11 @@ export default { }, }, created() { - this.initSearch(); + const { taskId, name } = this.transCondition; + if (taskId) { + this.nikeName = name; + } + this.search(); this.timer = setInterval(() => { this.search(false); }, 10000); @@ -385,28 +397,30 @@ export default { }); }, resizeObserver() { - this.resizeForFilter = new ResizeObserver(entries => { + this.resizeForFilter = new ResizeObserver((entries) => { if (!this.filterTexts.length) return; this.layoutResize(); }); - this.resizeForFilter.observe(document.querySelector('#resize-for-filter')); + this.resizeForFilter.observe( + document.querySelector("#resize-for-filter") + ); }, layoutResize: _.debounce(function () { - this.getScrollStatus() + this.getScrollStatus(); }, 200), scrollPre() { - const dom = document.querySelector('.filter-texts-container'); - dom.scrollLeft -= 10 + const dom = document.querySelector(".filter-texts-container"); + dom.scrollLeft -= 10; if (dom.scrollLeft <= 0) { - dom.scrollLeft = 0 + dom.scrollLeft = 0; } }, scrollNext() { - const dom = document.querySelector('.filter-texts-container'); - dom.scrollLeft += 10 - const width = dom.scrollWidth - dom.offsetWidth + const dom = document.querySelector(".filter-texts-container"); + dom.scrollLeft += 10; + const width = dom.scrollWidth - dom.offsetWidth; if (dom.scrollLeft > width) { - dom.scrollLeft = width + dom.scrollLeft = width; } }, clearFilter() { @@ -467,6 +481,7 @@ export default { this.handleCurrentChange(1); }, search(showLoading = true) { + const { taskId, name } = this.transCondition; const param = { orders: formatOrders(this.orderConditions), conditions: [...this.cacheCondition], @@ -478,6 +493,13 @@ export default { value: this.nikeName, }); } + if (taskId && this.nikeName === name) { + param.conditions.push({ + operator: "eq", + value: taskId, + field: "dataset_table_task.id", + }); + } const { currentPage, pageSize } = this.paginationConfig; datasetTaskList(currentPage, pageSize, param, showLoading).then( (response) => { @@ -490,18 +512,22 @@ export default { ); }, batchDelete() { - post("/dataset/task/batchDelete", this.multipleSelection.map(ele => ele.id), false).then(() => { + post( + "/dataset/task/batchDelete", + this.multipleSelection.map((ele) => ele.id), + false + ).then(() => { this.initSearch(); - this.openMessageSuccess('commons.delete_success'); + this.openMessageSuccess("commons.delete_success"); }); }, confirmDelete() { const options = { - title: '确定删除该任务吗?', - type: "primary", - cb: this.batchDelete, - }; - this.handlerConfirm(options); + title: "确定删除该任务吗?", + type: "primary", + cb: this.batchDelete, + }; + this.handlerConfirm(options); }, taskStatus(item) { post("/dataset/task/lastExecStatus", item, false).then((response) => { @@ -552,23 +578,23 @@ export default { ) .then(() => { post("/dataset/task/execTask", task).then((response) => { - this.initSearch( true); + this.initSearch(true); }); }) .catch(() => {}); }, selectDataset(row) { if (row) { - const { datasetName, id } = row; + const { datasetName, id } = row; this.$router.push({ - path: '/task-ds-form', + path: "/task-ds-form", query: { datasetName, id, - } - }) + }, + }); } else { - this.$router.push('/task-ds-form') + this.$router.push("/task-ds-form"); } }, disableEdit(task) { @@ -592,16 +618,16 @@ export default { }, deleteTask(task) { const options = { - title: '确定删除该任务吗?', - type: "primary", - cb: () => { - post("/dataset/task/delete/" + task.id, null).then((response) => { - this.openMessageSuccess('commons.delete_success'); + title: "确定删除该任务吗?", + type: "primary", + cb: () => { + post("/dataset/task/delete/" + task.id, null).then((response) => { + this.openMessageSuccess("commons.delete_success"); this.initSearch(); }); - }, - }; - this.handlerConfirm(options); + }, + }; + this.handlerConfirm(options); }, showErrorMassage(massage) { this.show_error_massage = true; @@ -694,7 +720,7 @@ span { } .mar3 { - margin-left: -3px; + margin-left: -3px; } } @@ -750,14 +776,16 @@ span { color: #3370ff; } - .filter-texts-container::-webkit-scrollbar { display: none; } + .filter-texts-container::-webkit-scrollbar { + display: none; + } .arrow-filter { font-size: 16px; width: 24px; height: 24px; cursor: pointer; - color: #646A73; + color: #646a73; display: flex; justify-content: center; align-items: center; diff --git a/frontend/src/views/system/task/TaskRecord.vue b/frontend/src/views/system/task/TaskRecord.vue index 0e2dcc30bf..b9d3fd61bc 100644 --- a/frontend/src/views/system/task/TaskRecord.vue +++ b/frontend/src/views/system/task/TaskRecord.vue @@ -1,8 +1,8 @@