Browse Source

增加待办,已办的单位和流程搜索拦

master
laishajiang 2 years ago
parent
commit
cbf081b8f1
  1. 28
      src/views/duty/edit.vue
  2. 193
      src/views/work/Done.vue
  3. 200
      src/views/work/Todo.vue

28
src/views/duty/edit.vue

@ -72,11 +72,9 @@
<!-- <el-form-item label="手机号" prop="mobile">--> <!-- <el-form-item label="手机号" prop="mobile">-->
<!-- <el-input v-model="formData.mobile" placeholder="请输入" />--> <!-- <el-input v-model="formData.mobile" placeholder="请输入" />-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="值班日期" prop="startTime"> <el-form-item label="值班日期" prop="reportDate">
<daterange-picker <el-date-picker v-model="formData.reportDate" type="daterange" range-separator="" start-placeholder="开始日期"
v-model:startTime="formData.startTime" end-placeholder="结束日期" value-format="YYYY-MM-DD"></el-date-picker>
v-model:endTime="formData.endTime"
/>
</el-form-item> </el-form-item>
@ -116,15 +114,15 @@ const popupTitle = computed(() => {
}) })
const formData = reactive({ const formData = reactive({
startTime: '',
departId: '', departId: '',
departName: '', departName: '',
policeName: '', policeName: '',
mobile: '', mobile: '',
typeName: '', typeName: '',
empNo: '', empNo: '',
endTime: '', deptType: '',
deptType: '' reportDate:''
}) })
const { optionsData } = useDictOptions<{ const { optionsData } = useDictOptions<{
@ -165,13 +163,14 @@ const formRules = {
trigger: ['blur'] trigger: ['blur']
} }
], ],
startTime: [ reportDate:[
{ { type:'array',required: true, message: '请选择时间',
required: true, fields:{
message: '请选择', 0:{type:'string',required:true,message:'请选择开始日期'},
trigger: ['blur'] 1:{type:'string',required:true,message:'请选择结束日期'}
} }}
], ],
endTime: [ endTime: [
{ {
required: true, required: true,
@ -193,6 +192,7 @@ const formRules = {
const handleSubmit = async () => { const handleSubmit = async () => {
await formRef.value?.validate() await formRef.value?.validate()
console.log("formData.reportDate.value"+formData.reportDate.value);
const data: any = { ...formData } const data: any = { ...formData }
mode.value == 'edit' ? await dutyEdit(data) : await dutyAdd(data) mode.value == 'edit' ? await dutyEdit(data) : await dutyAdd(data)
popupRef.value?.close() popupRef.value?.close()

193
src/views/work/Done.vue

@ -1,27 +1,46 @@
<template> <template>
<div class="container"> <div class="container">
<header> <header>
<el-form :label-width="120"> <el-form
:label-width="120"
>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="来信时间"> <el-form-item label="来信时间">
<el-date-picker v-model="query.mailTime" value-format="YYYY-MM-DD" type="daterange" <el-date-picker
range-separator="~" start-placeholder="开始日期" end-placeholder="结束日期" v-model="query.mailTime"
@change="handleMailTimeQuery" /> value-format="YYYY-MM-DD"
type="daterange"
range-separator="~"
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="handleMailTimeQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="信件来源"> <el-form-item label="信件来源">
<el-select v-model="query.source" placeholder="请选择信件来源" clearable> <el-select
<el-option v-for="item in dictData.mail_source" :key="item.value" :label="item.name" v-model="query.source"
:value="item.value" /> placeholder="请选择信件来源"
clearable
>
<el-option
v-for="item in dictData.mail_source"
:key="item.value"
:label="item.name"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="来信人员"> <el-form-item label="来信人员">
<div class="flex gap"> <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="name" />
<el-option label="身份证" value="idCard" /> <el-option label="身份证" value="idCard" />
<el-option label="联系电话" value="phone" /> <el-option label="联系电话" value="phone" />
@ -36,9 +55,17 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="信件等级"> <el-form-item label="信件等级">
<el-select v-model="query.mailLevel" placeholder="请选择信件等级" clearable> <el-select
<el-option v-for="item in dictData.mail_level" :key="item.value" :label="item.name" v-model="query.mailLevel"
:value="item.value" /> placeholder="请选择信件等级"
clearable
>
<el-option
v-for="item in dictData.mail_level"
:key="item.value"
:label="item.name"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -46,39 +73,50 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="信件分类"> <el-form-item label="信件分类">
<el-tree-select v-model="query.mailCategory" :data="mailStore.mailCategorys" check-strictly clearable <el-tree-select
filterable /> v-model="query.mailCategory"
:data="mailStore.mailCategorys"
check-strictly
filterable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="信件状态"> <el-form-item label="信件状态">
<el-select v-model="query.mailState" placeholder="请选择信件状态" clearable> <el-select
<el-option v-for="item in dictData.mail_state" :key="item.value" :label="item.name" v-model="query.mailState"
:value="item.value" /> placeholder="请选择信件状态"
clearable
>
<el-option
v-for="item in dictData.mail_state"
:key="item.value"
:label="item.name"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="6"> <el-col :span="6">
<el-form-item label="办理单位"> <el-form-item label="办理单位">
<div class="flex gap"> <el-tree-select class="flex-1" v-model="query.deptId" :data="optionsData.dept" clearable
<el-input node-key="id" filterable :props="{
v-model="query.handlingDeptId" value: 'id',
placeholder="" label: 'name',
clearable disabled(data: any) {
/> return !!data.isStop
</div> }
}" check-strictly placeholder="请选择上级部门" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="流程阶段"> <el-form-item label="流程阶段">
<el-select <el-select v-model="query.flowKey" placeholder="" clearable multiple collapse-tags="true">
v-model="query.flowKey" <el-option v-for="item in optionsData.flowNodes" :key="item.key" :label="item.fullName"
placeholder="" :value="item.key" />
clearable
>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> --> </el-col>
</el-row> </el-row>
<div class="flex end mb-20"> <div class="flex end mb-20">
<el-button type="primary" @click="getList">查询</el-button> <el-button type="primary" @click="getList">查询</el-button>
@ -89,8 +127,17 @@
<main> <main>
<div class="table-container"> <div class="table-container">
<el-table :data="dones" style="width: 100%" stripe> <el-table :data="dones" style="width: 100%" stripe>
<el-table-column prop="mailTime" label="来信时间" align="center" width="160" /> <el-table-column
<el-table-column label="信件来源" align="center" width="90"> prop="mailTime"
label="来信时间"
align="center"
width="180"
/>
<el-table-column
label="信件来源"
align="center"
width="120"
>
<template #default="{ row }"> <template #default="{ row }">
<span>{{ <span>{{
dictData.mail_source.filter( dictData.mail_source.filter(
@ -99,38 +146,59 @@
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="contactName" label="姓名" align="center" width="80" /> <el-table-column
<el-table-column prop="contactPhone" label="联系电话" width="120" align="center" /> prop="contactName"
<el-table-column label="信件等级" width="100" align="center"> label="姓名"
align="center"
width="120"
/>
<el-table-column
prop="contactPhone"
label="联系电话"
width="120"
/>
<el-table-column label="信件等级" width="120">
<template #default="{ row }"> <template #default="{ row }">
<mail-level :value="row.mailLevel" :list="dictData.mail_level" /> <mail-level
:value="row.mailLevel"
:list="dictData.mail_level"
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="mailCategory" label="信件分类" align="center" width="120"/> <el-table-column prop="mailCategory" label="信件分类" />
<el-table-column label="信件状态" width="90" align="center"> <el-table-column label="信件状态" width="90">
<template #default="{ row }"> <template #default="{ row }">
<span>{{ <span>{{
getDictLable(dictData.mail_state, row.mailState) getDictLable(dictData.mail_state, row.mailState)
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="threeDeptName" label="办理单位" width="120" align="center"/> <el-table-column prop="threeDeptName" label="办理单位" />
<el-table-column prop="currentOperator" label="当前处理对象" width="120" align="center"></el-table-column> <el-table-column prop="currentOperator" label="当前处理对象"></el-table-column>
<el-table-column label="流程节点" class-name="text-no-ellipsis" align="center"> <el-table-column label="流程节点" class-name="text-no-ellipsis" align="center">
<template #default="{ row }"> <template #default="{ row }">
<el-tag :type="getFlowTagType(row.mailFlowName)">{{ row.mailFlowName }}</el-tag> <el-tag
:type="getFlowTagType(row.mailFlowName)"
>{{ row.mailFlowName }}</el-tag
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="流程限时" align="center"> <el-table-column label="流程限时" align="center">
<template #default="{ row }"> <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="mr-4">剩余</span>
<span class="text">{{ <span class="text">{{
formatTimeText(row.flowLimitedRemainingTime) formatTimeText(row.flowLimitedRemainingTime)
}}</span> }}</span>
</div> </div>
<div v-if="row.flowLimitedRemainingTime < 0" class="error"> <div
v-if="row.flowLimitedRemainingTime < 0"
class="error"
>
<span class="mr-4">超时</span> <span class="mr-4">超时</span>
<span class="text">{{ <span class="text">{{
formatTimeText( formatTimeText(
@ -140,9 +208,14 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" align="center"> <el-table-column label="操作" width="100">
<template #default="{ row }"> <template #default="{ row }">
<el-button type="primary" link @click="handleMail(row)">详情</el-button> <el-button
type="primary"
link
@click="handleMail(row)"
>详情</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -156,18 +229,21 @@
</main> </main>
</div> </div>
<MailDialog v-model:show="showModel" :mail-id="activeMailId" :work-id="activeWorkId" :disabled="true" <MailDialog v-model:show="showModel" :mail-id="activeMailId" :work-id="activeWorkId" :disabled="true" @update="getList" />
@update="getList" />
</template> </template>
<script setup> <script lang="ts" setup>
import MailDialog from "./components/MailDialog.vue"; import MailDialog from "./components/MailDialog.vue";
import { getDones } from "@/api/work"; import { getDones } from "@/api/work";
import { getMailFlowDetail } from "@/api/mail"; import { getMailFlowDetail } from "@/api/mail";
import { useDictData } from "@/hooks/useDictOptions"; import { useDictData } from "@/hooks/useDictOptions";
import { useDictOptions } from '@/hooks/useDictOptions'
import useMailStore from "@/stores/modules/mail"; import useMailStore from "@/stores/modules/mail";
import { getDictLable, formatTimeText,getFlowTagType } from "@/utils/util"; import { getDictLable, formatTimeText,getFlowTagType } from "@/utils/util";
import { ref, reactive, watchEffect } from "vue";
import { deptLists } from '@/api/org/department'
import { getFlowNodes } from '@/api/org/flowNode'
const mailStore = useMailStore(); const mailStore = useMailStore();
mailStore.getMailCategorys(); mailStore.getMailCategorys();
const { dictData } = useDictData(["mail_source", "mail_level", "mail_state"]); const { dictData } = useDictData(["mail_source", "mail_level", "mail_state"]);
@ -185,7 +261,17 @@ const dones = ref([]);
const showModel = ref(false); const showModel = ref(false);
const activeMailId = ref(""); const activeMailId = ref("");
const activeWorkId = ref(0) const activeWorkId = ref(0)
const { optionsData } = useDictOptions<{
dept: any[],
flowNodes: any[]
}>({
dept: {
api: deptLists
},
flowNodes: {
api: getFlowNodes
}
})
function handleMail(row) { function handleMail(row) {
showModel.value = true; showModel.value = true;
activeMailId.value = row.mailId; activeMailId.value = row.mailId;
@ -216,6 +302,11 @@ function handleMailTimeQuery(val) {
delete query.value.mailTimeEnd delete query.value.mailTimeEnd
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.success { .success {
@ -223,12 +314,10 @@ function handleMailTimeQuery(val) {
height: 24px; height: 24px;
line-height: 24px; line-height: 24px;
text-align: center; text-align: center;
.text { .text {
color: #128009; color: #128009;
} }
} }
.error { .error {
background-color: #ff0000; background-color: #ff0000;
color: #fff; color: #fff;

200
src/views/work/Todo.vue

@ -5,36 +5,64 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="来信时间"> <el-form-item label="来信时间">
<el-date-picker v-model="query.mailTime" value-format="YYYY-MM-DD" type="daterange" <el-date-picker
range-separator="~" start-placeholder="开始日期" end-placeholder="结束日期" v-model="query.mailTime"
@change="handleMailTimeQuery" /> value-format="YYYY-MM-DD"
type="daterange"
range-separator="~"
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="handleMailTimeQuery"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="信件来源"> <el-form-item label="信件来源">
<el-select v-model="query.source" placeholder="请选择信件来源" clearable> <el-select
<el-option v-for="item in dictData.mail_source" :key="item.value" :label="item.name" v-model="query.source"
:value="item.value" /> placeholder="请选择信件来源"
clearable
>
<el-option
v-for="item in dictData.mail_source"
:key="item.value"
:label="item.name"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="来信人员"> <el-form-item label="来信人员">
<div class="flex gap"> <div class="flex gap">
<el-select v-model="query.contactField"> <el-select
v-model="query.contactField"
>
<el-option label="姓名" value="name" /> <el-option label="姓名" value="name" />
<el-option label="身份证" value="idCard" /> <el-option label="身份证" value="idCard" />
<el-option label="联系电话" value="phone" /> <el-option label="联系电话" value="phone" />
</el-select> </el-select>
<el-input v-model="query.contactFieldValue" placeholder="请输入" clearable /> <el-input
v-model="query.contactFieldValue"
placeholder="请输入"
clearable
/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="信件等级"> <el-form-item label="信件等级">
<el-select v-model="query.mailLevel" placeholder="请选择信件等级" clearable> <el-select
<el-option v-for="item in dictData.mail_level" :key="item.value" :label="item.name" v-model="query.mailLevel"
:value="item.value" /> placeholder="请选择信件等级"
clearable
>
<el-option
v-for="item in dictData.mail_level"
:key="item.value"
:label="item.name"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -42,39 +70,50 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="信件分类"> <el-form-item label="信件分类">
<el-tree-select v-model="query.mailCategory" :data="mailStore.mailCategorys" check-strictly clearable <el-tree-select
filterable /> v-model="query.mailCategory"
:data="mailStore.mailCategorys"
check-strictly
filterable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="信件状态"> <el-form-item label="信件状态">
<el-select v-model="query.mailState" placeholder="请选择信件状态" clearable> <el-select
<el-option v-for="item in dictData.mail_state" :key="item.value" :label="item.name" v-model="query.mailState"
:value="item.value" /> placeholder="请选择信件状态"
clearable
>
<el-option
v-for="item in dictData.mail_state"
:key="item.value"
:label="item.name"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="6"> <el-col :span="6">
<el-form-item label="办理单位"> <el-form-item label="办理单位">
<div class="flex gap"> <el-tree-select class="flex-1" v-model="query.deptId" :data="optionsData.dept" clearable
<el-input node-key="id" filterable :props="{
v-model="query.handlingDeptId" value: 'id',
placeholder="" label: 'name',
clearable disabled(data: any) {
/> return !!data.isStop
</div> }
}" check-strictly placeholder="请选择上级部门" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="流程阶段"> <el-form-item label="流程阶段">
<el-select <el-select v-model="query.flowKey" placeholder="" clearable multiple collapse-tags="true">
v-model="query.flowKey" <el-option v-for="item in optionsData.flowNodes" :key="item.key" :label="item.fullName"
placeholder="请选择流程阶段" :value="item.key" />
clearable
>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> --> </el-col>
</el-row> </el-row>
<div class="flex between mb-20"> <div class="flex between mb-20">
<div> <div>
@ -90,8 +129,13 @@
<main> <main>
<div class="table-container"> <div class="table-container">
<el-table :data="todos" style="width: 100%" stripe> <el-table :data="todos" style="width: 100%" stripe>
<el-table-column prop="mailTime" label="来信时间" align="center" width="160" /> <el-table-column
<el-table-column label="信件来源" align="center" width="90"> prop="mailTime"
label="来信时间"
align="center"
width="170"
/>
<el-table-column label="信件来源" align="center" width="94">
<template #default="{ row }"> <template #default="{ row }">
<span>{{ <span>{{
dictData.mail_source.filter( dictData.mail_source.filter(
@ -100,37 +144,70 @@
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="contactName" label="姓名" align="center" width="80" /> <el-table-column
<el-table-column prop="contactPhone" label="联系电话" align="center" width="120" /> prop="contactName"
<el-table-column label="信件等级" width="100" align="center"> label="姓名"
align="center"
width="70"
/>
<el-table-column
prop="contactPhone"
label="联系电话"
width="120"
/>
<el-table-column label="信件等级" width="100">
<template #default="{ row }"> <template #default="{ row }">
<mail-level :value="row.mailLevel" :list="dictData.mail_level" /> <mail-level
:value="row.mailLevel"
:list="dictData.mail_level"
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="mailCategory" label="信件分类" align="center" width="120" /> <el-table-column
<el-table-column prop="content" align="center" label="信件内容" show-overflow-tooltip width="150" /> prop="mailCategory"
<el-table-column label="信件状态" width="90" align="center"> label="信件分类"
width="160"
/>
<el-table-column
prop="content"
label="信件内容"
show-overflow-tooltip
/>
<el-table-column label="信件状态" width="90">
<template #default="{ row }"> <template #default="{ row }">
<span>{{ <span>{{
getDictLable(dictData.mail_state, row.mailState) getDictLable(dictData.mail_state, row.mailState)
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="threeDeptName" label="办理单位" width="120" align="center" /> <el-table-column
<el-table-column label="流程节点" align="center"> prop="threeDeptName"
label="办理单位"
width="160"
/>
<el-table-column label="流程节点">
<template #default="{ row }"> <template #default="{ row }">
<el-tag :type="getFlowTagType(row.flowName)">{{ row.flowName }}</el-tag> <el-tag
:type="getFlowTagType(row.flowName)"
>{{ row.flowName }}</el-tag
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="流程限时" align="center"> <el-table-column label="流程限时">
<template #default="{ row }"> <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="mr-4">剩余</span>
<span class="text">{{ <span class="text">{{
formatTimeText(row.flowLimitedRemainingTime) formatTimeText(row.flowLimitedRemainingTime)
}}</span> }}</span>
</div> </div>
<div v-if="row.flowLimitedRemainingTime < 0" class="error"> <div
v-if="row.flowLimitedRemainingTime < 0"
class="error"
>
<span class="mr-4">超时</span> <span class="mr-4">超时</span>
<span class="text">{{ <span class="text">{{
formatTimeText( formatTimeText(
@ -140,9 +217,14 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" align="center"> <el-table-column label="操作">
<template #default="{ row }"> <template #default="{ row }">
<el-button type="primary" link @click="handleMail(row)">立即处理</el-button> <el-button
type="primary"
link
@click="handleMail(row)"
>立即处理</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -156,20 +238,20 @@
</main> </main>
</div> </div>
<MailDialog v-model:show="showModel" :mail-id="activeMailId" :work-id="activeWorkId" :work-type="activeWorkType" <MailDialog v-model:show="showModel" :mail-id="activeMailId" :work-id="activeWorkId" :work-type="activeWorkType" @update="getList" />
@update="getList" />
<AddMail v-model="addMailShow" @close="addMailShow = false" @success="getList" /> <AddMail v-model="addMailShow" @close="addMailShow = false" @success="getList" />
</template> </template>
<script setup> <script lang="ts" setup>
import MailDialog from "./components/MailDialog.vue"; import MailDialog from "./components/MailDialog.vue";
import AddMail from "./components/AddMail.vue"; import AddMail from "./components/AddMail.vue";
import { getTodos } from "@/api/work"; import { getTodos } from "@/api/work";
import { getMailFlowDetail } from "@/api/mail"; import { getMailFlowDetail } from "@/api/mail";
import { useDictData } from "@/hooks/useDictOptions"; import { useDictData,useDictOptions } from "@/hooks/useDictOptions";
import useMailStore from "@/stores/modules/mail"; import useMailStore from "@/stores/modules/mail";
import { formatTimeText, getDictLable, getFlowTagType } from "@/utils/util"; import { formatTimeText, getDictLable, getFlowTagType } from "@/utils/util";
import { deptLists } from '@/api/org/department'
import { getFlowNodes } from '@/api/org/flowNode'
const mailStore = useMailStore(); const mailStore = useMailStore();
mailStore.getMailCategorys(); mailStore.getMailCategorys();
const { dictData } = useDictData(["mail_source", "mail_level", "mail_state"]); const { dictData } = useDictData(["mail_source", "mail_level", "mail_state"]);
@ -190,7 +272,17 @@ const showModel = ref(false);
const activeMailId = ref(""); const activeMailId = ref("");
const activeWorkId = ref(0); const activeWorkId = ref(0);
const activeWorkType = ref("") const activeWorkType = ref("")
const { optionsData } = useDictOptions<{
dept: any[],
flowNodes: any[]
}>({
dept: {
api: deptLists
},
flowNodes: {
api: getFlowNodes
}
})
function handleMail(row) { function handleMail(row) {
showModel.value = true; showModel.value = true;
activeMailId.value = row.mailId; activeMailId.value = row.mailId;
@ -235,12 +327,10 @@ function handleMailTimeQuery(val) {
height: 24px; height: 24px;
line-height: 24px; line-height: 24px;
text-align: center; text-align: center;
.text { .text {
color: #128009; color: #128009;
} }
} }
.error { .error {
background-color: #ff0000; background-color: #ff0000;
color: #fff; color: #fff;

Loading…
Cancel
Save