Merge branch 'develop' of http://117.78.60.236:8000/csbr-daop/fe-data-asset-management into develop
Showing
11 changed files
with
261 additions
and
65 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"> | ... | ... |
| ... | @@ -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