Merge branch 'develop' into dev_20241202_xukangle
Showing
12 changed files
with
263 additions
and
67 deletions
| ... | @@ -230,6 +230,17 @@ export const getClassifyGradList = (data) => request({ | ... | @@ -230,6 +230,17 @@ export const getClassifyGradList = (data) => request({ |
| 230 | data | 230 | data |
| 231 | }) | 231 | }) |
| 232 | 232 | ||
| 233 | /** | ||
| 234 | * 分级列表详情 | ||
| 235 | * @param {Object} | ||
| 236 | * @path /classify-grade/page-list | ||
| 237 | */ | ||
| 238 | |||
| 239 | export const getClassifyGradDetail = (data) => request({ | ||
| 240 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/classify-grade/detail`, | ||
| 241 | method: 'get', | ||
| 242 | params: data | ||
| 243 | }) | ||
| 233 | 244 | ||
| 234 | /** | 245 | /** |
| 235 | * 分级新增 | 246 | * 分级新增 |
| ... | @@ -397,6 +408,178 @@ export const getCgDirFieldPageList = (data) => request({ | ... | @@ -397,6 +408,178 @@ export const getCgDirFieldPageList = (data) => request({ |
| 397 | data | 408 | data |
| 398 | }) | 409 | }) |
| 399 | 410 | ||
| 411 | |||
| 412 | // 分来分级任务-分页 | ||
| 413 | export const getCgTaskPageList = (data) => request({ | ||
| 414 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task/page-list`, | ||
| 415 | method: 'post', | ||
| 416 | data | ||
| 417 | }) | ||
| 418 | |||
| 419 | // 分来分级任务-详情 | ||
| 420 | export const getCgTaskDetail = (data) => request({ | ||
| 421 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task/detail`, | ||
| 422 | method: 'get', | ||
| 423 | params: data | ||
| 424 | }) | ||
| 425 | |||
| 426 | // 分来分级任务-新增 | ||
| 427 | export const cgTaskSave = (data) => request({ | ||
| 428 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task/save`, | ||
| 429 | method: 'post', | ||
| 430 | data | ||
| 431 | }) | ||
| 432 | |||
| 433 | // 分来分级任务-修改 | ||
| 434 | export const cgTaskUpdate = (data) => request({ | ||
| 435 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task/update`, | ||
| 436 | method: 'put', | ||
| 437 | data | ||
| 438 | }) | ||
| 439 | |||
| 440 | // 分来分级任务-删除 | ||
| 441 | export const cgTaskDelete = (data) => request({ | ||
| 442 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task/delete`, | ||
| 443 | method: 'delete', | ||
| 444 | data | ||
| 445 | }) | ||
| 446 | |||
| 447 | // 手动执行任务 | ||
| 448 | export const runExecTask = (data) => request({ | ||
| 449 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task/exec-task`, | ||
| 450 | method: 'post', | ||
| 451 | params: data | ||
| 452 | }) | ||
| 453 | |||
| 454 | // 分类分级任务日志 | ||
| 455 | export const getTaskExecPageList = (data) => request({ | ||
| 456 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task-exec/page-list`, | ||
| 457 | method: 'post', | ||
| 458 | data | ||
| 459 | }) | ||
| 460 | |||
| 461 | // 分类分级任务执行树形数据 | ||
| 462 | export const getTaskExeTreeList = (data) => request({ | ||
| 463 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task-exec/classify/tree-list`, | ||
| 464 | method: 'get', | ||
| 465 | params: data | ||
| 466 | }) | ||
| 467 | |||
| 468 | // 分类分级任务执行字段统计 | ||
| 469 | export const getTaskFieldCount = (data) => request({ | ||
| 470 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task-exec-result/confirm-field-cnt`, | ||
| 471 | method: 'get', | ||
| 472 | params: data | ||
| 473 | }) | ||
| 474 | |||
| 475 | // 分类分级任务执行数据库信息查询 | ||
| 476 | export const getDbFieldList = (data) => request({ | ||
| 477 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task-exec-result/confirm-query-db-list`, | ||
| 478 | method: 'get', | ||
| 479 | params: data | ||
| 480 | }) | ||
| 481 | |||
| 482 | // 分类分级任务执行字段查询 | ||
| 483 | export const execTaskFieldList = (data) => request({ | ||
| 484 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task-exec-result/confirm-field-list-query`, | ||
| 485 | method: 'post', | ||
| 486 | data | ||
| 487 | }) | ||
| 488 | // 分类分级任务执行库表查询 | ||
| 489 | export const execTaskSheetList = (data) => request({ | ||
| 490 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task-exec-result/confirm-db-list-query`, | ||
| 491 | method: 'post', | ||
| 492 | data | ||
| 493 | }) | ||
| 494 | |||
| 495 | // 分类分级任务执行任务确认 | ||
| 496 | export const execTaskConfirm = (data) => request({ | ||
| 497 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task-exec-result/confirm-task`, | ||
| 498 | method: 'post', | ||
| 499 | params: data | ||
| 500 | }) | ||
| 501 | |||
| 502 | // 分类分级任务执行字段确认 | ||
| 503 | export const execFieldConfirm = (data) => request({ | ||
| 504 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-task-exec-result/confirm-field`, | ||
| 505 | method: 'post', | ||
| 506 | data | ||
| 507 | }) | ||
| 508 | |||
| 509 | // 标签规则-分页 | ||
| 510 | export const getCgLabelPageList = (data) => request({ | ||
| 511 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/cg-label/page-list`, | ||
| 512 | method: 'post', | ||
| 513 | data | ||
| 514 | }) | ||
| 515 | |||
| 516 | // 元数据采集任务-分页 | ||
| 517 | export const getMetaTableCollectList = (data) => request({ | ||
| 518 | url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/meta-table/meta-table-collect-list`, | ||
| 519 | method: 'post', | ||
| 520 | data | ||
| 521 | }) | ||
| 522 | |||
| 523 | export const filterVal = (val, type) => { | ||
| 524 | let status = '--'; | ||
| 525 | if(type == 'status'){ | ||
| 526 | switch (val) { | ||
| 527 | case 'N': | ||
| 528 | status = '未运行'; | ||
| 529 | break; | ||
| 530 | case 'Y': | ||
| 531 | status = '成功'; | ||
| 532 | break; | ||
| 533 | case 'E': | ||
| 534 | status = '失败'; | ||
| 535 | break; | ||
| 536 | case 'R': | ||
| 537 | status = '运行中'; | ||
| 538 | break; | ||
| 539 | default: | ||
| 540 | status = '未运行'; | ||
| 541 | break; | ||
| 542 | } | ||
| 543 | } else if(type == 'confirmStatus'){ | ||
| 544 | switch (val) { | ||
| 545 | case 'N': | ||
| 546 | status = '待确认'; | ||
| 547 | break; | ||
| 548 | case 'Y': | ||
| 549 | status = '已确认'; | ||
| 550 | break; | ||
| 551 | default: | ||
| 552 | status = '--'; | ||
| 553 | break; | ||
| 554 | } | ||
| 555 | } else if(type == 'isCgChange'){ | ||
| 556 | switch (val) { | ||
| 557 | case 'N': | ||
| 558 | status = '待确认'; | ||
| 559 | break; | ||
| 560 | case 'Y': | ||
| 561 | status = '已确认'; | ||
| 562 | break; | ||
| 563 | default: | ||
| 564 | status = '待确认'; | ||
| 565 | break; | ||
| 566 | } | ||
| 567 | } else if(type == 'changeStatus'){ | ||
| 568 | switch (val) { | ||
| 569 | case 'N': | ||
| 570 | status = '待确认'; | ||
| 571 | break; | ||
| 572 | case 'Y': | ||
| 573 | status = '已确认'; | ||
| 574 | break; | ||
| 575 | default: | ||
| 576 | status = '--'; | ||
| 577 | break; | ||
| 578 | } | ||
| 579 | } | ||
| 580 | return status; | ||
| 581 | } | ||
| 582 | |||
| 400 | /** 获取字典列表 | 583 | /** 获取字典列表 |
| 401 | * VITE_APP_PLAN_BASEURL 为环境变量 现在只是mock数据 | 584 | * VITE_APP_PLAN_BASEURL 为环境变量 现在只是mock数据 |
| 402 | */ | 585 | */ | ... | ... |
| ... | @@ -498,6 +498,11 @@ const scheduleChange = (val, rowValue) => { | ... | @@ -498,6 +498,11 @@ const scheduleChange = (val, rowValue) => { |
| 498 | const treeSelectNodeChange = (node, item, nodeObj) => { | 498 | const treeSelectNodeChange = (node, item, nodeObj) => { |
| 499 | emits("treeSelectNodeChange", node, item, nodeObj); | 499 | emits("treeSelectNodeChange", node, item, nodeObj); |
| 500 | } | 500 | } |
| 501 | |||
| 502 | const getCascaderCheckedData = () => { | ||
| 503 | const dialogForm = dialogFormRef.value[0] || dialogFormRef.value; | ||
| 504 | return dialogForm.getCascaderCheckedData(); | ||
| 505 | } | ||
| 501 | const setTreeChecked = (checkedKeys, leafOnly: boolean = false) => { | 506 | const setTreeChecked = (checkedKeys, leafOnly: boolean = false) => { |
| 502 | nextTick(() => { | 507 | nextTick(() => { |
| 503 | const formTree = formTreeRef.value[0] || formTreeRef.value; | 508 | const formTree = formTreeRef.value[0] || formTreeRef.value; |
| ... | @@ -533,7 +538,8 @@ defineExpose({ | ... | @@ -533,7 +538,8 @@ defineExpose({ |
| 533 | formTreeRef, | 538 | formTreeRef, |
| 534 | setTableRowSelected, | 539 | setTableRowSelected, |
| 535 | setTreeChecked, | 540 | setTreeChecked, |
| 536 | getDialogConRef | 541 | getDialogConRef, |
| 542 | getCascaderCheckedData | ||
| 537 | }); | 543 | }); |
| 538 | </script> | 544 | </script> |
| 539 | 545 | ... | ... |
| ... | @@ -3,7 +3,17 @@ import { computed, reactive, ref } from 'vue' | ... | @@ -3,7 +3,17 @@ import { computed, reactive, ref } from 'vue' |
| 3 | import { Search } from '@element-plus/icons-vue' | 3 | import { Search } from '@element-plus/icons-vue' |
| 4 | import type { FormInstance, FormRules } from 'element-plus' | 4 | import type { FormInstance, FormRules } from 'element-plus' |
| 5 | import { debounce } from "@/utils/common" | 5 | import { debounce } from "@/utils/common" |
| 6 | const emits = defineEmits(["tableSearch", "toolFilterChange", "loadMore","remoteMethod","treeSelectLoad","selectChange","treeSelectNodeChange","treeSelectNodeClick"]); | 6 | const emits = defineEmits([ |
| 7 | "tableSearch", | ||
| 8 | "toolFilterChange", | ||
| 9 | "loadMore", | ||
| 10 | "remoteMethod", | ||
| 11 | "treeSelectLoad", | ||
| 12 | "selectChange", | ||
| 13 | "treeSelectNodeChange", | ||
| 14 | "treeSelectNodeClick", | ||
| 15 | "cascaderChange", | ||
| 16 | ]); | ||
| 7 | const props = defineProps({ | 17 | const props = defineProps({ |
| 8 | itemList: { | 18 | itemList: { |
| 9 | type: Array, | 19 | type: Array, |
| ... | @@ -34,6 +44,7 @@ const resetForm = (formEl: FormInstance | undefined) => { | ... | @@ -34,6 +44,7 @@ const resetForm = (formEl: FormInstance | undefined) => { |
| 34 | emits('tableSearch', form, true) | 44 | emits('tableSearch', form, true) |
| 35 | }) | 45 | }) |
| 36 | } | 46 | } |
| 47 | |||
| 37 | defineExpose({ | 48 | defineExpose({ |
| 38 | formInline, | 49 | formInline, |
| 39 | formRef | 50 | formRef |
| ... | @@ -68,10 +79,13 @@ const selectChange = (val, row) => { | ... | @@ -68,10 +79,13 @@ const selectChange = (val, row) => { |
| 68 | const handleTreeSelectNodeChange = (node, item) => { | 79 | const handleTreeSelectNodeChange = (node, item) => { |
| 69 | emits("treeSelectNodeChange", node, item); | 80 | emits("treeSelectNodeChange", node, item); |
| 70 | } | 81 | } |
| 71 | const handleTreeSelectNodeClick = (node, item)=>{ | 82 | const handleTreeSelectNodeClick = (node, item) => { |
| 72 | emits("treeSelectNodeClick", node, item); | 83 | emits("treeSelectNodeClick", node, item); |
| 73 | } | 84 | } |
| 74 | const inputChange = (val)=>{ | 85 | const cascaderChange = (val, item) => { |
| 86 | emits("cascaderChange", val, item); | ||
| 87 | } | ||
| 88 | const inputChange = (val) => { | ||
| 75 | onSubmit() | 89 | onSubmit() |
| 76 | } | 90 | } |
| 77 | onMounted(() => { | 91 | onMounted(() => { |
| ... | @@ -86,58 +100,49 @@ onMounted(() => { | ... | @@ -86,58 +100,49 @@ onMounted(() => { |
| 86 | :class="{ 'width_auto': item.type == 'radio-button' }" :prop="item.field"> | 100 | :class="{ 'width_auto': item.type == 'radio-button' }" :prop="item.field"> |
| 87 | <template v-if="item.type == 'select'"> | 101 | <template v-if="item.type == 'select'"> |
| 88 | <el-select :class="{ 'is-multiple': item.multiple }" v-model="formInline[item.field]" | 102 | <el-select :class="{ 'is-multiple': item.multiple }" v-model="formInline[item.field]" |
| 89 | :placeholder="item.placeholder" :clearable="item.clearable" :filterable="item.filterable" @change="(val) => selectChange(val, item)"> | 103 | :placeholder="item.placeholder" :clearable="item.clearable" :filterable="item.filterable" |
| 90 | <el-option v-for="opt in item.options" :label="item.props?.label ? opt[item.props.label] : opt.label" :value="item.props?.value ? opt[item.props.value] : opt.value" /> | 104 | :disabled="item.disabled ?? false" @change="(val) => selectChange(val, item)"> |
| 105 | <el-option v-for="opt in item.options" :label="item.props?.label ? opt[item.props.label] : opt.label" | ||
| 106 | :value="item.props?.value ? opt[item.props.value] : opt.value" /> | ||
| 91 | </el-select> | 107 | </el-select> |
| 92 | </template> | 108 | </template> |
| 93 | <template v-else-if="item.type == 'input-select'"> | 109 | <template v-else-if="item.type == 'input-select'"> |
| 94 | <el-input v-model.trim="formInline[item.field]" :placeholder="item.placeholder" class="input-with-select" :maxlength="item.maxlength ?? ''" | 110 | <el-input v-model.trim="formInline[item.field]" :placeholder="item.placeholder" class="input-with-select" |
| 95 | :suffix-icon="Search"> | 111 | :maxlength="item.maxlength ?? ''" :suffix-icon="Search"> |
| 96 | <template #prepend> | 112 | <template #prepend> |
| 97 | <span v-for="child in item.children"> | 113 | <span v-for="child in item.children"> |
| 98 | <el-select v-model="formItemList[child.field]" :placeholder="child.placeholder" | 114 | <el-select v-model="formItemList[child.field]" :placeholder="child.placeholder" |
| 99 | :clearable="item.clearable" style="vertical-align: inherit;"> | 115 | :clearable="item.clearable" style="vertical-align: inherit;"> |
| 100 | <el-option v-for="opts in child.options" :label="child.props?.label ? opts[item.props.label] : opts.label" :value="child.props?.value ? opts[item.props.value] : opts.value" /> | 116 | <el-option v-for="opts in child.options" |
| 117 | :label="child.props?.label ? opts[item.props.label] : opts.label" | ||
| 118 | :value="child.props?.value ? opts[item.props.value] : opts.value" /> | ||
| 101 | </el-select> | 119 | </el-select> |
| 102 | </span> | 120 | </span> |
| 103 | </template> | 121 | </template> |
| 104 | </el-input> | 122 | </el-input> |
| 105 | </template> | 123 | </template> |
| 106 | <template v-else-if="item.type=='tree-select'"> | 124 | <template v-else-if="item.type == 'tree-select'"> |
| 107 | <div class="select_slots_panel"> | 125 | <div class="select_slots_panel"> |
| 108 | <div class="slot-prefix" v-for="child in item.children"> | 126 | <div class="slot-prefix" v-for="child in item.children"> |
| 109 | <el-select v-model="formInline[child.field]" :placeholder="child.placeholder" @change="(val) => selectChange(val, child)" > | 127 | <el-select v-model="formInline[child.field]" :placeholder="child.placeholder" |
| 128 | @change="(val) => selectChange(val, child)"> | ||
| 110 | <el-option v-for="cpt in child.options" :label="cpt.label" :value="cpt.value" /> | 129 | <el-option v-for="cpt in child.options" :label="cpt.label" :value="cpt.value" /> |
| 111 | </el-select> | 130 | </el-select> |
| 112 | </div> | 131 | </div> |
| 113 | </div> | 132 | </div> |
| 114 | <div class="slot-default"> | 133 | <div class="slot-default"> |
| 115 | <el-tree-select | 134 | <el-tree-select v-model="formInline[item.field]" :data="item.options" :placeholder="item.placeholder" |
| 116 | v-model="formInline[item.field]" | 135 | :clearable="item.clearable" :filterable="item.filterable" :disabled="item.disabled" |
| 117 | :data="item.options" | 136 | :lazy="item.lazy ?? true" :check-strictly="item.checkStrictly ?? false" :node-key="item.nodeKey ?? 'guid'" |
| 118 | :placeholder="item.placeholder" | 137 | :load="(node, resolve) => treeSelectLoad(node, resolve, item)" :props="item.props" |
| 119 | :clearable="item.clearable" | 138 | :multiple="item.multiple ?? false" :render-after-expand="true" :teleported="item.teleported ?? true" |
| 120 | :filterable="item.filterable" | 139 | :default-expanded-keys="item.expandKeys" :collapse-tags-tooltip="item.collapseTagsTooltip ?? false" |
| 121 | :disabled="item.disabled" | 140 | :collapse-tags="item.collapseTags ?? false" :max-collapse-tags="item.maxTags ?? 1" |
| 122 | :lazy="item.lazy ?? true" | 141 | :show-checkbox="item.showCheckbox ?? false" @change="(val) => selectChange(val, item)" |
| 123 | :check-strictly = "item.checkStrictly ?? false" | 142 | @current-change="(node) => handleTreeSelectNodeChange(node, item)" |
| 124 | :node-key="item.nodeKey ?? 'guid'" | 143 | @node-click="(node) => handleTreeSelectNodeClick(node, item)"> |
| 125 | :load="(node, resolve) => treeSelectLoad(node, resolve, item)" | ||
| 126 | :props="item.props" | ||
| 127 | :multiple="item.multiple ?? false" | ||
| 128 | :render-after-expand="true" | ||
| 129 | :teleported="item.teleported ?? true" | ||
| 130 | :default-expanded-keys="item.expandKeys" | ||
| 131 | :collapse-tags-tooltip="item.collapseTagsTooltip ?? false" | ||
| 132 | :collapse-tags="item.collapseTags ?? false" | ||
| 133 | :max-collapse-tags="item.maxTags ?? 1" | ||
| 134 | :show-checkbox="item.showCheckbox ?? false" | ||
| 135 | @change="(val) => selectChange(val, item)" | ||
| 136 | @current-change="(node) => handleTreeSelectNodeChange(node, item)" | ||
| 137 | @node-click = "(node)=>handleTreeSelectNodeClick(node, item)" | ||
| 138 | > | ||
| 139 | 144 | ||
| 140 | <!-- <template #default="{ node, data }"> | 145 | <!-- <template #default="{ node, data }"> |
| 141 | <template v-if="item.getName"> | 146 | <template v-if="item.getName"> |
| 142 | <div | 147 | <div |
| 143 | class="left-code" | 148 | class="left-code" |
| ... | @@ -153,10 +158,10 @@ onMounted(() => { | ... | @@ -153,10 +158,10 @@ onMounted(() => { |
| 153 | {{ item.getName(data, node) }} | 158 | {{ item.getName(data, node) }} |
| 154 | </div> | 159 | </div> |
| 155 | </template> | 160 | </template> |
| 156 | <span v-else>{{ data[item.props.label] }}</span> | 161 | <span v-else>{{ data[item.props.label] }}</span> |
| 157 | </template> --> | 162 | </template> --> |
| 158 | </el-tree-select> | 163 | </el-tree-select> |
| 159 | </div> | 164 | </div> |
| 160 | 165 | ||
| 161 | </template> | 166 | </template> |
| 162 | <template v-else-if="item.type == 'date-time'"> | 167 | <template v-else-if="item.type == 'date-time'"> |
| ... | @@ -178,13 +183,21 @@ onMounted(() => { | ... | @@ -178,13 +183,21 @@ onMounted(() => { |
| 178 | <div class="slot-default"> | 183 | <div class="slot-default"> |
| 179 | <el-select :class="{ 'is-multiple': item.multiple }" v-model="formInline[item.field]" | 184 | <el-select :class="{ 'is-multiple': item.multiple }" v-model="formInline[item.field]" |
| 180 | :placeholder="item.placeholder" :multiple="item.multiple" collapse-tags collapse-tags-tooltip | 185 | :placeholder="item.placeholder" :multiple="item.multiple" collapse-tags collapse-tags-tooltip |
| 181 | @change="(val) => selectChange(val, item)" | 186 | @change="(val) => selectChange(val, item)" :max-collapse-tags="3" :filterable="item.filterable" |
| 182 | :max-collapse-tags="3" :filterable="item.filterable" :clearable="item.clearable" v-loadmore="loadMore"> | 187 | :clearable="item.clearable" v-loadmore="loadMore"> |
| 183 | <el-option v-for="opt in item.options" :label="opt.label" :value="opt.value" /> | 188 | <el-option v-for="opt in item.options" :label="opt.label" :value="opt.value" /> |
| 184 | </el-select> | 189 | </el-select> |
| 185 | </div> | 190 | </div> |
| 186 | </div> | 191 | </div> |
| 187 | </template> | 192 | </template> |
| 193 | <template v-else-if="item.type == 'cascader'"> | ||
| 194 | <el-cascader ref="formCascaderRef" :class="[item.col, { is_block: item.block }]" | ||
| 195 | v-model="formInline[item.field]" :options="item.options" :props="item.props" :placeholder="item.placeholder" | ||
| 196 | :show-all-levels="item.showAllLevels ?? true" :clearable="item.clearable" | ||
| 197 | :filterable="item.filterable ?? false" :collapse-tags="item.collapse ?? false" | ||
| 198 | :collapse-tags-tooltip="item.tagsTooltip ?? false" :max-collapse-tags="item.maxTags ?? 1" | ||
| 199 | :disabled="item.disabled ?? false" @change="(val) => cascaderChange(val, item)" /> | ||
| 200 | </template> | ||
| 188 | <template v-else> | 201 | <template v-else> |
| 189 | <el-input v-model.trim="formInline[item.field]" :placeholder="item.placeholder" :clearable="item.clearable" | 202 | <el-input v-model.trim="formInline[item.field]" :placeholder="item.placeholder" :clearable="item.clearable" |
| 190 | @clear="inputChange" /> | 203 | @clear="inputChange" /> | ... | ... |
| 1 | <script lang="ts" setup name="TableTools"> | 1 | <script lang="ts" setup name="TableTools"> |
| 2 | import TableSearch from './table_search.vue' | 2 | import TableSearch from './table_search.vue' |
| 3 | const emits = defineEmits(["search", "filterChange","loadMore","remoteMethod","treeSelectLoad","selectChange","treeSelectNodeChange","treeSelectNodeClick"]); | 3 | const emits = defineEmits(["search", "filterChange","loadMore","remoteMethod","treeSelectLoad","selectChange","treeSelectNodeChange","treeSelectNodeClick","cascaderChange"]); |
| 4 | const props = defineProps({ | 4 | const props = defineProps({ |
| 5 | searchItems: { | 5 | searchItems: { |
| 6 | type: Array, | 6 | type: Array, |
| ... | @@ -53,6 +53,10 @@ const handleTreeSelectNodeChange = (node, item) => { | ... | @@ -53,6 +53,10 @@ const handleTreeSelectNodeChange = (node, item) => { |
| 53 | const treeSelectNodeClick = (node, item)=>{ | 53 | const treeSelectNodeClick = (node, item)=>{ |
| 54 | emits("treeSelectNodeClick", node, item); | 54 | emits("treeSelectNodeClick", node, item); |
| 55 | } | 55 | } |
| 56 | const cascaderChange = (val, item) => { | ||
| 57 | emits("cascaderChange", val, item); | ||
| 58 | } | ||
| 59 | |||
| 56 | defineExpose({ | 60 | defineExpose({ |
| 57 | toolSearch, | 61 | toolSearch, |
| 58 | }) | 62 | }) |
| ... | @@ -61,14 +65,15 @@ defineExpose({ | ... | @@ -61,14 +65,15 @@ defineExpose({ |
| 61 | <template> | 65 | <template> |
| 62 | <div class="table-tools"> | 66 | <div class="table-tools"> |
| 63 | <div class="tools_search"> | 67 | <div class="tools_search"> |
| 64 | <TableSearch ref="toolSearch" :itemList="itemList" :init="props.init??true" | 68 | <TableSearch ref="toolSearch" :itemList="itemList" :init="props.init??true" |
| 65 | :formId="formId" | 69 | :formId="formId" |
| 66 | @tableSearch="tableSearch" | 70 | @tableSearch="tableSearch" |
| 67 | @toolFilterChange="toolFilterChange" @loadMore="loadMore" | 71 | @toolFilterChange="toolFilterChange" @loadMore="loadMore" |
| 68 | @treeSelectLoad="treeSelectLoad" | 72 | @treeSelectLoad="treeSelectLoad" |
| 69 | @selectChange="selectChange" | 73 | @selectChange="selectChange" |
| 70 | @treeSelectNodeChange="handleTreeSelectNodeChange" | 74 | @treeSelectNodeChange="handleTreeSelectNodeChange" |
| 71 | @treeSelectNodeClick="treeSelectNodeClick" | 75 | @treeSelectNodeClick="treeSelectNodeClick" |
| 76 | @cascaderChange="cascaderChange" | ||
| 72 | /> | 77 | /> |
| 73 | </div> | 78 | </div> |
| 74 | <div class="tools_bar" v-if="bars?.length"> | 79 | <div class="tools_bar" v-if="bars?.length"> | ... | ... |
| ... | @@ -55,7 +55,7 @@ const getSvgElement = async (item:any)=>{ | ... | @@ -55,7 +55,7 @@ const getSvgElement = async (item:any)=>{ |
| 55 | } | 55 | } |
| 56 | // reslove(122) | 56 | // reslove(122) |
| 57 | // }) | 57 | // }) |
| 58 | 58 | ||
| 59 | 59 | ||
| 60 | } | 60 | } |
| 61 | </script> | 61 | </script> |
| ... | @@ -67,7 +67,7 @@ const getSvgElement = async (item:any)=>{ | ... | @@ -67,7 +67,7 @@ const getSvgElement = async (item:any)=>{ |
| 67 | <el-menu-item :title="item1.meta?.title ?? '[ 无标题 ]'" :index="resolveRoutePath(basePath, item1.path || '')"> | 67 | <el-menu-item :title="item1.meta?.title ?? '[ 无标题 ]'" :index="resolveRoutePath(basePath, item1.path || '')"> |
| 68 | <el-icon v-if="item1.meta?.icon" class="title-icon" > | 68 | <el-icon v-if="item1.meta?.icon" class="title-icon" > |
| 69 | <!-- <img :src="item.meta.icon" v-if="item.meta.icon.indexOf('http')>-1" alt=""> --> | 69 | <!-- <img :src="item.meta.icon" v-if="item.meta.icon.indexOf('http')>-1" alt=""> --> |
| 70 | 70 | ||
| 71 | <!-- {{ item.meta.icon }} --> | 71 | <!-- {{ item.meta.icon }} --> |
| 72 | <template v-if="item1.meta.icon.indexOf('svg')>-1"> | 72 | <template v-if="item1.meta.icon.indexOf('svg')>-1"> |
| 73 | <i v-html="item1.meta.icon" :key="item1.meta.icon" v-if="!item1.meta.isEle"></i> | 73 | <i v-html="item1.meta.icon" :key="item1.meta.icon" v-if="!item1.meta.isEle"></i> | ... | ... |
| ... | @@ -74,15 +74,8 @@ const routes: RouteRecordRaw[] = [ | ... | @@ -74,15 +74,8 @@ const routes: RouteRecordRaw[] = [ |
| 74 | sidebar: false, | 74 | sidebar: false, |
| 75 | breadcrumb: false, | 75 | breadcrumb: false, |
| 76 | cache: true, | 76 | cache: true, |
| 77 | reuse: true, | ||
| 78 | editPage: true, | ||
| 79 | activeMenu: '/data-inventory/classify-grade-manage/task-config' | 77 | activeMenu: '/data-inventory/classify-grade-manage/task-config' |
| 80 | }, | 78 | }, |
| 81 | beforeEnter: (to, from) => { | ||
| 82 | // if (to.query.name) { | ||
| 83 | // to.meta.title = `编辑-${to.query.name}`; | ||
| 84 | // } | ||
| 85 | } | ||
| 86 | }, | 79 | }, |
| 87 | { | 80 | { |
| 88 | path: 'template-config', | 81 | path: 'template-config', |
| ... | @@ -119,7 +112,7 @@ const routes: RouteRecordRaw[] = [ | ... | @@ -119,7 +112,7 @@ const routes: RouteRecordRaw[] = [ |
| 119 | }, | 112 | }, |
| 120 | beforeEnter: (to, from) => { | 113 | beforeEnter: (to, from) => { |
| 121 | if (to.query.classStandardName) { | 114 | if (to.query.classStandardName) { |
| 122 | to.meta.title = `编辑-${to.query.classStandardName}`; | 115 | to.meta.title = `编辑-${to.query.classStandardName}`; |
| 123 | } | 116 | } |
| 124 | } | 117 | } |
| 125 | }, | 118 | }, | ... | ... |
| ... | @@ -33,12 +33,8 @@ const useUserStore = defineStore( | ... | @@ -33,12 +33,8 @@ const useUserStore = defineStore( |
| 33 | function getToken(data, state) { | 33 | function getToken(data, state) { |
| 34 | data.platformGuid = "7f16f697aec111ef8656fa163e60becd"; | 34 | data.platformGuid = "7f16f697aec111ef8656fa163e60becd"; |
| 35 | data.userType = 2; | 35 | data.userType = 2; |
| 36 | data.validateUri = location.origin + '/'; | 36 | data.validateUri = location.origin == 'http://localhost:9000' ? 'http://localhost:9000/' : location.origin + '/'; |
| 37 | debugger | ||
| 38 | debugger | ||
| 39 | return getTokenPromise.value = getTokenByCode(data).then((res: any) => { | 37 | return getTokenPromise.value = getTokenByCode(data).then((res: any) => { |
| 40 | debugger | ||
| 41 | debugger | ||
| 42 | getTokenPromise.value = null; | 38 | getTokenPromise.value = null; |
| 43 | console.log(res); | 39 | console.log(res); |
| 44 | if (res.code == '00000') { | 40 | if (res.code == '00000') { |
| ... | @@ -105,9 +101,9 @@ const useUserStore = defineStore( | ... | @@ -105,9 +101,9 @@ const useUserStore = defineStore( |
| 105 | }).then((resInfo: any) => { | 101 | }).then((resInfo: any) => { |
| 106 | getTokenPromise.value = null; | 102 | getTokenPromise.value = null; |
| 107 | if (resInfo.code == '00000'){ | 103 | if (resInfo.code == '00000'){ |
| 108 | localStorage.setItem('token',resInfo.data.access_token); | 104 | localStorage.setItem('token',resInfo.data.accessToken); |
| 109 | token.value = resInfo.data.access_token; | 105 | token.value = resInfo.data.accessToken; |
| 110 | localStorage.setItem('refresh_token',resInfo.data.refresh_token); | 106 | localStorage.setItem('refresh_token',resInfo.data.refreshToken); |
| 111 | const expiresIn = (Date.now() + 1700000) + ""; | 107 | const expiresIn = (Date.now() + 1700000) + ""; |
| 112 | localStorage.setItem('expiresIn', expiresIn); | 108 | localStorage.setItem('expiresIn', expiresIn); |
| 113 | } else { | 109 | } else { | ... | ... |
| ... | @@ -112,7 +112,7 @@ service.interceptors.request.use( | ... | @@ -112,7 +112,7 @@ service.interceptors.request.use( |
| 112 | return config; | 112 | return config; |
| 113 | }; | 113 | }; |
| 114 | /** 若是刷新token的请求,则不需要等refreshToken完成。 */ | 114 | /** 若是刷新token的请求,则不需要等refreshToken完成。 */ |
| 115 | if (config.url.includes('/csbr-zuul/user/refreshToken')) { | 115 | if (config.url.includes('/user/refreshToken')) { |
| 116 | return process(); | 116 | return process(); |
| 117 | } | 117 | } |
| 118 | let expiresIn = localStorage.getItem('expiresIn'); | 118 | let expiresIn = localStorage.getItem('expiresIn'); | ... | ... |
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
-
Please register or sign in to post a comment