检查汇总

This commit is contained in:
yunkexin 2026-07-01 17:31:14 +08:00
parent 4146d71b39
commit beb85eb57e

View File

@ -61,7 +61,7 @@
<view style="font-size: 15px; font-weight: bold;color: #3d4b70;margin-bottom: 10px;margin-top: 20px;">检查内容</view>
<uni-collapse :border="false" accordion>
<view v-for="(item, index) in model.Nav_CheckRecordDetails" :key="index">
<view v-for="(item, index) in model.Nav_CheckRecordDetails.filter(i => !i.IS_DELETED)" :key="index">
<uni-collapse-item title-border="none" :border="false">
<template v-slot:title>
<view class="uni-collapse-item__title-box">
@ -72,12 +72,12 @@
</span>
</view>
<view @click.stop>
<u-icon @click="handleDelRowBefore(index)" name="trash" color="#ff4d4f" size="21" style="margin-right: 10px;"></u-icon>
<u-icon @click="handleDelRowBefore(item)" name="trash" color="#ff4d4f" size="21" style="margin-right: 10px;"></u-icon>
</view>
</view>
</template>
<view class="content">
<u-form-item label="检查区域:" prop="CHECK_TIME" @click="handleShowSheetForArea(item,{title: '检查区域', name: 'Nav_RiskArea'})">
<u-form-item label="检查区域:" prop="CHECK_TIME" @click="handleShowSheet({title: '检查区域', name: 'Nav_RiskArea',itemData:item})">
<u--input disabled v-if="item.Nav_RiskArea" v-model="item.Nav_RiskArea.NAME" disabledColor="#ffffff" placeholder="请选择检查区域" border="none" inputAlign="right" fontSize="14px">
</u--input>
@ -90,7 +90,7 @@
<view class="tag-view" v-if="item.Nav_CheckRecordDetailUsers">
<uni-tag class="tag" v-for="(i, k) in item.Nav_CheckRecordDetailUsers.filter(i => !i.IS_DELETED)" :key="k" :inverted="true" :text="i.Nav_User.NAME" type="primary" />
</view>
<u-form-item label="检查内容:" prop="CHECK_TIME" @click="handleShowSheetForArea(item,{title: '检查内容', name: 'Nav_Contents'})">
<u-form-item label="检查内容:" prop="CHECK_TIME" @click="handleShowSheet({title: '检查内容', name: 'Nav_Contents',itemData:item})">
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
@ -101,20 +101,20 @@
<u-icon style="margin-left: 4px;" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<u-form-item label="隐患描述:" prop="CHECK_TIME" @click="handleShowSheetForArea(item,{title: '隐患描述', name: 'Nav_Question'})">
<u-form-item label="隐患描述:" prop="CHECK_TIME" @click="handleShowSheet({title: '隐患描述', name: 'Nav_Question',itemData:item})">
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<view v-if="item.Nav_Question" style="display: flex;flex-direction: row;justify-content: center;align-items: center;">
<u-textarea v-model="item.Nav_Question.DESCREPTION" disabled placeholder="请选择隐患描述">
</u-textarea>
<u-icon style="margin-left: 10px;" name="trash" color="#ff4d4f" size="20" @click="handleDelQuestion(index)">
<u-icon style="margin-left: 10px;" name="trash" color="#ff4d4f" size="20" @click="handleDelQuestion(item)">
</u-icon>
</view>
<view v-else style="display: flex;flex-direction: row;justify-content: center;align-items: center;">
<u-textarea disabled placeholder="请选择隐患描述">
</u-textarea>
<u-icon style="margin-left: 10px;" name="trash" color="#ff4d4f" size="20" @click="handleDelQuestion(index)">
<u-icon style="margin-left: 10px;" name="trash" color="#ff4d4f" size="20" @click="handleDelQuestion(item)">
</u-icon>
</view>
<!-- <u--textarea v-model="item.Nav_Question.DESCREPTION" disabled placeholder="请选择隐患描述" maxlength="-1"></u--textarea> -->
@ -132,7 +132,7 @@
<full-upload v-model="item.Nav_CheckRecordDetailFiles" :isShowBtn='true' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<u-form-item label="备注" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u-textarea v-model="item.REMARK" placeholder="请填写备注">
<u-textarea v-model="item.REMARK" placeholder="请填写备注">
</u-textarea>
</view>
@ -412,6 +412,11 @@
cancelDate() {
this.showPopupDate = false
},
handleDelQuestion(item) {
item.Nav_Question = {}
item.CHECK_QUESTION_ID = ''
this.$forceUpdate()
},
handleSelectorPeople(e) {
const {
index: key
@ -487,16 +492,6 @@
},
handleShowSheetForArea(item, todo) {
const validDetails = this.model.Nav_CheckRecordDetails.filter(i => !i.IS_DELETED);
const index = validDetails.indexOf(item);
this.handleShowSheet({
title: todo.title,
name: todo.name,
index: index
});
},
async handleShowSheet(p) {
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "", 0, p.pageIndex ?? 1)
@ -549,9 +544,9 @@
if (p.val) {
extendRule(json, 'DESCREPTION', 9, p.val);
}
let data = this.model.Nav_CheckRecordDetails[p.index]
if (data.CHECK_CONTENTS_ID && data.CHECK_CONTENTS_ID !== '') {
extendRule(json, 'CHECK_CONTENTS_ID', 1, data.CHECK_CONTENTS_ID);
if (p.itemData.CHECK_CONTENTS_ID && p.itemData.CHECK_CONTENTS_ID !== '') {
extendRule(json, 'CHECK_CONTENTS_ID', 1, p.itemData.CHECK_CONTENTS_ID);
}
json.Sort = 'DESCREPTION'
dataSelect = await GetHiddenScripList(json).then(res => {
@ -598,20 +593,17 @@
handleSelected(e) {
this.selectorInfo.showPopup = false
const validDetails = this.model.Nav_CheckRecordDetails.filter(i => !i.IS_DELETED);
const index = this.selectorInfo.index;
const realIndex = this.model.Nav_CheckRecordDetails.findIndex(item => item === validDetails[index]);
if (this.selectorInfo.name == 'Nav_RiskArea') {
this.model.Nav_CheckRecordDetails[realIndex].Nav_RiskArea = e;
this.model.Nav_CheckRecordDetails[realIndex].RISK_AREA_ID = e.ID;
this.selectorInfo.itemData.Nav_RiskArea = e;
this.selectorInfo.itemData.RISK_AREA_ID = e.ID;
} else if (this.selectorInfo.name == 'Nav_Contents') {
this.model.Nav_CheckRecordDetails[realIndex].Nav_Contents = e;
this.model.Nav_CheckRecordDetails[realIndex].CHECK_CONTENTS_ID = e.ID;
this.selectorInfo.itemData.Nav_Contents = e;
this.selectorInfo.itemData.CHECK_CONTENTS_ID = e.ID;
} else if (this.selectorInfo.name == 'Nav_Question') {
this.model.Nav_CheckRecordDetails[realIndex].Nav_Question = e;
this.model.Nav_CheckRecordDetails[realIndex].CHECK_QUESTION_ID = e.ID;
this.model.Nav_CheckRecordDetails[realIndex].HIDDEN_LEVEL = e.QUESTION_LEVEL
this.model.Nav_CheckRecordDetails[realIndex].HIDDEN_LEVELName = this.enumsData['SKHiddenLevel'].find(item1 => item1.code === e.QUESTION_LEVEL).name;
this.selectorInfo.itemData.Nav_Question = e;
this.selectorInfo.itemData.CHECK_QUESTION_ID = e.ID;
this.selectorInfo.itemData.HIDDEN_LEVEL = e.QUESTION_LEVEL
this.selectorInfo.itemData.HIDDEN_LEVELName = this.enumsData['SKHiddenLevel'].find(item1 => item1.code === e.QUESTION_LEVEL).name;
}
@ -642,9 +634,9 @@
})
},
handleDelRowBefore(index) {
this.nowIndex = index
this.showDelModalIndex = index
handleDelRowBefore(item) {
item.IS_DELETED = true
this.$forceUpdate()
},
confirmDel() {
@ -655,7 +647,7 @@
this.showDelModalIndex = undefined
},
submit() {
for (let item of this.model.Nav_CheckRecordDetails) {
for (let item of this.model.Nav_CheckRecordDetails.filter(i => !i.IS_DELETED)) {
if (!item.Nav_CheckRecordDetailUsers || item.Nav_CheckRecordDetailUsers.length == 0) {
uni.showToast({
title: '请选择检查人员',