This commit is contained in:
何美荣 2024-07-10 10:31:34 +08:00
commit 5126643fe7
28 changed files with 1658 additions and 78 deletions

View File

@ -1,6 +1,6 @@
{
"name" : "双控安全Beta",
"appid" : "__UNI__A6AA052",
"appid" : "__UNI__713D200", //A6AA052
"description" : "连锰矿山安全app",
"versionName" : "1.0.0",
"versionCode" : "100",
@ -17,7 +17,10 @@
"delay" : 0
},
/* */
"modules" : {},
"modules" : {
"Barcode" : {},
"Camera" : {}
},
/* */
"distribute" : {
/* android */

View File

@ -289,6 +289,13 @@
"onReachBottomDistance": 100
}
},
{
"path": "3hazardTaskEdit",
"style": {
"navigationBarTitleText": "职业危害辨识任务",
"onReachBottomDistance": 100
}
},
{
"path": "3hazardRecordShow",
"style": {
@ -781,6 +788,18 @@
"style": {
"navigationBarTitleText": "作业任务库查看"
}
},
{
"path": "SetContents",
"style": {
"navigationBarTitleText": "检查内容设置"
}
},
{
"path": "safeCheckSignDIY",
"style": {
"navigationBarTitleText": "新增检查登记"
}
}
]
},

View File

@ -0,0 +1,361 @@
<!-- 检查内容设置-->
<template>
<view class="page-wrap">
<view class="card">
<uni-card margin="0" :is-shadow="true">
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model" :rules="rules"
ref="wForm" errorType="border-bottom">
<!-- <u-form-item required label="检查范围" prop="CHECKOBJECT_DESCRIPTION" borderBottom
@click="handleShowSheet({title: '检查范围', name: 'CHECKOBJECT'})">
<u--input disabledColor="#fff" v-model="model.CHECKOBJECT_DESCRIPTION" border="none"
inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item> -->
<u-form-item required label="检查内容" prop="CHECKCONTENT" borderBottom>
<u--textarea autoHeight v-model="model.CHECKCONTENT" placeholder="检查内容"
border="surround"></u--textarea>
</u-form-item>
</u--form>
</uni-card>
</view>
<u-sticky offset-top="20">
<view class="sub-form">
<view class="sub-form-wrap">
<view class="sub-form-btns">
<view class="sub-form-btn" @click="handleAdd">
<u-icon class="icon" name="plus-circle" color="#3c9cff" size="21"></u-icon>
<u--text type="primary" text="新增"></u--text>
</view>
</view>
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" errorType="border-bottom"
ref="sForm">
<uni-collapse :border="false" accordion>
<uni-card style="margin-bottom: 16px;" margin="0" spacing="0" :is-shadow="false"
v-for="(item, index) in model.Nav_ListCheckQuestion">
<uni-collapse-item :title="item.NUM + '. ' + item.DESCREPTION" name="1">
<view slot="value" class="row-action">
<text @click.stop="DetailDel(item)" class="enableTrue">
<u--text type="primary" class="btnCheck" text="删除"></u--text>
</text>
</view>
<u-form-item class="subRequired" required label="检查问题描述" prop="DESCREPTION"
borderBottom>
<u--textarea autoHeight v-model="item.DESCREPTION" placeholder="检查问题描述"
border="surround"></u--textarea>
</u-form-item>
<u-form-item class="subRequired" required label="整改建议与措施" prop="DEMAND"
borderBottom>
<u--textarea autoHeight v-model="item.DEMAND" placeholder="整改建议与措施"
border="surround"></u--textarea>
</u-form-item>
<u-form-item class="subRequired" required label="问题等级" prop="QUESTION_LEVEL_SHOW"
borderBottom
@click="handleShowSheet({title: '问题等级', name: 'QUESTION_LEVEL',itemData:item})">
<u--input disabledColor="#ffffff" v-model="item.QUESTION_LEVEL_SHOW"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
</uni-collapse-item>
</uni-card>
</uni-collapse>
</u--form>
</view>
</view>
</u-sticky>
<u-modal :show="showDelModalIndex >= 0" @confirm="confirmDel" title="确认删除?"></u-modal>
<query-selector :multiple="selectorInfo.isMultiple" :show="selectorInfo.showPopup"
:defaultChecked="selectorInfo.defaultChecked" :title="selectorInfo.title" :lists="selectorInfo.dataLists"
@search="handleSearch" @select="handleSelected" @close="selectorInfo.showPopup=false" />
<view class="bottom-button">
<button type="primary" @click="FullCheckUpdate">提交</button>
</view>
</view>
</template>
<script>
import {
guid,
initFilter
} from '../../../../utils/common'
import {
FullUpdateContents
} from '../../../../services/apply/subPages/BS/safeCheck'
import {
getEnum
} from '../../../../services/common'
import {
listBSQuestionLevelEnum,
listBSQuestionLevelEnumVal
} from '../../../../utils/enums'
export default {
data() {
return {
indexShow: 10, //
total: 0,
tableKey: '0',
TaskID: '',
listPropUpload: ['SAFE_CHECK_ID'],
listPropValUpload: [],
AUDIT_OPINION: '',
ORG_ID: '',
modelEdit: {},
model: {
ID: '',
ORG_ID: '',
CHECKOBJECT_DESCRIPTION: '',
CHECKOBJECT: '',
CHECKCONTENT: '',
// Nav_ListSafeCheckDetailShow
Nav_ListCheckQuestion: [{
ORG_ID: '',
CHECK_CONTENTS_ID: '',
DESCREPTION: '',
DEMAND: '',
QUESTION_LEVEL: '',
QUESTION_LEVEL_SHOW: '',
NUM: '1',
}] //
},
isAudit: true,
lists: [],
dateTimePickerInfo: {
showCheckDate: false,
dataIndex: undefined,
defaultDateTime: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM:ss'),
value: ''
},
selectorInfo: {
isSubShow: false,
isMultiple: false,
showPopup: false,
title: '检查人员',
itemData: {},
index: 0,
dataLists: [],
defaultText: '',
defaultValue: '',
name: '',
defaultChecked: []
},
showDelModalIndex: undefined,
rules: {
// 'CHECKOBJECT_DESCRIPTION': {
// type: 'string',
// required: true,
// trigger: ['blur', 'change']
// },
'CHECKCONTENT': {
type: 'string',
required: true,
trigger: ['blur', 'change']
}
},
}
},
onLoad(option) {
this.model.ID = guid()
this.model.TaskID = option.taskID
this.TaskID = option.taskID
this.tableKey = option.tableKey
this.ORG_ID = uni.getStorageSync('orgId')
this.model.ORG_ID = uni.getStorageSync('orgId')
},
methods: {
handleAdd() {
if (this.model.Nav_ListCheckQuestion == null) {
this.model.Nav_ListCheckQuestion = []
}
var NUM = this.model.Nav_ListCheckQuestion.length
this.model.Nav_ListCheckQuestion.unshift({
ID: guid(),
ORG_ID: this.ORG_ID,
NUM: NUM + 1,
CHECK_CONTENTS_ID: this.model.ID,
DESCREPTION: '',
DEMAND: '',
QUESTION_LEVEL: '',
QUESTION_LEVEL_SHOW: '',
})
},
//
DetailDel(item) {
//
item.IS_DELETED = true
let indexNotDel = 1
// this.ListApplyDetail = []
this.model.Nav_ListCheckQuestion.forEach((e, i) => {
if (!e.IS_DELETED) {
e.ROW_NO = indexNotDel
// this.ListApplyDetail.push(e)
indexNotDel++
}
})
},
confirmDel() {
this.model.Nav_ListCheckQuestion.splice(this.showDelModalIndex, 1)
this.showDelModalIndex = undefined
},
handleTab(t) {
this.currentTab = t
},
FullCheckUpdate() {
const ele = this.$refs
ele['wForm'].validate().then(res => {
if (this.model.Nav_ListCheckQuestion == null || this.model.Nav_ListCheckQuestion.length < 1) {
uni.$showErrorInfo('检查问题不能为空');
} else {
let index = 0
var isOK = true
this.model.Nav_ListCheckQuestion.forEach(item => {
if (item.ORG_ID == null||item.ORG_ID =='')
item.ORG_ID = this.ORG_ID
item.CHECK_CONTENTS_ID = this.model.ID
item.SERIOUS_RISK = (item.QUESTION_LEVEL == 10 ? 1 : 0)
index++
if (item.DESCREPTION == null || item.DESCREPTION == '') {
isOK = false
uni.$showErrorInfo('第【' + index + '】项检查问题描述不能为空');
}
if (isOK && (item.DEMAND == null || item.DEMAND == '')) {
isOK = false
uni.$showErrorInfo('第【' + index + '】项整改建议与措施不能为空');
}
if (isOK && (item.QUESTION_LEVEL == null || item.QUESTION_LEVEL == '')) {
isOK = false
uni.$showErrorInfo('请选择第【' + index + '】项的问题等级');
}
})
if (isOK) {
FullUpdateContents(this.model).then(res => {
uni.$showMsgFunc('操作成功!', () => {
uni.navigateBack()
}, 'success', 1000)
})
}
}
}).catch(err => {
uni.$showErrorInfo('校验失败');
})
},
//
async handleShowSheet(p) {
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "", 0)
let dataSelect = []
var defaultChecked = []
if (p.name == 'CHECKOBJECT') {
this.selectorInfo.isMultiple = false
var dataParm = {
'name': "BSMineTypeEnum"
}
dataSelect = await getEnum(dataParm).then(res => {
if (res != undefined && res.length > 0) {
for (let i = 0; i < res.length; i++) {
res[i].name = res[i].NAME
// res[i].code = res[i].ID
}
}
return res
})
} else if (p.name == 'QUESTION_LEVEL') {
this.selectorInfo.isMultiple = false
dataSelect = []
for (let i = 0; i < listBSQuestionLevelEnum.length; i++) {
dataSelect.push({
name: listBSQuestionLevelEnum[i],
ID: listBSQuestionLevelEnumVal[i]
})
}
}
if (defaultChecked == null)
defaultChecked = []
if (dataSelect.length) {
this.selectorInfo = {
itemData: p.itemData,
isMultiple: this.selectorInfo.isMultiple,
showPopup: true,
title: p.title,
name: p.name,
dataLists: dataSelect,
defaultChecked: defaultChecked
}
} else {
//
}
},
handleSelected(e) {
this.selectorInfo.showPopup = false
if (this.selectorInfo.name == "CHECKOBJECT") {
this.model.CHECKOBJECT_DESCRIPTION = e.NAME
this.model.CHECKOBJECT = e.ID
} else if (this.selectorInfo.name == 'QUESTION_LEVEL') {
this.selectorInfo.itemData.QUESTION_LEVEL = e.ID
this.selectorInfo.itemData.QUESTION_LEVEL_SHOW = e.name
}
},
closePicker() {
this.comPickerInfo = {
showSheet: false,
columns: [],
title: '',
name: '',
formIndex: undefined
}
},
//
handleSearch(val) {
var p = {
name: this.selectorInfo.name,
title: this.selectorInfo.title,
val: val
}
this.handleShowSheet(p)
},
},
computed: {},
onReachBottom() {
if (this.indexShow < this.total) {
var end = this.indexShow + 10
if (end >= this.total)
end = this.total
var tampAdd = this.model.Nav_ListCheckQuestion.slice(this.indexShow, end)
this.Nav_ListSafeCheckDetailShow = this.Nav_ListSafeCheckDetailShow.concat(tampAdd)
// this.$forceUpdate()
this.indexShow = end
}
},
}
</script>
<style scoped>
@import url("../../../../style/css/editTemplate.css");
</style>

View File

@ -81,11 +81,11 @@
<u--textarea disabled autoHeight v-model="item.CHECKCONTENT"
placeholder="请输入检查内容" border="surround"></u--textarea>
</u-form-item>
<view class="label-title">检查依据</view>
<!-- <view class="label-title">检查依据</view>
<u-form-item prop="CHECKPROOF" borderBottom>
<u--textarea disabled autoHeight v-model="item.CHECKPROOF" placeholder="检查依据"
border="surround"></u--textarea>
</u-form-item>
</u-form-item> -->
<u-form-item label="检查人员" prop="userNameHtml" borderBottom>
<rich-text disabled disabledColor="#fff" v-html="item.userNameHtml"
border="none" slot="right"></rich-text>

View File

@ -6,10 +6,10 @@
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model" ref="wForm"
errorType="border-bottom">
<u-form-item label="检查范围" prop="CHECKOBJECT_DESCRIPTION" borderBottom>
<!-- <u-form-item label="检查范围" prop="CHECKOBJECT_DESCRIPTION" borderBottom>
<u--input disabled disabledColor="#fff" v-model="model.CHECKOBJECT_DESCRIPTION" border="none"
slot="right" inputAlign="right"></u--input>
</u-form-item>
</u-form-item> -->
<u-form-item label="检查类型" prop="Nav_CheckType.NAME" borderBottom>
<u--input disabled disabledColor="#fff" v-model="model.Nav_CheckType.NAME" border="none"
slot="right" inputAlign="right"></u--input>
@ -39,11 +39,11 @@
<u--textarea disabled autoHeight v-model="model.CHECKCONTENT" placeholder="请输入检查内容"
border="surround"></u--textarea>
</u-form-item>
<view class="label-title">检查依据</view>
<!-- <view class="label-title">检查依据</view>
<u-form-item prop="CHECKPROOF" borderBottom>
<u--textarea disabled autoHeight v-model="model.CHECKPROOF" placeholder="请输入检查内容"
border="surround"></u--textarea>
</u-form-item>
</u-form-item> -->
<view class="label-title">检查问题描述</view>
<u-form-item prop="Nav_CheckQuestion.DESCREPTION" borderBottom>

View File

@ -12,7 +12,7 @@
placeholder="驳回信息" border="surround"></u--textarea>
</u-form-item>
<u-form-item v-if="model.CREACTTYPE!=null&&model.CREACTTYPE==10" label="检查范围"
<!-- <u-form-item v-if="model.CREACTTYPE!=null&&model.CREACTTYPE==10" label="检查范围"
prop="CHECKOBJECT_DESCRIPTION" borderBottom>
<u--input disabled disabledColor="#fff" v-model="model.CHECKOBJECT_DESCRIPTION" border="none"
slot="right" inputAlign="right"></u--input>
@ -22,7 +22,7 @@
<u--input disabledColor="#fff" v-model="model.CHECKOBJECT_DESCRIPTION" border="none"
inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
</u-form-item> -->
<u-form-item v-if="model.CREACTTYPE!=null&&model.CREACTTYPE==10" label="检查类型"
prop="Nav_CheckType.NAME" borderBottom>
@ -166,7 +166,7 @@
border="surround"></u--textarea>
</u-form-item>
<u-form-item label="检查依据" v-if="isDIY||!item.CREATE_TIME" prop="SubCheckProof"
<!-- <u-form-item label="检查依据" v-if="isDIY||!item.CREATE_TIME" prop="SubCheckProof"
borderBottom
@click="handleShowSheet({title: '检查依据', name: 'SubCheckProof',itemData:item})">
<u--textarea disabled autoHeight disabledColor="#fff"
@ -177,7 +177,7 @@
<u-form-item v-else label="检查依据" prop="CHECKPROOF" borderBottom>
<u--textarea disabled autoHeight v-model="item.CHECKPROOF" placeholder="检查依据"
border="surround"></u--textarea>
</u-form-item>
</u-form-item> -->
</uni-collapse-item>
</uni-card>
@ -390,7 +390,7 @@
this.TaskID = option.taskID
this.tableKey = option.tableKey
this.ORG_ID = uni.getStorageSync('orgId')
if (option.ID != null) {
if (option.ID != null && option.ID != 'null') {
this.loadData()
} else {
this.isLoadOK = true
@ -632,13 +632,25 @@
}
}
}
this.Nav_ListSafeCheckDetailShow = this.model.Nav_ListSafeCheckDetail.slice(0, 10)
this.model.RiskAreaNAME = strRiskAreaNAME
this.model.CheckProjectCategoryNAME = CheckProjectCategoryNAME
this.model.CheckProjectNAME = CheckProjectNAME
if (this.model.Nav_ListSafeCheckDetail && this.model.Nav_ListSafeCheckDetail.length > 0) {
this.total = this.model.Nav_ListSafeCheckDetail.length
if (this.total > 10) {
this.Nav_ListSafeCheckDetailShow = this.model.Nav_ListSafeCheckDetail.slice(0, 10)
} else {
this.Nav_ListSafeCheckDetailShow = this.model.Nav_ListSafeCheckDetail.slice(0, this
.total)
}
this.model.RiskAreaNAME = strRiskAreaNAME
this.model.CheckProjectCategoryNAME = CheckProjectCategoryNAME
this.model.CheckProjectNAME = CheckProjectNAME
} else {
this.Nav_ListSafeCheckDetailShow = this.model.Nav_ListSafeCheckDetail
this.model.RiskAreaNAME = strRiskAreaNAME
this.model.CheckProjectCategoryNAME = CheckProjectCategoryNAME
this.model.CheckProjectNAME = CheckProjectNAME
this.total = 0
}
this.isLoadOK = true
this.total = this.model.Nav_ListSafeCheckDetail.length
})
},
@ -870,13 +882,14 @@
extendRule(json, 'NAME', 9, p.val);
}
json.Sort = 'NAME'
if (this.model.CHECKOBJECT != 0) {
json.FilterGroup.Rules.push({
'Field': "MineType",
'Operate': 1,
'Value': this.model.CHECKOBJECT
})
}
// if (this.model.CHECKOBJECT != 0) {
// json.FilterGroup.Rules.push({
// 'Field': "MineType",
// 'Operate': 1,
// 'Value': this.model.CHECKOBJECT
// })
// }
dataSelect = await OrderPagedUseful2(json).then(res => {
if (res.Data != undefined && res.Data.length > 0) {
@ -1162,6 +1175,13 @@
OrderPagedSafeCheckDetail(json).then(res => {
this.model.Nav_ListSafeCheckDetail = []
this.model.Nav_ListSafeCheckDetail = res
this.total = this.model.Nav_ListSafeCheckDetail.length
if (this.total > 10) {
this.Nav_ListSafeCheckDetailShow = this.model.Nav_ListSafeCheckDetail.slice(0, 10)
} else {
this.Nav_ListSafeCheckDetailShow = this.model.Nav_ListSafeCheckDetail.slice(0, this.total)
}
})
}
},

View File

@ -12,10 +12,10 @@
placeholder="驳回信息" border="surround"></u--textarea>
</u-form-item>
<u-form-item label="检查范围" prop="CHECKOBJECT_DESCRIPTION" borderBottom>
<!-- <u-form-item label="检查范围" prop="CHECKOBJECT_DESCRIPTION" borderBottom>
<u--input disabled disabledColor="#fff" v-model="model.CHECKOBJECT_DESCRIPTION" border="none"
slot="right" inputAlign="right"></u--input>
</u-form-item>
</u-form-item> -->
<u-form-item label="检查类型" prop="Nav_CheckType.NAME" borderBottom>
<u--input disabled disabledColor="#fff" v-model="model.Nav_CheckType.NAME" border="none"
slot="right" inputAlign="right"></u--input>
@ -99,11 +99,11 @@
<u--textarea disabled autoHeight v-model="item.CHECKCONTENT" placeholder="检查内容"
border="surround"></u--textarea>
</u-form-item>
<view class="label-title">检查依据</view>
<!-- <view class="label-title">检查依据</view>
<u-form-item prop="CHECKPROOF" borderBottom>
<u--textarea disabled autoHeight v-model="item.CHECKPROOF" placeholder="检查依据"
border="surround"></u--textarea>
</u-form-item>
</u-form-item> -->
<!-- <u-form-item>
@ -543,6 +543,7 @@
//
handleSearch(val) {
debugger
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "", 0)
if (val) {

View File

@ -76,11 +76,11 @@
</u-form-item>
<view class="label-title">检查依据</view>
<!-- <view class="label-title">检查依据</view>
<u-form-item prop="PROOF" borderBottom>
<u--textarea disabled autoHeight v-model="item.PROOF" placeholder="检查依据"
border="surround"></u--textarea>
</u-form-item>
</u-form-item> -->
<u-form-item label="隐患原因" class="subRequired" required prop="listRiskQuestionReason"
borderBottom @click="handleChange(index,'reason')">
@ -96,6 +96,10 @@
<!-- <u-form-item label="附件" prop="DEMAND" borderBottom>
</u-form-item> -->
<u-form-item label="备注" prop="REMARK" borderBottom>
<u--input disabled disabledColor="#fff" placeholder='备注' border="none" v-model="item.REMARK"
inputAlign="right"></u--input>
</u-form-item>
<view class="upload-title">附件</view>
<full-upload v-model="item.Nav_Files" :isShowBtn='true'
:listProp='listPropSubUpload'

View File

@ -71,6 +71,10 @@
<u--input disabled disabledColor="#fff" v-model="item.ADDRESS" border="none"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="备注" prop="REMARK" borderBottom>
<u--input disabled disabledColor="#fff" placeholder='备注' border="none" v-model="item.REMARK"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="整改期限" prop="LastDateUser" borderBottom>
<u--input disabled :value="$u.timeFormat(model.LastDateUser, ' yyyy-mm-dd')"

View File

@ -58,11 +58,11 @@
<u--textarea disabled autoHeight v-model="item.DEMAND"
placeholder="整改建议与措施" border="surround"></u--textarea>
</u-form-item>
<view class="label-title">检查依据</view>
<!-- <view class="label-title">检查依据</view>
<u-form-item prop="PROOF" borderBottom>
<u--textarea disabled autoHeight v-model="item.PROOF"
placeholder="检查依据" border="surround"></u--textarea>
</u-form-item>
</u-form-item> -->
<u-form-item label="隐患原因" prop="listCheckDetailReason" borderBottom
@click="handleShowSheet({title: '隐患原因', name: 'listCheckDetailReason', dataIndex: index})">

View File

@ -45,6 +45,14 @@
<u--input disabled disabledColor="#fff" v-model="model.Nav_UserActualDeal.NAME" border="none"
slot="right" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="隐患地点" prop="ADDRESS" borderBottom>
<u--input disabled disabledColor="#fff" v-model="model.Nav_SubmitContent.ADDRESS" border="none"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="备注" prop="REMARK" borderBottom>
<u--input disabled disabledColor="#fff" placeholder='备注' border="none" v-model="model.REMARK"
inputAlign="right"></u--input>
</u-form-item>
<!-- <u-form-item label="整改建议与措施" prop="Nav_SubmitContent.DEMAND" borderBottom>
<u--input disabled v-model="model.Nav_SubmitContent.DEMAND" border="none" slot="right"
inputAlign="right"></u--input>
@ -77,8 +85,10 @@
<full-upload v-model="model.Nav_FilesAfter" :isShowBtn='true' :listProp='listProp2'
:listPropVal='listPropVal2'></full-upload>
<view v-if="model.DEALOPINION!=null&&model.DEALOPINION.length>0&&AUDIT_OPINION==''" class="label-title">整改责任人意见</view>
<u-form-item v-if="model.DEALOPINION!=null&&model.DEALOPINION.length>0&&AUDIT_OPINION==''" borderBottom prop="DEALOPINION">
<view v-if="model.DEALOPINION!=null&&model.DEALOPINION.length>0&&AUDIT_OPINION==''" class="label-title">
整改责任人意见</view>
<u-form-item v-if="model.DEALOPINION!=null&&model.DEALOPINION.length>0&&AUDIT_OPINION==''" borderBottom
prop="DEALOPINION">
<u--textarea disabled height="auto" v-model="model.DEALOPINION" placeholder="请输入整改后情况描述"
border="surround"></u--textarea>
</u-form-item>

View File

@ -43,6 +43,14 @@
<u--input disabled disabledColor="#fff" v-model="model.Nav_SubmitContent.DESCREPTION" border="none"
slot="right" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="隐患地点" prop="ADDRESS" borderBottom>
<u--input disabled disabledColor="#fff" v-model="model.Nav_SubmitContent.ADDRESS" border="none"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="备注" prop="REMARK" borderBottom>
<u--input disabled disabledColor="#fff" placeholder='备注' border="none" v-model="model.REMARK"
inputAlign="right"></u--input>
</u-form-item>
<view class="label-title">整改建议与措施</view>
<u-form-item borderBottom prop="Nav_SubmitContent.DEMAND">

View File

@ -59,6 +59,10 @@
<u--input disabled disabledColor="#fff" v-model="item.ADDRESS" border="none"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="备注" prop="REMARK" borderBottom>
<u--input disabled disabledColor="#fff" placeholder='备注' border="none" v-model="item.REMARK"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="整改期限" prop="LastDateUserShow" borderBottom>
<u--input disabled disabledColor="#fff" placeholder="请选择整改期限" border="none"
:value="$u.timeFormat(item.LastDateUser, 'yyyy-mm-dd')"

View File

@ -6,12 +6,12 @@
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model" :rules="rules"
errorType="border-bottom" ref="wForm">
<u-form-item required label="检查范围" prop="CHECKOBJECT" borderBottom
<!-- <u-form-item required label="检查范围" prop="CHECKOBJECT" borderBottom
@click="handleChange( 'CHECKOBJECT')">
<u--input disabledColor="#fff" v-model="model.CHECKOBJECT_DESCRIPTION" border="none"
inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
</u-form-item> -->
<u-form-item label="检查类型" required prop="Nav_Submit.Nav_CheckType.NAME"

View File

@ -15,10 +15,10 @@
<u--input v-model="model.Nav_CheckType.NAME" border="none" slot="right"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="检查范围" prop="CHECKOBJECT_DESCRIPTION" borderBottom>
<!-- <u-form-item label="检查范围" prop="CHECKOBJECT_DESCRIPTION" borderBottom>
<u--input v-model="model.CHECKOBJECT_DESCRIPTION" border="none" slot="right"
inputAlign="right"></u--input>
</u-form-item>
</u-form-item> -->
<u-form-item label="检查层级" prop="Nav_CheckTypeLevel.Nav_Enums.NAME" borderBottom>
<u--input v-model="model.Nav_CheckTypeLevel.Nav_Enums.NAME" border="none" slot="right"
@ -75,11 +75,11 @@
border="surround"></u--textarea>
</u-form-item>
<view class="label-title">检查依据</view>
<!-- <view class="label-title">检查依据</view>
<u-form-item prop="CHECKPROOF" borderBottom>
<u--textarea disabled autoHeight v-model="item.CHECKPROOF" placeholder="检查依据"
border="surround"></u--textarea>
</u-form-item>
</u-form-item> -->
<view class="label-title">检查问题描述</view>
<u-form-item prop="listCheckDetailQuestion" borderBottom>
@ -108,6 +108,10 @@
<u--input disabled disabledColor="#fff" v-model="item.ADDRESS" border="none"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="备注" prop="REMARK" borderBottom>
<u--input disabled disabledColor="#fff" placeholder='备注' border="none" v-model="item.REMARK"
inputAlign="right"></u--input>
</u-form-item>
<view class="upload-title">附件</view>
<full-upload :value="item.Nav_Files" :isShowBtn='false'></full-upload>

View File

@ -82,8 +82,8 @@
</u-form-item>
<view class="label-title">检查问题描述</view>
<u-form-item prop="CHECKRESULT_DESCRIPTION" borderBottom>
<u--textarea disabled autoHeight v-model="item.CHECKRESULT_DESCRIPTION"
<u-form-item prop="DESCREPTION" borderBottom>
<u--textarea disabled autoHeight v-model="item.DESCREPTION"
placeholder="请输入检查问题描述" border="surround"></u--textarea>
</u-form-item>
@ -92,9 +92,9 @@
v-model="item.QUESTION_LEVEL_DESCRIPTION" border="none"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="整改建议与措施" prop="DEMAND" borderBottom>
<u--input disabled disabledColor="#fff" v-model="item.DEMAND" border="none"
inputAlign="right"></u--input>
<u-form-item label="整改建议与措施" prop="CHECKRESULT_DESCRIPTION" borderBottom>
<u--input disabled disabledColor="#fff" v-model="item.CHECKRESULT_DESCRIPTION"
border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="检查人员" prop="checkerNames" borderBottom>
<u--input disabled disabledColor="#fff" v-model="item.checkerNames"
@ -105,6 +105,10 @@
<u--input disabled disabledColor="#fff" v-model="item.ADDRESS" border="none"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="备注" prop="REMARK" borderBottom>
<u--input disabledColor="#fff" placeholder='备注' v-model="item.REMARK"
inputAlign="right"></u--input>
</u-form-item>
<view class="upload-title">附件</view>
<full-upload v-model="item.Nav_Files" :isShowBtn='false'></full-upload>
@ -199,6 +203,7 @@
checkerNames: '',
CHECKCONTENT: '',
CHECKRESULT_DESCRIPTION: '',
DESCREPTION: '',
QUESTION_LEVEL_DESCRIPTION: '',
DEMAND: '',
ADDRESS: '',
@ -301,11 +306,12 @@
let checkerNames = ''
let ProjectNAME = ''
let AreaNAME = ''
let DESCREPTION = ''
for (let i = 0; i < res.Nav_ListSafeCheckDetail.length; i++) {
checkerNames = ''
ProjectNAME = ''
AreaNAME = ''
DESCREPTION = ''
res.Nav_ListSafeCheckDetail[i].ISCHECK = false
for (let j = 0; j < res.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailUser
@ -339,6 +345,13 @@
res.Nav_ListSafeCheckDetail[i].ISCHECK = false
}
if (res.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailQuestion != null && res
.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailQuestion.length > 0) {
res.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailQuestion.forEach(e => {
DESCREPTION += ' ' + e.Nav_Question.DESCREPTION
})
}
res.Nav_ListSafeCheckDetail[i].DESCREPTION = DESCREPTION
}
}

View File

@ -17,10 +17,10 @@
<u--input v-model="model.Nav_CheckType.NAME" disabled disabledColor="#fff" border="none"
slot="right" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="检查范围" prop="NAME" borderBottom>
<!-- <u-form-item label="检查范围" prop="NAME" borderBottom>
<u--input v-model="model.NAME" border="none" disabled disabledColor="#fff" slot="right"
inputAlign="right"></u--input>
</u-form-item>
</u-form-item> -->
<u-form-item label="检查层级" prop="Nav_CheckTypeLevel.Nav_Enums.NAME" borderBottom>
<u--input v-model="model.Nav_CheckTypeLevel.Nav_Enums.NAME" disabled disabledColor="#fff"

View File

@ -70,12 +70,15 @@
<u-sticky offset-top="20">
<view class="sub-form">
<view class="sub-form-wrap">
<!-- wyw <view class="sub-form-btns">
<!-- wyw -->
<view class="sub-form-btns" v-if='isLoadOK'>
<view class="sub-form-btn" @click="handleAdd">
<u-icon class="icon" name="plus" color="#2979ff" size="14"></u-icon>
<u--text type="primary" text="新增"></u--text>
<u--text type="primary" text="检查登记"></u--text>
</view>
</view> -->
</view>
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="subDataModel"
errorType="border-bottom" ref="sForm">
<uni-collapse :border="false" accordion>
@ -96,7 +99,7 @@
<u--input disabled disabledColor="#fff" v-model="item['Nav_CheckProject'].NAME"
border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="检查问题描述" class="subRequired" required
<u-form-item v-if="item.ISAUTOLOAD" label="检查问题描述" class="subRequired" required
prop="listCheckDetailQuestion" borderBottom
@click="handleShowSheet({title: '检查问题描述', name: 'listCheckDetailQuestion', formIndex: index ,subData: item,data:model})">
<!-- 下拉图标 -->
@ -104,6 +107,12 @@
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item v-else label="检查问题描述" class="subRequired" required
prop="listCheckDetailQuestion" borderBottom>
<!-- 下拉图标 -->
<u--input disabledColor="#fff" v-model="item.listCheckDetailQuestion"
border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="问题等级" prop="QUESTION_LEVEL_DESCRIPTION" borderBottom>
<u--input disabled disabledColor="#fff"
v-model="item.QUESTION_LEVEL_DESCRIPTION" border="none"
@ -118,24 +127,32 @@
<u--input disabled disabledColor="#fff" v-model="item.checkerNames"
border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="隐患地点" prop="ADDRESS" borderBottom>
<u-form-item v-if="item.ISAUTOLOAD" label="隐患地点" prop="ADDRESS" borderBottom>
<u--input disabledColor="#fff" placeholder='隐患地点' v-model="item.ADDRESS"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item v-else label="隐患地点" prop="ADDRESS" borderBottom>
<u--input disabledColor="#fff" border="none" disabled placeholder='隐患地点'
v-model="item.ADDRESS" inputAlign="right"></u--input>
</u-form-item>
<!-- <u-form-item label="隐患原因" prop="listCheckDetailReason" borderBottom
@click="handleShowSheet({title: '隐患原因', name: 'listCheckDetailReason', formIndex: index})">
<u--input disabledColor="#fff" v-model="item.listCheckDetailReason"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item> -->
<u-form-item label="隐患原因" prop="listCheckDetailReason" borderBottom
@click="handleChange(item)">
<u-form-item v-if="item.ISAUTOLOAD" label="隐患原因" prop="listCheckDetailReason"
borderBottom @click="handleChange(item)">
<u--input disabledColor="#fff" v-model="item.listCheckDetailReason"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item v-else label="隐患原因" prop="listCheckDetailReason" borderBottom>
<u--input disabledColor="#fff" v-model="item.listCheckDetailReason"
border="none" inputAlign="right"></u--input>
</u-form-item>
<view class="upload-title">附件</view>
<full-upload v-model="item.Nav_Files" :isShowBtn='true'
<full-upload v-model="item.Nav_Files" :isShowBtn=item.ISAUTOLOAD
:listProp='listPropSubUpload'
:listPropVal='item.listPropValSubUpload'></full-upload>
</uni-collapse-item>
@ -300,7 +317,22 @@
this.showDelModalIndex = undefined
},
handleAdd() {
this.model.Nav_ListSafeCheckDetail.unshift(this.subDataModel)
//
var linkToUrl = 'safeCheckSignDIY?tableKey=' + this.tableKey + '&ID=' + this.model.ID + '&taskID=' + this
.TaskID //Url
// this.model.DEPARTMENT_ID = option.DEPARTMENT_ID
// this.model.CHECK_TYPE_LEVEL_ID = option.CHECK_TYPE_LEVEL_ID
//BS077
linkToUrl += '&ROW_NO=' + this.model.Nav_ListSafeCheckDetail.length + '&SAFE_CHECK_ID=' + this.model.ID +
'&CHECKOBJECT=' + this.model.CHECKOBJECT + '&CHECK_TYPE_ID=' + this.model.CHECK_TYPE_ID +
'&DEPARTMENT_ID=' + this.model.DEPARTMENTID + '&CHECK_TYPE_LEVEL_ID=' + this.model
.CHECK_TYPE_LEVEL_ID + '&Nav_ListUserCheck=' + encodeURIComponent(JSON.stringify(this.model
.Nav_ListSafeCheckDetail[0]
.Nav_ListCheckDetailUser))
uni.navigateTo({
url: linkToUrl
})
},
handleTab(t) {
this.currentTab = t
@ -311,7 +343,6 @@
const orgId = uni.getStorageSync('orgId')
this.model.Nav_ListSafeCheckDetail[0].Nav_ListCheckDetailUser[0].SAFECHECKSTATE = 80;
this.model.TaskID = this.TaskID
if (this.model.Nav_ListSafeCheckDetail != null && this.model.Nav_ListSafeCheckDetail.length >
0) {
this.model.Nav_ListSafeCheckDetail.forEach(e => {
@ -324,7 +355,6 @@
}
})
}
FullCheckUpdateBS057(this.model).then(res => {
uni.$showMsgFunc('操作成功!', () => {
if (this.tableKey == null || this.tableKey == 0) {
@ -332,7 +362,15 @@
url: 'safeCheckIndex'
})
} else {
uni.navigateBack()
// uni.navigateBack()//
// uni.switchTab({
// url: '../../../index/index2',
// })
uni.switchTab({
url: '/pages/index/index2'
})
}
}, 'success', 1000)
})
@ -433,6 +471,16 @@
res.Nav_ListSafeCheckDetail[i].DEMAND = DEMAND.substring(1)
}
}
if (!res.Nav_ListSafeCheckDetail[i].ISAUTOLOAD && res.Nav_ListSafeCheckDetail[i]
.Nav_ListCheckDetailReason != null && res.Nav_ListSafeCheckDetail[i]
.Nav_ListCheckDetailReason.length > 0) {
var listCheckDetailReason = ''
res.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailReason.forEach(e => {
listCheckDetailReason += ' ' + e.Nav_RiskReason?.NAME
})
res.Nav_ListSafeCheckDetail[i].listCheckDetailReason = listCheckDetailReason
}
}
}

