This commit is contained in:
wyw 2026-07-15 09:46:20 +08:00
commit 53e2b664fa
39 changed files with 5622 additions and 4627 deletions

View File

@ -5,8 +5,8 @@
<u--textarea v-model="value" placeholder="请输入审批意见"></u--textarea>
</view>
<view class="buttons">
<u-button @click="handlePass" class="btn first-btn" type="primary" text="通过"></u-button>
<u-button @click="handleReject" :disabled="localIsBtnRefuseDisable" type="warning" text="驳回"></u-button>
<u-button @click="handlePass" class="btn first-btn" type="primary" text="通过" :loading="isDisabled"></u-button>
<u-button @click="handleReject" :disabled="localIsBtnRefuseDisable" type="warning" text="驳回" :loading="isDisabled"></u-button>
</view>
</view>
</view>
@ -53,25 +53,26 @@
data() {
return {
value: '',
localIsBtnRefuseDisable: this.isBtnRefuseDisable
localIsBtnRefuseDisable: this.isBtnRefuseDisable,
isDisabled: false
}
},
// beforeCreate() KO
// beforeMount() mounted() OK
created() {
if (this.refuseApi) {
this.localIsBtnRefuseDisable = false
} else {
const pages = getCurrentPages()
const currentPage = pages[pages.length - 1]
const query = currentPage.options || {}
this.localIsBtnRefuseDisable = !(query.refuseApi && query.refuseApi !== 'undefined')
}
if (this.refuseApi) {
this.localIsBtnRefuseDisable = false
} else {
const pages = getCurrentPages()
const currentPage = pages[pages.length - 1]
const query = currentPage.options || {}
this.localIsBtnRefuseDisable = !(query.refuseApi && query.refuseApi !== 'undefined')
}
},
mounted() {
if (this.$route && this.$route.query) {
this.localIsBtnRefuseDisable = !(this.$route.query.refuseApi && this.$route.query.refuseApi !== 'undefined')
}
if (this.$route && this.$route.query) {
this.localIsBtnRefuseDisable = !(this.$route.query.refuseApi && this.$route.query.refuseApi !== 'undefined')
}
},
watch: {
isBtnRefuseDisable(newValue) {
@ -81,6 +82,7 @@
methods: {
handlePass() {
this.isDisabled = true
const genParams = this.handleGenParams(10)
handlePassAudit(genParams, this.okApi).then(res => {
// this.$emit('pass', this.dataSource)
@ -95,9 +97,11 @@
//
handlePassAuditCallBack(res.Data + "?id=" + genParams.DATA_ID).then(
res2 => {
this.isDisabled = false
uni.navigateBack()
})
} else {
this.isDisabled = false
uni.navigateBack()
}
// }
@ -105,14 +109,17 @@
})
},
handleReject() {
this.isDisabled = true
if (this.value == undefined || this.value === '' || this.value.length < 1) {
uni.$showErrorInfo('请输入驳回意见!')
this.isDisabled = false
return false
}
const genParams = this.handleGenParams(20)
handleRejestAudit(genParams, this.refuseApi).then(res => {
// this.$emit('reject', this.dataSource)
uni.$showMsgFunc('驳回成功!', () => {
this.isDisabled = false
uni.navigateBack()
}, 'success', 1000)
@ -133,7 +140,7 @@
this.dataSource.CurrentNode = currentNodes[0];
}
}
if(this.TASK_ORGID&&this.TASK_ORGID.length>0){
if (this.TASK_ORGID && this.TASK_ORGID.length > 0) {
this.dataSource.Parameter22 = this.TASK_ORGID
}
const params = {

View File

@ -83,9 +83,9 @@
</view> -->
<view style="padding: 10px 16px;display: flex;flex-direction: row;" class="bottom-button">
<button type="default" @click="submit('Save')" :plain="true"
<button @click="submit('Save')" :plain="true"
style="margin-right: 5px;background-color: #fff;color: #3d4b70;width: 50%;height: 40px;display: flex;align-items: center;justify-content: center;font-size: 14px;">保存</button>
<button type="default" @click="submit('SaveAndNotify')"
<button @click="submit('SaveAndNotify')"
style="margin-left: 5px;background-color: #3d4b70;color: #fff;width: 50%;height: 40px;display: flex;align-items: center;justify-content: center;font-size: 14px;">提交</button>
</view>
<u-datetime-picker :show="dateTimePickerInfo.showCheckDate" v-model='dateTimePickerInfo.defaultDateTime' @confirm="handleCheckDate" @close="dateTimePickerInfo.showCheckDate = false"

File diff suppressed because it is too large Load Diff

View File

@ -9,12 +9,12 @@
</view>
<view style="font-size: 15px; font-weight: bold;color: #3d4b70;margin-bottom: 10px;">基本信息填写</view>
<u-form-item label="发起人:" prop="Nav_User.NAME" @click="handleChangeMonitor('Nav_ApplyUser')" borderBottom>
<u-form-item label="发起人:" prop="Nav_User.NAME" @click="handleChangeMonitor('Nav_ApplyUser')" borderBottom>
<u--input disabledColor="#fff" v-model="(model.Nav_ApplyUser||{}).NAME" disabled placeholder="请选择发起人" suffixIcon="arrow-down" suffixIconStyle="font-size:12px" fontSize="14px"
customStyle="margin:0px;display:flex;padding:3px 0px" border="none" inputAlign="right">
</u--input>
</u-form-item>
<u-form-item label="发起部门:" prop="Nav_User.NAME" @click="handleChangeMonitor('Nav_ApplyDepartment')" borderBottom>
<u-form-item label="发起部门:" prop="Nav_User.NAME" @click="handleChangeMonitor('Nav_ApplyDepartment')" borderBottom>
<u--input disabledColor="#fff" v-model="(model.Nav_ApplyDepartment||{}).NAME" disabled placeholder="请选择发起部门" suffixIcon="arrow-down" suffixIconStyle="font-size:12px" fontSize="14px"
customStyle="margin:0px;display:flex;padding:3px 0px" border="none" inputAlign="right">
</u--input>
@ -33,12 +33,12 @@
<u--input disabled disabledColor="#fff" v-model="model.JOB_END_DATE" placeholder="请选择值班结束时间" border="none" inputAlign="right" fontSize="14px"></u--input>
<u-icon style="margin-left: 4px;" name="arrow-down" size="12"></u-icon>
</u-form-item>
<u-form-item label="班次:" prop="Nav_Class.NAME" @click="handleChangeMonitor('Nav_Class')" borderBottom>
<u-form-item label="班次:" prop="Nav_Class.NAME" @click="handleChangeMonitor('Nav_Class')" borderBottom>
<u--input disabledColor="#fff" v-model="(model.Nav_Class||{}).NAME" disabled placeholder="请选择班次" suffixIcon="arrow-down" suffixIconStyle="font-size:12px" fontSize="14px"
customStyle="margin:0px;display:flex;padding:3px 0px" border="none" inputAlign="right">
</u--input>
</u-form-item>
<u-form-item label="值班领导" @click="handleShowSheet({title: '值班领导', name: 'Nav_Users'})">
<u-form-item label="值班领导" @click="handleShowSheet({title: '值班领导', name: 'Nav_Users'})">
<u-icon name="man-add" size="24" color="#3d9cff" slot="right"></u-icon>
</u-form-item>
<view class="tag-view" v-if="model.Nav_Users">
@ -49,7 +49,7 @@
<u-form-item label="交接班地点" prop="LOCATION" borderBottom>
<u--input disabledColor="#ffffff" v-model="model.PLACE" border="none" inputAlign="right" fontSize="14px" placeholder="请输入地点"></u--input>
</u-form-item>
<u-form-item label="接班人" @click="handleShowSheet({title: '接班人', name: 'Nav_AfterUsers'})">
<u-form-item label="接班人" @click="handleShowSheet({title: '接班人', name: 'Nav_AfterUsers'})">
<u-icon name="man-add" size="24" color="#3d9cff" slot="right"></u-icon>
</u-form-item>
<view class="tag-view" v-if="model.Nav_AfterUsers">
@ -92,7 +92,7 @@
<u--input disabled disabledColor="#fff" v-model="item.END_DATE" placeholder="请选择结束时间" border="none" inputAlign="right" fontSize="14px"></u--input>
<u-icon style="margin-left: 4px;" name="arrow-down" size="12"></u-icon>
</u-form-item>
<u-form-item label="巡视区域" @click="handleShowSheet({title: '巡视区域', name: 'Nav_DetailAreas',itemData:item})">
<u-form-item label="巡视区域" @click="handleShowSheet({title: '巡视区域', name: 'Nav_DetailAreas',itemData:item})">
<u-icon name="man-add" size="24" color="#3d9cff" slot="right"></u-icon>
</u-form-item>
<view class="tag-view" v-if="item.Nav_DetailAreas">
@ -110,7 +110,7 @@
</u-form-item>
<u--textarea autoHeight v-model="item.MEASURE" placeholder="请输入处置措施" border="surround"></u--textarea>
<u-form-item label="现场责任人:" prop="Nav_User.NAME" @click="handleShowSheet({title: '现场责任人', name: 'Nav_User',itemData:item})" borderBottom>
<u-form-item label="现场责任人:" prop="Nav_User.NAME" @click="handleShowSheet({title: '现场责任人', name: 'Nav_User',itemData:item})" borderBottom>
<u--input disabledColor="#fff" v-model="(item.Nav_User||{}).NAME" disabled placeholder="请选择现场责任人" suffixIcon="arrow-down" suffixIconStyle="font-size:12px" fontSize="14px"
customStyle="margin:0px;display:flex;padding:3px 0px" border="none" inputAlign="right">
</u--input>
@ -137,9 +137,12 @@
</view>
<view style="padding: 10px 16px;display: flex;flex-direction: row;" v-if="stepsPageList === 1" class="bottom-button">
<u-button type="primary" @click="stepReduce" color="#3d4b70" :plain="true" style="margin-right: 5px;">上一步</u-button>
<u-button type="primary" @click="submit" color="#3d4b70" style="margin-left: 5px;">提交</u-button>
<view style="padding: 10px 16px;display: flex;flex-direction: column;" v-if="stepsPageList === 1" class="bottom-button">
<u-button @click="submit('0')" :plain="true" color="#3d4b70">保存</u-button>
<view style="display: flex;flex-direction: row;margin-top: 10px;">
<u-button @click="stepReduce" :plain="true" color="#3d4b70" style="margin-right: 5px;">上一步</u-button>
<u-button @click="submit('SaveAndNotify')" color="#3d4b70" style="margin-left: 5px">提交</u-button>
</view>
</view>
<query-selector :multiple="selectorInfo.isMultiple" :show="selectorInfo.showPopup" :title="selectorInfo.title" :lists="selectorInfo.dataLists" :defaultChecked="selectorInfo.defaultChecked"
@search="handleSearch" @select="handleSelected" @close="selectorInfo.showPopup=false" :total="selectorInfo.totalCount" />
@ -475,8 +478,8 @@
handleNewCheckArea() {
this.model.Nav_Details.push({
ID: guid(),
LEADER_WELL_RECORD_ID:this.model.ID,
ORG_ID:uni.getStorageSync('orgId'),
LEADER_WELL_RECORD_ID: this.model.ID,
ORG_ID: uni.getStorageSync('orgId'),
START_DATE: '',
END_DATE: '',
Nav_DetailAreas: [],
@ -730,24 +733,24 @@
this.dateTimePickerInfo.showCheckDate = false
},
submit() {
submit(type) {
this.modelEdit = JSON.parse(JSON.stringify(this.model))
delete this.modelEdit.Nav_ApplyDepartment
delete this.modelEdit.Nav_ApplyUser
delete this.modelEdit.Nav_Class
delete this.modelEdit.Nav_ProductionUnit
if(this.modelEdit.Nav_Details&&this.modelEdit.Nav_Details.length>0){
if (this.modelEdit.Nav_Details && this.modelEdit.Nav_Details.length > 0) {
this.modelEdit.Nav_Details.map(item => {
item.PUBLISH = 'SaveAndNotify'
delete item.Nav_User
if(item.Nav_DetailAreas&&item.Nav_DetailAreas.length>0){
item.Nav_DetailAreas.map(item1=>{
delete item1.Nav_Area
})
}
})
item.PUBLISH = type
delete item.Nav_User
if (item.Nav_DetailAreas && item.Nav_DetailAreas.length > 0) {
item.Nav_DetailAreas.map(item1 => {
delete item1.Nav_Area
})
}
})
}
if (this.TaskID == null || this.TaskID == '') {
this.modelEdit.TaskID = '00000000-0000-0000-0000-000000000000'
} else {
@ -756,7 +759,7 @@
if (this.modelEdit.ORG_ID == null || this.modelEdit.ORG_ID == '')
this.modelEdit.ORG_ID = this.ORG_ID
this.modelEdit.PUBLISH = 'SaveAndNotify'
this.modelEdit.PUBLISH = type;
fullFOLeaderWellRecord(this.modelEdit).then(res => {
if (res) {
uni.$showMsgFunc('操作成功!', () => {

View File

@ -191,9 +191,12 @@
</view>
<view style="padding: 10px 16px;display: flex;flex-direction: row;" v-if="stepsPageList === 2" class="bottom-button">
<u-button type="primary" @click="stepReduce" color="#3d4b70" :plain="true" style="margin-right: 5px;">上一步</u-button>
<u-button type="primary" @click="submit" color="#3d4b70" style="margin-left: 5px;">提交</u-button>
<view style="padding: 10px 16px;display: flex;flex-direction: column;" v-if="stepsPageList === 2" class="bottom-button">
<u-button @click="submit('0')" :plain="true" color="#3d4b70">保存</u-button>
<view style="display: flex;flex-direction: row;margin-top: 10px;">
<u-button @click="stepReduce" :plain="true" color="#3d4b70" style="margin-right: 5px;">上一步</u-button>
<u-button @click="submit('SaveAndNotify')" color="#3d4b70" style="margin-left: 5px">提交</u-button>
</view>
</view>
<query-selector :multiple="selectorInfo.isMultiple" :show="selectorInfo.showPopup" :title="selectorInfo.title" :lists="selectorInfo.dataLists" :defaultChecked="selectorInfo.defaultChecked"
@search="handleSearch" @select="handleSelected" @close="selectorInfo.showPopup=false" :total="selectorInfo.totalCount" />
@ -921,7 +924,7 @@
this.dateTimePickerInfo.showCheckDate = false
},
submit() {
submit(type) {
this.modelEdit = JSON.parse(JSON.stringify(this.model))
delete this.modelEdit.Nav_ApplyDepartment
delete this.modelEdit.Nav_ApplyUser
@ -939,7 +942,7 @@
}
if (this.modelEdit.Nav_Users && this.modelEdit.Nav_Users.length > 0) {
this.modelEdit.Nav_Users.map(item => {
item.PUBLISH = 'SaveAndNotify'
item.PUBLISH = type
delete item.Nav_Train
delete item.Nav_User
delete item.Nav_UserType
@ -958,8 +961,7 @@
}
if (this.modelEdit.ORG_ID == null || this.modelEdit.ORG_ID == '')
this.modelEdit.ORG_ID = this.ORG_ID
this.modelEdit.PUBLISH = 'SaveAndNotify'
this.modelEdit.PUBLISH = type;
fullFOFireJob(this.modelEdit).then(res => {
if (res) {
uni.$showMsgFunc('操作成功!', () => {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -270,11 +270,13 @@
</u--form>
</view>
</view>
<view style="padding: 10px 16px;display: flex;flex-direction: row;" class="bottom-button" v-if="stepsPage === 4">
<button type="default" @click="stepReduceTwo" :plain="true"
style="margin-right: 5px;background-color: #fff;color: #3d4b70;width: 50%;height: 40px;display: flex;align-items: center;justify-content: center;font-size: 14px;">上一步</button>
<button type="default" @click="stepSubmit"
style="margin-left: 5px;background-color: #3d4b70;color: #fff;width: 50%;height: 40px;display: flex;align-items: center;justify-content: center;font-size: 14px;">提交</button>
<view style="padding: 10px 16px;display: flex;flex-direction: column;" class="bottom-button" v-if="stepsPage === 4">
<u-button @click="stepSubmit('Save')" :plain="true" color="#3d4b70">保存</u-button>
<view style="display: flex;flex-direction: row;margin-top: 10px;">
<u-button @click="stepReduceTwo" :plain="true" color="#3d4b70" style="margin-right: 5px;">上一步</u-button>
<u-button @click="stepSubmit('SaveAndNotify')" color="#3d4b70" style="margin-left: 5px">提交</u-button>
</view>
</view>
<u-modal :show="showDelModalIndex >= 0" @confirm="confirmDel" @cancel="cacelDel" :showCancelButton="true" title="确认删除?"></u-modal>
<u-modal :show="showDelModalDetail >= 0" @confirm="confirmDelDetail" @cancel="cacelDelDetail" :showCancelButton="true" title="确认删除?"></u-modal>
@ -364,7 +366,7 @@
Nav_Department: {
NAME: ''
},
Nav_Area:{
Nav_Area: {
NAME: ''
},
// Nav_ApplyUser: {
@ -1272,7 +1274,7 @@
formIndex: undefined
}
},
stepSubmit() {
stepSubmit(type) {
this.numC = 0;
this.dataModel.Nav_DealMeasures.map((item) => {
if (item.NAME == '') {
@ -1285,7 +1287,7 @@
uni.$showErrorInfo('添加作业后处理措施信息不能为空')
} else {
this.modelEdit = JSON.parse(JSON.stringify(this.dataModel))
this.modelEdit.PUBLISH = "SaveAndNotify";
if (this.TaskID !== null) {
this.modelEdit.TaskID = this.TaskID;
}
@ -1300,7 +1302,12 @@
}
}
delete this.modelEdit.Nav_Department
delete this.modelEdit.Nav_Area
delete this.modelEdit.Nav_Area
if (type == 'SaveAndNotify') {
this.modelEdit.PUBLISH = "SaveAndNotify";
} else {
this.modelEdit.PUBLISH = null;
}
saveJobRecord(this.modelEdit).then(res => {
uni.$showMsgFunc('操作成功!', () => {
// if (this.tableKey == null || this.tableKey == 0) {

View File

@ -117,11 +117,11 @@
disabled disabledColor="#fff"></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="CREATE_NOTIFY_RECORD" borderBottom>
<u-form-item label="是否触发培训记录" prop="CREATE_NOTIFY_RECORD" borderBottom>
<u-switch inactiveColor="rgb(230, 230, 230)" size="24" space="4"
v-model="model.CREATE_NOTIFY_RECORD" @change="changeSwitch($event,'CREATE_NOTIFY_RECORD')"
border="none" slot="right" inputAlign="right"></u-switch>
</u-form-item> -->
</u-form-item>
<u-form-item required label="记录人员" prop="Nav_RecordUser.NAME" borderBottom
@click="handleChange('Nav_RecordUser','')">
<u--input v-if="model.Nav_RecordUser" v-model="model.Nav_RecordUser.NAME" placeholder="记录人员"

View File

@ -53,10 +53,10 @@
</u-form-item>
<u--textarea v-model="model.EMERGENCY" disabled autoHeight maxlength="-1"></u--textarea>
<u-form-item label="是否有效" prop="HIDDEN_PLACE" border-bottom>
<!-- <u-form-item label="是否有效" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="model.ENABLE_STATUSName" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
</u-form-item> -->
<uni-collapse class="collapse" ref="collapse">
<uni-collapse-item title="管控层级" name="Variety components">
@ -249,87 +249,96 @@
})
},
loadData() {
// const json = {}
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "")
extendRule(json, 'ID', 1, this.model.ID);
extendRule(json, 'TASK_ID', 1, this.TaskID);
extendIgnoreDataRule(json)
GetSKEnterpriseLibraryRecord(json).then(res => {
this.stepLoad = false
this.model = res;
this.model.ID = this.ID
this.model.EVALUATE_LEVELName = res.EVALUATE_LEVEL !== undefined ? this.enumsData['SKEvaluateLevelEnum'].find(item => item.code === res.EVALUATE_LEVEL).name : '';
this.model.ENABLE_STATUSName = res.ENABLE_STATUS !== undefined ? this.enumsData['FMEnableStatusEnum'].find(item => item.code === res.ENABLE_STATUS).name : '';
if (this.model.Nav_Departs && this.model.Nav_Departs.length > 0) {
this.model.Nav_Departs.map(item => {
item.DEPARTMENT_TYPEName = item.DEPARTMENT_TYPE !== undefined ? this.enumsData['SKDepartmentTypeEnum'].find(item1 => item1.code === item.DEPARTMENT_TYPE).name : '';
})
}
if (this.model.Nav_Posts && this.model.Nav_Posts.length > 0) {
this.model.Nav_Posts.map(item1 => { //
if (item1.Nav_PostDetails && item1.Nav_PostDetails.length > 0) {
let areaShow = ''
item1.Nav_PostDetails.map(o => {
areaShow += o.Nav_Post.NAME + ' '
})
item1['Nav_PostDetailsName'] = areaShow
} else {
item1['Nav_PostDetailsName'] = ''
}
})
}
if (this.model.Nav_Details && this.model.Nav_Details.length > 0) {
this.model.Nav_Details.map(item => {
if (item.Nav_DetailContents && item.Nav_DetailContents.length > 0) {
item.Nav_DetailContents.map(item1 => {
if (item1.Nav_DetailBasics && item1.Nav_DetailBasics.length > 0) {
let areaShow = ''
item1.Nav_DetailBasics.map(o => {
areaShow += o.Nav_Law.NAME + ' '
})
item1['Nav_DetailBasicsName'] = areaShow
} else {
item1['Nav_DetailBasicsName'] = ''
}
if (item1.Nav_DetailHiddens && item1.Nav_DetailHiddens.length > 0) {
item1.Nav_DetailHiddens.map(item2 => {
item2.HIDDEN_LEVELName = item2.HIDDEN_LEVEL !== undefined ? (item2.HIDDEN_LEVEL == 0 ? '一般' : '重大') : '';
})
}
if (item1.Nav_DetailDeparts && item1.Nav_DetailDeparts.length > 0) {
item1.Nav_DetailDeparts.map(item2 => {
const checkTypeItem = item2.CHECK_TYPE !== undefined ?
this.enumsData['SKDepartmentTypeEnum'].find(item => item.code === item2.CHECK_TYPE) :
null;
item2.CHECK_TYPEName = checkTypeItem ? checkTypeItem.name : '';
const json1 = initFilter(this.ORG_ID)
extendRule(json1, 'ID', 1, this.model.ID);
getRequest(json1, "/SK/SKRiskIdentifyResult/GetDetail").then(res => {
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "")
extendRule(json, 'PRODUCTION_UNIT_ID', 1, res.PRODUCTION_UNIT_ID);
extendRule(json, 'AREA_ID', 1, res.AREA_ID);
extendRule(json, 'TYPE_ID', 1, res.TYPE_ID);
extendRule(json, 'RISK_NAME', 1, res.RISK_NAME);
extendRule(json, 'RISK_DESCRIPTION', 1, res.RISK_DESCRIPTION);
const cycleItem = item2.CHECK_CYCLE !== undefined ?
this.enumsData['SKPLANCHECKFREQUENCYEnum'].find(item => item.code === item2.CHECK_CYCLE) :
null;
item2.CHECK_CYCLEName = cycleItem ? cycleItem.name : '';
if (item2.Nav_DetailPosts && item2.Nav_DetailPosts.length > 0) {
let areaShow = ''
item2.Nav_DetailPosts.map(o => {
areaShow += o.Nav_Post.NAME + ' '
})
item2['Nav_DetailPostsName'] = areaShow
} else {
item2['Nav_DetailPostsName'] = ''
}
})
}
})
}
extendIgnoreDataRule(json)
GetSKEnterpriseLibraryRecord(json).then(res => {
this.stepLoad = false
this.model = res;
this.model.ID = this.ID
this.model.EVALUATE_LEVELName = res.EVALUATE_LEVEL !== undefined ? this.enumsData['SKEvaluateLevelEnum'].find(item => item.code === res.EVALUATE_LEVEL).name : '';
// this.model.ENABLE_STATUSName = res.ENABLE_STATUS !== undefined ? this.enumsData['FMEnableStatusEnum'].find(item => item.code === res.ENABLE_STATUS).name : '';
if (this.model.Nav_Departs && this.model.Nav_Departs.length > 0) {
this.model.Nav_Departs.map(item => {
item.DEPARTMENT_TYPEName = item.DEPARTMENT_TYPE !== undefined ? this.enumsData['SKDepartmentTypeEnum'].find(item1 => item1.code === item.DEPARTMENT_TYPE).name : '';
})
}
if (this.model.Nav_Posts && this.model.Nav_Posts.length > 0) {
this.model.Nav_Posts.map(item1 => { //
if (item1.Nav_PostDetails && item1.Nav_PostDetails.length > 0) {
let areaShow = ''
item1.Nav_PostDetails.map(o => {
areaShow += o.Nav_Post.NAME + ' '
})
item1['Nav_PostDetailsName'] = areaShow
} else {
item1['Nav_PostDetailsName'] = ''
}
})
}
if (this.model.Nav_Details && this.model.Nav_Details.length > 0) {
this.model.Nav_Details.map(item => {
if (item.Nav_DetailContents && item.Nav_DetailContents.length > 0) {
item.Nav_DetailContents.map(item1 => {
if (item1.Nav_DetailBasics && item1.Nav_DetailBasics.length > 0) {
let areaShow = ''
item1.Nav_DetailBasics.map(o => {
areaShow += o.Nav_Law.NAME + ' '
})
item1['Nav_DetailBasicsName'] = areaShow
} else {
item1['Nav_DetailBasicsName'] = ''
}
if (item1.Nav_DetailHiddens && item1.Nav_DetailHiddens.length > 0) {
item1.Nav_DetailHiddens.map(item2 => {
item2.HIDDEN_LEVELName = item2.HIDDEN_LEVEL !== undefined ? (item2.HIDDEN_LEVEL == 0 ? '一般' : '重大') : '';
})
}
if (item1.Nav_DetailDeparts && item1.Nav_DetailDeparts.length > 0) {
item1.Nav_DetailDeparts.map(item2 => {
const checkTypeItem = item2.CHECK_TYPE !== undefined ?
this.enumsData['SKDepartmentTypeEnum'].find(item => item.code === item2.CHECK_TYPE) :
null;
item2.CHECK_TYPEName = checkTypeItem ? checkTypeItem.name : '';
const cycleItem = item2.CHECK_CYCLE !== undefined ?
this.enumsData['SKPLANCHECKFREQUENCYEnum'].find(item => item.code === item2.CHECK_CYCLE) :
null;
item2.CHECK_CYCLEName = cycleItem ? cycleItem.name : '';
if (item2.Nav_DetailPosts && item2.Nav_DetailPosts.length > 0) {
let areaShow = ''
item2.Nav_DetailPosts.map(o => {
areaShow += o.Nav_Post.NAME + ' '
})
item2['Nav_DetailPostsName'] = areaShow
} else {
item2['Nav_DetailPostsName'] = ''
}
})
}
})
}
})
}
})
}
this.stepsPage = res.STATUS == 0 ? 0 : 1
this.stepsPage = res.STATUS == 0 ? 0 : 1
})
this.isLoadOK = true
})
this.isLoadOK = true
// const json = {}
},
gotoCheck(detailData) {
uni.setStorageSync('detailData', detailData);

File diff suppressed because it is too large Load Diff

View File

@ -66,8 +66,8 @@
<u--input v-model="(item.Nav_Area||{}).NAME" disabled disabledColor="#ffffff" border="none" fontSize="14px">
</u--input>
<view class="action" @click.stop style="display: flex;flex-direction: row;align-items: center;justify-content: space-around;">
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(item)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(item)"></u-icon>
</view>
</view>
@ -125,7 +125,7 @@
</u-form-item>
<u--textarea v-model="item1.MEASURES_NAME" disabled autoHeight maxlength="-1"></u--textarea>
<u-form-item label="检查内容" prop="EMERGENCY" @click="ishowCheckCo(index,index1)" border-bottom>
<u-form-item label="检查内容" prop="EMERGENCY" @click="ishowCheckCo(item1)" border-bottom>
<u-icon name="arrow-up" size="12" v-if="item1.ishowCheckCo"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item1.ishowCheckCo"></u-icon>
</u-form-item>
@ -149,7 +149,7 @@
<u--input v-model="item2.CHECK_STANDARD" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item> -->
<u-form-item label="检查层级" prop="EMERGENCY" @click="ishowCheckLe(index,index1,index2)" border-bottom>
<u-form-item label="检查层级" prop="EMERGENCY" @click="ishowCheckLe(item2)" border-bottom>
<u-icon name="arrow-up" size="12" v-if="item2.ishowCheckLe"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item2.ishowCheckLe"></u-icon>
</u-form-item>
@ -175,14 +175,10 @@
<u--input v-model="item3.CHECK_CYCLEName" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item borderBottom label="检查岗位" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u--textarea v-model="item3.Nav_DetailPostsName" disabled maxlength="-1"></u--textarea>
</view>
</view>
<u-form-item label="隐患描述" prop="EMERGENCY" @click="ishowRiskDes(index,index1,index2)" border-bottom>
<u-form-item label="隐患描述" prop="EMERGENCY" @click="ishowRiskDes(item2)" border-bottom>
<u-icon name="arrow-up" size="12" v-if="item2.ishowRiskDes"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item2.ishowRiskDes"></u-icon>
</u-form-item>
@ -227,7 +223,7 @@
</u--input>
</u-form-item>
<u-form-item borderBottom label="管控责任人" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="(item1.Nav_User||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u--input v-model="((item1.Nav_Department||{}).Nav_User||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
</view>
@ -246,9 +242,9 @@
</view>
</u-form-item>
<u-form-item borderBottom label="辨识岗位" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item1.Nav_DepartDetailsName" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-textarea v-model="item1.Nav_DepartDetailsName" disabled autoHeight ></u-textarea>
</view>
</view>
</uni-collapse-item>
@ -561,29 +557,22 @@
})
this.isLoadOK = true
},
sectionChange(index, e) {
this.model.Nav_DoubleDetails[index].curNow = e
this.model.Nav_DoubleDetails = [...this.model.Nav_DoubleDetails]
handlePack(item) {
item.showPack = item.showPack == false ? true : false
this.$forceUpdate()
},
handlePack(index) {
this.model.Nav_DoubleDetails[index].showPack = this.model.Nav_DoubleDetails[index].showPack == false ? true : false
this.model.Nav_DoubleDetails = [...this.model.Nav_DoubleDetails]
ishowCheckCo(item) {
item.ishowCheckCo = item.ishowCheckCo == false ? true : false
this.$forceUpdate()
},
ishowCheckCo(index, index1) {
this.model.Nav_DoubleDetails[index].Nav_DoubleDetailMeasures[index1].ishowCheckCo = this.model.Nav_DoubleDetails[index].Nav_DoubleDetailMeasures[index1].ishowCheckCo == false ? true : false
this.model.Nav_DoubleDetails = [...this.model.Nav_DoubleDetails]
ishowCheckLe(item) {
item.ishowCheckLe = item.ishowCheckLe == false ? true : false
this.$forceUpdate()
},
ishowCheckLe(index, index1, index2) {
this.model.Nav_DoubleDetails[index].Nav_DoubleDetailMeasures[index1].Nav_DetailMeasureContents[index2].ishowCheckLe = this.model.Nav_DoubleDetails[index].Nav_DoubleDetailMeasures[index1]
.Nav_DetailMeasureContents[index2].ishowCheckLe == false ? true : false
this.model.Nav_DoubleDetails = [...this.model.Nav_DoubleDetails]
},
ishowRiskDes(index, index1, index2) {
this.model.Nav_DoubleDetails[index].Nav_DoubleDetailMeasures[index1].Nav_DetailMeasureContents[index2].ishowRiskDes = this.model.Nav_DoubleDetails[index].Nav_DoubleDetailMeasures[index1]
.Nav_DetailMeasureContents[index2].ishowRiskDes == false ? true : false
this.model.Nav_DoubleDetails = [...this.model.Nav_DoubleDetails]
ishowRiskDes(item) {
item.ishowRiskDes = item.ishowRiskDes == false ? true : false
this.$forceUpdate()
},

View File

@ -31,9 +31,13 @@
</u--input>
</u-form-item>
<u-form-item label="隐患描述:" prop="HIDDEN_DESCRIPTION">
<u--input v-model="model.HIDDEN_DESCRIPTION" disabled inputAlign="right" fontSize="14px" border="none">
<u--input v-model="(model.Nav_Question||{}).DESCREPTION" disabled inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="隐患具体描述:" prop="CHECK_TIME">
</u-form-item>
<u-textarea v-model="model.HIDDEN_DESCRIPTION" disabled></u-textarea>
<u-form-item label="隐患等级" prop="HIDDEN_LEVEL">
<u--input v-model="model.HIDDEN_LEVELName" disabled inputAlign="right" fontSize="14px" border="none">
</u--input>
@ -218,11 +222,12 @@
GetRectifyDelayApplyReport(json).then(res => {
this.model = res;
this.model.ID = this.ID
this.model.HIDDEN_DANGER_RECTIFY_RECORD_ID = res.ID
// this.model.HIDDEN_DANGER_RECTIFY_RECORD_ID = res.ID
this.model.CODE = res.Nav_RectifyRecord.CODE
this.model.Nav_RectifyPhotoas = res.Nav_RectifyPhotoas ? res.Nav_RectifyPhotoas : []
this.model.Nav_RectifyPhotoas = res.Nav_RectifyRecord.Nav_RectifyPhotoas ? res.Nav_RectifyRecord.Nav_RectifyPhotoas : []
this.model.Nav_RiskArea = res.Nav_RectifyRecord.Nav_RiskArea ? res.Nav_RectifyRecord.Nav_RiskArea : []
this.model.HIDDEN_DESCRIPTION = res.Nav_RectifyRecord.Nav_Question.DESCREPTION
this.model.Nav_Question = res.Nav_RectifyRecord.Nav_Question
this.model.HIDDEN_DESCRIPTION = res.Nav_RectifyRecord.HIDDEN_DESCRIPTION
this.model.HIDDEN_PLACE = res.Nav_RectifyRecord.HIDDEN_PLACE
this.model.HIDDEN_LEVEL = res.Nav_RectifyRecord.HIDDEN_LEVEL
this.model.RECITIFY_TIME = uni.$u.timeFormat(res.Nav_RectifyRecord.RECITIFY_TIME, 'yyyy-mm-dd')
@ -313,7 +318,8 @@
this.model.CODE = val.CODE
this.model.Nav_RectifyPhotoas = val.Nav_RectifyPhotoas ? val.Nav_RectifyPhotoas : []
this.model.Nav_RiskArea = val.Nav_RiskArea ? val.Nav_RiskArea : []
this.model.HIDDEN_DESCRIPTION = val.Nav_Question.DESCREPTION
this.model.Nav_Question = val.Nav_Question
this.model.HIDDEN_DESCRIPTION = val.HIDDEN_DESCRIPTION
this.model.HIDDEN_PLACE = val.HIDDEN_PLACE
this.model.HIDDEN_LEVEL = val.HIDDEN_LEVEL
this.model.RECITIFY_TIME = uni.$u.timeFormat(val.RECITIFY_TIME, 'yyyy-mm-dd')

View File

@ -15,42 +15,46 @@
</u-form-item>
<u-form-item label="发起部门:" prop="Product_Unit">
<u--input v-model="dataModel.Nav_ApplyDepartment.NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u--input v-model="(dataModel.Nav_ApplyDepartment||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="发起人:" prop="Product_Unit">
<u--input v-model="dataModel.Nav_ApplyUser.NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u--input v-model="(dataModel.Nav_ApplyUser||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="隐患整改记录编号:">
<u--input v-model="dataModel.Nav_RectifyRecord.CODE" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u--input v-model="(dataModel.Nav_RectifyRecord||{}).CODE" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="检查区域:">
<u--input v-model="dataModel.Nav_RectifyRecord.Nav_RiskArea.NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u--input v-model="((dataModel.Nav_RectifyRecord||{}).Nav_RiskArea||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="隐患地点:" prop="HIDDEN_PLACE">
<u--input v-model="dataModel.Nav_RectifyRecord.HIDDEN_PLACE" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u--input v-model="(dataModel.Nav_RectifyRecord||{}).HIDDEN_PLACE" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="隐患描述:" prop="HIDDEN_DESCRIPTION">
<u--input v-model="dataModel.Nav_RectifyRecord.HIDDEN_DESCRIPTION" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u--input v-model="((dataModel.Nav_RectifyRecord||{}).Nav_Question||{}).DESCREPTION" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="隐患具体描述:" prop="CHECK_TIME">
</u-form-item>
<u-textarea v-model="dataModel.HIDDEN_DESCRIPTION" disabled></u-textarea>
<u-form-item label="隐患等级:" prop="HIDDEN_LEVEL">
<u--input v-model="dataModel.Nav_RectifyRecord.HIDDEN_LEVEL" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u--input v-model="(dataModel.Nav_RectifyRecord||{}).HIDDEN_LEVEL" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="整改期限:" prop="HIDDEN_PLACE">
<u--input v-model="dataModel.Nav_RectifyRecord.RECITIFY_TIME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u--input v-model="(dataModel.Nav_RectifyRecord||{}).RECITIFY_TIME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<view class="upload-title">整改前照片</view>
<full-upload v-model="dataModel.Nav_RectifyRecord.Nav_RectifyPhotoas" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<full-upload v-model="(dataModel.Nav_RectifyRecord||{}).Nav_RectifyPhotoas" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<u-form-item label="延期整改理由:" prop="HIDDEN_LEVEL">
<u--input v-model="dataModel.DELAY_REASON" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>

View File

@ -9,29 +9,26 @@
</view>
<view style="font-size: 15px; font-weight: bold;color: #3d4b70;margin-bottom: 10px;">基本信息填写</view>
<u-form-item label="生产单元:" prop="Product_Unit">
<u-form-item label="生产单元:" prop="Product_Unit" @click="handleChange('SKProductionUnit')">
<u--input v-model="(model.Nav_ProductionUnit||{}).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-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-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>
<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>
<u-form-item label="检查层级:" prop="DEPARTMENT_TYPEName">
<u--input v-model="model.DEPARTMENT_TYPEName" 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> -->
<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">
@ -58,7 +55,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_RectifyDetails" :key="index">
<view v-for="(item, index) in model.Nav_RectifyDetails.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">
@ -69,26 +66,31 @@
</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" style="padding-left:10px;">
<u-form-item required label="检查区域:" prop="CHECK_TIME" @click="handleShowSheetForArea(item,{title: '检查区域', name: 'Nav_RiskArea'})">
<u-form-item required label="检查区域:" prop="CHECK_TIME" @click="handleShowSheet({title: '检查区域', name: 'Nav_RiskArea',itemData:item})">
<u--input disabled v-model="(item.Nav_RiskArea||{}).NAME" disabledColor="#ffffff" placeholder="请选择检查区域" 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="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>
<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>
@ -97,10 +99,12 @@
<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="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.RECTIFICATION_MEASURES" placeholder="请填写整改措施" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<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 label="整改期限" prop="HIDDEN_PLACE" @click="showCheckDate(2,item)">
<u--input v-model="item.RECITIFY_TIME" placeholder="请选择整改期限" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
@ -108,12 +112,12 @@
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<u-form-item required label="整改落实人" prop="HIDDEN_PLACE" @click="handleShowSheetForArea(item,{title: '整改落实人', name: 'Nav_ImplementUser'})" border-bottom>
<u-form-item required label="整改落实人" prop="HIDDEN_PLACE" @click="handleShowSheet({title: '整改落实人', name: 'Nav_ImplementUser',itemData:item})" border-bottom>
<u--input v-model="(item.Nav_ImplementUser||{}).NAME" placeholder="请选择整改落实人" suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabled disabledColor="#ffffff"
inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item required label="验收人" prop="HIDDEN_PLACE" @click="handleShowSheetForArea(item,{title: '验收人', name: 'Nav_AcceptUser'})" border-bottom>
<u-form-item required label="验收人" prop="HIDDEN_PLACE" @click="handleShowSheet({title: '验收人', name: 'Nav_AcceptUser',itemData:item})" border-bottom>
<u--input v-model="(item.Nav_AcceptUser||{}).NAME" placeholder="请选择验收人" suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabled disabledColor="#ffffff"
inputAlign="right" fontSize="14px" border="none">
</u--input>
@ -121,10 +125,14 @@
<u-form-item label="隐患照片" prop="CHECKSTANDARD">
</u-form-item>
<full-upload v-model="item.Nav_RectifyDetailFiles" :isShowBtn='true' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<u-form-item label="备注" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.REMARK" placeholder="请填写备注" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-form-item label="整改措施" prop="HIDDEN_PLACE">
</u-form-item>
<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>
@ -185,7 +193,8 @@
GetHiddenScripList,
GetNewRiskAreaInfo,
getUserLists,
CheckTypeNewOrderPaged
CheckTypeNewOrderPaged,
SKHiddenReason
} from '../../../../services/apply/subPages/SK/SKServices.js'
import {
getRequest,
@ -396,6 +405,14 @@
item.HIDDEN_LEVELName = item.HIDDEN_LEVEL !== undefined ? this.enumsData['SKHiddenLevel'].find(item1 => item1.code === item.HIDDEN_LEVEL).name : ''
item.RECITIFY_TIME = item.RECITIFY_TIME ? uni.$u.timeFormat(item.RECITIFY_TIME,
'yyyy-mm-dd') : ''
let ReasonsNAME = ''
if (item.Nav_RectifyDetailReasons && item.Nav_RectifyDetailReasons.length > 0) {
for (let i = 0; i < item.Nav_RectifyDetailReasons.length; i++) {
ReasonsNAME += (ReasonsNAME.length > 0 ? "," : "") + item
.Nav_RectifyDetailReasons[i].Nav_Reason.NAME;
}
}
item.ReasonsNAME = ReasonsNAME
// item.MARKName = this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK).name;
})
}
@ -435,22 +452,12 @@
this.model.CHECK_TIME = uni.$u.timeFormat(e.value,
'yyyy-mm-dd hh:MM:ss')
} else if (this.dateTimePickerInfo.dataIndex == 2) {
const realIndex = getRealIndex(this.dateTimePickerInfo.item, this.model.Nav_RectifyDetails)
this.model.Nav_RectifyDetails[realIndex].RECITIFY_TIME = uni.$u.timeFormat(e.value,
this.dateTimePickerInfo.item.RECITIFY_TIME = uni.$u.timeFormat(e.value,
'yyyy-mm-dd')
}
this.dateTimePickerInfo.showCheckDate = false
},
handleShowSheetForArea(item, todo) {
const validDetails = this.model.Nav_RectifyDetails.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)
@ -489,10 +496,8 @@
if (p.val) {
extendRule(json, 'DESCREPTION', 9, p.val);
}
let data = this.model.Nav_RectifyDetails[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 => {
@ -519,6 +524,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_RectifyDetailReasons.length > 0 && p.itemData.Nav_RectifyDetailReasons[0]
.Nav_Reason != null) {
// this.selectorInfo.defaultChecked = []
p.itemData.Nav_RectifyDetailReasons.forEach(e => {
defaultChecked.push(e.Nav_Reason)
})
} else {
defaultChecked = null
}
}
if (defaultChecked == null)
@ -554,46 +590,80 @@
handleSelected(e) {
this.selectorInfo.showPopup = false
const validDetails = this.model.Nav_RectifyDetails.filter(i => !i.IS_DELETED);
const index = this.selectorInfo.index;
const realIndex = this.model.Nav_RectifyDetails.findIndex(item => item === validDetails[index]);
if (this.selectorInfo.name == 'Nav_RiskArea') {
this.model.Nav_RectifyDetails[realIndex].Nav_RiskArea = e;
this.model.Nav_RectifyDetails[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_ImplementUser') {
this.model.Nav_RectifyDetails[realIndex].Nav_ImplementUser = e;
this.model.Nav_RectifyDetails[realIndex].IMPLEMENT_USER_ID = e.ID;
this.selectorInfo.itemData.Nav_ImplementUser = e;
this.selectorInfo.itemData.IMPLEMENT_USER_ID = e.ID;
} else if (this.selectorInfo.name == 'Nav_Question') {
this.model.Nav_RectifyDetails[realIndex].Nav_Question = e;
this.model.Nav_RectifyDetails[realIndex].CHECK_QUESTION_ID = e.ID;
this.selectorInfo.itemData.Nav_Question = e;
this.selectorInfo.itemData.CHECK_QUESTION_ID = e.ID;
} else if (this.selectorInfo.name == 'Nav_AcceptUser') {
this.model.Nav_RectifyDetails[realIndex].Nav_AcceptUser = e;
this.model.Nav_RectifyDetails[realIndex].ACCEPT_USER_ID = e.ID;
this.selectorInfo.itemData.Nav_AcceptUser = e;
this.selectorInfo.itemData.ACCEPT_USER_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(),
HIDDEN_DANGER_RECTIFY_NOTICE_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_RectifyDetailReasons = listProject
this.selectorInfo.itemData.ReasonsNAME = projectShow
}
},
handleChange(item) {
this.comPickerInfo = {
showSheet: true,
columns: [this.enumsText['SKHiddenLevel']],
dataItem: item,
name: name
handleChange(name, item) {
if (name == 'SKProductionUnit') {
const json = initFilter(this.ORG_ID)
getRequest(json, "/FM/UserProductionUnitSet/OrderPaged").then(res => {
this.comPickerInfo = {
showSheet: true,
columns: [res],
name: name
}
})
} else {
this.comPickerInfo = {
showSheet: true,
columns: [this.enumsText[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 {
this.comPickerInfo.dataItem.HIDDEN_LEVELName = e.value[0]
this.comPickerInfo.dataItem.HIDDEN_LEVEL = this.enumsData['SKHiddenLevel'][e.indexs[0]].code
}
this.comPickerInfo = {
showSheet: false,
dataItem: this.comPickerInfo.dataItem,
columns: [],
title: '',
formIndex: undefined
}
this.comPickerInfo.dataItem.HIDDEN_LEVELName = e.value[0]
this.comPickerInfo.dataItem.HIDDEN_LEVEL = this.enumsData['SKHiddenLevel'][e.indexs[0]].code
},
handleNewCheckContent() {
this.model.Nav_RectifyDetails.unshift({
@ -610,7 +680,8 @@
NAME: ''
},
Nav_Question: {
DESCREPTION: ''
DESCREPTION: '',
DEMAND:''
},
Nav_ImplementUser: {
NAME: ''
@ -622,12 +693,16 @@
CHECK_QUESTION_ID: '',
IMPLEMENT_USER_ID: '',
ACCEPT_USER_ID: '',
Nav_RectifyDetailReasons:[],
ReasonsNAME:'',
})
this.model.Nav_RectifyDetails = [...this.model.Nav_RectifyDetails]
},
handleDelRowBefore(index) {
this.nowIndex = index
this.showDelModalIndex = index
handleDelRowBefore(item) {
item.IS_DELETED = true
this.$forceUpdate()
},
confirmDel() {
@ -638,7 +713,7 @@
this.showDelModalIndex = undefined
},
submit() {
for (let item of this.model.Nav_RectifyDetails) {
for (let item of this.model.Nav_RectifyDetails.filter(i => !i.IS_DELETED)) {
if (!item.Nav_RiskArea || !item.Nav_RiskArea.NAME) {
uni.showToast({
title: '请选择检查区域',

View File

@ -32,28 +32,43 @@
<u--input v-model="model.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'})">
<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="model.ReasonsNAME" placeholder="隐患原因" border="none"></u--textarea>
<u-form-item label="隐患描述:" prop="HIDDEN_DESCRIPTION" @click="handleShowSheet({title: '隐患描述', name: 'Nav_Question'})">
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<u-textarea v-model="(model.Nav_Question||{}).DESCREPTION" disabled placeholder="请选择隐患描述"></u-textarea>
<u-form-item label="隐患具体描述:" prop="CHECK_TIME">
</u-form-item>
<u-textarea v-model="model.HIDDEN_DESCRIPTION" placeholder="请填写隐患具体描述">
</u-textarea>
<u-form-item required label="隐患等级" prop="HIDDEN_LEVEL" @click="handleChange('SKHiddenLevel')">
<u--input v-model="model.HIDDEN_LEVELNAME" disabled placeholder="请选择隐患等级" suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabledColor="#ffffff" inputAlign="right" fontSize="14px"
border="none">
</u--input>
</u-form-item>
<u-form-item label="整改措施:">
<u--input v-model="model.RECTIFICATION_MEASURES" placeholder="请填写整改措施" disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
<u-form-item label="整改措施" prop="HIDDEN_PLACE">
</u-form-item>
<u--textarea disabled autoHeight disabledColor="#fff" v-model="(model.Nav_Question||{}).DEMAND" border="none"></u--textarea>
<u-form-item label="整改措施具体描述" prop="HIDDEN_PLACE">
</u-form-item>
<u-textarea v-model="model.REMARK" placeholder="请填写整改措施具体描述">
</u-textarea>
<u-form-item label="整改期限" prop="HIDDEN_PLACE" @click="showCheckDate(1)">
<u--input v-model="model.RECITIFY_TIME" disabled placeholder="请选择整改期限" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<u-form-item label="整改责任人:">
<u--input v-model="(model.Nav_RecitifyUser||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u-form-item required label="整改责任人:" @click="handleShowSheet({title: '整改责任人', name: 'Nav_RecitifyUser'})">
<u--input v-model="(model.Nav_RecitifyUser||{}).NAME" disabled disabledColor="#ffffff" border="none" suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item required label="验收人" prop="HIDDEN_PLACE" @click="handleShowSheet({title: '验收人', name: 'Nav_AcceptUser'})">
@ -69,11 +84,10 @@
<u--input v-model="model.RECTIFICATION_MONEY" placeholder="请填写整改资金" disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="整改完成时间" prop="HIDDEN_PLACE" @click="showCheckDate(2)">
<u--input v-model="model.COMPLETE_DATE" disabled placeholder="请选择整改完成时间" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u-form-item label="整改完成时间" prop="HIDDEN_PLACE" >
<u--input v-model="model.COMPLETE_DATE" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<view class="upload-title">整改前照片</view>
<full-upload v-model="model.Nav_RectifyPhotoas" :isShowBtn='true' :listProp='listPropUpload' :listPropVal='listPropValUpload' v-if="model.Nav_RectifyPhotoas"></full-upload>
@ -82,7 +96,7 @@
<view class="upload-title">预案或方案</view>
<full-upload v-model="model.Nav_RectifyFiles" :isShowBtn='true' :listProp='listPropUpload' :listPropVal='listPropValUpload' v-if="model.Nav_RectifyFiles"></full-upload>
<view v-if="model.STATUS !== 0&&model.STATUS!==40">
<u-form-item label="验收时间" prop="HIDDEN_PLACE" @click="showCheckDate(3)">
<u-form-item label="验收时间" prop="HIDDEN_PLACE" @click="showCheckDate(3)" v-if="model.STATUS !== 10">
<u--input v-model="model.ACCEPT_DATE" disabled placeholder="请选择验收时间" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
@ -98,10 +112,7 @@
</u--input>
</u-form-item>
</view>
<u-form-item label="备注" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.REMARK" placeholder="请填写备注" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
</u--form>
@ -145,7 +156,8 @@
RectifyFullUpdateEdit,
GetCheckContentsInfo,
GetHiddenScripList,
getUserLists
getUserLists,
SKHiddenReason
} from '../../../../services/apply/subPages/SK/SKServices.js'
import {
getRequest,
@ -278,10 +290,18 @@
this.model = res;
this.model.RECITIFY_TIME = uni.$u.timeFormat(res.RECITIFY_TIME,
'yyyy-mm-dd')
this.model.COMPLETE_DATE = uni.$u.timeFormat(res.COMPLETE_DATE,
'yyyy-mm-dd')
this.model.COMPLETE_DATE =res.COMPLETE_DATE? uni.$u.timeFormat(res.COMPLETE_DATE,
'yyyy-mm-dd'):''
this.model.ACCEPT_DATE = uni.$u.timeFormat(res.ACCEPT_DATE,
'yyyy-mm-dd')
let ReasonsNAME = ''
if (this.model.Nav_RectifyReasons && this.model.Nav_RectifyReasons.length > 0) {
for (let i = 0; i < this.model.Nav_RectifyReasons.length; i++) {
ReasonsNAME += (ReasonsNAME.length > 0 ? "," : "") + this.model
.Nav_RectifyReasons[i].Nav_Reason.NAME;
}
}
this.model.ReasonsNAME = ReasonsNAME
this.model.HIDDEN_LEVELNAME = res.HIDDEN_LEVEL !== undefined ? this.enumsData['SKHiddenLevel'].find(item => item.code === res.HIDDEN_LEVEL).name : '';
this.model.ACCEPT_RESULTENAME = res.ACCEPT_RESULTE !== undefined ? this.enumsData['SKAcceptResultEnum'].find(item => item.code === res.ACCEPT_RESULTE).name : '';
this.stepsPage = res.STATUS == 0 || res.STATUS == 40 ? 0 : res.STATUS == 10 ? 1 : res.STATUS == 20 ? 2 : 3
@ -393,6 +413,7 @@
if (p.val) {
extendRule(json, 'CHECKCONTENT', 9, p.val);
}
json.Sort = 'CHECKCONTENT'
// extendRule(json, 'DEVICE_STATUS', 1, '1');
dataSelect = await GetCheckContentsInfo(json).then(res => {
this.selectorInfo.totalCount = res.TotalCount
@ -421,7 +442,7 @@
}
return res.Data
})
} else if (p.name == 'Nav_AcceptUser') {
} else if (p.name == 'Nav_AcceptUser'||p.name == 'Nav_RecitifyUser') {
if (p.val) {
extendRule(json, 'NAME', 9, p.val);
}
@ -436,6 +457,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 (this.model.Nav_RectifyReasons.length > 0 && this.model.Nav_RectifyReasons[0]
.Nav_Reason != null) {
// this.selectorInfo.defaultChecked = []
this.model.Nav_RectifyReasons.forEach(e => {
defaultChecked.push(e.Nav_Reason)
})
} else {
defaultChecked = null
}
}
if (defaultChecked == null)
@ -482,6 +534,31 @@
} else if (this.selectorInfo.name == 'Nav_AcceptUser') {
this.model.Nav_AcceptUser = e;
this.model.ACCEPT_USER_ID = e.ID;
} else if (this.selectorInfo.name == 'Nav_RecitifyUser') {
this.model.Nav_RecitifyUser = e;
this.model.RECITIFY_USER_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(),
HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_ID: this.ID,
REASON_ID: item.ID,
ORG_ID: item.ORG_ID,
Nav_Reason: item
})
projectShow += item.NAME
}
})
}
this.model.Nav_RectifyReasons = listProject
this.model.ReasonsNAME = projectShow
}
this.selectorInfo.showPopup = false
@ -517,6 +594,13 @@
})
return
}
if (!this.model.Nav_RecitifyUser || !this.model.Nav_RecitifyUser.NAME) {
uni.showToast({
title: '请选择整改责任人',
icon: 'none'
})
return
}
if (!this.model.Nav_AcceptUser || !this.model.Nav_AcceptUser.NAME) {
uni.showToast({
title: '请选择验收人',

View File

@ -1,277 +1,293 @@
<template>
<view class="todo-page">
<step-title :stepPage="stepsPage" :stepText="stepsText"></step-title>
<view class="allview">
<view class="card">
<u--form labelWidth="auto" :model="model" ref="wForm" class="demo-ruleForm">
<view style="position: relative;">
<view style="position: absolute;left: -10px;color: #3d4b70;top: -3px;">*</view>
</view>
<view style="font-size: 15px; font-weight: bold;color: #3d4b70;margin-bottom: 10px;">基本信息</view>
<u-form-item label="发起时间:" prop="Product_Unit">
<u--input v-model="model.CREATE_TIME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="发起部门:" prop="Product_Unit">
<u--input v-model="(model.Nav_ApplyDepartment||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="发起人:" prop="Product_Unit">
<u--input v-model="(model.Nav_ApplyUser||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<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--input>
</u-form-item>
<u-form-item label="发现区域:">
<u--input v-model="(model.Nav_RiskArea||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="隐患地点:" prop="HIDDEN_PLACE">
<u--input v-model="model.HIDDEN_PLACE" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="隐患描述:" prop="HIDDEN_DESCRIPTION">
<u--input v-model="(model.Nav_Question||{}).DESCREPTION" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="隐患等级" prop="HIDDEN_LEVEL">
<u--input v-model="model.HIDDEN_LEVELNAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="整改措施:">
<u--input v-model="model.RECTIFICATION_MEASURES" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="整改期限:" prop="HIDDEN_PLACE">
<u--input v-model="model.RECITIFY_TIME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="整改部门:">
<u--input v-model="((model.Nav_RecitifyUser||{}).Nav_Department||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="整改责任人:">
<u--input v-model="(model.Nav_RecitifyUser||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="整改落实人:">
<u--input v-model="(model.Nav_ImplementUser||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="验收人:" prop="HIDDEN_PLACE">
<u--input v-model="(model.Nav_AcceptUser||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="整改情况描述:">
<u--input v-model="model.RECTIFICATION_DESCRIPTION" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="整改资金(万元):">
<u--input v-model="model.RECTIFICATION_MONEY" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="整改完成时间:" prop="HIDDEN_PLACE">
<u--input v-model="model.COMPLETE_DATE" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<view class="upload-title">整改前照片</view>
<full-upload v-model="model.Nav_RectifyPhotoas" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload' v-if="model.Nav_RectifyPhotoas"></full-upload>
<view class="upload-title">整改后照片</view>
<full-upload v-model="model.Nav_RectifyPhotobs" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload' v-if="model.Nav_RectifyPhotobs"></full-upload>
<view class="upload-title">预案或方案</view>
<full-upload v-model="model.Nav_RectifyFiles" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload' v-if="model.Nav_RectifyFiles"></full-upload>
<u-form-item label="验收时间:" prop="HIDDEN_PLACE">
<u--input v-model="model.ACCEPT_DATE" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="验收结论:" prop="HIDDEN_LEVEL">
<u--input v-model="model.ACCEPT_RESULTENAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="验收意见:">
<u--input v-model="model.ACCEPT_OPINION" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="备注" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.REMARK" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<template>
<view class="todo-page">
<step-title :stepPage="stepsPage" :stepText="stepsText"></step-title>
<view class="allview">
<view class="card">
<u--form labelWidth="auto" :model="model" ref="wForm" class="demo-ruleForm">
<view style="position: relative;">
<view style="position: absolute;left: -10px;color: #3d4b70;top: -3px;">*</view>
</view>
<view style="font-size: 15px; font-weight: bold;color: #3d4b70;margin-bottom: 10px;">基本信息</view>
<u-form-item label="发起时间:" prop="Product_Unit">
<u--input v-model="model.CREATE_TIME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
</u--form>
</view>
<check-action v-if="isLoadOK && tableKey === '1'&&isAudit==='true' " :okApi="okApi" :refuseApi="refuseApi" :dataSource="$store.state.auditModel"></check-action>
</u-form-item>
<u-form-item label="发起部门:" prop="Product_Unit">
<u--input v-model="(model.Nav_ApplyDepartment||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="发起人:" prop="Product_Unit">
<u--input v-model="(model.Nav_ApplyUser||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<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--input>
</u-form-item>
<u-form-item label="检查区域:">
<u--input v-model="(model.Nav_RiskArea||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="隐患地点:" prop="HIDDEN_PLACE">
<u--input v-model="model.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="model.ReasonsNAME" border="none"></u--textarea>
<u-form-item label="隐患描述:" prop="HIDDEN_DESCRIPTION">
<u--input v-model="(model.Nav_Question||{}).DESCREPTION" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="隐患等级" prop="HIDDEN_LEVEL">
<u--input v-model="model.HIDDEN_LEVELNAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="整改措施:">
<u--input v-model="(model.Nav_Question||{}).DEMAND" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="整改措施具体描述" prop="HIDDEN_PLACE">
</u-form-item>
<u-textarea v-model="model.REMARK" disabled>
</u-textarea>
<u-form-item label="整改期限:" prop="HIDDEN_PLACE">
<u--input v-model="model.RECITIFY_TIME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="整改部门:">
<u--input v-model="((model.Nav_RecitifyUser||{}).Nav_Department||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="整改责任人:">
<u--input v-model="(model.Nav_RecitifyUser||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="整改落实人:">
<u--input v-model="(model.Nav_ImplementUser||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="验收人:" prop="HIDDEN_PLACE">
<u--input v-model="(model.Nav_AcceptUser||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="整改情况描述:">
<u--input v-model="model.RECTIFICATION_DESCRIPTION" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="整改资金(万元):">
<u--input v-model="model.RECTIFICATION_MONEY" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="整改完成时间:" prop="HIDDEN_PLACE">
<u--input v-model="model.COMPLETE_DATE" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<view class="upload-title">整改前照片</view>
<full-upload v-model="model.Nav_RectifyPhotoas" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload' v-if="model.Nav_RectifyPhotoas"></full-upload>
<view class="upload-title">整改后照片</view>
<full-upload v-model="model.Nav_RectifyPhotobs" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload' v-if="model.Nav_RectifyPhotobs"></full-upload>
<view class="upload-title">预案或方案</view>
<full-upload v-model="model.Nav_RectifyFiles" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload' v-if="model.Nav_RectifyFiles"></full-upload>
<view v-if="model.STATUS == 20||model.STATUS==30">
<u-form-item label="验收时间:" prop="HIDDEN_PLACE">
<u--input v-model="model.ACCEPT_DATE" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="验收结论:" prop="HIDDEN_LEVEL">
<u--input v-model="model.ACCEPT_RESULTENAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="验收意见:">
<u--input v-model="model.ACCEPT_OPINION" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
</view>
</u--form>
</view>
<check-action v-if="isLoadOK && tableKey === '1'&&isAudit==='true' " :okApi="okApi" :refuseApi="refuseApi" :dataSource="$store.state.auditModel"></check-action>
<view style="padding: 10px 16px;display: flex;flex-direction: row;" class="bottom-button" v-if="isLoadOK&&tableKey==='1'&&!isAudit">
<u-button type="primary" @click="submit" color="#3d4b70">审阅</u-button>
</view>
</view>
</view>
</template>
<script>
import {
extendFilterGroup,
extendGroupRule,
extendInclude,
extendOrder,
extendRule,
extendIgnoreDataRule,
guid,
initFilter,
initFilterGroup,
transformData
} from '../../../../utils/common'
import {
getEnum,
GetEnumAnyOrder
} from '../../../../services/common';
import {
MineTypeIndex,
MineTypeName
} from '../../../../utils/enums.js'
import {
</view>
</view>
</template>
<script>
import {
extendFilterGroup,
extendGroupRule,
extendInclude,
extendOrder,
extendRule,
extendIgnoreDataRule,
guid,
initFilter,
initFilterGroup,
transformData
} from '../../../../utils/common'
import {
getEnum,
GetEnumAnyOrder
} from '../../../../services/common';
import {
MineTypeIndex,
MineTypeName
} from '../../../../utils/enums.js'
import {
GetRiskVerifyRecodrReport,
HiddenDangerRectifyRecordShow
} from '../../../../services/apply/subPages/SK/SKServices.js'
import stepTitle from '@/components/custom/step-title.vue'
export default {
components: {
stepTitle,
},
data() {
return {
listPropUpload: ['NOTIFY_ID'],
listPropValUpload: [],
ORG_ID: uni.getStorageSync('orgId'),
model: {
Product_Unit: '',
CREATE_TIME: '',
Nav_ApplyDepartment: {
NAME: ''
},
Nav_ApplyUser: {
NAME: ''
},
Nav_RiskArea: {
NAME: ''
},
RISK_AREA_ID: '',
HIDDEN_PLACE: '',
HIDDEN_DESCRIPTION: '',
HIDDEN_LEVEL: '',
RECTIFICATION_MEASURES: '',
RECITIFY_TIME: '',
Nav_AcceptUser: {
NAME: ''
},
ACCEPT_USER_ID: '',
RECTIFICATION_DESCRIPTION: '',
RECTIFICATION_MONEY: '',
COMPLETE_DATE: '',
Nav_RectifyPhotoas: [],
Nav_RectifyPhotobs: [],
Nav_RectifyFiles: [],
ACCEPT_DATE: '',
ACCEPT_RESULTE: '',
ACCEPT_OPINION: '',
},
stepsText: ['发起', '确认', '审批', '归档'],
stepsPage: 0,
stepsPageList: 0,
TaskID: '',
isLoadOK: false,
isAudit: false,
tableKey: 0,
enumsData: {}, //
enumsText: {} //
}
},
onLoad(option) {
this.TaskID = option.taskID ? option.taskID : '';
this.model.ID = option.ID ? option.ID : '';
this.tableKey = option.tableKey ? option.tableKey : '0'
this.isAudit = option.isAudit
this.okApi = option.okApi
this.refuseApi = option.refuseApi
this.auditModel = {
...this.$store.state.auditModel,
TaskID: option.taskID ? option.taskID : ''
}
this.fetchEnums(['SKProductionUnit', 'SKHiddenLevel', 'SKAcceptResultEnum']);
},
methods: {
fetchEnums(enumNames) {
var dataParm = {
'name': enumNames.join('|')
}
GetEnumAnyOrder(dataParm).then(res => {
let newd = transformData(res, enumNames)
this.enumsData = newd[0];
//
this.enumsText = newd[1]
this.loadData();
})
},
loadData() {
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "")
extendRule(json, 'ID', 1, this.model.ID);
// extendInclude(json, 'Nav_ApplyUser');
// extendInclude(json, 'Nav_ApplyDepartment');
// extendInclude(json, 'Nav_RiskArea');
// extendInclude(json, 'Nav_Contents');
// extendInclude(json, 'Nav_ImplementUser');
// extendInclude(json, 'Nav_RecitifyUser');
// extendInclude(json, 'Nav_AcceptUser');
// extendInclude(json, 'Nav_RectifyPhotoas');
// extendInclude(json, 'Nav_RectifyPhotoas.Nav_ImgFile');
// extendInclude(json, 'Nav_RectifyPhotobs');
// extendInclude(json, 'Nav_RectifyPhotobs.Nav_ImgFile');
// extendInclude(json, 'Nav_RectifyFiles');
// extendInclude(json, 'Nav_RectifyFiles.Nav_ImgFile');
extendIgnoreDataRule(json)
// extendRule(json, 'TASK_ID', 1, this.TaskID);
GetRiskVerifyRecodrReport(json).then(res => {
this.model = res;
this.model = res
this.model.RECITIFY_TIME = uni.$u.timeFormat(res.RECITIFY_TIME,
'yyyy-mm-dd')
this.model.COMPLETE_DATE = uni.$u.timeFormat(res.COMPLETE_DATE,
'yyyy-mm-dd')
this.model.ACCEPT_DATE = uni.$u.timeFormat(res.ACCEPT_DATE,
'yyyy-mm-dd')
this.model.HIDDEN_LEVELNAME = res.HIDDEN_LEVEL !== undefined ? this.enumsData['SKHiddenLevel'].find(item => item.code === res.HIDDEN_LEVEL).name : '';
this.model.ACCEPT_RESULTENAME = res.ACCEPT_RESULTE !== undefined ? this.enumsData['SKAcceptResultEnum'].find(item => item.code === res.ACCEPT_RESULTE).name : '';
this.stepsPage = res.STATUS == 0 ? 0 : res.STATUS == 10 ? 1 : res.STATUS == 20 ? 2 : 3
})
this.isLoadOK = true
},
submit() {
let json = {};
json.ID = this.model.ID;
json.TaskID = this.TaskID;
HiddenDangerRectifyRecordShow(json).then(res => {
uni.$showMsgFunc('操作成功!', () => {
uni.navigateBack()
},
'success', 1000)
})
}
}
}
</script>
<style scoped>
@import url("../../../../style/css/newTemplate.css");
HiddenDangerRectifyRecordShow
} from '../../../../services/apply/subPages/SK/SKServices.js'
import stepTitle from '@/components/custom/step-title.vue'
export default {
components: {
stepTitle,
},
data() {
return {
listPropUpload: ['NOTIFY_ID'],
listPropValUpload: [],
ORG_ID: uni.getStorageSync('orgId'),
model: {
Product_Unit: '',
CREATE_TIME: '',
Nav_ApplyDepartment: {
NAME: ''
},
Nav_ApplyUser: {
NAME: ''
},
Nav_RiskArea: {
NAME: ''
},
RISK_AREA_ID: '',
HIDDEN_PLACE: '',
HIDDEN_DESCRIPTION: '',
HIDDEN_LEVEL: '',
RECTIFICATION_MEASURES: '',
RECITIFY_TIME: '',
Nav_AcceptUser: {
NAME: ''
},
ACCEPT_USER_ID: '',
RECTIFICATION_DESCRIPTION: '',
RECTIFICATION_MONEY: '',
COMPLETE_DATE: '',
Nav_RectifyPhotoas: [],
Nav_RectifyPhotobs: [],
Nav_RectifyFiles: [],
ACCEPT_DATE: '',
ACCEPT_RESULTE: '',
ACCEPT_OPINION: '',
},
stepsText: ['发起', '确认', '审批', '归档'],
stepsPage: 0,
stepsPageList: 0,
TaskID: '',
isLoadOK: false,
isAudit: false,
tableKey: 0,
enumsData: {}, //
enumsText: {} //
}
},
onLoad(option) {
this.TaskID = option.taskID ? option.taskID : '';
this.model.ID = option.ID ? option.ID : '';
this.tableKey = option.tableKey ? option.tableKey : '0'
this.isAudit = option.isAudit
this.okApi = option.okApi
this.refuseApi = option.refuseApi
this.auditModel = {
...this.$store.state.auditModel,
TaskID: option.taskID ? option.taskID : ''
}
this.fetchEnums(['SKProductionUnit', 'SKHiddenLevel', 'SKAcceptResultEnum']);
},
methods: {
fetchEnums(enumNames) {
var dataParm = {
'name': enumNames.join('|')
}
GetEnumAnyOrder(dataParm).then(res => {
let newd = transformData(res, enumNames)
this.enumsData = newd[0];
//
this.enumsText = newd[1]
this.loadData();
})
},
loadData() {
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "")
extendRule(json, 'ID', 1, this.model.ID);
// extendInclude(json, 'Nav_ApplyUser');
// extendInclude(json, 'Nav_ApplyDepartment');
// extendInclude(json, 'Nav_RiskArea');
// extendInclude(json, 'Nav_Contents');
// extendInclude(json, 'Nav_ImplementUser');
// extendInclude(json, 'Nav_RecitifyUser');
// extendInclude(json, 'Nav_AcceptUser');
// extendInclude(json, 'Nav_RectifyPhotoas');
// extendInclude(json, 'Nav_RectifyPhotoas.Nav_ImgFile');
// extendInclude(json, 'Nav_RectifyPhotobs');
// extendInclude(json, 'Nav_RectifyPhotobs.Nav_ImgFile');
// extendInclude(json, 'Nav_RectifyFiles');
// extendInclude(json, 'Nav_RectifyFiles.Nav_ImgFile');
extendIgnoreDataRule(json)
// extendRule(json, 'TASK_ID', 1, this.TaskID);
GetRiskVerifyRecodrReport(json).then(res => {
this.model = res;
this.model = res
this.model.RECITIFY_TIME = uni.$u.timeFormat(res.RECITIFY_TIME,
'yyyy-mm-dd')
this.model.COMPLETE_DATE = uni.$u.timeFormat(res.COMPLETE_DATE,
'yyyy-mm-dd')
this.model.ACCEPT_DATE = uni.$u.timeFormat(res.ACCEPT_DATE,
'yyyy-mm-dd')
let ReasonsNAME = ''
if (this.model.Nav_RectifyReasons && this.model.Nav_RectifyReasons.length > 0) {
for (let i = 0; i < this.model.Nav_RectifyReasons.length; i++) {
ReasonsNAME += (ReasonsNAME.length > 0 ? "," : "") + this.model
.Nav_RectifyReasons[i].Nav_Reason.NAME;
}
}
this.model.ReasonsNAME = ReasonsNAME
this.model.HIDDEN_LEVELNAME = res.HIDDEN_LEVEL !== undefined ? this.enumsData['SKHiddenLevel'].find(item => item.code === res.HIDDEN_LEVEL).name : '';
this.model.ACCEPT_RESULTENAME = res.ACCEPT_RESULTE !== undefined ? this.enumsData['SKAcceptResultEnum'].find(item => item.code === res.ACCEPT_RESULTE).name : '';
this.stepsPage = res.STATUS == 0 ? 0 : res.STATUS == 10 ? 1 : res.STATUS == 20 ? 2 : 3
})
this.isLoadOK = true
},
submit() {
let json = {};
json.ID = this.model.ID;
json.TaskID = this.TaskID;
HiddenDangerRectifyRecordShow(json).then(res => {
uni.$showMsgFunc('操作成功!', () => {
uni.navigateBack()
},
'success', 1000)
})
}
}
}
</script>
<style scoped>
@import url("../../../../style/css/newTemplate.css");
</style>

View File

@ -24,7 +24,7 @@
<u--input v-model="(model.Nav_ProductionUnit||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="检查类型:" prop="Check_Type">
<!-- <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-form-item>
<u-form-item label="检查周期:" prop="Check_Period">
@ -33,7 +33,7 @@
<u-form-item label="检查层级:" prop="Check_Level">
<u--input v-model="model.DEPARTMENT_TYPEName" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
</u-form-item> -->
<u-form-item label="检查时间:" prop="Check_Date">
<u--input v-model="model.CHECK_TIME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
@ -71,9 +71,13 @@
</u-form-item>
<u-form-item label="隐患描述:" prop="CHECK_TIME">
</u-form-item>
<u-textarea v-model="(item.Nav_Question||{}).DESCREPTION" disabled v-if="item.Nav_Question">
<u-textarea v-model="(item.Nav_Question||{}).DESCREPTION" disabled >
</u-textarea>
<u-textarea v-model="item.HIDDEN_DESCRIPTION" disabled v-else>
<u-form-item label="隐患具体描述:" prop="CHECK_TIME">
</u-form-item>
<u-textarea v-model="item.HIDDEN_DESCRIPTION" disabled placeholder="请填写隐患具体描述">
</u-textarea>
<!-- <u--textarea v-model="item.Nav_Question.DESCREPTION" disabled placeholder="请选择隐患描述" maxlength="-1"></u--textarea> -->
<u-form-item label="隐患等级" prop="HIDDEN_LEVEL" border-bottom>
@ -84,10 +88,16 @@
<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="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.RECTIFICATION_MEASURES" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-form-item label="隐患原因" prop="Nav_Reasons" >
<!-- <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" border="none"></u--textarea>
<u-form-item label="整改措施" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u--textarea disabled autoHeight disabledColor="#fff" v-model="(item.Nav_Question||{}).DEMAND" border="none"></u--textarea>
<u-form-item label="整改期限" prop="HIDDEN_PLACE">
<u--input v-model="item.RECITIFY_TIME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
@ -104,10 +114,10 @@
<u-form-item label="隐患照片" prop="CHECKSTANDARD">
</u-form-item>
<full-upload v-model="item.Nav_RectifyDetailFiles" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<u-form-item label="备注" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.REMARK" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-form-item label="整改措施具体描述" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u-textarea v-model="item.REMARK" disabled placeholder="请填写备注">
</u-textarea>
</view>
@ -238,6 +248,14 @@
item.HIDDEN_LEVELName = item.HIDDEN_LEVEL !== undefined ? this.enumsData['SKHiddenLevel'].find(item1 => item1.code === item.HIDDEN_LEVEL).name : ''
item.RECITIFY_TIME = item.RECITIFY_TIME ? uni.$u.timeFormat(item.RECITIFY_TIME,
'yyyy-mm-dd') : ''
let ReasonsNAME = ''
if (item.Nav_RectifyDetailReasons && item.Nav_RectifyDetailReasons.length > 0) {
for (let i = 0; i < item.Nav_RectifyDetailReasons.length; i++) {
ReasonsNAME += (ReasonsNAME.length > 0 ? "," : "") + item
.Nav_RectifyDetailReasons[i].Nav_Reason.NAME;
}
}
item.ReasonsNAME = ReasonsNAME
// item.MARKName = this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK).name;
})
}

View File

@ -62,7 +62,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_ReportDetails" :key="index">
<view v-for="(item, index) in model.Nav_ReportDetails.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">
@ -73,24 +73,24 @@
</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" style="padding-left:10px;">
<u-form-item required label="检查区域:" prop="CHECK_TIME" @click="handleShowSheetForArea(item,{title: '检查区域', name: 'Nav_RiskArea'})">
<u-form-item required 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>
<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="handleShowSheetForArea(item,{title: '检查内容', name: 'Nav_Contents'})">
<u-form-item required 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>
<u-textarea v-model="(item.Nav_Contents||{}).CHECKCONTENT" disabled placeholder="请选择检查内容"></u-textarea>
<u-form-item required label="隐患描述:" prop="CHECK_TIME" @click="handleShowSheetForArea(item,{title: '隐患描述', name: 'Nav_Question'})">
<u-form-item required label="隐患描述:" prop="CHECK_TIME" @click="handleShowSheet({title: '隐患描述', name: 'Nav_Question',itemData:item})">
<view @click.stop>
<u-button text="新增隐患描述" type="primary" @click="handleNewRisk(item)" size="mini" style="margin: 0px 10px;width: 100px;"></u-button>
</view>
@ -110,7 +110,7 @@
<u--input v-model="item.HIDDEN_PLACE" placeholder="请填写隐患地点" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item required label="整改责任人" prop="HIDDEN_PLACE" @click="handleShowSheetForArea(item,{title: '整改责任人', name: 'Nav_RecitifyUser'})">
<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">
</u--input>
@ -125,9 +125,9 @@
</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--input v-model="item.REMARK" placeholder="请填写备注" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-textarea v-model="item.REMARK" placeholder="请填写备注">
</u-textarea>
</view>
@ -413,15 +413,6 @@
stepReduce() {
this.stepsPageList = this.stepsPageList - 1
},
handleShowSheetForArea(item, todo) {
const validDetails = this.model.Nav_ReportDetails.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)
@ -475,10 +466,8 @@
if (p.val) {
extendRule(json, 'DESCREPTION', 9, p.val);
}
let data = this.model.Nav_ReportDetails[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 => {
@ -540,23 +529,20 @@
handleSelected(e) {
this.selectorInfo.showPopup = false
const validDetails = this.model.Nav_ReportDetails.filter(i => !i.IS_DELETED);
const index = this.selectorInfo.index;
const realIndex = this.model.Nav_ReportDetails.findIndex(item => item === validDetails[index]);
if (this.selectorInfo.name == 'Nav_RiskArea') {
this.model.Nav_ReportDetails[realIndex].Nav_RiskArea = e;
this.model.Nav_ReportDetails[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_ReportDetails[realIndex].Nav_Contents = e;
this.model.Nav_ReportDetails[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_ReportDetails[realIndex].Nav_Question = e;
this.model.Nav_ReportDetails[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;
} else if (this.selectorInfo.name == 'Nav_RecitifyUser') {
this.model.Nav_ReportDetails[realIndex].Nav_RecitifyUser = e;
this.model.Nav_ReportDetails[realIndex].RECITIFY_USER_ID = e.ID;
this.selectorInfo.itemData.Nav_RecitifyUser = e;
this.selectorInfo.itemData.RECITIFY_USER_ID = e.ID;
}
@ -601,8 +587,7 @@
this.model.CHECK_TIME = uni.$u.timeFormat(e.value,
'yyyy-mm-dd hh:MM:ss')
} else if (this.dateTimePickerInfo.dataIndex == 2) {
const realIndex = getRealIndex(this.dateTimePickerInfo.item, this.model.Nav_ReportDetails)
this.model.Nav_ReportDetails[realIndex].RECITIFY_TIME = uni.$u.timeFormat(e.value,
this.dateTimePickerInfo.item.RECITIFY_TIME = uni.$u.timeFormat(e.value,
'yyyy-mm-dd')
}
this.dateTimePickerInfo.showCheckDate = false
@ -638,8 +623,9 @@
})
this.model.Nav_ReportDetails = [...this.model.Nav_ReportDetails]
},
handleDelRowBefore(index) {
this.showDelModalIndex = index
handleDelRowBefore(item) {
item.IS_DELETED = true
this.$forceUpdate()
},
@ -665,7 +651,7 @@
})
},
submit() {
for (let item of this.model.Nav_ReportDetails) {
for (let item of this.model.Nav_ReportDetails.filter(i => !i.IS_DELETED)) {
if (!item.Nav_RiskArea || !item.Nav_RiskArea.NAME) {
uni.showToast({
title: '请选择检查区域',

View File

@ -102,9 +102,9 @@
</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--input v-model="item.REMARK" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-textarea v-model="item.REMARK" disabled placeholder="请填写备注">
</u-textarea>
</view>
</uni-collapse-item>
</view>

View File

@ -15,12 +15,12 @@
</u-form-item>
<u-form-item label="发起部门:" prop="Product_Unit">
<u--input v-model="dataModel.Nav_ApplyDepartment.NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u--input v-model="(dataModel.Nav_ApplyDepartment||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="发起人员:" prop="Product_Unit">
<u--input v-model="dataModel.Nav_ApplyUser.NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u--input v-model="(dataModel.Nav_ApplyUser||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
@ -41,7 +41,7 @@
</u-form-item>
<u-form-item label="评价要求:">
</u-form-item>
<u--textarea v-model="dataModel.Nav_Require.NAME" disabled autoHeight v-if="dataModel.Nav_Require"></u--textarea>
<u--textarea v-model="dataModel.Nav_RequiresName" disabled autoHeight ></u--textarea>
<view class="upload-title">附件</view>
<full-upload v-model="dataModel.Nav_Files" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
@ -59,11 +59,11 @@
<u-form-item prop="Nav_Contents" :label="index+1+'.辨识区域:'">
<view style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;flex: 1;">
<u--input v-model="item.Nav_Area.NAME" disabled disabledColor="#ffffff" border="none" fontSize="14px">
<u--input v-model="(item.Nav_Area||{}).NAME" disabled disabledColor="#ffffff" border="none" fontSize="14px">
</u--input>
<view class="action" @click.stop style="display: flex;flex-direction: row;align-items: center;justify-content: space-around;">
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(item)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(item)"></u-icon>
</view>
</view>
@ -81,7 +81,7 @@
</u-form-item>
<u--textarea v-model="item.RISK_DESCRIPTION" disabled autoHeight maxlength="-1"></u--textarea>
<u-form-item label="风险类别" prop="HIDDEN_LEVEL" border-bottom>
<u--input v-model="item.Nav_Type.NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u--input v-model="(item.Nav_Type||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="风险等级" prop="HIDDEN_PLACE" border-bottom>
@ -107,45 +107,76 @@
<u-form-item label="应急处理" prop="EMERGENCY" borderBottom>
<u--input disabledColor="#ffffff" disabled v-model="item.EMERGENCY" border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="管控信息" prop="HIDDEN_PLACE" @click="changeControl(index)" v-if="item.Nav_DetailMeasures.length!==0 ||item.Nav_DetailDeparts.length!==0 ">
<u-icon slot="right" name="plus-circle" size="18" v-if="!item.isShowControl">
</u-icon>
<u-icon slot="right" name="minus-circle" size="18" v-if="item.isShowControl">
</u-icon>
<u-form-item label="新增标识" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.MARK_NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<view v-if="item.isShowControl">
<u-subsection :list="childList" :current="item.curNow" @change="sectionChange(index,$event)"></u-subsection>
<view v-if="item.curNow==0&&item.Nav_DetailMeasures.length!==0">
<view v-for="(item1,index1) in item.Nav_DetailMeasures" :key="index1" style="margin: 5px 5px;padding: 0px 10px;">
<u-form-item :label="index1+1+'.顺序'" prop="NUM" borderBottom>
<u-number-box integer disabled v-model="item1.NUM" :min="-10000" :max="10000"></u-number-box>
</u-form-item>
<u-form-item label="管控措施" prop="MEASURES_NAME" borderBottom>
<u--input disabledColor="#ffffff" disabled v-model="item1.MEASURES_NAME" border="none" inputAlign="right"></u--input>
</u-form-item>
<uni-collapse class="collapse" ref="collapse">
<uni-collapse-item title="管控措施" name="Variety components">
<view v-if="item.Nav_DetailMeasures&&item.Nav_DetailMeasures.length!==0">
<view v-for="item1 in item.Nav_DetailMeasures.filter(i => !i.IS_DELETED)" style="margin: 5px 5px;padding: 0px 10px;">
<u-form-item label="序号" prop="HIDDEN_DESCRIPTION" border-bottom>
<view slot="right" style="display: flex;flex-direction: row;align-items: center;">
<u-number-box v-model="item1.NUM" disabled integer></u-number-box>
</view>
</u-form-item>
<u-form-item label="措施" prop="HIDDEN_DESCRIPTION">
</u-form-item>
<u--textarea v-model="item1.MEASURES_NAME" disabled autoHeight></u--textarea>
</view>
</view>
</view>
<view v-if="item.curNow==1&&item.Nav_DetailDeparts.length!==0">
<view v-for="(item1,index1) in item.Nav_DetailDeparts" :key="index1" style="margin: 5px 5px;padding: 0px 10px;">
<u-form-item :label="index1+1+'.管控部门:'" borderBottom>
<u--input disabledColor="#ffffff" disabled v-model="item1.Nav_Department.NAME" border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item borderBottom label="管控层级:" prop="Check_Level">
<u--input v-model="item1.DEPARTMENT_TYPEName" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item borderBottom label="管控责任人" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item1.Nav_User.NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
</uni-collapse-item>
<uni-collapse-item title="辨识岗位" name="Detail Posts">
<view v-if="item.Nav_DetailPosts&&item.Nav_DetailPosts.length>0">
<view v-for="(item1,index1) in item.Nav_DetailPosts.filter(i => !i.IS_DELETED)" style="padding: 10px;">
<u-form-item :label="(index1+1)+' . '+'辨识部门'" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="(item1.Nav_Department||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识岗位" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u-textarea v-model="item1.Nav_ResultPostDetsName" disabled autoHeight></u-textarea>
</view>
</view>
</view>
</view>
</uni-collapse-item>
<uni-collapse-item title="管控层级" name="Docs guide">
<view v-if="item.Nav_DetailDeparts&&item.Nav_DetailDeparts.length>0">
<view v-for="(item1,index1) in item.Nav_DetailDeparts.filter(i => !i.IS_DELETED)" style="padding: 10px;">
<u-form-item borderBottom>
<view style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;flex: 1;">
<view style="flex: 1;display: flex;flex-direction: row;align-items: center;">
<view style="flex: 1;">
{{item1.Nav_Department?index1+1+'.管控部门 : ' +item1.Nav_Department.NAME:index1+1+'.'}}
</view>
</view>
</view>
</u-form-item>
<u-form-item borderBottom label="管控层级:" prop="Check_Level">
<u--input v-model="item1.DEPARTMENT_TYPEName" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item borderBottom label="管控责任人" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="((item1.Nav_Department||{}).Nav_User||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
</view>
</view>
</uni-collapse-item>
</uni-collapse>
</view>
</view>
</u--form>
@ -274,7 +305,7 @@
...this.$store.state.auditModel,
TaskID: option.taskID ? option.taskID : ''
}
this.fetchEnums(['SKProductionUnit', 'SKEvaluateLevelEnum', 'SKDepartmentTypeEnum']);
this.fetchEnums(['SKProductionUnit', 'SKEvaluateLevelEnum', 'SKDepartmentTypeEnum', 'SKMarkEnum']);
},
methods: {
fetchEnums(enumNames) {
@ -316,40 +347,45 @@
this.stepsPage = res.STATUS == 0 ? 0 : res.STATUS == 20 ? 1 : 2
this.dataModel.START_DATE = uni.$u.timeFormat(res.START_DATE, 'yyyy-mm-dd')
this.dataModel.END_DATE = uni.$u.timeFormat(res.END_DATE, 'yyyy-mm-dd')
let Nav_RequiresName = ''
if (this.dataModel.Nav_Requires && this.dataModel.Nav_Requires.length > 0) {
this.dataModel.Nav_Requires.map(item => {
if (item.Nav_Require&&item.Nav_Require.NAME !== null) {
Nav_RequiresName += item.Nav_Require.NAME + ' ';
}
})
}
this.dataModel.Nav_RequiresName = Nav_RequiresName
this.dataModel.Nav_Details.map(item => {
item['showPack'] = false
item['isShowControl'] = false
item['curNow'] = 0
item.Nav_SCOREL = item.Nav_SCOREL ? item.Nav_SCOREL : {
SCORE: ''
}
item.Nav_SCOREE = item.Nav_SCOREE ? item.Nav_SCOREE : {
SCORE: ''
}
item.Nav_SCOREC = item.Nav_SCOREC ? item.Nav_SCOREC : {
SCORE: ''
}
item.MARK_NAME = item.MARK !== undefined ? this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK).name : '';
item.EVALUATE_LEVELName = item.EVALUATE_LEVEL !== undefined ? this.enumsData['SKEvaluateLevelEnum'].find(item1 => item1.code === item.EVALUATE_LEVEL).name : '';
item.Nav_DetailDeparts.map(item1 => {
item1.DEPARTMENT_TYPEName = item1.DEPARTMENT_TYPE !== undefined ? this.enumsData['SKDepartmentTypeEnum'].find(item2 => item2.code === item1.DEPARTMENT_TYPE).name : '';
})
if (item.Nav_DetailPosts && item.Nav_DetailPosts.length > 0) {
item.Nav_DetailPosts.map(item1 => {
if (item1.Nav_PostDetails && item1.Nav_PostDetails.length > 0) {
let Nav_ResultPostDetsName = ''
item1.Nav_PostDetails.map(item2 => {
if (item2.Nav_Post && item2.Nav_Post.NAME !== null) {
Nav_ResultPostDetsName += item2.Nav_Post.NAME + ' ';
}
})
item1.Nav_ResultPostDetsName = Nav_ResultPostDetsName
}
})
}
})
this.stepLoad = false
})
this.isLoadOK = true
},
sectionChange(index, e) {
this.dataModel.Nav_Details[index].curNow = e
this.dataModel.Nav_Details = [...this.dataModel.Nav_Details]
},
changeControl(index) {
this.dataModel.Nav_Details[index].isShowControl = this.dataModel.Nav_Details[index].isShowControl == false ? true : false
this.dataModel.Nav_Details = [...this.dataModel.Nav_Details]
},
handlePack(index) {
this.dataModel.Nav_Details[index].showPack = this.dataModel.Nav_Details[index].showPack == false ? true : false
this.dataModel.Nav_Details = [...this.dataModel.Nav_Details]
handlePack(item) {
item.showPack = item.showPack == false ? true : false
this.$forceUpdate()
},

View File

@ -31,13 +31,20 @@
<!-- <u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon> -->
</u-form-item>
<u-form-item required label="评价要求:" @click="handleChangeStep('','','demand')">
<u-form-item label="评估要求">
<!-- <u--input v-model="(dataModel.Nav_Require||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input> -->
<!-- <u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon> -->
</u-form-item>
<u--textarea v-model="model.Nav_RequiresName" disabled autoHeight></u--textarea>
<!-- <u-form-item required label="评价要求:" @click="handleChangeStep('','','demand')">
<u--input v-model="(model.Nav_Require||{}).NAME" placeholder="请选择辨识要求" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<u--textarea v-model="(model.Nav_Require||{}).NAME" disabled autoHeight></u--textarea>
</u-form-item> -->
<!-- <u--textarea v-model="(model.Nav_Require||{}).NAME" disabled autoHeight></u--textarea> -->
<view class="upload-title">附件</view>
<full-upload v-model="model.Nav_Files" :isShowBtn='true' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
@ -56,19 +63,19 @@
</view>
<view style="font-size: 15px; font-weight: bold;color: #3d4b70;margin-bottom: 10px;margin-top: 20px;">辨识内容</view>
<view v-for="(item,index) in model.Nav_Details" :key="index" style="border-bottom: #ceccca 1px solid;margin-bottom: 10px;padding-bottom: 10px;">
<u-form-item prop="Nav_Contents" :label="index+1+'.辨识区域:'" @click="handleChangeStep(index,'','Area')">
<view v-for="(item,index) in model.Nav_Details.filter(i => !i.IS_DELETED)" :key="index" style="border-bottom: #ceccca 1px solid;margin-bottom: 10px;padding-bottom: 10px;">
<u-form-item prop="Nav_Contents" :label="index+1+'.辨识区域:'" @click="handleShowSheet({title: '辨识区域', name: 'Nav_Area',itemData:item})">
<view style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;flex: 1;">
<!-- <view @click="handleChangeStep(index,'','Area')" style="flex: 1;">
{{index+1+'.辨识区域:'+item.Nav_Area.NAME}}
</view> -->
<u--input v-model="item.Nav_Area.NAME" disabled disabledColor="#ffffff" placeholder="请选择辨识区域" border="none" fontSize="14px">
<u--input v-model="(item.Nav_Area||{}).NAME" disabled disabledColor="#ffffff" placeholder="请选择辨识区域" border="none" fontSize="14px">
</u--input>
<view class="action" @click.stop style="display: flex;flex-direction: row;align-items: center;justify-content: space-around;">
<u-icon @click="handleDelRowBefore(index,'','Area')" name="trash" color="#ff4d4f" size="21" style="margin-right: 20px;"></u-icon>
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(index)"></u-icon>
<u-icon @click="handleDelRowBefore(item)" name="trash" color="#ff4d4f" size="21" style="margin-right: 20px;"></u-icon>
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(item)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(item)"></u-icon>
</view>
</view>
@ -91,23 +98,23 @@
<u-form-item required label="风险描述" prop="HIDDEN_DESCRIPTION">
</u-form-item>
<u--textarea v-model="item.RISK_DESCRIPTION" placeholder="请填写风险描述" autoHeight maxlength="-1"></u--textarea>
<u-form-item label="风险类别" prop="HIDDEN_LEVEL" @click="handleChangeStep(index,'','Category')" border-bottom>
<u--input v-model="item.Nav_Type.NAME" placeholder="请选择风险类别" disabled suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabledColor="#ffffff" inputAlign="right" fontSize="14px"
border="none">
<u-form-item label="风险类别" prop="HIDDEN_LEVEL" @click="handleShowSheet({title: '风险类别', name: 'Nav_Type',itemData:item})" border-bottom>
<u--input v-model="(item.Nav_Type||{}).NAME" placeholder="请选择风险类别" disabled suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabledColor="#ffffff" inputAlign="right"
fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item required label="风险评价L" border-bottom @click="handleShowSheetForArea(item,{title: '风险评价', name: 'EVALUATE_L'})">
<u-form-item required label="风险评价L" border-bottom @click="handleShowSheet({title: '风险评价', name: 'EVALUATE_L',itemData:item})">
<u--input v-model="(item.Nav_SCOREL||{}).SCORE" placeholder="请选择风险评价" disabled suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabledColor="#ffffff" inputAlign="right"
fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item required label="风险评价E" border-bottom @click="handleShowSheetForArea(item,{title: '风险评价', name: 'EVALUATE_E'})">
<u-form-item required label="风险评价E" border-bottom @click="handleShowSheet({title: '风险评价', name: 'EVALUATE_E',itemData:item})">
<u--input v-model="(item.Nav_SCOREE||{}).SCORE" placeholder="请选择风险评价" disabled suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabledColor="#ffffff" inputAlign="right"
fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item required label="风险评价C" border-bottom @click="handleShowSheetForArea(item,{title: '风险评价', name: 'EVALUATE_C'})">
<u-form-item required label="风险评价C" border-bottom @click="handleShowSheet({title: '风险评价', name: 'EVALUATE_C',itemData:item})">
<u--input v-model="(item.Nav_SCOREC||{}).SCORE" placeholder="请选择风险评价" disabled suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabledColor="#ffffff" inputAlign="right"
fontSize="14px" border="none">
</u--input>
@ -116,76 +123,99 @@
<u--input v-model="item.EVALUATE_SCORE" placeholder="请输入风险评价" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item required label="风险等级" prop="HIDDEN_PLACE" @click="handleChangeUnit('SKEvaluateLevelEnum',item)" border-bottom>
<u--input v-model="item.EVALUATE_LEVELName" placeholder="请选择风险等级" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u-form-item required label="风险等级" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.EVALUATE_LEVELName" p disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</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="EMERGENCY" borderBottom>
<u--input disabledColor="#ffffff" v-model="item.EMERGENCY" border="none" inputAlign="right" placeholder="请输入应急处置" fontSize="14px"></u--input>
</u-form-item>
<u-form-item label="管控信息" prop="HIDDEN_PLACE" @click="changeControl(index)">
<u-icon slot="right" name="plus-circle" size="18" v-if="!item.isShowControl">
</u-icon>
<u-icon slot="right" name="minus-circle" size="18" v-if="item.isShowControl">
</u-icon>
<u-form-item label="新增标识" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.MARK_NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<view v-if="item.isShowControl">
<u-subsection :list="childList" :current="item.curNow" @change="sectionChange(index,$event)"></u-subsection>
<view v-if="item.curNow==0&&item.Nav_DetailMeasures.length!==0">
<view v-for="(item1,index1) in item.Nav_DetailMeasures" :key="index1" style="margin: 5px 5px;padding: 0px 10px;">
<u-form-item :label="index1+1+'.顺序'" prop="NUM" borderBottom>
<u-number-box integer v-model="item1.NUM" :min="-10000" :max="10000"></u-number-box>
<!-- <u--input disabledColor="#ffffff" v-model="item1.NUM" border="none" inputAlign="right" placeholder="请输入顺序">
<uni-collapse class="collapse" ref="collapse">
<uni-collapse-item title="管控措施" name="Variety components">
<u-button type="primary" @click="handleNewControlMea(item)" color="#3d4b70">新增管控措施</u-button>
<view v-if="item.Nav_DetailMeasures&&item.Nav_DetailMeasures.length!==0">
<view v-for="item1 in item.Nav_DetailMeasures.filter(i => !i.IS_DELETED)" style="margin: 5px 5px;padding: 0px 10px;">
<u-form-item label="序号" prop="HIDDEN_DESCRIPTION" border-bottom>
<view slot="right" style="display: flex;flex-direction: row;align-items: center;">
<u-number-box v-model="item1.NUM" integer></u-number-box>
<u-icon @click="handleDelRowBefore(item1)" name="trash" color="#ff4d4f" size="21" style="margin-right: 20px;margin-left: 20px;"></u-icon>
</view>
</u-form-item>
<u-form-item label="措施" prop="HIDDEN_DESCRIPTION">
</u-form-item>
<u--textarea v-model="item1.MEASURES_NAME" placeholder="请填写管控措施" autoHeight></u--textarea>
</view>
</view>
</uni-collapse-item>
<uni-collapse-item title="辨识岗位" name="Detail Posts">
<u-button type="primary" @click="handleNewPost(item)" color="#3d4b70">新增辨识岗位</u-button>
<view v-if="item.Nav_DetailPosts&&item.Nav_DetailPosts.length>0">
<view v-for="(item1,index1) in item.Nav_DetailPosts.filter(i => !i.IS_DELETED)" style="padding: 10px;">
<u-form-item :label="(index1+1)+' . '" prop="HIDDEN_PLACE" border-bottom>
<!-- <u--input v-model="index1+1" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input> -->
<u-icon @click="handleDelRowBefore(index,index1,'Num')" name="trash" color="#ff4d4f" size="21" style="margin-left: 20px;"></u-icon>
</u-form-item>
<u-form-item required label="管控措施" prop="MEASURES_NAME" borderBottom>
<u--input disabledColor="#ffffff" v-model="item1.MEASURES_NAME" border="none" inputAlign="right" placeholder="请输入管控措施"></u--input>
</u-form-item>
<!-- <u-form-item label="应急处置" prop="EMERGENCY" borderBottom>
<u--input disabledColor="#ffffff" v-model="item1.EMERGENCY" border="none" inputAlign="right" placeholder="请输入应急处置"></u--input>
</u-form-item> -->
<u-icon @click="handleDelRowBefore(item1)" name="trash" color="#ff4d4f" size="21" style="margin-right: 20px;margin-left: 20px;" slot="right"></u-icon>
</u-form-item>
<u-form-item label="辨识部门" prop="HIDDEN_PLACE" border-bottom @click="handleShowSheet({title: '辨识部门', name: 'Nav_Department',itemData:item1})">
<u--input v-model="(item1.Nav_Department||{}).NAME" disabled placeholder="请选择辨识部门" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</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="HIDDEN_PLACE" border-bottom @click="handleShowSheet({title: '辨识岗位', name: 'Nav_ResultPostDets',itemData:item1})">
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<u-textarea v-model="item1.Nav_ResultPostDetsName" disabled autoHeight placeholder="请选择辨识岗位"></u-textarea>
</view>
</view>
</uni-collapse-item>
<uni-collapse-item title="管控层级" name="Docs guide">
<u-button type="primary" @click="handleNewControlLev(item)" color="#3d4b70">新增管控层级</u-button>
<view v-if="item.Nav_DetailDeparts&&item.Nav_DetailDeparts.length>0">
</view>
<u-button text="新增管控措施" size="small" type="primary" style="width: 80%;margin-top: 20px;" @click="handleNewControlMea(index)" v-if="item.curNow==0"></u-button>
<view v-if="item.curNow==1&&item.Nav_DetailDeparts.length!==0">
<view v-for="(item1,index1) in item.Nav_DetailDeparts" :key="index1" style="margin: 5px 5px;padding: 0px 10px;">
<u-form-item borderBottom>
<view style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;flex: 1;">
<view @click="handleChangeStep(index,index1,'Dep')" style="flex: 1;display: flex;flex-direction: row;align-items: center;">
<view style="flex: 1;">
{{item1.Nav_Department?index1+1+'.管控部门 : ' +'.'+item1.Nav_Department.NAME:index1+1+'.'}}
<view v-for="(item1,index1) in item.Nav_DetailDeparts.filter(i => !i.IS_DELETED)" style="padding: 10px;">
<u-form-item borderBottom>
<view style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;flex: 1;">
<view @click="handleShowSheet({title: '管控部门', name: 'Nav_DetailDeparts',itemData:item1})" style="flex: 1;display: flex;flex-direction: row;align-items: center;">
<view style="flex: 1;">
{{item1.Nav_Department?index1+1+'.管控部门 : ' +item1.Nav_Department.NAME:index1+1+'.'}}
</view>
<u-icon style="margin-left: 5px;margin-right: 20px;" name="arrow-down" size="12">
</u-icon>
</view>
<view class="action" style="display: flex;flex-direction: row;align-items: center;justify-content: space-around;">
<u-icon @click="handleDelRowBefore(item1)" name="trash" color="#ff4d4f" size="21"></u-icon>
</view>
<u-icon style="margin-left: 5px;margin-right: 20px;" name="arrow-down" size="12">
</u-icon>
</view>
<view class="action" style="display: flex;flex-direction: row;align-items: center;justify-content: space-around;">
<u-icon @click="handleDelRowBefore(index,index1,'Dep')" name="trash" color="#ff4d4f" size="21"></u-icon>
</view>
</view>
</u-form-item>
<u-form-item required borderBottom label="管控层级:" prop="Check_Level" @click="handleChangeUnit('SKDepartmentTypeEnum',item1)">
<u--input v-model="item1.DEPARTMENT_TYPEName" disabled disabledColor="#ffffff" placeholder="请选择管控层级" border="none" inputAlign="right" fontSize="14px">
</u-form-item>
<u-form-item required borderBottom label="管控层级:" prop="Check_Level" @click="handleChangeUnit('SKDepartmentTypeEnum',item1)">
<u--input v-model="item1.DEPARTMENT_TYPEName" disabled disabledColor="#ffffff" placeholder="请选择管控层级" 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 required borderBottom label="管控责任人" prop="HIDDEN_PLACE" @click="handleChangeStep(index,index1,'Peo')" border-bottom>
<u--input v-model="(item1.Nav_User||{}).NAME" placeholder="请选择管控责任人" suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabled disabledColor="#ffffff"
inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
</u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<u-form-item borderBottom label="管控责任人" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="((item1.Nav_Department||{}).Nav_User||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
</view>
</view>
</view>
<u-button text="新增管控层级" size="small" type="primary" style="width: 80%;margin-top: 20px;" @click="handleNewControlLev(index)" v-if="item.curNow==1"></u-button>
</view>
</uni-collapse-item>
</uni-collapse>
</view>
</view>
<u-button text="新增检查区域" type="primary" @click="handleNewCheckContent"></u-button>
<u-button text="新增辨识区域" type="primary" @click="handleNewCheckContent"></u-button>
</u--form>
</view>
<view style="padding: 10px 16px;display: flex;flex-direction: row;" v-if="stepsPageList === 1" class="bottom-button">
@ -231,13 +261,14 @@
EvaluationFullUpdate,
getUserLists,
GetEvaluationInfo,
GetRiskAreaInfo,
GetRiskTypeInfo,
GetNewRiskAreaInfo,
GetNewRiskTypeInfo,
GetDepartmentInfo,
GetRiskNameInfo,
GetScorel,
GetScoree,
GetScorec
GetScorec,
GetPostOrderPaged
} from '../../../../services/apply/subPages/SK/SKServices.js'
import {
getEnum,
@ -281,10 +312,10 @@
Nav_Files: [],
Nav_Details: [{
showPack: false,
Nav_ProductionUnit:{
Nav_ProductionUnit: {
NAME: ''
},
PRODUCTION_UNIT_ID:'',
PRODUCTION_UNIT_ID: '',
Nav_Area: {
NAME: ''
},
@ -310,7 +341,6 @@
EVALUATE_LEVELName: '',
Nav_DetailDeparts: [],
Nav_DetailMeasures: [],
isShowControl: false,
}]
},
dateRecitifyTime: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd'),
@ -321,7 +351,6 @@
nowName: '',
nowIndex: 0,
childList: ['管控措施', '管控层级'],
curNow: 0,
comPickerInfo: {
showSheet: false,
dataItem: {},
@ -352,7 +381,7 @@
onLoad(option) {
this.TaskID = option.taskID ? option.taskID : '';
this.ID = option.ID ? option.ID : '';
this.fetchEnums(['SKProductionUnit', 'SKEvaluateLevelEnum', 'SKDepartmentTypeEnum']);
this.fetchEnums(['SKProductionUnit', 'SKEvaluateLevelEnum', 'SKDepartmentTypeEnum', 'SKMarkEnum']);
},
methods: {
fetchEnums(enumNames) {
@ -391,39 +420,44 @@
this.model.START_DATE = uni.$u.timeFormat(res.START_DATE, 'yyyy-mm-dd')
this.model.END_DATE = uni.$u.timeFormat(res.END_DATE, 'yyyy-mm-dd')
this.model.RequireName = res.Nav_Require.NAME
let Nav_RequiresName = ''
if (this.model.Nav_Requires && this.model.Nav_Requires.length > 0) {
this.model.Nav_Requires.map(item => {
if (item.Nav_Require&&item.Nav_Require.NAME !== null) {
Nav_RequiresName += item.Nav_Require.NAME + ' ';
}
})
}
this.model.Nav_RequiresName = Nav_RequiresName
this.model.Nav_Details.map(item => {
item['showPack'] = false
item['isShowControl'] = false
item['curNow'] = 0
item.Nav_SCOREL = item.Nav_SCOREL ? item.Nav_SCOREL : {
SCORE: ''
}
item.Nav_SCOREE = item.Nav_SCOREE ? item.Nav_SCOREE : {
SCORE: ''
}
item.Nav_SCOREC = item.Nav_SCOREC ? item.Nav_SCOREC : {
SCORE: ''
}
item.EVALUATE_LEVELName = item.EVALUATE_LEVEL !== undefined ? this.enumsData['SKEvaluateLevelEnum'].find(item1 => item1.code === item.EVALUATE_LEVEL).name : '';
item.MARK_NAME = item.MARK !== undefined ? this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK)?.name : '';
item.EVALUATE_LEVELName = item.EVALUATE_LEVEL !== undefined ? this.enumsData['SKEvaluateLevelEnum'].find(item1 => item1.code === item.EVALUATE_LEVEL)?.name : '';
item.Nav_DetailDeparts.map(item1 => {
item1.DEPARTMENT_TYPEName = item1.DEPARTMENT_TYPE !== undefined ? this.enumsData['SKDepartmentTypeEnum'].find(item2 => item2.code === item1.DEPARTMENT_TYPE).name : '';
item1.DEPARTMENT_TYPEName = item1.DEPARTMENT_TYPE !== undefined ? this.enumsData['SKDepartmentTypeEnum'].find(item2 => item2.code === item1.DEPARTMENT_TYPE)?.name : '';
})
if (item.Nav_DetailPosts && item.Nav_DetailPosts.length > 0) {
item.Nav_DetailPosts.map(item1 => {
if (item1.Nav_PostDetails && item1.Nav_PostDetails.length > 0) {
let Nav_ResultPostDetsName = ''
item1.Nav_PostDetails.map(item2 => {
if (item2.Nav_Post && item2.Nav_Post.NAME !== null) {
Nav_ResultPostDetsName += item2.Nav_Post.NAME + ' ';
}
})
item1.Nav_ResultPostDetsName = Nav_ResultPostDetsName
}
})
}
})
this.stepLoad = false
})
},
sectionChange(index, e) {
this.model.Nav_Details[index].curNow = e
this.model.Nav_Details = [...this.model.Nav_Details]
},
changeControl(index) {
this.model.Nav_Details[index].isShowControl = this.model.Nav_Details[index].isShowControl == false ? true : false
this.model.Nav_Details = [...this.model.Nav_Details]
},
handlePack(index) {
this.model.Nav_Details[index].showPack = this.model.Nav_Details[index].showPack == false ? true : false
this.model.Nav_Details = [...this.model.Nav_Details]
handlePack(item) {
item.showPack = item.showPack == false ? true : false
this.$forceUpdate()
},
handleChangeUnit(name, item) {
@ -450,7 +484,6 @@
},
onConfirmPicker(e) {
console.log(this.comPickerInfo.dataItem)
if (this.comPickerInfo.name == 'SKProductionUnit') {
this.comPickerInfo.dataItem.Nav_ProductionUnit = e.value[0]
this.comPickerInfo.dataItem.PRODUCTION_UNIT_ID = e.value[0].ID
@ -488,10 +521,10 @@
handleNewCheckContent() {
this.model.Nav_Details.push({
showPack: false,
Nav_ProductionUnit:{
Nav_ProductionUnit: {
NAME: ''
},
PRODUCTION_UNIT_ID:'',
PRODUCTION_UNIT_ID: '',
Nav_Area: {
NAME: ''
},
@ -517,20 +550,37 @@
EVALUATE_LEVELName: '低风险',
Nav_DetailDeparts: [],
Nav_DetailMeasures: [],
isShowControl: false,
Nav_DetailPosts:[],
MARK: this.enumsData['SKMarkEnum'].find(item1 => item1.name === '新增').code,
MARK_NAME: this.enumsData['SKMarkEnum'].find(item1 => item1.name === '新增').name,
ID: guid()
})
this.model.Nav_Details = [...this.model.Nav_Details]
},
handleNewControlMea(index) {
this.model.Nav_Details[index].Nav_DetailMeasures.push({
NUM: 0,
handleNewControlMea(item) {
item.Nav_DetailMeasures.push({
NUM: 1,
ID: guid(),
RISK_EVALUATION_DETAIL_ID: item.ID,
MEASURES_NAME: '',
EMERGENCY: '',
IS_DELETED: false,
})
},
handleNewControlLev(index) {
this.model.Nav_Details[index].Nav_DetailDeparts.push({
handleNewPost(item) {
item.Nav_DetailPosts.unshift({
ID: guid(),
RISK_EVALUATION_DETAIL_ID: item.ID,
Nav_Department: {
NAME: ''
},
DEPARTMENT_ID: '',
Nav_PostDetails: [],
IS_DELETED: false,
})
},
handleNewControlLev(item) {
item.Nav_DetailDeparts.push({
DEPARTMENT_TYPE: '',
Nav_Department: {
NAME: ''
@ -538,11 +588,12 @@
Nav_User: {
NAME: ''
},
RISK_EVALUATION_DETAIL_ID:item.ID
})
},
handleDelRowBefore(index, index1, name) {
this.showDelModalIndex = index
this.nowIndex = [index, index1, name]
handleDelRowBefore(item) {
item.IS_DELETED = true
this.$forceUpdate()
},
@ -581,89 +632,13 @@
this.showPopupRecitifyDate = false
},
handleChangeStep(index, index1, name) {
this.currentOperateStep = {}
this.showPopupStep = true
this.nowIndex = [index, index1, name]
this.handleSearchStep('init')
},
handleClosePopupStep() {
this.showPopupStep = false
// this.showPopupCertificate = false
},
handleSearchStep(val, pageIndex) {
let requestInfo = this.nowIndex[2] == 'demand' ? GetEvaluationInfo : this.nowIndex[2] == 'Area' ? GetRiskAreaInfo : this.nowIndex[2] == 'Category' ? GetRiskTypeInfo : this.nowIndex[2] == 'Dep' ?
GetDepartmentInfo : this.nowIndex[1] == 'RiskName' ? GetRiskNameInfo : getUserLists
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "", 0, pageIndex ?? 1)
json.Limit = 20
if (pageIndex) {
json.Start = (pageIndex - 1) * json.Limit;
}
if (val !== 'init') {
const tempGroup = initFilterGroup(false);
extendGroupRule(tempGroup, 'NAME', 9, val)
extendFilterGroup(json, tempGroup);
}
requestInfo(json).then(res => {
// if (res.IsSuccessful) {
this.stepLists = (res.Data || res).map(i => {
return {
...i,
id: i.ID,
name: i.NAME,
}
})
this.curTotalStep = res.TotalCount
// }
})
},
handleSelectedStep(val) {
if (this.nowIndex[2] == 'demand') {
this.model.Nav_Require.NAME = val.NAME
this.model.REQUIRE_ID = val.ID
this.model.RequireName = val.NAME
} else if (this.nowIndex[2] == 'Area') {
this.model.Nav_Details[this.nowIndex[0]].Nav_Area.NAME = val.NAME
this.model.Nav_Details[this.nowIndex[0]].AREA_ID = val.ID
} else if (this.nowIndex[2] == 'Category') {
this.model.Nav_Details[this.nowIndex[0]].Nav_Type.NAME = val.NAME
this.model.Nav_Details[this.nowIndex[0]].TYPE_ID = val.ID
} else if (this.nowIndex[2] == 'Dep') {
this.model.Nav_Details[this.nowIndex[0]].Nav_DetailDeparts[this.nowIndex[1]].Nav_Department.NAME = val.NAME
this.model.Nav_Details[this.nowIndex[0]].Nav_DetailDeparts[this.nowIndex[1]].DEPARTMENT_ID = val.ID
} else if (this.nowIndex[1] == 'RiskName') {
this.model.Nav_Details[this.nowIndex[0]].RISK_NAME = val.NAME
this.model.Nav_Details[this.nowIndex[0]].RISK_NAME_ID = val.ID
} else {
this.model.Nav_Details[this.nowIndex[0]].Nav_DetailDeparts[this.nowIndex[1]].Nav_User.NAME = val.NAME
this.model.Nav_Details[this.nowIndex[0]].Nav_DetailDeparts[this.nowIndex[1]].USER_ID = val.ID
}
this.showPopupStep = false
},
handleShowSheetForArea(item, todo) {
const validDetails = this.model.Nav_Details.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)
// const json = initFilter(this.ORG_ID, "", "", 0, p.pageIndex ?? 1)
let dataSelect = []
// this.selectorInfo.defaultChecked = []
var defaultChecked = []
this.selectorInfo.isMultiple = false
if (p.val) {
extendRule(json, 'NAME', 9, p.val);
}
@ -671,10 +646,7 @@
if (p.pageIndex) {
json.Start = (p.pageIndex - 1) * json.Limit;
}
json.Sort = 'NAME'
// json.SelectField = ["ID", "NAME", "NAME", "CODE"]
// json.Sort = "NAME"
// json.Order = 1
json.Sort = "NAME"
if (p.name == 'EVALUATE_L') {
// extendRule(json, 'DEVICE_STATUS', 1, '1');
@ -683,6 +655,7 @@
if (res != undefined && res.Data.length > 0) {
for (let i = 0; i < res.Data.length; i++) {
res.Data[i].name = res.Data[i].NAME
res.Data[i].code = res.Data[i].SCORE
}
}
return res.Data
@ -693,6 +666,7 @@
if (res != undefined && res.Data.length > 0) {
for (let i = 0; i < res.Data.length; i++) {
res.Data[i].name = res.Data[i].NAME
res.Data[i].code = res.Data[i].SCORE
}
}
return res.Data
@ -701,6 +675,70 @@
dataSelect = await GetScorec(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
res.Data[i].code = res.Data[i].SCORE
}
}
return res.Data
})
} else if (p.name == "Nav_Area") {
dataSelect = await GetNewRiskAreaInfo(json).then(res => {
this.selectorInfo.totalCount = res.TotalCount
if (res.Data != 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_Type") {
dataSelect = await GetNewRiskTypeInfo(json).then(res => {
if (res.Data != 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_Department") {
dataSelect = await GetDepartmentInfo(json).then(res => {
if (res.Data != 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_ResultPostDets") {
this.selectorInfo.isMultiple = true
if (p.itemData.DEPARTMENT_ID) {
extendRule(json, 'DEPARTMENT_ID', 1, p.itemData.DEPARTMENT_ID);
}
json.SelectField = ["ID", "NAME", "NAME"]
dataSelect = await GetPostOrderPaged(json).then(res => {
if (res.Data != undefined && res.Data.length > 0) {
for (let i = 0; i < res.length; i++) {
res[i].name = res.Data[i].NAME
res[i].code = res.Data[i].CODE
}
}
return res.Data
})
if (p.itemData.Nav_PostDetails && p.itemData.Nav_PostDetails.length > 0) {
// this.selectorInfo.defaultChecked = []
p.itemData.Nav_PostDetails.filter(i => !i.IS_DELETED).forEach(e => {
if (e.Nav_Post != null && e.Nav_Post.NAME != null)
defaultChecked.push(e.Nav_Post)
})
} else {
defaultChecked = null
}
} else if (p.name == 'Nav_DetailDeparts') {
json.Include=['Nav_User']
dataSelect = await GetDepartmentInfo(json).then(res => {
if (res.Data != undefined && res.Data.length > 0) {
for (let i = 0; i < res.Data.length; i++) {
res.Data[i].name = res.Data[i].NAME
}
@ -708,7 +746,6 @@
return res.Data
})
}
if (defaultChecked == null)
defaultChecked = []
if (dataSelect.length) {
@ -721,8 +758,7 @@
title: p.title,
name: p.name,
dataLists: dataSelect,
defaultChecked: defaultChecked,
index: p.index
defaultChecked: defaultChecked
}
} else {
//
@ -742,43 +778,85 @@
handleSelected(e) {
this.selectorInfo.showPopup = false
const validDetails = this.model.Nav_Details.filter(i => !i.IS_DELETED);
const index = this.selectorInfo.index;
const realIndex = this.model.Nav_Details.findIndex(item => item === validDetails[index]);
if (this.selectorInfo.name == 'EVALUATE_L') {
this.model.Nav_Details[realIndex].Nav_SCOREL = e;
this.model.Nav_Details[realIndex].SCOREL_ID = e.ID;
} else if (this.selectorInfo.name == 'EVALUATE_E') {
this.model.Nav_Details[realIndex].Nav_SCOREE = e;
this.model.Nav_Details[realIndex].SCOREE_ID = e.ID;
} else if (this.selectorInfo.name == 'EVALUATE_C') {
this.model.Nav_Details[realIndex].Nav_SCOREC = e;
this.model.Nav_Details[realIndex].SCOREC_ID = e.ID;
}
let l = this.model.Nav_Details[realIndex].Nav_SCOREL.SCORE
let o = this.model.Nav_Details[realIndex].Nav_SCOREE.SCORE
let c = this.model.Nav_Details[realIndex].Nav_SCOREC.SCORE
this.model.Nav_Details[realIndex].EVALUATE_SCORE = l * o * c
let D = this.model.Nav_Details[realIndex].EVALUATE_SCORE
if (D >= 320) {
this.model.Nav_Details[realIndex].EVALUATE_LEVELName = "重大风险";
} else if (D >= 160 && D < 320) {
this.model.Nav_Details[realIndex].EVALUATE_LEVELName = "较大风险";
} else if (D >= 70 && D < 160) {
this.model.Nav_Details[realIndex].EVALUATE_LEVELName = "一般风险";
} else {
this.model.Nav_Details[realIndex].EVALUATE_LEVELName = "低风险";
}
this.model.Nav_Details[realIndex].EVALUATE_LEVEL = this.model.Nav_Details[realIndex].EVALUATE_LEVELName !== undefined ? this.enumsData['SKEvaluateLevelEnum'].find(item1 => item1.name === this.model
.Nav_Details[
realIndex].EVALUATE_LEVELName).code : ''
if (this.selectorInfo.name == 'EVALUATE_L' || this.selectorInfo.name == 'EVALUATE_E' || this.selectorInfo.name == 'EVALUATE_C') {
if (this.selectorInfo.name == 'EVALUATE_L') {
this.selectorInfo.itemData.Nav_SCOREL = e;
this.selectorInfo.itemData.SCOREL_ID = e.ID;
} else if (this.selectorInfo.name == 'EVALUATE_E') {
this.selectorInfo.itemData.Nav_SCOREE = e;
this.selectorInfo.itemData.SCOREE_ID = e.ID;
} else if (this.selectorInfo.name == 'EVALUATE_C') {
this.selectorInfo.itemData.Nav_SCOREC = e;
this.selectorInfo.itemData.SCOREC_ID = e.ID;
}
let l = this.selectorInfo.itemData.Nav_SCOREL.SCORE
let o = this.selectorInfo.itemData.Nav_SCOREE.SCORE
let c = this.selectorInfo.itemData.Nav_SCOREC.SCORE
this.selectorInfo.itemData.EVALUATE_SCORE = Math.round(l * o * c)
let D = this.selectorInfo.itemData.EVALUATE_SCORE
if (D >= 320) {
this.selectorInfo.itemData.EVALUATE_LEVELName = "重大风险";
} else if (D >= 160 && D < 320) {
this.selectorInfo.itemData.EVALUATE_LEVELName = "较大风险";
} else if (D >= 70 && D < 160) {
this.selectorInfo.itemData.EVALUATE_LEVELName = "一般风险";
} else {
this.selectorInfo.itemData.EVALUATE_LEVELName = "低风险";
}
this.selectorInfo.itemData.EVALUATE_LEVEL = this.selectorInfo.itemData.EVALUATE_LEVELName !== undefined ? this.enumsData['SKEvaluateLevelEnum'].find(item1 => item1.name === this.selectorInfo.itemData
.EVALUATE_LEVELName).code : ''
this.$forceUpdate()
}
if (this.selectorInfo.name == 'Nav_Area') {
this.selectorInfo.itemData.Nav_Area = e
this.selectorInfo.itemData.AREA_ID = e.ID
} else if (this.selectorInfo.name == 'Nav_Type') {
this.selectorInfo.itemData.Nav_Type = e
this.selectorInfo.itemData.TYPE_ID = e.ID
} else if (this.selectorInfo.name == 'Nav_Department') {
this.selectorInfo.itemData.Nav_Department = e
this.selectorInfo.itemData.DEPARTMENT_ID = e.ID
} else if (this.selectorInfo.name == 'Nav_DetailDeparts') {
this.selectorInfo.itemData.Nav_Department = e
this.selectorInfo.itemData.DEPARTMENT_ID = e.ID
this.selectorInfo.itemData.Nav_User = e.Nav_User
this.selectorInfo.itemData.USER_ID = e.Nav_User?.ID
} else if (this.selectorInfo.name == 'Nav_ResultPostDets') {
let listArea = []
let areaShow = ''
if (e.length > 0) {
e.forEach((item, i) => {
if (item.name != null || item.NAME != null) {
if (i > 0) {
areaShow += ' '
}
listArea.push({
ID: guid(),
RISK_EVALUATION_DETAIL_POST_ID: this.selectorInfo.itemData.ID,
POST_ID: item.ID,
ORG_ID: item.ORG_ID,
Nav_Post: item
})
areaShow += item.NAME
}
})
}
this.selectorInfo.itemData.Nav_PostDetails = listArea
this.selectorInfo.itemData.Nav_ResultPostDetsName = areaShow
}
this.$forceUpdate()
},
submit() {
let i = 1
for (let item of this.model.Nav_Details) {
for (let item of this.model.Nav_Details.filter(i => !i.IS_DELETED)) {
if (!item.PRODUCTION_UNIT_ID) {
uni.showToast({
title: '顺序' + i + '生产单元不能为空',
@ -842,22 +920,8 @@
})
return
}
if (!item.EVALUATE_SCORE) {
uni.showToast({
title: '顺序' + i + '分值D不能为空',
icon: 'none'
})
return
}
if (!item.EVALUATE_LEVELName) {
uni.showToast({
title: '顺序' + i + '风险等级不能为空',
icon: 'none'
})
return
}
if (item.Nav_DetailMeasures.length !== 0) {
for (let item1 of item.Nav_DetailMeasures) {
if (item.Nav_DetailMeasures.filter(i => !i.IS_DELETED).length !== 0) {
for (let item1 of item.Nav_DetailMeasures.filter(i => !i.IS_DELETED)) {
if (!item1.MEASURES_NAME) {
uni.showToast({
title: '顺序' + i + '管控措施不能为空',
@ -874,8 +938,8 @@
// }
}
}
if (item.Nav_DetailDeparts.length !== 0) {
for (let item1 of item.Nav_DetailDeparts) {
if (item.Nav_DetailDeparts.filter(i => !i.IS_DELETED).length !== 0) {
for (let item1 of item.Nav_DetailDeparts.filter(i => !i.IS_DELETED)) {
if (!item1.DEPARTMENT_TYPEName) {
uni.showToast({
title: '顺序' + i + '管控层级不能为空',
@ -890,13 +954,7 @@
})
return
}
if (!item1.Nav_User.NAME) {
uni.showToast({
title: '顺序' + i + '管控责任人不能为空',
icon: 'none'
})
return
}
}
}
i++

View File

@ -15,12 +15,12 @@
</u-form-item>
<u-form-item label="发起部门:" prop="Product_Unit">
<u--input v-model="model.Nav_ApplyDepartment.NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u--input v-model="(model.Nav_ApplyDepartment||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="发起人:" prop="Product_Unit">
<u--input v-model="model.Nav_ApplyUser.NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u--input v-model="(model.Nav_ApplyUser||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
@ -41,7 +41,7 @@
</u-form-item>
<u-form-item label="评价要求:">
</u-form-item>
<u--textarea v-model="model.Nav_Require.NAME" disabled autoHeight v-if="model.Nav_Require"></u--textarea>
<u--textarea v-model="model.Nav_RequiresName" disabled autoHeight ></u--textarea>
<view class="upload-title">附件</view>
<full-upload v-model="model.Nav_Files" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
@ -59,11 +59,11 @@
<u-form-item prop="Nav_Contents" :label="index+1+'.辨识区域:'">
<view style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;flex: 1;">
<u--input v-model="item.Nav_Area.NAME" disabled disabledColor="#ffffff" border="none" fontSize="14px">
<u--input v-model="(item.Nav_Area||{}).NAME" disabled disabledColor="#ffffff" border="none" fontSize="14px">
</u--input>
<view class="action" @click.stop style="display: flex;flex-direction: row;align-items: center;justify-content: space-around;">
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(item)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(item)"></u-icon>
</view>
</view>
@ -107,47 +107,76 @@
<u-form-item label="应急处置" prop="EMERGENCY" borderBottom>
<u--input disabledColor="#ffffff" disabled v-model="item.EMERGENCY" border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="管控信息" prop="HIDDEN_PLACE" @click="changeControl(index)" v-if="item.Nav_DetailMeasures.length!==0 ||item.Nav_DetailDeparts.length!==0 ">
<u-icon slot="right" name="plus-circle" size="18" v-if="!item.isShowControl">
</u-icon>
<u-icon slot="right" name="minus-circle" size="18" v-if="item.isShowControl">
</u-icon>
<u-form-item label="新增标识" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.MARK_NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<view v-if="item.isShowControl">
<u-subsection :list="childList" :current="item.curNow" @change="sectionChange(index,$event)"></u-subsection>
<view v-if="item.curNow==0&&item.Nav_DetailMeasures.length!==0">
<view v-for="(item1,index1) in item.Nav_DetailMeasures" :key="index1" style="margin: 5px 5px;padding: 0px 10px;">
<u-form-item :label="index1+1+'.顺序'" prop="NUM" borderBottom>
<u-number-box integer disabled v-model="item1.NUM" :min="-10000" :max="10000"></u-number-box>
</u-form-item>
<u-form-item label="管控措施" prop="MEASURES_NAME" borderBottom>
<u--input disabledColor="#ffffff" disabled v-model="item1.MEASURES_NAME" border="none" inputAlign="right"></u--input>
</u-form-item>
<!-- <u-form-item label="应急处置" prop="EMERGENCY" borderBottom>
<u--input disabledColor="#ffffff" disabled v-model="item1.EMERGENCY" border="none" inputAlign="right"></u--input>
</u-form-item> -->
<uni-collapse class="collapse" ref="collapse">
<uni-collapse-item title="管控措施" name="Variety components">
<view v-if="item.Nav_DetailMeasures&&item.Nav_DetailMeasures.length!==0">
<view v-for="item1 in item.Nav_DetailMeasures.filter(i => !i.IS_DELETED)" style="margin: 5px 5px;padding: 0px 10px;">
<u-form-item label="序号" prop="HIDDEN_DESCRIPTION" border-bottom>
<view slot="right" style="display: flex;flex-direction: row;align-items: center;">
<u-number-box v-model="item1.NUM" disabled integer></u-number-box>
</view>
</u-form-item>
<u-form-item label="措施" prop="HIDDEN_DESCRIPTION">
</u-form-item>
<u--textarea v-model="item1.MEASURES_NAME" disabled autoHeight></u--textarea>
</view>
</view>
</uni-collapse-item>
<uni-collapse-item title="辨识岗位" name="Detail Posts">
</view>
<view v-if="item.Nav_DetailPosts&&item.Nav_DetailPosts.length>0">
<view v-if="item.curNow==1&&item.Nav_DetailDeparts.length!==0">
<view v-for="(item1,index1) in item.Nav_DetailDeparts" :key="index1" style="margin: 5px 5px;padding: 0px 10px;">
<u-form-item :label="index1+1+'.管控部门:'" borderBottom>
<u--input disabledColor="#ffffff" disabled v-model="item1.Nav_Department.NAME" border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item borderBottom label="管控层级:" prop="Check_Level">
<u--input v-model="item1.DEPARTMENT_TYPEName" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<view v-for="(item1,index1) in item.Nav_DetailPosts.filter(i => !i.IS_DELETED)" style="padding: 10px;">
</u--input>
</u-form-item>
<u-form-item borderBottom label="管控责任人" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item1.Nav_User.NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item :label="(index1+1)+' . '+'辨识部门'" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="(item1.Nav_Department||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识岗位" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u-textarea v-model="item1.Nav_ResultPostDetsName" disabled autoHeight></u-textarea>
</view>
</view>
</view>
</uni-collapse-item>
<uni-collapse-item title="管控层级" name="Docs guide">
</view>
<view v-if="item.Nav_DetailDeparts&&item.Nav_DetailDeparts.length>0">
<view v-for="(item1,index1) in item.Nav_DetailDeparts.filter(i => !i.IS_DELETED)" style="padding: 10px;">
<u-form-item borderBottom>
<view style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;flex: 1;">
<view style="flex: 1;display: flex;flex-direction: row;align-items: center;">
<view style="flex: 1;">
{{item1.Nav_Department?index1+1+'.管控部门 : ' +item1.Nav_Department.NAME:index1+1+'.'}}
</view>
</view>
</view>
</u-form-item>
<u-form-item borderBottom label="管控层级:" prop="Check_Level">
<u--input v-model="item1.DEPARTMENT_TYPEName" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item borderBottom label="管控责任人" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="((item1.Nav_Department||{}).Nav_User||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
</view>
</view>
</uni-collapse-item>
</uni-collapse>
</view>
</view>
</u--form>
@ -277,7 +306,7 @@
...this.$store.state.auditModel,
TaskID: option.taskID ? option.taskID : ''
}
this.fetchEnums(['SKProductionUnit', 'SKEvaluateLevelEnum', 'SKDepartmentTypeEnum']);
this.fetchEnums(['SKProductionUnit', 'SKEvaluateLevelEnum', 'SKDepartmentTypeEnum', 'SKMarkEnum']);
},
methods: {
fetchEnums(enumNames) {
@ -319,40 +348,45 @@
this.stepsPage = res.STATUS == 0 ? 0 : res.STATUS == 20 ? 1 : 2
this.model.START_DATE = uni.$u.timeFormat(res.START_DATE, 'yyyy-mm-dd')
this.model.END_DATE = uni.$u.timeFormat(res.END_DATE, 'yyyy-mm-dd')
let Nav_RequiresName = ''
if (this.model.Nav_Requires && this.model.Nav_Requires.length > 0) {
this.model.Nav_Requires.map(item => {
if (item.Nav_Require&&item.Nav_Require.NAME !== null) {
Nav_RequiresName += item.Nav_Require.NAME + ' ';
}
})
}
this.model.Nav_RequiresName = Nav_RequiresName
this.model.Nav_Details.map(item => {
item['showPack'] = false
item['isShowControl'] = false
item['curNow'] = 0
item.Nav_SCOREL = item.Nav_SCOREL ? item.Nav_SCOREL : {
SCORE: ''
}
item.Nav_SCOREE = item.Nav_SCOREE ? item.Nav_SCOREE : {
SCORE: ''
}
item.Nav_SCOREC = item.Nav_SCOREC ? item.Nav_SCOREC : {
SCORE: ''
}
item.MARK_NAME = item.MARK !== undefined ? this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK).name : '';
item.EVALUATE_LEVELName = item.EVALUATE_LEVEL !== undefined ? this.enumsData['SKEvaluateLevelEnum'].find(item1 => item1.code === item.EVALUATE_LEVEL).name : '';
item.Nav_DetailDeparts.map(item1 => {
item1.DEPARTMENT_TYPEName = item1.DEPARTMENT_TYPE !== undefined ? this.enumsData['SKDepartmentTypeEnum'].find(item2 => item2.code === item1.DEPARTMENT_TYPE).name : '';
})
if (item.Nav_DetailPosts && item.Nav_DetailPosts.length > 0) {
item.Nav_DetailPosts.map(item1 => {
if (item1.Nav_PostDetails && item1.Nav_PostDetails.length > 0) {
let Nav_ResultPostDetsName = ''
item1.Nav_PostDetails.map(item2 => {
if (item2.Nav_Post && item2.Nav_Post.NAME !== null) {
Nav_ResultPostDetsName += item2.Nav_Post.NAME + ' ';
}
})
item1.Nav_ResultPostDetsName = Nav_ResultPostDetsName
}
})
}
})
this.stepLoad = false
})
this.isLoadOK = true
},
sectionChange(index, e) {
this.model.Nav_Details[index].curNow = e
this.model.Nav_Details = [...this.model.Nav_Details]
},
changeControl(index) {
this.model.Nav_Details[index].isShowControl = this.model.Nav_Details[index].isShowControl == false ? true : false
this.model.Nav_Details = [...this.model.Nav_Details]
},
handlePack(index) {
this.model.Nav_Details[index].showPack = this.model.Nav_Details[index].showPack == false ? true : false
this.model.Nav_Details = [...this.model.Nav_Details]
handlePack(item) {
item.showPack = item.showPack == false ? true : false
this.$forceUpdate()
},

View File

@ -30,13 +30,13 @@
<!-- <u-icon style="margin-left: 4px;" disabled slot="right" name="arrow-down" size="12">
</u-icon> -->
</u-form-item>
<u-form-item label="辨识要求" @click="handleChangeStep('','demand')">
<u--input v-model="(dataModel.Nav_Require||{}).NAME" placeholder="请选择辨识要求" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
<u-form-item label="辨识要求">
<!-- <u--input v-model="(dataModel.Nav_Require||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input> -->
<!-- <u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon> -->
</u-form-item>
<u--textarea v-model="dataModel.RequireName" disabled autoHeight></u--textarea>
<u--textarea v-model="dataModel.Nav_RequiresName" disabled autoHeight></u--textarea>
<view class="upload-title">附件</view>
<full-upload v-model="dataModel.Nav_Files" :isShowBtn='true' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
@ -55,22 +55,22 @@
</view>
<view style="font-size: 15px; font-weight: bold;color: #3d4b70;margin-bottom: 10px;margin-top: 20px;">辨识内容</view>
<view v-for="(item,index) in dataModel.Nav_Details" :key="index" style="border-bottom: #ceccca 1px solid;margin-bottom: 10px;padding-bottom: 10px;">
<view v-for="(item,index) in dataModel.Nav_Details.filter(i => !i.IS_DELETED)" :key="index" style="border-bottom: #ceccca 1px solid;margin-bottom: 10px;padding-bottom: 10px;">
<u-form-item prop="Nav_Contents">
<view style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;flex: 1;">
<view @click="handleChangeStep(index,'Area')" style="flex: 1;">
<view @click="handleChangeStep(item,'Area')" style="flex: 1;">
{{index+1+'.辨识区域:'+item.Nav_Area.NAME}}
</view>
<view class="action" style="display: flex;flex-direction: row;align-items: center;justify-content: space-around;">
<u-icon @click="handleDelRowBefore(index)" name="trash" color="#ff4d4f" size="21" style="margin-right: 20px;"></u-icon>
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(index)"></u-icon>
<u-icon @click="handleDelRowBefore(item)" name="trash" color="#ff4d4f" size="21" style="margin-right: 20px;"></u-icon>
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(item)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(item)"></u-icon>
</view>
</view>
</u-form-item>
<view v-if="item.showPack==true">
<u-form-item label="生产单元:" @click="handleChangeUnit(index,'MinType')" border-bottom>
<u-form-item label="生产单元:" @click="handleChangeUnit(item,'MinType')" border-bottom>
<u--input v-model="(item.Nav_ProductionUnit||{}).NAME" disabled disabledColor="#ffffff" placeholder="请选择生产单元" border="none" inputAlign="right" fontSize="14px">
</u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
@ -89,15 +89,32 @@
<u--input v-model="item.RISK_DESCRIPTION" placeholder="请填写风险描述" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="风险类别" prop="HIDDEN_LEVEL" @click="handleChangeStep(index,'Category')" border-bottom>
<u--input v-model="(item.Nav_Type||{}).NAME" disabled placeholder="请选择风险类别" suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabledColor="#ffffff" inputAlign="right" fontSize="14px"
border="none">
<u-form-item label="风险类别" prop="HIDDEN_LEVEL" @click="handleChangeStep(item,'Category')" border-bottom>
<u--input v-model="(item.Nav_Type||{}).NAME" disabled placeholder="请选择风险类别" suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabledColor="#ffffff" inputAlign="right"
fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="管控措施" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.MEASURE" placeholder="请填写管控措施" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-icon style="margin-left: 4px;" slot="right" :name="item.arrow?'minus-circle':'plus-circle'" size="16" @click="changeArrow(item)">
</u-icon>
</u-form-item>
<u-button type="primary" @click="handleNewMeasures(item)" color="#3d4b70" v-if="item.arrow">新增管控措施</u-button>
<view v-if="item.arrow&&item.Nav_DetailMeasures&&item.Nav_DetailMeasures.length>0">
<view v-for="item1 in item.Nav_DetailMeasures.filter(i => !i.IS_DELETED)" style="padding: 10px;">
<u-form-item label="序号" prop="HIDDEN_DESCRIPTION" border-bottom>
<view slot="right" style="display: flex;flex-direction: row;align-items: center;">
<u-number-box v-model="item1.NUM" integer></u-number-box>
<u-icon @click="handleDelRowMeasures(item,item1)" name="trash" color="#ff4d4f" size="21" style="margin-right: 20px;margin-left: 20px;"></u-icon>
</view>
</u-form-item>
<u-form-item label="措施" prop="HIDDEN_DESCRIPTION">
</u-form-item>
<u--textarea v-model="item1.MEASURE" placeholder="请填写管控措施" autoHeight></u--textarea>
</view>
</view>
<u-form-item label="应急处置" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u--textarea v-model="item.EMERGENCY" placeholder="请填写应急处置" autoHeight maxlength="-1"></u--textarea>
@ -105,16 +122,11 @@
<u--input v-model="item.MARK_NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="是否有效" prop="HIDDEN_PLACE" @click="handleChangeUnit(index,'SKEnableStatusEnum')">
<u--input v-model="item.ENABLE_STATUS_NAME" disabled placeholder="请选择是否有效" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
</view>
</view>
<view style="padding: 10px 16px;display: flex;flex-direction: row;">
<u-button type="primary" @click="handleNewCheckContent" color="#3d4b70">新增检查区域</u-button>
<u-button type="primary" @click="handleNewCheckContent" color="#3d4b70">新增辨识区域</u-button>
<u-button type="primary" @click="handleNewCheckList" color="#3d4b70" style="margin-left: 5px;">导入企业库内容</u-button>
</view>
</u--form>
@ -304,31 +316,42 @@
this.stepsPage = res.STATUS == 0 ? 0 : res.STATUS == 20 ? 1 : 2
this.dataModel.START_DATE = uni.$u.timeFormat(res.START_DATE, 'yyyy-mm-dd')
this.dataModel.END_DATE = uni.$u.timeFormat(res.END_DATE, 'yyyy-mm-dd')
this.dataModel.Nav_Require = res.Nav_Require ? res.Nav_Require : {
NAME: ''
},
this.dataModel.RequireName = res.Nav_Require ? res.Nav_Require.NAME : {
NAME: ''
},
this.dataModel.Nav_Details.map(item => {
item['showPack'] = false
item.ENABLE_STATUS_NAME = item.ENABLE_STATUS !== undefined ? this.enumsData['SKEnableStatusEnum'].find(item1 => item1.code === item.ENABLE_STATUS).name : '';
item.MARK_NAME = item.MARK !== undefined ? this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK).name : '';
// this.dataModel.Nav_Require = res.Nav_Require ? res.Nav_Require : {
// NAME: ''
// },
// this.dataModel.RequireName = res.Nav_Require ? res.Nav_Require.NAME : {
// NAME: ''
// },
let Nav_RequiresName = ''
if (this.dataModel.Nav_Requires && this.dataModel.Nav_Requires.length > 0) {
this.dataModel.Nav_Requires.map(item => {
if (item.Nav_Require&&item.Nav_Require.NAME !== null) {
Nav_RequiresName += item.Nav_Require.NAME + ' ';
}
})
}
this.dataModel.Nav_RequiresName = Nav_RequiresName
this.dataModel.Nav_Details.map(item => {
item['showPack'] = false
item['arrow'] = false
// item.ENABLE_STATUS_NAME = item.ENABLE_STATUS !== undefined ? this.enumsData['SKEnableStatusEnum'].find(item1 => item1.code === item.ENABLE_STATUS).name : '';
item.MARK_NAME = item.MARK !== undefined ? this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK).name : '';
})
this.stepLoad = false
})
},
handlePack(index) {
this.dataModel.Nav_Details[index].showPack = this.dataModel.Nav_Details[index].showPack == false ? true : false
this.dataModel.Nav_Details = [...this.dataModel.Nav_Details]
handlePack(item) {
item.showPack = item.showPack == false ? true : false
this.$forceUpdate()
},
cancelUnit() {
this.showPopupUnit = false
},
handleChangeUnit(index, name) {
this.nowIndex = [index, name]
handleChangeUnit(item, name) {
this.nowItem = item
this.nowName = name
if (name == 'MinType') {
const json = initFilter(this.ORG_ID)
getRequest(json, "/FM/UserProductionUnitSet/OrderPaged").then(res => {
@ -341,12 +364,12 @@
this.showPopupUnit = true
},
confirmUnit(e) {
if (this.nowIndex[1] == 'MinType') {
this.dataModel.Nav_Details[this.nowIndex[0]].Nav_ProductionUnit = e.value[0]
this.dataModel.Nav_Details[this.nowIndex[0]].PRODUCTION_UNIT_ID = e.value[0].ID
if (this.nowName == 'MinType') {
this.nowItem.Nav_ProductionUnit = e.value[0]
this.nowItem.PRODUCTION_UNIT_ID = e.value[0].ID
} else {
this.dataModel.Nav_Details[this.nowIndex[0]].ENABLE_STATUS = e.value[0].code
this.dataModel.Nav_Details[this.nowIndex[0]].ENABLE_STATUS_NAME = e.value[0].name
this.nowItem.ENABLE_STATUS = e.value[0].code
this.nowItem.ENABLE_STATUS_NAME = e.value[0].name
}
this.showPopupUnit = false
},
@ -356,9 +379,23 @@
stepReduce() {
this.stepsPageList = this.stepsPageList - 1
},
handleNewMeasures(item) {
item.Nav_DetailMeasures.unshift({
NUM: '',
ID: guid(),
RISK_IDENTIFY_DETAIL_ID: item.ID,
MEASURE: '',
IS_DELETED: false,
})
},
changeArrow(item) {
item.arrow = !item.arrow
this.$forceUpdate()
},
handleNewCheckContent() {
this.dataModel.Nav_Details.push({
showPack: false,
arrow: false,
Nav_ProductionUnit: {
NAME: ''
},
@ -375,16 +412,16 @@
Nav_Type: {
NAME: ''
},
Nav_DetailMeasures:[],
MEASURE: '',
EMERGENCY: '',
ENABLE_STATUS: this.enumsData['SKEnableStatusEnum'][0].code,
ENABLE_STATUS_NAME: this.enumsData['SKEnableStatusEnum'][0].name,
MARK: this.enumsData['SKMarkEnum'].find(item1 => item1.name === '新增').code,
MARK_NAME: this.enumsData['SKMarkEnum'].find(item1 => item1.name === '新增').name,
})
console.log(this.dataModel.Nav_Details)
this.dataModel.Nav_Details = [...this.dataModel.Nav_Details]
this.$forceUpdate()
},
handleNewCheckList() {
//
@ -407,6 +444,7 @@
},
//
handleEnterpriseSelection(selectedItems) {
console.log(selectedItems, '999')
if (!selectedItems || selectedItems.length === 0) return
const newDetails = []
@ -414,7 +452,7 @@
selectedItems.forEach(enterpriseItem => {
//
const isDuplicate = this.dataModel.Nav_Details.some(existingItem =>
const isDuplicate = this.dataModel.Nav_Details.filter(i => !i.IS_DELETED).some(existingItem =>
existingItem.AREA_ID === (enterpriseItem.AREA_ID || '') &&
existingItem.PRODUCTION_UNIT_ID === (enterpriseItem.PRODUCTION_UNIT_ID || '') &&
existingItem.RISK_NAME === (enterpriseItem.RISK_NAME || '')
@ -428,6 +466,11 @@
})
return
}
const convertedMeasures = (enterpriseItem.Nav_Details || [])
.map((item, index) => ({
...item,
MEASURE: item.MEASURES_NAME, //
}))
const convertedItem = {
showPack: false,
@ -444,15 +487,15 @@
Nav_RiskName: enterpriseItem.Nav_RiskName || {
NAME: ''
},
Nav_DetailMeasures: convertedMeasures,
RISK_DESCRIPTION: enterpriseItem.RISK_DESCRIPTION || '',
TYPE_ID: enterpriseItem.TYPE_ID || '',
Nav_Type: enterpriseItem.Nav_Type || {
NAME: ''
},
MEASURE: enterpriseItem.MEASURE || '',
EMERGENCY: enterpriseItem.EMERGENCY || '',
ENABLE_STATUS: this.enumsData['SKEnableStatusEnum'][0].code,
ENABLE_STATUS_NAME: this.enumsData['SKEnableStatusEnum'][0].name,
MARK: this.enumsData['SKMarkEnum'].find(item1 => item1.name === '新增').code,
MARK_NAME: this.enumsData['SKMarkEnum'].find(item1 => item1.name === '新增').name,
ORG_ID: this.ORG_ID
@ -508,11 +551,15 @@
handleDelRowBefore(index) {
this.showDelModalIndex = index
this.nowIndex = index
handleDelRowBefore(item) {
item.IS_DELETED = true
this.$forceUpdate()
},
handleDelRowMeasures(item, item1) {
item1.IS_DELETED = true
this.$forceUpdate()
},
confirmDel() {
this.dataModel.Nav_Details.splice(this.nowIndex, 1)
@ -543,10 +590,11 @@
this.showPopupRecitifyDate = false
},
handleChangeStep(index, name) {
handleChangeStep(item, name) {
this.currentOperateStep = {}
this.showPopupStep = true
this.nowIndex = [index, name]
this.nowItem = item
this.nowName = name
this.handleSearchStep('init')
},
handleClosePopupStep() {
@ -554,7 +602,7 @@
// this.showPopupCertificate = false
},
handleSearchStep(val, pageIndex) {
let requestInfo = this.nowIndex[1] == 'demand' ? GetSKRequestInfo : this.nowIndex[1] == 'Area' ? GetNewRiskAreaInfo : this.nowIndex[1] == 'RiskName' ? GetRiskNameInfo : GetRiskTypeInfo
let requestInfo = this.nowName == 'demand' ? GetSKRequestInfo : this.nowName == 'Area' ? GetNewRiskAreaInfo : this.nowName == 'RiskName' ? GetRiskNameInfo : GetRiskTypeInfo
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "", 0, pageIndex ?? 1)
@ -583,19 +631,19 @@
},
handleSelectedStep(val) {
if (this.nowIndex[1] == 'demand') {
if (this.nowName == 'demand') {
this.dataModel.Nav_Require.NAME = val.NAME
this.dataModel.REQUIRE_ID = val.ID
this.dataModel.RequireName = val.NAME
} else if (this.nowIndex[1] == 'Area') {
this.dataModel.Nav_Details[this.nowIndex[0]].Nav_Area.NAME = val.NAME
this.dataModel.Nav_Details[this.nowIndex[0]].AREA_ID = val.ID
} else if (this.nowIndex[1] == 'RiskName') {
this.dataModel.Nav_Details[this.nowIndex[0]].Nav_RiskName.NAME = val.NAME
this.dataModel.Nav_Details[this.nowIndex[0]].RISK_NAME_ID = val.ID
} else if (this.nowName == 'Area') {
this.nowItem.Nav_Area.NAME = val.NAME
this.nowItem.AREA_ID = val.ID
} else if (this.nowName == 'RiskName') {
this.nowItem.Nav_RiskName.NAME = val.NAME
this.nowItem.RISK_NAME_ID = val.ID
} else {
this.dataModel.Nav_Details[this.nowIndex[0]].Nav_Type.NAME = val.NAME
this.dataModel.Nav_Details[this.nowIndex[0]].TYPE_ID = val.ID
this.nowItem.Nav_Type.NAME = val.NAME
this.nowItem.TYPE_ID = val.ID
}
this.showPopupStep = false
@ -603,7 +651,7 @@
submit() {
let i = 1
for (let item of this.dataModel.Nav_Details) {
for (let item of this.dataModel.Nav_Details.filter(i => !i.IS_DELETED)) {
if (!item.PRODUCTION_UNIT_ID) {
uni.showToast({
title: '顺序' + i + '生产单元不能为空',
@ -611,7 +659,7 @@
})
return
}
if (!item.Nav_Area.NAME) {
if (!item.Nav_Area || !item.Nav_Area.NAME) {
uni.showToast({
title: '顺序' + i + '辨识区域不能为空',
icon: 'none'
@ -639,7 +687,7 @@
})
return
}
if (!item.Nav_Type.NAME) {
if (!item.Nav_Type || !item.Nav_Type.NAME) {
uni.showToast({
title: '顺序' + i + '风险类别不能为空',
icon: 'none'
@ -649,40 +697,20 @@
i++
}
// this.model = this.dataModel
this.model =JSON.parse(JSON.stringify(this.dataModel))
this.model.ORG_ID = this.ORG_ID
let arr = []
this.dataModel.Nav_Details.map(item => {
arr.push({
PRODUCTION_UNIT_ID: item.PRODUCTION_UNIT_ID,
AREA_ID: item.AREA_ID,
RISK_NAME: item.RISK_NAME,
RISK_NAME_ID: item.RISK_NAME_ID,
RISK_DESCRIPTION: item.RISK_DESCRIPTION,
TYPE_ID: item.TYPE_ID,
MEASURE: item.MEASURE,
EMERGENCY: item.EMERGENCY,
ENABLE_STATUS: item.ENABLE_STATUS,
MARK: item.MARK,
})
})
this.model = {
ORG_ID: this.ORG_ID,
YEAR: this.dataModel.YEAR,
START_DATE: this.dataModel.START_DATE,
END_DATE: this.dataModel.END_DATE,
CONTENTS: this.dataModel.CONTENTS,
REQUIRE_ID: this.dataModel.REQUIRE_ID,
RequireName: this.dataModel.RequireName,
IDENTIFY_EVALUATION_PLAN_ID: this.dataModel.IDENTIFY_EVALUATION_PLAN_ID,
Nav_Files: this.dataModel.Nav_Files,
Nav_Details: arr
}
this.model.ID = this.ID
this.model.TaskID = this.TaskID
this.model.PUBLISH = "SaveAndNotify";
delete this.model.Nav_ApplyDepartment
delete this.model.Nav_ApplyUser
this.model.Nav_Details.map(item => {
delete item.Nav_ProductionUnit
delete item.Nav_Type
})
SKRiskIdentifyFullUpdate(this.model).then(res => {
if (res) {
uni.$showMsgFunc('操作成功!', () => {

View File

@ -28,13 +28,9 @@
<!-- <u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon> -->
</u-form-item>
<u-form-item label="辨识要求:" @click="handleChangeStep('','demand')">
<u--input v-model="dataModel.Nav_Require.NAME" placeholder="请选择辨识要求" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
<u-form-item label="辨识要求:">
</u-form-item>
<u--textarea v-model="dataModel.RequireName" disabled autoHeight></u--textarea>
<u--textarea v-model="dataModel.Nav_RequiresName" disabled autoHeight></u--textarea>
<view class="upload-title">附件</view>
<full-upload v-model="dataModel.Nav_Files" :isShowBtn='true' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
@ -53,22 +49,22 @@
</view>
<view style="font-size: 15px; font-weight: bold;color: #3d4b70;margin-bottom: 10px;margin-top: 20px;">辨识内容</view>
<view v-for="(item,index) in dataModel.Nav_Details" :key="index" style="border-bottom: #ceccca 1px solid;margin-bottom: 10px;padding-bottom: 10px;">
<view v-for="(item,index) in dataModel.Nav_Details.filter(i => !i.IS_DELETED)" :key="index" style="border-bottom: #ceccca 1px solid;margin-bottom: 10px;padding-bottom: 10px;">
<u-form-item prop="Nav_Contents">
<view style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;flex: 1;">
<view @click="handleChangeStep(index,'Area')" style="flex: 1;">
<view style="flex: 1;" @click="handleShowSheet({title: '辨识区域', name: 'Nav_Area',itemData:item})">
{{index+1+'.辨识区域:'+item.Nav_Area.NAME}}
</view>
<view class="action" style="display: flex;flex-direction: row;align-items: center;justify-content: space-around;">
<u-icon @click="handleDelRowBefore(index)" name="trash" color="#ff4d4f" size="21" style="margin-right: 20px;"></u-icon>
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(index)"></u-icon>
<u-icon @click="handleDelRowBefore(item)" name="trash" color="#ff4d4f" size="21" style="margin-right: 20px;"></u-icon>
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(item)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(item)"></u-icon>
</view>
</view>
</u-form-item>
<view v-if="item.showPack==true">
<u-form-item label="生产单元:" @click="handleChangeUnit(index,'MinType')" border-bottom>
<u-form-item label="生产单元:" @click="handleChangeUnit(item,'MinType')" border-bottom>
<u--input v-model="(item.Nav_ProductionUnit||{}).NAME" disabled disabledColor="#ffffff" placeholder="请选择生产单元" border="none" inputAlign="right" fontSize="14px">
</u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
@ -78,64 +74,94 @@
<u--input v-model="item.RISK_NAME" placeholder="请填写风险名称" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<!-- <u-form-item label="风险名称" prop="CHECKSTANDARD" @click="handleChangeStep(index,'RiskName')" border-bottom>
<u--input v-model="item.Nav_RiskName.NAME" placeholder="请填写风险名称" suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabledColor="#ffffff" inputAlign="right" fontSize="14px"
border="none">
</u--input>
</u-form-item> -->
<u-form-item label="风险描述" prop="HIDDEN_DESCRIPTION">
</u-form-item>
<u--textarea v-model="item.RISK_DESCRIPTION" placeholder="请填写风险描述" autoHeight maxlength="-1"></u--textarea>
<u-form-item label="风险类别" prop="HIDDEN_LEVEL" @click="handleChangeStep(index,'Category')" border-bottom>
<u--textarea v-model="item.RISK_DESCRIPTION" placeholder="请填写风险描述" autoHeight maxlength="-1"></u--textarea>
<u-form-item label="风险类别" prop="HIDDEN_LEVEL" @click="handleShowSheet({title: '风险类别', name: 'Nav_Type',itemData:item})" border-bottom>
<u--input v-model="item.Nav_Type.NAME" placeholder="请选择风险类别" disabled suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabledColor="#ffffff" inputAlign="right" fontSize="14px"
border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识层级" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.DEPARTMENT_TYPE" placeholder="请填写辨识层级" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识部门" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.IDENTIFY_DEPARTMENT" placeholder="请填写辨识部门" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识岗位" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.IDENTIFY_POST" placeholder="请填写辨识岗位" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="管控措施" prop="HIDDEN_PLACE" >
<!-- <u--input v-model="item.MEASURE" placeholder="请填写管控措施" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input> -->
</u-form-item>
<u--textarea v-model="item.MEASURE" placeholder="请填写管控措施" autoHeight maxlength="-1"></u--textarea>
<uni-collapse class="collapse" ref="collapse">
<uni-collapse-item title="管控措施" name="Variety components">
<u-button type="primary" @click="handleNewMeasures(item)" color="#3d4b70">新增管控措施</u-button>
<view v-if="item.Nav_DetailMeasures&&item.Nav_DetailMeasures.length!==0">
<view v-for="item1 in item.Nav_DetailMeasures.filter(i => !i.IS_DELETED)" style="margin: 5px 5px;padding: 0px 10px;">
<u-form-item label="序号" prop="HIDDEN_DESCRIPTION" border-bottom>
<view slot="right" style="display: flex;flex-direction: row;align-items: center;">
<u-number-box v-model="item1.NUM" integer></u-number-box>
<u-icon @click="handleDelRowMeasures(item,item1)" name="trash" color="#ff4d4f" size="21" style="margin-right: 20px;margin-left: 20px;"></u-icon>
</view>
</u-form-item>
<u-form-item label="措施" prop="HIDDEN_DESCRIPTION">
</u-form-item>
<u--textarea v-model="item1.MEASURE" placeholder="请填写管控措施" autoHeight></u--textarea>
</view>
</view>
</uni-collapse-item>
<uni-collapse-item title="辨识岗位" name="Docs guide">
<u-button type="primary" @click="handleNewPost(item)" color="#3d4b70">新增辨识岗位</u-button>
<view v-if="item.Nav_DetailPosts&&item.Nav_DetailPosts.length>0">
<view v-for="(item1,index1) in item.Nav_DetailPosts.filter(i => !i.IS_DELETED)" style="padding: 10px;">
<u-form-item :label="(index1+1)+' . '" prop="HIDDEN_PLACE" border-bottom>
<!-- <u--input v-model="index1+1" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input> -->
<u-icon @click="handleDelRowPost(item,item1)" name="trash" color="#ff4d4f" size="21" style="margin-right: 20px;margin-left: 20px;" slot="right"></u-icon>
</u-form-item>
<u-form-item label="辨识层级" prop="HIDDEN_PLACE" border-bottom @click="handleChangeUnit(item1,'SKDepartmentTypeEnum')">
<u--input v-model="item1.DEPARTMENT_TYPE_NAME" disabled placeholder="请选择辨识层级" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</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="HIDDEN_PLACE" border-bottom @click="handleShowSheet({title: '辨识部门', name: 'Nav_Department',itemData:item1})">
<u--input v-model="(item1.Nav_Department||{}).NAME" disabled placeholder="请选择辨识部门" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</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="HIDDEN_PLACE" border-bottom @click="handleShowSheet({title: '辨识岗位', name: 'Nav_ResultPostDets',itemData:item1})">
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item>
<u-textarea v-model="item1.Nav_ResultPostDetsName" disabled autoHeight placeholder="请选择辨识岗位"></u-textarea>
</view>
</view>
</uni-collapse-item>
</uni-collapse>
<u-form-item label="应急处置" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u--textarea v-model="item.EMERGENCY" placeholder="请填写应急处置" autoHeight maxlength="-1"></u--textarea>
<u-form-item label="是否有效" prop="HIDDEN_PLACE" @click="handleChangeUnit(index,'ENABLE_STATUS')" border-bottom>
<u--input v-model="item.ENABLE_STATUS" placeholder="请选择是否有效" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u--textarea v-model="item.EMERGENCY" placeholder="请填写应急处置" autoHeight maxlength="-1"></u--textarea>
<u-form-item label="新增标识" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.MARK_NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-form-item>
<u-form-item label="操作" prop="HIDDEN_PLACE">
<u-icon style="margin-left: 4px;" slot="right" name="eye" size="16" @click="showDetail(item.ID)">
</u-icon>
</u-form-item>
<!-- <u-form-item label="新增标识" prop="HIDDEN_PLACE" @click="handleChangeUnit(index,'MARK')">
<u--input v-model="item.MARK" placeholder="请选择新增标识" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon>
</u-form-item> -->
</view>
</view>
<u-button text="新增检查区域" type="primary" @click="handleNewCheckContent"></u-button>
<view style="padding: 10px 16px;display: flex;flex-direction: row;">
<u-button type="primary" @click="handleNewCheckContent" color="#3d4b70">新增辨识区域</u-button>
<u-button type="primary" @click="handleNewCheckList" color="#3d4b70" style="margin-left: 5px;">导入企业库内容</u-button>
</view>
</u--form>
</view>
<view style="padding: 10px 16px;display: flex;flex-direction: row;" v-if="stepsPageList === 1" class="bottom-button">
<u-button type="primary" @click="stepReduce" color="#3d4b70" :plain="true" style="margin-right: 5px;">上一步</u-button>
<u-button type="primary" @click="submit" color="#3d4b70" style="margin-left: 5px;">提交</u-button>
</view>
<u-picker :show="showPopupUnit" :columns="UnitLists" @confirm="confirmUnit" @cancel="cancelUnit" :defaultIndex="UnitDefaultIndex"></u-picker>
<u-picker :show="showPopupUnit" :columns="UnitLists" @confirm="confirmUnit" @cancel="cancelUnit" :defaultIndex="UnitDefaultIndex" keyName="NAME"></u-picker>
<u-modal :show="showDelModalIndex >= 0" @confirm="confirmDel" @cancel="cacelDel" :showCancelButton="true" title="确认删除?"></u-modal>
<u-datetime-picker :show="showPopupRecitifyDate" v-model="dateRecitifyTime" mode="date" @confirm="confirmRecitifyDate" @cancel="cancelRecitifyDate"></u-datetime-picker>
<query-selector :show="showPopupStep" :total="curTotalStep" :lists="stepLists" :defaultValue="currentOperateStep.NAME" @close="handleClosePopupStep" @search="handleSearchStep" @select="handleSelectedStep" />
<query-selector :multiple="selectorInfo.isMultiple" :show="selectorInfo.showPopup" :title="selectorInfo.title" :lists="selectorInfo.dataLists" :defaultChecked="selectorInfo.defaultChecked"
@search="handleSearch" @select="handleSelected" @close="selectorInfo.showPopup=false" :total="selectorInfo.totalCount" />
</view>
</view>
</template>
@ -151,7 +177,8 @@
guid,
initFilter,
initFilterGroup,
handleOriginalArray
handleOriginalArray,
transformData
} from '../../../../utils/common'
import {
FMProductionUnit,
@ -162,12 +189,18 @@
MineTypeIndex,
MineTypeName
} from '../../../../utils/enums.js'
import {
getEnum,
GetEnumAnyOrder
} from '../../../../services/common';
import {
EvaIdentifyResGet,
IdentifyResFullUpdate,
getUserLists,
GetSKRequestInfo,
GetRiskAreaInfo,
GetDepartmentInfo,
GetPostOrderPaged,
GetRiskTypeInfo,
GetRiskNameInfo
} from '../../../../services/apply/subPages/SK/SKServices.js'
@ -196,6 +229,19 @@
stepLoad: true,
UnitLists: [],
UnitDefaultIndex: [0],
selectorInfo: {
name: 'user',
isMultiple: false,
showPopup: false,
totalCount: 0,
title: '考核结果选择',
dataItem: {},
index: 0,
columns: [],
dataLists: [],
defaultText: '',
defaultChecked: []
},
dataModel: {
YEAR: '',
START_DATE: '',
@ -204,8 +250,8 @@
NAME: ''
},
RequireName: '',
IDENTIFY_EVALUATION_PLAN_ID:null,
IDENTIFY_ID:null,
IDENTIFY_EVALUATION_PLAN_ID: null,
IDENTIFY_ID: null,
Nav_Files: [],
Nav_Details: [{
showPack: false,
@ -214,19 +260,15 @@
NAME: ''
},
RISK_NAME: '',
Nav_RiskName: {
NAME: ''
},
RISK_DESCRIPTION: '',
Nav_Type: {
NAME: ''
},
DEPARTMENT_TYPE:'',
IDENTIFY_DEPARTMENT:'',
IDENTIFY_POST:'',
DEPARTMENT_TYPE: '',
IDENTIFY_DEPARTMENT: '',
IDENTIFY_POST: '',
MEASURE: '',
EMERGENCY: '',
ENABLE_STATUS: '',
MARK: '',
}]
},
@ -239,8 +281,8 @@
NAME: ''
},
RequireName: '',
IDENTIFY_EVALUATION_PLAN_ID:null,
IDENTIFY_ID:null,
IDENTIFY_EVALUATION_PLAN_ID: null,
IDENTIFY_ID: null,
Nav_Files: [],
Nav_Details: [{
MineType: '',
@ -248,19 +290,15 @@
NAME: ''
},
RISK_NAME: '',
Nav_RiskName: {
NAME: ''
},
RISK_DESCRIPTION: '',
Nav_Type: {
NAME: ''
},
DEPARTMENT_TYPE:'',
IDENTIFY_DEPARTMENT:'',
IDENTIFY_POST:'',
DEPARTMENT_TYPE: '',
IDENTIFY_DEPARTMENT: '',
IDENTIFY_POST: '',
MEASURE: '',
EMERGENCY: '',
ENABLE_STATUS: '',
}]
},
@ -270,22 +308,39 @@
stepsPageList: 0,
TaskID: '',
nowName: '',
nowItem: '',
nowIndex: 0,
enumsData: {}, //
enumsText: {} //
}
},
onLoad(option) {
this.TaskID = option.taskID ? option.taskID : '';
this.ID = option.ID ? option.ID : '';
this.loadData()
this.fetchEnums(['SKMarkEnum', 'SKEnableStatusEnum', 'SKDepartmentTypeEnum']);
},
methods: {
fetchEnums(enumNames) {
var dataParm = {
'name': enumNames.join('|')
}
GetEnumAnyOrder(dataParm).then(res => {
let newd = transformData(res, enumNames)
this.enumsData = newd[0];
//
this.enumsText = newd[1]
this.loadData();
})
},
loadData() {
// const json = {}
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "")
extendRule(json, 'ID', 1, this.ID);
extendInclude(json, 'Nav_Require');
extendInclude(json, 'Nav_Requires');
extendInclude(json, 'Nav_Requires.Nav_Require');
extendInclude(json, 'Nav_Files.Nav_ImgFile');
extendInclude(json, 'Nav_Details');
extendInclude(json, 'Nav_Details.Nav_Area');
@ -300,86 +355,278 @@
this.stepsPage = res.STATUS == 0 ? 0 : res.STATUS == 20 ? 1 : 2
this.dataModel.START_DATE = uni.$u.timeFormat(res.START_DATE, 'yyyy-mm-dd')
this.dataModel.END_DATE = uni.$u.timeFormat(res.END_DATE, 'yyyy-mm-dd')
this.dataModel.RequireName = res.Nav_Require ? res.Nav_Require.NAME : {
NAME: ''
},
this.dataModel.Nav_Require = res.Nav_Require ? res.Nav_Require : {
NAME: ''
},
let Nav_RequiresName = ''
if (this.dataModel.Nav_Requires && this.dataModel.Nav_Requires.length > 0) {
this.dataModel.Nav_Requires.map(item => {
if (item.Nav_Require && item.Nav_Require.NAME !== null) {
Nav_RequiresName += item.Nav_Require.NAME + ' ';
}
})
}
this.dataModel.Nav_RequiresName = Nav_RequiresName
this.dataModel.Nav_Details.map(item => {
item['showPack'] = false
item.ENABLE_STATUS = item.ENABLE_STATUS == 0 ? '有效' : '无效'
item.MARK = item.MARK == 0 ? '自动带出' : item.MARK == 10 ? '新增' : '修改'
item.Nav_RiskName = item.Nav_RiskName? item.Nav_RiskName: {
NAME: ''}
item.MARK_NAME = item.MARK !== undefined ? this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK).name : '';
if (item.Nav_DetailPosts && item.Nav_DetailPosts.length > 0) {
item.Nav_DetailPosts.map(item1 => {
item1.DEPARTMENT_TYPE_NAME = item1.DEPARTMENT_TYPE !== undefined ? this.enumsData['SKDepartmentTypeEnum'].find(item2 => item2.code === item1.DEPARTMENT_TYPE).name :
'';
if (item1.Nav_ResultPostDets && item1.Nav_ResultPostDets.length > 0) {
let Nav_ResultPostDetsName = ''
if (item1.Nav_ResultPostDets && item1.Nav_ResultPostDets.length > 0) {
item1.Nav_ResultPostDets.map(item2 => {
if (item2.Nav_Post && item2.Nav_Post.NAME !== null) {
Nav_ResultPostDetsName += item2.Nav_Post.NAME + ' ';
}
})
}
item1.Nav_ResultPostDetsName = Nav_ResultPostDetsName
}
})
}
})
this.stepLoad = false
})
},
handlePack(index) {
this.dataModel.Nav_Details[index].showPack = this.dataModel.Nav_Details[index].showPack == false ? true : false
this.dataModel.Nav_Details = [...this.dataModel.Nav_Details]
handleDelRowMeasures(item, item1) {
item1.IS_DELETED = true
this.$forceUpdate()
},
handleDelRowPost(item, item1) {
item1.IS_DELETED = true
this.$forceUpdate()
},
handleNewMeasures(item) {
item.Nav_DetailMeasures.unshift({
NUM: 1,
ID: guid(),
RISK_IDENTIFY_DETAIL_ID: item.ID,
MEASURE: '',
IS_DELETED: false,
})
},
handleNewPost(item) {
item.Nav_DetailPosts.unshift({
DEPARTMENT_TYPE: '',
ID: guid(),
RISK_IDENTIFY_DETAIL_ID: item.ID,
Nav_Department: {
NAME: ''
},
DEPARTMENT_ID: '',
Nav_ResultPostDets: [],
IS_DELETED: false,
})
},
showDetail(id) {
uni.navigateTo({
url: 'SK003Show?ID=' + id + '&taskID=' + this.TaskID
})
},
handlePack(item) {
item.showPack = item.showPack == false ? true : false
this.$forceUpdate()
},
cancelUnit() {
this.showPopupUnit = false
},
handleChangeUnit(index, name) {
this.nowIndex = [index, name]
handleChangeUnit(item, name) {
this.nowName = name
this.nowItem = item
if (name == 'MinType') {
const json = initFilter(this.ORG_ID)
getRequest(json, "/FM/UserProductionUnitSet/OrderPaged").then(res => {
this.UnitLists = [res]
})
} else if (this.nowIndex[1] == 'ENABLE_STATUS') {
this.UnitLists = [SKEffective]
} else {
this.UnitLists = [SKMarkEnum]
this.UnitLists = [this.enumsData[name]]
}
this.showPopupUnit = true
},
confirmUnit(e) {
if (this.nowIndex[1] == 'MinType') {
this.dataModel.Nav_Details[this.nowIndex[0]].Nav_ProductionUnit = e.value[0]
this.dataModel.Nav_Details[this.nowIndex[0]].PRODUCTION_UNIT_ID = e.value[0].ID
} else if (this.nowIndex[1] == 'ENABLE_STATUS') {
this.dataModel.Nav_Details[this.nowIndex[0]].ENABLE_STATUS = e.value[0]
console.log(e, '999')
if (this.nowName == 'MinType') {
this.nowItem.Nav_ProductionUnit = e.value[0]
this.nowItem.PRODUCTION_UNIT_ID = e.value[0].ID
} else {
this.dataModel.Nav_Details[this.nowIndex[0]].MARK = e.value[0]
this.nowItem.DEPARTMENT_TYPE = e.value[0].code
this.nowItem.DEPARTMENT_TYPE_NAME = e.value[0].name
}
this.showPopupUnit = false
},
async handleShowSheet(p) {
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "", 0, p.pageIndex ?? 1)
let dataSelect = []
// this.selectorInfo.defaultChecked = []
var defaultChecked = []
this.selectorInfo.isMultiple = false
if (p.val) {
extendRule(json, 'NAME', 9, p.val);
}
json.Limit = 20
if (p.pageIndex) {
json.Start = (p.pageIndex - 1) * json.Limit;
}
json.Sort = "NAME"
if (p.name == "Nav_Area") {
dataSelect = await GetRiskAreaInfo(json).then(res => {
console.log(res, '99')
this.selectorInfo.totalCount = res.TotalCount
if (res.Data != 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_Type") {
dataSelect = await GetRiskTypeInfo(json).then(res => {
if (res.Data != 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_Department") {
dataSelect = await GetDepartmentInfo(json).then(res => {
if (res.Data != 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_ResultPostDets") {
this.selectorInfo.isMultiple = true
if (p.itemData.DEPARTMENT_ID) {
extendRule(json, 'DEPARTMENT_ID', 1, p.itemData.DEPARTMENT_ID);
}
json.SelectField = ["ID", "NAME", "NAME"]
dataSelect = await GetPostOrderPaged(json).then(res => {
if (res.Data != undefined && res.Data.length > 0) {
for (let i = 0; i < res.length; i++) {
res[i].name = res.Data[i].NAME
res[i].code = res.Data[i].CODE
}
}
return res.Data
})
if (p.itemData.Nav_ResultPostDets && p.itemData.Nav_ResultPostDets.length > 0) {
// this.selectorInfo.defaultChecked = []
p.itemData.Nav_ResultPostDets.filter(i => !i.IS_DELETED).forEach(e => {
if (e.Nav_Post != null && e.Nav_Post.NAME != null)
defaultChecked.push(e.Nav_Post)
})
} else {
defaultChecked = null
}
}
if (defaultChecked == null)
defaultChecked = []
if (dataSelect.length) {
this.selectorInfo = {
itemData: p.itemData != undefined ? p.itemData : this.selectorInfo
.itemData, //itemData: p.itemData, p.itemData this.selectorInfo.itemData
isMultiple: this.selectorInfo.isMultiple,
totalCount: this.selectorInfo.totalCount,
showPopup: true,
title: p.title,
name: p.name,
dataLists: dataSelect,
defaultChecked: defaultChecked
}
} else {
//
}
},
//
handleSearch(val, pageIndex) {
var p = {
name: this.selectorInfo.name,
title: this.selectorInfo.title,
val: val,
pageIndex: pageIndex,
index: this.selectorInfo.index
}
this.handleShowSheet(p)
},
handleSelected(e) {
this.selectorInfo.showPopup = false
console.log(e, '999')
if (this.selectorInfo.name == 'Nav_Area') {
this.selectorInfo.itemData.Nav_Area = e
this.selectorInfo.itemData.AREA_ID = e.ID
} else if (this.selectorInfo.name == 'Nav_Type') {
this.selectorInfo.itemData.Nav_Type = e
this.selectorInfo.itemData.TYPE_ID = e.ID
} else if (this.selectorInfo.name == 'Nav_Department') {
this.selectorInfo.itemData.Nav_Department = e
this.selectorInfo.itemData.DEPARTMENT_ID = e.ID
} else if (this.selectorInfo.name == 'Nav_ResultPostDets') {
let listArea = []
let areaShow = ''
if (e.length > 0) {
e.forEach((item, i) => {
if (item.name != null || item.NAME != null) {
if (i > 0) {
areaShow += ' '
}
listArea.push({
ID: guid(),
RISK_IDENTIFY_DETAIL_RESULT_POST_ID: this.selectorInfo.itemData.ID,
POST_ID: item.ID,
ORG_ID: item.ORG_ID,
Nav_Post: item
})
areaShow += item.NAME
}
})
}
this.selectorInfo.itemData.Nav_ResultPostDets = listArea
this.selectorInfo.itemData.Nav_ResultPostDetsName = areaShow
}
},
stepAdd() {
if(!this.dataModel.YEAR){
if (!this.dataModel.YEAR) {
uni.showToast({
title: '年度不能为空',
icon: 'none'
})
return
}
if(!this.dataModel.START_DATE){
if (!this.dataModel.START_DATE) {
uni.showToast({
title: '辨识开始时间不能为空',
icon: 'none'
})
return
}
if(!this.dataModel.END_DATE){
if (!this.dataModel.END_DATE) {
uni.showToast({
title: '辨识结束时间不能为空',
icon: 'none'
})
return
}
if(!this.dataModel.Nav_Require.NAME){
if (!this.dataModel.Nav_Require.NAME) {
uni.showToast({
title: '辨识要求不能为空',
icon: 'none'
})
return
}
this.stepsPageList = this.stepsPageList + 1
},
stepReduce() {
@ -388,35 +635,161 @@
handleNewCheckContent() {
this.dataModel.Nav_Details.push({
showPack: false,
Nav_ProductionUnit:{
NAME: ''
Nav_ProductionUnit: {
NAME: ''
},
PRODUCTION_UNIT_ID:'',
PRODUCTION_UNIT_ID: '',
Nav_Area: {
NAME: ''
},
ORG_ID: this.ORG_ID,
RISK_NAME: '',
Nav_RiskName:{
NAME: ''
},
RISK_DESCRIPTION: '',
Nav_Type: {
NAME: ''
},
DEPARTMENT_TYPE:'',
IDENTIFY_DEPARTMENT:'',
IDENTIFY_POST:'',
DEPARTMENT_TYPE: '',
IDENTIFY_DEPARTMENT: '',
IDENTIFY_POST: '',
MEASURE: '',
EMERGENCY: '',
ENABLE_STATUS: '有效',
Nav_DetailMeasures: [],
Nav_DetailPosts: [],
MARK: this.enumsData['SKMarkEnum'].find(item1 => item1.name === '新增').code,
MARK_NAME: this.enumsData['SKMarkEnum'].find(item1 => item1.name === '新增').name,
ID: guid()
})
this.dataModel.Nav_Details = [...this.dataModel.Nav_Details]
},
handleDelRowBefore(index) {
this.showDelModalIndex = index
this.nowIndex = index
handleNewCheckList() {
//
const existingData = this.dataModel.Nav_Details.map(item => ({
PRODUCTION_UNIT_ID: item.PRODUCTION_UNIT_ID,
AREA_ID: item.AREA_ID,
RISK_NAME: item.RISK_NAME
}))
uni.navigateTo({
url: `/pages/apply/subPages/SK/enterprise/enterpriseLibarary?existingData=${encodeURIComponent(JSON.stringify(existingData))}`,
events: {
//
confirm: (data) => {
this.handleEnterpriseSelection(data.selectedItems)
}
}
})
},
//
handleEnterpriseSelection(selectedItems) {
if (!selectedItems || selectedItems.length === 0) return
const newDetails = []
const duplicateItems = []
selectedItems.forEach(enterpriseItem => {
//
const isDuplicate = this.dataModel.Nav_Details.filter(i => !i.IS_DELETED).some(existingItem =>
existingItem.AREA_ID === (enterpriseItem.AREA_ID || '') &&
existingItem.PRODUCTION_UNIT_ID === (enterpriseItem.PRODUCTION_UNIT_ID || '') &&
existingItem.RISK_NAME === (enterpriseItem.RISK_NAME || '')
)
if (isDuplicate) {
duplicateItems.push({
生产单元: enterpriseItem.Nav_ProductionUnit?.NAME || '',
辨识区域: enterpriseItem.Nav_Area?.NAME || '',
风险名称: enterpriseItem.RISK_NAME || ''
})
return
}
const convertedMeasures = (enterpriseItem.Nav_Details || [])
.map((item, index) => ({
...item,
MEASURE: item.MEASURES_NAME, //
}))
const convertedItem = {
showPack: false,
PRODUCTION_UNIT_ID: enterpriseItem.PRODUCTION_UNIT_ID || '',
Nav_ProductionUnit: enterpriseItem.Nav_ProductionUnit || {
NAME: ''
},
AREA_ID: enterpriseItem.AREA_ID || '',
Nav_Area: enterpriseItem.Nav_Area || {
NAME: ''
},
RISK_NAME: enterpriseItem.RISK_NAME || '',
Nav_DetailMeasures: convertedMeasures,
Nav_DetailPosts: [],
RISK_DESCRIPTION: enterpriseItem.RISK_DESCRIPTION || '',
TYPE_ID: enterpriseItem.TYPE_ID || '',
Nav_Type: enterpriseItem.Nav_Type || {
NAME: ''
},
MEASURE: enterpriseItem.MEASURE || '',
EMERGENCY: enterpriseItem.EMERGENCY || '',
MARK: this.enumsData['SKMarkEnum'].find(item1 => item1.name === '新增').code,
MARK_NAME: this.enumsData['SKMarkEnum'].find(item1 => item1.name === '新增').name,
ORG_ID: this.ORG_ID,
ID: guid()
}
newDetails.push(convertedItem)
})
//
if (duplicateItems.length > 0) {
const duplicateCount = duplicateItems.length
let message = ''
if (duplicateCount === 1) {
const dup = duplicateItems[0]
message = `以下数据已存在,无法重复导入:\n生产单元${dup.生产单元}\n辨识区域${dup.辨识区域}\n风险名称${dup.风险名称}`
} else {
message = `${duplicateCount} 条数据已存在,无法重复导入:\n`
duplicateItems.slice(0, 3).forEach((dup, i) => {
message += `${i+1}. ${dup.生产单元} / ${dup.辨识区域} / ${dup.风险名称}\n`
})
if (duplicateCount > 3) {
message += `...等共 ${duplicateCount}`
}
}
setTimeout(() => {
uni.showModal({
title: '重复数据提示',
content: message,
showCancel: false,
confirmText: '知道了'
})
}, 100) // 100
}
if (newDetails.length > 0) {
this.dataModel.Nav_Details.push(...newDetails)
setTimeout(() => {
uni.showToast({
title: `成功导入 ${newDetails.length} 条数据${duplicateItems.length > 0 ? `,跳过 ${duplicateItems.length} 条重复数据` : ''}`,
icon: 'success',
duration: 2000
})
}, 100)
} else if (duplicateItems.length > 0) {
setTimeout(() => {
uni.showToast({
title: `所选数据均重复,未导入任何内容`,
icon: 'none',
duration: 2000
})
}, 100)
}
},
handleDelRowBefore(item) {
item.IS_DELETED = true
this.$forceUpdate()
},
@ -449,10 +822,11 @@
this.showPopupRecitifyDate = false
},
handleChangeStep(index, name) {
handleChangeStep(item, name) {
this.currentOperateStep = {}
this.showPopupStep = true
this.nowIndex = [index, name]
this.nowName = name
this.nowItem = item
this.handleSearchStep('init')
},
handleClosePopupStep() {
@ -460,9 +834,10 @@
// this.showPopupCertificate = false
},
handleSearchStep(val, pageIndex) {
let requestInfo = this.nowIndex[1] == 'demand' ? GetSKRequestInfo : this.nowIndex[1] == 'Area' ? GetRiskAreaInfo : this.nowIndex[1] == 'RiskName' ? GetRiskNameInfo:GetRiskTypeInfo
let requestInfo = this.nowName == 'Area' ? GetRiskAreaInfo : this.nowName == 'RiskName' ? GetRiskNameInfo : this.nowName == 'Category' ? GetRiskTypeInfo : this.nowName == 'Nav_ResultPostDets' ?
GetPostOrderPaged : GetDepartmentInfo
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "",0, pageIndex ?? 1)
const json = initFilter(orgId, "", "", 0, pageIndex ?? 1)
json.Limit = 20
if (pageIndex) {
json.Start = (pageIndex - 1) * json.Limit;
@ -472,7 +847,7 @@
extendGroupRule(tempGroup, 'NAME', 9, val)
extendFilterGroup(json, tempGroup);
}
requestInfo(json).then(res => {
// if (res.IsSuccessful) {
this.stepLists = (res.Data || res).map(i => {
@ -489,18 +864,17 @@
},
handleSelectedStep(val) {
if (this.nowIndex[1] == 'demand') {
if (this.nowName == 'demand') {
this.dataModel.Nav_Require.NAME = val.NAME
this.dataModel.REQUIRE_ID = val.ID
this.dataModel.RequireName = val.NAME
} else if (this.nowIndex[1] == 'Area') {
} else if (this.nowName == 'Area') {
this.dataModel.Nav_Details[this.nowIndex[0]].Nav_Area.NAME = val.NAME
this.dataModel.Nav_Details[this.nowIndex[0]].AREA_ID = val.ID
} else if (this.nowIndex[1] == 'RiskName') {
} else if (this.nowName == 'RiskName') {
this.dataModel.Nav_Details[this.nowIndex[0]].Nav_RiskName.NAME = val.NAME
this.dataModel.Nav_Details[this.nowIndex[0]].RISK_NAME_ID = val.ID
}
else {
} else {
this.dataModel.Nav_Details[this.nowIndex[0]].Nav_Type.NAME = val.NAME
this.dataModel.Nav_Details[this.nowIndex[0]].TYPE_ID = val.ID
}
@ -509,25 +883,25 @@
},
submit() {
let i=1
for (let item of this.dataModel.Nav_Details) {
let i = 1
for (let item of this.dataModel.Nav_Details.filter(i => !i.IS_DELETED)) {
if (!item.PRODUCTION_UNIT_ID) {
uni.showToast({
title: '顺序'+i+'生产单元不能为空',
title: '顺序' + i + '生产单元不能为空',
icon: 'none'
})
return
}
if (!item.Nav_Area.NAME) {
uni.showToast({
title: '顺序'+i+'辨识区域不能为空',
title: '顺序' + i + '辨识区域不能为空',
icon: 'none'
})
return
}
if (!item.RISK_NAME) {
uni.showToast({
title: '顺序'+i+'风险名称不能为空',
title: '顺序' + i + '风险名称不能为空',
icon: 'none'
})
return
@ -541,14 +915,14 @@
// }
if (!item.RISK_DESCRIPTION) {
uni.showToast({
title: '顺序'+i+'风险描述不能为空',
title: '顺序' + i + '风险描述不能为空',
icon: 'none'
})
return
}
if (!item.Nav_Type.NAME) {
uni.showToast({
title: '顺序'+i+'风险类别不能为空',
title: '顺序' + i + '风险类别不能为空',
icon: 'none'
})
return
@ -556,39 +930,47 @@
i++
}
// this.model = this.dataModel
this.model =JSON.parse(JSON.stringify(this.dataModel))
this.model.ORG_ID = this.ORG_ID
let arr = []
delete this.model.Nav_ApplyDepartment
delete this.model.Nav_ApplyUser
delete this.model.Nav_Require
delete this.model.Nav_RequiresName
this.dataModel.Nav_Details.map(item => {
arr.push({
PRODUCTION_UNIT_ID: item.PRODUCTION_UNIT_ID,
AREA_ID: item.AREA_ID,
RISK_NAME: item.RISK_NAME,
RISK_NAME_ID: item.RISK_NAME_ID,
RISK_DESCRIPTION: item.RISK_DESCRIPTION,
TYPE_ID: item.TYPE_ID,
DEPARTMENT_TYPE:item.DEPARTMENT_TYPE,
IDENTIFY_DEPARTMENT:item.IDENTIFY_DEPARTMENT,
IDENTIFY_POST:item.IDENTIFY_POST,
MEASURE: item.MEASURE,
EMERGENCY: item.EMERGENCY,
ENABLE_STATUS: !item.ENABLE_STATUS ? 0 : item.ENABLE_STATUS == '有效' ? 0 : 10,
})
// let arr = []
this.model.Nav_Details.map(item => {
delete item.Nav_Area
delete item.Nav_ProductionUnit
delete item.Nav_Type
delete item.MARK_NAME
delete item.showPack
if (item.Nav_DetailPosts && item.Nav_DetailPosts.length > 0) {
item.Nav_DetailPosts.map(item1 => {
delete item1.Nav_Department
delete item1.DEPARTMENT_TYPE_NAME
delete item1.Nav_ResultPostDetsName
if (item1.Nav_ResultPostDets && item1.Nav_ResultPostDets.length > 0) {
item1.Nav_ResultPostDets.map(item2 => {
delete item2.Nav_Post
})
}
})
}
})
this.model = {
ORG_ID: this.ORG_ID,
YEAR: this.dataModel.YEAR,
START_DATE: this.dataModel.START_DATE,
END_DATE: this.dataModel.END_DATE,
REQUIRE_ID: this.dataModel.REQUIRE_ID,
RequireName: this.dataModel.RequireName,
IDENTIFY_EVALUATION_PLAN_ID:this.dataModel.IDENTIFY_EVALUATION_PLAN_ID,
IDENTIFY_ID:this.dataModel.IDENTIFY_ID,
Nav_Files: this.dataModel.Nav_Files,
Nav_Details: arr
}
// this.model = {
// ORG_ID: this.ORG_ID,
// YEAR: this.dataModel.YEAR,
// START_DATE: this.dataModel.START_DATE,
// END_DATE: this.dataModel.END_DATE,
// REQUIRE_ID: this.dataModel.REQUIRE_ID,
// RequireName: this.dataModel.RequireName,
// IDENTIFY_EVALUATION_PLAN_ID: this.dataModel.IDENTIFY_EVALUATION_PLAN_ID,
// IDENTIFY_ID: this.dataModel.IDENTIFY_ID,
// Nav_Files: this.dataModel.Nav_Files,
// Nav_Details: arr
// }
this.model.ID = this.ID
this.model.TaskID = this.TaskID
this.model.PUBLISH = "SaveAndNotify";

View File

@ -38,7 +38,7 @@
</u-form-item>
<u-form-item label="辨识要求">
</u-form-item>
<u--textarea v-model="dataModel.Nav_Require.NAME" disabled autoHeight></u--textarea>
<u--textarea v-model="dataModel.Nav_RequiresName" disabled autoHeight></u--textarea>
<view class="upload-title">附件</view>
<full-upload v-model="dataModel.Nav_Files" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<view style="margin-top: 20px;">
@ -56,8 +56,8 @@
{{index+1+'.辨识区域:'+item.Nav_Area.NAME}}
</view>
<view class="action" style="display: flex;flex-direction: row;align-items: center;justify-content: space-around;">
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(item)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(item)"></u-icon>
</view>
</view>
</u-form-item>
@ -78,26 +78,54 @@
<u--input v-model="item.Nav_Type.NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识层级" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.DEPARTMENT_TYPE" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识部门" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.IDENTIFY_DEPARTMENT" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识岗位" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.IDENTIFY_POST" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="管控措施" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u--textarea v-model="item.MEASURE" disabled placeholder="请填写管控措施" autoHeight maxlength="-1"></u--textarea>
<uni-collapse class="collapse" ref="collapse">
<uni-collapse-item title="管控措施" name="Variety components">
<view v-if="item.Nav_DetailMeasures&&item.Nav_DetailMeasures.length!==0">
<view v-for="item1 in item.Nav_DetailMeasures" style="margin: 5px 5px;padding: 0px 10px;">
<u-form-item label="序号" prop="HIDDEN_DESCRIPTION" border-bottom>
<view slot="right" style="display: flex;flex-direction: row;align-items: center;">
<u-number-box v-model="item1.NUM" disabled integer></u-number-box>
</view>
</u-form-item>
<u-form-item label="措施" prop="HIDDEN_DESCRIPTION">
</u-form-item>
<u--textarea v-model="item1.MEASURE" disabled autoHeight></u--textarea>
</view>
</view>
</uni-collapse-item>
<uni-collapse-item title="辨识岗位" name="Docs guide">
<view v-if="item.Nav_DetailPosts&&item.Nav_DetailPosts.length>0">
<view v-for="(item1,index1) in item.Nav_DetailPosts" style="padding: 10px;">
<u-form-item label="辨识层级" prop="HIDDEN_PLACE" border-bottom >
<u--input v-model="item1.DEPARTMENT_TYPE_NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识部门" prop="HIDDEN_PLACE" border-bottom >
<u--input v-model="(item1.Nav_Department||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识岗位" prop="HIDDEN_PLACE" border-bottom >
</u-form-item>
<u-textarea v-model="item1.Nav_ResultPostDetsName" disabled autoHeight ></u-textarea>
</view>
</view>
</uni-collapse-item>
</uni-collapse>
<u-form-item label="应急处置" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u--textarea v-model="item.EMERGENCY" disabled autoHeight maxlength="-1"></u--textarea>
<u-form-item label="状态" prop="HIDDEN_PLACE">
<u--input v-model="item.ENABLE_STATUS" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u-form-item label="新增标识" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.MARK_NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
</view>
@ -121,7 +149,12 @@
extendRule,
extendIgnoreDataRule,
initFilter,
transformData
} from '../../../../utils/common'
import {
getEnum,
GetEnumAnyOrder
} from '../../../../services/common';
import {
MineTypeName
} from '../../../../utils/enums.js'
@ -218,6 +251,8 @@
TaskID: '',
nowName: '',
nowIndex: 0,
enumsData: {}, //
enumsText: {} //
}
},
@ -233,9 +268,21 @@
...this.$store.state.auditModel,
TaskID: option.taskID ? option.taskID : ''
}
this.loadData()
this.fetchEnums(['SKMarkEnum', 'SKEnableStatusEnum', 'SKDepartmentTypeEnum']);
},
methods: {
fetchEnums(enumNames) {
var dataParm = {
'name': enumNames.join('|')
}
GetEnumAnyOrder(dataParm).then(res => {
let newd = transformData(res, enumNames)
this.enumsData = newd[0];
//
this.enumsText = newd[1]
this.loadData();
})
},
loadData() {
// const json = {}
const orgId = uni.getStorageSync('orgId')
@ -262,21 +309,45 @@
this.dataModel.CREATE_TIME = uni.$u.timeFormat(res.CREATE_TIME, 'yyyy-mm-dd')
this.dataModel.START_DATE = uni.$u.timeFormat(res.START_DATE, 'yyyy-mm-dd')
this.dataModel.END_DATE = uni.$u.timeFormat(res.END_DATE, 'yyyy-mm-dd')
this.dataModel.RequireName = res.Nav_Require.NAME
let Nav_RequiresName = ''
if (this.dataModel.Nav_Requires && this.dataModel.Nav_Requires.length > 0) {
this.dataModel.Nav_Requires.map(item => {
if (item.Nav_Require && item.Nav_Require.NAME !== null) {
Nav_RequiresName += item.Nav_Require.NAME + ' ';
}
})
}
this.dataModel.Nav_RequiresName = Nav_RequiresName
this.dataModel.Nav_Details.map(item => {
item['showPack'] = false
item.ENABLE_STATUS = item.ENABLE_STATUS == 0 ? '有效' : '无效'
item.Nav_RiskName = item.Nav_RiskName? item.Nav_RiskName: {
NAME: ''}
item.MARK_NAME = item.MARK !== undefined ? this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK).name : '';
if (item.Nav_DetailPosts && item.Nav_DetailPosts.length > 0) {
item.Nav_DetailPosts.map(item1 => {
item1.DEPARTMENT_TYPE_NAME = item1.DEPARTMENT_TYPE !== undefined ? this.enumsData['SKDepartmentTypeEnum'].find(item2 => item2.code === item1.DEPARTMENT_TYPE).name :
'';
if (item1.Nav_ResultPostDets && item1.Nav_ResultPostDets.length > 0) {
let Nav_ResultPostDetsName = ''
if (item1.Nav_ResultPostDets && item1.Nav_ResultPostDets.length > 0) {
item1.Nav_ResultPostDets.map(item2 => {
if (item2.Nav_Post && item2.Nav_Post.NAME !== null) {
Nav_ResultPostDetsName += item2.Nav_Post.NAME + ' ';
}
})
}
item1.Nav_ResultPostDetsName = Nav_ResultPostDetsName
}
})
}
})
this.stepLoad = false
})
this.isLoadOK = true
},
handlePack(index) {
this.dataModel.Nav_Details[index].showPack = this.dataModel.Nav_Details[index].showPack == false ? true : false
this.dataModel.Nav_Details = [...this.dataModel.Nav_Details]
handlePack(item) {
item.showPack = item.showPack == false ? true : false
this.$forceUpdate()
},
submit() {

View File

@ -15,12 +15,12 @@
</u-form-item>
<u-form-item label="发起部门:" prop="Product_Unit">
<u--input v-model="dataModel.Nav_ApplyDepartment.NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u--input v-model="(dataModel.Nav_ApplyDepartment||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="发起人员:" prop="Product_Unit">
<u--input v-model="dataModel.Nav_ApplyUser.NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
<u--input v-model="(dataModel.Nav_ApplyUser||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
@ -41,7 +41,7 @@
</u-form-item>
<u-form-item label="辨识要求">
</u-form-item>
<u--textarea v-model="dataModel.Nav_Require.NAME" disabled autoHeight></u--textarea>
<u--textarea v-model="dataModel.Nav_RequiresName" disabled autoHeight></u--textarea>
<view class="upload-title">附件</view>
<full-upload v-model="dataModel.Nav_Files" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<view style="margin-top: 20px;">
@ -78,7 +78,7 @@
</u--input>
</u-form-item>
<u-form-item label="风险类别" prop="HIDDEN_LEVEL" border-bottom>
<u--input v-model="item.Nav_Type.NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u--input v-model="(item.Nav_Type||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="管控措施" prop="HIDDEN_PLACE" border-bottom>
@ -89,8 +89,8 @@
<u--input v-model="item.EMERGENCY" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="状态" prop="HIDDEN_PLACE">
<u--input v-model="item.ENABLE_STATUS" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u-form-item label="新增标识" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.MARK_NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
</view>
@ -119,7 +119,8 @@
guid,
initFilter,
initFilterGroup,
handleOriginalArray
handleOriginalArray,
transformData
} from '../../../../utils/common'
import {
FMProductionUnit,
@ -137,6 +138,10 @@
GetRiskAreaInfo,
GetRiskTypeInfo
} from '../../../../services/apply/subPages/SK/SKServices.js'
import {
getEnum,
GetEnumAnyOrder
} from '../../../../services/common';
import {
getRequest,
} from '../../../../services/apply/FOServices/FOServices';
@ -222,7 +227,9 @@
stepsPageList: 0,
TaskID: '',
nowName: '',
nowIndex: 0
nowIndex: 0,
enumsData: {}, //
enumsText: {} //
}
},
onLoad(option) {
@ -238,9 +245,21 @@
...this.$store.state.auditModel,
TaskID: option.taskID ? option.taskID : ''
}
this.loadData()
this.fetchEnums(['SKMarkEnum', 'SKEnableStatusEnum']);
},
methods: {
fetchEnums(enumNames) {
var dataParm = {
'name': enumNames.join('|')
}
GetEnumAnyOrder(dataParm).then(res => {
let newd = transformData(res, enumNames)
this.enumsData = newd[0];
//
this.enumsText = newd[1]
this.loadData();
})
},
loadData() {
// const json = {}
const orgId = uni.getStorageSync('orgId')
@ -269,9 +288,19 @@
this.dataModel.START_DATE = uni.$u.timeFormat(res.START_DATE, 'yyyy-mm-dd')
this.dataModel.END_DATE = uni.$u.timeFormat(res.END_DATE, 'yyyy-mm-dd')
this.dataModel.RequireName = res.Nav_Require.NAME
let Nav_RequiresName = ''
if (this.dataModel.Nav_Requires && this.dataModel.Nav_Requires.length > 0) {
this.dataModel.Nav_Requires.map(item => {
if (item.Nav_Require&&item.Nav_Require.NAME !== null) {
Nav_RequiresName += item.Nav_Require.NAME + ' ';
}
})
}
this.dataModel.Nav_RequiresName = Nav_RequiresName
this.dataModel.Nav_Details.map(item => {
item['showPack'] = false
item.ENABLE_STATUS = item.ENABLE_STATUS == 0 ? '有效' : '无效'
// item.ENABLE_STATUS_NAME = item.ENABLE_STATUS !== undefined ? this.enumsData['SKEnableStatusEnum'].find(item1 => item1.code === item.ENABLE_STATUS).name : '';
item.MARK_NAME = item.MARK !== undefined ? this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK).name : '';
})
this.stepLoad = false

View File

@ -38,7 +38,7 @@
</u-form-item>
<u-form-item label="辨识要求">
</u-form-item>
<u--textarea v-model="dataModel.Nav_Require.NAME" disabled autoHeight></u--textarea>
<u--textarea v-model="dataModel.Nav_RequiresName" disabled autoHeight></u--textarea>
<view class="upload-title">附件</view>
<full-upload v-model="dataModel.Nav_Files" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<view style="margin-top: 20px;">
@ -56,8 +56,8 @@
{{index+1+'.辨识区域:'+item.Nav_Area.NAME}}
</view>
<view class="action" style="display: flex;flex-direction: row;align-items: center;justify-content: space-around;">
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(index)"></u-icon>
<u-icon name="arrow-up" size="12" v-if="item.showPack" @click="handlePack(item)"></u-icon>
<u-icon name="arrow-down" size="12" v-if="!item.showPack" @click="handlePack(item)"></u-icon>
</view>
</view>
</u-form-item>
@ -78,26 +78,54 @@
<u--input v-model="item.Nav_Type.NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识层级" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.DEPARTMENT_TYPE" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识部门" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.IDENTIFY_DEPARTMENT" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识岗位" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.IDENTIFY_POST" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="管控措施" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u--textarea v-model="item.MEASURE" disabled autoHeight maxlength="-1"></u--textarea>
<uni-collapse class="collapse" ref="collapse">
<uni-collapse-item title="管控措施" name="Variety components">
<view v-if="item.Nav_DetailMeasures&&item.Nav_DetailMeasures.length!==0">
<view v-for="item1 in item.Nav_DetailMeasures" style="margin: 5px 5px;padding: 0px 10px;">
<u-form-item label="序号" prop="HIDDEN_DESCRIPTION" border-bottom>
<view slot="right" style="display: flex;flex-direction: row;align-items: center;">
<u-number-box v-model="item1.NUM" disabled integer></u-number-box>
</view>
</u-form-item>
<u-form-item label="措施" prop="HIDDEN_DESCRIPTION">
</u-form-item>
<u--textarea v-model="item1.MEASURE" disabled autoHeight></u--textarea>
</view>
</view>
</uni-collapse-item>
<uni-collapse-item title="辨识岗位" name="Docs guide">
<view v-if="item.Nav_DetailPosts&&item.Nav_DetailPosts.length>0">
<view v-for="(item1,index1) in item.Nav_DetailPosts" style="padding: 10px;">
<u-form-item label="辨识层级" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item1.DEPARTMENT_TYPE_NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识部门" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="(item1.Nav_Department||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="辨识岗位" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u-textarea v-model="item1.Nav_ResultPostDetsName" disabled autoHeight></u-textarea>
</view>
</view>
</uni-collapse-item>
</uni-collapse>
<u-form-item label="应急处理" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u--textarea v-model="item.EMERGENCY" disabled autoHeight maxlength="-1"></u--textarea>
<u-form-item label="状态" prop="HIDDEN_PLACE">
<u--input v-model="item.ENABLE_STATUS" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u--textarea v-model="item.EMERGENCY" disabled autoHeight maxlength="-1"></u--textarea>
<u-form-item label="新增标识" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.MARK_NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
</view>
@ -121,10 +149,15 @@
extendRule,
extendIgnoreDataRule,
initFilter,
transformData
} from '../../../../utils/common'
import {
MineTypeName
} from '../../../../utils/enums.js'
import {
getEnum,
GetEnumAnyOrder
} from '../../../../services/common';
import {
EvaIdentifySumGet,
} from '../../../../services/apply/subPages/SK/SKServices.js'
@ -218,6 +251,8 @@
TaskID: '',
nowName: '',
nowIndex: 0,
enumsData: {}, //
enumsText: {} //
}
},
@ -233,9 +268,21 @@
...this.$store.state.auditModel,
TaskID: option.taskID ? option.taskID : ''
}
this.loadData()
this.fetchEnums(['SKMarkEnum', 'SKEnableStatusEnum', 'SKDepartmentTypeEnum']);
},
methods: {
fetchEnums(enumNames) {
var dataParm = {
'name': enumNames.join('|')
}
GetEnumAnyOrder(dataParm).then(res => {
let newd = transformData(res, enumNames)
this.enumsData = newd[0];
//
this.enumsText = newd[1]
this.loadData();
})
},
loadData() {
// const json = {}
const orgId = uni.getStorageSync('orgId')
@ -258,25 +305,49 @@
// extendRule(json, 'TASK_ID', 1, this.TaskID);
EvaIdentifySumGet(json).then(res => {
this.dataModel = res;
this.stepsPage =res.STATUS == 20 ? 0: 1
this.stepsPage = res.STATUS == 20 ? 0 : 1
this.dataModel.CREATE_TIME = uni.$u.timeFormat(res.CREATE_TIME, 'yyyy-mm-dd')
this.dataModel.START_DATE = uni.$u.timeFormat(res.START_DATE, 'yyyy-mm-dd')
this.dataModel.END_DATE = uni.$u.timeFormat(res.END_DATE, 'yyyy-mm-dd')
this.dataModel.RequireName = res.Nav_Require.NAME
let Nav_RequiresName = ''
if (this.dataModel.Nav_Requires && this.dataModel.Nav_Requires.length > 0) {
this.dataModel.Nav_Requires.map(item => {
if (item.Nav_Require && item.Nav_Require.NAME !== null) {
Nav_RequiresName += item.Nav_Require.NAME + ' ';
}
})
}
this.dataModel.Nav_RequiresName = Nav_RequiresName
this.dataModel.Nav_Details.map(item => {
item['showPack'] = false
item.ENABLE_STATUS = item.ENABLE_STATUS == 0 ? '有效' : '无效'
item.Nav_RiskName = item.Nav_RiskName? item.Nav_RiskName: {
NAME: ''}
item.MARK_NAME = item.MARK !== undefined ? this.enumsData['SKMarkEnum'].find(item1 => item1.code === item.MARK).name : '';
if (item.Nav_DetailPosts && item.Nav_DetailPosts.length > 0) {
item.Nav_DetailPosts.map(item1 => {
item1.DEPARTMENT_TYPE_NAME = item1.DEPARTMENT_TYPE !== undefined ? this.enumsData['SKDepartmentTypeEnum'].find(item2 => item2.code === item1.DEPARTMENT_TYPE).name :
'';
if (item1.Nav_SumPostDets && item1.Nav_SumPostDets.length > 0) {
let Nav_ResultPostDetsName = ''
item1.Nav_SumPostDets.map(item2 => {
if (item2.Nav_Post && item2.Nav_Post.NAME !== null) {
Nav_ResultPostDetsName += item2.Nav_Post.NAME + ' ';
}
})
item1.Nav_ResultPostDetsName = Nav_ResultPostDetsName
}
})
}
})
this.stepLoad = false
})
this.isLoadOK = true
},
handlePack(index) {
this.dataModel.Nav_Details[index].showPack = this.dataModel.Nav_Details[index].showPack == false ? true : false
this.dataModel.Nav_Details = [...this.dataModel.Nav_Details]
handlePack(item) {
item.showPack = item.showPack == false ? true : false
this.$forceUpdate()
},
submit() {
@ -300,6 +371,7 @@
<style scoped>
@import url("../../../../style/css/newTemplate.css");
.todo-page>>>.u-steps-item__line {
width: 187.6px !important;
}

View File

@ -37,6 +37,14 @@
</u--input> -->
</u-form-item>
<u--textarea v-model="dataModel.CONTENTS" placeholder="请输入内容" autoHeight></u--textarea>
<u-form-item label="辨识要求" borderBottom @click="handleShowSheet({title: '辨识要求', name: 'Nav_Requires'})">
<u-icon style="margin-left: 4px;" name="arrow-down" size="12" slot="right"></u-icon>
</u-form-item>
<u-textarea v-model="dataModel.Nav_RequiresName" disabled autoHeight placeholder="请选择辨识要求"></u-textarea>
<u-form-item label="评估要求" borderBottom @click="handleShowSheet({title: '评估要求', name: 'Nav_Evaluations'})">
<u-icon style="margin-left: 4px;" name="arrow-down" size="12" slot="right"></u-icon>
</u-form-item>
<u-textarea v-model="dataModel.Nav_EvaluationsName" disabled autoHeight placeholder="请选择评估要求"></u-textarea>
<view class="upload-title">附件</view>
<full-upload v-model="dataModel.Nav_Files" :isShowBtn='true' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
@ -47,14 +55,10 @@
</view>
<view style="font-size: 15px; font-weight: bold;color: #3d4b70;margin-bottom: 10px;">辨识与评估确认</view> -->
<u-form-item label="辨识与评估" @click="handleNewCheckContent">
<u-button text="新增部门与辨识人员" size="small" type="primary" style="margin-left: 30%;"></u-button>
<!-- <u-icon name="plus-circle" size="24" color="#3d9cff" slot="right"></u-icon> -->
</u-form-item>
<view v-for="(item,index) in dataModel.Nav_Details" :key="index" style="border-bottom: #ceccca 1px dashed;padding-bottom: 10px;">
<view v-for="(item,index) in dataModel.Nav_Details.filter(i => !i.IS_DELETED)" :key="index" style="border-bottom: #ceccca 1px dashed;padding-bottom: 10px;">
<u-form-item>
<view style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;flex: 1;">
<view @click="handleChangeStep(index)" style="flex: 1;display: flex;flex-direction: row;align-items: center;">
<view @click="handleShowSheet({title: '部门', name: 'Nav_Department',itemData:item})" style="flex: 1;display: flex;flex-direction: row;align-items: center;">
<view>
{{'部门 : ' +item.Nav_Department.NAME}}
</view>
@ -62,11 +66,11 @@
</u-icon>
</view>
<view class="action" style="display: flex;flex-direction: row;align-items: center;justify-content: space-around;">
<u-icon @click="handleDelRowBefore(index)" name="trash" color="#ff4d4f" size="21"></u-icon>
<u-icon @click="handleDelRowBefore(item)" name="trash" color="#ff4d4f" size="21"></u-icon>
</view>
</view>
</u-form-item>
<u-form-item label="辨识人员" @click="handleShowUserSelector(item,index)">
<u-form-item label="辨识人员" @click="handleShowUserSelector(item)">
<u-icon name="man-add" size="24" color="#3d9cff" slot="right"></u-icon>
</u-form-item>
<view v-show="!!item.Nav_DetailUsers.length" class="tag-view">
@ -76,8 +80,9 @@
</u--form>
</view>
<view style="padding: 10px 16px;" class="bottom-button">
<u-button type="primary" @click="submit" color="#3d4b70">提交</u-button>
<view style="padding: 10px 16px;display: flex;flex-direction: row;" class="bottom-button">
<u-button text="新增" type="primary" color="#3d4b70" :plain="true" style="margin-right: 5px;" @click="handleNewCheckContent"></u-button>
<u-button type="primary" @click="submit" color="#3d4b70" style="margin-left: 5px;">提交</u-button>
</view>
<u-modal :show="showDelModalIndex >= 0" @confirm="confirmDel" @cancel="cacelDel" :showCancelButton="true" title="确认删除?"></u-modal>
@ -85,7 +90,9 @@
<people-selector-dep :defaultChecked="peopleSelectOption.defaultChecked" :depId="peopleSelectOption.depId" :show="peopleSelectOption.showSelector" @select="handleSelectorPeople"
@close="peopleSelectOption.showSelector = false">
</people-selector-dep>
<query-selector :show="showPopupStep" :total="curTotalStep" :lists="stepLists" :defaultValue="currentOperateStep.NAME" @close="handleClosePopupStep" @search="handleSearchStep" @select="handleSelectedStep" />
<!-- <query-selector :show="showPopupStep" :total="curTotalStep" :lists="stepLists" :defaultValue="currentOperateStep.NAME" @close="handleClosePopupStep" @search="handleSearchStep" @select="handleSelectedStep" /> -->
<query-selector :multiple="selectorInfo.isMultiple" :show="selectorInfo.showPopup" :title="selectorInfo.title" :lists="selectorInfo.dataLists" :defaultChecked="selectorInfo.defaultChecked"
@search="handleSearch" @select="handleSelected" @close="selectorInfo.showPopup=false" :total="selectorInfo.totalCount" />
</view>
</view>
</template>
@ -116,6 +123,7 @@
} from '../../../../services/apply/subPages/SK/SKServices.js'
import {
getRequest,
getRequestOrderPage
} from '../../../../services/apply/FOServices/FOServices';
import stepTitle from '@/components/custom/step-title.vue'
import swipeActionItem from '../../../../uni_modules/uview-ui/libs/config/props/swipeActionItem';
@ -135,6 +143,19 @@
showPopupStep: false,
stepLists: [],
curTotalStep: 0,
selectorInfo: {
name: 'user',
isMultiple: false,
showPopup: false,
totalCount: 0,
title: '考核结果选择',
dataItem: {},
index: 0,
columns: [],
dataLists: [],
defaultText: '',
defaultChecked: []
},
dataModel: {
YEAR: '',
START_DATE: '',
@ -212,6 +233,10 @@
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "")
extendRule(json, 'ID', 1, this.ID);
extendInclude(json, 'Nav_Requires');
extendInclude(json, 'Nav_Requires.Nav_Require');
extendInclude(json, 'Nav_Evaluations');
extendInclude(json, 'Nav_Evaluations.Nav_Evaluation');
extendInclude(json, 'Nav_Files.Nav_ImgFile');
extendInclude(json, 'Nav_Details');
extendInclude(json, 'Nav_Details.Nav_Department');
@ -221,24 +246,45 @@
EvaluationPlanGet(json).then(res => {
this.dataModel = res;
this.stepsPage = res.STATUS == 0 ? 0 : res.STATUS == 20 ? 1 : 2
this.dataModel.START_DATE = uni.$u.timeFormat(res.START_DATE, 'yyyy-mm-dd'),
this.dataModel.END_DATE = uni.$u.timeFormat(res.END_DATE, 'yyyy-mm-dd'),
this.dataModel.EVALUATION_END_DATE = uni.$u.timeFormat(res.EVALUATION_END_DATE, 'yyyy-mm-dd'),
this.dataModel.Nav_Details.map((item, index) => {
let arr = item.Nav_DetailUsers.map((item1, index1) => {
if (!item1.Nav_User.IS_DELETED) {
return ' ' + item1.Nav_User.NAME
}
})
item['userlist'] = String(arr)
this.dataModel.START_DATE = uni.$u.timeFormat(res.START_DATE, 'yyyy-mm-dd')
this.dataModel.END_DATE = uni.$u.timeFormat(res.END_DATE, 'yyyy-mm-dd')
this.dataModel.EVALUATION_END_DATE = uni.$u.timeFormat(res.EVALUATION_END_DATE, 'yyyy-mm-dd')
let Nav_RequiresName = ''
if (this.dataModel.Nav_Requires && this.dataModel.Nav_Requires.length > 0) {
this.dataModel.Nav_Requires.map(item => {
if (item.Nav_Require && item.Nav_Require.NAME !== null) {
Nav_RequiresName += item.Nav_Require.NAME + ' ';
}
})
}
this.dataModel.Nav_RequiresName = Nav_RequiresName
let Nav_EvaluationsName = ''
if (this.dataModel.Nav_Evaluations && this.dataModel.Nav_Evaluations.length > 0) {
this.dataModel.Nav_Evaluations.map(item => {
if (item.Nav_Evaluation && item.Nav_Evaluation.NAME !== null) {
Nav_EvaluationsName += item.Nav_Evaluation.NAME + ' ';
}
})
}
this.dataModel.Nav_EvaluationsName = Nav_EvaluationsName
this.dataModel.Nav_Details.map((item, index) => {
let arr = item.Nav_DetailUsers.map((item1, index1) => {
if (item1.Nav_User && !item1.Nav_User.IS_DELETED) {
return ' ' + item1.Nav_User.NAME
}
})
item['userlist'] = String(arr)
})
})
}
},
handleNewCheckContent() {
this.dataModel.Nav_Details.unshift({
IS_DELETED: false,
ID: guid(),
IDENTIFY_EVALUATION_PLAN_ID: this.ID,
Nav_Department: {
NAME: ''
},
@ -251,19 +297,9 @@
this.dataModel.Nav_Details = [...this.dataModel.Nav_Details]
},
handleDelRowBefore(index) {
this.showDelModalIndex = index
this.nowIndex = index
},
confirmDel() {
this.dataModel.Nav_Details.splice(this.nowIndex, 1)
this.showDelModalIndex = undefined
},
cacelDel() {
this.showDelModalIndex = undefined
handleDelRowBefore(item) {
item.IS_DELETED = true
this.$forceUpdate()
},
cancelRecitifyDate() {
this.showPopupRecitifyDate = false
@ -289,10 +325,10 @@
this.showPopupRecitifyDate = false
},
handleChangeStep(index) {
handleChangeStep(item) {
this.currentOperateStep = {}
this.showPopupStep = true
this.nowIndex = index
this.nowIndex = item
this.handleSearchStep('init')
},
handleClosePopupStep() {
@ -326,16 +362,13 @@
})
},
handleSelectedStep(val) {
this.dataModel.Nav_Details[this.nowIndex].DEPARTMENT_ID = val.ID
this.dataModel.Nav_Details[this.nowIndex].Nav_Department.NAME = val.NAME
this.nowIndex.DEPARTMENT_ID = val.ID
this.nowIndex.Nav_Department.NAME = val.NAME
this.showPopupStep = false
},
handleSelectorPeople(e) {
const {
index: key
} = this.peopleSelectOption
this.dataModel.Nav_Details[key].Nav_DetailUsers = e.map(i => {
this.peopleSelectOption.value.Nav_DetailUsers = e.map(i => {
return {
USER_ID: i.USER_ID,
IS_DELETED: i.IS_DELETED,
@ -348,18 +381,17 @@
}
})
let arr = ''
this.dataModel.Nav_Details[key].Nav_DetailUsers.map(item => {
this.peopleSelectOption.value.Nav_DetailUsers.map(item => {
if (!item.IS_DELETED) {
arr += ' ' + item.Nav_User.NAME
}
})
this.dataModel.Nav_Details[key].userlist = String(arr)
this.peopleSelectOption.value.userlist = String(arr)
},
handleShowUserSelector(item, index) {
handleShowUserSelector(item) {
this.peopleSelectOption = {
showSelector: true,
value: item,
index,
depId: item.DEPARTMENT_ID,
defaultChecked: item.Nav_DetailUsers.map(i => {
return {
@ -371,6 +403,157 @@
})
}
},
async handleShowSheet(p) {
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "", 0, p.pageIndex ?? 1)
let dataSelect = []
// this.selectorInfo.defaultChecked = []
var defaultChecked = []
this.selectorInfo.isMultiple = false
if (p.val) {
extendRule(json, 'NAME', 9, p.val);
}
json.Limit = 20
if (p.pageIndex) {
json.Start = (p.pageIndex - 1) * json.Limit;
}
json.Sort = "NAME"
json.SelectField = ["ID", "NAME", "NAME"]
if (p.name == "Nav_Requires") {
this.selectorInfo.isMultiple = true
dataSelect = await getRequestOrderPage(json, "/SK/Request/OrderPaged").then(res => {
this.selectorInfo.totalCount = res.TotalCount
if (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.Data[i].code = res.Data[i].CODE
}
}
return res.Data
})
if (this.dataModel.Nav_Requires && this.dataModel.Nav_Requires.length > 0) {
// this.selectorInfo.defaultChecked = []
this.dataModel.Nav_Requires.filter(i => !i.IS_DELETED).forEach(e => {
if (e.Nav_Require != null && e.Nav_Require.NAME != null)
defaultChecked.push(e.Nav_Require)
})
} else {
defaultChecked = null
}
} else if (p.name == "Nav_Evaluations") {
this.selectorInfo.isMultiple = true
dataSelect = await getRequestOrderPage(json, "/SK/Evaluation/OrderPaged").then(res => {
if (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.Data[i].code = res.Data[i].CODE
}
}
return res.Data
})
if (this.dataModel.Nav_Evaluations && this.dataModel.Nav_Evaluations.length > 0) {
// this.selectorInfo.defaultChecked = []
this.dataModel.Nav_Evaluations.filter(i => !i.IS_DELETED).forEach(e => {
if (e.Nav_Evaluation != null && e.Nav_Evaluation.NAME != null)
defaultChecked.push(e.Nav_Evaluation)
})
} else {
defaultChecked = null
}
} else if (p.name == 'Nav_Department') {
dataSelect = await GetDepartmentInfo(json).then(res => {
if (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.Data[i].code = res.Data[i].CODE
}
}
return res.Data
})
}
if (defaultChecked == null)
defaultChecked = []
if (dataSelect.length) {
this.selectorInfo = {
itemData: p.itemData != undefined ? p.itemData : this.selectorInfo
.itemData, //itemData: p.itemData, p.itemData this.selectorInfo.itemData
isMultiple: this.selectorInfo.isMultiple,
totalCount: this.selectorInfo.totalCount,
showPopup: true,
title: p.title,
name: p.name,
dataLists: dataSelect,
defaultChecked: defaultChecked
}
} else {
//
}
},
//
handleSearch(val, pageIndex) {
var p = {
name: this.selectorInfo.name,
title: this.selectorInfo.title,
val: val,
pageIndex: pageIndex,
index: this.selectorInfo.index
}
this.handleShowSheet(p)
},
handleSelected(e) {
this.selectorInfo.showPopup = false
if (this.selectorInfo.name == 'Nav_Requires') {
let listArea = []
let areaShow = ''
if (e.length > 0) {
e.forEach((item, i) => {
if (item.name != null || item.NAME != null) {
if (i > 0) {
areaShow += ' '
}
listArea.push({
ID: guid(),
IDENTIFY_EVALUATION_PLAN_ID: this.ID,
REQUIRE_ID: item.ID,
ORG_ID: item.ORG_ID,
Nav_Require: item
})
areaShow += item.NAME
}
})
}
this.dataModel.Nav_Requires = listArea
this.dataModel.Nav_RequiresName = areaShow
} else if (this.selectorInfo.name == 'Nav_Evaluations') {
let listArea = []
let areaShow = ''
if (e.length > 0) {
e.forEach((item, i) => {
if (item.name != null || item.NAME != null) {
if (i > 0) {
areaShow += ' '
}
listArea.push({
ID: guid(),
IDENTIFY_EVALUATION_PLAN_ID: this.ID,
EVALUATION_ID: item.ID,
ORG_ID: item.ORG_ID,
Nav_Evaluation: item
})
areaShow += item.NAME
}
})
}
this.dataModel.Nav_Evaluations = listArea
this.dataModel.Nav_EvaluationsName = areaShow
} else if (this.selectorInfo.name == 'Nav_Department') {
this.selectorInfo.itemData.Nav_Department = e
this.selectorInfo.itemData.DEPARTMENT_ID = e.ID
}
},
submit() {
if (!this.dataModel.CONTENTS) {
@ -380,7 +563,7 @@
})
return
}
for (let item of this.dataModel.Nav_Details) {
for (let item of this.dataModel.Nav_Details.filter(i => !i.IS_DELETED)) {
if (!item.Nav_Department.NAME) {
uni.showToast({
title: '部门不能为空',
@ -396,16 +579,11 @@
return
}
}
let arr = ['DEPARTMENT_ID', 'ENTITY_ORG_TPYE', 'Nav_DetailUsers', 'ID', 'IDENTIFY_EVALUATION_PLAN_ID', 'ORG_ID']
this.model = {
YEAR: this.dataModel.YEAR,
START_DATE: this.dataModel.START_DATE,
END_DATE: this.dataModel.END_DATE,
EVALUATION_END_DATE: this.dataModel.EVALUATION_END_DATE,
CONTENTS: this.dataModel.CONTENTS,
ORG_ID: this.ORG_ID,
Nav_Files: this.dataModel.Nav_Files,
Nav_Details: handleOriginalArray(this.dataModel.Nav_Details, arr)
this.model =JSON.parse(JSON.stringify(this.dataModel))
if (this.model.Nav_Details && this.model.Nav_Details.length > 0) {
this.model.Nav_Details.map(item => {
delete item.Nav_Department
})
}
this.model.ID = this.ID
this.model.TaskID = this.TaskID

View File

@ -49,6 +49,14 @@
</u--input> -->
</u-form-item>
<u--textarea v-model="dataModel.CONTENTS" disabled autoHeight></u--textarea>
<u-form-item label="辨识要求" borderBottom>
</u-form-item>
<u-textarea v-model="dataModel.Nav_RequiresName" disabled autoHeight></u-textarea>
<u-form-item label="评估要求" borderBottom>
</u-form-item>
<u-textarea v-model="dataModel.Nav_EvaluationsName" disabled autoHeight></u-textarea>
<view class="upload-title">附件</view>
<full-upload v-model="dataModel.Nav_Files" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
@ -204,6 +212,10 @@
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "")
extendRule(json, 'ID', 1, this.model.ID);
extendInclude(json, 'Nav_Requires');
extendInclude(json, 'Nav_Requires.Nav_Require');
extendInclude(json, 'Nav_Evaluations');
extendInclude(json, 'Nav_Evaluations.Nav_Evaluation');
extendInclude(json, 'Nav_ApplyUser');
extendInclude(json, 'Nav_ApplyDepartment');
extendInclude(json, 'Nav_Details');
@ -216,19 +228,37 @@
EvaluationPlanGet(json).then(res => {
this.dataModel = res;
this.stepsPage = res.STATUS == 0 ? 0 : res.STATUS == 20 ? 1 : 2
this.dataModel.CREATE_TIME = uni.$u.timeFormat(res.CREATE_TIME, 'yyyy-mm-dd'),
this.dataModel.START_DATE = uni.$u.timeFormat(res.START_DATE, 'yyyy-mm-dd'),
this.dataModel.END_DATE = uni.$u.timeFormat(res.END_DATE, 'yyyy-mm-dd'),
this.dataModel.EVALUATION_END_DATE = uni.$u.timeFormat(res.EVALUATION_END_DATE, 'yyyy-mm-dd'),
this.dataModel.Nav_Details.map((item, index) => {
let arr = item.Nav_DetailUsers.map((item1, index1) => {
if (!item1.Nav_User.IS_DELETED) {
return ' ' + item1.Nav_User.NAME
}
})
item['userlist'] = String(arr)
this.dataModel.CREATE_TIME = uni.$u.timeFormat(res.CREATE_TIME, 'yyyy-mm-dd')
this.dataModel.START_DATE = uni.$u.timeFormat(res.START_DATE, 'yyyy-mm-dd')
this.dataModel.END_DATE = uni.$u.timeFormat(res.END_DATE, 'yyyy-mm-dd')
this.dataModel.EVALUATION_END_DATE = uni.$u.timeFormat(res.EVALUATION_END_DATE, 'yyyy-mm-dd')
let Nav_RequiresName = ''
if (this.dataModel.Nav_Requires && this.dataModel.Nav_Requires.length > 0) {
this.dataModel.Nav_Requires.map(item => {
if (item.Nav_Require&&item.Nav_Require.NAME !== null) {
Nav_RequiresName += item.Nav_Require.NAME + ' ';
}
})
}
this.dataModel.Nav_RequiresName = Nav_RequiresName
let Nav_EvaluationsName = ''
if (this.dataModel.Nav_Evaluations && this.dataModel.Nav_Evaluations.length > 0) {
this.dataModel.Nav_Evaluations.map(item => {
if (item.Nav_Evaluation&&item.Nav_Evaluation.NAME !== null) {
Nav_EvaluationsName += item.Nav_Evaluation.NAME + ' ';
}
})
}
this.dataModel.Nav_EvaluationsName = Nav_EvaluationsName
this.dataModel.Nav_Details.map((item, index) => {
let arr = item.Nav_DetailUsers.map((item1, index1) => {
if (item1.Nav_User&&!item1.Nav_User.IS_DELETED) {
return ' ' + item1.Nav_User.NAME
}
})
item['userlist'] = String(arr)
})
})
this.isLoadOK = true

View File

@ -12,31 +12,29 @@
<u-form-item label="审核意见:" prop="CONTEXT" borderBottom v-if="model.STATUS==40">
</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" @click="handleChange('SKProductionUnit')">
<u-form-item label="生产单元:" prop="Product_Unit" @click="handleChange('SKProductionUnit')">
<u--input v-model="(model.Nav_ProductionUnit||{}).NAME" disabled disabledColor="#ffffff" placeholder="请选择生产单元" 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 required label="检查区域:" @click="handleShowSheet({title: '检查区域', name: 'Nav_RiskArea'})">
<u--input v-model="(model.Nav_RiskArea||{}).NAME" placeholder="请选择检查区域" suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabled disabledColor="#ffffff" border="none" inputAlign="right"
<u-form-item required label="检查区域:" >
<u--input v-model="(model.Nav_RiskArea||{}).NAME" disabled disabledColor="#ffffff" border="none" inputAlign="right"
fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="隐患地点:" prop="HIDDEN_PLACE">
<u--input v-model="model.HIDDEN_PLACE" placeholder="请填写隐患地点" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u--input v-model="model.HIDDEN_PLACE" disabled 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'})">
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12"></u-icon>
<u-form-item label="隐患原因" prop="Nav_Reasons" @click="handleShowSheet({title: '隐患原因', name: 'Nav_Reasons'})">
<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="model.ReasonsNAME"
placeholder="隐患原因" border="none"></u--textarea>
<u--textarea disabled autoHeight disabledColor="#fff" v-model="model.ReasonsNAME" placeholder="隐患原因" border="none"></u--textarea>
<u-form-item label="隐患描述:" prop="HIDDEN_DESCRIPTION">
<u--input v-model="model.HIDDEN_DESCRIPTION" placeholder="请填写隐患描述" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
<u--input v-model="model.HIDDEN_DESCRIPTION" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item required label="隐患照片:"></u-form-item>
@ -73,10 +71,10 @@
<u--input v-model="model.HIDDEN_LEVELName" placeholder="请选择隐患等级" suffixIcon="arrow-down" suffixIconStyle="font-size: 12px" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-form-item label="整改措施:">
<u-form-item label="整改措施:">
</u-form-item>
<u--textarea v-model="model.RECTIFICATION_MEASURES" placeholder="整改措施" maxlength="-1" disabled></u--textarea>
<!-- <u-form-item label="检查层级:" prop="Check_Level" @click="handleChange('SKDepartmentTypeEnum')">
<!-- <u-form-item label="检查层级:" prop="Check_Level" @click="handleChange('SKDepartmentTypeEnum')">
<u--input v-model="model.DEPARTMENT_TYPEName" disabled disabledColor="#ffffff" placeholder="请选择检查层级" border="none" inputAlign="right" fontSize="14px">
</u--input>
@ -106,10 +104,10 @@
</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-item label="备注" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.REMARK" placeholder="请填写备注" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<!-- <u-form-item label="备注" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u-textarea v-model="item.REMARK" placeholder="请填写备注">
</u-textarea> -->
</u--form>
</view>
<view style="padding: 10px 16px;display: flex;flex-direction: row;" class="bottom-button">
@ -195,7 +193,7 @@
Nav_Contents: {
CHECKCONTENT: ''
},
Nav_Reasons:[],
Nav_Reasons: [],
CHECKPROOF: '',
CHECKSTANDARD: '',
HIDDEN_DESCRIPTION_DETAIL: '',
@ -334,7 +332,7 @@
.Nav_Reasons[i].Nav_Reason.NAME;
}
}
this.model.ReasonsNAME =ReasonsNAME
this.model.ReasonsNAME = ReasonsNAME
})
},
@ -362,16 +360,16 @@
name: name
}
})
}else{
} else {
this.comPickerInfo = {
showSheet: true,
columns: [this.enumsText[name]],
name: name
showSheet: true,
columns: [this.enumsText[name]],
name: name
}
}
}
},
onConfirmPicker(e) {
@ -485,11 +483,11 @@
return res.Data
})
}else if (p.name == 'Nav_Reasons') {
} 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
@ -516,7 +514,7 @@
} else {
defaultChecked = null
}
}
}
if (defaultChecked == null)
defaultChecked = []
@ -556,7 +554,7 @@
this.model.Nav_Contents = e;
this.model.CHECK_CONTENTS_ID = e.ID;
} else if (this.selectorInfo.name == 'Nav_Question') {
console.log(e,'111')
console.log(e, '111')
this.model.Nav_Question = e;
this.model.CHECK_QUESTION_ID = e.ID;
this.model.RECTIFICATION_MEASURES = e.DEMAND
@ -567,7 +565,7 @@
} else if (this.selectorInfo.name == 'Nav_RecitifyUser') {
this.model.Nav_RecitifyUser = e;
this.model.RECITIFY_USER_ID = e.ID;
}else if (this.selectorInfo.name == 'Nav_Reasons') {
} else if (this.selectorInfo.name == 'Nav_Reasons') {
let listProject = []
let projectShow = ''
if (e.length > 0) {

View File

@ -62,7 +62,7 @@
</u-form-item> -->
<u-form-item label="隐患描述:" prop="HIDDEN_DESCRIPTION">
</u-form-item>
<u--textarea v-model="(model.Nav_Question||{}).DESCREPTION" disabled maxlength="-1"></u--textarea>
<u--textarea v-model="(model.Nav_Question||{}).DESCREPTION" disabled maxlength="-1" border="none"></u--textarea>
<u-form-item label="隐患等级" prop="HIDDEN_LEVEL">
<u--input v-model="model.HIDDEN_LEVELName" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
@ -71,7 +71,7 @@
<u--input v-model="model.RECTIFICATION_MEASURES" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
</u-form-item>
<u-form-item label="检查层级:" prop="Check_Level">
<!-- <u-form-item label="检查层级:" prop="Check_Level">
<u--input v-model="model.DEPARTMENT_TYPEName" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px">
</u--input>
@ -83,7 +83,12 @@
<u-form-item label="检查周期:" prop="Check_Period">
<u--input v-model="model.PLANCHECKFREQUENCYName" disabled disabledColor="#ffffff" border="none" inputAlign="right" fontSize="14px"></u--input>
</u-form-item> -->
<u-form-item label="隐患原因" prop="Nav_Reasons">
<!-- <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="model.ReasonsNAME" border="none"></u--textarea>
<u-form-item label="整改责任人" prop="HIDDEN_PLACE">
<u--input v-model="(model.Nav_RecitifyUser||{}).NAME" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
@ -96,10 +101,10 @@
<view class="upload-title">附件</view>
<full-upload v-model="model.Nav_Files" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<u-form-item label="备注" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.REMARK" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<!-- <u-form-item label="备注" prop="HIDDEN_PLACE" border-bottom>
</u-form-item>
<u-textarea v-model="item.REMARK" disabled placeholder="请填写备注">
</u-textarea> -->
</u--form>
</u--form>
</view>
@ -256,6 +261,14 @@
this.model.CONTEXT = res.CONTEXT ? res.CONTEXT : ''
this.model.RECITIFY_TIME = uni.$u.timeFormat(res.RECITIFY_TIME,
'yyyy-mm-dd')
let ReasonsNAME = ''
if (res.Nav_Reasons && res.Nav_Reasons.length > 0) {
for (let i = 0; i < res.Nav_Reasons.length; i++) {
ReasonsNAME += (ReasonsNAME.length > 0 ? "," : "") + res
.Nav_Reasons[i].Nav_Reason.NAME;
}
}
this.model.ReasonsNAME = ReasonsNAME
this.model.PLANCHECKFREQUENCYName = res.PLANCHECKFREQUENCY !== undefined ? this.enumsData['SKPLANCHECKFREQUENCYEnum'].find(item => item.code === res.PLANCHECKFREQUENCY).name : '';
this.model.DEPARTMENT_TYPEName = res.DEPARTMENT_TYPE !== undefined ? this.enumsData['SKDepartmentTypeEnum'].find(item => item.code === res.DEPARTMENT_TYPE).name : '';
this.model.HIDDEN_LEVELName = res.HIDDEN_LEVEL !== undefined ? this.enumsData['SKHiddenLevel'].find(item => item.code === res.HIDDEN_LEVEL).name : '';

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_CheckNoticeDetails" :key="index">
<view v-for="(item, index) in model.Nav_CheckNoticeDetails.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-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_CheckNoticeDetailUsers">
<uni-tag class="tag" v-for="(i, k) in item.Nav_CheckNoticeDetailUsers.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>
@ -337,7 +337,7 @@
name: name
}
})
} else {
this.comPickerInfo = {
@ -349,7 +349,7 @@
},
onConfirmPicker(e) {
console.log(e,'1111')
console.log(e, '1111')
if (this.comPickerInfo.name == 'SKProductionUnit') {
this.model.Nav_ProductionUnit = e.value[0]
this.model.PRODUCTION_UNIT_ID = e.value[0].ID
@ -426,9 +426,9 @@
Nav_CheckNoticeDetailUsers: [],
})
},
handleDelRowBefore(index) {
this.nowIndex = index
this.showDelModalIndex = index
handleDelRowBefore(item) {
item.IS_DELETED = true
this.$forceUpdate()
},
confirmDel() {
@ -485,16 +485,6 @@
this.$forceUpdate();
},
handleShowSheetForArea(item, todo) {
const validDetails = this.model.Nav_CheckNoticeDetails.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)
@ -502,11 +492,6 @@
let dataSelect = []
var defaultChecked = []
this.selectorInfo.isMultiple = false
json.Limit = 20
if (p.pageIndex) {
json.Start = (p.pageIndex - 1) * json.Limit;
@ -530,6 +515,7 @@
return res.Data
})
} else if (p.name == 'Nav_Contents') {
json.Sort = 'CHECKCONTENT'
if (p.val) {
extendRule(json, 'CHECKCONTENT', 9, p.val);
}
@ -587,22 +573,20 @@
title: this.selectorInfo.title,
val: val,
pageIndex: pageIndex,
index: this.selectorInfo.index
index: this.selectorInfo.index,
itemData: this.selectorInfo.itemData
}
this.handleShowSheet(p)
},
handleSelected(e) {
this.selectorInfo.showPopup = false
const validDetails = this.model.Nav_CheckNoticeDetails.filter(i => !i.IS_DELETED);
const index = this.selectorInfo.index;
const realIndex = this.model.Nav_CheckNoticeDetails.findIndex(item => item === validDetails[index]);
if (this.selectorInfo.name == 'Nav_RiskArea') {
this.model.Nav_CheckNoticeDetails[realIndex].Nav_RiskArea = e;
this.model.Nav_CheckNoticeDetails[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_CheckNoticeDetails[realIndex].Nav_Contents = e;
this.model.Nav_CheckNoticeDetails[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_CheckType') {
this.model.Nav_CheckType = e;
this.model.CHECK_TYPE_ID = e.ID;
@ -612,7 +596,7 @@
},
submit() {
console.log(this.model)
for (let item of this.model.Nav_CheckNoticeDetails) {
for (let item of this.model.Nav_CheckNoticeDetails.filter(i => !i.IS_DELETED)) {
if (item.Nav_CheckNoticeDetailUsers.length == 0) {
uni.showToast({
title: '请选择检查人员',

View File

@ -62,7 +62,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">
@ -70,12 +70,12 @@
{{item.Nav_RiskArea?index+1+'.'+item.Nav_RiskArea.NAME:index+1+'.'}}
</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" style="padding: 0px 0px 0px 10px;">
<u-form-item required label="检查区域:" prop="CHECK_TIME" @click="handleShowSheetForArea(item,{title: '检查区域', name: 'Nav_RiskArea'})">
<u-form-item required 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>
@ -88,7 +88,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 required label="检查内容:" prop="CHECK_TIME" @click="handleShowSheetForArea(item,{title: '检查内容', name: 'Nav_Contents'})">
<u-form-item required 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>
@ -99,20 +99,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-form-item label="隐患等级" prop="HIDDEN_LEVEL" @click="handleChange('SKHiddenLevel',item)" border-bottom>
@ -132,9 +132,9 @@
</u-form-item>
<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--input v-model="item.REMARK" placeholder="请填写备注" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-textarea v-model="item.REMARK" placeholder="请填写备注">
</u-textarea>
</view>
@ -506,14 +506,14 @@
})
},
handleDelQuestion(index) {
this.model.Nav_CheckRecordDetails[index].Nav_Question = {}
this.model.Nav_CheckRecordDetails[index].CHECK_QUESTION_ID = ''
handleDelQuestion(item) {
item.Nav_Question = {}
item.CHECK_QUESTION_ID = ''
this.$forceUpdate()
},
handleDelRowBefore(index) {
this.nowIndex = index
this.showDelModalIndex = index
handleDelRowBefore(item) {
item.IS_DELETED = true
this.$forceUpdate()
},
confirmDel() {
@ -567,15 +567,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')
@ -630,9 +621,8 @@
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 => {
@ -679,26 +669,23 @@
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;
}
},
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: '请选择检查人员',

View File

@ -106,9 +106,9 @@
</u-form-item>
<full-upload v-model="item.Nav_CheckRecordDetailFiles" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<u-form-item label="备注" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.REMARK" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-textarea v-model="item.REMARK" disabled placeholder="请填写备注">
</u-textarea>
</view>
</uni-collapse-item>
</view>

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> -->
@ -131,9 +131,9 @@
</u-form-item>
<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--input v-model="item.REMARK" placeholder="请填写备注" disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<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: '请选择检查人员',

View File

@ -107,9 +107,9 @@
</u-form-item>
<full-upload v-model="item.Nav_CheckRecordDetailFiles" :isShowBtn='false' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
<u-form-item label="备注" prop="HIDDEN_PLACE" border-bottom>
<u--input v-model="item.REMARK" disabled disabledColor="#ffffff" inputAlign="right" fontSize="14px" border="none">
</u--input>
</u-form-item>
<u-textarea v-model="item.REMARK" disabled placeholder="请填写备注">
</u-textarea>
</view>
</uni-collapse-item>
</view>

View File

@ -883,6 +883,17 @@ export function GetRiskTypeInfo(params) {
reject(error)
})
})
}
export function GetNewRiskTypeInfo(params) {
return new Promise((resolve, reject) => {
request.post("/SK/SKRiskType/OrderPaged", params).then((result) => {
if (result.IsSuccessful) {
resolve(result);
}
}).catch((error) => {
reject(error)
})
})
}
export function GetRiskNameInfo(params) {
return new Promise((resolve, reject) => {

View File

@ -8,154 +8,154 @@
* @FilePath : /u-view2.0/uview-ui/components/u-button/props.js
*/
export default {
props: {
// 是否细边框
hairline: {
type: Boolean,
default: uni.$u.props.button.hairline
},
// 按钮的预置样式infoprimaryerrorwarningsuccess
type: {
type: String,
default: uni.$u.props.button.type
},
// 按钮尺寸largenormalsmallmini
size: {
type: String,
default: uni.$u.props.button.size
},
// 按钮形状circle两边为半圆square带圆角
shape: {
type: String,
default: uni.$u.props.button.shape
},
// 按钮是否镂空
plain: {
type: Boolean,
default: uni.$u.props.button.plain
},
// 是否禁止状态
disabled: {
type: Boolean,
default: uni.$u.props.button.disabled
},
// 是否加载中
loading: {
type: Boolean,
default: uni.$u.props.button.loading
},
// 加载中提示文字
loadingText: {
type: [String, Number],
default: uni.$u.props.button.loadingText
},
// 加载状态图标类型
loadingMode: {
type: String,
default: uni.$u.props.button.loadingMode
},
// 加载图标大小
loadingSize: {
type: [String, Number],
default: uni.$u.props.button.loadingSize
},
// 开放能力具体请看uniapp稳定关于button组件部分说明
// https://uniapp.dcloud.io/component/button
openType: {
type: String,
default: uni.$u.props.button.openType
},
// 用于 <form> 组件,点击分别会触发 <form> 组件的 submit/reset 事件
// 取值为submit提交表单reset重置表单
formType: {
type: String,
default: uni.$u.props.button.formType
},
// 打开 APP 时,向 APP 传递的参数open-type=launchApp时有效
// 只微信小程序、QQ小程序有效
appParameter: {
type: String,
default: uni.$u.props.button.appParameter
},
// 指定是否阻止本节点的祖先节点出现点击态,微信小程序有效
hoverStopPropagation: {
type: Boolean,
default: uni.$u.props.button.hoverStopPropagation
},
// 指定返回用户信息的语言zh_CN 简体中文zh_TW 繁体中文en 英文。只微信小程序有效
lang: {
type: String,
default: uni.$u.props.button.lang
},
// 会话来源open-type="contact"时有效。只微信小程序有效
sessionFrom: {
type: String,
default: uni.$u.props.button.sessionFrom
},
// 会话内消息卡片标题open-type="contact"时有效
// 默认当前标题,只微信小程序有效
sendMessageTitle: {
type: String,
default: uni.$u.props.button.sendMessageTitle
},
// 会话内消息卡片点击跳转小程序路径open-type="contact"时有效
// 默认当前分享路径,只微信小程序有效
sendMessagePath: {
type: String,
default: uni.$u.props.button.sendMessagePath
},
// 会话内消息卡片图片open-type="contact"时有效
// 默认当前页面截图,只微信小程序有效
sendMessageImg: {
type: String,
default: uni.$u.props.button.sendMessageImg
},
// 是否显示会话内消息卡片,设置此参数为 true用户进入客服会话会在右下角显示"可能要发送的小程序"提示,
// 用户点击后可以快速发送小程序消息open-type="contact"时有效
showMessageCard: {
type: Boolean,
default: uni.$u.props.button.showMessageCard
},
// 额外传参参数用于小程序的data-xxx属性通过target.dataset.name获取
dataName: {
type: String,
default: uni.$u.props.button.dataName
},
// 节流,一定时间内只能触发一次
throttleTime: {
type: [String, Number],
default: uni.$u.props.button.throttleTime
},
// 按住后多久出现点击态,单位毫秒
hoverStartTime: {
type: [String, Number],
default: uni.$u.props.button.hoverStartTime
},
// 手指松开后点击态保留时间,单位毫秒
hoverStayTime: {
type: [String, Number],
default: 500
},
// 按钮文字之所以通过props传入是因为slot传入的话
// nvue中无法控制文字的样式
text: {
type: [String, Number],
default: uni.$u.props.button.text
},
// 按钮图标
icon: {
type: String,
default: uni.$u.props.button.icon
},
// 按钮图标
iconColor: {
type: String,
default: uni.$u.props.button.icon
},
// 按钮颜色支持传入linear-gradient渐变色
color: {
type: String,
default: uni.$u.props.button.color
}
}
}
props: {
// 是否细边框
hairline: {
type: Boolean,
default: uni.$u.props.button.hairline
},
// 按钮的预置样式infoprimaryerrorwarningsuccess
type: {
type: String,
default: uni.$u.props.button.type
},
// 按钮尺寸largenormalsmallmini
size: {
type: String,
default: uni.$u.props.button.size
},
// 按钮形状circle两边为半圆square带圆角
shape: {
type: String,
default: uni.$u.props.button.shape
},
// 按钮是否镂空
plain: {
type: Boolean,
default: uni.$u.props.button.plain
},
// 是否禁止状态
disabled: {
type: Boolean,
default: uni.$u.props.button.disabled
},
// 是否加载中
loading: {
type: Boolean,
default: uni.$u.props.button.loading
},
// 加载中提示文字
loadingText: {
type: [String, Number],
default: uni.$u.props.button.loadingText
},
// 加载状态图标类型
loadingMode: {
type: String,
default: uni.$u.props.button.loadingMode
},
// 加载图标大小
loadingSize: {
type: [String, Number],
default: uni.$u.props.button.loadingSize
},
// 开放能力具体请看uniapp稳定关于button组件部分说明
// https://uniapp.dcloud.io/component/button
openType: {
type: String,
default: uni.$u.props.button.openType
},
// 用于 <form> 组件,点击分别会触发 <form> 组件的 submit/reset 事件
// 取值为submit提交表单reset重置表单
formType: {
type: String,
default: uni.$u.props.button.formType
},
// 打开 APP 时,向 APP 传递的参数open-type=launchApp时有效
// 只微信小程序、QQ小程序有效
appParameter: {
type: String,
default: uni.$u.props.button.appParameter
},
// 指定是否阻止本节点的祖先节点出现点击态,微信小程序有效
hoverStopPropagation: {
type: Boolean,
default: uni.$u.props.button.hoverStopPropagation
},
// 指定返回用户信息的语言zh_CN 简体中文zh_TW 繁体中文en 英文。只微信小程序有效
lang: {
type: String,
default: uni.$u.props.button.lang
},
// 会话来源open-type="contact"时有效。只微信小程序有效
sessionFrom: {
type: String,
default: uni.$u.props.button.sessionFrom
},
// 会话内消息卡片标题open-type="contact"时有效
// 默认当前标题,只微信小程序有效
sendMessageTitle: {
type: String,
default: uni.$u.props.button.sendMessageTitle
},
// 会话内消息卡片点击跳转小程序路径open-type="contact"时有效
// 默认当前分享路径,只微信小程序有效
sendMessagePath: {
type: String,
default: uni.$u.props.button.sendMessagePath
},
// 会话内消息卡片图片open-type="contact"时有效
// 默认当前页面截图,只微信小程序有效
sendMessageImg: {
type: String,
default: uni.$u.props.button.sendMessageImg
},
// 是否显示会话内消息卡片,设置此参数为 true用户进入客服会话会在右下角显示"可能要发送的小程序"提示,
// 用户点击后可以快速发送小程序消息open-type="contact"时有效
showMessageCard: {
type: Boolean,
default: uni.$u.props.button.showMessageCard
},
// 额外传参参数用于小程序的data-xxx属性通过target.dataset.name获取
dataName: {
type: String,
default: uni.$u.props.button.dataName
},
// 节流,一定时间内只能触发一次
throttleTime: {
type: [String, Number],
default: uni.$u.props.button.throttleTime
},
// 按住后多久出现点击态,单位毫秒
hoverStartTime: {
type: [String, Number],
default: uni.$u.props.button.hoverStartTime
},
// 手指松开后点击态保留时间,单位毫秒
hoverStayTime: {
type: [String, Number],
default: uni.$u.props.button.hoverStayTime
},
// 按钮文字之所以通过props传入是因为slot传入的话
// nvue中无法控制文字的样式
text: {
type: [String, Number],
default: uni.$u.props.button.text
},
// 按钮图标
icon: {
type: String,
default: uni.$u.props.button.icon
},
// 按钮图标
iconColor: {
type: String,
default: uni.$u.props.button.icon
},
// 按钮颜色支持传入linear-gradient渐变色
color: {
type: String,
default: uni.$u.props.button.color
}
}
}