Commit 618522feae870edb9307e6bfc16465a3250e40f0

Authored by 2c2c2c
1 parent a8f380a6

新增审批字段

trash-ui/src/api/taskmethod.js
... ... @@ -155,6 +155,7 @@ export default {
155 155 this.leaveApplicationOpen = false;
156 156 this.company = false;
157 157 this.driver = false;
  158 + this.dropPoint = false;
158 159 this.vehicle = false;
159 160 this.videoSrc1 = [];
160 161 this.slides1 = [];
... ...
trash-ui/src/views/activiti/task/dropPointinfo.vue
1 1 <template>
2 2 <div>
3   - <div v-loading="loading" style="border: 1px solid black;">
4   - <el-row >
5   - <el-col :span="12" class="bd">投放点编号</el-col>
6   - <el-col :span="12" class="bd">{{infoData.dropPointNo}}</el-col>
7   - </el-row>
8   - <el-row >
9   - <el-col :span="12" class="bd">投放点名称</el-col>
10   - <el-col :span="12" class="bd">{{infoData.dropPointName}}</el-col>
11   - </el-row>
12   - <el-row >
13   - <el-col :span="12" class="bd">所属区域</el-col>
14   - <el-col :span="12" class="bd">{{dict(infoData.place)}}</el-col>
15   - </el-row>
16   - <el-row >
17   - <el-col :span="12" class="bd">所属街道</el-col>
18   - <el-col :span="12" class="bd">{{dictInfo(infoData.street)}}</el-col>
19   - </el-row>
20   - <el-row >
21   - <el-col :span="12" class="bd">社区</el-col>
22   - <el-col :span="12" class="bd">{{infoData.community}}</el-col>
23   - </el-row>
24   - <el-row >
25   - <el-col :span="12" class="bd">详细地址</el-col>
26   - <el-col :span="12" class="bd">{{infoData.address}}</el-col>
27   - </el-row>
28   - <el-row >
29   - <el-col :span="12" class="bd">投放点形式</el-col>
30   - <el-col :span="12" class="bd">{{infoData.type}}</el-col>
31   - </el-row>
32   - <el-row >
33   - <el-col :span="12" class="bd">投放点面积(m²)</el-col>
34   - <el-col :span="12" class="bd">{{infoData.area}}</el-col>
35   - </el-row>
36   - <el-row >
37   - <el-col :span="12" class="bd">投放点容量(m³)</el-col>
38   - <el-col :span="12" class="bd">{{infoData.capacity}}</el-col>
39   - </el-row>
40   - <el-row >
41   - <el-col :span="12" class="bd">管理单位</el-col>
42   - <el-col :span="12" class="bd">{{infoData.managementUnit}}</el-col>
43   - </el-row>
44   - <el-row >
45   - <el-col :span="12" class="bd">管理人</el-col>
46   - <el-col :span="12" class="bd">{{infoData.custodian}}</el-col>
47   - </el-row>
48   - <el-row >
49   - <el-col :span="12" class="bd">管理员电话</el-col>
50   - <el-col :span="12" class="bd">{{infoData.custodianPhone}}</el-col>
51   - </el-row>
52   - <el-row >
53   - <el-col :span="12" class="bd">投放时间</el-col>
54   - <el-col :span="12" class="bd">{{infoData.dropTime}}</el-col>
55   - </el-row>
56   - <el-row >
57   - <el-col :span="12" class="bd">运营单位</el-col>
58   - <el-col :span="12" class="bd">{{infoData.operatingUnit}}</el-col>
59   - </el-row>
60   - <el-row >
61   - <el-col :span="12" class="bd">运输单位</el-col>
62   - <el-col :span="12" class="bd">{{infoData.transportUnit}}</el-col>
63   - </el-row>
64   - <el-row >
65   - <el-col :span="12" class="bd">坐标点</el-col>
66   - <el-col :span="12" class="bd">{{infoData.coordinatePoint}}</el-col>
67   - </el-row>
68   - </div>
  3 + <el-form ref="form" :model="infoData" label-width="128px">
  4 +
  5 + <el-form-item label="投放点编号" prop="dropPointNo">
  6 + <el-input v-model="infoData.dropPointNo" placeholder="请输入投放点编号" :disabled="true"/>
  7 + </el-form-item>
  8 +
  9 + <el-form-item label="投放点名称" prop="dropPointName">
  10 + <el-input v-model="infoData.dropPointName" placeholder="请输入投放点名称" :disabled="true"/>
  11 + </el-form-item>
  12 +
  13 + <el-form-item label="所属区域" prop="district">
  14 + <el-input v-model="infoData.district" placeholder="请输入投放点名称" :disabled="true"/>
  15 + </el-form-item>
  16 +
  17 + <el-form-item label="所属街道" prop="street">
  18 + <el-input v-model="infoData.street" placeholder="请输入投放点名称" :disabled="true"/>
  19 + </el-form-item>
  20 +
  21 + <el-form-item label="社区" prop="community">
  22 + <el-input v-model="infoData.community" placeholder="请输入社区" :disabled="true"/>
  23 + </el-form-item>
  24 +
  25 +
  26 + <el-form-item label="详细地址" prop="address">
  27 + <el-input v-model="infoData.address" placeholder="请输入详细地址" :disabled="true"/>
  28 + </el-form-item>
  29 +
  30 + <el-form-item label="投放点形式" prop="type">
  31 + <el-select v-model="infoData.type" placeholder="请选择投放点形式" :disabled="true" style="width: 100%">
  32 + <el-option label="固定" value="固定"/>
  33 + <el-option label="临时" value="临时"/>
  34 + </el-select>
  35 + </el-form-item>
  36 +
  37 + <el-form-item label="投放点面积(m²)" prop="area" :disabled="true">
  38 + <el-input v-model="infoData.area" placeholder="请输入投放点面积" :disabled="true"/>
  39 + </el-form-item>
  40 +
  41 + <el-form-item label="投放点容量(m³)" prop="capacity">
  42 + <el-input v-model="infoData.capacity" placeholder="请输入投放点容量" :disabled="true"/>
  43 + </el-form-item>
  44 +
  45 + <el-form-item label="管理单位" prop="managementUnit">
  46 + <el-input v-model="infoData.managementUnit" placeholder="请输入管理单位" :disabled="true"/>
  47 + </el-form-item>
  48 +
  49 + <el-form-item label="管理人" prop="custodian">
  50 + <el-input v-model="infoData.custodian" placeholder="请输入管理人" :disabled="true"/>
  51 + </el-form-item>
  52 +
  53 + <el-form-item label="管理员电话" prop="custodianPhone">
  54 + <el-input v-model="infoData.custodianPhone" placeholder="请输入管理员联系电话" :maxlength="11" show-word-limit :disabled="true"/>
  55 + </el-form-item>
  56 +
  57 + <el-form-item label="投放时间" prop="dropTime">
  58 + <el-time-select
  59 + v-model="infoData.dropTime"
  60 + style="width: 100%"
  61 + :picker-options="{
  62 + start: '00:00',
  63 + step: '00:30',
  64 + end: '23:30'
  65 + }"
  66 + :disabled="true"
  67 + placeholder="选择时间">
  68 + </el-time-select>
  69 + </el-form-item>
  70 +
  71 + <el-form-item label="运营单位" prop="operatingUnit">
  72 + <el-input v-model="infoData.operatingUnit" placeholder="请输入运营单位" :disabled="true" />
  73 + </el-form-item>
  74 +
  75 + <el-form-item label="运输单位" prop="transportUnit">
  76 + <el-input v-model="infoData.transportUnit" placeholder="请输入运输单位" :disabled="true"/>
  77 + </el-form-item>
  78 +
  79 + <el-form-item label="坐标点" prop="coordinatePoint">
  80 + <el-input v-model="infoData.coordinatePoint" placeholder="请输入坐标点经纬度" :disabled="true"/>
  81 + </el-form-item>
  82 + <!-- <el-button type="primary" @click="handleOpenMap">坐标点</el-button>-->
  83 +
  84 + </el-form>
