Browse Source

风险计算方式使用全局配置

luoaoxuan 1 year ago
parent
commit
67efbb3d6a
1 changed files with 37 additions and 8 deletions
  1. 37 8
      src/views/platform/risk/riskV2.vue

+ 37 - 8
src/views/platform/risk/riskV2.vue

@@ -36,8 +36,8 @@
                         <div style="display:flex">
                             <span class="required-star">*</span>
                             <ibps-user-selector
+                                v-model="infoFxssbData.bian_zhi_bu_men_"
                                 type="position"
-                                :value="infoFxssbData.bian_zhi_bu_men_"
                                 readonly-text="text"
                                 :disabled="readonly"
                                 :multiple="false"
@@ -139,13 +139,12 @@
                     <el-descriptions-item label="范围" :span="2">
                         <el-input v-model="infoFxssbData.fan_wei_" :disabled="readonly" size="mini" />
                     </el-descriptions-item>
-                    <el-descriptions-item label="方法" :span="1">
+                    <el-descriptions-item label="方法" :span="onlyoneWay?2:1">
                         <el-input v-model="infoFxssbData.fang_fa_" :disabled="readonly" size="mini" />
                     </el-descriptions-item>
-                    <el-descriptions-item label="风险系数计算方式" :span="1">
+                    <el-descriptions-item v-if="!onlyoneWay" label="风险系数计算方式" :span="1">
                         <span class="required-star">*</span>
-                        <el-radio v-model="infoFxssbData.ji_suan_fang_shi_" label="1" size="mini" :disabled="isEdit">风险矩阵法</el-radio>
-                        <el-radio v-model="infoFxssbData.ji_suan_fang_shi_" label="2" size="mini" :disabled="isEdit">FMEA法
+                        <el-radio v-for="(v,k) in culWays" :key="k" v-model="infoFxssbData.ji_suan_fang_shi_" :label="k" size="mini" :disabled="isEdit">{{ v }}
                         </el-radio>
                     </el-descriptions-item>
 
@@ -349,7 +348,14 @@ export default {
             isZuZhang: true,
             isFinished: false,
             preParams: {},
-            Ids: []
+            Ids: [],
+            culWays: { '1': '风险矩阵法', '2': 'FMEA法' }
+        }
+    },
+    computed: {
+        onlyoneWay () {
+            const keys = Object.keys(this.culWays)
+            return keys.length === 1
         }
     },
     watch: {
@@ -396,7 +402,11 @@ export default {
         }
     },
 
-    mounted () {
+    async mounted () {
+        const culWays = await this.getSetting('risk', 'culWays')
+        if (culWays) {
+            this.culWays = culWays
+        }
         this.init()
     },
     beforeDestroy () {
@@ -405,6 +415,24 @@ export default {
         }
     },
     methods: {
+        // 获取全局配置对象
+        async getSetting (module, key) {
+            try {
+                const org = this.$store.getters.level.first || ''
+                const sql = `select setting from t_ipcc where org_ = '${org}' limit 1`
+                const { variables: { data = [] } = {}} = await this.$common.request('sql', sql)
+                if (data.length > 0 && data[0]?.setting) {
+                    const setting = JSON.parse(data[0].setting)
+                    const res = setting?.[module]?.[key]
+                    console.log(res)
+                    return res
+                }
+                return null
+            } catch (error) {
+                return this.$message.warning('数据库字段配置错误!')
+            }
+        },
+
         // 获取最新数据
         async getNewData () {
             const sql = `select * from t_fxpgjlb2 where id_='${this.params.id_}'`
@@ -778,7 +806,7 @@ export default {
                 if (this.isEdit) {
                     await this.goEdit(flag)
                 } else {
-                    this.$confirm('风险类型和风险系数计算公式保存后不可再修改,是否继续?', '提示', {
+                    this.$confirm(`风险类型${this.onlyoneWay ? '' : '和风险系数计算公式'}保存后不可再修改,是否继续?`, '提示', {
                         confirmButtonText: '继续',
                         cancelButtonText: '取消',
                         type: 'warning'
@@ -888,6 +916,7 @@ export default {
                 this.$nextTick(() => {
                     this.infoFxssbData.shi_wu_shuo_ming_ = `年度:${this.infoFxssbData.nian_du_};组长:${this.infoFxssbData.zu_chang_};评估开始日期:${this.infoFxssbData.kai_shi_ri_qi_};风险类型:${this.infoFxssbData.feng_xian_lei_xin}`
                 })
+                this.onlyoneWay && (this.infoFxssbData.ji_suan_fang_shi_ = Object.keys(this.culWays)[0])
             }
         }
     }