Commit b868a419 authored by lvzhuangzhuang's avatar lvzhuangzhuang

清除历史代码(流程部分)

parent ac736cc0
import request from '@/utils/request'
// 查询员工花名册审批业务列表
export function listEmployee(query) {
return request({
url: '/bizapprove/employee/list',
method: 'get',
params: query
})
}
// 查询员工花名册审批业务详细
export function getEmployee(id) {
return request({
url: '/bizapprove/employee/' + id,
method: 'get'
})
}
// 新增员工花名册审批业务
export function addEmployee(data) {
return request({
url: '/bizapprove/employee',
method: 'post',
data: data
})
}
// 修改员工花名册审批业务
export function updateEmployee(data) {
return request({
url: '/bizapprove/employee',
method: 'put',
data: data
})
}
// 删除员工花名册审批业务
export function delEmployee(id) {
return request({
url: '/bizapprove/employee/' + id,
method: 'delete'
})
}
// 导出员工花名册审批业务
export function exportEmployee(query) {
return request({
url: '/bizapprove/employee/export',
method: 'get',
params: query
})
}
\ No newline at end of file
import request from '@/utils/request'
// 查询考核评分审批列表
export function listCreditapproval(query) {
return request({
url: '/creditapproval/creditapproval/list',
method: 'get',
params: query
})
}
// 查询考核评分审批详细
export function getCreditapproval(id) {
return request({
url: '/creditapproval/creditapproval/' + id,
method: 'get'
})
}
// 新增考核评分审批
export function addCreditapproval(data) {
return request({
url: '/creditapproval/creditapproval',
method: 'post',
data: data
})
}
// 修改考核评分审批
export function updateCreditapproval(data) {
return request({
url: '/creditapproval/creditapproval',
method: 'put',
data: data
})
}
// 删除考核评分审批
export function delCreditapproval(id) {
return request({
url: '/creditapproval/creditapproval/' + id,
method: 'delete'
})
}
// 导出考核评分审批
export function exportCreditapproval(query) {
return request({
url: '/creditapproval/creditapproval/export',
method: 'get',
params: query
})
}
// 查询考核评分审批详细
export function getCreditapprovalInfo(reportId) {
return request({
url: '/creditapproval/creditapproval/getInfo/' + reportId,
method: 'get'
})
}
import request from '@/utils/request'
// 查询请假列表
export function listLeave(query) {
return request({
url: '/leave/leave/list',
method: 'get',
params: query
})
}
// 查询请假详细
export function getLeave(id) {
return request({
url: '/leave/leave/' + id,
method: 'get'
})
}
// 新增请假
export function addLeave(data) {
return request({
url: '/leave/leave',
method: 'post',
data: data
})
}
// 修改请假
export function updateLeave(data) {
return request({
url: '/leave/leave',
method: 'put',
data: data
})
}
// 删除请假
export function delLeave(id) {
return request({
url: '/leave/leave/' + id,
method: 'delete'
})
}
// 导出请假
export function exportLeave(query) {
return request({
url: '/leave/leave/export',
method: 'get',
params: query
})
}
\ No newline at end of file
import request from '@/utils/request'
// 查询工资上报详情列表
export function wageList(query) {
return request({
url: '/system/search/wageList',
method: 'get',
params: query
})
}
// 导出工资上报详情
export function exportSalaryinfo(query) {
return request({
url: '/system/search/export',
method: 'get',
params: query
})
}
//汇总表(人数 、 平均工资 、 总工资)
export function queryReportEmployeNum(query) {
return request({
url: '/system/search/queryReportEmployeNum',
method: 'get',
params: query
})
}
// export function queryReportEmployeNum(year, ywbk, deptName) {
// return request({
// url: '/system/search/queryReportEmployeNum/' + year + '/' + ywbk + '/' + deptName,
// method: 'get'
// })
// }
//汇总表(职级统计)
export function querySummaryListByPostLevel(query) {
return request({
url: '/system/search/querySummaryListByPostLevel',
method: 'get',
params: query
})
}
//汇总表(职务统计)
export function querySummaryListByPostTitle(query) {
return request({
url: '/system/search/querySummaryListByPostTitle',
method: 'get',
params: query
})
}
//汇总表(人数增减统计)
export function queryChangeEmployeNum(query) {
return request({
url: '/system/search/queryChangeEmployeNum',
method: 'get',
params: query
})
}
//统计员工花名册
export function selectEmployeStatistics(query) {
return request({
url: '/system/search/selectEmployeStatistics',
method: 'get',
params: query
})
}
<template>
<div>
<el-button
v-if="type=== 'todo'"
size="mini"
type="text"
:icon="icon"
@click="_handleView"
>{{ type === 'todo' ? btnText : '表单数据' }}</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-user"-->
<!-- @click="handleViewUserList"-->
<!-- v-show="type === 'todo'"-->
<!-- >转办</el-button>-->
<el-button
size="mini"
type="text"
icon="el-icon-time"
@click="handleViewHistoryList"
v-show="row.taskId !== '-2'"
>审批历史</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-search"
@click="handleViewProcessImg"
v-show="row.taskId !== '-2'"
>进度查看</el-button>
<el-button
v-if="type!== 'todo'"
size="mini"
type="text"
icon="el-icon-search"
@click="handleToSalaryinfo"
>详情</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-back"
@click="handleCancel"
v-show="row.taskId !== '-1' && row.taskId !== '-2' && type === 'none'"
>撤销</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-sort"
@click="handleState"
v-show="row.taskId !== '-1' && row.taskId !== '-2' && type === 'none'"
>{{ row.suspendState === '2' ? '激活' : '挂起' }}</el-button>
<!--业务表单子组件-->
<demo-form
v-if="row.processKey === 'exampleDemo'"
:row="row"
:taskId="taskId"
:taskName="taskName"
:type="type"
ref="demoForm"
></demo-form>
<leave-form
v-if="row.processKey === 'leave'"
:row="row"
:taskId="taskId"
:taskName="taskName"
:type="type"
ref="leaveForm"
></leave-form>
<salary-form
v-if="row.processKey === 'salaryreport'"
:row="row"
:taskId="taskId"
:taskName="taskName"
:type="type"
ref="salaryForm"
></salary-form>
<credit-form
v-if="row.processKey === 'creditapprove'"
:row="row"
:taskId="taskId"
:taskName="taskName"
:type="type"
ref="creditForm"
></credit-form>
<employee-form
v-if="row.processKey === 'staffapprove_add'||row.processKey === 'staffapprove_edit'"
:row="row"
:taskId="taskId"
:taskName="taskName"
:type="type"
ref="employeeForm"
></employee-form>
<!--进度查看对话框-->
<el-dialog title="进度查看" :visible.sync="open" width="1000px" append-to-body>
<div style="width: 100%; text-align: center;">
<el-image
:src="src"
:preview-src-list="srcList">
</el-image>
</div>
<div slot="footer" class="dialog-footer" style="text-align: right;">
<el-button @click="close">关闭</el-button>
</div>
</el-dialog>
<!--审批历史对话框-->
<el-dialog title="审批历史" :visible.sync="showHistoryTable" width="1000px" append-to-body>
<!--审批历史表格-->
<div>
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="70px">
<el-form-item label="任务名称" prop="activityName">
<el-input
v-model="queryParams.activityName"
placeholder="请输入任务名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="办理人ID" prop="assignee">
<el-input
v-model="queryParams.assignee"
placeholder="请输入办理人ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getHistoryList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="historyList">
<el-table-column v-if="false" label="活动ID" align="center" prop="activityId" width="60" />
<el-table-column label="活动名称" align="center" prop="activityName" width="140" />
<el-table-column label="办理人ID" align="center" prop="assignee" width="90" />
<el-table-column label="办理人" align="center" prop="assigneeName" width="80" />
<el-table-column label="审批意见" align="center" prop="comment" />
<el-table-column label="开始时间" align="center" prop="startTime" width="160" />
<el-table-column label="结束时间" align="center" prop="endTime" width="160" />
<el-table-column label="耗时" align="center" prop="durationInMillis" width="150" />
</el-table>
<!--v-show="total>0"-->
<pagination
v-show="false"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getHistoryList"
/>
</div>
<div slot="footer" class="dialog-footer" style="text-align: right;">
<el-button @click="showHistoryTable=false">关闭</el-button>
</div>
</el-dialog>
<!--用户列表对话框-->
<el-dialog title="选择用户" :visible.sync="showUserTable" width="900px" append-to-body>
<!--用户列表表格-->
<div>
<el-form :model="queryUserParams" ref="queryUserForm" :inline="true" v-show="showUserSearch" label-width="68px">
<el-form-item label="用户名称" prop="userName">
<el-input
v-model="queryUserParams.userName"
placeholder="请输入用户名称"
clearable
size="small"
style="width: 240px"
@keyup.enter.native="handleUserQuery"
/>
</el-form-item>
<el-form-item label="手机号码" prop="phonenumber">
<el-input
v-model="queryUserParams.phonenumber"
placeholder="请输入手机号码"
clearable
size="small"
style="width: 240px"
@keyup.enter.native="handleUserQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleUserQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetUserQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showUserSearch" @queryTable="getUserList"></right-toolbar>
</el-row>
<el-table v-loading="userLoading" :data="userList" @selection-change="handleUserSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="用户编号" align="center" prop="userId" />
<el-table-column label="用户名称" align="center" prop="userName" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" align="center" prop="nickName" :show-overflow-tooltip="true" />
<el-table-column label="部门" align="center" prop="dept.deptName" :show-overflow-tooltip="true" />
<el-table-column label="手机号码" align="center" prop="phonenumber" width="120" />
<el-table-column label="创建时间" align="center" prop="createTime" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
</el-table>
<pagination
v-show="userTotal>0"
:total="userTotal"
:page.sync="queryUserParams.pageNum"
:limit.sync="queryUserParams.pageSize"
@pagination="getUserList"
/>
</div>
<div slot="footer" class="dialog-footer" style="text-align: right;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="showUserTable=false">关闭</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import request from '@/utils/request'
import { format, formatTotalDateSub } from "@/utils/activiti/myUtil.js"
import { listUser } from "@/api/system/user";
import DemoForm from "@/views/example/demo/demoForm";
import LeaveForm from "@/views/leave/leave/leaveForm";
//import SalaryForm from "@/views/salaryapproval/salaryapproval/salaryForm";
import CreditForm from "@/views/creditapproval/creditapproval/creditForm";
import EmployeeForm from "@/views/bizapprove/employee/employeeForm";//我的待审员工审核弹窗
export default {
name: "ApplyAfter",
components: {DemoForm, LeaveForm, CreditForm,EmployeeForm},
props: {
/* 表格行数据 */
row: {
type: Object,
},
taskId: {
type: String,
},
taskName: {
type: String,
},
type: {
type: String,
default: 'none',
},
instanceId:{
type: String,
}
},
data() {
return {
open: false,
src: '',
srcList: [],
showHistoryTable: false,
// 遮罩层
loading: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 999,
processInstanceId: null,
activityName: null,
assignee: null,
},
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
historyList: [],
icon: this.type === 'todo' ? 'el-icon-check' : 'el-icon-document',
// 选中行
selectedRow: null,
// 状态数据字典
statusOptions: [],
showUserTable: false,
// 遮罩层
userLoading: false,
// 查询参数
queryUserParams: {
pageNum: 1,
pageSize: 10,
userName: undefined,
phonenumber: undefined,
status: undefined,
},
// 显示搜索条件
showUserSearch: true,
// 总条数
userTotal: 0,
userList: [],
btnText:'审核',
}
},
create() {
console.log("this.taskName",this.taskName);
this.getDicts("sys_normal_disable").then(response => {
this.statusOptions = response.data;
});
},
created() {
console.log("this.taskName",this.taskName);
if(this.taskName=="重新申请"){
this.btnText="重新申请";
}
},
methods: {
_handleView: function () {
console.log('this.row.processKey', this.row.processKey);
switch (this.row.processKey) {
case 'exampleDemo':
this.$refs.demoForm.form = this.row;
this.$refs.demoForm.open = true;
break;
case 'leave':
this.$refs.leaveForm.form = this.row;
this.$refs.leaveForm.open = true;
break;
case 'salaryapprove':
console.log('333',this.row);
console.log('type',this.type);
if(this.type==='todo'){
this.$router.push({path:"/salary/salaryinfo/"+this.row.reportCode+"/"+this.row.reportId,query:{taskId:this.taskId,taskName:this.taskName,type:this.type,instanceId:this.instanceId}});
}
else{
console.log('this.row.processKey', this.$refs);
this.$refs.salaryForm.form = this.row;
this.$refs.salaryForm.open = true;
}
break;
case 'creditapprove':
if(this.type==='todo'){
console.log('555', this.row);
this.$router.push({path:"/credit/setting/"+this.row.reportCode,query:{taskId:this.taskId,taskName:this.taskName,type:this.type,instanceId:this.instanceId}});
}
else {
this.$refs.creditForm.form = this.row;
this.$refs.creditForm.open = true;
}
break;
case 'staffapprove_add':
case 'staffapprove_edit':
this.$refs.employeeForm.form = this.row;
this.$refs.employeeForm.open = true;
break;
default:
break;
}
},
handleState: function () {
const instanceId = this.row.instanceId;
const suspendState = this.row.suspendState;
const opt = this.row.suspendState === '2' ? '激活': '挂起';
this.$confirm('是否确认' + opt + 'ID为"' + instanceId + '"的流程实例?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function () {
const data = { "instanceId": instanceId, "suspendState": suspendState };
return request({
url: '/activiti/process/suspendOrActiveApply',
method: 'post',
params: data
});
}).then(response => {
this.$emit('getList');
this.msgSuccess("操作成功");
}).catch(function () {
});
},
handleCancel: function () {
const instanceId = this.row.instanceId;
this.$confirm('是否确认撤销ID为"' + instanceId + '"的流程实例?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function () {
const data = { "instanceId": instanceId };
return request({
url: '/activiti/process/cancelApply',
method: 'post',
params: data
});
}).then(response => {
this.$emit('getList');
this.msgSuccess("操作成功");
}).catch(function () {
});
},
handleViewProcessImg: function() {
const baseURL = process.env.VUE_APP_BASE_API;
this.src = baseURL + '/activiti/process/read-resource?pProcessInstanceId=' + this.row.instanceId + '&_=' + new Date().getTime();
this.srcList = [];
this.srcList.push(this.src);
this.open = true;
},
close: function () {
this.open = false;
},
handleViewHistoryList() {
this.queryParams.processInstanceId = this.row.instanceId;
this.showHistoryTable = true;
this.getHistoryList();
},
getHistoryList: function () {
this.loading = true;
return request({
url: '/activiti/process/listHistory',
method: 'post',
data: this.queryParams
}).then(response => {
this.historyList = response.rows;
this.historyList.forEach(row => {
row.startTime = format(row.startTime, 'yyyy-MM-dd HH:mm:ss');
row.endTime = format(row.endTime, 'yyyy-MM-dd HH:mm:ss');
row.durationInMillis = formatTotalDateSub(row.durationInMillis / 1000);
});
this.total = response.total;
this.loading = false;
}).then(() => {
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getHistoryList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
handleViewUserList() {
this.showUserTable = true;
this.getUserList();
},
/** 查询用户列表 */
getUserList() {
this.loading = true;
listUser(this.queryUserParams).then(response => {
this.userList = response.rows;
this.userTotal = response.total;
this.userLoading = false;
}
);
},
/** 搜索按钮操作 */
handleUserQuery() {
this.queryUserParams.page = 1;
this.getUserList();
},
/** 重置按钮操作 */
resetUserQuery() {
this.resetForm("queryUserForm");
this.handleUserQuery();
},
// 多选框选中数据
handleUserSelectionChange(selection) {
this.selectedRow = selection[0];
},
/** 提交按钮 */
submitForm() {
const taskId = this.taskId;
const selectedRow = this.selectedRow;
if (!selectedRow) {
this.msgError('请先选择要转办的用户');
return;
}
if (selectedRow.userName === this.$store.state.user.name) {
this.msgError('不能转办给自己');
return;
}
this.$confirm('是否确认转办给' + selectedRow.nickName + '?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return request({
url: '/activiti/process/delegate',
method: 'post',
params: { "taskId": taskId, "delegateToUser": selectedRow.userName },
});
}).then(() => {
this.$emit('getList');
this.msgSuccess("操作成功");
this.showUserTable = false;
})
},
/** 查看工资报表 */
handleToSalaryinfo(){
console.log('2333',this.row);
switch (this.row.processKey) {
case 'salaryapprove':
this.$router.push("/salary/salaryinfo/"+this.row.reportCode+"/"+this.row.reportId);
break;
case 'creditapprove':
this.$router.push("/credit/info/"+this.row.reportCode);
break;
case 'staffapprove_add':
case 'staffapprove_edit':
this.$refs.employeeForm.form = this.row;
this.$refs.employeeForm.open = true;
break;
default:
break;
}
},
},
}
</script>
<style scoped>
</style>
<template>
<div>
<!--以下是审批字段-->
<div v-show="type === 'todo'">
<el-form label-width="100px">
<el-divider></el-divider>
<el-form-item :label="itemTitle">
<el-radio-group v-model="pass">
<el-radio label="true">{{item1}}</el-radio>
<el-radio label="false">{{item2}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="comment" type="textarea" :value="comment" />
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer" style="text-align: right;">
<el-button v-show="type === 'todo'" type="primary" @click="complete">确 定</el-button>
<el-button @click="close">关 闭</el-button>
</div>
</div>
</template>
<script>
import request from '@/utils/request'
import { updateEmployee } from "@/api/bizapprove/employee";
export default {
name: "ViewVerify",
props: {
row: {
type: Object,
},
taskId: {
type: String,
},
type: {
type: String,
},
itemTitle: {
type: String,
default:"审批意见"
},
item1: {
type: String,
default:"同意"
},
item2: {
type: String,
default:"驳回"
},
reapply:{
type:Boolean,
default:false
},
},
data() {
return {
pass: 'true',
comment: this.item1,
}
},
methods: {
close: function () {
this.$emit('update:open', false);
},
complete() {
this.$parent.$children[0].validate(valid => {
if (valid) {
if(this.reapply){//&&this.pass==='true'
console.log("this.row",this.row);
switch (this.row.processKey) {
case 'staffapprove_add':
updateEmployee(this.row).then(response => {
this.submit();
});
break;
default:
break;
}
}else{
this.submit();
}
}
});
},
submit(){
console.log('343434', this.row);
const data = {
"taskId": this.taskId,
"instanceId": this.row.instanceId,
"variables": JSON.stringify({
"comment": this.comment,
"pass": this.pass,
"formData": this.row,
}),
};
return request({
url: '/activiti/process/complete',
method: 'post',
params: data
}).then(response => {
this.close();
// 刷新待办事项列表(丑陋的代码 👇)
this.$parent.$parent.$parent.$parent.$parent.$parent.getList();
this.msgSuccess("操作成功");
});
}
},
watch: {
pass: function(val) {
this.comment = val === 'true' ? this.item1 : this.item2;
},
},
}
</script>
<style scoped>
</style>
<template>
<div>
<el-dialog :title="taskName" :visible.sync="open" width="1350px" append-to-body>
<el-form ref="form" :model="form" :rules="isReadonly? rulesLeave : rules" label-width="135px">
<el-row>
<el-col :span="24">
<el-form-item label="申报单位" prop="deptId">
<span>{{form.applyDeptName}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入姓名" :disabled="isReadonly"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" placeholder="请输入手机号" oninput="if(value.length>11)value=value.slice(0,11)" :disabled="isReadonly"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="唯一码" prop="uniqueCode">
<el-input v-model="form.uniqueCode" placeholder="请输入唯一码" :disabled="isReadonly"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="身份证号" prop="idcardNo">
<el-input v-model="form.idcardNo" placeholder="请输入身份证号" :disabled="isReadonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="出生日期" prop="birthDay">
<el-date-picker clearable size="small"
v-model="form.birthDay"
type="month"
:readonly="isReadonly"
value-format="yyyy-MM-dd"
placeholder="选择出生日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择性别" :disabled="isReadonly">
<el-option
v-for="dict in sexOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="民族" prop="folk">
<el-select v-model="form.folk" placeholder="请选择民族" :disabled="isReadonly">
<el-option
v-for="dict in folkOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="政治面貌" prop="politicalStatus">
<el-select v-model="form.politicalStatus" placeholder="请选择政治面貌" :disabled="isReadonly">
<el-option
v-for="dict in politicalStatusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="籍贯" prop="nativePlace">
<el-input v-model="form.nativePlace" placeholder="请输入籍贯" :disabled="isReadonly"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="技术职称" prop="professionalTitle">
<el-select v-model="form.professionalTitle" placeholder="请选择技术职称" :disabled="isReadonly">
<el-option
v-for="dict in professionalTitleOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="初始学历" prop="firstEducation">
<el-select v-model="form.firstEducation" placeholder="请选择初始学历" :disabled="isReadonly">
<el-option
v-for="dict in educationOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="最高学历" prop="topEducation">
<el-select v-model="form.topEducation" placeholder="请选择最高学历" :disabled="isReadonly">
<el-option
v-for="dict in educationOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="初始学历毕业院校" prop="firstEducationSchool">
<el-input v-model="form.firstEducationSchool" placeholder="请输入初始学历毕业院校" :disabled="isReadonly"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="最高学历毕业院校" prop="topEducationSchool">
<el-input v-model="form.topEducationSchool" placeholder="请输入最高学历毕业院校" :disabled="isReadonly"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="初始学历所学专业" prop="firstEducationProfession">
<el-input v-model="form.firstEducationProfession" placeholder="请输入初始学历所学专业" :disabled="isReadonly"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="最高学历所学专业" prop="topEducationProfession">
<el-input v-model="form.topEducationProfession" placeholder="请输入最高学历所学专业" :disabled="isReadonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="现岗位及职务" prop="postJob">
<el-input v-model="form.postJob" placeholder="请输入现岗位及职务" :disabled="isReadonly"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="职务" prop="postTitle">
<el-select v-model="form.postTitle" placeholder="请选择职务" :disabled="isReadonly">
<el-option
v-for="dict in postTitleOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="职级" prop="postLevel">
<el-select v-model="form.postLevel" placeholder="请选择职级" :disabled="isReadonly">
<el-option
v-for="dict in postLevelOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="任同等职务时间" prop="postTime">
<el-date-picker clearable size="small"
v-model="form.postTime"
:readonly="isReadonly"
value-format="yyyy-MM-dd"
placeholder="选择任同等职务时间">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="参加工作时间" prop="workDate">
<el-date-picker clearable size="small"
v-model="form.workDate"
:readonly="isReadonly"
type="month"
value-format="yyyy-MM-dd"
placeholder="选择参加工作时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="入司时间" prop="hiredate">
<el-date-picker clearable size="small"
v-model="form.hiredate"
:readonly="isReadonly"
type="month"
value-format="yyyy-MM-dd"
placeholder="选择入司时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="员工类型" prop="employeType">
<el-select v-model="form.employeType" placeholder="请选择员工类型" :disabled="isReadonly">
<el-option
v-for="dict in employeTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="员工岗位" prop="postCode">
<el-select v-model="form.postCode" placeholder="请选择员工岗位" :disabled="isReadonly">
<el-option
v-for="dict in postCodeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6" v-if="0">
<el-form-item label="是否一孩">
<el-radio-group v-model="form.onlyChild">
<el-radio
v-for="dict in onlyChildOptions"
:key="dict.dictValue"
:label="dict.dictValue"
>{{dict.dictLabel}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="人事档案存放地" prop="personnelDossierLocation">
<el-input v-model="form.personnelDossierLocation" placeholder="请输入人事档案存放地" :disabled="isReadonly"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="人事档案">
<el-radio-group v-model="form.personnelDossier">
<el-radio
:disabled="isReadonly"
v-for="dict in personnelDossierOptions"
:key="dict.dictValue"
:label="dict.dictValue"
>{{dict.dictLabel}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="在职状态" >
<el-select v-model="form.status" placeholder="请选择在职状态" :disabled="isReadonly">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" :disabled="isReadonly"/>
</el-form-item>
</el-col>
</el-row>
<div v-if="form.approveType=='transferapply'">
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="原任部门" class="red-font">
{{ form.applyDeptName }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调任部门" class="red-font">
{{ form.deptName }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="调任日期" class="red-font">
{{ form.firedate }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调任原因" class="red-font">
{{ form.remark }}
</el-form-item>
</el-col>
</el-row>
</div>
<div v-if="form.approveType=='leaveapply'">
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="离职日期" class="red-font">
{{ form.firedate }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="离职原因" class="red-font">
{{ form.remark }}
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<view-verify
:open.sync="open"
:row="row"
:taskId="taskId"
:type="type"
:itemTitle="itemTitle"
:item1="item1"
:item2="item2"
:reapply="!isReadonly"
/>
</el-dialog>
</div>
</template>
<script>
import ViewVerify from "@/components/Activiti/ViewVerify/index";
export default {
name: "EmployeeForm",
components: {
ViewVerify,
},
props: {
row: {
type: Object,
},
taskId: {
type: String,
},
taskName: {
type: String,
},
type: {
type: String,
default: 'none',
},
},
data() {
return {
title: '审核',
itemTitle:'审批意见',
item1:"",
item2:"",
form: this.row,
open: false,
// 部门树选项
deptOptions: [],
// 请假类型字典
typeOptions: [],
// 性别字典
sexOptions: [],
// 年龄段字典
agePeriodOptions: [],
// 是否一孩字典
onlyChildOptions: [],
// 民族字典
folkOptions: [],
// 政治面貌字典
politicalStatusOptions: [],
// 学历学位字典
educationOptions: [],
// 技术职称字典
professionalTitleOptions: [],
// 岗位字典
postCodeOptions: [],
// 职务字典
postTitleOptions: [],
// 职级字典
postLevelOptions: [],
// 人事档案是否在集团字典
personnelDossierOptions: [],
// 员工类型字典
employeTypeOptions: [],
// 状态字典
statusOptions: [],
mTaskName:"重新申请",
isReadonly:true,
// 表单校验
rules: {
name: [
{ required: true, message: "员工姓名不能为空!", trigger: "blur" }
],
phone: [
{ max: 11, message: '请输入11位手机号!', trigger: 'blur'},
{ validator: this.checkPhone, trigger: "blur"}
],
idcardNo: [
{ required: true, message: "员工身份证号不能为空!", trigger: "blur" },
{ validator: this.checkCard, trigger: "blur"}
],
sex: [
{ required: true, message: "请选择员工性别!", trigger: "blur" }
],
birthDay: [
{ required: true, message: "出生日期不能为空!", trigger: "blur" }
],
folk: [
{ required: true, message: "请选择民族!", trigger: "blur" }
],
politicalStatus: [
{ required: true, message: "请选择政治面貌!", trigger: "blur" }
],
nativePlace: [
{ required: true, message: "籍贯不能为空!", trigger: "blur" }
],
topEducation: [
{ required: true, message: "请选择学历学位!", trigger: "blur" }
],
postCode: [
{ required: true, message: "请选择岗位!", trigger: "blur" }
],
postTitle: [
{ required: true, message: "请选择职务!", trigger: "blur" }
],
postLevel: [
// { required: true, message: "请选择职级别!", trigger: "blur" }
],
workDate: [
//{ required: true, message: "参加工作时间不能为空!", trigger: "blur" }
],
hiredate: [
//{ required: true, message: "入司时间不能为空!", trigger: "blur" }
],
employeType: [
{ required: true, message: "请选择员工类型!", trigger: "blur" }
],
},
rulesLeave: {
// firedate: [
// { required: true, message: "离职日期不能为空!", trigger: "blur" }
// ],
// remark: [
// { required: true, message: "离职原因不能为空!", trigger: "blur" },
// { max: 20, message: '离职原因不能超过20个字符', trigger: 'blur'}
// ]
},
}
},
created() {
// this.isReadonly=this.mTaskName!=this.taskName;
console.log("type",this.type);
this.isReadonly=!(this.type=='todo'&&this.row.approveType=='addapply');
if(this.mTaskName==this.taskName){
this.itemTitle="重新申请";
this.item1="";
this.item2="";
}else{
this.item1="同意";
this.item2="退回";
}
this.getDicts("sys_dept_business_type").then(response => {
this.typeOptions = response.data;
});
this.getDicts("sys_user_sex").then(response => {
this.sexOptions = response.data;
});
this.getDicts("employe_age_period").then(response => {
this.agePeriodOptions = response.data;
});
this.getDicts("sys_yes_no").then(response => {
this.onlyChildOptions = response.data;
});
this.getDicts("sys_folk").then(response => {
this.folkOptions = response.data;
});
this.getDicts("sys_political_status").then(response => {
this.politicalStatusOptions = response.data;
});
this.getDicts("sys_education").then(response => {
this.educationOptions = response.data;
});
this.getDicts("sys_professional_title").then(response => {
this.professionalTitleOptions = response.data;
});
this.getDicts("sys_employe_post").then(response => {
this.postCodeOptions = response.data;
});
this.getDicts("sys_post").then(response => {
if(this.$store.state.user.deptType == 20){
response.data.forEach(item =>{
if(item.dictValue.startsWith("2")){
this.postTitleOptions.push(item)
}
});
}else{
this.postTitleOptions = response.data;
}
});
this.getDicts("sys_post_level").then(response => {
this.postLevelOptions = response.data;
});
this.getDicts("sys_employe_dossier").then(response => {
this.personnelDossierOptions = response.data;
});
this.getDicts("sys_employe_type").then(response => {
this.employeTypeOptions = response.data;
});
this.getDicts("sys_employe_status").then(response => {
this.statusOptions = response.data;
});
},
methods: {
updateForm(){
updateEmployee(this.form).then(response => {
});
}
}
}
</script>
<style scoped>
.el-date-editor {
width:195px;
}
.red-font{
color:orangered;
}
</style>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="姓名" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入姓名"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="手机号" prop="phone">
<el-input
v-model="queryParams.phone"
placeholder="请输入手机号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="身份证号" prop="idcardNo">
<el-input
v-model="queryParams.idcardNo"
placeholder="请输入身份证号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="员工类型" prop="employeType">
<el-select v-model="queryParams.employeType" placeholder="请选择员工类型" clearable size="small">
<el-option
v-for="dict in employeTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item>
<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-form-item>
</el-form>
<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="['bizapprove:employee: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="['bizapprove:employee:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['bizapprove:employee:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['bizapprove:employee:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="employeeList" @selection-change="handleSelectionChange">
<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="applyUserId" />-->
<!-- <el-table-column label="申请人code" align="center" prop="applyUserName" />-->
<!-- <el-table-column label="申请人昵称" align="center" prop="applyUserNickName" />-->
<!-- <el-table-column label="申请人部门ID" align="center" prop="applyDeptId" />-->
<!-- <el-table-column label="申请人部门名称" align="center" prop="applyDeptName" />-->
<!-- <el-table-column label="申请时间" align="center" prop="applyTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.applyTime, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="结束时间" align="center" prop="finishTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.finishTime, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="流程实例ID" align="center" prop="instanceId" />-->
<!-- <el-table-column label="流程定义key" align="center" prop="processKey" />-->
<!-- <el-table-column label="员工ID" align="center" prop="employeId" />-->
<el-table-column label="唯一码" align="center" prop="uniqueCode" />
<!-- <el-table-column label="单位ID" align="center" prop="deptId" />-->
<el-table-column label="姓名" align="center" prop="name" />
<el-table-column label="手机号" align="center" prop="phone" />
<el-table-column label="身份证号" align="center" prop="idcardNo" />
<el-table-column label="性别" align="center" prop="sex" :formatter="sexFormat" />
<el-table-column label="出生日期" align="center" prop="birthDay" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.birthDay, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="是否独生子女" align="center" prop="onlyChild" :formatter="onlyChildFormat" />
<el-table-column label="民族" align="center" prop="folk" :formatter="folkFormat" />
<el-table-column label="政治面貌" align="center" prop="politicalStatus" :formatter="politicalStatusFormat" />
<el-table-column label="籍贯" align="center" prop="nativePlace" />
<el-table-column label="第一学历" align="center" prop="firstEducation" :formatter="firstEducationFormat" />
<el-table-column label="第一学校" align="center" prop="firstEducationSchool" />
<el-table-column label="第一专业" align="center" prop="firstEducationProfession" />
<el-table-column label="最高学历学位" align="center" prop="topEducation" :formatter="topEducationFormat" />
<el-table-column label="最高毕业学校" align="center" prop="topEducationSchool" />
<el-table-column label="最高专业" align="center" prop="topEducationProfession" />
<el-table-column label="技术职称" align="center" prop="professionalTitle" :formatter="professionalTitleFormat" />
<el-table-column label="职务" align="center" prop="postJob" :formatter="postJobFormat" />
<el-table-column label="岗位代码" align="center" prop="postCode" :formatter="postCodeFormat" />
<el-table-column label="职务" align="center" prop="postTitle" :formatter="postTitleFormat" />
<el-table-column label="职级" align="center" prop="postLevel" :formatter="postLevelFormat" />
<el-table-column label="任同等职务时间" align="center" prop="postTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.postTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="参加工作时间" align="center" prop="workDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.workDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="入职时间" align="center" prop="hiredate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.hiredate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="解雇日期" align="center" prop="firedate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.firedate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="员工类型" align="center" prop="employeType" :formatter="employeTypeFormat" />
<el-table-column label="人事档案是否在集团" align="center" prop="personnelDossier" :formatter="personnelDossierFormat" />
<el-table-column label="人事档案存放地" align="center" prop="personnelDossierLocation" />
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
<el-table-column label="审批状态" align="center" prop="approveStatus" :formatter="approveStatusFormat" />
<el-table-column label="审批类型" align="center" prop="approveType" :formatter="approveTypeFormat" />
<el-table-column label="审批意见" align="center" prop="approveContent" />
<el-table-column label="审批人" align="center" prop="approveBy" />
<el-table-column label="审批时间" align="center" prop="approveTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.approveTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="0:正常,1:已删除" align="center" prop="deleteStatus" />
<el-table-column label="删除时间" align="center" prop="deleteTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.deleteTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="删除人" align="center" prop="deleteBy" />
<el-table-column label="创建日期" align="center" prop="createDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="更新日期" align="center" prop="updateDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['bizapprove:employee:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['bizapprove:employee:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@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="applyUserId">
<el-input v-model="form.applyUserId" placeholder="请输入申请人ID" />
</el-form-item>
<el-form-item label="申请人code" prop="applyUserName">
<el-input v-model="form.applyUserName" placeholder="请输入申请人code" />
</el-form-item>
<el-form-item label="申请人昵称" prop="applyUserNickName">
<el-input v-model="form.applyUserNickName" placeholder="请输入申请人昵称" />
</el-form-item>
<el-form-item label="申请人部门ID" prop="applyDeptId">
<el-input v-model="form.applyDeptId" placeholder="请输入申请人部门ID" />
</el-form-item>
<el-form-item label="申请人部门名称" prop="applyDeptName">
<el-input v-model="form.applyDeptName" placeholder="请输入申请人部门名称" />
</el-form-item>
<el-form-item label="申请时间" prop="applyTime">
<el-date-picker clearable size="small"
v-model="form.applyTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择申请时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="finishTime">
<el-date-picker clearable size="small"
v-model="form.finishTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="流程实例ID" prop="instanceId">
<el-input v-model="form.instanceId" placeholder="请输入流程实例ID" />
</el-form-item>
<el-form-item label="流程定义key" prop="processKey">
<el-input v-model="form.processKey" placeholder="请输入流程定义key" />
</el-form-item>
<el-form-item label="员工ID" prop="employeId">
<el-input v-model="form.employeId" placeholder="请输入员工ID" />
</el-form-item>
<el-form-item label="唯一码" prop="uniqueCode">
<el-input v-model="form.uniqueCode" 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="name">
<el-input v-model="form.name" placeholder="请输入姓名" />
</el-form-item>
<el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" placeholder="请输入手机号" />
</el-form-item>
<el-form-item label="身份证号" prop="idcardNo">
<el-input v-model="form.idcardNo" placeholder="请输入身份证号" />
</el-form-item>
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择性别">
<el-option
v-for="dict in sexOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="出生日期" prop="birthDay">
<el-date-picker clearable size="small"
v-model="form.birthDay"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择出生日期">
</el-date-picker>
</el-form-item>
<el-form-item label="是否独生子女" prop="onlyChild">
<el-input v-model="form.onlyChild" placeholder="请输入是否独生子女" />
</el-form-item>
<el-form-item label="民族" prop="folk">
<el-input v-model="form.folk" placeholder="请输入民族" />
</el-form-item>
<el-form-item label="政治面貌">
<el-radio-group v-model="form.politicalStatus">
<el-radio
v-for="dict in politicalStatusOptions"
:key="dict.dictValue"
:label="dict.dictValue"
>{{dict.dictLabel}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="籍贯" prop="nativePlace">
<el-input v-model="form.nativePlace" placeholder="请输入籍贯" />
</el-form-item>
<el-form-item label="第一学历" prop="firstEducation">
<el-input v-model="form.firstEducation" placeholder="请输入第一学历" />
</el-form-item>
<el-form-item label="第一学校" prop="firstEducationSchool">
<el-input v-model="form.firstEducationSchool" placeholder="请输入第一学校" />
</el-form-item>
<el-form-item label="第一专业" prop="firstEducationProfession">
<el-input v-model="form.firstEducationProfession" placeholder="请输入第一专业" />
</el-form-item>
<el-form-item label="最高学历学位" prop="topEducation">
<el-input v-model="form.topEducation" placeholder="请输入最高学历学位" />
</el-form-item>
<el-form-item label="最高毕业学校" prop="topEducationSchool">
<el-input v-model="form.topEducationSchool" placeholder="请输入最高毕业学校" />
</el-form-item>
<el-form-item label="最高专业" prop="topEducationProfession">
<el-input v-model="form.topEducationProfession" placeholder="请输入最高专业" />
</el-form-item>
<el-form-item label="技术职称" prop="professionalTitle">
<el-input v-model="form.professionalTitle" placeholder="请输入技术职称" />
</el-form-item>
<el-form-item label="职务" prop="postJob">
<el-input v-model="form.postJob" placeholder="请输入职务" />
</el-form-item>
<el-form-item label="岗位代码" prop="postCode">
<el-input v-model="form.postCode" placeholder="请输入岗位代码" />
</el-form-item>
<el-form-item label="职务" prop="postTitle">
<el-input v-model="form.postTitle" placeholder="请输入职务" />
</el-form-item>
<el-form-item label="职级" prop="postLevel">
<el-input v-model="form.postLevel" placeholder="请输入职级" />
</el-form-item>
<el-form-item label="任同等职务时间" prop="postTime">
<el-date-picker clearable size="small"
v-model="form.postTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择任同等职务时间">
</el-date-picker>
</el-form-item>
<el-form-item label="参加工作时间" prop="workDate">
<el-date-picker clearable size="small"
v-model="form.workDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择参加工作时间">
</el-date-picker>
</el-form-item>
<el-form-item label="入职时间" prop="hiredate">
<el-date-picker clearable size="small"
v-model="form.hiredate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择入职时间">
</el-date-picker>
</el-form-item>
<el-form-item label="解雇日期" prop="firedate">
<el-date-picker clearable size="small"
v-model="form.firedate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择解雇日期">
</el-date-picker>
</el-form-item>
<el-form-item label="员工类型" prop="employeType">
<el-select v-model="form.employeType" placeholder="请选择员工类型">
<el-option
v-for="dict in employeTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="人事档案是否在集团" prop="personnelDossier">
<el-input v-model="form.personnelDossier" placeholder="请输入人事档案是否在集团" />
</el-form-item>
<el-form-item label="人事档案存放地" prop="personnelDossierLocation">
<el-input v-model="form.personnelDossierLocation" placeholder="请输入人事档案存放地" />
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictValue"
>{{dict.dictLabel}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="审批状态">
<el-radio-group v-model="form.approveStatus">
<el-radio
v-for="dict in approveStatusOptions"
:key="dict.dictValue"
:label="dict.dictValue"
>{{dict.dictLabel}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="审批类型" prop="approveType">
<el-select v-model="form.approveType" placeholder="请选择审批类型">
<el-option
v-for="dict in approveTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="审批意见">
<editor v-model="form.approveContent" :min-height="192"/>
</el-form-item>
<el-form-item label="审批人" prop="approveBy">
<el-input v-model="form.approveBy" placeholder="请输入审批人" />
</el-form-item>
<el-form-item label="审批时间" prop="approveTime">
<el-date-picker clearable size="small"
v-model="form.approveTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择审批时间">
</el-date-picker>
</el-form-item>
<el-form-item label="0:正常,1:已删除">
<el-radio-group v-model="form.deleteStatus">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="删除时间" prop="deleteTime">
<el-date-picker clearable size="small"
v-model="form.deleteTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择删除时间">
</el-date-picker>
</el-form-item>
<el-form-item label="删除人" prop="deleteBy">
<el-input v-model="form.deleteBy" placeholder="请输入删除人" />
</el-form-item>
<el-form-item label="创建日期" prop="createDate">
<el-date-picker clearable size="small"
v-model="form.createDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择创建日期">
</el-date-picker>
</el-form-item>
<el-form-item label="更新日期" prop="updateDate">
<el-date-picker clearable size="small"
v-model="form.updateDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择更新日期">
</el-date-picker>
</el-form-item>
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" 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>
</template>
<script>
import { listEmployee, getEmployee, delEmployee, addEmployee, updateEmployee, exportEmployee } from "@/api/bizapprove/employee";
import Editor from '@/components/Editor';
export default {
name: "Employee",
components: {
Editor,
},
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 员工花名册审批业务表格数据
employeeList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 性别字典
sexOptions: [],
// 是否独生子女字典
onlyChildOptions: [],
// 民族字典
folkOptions: [],
// 政治面貌字典
politicalStatusOptions: [],
// 第一学历字典
firstEducationOptions: [],
// 最高学历学位字典
topEducationOptions: [],
// 技术职称字典
professionalTitleOptions: [],
// 职务字典
postJobOptions: [],
// 岗位代码字典
postCodeOptions: [],
// 职务字典
postTitleOptions: [],
// 职级字典
postLevelOptions: [],
// 员工类型字典
employeTypeOptions: [],
// 人事档案是否在集团字典
personnelDossierOptions: [],
// 状态字典
statusOptions: [],
// 审批状态字典
approveStatusOptions: [],
// 审批类型字典
approveTypeOptions: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
applyUserId: null,
applyUserName: null,
applyUserNickName: null,
applyDeptId: null,
applyDeptName: null,
applyTime: null,
finishTime: null,
instanceId: null,
processKey: null,
employeId: null,
uniqueCode: null,
deptId: null,
name: null,
phone: null,
idcardNo: null,
sex: null,
birthDay: null,
onlyChild: null,
folk: null,
politicalStatus: null,
nativePlace: null,
firstEducation: null,
firstEducationSchool: null,
firstEducationProfession: null,
topEducation: null,
topEducationSchool: null,
topEducationProfession: null,
professionalTitle: null,
postJob: null,
postCode: null,
postTitle: null,
postLevel: null,
postTime: null,
workDate: null,
hiredate: null,
firedate: null,
employeType: null,
personnelDossier: null,
personnelDossierLocation: null,
status: null,
approveStatus: null,
approveType: null,
approveContent: null,
approveBy: null,
approveTime: null,
deleteStatus: null,
deleteTime: null,
deleteBy: null,
createDate: null,
updateDate: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
}
};
},
created() {
this.getList();
this.getDicts("sys_user_sex").then(response => {
this.sexOptions = response.data;
});
this.getDicts("sys_yes_no").then(response => {
this.onlyChildOptions = response.data;
});
this.getDicts("sys_folk").then(response => {
this.folkOptions = response.data;
});
this.getDicts("sys_political_status").then(response => {
this.politicalStatusOptions = response.data;
});
this.getDicts("sys_education").then(response => {
this.firstEducationOptions = response.data;
});
this.getDicts("sys_education").then(response => {
this.topEducationOptions = response.data;
});
this.getDicts("sys_professional_title").then(response => {
this.professionalTitleOptions = response.data;
});
this.getDicts("sys_post").then(response => {
this.postJobOptions = response.data;
});
this.getDicts("sys_employe_post").then(response => {
this.postCodeOptions = response.data;
});
this.getDicts("sys_post").then(response => {
this.postTitleOptions = response.data;
});
this.getDicts("sys_post_level").then(response => {
this.postLevelOptions = response.data;
});
this.getDicts("sys_employe_type").then(response => {
this.employeTypeOptions = response.data;
});
this.getDicts("sys_employe_dossier").then(response => {
this.personnelDossierOptions = response.data;
});
this.getDicts("sys_employe_status").then(response => {
this.statusOptions = response.data;
});
this.getDicts("employe_approve_status").then(response => {
this.approveStatusOptions = response.data;
});
this.getDicts("employe_approve_type").then(response => {
this.approveTypeOptions = response.data;
});
},
methods: {
/** 查询员工花名册审批业务列表 */
getList() {
this.loading = true;
listEmployee(this.queryParams).then(response => {
this.employeeList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 性别字典翻译
sexFormat(row, column) {
return this.selectDictLabel(this.sexOptions, row.sex);
},
// 是否独生子女字典翻译
onlyChildFormat(row, column) {
return this.selectDictLabel(this.onlyChildOptions, row.onlyChild);
},
// 民族字典翻译
folkFormat(row, column) {
return this.selectDictLabel(this.folkOptions, row.folk);
},
// 政治面貌字典翻译
politicalStatusFormat(row, column) {
return this.selectDictLabel(this.politicalStatusOptions, row.politicalStatus);
},
// 第一学历字典翻译
firstEducationFormat(row, column) {
return this.selectDictLabel(this.firstEducationOptions, row.firstEducation);
},
// 最高学历学位字典翻译
topEducationFormat(row, column) {
return this.selectDictLabel(this.topEducationOptions, row.topEducation);
},
// 技术职称字典翻译
professionalTitleFormat(row, column) {
return this.selectDictLabel(this.professionalTitleOptions, row.professionalTitle);
},
// 职务字典翻译
postJobFormat(row, column) {
return this.selectDictLabel(this.postJobOptions, row.postJob);
},
// 岗位代码字典翻译
postCodeFormat(row, column) {
return this.selectDictLabel(this.postCodeOptions, row.postCode);
},
// 职务字典翻译
postTitleFormat(row, column) {
return this.selectDictLabel(this.postTitleOptions, row.postTitle);
},
// 职级字典翻译
postLevelFormat(row, column) {
return this.selectDictLabel(this.postLevelOptions, row.postLevel);
},
// 员工类型字典翻译
employeTypeFormat(row, column) {
return this.selectDictLabel(this.employeTypeOptions, row.employeType);
},
// 人事档案是否在集团字典翻译
personnelDossierFormat(row, column) {
return this.selectDictLabel(this.personnelDossierOptions, row.personnelDossier);
},
// 状态字典翻译
statusFormat(row, column) {
return this.selectDictLabel(this.statusOptions, row.status);
},
// 审批状态字典翻译
approveStatusFormat(row, column) {
return this.selectDictLabel(this.approveStatusOptions, row.approveStatus);
},
// 审批类型字典翻译
approveTypeFormat(row, column) {
return this.selectDictLabel(this.approveTypeOptions, row.approveType);
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
applyUserId: null,
applyUserName: null,
applyUserNickName: null,
applyDeptId: null,
applyDeptName: null,
applyTime: null,
finishTime: null,
instanceId: null,
processKey: null,
employeId: null,
uniqueCode: null,
deptId: null,
name: null,
phone: null,
idcardNo: null,
sex: null,
birthDay: null,
onlyChild: null,
folk: null,
politicalStatus: "0",
nativePlace: null,
firstEducation: null,
firstEducationSchool: null,
firstEducationProfession: null,
topEducation: null,
topEducationSchool: null,
topEducationProfession: null,
professionalTitle: null,
postJob: null,
postCode: null,
postTitle: null,
postLevel: null,
postTime: null,
workDate: null,
hiredate: null,
firedate: null,
employeType: null,
personnelDossier: null,
personnelDossierLocation: null,
status: "0",
approveStatus: "0",
approveType: null,
approveContent: null,
approveBy: null,
approveTime: null,
deleteStatus: "0",
deleteTime: null,
deleteBy: null,
createBy: null,
createDate: null,
createTime: null,
updateBy: null,
updateDate: null,
updateTime: null,
delFlag: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加员工花名册审批业务";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getEmployee(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改员工花名册审批业务";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEmployee(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addEmployee(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm('是否确认删除员工花名册审批业务编号为"' + ids + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delEmployee(ids);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有员工花名册审批业务数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return exportEmployee(queryParams);
}).then(response => {
this.download(response.msg);
})
}
}
};
</script>
<template>
<div>
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="板块类型" prop="type">
<el-select v-model="form.busiType" :disabled="taskName!=='调整申请'">
<el-option
v-for="dict in typeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="企业名称" prop="title">
<el-input v-model="form.applyDeptName" :readonly="taskName!=='调整申请'" />
</el-form-item>
</el-form>
<view-verify
:open.sync="open"
:row="row"
:taskId="taskId"
:type="type"
/>
</el-dialog>
</div>
</template>
<script>
import ViewVerify from "@/components/Activiti/ViewVerify/index";
export default {
name: "CreditForm",
components: {
ViewVerify,
},
props: {
row: {
type: Object,
},
taskId: {
type: String,
},
taskName: {
type: String,
},
type: {
type: String,
default: 'none',
},
},
data() {
return {
title: '查看表单',
form: this.row,
open: false,
// 请假类型字典
typeOptions: [],
// 表单校验
rules: {
busiType: [
{ required: true, message: "板块类型不能为空", trigger: "blur" },
],
applyDeptName: [
{ required: true, message: "企业名称不能为空", trigger: "blur" },
],
},
}
},
created() {
this.getDicts("sys_dept_business_type").then(response => {
this.typeOptions = response.data;
});
},
}
</script>
<style scoped>
</style>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="申请人ID" prop="applyUserId">-->
<!-- <el-input-->
<!-- v-model="queryParams.applyUserId"-->
<!-- placeholder="请输入申请人ID"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="申请人code" prop="applyUserName">-->
<!-- <el-input-->
<!-- v-model="queryParams.applyUserName"-->
<!-- placeholder="请输入申请人code"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="申请人昵称" prop="applyUserNickName">-->
<!-- <el-input-->
<!-- v-model="queryParams.applyUserNickName"-->
<!-- placeholder="请输入申请人昵称"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="申请人部门ID" prop="applyDeptId">-->
<!-- <el-input-->
<!-- v-model="queryParams.applyDeptId"-->
<!-- placeholder="请输入申请人部门ID"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="申请人部门名称" prop="applyDeptName">-->
<!-- <el-input-->
<!-- v-model="queryParams.applyDeptName"-->
<!-- placeholder="请输入申请人部门名称"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="板块类型" prop="busiType">-->
<!-- <el-select v-model="queryParams.busiType" placeholder="请选择板块类型" clearable size="small">-->
<!-- <el-option-->
<!-- v-for="dict in busiTypeOptions"-->
<!-- :key="dict.dictValue"-->
<!-- :label="dict.dictLabel"-->
<!-- :value="dict.dictValue"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="报送ID" prop="reportId">-->
<!-- <el-input-->
<!-- v-model="queryParams.reportId"-->
<!-- placeholder="请输入报送ID"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="考核年月" prop="reportCode">
<!-- <el-input-->
<!-- v-model="queryParams.reportCode"-->
<!-- placeholder="请输入报送年月"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<el-date-picker clearable size="small"
v-model="queryParams.reportCode"
type="month"
value-format="yyyyMM"
placeholder="选择考核年月">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="报送类型" prop="reportType">-->
<!-- <el-select v-model="queryParams.reportType" placeholder="请选择报送类型" clearable size="small">-->
<!-- <el-option-->
<!-- v-for="dict in reportTypeOptions"-->
<!-- :key="dict.dictValue"-->
<!-- :label="dict.dictLabel"-->
<!-- :value="dict.dictValue"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="审核状态" prop="reportStatus">
<el-select v-model="queryParams.reportStatus" placeholder="请选择审核状态" clearable size="small">
<el-option
v-for="dict in reportStatusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="申请时间" prop="applyTime">
<el-date-picker clearable size="small"
v-model="queryParams.applyTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择申请时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="finishTime">
<el-date-picker clearable size="small"
v-model="queryParams.finishTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择结束时间">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="流程实例ID" prop="instanceId">-->
<!-- <el-input-->
<!-- v-model="queryParams.instanceId"-->
<!-- placeholder="请输入流程实例ID"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="流程定义key" prop="processKey">-->
<!-- <el-input-->
<!-- v-model="queryParams.processKey"-->
<!-- placeholder="请输入流程定义key"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item>
<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-form-item>
</el-form>
<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="['creditapproval:creditapproval: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="['creditapproval:creditapproval:edit']"-->
<!-- >修改</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['creditapproval:creditapproval:remove']"-->
<!-- >删除</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="warning"-->
<!-- plain-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['creditapproval:creditapproval:export']"-->
<!-- >导出</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="creditapprovalList" @selection-change="handleSelectionChange">
<!-- <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="applyUserId" />-->
<!-- <el-table-column label="申请人昵称" align="center" prop="applyUserNickName" />-->
<!-- <el-table-column label="申请人部门ID" align="center" prop="applyDeptId" />-->
<!-- <el-table-column label="申请人部门名称" align="center" prop="applyDeptName" />-->
<!-- <el-table-column label="板块类型" align="center" prop="busiType" :formatter="busiTypeFormat" />-->
<!-- <el-table-column label="报送ID" align="center" prop="reportId" />-->
<el-table-column label="考核年月" align="center" prop="reportCode" />
<el-table-column label="报送类别" align="center" prop="reportType" :formatter="reportTypeFormat" />
<el-table-column label="审核状态" align="center" prop="reportStatus" :formatter="reportStatusFormat" />
<el-table-column label="申请人" align="center" prop="applyUserName" />
<el-table-column label="申请时间" align="center" prop="applyTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.applyTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="结束时间" align="center" prop="finishTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.finishTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="流程实例ID" align="center" prop="instanceId" />-->
<!-- <el-table-column label="流程定义key" align="center" prop="processKey" />-->
<!-- <el-table-column label="备注" align="center" prop="remark" />-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-upload2"
@click="handleToCredit(scope.row)"
v-hasPermi="['system:credit:list']"
>导入考核表</el-button>
<el-button
v-show="!scope.row.instanceId"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-search"
@click="handleToCreditInfo(scope.row)"
v-hasPermi="['system:credit:list']"
>查看</el-button>
</template>
</el-table-column>
<!-- <el-table-column label="考核情况" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- -->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <apply-before-->
<!-- v-show="!scope.row.instanceId"-->
<!-- :row="scope.row"-->
<!-- :handleUpdate="handleUpdate"-->
<!-- :handleDelete="handleDelete"-->
<!-- :requestMapping="requestMapping"-->
<!-- @getList="getList"-->
<!-- ></apply-before>-->
<!-- <apply-after-->
<!-- v-show="scope.row.instanceId"-->
<!-- :row="scope.row"-->
<!-- :taskId="scope.row.taskId"-->
<!-- :type="scope.row.type"-->
<!-- @getList="getList"-->
<!-- ></apply-after>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@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="applyUserId">-->
<!-- <el-input v-model="form.applyUserId" placeholder="请输入申请人ID" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="申请人code" prop="applyUserName">-->
<!-- <el-input v-model="form.applyUserName" placeholder="请输入申请人code" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="申请人昵称" prop="applyUserNickName">-->
<!-- <el-input v-model="form.applyUserNickName" placeholder="请输入申请人昵称" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="申请人部门ID" prop="applyDeptId">-->
<!-- <el-input v-model="form.applyDeptId" placeholder="请输入申请人部门ID" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="申请人部门名称" prop="applyDeptName">-->
<!-- <el-input v-model="form.applyDeptName" placeholder="请输入申请人部门名称" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="板块类型" prop="busiType">-->
<!-- <el-select v-model="form.busiType" placeholder="请选择板块类型">-->
<!-- <el-option-->
<!-- v-for="dict in busiTypeOptions"-->
<!-- :key="dict.dictValue"-->
<!-- :label="dict.dictLabel"-->
<!-- :value="dict.dictValue"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="报送ID" prop="reportId">-->
<!-- <el-input v-model="form.reportId" placeholder="请输入报送ID" />-->
<!-- </el-form-item>-->
<el-form-item label="报送年月" prop="reportCode">
<el-date-picker clearable size="small"
v-model="form.reportCode"
type="month"
value-format="yyyyMM"
placeholder="选择报送年月">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="报送类型">-->
<!-- <el-radio-group v-model="form.reportType">-->
<!-- <el-radio-->
<!-- v-for="dict in reportTypeOptions"-->
<!-- :key="dict.dictValue"-->
<!-- :label="dict.dictValue"-->
<!-- >{{dict.dictLabel}}</el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="报送状态">-->
<!-- <el-radio-group v-model="form.reportStatus">-->
<!-- <el-radio-->
<!-- v-for="dict in reportStatusOptions"-->
<!-- :key="dict.dictValue"-->
<!-- :label="dict.dictValue"-->
<!-- >{{dict.dictLabel}}</el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="申请时间" prop="applyTime">-->
<!-- <el-date-picker clearable size="small"-->
<!-- v-model="form.applyTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="选择申请时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="结束时间" prop="finishTime">-->
<!-- <el-date-picker clearable size="small"-->
<!-- v-model="form.finishTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="选择结束时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="流程实例ID" prop="instanceId">-->
<!-- <el-input v-model="form.instanceId" placeholder="请输入流程实例ID" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="流程定义key" prop="processKey">-->
<!-- <el-input v-model="form.processKey" placeholder="请输入流程定义key" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="删除标志" prop="delFlag">-->
<!-- <el-input v-model="form.delFlag" placeholder="请输入删除标志" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备注" prop="remark">-->
<!-- <el-input v-model="form.remark" type="textarea" 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>
</template>
<script>
import { listCreditapproval, getCreditapproval, delCreditapproval, addCreditapproval, updateCreditapproval, exportCreditapproval } from "@/api/creditapproval/creditapproval";
import ApplyBefore from "@/components/Activiti/ApplyBefore/index";
import ApplyAfter from "@/components/Activiti/ApplyAfter/index";
export default {
name: "Creditapproval",
components: {
ApplyBefore,
ApplyAfter,
},
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 考核评分审批表格数据
creditapprovalList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 板块类型字典
busiTypeOptions: [],
// 报送状态字典
reportStatusOptions: [],
// 审批类型字典
reportTypeOptions: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
applyUserId: null,
applyUserName: null,
applyUserNickName: null,
applyDeptId: null,
applyDeptName: null,
busiType: null,
reportId: null,
reportType: null,
reportCode: null,
reportStatus: null,
applyTime: null,
finishTime: null,
instanceId: null,
processKey: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
},
requestMapping: '/creditapproval/creditapproval',
};
},
created() {
this.getList();
this.getDicts("sys_dept_business_type").then(response => {
this.busiTypeOptions = response.data;
});
this.getDicts("credit_approve_type").then(response => {
this.reportTypeOptions = response.data;
});
this.getDicts("sys_salary_credit_status").then(response => {
this.reportStatusOptions = response.data;
});
},
methods: {
/** 查询考核评分审批列表 */
getList() {
this.loading = true;
listCreditapproval(this.queryParams).then(response => {
this.creditapprovalList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 板块类型字典翻译
busiTypeFormat(row, column) {
return this.selectDictLabel(this.busiTypeOptions, row.busiType);
},
// 报送类型字典翻译
reportTypeFormat(row, column) {
return this.selectDictLabel(this.reportTypeOptions, row.reportType);
},
// 报送状态字典翻译
reportStatusFormat(row, column) {
return this.selectDictLabel(this.reportStatusOptions, row.reportStatus);
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
applyUserId: null,
applyUserName: null,
applyUserNickName: null,
applyDeptId: null,
applyDeptName: null,
busiType: null,
reportId: null,
reportType: null,
reportCode: null,
reportStatus: "0",
applyTime: null,
finishTime: null,
instanceId: null,
processKey: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加考核评分";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getCreditapproval(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改考核评分";
});
},
/** 修改按钮操作 */
handleToCredit(row){
console.log('333',row);
this.$router.push({path:"/credit/setting/"+row.reportCode,query:{reportId:row.reportId,taskId:row.taskId,taskName:row.taskName,type:"todo",instanceId:row.instanceId}});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateCreditapproval(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addCreditapproval(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm('是否确认删除考核评分审批编号为"' + ids + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delCreditapproval(ids);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有考核评分审批数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return exportCreditapproval(queryParams);
}).then(response => {
this.download(response.msg);
})
},
/** 查看考核评分 */
handleToCreditInfo(row){
console.log('232323',row);
this.$router.push("/credit/info/"+row.reportCode);
},
}
};
</script>
......@@ -31,23 +31,18 @@
<el-input v-model="form.remark" type="textarea" :readonly="taskName!=='调整申请'" />
</el-form-item>
</el-form>
<view-verify
:open.sync="open"
:row="row"
:taskId="taskId"
:type="type"
/>
</el-dialog>
</div>
</template>
<script>
import ViewVerify from "@/components/Activiti/ViewVerify/index";
export default {
name: "DemoForm",
components: {
ViewVerify,
},
props: {
row: {
......
......@@ -166,7 +166,6 @@
<script>
import { listDemo, getDemo, delDemo, addDemo, updateDemo, exportDemo } from "@/api/example/demo";
import ApplyBefore from "@/components/Activiti/ApplyBefore/index";
import ApplyAfter from "@/components/Activiti/ApplyAfter/index";
import { listUser } from "@/api/system/user";
import request from '@/utils/request'
......@@ -174,7 +173,7 @@ export default {
name: "Demo",
components: {
ApplyBefore,
ApplyAfter,
},
data() {
return {
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="请假类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择请假类型" clearable size="small">
<el-option
v-for="dict in typeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="标题" prop="title">
<el-input
v-model="queryParams.title"
placeholder="请输入标题"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="实例ID" prop="instanceId">
<el-input
v-model="queryParams.instanceId"
placeholder="请输入流程实例ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['leave:leave:add']"
>新增</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="leaveList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" width="40" />
<el-table-column label="请假类型" align="center" prop="type" :formatter="typeFormat" width="75" />
<el-table-column label="标题" align="center" prop="title" width="140" />
<el-table-column label="原因" align="center" prop="reason" width="120" />
<el-table-column label="开始时间" align="center" prop="leaveStartTime" width="120">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.leaveStartTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="结束时间" align="center" prop="leaveEndTime" width="120">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.leaveEndTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<!--<el-table-column label="请假时长" align="center" prop="totalTime" />-->
<el-table-column label="流程实例ID" align="center" prop="instanceId" />
<el-table-column label="申请人" align="center" prop="applyUserName" />
<el-table-column label="申请时间" align="center" prop="applyTime" width="120">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.applyTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="当前任务名称" align="center" prop="taskName" width="150" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<apply-before
v-show="!scope.row.instanceId"
:row="scope.row"
:handleUpdate="handleUpdate"
:handleDelete="handleDelete"
:requestMapping="requestMapping"
@getList="getList"
></apply-before>
<apply-after
v-show="scope.row.instanceId"
:row="scope.row"
:taskId="scope.row.taskId"
:type="scope.row.type"
@getList="getList"
></apply-after>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@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="请假类型" prop="type">
<el-select v-model="form.type" placeholder="请选择请假类型">
<el-option
v-for="dict in typeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" placeholder="请输入标题" />
</el-form-item>
<el-form-item label="原因" prop="reason">
<el-input v-model="form.reason" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="开始时间" prop="leaveStartTime">
<el-date-picker clearable size="small" style="width: 200px"
v-model="form.leaveStartTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="leaveEndTime">
<el-date-picker clearable size="small" style="width: 200px"
v-model="form.leaveEndTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择结束时间">
</el-date-picker>
</el-form-item>
<!--<el-form-item label="请假时长" prop="totalTime">
<el-input v-model="form.totalTime" readonly />
</el-form-item>-->
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" 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>
</template>
<script>
import { listLeave, getLeave, delLeave, addLeave, updateLeave, exportLeave } from "@/api/leave/leave";
import ApplyBefore from "@/components/Activiti/ApplyBefore/index";
import ApplyAfter from "@/components/Activiti/ApplyAfter/index";
export default {
name: "Leave",
components: {
ApplyBefore,
ApplyAfter,
},
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 请假表格数据
leaveList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 请假类型字典
typeOptions: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
type: null,
title: null,
leaveStartTime: null,
leaveEndTime: null,
applyUserId: null,
applyUserName: null,
applyTime: null,
instanceId: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
type: [
{ required: true, message: "请假类型不能为空", trigger: "blur" },
],
title: [
{ required: true, message: "标题不能为空", trigger: "blur" },
],
reason: [
{ required: true, message: "原因不能为空", trigger: "blur" },
],
leaveStartTime: [
{ required: true, message: "开始时间不能为空", trigger: "blur" },
],
leaveEndTime: [
{ required: true, message: "结束时间不能为空", trigger: "blur" },
],
},
requestMapping: '/leave/leave',
};
},
created() {
this.getList();
this.getDicts("biz_leave_type").then(response => {
this.typeOptions = response.data;
});
},
methods: {
/** 查询请假列表 */
getList() {
this.loading = true;
listLeave(this.queryParams).then(response => {
this.leaveList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 请假类型字典翻译
typeFormat(row, column) {
return this.selectDictLabel(this.typeOptions, row.type);
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
type: null,
title: null,
reason: null,
leaveStartTime: null,
leaveEndTime: null,
totalTime: null,
realityStartTime: null,
realityEndTime: null,
applyUserId: null,
applyUserName: null,
applyTime: null,
instanceId: null,
processKey: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加请假";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getLeave(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改请假";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateLeave(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addLeave(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm('是否确认删除请假编号为"' + ids + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delLeave(ids);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有请假数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return exportLeave(queryParams);
}).then(response => {
this.download(response.msg);
})
}
}
};
</script>
<template>
<div>
<!--查看和审批对话框-->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="请假类型" prop="type">
<el-select v-model="form.type" :disabled="taskName!=='调整申请'">
<el-option
v-for="dict in typeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" :readonly="taskName!=='调整申请'" />
</el-form-item>
<el-form-item label="原因" prop="reason">
<el-input v-model="form.reason" type="textarea" :readonly="taskName!=='调整申请'" />
</el-form-item>
<el-form-item label="开始时间" prop="leaveStartTime">
<el-date-picker clearable size="small" style="width: 200px"
v-model="form.leaveStartTime"
type="date"
value-format="yyyy-MM-dd"
:readonly="taskName!=='调整申请'">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="leaveEndTime">
<el-date-picker clearable size="small" style="width: 200px"
v-model="form.leaveEndTime"
type="date"
value-format="yyyy-MM-dd"
:readonly="taskName!=='调整申请'">
</el-date-picker>
</el-form-item>
<!--<el-form-item label="请假时长" prop="totalTime">
<el-input v-model="form.totalTime" readonly />
</el-form-item>-->
<el-form-item label="实际开始时间" prop="realityStartTime" v-if="taskName==='销假' || type !== 'todo'">
<el-date-picker clearable size="small" style="width: 200px"
v-model="form.realityStartTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择实际开始时间"
:readonly="taskName!=='销假'">
</el-date-picker>
</el-form-item>
<el-form-item label="实际结束时间" prop="realityEndTime" v-if="taskName==='销假' || type !== 'todo'">
<el-date-picker clearable size="small" style="width: 200px"
v-model="form.realityEndTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择实际结束时间"
:readonly="taskName!=='销假'">
</el-date-picker>
</el-form-item>
<el-form-item label="申请人" prop="applyUserName">
<el-input v-model="form.applyUserName" readonly />
</el-form-item>
<el-form-item label="申请时间" prop="applyTime">
<el-date-picker clearable size="small" style="width: 200px"
v-model="form.applyTime"
type="date"
value-format="yyyy-MM-dd"
readonly>
</el-date-picker>
</el-form-item>
<!--<el-form-item label="流程实例ID" prop="instanceId">
<el-input v-model="form.instanceId" readonly />
</el-form-item>-->
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" :readonly="taskName!=='调整申请'" />
</el-form-item>
</el-form>
<view-verify
:open.sync="open"
:row="row"
:taskId="taskId"
:type="type"
/>
</el-dialog>
</div>
</template>
<script>
import ViewVerify from "@/components/Activiti/ViewVerify/index";
export default {
name: "LeaveForm",
components: {
ViewVerify,
},
props: {
row: {
type: Object,
},
taskId: {
type: String,
},
taskName: {
type: String,
},
type: {
type: String,
default: 'none',
},
},
data() {
return {
title: '查看请假表单',
form: this.row,
open: false,
// 请假类型字典
typeOptions: [],
// 表单校验
rules: {
type: [
{ required: true, message: "请假类型不能为空", trigger: "blur" },
],
title: [
{ required: true, message: "标题不能为空", trigger: "blur" },
],
reason: [
{ required: true, message: "原因不能为空", trigger: "blur" },
],
leaveStartTime: [
{ required: true, message: "开始时间不能为空", trigger: "blur" },
],
leaveEndTime: [
{ required: true, message: "结束时间不能为空", trigger: "blur" },
],
realityStartTime: [
{ required: true, message: "实际开始时间不能为空", trigger: "blur" },
],
realityEndTime: [
{ required: true, message: "实际结束时间不能为空", trigger: "blur" },
],
},
}
},
created() {
this.getDicts("biz_leave_type").then(response => {
this.typeOptions = response.data;
});
},
}
</script>
<style scoped>
</style>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px" id="queryForm">
<el-form-item label="查询年月" prop="reportDate">
<!-- <el-date-picker clearable size="small"
v-model="queryParams.reportDate"
type="month"
value-format="yyyyMM"
placeholder="选择查询年月">
</el-date-picker>-->
<el-date-picker
v-model="dateRange"
type="monthrange"
value-format="yyyyMM"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始月份"
end-placeholder="结束月份"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label="单位名称" prop="deptName">
<el-input
v-model="queryParams.deptName"
placeholder="请输入单位名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入姓名"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="身份证号" prop="idcardNo">
<el-input
v-model="queryParams.idcardNo"
placeholder="请输入身份证号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="唯一码" prop="uniqueCode">
<el-input
v-model="queryParams.uniqueCode"
placeholder="请输入唯一码"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="岗位" prop="postCode">
<el-select v-model="queryParams.postCode" placeholder="请选择岗位" clearable size="small">
<el-option
v-for="dict in postCodeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="最高学历" prop="topEducation">
<el-select v-model="queryParams.topEducation" placeholder="请选择最高学历" clearable size="small">
<el-option
v-for="dict in educationOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="技术职称" prop="professionalTitle">
<el-select v-model="queryParams.professionalTitle" placeholder="请选择技术职称" clearable size="small">
<el-option
v-for="dict in professionalTitleOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="职务" prop="postTitle">
<el-select v-model="queryParams.postTitle" placeholder="请选择职务" clearable size="small">
<el-option
v-for="dict in postTitleOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="职级" prop="postLevel">
<el-select v-model="queryParams.postLevel" placeholder="请选择职级" clearable size="small">
<el-option
v-for="dict in postLevelOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="员工类型" prop="employeType">
<el-select v-model="queryParams.employeType" placeholder="请选择员工类型" clearable size="small">
<el-option
v-for="dict in employeTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="业务板块" prop="businessSector">
<el-select v-model="queryParams.businessSector" placeholder="业务板块" clearable size="small">
<el-option
v-for="dict in businessSectorOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item>
<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
type="warning"
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:salaryemploye:export']"
>导出
</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8" v-if="0">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading"
:data="salaryinfoList"
ref="dataTable"
height="600"
border
:summary-method="getSummaries"
show-summary>
<el-table-column label="主键" align="center" prop="id" v-if="0" fixed/>
<el-table-column label="报送ID" align="center" prop="reportId" v-if="0" fixed/>
<el-table-column label="员工ID" align="center" prop="employeId" v-if="0" fixed/>
<el-table-column label="部门ID" align="center" prop="deptId" v-if="0" fixed/>
<el-table-column label="序号" align="center" prop="p01001" fixed sortable v-if="0"/>
<el-table-column label="序号" align="center" type="index" :index="indexFn" fixed sortable/>
<el-table-column label="日期" align="center" prop="p01002" width="70" fixed/>
<el-table-column label="职务" align="center" prop="employe.postTitle" :formatter="postTitleFormat" :show-overflow-tooltip="true" fixed width="170" sortable/>
<el-table-column label="职级" align="center" prop="p01003" :formatter="postLevelFormat" width="120" fixed :show-overflow-tooltip="true" sortable/>
<el-table-column label="姓名" align="center" prop="p01004" width="90" fixed/>
<el-table-column label="出勤天数" align="center" prop="p01005" />
<el-table-column label="固定工资" align="center" prop="p01006" width="100" sortable/>
<el-table-column label="浮动工资" align="center" prop="p01007" width="100" sortable/>
<el-table-column label="工龄工资" align="center" prop="p01008" />
<el-table-column label="加班工资" align="center" prop="p01009" />
<el-table-column label="安全奖" align="center" prop="p01010" />
<el-table-column label="信息奖" align="center" prop="p01011" />
<el-table-column label="其他奖金" align="center" prop="p01012" v-if="0"/>
<el-table-column label="单项奖" align="center" prop="p01013" />
<el-table-column label="夜班津贴" align="center" prop="p01014" />
<el-table-column label="女卫回补保健" align="center" prop="p01015" />
<el-table-column label="班子成员交通补贴" align="center" prop="p01016" />
<el-table-column label="班子成员电话补贴" align="center" prop="p01017" />
<el-table-column label="书报费" align="center" prop="p01018" />
<el-table-column label="其它津贴临时增减" align="center" prop="p01019" />
<el-table-column label="工资总额" align="center" prop="p01020" width="100" sortable/>
<el-table-column label="独生子女费" align="center" prop="p01021" />
<el-table-column label="餐补" align="center" prop="p01022" />
<el-table-column label="防暑降温费" align="center" prop="p01023" />
<el-table-column label="取暖费" align="center" prop="p01024" />
<el-table-column label="应付工资" align="center" prop="p01025" width="100" sortable/>
<el-table-column label="养老保险" align="center" prop="p01026" />
<el-table-column label="医疗保险" align="center" prop="p01027" />
<el-table-column label="失业保险" align="center" prop="p01028" />
<el-table-column label="企业年金" align="center" prop="p01029" />
<el-table-column label="公积金" align="center" prop="p01030" />
<el-table-column label="所得税" align="center" prop="p01031" />
<el-table-column label="扣会费" align="center" prop="p01032" />
<el-table-column label="实付工资" align="center" prop="p01033" width="100" sortable/>
<el-table-column label="唯一码" align="center" prop="p01034" />
<el-table-column label="身份证号" align="center" prop="p01035" width="180"/>
<el-table-column label="单位名称" align="center" prop="dept.deptName" width="300"/>
<el-table-column label="备注" align="center" prop="p01036" width="200" :show-overflow-tooltip="true"/>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page-sizes=[200,500,1000,2000]
@pagination="getList"
/>
</div>
</template>
<style scoped>
#queryForm .el-form-item{
margin-bottom: 5px;
margin-top: 0px;
}
.el-date-editor {
width: 195px;
}
</style>
<script>
var that;
import {
wageList,exportSalaryinfo
} from "@/api/search/wage";
import {getToken} from "@/utils/auth";
import {download} from "@/utils/ruoyi";
export default {
name: "Salaryinfo",
components: {},
data() {
return {
// 遮罩层
loading: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 工资上报详情表格数据
salaryinfoList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 民族字典
folkOptions: [],
// 政治面貌字典
politicalStatusOptions: [],
// 学历学位字典
educationOptions: [],
// 技术职称字典
professionalTitleOptions: [],
// 职务字典
postCodeOptions: [],
// 职务字典
postTitleOptions: [],
// 职级字典
postLevelOptions: [],
// 员工类型字典
employeTypeOptions: [],
statusOptions: [],
businessSectorOptions: [],
// 日期范围
dateRange: [],
// 查询参数 queryParams.reportDate
queryParams: {
pageNum: 1,
pageSize: 200,
reportDate: null, //日期, 默认取当前月份 this.getNowTime(),
uniqueCode: null,
idcardNo: null,
deptId: null,
deptName:null,
name: null,
sex: null,
birthDay: null,
onlyChild: null,
folk: null,
politicalStatus: null,
nativePlace: null,
firstEducation: null,
topEducation: null,
professionalTitle: null,
postCode: null,
postJob: null,
postTitle: null,
postLevel: null,
workDate: null,
hiredate: null,
firedate: null,
personnelDossier: null,
employeType: null,
createDate: null,
status: null,
businessSector: null,
deleteStatus: null,
updateDate: null,
deleteTime: null,
deleteBy: null
},
pickerOptions: {
shortcuts: [{
text: '本月',
onClick(picker) {
picker.$emit('pick', [new Date(), new Date()]);
}
}, {
text: '今年至今',
onClick(picker) {
const end = new Date();
const start = new Date(new Date().getFullYear(), 0);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近六个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setMonth(start.getMonth() - 6);
picker.$emit('pick', [start, end]);
}
}]
},
};
},
updated() {
this.$nextTick(() => {
this.$refs.dataTable.doLayout()
})
},
created() {
that=this;
const reportCode = this.$route.params && this.$route.params.reportCode;
const reportId = this.$route.params && this.$route.params.reportId;
this.getDicts("sys_folk").then(response => {
this.folkOptions = response.data;
});
this.getDicts("sys_education").then(response => {
this.educationOptions = response.data;
});
this.getDicts("sys_professional_title").then(response => {
this.professionalTitleOptions = response.data;
});
this.getDicts("sys_employe_post").then(response => {
this.postCodeOptions = response.data;
});
this.getDicts("sys_post").then(response => {
this.postTitleOptions = response.data;
});
this.getDicts("sys_post_level").then(response => {
this.postLevelOptions = response.data;
});
this.getDicts("sys_employe_type").then(response => {
this.employeTypeOptions = response.data;
});
this.getDicts("sys_employe_status").then(response => {
this.statusOptions = response.data;
});
this.getDicts("sys_dept_business_type").then(response => {
this.businessSectorOptions = response.data;
});
this.getList();
},
methods: {
// 职务字典翻译
postTitleFormat(row, column) {
if(row.employe){
return this.selectDictLabel(this.postTitleOptions, row.employe.postTitle);
}else{
return "";
}
},
// 职级字典翻译
postLevelFormat(row, column) {
return this.selectDictLabel(this.postLevelOptions, row.p01003);
},
/** 导入按钮操作 */
handleImport() {
this.upload.title = "工资导入";
this.upload.open = true;
},
/** 查询工资上报详情列表 */
getList() {
this.loading = true;
//wageList(this.queryParams).then(response => {
wageList(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
console.log('eee',response.rows);
this.salaryinfoList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = [];
this.resetForm("queryForm");
this.handleQuery();
},
indexFn(index) {
index = (index + 1) + (this.queryParams.pageNum - 1) * this.queryParams.pageSize
console.log(this)
return index
},
/** 导出按钮操作 */
handleExport() {
var that = this;
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有工资上报详情数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function () {
const loading = that.$loading({
lock: true,
text: '这可能需要花费一些时间,请稍等正在导出...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
exportSalaryinfo(queryParams).then(response => {
console.log('333',response);
loading.close();
that.download(response.fileName);
}).catch(response => {
loading.close();
console.log('444444',response);
});
}).catch(response => {
loading.close();
console.log('444444',response);
//this.download(response.msg);
})
},
getSummaries(param) {
const {columns, data} = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '合计';
return;
}
if (index === 1 || index === 2 || index === 3 || index === 4 || index === 36 ||index === 34||index === 35) {
sums[index] = '-';
return;
}
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] = sums[index].toFixed(2); // 保留2位小数,解决小数列合计精度缺失的问题
} else {
sums[index] = '-';
}
});
return sums;
},
getNowTime() {
var now = new Date();
var year = now.getFullYear(); //得到年份
var month = now.getMonth(); //得到月份
var date = now.getDate(); //得到日期
var hour =" 00:00:00"; //默认时分秒 如果传给后台的格式为年月日时分秒,就需要加这个,如若不需要,此行可忽略
month = month + 1;
month = month.toString().padStart(2, "0");
date = date.toString().padStart(2, "0");
var defaultDate = `${year}-${month}`;
console.log(defaultDate)
return defaultDate;
this.$set(this.queryParams, "reportDate", defaultDate);
},
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="任务ID" prop="taskId">
<el-input
v-model="queryParams.taskId"
placeholder="请输入任务ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="任务名称" prop="taskName">
<el-input
v-model="queryParams.taskName"
placeholder="任务名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="流程实例" prop="instanceId">
<el-input
v-model="queryParams.instanceId"
placeholder="请输入流程实例ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item>
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange">
<!--<el-table-column type="selection" width="55" align="center" />
<el-table-column label="任务ID" align="center" prop="taskId" width="150" />
<el-table-column label="任务名称" align="center" prop="taskName" width="150" />
<el-table-column label="流程实例ID" align="center" prop="instanceId" width="150" />-->
<el-table-column label="姓名" align="center" width="80">
<template slot-scope="scope">
<span v-if="scope.row.formData">{{scope.row.formData.name}}</span>
</template>
</el-table-column>
<el-table-column label="身份证" align="center" width="220">
<template slot-scope="scope">
<span v-if="scope.row.formData">{{scope.row.formData.idcardNo}}</span>
</template>
</el-table-column>
<el-table-column label="申报单位" align="center" width="240"> reportCode
<template slot-scope="scope">
<span v-if="scope.row.formData">{{scope.row.formData.applyDeptName}}</span>
</template>
</el-table-column>
<el-table-column label="任务名称" align="center" prop="taskName" />
<el-table-column label="办理人" align="center" prop="assigneeName" width="150" />
<el-table-column label="开始时间" align="center" prop="startTime" width="180" />
<el-table-column label="结束时间" align="center" prop="endTime" width="180" />
<el-table-column label="申请类型" align="center" width="100">
<template slot-scope="scope">
<span v-if="scope.row.formData">{{employeApproveTypeFormat(scope.row)}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<apply-after
v-if="scope.row.instanceId"
:row="scope.row.formData"
:taskId="scope.row.taskId"
:type="scope.row.type"
@getList="getList"
></apply-after>
<!-- <el-button
size="mini"
type="text"
icon="el-icon-search"
@click="handleToSalaryinfo(scope.row)"
>审核测试</el-button>-->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import request from '@/utils/request'
import ApplyAfter from "@/components/Activiti/ApplyAfter/index";
export default {
name: "Done",
components: {
ApplyAfter,
},
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 已办表格数据
taskList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
taskId: null,
taskName: null,
processKey:"staffapprove",
},
// 表单参数
form: {},
// 表单校验
rules: {
},
// 字典
employeApproveTypeOptions: [],
};
},
created() {
this.getDicts("employe_approve_type").then(response => {
this.employeApproveTypeOptions = response.data;
});
this.getList();
},
methods: {
// 申请类型字典
employeApproveTypeFormat(row, column) {
return this.selectDictLabel(this.employeApproveTypeOptions, row.formData.approveType);
},
/** 查询已办列表 */
getList() {
this.loading = true;
return request({
url: '/activiti/process/taskDoneList',
method: 'get',
params: this.queryParams
}).then(response => {
console.log("response.rows",response.rows);
this.taskList = response.rows;
this.total = response.total;
this.loading = false;
}).then(() => {
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
taskId: null,
taskName: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加已办";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getDemo(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改已办";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateDemo(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addDemo(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm('是否确认删除已办编号为"' + ids + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delDemo(ids);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有已办数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return exportDemo(queryParams);
}).then(response => {
this.download(response.msg);
})
},
/** 查看工资报表 */
handleToSalaryinfo(row){
//this.$router.push("/salary/salaryinfo/"+row.formData.reportCode+"/"+row.formData.reportId);
},
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<!--<el-form-item label="任务ID" prop="taskId">
<el-input
v-model="queryParams.taskId"
placeholder="请输入任务ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="任务名称" prop="taskName">
<el-input
v-model="queryParams.taskName"
placeholder="任务名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="流程实例" prop="instanceId">
<el-input
v-model="queryParams.instanceId"
placeholder="请输入流程实例ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item>
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange">
<!--<el-table-column type="selection" width="55" align="center" />
<el-table-column label="任务ID" align="center" prop="taskId" width="150" />
<el-table-column label="任务名称" align="center" prop="taskName" width="150" />
<el-table-column label="流程实例ID" align="center" prop="instanceId" width="150" />-->
<el-table-column label="报送年月" align="center" width="220">
<template slot-scope="scope">
<span>{{scope.row.formData.reportCode}}</span>
</template>
</el-table-column>
<el-table-column label="报送单位" align="center" width="220"> reportCode
<template slot-scope="scope">
<span>{{scope.row.formData.applyDeptName}}</span>
</template>
</el-table-column>
<el-table-column label="任务名称" align="center" prop="taskName" />
<el-table-column label="办理人" align="center" prop="assigneeName" width="150" />
<el-table-column label="开始时间" align="center" prop="startTime" width="180" />
<el-table-column label="结束时间" align="center" prop="endTime" width="180" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<apply-after
v-if="scope.row.instanceId"
:row="scope.row.formData"
:taskId="scope.row.taskId"
:type="scope.row.type"
@getList="getList"
></apply-after>
<!-- <el-button
size="mini"
type="text"
icon="el-icon-search"
@click="handleToSalaryinfo(scope.row)"
>审核测试</el-button>-->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import request from '@/utils/request'
import ApplyAfter from "@/components/Activiti/ApplyAfter/index";
export default {
name: "Done",
components: {
ApplyAfter,
},
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 已办表格数据
taskList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
taskId: null,
taskName: null,
processKey:"salaryapprove",
},
// 表单参数
form: {},
// 表单校验
rules: {
},
};
},
created() {
this.getList();
},
methods: {
/** 查询已办列表 */
getList() {
this.loading = true;
return request({
url: '/activiti/process/taskDoneList',
method: 'get',
params: this.queryParams
}).then(response => {
this.taskList = response.rows;
this.total = response.total;
this.loading = false;
}).then(() => {
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
taskId: null,
taskName: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加已办";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getDemo(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改已办";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateDemo(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addDemo(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm('是否确认删除已办编号为"' + ids + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delDemo(ids);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有已办数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return exportDemo(queryParams);
}).then(response => {
this.download(response.msg);
})
},
/** 查看工资报表 */
handleToSalaryinfo(row){
//this.$router.push("/salary/salaryinfo/"+row.formData.reportCode+"/"+row.formData.reportId);
},
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="任务ID" prop="taskId">
<el-input
v-model="queryParams.taskId"
placeholder="请输入任务ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="任务名称" prop="taskName">
<el-input
v-model="queryParams.taskName"
placeholder="任务名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="流程实例" prop="instanceId">
<el-input
v-model="queryParams.instanceId"
placeholder="请输入流程实例ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item>
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange">
<!--<el-table-column type="selection" width="55" align="center" />
<el-table-column label="任务ID" align="center" prop="taskId" width="150" />
<el-table-column label="任务名称" align="center" prop="taskName" width="150" />
<el-table-column label="流程实例ID" align="center" prop="instanceId" width="150" />-->
<el-table-column label="考核年月" align="center" width="220">
<template slot-scope="scope">
<span>{{scope.row.formData.reportCode}}</span>
</template>
</el-table-column>
<el-table-column label="单位名称" align="center" width="220"> reportCode
<template slot-scope="scope">
<span>{{scope.row.formData.applyDeptName}}</span>
</template>
</el-table-column>
<el-table-column label="任务名称" align="center" prop="taskName" />
<el-table-column label="办理人" align="center" prop="assigneeName" width="150" />
<el-table-column label="开始时间" align="center" prop="startTime" width="180" />
<el-table-column label="结束时间" align="center" prop="endTime" width="180" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<apply-after
v-if="scope.row.instanceId"
:row="scope.row.formData"
:taskId="scope.row.taskId"
:type="scope.row.type"
@getList="getList"
></apply-after>
<!-- <el-button
size="mini"
type="text"
icon="el-icon-search"
@click="handleToSalaryinfo(scope.row)"
>审核测试</el-button>-->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import request from '@/utils/request'
import ApplyAfter from "@/components/Activiti/ApplyAfter/index";
export default {
name: "Done",
components: {
ApplyAfter,
},
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 已办表格数据
taskList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
taskId: null,
taskName: null,
processKey:"creditapprove",
},
// 表单参数
form: {},
// 表单校验
rules: {
},
};
},
created() {
this.getList();
},
methods: {
/** 查询已办列表 */
getList() {
this.loading = true;
return request({
url: '/activiti/process/taskDoneList',
method: 'get',
params: this.queryParams
}).then(response => {
this.taskList = response.rows;
this.total = response.total;
this.loading = false;
}).then(() => {
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
taskId: null,
taskName: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加已办";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getDemo(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改已办";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateDemo(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addDemo(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm('是否确认删除已办编号为"' + ids + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delDemo(ids);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有已办数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return exportDemo(queryParams);
}).then(response => {
this.download(response.msg);
})
},
/** 查看工资报表 */
handleToSalaryinfo(row){
//this.$router.push("/salary/salaryinfo/"+row.formData.reportCode+"/"+row.formData.reportId);
},
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="任务ID" prop="taskId">
<el-input
v-model="queryParams.taskId"
placeholder="请输入任务ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="任务名称" prop="taskName">
<el-input
v-model="queryParams.taskName"
placeholder="任务名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="流程实例" prop="instanceId">
<el-input
v-model="queryParams.instanceId"
placeholder="请输入流程实例ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item>
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange">
<!--<el-table-column type="selection" width="55" align="center" />-->
<!-- <el-table-column label="任务ID" align="center" prop="taskId" width="150"/>
<el-table-column label="任务名称" align="center" prop="taskName" width="150" />
<el-table-column label="流程实例ID" align="center" prop="instanceId" width="150" />-->
<el-table-column label="姓名" align="center" width="80">
<template slot-scope="scope">
<span v-if="scope.row.formData">{{scope.row.formData.name}}</span>
</template>
</el-table-column>
<!--<el-table-column label="性别" align="center" width="80">
<template slot-scope="scope">
<span v-if="scope.row.formData.sex==1">
</span>
<span v-else>
</span>
</template>
</el-table-column>-->
<el-table-column label="身份证" align="center" width="220">
<template slot-scope="scope">
<span v-if="scope.row.formData">{{scope.row.formData.idcardNo}}</span>
</template>
</el-table-column>
<el-table-column label="申报单位" align="center" width="240"> reportCode
<template slot-scope="scope">
<span v-if="scope.row.formData">{{scope.row.formData.applyDeptName}}</span>
</template>
</el-table-column>
<el-table-column label="任务名称" align="center" prop="taskName" />
<el-table-column label="待办人" align="center" prop="assigneeName" width="150" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180" />
<el-table-column label="申请类型" align="center" width="100" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.formData">{{employeApproveTypeFormat(scope.row)}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="300">
<template slot-scope="scope">
<!-- <el-button
size="mini"
type="text"
icon="el-icon-check"
@click="handleToSalaryinfo(scope.row)"
>审核</el-button>-->
<apply-after
v-if="scope.row.instanceId"
:row="scope.row.formData"
:taskId="scope.row.taskId"
:instanceId="scope.row.instanceId"
:taskName="scope.row.taskName"
:type="scope.row.type"
@getList="getList"
></apply-after>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import request from '@/utils/request'
import ApplyAfter from "@/components/Activiti/ApplyAfter/index";
export default {
name: "Todo",
components: {
ApplyAfter,
},
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 待办表格数据
taskList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
taskId: null,
taskName: null,
processKey:"staffapprove",
},
// 表单参数
form: {},
// 表单校验
rules: {
},
// 字典
employeApproveTypeOptions: [],
};
},
created() {
this.getDicts("employe_approve_type").then(response => {
this.employeApproveTypeOptions = response.data;
});
this.getList();
},
mounted () {
var that = this;
window['getTodoList'] = (event, name) => {
that.getList(event, name)
}
},
methods: {
// 申请类型字典
employeApproveTypeFormat(row, column) {
return this.selectDictLabel(this.employeApproveTypeOptions, row.formData.approveType);
},
/** 查询待办列表 */
getList() {
this.loading = true;
return request({
url: '/activiti/process/taskList',
method: 'get',
params: this.queryParams
}).then(response => {
this.taskList = response.rows;
console.log("表单值",this.taskList);
this.total = response.total;
this.loading = false;
}).then(() => {
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
taskId: null,
taskName: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加待办";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getDemo(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改待办";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateDemo(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addDemo(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm('是否确认删除待办编号为"' + ids + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delDemo(ids);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有待办数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return exportDemo(queryParams);
}).then(response => {
this.download(response.msg);
})
},
/** 查看工资报表 */
handleToSalaryinfo(row){
console.log('777',row.formData);
//this.$router.push("/salary/salaryinfo/"+row.formData.reportCode+"/"+row.formData.reportId);
this.$router.push({path:"/salary/salaryinfo/"+row.formData.reportCode+"/"+row.formData.reportId,query:{taskId:row.taskId,taskName:row.taskName,type:row.type,instanceId:row.instanceId}});
},
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="任务ID" prop="taskId">
<el-input
v-model="queryParams.taskId"
placeholder="请输入任务ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="任务名称" prop="taskName">
<el-input
v-model="queryParams.taskName"
placeholder="任务名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="流程实例" prop="instanceId">
<el-input
v-model="queryParams.instanceId"
placeholder="请输入流程实例ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item>
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange">
<!--<el-table-column type="selection" width="55" align="center" />-->
<!-- <el-table-column label="任务ID" align="center" prop="taskId" width="150"/>
<el-table-column label="任务名称" align="center" prop="taskName" width="150" />
<el-table-column label="流程实例ID" align="center" prop="instanceId" width="150" />-->
<el-table-column label="报送年月" align="center" width="220">
<template slot-scope="scope">
<span>{{scope.row.formData.reportCode}}</span>
</template>
</el-table-column>
<el-table-column label="报送单位" align="center" width="220"> reportCode
<template slot-scope="scope">
<span>{{scope.row.formData.applyDeptName}}</span>
</template>
</el-table-column>
<el-table-column label="任务名称" align="center" prop="taskName" />
<el-table-column label="待办人" align="center" prop="assigneeName" width="150" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- <el-button
size="mini"
type="text"
icon="el-icon-check"
@click="handleToSalaryinfo(scope.row)"
>审核</el-button>-->
<apply-after
v-if="scope.row.instanceId"
:row="scope.row.formData"
:taskId="scope.row.taskId"
:instanceId="scope.row.instanceId"
:taskName="scope.row.taskName"
:type="scope.row.type"
@getList="getList"
></apply-after>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import request from '@/utils/request'
import ApplyAfter from "@/components/Activiti/ApplyAfter/index";
export default {
name: "Todo",
components: {
ApplyAfter,
},
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 待办表格数据
taskList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
taskId: null,
taskName: null,
processKey:"salaryapprove",
},
// 表单参数
form: {},
// 表单校验
rules: {
},
};
},
created() {
this.getList();
},
mounted () {
var that = this;
window['getTodoList'] = (event, name) => {
that.getList(event, name)
}
},
methods: {
/** 查询待办列表 */
getList() {
this.loading = true;
return request({
url: '/activiti/process/taskList',
method: 'get',
params: this.queryParams
}).then(response => {
this.taskList = response.rows;
console.log("表单值",this.taskList);
this.total = response.total;
this.loading = false;
}).then(() => {
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
taskId: null,
taskName: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加待办";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getDemo(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改待办";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateDemo(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addDemo(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm('是否确认删除待办编号为"' + ids + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delDemo(ids);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有待办数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return exportDemo(queryParams);
}).then(response => {
this.download(response.msg);
})
},
/** 查看工资报表 */
handleToSalaryinfo(row){
console.log('777',row.formData);
//this.$router.push("/salary/salaryinfo/"+row.formData.reportCode+"/"+row.formData.reportId);
this.$router.push({path:"/salary/salaryinfo/"+row.formData.reportCode+"/"+row.formData.reportId,query:{taskId:row.taskId,taskName:row.taskName,type:row.type,instanceId:row.instanceId}});
},
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="任务ID" prop="taskId">
<el-input
v-model="queryParams.taskId"
placeholder="请输入任务ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="任务名称" prop="taskName">
<el-input
v-model="queryParams.taskName"
placeholder="任务名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="流程实例" prop="instanceId">
<el-input
v-model="queryParams.instanceId"
placeholder="请输入流程实例ID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item>
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange">
<!--<el-table-column type="selection" width="55" align="center" />-->
<!-- <el-table-column label="任务ID" align="center" prop="taskId" width="150"/>
<el-table-column label="任务名称" align="center" prop="taskName" width="150" />
<el-table-column label="流程实例ID" align="center" prop="instanceId" width="150" />-->
<el-table-column label="考核年月" align="center" width="220">
<template slot-scope="scope">
<span v-if="scope.row.formData">{{scope.row.formData.reportCode}}</span>
</template>
</el-table-column>
<el-table-column label="单位名称" align="center" width="220"> reportCode
<template slot-scope="scope">
<span v-if="scope.row.formData">{{scope.row.formData.applyDeptName}}</span>
</template>
</el-table-column>
<el-table-column label="任务名称" align="center" prop="taskName" />
<el-table-column label="待办人" align="center" prop="assigneeName" width="150" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- <el-button
size="mini"
type="text"
icon="el-icon-check"
@click="handleToSalaryinfo(scope.row)"
>审核</el-button>-->
<apply-after
v-if="scope.row.instanceId"
:row="scope.row.formData"
:taskId="scope.row.taskId"
:instanceId="scope.row.instanceId"
:taskName="scope.row.taskName"
:type="scope.row.type"
@getList="getList"
></apply-after>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import request from '@/utils/request'
import ApplyAfter from "@/components/Activiti/ApplyAfter/index";
export default {
name: "Todo",
components: {
ApplyAfter,
},
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 待办表格数据
taskList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
taskId: null,
taskName: null,
processKey:"creditapprove",
},
// 表单参数
form: {},
// 表单校验
rules: {
},
};
},
created() {
this.getList();
},
mounted () {
var that = this;
window['getTodoList'] = (event, name) => {
that.getList(event, name)
}
},
methods: {
/** 查询待办列表 */
getList() {
this.loading = true;
return request({
url: '/activiti/process/taskList',
method: 'get',
params: this.queryParams
}).then(response => {
this.taskList = response.rows;
console.log("表单值",this.taskList);
this.total = response.total;
this.loading = false;
}).then(() => {
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
taskId: null,
taskName: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加待办";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getDemo(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改待办";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateDemo(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addDemo(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm('是否确认删除待办编号为"' + ids + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delDemo(ids);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有待办数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return exportDemo(queryParams);
}).then(response => {
this.download(response.msg);
})
},
/** 查看工资报表 */
handleToSalaryinfo(row){
console.log('777',row.formData);
//this.$router.push("/salary/salaryinfo/"+row.formData.reportCode+"/"+row.formData.reportId);
this.$router.push({path:"/salary/salaryinfo/"+row.formData.reportCode+"/"+row.formData.reportId,query:{taskId:row.taskId,taskName:row.taskName,type:row.type,instanceId:row.instanceId}});
},
}
};
</script>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment