人员信息、出差报备功能修改

This commit is contained in:
lSun 2024-12-17 19:22:44 +08:00
parent 9e602bbddc
commit e29bfdbd53
9 changed files with 173 additions and 11 deletions

View File

@ -9,10 +9,10 @@
<title><%= webpackConfig.name %></title>
<!-- <script src="<%= BASE_URL %>/static/map/map_load.js" type="text/javascript"></script>-->
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<script async src="http://10.1.0.142:2000/api.map.baidu.com/api?v=2.0&ak=cClgLBaLgGUdQDilX9dGvieL"></script>
<!-- <script async src="http://10.1.0.142:2000/api.map.baidu.com/api?v=2.0&ak=cClgLBaLgGUdQDilX9dGvieL"></script>
<script src="http://10.1.0.142:2000/api.map.baidu.com/api?type=webgl&v=2.0&ak=cClgLBaLgGUdQDilX9dGvieL"></script>
<script type="text/javascript" src="http://10.1.0.142:2000/api.map.baidu.com/library/TrackAnimation/src/TrackAnimation_min.js"></script>
<style>
--><style>
html,
body,
#app {

View File

@ -9,6 +9,15 @@ export function getRoleUserList(query) {
})
}
// 查询项目部角色为未管理列表
export function getRoleUserNoManagerList(query) {
return request({
url: '/system/proDeptRole/getRoleUserNoManagerList',
method: 'get',
params: query
})
}
// 修改角色列表
export function proDeptRole(data) {
return request({

View File

@ -54,3 +54,14 @@ export function listDept(query) {
params: query
})
}
// 数据同步
export function synchronous(data) {
return request({
url: '/system/attDetails/synchronous',
method: 'post',
data: data
})
}

View File

@ -115,3 +115,11 @@ export function checkPersonAssignment(data) {
data: data
})
}
export function listDeptTree(query) {
return request({
url: '/system/org/listTree',
method: 'get',
params: query
})
}

View File

