Merge pull request 'fix: 修复打包时报错问题' (#163) from fix/import_error into test

Reviewed-on: #163
pull/164/head
刘释隆 2 years ago
commit 7e34bf0440

1
components.d.ts vendored

@ -11,6 +11,7 @@ declare module 'vue' {
BasicModal: typeof import('./src/components/Modal/BasicModal.vue')['default'] BasicModal: typeof import('./src/components/Modal/BasicModal.vue')['default']
DataHeader: typeof import('./src/components/DataHeader/index.vue')['default'] DataHeader: typeof import('./src/components/DataHeader/index.vue')['default']
NAvatar: typeof import('naive-ui')['NAvatar'] NAvatar: typeof import('naive-ui')['NAvatar']
NBackTop: typeof import('naive-ui')['NBackTop']
NButton: typeof import('naive-ui')['NButton'] NButton: typeof import('naive-ui')['NButton']
NCard: typeof import('naive-ui')['NCard'] NCard: typeof import('naive-ui')['NCard']
NCheckbox: typeof import('naive-ui')['NCheckbox'] NCheckbox: typeof import('naive-ui')['NCheckbox']

@ -1,15 +1,15 @@
<script lang="ts" setup> <script lang="ts" setup>
import { onMounted, onUnmounted, reactive, ref, watch } from 'vue' import { onMounted, onUnmounted, reactive, ref, watch } from "vue";
import { throttle } from 'lodash' import { throttle } from "lodash-es";
import { useInfiniteScroll } from '@vueuse/core' import { useInfiniteScroll } from "@vueuse/core";
import { useMessage } from 'naive-ui' import { useMessage } from "naive-ui";
import ApprovalModal from '../modal/ApprovalModal.vue' import ApprovalModal from "../modal/ApprovalModal.vue";
import ListItem from './ListItem.vue' import ListItem from "./ListItem.vue";
import { deletePackage } from '@/api/home/main' import { deletePackage } from "@/api/home/main";
import { useWorkOrder } from '@/store/modules/workOrder' import { useWorkOrder } from "@/store/modules/workOrder";
import { isEmpty } from '@/utils' import { isEmpty } from "@/utils";
import type { PackageListItem } from '/#/workorder' import type { PackageListItem } from "/#/workorder";
import NotPassed from '@/components/NotPassed.vue' import NotPassed from "@/components/NotPassed.vue";
defineProps({ defineProps({
showFieldList: { showFieldList: {
@ -20,59 +20,57 @@ defineProps({
type: Array, type: Array,
default: () => [], default: () => [],
}, },
}) });
const emit = defineEmits(['ApprovalOver']) const emit = defineEmits(["ApprovalOver"]);
const workStore = useWorkOrder() const workStore = useWorkOrder();
const data = ref<PackageListItem[]>([]) const data = ref<PackageListItem[]>([]);
const activeId = ref('') const activeId = ref("");
const el = ref<HTMLDivElement | null>(null) const el = ref<HTMLDivElement | null>(null);
const keyword = ref('') const keyword = ref("");
const canloadMore = ref(true) const canloadMore = ref(true);
const isLoading = ref(false) const isLoading = ref(false);
const pagination = reactive({ const pagination = reactive({
pageNo: 0, pageNo: 0,
pageSize: 10, pageSize: 10,
}) });
const approvalModalRef: any = ref(null) const approvalModalRef: any = ref(null);
const notPassedRef: any = ref(null) const notPassedRef: any = ref(null);
const overTask = ref<any>(null) const overTask = ref<any>(null);
function selectHandler(id: string, index: number) { function selectHandler(id: string, index: number) {
// console.log('selectHandler',id) // console.log('selectHandler',id)
workStore.setActive(index) workStore.setActive(index);
// showModal(approvalModalRef, id) // showModal(approvalModalRef, id)
} }
useInfiniteScroll( useInfiniteScroll(
el as any, el as any,
() => { () => {
loadMore() loadMore();
}, },
{ {
distance: 10, distance: 10,
interval: 1500, interval: 1500,
canLoadMore: () => canloadMore.value, canLoadMore: () => canloadMore.value,
}, }
) );
async function loadMore() { async function loadMore() {
if (isLoading.value || el.value == null) if (isLoading.value || el.value == null) return;
return isLoading.value = true;
isLoading.value = true
try { try {
const more = await fetchList() const more = await fetchList();
more.forEach((ele) => { more.forEach((ele) => {
ele.search = JSON.parse(ele.search) ele.search = JSON.parse(ele.search);
// ele.search.createTime = ele.search.submit_date_timestamp // ele.search.createTime = ele.search.submit_date_timestamp
}) });
data.value.push(...more) data.value.push(...more);
} } finally {
finally { isLoading.value = false;
isLoading.value = false
} }
} }
@ -84,123 +82,112 @@ async function loadMore() {
async function fetchList() { async function fetchList() {
try { try {
pagination.pageNo += 1 pagination.pageNo += 1;
const result = await workStore.fetchOrderList(pagination, keyword.value) const result = await workStore.fetchOrderList(pagination, keyword.value);
const { data, pageCount } = result const { data, pageCount } = result;
if (pageCount !== 0) if (pageCount !== 0) canloadMore.value = pageCount >= pagination.pageNo;
canloadMore.value = pageCount >= pagination.pageNo else canloadMore.value = false;
else canloadMore.value = false
return data || [];
return data || [] } catch (error) {
} canloadMore.value = false;
catch (error) { return [];
canloadMore.value = false
return []
} }
} }
watch( watch(
() => workStore.activeId, () => workStore.activeId,
(newVal) => { (newVal) => {
if (isEmpty(newVal)) if (isEmpty(newVal)) return;
return activeId.value = newVal;
activeId.value = newVal approvalModalRef.value.showModal(workStore.dataId);
approvalModalRef.value.showModal(workStore.dataId) }
}, );
)
function reset() { function reset() {
pagination.pageNo = 0 pagination.pageNo = 0;
pagination.pageSize = 10 pagination.pageSize = 10;
canloadMore.value = true canloadMore.value = true;
data.value.length = 0 data.value.length = 0;
workStore.reset() workStore.reset();
} }
function notPass(value) { function notPass(value) {
notPassedRef.value.showModal(value) notPassedRef.value.showModal(value);
} }
async function search(word: string) { async function search(word: string) {
keyword.value = word keyword.value = word;
reset() reset();
useInfiniteScroll( useInfiniteScroll(
el as any, el as any,
() => { () => {
loadMore() loadMore();
}, },
{ distance: 10, canLoadMore: () => canloadMore.value }, { distance: 10, canLoadMore: () => canloadMore.value }
) );
} }
function overTaskHandelr(item: any) { function overTaskHandelr(item: any) {
overTask.value = item overTask.value = item;
} }
function leaveTaskHandler(event) { function leaveTaskHandler(event) {
if (event?.relatedTarget?.id !== 'taskPopconfirmRef') if (event?.relatedTarget?.id !== "taskPopconfirmRef") overTask.value = null;
overTask.value = null
} }
const message = useMessage() const message = useMessage();
function dismisClick(packageId: string) { function dismisClick(packageId: string) {
deletePackage({ packageId }).then((res) => { deletePackage({ packageId }).then((res) => {
if (res.code === 'OK') { if (res.code === "OK") {
message.success('解散任务包成功') message.success("解散任务包成功");
reset() reset();
loadMore() loadMore();
} }
}) });
} }
function ApprovalOver(packageId) { function ApprovalOver(packageId) {
emit('ApprovalOver', packageId) emit("ApprovalOver", packageId);
} }
defineExpose({ defineExpose({
search, search,
}) });
const onKeydown = throttle((event) => { const onKeydown = throttle((event) => {
const eles = ['INPUT', 'TEXTAREA'] const eles = ["INPUT", "TEXTAREA"];
if (eles.includes(event.target.tagName)) if (eles.includes(event.target.tagName)) return;
return
if (event.defaultPrevented) if (event.defaultPrevented) return; //
return //
const handled = false const handled = false;
if (event.key !== undefined) { if (event.key !== undefined) {
// 使 KeyboardEvent.key handled true // 使 KeyboardEvent.key handled true
} } else if (event.keyCode !== undefined) {
else if (event.keyCode !== undefined) {
// 使 KeyboardEvent.keyCode handled true // 使 KeyboardEvent.keyCode handled true
} }
if (handled) { if (handled) {
// //
event.preventDefault() event.preventDefault();
} }
if (event.key === 'ArrowUp') { if (event.key === "ArrowUp") {
const prev = data.value[workStore.currentIndex - 1]?.id const prev = data.value[workStore.currentIndex - 1]?.id;
if (prev) if (prev) selectHandler(prev, workStore.currentIndex - 1);
selectHandler(prev, workStore.currentIndex - 1)
} }
if (event.key === 'ArrowDown') { if (event.key === "ArrowDown") {
const next = data.value[workStore.currentIndex + 1]?.id const next = data.value[workStore.currentIndex + 1]?.id;
if (next) if (next) selectHandler(next, workStore.currentIndex + 1);
selectHandler(next, workStore.currentIndex + 1)
} }
if (event.key === 'ArrowRight' || event.key === 'ArrowLeft') { if (event.key === "ArrowRight" || event.key === "ArrowLeft") {
if (activeId.value) if (activeId.value) activeId.value = "";
activeId.value = '' else activeId.value = data.value[workStore.currentIndex]?.checkDuplicateId;
else
activeId.value = data.value[workStore.currentIndex]?.checkDuplicateId
} }
}, 500) }, 500);
onMounted(() => { onMounted(() => {
document.addEventListener('keydown', onKeydown, true) document.addEventListener("keydown", onKeydown, true);
}) });
onUnmounted(() => { onUnmounted(() => {
document.removeEventListener('keydown', onKeydown) document.removeEventListener("keydown", onKeydown);
}) });
</script> </script>
<template> <template>

Loading…
Cancel
Save