人员信息、出差报备功能修改
This commit is contained in:
parent
9e602bbddc
commit
e29bfdbd53
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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({
|
||||
|
|
|
|||
|
|
@ -54,3 +54,14 @@ export function listDept(query) {
|
|||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 数据同步
|
||||
export function synchronous(data) {
|
||||
return request({
|
||||
url: '/system/attDetails/synchronous',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -115,3 +115,11 @@ export function checkPersonAssignment(data) {
|
|||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function listDeptTree(query) {
|
||||
return request({
|
||||
url: '/system/org/listTree',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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:[]
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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:[]
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
});
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue