隐患上报表

This commit is contained in:
yunkexin 2026-07-22 13:58:08 +08:00
parent 2eef1cf6a3
commit d43f957be8
2 changed files with 175 additions and 31 deletions

View File

@ -13,28 +13,28 @@
</u-form-item>
<u--textarea v-html="model.CONTEXT" border="surround" v-if="model.STATUS==40" disabled></u--textarea>
<u-form-item label="生产单元:" prop="Product_Unit">
<u--input v-model="(model.Nav_ProductionUnit||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u-form-item label="生产单元:" prop="Product_Unit" @click="handleChange('SKProductionUnit')">
<u--input v-model="(model.Nav_ProductionUnit||{}).NAME" placeholder="请选择生产单元" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
<!-- <u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon> -->
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<u-form-item label="检查类型:" prop="Check_Type">
<u--input v-if="model.Nav_CheckType" v-model="model.Nav_CheckType.NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px"></u--input>
<!-- <u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon> -->
<u-form-item label="检查类型:" prop="Check_Type" @click="handleShowSheet({title: '检查类型', name: 'Nav_CheckType'})">
<u--input placeholder="请选择检查类型" v-model="(model.Nav_CheckType||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<u-form-item label="检查周期:" prop="PLANCHECKFREQUENCYName">
<u--input v-model="model.PLANCHECKFREQUENCYName" disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px"></u--input>
<!-- <u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon> -->
<u-form-item label="检查周期:" prop="PLANCHECKFREQUENCYName" @click="handleChange('SKPLANCHECKFREQUENCYEnum')">
<u--input v-model="model.PLANCHECKFREQUENCYName" disabled placeholder="请选择检查周期" disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<u-form-item label="检查层级:" prop="DEPARTMENT_TYPEName">
<u--input v-model="model.DEPARTMENT_TYPEName" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u-form-item label="检查层级:" prop="DEPARTMENT_TYPEName" @click="handleChange('SKDepartmentTypeEnum')">
<u--input v-model="model.DEPARTMENT_TYPEName" disabled placeholder="请选择检查层级" disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
<!-- <u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon> -->
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<u-form-item required label="检查时间:" prop="CHECK_TIME" @click="showCheckDate(1)">
<u--input v-model="model.CHECK_TIME" disabled disabledColor="#ffffff" placeholder="请选择检查时间" border="none" inputAlign="right" fontSize="14px">
@ -100,8 +100,13 @@
</u-form-item>
<u-textarea v-model="(item.Nav_Question||{}).DESCREPTION" disabled placeholder="请选择隐患描述">
</u-textarea>
<u-form-item label="隐患具体描述:" prop="CHECK_TIME">
</u-form-item>
<u-textarea v-model="item.HIDDEN_DESCRIPTION" placeholder="请填写隐患具体描述">
</u-textarea>
<!-- <u--textarea v-model="item.Nav_Question.DESCREPTION" disabled placeholder="请选择隐患描述" maxlength="-1"></u--textarea> -->
<u-form-item required label="隐患等级" prop="HIDDEN_LEVEL" @click="handleChange(item)" border-bottom>
<u-form-item required label="隐患等级" prop="HIDDEN_LEVEL" @click="handleChange('SKHiddenLevel',item)" border-bottom>
<u--input v-model="item.HIDDEN_LEVELName" disabled placeholder="请选择隐患等级" suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabledColor="#ffffff" inputAlign="right"
fontSize="14px" border="none">
</u--input>
@ -110,6 +115,11 @@
<u--input v-model="item.HIDDEN_PLACE" placeholder="请填写隐患地点" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="隐患原因" prop="Nav_Reasons" @click="handleShowSheet({title: '隐患原因', name: 'Nav_Reasons',itemData:item})">
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12"></u-icon>
</u-form-item>
<u--textarea disabled autoHeight disabledColor="#fff" v-model="item.ReasonsNAME" placeholder="隐患原因" border="none"></u--textarea>
<u-form-item required label="整改责任人" prop="HIDDEN_PLACE" @click="handleShowSheet({title: '整改责任人', name: 'Nav_RecitifyUser',itemData:item})">
<u--input v-model="(item.Nav_RecitifyUser||{}).NAME" placeholder="请选择整改责任人" suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabled disabledColor="#ffffff"
inputAlign="right" fontSize="14px" border="none">
@ -124,9 +134,13 @@
<u-form-item label="隐患照片" prop="CHECKSTANDARD">
</u-form-item>
<full-upload v-model="item.Nav_ReportDetailFiles" :isShowBtn='true' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<u-form-item label="备注" prop="HIDDEN_PLACE" border-bottom>
<u-form-item label="整改措施" prop="HIDDEN_PLACE">
</u-form-item>
<u-textarea v-model="item.REMARK" placeholder="请填写备注">
<u--textarea disabled autoHeight disabledColor="#fff" v-model="(item.Nav_Question||{}).DEMAND" border="none"></u--textarea>
<u-form-item label="整改措施具体描述" prop="HIDDEN_PLACE">
</u-form-item>
<u-textarea v-model="item.REMARK" placeholder="请填写整改措施具体描述">
</u-textarea>
</view>
@ -187,7 +201,9 @@
getUserLists,
CheckTypeNewOrderPaged,
GetCheckInspection,
GetHiddenScripList
GetHiddenScripList,
CheckSKTypeNewOrderPaged,
SKHiddenReason
} from '../../../../services/apply/subPages/SK/SKServices.js'
import {
getRequest,
@ -388,6 +404,14 @@
this.model.Nav_ReportDetails.map(item => {
item.HIDDEN_LEVELName = item.HIDDEN_LEVEL !== undefined ? this.enumsData['SKHiddenLevel'].find(item1 => item1.code === item.HIDDEN_LEVEL).name : ''
// item.MARKName = this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK).name;
let ReasonsNAME = ''
if (item.Nav_ReportDetailReasons && item.Nav_ReportDetailReasons.length > 0) {
for (let i = 0; i < item.Nav_ReportDetailReasons.length; i++) {
ReasonsNAME += (ReasonsNAME.length > 0 ? "," : "") + item
.Nav_ReportDetailReasons[i].Nav_Reason.NAME;
}
}
item.ReasonsNAME = ReasonsNAME
})
}
@ -462,6 +486,23 @@
}
return res.Data
})
}else if (p.name == 'Nav_CheckType') {
if (p.val) {
extendRule(json, 'NAME', 9, p.val);
}
if (this.model.PRODUCTION_UNIT_ID) {
extendRule(json, 'PRODUCTION_UNIT_ID', 1, this.model.PRODUCTION_UNIT_ID);
}
dataSelect = await CheckSKTypeNewOrderPaged(json).then(res => {
this.selectorInfo.totalCount = res.TotalCount
if (res != undefined && res.Data.length > 0) {
for (let i = 0; i < res.Data.length; i++) {
res.Data[i].name = res.Data[i].NAME
}
}
return res.Data
})
} else if (p.name == 'Nav_Question') {
if (p.val) {
extendRule(json, 'DESCREPTION', 9, p.val);
@ -494,6 +535,37 @@
}
return res.Data
})
} else if (p.name == 'Nav_Reasons') {
if (p.val) {
extendRule(json, 'NAME', 9, p.val);
}
this.selectorInfo.isMultiple = true
json.Sort = 'NAME'
json.Limit = 20
if (p.pageIndex) {
json.Start = (p.pageIndex - 1) * json.Limit;
}
// extendRule(json, 'CHECKOBJECT', 1, this.model.CHECKOBJECT);
dataSelect = await SKHiddenReason(json).then(res => {
this.selectorInfo.totalCount = res.TotalCount
if (res != undefined && res.Data != undefined && res.Data.length > 0) {
for (let i = 0; i < res.Data.length; i++) {
res.Data[i].name = res.Data[i].NAME
// res[i].code = res[i].CODE
}
}
return res.Data
})
if (p.itemData.Nav_ReportDetailReasons.length > 0 && p.itemData.Nav_ReportDetailReasons[0]
.Nav_Reason != null) {
// this.selectorInfo.defaultChecked = []
p.itemData.Nav_ReportDetailReasons.forEach(e => {
defaultChecked.push(e.Nav_Reason)
})
} else {
defaultChecked = null
}
}
if (defaultChecked == null)
@ -543,29 +615,78 @@
} else if (this.selectorInfo.name == 'Nav_RecitifyUser') {
this.selectorInfo.itemData.Nav_RecitifyUser = e;
this.selectorInfo.itemData.RECITIFY_USER_ID = e.ID;
} else if (this.selectorInfo.name == 'Nav_CheckType') {
this.model.Nav_CheckType = e;
this.model.CHECK_TYPE_ID = e.ID;
} else if (this.selectorInfo.name == 'Nav_Reasons') {
let listProject = []
let projectShow = ''
if (e.length > 0) {
e.forEach((item, i) => {
if (item.name != null || item.NAME != null) {
if (i > 0) {
projectShow += ' '
}
listProject.push({
ID: guid(),
SECURITY_INSPECTION_RECORD_DETAIL_ID: this.selectorInfo.itemData.ID,
REASON_ID: item.ID,
ORG_ID: item.ORG_ID,
Nav_Reason: item
})
projectShow += item.NAME
}
})
}
this.selectorInfo.itemData.Nav_ReportDetailReasons = listProject
this.selectorInfo.itemData.ReasonsNAME = projectShow
}
},
handleChange(item) {
handleChange(name,item) {
if (name == 'SKProductionUnit') {
const json = initFilter(this.ORG_ID)
getRequest(json, "/FM/UserProductionUnitSet/OrderPaged").then(res => {
this.comPickerInfo = {
showSheet: true,
columns: [this.enumsText['SKHiddenLevel']],
columns: [res],
name: name,
dataItem: item,
name: name
}
})
} else {
this.comPickerInfo = {
showSheet: true,
columns: [this.enumsData[name]],
name: name,
dataItem: item,
}
}
},
onConfirmPicker(e) {
if (this.comPickerInfo.name == 'SKProductionUnit') {
this.model.Nav_ProductionUnit = e.value[0]
this.model.PRODUCTION_UNIT_ID = e.value[0].ID
} else if (this.comPickerInfo.name == 'SKPLANCHECKFREQUENCYEnum') {
this.model.PLANCHECKFREQUENCYName = e.value[0].name
this.model.PLANCHECKFREQUENCY = this.enumsData['SKPLANCHECKFREQUENCYEnum'][e.indexs[0]].code
} else if (this.comPickerInfo.name == 'SKDepartmentTypeEnum') {
this.model.DEPARTMENT_TYPEName = e.value[0].name
this.model.DEPARTMENT_TYPE = this.enumsData['SKDepartmentTypeEnum'][e.indexs[0]].code
} else if (this.comPickerInfo.name == 'SKHiddenLevel') {
this.comPickerInfo.dataItem.HIDDEN_LEVELName = e.value[0].NAME
this.comPickerInfo.dataItem.HIDDEN_LEVEL = e.value[0].ID
}
this.comPickerInfo = {
showSheet: false,
dataItem: this.comPickerInfo.dataItem,
columns: [],
title: '',
formIndex: undefined
formIndex: undefined,
dataItem: this.comPickerInfo.dataItem,
}
this.comPickerInfo.dataItem.HIDDEN_LEVELName = e.value[0]
this.comPickerInfo.dataItem.HIDDEN_LEVEL = this.enumsData['SKHiddenLevel'][e.indexs[0]].code
},
@ -618,7 +739,8 @@
Nav_ReportDetailFiles: [],
Nav_RiskArea: {
NAME: ''
}
},
Nav_ReportDetailReasons:[]
})
this.model.Nav_ReportDetails = [...this.model.Nav_ReportDetails]

View File

@ -81,6 +81,11 @@
</u-form-item>
<u-textarea v-model="(item.Nav_Question||{}).DESCREPTION" disabled>
</u-textarea>
<u-form-item label="隐患具体描述:" prop="CHECK_TIME" border="none">
</u-form-item>
<u-textarea v-model="item.HIDDEN_DESCRIPTION" disabled autoHeight border="none">
</u-textarea>
<u-form-item label="隐患等级" prop="HIDDEN_LEVEL" border-bottom>
<u--input v-model="item.HIDDEN_LEVELName" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
@ -90,6 +95,11 @@
<u--input v-model="item.HIDDEN_PLACE" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="隐患原因" prop="Nav_Reasons">
</u-form-item>
<u--textarea disabled autoHeight disabledColor="#fff" v-model="item.ReasonsNAME" border="none"></u--textarea>
<u-form-item label="整改责任人" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="(item.Nav_RecitifyUser||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
@ -101,9 +111,13 @@
<u-form-item label="隐患照片" prop="CHECKSTANDARD">
</u-form-item>
<full-upload v-model="item.Nav_ReportDetailFiles" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<u-form-item label="备注" prop="HIDDEN_PLACE" border-bottom>
<u-form-item label="整改措施" prop="HIDDEN_PLACE">
</u-form-item>
<u-textarea v-model="item.REMARK" disabled placeholder="请填写备注">
<u--textarea disabled autoHeight disabledColor="#fff" v-model="(item.Nav_Question||{}).DEMAND" border="none"></u--textarea>
<u-form-item label="整改措施具体描述" prop="HIDDEN_PLACE">
</u-form-item>
<u-textarea v-model="item.REMARK" disabled autoHeight disabledColor="#fff" border="none">
</u-textarea>
</view>
</uni-collapse-item>
@ -249,6 +263,14 @@
this.model.Nav_ReportDetails.map(item => {
item.HIDDEN_LEVELName = item.HIDDEN_LEVEL !== undefined ? this.enumsData['SKHiddenLevel'].find(item1 => item1.code === item.HIDDEN_LEVEL).name : ''
// item.MARKName = this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK).name;
let ReasonsNAME = ''
if (item.Nav_ReportDetailReasons && item.Nav_ReportDetailReasons.length > 0) {
for (let i = 0; i < item.Nav_ReportDetailReasons.length; i++) {
ReasonsNAME += (ReasonsNAME.length > 0 ? "," : "") + item
.Nav_ReportDetailReasons[i].Nav_Reason.NAME;
}
}
item.ReasonsNAME = ReasonsNAME
})
}
this.stepsPage = res.STATUS == 0 ? 0 : res.STATUS == 10 ? 1 : res.STATUS == 20 ? 2 : 3