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 | 26 | export const version = '1.0.6' |
| 27 | 27 | |
| 28 | 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 | 30 | // export const OSSURL = baseURL + '/yuanlin/' |
| 31 | -export const OSSURL = 'https://dev-rnt.oss-cn-zhangjiakou.aliyuncs.com/' | |
| 32 | 31 | \ No newline at end of file |
| 32 | +export const OSSURL = 'https://test.jichengshanshui.com.cn:28310/yuanlin/' | |
| 33 | 33 | \ No newline at end of file | ... | ... |
pages.json
| ... | ... | @@ -284,6 +284,18 @@ |
| 284 | 284 | "style": { |
| 285 | 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 | 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 | 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 | 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 | 186 | </style> |
| 15 | 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 | 39 | \ No newline at end of file | ... | ... |