| | |
| | | <template #title> |
| | | <span>分发</span> |
| | | </template> |
| | | <ExportOutlined v-show="checked" class="icon" /> |
| | | <ExportOutlined class="icon" /> |
| | | </a-tooltip> |
| | | <!-- 时间 --> |
| | | <ClockCircleOutlined class="icon" v-show="checked" /> |
| | | <!-- 待处理 --> |
| | | <TooltipAndDropdown |
| | | class="icon" |
| | | v-show="checked" |
| | | :tooltipTitle="'待处理邮件'" |
| | | :initialDropdownOpen="false" |
| | | :initialTooltipOpen="false" |
| | | :showTooltip="false" |
| | | :docCodeS="getSelectAllBocCode" |
| | | /> |
| | | <!-- 删除 --> |
| | | <a-tooltip placement="bottom"> |
| | | <template #title> |
| | | <span>删除</span> |
| | | </template> |
| | | <DeleteOutlined v-show="checked" class="icon" /> |
| | | <DeleteOutlined v-show="checked" class="icon" @click="fuDeleteEmail" /> |
| | | </a-tooltip> |
| | | |
| | | <!-- 收藏 --> |
| | |
| | | </template> |
| | | <a-dropdown :arrow="{ pointAtCenter: true }" placement="bottom" :trigger="['click']"> |
| | | <template #overlay> |
| | | <a-menu> |
| | | <a-menu v-if="checked"> |
| | | <a-menu-item key="2" @click="fnSelectAllRead(true)"> 标为已读</a-menu-item> |
| | | <a-menu-item key="3" @click="fnSelectAllRead(false)"> 标为未读</a-menu-item> |
| | | <a-menu-item key="4"> 设为置顶</a-menu-item> |
| | | <a-divider style="margin: 2px; padding: 2px" /> |
| | | <a-menu-item key="5"> 标记为垃圾邮件</a-menu-item> |
| | | </a-menu> |
| | | </template> |
| | | <MoreOutlined v-show="checked" class="icon" /> |
| | | <!-- </template> |
| | | <MoreOutlined v-if="checked" class="icon" /> |
| | | </a-dropdown> |
| | | <a-dropdown :arrow="{ pointAtCenter: true }" placement="bottom" :trigger="['click']"> |
| | | <template #overlay> |
| | | <a-menu> |
| | | <template #overlay> --> |
| | | <a-menu v-else> |
| | | <a-menu-item key="1" @click="fnAllRead">全部标记为已读</a-menu-item> |
| | | <a-divider style="margin: 2px; padding: 2px" /> |
| | | <p style="color: #999; font-size: 12px">勾选邮件即可查看更多操作</p> |
| | | </a-menu> |
| | | </template> |
| | | <MoreOutlined v-show="!checked" class="icon" /> |
| | | <MoreOutlined class="icon" /> |
| | | </a-dropdown> |
| | | </a-tooltip> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import TooltipAndDropdown from './TooltipAndDropdown .vue'; |
| | | import { |
| | | ExportOutlined, |
| | | ClockCircleOutlined, |
| | |
| | | checked: boolean; |
| | | handleId?: number; |
| | | selectAllRow?: Array<any>; |
| | | parentTableList: Array<any>; |
| | | parentTableList?: Array<any>; |
| | | } |
| | | const props = defineProps<Props>(); |
| | | const checked = computed(() => props.checked); |
| | | import { updateReadApi } from '@/api/email/userList'; |
| | | |
| | | const props = defineProps<Props>(); |
| | | |
| | | const checked = computed(() => props.checked); |
| | | import { updateReadApi, deleteEmailAPi } from '@/api/email/userList'; |
| | | import { useMessage } from '@/hooks/web/useMessage'; |
| | | |
| | | const { createMessage } = useMessage(); |
| | | const getDataList = inject('getDataList'); |
| | | function fnSelectAllRead(is) { |
| | | const data = { |
| | |
| | | }; |
| | | pushUpdateReadApi(data); |
| | | } |
| | | const getSelectAllBocCode = computed(() => { |
| | | try { |
| | | if (props.parentTableList?.length == 0) { |
| | | return []; |
| | | } |
| | | let data = props.selectAllRow.map((item) => item.docCode); |
| | | console.log(data, '00003'); |
| | | |
| | | return data; |
| | | } catch (error) { |
| | | return []; |
| | | } |
| | | }); |
| | | function pushUpdateReadApi(data) { |
| | | updateReadApi(data).then((res) => { |
| | | if (res.code == 0) { |
| | |
| | | function fnGetTableList() { |
| | | const data = { |
| | | status: true, |
| | | list:getReadId(), |
| | | list: getReadId(), |
| | | }; |
| | | pushUpdateReadApi(data); |
| | | } |
| | | function getReadId(){ |
| | | const ids = []; |
| | | props.parentTableList.forEach((item: Record<string, any>) => { |
| | | ids.push(item.docCode); |
| | | function getReadId() { |
| | | try { |
| | | const ids = []; |
| | | if (props.parentTableList?.length == 0) { |
| | | return []; |
| | | } |
| | | props.parentTableList.forEach((item: Record<string, any>) => { |
| | | ids.push(item.docCode); |
| | | }); |
| | | return ids; |
| | | } catch (error) { |
| | | return []; |
| | | } |
| | | } |
| | | const emit = defineEmits(['nextNum']); |
| | | function fuDeleteEmail() { |
| | | deleteEmailAPi(getSelectAllBocCode.value).then((res) => { |
| | | if (res.code == 0) { |
| | | createMessage.success(res.msg); |
| | | // 区分操作 |
| | | getDataList({}); |
| | | if (!props.parentTableList) { |
| | | emit('nextNum'); |
| | | } |
| | | } |
| | | }); |
| | | return ids |
| | | } |
| | | </script> |
| | | |