From 20ac5d77e90d097245682de6b2c79d8e207f197d Mon Sep 17 00:00:00 2001
From: yunkexin <760754045@qq.com>
Date: Tue, 2 Jun 2026 08:44:23 +0800
Subject: [PATCH 1/5] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
manifest.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/manifest.json b/manifest.json
index 86e00b3..8a07ac8 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
"name" : "矿山安全生产标准化系统",
"appid" : "__UNI__DE7034E", //BBB1077
"description" : "厦钨矿山安全app",
- "versionName" : "1.0.009",
- "versionCode" : 10009,
+ "versionName" : "1.0.010",
+ "versionCode" : 10010,
"transformPx" : false,
/* 5+App特有相关 */
"app-plus" : {
From 11030ffae0eeb84370d91a4b1fdb9c05c1a20f09 Mon Sep 17 00:00:00 2001
From: yunkexin <760754045@qq.com>
Date: Tue, 2 Jun 2026 15:03:40 +0800
Subject: [PATCH 2/5] =?UTF-8?q?=E9=92=88=E5=AF=B9=E5=A4=9A=E9=80=89?=
=?UTF-8?q?=E4=BA=BA=E7=BB=84=E4=BB=B6=E7=9A=84=E5=85=A8=E9=80=89=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/custom/people-selector/index.vue | 83 ++++++++++++++-------
1 file changed, 56 insertions(+), 27 deletions(-)
diff --git a/components/custom/people-selector/index.vue b/components/custom/people-selector/index.vue
index d23deeb..43cc378 100644
--- a/components/custom/people-selector/index.vue
+++ b/components/custom/people-selector/index.vue
@@ -202,6 +202,23 @@
getUserLists(json).then(res => {
if (res.IsSuccessful) {
this.selfDepartmentUsers = res.Data
+ let num = 0
+ for (let task of this.selfDepartmentUsers) {
+ const itemJson = this.defaultChecked.filter(i => !i.IS_DELETED).find((item) => {
+ return item.NAME == task.NAME
+ })
+ if (itemJson) {
+ num = num + 1
+ }
+ }
+ this.checkedByAll = this.defaultChecked
+ if (num == this.selfDepartmentUsers.length && num !== 0) {
+ this.checkedByAll.push({
+ NAME: '全选',
+ IS_DELETED: false,
+ USER_ID: 'all',
+ })
+ }
}
})
}
@@ -209,23 +226,7 @@
// findAndAddUser(this.orgTree)
// }
findAndAddUser(this.orgTree)
- let num = 0
- for (let task of this.selfDepartmentUsers) {
- const itemJson = this.defaultChecked.filter(i => !i.IS_DELETED).find((item) => {
- return item.NAME == task.NAME
- })
- if (itemJson) {
- num = num + 1
- }
- }
- this.checkedByAll = this.defaultChecked
- if (num == this.selfDepartmentUsers.length && num !== 0) {
- this.checkedByAll.push({
- NAME: '全选',
- IS_DELETED: false,
- USER_ID: 'all',
- })
- }
+
},
@@ -385,16 +386,6 @@
})
}
}
- // arrayC.forEach(item => {
- // this.checkedByAll.push({
- // NAME: item.NAME,
- // IS_DELETED: item.IS_DELETED,
- // USER_ID: item.USER_ID,
- // })
-
- // })
-
- // TODO:
} else {
if (e.type === 'dep') {
this.handleExpandOrg({
@@ -430,6 +421,7 @@
// NAME: e.name
// }
})
+ this.checkAndUpdateAllSelectStatus()
}
}
} else {
@@ -471,10 +463,47 @@
item.IS_DELETED = true
}
})
+ this.checkAndUpdateAllSelectStatus()
}
}
}
},
+ // 检查并更新全选状态(当勾选人员时调用)
+ checkAndUpdateAllSelectStatus() {
+ // 只针对本部门人员检查
+ if (!this.selfDepartmentUsers || this.selfDepartmentUsers.length === 0) return
+
+ // 获取本部门所有人员的 ID
+ const allUserIds = this.selfDepartmentUsers.map(user => user.ID)
+
+ // 获取当前已选中(未删除)的本部门人员 ID
+ // 关键:过滤掉已删除的项
+ const selectedUserIds = this.checkedByAll
+ .filter(item => !item.IS_DELETED && item.USER_ID && item.USER_ID !== 'all')
+ .map(item => item.USER_ID)
+
+ // 检查是否所有本部门人员都被选中
+ const isAllSelected = allUserIds.length > 0 &&
+ allUserIds.every(id => selectedUserIds.includes(id))
+
+ // 检查全选项是否存在且未被删除
+ const allItem = this.checkedByAll.find(item => item.USER_ID === 'all')
+ const hasAllItem = allItem && !allItem.IS_DELETED
+
+ if (isAllSelected && !hasAllItem) {
+ // 全部选中了但全选项不存在,添加全选项
+ this.checkedByAll.push({
+ NAME: '全选',
+ IS_DELETED: false,
+ USER_ID: 'all',
+ })
+ } else if (!isAllSelected && hasAllItem) {
+ // 不是全部选中但全选项存在,移除全选项
+ if (allItem) {
+ allItem.IS_DELETED = true
+ }
+ }
+ },
removeChecked(value) {
this.checkedByAll.forEach(item => {
if (item.USER_ID === value.USER_ID) {
From 0914adb26da8715b0ccb670667ea8c77157c5718 Mon Sep 17 00:00:00 2001
From: yunkexin <760754045@qq.com>
Date: Tue, 2 Jun 2026 16:04:44 +0800
Subject: [PATCH 3/5] =?UTF-8?q?=E7=8F=AD=E5=89=8D=E4=BC=9A=E8=AE=AE?=
=?UTF-8?q?=E5=8F=82=E4=BC=9A=E4=BA=BA=E5=91=98=E5=8F=98=E4=B8=BA=E5=A4=9A?=
=?UTF-8?q?=E9=80=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../subPages/FO/1preShiftMeetingEdit.vue | 54 +++++++++++++++++--
1 file changed, 50 insertions(+), 4 deletions(-)
diff --git a/pages/apply/subPages/FO/1preShiftMeetingEdit.vue b/pages/apply/subPages/FO/1preShiftMeetingEdit.vue
index 3ae4a70..2b03d8f 100644
--- a/pages/apply/subPages/FO/1preShiftMeetingEdit.vue
+++ b/pages/apply/subPages/FO/1preShiftMeetingEdit.vue
@@ -33,11 +33,19 @@
附件:
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 签到
+ 签到
@@ -89,48 +94,75 @@
import {
initFilter,
extendRule,
- extendInclude
+ extendInclude,
+ transformData
} from '../../../../utils/common'
import {
getRequest,
} from '../../../../services/apply/FOServices/FOServices'
+ import {
+ GetEnumAnyOrder
+ } from '../../../../services/common';
import '../../../../utils/showMsg.js'
import config from '../../../../config/common'
export default {
data() {
return {
ID: "",
+ listPropUpload: [],
+ listPropValUpload: [],
model: {},
TaskID: "",
tableKey: '0',
isLoadOK: false,
paddingBottom: '170',
orgId: uni.getStorageSync('orgId'),
+ enumsData: {}, // 存储所有枚举数据(键:枚举名称,值:处理后的枚举列表)
+ enumsText: {} // 存储枚举文本列表(用于下拉选择等场景)
}
},
onLoad(option) {
this.ID = option.ID;
this.TaskID = option.taskID;
this.tableKey = option.tableKey ? option.tableKey : '0'
- this.loadData()
+ this.fetchEnums(['SEThreeLevelSafeTrainType', 'TrainType', 'SEExaminationResultsEnum']);
},
methods: {
+ fetchEnums(enumNames) {
+ var dataParm = {
+ 'name': enumNames.join('|')
+ }
+ GetEnumAnyOrder(dataParm).then(res => {
+ let newd = transformData(res, enumNames)
+ this.enumsData = newd[0];
+ // 生成文本列表(如需要)
+ this.enumsText = newd[1]
+ this.loadData();
+ })
+ },
loadData() {
const json = initFilter(this.orgId, "", "CODE", 1)
extendRule(json, 'ID', 1, this.ID);
- extendInclude(json, 'Nav_User');
- extendInclude(json, 'Nav_Department');
- extendInclude(json, 'Nav_Post');
extendInclude(json, 'Nav_NewUser.Nav_Department');
extendInclude(json, 'Nav_NewUser.Nav_User');
extendInclude(json, 'Nav_NewUser.Nav_Content');
+ extendInclude(json, 'Nav_NewUser.Nav_Files.Nav_ImgFile');
+ extendInclude(json, 'Nav_NewUser.Nav_Teachers.Nav_User');
+ extendInclude(json, 'Nav_User');
+ extendInclude(json, 'Nav_Department');
+ extendInclude(json, 'Nav_Post');
extendInclude(json, 'Nav_Files.Nav_ImgFile');
getRequest(json, "/SE/NewUserDetail/Get").then(res => {
let currUserId = uni.getStorageSync('appInfo')?.User?.ID;
- res.Nav_NewUser.TRAIN_MODEL = this.returnModel(res.Nav_NewUser.TRAIN_MODEL);
- res.EXAMINATION_RESULTS = res.EXAMINATION_RESULTS == 0 ? "不合格" : "合格";
this.model = res
this.model.IN_TIME = this.model.IN_TIME.substring(0, 10);
+ if (this.model.Nav_NewUser) {
+ this.model.Nav_NewUser.TRAIN_STATUS_NAME = res.Nav_NewUser.TRAIN_STATUS !== undefined ? this.enumsData['SEThreeLevelSafeTrainType'].find(item => item.code === res.Nav_NewUser.TRAIN_STATUS)
+ .name : '';
+ this.model.Nav_NewUser.TRAINTYPE_NAME = res.Nav_NewUser.TRAINTYPE !== undefined ? this.enumsData['TrainType'].find(item => item.code === res.Nav_NewUser.TRAINTYPE).name : '';
+
+ }
+ this.model.EXAMINATION_RESULTS_NAME = res.EXAMINATION_RESULTS !== undefined ? this.enumsData['SEExaminationResultsEnum'].find(item => item.code === res.EXAMINATION_RESULTS).name : '';
this.isLoadOK = true;
})
},
@@ -171,10 +203,12 @@