View File

@ -0,0 +1,511 @@
<!-- 手动检查登记 -->
<template>
<view class="page-wrap">
<view class="card">
<uni-card margin="0" :is-shadow="true">
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model" :rules="rules"
ref="wForm" errorType="border-bottom">
<u-form-item required label="检查区域" prop="RiskAreaNAME"
@click="handleShowSheet({title: '检查区域', name: 'RiskAreaNAME'})" borderBottom>
<u--input disabledColor="#fff" v-model="model.RiskAreaNAME" border="none"
inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item required label="检查内容" prop="CHECKCONTENT" borderBottom>
<u--textarea autoHeight v-model="model.CHECKCONTENT" placeholder="检查内容"
border="surround"></u--textarea>
</u-form-item>
</u--form>
</uni-card>
</view>
<u-sticky offset-top="20">
<view class="sub-form">
<view class="sub-form-wrap">
<view class="sub-form-btns">
<view class="sub-form-btn" @click="handleAdd">
<u-icon class="icon" name="plus" color="#2979ff" size="14"></u-icon>
<u--text type="primary" text="检查信息"></u--text>
</view>
</view>
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" errorType="border-bottom"
ref="sForm"><!-- :model="subDataModel" -->
<uni-collapse :border="false" accordion>
<uni-card style="margin-bottom: 16px;" margin="0" spacing="0" :is-shadow="false"
v-for=" item in model.Nav_ListCheckDetail">
<uni-collapse-item :title="item.ROW_NO+ '. ' + item.Nav_CheckProject.NAME">
<u-form-item class="subRequired" required label="检查项目" prop="Nav_CheckProject.NAME"
@click="handleShowSheet({title: '检查项目', name: 'CheckProjectNAME',itemData:item})"
borderBottom>
<u--input disabledColor="#fff" v-model="item['Nav_CheckProject'].NAME"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item class="subRequired" required label="检查项目分类"
prop="Nav_CheckProjectCategory.NAME"
@click="handleShowSheet({title: '检查项目分类', name: 'CheckProjectCategoryNAME',itemData:item})"
borderBottom>
<u--input disabledColor="#fff" v-model="item['Nav_CheckProjectCategory'].NAME"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item class="subRequired" required label="检查问题描述" prop="DESCREPTION"
borderBottom>
<u--textarea autoHeight v-model="item.DESCREPTION" placeholder="检查问题描述"
border="surround"></u--textarea>
</u-form-item>
<u-form-item class="subRequired" required label="整改建议与措施" prop="DEMAND"
borderBottom>
<u--textarea autoHeight v-model="item.DEMAND" placeholder="整改建议与措施"
border="surround"></u--textarea>
</u-form-item>
<u-form-item class="subRequired" required label="问题等级" prop="QUESTION_LEVEL_SHOW"
borderBottom
@click="handleShowSheet({title: '问题等级', name: 'QUESTION_LEVEL',itemData:item})">
<u--input disabledColor="#ffffff" v-model="item.QUESTION_LEVEL_SHOW"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item class="subRequired" required label="隐患地点" prop="ADDRESS" borderBottom>
<u--input disabledColor="#fff" placeholder='隐患地点' v-model="item.ADDRESS"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="隐患原因" prop="listCheckDetailReason" borderBottom
@click="handleShowSheet({title: '问题等级', name: 'listCheckDetailReason',itemData:item})">
<!-- @click="handleChange(item)" -->
<u--input disabledColor="#fff" v-model="item.listCheckDetailReason"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<view class="upload-title">附件</view>
<full-upload v-model="item.Nav_Files" :isShowBtn='true'
:listProp='listPropSubUpload'
:listPropVal='item.listPropValSubUpload'></full-upload>
</uni-collapse-item>
</uni-card>
</uni-collapse>
</u--form>
</view>
</view>
</u-sticky>
<u-modal :show="showDelModalIndex >= 0" @confirm="confirmDel" title="确认删除?"></u-modal>
<query-selector :multiple="selectorInfo.isMultiple" :show="selectorInfo.showPopup"
:defaultChecked="selectorInfo.defaultChecked" :title="selectorInfo.title" :lists="selectorInfo.dataLists"
@search="handleShowSheet" @select="handleSelected" @close="selectorInfo.showPopup=false" />
<view class="bottom-button">
<button type="primary" @click="FullCheckUpdate">提交</button>
</view>
</view>
</template>
<script>
import {
guid,
initFilter,
extendRule,
extendInclude,
extendGroupRule,
initFilterGroup,
extendFilterGroup,
extendFilterGroupGroupRules
} from '../../../../utils/common'
import {
AddCheckRecord,
CheckTypeOrderPaged,
CheckTypeLevelOrderPaged,
OrderPagedAreaMineType,
CheckProjectOrderPaged,
OrderPagedProjectCategory,
OrderPagedSafeCheckDetail,
OrderPagedSuitAll,
orderPagedRiskReason
} from '../../../../services/apply/subPages/BS/safeCheck'
import {
auditOptionShow,
getEnum
} from '../../../../services/common'
import {
listBSQuestionLevelEnum,
listBSQuestionLevelEnumVal
} from '../../../../utils/enums'
export default {
data() {
return {
tableKey: '0',
TaskID: '',
listPropSubUpload: ['SAFE_CHECK_ID', 'SAFE_CHECK_DETAIL_ID'],
listPropValUpload: [],
AUDIT_OPINION: '',
model: {
ID: '',
ORG_ID: '',
SAFE_CHECK_ID: '',
DEPARTMENT_ID: '',
CHECKOBJECT: '',
CHECKOBJECT_DESCRIPTION: '',
RISK_AREA_ID: '',
RiskAreaNAME: '',
CHECK_TYPE_ID: '',
CHECK_TYPE_LEVEL_ID: '',
ROW_NO: '',
CHECKCONTENT: '',
Nav_ListUserCheck: [],
Nav_ListCheckDetail: [{
DESCREPTION: '',
DEMAND: '',
ID: '',
ORG_ID: '',
SAFE_CHECK_ID: '',
QUESTION_LEVEL: '',
ROW_NO: '1',
CHECK_PROJECT_ID: '',
Nav_CheckProject: {
NAME: ''
},
CHECK_PROJECT_CATEGORY_ID: '',
Nav_CheckProjectCategory: {
NAME: ''
},
ADDRESS: '',
Nav_ListCheckDetailReason: [],
Nav_Files: [],
listPropValSubUpload: []
}],
},
isAudit: true,
lists: [],
comPickerInfo: {
showSheet: false,
columns: [],
title: '',
dataIndex: undefined,
formIndex: undefined,
name: ''
},
selectorInfo: {
showPopup: false,
isMultiple: false,
title: '隐患原因',
itemData: {},
index: 0,
dataLists: [],
defaultText: '',
defaultValue: '',
name: '',
defaultChecked: []
},
showCheckDate: false,
showPopup: false,
showDelModalIndex: undefined,
rules: {
'CHECKOBJECT_DESCRIPTION': {
type: 'string',
required: true,
trigger: ['blur', 'change']
},
'CHECKCONTENT': {
type: 'string',
required: true,
trigger: ['blur', 'change']
}
},
}
},
onLoad(option) {
this.model.ID = option.ID
this.model.ORG_ID = uni.getStorageSync('orgId')
this.model.TaskID = option.taskID
this.TaskID = option.taskID
this.tableKey = option.tableKey
this.model.ROW_NO = option.ROW_NO
this.model.SAFE_CHECK_ID = option.SAFE_CHECK_ID
this.model.CHECKOBJECT = option.CHECKOBJECT
this.model.CHECK_TYPE_ID = option.CHECK_TYPE_ID
this.model.DEPARTMENT_ID = option.DEPARTMENT_ID
this.model.CHECK_TYPE_LEVEL_ID = option.CHECK_TYPE_LEVEL_ID
this.model.Nav_ListUserCheck = JSON.parse(decodeURIComponent(option.Nav_ListUserCheck))
this.model.Nav_ListCheckDetail[0].ROW_NO = parseInt(option.ROW_NO) + 1
this.model.Nav_ListCheckDetail[0].SAFE_CHECK_ID = this.model.SAFE_CHECK_ID
this.model.Nav_ListCheckDetail[0].ID = guid()
this.model.Nav_ListCheckDetail[0].ORG_ID = this.model.ORG_ID
this.model.Nav_ListCheckDetail[0].listPropValSubUpload.push(this.model.ID)
this.model.Nav_ListCheckDetail[0].listPropValSubUpload.push(this.model.Nav_ListCheckDetail[0].ID)
},
methods: {
handleOkRow() {
console.log('ok row')
},
handleDelRowBefore(index) {
this.showDelModalIndex = index
},
confirmDel() {
this.model.Nav_ListSafeCheckDetail.splice(this.showDelModalIndex, 1)
this.showDelModalIndex = undefined
},
handleAdd() {
if (this.model.Nav_ListCheckDetail == null) {
this.model.Nav_ListCheckDetail = []
}
var NUM = parseInt(this.model.ROW_NO) + this.model.Nav_ListCheckDetail.length + 1
var detailIDAdd = guid()
var detailTemp = {
ID: detailIDAdd,
ORG_ID: this.model.ORG_ID,
SAFE_CHECK_ID: this.model.SAFE_CHECK_ID,
QUESTION_LEVEL: '',
ROW_NO: NUM,
CHECK_PROJECT_ID: '',
Nav_CheckProject: {
NAME: ''
},
CHECK_PROJECT_CATEGORY_ID: '',
Nav_CheckProjectCategory: {
NAME: ''
},
ADDRESS: '',
Nav_ListCheckDetailReason: [],
Nav_Files: [],
listPropValSubUpload: [],
}
detailTemp.listPropValSubUpload.push(this.model.ID)
detailTemp.listPropValSubUpload.push(detailIDAdd)
this.model.Nav_ListCheckDetail.unshift(detailTemp)
},
handleTab(t) {
this.currentTab = t
},
FullCheckUpdate() {
const ele = this.$refs
if (this.model.Nav_ListCheckDetail == null || this.model.Nav_ListCheckDetail.length < 1) {
uni.$showErrorInfo('请新增检查信息后再提交');
} else if (this.model.Nav_ListCheckDetail[0].DESCREPTION == '' || this.model.Nav_ListCheckDetail[0]
.DEMAND == '') {
uni.$showErrorInfo('请完善检查信息');
} else {
ele['wForm'].validate().then(res => {
this.model.Nav_ListCheckDetail.forEach(e => {
e.Nav_CheckProject = null;
e.Nav_CheckProjectCategory = null
if (e.Nav_ListCheckDetailReason != null && e.Nav_ListCheckDetailReason.length >
0) {
e.Nav_ListCheckDetailReason.forEach(ec => {
ec.Nav_RiskReason = null
})
}
})
AddCheckRecord(this.model).then(res => {
uni.$showMsgFunc('操作成功!', () => {
var linkToUrl = 'safeCheckSign?tableKey=' + this.tableKey +
'&ID=' + this.model.ID + '&taskID=' + this.TaskID //Url
uni.navigateTo({
url: linkToUrl
})
}, 'success', 1000)
})
}).catch(err => {
console.log('校验失败', err)
})
}
},
//
async handleShowSheet(p) {
if (p.name == undefined) {
//
var val = p
p = this.selectorInfo
p.val = val
}
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "", 0)
let dataSelect = []
var defaultChecked = []
if (p.name == 'RiskAreaNAME') {
this.selectorInfo.isMultiple = false
if (p.val) {
extendRule(json, 'NAME', 9, p.val);
}
// this.selectorInfo.isMultiple = true
json.FilterGroup.Groups.push({
'IsAnd': false,
'Rules': [{
'Field': "CHECKOBJECT",
'Operate': 1,
'Value': this.model.CHECKOBJECT
}]
})
json.Sort = 'NAME'
// extendRule(json, 'CHECKOBJECT', 1, this.model.CHECKOBJECT);
dataSelect = await OrderPagedAreaMineType(json).then(res => {
if (res != undefined && res.length > 0) {
for (let i = 0; i < res.length; i++) {
res[i].name = res[i].NAME
// res[i].code = res[i].CODE
}
}
return res
})
} else if (p.name == 'CheckProjectNAME') {
this.selectorInfo.isMultiple = false
extendRule(json, 'ENABLE_STATUS', 1, 0);
extendRule(json, 'IS_DELETED', 1, 'false');
if (p.val) {
extendRule(json, 'NAME', 9, p.val);
}
dataSelect = await CheckProjectOrderPaged(json).then(res => {
if (res != undefined && res.length > 0) {
for (let i = 0; i < res.length; i++) {
res[i].name = res[i].NAME,
res[i].code = res[i].CODE
}
}
return res
})
} else if (p.name == 'CheckProjectCategoryNAME') {
if (this.model.CHECKOBJECT == null || this.model.CHECKOBJECT.length < 1) {
uni.$showErrorInfo('请先选择检查范围!')
return false
} else if (this.model.CHECK_TYPE_ID == null || this.model.CHECK_TYPE_ID.length < 1) {
uni.$showErrorInfo('请先选择检查类型!')
return false
} else {
this.selectorInfo.isMultiple = false
extendRule(json, 'Nav_ListCategoryType.CHECK_TYPE_ID', 1, this.model.CHECK_TYPE_ID);
extendRule(json, 'CHECKOBJECT', 1, this.model.CHECKOBJECT);
if (p.val) {
extendRule(json, 'NAME', 9, p.val);
}
dataSelect = await OrderPagedProjectCategory(json).then(res => {
if (res != undefined && res.length > 0) {
for (let i = 0; i < res.length; i++) {
res[i].name = res[i].NAME,
res[i].code = res[i].CODE
}
}
return res
})
}
} else if (p.name == 'QUESTION_LEVEL') {
this.selectorInfo.isMultiple = false
dataSelect = []
for (let i = 0; i < listBSQuestionLevelEnum.length; i++) {
dataSelect.push({
name: listBSQuestionLevelEnum[i],
ID: listBSQuestionLevelEnumVal[i]
})
}
} else if (p.name == 'listCheckDetailReason') {
this.selectorInfo.isMultiple = true
dataSelect = await orderPagedRiskReason(json).then(res => {
if (res != undefined && res.length > 0) {
for (let i = 0; i < res.length; i++) {
res[i].name = res[i].NAME,
res[i].code = '' // res[i].CODE
}
}
return res
})
}
if (defaultChecked == null)
defaultChecked = []
if (dataSelect.length) {
this.selectorInfo = {
itemData: p.itemData,
isMultiple: this.selectorInfo.isMultiple,
showPopup: true,
title: p.title,
name: p.name,
dataLists: dataSelect,
defaultChecked: defaultChecked
}
} else {
//
}
},
closePicker() {
this.comPickerInfo = {
showSheet: false,
columns: [],
title: '',
name: '',
formIndex: undefined
}
},
//
handleSelected(e) {
this.selectorInfo.showPopup = false
switch (this.selectorInfo.name) {
case 'QUESTION_LEVEL':
this.selectorInfo.itemData.QUESTION_LEVEL = e.ID
this.selectorInfo.itemData.QUESTION_LEVEL_SHOW = e.name
break;
case 'RiskAreaNAME':
this.model.RISK_AREA_ID = e.ID
this.model.RiskAreaNAME = e.name
break;
case 'CheckProjectNAME':
this.selectorInfo.itemData.CHECK_PROJECT_ID = e.ID
this.selectorInfo.itemData.Nav_CheckProject = e
break;
case 'CheckProjectCategoryNAME':
this.selectorInfo.itemData.CHECK_PROJECT_CATEGORY_ID = e.ID
this.selectorInfo.itemData.Nav_CheckProjectCategory = e
break;
case "listCheckDetailReason":
let listReason = []
let reasonShow = ''
if (e.length > 0) {
e.forEach((item, i) => {
if (i > 0) {
reasonShow += ' '
}
listReason.push({
ID: guid(),
CHECK_DETAIL_ID: this.selectorInfo.itemData.ID,
RISK_REASON_ID: item.ID,
ORG_ID: item.ORG_ID,
Nav_RiskReason: e[i]
})
reasonShow += item.NAME
})
}
this.selectorInfo.itemData.Nav_ListCheckDetailReason = listReason
this.selectorInfo.itemData.listCheckDetailReason = reasonShow
break;
default:
break;
}
}
},
computed: {},
}
</script>
<style scoped>
@import url("../../../../style/css/editTemplate.css");
</style>

