panhui 6 年之前
父節點
當前提交
8391ecbe1b

+ 33 - 1
src/main/vue/src/components/CoordinateSelect.vue

@@ -23,7 +23,7 @@
         <el-amap-search-box
             class="search-box"
             :search-option="searchOption"
-            :on-search-result="onSearchResult">
+            :on-search-result="onSearchResult" id='searchBox'>
         </el-amap-search-box>
         <div class="btn-locate" @click="locate">
             <i :class="{'el-icon-loading':locating,'el-icon-location-outline':!locating}"></i>
@@ -34,6 +34,8 @@
         <div class="btn-plus" @click="setZoom(1)">
             <i class="el-icon-plus"></i>
         </div>
+
+        <el-button class="close-btn" @click="closeMap" type="danger" icon="el-icon-close" circle></el-button>
     </div>
 </template>
 <script>
@@ -86,6 +88,7 @@
             }
         },
         created() {
+            
             if (this.center) {
                 this.mapCenter = this.center;
             }
@@ -93,6 +96,12 @@
                 this.mapCenter = this.value;
                 this.marker = this.value;
             }
+           
+        },
+        mounted(){
+             setTimeout(()=>{
+                document.getElementById('searchBox').childNodes[0].childNodes[0].setAttribute('placeholder','输入名称进行搜索')
+            },100)
         },
         methods: {
             locate() {
@@ -147,6 +156,9 @@
                         }
                     })
                 })
+            },
+            closeMap(){
+                this.$emit('closeMap')
             }
         },
         watch: {
@@ -241,4 +253,24 @@
         box-shadow: 0 2px 2px rgba(0, 0, 0, .15);
         position: relative;
     }
+
+    .amap-demo {
+      height: 300px;
+    }
+
+    .search-box {
+      position: absolute;
+      top: 25px;
+      left: 20px;
+    }
+
+    .amap-page-container {
+      position: relative;
+    }
+
+    .close-btn{
+        position: absolute;
+        right: -10px;
+        top:-10px;
+    }
 </style>

+ 51 - 27
src/main/vue/src/pages/AreaShowPoint.vue

@@ -32,31 +32,34 @@
         <el-form-item prop="remark" label="备注">
           <el-input v-model="formData.remark" :disabled="checkSubColumn('remark')"></el-input>
         </el-form-item>
-        <el-form-item prop="mapX" label="X">
-          <el-input v-model="formData.mapX" :disabled="checkSubColumn('mapX')" disabled></el-input>
-        </el-form-item>
-        <el-form-item prop="mapY" label="Y">
-          <el-input v-model="formData.mapY" :disabled="checkSubColumn('mapY')" disabled></el-input>
-        </el-form-item>
-        <el-form-item prop="mapIndex" label="index">
-          <el-input v-model="formData.mapIndex" :disabled="checkSubColumn('mapIndex')" disabled></el-input>
-        </el-form-item>
-
-        <el-form-item>
-          <el-button type="text" @click="mapDialogVisible = !mapDialogVisible">点击打开地图选择地址</el-button>
-
-          <div class="amap-page-container" v-if="mapDialogVisible">
-            <coordinate-select :value="[formData.longitude||118.79647,formData.latitude||32.05838]" @selected="coordinateSelected" v-if="mapDialogVisible"></coordinate-select>
-          </div>
-        </el-form-item>
-
-        <el-form-item prop="longitude" label="经度">
-          <el-input v-model="formData.longitude" :disabled="'longitude'==subColumn"></el-input>
-        </el-form-item>
-
-        <el-form-item prop="latitude" label="纬度">
-          <el-input v-model="formData.latitude" :disabled="'latitude'==subColumn"></el-input>
-        </el-form-item>
+        <template v-if="landMarkInfo.defaultMode!=3">
+          <el-form-item prop="mapX" label="X">
+            <el-input v-model="formData.mapX" :disabled="checkSubColumn('mapX')" disabled></el-input>
+          </el-form-item>
+          <el-form-item prop="mapY" label="Y">
+            <el-input v-model="formData.mapY" :disabled="checkSubColumn('mapY')" disabled></el-input>
+          </el-form-item>
+          <el-form-item prop="mapIndex" label="index">
+            <el-input v-model="formData.mapIndex" :disabled="checkSubColumn('mapIndex')" disabled></el-input>
+          </el-form-item>
+        </template>
+        <template v-else>
+          <el-form-item>
+            <el-button type="text" @click="mapDialogVisible = !mapDialogVisible">点击打开地图选择地址</el-button>
+
+            <div class="amap-page-container" v-if="mapDialogVisible">
+              <coordinate-select :value="[formData.longitude||118.79647,formData.latitude||32.05838]" @selected="coordinateSelected" v-if="mapDialogVisible"></coordinate-select>
+            </div>
+          </el-form-item>
+
+          <el-form-item prop="longitude" label="经度">
+            <el-input v-model="formData.longitude" :disabled="'longitude'==subColumn"></el-input>
+          </el-form-item>
+
+          <el-form-item prop="latitude" label="纬度">
+            <el-input v-model="formData.latitude" :disabled="'latitude'==subColumn"></el-input>
+          </el-form-item>
+        </template>
 
         <el-form-item>
           <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
@@ -65,9 +68,9 @@
         </el-form-item>
       </el-form>
     </el-main>
-    <el-aside width="640px" v-if="landmarkId">
+    <el-aside width="640px" v-if="landmarkId&&landMarkInfo.defaultMode!=3">
       <el-card style="height:660px;">
-        <drug-area :doorFlag='doorFlag' :isAreaShowPoint="true" :areaWidth="areaWidth" :areaHeight="areaHeight" :landmarkId="landmarkId" :areaId="areaId" :mapPointInfo="mapPointInfo" @mapAddition="mapAddition" @subtraction="subtraction" @choosePoint="choosePoint"></drug-area>
+        <drug-area :doorFlag="doorFlag" :isAreaShowPoint="true" :areaWidth="areaWidth" :areaHeight="areaHeight" :landmarkId="landmarkId" :areaId="areaId" :mapPointInfo="mapPointInfo" @mapAddition="mapAddition" @subtraction="subtraction" @choosePoint="choosePoint"></drug-area>
       </el-card>
     </el-aside>
   </el-container>
@@ -197,6 +200,7 @@ export default {
         mapIndex: '',
         latitude: '',
         longitude: '',
+        landmarkId: 0,
       },
       rules: {
         pointName:
@@ -213,6 +217,26 @@ export default {
       areaWidth: 1000,
       areaHeight: 1000,
       mapDialogVisible: false,
+      landMarkInfo: {
+        defaultMode:3
+      }
+    }
+  },
+  watch: {
+    landmarkId() {
+      if (this.landmarkId) {
+        this.$http.get({
+          url: '/landMark/getOne',
+          data: {
+            id: this.landmarkId
+          }
+        }).then(res => {
+          if (res.success) {
+            this.landMarkInfo = res.data
+          }
+        })
+      }
+
     }
   },
   computed: {

+ 11 - 1
src/main/vue/src/pages/LandMark.vue

@@ -88,10 +88,20 @@
                 <el-button type="text" @click="mapDialogVisible = !mapDialogVisible">点击打开地图选择地址</el-button>
 
                 <div class="amap-page-container" v-if="mapDialogVisible">
-                  <coordinate-select :value="[formData.longitude||118.79647,formData.latitude||32.05838]" @selected="coordinateSelected" v-if="mapDialogVisible"></coordinate-select>
+                  <coordinate-select @closeMap='mapDialogVisible = !mapDialogVisible' :value="[formData.longitude||118.79647,formData.latitude||32.05838]" @selected="coordinateSelected" v-if="mapDialogVisible"></coordinate-select>
                 </div>
               </el-form-item>
 
+               <el-form-item prop="keyword" label="关键词">
+                <template>
+                    <div v-for="(item,index) in formData.keyword" style="margin-bottom:10px">
+                        <el-input v-model="formData.keyword[index]" style="width:180px"></el-input>
+                        <el-button @click="onDeleteKeyword(index)" type="danger">删除</el-button>
+                    </div>
+                    <el-button @click="addKeyword" type="primary">添加</el-button>
+                </template>
+            </el-form-item>
+
               <el-form-item prop="longitude" label="经度">
                 <el-input v-model="formData.longitude" :disabled="'longitude'==subColumn"></el-input>
               </el-form-item>

+ 425 - 0
src/main/vue/src/pages/LandMarkCreate.vue

@@ -0,0 +1,425 @@
+<template>
+  <div>
+    <el-steps :active="formData.addStep" finish-status="success" simple>
+      <el-step title="建立地标"></el-step>
+      <el-step title="位置和显示"></el-step>
+      <el-step title="基本内容"></el-step>
+      <el-step title="识别图"></el-step>
+      <el-step title="备注"></el-step>
+    </el-steps>
+
+    <el-form v-if="formData.addStep==0" ref="form" :model="formData" :rules="rules" label-width="80px">
+      <el-row type="flex" justify="center" style="margin-top:50px">
+        <el-col :lg="6" :sm="12" :xs="24">
+          <el-card style="padding:20px">
+            <el-form-item label="地标名称" prop="mapName">
+              <el-input v-model="formData.mapName"></el-input>
+            </el-form-item>
+            <el-form-item label="所属城市" prop="ownedCityId">
+              <el-select v-model="formData.ownedCityId" clearable placeholder="请选择">
+                <el-option v-for="item in ownedCityIdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="AR属性" prop="defaultMode">
+              <el-select v-model="formData.defaultMode" clearable placeholder="请选择">
+                <el-option v-for="item in defaultModeOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="地标类型" prop="typeId">
+              <el-select v-model="formData.typeId" clearable placeholder="请选择">
+                <el-option v-for="item in typeIdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
+              </el-select>
+            </el-form-item>
+
+            <el-form-item label>
+              <el-button type="primary" :loading="isLoading" @click="saveForm">下一步</el-button>
+            </el-form-item>
+          </el-card>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <el-form v-else-if="formData.addStep==1" ref="form2" :model="formData" :rules="rules2" label-width="80px">
+      <el-row type="flex" justify="center" style="margin-top:50px">
+        <el-col :lg="mapDialogVisible?12:10" :sm="mapDialogVisible?18:12" :xs="24">
+          <el-card style="padding:20px">
+            <el-form-item :label="isScenicSpot?'景区位置':'商场位置'" prop="longitude">
+              <el-button type="text" @click="mapDialogVisible = !mapDialogVisible">{{mapDialogVisible?'点击关闭地图':'点击打开地图选择地址'}}</el-button>
+              <div v-if="formData.longitude" style="line-height:24px">已选择: {{formData.longitude}} , {{formData.latitude}}</div>
+              <div class="amap-page-container" v-if="mapDialogVisible">
+                <coordinate-select @closeMap='mapDialogVisible = !mapDialogVisible' :value="[formData.longitude||118.79647,formData.latitude||32.05838]" @selected="coordinateSelected" v-if="mapDialogVisible"></coordinate-select>
+              </div>
+            </el-form-item>
+            <el-form-item prop="adImage" label="闪屏">
+              <single-upload v-model="formData.adImage"></single-upload>
+              <div style="color:#ccc;font-size:13px">闪屏图片可不上传,若传则尺寸为1920*1080,jpg/png,2M以内</div>
+            </el-form-item>
+            <el-form-item prop="showInPanel" label="是否显示">
+              <el-switch v-model="formData.showInPanel"></el-switch>
+            </el-form-item>
+            <el-form-item prop="mapSprite" label="平面图">
+              <single-upload v-model="formData.mapSprite"></single-upload>
+            </el-form-item>
+
+            <el-form-item label>
+              <el-button type="primary" :loading="isLoading" @click="updateForm">下一步</el-button>
+            </el-form-item>
+          </el-card>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <el-form v-else-if="formData.addStep==2" ref="form3" :model="formData" :rules="rules3" label-width="80px">
+      <el-row type="flex" justify="center" style="margin-top:50px">
+        <el-col :lg="9" :sm="16" :xs="24">
+          <el-card style="padding:20px">
+            <el-form-item prop="markDescribe" :label="isScenicSpot?'景区简介':'商场简介'">
+              <el-input type="textarea" v-model="formData.markDescribe"></el-input>
+            </el-form-item>
+            <el-form-item prop="logo" label="logo">
+              <single-upload v-model="formData.logo"></single-upload>
+
+              <div style="color:#ccc;font-size:13px">256*256png/jpg不超过500K</div>
+            </el-form-item>
+            <template v-if="isScenicSpot">
+              <el-form-item prop="markLevel" label="景点级别">
+                <el-input v-model="formData.markLevel"></el-input>
+              </el-form-item>
+              <el-form-item prop="markPrice" label="门票价格">
+                <el-input v-model="formData.markPrice"></el-input>
+              </el-form-item>
+              <el-form-item prop="busRoute" label="公交路线">
+                <el-input v-model="formData.busRoute"></el-input>
+              </el-form-item>
+            </template>
+            <el-form-item prop="openDescribe" :label="isScenicSpot?'开放时间':'营业情况'">
+              <el-input v-model="formData.openDescribe"></el-input>
+            </el-form-item>
+
+            <el-form-item prop="keyword" label="关键词">
+              <template>
+                <div v-for="(item,index) in formData.keyword" style="margin-bottom:10px">
+                  <el-input v-model="formData.keyword[index]" style="width:180px" maxlength="5"></el-input>
+                  <el-button @click="onDeleteKeyword(index)" type="danger">删除</el-button>
+                </div>
+                <el-button @click="addKeyword" type="primary" v-if="formData.keyword.length<10">添加</el-button>
+              </template>
+            </el-form-item>
+
+            <el-form-item label>
+              <el-button type="primary" :loading="isLoading" @click="updateForm">下一步</el-button>
+            </el-form-item>
+          </el-card>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <el-form v-else-if="formData.addStep==3" ref="form4" :model="formData" :rules="rules4" label-width="120px">
+      <el-row type="flex" justify="center" style="margin-top:50px">
+        <el-col :lg="8" :sm="12" :xs="24">
+          <el-card style="padding:20px">
+            <el-form-item prop="anchorImageGroupName" label="识别图组名称">
+              <el-input v-model="formData.anchorImageGroupName" placeholder="请向运营人员索要"></el-input>
+            </el-form-item>
+
+            <el-form-item prop="vuforiaDataName" label="识别图组名称">
+              <template>
+                <el-select v-model="formData.vuforiaImageGroupId" clearable placeholder="请选择" @change="changeVuforiaImageGroup">
+                  <el-option v-for="(item,index) in vuforiaImageGroupList" :key="item.id" :label="item.vuforiaDataName" :value="item.id"></el-option>
+                </el-select>
+              </template>
+            </el-form-item>
+
+            <el-form-item prop="vuforiaImageGroupId" label="识别图集ID">
+              <el-input v-model="formData.vuforiaImageGroupId" style="width:70px" disabled></el-input>
+            </el-form-item>
+
+            <el-form-item prop="frontLevelId" label="上级地标">
+              <template>
+                <el-select v-model="formData.frontLevelId" clearable placeholder="请选择">
+                  <el-option v-for="item in frontLevelIdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
+                </el-select>
+              </template>
+            </el-form-item>
+            <el-form-item label>
+              <el-button type="primary" :loading="isLoading" @click="updateForm">下一步</el-button>
+            </el-form-item>
+          </el-card>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <el-form v-else-if="formData.addStep==4" ref="form5" :model="formData" :rules="rules5" label-width="80px">
+      <el-row type="flex" justify="center" style="margin-top:50px">
+        <el-col :lg="10" :sm="12" :xs="24">
+          <el-card style="padding:20px">
+            <el-form-item prop="remark1" label="备注1">
+              <el-input v-model="formData.remark1"></el-input>
+            </el-form-item>
+            <el-form-item prop="remark2" label="备注2">
+              <el-input v-model="formData.remark2"></el-input>
+            </el-form-item>
+            <el-form-item prop="remark3" label="备注3">
+              <el-input v-model="formData.remark3"></el-input>
+            </el-form-item>
+            <el-form-item label>
+              <el-button type="primary" :loading="isLoading" @click="updateForm">完成</el-button>
+            </el-form-item>
+          </el-card>
+        </el-col>
+      </el-row>
+    </el-form>
+  </div>
+</template>
+<script>
+import { mapState } from 'vuex'
+import CoordinateSelect from '../components/CoordinateSelect';
+export default {
+  created() {
+    this.$http.get({
+      url: '/landmarkType/all',
+      data: {
+        typeFlag: '1'
+      }
+    }).then(res => {
+      if (res.success) {
+
+        if (res.data.length > 0) {
+          res.data.forEach(item => {
+            this.typeIdOptions.push({ label: item.typeName, value: item.id });
+          })
+        }
+      }
+    });
+
+    this.$http.get({
+      url: '/cityInfo/all'
+    }).then(res => {
+      if (res.success) {
+
+        if (res.data.length > 0) {
+          res.data.forEach(item => {
+            this.ownedCityIdOptions.push({ label: item.cityName, value: item.id });
+          })
+        }
+      }
+    });
+
+    if (this.$route.query.id) {
+      this.getInfo(this.$route.query.id);
+    }
+
+    this.$http.get({
+      url: '/landMark/all'
+    }).then(res => {
+      if (res.success) {
+
+        if (res.data.length > 0) {
+          res.data.forEach(item => {
+            this.frontLevelIdOptions.push({ label: item.mapName, value: String(item.id) });
+          })
+        }
+      }
+    });
+
+    this.$http.get({
+      url: '/vuforiaImageGroup/all'
+    }).then(res => {
+      if (res.success) {
+        this.vuforiaImageGroupList = res.data
+      }
+    });
+
+
+
+  },
+  data() {
+    return {
+      nowStep: 0,
+      formData: {
+        defaultMode: 1,
+        addStep: 0,
+        longitude: '',
+        latitude: '',
+        showInPanel: true,
+        keyword: [],
+      },
+      typeIdOptions: [],
+      frontLevelIdOptions: [],
+      vuforiaImageGroupList: [],
+      defaultModeOptions: [{
+        value: 1,
+        label: 'ARkit/core'
+      }, {
+        value: 2,
+        label: '陀螺仪'
+      }, {
+        value: 3,
+        label: 'LBS'
+      }],
+      ownedCityIdOptions: [],
+      rules: {
+        mapName: [
+          { required: true, message: '请输入地标名称', trigger: 'blur' },
+        ],
+        ownedCityId: [
+          { required: true, message: '请选择所属城市', trigger: 'blur' },
+        ],
+        defaultMode: [
+          { required: true, message: '请选择AR属性', trigger: 'blur' },
+        ],
+        typeId: [
+          { required: true, message: '请选择地标类型', trigger: 'blur' },
+        ],
+
+      },
+      rules2: {
+        longitude: [
+          { required: true, message: '请选择商场位置', trigger: 'blur' },
+        ],
+        mapSprite: [
+          { required: true, message: '请添加平面图图片', trigger: 'blur' },
+        ],
+      },
+      rules3: {
+        logo: [
+          { required: true, message: '请添加logo图片', trigger: 'blur' },
+        ],
+      },
+      rules4: {
+        anchorImageGroupName: [
+          { required: true, message: '请输入识别图组名称', trigger: 'blur' },
+        ],
+        vuforiaDataName: [
+          { required: true, message: '选择识别图集名称', trigger: 'blur' },
+        ],
+        frontLevelId: [
+          { required: true, message: '请选择上级地标', trigger: 'blur' },
+        ]
+      },
+      rules5: {},
+      isLoading: false,
+      mapDialogVisible: false,
+      chooseVuforiaImageGroup: {}
+    }
+  },
+  computed: {
+    isScenicSpot() {
+      //是否景区
+      if (this.formData.typeId == 18 || this.formData.typeId == 36 || this.formData.typeId == 20) {
+        return true;
+      }
+      else {
+        return false;
+      }
+    }
+  },
+  methods: {
+    onDeleteKeyword(index) {
+      console.log("111")
+      this.formData.keyword.splice(index, 1)
+    },
+    addKeyword() {
+      this.formData.keyword.push('')
+      console.log("222")
+    },
+    coordinateSelected(data) {
+      //this.formData.address = data.formattedAddress;
+      this.formData.latitude = data.lnglat.lat;
+      this.formData.longitude = data.lnglat.lng;
+    },
+    getInfo(id) {
+      this.$http.get({
+        url: '/landMark/getOne',
+        data: {
+          id: id
+        }
+      }).then(res => {
+        if (!res.data.longitude) {
+          res.data.longitude = ''
+        }
+        if (!res.data.latitude) {
+          res.data.latitude = ''
+        }
+
+        if (res.data.keyword) {
+          res.data.keyword = res.data.keyword.split(',')
+        } else {
+          res.data.keyword = [];
+        }
+        res.data.showInPanel = (res.data.showInPanel == 0);
+        this.formData = res.data
+
+      });
+    },
+    saveForm() {
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          var data = JSON.parse(JSON.stringify(this.formData));
+          data.addStep = 1;
+          data.showInPanel = (data.showInPanel ? 0 : 1);
+          data.keyword = data.keyword.join();
+          this.isLoading = true;
+          this.$http.post({
+            url: '/landMark/save',
+            data: data
+          }).then(res => {
+            this.isLoading = false;
+            if (res.success) {
+              this.getInfo(res.data);
+            } else {
+              this.$message.warning('失败');
+            }
+          });
+        } else {
+          return false;
+        }
+      })
+    },
+    updateForm() {
+      var formName = 'form' + (this.formData.addStep + 1);
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          var data = JSON.parse(JSON.stringify(this.formData));
+          data.addStep++;
+          data.showInPanel = (data.showInPanel ? 0 : 1);
+          data.keyword = data.keyword.join();
+          this.isLoading = true;
+          this.$http.post({
+            url: '/landMark/update',
+            data: data
+          }).then(res => {
+            this.isLoading = false;
+            if (res.success) {
+              if (data.addStep == 5) {
+                this.$message.success('创建成功');
+                this.$router.go(-1);
+              }
+              else {
+                this.getInfo(data.id);
+              }
+
+            } else {
+              this.$message.warning('失败');
+            }
+          });
+        } else {
+          return false;
+        }
+      })
+    },
+    changeVuforiaImageGroup(id) {
+      this.vuforiaImageGroupList.forEach(item => {
+        if (item.id == id) {
+          this.formData.vuforiaDataName = item.vuforiaDataName
+        }
+      })
+    }
+  },
+  components: {
+    CoordinateSelect
+  }
+}
+</script>
+<style lang="less" scoped>
+</style>

+ 583 - 598
src/main/vue/src/pages/LandMarks.vue

@@ -1,42 +1,33 @@
 <template>
-    <div>
-        <div class="filters-container">
-            <el-button size="small"  @click="$router.go(-1)">返回</el-button>
-            <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
-            <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索
-            </el-button>
-            <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small" icon="el-icon-search" class="filter-item">高级查询
-            </el-button>
-            <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small" icon="el-icon-sort" class="filter-item">排序
-            </el-button>
-            <el-button @click="$router.push({path:'/landMark',query:{column:$route.query.column}})" type="primary" size="small" icon="el-icon-edit" class="filter-item">添加
-            </el-button>
-            <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL
-            </el-button>
-            <el-dropdown trigger="click" size="medium" class="table-column-filter">
-                <span>
-                    筛选数据
-                    <i class="el-icon-arrow-down el-icon--right"></i>
-                </span>
-                <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
-                    <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}
-                    </el-checkbox>
-                </el-dropdown-menu>
-            </el-dropdown>
-        </div>
-        <el-table :data="tableData" :height="tableHeight" row-key="id" ref="table">
-            <el-table-column v-if="multipleMode" align="center" type="selection" width="50">
-            </el-table-column>
-            <el-table-column type="index" min-width="50" align="center">
-            </el-table-column>
+  <div>
+    <div class="filters-container">
+      <el-button size="small" @click="$router.go(-1)">返回</el-button>
+      <el-switch style="padding:0 30px" v-model="isEdit" @change="currentPageChange(1)" active-text="可编辑" inactive-text="添加中"></el-switch>
+      <el-input placeholder="关键字" size="small" v-model="filter1" clearable class="filter-item"></el-input>
+      <el-button @click="searchData" type="primary" size="small" icon="el-icon-search" class="filter-item">搜索</el-button>
+      <el-button @click="showAdvancedQueryDialog = !showAdvancedQueryDialog" type="primary" size="small" icon="el-icon-search" class="filter-item">高级查询</el-button>
+      <el-button @click="showTableSortDialog = !showTableSortDialog" type="primary" size="small" icon="el-icon-sort" class="filter-item">排序</el-button>
+      <el-button @click="$router.push({path:'/landMarkCreate',query:{column:$route.query.column}})" type="primary" size="small" icon="el-icon-edit" class="filter-item">添加</el-button>
+      <el-button @click="exportExcel" type="primary" size="small" icon="el-icon-share" class="filter-item">导出EXCEL</el-button>
+      <el-dropdown trigger="click" size="medium" class="table-column-filter">
+        <span>
+          筛选数据
+          <i class="el-icon-arrow-down el-icon--right"></i>
+        </span>
+        <el-dropdown-menu slot="dropdown" class="table-column-filter-wrapper">
+          <el-checkbox v-for="item in tableColumns" :key="item.value" v-model="item.show">{{item.label}}</el-checkbox>
+        </el-dropdown-menu>
+      </el-dropdown>
+    </div>
+    <el-table :data="tableData" :height="tableHeight" row-key="id" ref="table">
+      <el-table-column v-if="multipleMode" align="center" type="selection" width="50"></el-table-column>
+      <el-table-column type="index" min-width="50" align="center"></el-table-column>
 
-            <el-table-column v-if="isColumnShow('id')" prop="id" label="ID" min-width="100">
-            </el-table-column>
+      <el-table-column v-if="isColumnShow('id')" prop="id" label="ID" min-width="100"></el-table-column>
 
-            <el-table-column v-if="isColumnShow('mapName')" prop="mapName" label="地标名称" min-width="100">
-            </el-table-column>
+      <el-table-column v-if="isColumnShow('mapName')" prop="mapName" label="地标名称" min-width="100"></el-table-column>
 
-            <!-- <el-table-column v-if="isColumnShow('ownedCityId')" prop="ownedCityId" label="所属城市Id" min-width="100">
+      <!-- <el-table-column v-if="isColumnShow('ownedCityId')" prop="ownedCityId" label="所属城市Id" min-width="100">
             </el-table-column>
 
             <el-table-column v-if="isColumnShow('mapSprite')" prop="mapSprite" label="缩略图" min-width="100">
@@ -44,37 +35,31 @@
                     <img :src="row.mapSprite" @click="showImg(row.mapSprite)" style="width: 100px;height: 100px;vertical-align: middle;" />
                 </template>
 
-            </el-table-column> -->
-
-            <el-table-column v-if="isColumnShow('logeSprite')" prop="logeSprite" label="地点Loge图" min-width="100">
-                <template slot-scope="{row}" v-if="row.logeSprite">
-                    <img :src="row.logeSprite" @click="showImg(row.logeSprite)" style="width: 100px;height: 100px;vertical-align: middle;" />
-                </template>
+      </el-table-column>-->
+      <el-table-column v-if="isColumnShow('logeSprite')" prop="logeSprite" label="地点Loge图" min-width="100">
+        <template slot-scope="{row}" v-if="row.logeSprite">
+          <img :src="row.logeSprite" @click="showImg(row.logeSprite)" style="width: 100px;height: 100px;vertical-align: middle;">
+        </template>
+      </el-table-column>
 
-            </el-table-column>
-
-            <el-table-column v-if="isColumnShow('adImage')" prop="adImage" label="闪屏" min-width="100">
-                <template slot-scope="{row}" v-if="row.adImage">
-                    <img :src="row.adImage" @click="showImg(row.adImage)" style="width: 100px;height: 100px;vertical-align: middle;" />
-                </template>
-            </el-table-column>
+      <el-table-column v-if="isColumnShow('adImage')" prop="adImage" label="闪屏" min-width="100">
+        <template slot-scope="{row}" v-if="row.adImage">
+          <img :src="row.adImage" @click="showImg(row.adImage)" style="width: 100px;height: 100px;vertical-align: middle;">
+        </template>
+      </el-table-column>
 
-            <!-- <el-table-column v-if="isColumnShow('openDescribe')" prop="openDescribe" label="营业/开放情况" min-width="100">
+      <!-- <el-table-column v-if="isColumnShow('openDescribe')" prop="openDescribe" label="营业/开放情况" min-width="100">
             </el-table-column>
 
             <el-table-column v-if="isColumnShow('markDescribe')" prop="markDescribe" label="地标简介" min-width="100">
-            </el-table-column> -->
-
-            <el-table-column v-if="isColumnShow('anchorImageGroupName')" prop="anchorImageGroupName" label="识别图组名称" min-width="100">
-            </el-table-column>
-
-            <!-- <el-table-column v-if="isColumnShow('defaultMode')" prop="defaultMode" label="模式" min-width="100">
-            </el-table-column> -->
+      </el-table-column>-->
+      <el-table-column v-if="isColumnShow('anchorImageGroupName')" prop="anchorImageGroupName" label="识别图组名称" min-width="100"></el-table-column>
 
-            <el-table-column v-if="isColumnShow('vuforiaImageGroupId')" prop="vuforiaImageGroupId" label="识别图集ID" min-width="100">
-            </el-table-column>
+      <!-- <el-table-column v-if="isColumnShow('defaultMode')" prop="defaultMode" label="模式" min-width="100">
+      </el-table-column>-->
+      <el-table-column v-if="isColumnShow('vuforiaImageGroupId')" prop="vuforiaImageGroupId" label="识别图集ID" min-width="100"></el-table-column>
 
-            <!-- <el-table-column v-if="isColumnShow('vuforiaDataName')" prop="vuforiaDataName" label="识别图集数据名称" min-width="100">
+      <!-- <el-table-column v-if="isColumnShow('vuforiaDataName')" prop="vuforiaDataName" label="识别图集数据名称" min-width="100">
             </el-table-column>
 
             <el-table-column v-if="isColumnShow('mapInfo')" prop="mapInfo" label="地图信息" min-width="100">
@@ -93,139 +78,120 @@
             </el-table-column>
 
             <el-table-column v-if="isColumnShow('longitude')" prop="longitude" label="经度" min-width="100">
-            </el-table-column> -->
+      </el-table-column>-->
+      <el-table-column v-if="isColumnShow('defaultMode')" prop="defaultMode" label="AR内容" min-width="100"></el-table-column>
 
-            <el-table-column v-if="isColumnShow('defaultMode')" prop="defaultMode" label="AR内容" min-width="100">
-            </el-table-column>
+      <el-table-column v-if="isColumnShow('remark1')" prop="remark1" label="备注1" min-width="100"></el-table-column>
 
-            <el-table-column v-if="isColumnShow('remark1')" prop="remark1" label="备注1" min-width="100">
-            </el-table-column>
+      <el-table-column v-if="isColumnShow('remark2')" prop="remark2" label="备注2" min-width="100"></el-table-column>
 
-            <el-table-column v-if="isColumnShow('remark2')" prop="remark2" label="备注2" min-width="100">
-            </el-table-column>
+      <el-table-column v-if="isColumnShow('remark3')" prop="remark3" label="备注3" min-width="100"></el-table-column>
 
-            <el-table-column v-if="isColumnShow('remark3')" prop="remark3" label="备注3" min-width="100">
-            </el-table-column>
-
-            <!-- <el-table-column v-if="isColumnShow('frontLevelId')" prop="frontLevelId" label="上级地标ID" min-width="100">
-            </el-table-column> -->
-            <el-table-column label="操作" align="center" fixed="right" width="220">
-                <template slot-scope="scope">
-                    <!-- <el-button @click="$router.push({path:'/VuforiaImageInfos',query:{column:scope.row.id+',landMarkId'}})" type="primary" size="small" plain>识别图
+      <!-- <el-table-column v-if="isColumnShow('frontLevelId')" prop="frontLevelId" label="上级地标ID" min-width="100">
+      </el-table-column>-->
+      <el-table-column label="操作" align="center" fixed="right" width="220">
+        <template slot-scope="scope">
+          <!-- <el-button @click="$router.push({path:'/VuforiaImageInfos',query:{column:scope.row.id+',landMarkId'}})" type="primary" size="small" plain>识别图
             </el-button>
                     <el-button @click="$router.push({path:'/AimPlaceContents',query:{column:scope.row.id+',ownedLandMarkId'}})" type="primary" size="small" plain>目标点内容
             </el-button>
                     <el-button @click="$router.push({path:'/AimPlacePositions',query:{column:scope.row.id+',ownedLandMarkId'}})" type="primary" size="small" plain>目标点位置
-            </el-button> -->
-                    <el-button @click="$router.push({path:'/areaInfos',query:{column:scope.row.id+',landmarkId'+';'+scope.row.ownedCityId+',cityId'}})" type="primary" size="small" plain>区域
-                    </el-button>
-                    <el-button @click="$router.push({path:'/thingInfos',query:{column:scope.row.id+',landmarkId'+';'+scope.row.ownedCityId+',cityId'}})" type="primary" size="small" plain>事物
-                    </el-button>
-                    <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
-                    <el-button @click="drawMapInfo(scope.row)" type="primary" size="mini" plain>地图</el-button>
-                    <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-        <div class="pagination-wrapper">
-            <div class="multiple-mode-wrapper" v-if="0">
-                <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
-                <el-button-group v-else>
-                    <el-button size="small" @click="operation1">批量操作1</el-button>
-                    <el-button size="small" @click="operation2">批量操作2</el-button>
-                    <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
-                </el-button-group>
-            </div>
-            <el-pagination background @size-change="pageSizeChange" @current-change="currentPageChange" :current-page="currentPage" :page-sizes="[10, 20, 30, 40, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="totalNumber">
-            </el-pagination>
-        </div>
-        <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
-            <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
-            <el-table :data="advancedQueryFields">
-
-                <el-table-column prop="link" label="链接符" align="center">
-                    <template slot-scope="{row}">
-                        <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
-                            <el-option label="AND" value="AND">
-                            </el-option>
-                            <el-option label="OR" value="OR">
-                            </el-option>
-                        </el-select>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="name" label="字段" align="center">
-                    <template slot-scope="{row}">
-                        <el-select v-model="row.name">
-
-                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value" :key="item.value"></el-option>
-                        </el-select>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
-                    <template slot-scope="{row}">
-                        <el-select v-model="row.searchMethod">
-                            <el-option v-for="item in searchMethods" :label="item" :value="item" :key="item"></el-option>
-                        </el-select>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="value" label="参数" align="center">
-                    <template slot-scope="{row}">
-                        <el-input v-model="row.value"></el-input>
-                    </template>
-                </el-table-column>
-                <el-table-column width="60" align="center">
-                    <template slot-scope="{ row, column, $index }">
-                        <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-
-            <span slot="footer" class="dialog-footer">
-
-                <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
-            </span>
-        </el-dialog>
-
-        <el-dialog title="排序" :visible.sync="showTableSortDialog">
-            <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
-            <el-table :data="tableSortFields">
-
-                <el-table-column prop="name" label="字段" align="center">
-                    <template slot-scope="{row}">
-                        <el-select v-model="row.name">
-
-                            <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value" :key="item.value"></el-option>
-                        </el-select>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="order" label="排序" align="center">
-                    <template slot-scope="{row}">
-                        <el-select v-model="row.order">
-                            <el-option label="降序" value="desc">
-                            </el-option>
-                            <el-option label="升序" value="asc">
-                            </el-option>
-                        </el-select>
-                    </template>
-                </el-table-column>
-                <el-table-column width="60" align="center">
-                    <template slot-scope="{ row, column, $index }">
-                        <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-
-            <span slot="footer" class="dialog-footer">
-
-                <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
-            </span>
-        </el-dialog>
-
-        <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
-            <img width="100%" :src="imgSrc" alt="">
-        </el-dialog>
-
+          </el-button>-->
+          <el-button @click="$router.push({path:'/areaInfos',query:{column:scope.row.id+',landmarkId'+';'+scope.row.ownedCityId+',cityId'}})" type="primary" size="small" plain>区域</el-button>
+          <el-button @click="$router.push({path:'/thingInfos',query:{column:scope.row.id+',landmarkId'+';'+scope.row.ownedCityId+',cityId'}})" type="primary" size="small" plain>事物</el-button>
+          <el-button @click="editRow(scope.row)" type="primary" size="mini" plain>编辑</el-button>
+          <el-button @click="drawMapInfo(scope.row)" type="primary" size="mini" plain>地图</el-button>
+          <el-button @click="deleteRow(scope.row)" type="danger" size="mini" plain>删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="pagination-wrapper">
+      <div class="multiple-mode-wrapper" v-if="0">
+        <el-button size="small" v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+        <el-button-group v-else>
+          <el-button size="small" @click="operation1">批量操作1</el-button>
+          <el-button size="small" @click="operation2">批量操作2</el-button>
+          <el-button size="small" @click="toggleMultipleMode(false)">取消</el-button>
+        </el-button-group>
+      </div>
+      <el-pagination background @size-change="pageSizeChange" @current-change="currentPageChange" :current-page="currentPage" :page-sizes="[10, 20, 30, 40, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="totalNumber"></el-pagination>
     </div>
+    <el-dialog title="高级查询" :visible.sync="showAdvancedQueryDialog">
+      <el-button @click="addField" type="text" icon="el-icon-plus">添加</el-button>
+      <el-table :data="advancedQueryFields">
+        <el-table-column prop="link" label="链接符" align="center">
+          <template slot-scope="{row}">
+            <el-select placeholder="链接" size="small" v-model="row.link" class="filter-item">
+              <el-option label="AND" value="AND"></el-option>
+              <el-option label="OR" value="OR"></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column prop="name" label="字段" align="center">
+          <template slot-scope="{row}">
+            <el-select v-model="row.name">
+              <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value" :key="item.value"></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column prop="searchMethod" label="搜索方式" width="150" align="center">
+          <template slot-scope="{row}">
+            <el-select v-model="row.searchMethod">
+              <el-option v-for="item in searchMethods" :label="item" :value="item" :key="item"></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column prop="value" label="参数" align="center">
+          <template slot-scope="{row}">
+            <el-input v-model="row.value"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column width="60" align="center">
+          <template slot-scope="{ row, column, $index }">
+            <el-button @click="removeField($index)" size="small" type="text">删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="advancedQuery" :loading="$store.state.fetchingData">确定</el-button>
+      </span>
+    </el-dialog>
+
+    <el-dialog title="排序" :visible.sync="showTableSortDialog">
+      <el-button @click="addSortField" type="text" icon="el-icon-plus">添加</el-button>
+      <el-table :data="tableSortFields">
+        <el-table-column prop="name" label="字段" align="center">
+          <template slot-scope="{row}">
+            <el-select v-model="row.name">
+              <el-option v-for="item in advancedQueryColumns" :label="item.label" :value="item.value" :key="item.value"></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column prop="order" label="排序" align="center">
+          <template slot-scope="{row}">
+            <el-select v-model="row.order">
+              <el-option label="降序" value="desc"></el-option>
+              <el-option label="升序" value="asc"></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column width="60" align="center">
+          <template slot-scope="{ row, column, $index }">
+            <el-button @click="removeSortField($index)" size="small" type="text">删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="tableSortQuery" :loading="$store.state.fetchingData">确定</el-button>
+      </span>
+    </el-dialog>
+
+    <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
+      <img width="100%" :src="imgSrc" alt>
+    </el-dialog>
+  </div>
 </template>
 <script>
 import { mapState } from 'vuex'
@@ -233,429 +199,448 @@ import { format } from 'date-fns'
 import zh from 'date-fns/locale/zh_cn'
 
 export default {
-    created() {
-        this.getData();
+  created() {
+    this.getData();
+  },
+  data() {
+    return {
+      isEdit: true,
+      totalNumber: 0,
+      totalPage: 10,
+      currentPage: 1,
+      pageSize: 20,
+      tableData: [],
+      filter1: '',
+      filter2: '',
+      tableColumns: [
+        {
+          label: 'ID',
+          value: 'id',
+          show: true
+        },
+        {
+          label: '地标名称',
+          value: 'mapName',
+          show: true
+        },
+        {
+          label: '所属城市Id',
+          value: 'ownedCityId',
+          show: true
+        },
+        {
+          label: '缩略图',
+          value: 'mapSprite',
+          show: true
+        },
+        {
+          label: '地点Loge图',
+          value: 'logeSprite',
+          show: true
+        },
+        {
+          label: '闪屏',
+          value: 'adImage',
+          show: true
+        },
+        {
+          label: '营业/开放情况',
+          value: 'openDescribe',
+          show: true
+        },
+        {
+          label: '地标简介',
+          value: 'markDescribe',
+          show: false
+        },
+        {
+          label: '识别图组名称',
+          value: 'anchorImageGroupName',
+          show: true
+        },
+        {
+          label: '模式',
+          value: 'defaultMode',
+          show: true
+        },
+        {
+          label: '识别图集ID',
+          value: 'vuforiaImageGroupId',
+          show: true
+        },
+        {
+          label: '识别图集数据名称',
+          value: 'vuforiaDataName',
+          show: true
+        },
+        {
+          label: '地图信息',
+          value: 'mapInfo',
+          show: false
+        },
+        {
+          label: '地图宽',
+          value: 'mapWidth',
+          show: true
+        },
+        {
+          label: '地图高',
+          value: 'mapHeight',
+          show: true
+        },
+        {
+          label: '比率',
+          value: 'mapRate',
+          show: true
+        },
+        {
+          label: '是否显示',
+          value: 'showInPanel',
+          show: true
+        },
+        {
+          label: '经度',
+          value: 'longitude',
+          show: true
+        },
+        {
+          label: '纬度',
+          value: 'latitude',
+          show: true
+        },
+        {
+          label: '备注1',
+          value: 'remark1',
+          show: true
+        },
+        {
+          label: '备注2',
+          value: 'remark2',
+          show: true
+        },
+        {
+          label: '备注3',
+          value: 'remark3',
+          show: true
+        },
+        {
+          label: '上级地标ID',
+          value: 'frontLevelId',
+          show: true
+        },
+      ],
+      multipleMode: false,
+      showAdvancedQueryDialog: false,
+      advancedQueryFields: [],
+      showTableSortDialog: false,
+      tableSortFields: [],
+      searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
+      advancedQueryColumns: [
+        {
+          label: 'ID',
+          value: 'id'
+        },
+        {
+          label: '地标名称',
+          value: 'map_name'
+        },
+        {
+          label: '所属城市Id',
+          value: 'owned_city_id'
+        },
+        {
+          label: '缩略图',
+          value: 'map_sprite'
+        },
+        {
+          label: '地点Loge图',
+          value: 'loge_sprite'
+        },
+        {
+          label: '营业/开放情况',
+          value: 'open_describe'
+        },
+        {
+          label: '地标简介',
+          value: 'mark_describe'
+        },
+        {
+          label: '识别图组名称',
+          value: 'anchor_image_group_name'
+        },
+        {
+          label: '模式',
+          value: 'default_mode'
+        },
+        {
+          label: '识别图集ID',
+          value: 'vuforia_image_group_id'
+        },
+        {
+          label: '识别图集数据名称',
+          value: 'vuforia_data_name'
+        },
+        {
+          label: '地图信息',
+          value: 'map_info'
+        },
+        {
+          label: '地图宽',
+          value: 'map_width'
+        },
+        {
+          label: '地图高',
+          value: 'map_height'
+        },
+        {
+          label: '比率',
+          value: 'map_rate'
+        },
+        {
+          label: '是否显示',
+          value: 'show_in_panel'
+        },
+        {
+          label: '经度',
+          value: 'longitude'
+        },
+        {
+          label: '纬度',
+          value: 'latitude'
+        },
+        {
+          label: '备注1',
+          value: 'remark1'
+        },
+        {
+          label: '备注2',
+          value: 'remark2'
+        },
+        {
+          label: '备注3',
+          value: 'remark3'
+        },
+        {
+          label: '上级地标ID',
+          value: 'front_level_id'
+        },
+      ],
+      advancedQuerySearchKey: '',
+      orderByStr: '',
+      imgSrc: '',
+      imageDialogVisible: false,
+    }
+  },
+  computed: {
+    ...mapState(['tableHeight']),
+    selection() {
+      return this.$refs.table.selection.map(i => i.id);
+    }
+  },
+  methods: {
+    pageSizeChange(size) {
+      this.currentPage = 1;
+      this.pageSize = size;
+      this.getData();
+    },
+    currentPageChange(page) {
+      this.currentPage = page;
+      this.getData();
     },
-    data() {
-        return {
-            totalNumber: 0,
-            totalPage: 10,
-            currentPage: 1,
-            pageSize: 20,
-            tableData: [],
-            filter1: '',
-            filter2: '',
-            tableColumns: [
-                {
-                    label: 'ID',
-                    value: 'id',
-                    show: true
-                },
-                {
-                    label: '地标名称',
-                    value: 'mapName',
-                    show: true
-                },
-                {
-                    label: '所属城市Id',
-                    value: 'ownedCityId',
-                    show: true
-                },
-                {
-                    label: '缩略图',
-                    value: 'mapSprite',
-                    show: true
-                },
-                {
-                    label: '地点Loge图',
-                    value: 'logeSprite',
-                    show: true
-                },
-                {
-                    label: '闪屏',
-                    value: 'adImage',
-                    show: true
-                },
-                {
-                    label: '营业/开放情况',
-                    value: 'openDescribe',
-                    show: true
-                },
-                {
-                    label: '地标简介',
-                    value: 'markDescribe',
-                    show: false
-                },
-                {
-                    label: '识别图组名称',
-                    value: 'anchorImageGroupName',
-                    show: true
-                },
-                {
-                    label: '模式',
-                    value: 'defaultMode',
-                    show: true
-                },
-                {
-                    label: '识别图集ID',
-                    value: 'vuforiaImageGroupId',
-                    show: true
-                },
-                {
-                    label: '识别图集数据名称',
-                    value: 'vuforiaDataName',
-                    show: true
-                },
-                {
-                    label: '地图信息',
-                    value: 'mapInfo',
-                    show: false
-                },
-                {
-                    label: '地图宽',
-                    value: 'mapWidth',
-                    show: true
-                },
-                {
-                    label: '地图高',
-                    value: 'mapHeight',
-                    show: true
-                },
-                {
-                    label: '比率',
-                    value: 'mapRate',
-                    show: true
-                },
-                {
-                    label: '是否显示',
-                    value: 'showInPanel',
-                    show: true
-                },
-                {
-                    label: '经度',
-                    value: 'longitude',
-                    show: true
-                },
-                {
-                    label: '纬度',
-                    value: 'latitude',
-                    show: true
-                },
-                {
-                    label: '备注1',
-                    value: 'remark1',
-                    show: true
-                },
-                {
-                    label: '备注2',
-                    value: 'remark2',
-                    show: true
-                },
-                {
-                    label: '备注3',
-                    value: 'remark3',
-                    show: true
-                },
-                {
-                    label: '上级地标ID',
-                    value: 'frontLevelId',
-                    show: true
-                },
-            ],
-            multipleMode: false,
-            showAdvancedQueryDialog: false,
-            advancedQueryFields: [],
-            showTableSortDialog: false,
-            tableSortFields: [],
-            searchMethods: ['=', '!=', '>', '>=', '<', '<=', 'like'],
-            advancedQueryColumns: [
-                {
-                    label: 'ID',
-                    value: 'id'
-                },
-                {
-                    label: '地标名称',
-                    value: 'map_name'
-                },
-                {
-                    label: '所属城市Id',
-                    value: 'owned_city_id'
-                },
-                {
-                    label: '缩略图',
-                    value: 'map_sprite'
-                },
-                {
-                    label: '地点Loge图',
-                    value: 'loge_sprite'
-                },
-                {
-                    label: '营业/开放情况',
-                    value: 'open_describe'
-                },
-                {
-                    label: '地标简介',
-                    value: 'mark_describe'
-                },
-                {
-                    label: '识别图组名称',
-                    value: 'anchor_image_group_name'
-                },
-                {
-                    label: '模式',
-                    value: 'default_mode'
-                },
-                {
-                    label: '识别图集ID',
-                    value: 'vuforia_image_group_id'
-                },
-                {
-                    label: '识别图集数据名称',
-                    value: 'vuforia_data_name'
-                },
-                {
-                    label: '地图信息',
-                    value: 'map_info'
-                },
-                {
-                    label: '地图宽',
-                    value: 'map_width'
-                },
-                {
-                    label: '地图高',
-                    value: 'map_height'
-                },
-                {
-                    label: '比率',
-                    value: 'map_rate'
-                },
-                {
-                    label: '是否显示',
-                    value: 'show_in_panel'
-                },
-                {
-                    label: '经度',
-                    value: 'longitude'
-                },
-                {
-                    label: '纬度',
-                    value: 'latitude'
-                },
-                {
-                    label: '备注1',
-                    value: 'remark1'
-                },
-                {
-                    label: '备注2',
-                    value: 'remark2'
-                },
-                {
-                    label: '备注3',
-                    value: 'remark3'
-                },
-                {
-                    label: '上级地标ID',
-                    value: 'front_level_id'
-                },
-            ],
-            advancedQuerySearchKey: '',
-            orderByStr: '',
-            imgSrc: '',
-            imageDialogVisible: false,
+    getData() {
+
+      var data = {
+        currentPage: this.currentPage,
+        pageNumber: this.pageSize,
+        searchKey: this.filter1,
+        advancedQuery: this.advancedQuerySearchKey,
+        orderByStr: this.orderByStr,
+      }
+
+      if (this.$route.query.column) {
+        var tempColumn = this.$route.query.column;
+        data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
+      }
+
+      if (this.isEdit) {
+        data.addStepStr = '5'
+      }
+      else {
+        data.addStepStr = '0,1,2,3,4'
+      }
+
+      this.$http.get({
+        url: '/landMark/page',
+        data: data
+      }).then(res => {
+        if (res.success) {
+          this.totalNumber = res.data.page.totalNumber;
+          this.tableData = res.data.pp;
         }
+      })
+    },
+    isColumnShow(column) {
+      var row = this.tableColumns.find(i => i.value === column);
+      return row ? row.show : false;
+    },
+    toggleMultipleMode(multipleMode) {
+      this.multipleMode = multipleMode;
+      if (!multipleMode) {
+        this.$refs.table.clearSelection();
+      }
     },
-    computed: {
-        ...mapState(['tableHeight']),
-        selection() {
-            return this.$refs.table.selection.map(i => i.id);
+    editRow(row) {
+      if (row.addStep == 5) {
+        this.$router.push({
+          path: '/landMark',
+          query: {
+            id: row.id,
+            column: this.$route.query.column,
+          }
+        })
+      }
+      else {
+        this.$router.push({
+          path: '/landMarkCreate',
+          query: {
+            id: row.id,
+          }
+        });
+      }
+
+    },
+    drawMapInfo(row) {
+      this.$router.push({
+        path: '/drugContent',
+        query: {
+          id: row.id,
         }
+      })
     },
-    methods: {
-        pageSizeChange(size) {
-            this.currentPage = 1;
-            this.pageSize = size;
-            this.getData();
-        },
-        currentPageChange(page) {
-            this.currentPage = page;
-            this.getData();
-        },
-        getData() {
-
-            var data = {
-                currentPage: this.currentPage,
-                pageNumber: this.pageSize,
-                searchKey: this.filter1,
-                advancedQuery: this.advancedQuerySearchKey,
-                orderByStr: this.orderByStr,
-            }
-
-            if (this.$route.query.column) {
-                var tempColumn = this.$route.query.column;
-                data[tempColumn.split(',')[1]] = tempColumn.split(',')[0];
-            }
-
-            this.$http.get({
-                url: '/landMark/page',
-                data: data
-            }).then(res => {
-                if (res.success) {
-                    this.totalNumber = res.data.page.totalNumber;
-                    this.tableData = res.data.pp;
-                }
-            })
-        },
-        isColumnShow(column) {
-            var row = this.tableColumns.find(i => i.value === column);
-            return row ? row.show : false;
-        },
-        toggleMultipleMode(multipleMode) {
-            this.multipleMode = multipleMode;
-            if (!multipleMode) {
-                this.$refs.table.clearSelection();
-            }
-        },
-        editRow(row) {
-            this.$router.push({
-                path: '/landMark',
-                query: {
-                    id: row.id,
-                    column: this.$route.query.column,
-                }
-            })
-        },
-        drawMapInfo(row) {
-            this.$router.push({
-                path: '/drugContent',
-                query: {
-                    id: row.id,
-                }
-            })
-        },
-        operation1() {
-            this.$notify({
-                title: '提示',
-                message: this.selection
-            });
-        },
-        operation2() {
-            this.$message('操作2');
-        },
-        addField() {
-            this.advancedQueryFields.push({
-                link: 'AND',
-                name: '',
-                searchMethod: '=',
-                value: '',
-            });
-        },
-        removeField(i) {
-            if (this.advancedQueryFields.length > 0) {
-                this.advancedQueryFields.splice(i, 1);
-            }
-        },
-        advancedQuery() {
-
-            this.advancedQuerySearchKey = '';
-
-            if (this.advancedQueryFields.length > 0) {
-
-                var templist = [];
-
-                this.advancedQueryFields.forEach(item => {
-                    if (item.link && item.name && item.searchMethod && item.value) {
-                        var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
-                        templist.push(tempItem);
-                    }
-                })
-
-                if (templist.length > 0) {
-
-                    this.advancedQuerySearchKey = templist.join('_;');
-                }
-            }
-
-            this.getData();
-            this.showAdvancedQueryDialog = false;
-        },
-        addSortField() {
-            this.tableSortFields.push({
-                name: '',
-                order: 'asc',
-            });
-        },
-        removeSortField(i) {
-            if (this.tableSortFields.length > 0) {
-                this.tableSortFields.splice(i, 1);
-            }
-        },
-        tableSortQuery() {
-
-            this.orderByStr = '';
-
-            if (this.tableSortFields.length > 0) {
-
-                var templist = [];
-
-                this.tableSortFields.forEach(item => {
-                    if (item.name && item.order) {
-                        var tempItem = item.name + '_,' + item.order;
-                        templist.push(tempItem);
-                    }
-                })
-
-                if (templist.length > 0) {
-
-                    this.orderByStr = templist.join('_;');
-                }
-            }
-
-            this.getData();
-            this.showTableSortDialog = false;
-        },
-        exportExcel() {
-            window.location.href = this.$baseUrl + "/landMark/exportExcel?searchKey="
-                + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey + "&orderByStr=" + this.orderByStr;
-        },
-        searchData() {
-            this.currentPage = 1;
-            this.getData();
-        },
-        deleteRow(row) {
-            this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
-                return this.$http.post({
-                    url: '/landMark/del',
-                    data: { id: row.id }
-                })
-            }).then(() => {
-                this.$message.success('删除成功');
-                this.getData();
-            }).catch(action => {
-                if (action === 'cancel') {
-                    this.$message.info('删除取消');
-                } else {
-                    this.$message.error('删除失败');
-                }
-            })
-        },
-        DateTimeFormatter(row, column, cellValue) {
-            if (cellValue) {
-                return format(cellValue, 'YYYY/MM/DD HH:mm', { locale: zh })
-            }
+    operation1() {
+      this.$notify({
+        title: '提示',
+        message: this.selection
+      });
+    },
+    operation2() {
+      this.$message('操作2');
+    },
+    addField() {
+      this.advancedQueryFields.push({
+        link: 'AND',
+        name: '',
+        searchMethod: '=',
+        value: '',
+      });
+    },
+    removeField(i) {
+      if (this.advancedQueryFields.length > 0) {
+        this.advancedQueryFields.splice(i, 1);
+      }
+    },
+    advancedQuery() {
 
-        },
-        DateFormatter(row, column, cellValue) {
-            if (cellValue) {
-                return format(cellValue, 'YYYY/MM/DD', { locale: zh })
-            }
+      this.advancedQuerySearchKey = '';
 
-        },
-        showImg(img) {
-            this.imgSrc = img;
-            this.imageDialogVisible = true;
-        },
+      if (this.advancedQueryFields.length > 0) {
 
-    }
+        var templist = [];
+
+        this.advancedQueryFields.forEach(item => {
+          if (item.link && item.name && item.searchMethod && item.value) {
+            var tempItem = item.link + '_,' + item.name + '_,' + item.searchMethod + '_,' + item.value;
+            templist.push(tempItem);
+          }
+        })
+
+        if (templist.length > 0) {
+
+          this.advancedQuerySearchKey = templist.join('_;');
+        }
+      }
+
+      this.getData();
+      this.showAdvancedQueryDialog = false;
+    },
+    addSortField() {
+      this.tableSortFields.push({
+        name: '',
+        order: 'asc',
+      });
+    },
+    removeSortField(i) {
+      if (this.tableSortFields.length > 0) {
+        this.tableSortFields.splice(i, 1);
+      }
+    },
+    tableSortQuery() {
+
+      this.orderByStr = '';
+
+      if (this.tableSortFields.length > 0) {
+
+        var templist = [];
+
+        this.tableSortFields.forEach(item => {
+          if (item.name && item.order) {
+            var tempItem = item.name + '_,' + item.order;
+            templist.push(tempItem);
+          }
+        })
+
+        if (templist.length > 0) {
+
+          this.orderByStr = templist.join('_;');
+        }
+      }
+
+      this.getData();
+      this.showTableSortDialog = false;
+    },
+    exportExcel() {
+      window.location.href = this.$baseUrl + "/landMark/exportExcel?searchKey="
+        + this.filter1 + "&advancedQuery=" + this.advancedQuerySearchKey + "&orderByStr=" + this.orderByStr;
+    },
+    searchData() {
+      this.currentPage = 1;
+      this.getData();
+    },
+    deleteRow(row) {
+      this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' }).then(() => {
+        return this.$http.post({
+          url: '/landMark/del',
+          data: { id: row.id }
+        })
+      }).then(() => {
+        this.$message.success('删除成功');
+        this.getData();
+      }).catch(action => {
+        if (action === 'cancel') {
+          this.$message.info('删除取消');
+        } else {
+          this.$message.error('删除失败');
+        }
+      })
+    },
+    DateTimeFormatter(row, column, cellValue) {
+      if (cellValue) {
+        return format(cellValue, 'YYYY/MM/DD HH:mm', { locale: zh })
+      }
+
+    },
+    DateFormatter(row, column, cellValue) {
+      if (cellValue) {
+        return format(cellValue, 'YYYY/MM/DD', { locale: zh })
+      }
+
+    },
+    showImg(img) {
+      this.imgSrc = img;
+      this.imageDialogVisible = true;
+    },
+
+  }
 }
 </script>
 <style lang="less" scoped>

+ 6 - 0
src/main/vue/src/router/index.js

@@ -319,6 +319,12 @@ const router = new Router({
                     name: 'LandMarks',
                     component: () =>
                         import ('../pages/LandMarks')
+                }, {
+
+                    path: '/landMarkCreate',
+                    name: 'landMarkCreate',
+                    component: () =>
+                        import ('../pages/LandMarkCreate')
                 },
                 {
                     path: '/landMarkLevel',