前端提交

This commit is contained in:
zzyuan 2024-10-17 15:40:55 +08:00
parent 22d9a2e416
commit 38d053ae65
6 changed files with 137 additions and 104 deletions

View File

@ -0,0 +1,11 @@
import request from '@/utils/request'
// 查询用户列表
export function listNotice(query) {
return request({
url: '/system/notice/list',
method: 'get',
params: query
})
}

View File

@ -63,3 +63,12 @@ export function getSelectRole(query) {
params: query
})
}
// 人员下拉
export function getPersonSelect(query) {
return request({
url: '/system/user/getSelectUser',
method: 'get',
params: query
})
}

View File

@ -141,10 +141,12 @@ export default {
.chart-box{
width: 100%;
height: 400px;
overflow-x: auto;
}
}
.org-tree-node-label {
// white-space: nowrap;
::v-deep.org-tree-container .org-tree .org-tree-node .org-tree-node-label {
white-space: nowrap;
font-size: 12px!important;
}
.bg-white {
background-color: chocolate;

View File

@ -54,16 +54,16 @@
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column prop="orgName" label="部门名称" width="260"></el-table-column>
<el-table-column prop="orgHeadUserName" label="部门负责人" width="200"></el-table-column>
<el-table-column prop="orgHeadUserName" label="部门负责人" width="300"></el-table-column>
<el-table-column prop="attendanceUserName" label="考勤员" width="200"></el-table-column>
<el-table-column prop="isProvince" label="省内、外" width="100">
<template slot-scope="scope">
<!-- <div v-if="scope.row.isProvince==1">省内</div>
<div v-if="scope.row.isProvince==0">省外</div> -->
<div v-if="scope.row.isProvince==1">省内</div>
<div v-if="scope.row.isProvince==0">省外</div>
<!-- <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.isProvince"/> -->
</template>
</el-table-column>
<el-table-column prop="address" label="位置"></el-table-column>
<el-table-column prop="address" label="位置" width="300" :show-overflow-tooltip="true"></el-table-column>
<!-- <el-table-column label="创建时间" align="center" prop="createTime" width="200">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
@ -111,8 +111,15 @@
<el-row>
<el-col :span="24">
<el-form-item label="部门负责人" prop="orgHeadUserId">
<treeselect v-model="form.orgHeadUserId" :flat="true" :options="personOptions" :normalizer="normalizer2" placeholder="选择部门负责人" @select="handleSelect1"/>
<el-form-item label="部门负责人" prop="orgHeadUserIdList">
<el-select v-model="form.orgHeadUserIdList" multiple placeholder="部门负责人" clearable style="width: 100%;">
<el-option
v-for="item in personOptions"
:key="item.userIds"
:label="item.userName"
:value="item.userIds"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -120,14 +127,21 @@
<el-row>
<el-col :span="24">
<el-form-item label="考勤员" prop="attendanceUserId">
<treeselect v-model="form.attendanceUserId" :flat="true" :options="personOptions" :normalizer="normalizer2" placeholder="选择考勤员" @select="handleSelect2"/>
<el-select v-model="form.attendanceUserId" placeholder="考勤员" clearable style="width: 100%;">
<el-option
v-for="item in personOptions"
:key="item.userId"
:label="item.userName"
:value="item.userId"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="省份" prop="province">
<el-select v-model="form.province" placeholder="省份" clearable>
<el-select v-model="form.province" placeholder="省份" clearable style="width: 100%;">
<el-option
v-for="item in provinceList"
:key="item"
@ -145,7 +159,7 @@
<el-radio
v-for="item in isProvinceList"
:key="item.id"
:label="item.id"
:label="item.id"
>{{item.name}}</el-radio>
</el-radio-group>
</el-form-item>
@ -182,6 +196,7 @@
<script>
import { listDept, getDept, delDept, addDept, updateDept,orgPersonSelect } from "@/api/system/dept";
import { getPersonSelect } from "@/api/system/userInfo";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@ -215,52 +230,50 @@ export default {
},
isProvinceList:[{id:'1',name:'省内'},{id:'2',name:'省外'}],
isDepartmentList:[{id:'0',name:'否'},{id:'1',name:'是'}],
provinceList:["北京","上海","天津",
"重庆",
"河北",
"山西",
"内蒙古",
"辽宁",
"吉林",
"黑龙江",
"江苏",
"浙江",
"安徽",
"福建",
"江西",
"山东",
"河南",
"湖北",
"湖南",
"广东",
"广西",
"海南",
"四川",
"贵州",
"云南",
"西藏",
"陕西",
"甘肃",
"宁夏",
"青海",
"新疆",
"香港",
"澳门",
"台湾"],
provinceList:["北京","上海","天津","重庆","河北","山西","内蒙古","辽宁","吉林","黑龙江","江苏","浙江","安徽","福建","江西","山东","河南","湖北","湖南","广东","广西","海南","四川","贵州","云南","西藏","陕西","甘肃","宁夏","青海","新疆","香港","澳门","台湾"],
//
form: {},
//
rules: {
rules: {
parentId: [
{ required: true, message: "上级部门不能为空", trigger: "blur" }
],
orgName: [
{ required: true, message: "部门名称不能为空", trigger: "blur" }
],
orgHeadUserIdList: [
{ required: true, message: "部门负责人不能为空", trigger: "blur" }
],
attendanceUserId: [
{ required: true, message: "考勤员不能为空", trigger: "blur" }
],
province: [
{ required: true, message: "省份不能为空", trigger: "blur" }
],
isProvince: [
{ required: true, message: "省内外不能为空", trigger: "blur" }
],
isDepartment: [
{ required: true, message: "是否项目部不能为空", trigger: "blur" }
],
address: [
{ required: true, message: "位置不能为空", trigger: "blur" }
]
}
};
},
mounted() {
this.getList();
this.orgPersonSelect();
this.getPersonSelect();
},
methods: {
/** 人员选择下拉 */
getPersonSelect() {
getPersonSelect().then(response => {
this.personOptions=response.data
// console.log(this.personOptions)
});
},
/** 查询部门列表 */
getList() {
this.loading = true;
@ -280,16 +293,6 @@ export default {
children: node.children
};
},
normalizer2(node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.id,
label: node.name,
children: node.children
};
},
//
cancel() {
this.open = false;
@ -301,10 +304,9 @@ export default {
parentId: undefined,
orgName: undefined,
address: undefined,
attendanceUserId: undefined,
attendanceUserName: undefined,
orgHeadUserId: undefined,
orgHeadUserName: undefined,
attendanceUserId: undefined,
orgHeadUserId: undefined,
orgHeadUserIdList: [],
province: undefined,
isProvince: "1",
isDepartment: "0",
@ -332,36 +334,6 @@ export default {
this.deptOptions = this.handleTree(response.data, "id");
});
},
/** 人员选择下拉 */
orgPersonSelect() {
orgPersonSelect().then(response => {
this.personOptions=this.changeData(response.data);
// this.personOptions = this.handleTree(response.data, "id");
console.log(this.personOptions)
});
},
//
changeData(data) { //
data.map(item => {
if (!item.disabled) {
item.isDisabled = false
} else if (item.disabled){
item.isDisabled = true
}
item.children && item.children.length > 0 && this.changeData(item.children);
})
return data;
},
handleSelect1(value, instanceId) {
console.log('Selected:', value);
//
this.form.orgHeadUserName=value.name;
},
handleSelect2(value, instanceId) {
console.log('Selected:', value);
//
this.form.attendanceUserName=value.name;
},
/** 展开/折叠操作 */
toggleExpandAll() {
this.refreshTable = false;
@ -378,6 +350,9 @@ export default {
if(!this.form.parentId){
this.form.parentId=0
}
if(this.form.orgHeadUserId!=null){
let arr = this.form.orgHeadUserId.split(',')
}
this.open = true;
this.title = "修改部门";
listDept().then(response => {
@ -389,6 +364,7 @@ export default {
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
this.form.orgHeadUserId=this.form.orgHeadUserIdList.join(',')
if (this.form.id != undefined) {
updateDept(this.form).then(response => {
this.$modal.msgSuccess("修改成功");

View File

@ -11,10 +11,29 @@
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="消息内容" align="center" prop="msgContent" />
<el-table-column label="标题" align="center" prop="title" :show-overflow-tooltip="true" >
<template slot-scope="scope">
<div v-if="scope.row.addressErrorNum!=0" @click="goJump(scope.row.title)" style="color: #02a7f0; cursor: pointer">
{{ scope.row.title}}
</div>
</template>
</el-table-column>
<el-table-column label="消息内容" align="center" prop="content" :show-overflow-tooltip="true" >
<template slot-scope="scope">
<div v-if="scope.row.addressErrorNum!=0" @click="goJump(scope.row.title)" style="color: #02a7f0; cursor: pointer">
{{ scope.row.content}}
</div>
</template>
</el-table-column>
<el-table-column label="提交人" align="center" prop="userName" :show-overflow-tooltip="true" />
<el-table-column label="提交时间" align="center" prop="createTime" :show-overflow-tooltip="true"/>
<el-table-column label="状态" align="center" prop="status" :show-overflow-tooltip="true" />
<el-table-column label="提交时间" align="center" prop="creatTime" :show-overflow-tooltip="true"/>
<el-table-column label="状态" align="center" prop="isRead" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div v-if="scope.row.isRead==1">已处理</div>
<div v-if="scope.row.isRead==0">未处理</div>
<!-- <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.isProvince"/> -->
</template>
</el-table-column>
</el-table>
<pagination
@ -28,7 +47,7 @@
</template>
<script>
import { listUser } from "@/api/system/userInfo";
import { listNotice } from "@/api/system/messages";
export default {
name: "Dict",
dicts: ['sys_normal_disable'],
@ -63,28 +82,43 @@
};
},
created() {
// this.getList();
this.getList();
},
methods: {
handleClick(tab, event) {
console.log(tab.name);
if(tab.name=="all"){
this.queryParams.isRead=""
}
if(tab.name=="unCare"){
this.queryParams.isRead="0"
}
this.handleQuery()
},
/** 查询列表 */
getList() {
// this.loading = true;
// listUser(this.queryParams).then(response => {
// this.tableList = response.rows;
// this.total = response.total;
// this.loading = false;
// }
// );
this.loading = true;
listNotice(this.queryParams).then(response => {
this.tableList = response.rows;
this.total = response.total;
this.loading = false;
}
);
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
goJump(title){
if(title.indexOf('异常考勤统计')>-1){
this.$router.replace({ path: '/attendanceReport/monthlyError' })
}else if(title.indexOf('轮休外出办事异常统计')>-1){
this.$router.replace({ path: '/exceptionHandle/errorData' })
}else if(title.indexOf('角色未配置')>-1){
this.$router.replace({ path: '/process/roles'})
}
}
}
};

View File

@ -10,7 +10,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="部门名称" prop="dictType">
<el-form-item label="部门名称" prop="orgId">
<treeselect v-model="queryParams.orgId" :options="deptOptions" :normalizer="normalizer" placeholder="选择部门" style="width: 240px"/>
</el-form-item>
<el-form-item>
@ -154,6 +154,7 @@
<script>
import { listUser, getUserById, delUser, addUser, updateUser, getSelectRole, exportUser } 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";
export default {