修改完成
This commit is contained in:
		
							parent
							
								
									546485505b
								
							
						
					
					
						commit
						7f13e4d269
					
				| 
						 | 
				
			
			@ -174,6 +174,34 @@
 | 
			
		|||
            append-to-body
 | 
			
		||||
            :close-on-click-modal="false"
 | 
			
		||||
        >
 | 
			
		||||
             <!-- 内层对话框 选择地图 -->
 | 
			
		||||
            <el-dialog
 | 
			
		||||
                width="70%"
 | 
			
		||||
                title="选择地图"
 | 
			
		||||
                :visible.sync="innerVisible"
 | 
			
		||||
                v-if="innerVisible"
 | 
			
		||||
                append-to-body
 | 
			
		||||
            >
 | 
			
		||||
                <el-row class="search-container">
 | 
			
		||||
                    <el-input
 | 
			
		||||
                        clearable
 | 
			
		||||
                        placeholder="请输入地址"
 | 
			
		||||
                        v-model="searchAddress"
 | 
			
		||||
                        @keyup.enter.native="onSearchAddress"
 | 
			
		||||
                    />
 | 
			
		||||
                    <el-button
 | 
			
		||||
                        type="primary"
 | 
			
		||||
                        style="width: 120px"
 | 
			
		||||
                        @click="onSearchAddress"
 | 
			
		||||
                        >搜索</el-button
 | 
			
		||||
                    >
 | 
			
		||||
                </el-row>
 | 
			
		||||
                <div
 | 
			
		||||
                    id="map-container"
 | 
			
		||||
                    style="height: 550px; background-color: #bfc"
 | 
			
		||||
                >
 | 
			
		||||
                </div>
 | 
			
		||||
            </el-dialog>
 | 
			
		||||
            <el-form
 | 
			
		||||
                ref="form"
 | 
			
		||||
                :model="form"
 | 
			
		||||
| 
						 | 
				
			
			@ -252,6 +280,62 @@
 | 
			
		|||
                        onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
 | 
			
		||||
                    />
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
             <el-form-item label="开工日期" prop="startDate">
 | 
			
		||||
                    <el-date-picker
 | 
			
		||||
                        v-model="form.startDate"
 | 
			
		||||
                        type="date"
 | 
			
		||||
                        placeholder="请选择日期"
 | 
			
		||||
                        value-format="yyyy-MM-dd"
 | 
			
		||||
                        style="width: 100%"
 | 
			
		||||
                        @change="startDateChange"
 | 
			
		||||
                    />
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
                <el-form-item label="竣工日期" prop="completionDate">
 | 
			
		||||
                    <el-date-picker
 | 
			
		||||
                        v-model="form.completionDate"
 | 
			
		||||
                        type="date"
 | 
			
		||||
                        placeholder="请选择日期"
 | 
			
		||||
                        value-format="yyyy-MM-dd"
 | 
			
		||||
                        style="width: 100%"
 | 
			
		||||
                        :picker-options="{
 | 
			
		||||
                            // 设置当前时间为 开工日期
 | 
			
		||||
                            disabledDate: (time) => {
 | 
			
		||||
                                const currentDate = new Date(
 | 
			
		||||
                                    form.startDate || new Date(),
 | 
			
		||||
                                )
 | 
			
		||||
                                currentDate.setDate(currentDate.getDate())
 | 
			
		||||
                                return time.getTime() < currentDate.getTime()
 | 
			
		||||
                            },
 | 
			
		||||
                        }"
 | 
			
		||||
                    />
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
                <el-form-item>
 | 
			
		||||
                    <el-button type="primary" @click="handleProjectAddress"
 | 
			
		||||
                        >选择工程地址</el-button
 | 
			
		||||
                    >
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
                <el-form-item label="经度" prop="longitude">
 | 
			
		||||
                    <el-input disabled v-model="form.longitude" />
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
                <el-form-item label="纬度" prop="latitude">
 | 
			
		||||
                    <el-input disabled v-model="form.latitude" />
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
 | 
			
		||||
                <el-form-item
 | 
			
		||||
                    label="工程地址"
 | 
			
		||||
                    prop="detailsAddress"
 | 
			
		||||
                    class="address-ipt"
 | 
			
		||||
                >
 | 
			
		||||
                    <el-input
 | 
			
		||||
                        v-model="form.province"
 | 
			
		||||
                        disabled
 | 
			
		||||
                        style="width: 40%"
 | 
			
		||||
                    />
 | 
			
		||||
                    <el-input
 | 
			
		||||
                        v-model="form.detailsAddress"
 | 
			
		||||
                        style="width: 60%"
 | 
			
		||||
                    />
 | 
			
		||||
                </el-form-item>
 | 
			
		||||
            </el-form>
 | 
			
		||||
            <div slot="footer" class="dialog-footer">
 | 
			
		||||
                <el-button
 | 
			
		||||
| 
						 | 
				
			
			@ -319,8 +403,17 @@ export default {
 | 
			
		|||
                dictType: undefined,
 | 
			
		||||
                status: undefined,
 | 
			
		||||
            },
 | 
			
		||||
            innerVisible: false,
 | 
			
		||||
            map: null,
 | 
			
		||||
            searchAddress: '',
 | 
			
		||||
            // 表单参数
 | 
			
		||||
            form: {},
 | 
			
		||||
            form: {
 | 
			
		||||
                longitude: '',
 | 
			
		||||
                latitude: '',
 | 
			
		||||
                address: '',
 | 
			
		||||
                province: '',
 | 
			
		||||
                detailsAddress: '',
 | 
			
		||||
            },
 | 
			
		||||
            // 表单校验
 | 
			
		||||
            rules: {
 | 
			
		||||
                lotName: [
 | 
			
		||||
| 
						 | 
				
			
			@ -361,6 +454,41 @@ export default {
 | 
			
		|||
                // ownPro: [
 | 
			
		||||
                //   { required: true, message: "所属工程项目", trigger: "blur" }
 | 
			
		||||
                // ]
 | 
			
		||||
                startDate: [
 | 
			
		||||
                    {
 | 
			
		||||
                        required: true,
 | 
			
		||||
                        message: '请选择开工日期',
 | 
			
		||||
                        trigger: 'change',
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                // completionDate: [
 | 
			
		||||
                //     {
 | 
			
		||||
                //         required: true,
 | 
			
		||||
                //         message: '请选择竣工日期',
 | 
			
		||||
                //         trigger: 'change',
 | 
			
		||||
                //     },
 | 
			
		||||
                // ],
 | 
			
		||||
                longitude: [
 | 
			
		||||
                    {
 | 
			
		||||
                        required: true,
 | 
			
		||||
                        trigger: 'change',
 | 
			
		||||
                        message: '经度不能为空',
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                latitude: [
 | 
			
		||||
                    {
 | 
			
		||||
                        required: true,
 | 
			
		||||
                        trigger: 'change',
 | 
			
		||||
                        message: '纬度不能为空',
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                detailsAddress: [
 | 
			
		||||
                    {
 | 
			
		||||
                        required: true,
 | 
			
		||||
                        message: '请输入详细地址',
 | 
			
		||||
                        trigger: 'change',
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
            },
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			@ -433,6 +561,11 @@ export default {
 | 
			
		|||
                status: '0',
 | 
			
		||||
                remark: undefined,
 | 
			
		||||
                costIndicators: '',
 | 
			
		||||
                longitude: '',
 | 
			
		||||
                latitude: '',
 | 
			
		||||
                address: '',
 | 
			
		||||
                detailsAddress: '',
 | 
			
		||||
                province: '',
 | 
			
		||||
            }
 | 
			
		||||
            this.resetForm('form')
 | 
			
		||||
        },
 | 
			
		||||
| 
						 | 
				
			
			@ -473,6 +606,8 @@ export default {
 | 
			
		|||
            this.$refs['form'].validate((valid) => {
 | 
			
		||||
                if (valid) {
 | 
			
		||||
                    this.isLoading = true
 | 
			
		||||
                    this.form.address =
 | 
			
		||||
                        this.form.province + this.form.detailsAddress
 | 
			
		||||
                    if (this.form.lotId != undefined) {
 | 
			
		||||
                        updateProjectLot(this.form)
 | 
			
		||||
                            .then((response) => {
 | 
			
		||||
| 
						 | 
				
			
			@ -535,6 +670,100 @@ export default {
 | 
			
		|||
            // 将数字转为字符串,并使用正则表达式添加逗号
 | 
			
		||||
            return amount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')
 | 
			
		||||
        },
 | 
			
		||||
        // 开工日期变化
 | 
			
		||||
        startDateChange(val) {
 | 
			
		||||
            if (this.form.completionDate) {
 | 
			
		||||
                const startDate = val.split('-').join('') - 0
 | 
			
		||||
                const endDate = this.form.completionDate.split('-').join('') - 0
 | 
			
		||||
 | 
			
		||||
                if (startDate >= endDate) {
 | 
			
		||||
                    this.form.completionDate = ''
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /** 选择工程地址 */
 | 
			
		||||
        handleProjectAddress() {
 | 
			
		||||
            const this_ = this
 | 
			
		||||
            this.searchAddress = '';
 | 
			
		||||
            this.innerVisible = true
 | 
			
		||||
 | 
			
		||||
            this.$nextTick(() => {
 | 
			
		||||
                this_.map = new BMapGL.Map('map-container') // 创建地图实例
 | 
			
		||||
                let point = new BMapGL.Point(117.13805, 31.8734) // 创建点坐标
 | 
			
		||||
                // let point = new BMapGL.Point(116.404, 39.915) // 创建点坐标
 | 
			
		||||
                this_.map.centerAndZoom(point, 12) // 初始化地图,设置中心点坐标和地图级别
 | 
			
		||||
                this_.map.enableScrollWheelZoom(true) // 启用滚轮放大缩小
 | 
			
		||||
                this_.map.setHeading(64.5) //设置地图旋转角度
 | 
			
		||||
                this_.map.setTilt(73) //设置地图的倾斜角度
 | 
			
		||||
 | 
			
		||||
                var geoc = new BMapGL.Geocoder()
 | 
			
		||||
 | 
			
		||||
                this_.map.addEventListener('click', function (e) {
 | 
			
		||||
                    var pt = e.latlng
 | 
			
		||||
                    geoc.getLocation(pt, function (res) {
 | 
			
		||||
                        var addComp = res.addressComponents
 | 
			
		||||
                        this_.form.detailsAddress = `${addComp.city}${addComp.district}${addComp.street}${addComp.streetNumber}`
 | 
			
		||||
                        this_.form.province = `${addComp.province}`
 | 
			
		||||
                        this_.form.longitude = e.latlng.lng
 | 
			
		||||
                        this_.form.latitude = e.latlng.lat
 | 
			
		||||
                    })
 | 
			
		||||
                    this_.map.clearOverlays()
 | 
			
		||||
                    point = new BMapGL.Point(e.latlng.lng, e.latlng.lat)
 | 
			
		||||
                    let marker = new BMapGL.Marker(point) // 创建标点
 | 
			
		||||
                    this_.map.addOverlay(marker)
 | 
			
		||||
                })
 | 
			
		||||
            })
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /* 搜索 */
 | 
			
		||||
        onSearchAddress() {
 | 
			
		||||
            // console.log(this.searchAddress, '-----------')
 | 
			
		||||
 | 
			
		||||
            // 创建地址
 | 
			
		||||
            const myGeo = new BMapGL.Geocoder()
 | 
			
		||||
            const _this = this
 | 
			
		||||
            myGeo.getPoint(
 | 
			
		||||
                this.searchAddress,
 | 
			
		||||
                function (point) {
 | 
			
		||||
                    if (point) {
 | 
			
		||||
                        _this.map.clearOverlays()
 | 
			
		||||
                        const { lng, lat } = point
 | 
			
		||||
 | 
			
		||||
                        _this.map.centerAndZoom(point, 16)
 | 
			
		||||
                        _this.map.addOverlay(
 | 
			
		||||
                            new BMapGL.Marker(point, {
 | 
			
		||||
                                title: _this.searchAddress,
 | 
			
		||||
                            }),
 | 
			
		||||
                        )
 | 
			
		||||
                        // 根据坐标得到地址描述
 | 
			
		||||
                        myGeo.getLocation(
 | 
			
		||||
                            new BMapGL.Point(lng, lat),
 | 
			
		||||
                            function (result) {
 | 
			
		||||
                                if (result) {
 | 
			
		||||
                                    // console.log('result-----', result)
 | 
			
		||||
                                    let addComp = result.addressComponents
 | 
			
		||||
                                    // let addressDetails = result.content
 | 
			
		||||
                                    _this.form.detailsAddress = `${addComp.city}${addComp.district}${addComp.street}${addComp.streetNumber}`
 | 
			
		||||
                                    // _this.form.detailsAddress = `${addressDetails.address.replace(
 | 
			
		||||
                                    //     addComp.province,
 | 
			
		||||
                                    //     '',
 | 
			
		||||
                                    // )}${addressDetails.business}${
 | 
			
		||||
                                    //     addressDetails.poi_desc
 | 
			
		||||
                                    // }`
 | 
			
		||||
                                    _this.form.province = `${addComp.province}`
 | 
			
		||||
                                    _this.form.longitude = lng
 | 
			
		||||
                                    _this.form.latitude = lat
 | 
			
		||||
                                }
 | 
			
		||||
                            },
 | 
			
		||||
                        )
 | 
			
		||||
                    } else {
 | 
			
		||||
                        this.$message.error('您输入的地址有误,请重新输入')
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                '中国',
 | 
			
		||||
            )
 | 
			
		||||
        },
 | 
			
		||||
    },
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,7 +46,7 @@ module.exports = {
 | 
			
		|||
                // target: `http://10.40.92.81:8080`, //韩/
 | 
			
		||||
                // target: `http://192.168.2.74:49080`, //旭/
 | 
			
		||||
                // target: `http://192.168.2.17:39080`, //帅
 | 
			
		||||
                target: `http://localhost:39080`, //福
 | 
			
		||||
                target: `http://192.168.2.209:49080`, //福
 | 
			
		||||
                // target: `http://192.168.0.37:49080`, //跃
 | 
			
		||||
 | 
			
		||||
                //******** 注意事项  ********* */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue