浏览代码

修复bug

DESKTOP-SVI9JE1\muzen 1 年之前
父节点
当前提交
d276815c1e
共有 2 个文件被更改,包括 24 次插入9 次删除
  1. 14 5
      src/views/music/radio/detail.vue
  2. 10 4
      src/views/operation/map/detail.vue

+ 14 - 5
src/views/music/radio/detail.vue

@@ -11,7 +11,7 @@
         </el-select>
       </el-form-item>
       <el-form-item label="城市筛选:" prop="cascader">
-        <el-cascader v-model="form.cascader" :options="mapOptions" placeholder="请选择省市区"  clearable
+        <el-cascader v-model="form.cascader" :options="mapOptions" placeholder="请选择省市区" clearable
           :props="{ value: 'id', label: 'name', children: 'childList', checkStrictly: true }" style="width: 100%" />
       </el-form-item>
       <el-form-item v-if="form.platformId !== 4" label="地域分类:" prop="addressClassifyId">
@@ -65,7 +65,7 @@ export default {
           required: true, message: '请输入电台名称', trigger: 'blur'
         }],
         cascader: [{
-          required: true, message: '请选择省市区', trigger: 'change'
+          type: 'array', required: true, message: '请选择省市区', trigger: 'change'
         }],
         addressClassifyId: [{
           required: true, message: '请选择地域分类', trigger: 'change'
@@ -104,21 +104,30 @@ export default {
       detail(this.form.id).then(res => {
         if (res.code === 0) {
           this.form = res.data
-          this.form.cascader = [res.data.province, res.data.city, res.data.area]
+          this.$set(this.form, 'cascader', [res.data.province])
+          if (res.data.city) {
+            this.form.cascader[1] = res.data.city
+          }
+          if (res.data.area) {
+            this.form.cascader[2] = res.data.area
+          }
         }
       })
     },
+
     // 上传
     upload(e) {
       this.form.thumb = e.file
     },
+
     // 确定
     getSubmit() {
+      console.log(this.form);
       this.$refs.form.validate((valid) => {
         if (valid) {
           this.form.province = this.form.cascader[0]
-          this.form.city = this.form.cascader[1]
-          this.form.area = this.form.cascader[2]
+          this.form.city = this.form.cascader[1] ? this.form.cascader[1] : null
+          this.form.area = this.form.cascader[2] ? this.form.cascader[2] : null
           submit(this.form).then(res => {
             if (res.code === 0) {
               this.$message.success(`提交成功!`)

+ 10 - 4
src/views/operation/map/detail.vue

@@ -35,7 +35,7 @@
 import { mapMixin } from '@/mixin/index'
 import { detail, submit } from '@/api/operation/map'
 export default {
-  mixins: [ mapMixin ],
+  mixins: [mapMixin],
   data() {
     return {
       // 表单
@@ -80,7 +80,13 @@ export default {
       detail(this.$route.query.id).then(res => {
         if (res.code === 0) {
           this.form = res.data
-          this.form.cascader = [res.data.province, res.data.city, res.data.area]
+          this.$set(this.form, 'cascader', [res.data.province])
+          if (res.data.city) {
+            this.form.cascader[1] = res.data.city
+          }
+          if (res.data.area) {
+            this.form.cascader[2] = res.data.area
+          }
         }
       })
     },
@@ -99,8 +105,8 @@ export default {
       this.$refs.form.validate((valid) => {
         if (valid) {
           this.form.province = this.form.cascader[0]
-          this.form.city = this.form.cascader[1]
-          this.form.area = this.form.cascader[2]
+          this.form.city = this.form.cascader[1] ? this.form.cascader[1] : null
+          this.form.area = this.form.cascader[2] ? this.form.cascader[2] : null
           submit(this.form).then(res => {
             if (res.code === 0) {
               this.$message.success('提交成功!')