Selaa lähdekoodia

招聘信息,求职信息增加经纬度,地址名称等

yanliming 4 päivää sitten
vanhempi
commit
60a01db9b7

+ 98 - 1
src/views/base/recruitInformationInfo-detail.vue

@@ -67,6 +67,12 @@
           <el-form-item label="年龄要求" prop="ageRequirement">
             <el-input v-model="formModel.ageRequirement" placeholder="请输入年龄要求" style="width: 300px"></el-input>
           </el-form-item>
+          <el-form-item label="经纬度" prop="location">
+            <el-input placeholder="经纬度" style="width: 300px" v-model="formModel.location">
+                <i slot="append" icon="el-icon-search" class="el-icon-map-location my-font"
+                @click="handleLocation(formModel.location)"></i>
+            </el-input>
+          </el-form-item>
           <el-form-item label="工作描述" prop="desc">
             <el-input
               style="width: 710px"
@@ -121,6 +127,55 @@
           >确 定</el-button
         >
       </span>
+      <el-dialog
+      :visible.sync="showMapDialog"
+      title="地图选点"
+      :modal-append-to-body="true"
+      :append-to-body="true"
+      style="text-align: left"
+      width="60%"
+      top="5vh"
+      :close-on-click-modal="false"
+    >
+      <el-amap
+        ref="stationMap"
+        vid="stationMap"
+        :amap-manager="amapManager"
+        :center="pointPosition"
+        :zoom="zoom"
+        :events="events"
+        class="amap-demo"
+        :plugin="plugins"
+        style="width: 100%; height: 500px"
+      >
+        <el-amap-marker
+          vid="amapDemo"
+          :position="pointPosition"
+        ></el-amap-marker>
+
+        <!--站点入口-->
+        <el-amap-marker
+          vid="amapDemo"
+          :position="pointPosition"
+        ></el-amap-marker>
+      </el-amap>
+      <span slot="footer" class="dialog-footer">
+        <div style="position: absolute; left: 20px; bottom: 20px">
+          <el-input
+            placeholder="当前经纬度"
+            v-model="selectedRow.location"
+            style="width: 400px"
+          >
+            <template slot="prepend">经纬度</template>
+            <!-- <el-button slot="append" icon="el-icon-search" @click="handleRegeo"
+              >定位</el-button
+            > -->
+          </el-input>
+        </div>
+        <el-button @click="showMapDialog = false">取 消</el-button>
+        <el-button type="primary" @click="handleSelectPoint()">确 定</el-button>
+      </span>
+    </el-dialog>
     </el-dialog>
   </template>
   <script>
@@ -129,11 +184,15 @@
   import recruitInformationInfoApi from "@/api/base/recruitInformationInfo";
   import dataDictionaryApi from "@/api/sys/dataDictionary";
   import enterpriseInfoApi from "@/api/base/enterpriseInfo";
+  import AMap from "vue-amap";
+
+  let amapManager = new AMap.AMapManager();
   
   export default {
     props: ["businessKey", "title"],
     data() {
       return {
+          plugins: ["AMap.Scale", "AMap.OverView", "AMap.ToolBar", "AMap.MapType"],
           showPwd: true,
           ruleValidate: {
               enterpriseId: [
@@ -179,6 +238,8 @@
           intendedIndustriesList:[],
           methodList:[],
           enterpriseList:[],
+          stationSubInfoList: [],
+          selectedRow: {},
           unit:"",
           //上传地址
           fileList:[],
@@ -191,7 +252,28 @@
               Authorization: getToken(),
           },
           head_portraitUrl: "",
-          fileList1: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}, {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}]
+          fileList1: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}, {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}],
+          pointPosition: [112.240222, 30.337053],
+          amapManager,
+          zoom: 12,
+          mapRuler: {},
+          ranging: false,
+          showMapDialog:false,
+          events: {
+            init: (map) => {
+              //const ruler = new window.AMap.RangingTool(map);
+              //this.mapRuler = ruler
+            },
+            click: (e) => {
+              if (!this.ranging) {
+                var pt = e.lnglat; //点击选择新地址为中心点
+                console.log(pt);
+
+                this.pointPosition = [pt.lng, pt.lat];
+                this.selectedRow.location = pt.lng + "," + pt.lat;
+              }
+            }
+          },
       };
     },
     created() {
@@ -300,6 +382,21 @@
         this.formModel.dialogImageUrl = data;
         this.dialogVisible = false;
       },
+
+      handleLocation(location) {
+        this.showMapDialog = true;
+
+        if (location != null && location.length > 0) {
+            var arr = location.split(",");
+
+            this.pointPosition = arr;
+        }
+      },
+      handleSelectPoint() {
+        this.formModel.location =
+          this.pointPosition[0] + "," + this.pointPosition[1];
+        this.showMapDialog = false;
+      },
     },
     async mounted() {
       var self = this;

+ 1 - 1
src/views/base/recruitInformationInfo-list.vue

@@ -164,7 +164,7 @@
             </span>
           </template>
         </el-table-column>
-        <el-table-column label="操作"  fixed="right"  width="420">
+        <el-table-column label="操作"  fixed="right"  width="450">
           <template slot-scope="{row}">
             <el-button class="btu1" size="mini" type="warning" @click="handleEdit(row)">编辑</el-button>
             <el-button class="btu1" v-if="row.status=='0'" size="mini" type="primary" @click="handleCheck(row)">审核</el-button>