You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
3.9 KiB
Plaintext
142 lines
3.9 KiB
Plaintext
11 months ago
|
<template>
|
||
|
<div>
|
||
|
<div>
|
||
|
<Input v-model:value="sendValue" placeholder="请输入流程名称,标题..." style="width: 200px;" />
|
||
|
<Button type="primary" @click="searchValue(sendValue)" class="btn_style">
|
||
|
<SearchOutlined />搜索
|
||
|
</Button>
|
||
|
<Button type="primary" @click="More" class="btn_style">
|
||
|
<MoreOutlined />更多...
|
||
|
</Button>
|
||
|
</div>
|
||
|
<div>
|
||
|
<Table :columns="columns" :data-source="data">
|
||
|
<template #name="{ text }">
|
||
|
<a>{{ text }}</a>
|
||
|
</template>
|
||
|
<template #bodyCell="{ column, record }">
|
||
|
<template v-if="column.dataIndex == 'Sta'">
|
||
|
<div v-if="record.Sta == 0">
|
||
|
<FolderOutlined /> 未读
|
||
|
</div>
|
||
|
<div v-else>
|
||
|
<FolderOpenOutlined /> 已读
|
||
|
</div>
|
||
|
</template>
|
||
|
<template v-if="column.dataIndex == 'Title'">
|
||
|
<a @click="openSend(record.FK_Flow, record.WorkID, record.FK_Node, record.FID, record.Sta)">{{
|
||
|
record.Title
|
||
|
}}</a>
|
||
|
</template>
|
||
|
</template>
|
||
|
</Table>
|
||
|
<div class="total">总计:{{ dataNum }}条</div>
|
||
|
</div>
|
||
|
<Drawer title="抄送" placement="right" :closable="true" v-model:visible="visible" width="100%" @close="onClose" :headerStyle="{height:0}">
|
||
|
<div style="width: 100%;height: 100%;overflow: hidden;">
|
||
|
<iframe :src="url" scrolling="auto" frameborder="no" style="width: 100%; height: 93%" />
|
||
|
<Button style="margin-right: 8px;" class="btn_Back" @click="onClose">返回</Button>
|
||
|
</div>
|
||
|
</Drawer>
|
||
|
</div>
|
||
|
</template>
|
||
|
<script setup lang="ts">
|
||
|
import { Input, Button, Table, Drawer } from 'ant-design-vue';
|
||
|
import { SearchOutlined, MoreOutlined, FolderOutlined, FolderOpenOutlined } from '@ant-design/icons-vue';
|
||
|
import { ref } from 'vue';
|
||
|
import { DB_CCList } from '@/api/flow';
|
||
|
import { ccbpmURL } from '@/utils/env';
|
||
|
import { useRouter } from 'vue-router';
|
||
|
const sendValue = ref<string>('');
|
||
|
const dataNum = ref<number>();
|
||
|
const dataSource = ref<any>([]);
|
||
|
const visible = ref<boolean>(false);
|
||
|
const host = import.meta.env.VITE_GLOB_APP_URL;
|
||
|
const url = ref<string>('');
|
||
|
const router = useRouter();
|
||
|
const columns = [
|
||
|
{
|
||
|
title: '#',
|
||
|
customRender: ({ index }) => {
|
||
|
return index + 1;
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
title: '节点',
|
||
|
dataIndex: 'NodeName',
|
||
|
key: 'NodeName',
|
||
|
width: 80,
|
||
|
},
|
||
|
{
|
||
|
title: '状态',
|
||
|
dataIndex: 'Sta',
|
||
|
key: 'Sta',
|
||
|
},
|
||
|
{
|
||
|
title: '抄送人',
|
||
|
dataIndex: 'Rec',
|
||
|
key: 'Rec',
|
||
|
},
|
||
|
{
|
||
|
title: '标题',
|
||
|
dataIndex: 'Title',
|
||
|
key: 'Title',
|
||
|
},
|
||
|
{
|
||
|
title: '日期',
|
||
|
dataIndex: 'RDT',
|
||
|
key: 'RDT',
|
||
|
},
|
||
|
];
|
||
|
const InitPage = () => {
|
||
|
DB_CCList().then((res) => {
|
||
|
dataSource.value = res
|
||
|
dataNum.value = res.length;
|
||
|
data.value = dataSource.value //一开始就展示数据
|
||
|
})
|
||
|
}
|
||
|
InitPage()
|
||
|
const data = ref([]);
|
||
|
//查询
|
||
|
const searchValue = (sendValue: string | null) => {
|
||
|
if (sendValue == '' || sendValue == null) {
|
||
|
data.value = dataSource.value
|
||
|
dataNum.value = data.value.length;
|
||
|
return dataNum.value
|
||
|
} else {
|
||
|
data.value = dataSource.value.filter((item: { Title: string | string[]; }) => {
|
||
|
return item.Title.includes(sendValue)
|
||
|
})
|
||
|
dataNum.value = data.value.length;
|
||
|
}
|
||
|
}
|
||
|
const openSend = (FK_Flow: any, WorkID: any, FK_Node: any, FID: any, Sta: any) => {
|
||
|
visible.value = true;
|
||
|
url.value = `${ccbpmURL}/#/WF/MyCC?WorkID=${WorkID}&FK_Node=${FK_Node}&FK_Flow=${FK_Flow}&FID=${FID}&CCSta=${Sta}`
|
||
|
}
|
||
|
//更多
|
||
|
const More = () => {
|
||
|
const url = `${host}/WF/Comm/Search.htm?EnsName=BP.WF.Data.CCListExts`
|
||
|
window.open(url);
|
||
|
}
|
||
|
//关闭抽屉
|
||
|
const onClose = () => {
|
||
|
visible.value = false
|
||
|
router.go(0);
|
||
|
}
|
||
|
</script>
|
||
|
<style lang="less">
|
||
|
.btn_style {
|
||
|
margin: 0 5px;
|
||
|
}
|
||
|
.ant-table-striped :deep(.table-striped) td {
|
||
|
background-color: #000;
|
||
|
}
|
||
|
.ant-drawer-body{
|
||
|
padding: 5px 24px;
|
||
|
}
|
||
|
.btn_Back {
|
||
|
float: right;
|
||
|
}
|
||
|
</style>
|