Kaynağa Gözat

设施环境配置联动数据优化

luoaoxuan 1 yıl önce
ebeveyn
işleme
6b06a21f55
1 değiştirilmiş dosya ile 54 ekleme ve 78 silme
  1. 54 78
      src/views/system/fasc/fecDialog.vue

+ 54 - 78
src/views/system/fasc/fecDialog.vue

@@ -50,41 +50,46 @@
                         </el-col>
                     </el-row>
                     <el-row>
-                        <el-col :span="12">
-                            <el-form-item label="区域:">
-                                <el-select v-model="form.qu_yu_" placeholder="请选择" size="mini" style="width:80%">
-                                    <el-option
-                                        v-for="item in quYuList"
-                                        :key="item.id_"
-                                        :label="item.qu_yu_ming_cheng_"
-                                        :value="item.qu_yu_ming_cheng_"
-                                    />
-                                </el-select>
-                            </el-form-item>
-                        </el-col>
                         <el-col :span="12">
                             <el-form-item v-if="lei_xing_!=='01-室内温湿度监控'" label="房间:">
-                                <el-select v-model="form.fang_jian_id_" placeholder="请选择" size="mini" style="width:80%">
-                                    <el-option
-                                        v-for="item in fangJianList"
-                                        :key="item.id_"
-                                        :label="item.fang_jian_ming_ha"
-                                        :value="item.id_"
-                                    />
-                                </el-select>
+                                <ibps-link-data
+                                    v-model="form.fang_jian_"
+                                    style="width:80%"
+                                    size="mini"
+                                    template-key="fjzly"
+                                    :multiple="false"
+                                    :temp-search="true"
+                                    label-value="fang_jian_ming_ha"
+                                    value-key="fang_jian_ming_ha"
+                                    @change-link-data="fangJianChange"
+                                />
                             </el-form-item>
                             <el-form-item v-else label="房间:">
                                 <template slot="label">
                                     <span class="required">房间:</span>
                                 </template>
-                                <el-select v-model="form.fang_jian_id_" placeholder="请选择" size="mini" style="width:80%">
-                                    <el-option
-                                        v-for="item in fangJianList"
-                                        :key="item.id_"
-                                        :label="item.fang_jian_ming_ha"
-                                        :value="item.id_"
-                                    />
-                                </el-select>
+                                <ibps-link-data
+                                    v-model="form.fang_jian_"
+                                    style="width:80%"
+                                    size="mini"
+                                    template-key="fjzly"
+                                    :multiple="false"
+                                    :temp-search="true"
+                                    label-value="fang_jian_ming_ha"
+                                    value-key="fang_jian_ming_ha"
+                                    @change-link-data="fangJianChange"
+                                />
+                            </el-form-item>
+                        </el-col>
+                        <el-col v-show="form.qu_yu_" :span="12">
+                            <el-form-item label="区域:">
+                                <template slot="label">
+                                    <span>区域</span>
+                                    <el-tooltip effect="dark" content="区域由房间自动带出" placement="top">
+                                        <i class="el-icon-question question-icon">:</i>
+                                    </el-tooltip>
+                                </template>
+                                <span>{{ form.qu_yu_ }}</span>
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -98,6 +103,9 @@
                                     template-key="jksbxz"
                                     :multiple="false"
                                     :temp-search="true"
+                                    label-value="deviceInfo"
+                                    value-key="deviceInfo"
+                                    @change-link-data="deviceno2Change"
                                 />
                             </el-form-item>
                         </el-col>
@@ -120,11 +128,18 @@
                                     placeholder="请选择设备"
                                     icon="el-icon-search"
                                     style="width:80%"
+                                    @change-link-data="deviceno1Change"
                                 />
                             </el-form-item>
                         </el-col>
                         <el-col v-show="form.devicename1_" :span="12">
                             <el-form-item label="被控设备/设施名称:" label-width="140">
+                                <template slot="label">
+                                    <span>被控设备/设施名称</span>
+                                    <el-tooltip effect="dark" content="选择设备后自动带出名称" placement="top">
+                                        <i class="el-icon-question question-icon">:</i>
+                                    </el-tooltip>
+                                </template>
                                 <div>{{ form.devicename1_ }}</div>
                             </el-form-item>
                         </el-col>
@@ -318,8 +333,6 @@ export default {
                 kai_shi_shi_jian_: ''
             },
             isEdit: false,
-            quYuList: [],
-            fangJianList: [],
             nextDate: '',
             dayCheck: [],
             weekCheck: '',
@@ -354,38 +367,6 @@ export default {
         }
     },
     watch: {
-        'form.deviceno1_': {
-            async handler (val) {
-                if (val) {
-                    const sql = `select * from t_sbdj where find_in_set(yuan_she_bei_bian, '${val}')`
-                    const { variables: { data }} = await this.$common.request('sql', sql)
-                    if (data.length > 0) {
-                        this.form.deviceid1_ = data[0].id_
-                        this.form.devicename1_ = data[0].she_bei_ming_cheng_
-                    } else {
-                        this.form.deviceid1_ = ''
-                        this.form.devicename1_ = ''
-                    }
-                }
-            }
-        },
-        'form.fang_jian_id_': {
-            handler (val) {
-                if (val) {
-                    const temp = this.fangJianList.find(item => item.id_ === val)
-                    this.form.fang_jian_ = temp ? temp.fang_jian_ming_ha : ''
-                }
-            }
-        },
-        'form.deviceno2_': {
-            async handler (val) {
-                if (val) {
-                    const sql = `select * from v_devicemaintenance where deviceInfo='${val}'`
-                    const { variables: { data }} = await this.$common.request('sql', sql)
-                    this.form.deviceid2_ = data.length > 0 ? data[0].deviceId : ''
-                }
-            }
-        },
         'form.jian_ce_zhou_qi_' (val, old) {
             if (!old) return
             this.dayCheck = []
@@ -513,29 +494,24 @@ export default {
             // immediate: true
         }
     },
-    mounted () {
-        this.init()
-    },
     methods: {
+        deviceno1Change (key, data) {
+            this.form.deviceid1_ = data.id_
+            this.form.devicename1_ = data.she_bei_ming_cheng_
+        },
+        deviceno2Change (key, data) {
+            this.form.deviceid2_ = data.deviceId
+        },
+        fangJianChange (key, data) {
+            this.form.fang_jian_id_ = data.id_
+            this.form.qu_yu_ = data.qu_yu_
+        },
         // 接收自定义组件数据
         onFacilityData (...arg) {
             if (arg.length > 1) {
                 this.form.lie_biao_shu_ju_ = arg[1]
             }
         },
-        init () {
-            const pos = this.$store.getters.level.second ? this.$store.getters.level.second : this.$store.getters.level.first
-            const sql1 = `select * from t_qypzb where di_dian_='${pos}'`
-            this.$common.request('sql', sql1).then(res => {
-                const { data = [] } = res.variables || {}
-                this.quYuList = data
-            })
-            const sql2 = `select * from t_jjqfjb where di_dian_='${pos}'`
-            this.$common.request('sql', sql2).then(res => {
-                const { data = [] } = res.variables || {}
-                this.fangJianList = data.filter(item => item.fang_jian_ming_ha)
-            })
-        },
         // 格式化数据
         formatForm () {
             // 监测日期格式化