|
|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
- <el-row :gutter="24">
|
|
|
+ <el-row :gutter="24" >
|
|
|
<el-col :span="6">
|
|
|
<div class="block">
|
|
|
<el-date-picker
|
|
|
@@ -17,7 +17,8 @@
|
|
|
|
|
|
</el-col>
|
|
|
<el-col :span="18">
|
|
|
-
|
|
|
+ <el-header style="background-color: green">111</el-header>
|
|
|
+ <el-main style="background-color: darkslategray;height: auto">eeee</el-main>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
@@ -32,10 +33,12 @@
|
|
|
<el-radio v-model="editForm.scoreType" label="1">月度评分</el-radio>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="被评分人:">
|
|
|
- <el-input size="mini" v-model="editForm.scoreUsers" style="width: 250px"></el-input>
|
|
|
+ <el-input type="textarea" autosize size="mini" v-model="editForm.scoreUsers" :readonly="true" style="width: 250px">
|
|
|
+ </el-input>
|
|
|
+ <el-button @click="openUsers1()" style="margin-left: 5px;" icon="el-icon-search" type="primary"></el-button>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="评分年月:">
|
|
|
- <el-select size="mini" clearable filterable v-model="editForm.dateId" placeholder="请选择评分年月">
|
|
|
+ <el-select style="width: 250px" size="mini" clearable filterable v-model="editForm.dateId" placeholder="请选择评分年月">
|
|
|
<el-option v-for="(item,index) in dateDatas" :key="index" :label="item.year+'年'+item.month+'月'" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -56,14 +59,38 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
+ <el-dialog title="选择人员" :visible.sync="users1Visble" width="30%" @click="closeUser1Dialog"
|
|
|
+ :close-on-click-modal="false">
|
|
|
+ <el-input placeholder="输入关键字进行过滤" v-model="filterText">
|
|
|
+ </el-input>
|
|
|
+ <el-tree
|
|
|
+ ref="dept1"
|
|
|
+ :data="userList"
|
|
|
+ node-key="id"
|
|
|
+ :props="{label:'name'}"
|
|
|
+ :default-expand-all="false"
|
|
|
+ show-checkbox
|
|
|
+ :filter-node-method="filterNode">
|
|
|
+ </el-tree>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="mini" @click="closeUser1Dialog">取消</el-button>
|
|
|
+ <el-button size="mini" type="primary" class="title" @click="submitUser1Form('editForm')">确定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { getDateDataList } from '@/api/performance/performance'
|
|
|
+import { addPerformanceScoreSet, getDateDataList } from '@/api/performance/performance'
|
|
|
+import { getDeptUserTree } from '@/api/system/user'
|
|
|
|
|
|
export default {
|
|
|
name: 'performance',
|
|
|
+ watch: {
|
|
|
+ filterText(val) {
|
|
|
+ this.$refs.dept1.filter(val);
|
|
|
+ },
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
yearValue:'2024',
|
|
|
@@ -73,10 +100,16 @@ export default {
|
|
|
name:'',
|
|
|
scoreType:'0',
|
|
|
scoreUsers:null,
|
|
|
+ scoreUserss:null,
|
|
|
beginDate:null,
|
|
|
endDate:null,
|
|
|
- dateId:null
|
|
|
+ dateId:null,
|
|
|
+ year:null,
|
|
|
+ month:null
|
|
|
},
|
|
|
+ users1Visble:false,
|
|
|
+ filterText: '',
|
|
|
+ userList:[],
|
|
|
dateDatas:[],
|
|
|
monthDatas:[],
|
|
|
data: [{
|
|
|
@@ -106,9 +139,14 @@ export default {
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
|
-
|
|
|
+ this.getUsers()
|
|
|
},
|
|
|
methods: {
|
|
|
+ getUsers(){
|
|
|
+ getDeptUserTree('1').then(res => {
|
|
|
+ this.userList = res.data
|
|
|
+ });
|
|
|
+ },
|
|
|
handleNodeClick(data) {
|
|
|
console.log(data);
|
|
|
},
|
|
|
@@ -117,6 +155,8 @@ export default {
|
|
|
},
|
|
|
addScoreWin(){
|
|
|
this.getDateDataLists();
|
|
|
+ this.editForm.scoreUsers = null
|
|
|
+ this.editForm.scoreUserss = null
|
|
|
this.editFormVisible=true;
|
|
|
},
|
|
|
closeDialog(){
|
|
|
@@ -133,12 +173,94 @@ export default {
|
|
|
let d=data[i]
|
|
|
if(d.year===currentYear && d.month===currentMonth){
|
|
|
this.editForm.dateId=d.id;
|
|
|
+ this.editForm.year=d.year
|
|
|
+ this.editForm.month=d.month
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ openUsers1() {
|
|
|
+ this.users1Visble = true
|
|
|
+ },
|
|
|
+ closeUser1Dialog(){
|
|
|
+ this.users1Visble = false
|
|
|
+ },
|
|
|
+ submitUser1Form() {
|
|
|
+ //获取选中的节点
|
|
|
+ let node = this.$refs.dept1.getCheckedNodes();
|
|
|
+ if (node == undefined || node == null || node.length === 0) {
|
|
|
+ this.$message({
|
|
|
+ message: '请选择人员数据!',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let userList = []
|
|
|
+ let userName = ''
|
|
|
+ let saveUsers = []
|
|
|
+ node.forEach(item => {
|
|
|
+ if (item.type === 'u') {
|
|
|
+ userList.push(item);
|
|
|
+ userName += item.name + '、';
|
|
|
+ saveUsers.push({
|
|
|
+ id: item.id,
|
|
|
+ name: item.name
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ userName = userName.substring(0, userName.length - 1);
|
|
|
+ if (userList.length === 0) {
|
|
|
+ this.$message({
|
|
|
+ message: '请选择人员!',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.editForm.scoreUsers = userName
|
|
|
+ this.editForm.scoreUserss = saveUsers
|
|
|
+ this.closeUser1Dialog();
|
|
|
+ },
|
|
|
submitForm(){
|
|
|
- alert('提交')
|
|
|
+ let editForm = this.editForm
|
|
|
+ let name=editForm.name
|
|
|
+ if(name===null || name===''){
|
|
|
+ this.$message.warning("请输入评分名称!")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let scoreUsers=editForm.scoreUsers
|
|
|
+ if(scoreUsers===null || scoreUsers===''){
|
|
|
+ this.$message.warning("请选择被评分人员!")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let dateId=editForm.dateId
|
|
|
+ if(dateId===null){
|
|
|
+ this.$message.warning("请选择评分年月!")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let beginDate=editForm.beginDate
|
|
|
+ if(beginDate===null || beginDate===''){
|
|
|
+ this.$message.warning("请选择评分开始日期!")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let endDate=editForm.endDate
|
|
|
+ if(endDate===null || endDate===''){
|
|
|
+ this.$message.warning("请选择评分结束日期!")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //提交表单
|
|
|
+ addPerformanceScoreSet(editForm).then(res=>{
|
|
|
+ this.$message.success("操作成功!")
|
|
|
+ this.editFormVisible=false;
|
|
|
+ this.getDateDataLists();
|
|
|
+ });
|
|
|
+
|
|
|
+ },
|
|
|
+ filterNode(value, data) {
|
|
|
+ if (!value) {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ ;
|
|
|
+ return data.name.indexOf(value) !== -1;
|
|
|
}
|
|
|
}
|
|
|
}
|