riku
2025-09-18 c1d2051abc8ca88cd07f0d7c56c0dbf8165d5c33
src/components/search-option/FYOptionLocation.vue
@@ -6,7 +6,8 @@
      :options="locations"
      :placeholder="placeholder"
      :props="optionProps"
      style="width: 280px"
      style="width: 320px"
      v-bind="$attrs"
    />
  </el-form-item>
</template>
@@ -21,7 +22,7 @@
      type: Boolean,
      default: true
    },
    // 查询的行政级别,取值1,2,3,4
    // 查询的行政级别,取值1,2,3,4, 5, 6
    level: {
      type: Number,
      default: 4
@@ -38,9 +39,12 @@
      type: Boolean,
      default: true
    },
    prop: String
    prop: {
      type: String,
      default: '_locations'
    }
  },
  emits: ['update:value'],
  emits: ['update:value', 'change'],
  data() {
    return {
      locations: enumLocation(this.allOption, this.level),
@@ -51,7 +55,7 @@
  },
  computed: {
    placeholder() {
      const list = '省/市/区/镇'.split('/');
      const list = '省/市/区/镇/集/物'.split('/');
      const p = [];
      for (let i = 0; i < this.level; i++) {
        p.push(list[i]);
@@ -65,6 +69,7 @@
  methods: {
    handleChange(value) {
      this.$emit('update:value', this.optionFormat(value));
      this.$emit('change', this.optionFormat(value));
    },
    /**
     * 地区选项结果格式化
@@ -78,7 +83,11 @@
        dCode: null,
        dName: null,
        tCode: null,
        tName: null
        tName: null,
        aCode: null,
        aName: null,
        mCode: null,
        mName: null,
      };
      if (val.length > 0) {
        res.pCode = val[0][0];
@@ -96,6 +105,14 @@
        res.tCode = val[3][0];
        res.tName = val[3][1];
      }
      if (val.length > 4) {
        res.aCode = val[4][0];
        res.aName = val[4][1];
      }
      if (val.length > 5) {
        res.mCode = val[5][0];
        res.mName = val[5][1];
      }
      return res;
    },
    optionFormatReverse(val) {
@@ -113,6 +130,12 @@
        if (val.tName) {
          res.push([val.tCode, val.tName]);
        }
        if (val.aName) {
          res.push([val.aCode, val.aName]);
        }
        if (val.mName) {
          res.push([val.mCode, val.mName]);
        }
      }
      return res;
    }