@ -247,6 +247,32 @@
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否省外:" prop="isOutside">
<el-radio-group v-model="form.isOutside">
<el-radio
v-for="item in isOutsideList"
:key="item.id"
:label="item.id"
>{{item.name}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否西藏:" prop="isXizang">
<el-radio-group v-model="form.isXizang">
<el-radio
v-for="item in isXizangList"
:key="item.id"
:label="item.id"
>{{item.name}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="出差事由:" prop="leaveReason">
@ -269,7 +295,7 @@
</div>
</el-dialog>
<!-- 添加或修改参数配置对话框 -->
<!-- 详情参数配置对话框 -->
<el-dialog :title="title" :visible.sync="openDetails" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-row>
@ -356,6 +382,32 @@
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否省外:" prop="isOutside">
<el-radio-group v-model="form.isOutside" :disabled="true">
<el-radio
v-for="item in isOutsideList"
:key="item.id"
:label="item.id"
>{{item.name}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否西藏:" prop="isXizang">
<el-radio-group v-model="form.isXizang" :disabled="true">
<el-radio
v-for="item in isXizangList"
:key="item.id"
:label="item.id"
>{{item.name}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="出差事由:" prop="leaveReason">
@ -419,6 +471,8 @@ export default {
tableList: [],
userList:[],
isAgreeList:[{id:'0',name:'否'},{id:'1',name:'是'}],
isOutsideList:[{id:'0',name:'否'},{id:'1',name:'是'}],
isXizangList:[{id:'0',name:'否'},{id:'1',name:'是'}],
//
title: "",
//
@ -470,6 +524,12 @@ export default {
isAgree: [
{required: true, message: "是否请示领导同意不能为空", trigger: "blur"}
],
isOutside: [
{required: true, message: "是否省外同意不能为空", trigger: "blur"}
],
isXizang: [
{required: true, message: "是否西藏同意不能为空", trigger: "blur"}
],
hostUserId: [
{required: true, message: "代理主持工作人员不能为空", trigger: "blur"}
],
@ -529,7 +589,6 @@ export default {
},
/** 查询列表 */
getList() {
console.log("111")
this.loading = true;
listEvection(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.tableList = response.rows;
@ -573,6 +632,8 @@ export default {
leaveDuration: undefined,
examineStatus: "0",
isAgree: "0",
isOutside: "0",
isXizang: "0",
hostUserId:[],
orgHeadUserIdList: [],
travelers:[]

View File

@ -96,7 +96,7 @@
</template>
<script>
import {getRoleUserList, proDeptRole} from "@/api/process/rolesRemind";
import {getRoleUserNoManagerList, proDeptRole} from "@/api/process/rolesRemind";
import { treeselect as staffTreeselect, roleStaffTreeselect } from "@/api/process/tree";
import {getInfoById} from "@/api/process/roles";
@ -162,7 +162,7 @@ export default {
/** 查询列表 */
getList() {
this.loading = true;
getRoleUserList(this.queryParams).then(response => {
getRoleUserNoManagerList(this.queryParams).then(response => {
this.typeList = response.rows;
this.total = response.total;
this.loading = false;

View File

@ -167,6 +167,32 @@
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否省外:" prop="isOutside">
<el-radio-group v-model="form.isOutside" :disabled="true">
<el-radio
v-for="item in isOutsideList"
:key="item.id"
:label="item.id"
>{{item.name}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否西藏:" prop="isXizang">
<el-radio-group v-model="form.isXizang" :disabled="true">
<el-radio
v-for="item in isXizangList"
:key="item.id"
:label="item.id"
>{{item.name}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="出差事由:" prop="leaveReason">
@ -225,6 +251,8 @@ export default {
tableList: [],
userList:[],
isAgreeList:[{id:'0',name:'否'},{id:'1',name:'是'}],
isOutsideList:[{id:'0',name:'否'},{id:'1',name:'是'}],
isXizangList:[{id:'0',name:'否'},{id:'1',name:'是'}],
//
title: "",
//
@ -376,6 +404,8 @@ export default {
leaveDuration: undefined,
examineStatus: "0",
isAgree: "0",
isOutside: "0",
isXizang: "0",
hostUserId:[],
orgHeadUserIdList: [],
travelers:[]

View File

@ -44,6 +44,8 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
<el-button type="primary" size="mini" @click="openDialog">批量修改</el-button>
<el-button type="primary" size="mini" @click="openData">数据同步</el-button>
</el-form-item>
</el-form>
@ -181,11 +183,11 @@
</template>
<script>
import { getDetailsList,updateAttDetails,exportAttRecord } from "@/api/report/attReport";
import { getDetailsList,updateAttDetails,exportAttRecord,synchronous } from "@/api/report/attReport";
import { listDept } from "@/api/system/dept";
import {downloadFile} from "@/utils/download";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {checkPersonAssignment} from "@/api/system/userInfo";
export default {
name: "Dict",
dicts: ['att_status'],
@ -313,6 +315,42 @@
this.$message({ message: '请先勾选数据!', type: 'warning' })
}
},
openData(){
if(this.dateRange&&this.dateRange.length>0){
this.queryParams.startDate=this.dateRange[0]
this.queryParams.endDate=this.dateRange[1]
let param={
startDate:this.queryParams.startDate,
endDate : this.queryParams.endDate,
id:'1'
}
console.log(param)
this.$modal.confirm(`是否开始数据同步"${this.queryParams.startDate}~${this.queryParams.endDate}"的数据项?`)
.then(() => {
//
this.loading = true;
//
return synchronous(param);
})
.then(response => {
//
this.loading = false;
this.$modal.msgSuccess("数据同步成功");
})
.catch(error => {
//
this.loading = false; //
if (error) {
this.$modal.msgError("数据同步失败:" + error.message || "未知错误");
}
});
}else{
this.$message({ message: '请先选择日期!', type: 'warning' })
}
},
submitEdit(){
let paramList = []
let hasError = false;

View File

@ -47,6 +47,12 @@
<el-table-column label="人员角色" align="center" prop="roleName" :show-overflow-tooltip="true" />
<el-table-column label="身份证号" align="center" prop="idNumber" :show-overflow-tooltip="true" />
<el-table-column label="手机号(登录名称)" align="center" prop="phone" :show-overflow-tooltip="true" />
<el-table-column label="是否参加考勤" align="center" :show-overflow-tooltip="true" >
<template slot-scope="scope">
<span v-if="scope.row.isAttend == '0'">{{''}}</span>
<span v-if="scope.row.isAttend == '1'">{{''}}</span>
</template>
</el-table-column>
<el-table-column label="人脸识别照片" align="center">
<template slot-scope="scope">
<span v-if="scope.row.isCheck == '0'">{{ '待审核' }}</span>
@ -254,9 +260,8 @@
exportUser,
resetPwd,
userTempFile,
updateIsFace, checkPersonAssignment
updateIsFace, checkPersonAssignment,listDeptTree
} from "@/api/system/userInfo";
import { listDept } from "@/api/system/dept";
import { getToken } from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@ -369,7 +374,7 @@
});
},
getDeptList(){
listDept().then(response => {
listDeptTree().then(response => {
this.deptOptions = this.handleTree(response.data, "id");
});
},