diff --git a/src/views/dashboard/topOne.vue b/src/views/dashboard/topOne.vue index fb5be99..9bae706 100644 --- a/src/views/dashboard/topOne.vue +++ b/src/views/dashboard/topOne.vue @@ -50,10 +50,10 @@
打卡地异常

{{ todayAbnormalBean.addressErrorNum }}

- + diff --git a/src/views/process/eightMembersVacancy/index.vue b/src/views/process/eightMembersVacancy/index.vue index 10f7c18..500de3d 100644 --- a/src/views/process/eightMembersVacancy/index.vue +++ b/src/views/process/eightMembersVacancy/index.vue @@ -233,6 +233,9 @@ export default { /** 缺员项目部数量 */ openVacancyDeptList(row) { this.title = '缺员情况' + this.queryVacancyDept.pageNum = 1 + this.queryVacancyDept.pageSize = 10 + this.queryVacancyDept.orgName = undefined this.queryVacancyDept.id = row.id this.showVacancyDept = true this.getUnderStaffingList() @@ -251,6 +254,9 @@ export default { /** 兼职项目部数量 */ openPartTimeJobList(row) { this.title = '兼职情况' + this.queryPartTime.pageNum = 1 + this.queryPartTime.pageSize = 10 + this.queryPartTime.orgName = undefined this.queryPartTime.id = row.id this.showPartTime = true this.getPartTimeList() diff --git a/src/views/process/evection/index.vue b/src/views/process/evection/index.vue index e8c2e85..3b8e499 100644 --- a/src/views/process/evection/index.vue +++ b/src/views/process/evection/index.vue @@ -194,7 +194,7 @@ - + + + + @@ -618,6 +622,7 @@ import { import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import { getDaysDate } from "@/api/process/leaveReporting"; +import { listDeptTree } from '@/api/system/userInfo' export default { name: "Evection", @@ -763,12 +768,14 @@ export default { }, }, daysNumber: "", + deptOptions:[], }; }, created() { this.getList(); this.getUserLists(); this.getPersonSelect(); + this.getDeptList(); }, methods: { async handleDateChange() { @@ -1055,6 +1062,25 @@ export default { } ); }, + getDeptList(){ + listDeptTree().then(response => { + this.deptOptions = this.handleTree(response.data, "id"); + }); + }, + /** 转换部门数据结构 */ + normalizer(node) { + if (node.children && !node.children.length) { + delete node.children; + } + return { + id: node.id, + label: node.orgName, + children: node.children + }; + }, + onSelect(selectedNode) { + this.form.orgName = selectedNode.orgName; + } }, }; diff --git a/src/views/process/leaveReporting/index.vue b/src/views/process/leaveReporting/index.vue index 704dbe0..5ab8672 100644 --- a/src/views/process/leaveReporting/index.vue +++ b/src/views/process/leaveReporting/index.vue @@ -130,7 +130,7 @@ - + + + @@ -401,7 +404,7 @@ import { } from "@/api/process/leaveReporting"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -import {getSelectRole} from "@/api/system/userInfo"; +import { getSelectRole, listDeptTree } from '@/api/system/userInfo' import {listDeptUser} from "@/api/system/dept"; // 转换函数 function transformToTypeList(data) { @@ -513,12 +516,14 @@ export default { }, }, daysNumber:"", + deptOptions:[], }; }, created() { this.getList(); this.getUserLists(); this.getLeaveReporting(); + this.getDeptList(); }, methods: { getLeaveReporting(){ @@ -736,6 +741,25 @@ export default { }) }) }, + getDeptList(){ + listDeptTree().then(response => { + this.deptOptions = this.handleTree(response.data, "id"); + }); + }, + /** 转换部门数据结构 */ + normalizer(node) { + if (node.children && !node.children.length) { + delete node.children; + } + return { + id: node.id, + label: node.orgName, + children: node.children + }; + }, + onSelect(selectedNode) { + this.form.orgName = selectedNode.orgName; + } } }; diff --git a/src/views/process/outApply/index.vue b/src/views/process/outApply/index.vue index 77be151..2a3ade6 100644 --- a/src/views/process/outApply/index.vue +++ b/src/views/process/outApply/index.vue @@ -148,7 +148,7 @@ - + + + + + @@ -294,6 +299,7 @@ import { import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import {getDaysDate} from "@/api/process/leaveReporting"; +import { listDeptTree } from '@/api/system/userInfo' export default { name: "OutApply", @@ -422,11 +428,13 @@ export default { }, }, daysNumber: "", + deptOptions:[], }; }, created() { this.getList(); this.getUserLists(); + this.getDeptList(); }, methods: { async handleDateChange() { @@ -674,6 +682,26 @@ export default { }) }, + getDeptList(){ + listDeptTree().then(response => { + this.deptOptions = this.handleTree(response.data, "id"); + }); + }, + /** 转换部门数据结构 */ + normalizer(node) { + if (node.children && !node.children.length) { + delete node.children; + } + return { + id: node.id, + label: node.orgName, + children: node.children + }; + }, + onSelect(selectedNode) { + this.form.orgName = selectedNode.orgName; + } + } }; diff --git a/src/views/process/outExam/index.vue b/src/views/process/outExam/index.vue index 4188fac..acf4656 100644 --- a/src/views/process/outExam/index.vue +++ b/src/views/process/outExam/index.vue @@ -8,6 +8,20 @@ + + + + + + 搜索 重置 @@ -308,6 +322,7 @@ export default { leaveType:"临时外出", userName: undefined, orgName: undefined, + examineStatus: undefined }, personOptions:[], typeList:[{value:'1',label:'固定班制'},{value:'2',label:'自由工时'}], diff --git a/src/views/process/restApply/index.vue b/src/views/process/restApply/index.vue index e3ac2ca..7c387ca 100644 --- a/src/views/process/restApply/index.vue +++ b/src/views/process/restApply/index.vue @@ -157,7 +157,7 @@ - + + + @@ -291,6 +294,7 @@ import { import Treeselect from '@riophae/vue-treeselect' import '@riophae/vue-treeselect/dist/vue-treeselect.css' import { getDaysDate } from '@/api/process/leaveReporting' +import { listDeptTree } from '@/api/system/userInfo' export default { name: 'RestApply', @@ -402,12 +406,14 @@ export default { return v.getTime() < today.getTime() } }, - daysNumber: '' + daysNumber: '', + deptOptions:[], } }, created() { this.getList() this.getUserLists() + this.getDeptList(); }, methods: { async handleDateChange() { @@ -638,6 +644,25 @@ export default { fileType: 'application/vnd.ms-excel;charset=utf-8' }) }) + }, + getDeptList(){ + listDeptTree().then(response => { + this.deptOptions = this.handleTree(response.data, "id"); + }); + }, + /** 转换部门数据结构 */ + normalizer(node) { + if (node.children && !node.children.length) { + delete node.children; + } + return { + id: node.id, + label: node.orgName, + children: node.children + }; + }, + onSelect(selectedNode) { + this.form.orgName = selectedNode.orgName; } } diff --git a/src/views/process/restExam/index.vue b/src/views/process/restExam/index.vue index 6bb6078..add784e 100644 --- a/src/views/process/restExam/index.vue +++ b/src/views/process/restExam/index.vue @@ -8,6 +8,22 @@ + + + + + + + + 搜索 重置 @@ -299,6 +315,7 @@ export default { leaveType:"轮休", userName: undefined, orgName: undefined, + examineStatus: undefined }, personOptions:[], typeList:[{value:'1',label:'固定班制'},{value:'2',label:'自由工时'}], diff --git a/src/views/report/attReport/check.vue b/src/views/report/attReport/check.vue index e2c42ae..68b068a 100644 --- a/src/views/report/attReport/check.vue +++ b/src/views/report/attReport/check.vue @@ -75,18 +75,10 @@ @@ -96,7 +88,14 @@ @@ -122,7 +122,13 @@ @@ -182,18 +196,22 @@ @@ -213,6 +231,7 @@
打卡地异常
出差
法定节假日
+
@@ -225,7 +244,11 @@ @@ -301,10 +324,12 @@ import BnsKkFilePreview from '@/views/bns-kkFile-preview' import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import { getToken } from '@/utils/auth' +import DictTag from './dictTag.vue'; + export default { name: "Check", dicts: ['att_status'], - components: {Treeselect,BnsKkFilePreview}, + components: {Treeselect,BnsKkFilePreview,DictTag}, data() { return { // 遮罩层 @@ -554,6 +579,17 @@ export default { } console.log(this.kkFilePreview) }, + + getStatusStyle(status) { + const styleMap = { + 2: { color: '#F1A4AD' }, // 迟到 + 3: { color: '#29C9C9' }, // 旷工 + 6: { color: '#14ACF0' }, // 请假 + 8: { color: '#DD1E36' } // 出入异常 + }; + return styleMap[status] || {}; + }, + } }; diff --git a/src/views/report/attReport/dictTag.vue b/src/views/report/attReport/dictTag.vue new file mode 100644 index 0000000..bf76826 --- /dev/null +++ b/src/views/report/attReport/dictTag.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/report/attReport/index.vue b/src/views/report/attReport/index.vue index d595311..6878866 100644 --- a/src/views/report/attReport/index.vue +++ b/src/views/report/attReport/index.vue @@ -568,8 +568,13 @@ export default { this.dialogList = selection.slice() }, openDialog() { - console.log(this.dialogList) if (this.dialogList.length > 0) { + this.dialogList.forEach(item => { + item.filesVoList = []; + item.toErrorRemake = ""; + item.offErrorRemake = ""; + }); + console.log(this.dialogList) this.open = true this.dialogListOld = JSON.parse(JSON.stringify(this.dialogList)) } else { @@ -725,15 +730,16 @@ export default { submitEdit() { let paramList = [] let hasError = false + let hasChanges = false; + this.dialogList.forEach((newItem, index) => { const oldItem = this.dialogListOld[index] - - // 检查toWorkAttCurrentTime或toWorkAttStatus是否改变 if ((newItem.toWorkAttCurrentTime !== oldItem.toWorkAttCurrentTime || newItem.toWorkAttStatus !== oldItem.toWorkAttStatus) && (!newItem.toErrorRemake || newItem.toErrorRemake === '' || !this.hasAttachments(newItem.filesVoList, '1') )) { hasError = true + hasChanges = true; this.$message({ message: '上班时间或状态改变时,原因说明、附件不能为空!', type: 'warning' }) } @@ -741,10 +747,10 @@ export default { if ((newItem.offWorkAttCurrentTime !== oldItem.offWorkAttCurrentTime || newItem.offWorkAttStatus !== oldItem.offWorkAttStatus) && (!newItem.offErrorRemake || newItem.offErrorRemake === '' || !this.hasAttachments(newItem.filesVoList, '1') )) { hasError = true + hasChanges = true; this.$message({ message: '下班时间或状态改变时,原因说明、附件不能为空!', type: 'warning' }) } - // 如果没有错误,则构建参数对象 if (!hasError) { let obj = { @@ -764,6 +770,11 @@ export default { } }) console.log("aa=",paramList) + if(!hasChanges){ + this.$message({ message: '没有数据变化,无需更新!', type: 'info' }); + return; + } + if (!hasError) { updateAttDetails(paramList).then(response => { if (response.code === 200) { diff --git a/src/views/system/userInfo/index.vue b/src/views/system/userInfo/index.vue index e287d9a..3980d1b 100644 --- a/src/views/system/userInfo/index.vue +++ b/src/views/system/userInfo/index.vue @@ -14,10 +14,8 @@
- - - + @@ -511,6 +509,7 @@ if (valid) { if (this.form.userId != undefined) { this.form.newFace = ""; + this.form.orgIds = [this.form.orgIds] console.log("人员修改",this.form); updateUser(this.form).then(response => { this.$modal.msgSuccess("修改成功");