diff --git a/src/assets/js/asyncRouter.js b/src/assets/js/asyncRouter.js
index a39cdce..4550006 100644
--- a/src/assets/js/asyncRouter.js
+++ b/src/assets/js/asyncRouter.js
@@ -568,6 +568,16 @@ export default [
},
],
},
+ {
+ path: "/continuous_improvement/risk_analysis",
+ meta: { title: "风险分析", isSubMenu: false },
+ component: "continuous_improvement/risk_analysis/index",
+ },
+ {
+ path: "/continuous_improvement/enterprise_report",
+ meta: { title: "企业报告", isSubMenu: false },
+ component: "continuous_improvement/enterprise_report/index",
+ },
],
},
{
diff --git a/src/assets/js/data_dictionary.js b/src/assets/js/data_dictionary.js
index b72b135..ac1b35b 100644
--- a/src/assets/js/data_dictionary.js
+++ b/src/assets/js/data_dictionary.js
@@ -83,6 +83,13 @@ export const layoutFnGetRiskLevel = async () => {
});
return ref(resData.list);
};
+// 风险成因
+export const layoutFnGetRiskCauses = async () => {
+ const resData = await getLevels({
+ DICTIONARIES_ID: "1bacbc4c1f6544718519c0d470dfeb62",
+ });
+ return ref(resData.list);
+};
// 部门级别
export const layoutFnGetDepartmentLevel = async () => {
const resData = await getLevels({
diff --git a/src/components/risk_add/index.vue b/src/components/risk_add/index.vue
index d3dba8c..f748067 100644
--- a/src/components/risk_add/index.vue
+++ b/src/components/risk_add/index.vue
@@ -1,5 +1,5 @@
-
+
@@ -204,6 +204,7 @@
+
@@ -241,10 +242,14 @@ const props = defineProps({
type: Boolean,
default: false,
},
+ rules: {
+ type: Object,
+ default: () => ({}),
+ },
});
const emits = defineEmits(["update:form"]);
const form = useVModel(props, "form", emits);
-const rules = {
+const defineRules = {
USER_ID: [{ required: true, message: "管控责任人不能为空", trigger: "blur" }],
RISK_DESCR: [
{ required: true, message: "存在风险不能为空", trigger: "blur" },
@@ -285,6 +290,7 @@ const rules = {
IDENTIFICATION_ID: [
{ required: true, message: "辨识部位不能为空", trigger: "change" },
],
+ ...props.rules,
};
const formRef = ref(null);
const infoIsEmpty = ref(isEmpty(props.info));
@@ -317,6 +323,9 @@ watch(
([LIKELIHOOD, EXPOSURE, CONSEQUENCE]) => {
if (!LIKELIHOOD || !EXPOSURE || !CONSEQUENCE) return;
fnGetLevelName(LIKELIHOOD, EXPOSURE, CONSEQUENCE);
+ },
+ {
+ immediate: true,
}
);
const fnGetUnitList = async () => {
diff --git a/src/request/continuous_improvement.js b/src/request/continuous_improvement.js
new file mode 100644
index 0000000..d2f509b
--- /dev/null
+++ b/src/request/continuous_improvement.js
@@ -0,0 +1,13 @@
+import { post } from "@/request/axios.js";
+
+export const setHazardAnalysisSubmit = (params) =>
+ post("/riskpointanalysis/add", params); // 隐患分析提交
+export const getRiskAnalysisList = (params) =>
+ post("/riskpointanalysis/list", params); // 风险分析列表
+export const setRiskAnalysisRepulse = (params) =>
+ post("/riskpointanalysis/delete", params); // 风险分析打回
+export const setRiskAnalysisAdopt = (params) =>
+ post("/riskpointanalysis/apply", params); // 风险分析通过
+// 企业报告 start
+
+// 企业报告 end
diff --git a/src/views/continuous_improvement/enterprise_report/index.vue b/src/views/continuous_improvement/enterprise_report/index.vue
new file mode 100644
index 0000000..43a96e1
--- /dev/null
+++ b/src/views/continuous_improvement/enterprise_report/index.vue
@@ -0,0 +1,7 @@
+
+ 111
+
+
+
+
+
diff --git a/src/views/continuous_improvement/hazard_analysis/components/analysis.vue b/src/views/continuous_improvement/hazard_analysis/components/analysis.vue
new file mode 100644
index 0000000..3afcaa7
--- /dev/null
+++ b/src/views/continuous_improvement/hazard_analysis/components/analysis.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+ 是
+ 否
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
diff --git a/src/views/continuous_improvement/hazard_analysis/index.vue b/src/views/continuous_improvement/hazard_analysis/index.vue
index 4d8ea3e..b15039a 100644
--- a/src/views/continuous_improvement/hazard_analysis/index.vue
+++ b/src/views/continuous_improvement/hazard_analysis/index.vue
@@ -124,11 +124,18 @@
>
查看
- 分析
+
+ 分析
+
+
@@ -139,6 +146,9 @@ import useListData from "@/assets/js/useListData.js";
import LayoutDepartment from "@/components/department/index.vue";
import { getHiddenDangerList } from "@/request/hidden_danger_government.js";
import { layoutFnGetHazardLevel } from "@/assets/js/data_dictionary.js";
+import { nextTick, reactive } from "vue";
+import Analysis from "./components/analysis.vue";
+import { getRiskControlLedgerView } from "@/request/risk_control.js";
const stateList = [
{ NAME: "未整改", ID: "1" },
@@ -152,6 +162,27 @@ const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getHiddenDangerList, {
otherParams: { STATE: 4, DISPOSESTATE: "-1", ANALYSIS: 1 },
});
+const data = reactive({
+ analysisDialog: {
+ visible: false,
+ form: {
+ DEPARTMENT_ID: "",
+ USER_ID: "",
+ RISK_UNIT_ID: "",
+ IDENTIFICATION_ID: "",
+ RISK_DESCR: "",
+ LIKELIHOOD: "",
+ EXPOSURE: "",
+ CONSEQUENCE: "",
+ LEVEL_NAME: "",
+ DANGER: "",
+ MEASURES: "",
+ ACCIDENTS: [],
+ EME_MEASURES: "",
+ IS_NEW: 1,
+ },
+ },
+});
const fnGetDataTransfer = () => {
fnGetData({
STARTTIME: searchForm.value.dates?.[0],
@@ -167,6 +198,24 @@ const fnResetPaginationTransfer = () => {
});
};
const hazardLevelList = await layoutFnGetHazardLevel();
+const fnAnalysis = async ({
+ HIDDEN_ID,
+ RISKPOINT_ID,
+ HIDDENDESCR,
+ RECTIFYDESCR,
+}) => {
+ data.analysisDialog.visible = true;
+ await nextTick();
+ if (RISKPOINT_ID) {
+ const resData = await getRiskControlLedgerView({ RISKPOINT_ID });
+ resData.pd.IS_NEW = 0;
+ data.analysisDialog.form = resData.pd;
+ data.analysisDialog.form.ACCIDENTS = resData.pd.ACCIDENTS.split(",");
+ data.analysisDialog.form.RISK_DESCR += HIDDENDESCR;
+ data.analysisDialog.form.MEASURES += RECTIFYDESCR;
+ }
+ data.analysisDialog.form.HIDDEN_ID = HIDDEN_ID;
+};
diff --git a/src/views/continuous_improvement/risk_analysis/components/analysis.vue b/src/views/continuous_improvement/risk_analysis/components/analysis.vue
new file mode 100644
index 0000000..b4e9050
--- /dev/null
+++ b/src/views/continuous_improvement/risk_analysis/components/analysis.vue
@@ -0,0 +1,146 @@
+
+
+
+
+ {{ info.RISKUNITNAME }}
+
+
+ {{ info.PARTSNAME }}
+
+
+ {{ info.RISK_DESCR }}
+
+
+ 完全可以预料
+ 相当可能
+ 可能,但不经常
+ 可能性小,完全意外
+ 很不可能,可以设想
+ 极不可能
+ 实际不可能
+
+
+ {{ info.LIKELIHOOD }}
+
+
+ 连续暴露
+ 每天工作时间内暴露
+ 每周一次或偶然暴露
+ 每月一次暴露,完全意外
+ 每年几次暴露
+ 非常罕见暴露
+
+
+ {{ info.EXPOSURE }}
+
+
+ 10人以上死亡
+ 3~9人死亡
+ 1~2人死亡
+ 严重
+ 重大,伤残
+ 引人注意
+
+
+ {{ info.CONSEQUENCE }}
+
+
+ {{ info.DNAME5 }}
+
+
+ {{ info.DANGER }}
+
+
+ {{ info.MEASURES }}
+
+
+ {{ info.DEPT_NAME_ALL }}
+
+
+ {{ info.USER_ID }}
+
+
+ {{ info.ACCIDENTS_NAME }}
+
+
+ {{ info.EME_MEASURES }}
+
+
+ {{ info.IS_NEW === 1 ? "是" : "否" }}
+
+
+
+
+
+
+
+
+ 通过
+ 打回
+ 关闭
+
+
+
+
+
+
+
diff --git a/src/views/continuous_improvement/risk_analysis/index.vue b/src/views/continuous_improvement/risk_analysis/index.vue
new file mode 100644
index 0000000..6bb2d23
--- /dev/null
+++ b/src/views/continuous_improvement/risk_analysis/index.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+ 重置
+
+
+
+
+
+
+
+
+
+
+ {{ serialNumber(pagination, $index) }}
+
+
+
+
+
+
+
+
+ 低风险/D级
+
+
+ 一般风险/C级
+
+
+ 较大风险/B级
+
+
+ 重大风险/A级
+
+
+
+
+
+
+
+ {{ row.STATUS === 1 ? "已审核" : "未审核" }}
+
+
+
+
+
+ 分析
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/hazard_investigation/inventory_management/add.vue b/src/views/hazard_investigation/inventory_management/add.vue
index 0ab7db4..95bcd9e 100644
--- a/src/views/hazard_investigation/inventory_management/add.vue
+++ b/src/views/hazard_investigation/inventory_management/add.vue
@@ -343,7 +343,7 @@ const fnGetData = async () => {
data.form = resData.pd;
data.form.dates = [resData.pd.START_DATE, resData.pd.END_DATE];
data.list = resData.varList;
- data.listAll = resData.varList;
+ data.listAll = [...resData.varList];
};
fnGetData();
const fnGetInspectionItems = async () => {
@@ -389,7 +389,7 @@ const fnGetDataFilter = () => {
item.USERNAME?.indexOf(keyword) > -1
);
} else {
- data.list = data.listAll;
+ data.list = [...data.listAll];
}
fnTableSelection();
};
diff --git a/src/views/hidden_danger_government/rectification/rectification.vue b/src/views/hidden_danger_government/rectification/rectification.vue
index a5b539d..c613075 100644
--- a/src/views/hidden_danger_government/rectification/rectification.vue
+++ b/src/views/hidden_danger_government/rectification/rectification.vue
@@ -476,7 +476,7 @@ watch(
}
);
const fnChoice = (item) => {
- data.RECTIFYDESCR = item.RECTIFYDESCR;
+ data.form.RECTIFYDESCR = item.RECTIFYDESCR;
};
const fnSubmit = debounce(
1000,