| | |
| | | <div |
| | | v-if="row.mailType != 0" |
| | | class="dot" |
| | | :class="row.readFlag ? 'dot-color' : ''" |
| | | :class="fnIsItHighlighted(row) ? 'dot-color' : ''" |
| | | @click.stop="fnRowUpdateRead(row)" |
| | | ></div> |
| | | <a-tooltip placement="bottom"> |
| | |
| | | > |
| | | <a-avatar size="small" style="margin-right: 8px" :src="row.avatar" /> |
| | | <span style="color: #000; font-weight: 700">{{ row.sender }}</span> |
| | | <CopyOutlined /> |
| | | <CopyOutlined @click="copyText(row.sender)" /> |
| | | </div> |
| | | <div class="display-flex p-2"> |
| | | <a-button type="link" size="small">新建客户</a-button> |
| | |
| | | <a-button type="link" size="small">往来邮件</a-button></div |
| | | > |
| | | </template> |
| | | <div class="title-dot" :class="row.readFlag ? 'title-dot-color' : ''"> |
| | | <div class="title-dot" :class="fnIsItHighlighted(row) ? 'title-dot-color' : ''"> |
| | | <span style="font-weight: 700">{{ row.senderName }}</span |
| | | ><span style="padding: 0 8px">|</span> |
| | | <span style="font-weight: 500">{{ row.sender }}</span> |
| | |
| | | <template #default="{ row }"> |
| | | <span |
| | | class="title-dot" |
| | | :class="row.readFlag ? 'title-dot-color' : ''" |
| | | :class="fnIsItHighlighted(row) ? 'title-dot-color' : ''" |
| | | style="font-weight: 500" |
| | | >{{ row.subject || '(无主题)' }}</span |
| | | > |
| | |
| | | </span> |
| | | </template> |
| | | </vxe-column> |
| | | </vxe-table> |
| | | </div |
| | | </vxe-table> </div |
| | | ></div> |
| | | |
| | | <div v-else style="height: 70vh; display: flex; align-items: center; justify-content: center"> |
| | | <div v-else style="display: flex; align-items: center; justify-content: center; height: 70vh"> |
| | | <a-empty /> |
| | | </div> |
| | | <DrawerDetail |
| | |
| | | :mailId="rowMailId" |
| | | :selectAllRow="selectRow" |
| | | :allList="dataSource" |
| | | :isDrafts="isDrafts" |
| | | /> |
| | | <a-dropdown :trigger="['click']" placement="bottomLeft" ref="dropdownRefs"> </a-dropdown> |
| | | </div> |
| | |
| | | // 定义属性 |
| | | interface Props { |
| | | pageList: []; |
| | | isDrafts?: boolean; |
| | | } |
| | | const props = defineProps<Props>(); |
| | | |
| | |
| | | } |
| | | } |
| | | const vxeTableRef = ref(); |
| | | function fnIsItHighlighted(row) { |
| | | return row.readFlag && props.isDrafts; |
| | | } |
| | | function fnSelectAll(is) { |
| | | vxeTableRef.value.forEach((row) => { |
| | | row.setAllCheckboxRow(is); |
| | | }); |
| | | selectChangeEvent(); |
| | | try { |
| | | if (!vxeTableRef.value) { |
| | | return; |
| | | } |
| | | vxeTableRef.value.forEach((row) => { |
| | | row.setAllCheckboxRow(is); |
| | | }); |
| | | selectChangeEvent(); |
| | | } catch (error) { |
| | | console.log(error); |
| | | } |
| | | } |
| | | |
| | | function selectChangeEvent() { |
| | |
| | | selectRow.value = []; |
| | | rowMailId.value = event.row.docCode; |
| | | selectRow.value.push({ docCode: event.row.docCode }); |
| | | fnRowUpdateRead(event.row); |
| | | openDrawerDetail.value = true; |
| | | }; |
| | | |
| | | // 更新祖父组件数据 |
| | | const getDataList = inject('getDataList'); |
| | | console.log(getDataList, '0000004'); |
| | | |
| | | import { updateReadApi, updateHandleAPi } from '@/api/email/userList'; |
| | | // 标志未读/经读 |
| | |
| | | } |
| | | }); |
| | | } |
| | | import { useMessage } from '@/hooks/web/useMessage'; |
| | | |
| | | const { createMessage } = useMessage(); |
| | | const copyText = async (value) => { |
| | | try { |
| | | await navigator.clipboard.writeText(value); |
| | | setTimeout(() => { |
| | | createMessage.success('复制成功'); |
| | | }, 500); |
| | | } catch (err) { |
| | | console.error('复制失败: ', err); |
| | | } |
| | | }; |
| | | const emit = defineEmits(['selectAll', 'updateSelectAll']); |
| | | defineExpose({ |
| | | fnSelectAll, |