diff --git a/src/components/analEvaluation.component.vue b/src/components/analEvaluation.component.vue
index 1b38237..ff6181e 100644
--- a/src/components/analEvaluation.component.vue
+++ b/src/components/analEvaluation.component.vue
@@ -2,11 +2,11 @@
基本信息
+ @actionCallback="callback" :isReadonly="analyIsReadonly" @change="handleChange" ref="basicForm">
风险评估
+ @actionCallback="callback" @change="handleRiskChange" :isReadonly="analyIsReadonly" ref="riskForm">
管控措施
残余风险评估
+ @actionCallback="analyCallback" :actions="analyIsReadonly ? [] : measureActions" :full-btn="true"
+ btnPosition="center" @change="handleSubRiskChange" :isReadonly="analyIsReadonly" ref="remantRiskForm">
@@ -213,7 +213,7 @@ export default class AnalEvaluationComponent extends Vue {
@Prop()
//评估方法
- public checkRiskType :any;
+ public checkRiskType: any;
//基本信息
public subBasicOptions: FormOption[] = [];
@@ -226,6 +226,7 @@ export default class AnalEvaluationComponent extends Vue {
require: true,
width: "calc(50% - 20px)",
disable: true,
+ showError: false,
}, {
name: "作业地点",
key: "location",
@@ -233,6 +234,7 @@ export default class AnalEvaluationComponent extends Vue {
require: true,
width: "calc(50% - 20px)",
disable: true,
+ showError: false,
},
{
name: "责任人",
@@ -241,6 +243,7 @@ export default class AnalEvaluationComponent extends Vue {
require: true,
width: "calc(50% - 20px)",
disable: true,
+ showError: false,
}, {
name: "作业人",
key: "workerName",
@@ -248,6 +251,7 @@ export default class AnalEvaluationComponent extends Vue {
require: true,
width: "calc(50% - 20px)",
disable: true,
+ showError: false,
},
{
name: "作业步骤描述",
@@ -256,13 +260,15 @@ export default class AnalEvaluationComponent extends Vue {
require: true,
width: "calc(100% - 20px)",
disable: true,
+ showError: false,
},
{
name: "风险源",
key: "riskSource",
type: "text",
require: true,
- width: "calc(50% - 20px)"
+ width: "calc(50% - 20px)",
+ showError: false,
},
{
name: "最严重后果",
@@ -274,13 +280,15 @@ export default class AnalEvaluationComponent extends Vue {
width: "calc(50% - 20px)",
datas: this.$store.state.prevention_serious_result,
filterable: true,
+ showError: false,
},
{
name: "危害分析",
key: "hazardAnalysis",
type: "textarea",
require: true,
- width: "calc(100% - 20px)"
+ width: "calc(100% - 20px)",
+ showError: false,
},
{
name: "安全警示标识",
@@ -292,6 +300,7 @@ export default class AnalEvaluationComponent extends Vue {
width: "calc(50% - 20px)",
datas: this.$store.state.prevention_security_identifier,
filterable: true,
+ showError: false,
},
{
name: "设置复评时间",
@@ -301,7 +310,7 @@ export default class AnalEvaluationComponent extends Vue {
width: "calc(50% - 20px)",
require: true,
showError: false,
- format: "yyyy-MM-dd"
+ format: "yyyy-MM-dd",
},
];
} else {
@@ -312,6 +321,7 @@ export default class AnalEvaluationComponent extends Vue {
require: true,
width: "calc(50% - 20px)",
disable: true,
+ showError: false,
}, {
name: "设备类型",
key: "deviceType",
@@ -320,7 +330,8 @@ export default class AnalEvaluationComponent extends Vue {
require: true,
width: "calc(50% - 20px)",
disable: true,
- datas: this.$store.state.prevention_device_type
+ datas: this.$store.state.prevention_device_type,
+ showError: false,
},
{
name: "责任人",
@@ -329,6 +340,7 @@ export default class AnalEvaluationComponent extends Vue {
require: true,
width: "calc(50% - 20px)",
disable: true,
+ showError: false,
},
{
name: "检查项目",
@@ -337,6 +349,7 @@ export default class AnalEvaluationComponent extends Vue {
require: true,
width: "calc(50% - 20px)",
disable: true,
+ showError: false,
},
{
name: "检查标准",
@@ -345,13 +358,15 @@ export default class AnalEvaluationComponent extends Vue {
require: true,
width: "calc(50% - 20px)",
disable: true,
+ showError: false,
},
{
name: "风险源",
key: "riskSource",
type: "text",
require: true,
- width: "calc(50% - 20px)"
+ width: "calc(50% - 20px)",
+ showError: false,
},
{
name: "最严重后果",
@@ -363,13 +378,15 @@ export default class AnalEvaluationComponent extends Vue {
width: "calc(50% - 20px)",
datas: this.$store.state.prevention_serious_result,
filterable: true,
+ showError: false,
},
{
name: "危害分析",
key: "hazardAnalysis",
type: "text",
require: true,
- width: "calc(100% - 20px)"
+ width: "calc(100% - 20px)",
+ showError: false,
},
{
name: "安全警示标识",
@@ -381,6 +398,7 @@ export default class AnalEvaluationComponent extends Vue {
width: "calc(50% - 20px)",
datas: this.$store.state.prevention_security_identifier,
filterable: true,
+ showError: false,
},
{
name: "设置复评时间",
@@ -390,7 +408,7 @@ export default class AnalEvaluationComponent extends Vue {
width: "calc(50% - 20px)",
require: true,
showError: false,
- format: "yyyy-MM-dd"
+ format: "yyyy-MM-dd",
},
];
}
@@ -405,6 +423,7 @@ export default class AnalEvaluationComponent extends Vue {
type: "checkbox",
width: "calc(50% - 20px)",
require: true,
+ showError: false,
datas: [{
name: "LS法",
value: 'LS',
@@ -422,7 +441,8 @@ export default class AnalEvaluationComponent extends Vue {
require: true,
width: "calc(50% - 20px)",
disable: true,
- datas: this.$store.state.prevention_risk_level
+ datas: this.$store.state.prevention_risk_level,
+ showError: false,
}, {
name: "管控层级",
key: "riskControlLevel",
@@ -431,6 +451,7 @@ export default class AnalEvaluationComponent extends Vue {
require: true,
width: "calc(50% - 20px)",
datas: this.$store.state.prevention_control_level,
+ showError: false,
}];
}
public triTableActions = [{
@@ -447,6 +468,16 @@ export default class AnalEvaluationComponent extends Vue {
value: "save",
type: "primary"
}];
+ public measureActions = [
+ {
+ name: "取消",
+ value: "cancel"
+ }, {
+ name: "保存",
+ value: "store",
+ type: "primary"
+ }
+ ];
//残余风险评估
public subRemnantsOptions: FormOption[] = [];
public remainUpdateForm() {
@@ -456,6 +487,7 @@ export default class AnalEvaluationComponent extends Vue {
type: "checkbox",
width: "calc(50% - 20px)",
require: true,
+ showError: false,
datas: [{
name: "LS法",
value: 'LS'
@@ -469,6 +501,7 @@ export default class AnalEvaluationComponent extends Vue {
format: "remainLevelName",
type: "select",
require: true,
+ showError: false,
width: "calc(50% - 20px)",
disable: true,
datas: this.$store.state.prevention_risk_level
@@ -602,7 +635,7 @@ export default class AnalEvaluationComponent extends Vue {
}
public buildTable() {
- this.triTableColumn.push({ name: '序号', key: "index",width:"80px" });
+ this.triTableColumn.push({ name: '序号', key: "index", width: "80px" });
this.triTableColumn.push({
name: '管控方法', key: "controlWayName", render: (data) => {
if (data.controlWay) {
@@ -1076,55 +1109,75 @@ export default class AnalEvaluationComponent extends Vue {
//Emit false
if (data.value === "cancel") {
this.visible = false;
- } else if (data.value === "save") {
-
- const tmpUpdateParams = JSON.parse(JSON.stringify(this.updateParams))
- // this.analysisUpdateParams.measures = this.currentMeasureData.datas
- this.analysisUpdateParams.measuresNum = this.analysisUpdateParams.measures.length
- this.analysisUpdateParams.seriousResult = this.analysisUpdateParams.seriousResult.join(",")
- this.analysisUpdateParams.safetySign = this.analysisUpdateParams.safetySign.join(",")
- this.analysisUpdateParams.riskChoose = this.analysisUpdateParams.riskChoose.join(",")
- this.analysisUpdateParams.remainChoose = this.analysisUpdateParams.remainChoose.join(",")
- let diff = moment(this.analysisUpdateParams.reviewStartTime).diff(moment().subtract(1, 'day'), "months")
- if (diff > 0) {
- this.analysisUpdateParams.status = 2
+ } else if (data.value === "store") {
+ let vaildParams = true
+ if ((this.$refs.basicForm as any).vaildParams() === false) {
+ //基本信息
+ vaildParams = false
}
- if (this.analysisUpdateParams.riskChoose.indexOf('LS') === -1) {
- this.analysisUpdateParams.riskLsValue = null
+ if ((this.$refs.riskForm as any).vaildParams() === false) {
+ //风险
+ vaildParams = false
}
-
- if (this.analysisUpdateParams.riskChoose.indexOf('LEC') === -1) {
- this.analysisUpdateParams.riskLecValue = null
+ if ((this.$refs.remantRiskForm as any).vaildParams() === false) {
+ //残余风险
+ vaildParams = false
}
+ if (vaildParams === true) {
+ const tmpUpdateParams = JSON.parse(JSON.stringify(this.updateParams))
+ // this.analysisUpdateParams.measures = this.currentMeasureData.datas
+ //整理数据
+ this.collationAnalysisDataMethod();
- if (this.analysisUpdateParams.remainChoose.indexOf('LS') === -1) {
- this.analysisUpdateParams.remainLsValue = null
- }
+ tmpUpdateParams.steps.splice(tmpUpdateParams.steps.findIndex((item: any) => item.id === this.analysisUpdateParams.id), 1, this.analysisUpdateParams)
- if (this.analysisUpdateParams.remainChoose.indexOf('LEC') === -1) {
- this.analysisUpdateParams.remainLecValue = null
- }
+ const riskLevel = tmpUpdateParams.steps.map((item) => item.riskLevel ? item.riskLevel : 0);
+ const maxRiskLevel = Math.max(...riskLevel);
+ const remainRiskLevel = tmpUpdateParams.steps.map((item) => item.remainLevel ? item.remainLevel : 0);
+ const maxRemainRiskLevel = Math.max(...remainRiskLevel);
- tmpUpdateParams.steps.splice(tmpUpdateParams.steps.findIndex(item => item.id === this.analysisUpdateParams.id), 1, this.analysisUpdateParams)
-
- const riskLevel = tmpUpdateParams.steps.map((item) => item.riskLevel ? item.riskLevel : 0);
- const maxRiskLevel = Math.max(...riskLevel);
- const remainRiskLevel = tmpUpdateParams.steps.map((item) => item.remainLevel ? item.remainLevel : 0);
- const maxRemainRiskLevel = Math.max(...remainRiskLevel);
-
- if (!tmpUpdateParams.analRiskLevel) {
- const areaData = this.areaList.find((itm: any) => itm.value === tmpUpdateParams.areaId) as any;
- tmpUpdateParams.analRiskLevel = areaData.analRiskLevel
- }
- tmpUpdateParams.riskLevel = maxRiskLevel > tmpUpdateParams.analRiskLevel ? maxRiskLevel : tmpUpdateParams.analRiskLevel
- tmpUpdateParams.remainRiskLevel = maxRemainRiskLevel
- if (this.type === "device") {
- if (tmpUpdateParams.items) {
- tmpUpdateParams.items = tmpUpdateParams.steps
+ if (!tmpUpdateParams.analRiskLevel) {
+ const areaData = this.areaList.find((itm: any) => itm.value === tmpUpdateParams.areaId) as any;
+ tmpUpdateParams.analRiskLevel = areaData.analRiskLevel
}
+ tmpUpdateParams.riskLevel = maxRiskLevel > tmpUpdateParams.analRiskLevel ? maxRiskLevel : tmpUpdateParams.analRiskLevel
+ tmpUpdateParams.remainRiskLevel = maxRemainRiskLevel
+ if (this.type === "device") {
+ if (tmpUpdateParams.items) {
+ tmpUpdateParams.items = tmpUpdateParams.steps
+ }
+ }
+ this.updateParams = tmpUpdateParams
+ this.visible = false;
}
- this.updateParams = tmpUpdateParams
- this.visible = false;
+
+ }
+ }
+
+ public collationAnalysisDataMethod() {
+ this.analysisUpdateParams.measuresNum = this.analysisUpdateParams.measures.length;
+ this.analysisUpdateParams.seriousResult = this.analysisUpdateParams.seriousResult.join(",");
+ this.analysisUpdateParams.safetySign = this.analysisUpdateParams.safetySign.join(",");
+ this.analysisUpdateParams.riskChoose = this.analysisUpdateParams.riskChoose.join(",");
+ this.analysisUpdateParams.remainChoose = this.analysisUpdateParams.remainChoose.join(",");
+ let diff = moment(this.analysisUpdateParams.reviewStartTime).diff(moment().subtract(1, 'day'), "months");
+ if (diff > 0) {
+ this.analysisUpdateParams.status = 2;
+ }
+ if (this.analysisUpdateParams.riskChoose.indexOf('LS') === -1) {
+ this.analysisUpdateParams.riskLsValue = null;
+ }
+
+ if (this.analysisUpdateParams.riskChoose.indexOf('LEC') === -1) {
+ this.analysisUpdateParams.riskLecValue = null;
+ }
+
+ if (this.analysisUpdateParams.remainChoose.indexOf('LS') === -1) {
+ this.analysisUpdateParams.remainLsValue = null;
+ }
+
+ if (this.analysisUpdateParams.remainChoose.indexOf('LEC') === -1) {
+ this.analysisUpdateParams.remainLecValue = null;
}
}
diff --git a/src/components/measure.component.vue b/src/components/measure.component.vue
index 3bb6910..16ae591 100644
--- a/src/components/measure.component.vue
+++ b/src/components/measure.component.vue
@@ -164,6 +164,7 @@ export default class MeasureComponent extends Vue {
width: "100%",
labelWidth: '210px',
require: true,
+ showError:false,
datas: [
{
name: "否",
@@ -184,6 +185,7 @@ export default class MeasureComponent extends Vue {
datas: this.taskType,
expandLevel: Infinity,
disable: !(this.taskUpdataParams.insuranceDutyFlag === 1),
+ showError:false,
}, {
name: "包保任务对应项",
key: "taskItem",
@@ -194,13 +196,14 @@ export default class MeasureComponent extends Vue {
expandLevel: Infinity,
showError: false,
hide: !(this.taskUpdataParams.insuranceDutyFlag === 1),
- datas: this.taskItem
+ datas: this.taskItem,
}, {
name: "隐患排查任务",
key: "name",
type: "textarea",
width: "100%",
require: true,
+ showError:false,
}, {
name: "执行岗位",
key: "executePostCode",
@@ -209,6 +212,7 @@ export default class MeasureComponent extends Vue {
width: "calc(50% - 20px)",
require: true,
datas: this.$store.state.postList,
+ showError:false,
},
{
name: "责任人",
@@ -218,12 +222,14 @@ export default class MeasureComponent extends Vue {
width: "calc(50% - 20px)",
require: true,
datas: this.$store.state.userList,
+ showError:false,
}, {
name: "排查周期 每隔",
key: "reviewCycleValue",
type: "number",
width: "calc(50% - 20px)",
require: true,
+ showError:false,
// labelWidth:"130px"
}, {
key: "reviewCycleUnit",
@@ -232,12 +238,14 @@ export default class MeasureComponent extends Vue {
format: 'reviewCycleValueName',
datas: this.$store.state.prevention_cycle_unit,
width: "calc(30% - 20px)",
+ showError:false,
}, {
name: "1次",
key: "times",
type: 'null',
width: "30px",
- labelWidth: "50px"
+ labelWidth: "50px",
+ showError:false,
}, {
name: "工作开始时间",
key: "startTime",
@@ -245,6 +253,7 @@ export default class MeasureComponent extends Vue {
width: "calc(50% - 20px)",
require: true,
hide: !(this.taskUpdataParams.reviewCycleUnit === 7),
+ showError:false,
}, {
name: "工作结束时间",
key: "endTime",
@@ -252,6 +261,7 @@ export default class MeasureComponent extends Vue {
width: "calc(50% - 20px)",
require: true,
hide: !(this.taskUpdataParams.reviewCycleUnit === 7),
+ showError:false,
},{
name: "开始执行时间",
key: "executeStartTime",
@@ -260,6 +270,7 @@ export default class MeasureComponent extends Vue {
subType:'datetime',
width: "calc(50% - 20px)",
require: true,
+ showError:false,
},]
}
diff --git a/src/views/hiddenDanger/common.component.html b/src/views/hiddenDanger/common.component.html
index 6c0416a..3466cf5 100644
--- a/src/views/hiddenDanger/common.component.html
+++ b/src/views/hiddenDanger/common.component.html
@@ -51,7 +51,8 @@
@click="changeState(scope.row)">启用
停用
- 检查情况
+ 检查情况
+ 最新检查情况
检查