View File

@ -135,9 +135,9 @@
i].Nav_Identifying.NAME;
}
}
let strAllUsers = ''
if (res.Nav_Detail && res.Nav_Detail.length > 0) {
for (let i = 0; i < res.Nav_Detail.length; i++) {
let strAllUsers = ''
for (let j = 0; j < res.Nav_Detail[i].Nav_Users.length; j++) {
if (res.Nav_Detail[i].Nav_Users[j].DEAL_STATUS == 0) {
strAllUsers += (strAllUsers.length > 0 ? " " : "") +

View File

@ -87,7 +87,7 @@
</u-icon>
</u-form-item>
<u-form-item label="风险地点:" prop="RISK_PLACE" borderBottom>
<u--input :v-model="item.RISK_PLACE" border="none" inputAlign="right"></u--input>
<u--input v-model="item.RISK_PLACE" border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="岗位:" prop="Posts" borderBottom>
<u--input :value="item.Posts" border="none" inputAlign="right" disabled
@ -97,14 +97,14 @@
<u--input :value="item.Equs" border="none" inputAlign="right" disabled
disabledColor="#fff"></u--input>
</u-form-item>
<u-form-item label="作业环节:" prop="Nav_OperationStep.NAME" borderBottom
<!-- <u-form-item label="作业环节:" prop="Nav_OperationStep.NAME" borderBottom
@click="handleChange('Nav_OperationStep',item)">
<u--input v-if="item.Nav_OperationStep" v-model="item.Nav_OperationStep.NAME"
placeholder="作业环节" border="none" inputAlign="right" disabled
disabledColor="#fff"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down">
</u-icon>
</u-form-item>
</u-form-item> -->
<u-form-item label="责任部门:" prop="Nav_DepartmentLiable.NAME" borderBottom
@click="handleChange('Nav_DepartmentLiable',item)">
<u--input v-if="item.Nav_DepartmentLiable" v-model="item.Nav_DepartmentLiable.NAME"

View File

@ -70,10 +70,10 @@
<u--input disabled disabledColor="#fff" v-model="item.Equs" border="none"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="作业环节:" prop="item.Nav_OperationStep.NAME" borderBottom>
<!-- <u-form-item label="作业环节:" prop="item.Nav_OperationStep.NAME" borderBottom>
<u--input disabled disabledColor="#fff" v-model="item.Nav_OperationStep.NAME"
border="none" inputAlign="right"></u--input>
</u-form-item>
</u-form-item> -->
<u-form-item label="责任单位:" prop="item.Nav_DepartmentLiable.NAME" borderBottom>
<u--input disabled disabledColor="#fff" v-if="item.Nav_DepartmentLiable" v-model="item.Nav_DepartmentLiable.NAME"
border="none" inputAlign="right"></u--input>

View File

@ -0,0 +1,534 @@
<template>
<view class="todo-page">
<uni-card margin="0" :is-shadow="true">
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model">
<u-form-item label="审核意见:" prop="AUDIT_OPINION" borderBottom v-if="model.STATUS==9">
</u-form-item>
<u--textarea v-html="AUDIT_OPINION" border="surround" v-if="model.STATUS==9" disabled></u--textarea>
<u-form-item v-if="isAdd!=1" label="层级:" prop="LEVEL_SHOW" borderBottom>
<u--input v-model="model.LEVEL_SHOW" border="none" slot="right" inputAlign="right" disabled
disabledColor="#fff"></u--input>
</u-form-item>
<u-form-item label="开始时间:" prop="START_TIME" borderBottom>
<u--input v-model="model.START_TIME" border="none" slot="right" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="结束时间:" prop="END_TIME" borderBottom>
<u--input v-model="model.END_TIME" border="none" slot="right" inputAlign="right"></u--input>
</u-form-item>
<u-form-item v-if="isAdd!=1" label="辨识区域:" prop="Areas" borderBottom>
</u-form-item>
<u--textarea v-if="isAdd!=1" autoHeight v-model="model.Areas" border="none" inputAlign="right"
disabled></u--textarea>
<u-form-item required class="custom-form-item" label="职业危害名称" prop="DetailPost" :borderBottom="false">
<view slot="right" class="custom-form-item-right">
<view class="multi">
<u--text v-for="(i, k) in model.Nav_Identifyings" :key="k" class="item"
:text="k + 1 + '. ' + i.Nav_Identifying.NAME"></u--text>
</view>
</view>
</u-form-item>
<view class="upload-title">附件</view>
<full-upload v-model="model.Nav_Files" :isShowBtn='true' :listProp='listPropUpload'
:listPropVal='listPropValUpload'></full-upload>
</u--form>
</uni-card>
<u-sticky offset-top="20">
<view class="sub-form">
<view class="sub-form-wrap">
<view class="sub-form-btns">
<view class="sub-form-btn" @click="handleAddDetail">
<u-icon class="icon" name="plus-circle" color="#3c9cff" size="21"></u-icon>
<u--text type="primary" text="新增辨识任务"></u--text>
</view>
</view>
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" errorType="border-bottom"
ref="sForm">
<uni-collapse>
<uni-card style="margin-bottom: 16px;" margin="0" spacing="0" :is-shadow="false"
v-for="(item, index) in model.Nav_Detail.filter(i => !i.IS_DELETED)">
<uni-collapse-item title-border="none" :show-arrow="false" :border="false" :open="true">
<view slot="title" class="custom-collapse-title">
<view class="down">
<uni-icons type="bottom"></uni-icons>
</view>
<view class="text">{{index + 1 + '. ' +item.Nav_Area.NAME}}</view>
<view class="action" @click.stop>
<u-icon @click="handleDelRowBefore(index, item)" class="icon" name="trash"
color="#ff4d4f" size="21"></u-icon>
</view>
</view>
<u-form-item label="区域:" prop="Nav_Area" borderBottom
@click="handleChange('Nav_Area',item)">
<u--input v-model="item.Nav_Area.NAME" placeholder="请选择区域" border="none"
inputAlign="right" disabled disabledColor="#fff"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down">
</u-icon>
</u-form-item>
<u-form-item required class="custom-form-item" label="职业危害名称" prop="DetailPost"
:borderBottom="false"
@click="handleQuerySelect({ formIndex: 'Nav_Identifyings', isMultiple: true, dataIndex: index})">
<view slot="right" class="custom-form-item-right">
<view class="multi">
<u--text v-for="(i, k) in item.Nav_Identifyings" :key="k" class="item"
:text="k + 1 + '. ' + i.Nav_Identifying.NAME"></u--text>
</view>
<u-icon class="icon" name="arrow-down">
</u-icon>
</view>
</u-form-item>
<u-form-item label="辨识人员:">
<u-icon name="man-add" @click="handleShowUserSelector(item, index)" size="24"
color="#3d9cff" slot="right"></u-icon>
</u-form-item>
<view v-show="!!item.Nav_Users.length" class="tag-view">
<uni-tag class="tag" v-for="(i, k) in item.Nav_Users.filter(i => !i.IS_DELETED)"
:key="k" :inverted="true" :text="i.NAME" type="primary" />
</view>
<u-form-item label="记录人员:" prop="Nav_User">
<u--input v-if="item.Nav_User" v-model="item.Nav_User.NAME"
placeholder="请选择记录人员" border="none" inputAlign="right" disabled
disabledColor="#fff"></u--input>
</u-form-item>
</uni-collapse-item>
</uni-card>
</uni-collapse>
</u--form>
</view>
</view>
</u-sticky>
<u-modal :show="showDelModalIndex >= 0" @confirm="confirmDel" @cancel="cancelDel" showCancelButton
title="确认删除?"></u-modal>
<query-selector :show="showPopup" :lists="Lists" @close="handleClosePopup" @search="handleSearch"
@select="handleSelected" />
<people-selector :defaultChecked="peopleSelectOption.defaultChecked" :show="peopleSelectOption.showSelector"
@select="handleSelectorPeople" @close="peopleSelectOption.showSelector = false">
</people-selector>
<query-selector :multiple="qsCom.isMultiple" :total="curTotal" :show="qsCom.show" :lists="qsCom.lists"
@close="onCloseQS" @search="onSearchQS" @select="onSelectedQS" />
<view class="bottom-button">
<button type="primary" @click="submit">提交</button>
</view>
</view>
</template>
<script>
import {
extendFilterGroup,
extendGroupRule,
extendInclude,
extendOrder,
extendRule,
guid,
initFilter,
initFilterGroup
} from '../../../../utils/common'
import {
getAreaLists,
getRiskRecordRefus,
getIdentifying
} from '../../../../services/apply/HMServices/HMServices'
import {
getRequest,
getUserLists,
} from '../../../../services/apply/FOServices/FOServices.js'
import '../../../../utils/showMsg.js'
import color from '../../../../uni_modules/uview-ui/libs/config/color'
import config from '../../../../config/common'
export default {
data() {
return {
listPropUpload: ['TASK_ID'],
listPropValUpload: [],
model: {
Nav_Detail: [],
Nav_Areas: [],
Nav_Files: [],
Nav_Identifyings: [],
START_TIME: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd'),
END_TIME: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd'),
ORG_ID: uni.getStorageSync('orgId'),
},
curTotal: 0,
qsCom: {
show: false,
lists: [],
formIndex: undefined,
isMultiple: false,
dataIndex:undefined,
},
Lists: [],
currSearchType: "",
showPopup: false,
TaskID: "",
tableKey: '0',
isLoadOK: false,
showDelModalIndex: undefined,
AUDIT_OPINION: "",
isAdd: 0,
peopleSelectOption: {
showSelector: false,
value: null,
index: 0,
defaultChecked: []
},
checked: true,
ORG_ID: uni.getStorageSync('orgId')
}
},
onLoad(option) {
this.TaskID = option.taskID ? option.taskID : '';
this.model.ID = option.ID ? option.ID : '';
this.tableKey = option.tableKey ? option.tableKey : '0';
if (option.isAdd != 1) {
this.loadData();
} else {
this.isAdd = 1;
let currUser = uni.getStorageSync('appInfo').User;
this.model.LIABLE_USER_ID = currUser.ID;
this.model.ID = guid();
const json = initFilter(this.ORG_ID, "", "NAME", 1);
json.SelectField = [
"NAME",
"ID",
]
}
},
methods: {
handleSelectorPeople(e) {
const {
index: key
} = this.peopleSelectOption
this.model.Nav_Detail[key].Nav_Users = e.map(i => {
return {
USER_ID: i.USER_ID,
ID: i.ID || guid(),
TASK_DETAIL_ID: this.model.Nav_Detail[key].ID,
ORG_ID: this.ORG_ID,
IS_DELETED: i.IS_DELETED,
NAME: i.NAME,
Nav_User: {
NAME: i.NAME,
ID: i.USER_ID
}
}
})
this.model.Nav_Detail[key].Nav_User.NAME = e.filter(i => !i.IS_DELETED)[0].NAME;
this.model.Nav_Detail[key].RECORD_USER_ID = e.filter(i => !i.IS_DELETED)[0].USER_ID;
},
handleShowUserSelector(item, index) {
this.peopleSelectOption = {
showSelector: true,
value: item,
index,
defaultChecked: item.Nav_Users.map(i => {
return {
...i,
NAME: i.Nav_User.NAME,
USER_ID: i.Nav_User.ID,
}
})
}
},
handleDelRowBefore(index, item) {
if (item.AREA_ID == "" || item.AREA_ID == undefined) {
this.model.Nav_Detail.splice(this.showDelModalIndex, 1)
} else {
this.showDelModalIndex = index
}
},
cancelDel() {
this.showDelModalIndex = undefined
},
confirmDel() {
this.model.Nav_Detail[this.showDelModalIndex].IS_DELETED = true;
this.model.Nav_Detail[this.showDelModalIndex].Nav_Users.forEach(item => {
item.IS_DELETED = true;
});
this.showDelModalIndex = undefined
},
handleClosePopup() {
this.showPopup = false
},
handleAddDetail() {
this.model.Nav_Detail.unshift({
ID: guid(),
TASK_ID: this.model.ID,
ORG_ID: this.ORG_ID,
Nav_User: {},
Nav_Area: {
NAME: ""
},
Nav_Users: [],
IS_DELETED: false
})
},
handleChange(title, item) {
this.currentOperate = item;
this.currSearchType = title;
this.showPopup = true;
this.handleSearch('init');
},
handleSearch(val) {
const json = initFilter(this.ORG_ID, "", "NAME")
json.Limit = 20
if (val !== 'init') {
const tempGroup = initFilterGroup(false);
extendGroupRule(tempGroup, 'NAME', 9, val)
extendFilterGroup(json, tempGroup);
}
if (this.currSearchType == "Nav_Area") {
if (this.model.Nav_Areas.length > 0) {
extendRule(json, 'TASK_ID', 1, this.model.ID);
extendInclude(json, 'Nav_Area');
getRequest(json, "/HM/HazardTaskArea/Entities").then(res => {
this.Lists = res.map(i => {
return {
...i,
name: i.Nav_Area.NAME,
type: 0
}
})
})
} else {
getAreaLists(json).then(res => {
if (res.IsSuccessful) {
this.Lists = res.Data.map(i => {
return {
...i,
name: i.NAME,
type: 1
}
})
}
})
}
} else if (this.currSearchType == "Nav_User") {
extendInclude(json, "Nav_Department")
extendRule(json, 'ENABLE_STATUS', 1, '0')
getUserLists(json).then(res => {
if (res.IsSuccessful) {
this.Lists = res.Data.map(i => {
return {
...i,
name: i.NAME,
code: i.CODE
}
})
}
})
}
},
handleSelected(val) {
this.showPopup = false
this.Lists = []
if (this.currSearchType == "Nav_Area") {
if (val.type == 0) {
this.currentOperate = val;
} else {
this.currentOperate.Nav_Area = val;
this.currentOperate.AREA_ID = val.ID;
}
} else if (this.currSearchType == "Nav_User") {
this.currentOperate.Nav_User = val;
this.currentOperate.RECORD_USER_ID = val.ID;
}
},
loadData() {
const json = initFilter(this.ORG_ID, "", "CODE", 1)
if (this.listPropValUpload.length == 0) {
this.listPropValUpload.push(this.model.ID)
}
extendRule(json, 'ID', 1, this.model.ID);
extendInclude(json, 'Nav_Identifyings.Nav_Identifying');
extendInclude(json, 'Nav_Areas.Nav_Area');
extendInclude(json, 'Nav_Files.Nav_ImgFile.Nav_File');
extendInclude(json, 'Nav_Detail.Nav_Identifyings.Nav_Identifying');
extendInclude(json, 'Nav_Detail.Nav_Users.Nav_User');
extendInclude(json, 'Nav_Detail.Nav_User');
extendInclude(json, 'Nav_Detail.Nav_Area');
getRequest(json, "/HM/HazardTask/Get").then(res => {
this.model = res
if (res.STATUS == 9) {
const json = initFilter(this.ORG_ID);
json.ID = this.model.ID;
getRiskRecordRefus(json).then(refusRes => {
this.AUDIT_OPINION = refusRes;
})
}
//
let strAreas = ''
if (res.Nav_Areas && res.Nav_Areas.length > 0) {
for (let i = 0; i < res.Nav_Areas.length; i++) {
strAreas += (strAreas.length > 0 ? " " : "") + res.Nav_Areas[
i].Nav_Area.NAME;
}
}
this.model.Nav_Detail.forEach(i => {
i.Nav_Users.forEach(o => {
o.NAME = o.Nav_User.NAME
})
})
this.model.START_TIME = uni.$u.timeFormat(this.model.START_TIME, 'yyyy-mm-dd');
this.model.END_TIME = uni.$u.timeFormat(this.model.END_TIME, 'yyyy-mm-dd');
this.model.Areas = strAreas;
this.isLoadOK = true;
})
},
closePicker() {
this.comPickerInfo = {
showSheet: false,
columns: [],
title: '',
name: '',
formIndex: undefined
}
},
async handleQuerySelect(opt) {
let column = await this.handleGet(opt, 'init')
if (column && column.length) {
this.qsCom = {
show: true,
name: opt.NAME,
dataIndex:opt.dataIndex,
formIndex: opt.formIndex,
isMultiple: opt.isMultiple,
lists: column
}
} else {
//
}
},
async onSearchQS(val, pi) {
const result = await this.handleGet(this.qsCom, val, pi)
this.qsCom.lists = result.map(i => {
return {
...i,
name: i.NAME,
NAME: i.NAME,
id: i.ID
}
})
},
async handleGet(opt, value, pageIndex) {
const json = initFilter(this.ORG_ID, '', "", 0, pageIndex || 1)
if (value !== 'init') {
const tempGroup = initFilterGroup(false);
extendGroupRule(tempGroup, 'NAME', 9, value)
extendFilterGroup(json, tempGroup);
}
let result = [];
var raw = [];
if (this.model.Nav_Identifyings.length > 0) {
extendRule(json, 'TASK_ID', 1, this.model.ID);
extendInclude(json, 'Nav_Identifying');
raw = await getRequest(json, "/HM/HazardTaskIdentifying/Entities").then(res => {
this.curTotal = res.TotalCount
return res
})
}else{
extendRule(json, 'RISK_TYPE', 1, 2);
raw = await getIdentifying(json).then(res => {
this.curTotal = res.TotalCount
return res
})
}
result = raw.map(item => {
return {
...item,
NAME: item?.Nav_Identifying.NAME,
IDENTIFYING_ID: item?.Nav_Identifying.ID
}
})
return result
},
onSelectedQS(val) {
const { formIndex, dataIndex } = this.qsCom
var detailId=this.model.Nav_Detail[dataIndex].ID;
this.model.Nav_Detail[dataIndex].Nav_Identifyings = [];
val.forEach(item => {
let obj = {
IDENTIFYING_ID: item.IDENTIFYING_ID,
Nav_Identifying: {
NAME: item.NAME
},
ID: guid(),
TASK_DETAIL_ID: detailId,
ORG_ID: this.ORG_ID,
}
this.model.Nav_Detail[dataIndex].Nav_Identifyings.push(obj);
})
this.qsCom.show = false
},
onCloseQS() {
this.qsCom = {
show: false,
lists: [],
formIndex: undefined,
isMultiple: false,
dataIndex: undefined
}
},
submit() {
this.model.PUBLISH = "SaveAndNotify";
if (this.TaskID != "") {
this.model.TaskID = this.TaskID;
}
if (this.model.NOTE_AKER_ID == "") {
this.model.NOTE_AKER_ID = uni.getStorageSync('appInfo').User.ID;
}
this.model.Nav_Detail.forEach(item => {
item.Nav_User = null;
item.Nav_Area = null;
item.Nav_Users.forEach(item2 => {
item2.Nav_User = null;
});
item.Nav_Identifyings.forEach(item2 => {
item2.Nav_Identifying = null;
});
});
this.model.Nav_Files.forEach(item => {
if (item.TASK_ID == undefined) {
item.TASK_ID = this.model.ID;
}
item.Nav_ImgFile = null;
});
this.model.Nav_Identifyings.forEach(item => {
item.TASK_ID = this.model.ID;
item.Nav_Identifying = null;
});
this.model.Nav_Areas.forEach(item => {
item.TASK_ID = this.model.ID;
item.Nav_Area = null;
});
//const ele = this.$refs
// ele['wForm'].validate().then(res => {
getRequest(this.model, "/HM/HMHazardTask/FullUpdate").then(res => {
if (res) {
uni.$showMsgFunc('操作成功!', () => {
uni.navigateBack()
}, 'success', 1000)
}
})
// }).catch(err => {
// uni.$showErrorInfo('')
// })
},
},
}
</script>
<style>
@import url("../../../../style/css/editTemplate.css");
.todo-page {
padding: 16px 16px 70px;
}
</style>

View File

@ -226,11 +226,11 @@
<u--input :value="item.Equs" border="none" inputAlign="right" disabled
disabledColor="#fff"></u--input>
</u-form-item>
<u-form-item label="作业环节:" prop="Nav_OperationStep.NAME" borderBottom>
<!-- <u-form-item label="作业环节:" prop="Nav_OperationStep.NAME" borderBottom>
<u--input v-if="item.Nav_OperationStep" v-model="item.Nav_OperationStep.NAME"
placeholder="作业环节" border="none" inputAlign="right" disabled
disabledColor="#fff"></u--input>
</u-form-item>
</u-form-item> -->
<u-form-item label="风险评价L" prop="EVALUATE_L" borderBottom>
<u--input v-model="item.EVALUATE_L" type="number" border="none"
@change="caclScore(item)" inputAlign="right"></u--input>
@ -614,6 +614,7 @@
this.model.Nav_Risks[i].EVALUATE_SCORE = this.model.Nav_Risks[i].EVALUATE_SCORE == 0 ?
"" :
this.model.Nav_Risks[i].EVALUATE_SCORE;
this.caclScore(this.model.Nav_Risks[i]);
this.model.Nav_Risks[i].Posts = strPosts;
}
}
@ -646,16 +647,16 @@
let score = item.EVALUATE_L * item.EVALUATE_E * item.EVALUATE_C;
if (score > 320) {
item.EVALUATE_LEVEL = "10";
item.EVALUATE_LEVEL_SHOW = "一级";
item.EVALUATE_LEVEL_SHOW = "重大风险";
} else if (160 < score && score <= 320) {
item.EVALUATE_LEVEL = "20";
item.EVALUATE_LEVEL_SHOW = "二级";
item.EVALUATE_LEVEL_SHOW = "较大风险";
} else if (70 < score && score <= 160) {
item.EVALUATE_LEVEL = "30";
item.EVALUATE_LEVEL_SHOW = "三级";
item.EVALUATE_LEVEL_SHOW = "一般风险";
} else if (score <= 70) {
item.EVALUATE_LEVEL = "40";
item.EVALUATE_LEVEL_SHOW = "四级";
item.EVALUATE_LEVEL_SHOW = "低风险";
}
item.EVALUATE_SCORE = score.toFixed(2);
},
@ -663,7 +664,7 @@
if (this.model.MODIFY_TYPE == 0) {
this.model.MODIFY_TYPE = 1;
}
//this.model.PUBLISH = "SaveAndNotify";
this.model.PUBLISH = "SaveAndNotify";
this.model.TaskID = this.TaskID;
if (this.model.ORG_ID == "") {
this.model.ORG_ID = this.ORG_ID;

View File

@ -527,6 +527,9 @@
case 'HM063_SHOWPRINT': //危险辨识记录签到
linkToUrl = '../apply/subPages/HM/2riskRecordShow'
break;
case 'HM102': //职业危害辨识记录
linkToUrl = '../apply/subPages/HM/3hazardTaskEdit'
break;
case 'HM101_SHOWPRINT': //职业危害辨识记录签到
linkToUrl = '../apply/subPages/HM/3hazardTaskShow'
break;

View File

@ -33,7 +33,7 @@ export function getRiskRecordRefus(params) {
//区域列表
export function getAreaLists(params) {
return new Promise((resolve, reject) => {
request.post("/HM/HMRiskTask/OrderPagedArea", params).then((result) => {
request.post("/HM/HMRiskArea/OrderPagedArea", params).then((result) => {
if (result.IsSuccessful) {
resolve(result);
}

View File

@ -287,4 +287,30 @@ export function LawOrderPaged(params) {
reject(error)
})
})
}
}
//检查内容新增
export function FullUpdateContents(params) {
return new Promise((resolve, reject) => {
request.post("/BS/BSCheckContents/FullUpdateS", params).then((result) => {
if (result.IsSuccessful) {
resolve(result.Data);
}
}).catch((error) => {
reject(error)
})
})
}
//手动新增检查登记
export function AddCheckRecord(params) {
return new Promise((resolve, reject) => {
request.post("/BS/BSSafeCheck/AddCheckRecord", params).then((result) => {
if (result.IsSuccessful) {
resolve(result.Data);
}
}).catch((error) => {
reject(error)
})
})
}

View File

@ -9,9 +9,15 @@ let listTimeType = ['全部', '当天', '最近三天', '最近一周', '最近
let listPFStandardStatus = ['全部', '草稿', '确认中', '审核中', '已归档', '已驳回']
let listPFStandardStatusVal = [-1, 0, 10, 20, 30, 40]
let listBSQuestionLevelEnum=['重大','A','B','C','D']
let listBSQuestionLevelEnumVal=[10,20,30,40,50]
export {
listTimeType,
listPFStandardStatus,
listPFStandardStatusVal
listPFStandardStatusVal,
listBSQuestionLevelEnum,
listBSQuestionLevelEnumVal
}