|
|
|
|
@ -1,71 +1,40 @@
|
|
|
|
|
<template> |
|
|
|
|
<div class="container"> |
|
|
|
|
<header> |
|
|
|
|
<el-form |
|
|
|
|
:label-width="120" |
|
|
|
|
> |
|
|
|
|
<el-form :label-width="120"> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="来信时间"> |
|
|
|
|
<el-date-picker |
|
|
|
|
v-model="query.mailTime" |
|
|
|
|
value-format="YYYY-MM-DD" |
|
|
|
|
type="daterange" |
|
|
|
|
range-separator="~" |
|
|
|
|
start-placeholder="开始日期" |
|
|
|
|
end-placeholder="结束日期" |
|
|
|
|
@change="handleMailTimeQuery" |
|
|
|
|
/> |
|
|
|
|
<el-date-picker v-model="query.mailTime" value-format="YYYY-MM-DD" type="daterange" |
|
|
|
|
range-separator="~" start-placeholder="开始日期" end-placeholder="结束日期" |
|
|
|
|
@change="handleMailTimeQuery" /> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="信件来源"> |
|
|
|
|
<el-select |
|
|
|
|
v-model="query.source" |
|
|
|
|
placeholder="请选择信件来源" |
|
|
|
|
clearable |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in dictData.mail_source" |
|
|
|
|
:key="item.value" |
|
|
|
|
:label="item.name" |
|
|
|
|
:value="item.value" |
|
|
|
|
/> |
|
|
|
|
<el-select v-model="query.source" placeholder="请选择信件来源" clearable> |
|
|
|
|
<el-option v-for="item in dictData.mail_source" :key="item.value" :label="item.name" |
|
|
|
|
:value="item.value" /> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="来信人员"> |
|
|
|
|
<div class="flex gap"> |
|
|
|
|
<el-select |
|
|
|
|
v-model="query.contactField" |
|
|
|
|
style="width: 180px" |
|
|
|
|
> |
|
|
|
|
<el-select v-model="query.contactField" style="width: 180px"> |
|
|
|
|
<el-option label="姓名" value="name" /> |
|
|
|
|
<el-option label="身份证" value="idCard" /> |
|
|
|
|
<el-option label="联系电话" value="phone" /> |
|
|
|
|
</el-select> |
|
|
|
|
<el-input |
|
|
|
|
v-model="query.contactFieldValue" |
|
|
|
|
placeholder="请输入姓名" |
|
|
|
|
clearable |
|
|
|
|
/> |
|
|
|
|
<el-input v-model="query.contactFieldValue" placeholder="请输入姓名" clearable /> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="信件等级"> |
|
|
|
|
<el-select |
|
|
|
|
v-model="query.mailLevel" |
|
|
|
|
placeholder="请选择信件等级" |
|
|
|
|
clearable |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in dictData.mail_level" |
|
|
|
|
:key="item.value" |
|
|
|
|
:label="item.name" |
|
|
|
|
:value="item.value" |
|
|
|
|
/> |
|
|
|
|
<el-select v-model="query.mailLevel" placeholder="请选择信件等级" clearable> |
|
|
|
|
<el-option v-for="item in dictData.mail_level" :key="item.value" :label="item.name" |
|
|
|
|
:value="item.value" /> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
@ -73,27 +42,15 @@
|
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="信件分类"> |
|
|
|
|
<el-tree-select |
|
|
|
|
v-model="query.mailCategory" |
|
|
|
|
:data="mailStore.mailCategorys" |
|
|
|
|
check-strictly |
|
|
|
|
filterable |
|
|
|
|
/> |
|
|
|
|
<el-tree-select v-model="query.mailCategory" :data="mailStore.mailCategorys" check-strictly |
|
|
|
|
filterable /> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="信件状态"> |
|
|
|
|
<el-select |
|
|
|
|
v-model="query.mailState" |
|
|
|
|
placeholder="请选择信件状态" |
|
|
|
|
clearable |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in dictData.mail_state" |
|
|
|
|
:key="item.value" |
|
|
|
|
:label="item.name" |
|
|
|
|
:value="item.value" |
|
|
|
|
/> |
|
|
|
|
<el-select v-model="query.mailState" placeholder="请选择信件状态" clearable> |
|
|
|
|
<el-option v-for="item in dictData.mail_state" :key="item.value" :label="item.name" |
|
|
|
|
:value="item.value" /> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
@ -128,17 +85,8 @@
|
|
|
|
|
<main> |
|
|
|
|
<div class="table-container"> |
|
|
|
|
<el-table :data="dones" style="width: 100%" stripe> |
|
|
|
|
<el-table-column |
|
|
|
|
prop="mailTime" |
|
|
|
|
label="来信时间" |
|
|
|
|
align="center" |
|
|
|
|
width="180" |
|
|
|
|
/> |
|
|
|
|
<el-table-column |
|
|
|
|
label="信件来源" |
|
|
|
|
align="center" |
|
|
|
|
width="120" |
|
|
|
|
> |
|
|
|
|
<el-table-column prop="mailTime" label="来信时间" align="center" width="160" /> |
|
|
|
|
<el-table-column label="信件来源" align="center" width="90"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<span>{{ |
|
|
|
|
dictData.mail_source.filter( |
|
|
|
|
@ -147,59 +95,38 @@
|
|
|
|
|
}}</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column |
|
|
|
|
prop="contactName" |
|
|
|
|
label="姓名" |
|
|
|
|
align="center" |
|
|
|
|
width="120" |
|
|
|
|
/> |
|
|
|
|
<el-table-column |
|
|
|
|
prop="contactPhone" |
|
|
|
|
label="联系电话" |
|
|
|
|
width="120" |
|
|
|
|
/> |
|
|
|
|
<el-table-column label="信件等级" width="120"> |
|
|
|
|
<el-table-column prop="contactName" label="姓名" align="center" width="80" /> |
|
|
|
|
<el-table-column prop="contactPhone" label="联系电话" width="120" align="center" /> |
|
|
|
|
<el-table-column label="信件等级" width="100" align="center"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<mail-level |
|
|
|
|
:value="row.mailLevel" |
|
|
|
|
:list="dictData.mail_level" |
|
|
|
|
/> |
|
|
|
|
<mail-level :value="row.mailLevel" :list="dictData.mail_level" /> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="mailCategory" label="信件分类" /> |
|
|
|
|
<el-table-column prop="mailCategory" label="信件分类" align="center" width="120"/> |
|
|
|
|
|
|
|
|
|
<el-table-column label="信件状态" width="90"> |
|
|
|
|
<el-table-column label="信件状态" width="90" align="center"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<span>{{ |
|
|
|
|
getDictLable(dictData.mail_state, row.mailState) |
|
|
|
|
}}</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="threeDeptName" label="办理单位" /> |
|
|
|
|
<el-table-column prop="currentOperator" label="当前处理对象"></el-table-column> |
|
|
|
|
<el-table-column prop="threeDeptName" label="办理单位" width="120" align="center"/> |
|
|
|
|
<el-table-column prop="currentOperator" label="当前处理对象" width="120" align="center"></el-table-column> |
|
|
|
|
<el-table-column label="流程节点" class-name="text-no-ellipsis" align="center"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<el-tag |
|
|
|
|
:type="getFlowTagType(row.mailFlowName)" |
|
|
|
|
>{{ row.mailFlowName }}</el-tag |
|
|
|
|
> |
|
|
|
|
<el-tag :type="getFlowTagType(row.mailFlowName)">{{ row.mailFlowName }}</el-tag> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="流程限时" align="center"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<div |
|
|
|
|
v-if="row.flowLimitedRemainingTime > 0" |
|
|
|
|
class="success" |
|
|
|
|
> |
|
|
|
|
<div v-if="row.flowLimitedRemainingTime > 0" class="success"> |
|
|
|
|
<span class="mr-4">剩余</span> |
|
|
|
|
<span class="text">{{ |
|
|
|
|
formatTimeText(row.flowLimitedRemainingTime) |
|
|
|
|
}}</span> |
|
|
|
|
</div> |
|
|
|
|
<div |
|
|
|
|
v-if="row.flowLimitedRemainingTime < 0" |
|
|
|
|
class="error" |
|
|
|
|
> |
|
|
|
|
<div v-if="row.flowLimitedRemainingTime < 0" class="error"> |
|
|
|
|
<span class="mr-4">超时</span> |
|
|
|
|
<span class="text">{{ |
|
|
|
|
formatTimeText( |
|
|
|
|
@ -209,14 +136,9 @@
|
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="操作" width="100"> |
|
|
|
|
<el-table-column label="操作" fixed="right" align="center"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<el-button |
|
|
|
|
type="primary" |
|
|
|
|
link |
|
|
|
|
@click="handleMail(row)" |
|
|
|
|
>详情</el-button |
|
|
|
|
> |
|
|
|
|
<el-button type="primary" link @click="handleMail(row)">详情</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
@ -230,7 +152,8 @@
|
|
|
|
|
</main> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<MailDialog v-model:show="showModel" :mail-id="activeMailId" :work-id="activeWorkId" :disabled="true" @update="getList" /> |
|
|
|
|
<MailDialog v-model:show="showModel" :mail-id="activeMailId" :work-id="activeWorkId" :disabled="true" |
|
|
|
|
@update="getList" /> |
|
|
|
|
</template> |
|
|
|
|
<script setup> |
|
|
|
|
import MailDialog from "./components/MailDialog.vue"; |
|
|
|
|
@ -296,10 +219,12 @@ function handleMailTimeQuery(val) {
|
|
|
|
|
height: 24px; |
|
|
|
|
line-height: 24px; |
|
|
|
|
text-align: center; |
|
|
|
|
|
|
|
|
|
.text { |
|
|
|
|
color: #128009; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.error { |
|
|
|
|
background-color: #ff0000; |
|
|
|
|
color: #fff; |
|
|
|
|
|