| | |
| | | # http://192.168.0.36:10012/doc.html#/home |
| | | |
| | | # 萍姐本地 |
| | | VUE_APP_API_BASE_URL = 'http://192.168.0.104:10026' |
| | | # VUE_APP_API_BASE_URL = 'http://192.168.0.129:10026' |
| | | |
| | | # 后端接口地址 |
| | | #VUE_APP_API_BASE_URL = 'https://dmtest.ahapp.net/bike_admin_api' |
| | | VUE_APP_API_BASE_URL = 'https://dmtest.ahapp.net/bike_admin_api' |
| | |
| | | methods: { |
| | | initMap() { |
| | | map = new TMap.Map("container", { |
| | | zoom: 15, // 设置地图缩放级别 |
| | | zoom: 16, // 设置地图缩放级别 |
| | | center: new TMap.LatLng(31.722763, 117.385480) // 设置地图中心点坐标 |
| | | }) |
| | | var tempList = [] |
| | |
| | | <div class="tips">当车辆满载超过以上配置时,提示管理员</div> |
| | | </el-form-item> |
| | | <el-form-item label="电动车临时停车限制"> |
| | | <el-radio v-model="form.pauseBikeType" :label="0">停车点内停车</el-radio> |
| | | <el-radio v-model="form.pauseBikeType" :label="1">运营区内停车</el-radio> |
| | | <el-radio v-model="form.pauseBikeType" label="0">停车点内停车</el-radio> |
| | | <el-radio v-model="form.pauseBikeType" label="1">运营区内停车</el-radio> |
| | | </el-form-item> |
| | | <el-form-item label="电动车临时自动关锁"> |
| | | <el-input v-model="form.pauseAutoCloseTime" |
| | |
| | | comboDetailPost(id).then(res => { |
| | | this.param = res |
| | | this.$set(this.param, 'saleDate', [res.startDate, res.endDate]) |
| | | if (res.useStartDate && res.useEndDate && res.type != 0) { |
| | | if (res.useStartDate && res.useEndDate && res.useType != 2) { |
| | | this.$set(this.param, 'useDate', [res.useStartDate, res.useEndDate]) |
| | | } |
| | | this.$set(this.param, 'id', type == 'copy' ? null : this.param.id) |
| | |
| | | <!-- <el-button plain @click="reset">重新绘制</el-button> --> |
| | | <!-- <el-button plain type="danger" @click="deleteObj">删除</el-button> --> |
| | | </div> |
| | | <div id="container" style="width: 100%; height: 100%"></div> |
| | | <div id="containera" style="width: 100%; height: 100%"></div> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | |
| | | }, |
| | | methods: { |
| | | initMap() { |
| | | map = new TMap.Map("container", { |
| | | zoom: 15, // 设置地图缩放级别 |
| | | // navigator.geolocation.getCurrentPosition( |
| | | // (position) => { |
| | | // const { latitude, longitude } = position.coords |
| | | // console.log(`当前定位: 纬度 ${latitude}, 经度 ${longitude}`) |
| | | // }, |
| | | // (error) => { |
| | | // console.error("定位失败:", error.message) |
| | | // }, |
| | | // { |
| | | // enableHighAccuracy: true, // 提高定位精度 |
| | | // timeout: 5000, // 超时时间 |
| | | // maximumAge: 0 // 禁用缓存 |
| | | // } |
| | | // ) |
| | | console.log('-----') |
| | | |
| | | map = new TMap.Map("containera", { |
| | | zoom: 16, // 设置地图缩放级别 |
| | | center: new TMap.LatLng(31.722763, 117.385480) // 设置地图中心点坐标 |
| | | }) |
| | | var tempList = [] |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | title="查看图片" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | confirmText="打印二维码" |
| | | > |
| | | <div class="box" id="print-content"> |
| | | <div class="box_item" v-for="(item, index) in list" :key="index"> |
| | | <!-- <div class="box_item_title">微信</div>--> |
| | | <div class="box_item_qr"> |
| | | <img :src="item.imgurl" /> |
| | | <!-- <span>{{item.siteId}}/{{item.code}}</span>--> |
| | | </div> |
| | | <!-- <div class="box_item_footer">扫码取车</div>--> |
| | | </div> |
| | | <GlobalWindow title="查看图片" :visible.sync="visible" :confirm-working="isWorking" confirmText="打印二维码"> |
| | | <div class="box" id="print-content"> |
| | | <template v-for="(item, index) in list"> |
| | | <div class="box_item" v-if="item.imgurl" :key="index"> |
| | | <!-- <div class="box_item_title">微信</div>--> |
| | | <div class="box_item_qr"> |
| | | <img :src="item.imgurl" /> |
| | | <!-- <span>{{item.siteId}}/{{item.code}}</span>--> |
| | | </div> |
| | | <!-- <div class="box_item_footer">扫码取车</div>--> |
| | | </div> |
| | | <template v-slot:footer> |
| | | <!-- <el-button type="primary" v-print="'#print-content'">打印</el-button>--> |
| | | <el-button type="primary" :loading="isWorking.export" @click="exportImages">打包下载</el-button> |
| | | <el-button @click="close">返回</el-button> |
| | | </template> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | </div> |
| | | <template v-slot:footer> |
| | | <!-- <el-button type="primary" v-print="'#print-content'">打印</el-button>--> |
| | | <el-button type="primary" :loading="isWorking.export" @click="exportImages">打包下载</el-button> |
| | | <el-button @click="close">返回</el-button> |
| | | </template> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | name: 'QRcode', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | siteId:'', |
| | | isLoading : true, |
| | | siteId: '', |
| | | isLoading: true, |
| | | list: [] |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.config({ |
| | | api: '/business/sites', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, id) { |
| | | open(title, id) { |
| | | this.visible = true |
| | | }, |
| | | close () { |
| | | close() { |
| | | this.visible = false |
| | | }, |
| | | exportImages () { |
| | | downloadImgs( this.siteId) |
| | | .then(response => { |
| | | this.download(response) |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking.export = false |
| | | }) |
| | | exportImages() { |
| | | downloadImgs(this.siteId) |
| | | .then(response => { |
| | | this.download(response) |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking.export = false |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .box { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | /*justify-content: space-between;*/ |
| | | flex-wrap: wrap; |
| | | .box_item { |
| | | width: 152px; |
| | | height: auto; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | background: #FFFFFF; |
| | | border: 1px solid #BBBBBB; |
| | | padding: 3px 0 4px 0; |
| | | box-sizing: border-box; |
| | | margin-top: 50px; |
| | | margin-left: 35px; |
| | | .box_item_title { |
| | | font-size: 21px; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | } |
| | | .box_item_qr { |
| | | width: 139px; |
| | | height: 154px; |
| | | padding: 6px 7px; |
| | | box-sizing: border-box; |
| | | background: #282828; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | img { |
| | | width: 126px; |
| | | height: 146px; |
| | | } |
| | | span { |
| | | font-size: 13px; |
| | | font-weight: 400; |
| | | color: #FFFFFF; |
| | | } |
| | | } |
| | | .box_item_footer { |
| | | font-size: 23px; |
| | | font-weight: bold; |
| | | color: #222222; |
| | | } |
| | | } |
| | | .box { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | /*justify-content: space-between;*/ |
| | | flex-wrap: wrap; |
| | | |
| | | .box_item { |
| | | width: 152px; |
| | | height: auto; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | background: #FFFFFF; |
| | | border: 1px solid #BBBBBB; |
| | | padding: 3px 0 4px 0; |
| | | box-sizing: border-box; |
| | | margin-top: 50px; |
| | | margin-left: 35px; |
| | | |
| | | .box_item_title { |
| | | font-size: 21px; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | } |
| | | |
| | | .box_item_qr { |
| | | width: 139px; |
| | | height: 154px; |
| | | padding: 6px 7px; |
| | | box-sizing: border-box; |
| | | background: #282828; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | img { |
| | | width: 126px; |
| | | height: 146px; |
| | | } |
| | | |
| | | span { |
| | | font-size: 13px; |
| | | font-weight: 400; |
| | | color: #FFFFFF; |
| | | } |
| | | } |
| | | |
| | | .box_item_footer { |
| | | font-size: 23px; |
| | | font-weight: bold; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | this.$refs.MapRef.isShowModal = true |
| | | this.$nextTick(() => { |
| | | this.$refs.MapRef.row = row |
| | | if (row.electronicFence) { |
| | | this.$refs.MapRef.polygons = JSON.parse(row.electronicFence) |
| | | } |
| | | // if (row.electronicFence) { |
| | | // this.$refs.MapRef.polygons = JSON.parse(row.electronicFence) |
| | | // } |
| | | |
| | | this.$refs.MapRef.initMap() |
| | | }) |
| | |
| | | <el-form-item label="所在站点" prop="name"> |
| | | <el-input v-model="searchForm.name" placeholder="请输入名称/编码" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="电量情况" prop="name"> |
| | | <el-select v-model="searchForm.status" placeholder="电量情况" @change="search"> |
| | | <el-option label="正常" value="0" /> |
| | | <el-option label="电量低" value="1" /> |
| | | <el-form-item label="电量情况" prop="lowVoltage"> |
| | | <el-select v-model="searchForm.lowVoltage" placeholder="电量情况" @change="search"> |
| | | <el-option label="正常" :value="0" /> |
| | | <el-option label="电量低" :value="1" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | |
| | | code: '', |
| | | status: '', |
| | | lockNum: '', |
| | | lowVoltage: '', |
| | | ip: '', |
| | | type: 1, |
| | | clientVersion: '' |