Commit c7744156ac152b5988c4778f3d987e6b1bd6c336
1 parent
46b6767c
录入树木
Showing
6 changed files
with
626 additions
and
9 deletions
components/thorui/tui-upload/tui-upload.vue
config/app.js
@@ -26,6 +26,6 @@ export const baseURL = SWITCH_DEVELOPMENT ? baseURLMap['development'] : baseURLM | @@ -26,6 +26,6 @@ export const baseURL = SWITCH_DEVELOPMENT ? baseURLMap['development'] : baseURLM | ||
26 | export const version = '1.0.6' | 26 | export const version = '1.0.6' |
27 | 27 | ||
28 | // export const uploadURL = baseURL + '/ylapi/yuanl/common/upload' | 28 | // export const uploadURL = baseURL + '/ylapi/yuanl/common/upload' |
29 | -export const uploadURL = baseURL + '/yuanl/yuanl/common/upload' | 29 | +export const uploadURL = baseURL + '/ylapi/yuanl/common/upload' |
30 | // export const OSSURL = baseURL + '/yuanlin/' | 30 | // export const OSSURL = baseURL + '/yuanlin/' |
31 | -export const OSSURL = 'https://dev-rnt.oss-cn-zhangjiakou.aliyuncs.com/' | ||
32 | \ No newline at end of file | 31 | \ No newline at end of file |
32 | +export const OSSURL = 'https://test.jichengshanshui.com.cn:28310/yuanlin/' | ||
33 | \ No newline at end of file | 33 | \ No newline at end of file |
pages.json
@@ -284,6 +284,18 @@ | @@ -284,6 +284,18 @@ | ||
284 | "style": { | 284 | "style": { |
285 | "navigationBarTitleText": "一树一档案" | 285 | "navigationBarTitleText": "一树一档案" |
286 | } | 286 | } |
287 | + }, | ||
288 | + { | ||
289 | + "path": "treePage/treeRecord", | ||
290 | + "style": { | ||
291 | + "navigationBarTitleText": "记录" | ||
292 | + } | ||
293 | + }, | ||
294 | + { | ||
295 | + "path": "treePage/addTree", | ||
296 | + "style": { | ||
297 | + "navigationBarTitleText": "录入树木" | ||
298 | + } | ||
287 | } | 299 | } |
288 | ] | 300 | ] |
289 | } | 301 | } |
subPackages/treePage/addTree.vue
0 → 100644
1 | +<template> | ||
2 | + <view class="container"> | ||
3 | + <tui-form ref="form" :show-message="false" :model="formData"> | ||
4 | + <tui-form-item asterisk label="名称" prop="name"> | ||
5 | + <tui-input padding="0" :borderBottom="false" placeholder="请输入名称" maxlength="30" | ||
6 | + v-model="formData.name"></tui-input> | ||
7 | + </tui-form-item> | ||
8 | + | ||
9 | + <tui-row> | ||
10 | + <tui-col span="12"> | ||
11 | + <tui-form-item label="高度" asterisk prop="height" :position="3"> | ||
12 | + <tui-input padding="0" :borderBottom="false" placeholder="请输入" textRight maxlength="10" | ||
13 | + v-model="formData.height"></tui-input> | ||
14 | + <template v-slot:right> | ||
15 | + <text style="padding-left: 12rpx;color:#aaa">米</text> | ||
16 | + </template> | ||
17 | + </tui-form-item> | ||
18 | + </tui-col> | ||
19 | + <tui-col span="12"> | ||
20 | + <tui-form-item label="胸径" asterisk prop="height" :position="3"> | ||
21 | + <tui-input padding="0" :borderBottom="false" placeholder="请输入" textRight maxlength="10" | ||
22 | + v-model="formData.height"></tui-input> | ||
23 | + <template v-slot:right> | ||
24 | + <text style="padding-left: 12rpx;color:#aaa">厘米</text> | ||
25 | + </template> | ||
26 | + </tui-form-item> | ||
27 | + </tui-col> | ||
28 | + </tui-row> | ||
29 | + | ||
30 | + | ||
31 | + <tui-form-item | ||
32 | + asterisk | ||
33 | + label="位置" | ||
34 | + class="location-form-item" | ||
35 | + @click="openMap" | ||
36 | + > | ||
37 | + <tui-input padding="0" :borderBottom="false" placeholder="请选择" disabled | ||
38 | + v-model="formData.address"></tui-input> | ||
39 | + <template v-slot:right> | ||
40 | + <tui-icon name="gps" :size="20"></tui-icon> | ||
41 | + </template> | ||
42 | + <!-- <!– 位置显示区域 –>--> | ||
43 | + <!-- <view class="location-content">--> | ||
44 | + <!-- <text v-if="formData.address">{{ formData.address }}</text>--> | ||
45 | + <!-- <text v-else class="placeholder">请选择位置</text>--> | ||
46 | + <!-- <!– 定位图标 –>--> | ||
47 | + <!-- <tui-icon--> | ||
48 | + <!-- name="map"--> | ||
49 | + <!-- size="24"--> | ||
50 | + <!-- color="#666"--> | ||
51 | + <!-- class="location-icon"--> | ||
52 | + <!-- ></tui-icon>--> | ||
53 | + <!-- </view>--> | ||
54 | + </tui-form-item> | ||
55 | + | ||
56 | + <tui-form-item asterisk label="管护单位" arrow highlight prop="area" @click="pickerShow"> | ||
57 | + <tui-input padding="0" :borderBottom="false" placeholder="请选择" disabled | ||
58 | + backgroundColor="transparent" v-model="formData.area"></tui-input> | ||
59 | + </tui-form-item> | ||
60 | + <tui-form-item asterisk label="权属分类" arrow highlight prop="area" @click="pickerShow"> | ||
61 | + <tui-input padding="0" :borderBottom="false" placeholder="请选择" disabled | ||
62 | + backgroundColor="transparent" v-model="formData.area"></tui-input> | ||
63 | + </tui-form-item> | ||
64 | + <!-- <tui-form-item asterisk label="验证码" prop="code">--> | ||
65 | + <!-- <tui-input padding="0" :borderBottom="false" placeholder="请输入验证码"--> | ||
66 | + <!-- v-model="formData.code"></tui-input>--> | ||
67 | + <!-- <template v-slot:right>--> | ||
68 | + <!-- <tui-form-button width="188rpx" height="64rpx" background="#f2f2f2" color="#5677fc" size="24"--> | ||
69 | + <!-- bold radius="12rpx">获取验证码</tui-form-button>--> | ||
70 | + <!-- </template>--> | ||
71 | + <!-- </tui-form-item>--> | ||
72 | + | ||
73 | + <tui-form-item label="图片信息" asterisk> | ||
74 | + <!-- 使用ThorUI的tui-upload组件 --> | ||
75 | + <tui-upload | ||
76 | + :height="140" | ||
77 | + :width="140" | ||
78 | + :value="value" | ||
79 | + :serverUrl="serverURL" :header="{'Authorization': userToken}" | ||
80 | + @complete="handleComplete" | ||
81 | + @remove="handleRemove" | ||
82 | + :limit="3" | ||
83 | + :multiple="true" | ||
84 | + accept="image/*" | ||
85 | + :maxSize="5242880" | ||
86 | + name="file" | ||
87 | + :autoUpload="true" | ||
88 | + > | ||
89 | + <!-- 自定义上传按钮 --> | ||
90 | + <view class="upload-btn"> | ||
91 | + <tui-icon name="plus" size="32" color="#999"></tui-icon> | ||
92 | + | ||
93 | + </view> | ||
94 | + </tui-upload> | ||
95 | + | ||
96 | + <!-- 提示信息 --> | ||
97 | + <!-- <view class="upload-tips">--> | ||
98 | + <!-- 最多上传3张图片,单张不超过5MB--> | ||
99 | + <!-- </view>--> | ||
100 | + </tui-form-item> | ||
101 | + | ||
102 | + | ||
103 | + <!-- 动画区域(初始隐藏) --> | ||
104 | + <view | ||
105 | + class="animated-area" | ||
106 | + :style="{ | ||
107 | + height: isShow ? contentHeight + 'px' : '0', | ||
108 | + opacity: isShow ? 1 : 0, | ||
109 | + overflow: 'hidden' | ||
110 | + }" | ||
111 | + > | ||
112 | + | ||
113 | + <tui-row> | ||
114 | + <tui-col span="12"> | ||
115 | + <tui-form-item label="拉丁文" prop="name"> | ||
116 | + <tui-input padding="0" :borderBottom="false" placeholder="请输入" maxlength="30" | ||
117 | + v-model="formData.name"></tui-input> | ||
118 | + </tui-form-item> | ||
119 | + </tui-col> | ||
120 | + <tui-col span="12"> | ||
121 | + <tui-form-item label="级别" arrow highlight prop="area" @click="pickerShow"> | ||
122 | + <tui-input padding="0" :borderBottom="false" placeholder="请选择" disabled | ||
123 | + backgroundColor="transparent" v-model="formData.area"></tui-input> | ||
124 | + </tui-form-item> | ||
125 | + </tui-col> | ||
126 | + </tui-row> | ||
127 | + | ||
128 | + <tui-form-item label="生长环境" prop="name"> | ||
129 | + <tui-input padding="0" :borderBottom="false" placeholder="请输入" maxlength="50" | ||
130 | + v-model="formData.name"></tui-input> | ||
131 | + </tui-form-item> | ||
132 | + | ||
133 | + | ||
134 | + <tui-row> | ||
135 | + <tui-col span="12"> | ||
136 | + <tui-form-item label="预估树龄" prop="height" :position="3"> | ||
137 | + <tui-input padding="0" :borderBottom="false" placeholder="请输入" textRight maxlength="10" | ||
138 | + v-model="formData.height"></tui-input> | ||
139 | + <template v-slot:right> | ||
140 | + <text style="padding-left: 12rpx;color:#aaa">年</text> | ||
141 | + </template> | ||
142 | + </tui-form-item> | ||
143 | + </tui-col> | ||
144 | + <tui-col span="12"> | ||
145 | + <tui-form-item label="干周" prop="height" :position="3"> | ||
146 | + <tui-input padding="0" :borderBottom="false" placeholder="请输入" textRight maxlength="10" | ||
147 | + v-model="formData.height"></tui-input> | ||
148 | + <template v-slot:right> | ||
149 | + <text style="padding-left: 12rpx;color:#aaa">厘米</text> | ||
150 | + </template> | ||
151 | + </tui-form-item> | ||
152 | + </tui-col> | ||
153 | + </tui-row> | ||
154 | + | ||
155 | + | ||
156 | + <tui-row> | ||
157 | + <tui-col span="12"> | ||
158 | + <tui-form-item label="东西冠幅" prop="height" :position="3"> | ||
159 | + <tui-input padding="0" :borderBottom="false" placeholder="请输入" textRight maxlength="10" | ||
160 | + v-model="formData.height"></tui-input> | ||
161 | + <template v-slot:right> | ||
162 | + <text style="padding-left: 12rpx;color:#aaa">米</text> | ||
163 | + </template> | ||
164 | + </tui-form-item> | ||
165 | + </tui-col> | ||
166 | + <tui-col span="12"> | ||
167 | + <tui-form-item label="南北冠幅" prop="height" :position="3"> | ||
168 | + <tui-input padding="0" :borderBottom="false" placeholder="请输入" textRight maxlength="10" | ||
169 | + v-model="formData.height"></tui-input> | ||
170 | + <template v-slot:right> | ||
171 | + <text style="padding-left: 12rpx;color:#aaa">米</text> | ||
172 | + </template> | ||
173 | + </tui-form-item> | ||
174 | + </tui-col> | ||
175 | + </tui-row> | ||
176 | + | ||
177 | + | ||
178 | + | ||
179 | + | ||
180 | + </view> | ||
181 | + | ||
182 | + <!-- 触发按钮 --> | ||
183 | + <tui-button | ||
184 | + @click="toggleArea" | ||
185 | + type="primary" | ||
186 | + :loading="false" | ||
187 | + height="80rpx" | ||
188 | + plain | ||
189 | + > | ||
190 | + {{ isShow ? '- 隐藏区域' : '+ 显示区域' }} | ||
191 | + </tui-button> | ||
192 | + | ||
193 | + | ||
194 | + <view class="tui-btn__box"> | ||
195 | + <tui-button bold @click="submit">提交</tui-button> | ||
196 | + </view> | ||
197 | + </tui-form> | ||
198 | + <tui-picker :show="show" :pickerData="areaData" @hide="pickerHide" @change="pickerChange"> | ||
199 | + </tui-picker> | ||
200 | + </view> | ||
201 | +</template> | ||
202 | + | ||
203 | +<script> | ||
204 | +import { uploadURL } from '@/config/app' | ||
205 | +const rules = [{ | ||
206 | + name: "score", | ||
207 | + rule: ["range:[0.5,5]"], | ||
208 | + msg: ["请选择评分"] | ||
209 | +}, { | ||
210 | + name: "name", | ||
211 | + rule: ["required", "isChinese", "minLength:2", "maxLength:6"], | ||
212 | + msg: ["请输入姓名", "姓名必须全部为中文", "姓名必须2个或以上字符", "姓名不能超过6个字符"] | ||
213 | +}, { | ||
214 | + name: "area", | ||
215 | + rule: ["required"], | ||
216 | + msg: ["请选择地区"] | ||
217 | +}, { | ||
218 | + name: "code", | ||
219 | + rule: ["required", "minLength:4"], | ||
220 | + msg: ["请输入验证码", "验证码不少于4位"] | ||
221 | +}, { | ||
222 | + name: "height", | ||
223 | + rule: ["required", "isNum"], | ||
224 | + msg: ["请输入身高", "身高只能填数字"] | ||
225 | +}, { | ||
226 | + name: "remark", | ||
227 | + rule: ["required"], | ||
228 | + msg: ["请输入备注"] | ||
229 | +}, { | ||
230 | + name: "content", | ||
231 | + rule: ["required"], | ||
232 | + msg: ["请输入详细内容"] | ||
233 | +}]; | ||
234 | +export default { | ||
235 | + props: { | ||
236 | + // 外部传入的已上传图片列表 | ||
237 | + value: { | ||
238 | + type: Array, | ||
239 | + default: () => [] | ||
240 | + } | ||
241 | + }, | ||
242 | + data() { | ||
243 | + return { | ||
244 | + isShow: false, // 控制区域显示/隐藏 | ||
245 | + contentHeight: 200, // 内容区域高度 | ||
246 | + serverURL: uploadURL, | ||
247 | + areaData: [{ | ||
248 | + text: "中国", | ||
249 | + value: "1001" | ||
250 | + }, { | ||
251 | + text: "美国", | ||
252 | + value: "1002" | ||
253 | + }, { | ||
254 | + text: "俄罗斯", | ||
255 | + value: "1003" | ||
256 | + }], | ||
257 | + show: false, | ||
258 | + //仅对部分数据进行收集演示 | ||
259 | + formData: { | ||
260 | + //评分 | ||
261 | + score: 0, | ||
262 | + //姓名 | ||
263 | + name: '', | ||
264 | + //地区 | ||
265 | + area: '', | ||
266 | + //验证码 | ||
267 | + code: '', | ||
268 | + //身高 | ||
269 | + height: '', | ||
270 | + address: '', // 位置名称 | ||
271 | + latitude: '', // 纬度 | ||
272 | + longitude: '' // 经度 | ||
273 | + }, | ||
274 | + currentFiles: [...this.value], // 当前已上传文件列表 | ||
275 | + value: [] | ||
276 | + } | ||
277 | + }, | ||
278 | + watch: { | ||
279 | + // 监听外部传入的value变化 | ||
280 | + value(newVal) { | ||
281 | + this.currentFiles = [...newVal]; | ||
282 | + } | ||
283 | + }, | ||
284 | + onReady() { | ||
285 | + //开启即时校验,开启后输入即校验【参数必传】,第一参数:是否开启;第二参数:校验规则 | ||
286 | + // this.$refs.form && this.$refs.form.immediateValidate(true, rules) | ||
287 | + }, | ||
288 | + methods: { | ||
289 | + // 切换显示/隐藏状态 | ||
290 | + toggleArea() { | ||
291 | + this.isShow = !this.isShow; | ||
292 | + }, | ||
293 | + // 上传完成回调 | ||
294 | + handleComplete(e) { | ||
295 | + console.log(e) | ||
296 | + this.value = e.imgArr; | ||
297 | + // 根据实际接口返回格式调整 | ||
298 | + // this.currentFiles.push(e.data); | ||
299 | + }, | ||
300 | + // 删除图片回调 | ||
301 | + handleRemove(index) { | ||
302 | + // 从列表中移除 | ||
303 | + this.currentFiles.splice(index, 1); | ||
304 | + // // 通知父组件更新 | ||
305 | + // this.$emit('input', this.currentFiles); | ||
306 | + // this.$emit('remove', index); | ||
307 | + }, | ||
308 | + change(e) { | ||
309 | + console.log(e) | ||
310 | + this.formData.score = e.score | ||
311 | + }, | ||
312 | + pickerShow() { | ||
313 | + this.show = true | ||
314 | + }, | ||
315 | + pickerHide() { | ||
316 | + this.show = false | ||
317 | + }, | ||
318 | + pickerChange(e) { | ||
319 | + console.log(e) | ||
320 | + this.formData.area = e.text | ||
321 | + }, | ||
322 | + submit() { | ||
323 | + //注:结合FormItem校验,validate方法第三个参数必须传true | ||
324 | + this.$refs.form.validate(this.formData, rules, true).then(res => { | ||
325 | + if (res.isPass) { | ||
326 | + console.log(this.formData) | ||
327 | + console.log('校验通过!') | ||
328 | + } else { | ||
329 | + console.log(res) | ||
330 | + } | ||
331 | + }).catch(errors => { | ||
332 | + console.log(errors) | ||
333 | + }) | ||
334 | + }, | ||
335 | + // 打开地图选择 | ||
336 | + openMap() { | ||
337 | + // 如果已有位置信息,默认显示该位置,否则使用当前位置 | ||
338 | + const options = { | ||
339 | + latitude: this.formData.latitude ? Number(this.formData.latitude) : '', | ||
340 | + longitude: this.formData.longitude ? Number(this.formData.longitude) : '', | ||
341 | + scale: 16, // 地图缩放级别 | ||
342 | + name: this.formData.address || '', // 位置名称 | ||
343 | + address: this.formData.address || '' // 详细地址 | ||
344 | + }; | ||
345 | + // 调用微信小程序地图选择API | ||
346 | + uni.chooseLocation({ | ||
347 | + ...options, | ||
348 | + success: (res) => { | ||
349 | + // 选择成功后更新位置信息 | ||
350 | + this.formData = { | ||
351 | + address: res.name || res.address, | ||
352 | + latitude: res.latitude, | ||
353 | + longitude: res.longitude | ||
354 | + }; | ||
355 | + }, | ||
356 | + fail: (err) => { | ||
357 | + console.error('地图选择失败', err); | ||
358 | + if (err.errMsg.includes('auth deny')) { | ||
359 | + uni.showToast({ | ||
360 | + title: '请授权位置权限', | ||
361 | + icon: 'none' | ||
362 | + }); | ||
363 | + } | ||
364 | + } | ||
365 | + }); | ||
366 | + } | ||
367 | + } | ||
368 | +} | ||
369 | +</script> | ||
370 | + | ||
371 | +<style> | ||
372 | +.tui-title { | ||
373 | + width: 100%; | ||
374 | + font-size: 28rpx; | ||
375 | + color: #888; | ||
376 | + padding: 30rpx; | ||
377 | + box-sizing: border-box; | ||
378 | +} | ||
379 | + | ||
380 | +.tui-btn__box { | ||
381 | + width: 100%; | ||
382 | + position: fixed; | ||
383 | + bottom: 0; | ||
384 | +} | ||
385 | + | ||
386 | +.location-content { | ||
387 | + font-size: 14px; | ||
388 | +} | ||
389 | + | ||
390 | +/* 动画区域样式 */ | ||
391 | +.animated-area { | ||
392 | + height: 200rpx; | ||
393 | + transition: all 0.3s ease-out; /* 动画过渡效果 */ | ||
394 | +} | ||
395 | +</style> | ||
0 | \ No newline at end of file | 396 | \ No newline at end of file |
subPackages/treePage/treeFiles.vue
1 | -<script> | 1 | +<template> |
2 | + <view class="container"> | ||
3 | + <tui-form ref="form" :show-message="false" :model="formData" style="border-bottom: 1px solid #f5f4f4"> | ||
4 | + <tui-form-item arrow highlight prop="area" @click="pickerShow"> | ||
5 | + <tui-input padding="0" :borderBottom="false" placeholder="请选择归属单位" disabled | ||
6 | + backgroundColor="transparent" v-model="formData.area"></tui-input> | ||
7 | + </tui-form-item> | ||
8 | + <tui-form-item prop="name" :bottom-border="false"> | ||
9 | + <tui-input padding="0" :borderBottom="false" placeholder="请输入道路" maxlength="20" | ||
10 | + v-model="formData.name"></tui-input> | ||
11 | + </tui-form-item> | ||
12 | + </tui-form> | ||
13 | + | ||
14 | + <!-- <tui-row marginTop="10px" :gutter="5" class="full-height-row">--> | ||
15 | + <!-- <tui-col :span="8" class="left-con full-height-col" >--> | ||
16 | + <!-- <view class="full-height-col left-con">1</view>--> | ||
17 | + <!-- </tui-col>--> | ||
18 | + <!-- <tui-col :span="16" class="right-con full-height-col" >--> | ||
19 | + <!-- <view class="full-height-col">2</view>--> | ||
20 | + <!-- </tui-col>--> | ||
21 | + <!-- </tui-row>--> | ||
22 | + | ||
23 | + <view class="full-height-row"> | ||
24 | + <view class="full-height-col left-con"> | ||
25 | + <view v-for="(i,index) in 7" class="teamsItem" :key="index" | ||
26 | + @click="teamsChange(i)" | ||
27 | + :class="{teamsActive:index==currentIndex}" | ||
28 | + >{{ i }} | ||
29 | + </view> | ||
30 | + </view> | ||
31 | + <view class="full-height-col right-con"> | ||
32 | + <view class="nodata-wrap"> | ||
33 | + <img src="/static/images/nodata.png" alt=""> | ||
34 | + <view style="color: #aaa">暂无数据</view> | ||
35 | + | ||
36 | +<!-- <tui-no-data imgUrl="/static/images/nodata.png">暂无数据</tui-no-data>--> | ||
37 | + </view> | ||
38 | + <view v-for="i in 6" class="card-wrap"> | ||
39 | + | ||
40 | + <p class="fs-flex__between"> | ||
41 | + <span>白菜湾四街</span> | ||
42 | + <span>154颗</span> | ||
43 | + </p> | ||
44 | + | ||
45 | + <p>已录入行道树:3颗</p> | ||
46 | + | ||
47 | + <p>起点。。。。。</p> | ||
48 | + </view> | ||
49 | + | ||
50 | + </view> | ||
51 | + </view> | ||
2 | 52 | ||
53 | + <tui-picker :show="show" :pickerData="areaData" @hide="pickerHide" @change="pickerChange"> | ||
54 | + </tui-picker> | ||
55 | + | ||
56 | + </view> | ||
57 | +</template> | ||
58 | + | ||
59 | + | ||
60 | +<script> | ||
3 | export default { | 61 | export default { |
4 | - name: "treeFiles" | 62 | + name: "treeFiles", |
63 | + data() { | ||
64 | + return { | ||
65 | + cardList:[], | ||
66 | + areaData: [{ | ||
67 | + text: "中国", | ||
68 | + value: "1001" | ||
69 | + }, { | ||
70 | + text: "美国", | ||
71 | + value: "1002" | ||
72 | + }, { | ||
73 | + text: "俄罗斯", | ||
74 | + value: "1003" | ||
75 | + }], | ||
76 | + show: false, | ||
77 | + currentIndex: 0, | ||
78 | + formData: { | ||
79 | + //道路 | ||
80 | + name: '', | ||
81 | + //归属单位 | ||
82 | + area: '', | ||
83 | + }, | ||
84 | + card: { | ||
85 | + title: { | ||
86 | + text: '白菜湾四街' | ||
87 | + }, | ||
88 | + tag: { | ||
89 | + text: '153颗' | ||
90 | + }, | ||
91 | + header: { | ||
92 | + bgcolor: '#F7F7F7', | ||
93 | + line: true | ||
94 | + } | ||
95 | + } | ||
96 | + } | ||
97 | + }, | ||
98 | + methods: { | ||
99 | + teamsChange(i) { | ||
100 | + console.log(i) | ||
101 | + this.currentIndex = i | ||
102 | + }, | ||
103 | + pickerShow() { | ||
104 | + this.show = true | ||
105 | + }, | ||
106 | + pickerHide() { | ||
107 | + this.show = false | ||
108 | + }, | ||
109 | + pickerChange(e) { | ||
110 | + console.log(e) | ||
111 | + this.formData.area = e.text | ||
112 | + }, | ||
113 | + } | ||
5 | } | 114 | } |
6 | </script> | 115 | </script> |
7 | 116 | ||
8 | -<template> | ||
9 | -<view>treeFiles</view> | ||
10 | -</template> | ||
11 | 117 | ||
12 | -<style scoped> | 118 | +<style scoped lang="scss"> |
119 | +.container { | ||
120 | + height: 100%; | ||
121 | + display: flex; | ||
122 | + flex-direction: column; | ||
123 | +} | ||
124 | + | ||
125 | +/* tui-row 设置100%高度 */ | ||
126 | +.full-height-row { | ||
127 | + /* 确保row使用flex布局 */ | ||
128 | + display: flex; | ||
129 | + flex: 1 | ||
130 | +} | ||
131 | + | ||
132 | +/* tui-col 设置100%高度 */ | ||
133 | +.full-height-col { | ||
134 | + height: 100%; | ||
135 | + background-color: #f0f0f0; | ||
136 | +} | ||
137 | + | ||
138 | + | ||
139 | +.left-con { | ||
140 | + width: 220rpx; | ||
141 | + height: 100%; | ||
142 | + background: #f3f3f3; | ||
143 | +} | ||
144 | + | ||
145 | +.right-con { | ||
146 | + flex: 1; | ||
147 | + height: 100%; | ||
148 | + background: #fff; | ||
149 | + padding-top: 20rpx; | ||
150 | +} | ||
151 | + | ||
152 | +.teamsItem { | ||
153 | + padding: 10rpx 10rpx 0; | ||
154 | +} | ||
155 | + | ||
156 | +.teamsActive { | ||
157 | + background: #fff; | ||
158 | +} | ||
159 | + | ||
160 | +.card-wrap { | ||
161 | + height: 200rpx; | ||
162 | + margin: 0 20rpx 20rpx 20rpx; | ||
163 | + padding: 20rpx; | ||
164 | + box-shadow: 0 1rpx 2rpx 5rpx rgb(0, 0, 0, .3); | ||
165 | + border-radius: 10rpx; | ||
166 | +} | ||
13 | 167 | ||
168 | +.nodata-wrap{ | ||
169 | + margin: 20px auto; | ||
170 | + text-align: center; | ||
171 | + image{ | ||
172 | + width: 160rpx ; | ||
173 | + height: 160rpx; | ||
174 | + margin-bottom: 20rpx; | ||
175 | + } | ||
176 | +} | ||
177 | + | ||
178 | +</style> | ||
179 | + | ||
180 | +<style> | ||
181 | +/* 单独写一个不带 scoped 的 style 来设置 page */ | ||
182 | +page { | ||
183 | + height: 100%; | ||
184 | + background: #fff; | ||
185 | +} | ||
14 | </style> | 186 | </style> |
15 | \ No newline at end of file | 187 | \ No newline at end of file |
subPackages/treePage/treeRecord.vue
0 → 100644
1 | +<template> | ||
2 | + <view class="container"> | ||
3 | + <view class="record-wrap"> | ||
4 | + <view class="record-list-wrap" v-for="i in 10">1</view> | ||
5 | + </view> | ||
6 | + | ||
7 | + | ||
8 | + <tui-button class="addTree">新增树木录入</tui-button> | ||
9 | + </view> | ||
10 | + | ||
11 | +</template> | ||
12 | + | ||
13 | +<script> | ||
14 | + | ||
15 | +export default { | ||
16 | + name: "treeRecord" | ||
17 | +} | ||
18 | +</script> | ||
19 | + | ||
20 | +<style scoped> | ||
21 | +.record-wrap{ | ||
22 | + padding-bottom: 120rpx; | ||
23 | +} | ||
24 | +.record-list-wrap{ | ||
25 | + height: 200rpx; | ||
26 | + margin: 20rpx 20rpx 0 20rpx; | ||
27 | + padding: 20rpx; | ||
28 | + box-shadow: 0 1rpx 2rpx 5rpx rgb(0, 0, 0, .3); | ||
29 | + border-radius: 10rpx; | ||
30 | +} | ||
31 | + | ||
32 | +.addTree{ | ||
33 | + width: 100%; | ||
34 | + position: fixed; | ||
35 | + bottom: 0; | ||
36 | +} | ||
37 | + | ||
38 | +</style> | ||
0 | \ No newline at end of file | 39 | \ No newline at end of file |