From 9b8f7bfadfdcaea8a3ef34592b4c3be2dcdd1258 Mon Sep 17 00:00:00 2001 From: yunkexin <760754045@qq.com> Date: Fri, 23 Jan 2026 15:04:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E6=84=8F=E8=AF=86=E8=B0=83?= =?UTF-8?q?=E6=9F=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/apply/subPages/SE/11safeSurveyEdit.vue | 40 +- pages/apply/subPages/SE/11safeSurveyList.vue | 35 +- pages/apply/subPages/SE/11safeSurveyShow.vue | 417 ++++++++++--------- 3 files changed, 244 insertions(+), 248 deletions(-) diff --git a/pages/apply/subPages/SE/11safeSurveyEdit.vue b/pages/apply/subPages/SE/11safeSurveyEdit.vue index 83ff183..13df4c8 100644 --- a/pages/apply/subPages/SE/11safeSurveyEdit.vue +++ b/pages/apply/subPages/SE/11safeSurveyEdit.vue @@ -148,7 +148,6 @@ loadData() { if (this.ID == undefined || this.ID == '') { this.stepLoad = false - this.model.Nav_Details = [] if (this.ID == undefined || this.ID == '') this.ID = guid() this.model.ID = this.ID @@ -356,33 +355,18 @@ }, submit() { this.modelEdit = JSON.parse(JSON.stringify(this.model)) - delete this.modelEdit.Nav_ApplyDepartment - delete this.modelEdit.Nav_ApplyUser - delete this.modelEdit.Nav_Area - delete this.modelEdit.Nav_FireDepartment - delete this.modelEdit.Nav_FireUser - delete this.modelEdit.Nav_OperationStep - delete this.modelEdit.Nav_ProductionUnit - delete this.modelEdit.Nav_SafeUser - delete this.modelEdit.Nav_Type - if(this.model.Nav_JoinDepartment&&this.model.Nav_JoinDepartment.length>0){ - this.model.Nav_JoinDepartment.map(item=>{ - delete item.Nav_Department - }) - } - if (this.modelEdit.Nav_Users && this.modelEdit.Nav_Users.length > 0) { - this.modelEdit.Nav_Users.map(item => { - item.PUBLISH = 'SaveAndNotify' - delete item.Nav_Train - delete item.Nav_User - delete item.Nav_UserType - if (item.Nav_UserFiles && item.Nav_UserFiles.length > 0) { - item.Nav_UserFiles.map(item1 => { - item1.FIRE_JOB_USER_ID = item.ID - }) - } - }) - } + // if(this.modelEdit.Nav_JoinDepartment&&this.modelEdit.Nav_JoinDepartment.length>0){ + // this.modelEdit.Nav_JoinDepartment.map(item=>{ + // delete item.Nav_Department + // }) + // } + // if(this.modelEdit.Nav_Points&&this.modelEdit.Nav_Points.length>0){ + // this.modelEdit.Nav_Points.map(item=>{ + // delete item.Nav_Point + // }) + // } + + if (this.TaskID == null || this.TaskID == '') { this.modelEdit.TaskID = '00000000-0000-0000-0000-000000000000' diff --git a/pages/apply/subPages/SE/11safeSurveyList.vue b/pages/apply/subPages/SE/11safeSurveyList.vue index 2722819..0a0bc80 100644 --- a/pages/apply/subPages/SE/11safeSurveyList.vue +++ b/pages/apply/subPages/SE/11safeSurveyList.vue @@ -24,24 +24,21 @@ {{item.Nav_LaunchUser?item.Nav_LaunchUser.NAME:''}} - 培训类型: - {{item.Nav_TrainType?item.Nav_TrainType.NAME:''}} + 发起部门: + {{item.Nav_LaunchDepartment?item.Nav_LaunchDepartment.NAME:''}} - 培训开始时间: - {{item.TRAIN_START_TIME}} + 发起时间: + {{item.LAUNCH_TIME}} - 培训结束时间: - {{item.TRAIN_END_TIME}} - - - 考核方式: - {{item.CHECKTYPE_NAME}} + 截止时间: + {{item.END_TIME}} + 状态: - {{item.STATUS}} + {{item.STATUS}} @@ -90,7 +87,7 @@ } }, onLoad() { - this.fetchEnums(['SETrainNotifyStatus','PlanCheckType']); + this.fetchEnums(['SESafeSurveyStatus']); }, methods: { async fetchEnums(enumNames) { @@ -144,25 +141,23 @@ const json = initFilter(orgId, "", "CREATE_TIME", 1, this.pageIndex) extendInclude(json, "Nav_LaunchDepartment") extendInclude(json, "Nav_LaunchUser") - extendInclude(json, "Nav_TrainType") // extendInclude(json, "Nav_TrainCheckType") if (this.keyword) { extendRule(json, 'NAME', 9, this.keyword) } if (this.searchStartTime) { - extendRule(json, 'TRAIN_START_TIME', 6, this.searchStartTime) + extendRule(json, 'LAUNCH_TIME', 6, this.searchStartTime) } if (this.filterStatus !== null) { extendRule(json, 'STATUS', 1, this.filterStatus) } - getRequestOrderPage(json, "/SE/TrainNotify/OrderPaged").then(res => { + getRequestOrderPage(json, "/SE/SafeSurvey/OrderPaged").then(res => { this.total = res.TotalCount; let newRes = (res.Data || []).map(i => { return { ...i, title: i.NAME, - STATUS: i.STATUS !== undefined ? this.enumsData['SETrainNotifyStatus'].find(item => item.code === i.STATUS).name : '', - CHECKTYPE_NAME:i.CHECKTYPE !== undefined ? this.enumsData['PlanCheckType'].find(item => item.code === i.CHECKTYPE).name : '', + STATUS: i.STATUS !== undefined ? this.enumsData['SESafeSurveyStatus'].find(item => item.code === i.STATUS).name : '', } }) @@ -175,7 +170,7 @@ }, showDetail(id) { uni.navigateTo({ - url: '/pages/apply/subPages/SE/1trainNotifyShow?ID=' + id + url: '/pages/apply/subPages/SE/11safeSurveyShow?ID=' + id }) }, handleShowPicker(p) { @@ -184,7 +179,7 @@ column = ['全部', '当天', '最近三天', '最近一周', '最近一月'] } if (p.name === 'status') { - column = this.enumsText['SETrainNotifyStatus'] + column = this.enumsText['SESafeSurveyStatus'] } this.comPickerInfo = { showPicker: true, @@ -212,7 +207,7 @@ } } if (this.comPickerInfo.name === 'status') { - this.filterStatus = this.enumsData['SETrainNotifyStatus'][e.indexs[0]].code + this.filterStatus = this.enumsData['SESafeSurveyStatus'][e.indexs[0]].code this.statusFilterTxt = e.value[0] } this.closePicker() diff --git a/pages/apply/subPages/SE/11safeSurveyShow.vue b/pages/apply/subPages/SE/11safeSurveyShow.vue index 46d5d08..b4655fa 100644 --- a/pages/apply/subPages/SE/11safeSurveyShow.vue +++ b/pages/apply/subPages/SE/11safeSurveyShow.vue @@ -1,91 +1,67 @@ @@ -118,134 +94,78 @@ listPropUpload: ['NOTIFY_ID'], listPropValUpload: [], Lists: [], + type: '部门', + ROWS: [], + comPickerInfo: { + showSheet: false, + columns: [], + title: '', + dataIndex: undefined, + formIndex: undefined, + name: '' + }, } }, onLoad(option) { this.model.ID = option.ID; + this.model.ORG_ID_HV = option.ORG_ID_HV this.TaskID = option.taskID; this.tableKey = option.tableKey ? option.tableKey : '0' - - this.getEnums() + + this.loadData() }, methods: { - getEnums(){ - var dataParm = { - 'name': "PlanCheckType" - } - getEnum(dataParm).then(res => { - this.Lists = res.map(i => { - return { - ...i, - name: i.NAME, - } - }) - this.loadData() - }) - }, loadData() { const json = initFilter(this.orgId, "", "CODE", 1) - extendRule(json, 'ID', 1, this.model.ID); - extendInclude(json, 'Nav_LaunchDepartment'); - extendInclude(json, 'Nav_LaunchUser'); - extendInclude(json, 'Nav_TrainType'); - // extendInclude(json, 'Nav_TrainCheckType'); - extendInclude(json, 'Nav_TrainContentList'); - extendInclude(json, 'Nav_TrainContentList.Nav_Point'); - extendInclude(json, 'Nav_TrainUserList'); - extendInclude(json, 'Nav_TrainUserList.Nav_User'); - extendInclude(json, 'Nav_Files.Nav_ImgFile'); - getRequest(json, "/SE/TrainNotify/Get").then(res => { - this.model = res - let trainContent = ''; - let users = ''; - if (res.Nav_TrainContentList && res.Nav_TrainContentList.length > 0) { - for (let i = 0; i < res.Nav_TrainContentList.length; i++) { - trainContent += (i + 1) + "." + res.Nav_TrainContentList[i].Nav_Point.NAME + "
" - } - } - if (res.Nav_TrainUserList && res.Nav_TrainUserList.length > 0) { - for (let i = 0; i < res.Nav_TrainUserList.length; i++) { - if (res.Nav_TrainUserList[i].IS_LEAVE == 0) { - users += (users.length > 0 ? " " : "") + - "" + - res.Nav_TrainUserList[i].Nav_User.NAME + ""; - } else if (res.Nav_TrainUserList[i].IS_LEAVE == 1) { - users += (users.length > 0 ? " " : "") + - "" + - res.Nav_TrainUserList[i].Nav_User.NAME + ""; - } else if (res.Nav_TrainUserList[i].IS_LEAVE == 2) { - users += (users.length > 0 ? " " : "") + - "" + - res.Nav_TrainUserList[i].Nav_User.NAME + "(请假)"; - } - } - } - this.model.CHECKTYPE_NAME = res.CHECKTYPE !== undefined ? this.Lists.find(item => item.ID === res.CHECKTYPE).name : ''; - this.model.TRAIN_MODEL = this.returnModel(this.model.TRAIN_MODEL); - this.model.LEVEL = this.transLevel(this.model.LEVEL); - this.model.TRAINCONTENT = trainContent; - this.model.users = users; + json.Parameter22 = this.model.ORG_ID_HV; + json.OrgType = 2; + json.Parameter3 = this.type; + json.Parameter1 = this.model.ID; + + getRequest(json, "/SE/SESafeSurvey/GetReport").then(res => { + this.model = res.SURVEY[0] + this.ROWS = res.ROWS this.isLoadOK = true; }) }, - returnModel(level) { - let str = ''; - if (level == undefined) { - return str; - } - if (level.indexOf('1') >= 0) { - str += '讲授法 '; - } - if (level.indexOf('2') >= 0) { - str += '视听法 '; - } - if (level.indexOf('3') >= 0) { - str += '研讨法 '; - } - if (level.indexOf('4') >= 0) { - str += '演示法 '; - } - return str; - }, - transLevel(level) { - if (level == 0) { - return '部门 '; - } - if (level == 1) { - return '车间 '; - } - if (level == 2) { - return '班组 '; - } - if (level == 3) { - return '公司 '; + //下拉数据加载 + async handleShowSheet(p) { + const orgId = uni.getStorageSync('orgId') + const json = initFilter(orgId, "", "", 0) + let dataSelect = ['部门', '人员', '岗位'] + if (dataSelect.length) { + this.comPickerInfo = { + showSheet: true, + title: p.title, + name: p.name, + dataIndex: p.dataIndex, + columns: [dataSelect] + } + } else { + // 暂无数据 } }, - onChargeUserAgree(type) { - if (type == 2) { - if (this.LEAVE_REASON == "" || this.LEAVE_REASON == null) { - uni.$showMsgFunc('请填写请假理由!', () => { - }, 'error', 1000); - return - } - } - let json = { - USER_ID: uni.getStorageSync('appInfo').User.ID, - ORG_ID: this.ORG_ID, - NOTIFY_ID: this.model.ID, - LEAVE_REASON: this.LEAVE_REASON, - IS_LEAVE: type, - TaskID: this.TaskID, - }; - getRequest(json, "/SE/SETrainNotify/TrainPersonStatus").then(res => { - if (res) { - uni.$showMsgFunc('操作成功!', () => { - uni.navigateBack() - }, 'success', 1000) - } - }) + // 整改实施单位 departmentName Nav_DepartmentDeal 整改责任人 Nav_UserDeal userDetailer 验收人Nav_UserCheck userChecker - } + onConfirmPicker(e) { + const { + name, + dataIndex + } = this.comPickerInfo + this.type = e.value[0] + this.comPickerInfo.showSheet = false + this.loadData() + }, + + closePicker() { + this.comPickerInfo = { + showSheet: false, + columns: [], + title: '', + name: '', + formIndex: undefined + } + }, }, computed: { @@ -264,16 +184,19 @@ background: #edf1fd; z-index: -1; } + .todo-page { /* padding-bottom: 10px; */ overflow: hidden; } + .card { margin: 20px 16px 180px 16px; padding: 20px 30px 80px 30px; background-color: #ffffff; border-radius: 10px; } + .upload-title { font-size: 14px; color: #8e8b9c; @@ -292,10 +215,11 @@ background: #fff; box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .05); } + .btn-wrap>>>.u-textarea__field { font-size: 14px; } - + .btn-wrap>>>.u-cell__title-text { font-size: 14px; } @@ -309,25 +233,118 @@ .buttons .first-btn { margin-right: 20px; } + .demo-ruleForm>>>.u-form-item__body__left__content__label { font-size: 14px; color: #8e8b9c; /* justify-content: flex-start; */ } - + .demo-ruleForm>>>.u-form-item__body__left__content__ { left: -11px; top: 0px } - + .demo-ruleForm>>>.u-textarea__field { font-size: 14px; } + .demo-ruleForm>>>.u-textarea { font-size: 14px; } - + .demo-ruleForm>>>.u-cell__title-text { font-size: 14px; } + + /* 表格样式 */ + table { + width: 100%; + border-collapse: collapse; + margin: 16px 0; + font-size: 14px; + border-radius: 8px; + overflow: hidden; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); + } + + /* 表头样式 */ + th { + background-color: #f5f7fa; + color: #606266; + font-weight: 600; + text-align: center; + padding: 12px 8px; + border-bottom: 1px solid #e0e0e0; + white-space: nowrap; + } + + /* 表体单元格样式 */ + td { + padding: 12px 8px; + text-align: center; + border-bottom: 1px solid #f0f0f0; + color: #333; + background-color: #fff; + } + + /* 隔行变色效果 */ + tr:nth-child(even) td { + background-color: #fafafa; + } + + /* 最后一行底部边框去除 */ + tr:last-child td { + border-bottom: none; + } + + /* 首列和尾列适当加宽 */ + th:first-child, + td:first-child { + padding-left: 16px; + text-align: left; + } + + th:last-child, + td:last-child { + padding-right: 16px; + text-align: right; + } + + /* 表头与数据行之间的分割线 */ + tr:first-child th { + border-bottom: 1px solid #d0d7e5; + } + + /* 悬停效果(可选) */ + tr:hover td { + background-color: #f0f8ff; + } + + /* 移动端优化:允许横向滚动 */ + .table-container { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + margin: 16px -8px; + padding: 0 8px; + } + + /* 如果希望表格固定在卡片内,可以这样调整 */ + .card table { + margin-left: -8px; + margin-right: -8px; + width: calc(100% + 16px); + } + + /* 小屏幕优化 */ + @media (max-width: 375px) { + table { + font-size: 13px; + } + + th, + td { + padding: 10px 6px; + } + } \ No newline at end of file