Procházet zdrojové kódy

地图添加学校筛选

230320a303 před 2 roky
rodič
revize
a566781d2c

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/index.html


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/static/css/chunk-088b36d8.6545a920.css


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/static/css/chunk-62498021.733e9e2d.css


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/static/js/app.33dfd038.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/static/js/chunk-088b36d8.f032989b.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
dist/static/js/chunk-62498021.15d520d7.js


+ 48 - 11
src/views/map/components/popup/MapTextEdit.vue

@@ -47,17 +47,17 @@ export default {
       fillColor: '#ff003f',
       strokeColor: '#ff003f',
       colorArr: [
-        {color: '#fb6557'}, 
-        {color: '#ff9149'}, 
+        {color: '#fb6557', t: '专本科'}, 
+        {color: '#ff9149', t: '幼儿园'}, 
         // {color: '#9f7df4'}, 
-        {color: '#60c68b'}, 
+        {color: '#60c68b', t: ''}, 
         // {color: '#4da4ee'}, 
-        {color: '#e77ad4'}
+        {color: '#e77ad4', t: ''}
       ],
       colorArr2: [
-        {color: '#ff0', t: '新'}, 
-        {color: '#9f7df4', t: '二手'}, 
-        {color: '#ff7fbf', t: '教育'}, 
+        {color: '#ff0', t: '新楼盘'}, 
+        {color: '#9f7df4', t: '二手'}, 
+        {color: '#ff7fbf', t: '中小学'}, 
         {color: '#ff003f', t: '商业'}, 
         {color: '#007299', t: '公共'}, 
         {color: '#00ff3f', t: '公园'}, 
@@ -65,12 +65,14 @@ export default {
       ],
       cObj: {},
       estateObj: {},
+      schoolObj: {},
     }
   },
   watch: {
     isShow: function(val) {
       if (val) {
         this.estateObj = {}
+        this.schoolObj = {}
         this.cObj = JSON.parse(JSON.stringify(this.curObj))
         this.getDef()
       }
@@ -79,12 +81,20 @@ export default {
   methods: {
     getDef (str) {
       let params = { ...this.curObj.obj }
-      let remoteOptions = []
+      let remoteEstateOptions = []
       if (params.estateObj) {
         const estateObj = JSON.parse(params.estateObj)
         if (estateObj.id) {
           params.estate_id = estateObj.id
-          remoteOptions = [{ keyRO: estateObj.estate_name, valRO: estateObj.id }]
+          remoteEstateOptions = [{ keyRO: estateObj.estate_name, valRO: estateObj.id }]
+        }
+      }
+      let remoteSchoolOptions = []
+      if (params.schoolObj) {
+        const schoolObj = JSON.parse(params.schoolObj)
+        if (schoolObj.id) {
+          params.school_id = schoolObj.id
+          remoteSchoolOptions = [{ keyRO: schoolObj.school_name, valRO: schoolObj.id }]
         }
       }
       if (str === 'color') {
@@ -97,7 +107,15 @@ export default {
         const oldform = this.$refs.ruleForm.baseForm
         params = {...oldform}
         params.text = this.estateObj.estate_name
-        remoteOptions = [{ keyRO: this.estateObj.estate_name, valRO: this.estateObj.id }]
+        remoteEstateOptions = [{ keyRO: this.estateObj.estate_name, valRO: this.estateObj.id }]
+        params.school_id = ''
+      }
+      if (str === 'school') {
+        const oldform = this.$refs.ruleForm.baseForm
+        params = {...oldform}
+        params.text = this.schoolObj.school_name
+        remoteSchoolOptions = [{ keyRO: this.schoolObj.school_name, valRO: this.schoolObj.id }]
+        params.estate_id = ''
       }
       if (!params.text) params.text = '标题示例'
       if (!params.strokeStyle) params.strokeStyle = 'solid'
@@ -110,7 +128,11 @@ export default {
         this.formData = [
           { label: '关联楼盘', key: 'estate_id', type: 'selectRemote', changeHandle: this.estateChange,
             remoteParams: { skey: 'estate_name', api: `house.admestatelist`, opKey: 'estate_name', opVal: 'id' },
-            remoteOptions
+            remoteOptions: remoteEstateOptions
+          },
+          { label: '关联学校', key: 'school_id', type: 'selectRemote', changeHandle: this.schoolChange,
+            remoteParams: { skey: 'school_name', api: `school.admschoollist`, opKey: 'school_name', opVal: 'id' },
+            remoteOptions: remoteSchoolOptions
           },
           { label: '标题', key: 'text', rules: 1},
           { label: '填充色', key: 'fillColor', type: 'colorPicker', rules: 1},
@@ -145,6 +167,17 @@ export default {
         }
       this.getDef('estate')
     },
+    schoolChange (val, op, valObj) {
+      this.schoolObj = {
+        id: valObj.id,
+        school_name: valObj.school_name,
+        pri_image: valObj.pri_image,
+        school_attrib: valObj.school_attrib,
+        school_type: valObj.school_type,
+        remarked: valObj.remarked,
+      }
+      this.getDef('school')
+    },
     colorHandle (item) {
       this.fillColor = item.color
       this.strokeColor = item.color
@@ -159,6 +192,9 @@ export default {
             if (this.estateObj && this.estateObj.id) {
               newForm.estateObj = JSON.stringify(this.estateObj)
             }
+            if (this.schoolObj && this.schoolObj.id) {
+              newForm.schoolObj = JSON.stringify(this.schoolObj)
+            }
             if (this.curObj.obj) {
               this.$emit('close', newForm, 'edit')
             } else {
@@ -205,6 +241,7 @@ export default {
     opacity: .6;
     color: #000;
     user-select: none;
+    font-size: 12px;
     &.cur {
       opacity: 1;
       color: #fff;

+ 24 - 2
src/views/map/dtl.vue

@@ -295,8 +295,11 @@ export default {
           const lnglatObj = e.lnglat
           const cObj = that.polygons[that.polygonIndex]
           const estateObj = cObj.estateObj ? JSON.parse(cObj.estateObj) : {}
+          const schoolObj = cObj.schoolObj ? JSON.parse(cObj.schoolObj) : {}
           const typeObj = {
-            '#ff0': '新房用地',
+            '#fb6557': '专本科',
+            '#ff9149': '幼儿园',
+            '#ff0': '新楼盘',
             '#9f7df4': '二手房',
             '#ff7fbf': '教育用地',
             '#ff003f': '商业用地',
@@ -329,6 +332,23 @@ export default {
                 </div>
               </div>
             `
+          } else if (schoolObj.id) {
+            const saObj = arrToObj(that.$dictData.school_attrib)
+            const stObj = arrToObj(that.$dictData.school_type)
+            that.winObj.content = `
+              <div style="border-radius: 6px;overflow:hidden;background:#fff;box-shadow: 0 0 3px #ccc;">
+                <div style="font-weight: bold;color:#fff;padding: 10px 10px;background:#409eff;user-select: none;margin-bottom: 10px;text-align: left;">${cObj.text}</div>
+                <div style="display: flex;padding-left: 10px;">
+                  <div style="width: 100px;">
+                    <img style="width: 100px;height: auto;" src="${schoolObj.pri_image}_xs" />
+                  </div>
+                  <div style="width: 260px;">
+                    <div style="padding: 0 10px 6px;color: #999;font-size: 12px;color: #f00;font-weight: bold;">${saObj[schoolObj.school_attrib]}、${stObj[schoolObj.school_type]}</div>
+                    <div style="padding: 0 10px 6px;color: #999;font-size: 12px;">备注:${schoolObj.remarked}</div>
+                  </div>
+                </div>
+              </div>
+            `
           } else {
             that.winObj.content = `
               <div style="border-radius: 6px;overflow:hidden;background:#fff;box-shadow: 0 0 3px #ccc;">
@@ -851,7 +871,8 @@ export default {
           strokeWeight: 2, // 轮廓宽度
           strokeOpacity: 0.8, // 轮廓透明度
           text: obj.text,
-          estateObj: obj.estateObj || '{}'
+          estateObj: obj.estateObj || '{}',
+          schoolObj: obj.schoolObj || '{}'
         })
         that.polygons = [...polygons]
         mouseTool.close(true)
@@ -1003,6 +1024,7 @@ export default {
             tempData[index].strokeColor = obj.strokeColor
             tempData[index].strokeStyle = obj.strokeStyle
             tempData[index].estateObj = obj.estateObj || '{}'
+            tempData[index].schoolObj = obj.schoolObj || '{}'
           }
           this[str] = [...tempData]
           this.$storage(`map_${str}`, JSON.stringify(tempData))

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů