diff --git a/src/api/final/index.ts b/src/api/final/index.ts index fab2e62..857eeb2 100644 --- a/src/api/final/index.ts +++ b/src/api/final/index.ts @@ -64,7 +64,7 @@ export async function repetitionTask() { } /** - * 获取审核列表 + * 获取小结重复列表 * @returns */ export async function getRepeatList(params: FinalParam) { @@ -76,8 +76,8 @@ export async function getRepeatList(params: FinalParam) { const { data: { records, totalPage, totalCount } } = res return { - pageCount: totalPage, + pageCount: 3, data: records, - totalCount, + totalCount: 20, } } diff --git a/src/assets/icons/import.svg b/src/assets/icons/import.svg new file mode 100644 index 0000000..08b665d --- /dev/null +++ b/src/assets/icons/import.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/look.svg b/src/assets/icons/look.svg new file mode 100644 index 0000000..fc64bd6 --- /dev/null +++ b/src/assets/icons/look.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/final/comp/FilterModal.vue b/src/views/final/comp/FilterModal.vue index 4c13bf5..d8bc149 100644 --- a/src/views/final/comp/FilterModal.vue +++ b/src/views/final/comp/FilterModal.vue @@ -147,7 +147,6 @@ function rowProps(row: RowData) { } function handleCheck(rowKeys: DataTableRowKey[]) { - console.log(rowKeys, selectionIds.value, "handleCheck"); selectionIds.value = rowKeys; } @@ -191,6 +190,7 @@ function deleteSelection(id = "") { } deleteCondition({ ids: selectionIds.value.join(",") }).then(() => { + selectionIds.value = []; query(pagination.page, pagination.pageSize); }); } diff --git a/src/views/final/comp/ListAction.vue b/src/views/final/comp/ListAction.vue index e469bdf..f1ef5e2 100644 --- a/src/views/final/comp/ListAction.vue +++ b/src/views/final/comp/ListAction.vue @@ -31,7 +31,7 @@ const actions = computed(() => {
{{ action.label }} diff --git a/src/views/final/comp/RepeatTaskTableModal.vue b/src/views/final/comp/RepeatTaskTableModal.vue index 0d1c1ae..587fb28 100644 --- a/src/views/final/comp/RepeatTaskTableModal.vue +++ b/src/views/final/comp/RepeatTaskTableModal.vue @@ -14,6 +14,7 @@ import { } from 'vue' import { NDataTable, useDialog, useMessage } from 'naive-ui' import type { DataTableColumns, DataTableRowKey } from 'naive-ui' +import { useRouter } from 'vue-router' import { ListAction, StatusItem, @@ -21,7 +22,7 @@ import { import { RejectModal } from './index' import { useDictionary } from '@/store/modules/dictonary' import type { RowData } from '@/config/final' -import { getFinalList, getRepeatList } from '@/api/final' +import { getRepeatList } from '@/api/final' import { formatToDateHMS } from '@/utils/dateUtil' import { audit } from '@/api/task/task' import NotPassed from '@/components/Approval/NotPassed.vue' @@ -35,6 +36,7 @@ const show = ref(false) const izstatusList = ref([]) const dialog = useDialog() const checkedRowKeys = ref([]) +const router = useRouter() onBeforeMount(() => { dicStore.fetchizstatusListt() @@ -59,7 +61,7 @@ const columns: DataTableColumns = [ }, }, { - title: '任务Id', + title: '任务ID', key: 'id', fixed: 'left', width: 180, @@ -234,6 +236,7 @@ function actionHandler(action: any, row: any) { const { key } = action switch (key) { case 'view': + goDetail(row) break case 'reset': // resetHandler() @@ -355,6 +358,10 @@ function reload() { checkedRowKeys.value = [] } +function goDetail(row) { + router.push({ name: 'final-detail', query: { id: row.id, packageid: row.packageid } }) +} + defineExpose({ showModal, }) @@ -373,45 +380,45 @@ defineExpose({ aria-modal="true" >
- 重复任务 -
-
- 任务信息 +
+ 重复任务 +
+
+ 任务信息 +
+
+
+ + + +
+
+
-
-
- - - -
-
-
- + @@ -435,9 +442,15 @@ defineExpose({ display: flex; flex-direction: column; + .card-top{ + padding: 24px; + } + &-title { - font-weight: bold; - font-size: 16px; + font-size: 18px; + font-family: PingFang SC, PingFang SC-Medium; + font-weight: 600; + color: #333333; } &-bar { @@ -455,19 +468,31 @@ defineExpose({ &-footer { display: flex; justify-content: flex-end; + border-top: 0.5px solid #d9d9d9; + padding: 15px 24px; } &-info { font-weight: bold; position: relative; + height: 29px; + background: #f8f8f8; + font-size: 16px; + font-family: PingFang SC, PingFang SC-Medium; + font-weight: 600; + color: #333333; + display: flex; + align-items: center; + padding-left: 14px; &:before { - background-color: #1980ff; + background-color: #507AFD; content: ""; - width: 5px; - border-radius: 2px; - top: 0; - bottom: 0; + height: 18px; + width: 4px; + border-radius: 3px; + top: 5px; + left: 0; position: absolute; } } @@ -488,4 +513,21 @@ defineExpose({ --n-padding-top: 0px; --n-padding-bottom: 12px; } + +::v-deep(.n-card__content) { + padding: 0!important; +} + +::v-deep(.n-data-table .n-data-table-td) { + padding: 10px 12px!important; +} + +.btn1{ + background: #507AFD; +} + +.btn{ + border: 1px solid #cad2dd; + background-color: #fff; +} diff --git a/src/views/final/content/Content.vue b/src/views/final/content/Content.vue index 71285a0..a28a943 100644 --- a/src/views/final/content/Content.vue +++ b/src/views/final/content/Content.vue @@ -17,7 +17,6 @@ import { import { rowPropKeys } from 'naive-ui/es/legacy-grid/src/Row' import { useRoute, useRouter } from 'vue-router' import { - Action, CustomTabelModal, ImportExcelModal, ListAction, @@ -784,11 +783,13 @@ async function refreshHandler(searchId?: any) { trigger="click" >
  • - 批量导入数据 + 批量导入数据
  • 导出待审数据 @@ -796,6 +797,9 @@ async function refreshHandler(searchId?: any) {
  • 导出全部数据
  • +
@@ -864,6 +868,7 @@ async function refreshHandler(searchId?: any) { .batch { display: flex; align-items: center; + margin-right: 10px; .btn-approval{ width: 68px; @@ -875,6 +880,17 @@ async function refreshHandler(searchId?: any) { margin-left: 16px; } } + +.icon-wrap { + display: flex; + align-items: center; + justify-content: center; + width: 30px; + height: 30px; + background: rgba(80, 122, 253, 0.1); + border-radius: 8px; + cursor: pointer; +} .wrapper { display: flex; flex: 1; @@ -901,7 +917,7 @@ async function refreshHandler(searchId?: any) { .xjcc { font-weight: bold; - color: #6a80fc; + color: #507AFD; margin-right: 20px; } diff --git a/src/views/home/aside/comp/modals/FilterModal.vue b/src/views/home/aside/comp/modals/FilterModal.vue index d12ad9a..4690ee0 100644 --- a/src/views/home/aside/comp/modals/FilterModal.vue +++ b/src/views/home/aside/comp/modals/FilterModal.vue @@ -219,6 +219,7 @@ function deleteSelection(id = "") { } deleteCondition({ ids: selectionIds.value.join(",") }).then(() => { + selectionIds.value = []; query(pagination.page, pagination.pageSize); }); } @@ -308,6 +309,10 @@ const inputHandler = debounce((word) => { keyword.value = word; query(1, 5); }, 300); + +const showSearch = computed(() => { + return selectionIds.value.length > 0; +}); diff --git a/src/views/worksheet/aside/WorkSheetList.vue b/src/views/worksheet/aside/WorkSheetList.vue index f797a21..330b045 100644 --- a/src/views/worksheet/aside/WorkSheetList.vue +++ b/src/views/worksheet/aside/WorkSheetList.vue @@ -33,7 +33,7 @@ const pagination = reactive({ pageSize: 10, }) -const approvalModalRef = ref(null) +const approvalModalRef: any = ref(null) const notPassedRef: any = ref(null) const overTask = ref(null); @@ -94,8 +94,9 @@ watch( (newVal) => { if (isEmpty(newVal)) return - - activeId.value = newVal + activeId.value = newVal; + approvalModalRef.value.showModal(activeId.value) + }, ) diff --git a/src/views/worksheet/content/Content.vue b/src/views/worksheet/content/Content.vue index fd77b4f..904a9c1 100644 --- a/src/views/worksheet/content/Content.vue +++ b/src/views/worksheet/content/Content.vue @@ -136,7 +136,7 @@ async function featchList() { try { taskpagination.pageNo += 1; const { data, total, pageCount } = await getTaskDetailPictureList( - { ...taskpagination, ...sortBy, checkDuplicateId: workStore.activeId, pictureId: taskDetailInfo.value.pictureid } + { ...taskpagination, ...sortBy, checkDuplicateId: workStore.activeId, pictureId: taskDetailInfo.value.id } ); totalCount.value = total; @@ -223,10 +223,8 @@ async function queryDetail(checkDuplicateId: any) { refreshHandler(); } async function handleSelect(item: any) { - taskDetailInfo.value = await getTaskDetailInfo(workStore.activeId); - + taskDetailInfo.value = await getTaskDetailInfo(item.id) const packageid = workStore.getActiveId; - if (isEmpty(packageid)) { listData.value.length = 0; totalCount.value = 0; @@ -239,7 +237,7 @@ async function handleSelect(item: any) { async function sortHandler(orderby: "similarityScore" | "createdate") { selectedSortName.value = orderby; sortBy.orderName = orderby; - sortBy.orderType = sortBy.orderType === "desc" ? "desc" : "asc"; + sortBy.orderType = sortBy.orderType === "asc" ? "desc" : "asc"; refreshHandler(); } @@ -296,6 +294,10 @@ function rejectHandler() { const modal = unref(notPassModalRef)! as any modal.showModal(selectItems.value) } +function singleRejectHandler(item) { + const modal = unref(notPassModalRef)! as any + modal.showModal([item]) +} function reject(idOrDesc: string, backId: string, isOther: boolean) { const formIds: string[] = processItems.map(item => item.id) const taskIds: string[] = processItems.map(item => item.taskId) @@ -488,15 +490,21 @@ function reloadList() { 任务ID:{{ taskDetailInfo.taskname }}
-
{{ TASK_STATUS_OBJ[taskDetailInfo.historyStates] + +
待审批
+
已审批
+
{{ TASK_STATUS_OBJ[taskDetailInfo.historyStates] }}
+
{{ + TASK_STATUS_OBJ[taskDetailInfo.historyStates] + }}
@@ -605,7 +613,7 @@ function reloadList() {
-->
- +
@@ -909,17 +917,21 @@ function reloadList() { line-height: 16px; } + .tag-submited { + color: #507AFD; + border: 1px solid #507AFD; + } .tag-submiting { - color: #feaf2d; - border: 1px solid #feaf2d; + color: #FFB800; + border: 1px solid #FFB800; } - .tag-approve { - color: #398ade; - border: 1px solid #398ade; + .tag-passed { + color: #02C984; + border: 1px solid #02C984; } - .tag-passed { + .tag-not-passed { color: #ff7575; border: 1px solid #ff7575; } diff --git a/src/views/worksheet/modal/ApprovalModal.vue b/src/views/worksheet/modal/ApprovalModal.vue index eac9608..a25dd02 100644 --- a/src/views/worksheet/modal/ApprovalModal.vue +++ b/src/views/worksheet/modal/ApprovalModal.vue @@ -1,10 +1,11 @@