图鉴审批样式修复
fix/modifyStyle
zhouxiaoan 1 year ago
parent f6c442a7e5
commit f59ac652db

@ -1,24 +1,26 @@
<script lang="ts" setup>
import { getAllfieldList, getfieldList } from "@/api/home/filter";
import { useWindowSizeFn } from "@/hooks/event/useWindowSizeFn";
import { useUser } from "@/store/modules/user";
import { useWorkOrder } from "@/store/modules/workOrder";
import { getViewportOffset } from "@/utils/domUtils";
import { debounce } from 'lodash-es';
import { debounce } from 'lodash-es'
import {
computed, defineEmits, defineOptions,
inject,
nextTick,
onMounted,
ref,
unref,
watch
} from "vue";
import CustomFieldModalVue from "../modal/CustomFieldModal.vue";
import WorkSheetList from "./WorkSheetList.vue";
computed,
defineEmits,
defineOptions,
inject,
nextTick,
onMounted,
ref,
unref,
watch,
} from 'vue'
import CustomFieldModalVue from '../modal/CustomFieldModal.vue'
import WorkSheetList from './WorkSheetList.vue'
import { getAllfieldList, getfieldList } from '@/api/home/filter'
import { useWindowSizeFn } from '@/hooks/event/useWindowSizeFn'
import { useUser } from '@/store/modules/user'
import { useWorkOrder } from '@/store/modules/workOrder'
import { getViewportOffset } from '@/utils/domUtils'
defineOptions({ name: "AsideContent" });
const emit = defineEmits(["ApprovalOver"]);
defineOptions({ name: 'AsideContent' })
const emit = defineEmits(['ApprovalOver'])
const collapse = ref(false)
const workStore = useWorkOrder()
@ -149,11 +151,11 @@ function setShowSearch(value: boolean) {
const inputHandler = debounce((word) => {
searchKeyword.value = word;
(packageListRef.value as any).search(word);
}, 500);
(packageListRef.value as any).search(word)
}, 500)
const ApprovalOver = (packageId)=>{
emit('ApprovalOver',packageId)
function ApprovalOver(packageId) {
emit('ApprovalOver', packageId)
}
</script>
@ -215,9 +217,9 @@ const ApprovalOver = (packageId)=>{
class="work-sheet-list"
:show-field-list="showFieldList"
:dicts="dicts"
@ApprovalOver="ApprovalOver"
@approval-over="ApprovalOver"
/>
<CustomFieldModalVue ref="filterModalRef" :review-type="1" @onOk="getshowFieldList" />
<CustomFieldModalVue ref="filterModalRef" :review-type="1" @on-ok="getshowFieldList" />
</div>
</template>

@ -1,7 +1,8 @@
<script lang="ts" setup>
import { format } from 'date-fns'
import { computed, onMounted, ref } from 'vue'
import { computed, onMounted, ref, watch } from 'vue'
import type { PackageListItem } from '/#/workorder'
import { useDialog } from 'naive-ui'
defineOptions({ name: 'ListItem' })
const props = defineProps({
@ -22,13 +23,12 @@ const props = defineProps({
default: () => [],
},
mouseOverTask: {
type: Array,
type: Object,
default: () => [],
},
})
const emit = defineEmits(['dismisClick'])
const dialog = useDialog()
const svgName = computed(() => {
return props.selected ? 'taskpack-select' : 'taskpack'
})
@ -37,9 +37,29 @@ const popconfirmTarget: any = ref(null)
const popconfirmRef: any = ref(null)
function handleDismissTask() {
emit('dismisClick', props.mouseOverTask.id)
dialog.warning({
title: '确认提示',
content: '确认解散该任务包吗?',
positiveText: '取消',
negativeText: '确定',
negativeButtonProps: {
type: 'info',
ghost: false,
},
positiveButtonProps: {
type: 'default',
},
onPositiveClick: () => {
},
onNegativeClick: () => {
emit('dismisClick', props.mouseOverTask.id)
},
})
popconfirmRef.value[0]?.setShow(false) // popconfirm
}
watch(() => props.mouseOverTask, (value) => {
console.log(props)
})
onMounted(async () => {
})
@ -61,7 +81,8 @@ onMounted(async () => {
placement="bottom" trigger="click"
>
<template #trigger>
<span v-show="mouseOverTask?.id" class="dismiss-task-pack" style="cursor: pointer;">...</span>
<span v-show="mouseOverTask?.id === listItem.id" class="dismiss-task-pack" style="cursor: pointer;">...</span>
</template>
<template #action>
<span style="cursor: pointer;" @click="handleDismissTask"></span>
@ -85,17 +106,25 @@ onMounted(async () => {
</li>
<li v-else-if="item.id === 'createdate'">
提交时间<n-ellipsis style="max-width: 170px">
{{ listItem.createdate && format(listItem.createdate, "yyyy-MM-dd HH:mm:ss") }}
{{ listItem.createdate && format(listItem.createdate, "yyyy-MM-dd HH:mm:ss") || '全部' }}
</n-ellipsis>
</li>
<li v-else-if="item.id === 'createTime'">
生成时间<n-ellipsis style="max-width: 170px">
{{ listItem.createTime && format(listItem.createTime, "yyyy-MM-dd HH:mm:ss") }}
{{ listItem.createTime && format(listItem.createTime, "yyyy-MM-dd HH:mm:ss") || '全部' }}
</n-ellipsis>
</li>
<li v-else-if="item.id === 'submit_date_timestamp'">
筛选日期<n-ellipsis style="max-width: 170px">
<!-- {{ listItem.submit_date_timestamp && format(listItem.submit_date_timestamp.split('-')[0], "yyyy年MM月dd日") || '全部' }} -->
{{ listItem.submit_date_timestamp && format(new Date(listItem.submit_date_timestamp?.split('-')[0]), "yyyy年MM月dd日") }}
{{ listItem.submit_date_timestamp && format(new Date(listItem.submit_date_timestamp?.split('-')[1]), "yyyy年MM月dd日") }}
</n-ellipsis>
</li>
<li v-else class="ellipsis">
<span class="label">{{ item.name }}</span><n-ellipsis style="max-width: 170px">
{{ listItem[item.id] }}
{{ listItem[item.id] || '全部' }}
</n-ellipsis>
</li>
</ul>

@ -1,16 +1,14 @@
<script lang="ts" setup>
import { deletePackage } from "@/api/home/main";
import NotPassed from "@/components/NotPassed.vue";
import { useWorkOrder } from "@/store/modules/workOrder";
import { isEmpty } from "@/utils";
import { useInfiniteScroll } from "@vueuse/core";
import { useMessage } from "naive-ui";
import { reactive, ref, watch } from "vue";
import ApprovalModal from "../modal/ApprovalModal.vue";
import ListItem from "./ListItem.vue";
import type { PackageListItem } from "/#/workorder";
const emit = defineEmits(["ApprovalOver"]);
import { deletePackage } from '@/api/home/main'
import NotPassed from '@/components/NotPassed.vue'
import { useWorkOrder } from '@/store/modules/workOrder'
import { isEmpty } from '@/utils'
import { useInfiniteScroll } from '@vueuse/core'
import { useMessage } from 'naive-ui'
import { reactive, ref, watch } from 'vue'
import ApprovalModal from '../modal/ApprovalModal.vue'
import ListItem from './ListItem.vue'
import type { PackageListItem } from '/#/workorder'
defineProps({
showFieldList: {
@ -21,130 +19,137 @@ defineProps({
type: Array,
default: () => [],
},
});
const workStore = useWorkOrder();
const data = ref<PackageListItem[]>([]);
const activeId = ref("");
const el = ref<HTMLDivElement | null>(null);
const keyword = ref("");
const canloadMore = ref(true);
const isLoading = ref(false);
})
const emit = defineEmits(['ApprovalOver'])
const workStore = useWorkOrder()
const data = ref<PackageListItem[]>([])
const activeId = ref('')
const el = ref<HTMLDivElement | null>(null)
const keyword = ref('')
const canloadMore = ref(true)
const isLoading = ref(false)
const pagination = reactive({
pageNo: 0,
pageSize: 10,
});
})
const approvalModalRef: any = ref(null);
const notPassedRef: any = ref(null);
const overTask = ref<any>(null);
const approvalModalRef: any = ref(null)
const notPassedRef: any = ref(null)
const overTask = ref<any>(null)
function selectHandler(id: string, index: number) {
// console.log('selectHandler',id)
workStore.setActive(index);
workStore.setActive(index)
// showModal(approvalModalRef, id)
}
useInfiniteScroll(
el as any,
() => {
loadMore();
loadMore()
},
{
distance: 10,
interval: 1500,
canLoadMore: () => canloadMore.value,
}
);
},
)
async function loadMore() {
if (isLoading.value || el.value == null) return;
isLoading.value = true;
if (isLoading.value || el.value == null)
return
isLoading.value = true
try {
const more = await fetchList();
const more = await fetchList()
more.forEach((ele) => {
ele.search = JSON.parse(ele.search);
ele.search = JSON.parse(ele.search)
// ele.search.createTime = ele.search.submit_date_timestamp
});
data.value.push(...more);
} finally {
isLoading.value = false;
})
data.value.push(...more)
}
finally {
isLoading.value = false
}
}
async function fetchList() {
try {
pagination.pageNo += 1;
const result = await workStore.fetchOrderList(pagination, keyword.value);
const { data, pageCount } = result;
if (pageCount !== 0) canloadMore.value = pageCount >= pagination.pageNo;
else canloadMore.value = false;
return data || [];
} catch (error) {
canloadMore.value = false;
return [];
pagination.pageNo += 1
const result = await workStore.fetchOrderList(pagination, keyword.value)
const { data, pageCount } = result
if (pageCount !== 0)
canloadMore.value = pageCount >= pagination.pageNo
else canloadMore.value = false
return data || []
}
catch (error) {
canloadMore.value = false
return []
}
}
watch(
() => workStore.activeId,
(newVal) => {
if (isEmpty(newVal)) return;
activeId.value = newVal;
approvalModalRef.value.showModal(workStore.dataId);
}
);
if (isEmpty(newVal))
return
activeId.value = newVal
approvalModalRef.value.showModal(workStore.dataId)
},
)
function reset() {
pagination.pageNo = 0;
pagination.pageSize = 10;
canloadMore.value = true;
data.value.length = 0;
pagination.pageNo = 0
pagination.pageSize = 10
canloadMore.value = true
data.value.length = 0
workStore.reset();
workStore.reset()
}
function notPass(value) {
notPassedRef.value.showModal(value);
notPassedRef.value.showModal(value)
}
async function search(word: string) {
keyword.value = word;
reset();
keyword.value = word
reset()
useInfiniteScroll(
el as any,
() => {
loadMore();
loadMore()
},
{ distance: 10, canLoadMore: () => canloadMore.value }
);
{ distance: 10, canLoadMore: () => canloadMore.value },
)
}
function overTaskHandelr(item: any) {
overTask.value = item;
overTask.value = item
}
function leaveTaskHandler(event) {
if (event?.relatedTarget?.id !== "taskPopconfirmRef") {
overTask.value = null;
}
if (event?.relatedTarget?.id !== 'taskPopconfirmRef')
overTask.value = null
}
const message = useMessage();
const message = useMessage()
function dismisClick(packageId: string) {
deletePackage({ packageId: packageId }).then((res) => {
if (res.code === "OK") {
message.success("解散任务包成功");
reset();
loadMore();
deletePackage({ packageId }).then((res) => {
if (res.code === 'OK') {
message.success('解散任务包成功')
reset()
loadMore()
}
});
})
}
function ApprovalOver(packageId) {
emit('ApprovalOver', packageId)
}
const ApprovalOver = (packageId) => {
emit("ApprovalOver",packageId);
};
defineExpose({
search,
});
})
</script>
<template>
@ -163,7 +168,7 @@ defineExpose({
@click="selectHandler(item.id, index)"
@mouseover="overTaskHandelr(item)"
@mouseleave="leaveTaskHandler"
@dismisClick="dismisClick"
@dismis-click="dismisClick"
/>
</div>
</n-spin>

Loading…
Cancel
Save