69 85 </div>
70 86 </template>
71 87  
... ... @@ -159,6 +175,8 @@ export default {
159 175 getDropPointInfo(id).then(response => {
160 176  
161 177 this.infoData = response.data;
  178 + this.infoData.district = this.dict(this.infoData.district);
  179 + this.infoData.street = this.dictInfo(this.infoData.street);
162 180 // getArea().then(res => {
163 181 // this.areas = res.result;
164 182 // this.loading = false;
... ...
trash-ui/src/views/h5/task/dropPointinfo.vue
1 1 <template>
2 2 <div>
3 3 <div v-loading="loading" style="border: 1px solid black;">
4   - <el-row >
5   - <el-col :span="12" class="bd">投放点编号</el-col>
6   - <el-col :span="12" class="bd">{{infoData.dropPointNo}}</el-col>
7   - </el-row>
8   - <el-row >
9   - <el-col :span="12" class="bd">投放点名称</el-col>
10   - <el-col :span="12" class="bd">{{infoData.dropPointName}}</el-col>
11   - </el-row>
12   - <el-row >
13   - <el-col :span="12" class="bd">所属区域</el-col>
14   - <el-col :span="12" class="bd">{{dict(infoData.place)}}</el-col>
15   - </el-row>
16   - <el-row >
17   - <el-col :span="12" class="bd">所属街道</el-col>
18   - <el-col :span="12" class="bd">{{dictInfo(infoData.street)}}</el-col>
19   - </el-row>
20   - <el-row >
21   - <el-col :span="12" class="bd">社区</el-col>
22   - <el-col :span="12" class="bd">{{infoData.community}}</el-col>
23   - </el-row>
24   - <el-row >
25   - <el-col :span="12" class="bd">详细地址</el-col>
26   - <el-col :span="12" class="bd">{{infoData.address}}</el-col>
27   - </el-row>
28   - <el-row >
29   - <el-col :span="12" class="bd">投放点形式</el-col>
30   - <el-col :span="12" class="bd">{{infoData.type}}</el-col>
31   - </el-row>
32   - <el-row >
33   - <el-col :span="12" class="bd">投放点面积(m²)</el-col>
34   - <el-col :span="12" class="bd">{{infoData.area}}</el-col>
35   - </el-row>
36   - <el-row >
37   - <el-col :span="12" class="bd">投放点容量(m³)</el-col>
38   - <el-col :span="12" class="bd">{{infoData.capacity}}</el-col>
39   - </el-row>
40   - <el-row >
41   - <el-col :span="12" class="bd">管理单位</el-col>
42   - <el-col :span="12" class="bd">{{infoData.managementUnit}}</el-col>
43   - </el-row>
44   - <el-row >
45   - <el-col :span="12" class="bd">管理人</el-col>
46   - <el-col :span="12" class="bd">{{infoData.custodian}}</el-col>
47   - </el-row>
48   - <el-row >
49   - <el-col :span="12" class="bd">管理员电话</el-col>
50   - <el-col :span="12" class="bd">{{infoData.custodianPhone}}</el-col>
51   - </el-row>
52   - <el-row >
53   - <el-col :span="12" class="bd">投放时间</el-col>
54   - <el-col :span="12" class="bd">{{infoData.dropTime}}</el-col>
55   - </el-row>
56   - <el-row >
57   - <el-col :span="12" class="bd">运营单位</el-col>
58   - <el-col :span="12" class="bd">{{infoData.operatingUnit}}</el-col>
59   - </el-row>
60   - <el-row >
61   - <el-col :span="12" class="bd">运输单位</el-col>
62   - <el-col :span="12" class="bd">{{infoData.transportUnit}}</el-col>
63   - </el-row>
64   - <el-row >
65   - <el-col :span="12" class="bd">坐标点</el-col>
66   - <el-col :span="12" class="bd">{{infoData.coordinatePoint}}</el-col>
67   - </el-row>
  4 + <el-form ref="form" :model="infoData" label-width="128px">
  5 +
  6 + <el-form-item label="投放点编号" prop="dropPointNo">
  7 + <el-input v-model="infoData.dropPointNo" placeholder="请输入投放点编号" :disabled="true"/>
  8 + </el-form-item>
  9 +
  10 + <el-form-item label="投放点名称" prop="dropPointName">
  11 + <el-input v-model="infoData.dropPointName" placeholder="请输入投放点名称" :disabled="true"/>
  12 + </el-form-item>
  13 +
  14 + <el-form-item label="所属区域" prop="district">
  15 + <el-input v-model="infoData.district" placeholder="请输入投放点名称" :disabled="true"/>
  16 + </el-form-item>
  17 +
  18 + <el-form-item label="所属街道" prop="street">
  19 + <el-input v-model="infoData.street" placeholder="请输入投放点名称" :disabled="true"/>
  20 + </el-form-item>
  21 +
  22 + <el-form-item label="社区" prop="community">
  23 + <el-input v-model="infoData.community" placeholder="请输入社区" :disabled="true"/>
  24 + </el-form-item>
  25 +
  26 +
  27 + <el-form-item label="详细地址" prop="address">
  28 + <el-input v-model="infoData.address" placeholder="请输入详细地址" :disabled="true"/>
  29 + </el-form-item>
  30 +
  31 + <el-form-item label="投放点形式" prop="type">
  32 + <el-select v-model="infoData.type" placeholder="请选择投放点形式" :disabled="true" style="width: 100%">
  33 + <el-option label="固定" value="固定"/>
  34 + <el-option label="临时" value="临时"/>
  35 + </el-select>
  36 + </el-form-item>
  37 +
  38 + <el-form-item label="投放点面积(m²)" prop="area" :disabled="true">
  39 + <el-input v-model="infoData.area" placeholder="请输入投放点面积" :disabled="true"/>
  40 + </el-form-item>
  41 +
  42 + <el-form-item label="投放点容量(m³)" prop="capacity">
  43 + <el-input v-model="infoData.capacity" placeholder="请输入投放点容量" :disabled="true"/>
  44 + </el-form-item>
  45 +
  46 + <el-form-item label="管理单位" prop="managementUnit">
  47 + <el-input v-model="infoData.managementUnit" placeholder="请输入管理单位" :disabled="true"/>
  48 + </el-form-item>
  49 +
  50 + <el-form-item label="管理人" prop="custodian">
  51 + <el-input v-model="infoData.custodian" placeholder="请输入管理人" :disabled="true"/>
  52 + </el-form-item>
  53 +
  54 + <el-form-item label="管理员电话" prop="custodianPhone">
  55 + <el-input v-model="infoData.custodianPhone" placeholder="请输入管理员联系电话" :maxlength="11" show-word-limit :disabled="true"/>
  56 + </el-form-item>
  57 +
  58 + <el-form-item label="投放时间" prop="dropTime">
  59 + <el-time-select
  60 + v-model="infoData.dropTime"
  61 + style="width: 100%"
  62 + :picker-options="{
  63 + start: '00:00',
  64 + step: '00:30',
  65 + end: '23:30'
  66 + }"
  67 + :disabled="true"
  68 + placeholder="选择时间">
  69 + </el-time-select>
  70 + </el-form-item>
  71 +
  72 + <el-form-item label="运营单位" prop="operatingUnit">
  73 + <el-input v-model="infoData.operatingUnit" placeholder="请输入运营单位" :disabled="true" />
  74 + </el-form-item>
  75 +
  76 + <el-form-item label="运输单位" prop="transportUnit">
  77 + <el-input v-model="infoData.transportUnit" placeholder="请输入运输单位" :disabled="true"/>
  78 + </el-form-item>
  79 +
  80 + <el-form-item label="坐标点" prop="coordinatePoint">
  81 + <el-input v-model="infoData.coordinatePoint" placeholder="请输入坐标点经纬度" :disabled="true"/>
  82 + </el-form-item>
  83 + <!-- <el-button type="primary" @click="handleOpenMap">坐标点</el-button>-->
  84 +
  85 + </el-form>
68 86 </div>
69 87 </div>
70 88 </template>
... ... @@ -159,6 +177,8 @@ export default {
159 177 getDropPointInfo(id).then(response => {
160 178  
161 179 this.infoData = response.data;
  180 + this.infoData.street = this.dictInfo(this.infoData.street);
  181 + this.infoData.district = this.dict(this.infoData.district);
162 182 // getArea().then(res => {
163 183 // this.areas = res.result;
164 184 // this.loading = false;
... ...
trash-ui/src/views/unit/dropPointInfo/dropPointinfo.vue deleted 100644 → 0
1   -<template>
2   - <div class="app-container">
3   -
4   - <!-- 添加或修改处理场所管理对话框 -->
5   - <h3>
6   - 基础信息
7   - </h3>
8   - <!-- 添加或修改投放点信息管理对话框 -->
9   - <el-form ref="form" :model="form" :rules="rules" label-width="128px">
10   -
11   - <el-form-item label="投放点编号" prop="dropPointNo">
12   - <el-input v-model="form.dropPointNo" placeholder="请输入投放点编号" :disabled="true"/>
13   - </el-form-item>
14   -
15   - <el-form-item label="投放点名称" prop="dropPointName">
16   - <el-input v-model="form.dropPointName" placeholder="请输入投放点名称"/>
17   - </el-form-item>
18   -
19   -
20   - <el-form-item label="所属区域" prop="street">
21   - <el-select v-model="form.district" placeholder="请输入所属区域" style="width: 100%" clearable @change="getStreets">
22   - <el-option v-for="(area,index) in areas" :label="area.name" :value="area.code" :key="index"/>
23   - </el-select>
24   - </el-form-item>
25   -
26   - <el-form-item label="所属街道" prop="street">
27   - <el-select v-model="form.street" placeholder="请输入所属街道" style="width: 100%" clearable>
28   - <el-option v-for="(area,index) in streets" :label="area.name" :value="area.code" :key="area.code" @click.native="createDropPointNo(area)"/>
29   - </el-select>
30   - </el-form-item>
31   -
32   - <el-form-item label="社区" prop="community">
33   - <el-input v-model="form.community" placeholder="请输入社区"/>
34   - </el-form-item>
35   -
36   -
37   - <el-form-item label="详细地址" prop="address">
38   - <el-input v-model="form.address" placeholder="请输入详细地址"/>
39   - </el-form-item>
40   -
41   - <el-form-item label="投放点形式" prop="type">
42   - <el-select v-model="form.type" placeholder="请选择投放点形式" style="width: 100%">
43   - <el-option label="固定" value="固定"/>
44   - <el-option label="临时" value="临时"/>
45   - </el-select>
46   - </el-form-item>
47   -
48   -
49   - <el-form-item label="投放点面积(m²)" prop="area">
50   - <el-input v-model="form.area" placeholder="请输入投放点面积"/>
51   - </el-form-item>
52   -
53   - <el-form-item label="投放点容量(m³)" prop="capacity">
54   - <el-input v-model="form.capacity" placeholder="请输入投放点容量"/>
55   - </el-form-item>
56   -
57   -
58   - <el-form-item label="管理单位" prop="managementUnit">
59   - <el-input v-model="form.managementUnit" placeholder="请输入管理单位"/>
60   - </el-form-item>
61   -
62   - <el-form-item label="管理人" prop="custodian">
63   - <el-input v-model="form.custodian" placeholder="请输入管理人"/>
64   - </el-form-item>
65   -
66   -
67   - <el-form-item label="管理员电话" prop="custodianPhone">
68   - <el-input v-model="form.custodianPhone" placeholder="请输入管理员联系电话" :maxlength="11" show-word-limit/>
69   - </el-form-item>
70   -
71   - <el-form-item label="投放时间" prop="dropTime">
72   - <el-time-select
73   - v-model="form.dropTime"
74   - style="width: 100%"
75   - :picker-options="{
76   - start: '00:00',
77   - step: '00:30',
78   - end: '23:30'
79   - }"
80   - placeholder="选择时间">
81   - </el-time-select>
82   - </el-form-item>
83   -
84   - <el-form-item label="运营单位" prop="operatingUnit">
85   - <el-input v-model="form.operatingUnit" placeholder="请输入运营单位"/>
86   - </el-form-item>
87   -
88   - <el-form-item label="运输单位" prop="transportUnit">
89   - <el-input v-model="form.transportUnit" placeholder="请输入运输单位"/>
90   - </el-form-item>
91   -
92   - <el-form-item label="坐标点" prop="coordinatePoint">
93   - <el-input v-model="form.coordinatePoint" placeholder="请输入坐标点经纬度" readonly @click.native="handleOpenMap"/>
94   - </el-form-item>
95   -
96   - </el-form>
97   - <div slot="footer" class="dialog-footer">
98   - <el-button type="primary" @click="submitForm">确 定</el-button>
99   - <el-button @click="cancel">取 消</el-button>
100   - </div>
101   - <el-dialog title="高德地图" :visible.sync="openMap" width="1600px" height="750px" append-to-body>
102   - <div class="serach_map">
103   - 搜索:
104   - <el-select
105   - v-model="keywords"
106   - filterable
107   - remote
108   - placeholder="请输入关键词"
109   - :remote-method="remoteMethod"
110   - :loading="loading"
111   - :clearable="true"
112   - size="mini"
113   - @change="currentSelect"
114   - style="width: 250px"
115   - >
116   - <el-option
117   - v-for="item in mapOptions"
118   - :key="item.id"
119   - :label="item.name"
120   - :value="item"
121   - class="one-text"
122   - >
123   - <span style="float: left">{{ item.name }}</span>
124   - <span style="float: right; color: #8492a6; font-size: 13px">{{
125   - item.district
126   - }}</span>
127   - </el-option>
128   - </el-select>
129   - </div>
130   - <div v-loading="loading" id="dropPointInfoContainer" class="am-map" style="width:100%;height: 700px;"></div>
131   - <div slot="footer" class="dialog-footer">
132   - <!-- <el-button type="primary" @click="clearCoordinatePoint">清除坐标点</el-button>-->
133   - <el-button type="primary" @click="openMap = false">确 定</el-button>
134   - </div>
135   - </el-dialog>
136   - </div>
137   -</template>
138   -
139   -<script>
140   -import {
141   - listDropPointInfo,
142   - getDropPointInfo,
143   - delDropPointInfo,
144   - addDropPointInfo,
145   - updateDropPointInfo,
146   - exportDropPointInfo
147   -} from "@/api/unit/dropPointInfo";
148   -import {getAreaList} from "@/api/dict"
149   -import AMapLoader from "@amap/amap-jsapi-loader";
150   -import Treeselect from "@riophae/vue-treeselect";
151   -
152   -// 设置安全密钥
153   -window._AMapSecurityConfig = {
154   - securityJsCode: 'aa1db7d8f534f3da3f6d8a6a71382802',
155   -}
156   -
157   -export default {
158   - name: "DropPointInfo",
159   - components: {AMapLoader},
160   - data() {
161   - return {
162   - // 遮罩层
163   - loading: true,
164   - // 选中数组
165   - ids: [],
166   - // 非单个禁用
167   - single: true,
168   - // 非多个禁用
169   - multiple: true,
170   - // 显示搜索条件
171   - showSearch: true,
172   - // 总条数
173   - total: 0,
174   - // 投放点信息管理表格数据
175   - dropPointInfoList: [],
176   - // 弹出层标题
177   - title: "",
178   - // 是否显示弹出层
179   - open: false,
180   - // 查询参数
181   - queryParams: {
182   - pageNum: 1,
183   - pageSize: 10,
184   - dropPointName: null,
185   - address: null,
186   - type: null,
187   - },
188   - // 表单参数
189   - form: {},
190   - // 表单校验
191   - rules: {
192   - dropPointName: [
193   - {required: true, message: "请输入投放点名称", trigger: "blur"}
194   - ],
195   - district: [
196   - {required: true, message: "请输入所属区域", trigger: "blur"}
197   - ],
198   - street: [
199   - {required: true, message: "请输入所属街道", trigger: "blur"}
200   - ],
201   - community: [
202   - {required: true, message: "请输入社区", trigger: "blur"}
203   - ],
204   - address: [
205   - {required: true, message: "请输入详细地址", trigger: "blur"}
206   - ],
207   - type: [
208   - {required: true, message: "请选择投放点形式", trigger: "change"}
209   - ],
210   - area: [
211   - {required: true, message: "请输入投放点面积", trigger: "blur"},
212   - //只能填写数字、小数
213   - {pattern: /^[0-9]+(\.[0-9]{1,2})?$/, message: "只能填写数字、小数,限制两位小数", trigger: "blur"}
214   - ],
215   - capacity: [
216   - {required: true, message: "请输入投放点容量", trigger: "blur"},
217   - //只能填写数字
218   - {pattern: /^[0-9]+(\.[0-9]{1,2})?$/, message: "只能填写数字、小数,限制两位小数", trigger: "blur"}
219   - ],
220   - managementUnit: [
221   - {required: true, message: "请输入管理单位", trigger: "blur"}
222   - ],
223   - custodian: [
224   - {required: true, message: "请输入管理人", trigger: "blur"}
225   - ],
226   - custodianPhone: [
227   - {required: true, message: "请输入管理员电话", trigger: "blur"},
228   - {
229   - pattern: /^1(3|4|5|7|8|9)\d{9}$/,
230   - message: '手机号格式错误',
231   - trigger: 'change'
232   - }
233   - ],
234   - dropTime: [
235   - {required: true, message: "请选择投放时间", trigger: "change"}
236   - ],
237   - operatingUnit: [
238   - {required: true, message: "请输入运营单位", trigger: "blur"}
239   - ],
240   - transportUnit: [
241   - {required: true, message: "请输入运输单位", trigger: "blur"}
242   - ],
243   - coordinatePoint: [
244   - {required: true, message: "请点击坐标点按钮选择坐标点", trigger: "blur"}
245   - ]
246   - },
247   - areas: [],
248   - streets:[],
249   - // 地图
250   - map: null,
251   - keywords: "",
252   - mapOptions: [],
253   - openMap:false,
254   - center: null,
255   - circleMarker: null,
256   - };
257   - },
258   - created() {
259   - getAreaList().then(response => {
260   - if(response==null || response.length===0){
261   - this.$message.error("获取区域列表失败");
262   - return;
263   - }
264   - const data = response;
265   - for (let dataKey in data) {
266   - if(data[dataKey].level === '3'){
267   - this.areas.push({name:data[dataKey].name,code:data[dataKey].id, streets:[]})
268   - }
269   - }
270   - for(let dataKey in data){
271   - for(let areas1Key in this.areas){
272   - if(data[dataKey].pid === this.areas[areas1Key].code){
273   - this.areas[areas1Key].streets.push({code:data[dataKey].id, name:data[dataKey].name})
274   - }
275   - }
276   - }
277   - });
278   -
279   - this.getList();
280   - // this.initAMap();
281   - },
282   - methods: {
283   - dict(code){
284   - for(let key in this.areas){
285   - if(this.areas[key].code === code){
286   - return this.areas[key].name;
287   - }
288   - }
289   - },
290   - dictInfo(code){
291   - for(let key in this.areas){
292   - for(let keyInfo in this.areas[key].streets){
293   - if(this.areas[key].streets[keyInfo].code === code){
294   - return this.areas[key].streets[keyInfo].name;
295   - }
296   - }
297   - }
298   - },
299   - clearCoordinatePoint(){
300   - this.center = null;
301   - this.form.coordinatePoint = null;
302   - this.map = null;
303   - this.circleMarker = null;
304   - this.initAMap();
305   - },
306   - handleOpenMap(){
307   - this.openMap = true;
308   - this.initAMap();
309   - },
310   - initAMap() {
311   - const _this = this
312   - // 加载高德地图
313   - AMapLoader.load({
314   - key: _this.$aMapKey, //设置高德地图申请的key
315   - version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
316   - plugins: ['AMap.ToolBar','AMap.AutoComplete', 'AMap.PlaceSearch', 'AMap.Marker','AMap.CircleMarker'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
317   - AMapUI: {
318   - version: "1.1",
319   - plugins: []
320   - },
321   - Loca: {
322   - version: "2.0"
323   - },
324   - }).then(async (AMap) => {
325   - _this.map = await new AMap.Map("dropPointInfoContainer", { //设置地图容器id
326   - viewMode: "2D", // 默认使用 2D 模式
327   - center: [113.01814545605467, 28.201039299894283], // 初始化地图中心点位置
328   - zoom: 11, //初始化地图层级
329   - resizeEnable: true,
330   - willreadoften: true
331   - });
332   - _this.AutoComplete = await new AMap.AutoComplete({city:'长沙'});
333   - // 数据回显
334   - if(_this.form.coordinatePoint!=null&&_this.form.coordinatePoint!==""){
335   - //设置圆形位置
336   - _this.center = new AMap.LngLat(_this.form.coordinatePoint.split(",")[0], _this.form.coordinatePoint.split(",")[1]);
337   - //设置圆的半径大小
338   - var radius = 10 //单位:px
339   -
340   - //创建圆形点标记 CircleMarker 实例
341   - _this.circleMarker = new AMap.CircleMarker({
342   - center: _this.center, //圆心
343   - radius: radius, //半径
344   - strokeColor: "white", //轮廓线颜色
345   - strokeWeight: 2, //轮廓线宽度
346   - strokeOpacity: 0.5, //轮廓线透明度
347   - fillColor: "rgba(0,0,255,1)", //圆点填充颜色
348   - fillOpacity: 0.5, //圆点填充透明度
349   - zIndex: 10, //圆点覆盖物的叠加顺序
350   - cursor: "pointer", //鼠标悬停时的鼠标样式
351   - });
352   - //圆形 circleMarker 对象添加到 Map
353   - _this.map.add(_this.circleMarker);
354   - //将覆盖物调整到合适视野
355   - _this.map.setFitView([_this.circleMarker]);
356   - }
357   - // 监听地图点击事件
358   - _this.map.on("click", (e) => {
359   - console.log(e)
360   - if(_this.center!=null){
361   - _this.map.remove(_this.circleMarker);
362   - _this.center = null;
363   - _this.form.coordinatePoint = null;
364   - }
365   -
366   - //判断是否已有圆点标记
367   - if(_this.center==null){
368   - //设置圆形位置
369   - _this.center = new AMap.LngLat(e.lnglat.lng, e.lnglat.lat);
370   - //设置圆的半径大小
371   - var radius = 10 //单位:px
372   -
373   - //创建圆形点标记 CircleMarker 实例
374   - _this.circleMarker = new AMap.CircleMarker({
375   - center: _this.center, //圆心
376   - radius: radius, //半径
377   - strokeColor: "white", //轮廓线颜色
378   - strokeWeight: 2, //轮廓线宽度
379   - strokeOpacity: 0.5, //轮廓线透明度
380   - fillColor: "rgba(0,0,255,1)", //圆点填充颜色
381   - fillOpacity: 0.5, //圆点填充透明度
382   - zIndex: 10, //圆点覆盖物的叠加顺序
383   - cursor: "pointer", //鼠标悬停时的鼠标样式
384   - });
385   - //圆形 circleMarker 对象添加到 Map
386   - _this.map.add(_this.circleMarker);
387   - //将覆盖物调整到合适视野
388   - _this.map.setFitView([_this.circleMarker]);
389   - _this.$set(_this.form, "coordinatePoint", e.lnglat.lng+","+e.lnglat.lat);
390   - }
391   - });
392   - }).catch(e => {
393   - console.log(e);
394   - });
395   - this.loading = false;
396   - // this.openMap = false;
397   - },
398   - // 选中提示
399   - currentSelect(val) {
400   - console.log(val);
401   - // 清空时不执行后面代码
402   - if (!val) {
403   - return ;
404   - }
405   -
406   - //清除marker
407   - if (this.searchMarker){
408   - this.map.remove(this.searchMarker)
409   - }
410   - //设置marker
411   - // this.searchMarker = new AMap.Marker({
412   - // map: this.map,
413   - // position: [val.location.lng, val.location.lat],
414   - // });
415   - // 自动适应显示想显示的范围区域
416   - //定位
417   - this.map.setCenter([val.location.lng, val.location.lat])
418   - this.map.setZoom(18);
419   - this.keywords = val.name
420   -
421   - },
422   - // 搜索地址
423   - remoteMethod(query) {
424   - if (query !== "") {
425   - this.loading = true;
426   - setTimeout(() => {
427   - this.loading = false;
428   - this.AutoComplete.search(query, (status, result) => {
429   - this.mapOptions = result.tips;
430   - });
431   - }, 200);
432   - } else {
433   - this.mapOptions = [];
434   - }
435   - },
436   - createDropPointNo(area){
437   - listDropPointInfo({dropPointNo: area.code}).then(response => {
438   - const total = response.total+1;
439   - this.form.dropPointNo = area.code+total.toString().padStart(3, '0');
440   - });
441   - },
442   - getStreets(regionName) {
443   - this.streets = [];
444   - this.form.dropPointNo = null;
445   - this.form.street = null;
446   - const region = this.areas.find(region => region.code === regionName);
447   - this.streets = region.streets;
448   - },
449   - /** 下载文件 */
450   - /** 查询投放点信息管理列表 */
451   - getList() {
452   - this.loading = true;
453   - listDropPointInfo(this.queryParams).then(response => {
454   - this.dropPointInfoList = response.rows;
455   - this.total = response.total;
456   - this.loading = false;
457   - });
458   - },
459   - // 取消按钮
460   - cancel() {
461   - this.open = false;
462   - this.reset();
463   - },
464   - // 表单重置
465   - reset() {
466   - this.form = {
467   - id: null,
468   - dropPointName: null,
469   - district: null,
470   - street: null,
471   - community: null,
472   - address: null,
473   - type: null,
474   - area: null,
475   - capacity: null,
476   - managementUnit: null,
477   - custodian: null,
478   - custodianPhone: null,
479   - dropTime: null,
480   - dropPointNo: null,
481   - operatingUnit: null,
482   - transportUnit: null,
483   - createTime: null,
484   - createBy: null,
485   - updateTime: null,
486   - updateBy: null
487   - };
488   - this.map = null;
489   - this.center = null;
490   - this.resetForm("form");
491   - },
492   - /** 搜索按钮操作 */
493   - handleQuery() {
494   - this.queryParams.pageNum = 1;
495   - this.getList();
496   - },
497   - /** 重置按钮操作 */
498   - resetQuery() {
499   - this.resetForm("queryForm");
500   - this.handleQuery();
501   - },
502   - // 多选框选中数据
503   - handleSelectionChange(selection) {
504   - this.ids = selection.map(item => item.id)
505   - this.single = selection.length !== 1
506   - this.multiple = !selection.length
507   - },
508   - /** 新增按钮操作 */
509   - handleAdd() {
510   - this.reset();
511   - this.open = true;
512   - this.title = "添加投放点信息管理";
513   - },
514   - /** 修改按钮操作 */
515   - handleUpdate(row) {
516   - this.reset();
517   - const id = row.id || this.ids
518   - getDropPointInfo(id).then(response => {
519   - this.form = response.data;
520   - this.open = true;
521   - this.title = "修改投放点信息管理";
522   - });
523   - },
524   - /** 提交按钮 */
525   - submitForm() {
526   - this.$refs["form"].validate(valid => {
527   - if (valid) {
528   - if (this.form.id != null) {
529   - updateDropPointInfo(this.form).then(response => {
530   - this.msgSuccess("修改成功");
531   - this.open = false;
532   - this.getList();
533   - });
534   - } else {
535   - addDropPointInfo(this.form).then(response => {
536   - this.msgSuccess("新增成功");
537   - this.open = false;
538   - this.getList();
539   - });
540   - }
541   - }
542   - });
543   - },
544   - /** 删除按钮操作 */
545   - handleDelete(row) {
546   - const ids = row.id || this.ids;
547   - this.$confirm('是否确认删除投放点信息管理编号为"' + ids + '"的数据项?', "警告", {
548   - confirmButtonText: "确定",
549   - cancelButtonText: "取消",
550   - type: "warning"
551   - }).then(function () {
552   - return delDropPointInfo(ids);
553   - }).then(() => {
554   - this.getList();
555   - this.msgSuccess("删除成功");
556   - })
557   - },
558   - /** 导出按钮操作 */
559   - handleExport() {
560   - const queryParams = this.queryParams;
561   - this.$confirm('是否确认导出所有投放点信息管理数据项?', "警告", {
562   - confirmButtonText: "确定",
563   - cancelButtonText: "取消",
564   - type: "warning"
565   - }).then(function () {
566   - return exportDropPointInfo(queryParams);
567   - }).then(response => {
568   - this.download(response.message);
569   - })
570   - }
571   - }
572   -};
573   -</script>