Przeglądaj źródła

设施环境适配全局配置

luoaoxuan 1 rok temu
rodzic
commit
307de56505

+ 22 - 0
src/utils/query.js

@@ -0,0 +1,22 @@
+/**
+ * 获取全局配置对象
+ * @param {*} that
+ * @param {*} module
+ * @param {*} key
+ * @returns
+ */
+export const getSetting = async (that, module, key) => {
+    try {
+        const org = that.$store.getters.level.first || ''
+        const sql = `select setting from t_ipcc where org_ = '${org}' limit 1`
+        const { variables: { data = [] } = {}} = await that.$common.request('sql', sql)
+        if (data.length > 0 && data[0]?.setting) {
+            const setting = data[0].setting?.replace(/\n/g, '')
+            const res = JSON.parse(setting)
+            return res?.[module]?.[key]
+        }
+        return null
+    } catch (error) {
+        return that.$message.warning('数据库字段配置错误!')
+    }
+}

+ 4 - 19
src/views/component/device/index.vue

@@ -343,6 +343,7 @@
 </template>
 
 <script>
+import { getSetting } from '@/utils/query'
 import image01 from '@/assets/images/device/01.png'
 import image02 from '@/assets/images/device/02.png'
 import image03 from '@/assets/images/device/03.png'
@@ -623,30 +624,14 @@ export default {
         }
     },
     async mounted () {
-        this.getDatas()
-        const stateList = await this.getSetting('device', 'stateList')
+        const stateList = await getSetting(this, 'device', 'stateList')
         if (stateList) {
+            console.debug(stateList)
             this.stateList = stateList
         }
+        this.getDatas()
     },
     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('数据库字段配置错误!')
-            }
-        },
         ImageAllUrl (row) {
             if (row && row.buMen) {
                 const imgId = row.buMen.split(',')

+ 3 - 19
src/views/platform/risk/riskV2.vue

@@ -253,6 +253,7 @@
 </template>
 
 <script>
+import { getSetting } from '@/utils/query'
 import dayjs from 'dayjs'
 import RiskPeopleTable from './riskPeopleTable.vue'
 import ibpsUserSelector from '@/business/platform/org/selector'
@@ -403,8 +404,9 @@ export default {
     },
 
     async mounted () {
-        const culWays = await this.getSetting('risk', 'culWays')
+        const culWays = await getSetting(this, 'risk', 'culWays')
         if (culWays) {
+            console.debug(culWays)
             this.culWays = culWays
         }
         this.init()
@@ -415,24 +417,6 @@ 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_}'`

+ 30 - 22
src/views/system/fasc/facilityEnvConfig.vue

@@ -30,7 +30,7 @@
                                         <el-option
                                             v-for="(value,key) in config"
                                             :key="key"
-                                            :label="key.split('-')[1]"
+                                            :label="value['label'] || key.split('-')[1]"
                                             :value="key"
                                         />
                                     </el-select>
@@ -220,6 +220,7 @@
 </template>
 
 <script>
+import { getSetting } from '@/utils/query'
 import ibpsUserSelector from '@/business/platform/org/selector'
 import xlsx from 'xlsx'
 import fs from 'file-saver'
@@ -319,74 +320,76 @@ export default {
             ],
             config: {
                 '01-室内温湿度监控': {
-                    keyword: '',
-                    path: '/sshjgl/wdjc/snwsdjkcd'
+                    label: '室内温湿度监控',
+                    path: '/sshjgl/wdjc/snwsdjkcd',
+                    showDevice: false
                 },
                 '02-冰箱温度监控': {
-                    keyword: '冰箱,冰柜,冷藏,冷冻,低温,恒温,生化培养箱',
+                    label: '冰箱温度监控',
                     path: '/sshjgl/wdjc/bxwdjc',
                     showDevice: true
                 },
                 '03-温浴箱温度监控': {
-                    keyword: '',
+                    label: '温浴箱温度监控',
                     path: '/sshjgl/wdjc/wyxwdjkywh',
                     showDevice: true
                 },
                 '04-阴凉柜温度监控': {
-                    keyword: '',
+                    label: '阴凉柜温度监控',
                     path: '/sshjgl/wdjc/ylgwdjc',
                     showDevice: true
                 },
                 '05-纯水机水质监测': {
-                    keyword: '',
+                    label: '纯水机水质监测',
                     path: '/sshjgl/csjszjcb',
                     showDevice: true
                 },
                 '06-每日安全检查': {
-                    keyword: '',
-                    path: '/sshjgl/aqgl/mraqjc'
+                    label: '每日安全检查',
+                    path: '/sshjgl/aqgl/mraqjc',
+                    showDevice: false
                 },
                 // '07-每月安全检查': {
                 //     keyword: '',
                 //     path: '/sshjgl/aqgl/myaqjc'
                 // },
                 '08-含氯有效性监测': {
-                    keyword: '',
-                    path: '/sshjgl/aqgl/hlyxxjc'
+                    label: '含氯有效性监测',
+                    path: '/sshjgl/aqgl/hlyxxjc',
+                    showDevice: false
                 },
                 // '09-紫外灯辐照测定': {
-                //     keyword: '',
                 //     path: '/sshjgl/aqgl/zwdfzd',
-                //     showDevice: true
                 // },
                 '10-洗眼器检查': {
-                    keyword: '',
+                    label: '洗眼器检查',
                     path: '/sshjgl/aqgl/xyqjc',
                     showDevice: true
                 },
                 '11-紧急淋浴器检查': {
-                    keyword: '',
+                    label: '紧急淋浴器检查',
                     path: '/sshjgl/aqgl/jjlyqjc',
                     showDevice: true
                 },
                 '12-紫外灯消毒': {
-                    keyword: '',
+                    label: '紫外灯消毒',
                     path: '/sshjgl/aqgl/jykzwdxdjlb',
                     showDevice: true
                 },
                 '13-高压灭菌': {
-                    keyword: '',
+                    label: '高压灭菌',
                     path: '/sshjgl/aqgl/gymjjlb',
                     showDevice: true
                 },
                 '14-空气消毒机': {
-                    keyword: '',
+                    label: '空气消毒机',
                     path: '/sshjgl/aqgl/xdjsyjlb',
                     showDevice: true
                 },
                 '15-日常防护消毒': {
-                    keyword: '',
-                    path: '/sshjgl/aqgl/rcfhxd'
+                    label: '日常防护消毒',
+                    path: '/sshjgl/aqgl/rcfhxd',
+                    showDevice: false
                 }
             },
             subIdList: [],
@@ -405,7 +408,7 @@ export default {
             return this.isSearch ? this.searchData : this.subForm
         },
         isShowDevice () {
-            return this.form.lei_xing_ !== '' && this.form.lei_xing_ !== '01-室内温湿度监控' && this.form.lei_xing_ !== '06-每日安全检查' && this.form.lei_xing_ !== '08-含氯有效性监测' && this.form.lei_xing_ !== '15-日常防护消毒'
+            return this.config[this.form.lei_xing_]?.showDevice
         },
         deviceIsRequired () {
             return this.form.lei_xing_ === '02-冰箱温度监控' || this.form.lei_xing_ === '05-纯水机水质监测' || this.form.lei_xing_ === '03-温浴箱温度监控' || this.form.lei_xing_ === '04-阴凉柜温度监控'
@@ -459,7 +462,12 @@ export default {
             }
         }
     },
-    mounted () {
+    async mounted () {
+        const config = await getSetting(this, 'facilityEnv', 'typeList')
+        if (config) {
+            console.debug(config)
+            this.config = config
+        }
         this.init()
         if (this.isEdit) {
             this.loadData()