Browse Source

多选框修改

devilhell 2 years ago
parent
commit
3ab48cc4d6

+ 19 - 25
imcs-bt-fe/imcs-bt-fe/imcs-ui/src/views/zuihou/place/components/Edit.vue

@@ -1,9 +1,9 @@
 <!--
  * @Author: wangj
  * @Date: 2023-02-19 13:54:14
- * @LastEditors: wangj
- * @LastEditTime: 2023-02-26 16:06:50
- * @FilePath: \code\src\views\zuihou\place\components\Edit.vue
+ * @LastEditors: @EXtreeDesigner
+ * @LastEditTime: 2023-03-02 00:11:53
+ * @FilePath: \imcs-ui\src\views\zuihou\place\components\Edit.vue
  * @Description: 
 -->
 <template>
@@ -14,17 +14,14 @@
         <el-input v-model.trim="place.plcName" placeholder="场地名称"/>
       </el-form-item>
       <el-form-item :label="$t('place.area')" prop="regionIds">
-                <!-- <el-select class="from-item" v-model="org.regionIds" placeholder="请选择">
-                <el-option
-                  v-for="item in areaList"
-                  :key="item.id"
-                  :label="item.name"
-                  :value="item.id">
-                </el-option>
-              </el-select> -->
-          <el-checkbox-group v-model="place.regionIds" size="mini">
-            <el-checkbox-button v-for="item in areaList" :label="item.name" :key="item.id">{{item.name}}</el-checkbox-button>
-          </el-checkbox-group>
+        <el-select class="from-item"  v-model="place.regionIds" multiple placeholder="请选择">
+          <el-option
+            v-for="item in areaList"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id">
+          </el-option>
+        </el-select>
       </el-form-item>
       <el-form-item :label="$t('place.add')" prop="selectedOptions">
         <el-cascader
@@ -176,15 +173,8 @@ export default {
       return this.$t("common." + this.type);
     },
     res:function(){
-        const r = this.place
-        r.regionIds = this.place.regionIds.map(e => {
-          for (let i=0; i< this.areaList.length; i++){
-            const item = this.areaList[i]
-            if(e === item.name){
-              return item.id
-            }
-          }
-        }).join()
+        const r = JSON.parse(JSON.stringify(this.place))
+        r.regionIds = this.place.regionIds.join()
         return r
       }
   },
@@ -296,7 +286,7 @@ export default {
       if (val['row']) {
         console.log("编辑,row=" + JSON.stringify(val['row']))
         const data = JSON.parse(JSON.stringify(val['row']))
-        data.regionIds = data.regions? data.regions.split(',') : []
+        data.regionIds = data.regionIds? data.regionIds.split(',') : []
         vm.place = data;
       }
     },
@@ -365,4 +355,8 @@ export default {
   }
 };
 </script>
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+  .from-item{
+    width:100%
+  }
+</style>

+ 16 - 23
imcs-bt-fe/imcs-bt-fe/imcs-ui/src/views/zuihou/user/org/Index.vue

@@ -54,17 +54,17 @@
                 <el-input v-model="org.abbreviation"/>
               </el-form-item>
               <el-form-item :label="$t('table.org.area')" prop="regionIds">
-                <!-- <el-select class="from-item" v-model="org.regionIds" placeholder="请选择">
-                <el-option
-                  v-for="item in areaList"
-                  :key="item.id"
-                  :label="item.name"
-                  :value="item.id">
-                </el-option>
-              </el-select> -->
-              <el-checkbox-group v-model="org.regionIds" size="mini">
+                <el-select class="from-item"  v-model="org.regionIds" multiple placeholder="请选择">
+                  <el-option
+                    v-for="item in areaList"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.id">
+                  </el-option>
+                </el-select>
+              <!-- <el-checkbox-group v-model="org.regionIds" size="mini">
                 <el-checkbox-button v-for="item in areaList" :label="item.name" :key="item.id">{{item.name}}</el-checkbox-button>
-              </el-checkbox-group>
+              </el-checkbox-group> -->
               </el-form-item>
               <el-form-item :label="$t('table.org.describe')" prop="describe">
                 <el-input v-model="org.describe"/>
@@ -154,15 +154,8 @@
     },
     computed:{
       res:function(){
-        const r = this.org
-        r.regionIds = this.org.regionIds.map(e => {
-          for (let i=0; i< this.areaList.length; i++){
-            const item = this.areaList[i]
-            if(e === item.name){
-              return item.id
-            }
-          }
-        }).join()
+        const r = JSON.parse(JSON.stringify(this.org))
+        r.regionIds = this.org.regionIds.join()
         return r
       }
     },
@@ -241,7 +234,7 @@
       },
       nodeClick(e) {
         const data = JSON.parse(JSON.stringify(e))
-        data.regionIds = data.regions? data.regions.split(',') : []
+        data.regionIds = data.regionIds? data.regionIds.split(',') : []
         this.org = {...data}
         this.$refs.form.clearValidate()
       }
@@ -373,7 +366,7 @@
       border-bottom: 1px solid #f1f1f1 !important;
     }
   }
-  // .from-item{
-  //   width:100%
-  // }
+  .from-item{
+    width:100%
+  }
 </style>