任务管理页面

main
wanglei 2 years ago
parent 36bea57eb6
commit 20345f1c10

@ -1,20 +1,28 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="上报人" prop="subName"> <el-form-item label="任务发起组织" prop="deptName">
<el-input
v-model="queryParams.deptName"
placeholder="请输入任务发起组织"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="任务发起人" prop="subName">
<el-input <el-input
v-model="queryParams.subName" v-model="queryParams.subName"
placeholder="请输入上报人" placeholder="请输入任务发起人"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="上报日期" prop="subDate"> <el-form-item label="任务发起日期" prop="subDate">
<el-date-picker clearable <el-date-picker clearable
v-model="queryParams.subDate" v-model="queryParams.subDate"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="请选择上报日期"> placeholder="请选择任务发起日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="phone"> <el-form-item label="联系电话" prop="phone">
@ -25,10 +33,10 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="任务主题(字典)" prop="title"> <el-form-item label="任务主题" prop="title">
<el-input <el-input
v-model="queryParams.title" v-model="queryParams.title"
placeholder="请输入任务主题(字典)" placeholder="请输入任务主题"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
@ -41,18 +49,10 @@
placeholder="请选择截止日期"> placeholder="请选择截止日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="当前分派到部门" prop="sendedDept"> <el-form-item label="分派到组织" prop="sendedDept">
<el-input <el-input
v-model="queryParams.sendedDept" v-model="queryParams.sendedDept"
placeholder="请输入当前分派到部门" placeholder="请输入分派到组织"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="当前分派到部门id" prop="sendedDeptid">
<el-input
v-model="queryParams.sendedDeptid"
placeholder="请输入当前分派到部门id"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
@ -65,14 +65,6 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="分派到用户id" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入分派到用户id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="处理结果" prop="handleResult"> <el-form-item label="处理结果" prop="handleResult">
<el-input <el-input
v-model="queryParams.handleResult" v-model="queryParams.handleResult"
@ -81,30 +73,7 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="处理原由" prop="handleReason">
<el-input
v-model="queryParams.handleReason"
placeholder="请输入处理原由"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="部门id" prop="deptId">
<el-input
v-model="queryParams.deptId"
placeholder="请输入部门id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="网格名称" prop="deptName">
<el-input
v-model="queryParams.deptName"
placeholder="请输入网格名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -157,43 +126,85 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="taskManageList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="id" /> <el-table-column label="ID" align="center" prop="id" min-width="60" show-overflow-tooltip/>
<el-table-column label="上报人" align="center" prop="subName" /> <el-table-column label="任务主题" align="center" prop="title" min-width="120" show-overflow-tooltip/>
<el-table-column label="上报日期" align="center" prop="subDate" width="180"> <el-table-column label="任务发起组织" align="center" prop="deptName" min-width="100" show-overflow-tooltip/>
<el-table-column label="任务发起人" align="center" prop="subName" min-width="100" show-overflow-tooltip/>
<el-table-column label="任务发起日期" align="center" prop="subDate" min-width="100" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.subDate, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.subDate, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="联系电话" align="center" prop="phone" /> <el-table-column label="联系电话" align="center" prop="phone" min-width="100" show-overflow-tooltip/>
<el-table-column label="任务分类(字典)" align="center" prop="taskType" /> <el-table-column label="任务分类" align="center" prop="taskType" min-width="100" show-overflow-tooltip>
<el-table-column label="任务主题(字典)" align="center" prop="title" /> <template slot-scope="scope">
<el-table-column label="任务描述" align="center" prop="content" /> <dict-tag :options="dict.type.szxc_task_type" :value="scope.row.taskType"/>
<el-table-column label="截止日期" align="center" prop="expiredDate" width="180"> </template>
</el-table-column>
<el-table-column label="任务描述" align="center" prop="content" min-width="140" show-overflow-tooltip/>
<el-table-column label="截止日期" align="center" prop="expiredDate" min-width="100" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.expiredDate, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.expiredDate, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="任务状态(字典)" align="center" prop="status" /> <el-table-column label="任务状态" align="center" prop="status" min-width="80" show-overflow-tooltip>
<el-table-column label="当前分派到部门" align="center" prop="sendedDept" /> <template slot-scope="scope">
<el-table-column label="当前分派到部门id" align="center" prop="sendedDeptid" /> <dict-tag :options="dict.type.szxc_task_status" :value="scope.row.status"/>
<el-table-column label="分派到用户" align="center" prop="handleName" /> </template>
<el-table-column label="分派到用户id" align="center" prop="userId" /> </el-table-column>
<el-table-column label="处理结果" align="center" prop="handleResult" /> <el-table-column label="分派到组织" align="center" prop="sendedDept" min-width="120" show-overflow-tooltip/>
<el-table-column label="处理原由" align="center" prop="handleReason" /> <el-table-column label="分派到用户" align="center" prop="handleName" min-width="120" show-overflow-tooltip/>
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="处理结果" align="center" prop="handleResult" min-width="140" show-overflow-tooltip>
<el-table-column label="部门id" align="center" prop="deptId" /> <template slot-scope="scope">
<el-table-column label="网格名称" align="center" prop="deptName" /> <dict-tag :options="dict.type.szxc_handle_result" :value="scope.row.handleResult"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> </template>
</el-table-column>
<el-table-column label="处理原由" align="center" prop="handleReason" min-width="140" show-overflow-tooltip/>
<el-table-column label="备注" align="center" prop="remark" min-width="140" show-overflow-tooltip/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="220">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
v-if="scope.row.status==='0'"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['szxc:taskManage:edit']" v-hasPermi="['szxc:taskManage:edit']"
>修改</el-button> >修改</el-button>
<el-button
v-if="scope.row.status==='0'"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleXiaFa(scope.row)"
v-hasPermi="['szxc:taskManage:edit']"
>下发</el-button>
<el-button
v-if="scope.row.status==='1'"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleZhuanPai(scope.row)"
v-hasPermi="['szxc:taskManage:edit']"
>转派</el-button>
<el-button
v-if="scope.row.status==='1'"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleChuLi(scope.row)"
v-hasPermi="['szxc:taskManage:edit']"
>处理</el-button>
<el-button
v-if="scope.row.status==='2'"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleWanCheng(scope.row)"
v-hasPermi="['szxc:taskManage:edit']"
>完成</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -201,10 +212,16 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['szxc:taskManage:remove']" v-hasPermi="['szxc:taskManage:remove']"
>删除</el-button> >删除</el-button>
<el-button
v-if="scope.row.status!=='0'"
size="mini"
type="text"
@click="handleChuLiJiLu(scope.row)"
>处理记录</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
:total="total" :total="total"
@ -214,77 +231,264 @@
/> />
<!-- 添加或修改任务管理对话框 --> <!-- 添加或修改任务管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="上报人" prop="subName"> <el-form-item label="任务主题" prop="title">
<el-input v-model="form.subName" placeholder="请输入上报人" /> <el-input v-model="form.title" placeholder="请输入任务主题" />
</el-form-item>
<el-form-item label="上报日期" prop="subDate">
<el-date-picker clearable
v-model="form.subDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择上报日期">
</el-date-picker>
</el-form-item>
<el-form-item label="联系电话" prop="phone">
<el-input v-model="form.phone" placeholder="请输入联系电话" />
</el-form-item>
<el-form-item label="任务主题(字典)" prop="title">
<el-input v-model="form.title" placeholder="请输入任务主题(字典)" />
</el-form-item> </el-form-item>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="任务分类" prop="taskType">
<el-select
v-model="form.taskType"
placeholder="请选择任务分类"
clearable
style="width:100%"
>
<el-option
v-for="dict in dict.type.szxc_task_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="任务发起组织" prop="deptId">
<treeselect v-model="form.deptId" :options="deptOptions"
placeholder="请选择任务发起组织" style="width:100%;" @select="selectedTree"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="任务发起人" prop="subName">
<el-input v-model="form.subName" placeholder="请输入任务发起人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话" prop="phone">
<el-input v-model="form.phone" placeholder="请输入联系电话" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="任务发起日期" prop="subDate">
<el-date-picker clearable style="width:100%"
v-model="form.subDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择任务发起日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="任务截止日期" prop="expiredDate">
<el-date-picker clearable style="width:100%"
v-model="form.expiredDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择截止日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="任务描述"> <el-form-item label="任务描述">
<editor v-model="form.content" :min-height="192"/> <editor v-model="form.content" :min-height="150"/>
</el-form-item>
<el-form-item label="截止日期" prop="expiredDate">
<el-date-picker clearable
v-model="form.expiredDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择截止日期">
</el-date-picker>
</el-form-item>
<el-form-item label="当前分派到部门" prop="sendedDept">
<el-input v-model="form.sendedDept" placeholder="请输入当前分派到部门" />
</el-form-item>
<el-form-item label="当前分派到部门id" prop="sendedDeptid">
<el-input v-model="form.sendedDeptid" placeholder="请输入当前分派到部门id" />
</el-form-item> </el-form-item>
<el-form-item label="分派到用户" prop="handleName"> <!-- <el-form-item label="处理结果" prop="handleResult">
<el-input v-model="form.handleName" placeholder="请输入分派到用户" />
</el-form-item>
<el-form-item label="分派到用户id" prop="userId">
<el-input v-model="form.userId" placeholder="请输入分派到用户id" />
</el-form-item>
<el-form-item label="处理结果" prop="handleResult">
<el-input v-model="form.handleResult" placeholder="请输入处理结果" /> <el-input v-model="form.handleResult" placeholder="请输入处理结果" />
</el-form-item> </el-form-item>
<el-form-item label="处理原由" prop="handleReason"> <el-form-item label="处理原由" prop="handleReason">
<el-input v-model="form.handleReason" placeholder="请输入处理原由" /> <el-input v-model="form.handleReason" placeholder="请输入处理原由" />
</el-form-item> </el-form-item>-->
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" /> <el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="部门id" prop="deptId">
<el-input v-model="form.deptId" placeholder="请输入部门id" />
</el-form-item>
<el-form-item label="网格名称" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入网格名称" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 下发/转派/完成 -->
<el-dialog :title="recard.title" :visible.sync="recard.open" width="500px" append-to-body>
<el-form ref="recardForm" :model="recard.form" :rules="recard.rules" label-width="110px">
<div v-if="recard.type==='0'">
<el-form-item label="下发人" prop="xfName">
<el-input readonly
placeholder="请选择下发人"
v-model="recard.form.xfName">
<el-button slot="append" icon="el-icon-search" @click="renYuanQuery('1')"></el-button>
</el-input>
</el-form-item>
<el-form-item label="下发组织" prop="xfDept">
<el-input v-model="recard.form.xfDept" placeholder="请输入下发组织" />
</el-form-item>
<el-form-item label="下发到人" prop="xfdName">
<el-input readonly
placeholder="请选择下发组织"
v-model="recard.form.xfdName">
<el-button slot="append" icon="el-icon-search" @click="renYuanQuery('2')"></el-button>
</el-input>
</el-form-item>
<el-form-item label="下发到组织" prop="xfdDept">
<el-input v-model="recard.form.xfdDept" placeholder="请输入下发到组织" />
</el-form-item>
</div>
<div v-if="recard.type==='1'">
<el-form-item label="转派人" prop="zpName">
<el-input readonly
placeholder="请选择转派人"
v-model="recard.form.zpName">
<el-button slot="append" icon="el-icon-search" @click="renYuanQuery('3')"></el-button>
</el-input>
</el-form-item>
<el-form-item label="转派组织" prop="zpDept">
<el-input v-model="recard.form.zpDept" placeholder="请输入转派组织" />
</el-form-item>
<el-form-item label="转派到人" prop="zpdName">
<el-input readonly
placeholder="请选择转派到人"
v-model="recard.form.zpdName">
<el-button slot="append" icon="el-icon-search" @click="renYuanQuery('4')"></el-button>
</el-input>
</el-form-item>
<el-form-item label="转派到组织" prop="zpdDept">
<el-input v-model="recard.form.zpdDept" placeholder="请输入转派到组织" />
</el-form-item>
</div>
<div v-if="recard.type==='2'">
<el-form-item label="处理人" prop="clName">
<el-input readonly
placeholder="请选择处理人"
v-model="recard.form.clName">
<el-button slot="append" icon="el-icon-search" @click="renYuanQuery('5')"></el-button>
</el-input>
</el-form-item>
<el-form-item label="处理组织" prop="clDept">
<el-input v-model="recard.form.clDept" readonly placeholder="请输入处理组织" />
</el-form-item>
<el-form-item label="处理结果" prop="clResult">
<el-select
v-model="recard.form.clResult"
placeholder="处理结果"
clearable
style="width:100%"
>
<el-option
v-for="dict in dict.type.szxc_handle_result"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="处理原因" prop="clReason">
<el-input v-model="recard.form.clReason" type="textarea" placeholder="请输入处理原因" />
</el-form-item>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="recardSubmit"> </el-button>
</div>
</el-dialog>
<el-dialog title="选择用户信息" :visible.sync="userInfo.visible" width="900px" append-to-body>
<el-form :model="userInfo.queryParams" ref="queryForm" size="small" :inline="true" label-width="70px">
<el-form-item label="用户名称" prop="userName">
<el-input
v-model="userInfo.queryParams.userName"
placeholder="请输入用户名称"
clearable
style="width: 240px"
@keyup.enter.native="userInfoQuery"
/>
</el-form-item>
<el-form-item label="手机号码" prop="phonenumber">
<el-input
v-model="userInfo.queryParams.phonenumber"
placeholder="请输入手机号码"
clearable
style="width: 240px"
@keyup.enter.native="userInfoQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="userInfoQuery"></el-button>
</el-form-item>
</el-form>
<el-alert title="双击选择用户" type="warning" :closable="false"></el-alert>
<el-table v-loading="userInfo.loading" :data="userInfo.list" border @cell-dblclick="userInfoDblclick">
<el-table-column label="用户编号" align="center" key="userId" prop="userId" />
<el-table-column label="用户名称" align="center" key="userName" prop="userName" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" :show-overflow-tooltip="true" />
<el-table-column label="组织" align="center" key="deptName" prop="dept.deptName" :show-overflow-tooltip="true" />
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" width="120" />
</el-table>
<pagination
v-show="userInfo.total>0"
:total="userInfo.total"
:page.sync="userInfo.queryParams.pageNum"
:limit.sync="userInfo.queryParams.pageSize"
@pagination="getListUser"
/>
</el-dialog>
<el-dialog title="处理记录" :visible.sync="cljl.visible" width="1000px" append-to-body>
<el-table v-loading="cljl.loading" :data="cljl.list" border>
<el-table-column label="ID" align="center" prop="id" min-width="50" fixed/>
<el-table-column label="任务ID" align="center" prop="taskId" min-width="80" show-overflow-tooltip fixed/>
<el-table-column label="记录类型" align="center" prop="taskRecardType" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
<dict-tag :options="dict.type.szxc_task_recard_type" :value="scope.row.taskRecardType"/>
</template>
</el-table-column>
<el-table-column label="下发人" align="center" prop="xfName" min-width="120" show-overflow-tooltip/>
<el-table-column label="下发组织" align="center" prop="xfDept" min-width="120" show-overflow-tooltip/>
<el-table-column label="下发到人" align="center" prop="xfdName" min-width="120" show-overflow-tooltip/>
<el-table-column label="下发到组织" align="center" prop="xfdDept" min-width="120" show-overflow-tooltip/>
<el-table-column label="转派人" align="center" prop="zpName" min-width="120" show-overflow-tooltip/>
<el-table-column label="转派组织" align="center" prop="zpDept" min-width="120" show-overflow-tooltip/>
<el-table-column label="转派到人" align="center" prop="zpdName" min-width="120" show-overflow-tooltip/>
<el-table-column label="转派到组织" align="center" prop="zpdDept" min-width="120" show-overflow-tooltip/>
<el-table-column label="处理人" align="center" prop="clName" min-width="120" show-overflow-tooltip/>
<el-table-column label="处理组织" align="center" prop="clDept" min-width="120" show-overflow-tooltip/>
<el-table-column label="处理结果" align="center" prop="clResult" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<dict-tag :options="dict.type.szxc_handle_result" :value="scope.row.clResult"/>
</template>
</el-table-column>
<el-table-column label="处理原因" align="center" prop="clReason" min-width="140" show-overflow-tooltip/>
</el-table>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { listTaskManage, getTaskManage, delTaskManage, addTaskManage, updateTaskManage } from "@/api/szxc/taskManage"; import { listTaskManage, getTaskManage, delTaskManage, addTaskManage, updateTaskManage } from "@/api/szxc/taskManage";
import { listTaskRecard, addTaskRecard } from "@/api/szxc/taskRecard";
import { deptTreeSelect, listUser } from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default { export default {
name: "TaskManage", name: "TaskManage",
components: { Treeselect },
dicts: ['szxc_task_type', 'szxc_task_status', 'szxc_handle_result','szxc_task_recard_type'],
data() { data() {
return { return {
// //
@ -300,7 +504,9 @@ export default {
// //
total: 0, total: 0,
// //
taskManageList: [], list: [],
//
deptOptions: undefined,
// //
title: "", title: "",
// //
@ -330,27 +536,126 @@ export default {
form: {}, form: {},
// //
rules: { rules: {
subName: [
{ required: true, message: "上报人不能为空", trigger: "blur" }
],
title: [ title: [
{ required: true, message: "任务主题(字典)不能为空", trigger: "blur" } { required: true, message: "任务主题不能为空", trigger: "blur" }
],
taskType: [
{ required: true, message: "任务分类不能为空", trigger: "blur" }
], ],
deptId: [ deptId: [
{ required: true, message: "部门id不能为空", trigger: "blur" } { required: true, message: "任务发起组织不能为空", trigger: "blur" }
], ],
} subName: [
{ required: true, message: "任务发起人不能为空", trigger: "blur" }
]
},
//
recard: {
type: '0', // 0 1 2
//
title: "",
//
form:{},
//
open: false,
//
rules: {
xfName: [
{ required: true, message: "下发人不能为空", trigger: "blur" }
],
xfDept: [
{ required: true, message: "下发组织不能为空", trigger: "blur" }
],
xfdName: [
{ required: true, message: "下发到人不能为空", trigger: "blur" }
],
xfdDept: [
{ required: true, message: "下发到组织不能为空", trigger: "blur" }
],
zpName: [
{ required: true, message: "转派人不能为空", trigger: "blur" }
],
zpDept: [
{ required: true, message: "转派组织不能为空", trigger: "blur" }
],
zpdName: [
{ required: true, message: "转派到人不能为空", trigger: "blur" }
],
zpdDept: [
{ required: true, message: "转派到组织不能为空", trigger: "blur" }
],
clName: [
{ required: true, message: "处理人不能为空", trigger: "blur" }
],
clDept: [
{ required: true, message: "处理组织不能为空", trigger: "blur" }
],
clResult: [
{ required: true, message: "处理结果不能为空", trigger: "blur" }
],
clReason: [
{ required: true, message: "处理原因不能为空", trigger: "blur" }
],
},
},
//
userInfo: {
type: null,
visible: false,
//
loading: false,
//
total: 0,
//
queryParams:{
pageNum: 1,
pageSize: 10,
userName: undefined,
phonenumber: undefined,
deptId: undefined
},
//
list: [],
//
selectRow: null
},
//
cljl: {
visible: false,
//
loading: false,
//
list: [],
//
selectedRow: null,
},
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.getDeptTree();
}, },
methods: { methods: {
/** 查询组织下拉树结构 */
getDeptTree() {
deptTreeSelect().then(response => {
this.deptOptions = response.data;
});
},
selectedTree(node){
this.form.deptId = node.id;
this.form.deptName = node.label;
},
renYuanQuery(type){
this.userInfo.type = type;
this.userInfo.visible = true;
this.getListUser()
},
/** 查询任务管理列表 */ /** 查询任务管理列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listTaskManage(this.queryParams).then(response => { listTaskManage(this.queryParams).then(response => {
this.taskManageList = response.rows; this.list = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
@ -431,6 +736,7 @@ export default {
this.getList(); this.getList();
}); });
} else { } else {
this.form.status = '0'
addTaskManage(this.form).then(response => { addTaskManage(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
@ -455,7 +761,174 @@ export default {
this.download('szxc/taskManage/export', { this.download('szxc/taskManage/export', {
...this.queryParams ...this.queryParams
}, `taskManage_${new Date().getTime()}.xlsx`) }, `taskManage_${new Date().getTime()}.xlsx`)
} },
//
handleXiaFa(row){
this.reset();
this.recardReset();
this.form = row;
this.recard.form.taskId = row.id;
this.recard.form.taskRecardType = '0';
this.recard.open = true;
this.recard.title = "下发";
this.recard.type = "0";
this.userInfo.queryParams.deptId = row.deptId;
},
//
handleZhuanPai(row){
this.reset();
this.recardReset();
this.form = row;
this.recard.form.taskId = row.id;
this.recard.form.taskRecardType = '1';
this.recard.open = true;
this.recard.title = "转派";
this.recard.type = "1";
this.userInfo.queryParams.deptId = row.deptId;
},
//
handleWanCheng(row){
this.reset();
this.recardReset();
this.form = row;
this.recard.form.taskId = row.id;
this.recard.form.taskRecardType = '2';
this.recard.open = true;
this.recard.title = "完成";
this.recard.type = "2";
this.userInfo.queryParams.deptId = row.deptId;
},
//
recardReset() {
this.recard.form = {
id: null,
taskId: null,
taskRecardType: null,
xfDept: null,
xfName: null,
xfdDept: null,
xfdName: null,
zpDept: null,
zpName: null,
zpdDept: null,
zpdName: null,
clDept: null,
clName: null,
clResult: null,
clReason: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("recardForm");
},
recardSubmit(){
this.$refs["recardForm"].validate(valid => {
if (valid) {
if(this.recard.type==='0'||this.recard.type==='1'){
this.form.status = '1'
updateTaskManage(this.form).then(response1 => {
addTaskRecard(this.recard.form).then(response => {
this.$modal.msgSuccess("操作成功");
this.recard.open = false;
this.open = false;
this.getList();
});
});
}
if(this.recard.type==='2'){
this.form.status = '3'
this.form.handleResult = this.recard.form.clResult;
this.form.handleReason = this.recard.form.clReason;
updateTaskManage(this.form).then(response1 => {
addTaskRecard(this.recard.form).then(response => {
this.$modal.msgSuccess("操作成功");
this.recard.open = false;
this.open = false;
this.getList();
});
});
}
}
});
},
/** 查询用户列表 */
getListUser() {
this.userInfo.loading = true;
listUser(this.userInfo.queryParams).then(response => {
this.userInfo.list = response.rows;
this.userInfo.total = response.total;
this.userInfo.loading = false;
}
);
},
userInfoQuery(){
this.getListUser()
},
userInfoDblclick(row){
this.userInfo.selectRow = row;
if(this.userInfo.type==='1'){
this.recard.form.xfName = row.nickName;
this.recard.form.xfDept = row.dept.deptName;
}
if(this.userInfo.type==='2') {
this.recard.form.xfdName = row.nickName;
this.recard.form.xfdDept = row.dept.deptName;
this.form.sendedDeptid = row.deptId;
this.form.sendedDept = row.dept.deptName;
this.form.userId = row.userId;
this.form.handleName = row.nickName;
}
if(this.userInfo.type==='3'){
this.recard.form.zpName = row.nickName;
this.recard.form.zpDept = row.dept.deptName;
}
if(this.userInfo.type==='4') {
this.recard.form.zpdName = row.nickName;
this.recard.form.zpdDept = row.dept.deptName;
this.form.sendedDeptid = row.deptId;
this.form.sendedDept = row.dept.deptName;
this.form.userId = row.userId;
this.form.handleName = row.nickName;
}
if(this.userInfo.type==='5'){
this.recard.form.clName = row.nickName;
this.recard.form.clDept = row.dept.deptName;
}
this.userInfo.visible = false
},
//
handleChuLi(row){
row.status='2';
updateTaskManage(row).then(response => {
this.$modal.msgSuccess("修改成功");
this.getList();
});
},
//
handleChuLiJiLu(row){
this.cljl.selectedRow = row;
this.cljl.visible = true;
this.getlistTaskRecard();
},
/** 查询审核记录信息列表 */
getlistTaskRecard() {
listTaskRecard({
pageNum: 1,
pageSize: 100000000,
taskId: this.cljl.selectedRow.id
}).then(response => {
this.cljl.list = response.rows
});
},
} }
}; };
</script> </script>

@ -1,18 +1,18 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
<el-form-item label="任务id" prop="taskId"> <el-form-item label="任务ID" prop="taskId">
<el-input <el-input
v-model="queryParams.taskId" v-model="queryParams.taskId"
placeholder="请输入任务id" placeholder="请输入任务ID"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="下发部门" prop="xfDept"> <el-form-item label="下发组织" prop="xfDept">
<el-input <el-input
v-model="queryParams.xfDept" v-model="queryParams.xfDept"
placeholder="请输入下发部门" placeholder="请输入下发组织"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
@ -25,10 +25,10 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="下发到部门" prop="xfdDept"> <el-form-item label="下发到组织" prop="xfdDept">
<el-input <el-input
v-model="queryParams.xfdDept" v-model="queryParams.xfdDept"
placeholder="请输入下发到部门" placeholder="请输入下发到组织"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
@ -41,10 +41,10 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="转派部门" prop="zpDept"> <el-form-item label="转派组织" prop="zpDept">
<el-input <el-input
v-model="queryParams.zpDept" v-model="queryParams.zpDept"
placeholder="请输入转派部门" placeholder="请输入转派组织"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
@ -57,10 +57,10 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="转派到部门" prop="zpdDept"> <el-form-item label="转派到组织" prop="zpdDept">
<el-input <el-input
v-model="queryParams.zpdDept" v-model="queryParams.zpdDept"
placeholder="请输入转派到部门" placeholder="请输入转派到组织"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
@ -73,10 +73,10 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="处理部门" prop="clDept"> <el-form-item label="处理组织" prop="clDept">
<el-input <el-input
v-model="queryParams.clDept" v-model="queryParams.clDept"
placeholder="请输入处理部门" placeholder="请输入处理组织"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
@ -97,14 +97,6 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="转派人" prop="clReason">
<el-input
v-model="queryParams.clReason"
placeholder="请输入转派人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -112,27 +104,6 @@
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['szxc:taskRecard:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['szxc:taskRecard:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="danger" type="danger"
@ -157,33 +128,30 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="taskRecardList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label=" id" align="center" prop="id" /> <el-table-column label="ID" align="center" prop="id" />
<el-table-column label="任务id" align="center" prop="taskId" /> <el-table-column label="任务ID" align="center" prop="taskId" />
<el-table-column label="记录类型(字典)" align="center" prop="taskRecardType" /> <el-table-column label="记录类型" align="center" prop="taskRecardType" >
<el-table-column label="下发部门" align="center" prop="xfDept" /> <template slot-scope="scope">
<dict-tag :options="dict.type.szxc_task_recard_type" :value="scope.row.taskRecardType"/>
</template>
</el-table-column>
<el-table-column label="下发人" align="center" prop="xfName" /> <el-table-column label="下发人" align="center" prop="xfName" />
<el-table-column label="下发到部门" align="center" prop="xfdDept" /> <el-table-column label="下发组织" align="center" prop="xfDept" />
<el-table-column label="下发到人" align="center" prop="xfdName" /> <el-table-column label="下发到人" align="center" prop="xfdName" />
<el-table-column label="转派部门" align="center" prop="zpDept" /> <el-table-column label="下发到组织" align="center" prop="xfdDept" />
<el-table-column label="转派人" align="center" prop="zpName" /> <el-table-column label="转派人" align="center" prop="zpName" />
<el-table-column label="转派到部门" align="center" prop="zpdDept" /> <el-table-column label="转派组织" align="center" prop="zpDept" />
<el-table-column label="转派到人" align="center" prop="zpdName" /> <el-table-column label="转派到人" align="center" prop="zpdName" />
<el-table-column label="处理部门" align="center" prop="clDept" /> <el-table-column label="转派到组织" align="center" prop="zpdDept" />
<el-table-column label="处理人" align="center" prop="clName" /> <el-table-column label="处理人" align="center" prop="clName" />
<el-table-column label="处理组织" align="center" prop="clDept" />
<el-table-column label="处理结果" align="center" prop="clResult" /> <el-table-column label="处理结果" align="center" prop="clResult" />
<el-table-column label="转派人" align="center" prop="clReason" /> <el-table-column label="处理原因" align="center" prop="clReason" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['szxc:taskRecard:edit']"
>修改</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -194,7 +162,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
:total="total" :total="total"
@ -203,65 +171,15 @@
@pagination="getList" @pagination="getList"
/> />
<!-- 添加或修改任务处理记录对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="任务id" prop="taskId">
<el-input v-model="form.taskId" placeholder="请输入任务id" />
</el-form-item>
<el-form-item label="下发部门" prop="xfDept">
<el-input v-model="form.xfDept" placeholder="请输入下发部门" />
</el-form-item>
<el-form-item label="下发人" prop="xfName">
<el-input v-model="form.xfName" placeholder="请输入下发人" />
</el-form-item>
<el-form-item label="下发到部门" prop="xfdDept">
<el-input v-model="form.xfdDept" placeholder="请输入下发到部门" />
</el-form-item>
<el-form-item label="下发到人" prop="xfdName">
<el-input v-model="form.xfdName" placeholder="请输入下发到人" />
</el-form-item>
<el-form-item label="转派部门" prop="zpDept">
<el-input v-model="form.zpDept" placeholder="请输入转派部门" />
</el-form-item>
<el-form-item label="转派人" prop="zpName">
<el-input v-model="form.zpName" placeholder="请输入转派人" />
</el-form-item>
<el-form-item label="转派到部门" prop="zpdDept">
<el-input v-model="form.zpdDept" placeholder="请输入转派到部门" />
</el-form-item>
<el-form-item label="转派到人" prop="zpdName">
<el-input v-model="form.zpdName" placeholder="请输入转派到人" />
</el-form-item>
<el-form-item label="处理部门" prop="clDept">
<el-input v-model="form.clDept" placeholder="请输入处理部门" />
</el-form-item>
<el-form-item label="处理人" prop="clName">
<el-input v-model="form.clName" placeholder="请输入处理人" />
</el-form-item>
<el-form-item label="处理结果" prop="clResult">
<el-input v-model="form.clResult" placeholder="请输入处理结果" />
</el-form-item>
<el-form-item label="转派人" prop="clReason">
<el-input v-model="form.clReason" placeholder="请输入转派人" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { listTaskRecard, getTaskRecard, delTaskRecard, addTaskRecard, updateTaskRecard } from "@/api/szxc/taskRecard"; import { listTaskRecard, delTaskRecard } from "@/api/szxc/taskRecard";
export default { export default {
name: "TaskRecard", name: "TaskRecard",
dicts: ['szxc_task_recard_type'],
data() { data() {
return { return {
// //
@ -277,11 +195,7 @@ export default {
// //
total: 0, total: 0,
// //
taskRecardList: [], list: [],
//
title: "",
//
open: false,
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -301,11 +215,6 @@ export default {
clResult: null, clResult: null,
clReason: null, clReason: null,
}, },
//
form: {},
//
rules: {
}
}; };
}, },
created() { created() {
@ -316,42 +225,11 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
listTaskRecard(this.queryParams).then(response => { listTaskRecard(this.queryParams).then(response => {
this.taskRecardList = response.rows; this.list = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
}, },
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
taskId: null,
taskRecardType: null,
xfDept: null,
xfName: null,
xfdDept: null,
xfdName: null,
zpDept: null,
zpName: null,
zpdDept: null,
zpdName: null,
clDept: null,
clName: null,
clResult: null,
clReason: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
@ -368,24 +246,8 @@ export default {
this.single = selection.length!==1 this.single = selection.length!==1
this.multiple = !selection.length this.multiple = !selection.length
}, },
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加任务处理记录";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getTaskRecard(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改任务处理记录";
});
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { /*submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
@ -403,7 +265,7 @@ export default {
} }
} }
}); });
}, },*/
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;

Loading…
Cancel
Save