From 12a9abcc3f3e51bc51d87d58e82b8cf410e33f48 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 30 Oct 2023 17:06:50 +0800
Subject: [PATCH] 场所采集
---
mixin/uploadMixin.js | 4
api/label/label.js | 10 +
subPackage/workbench/views/cscj.vue | 322 ++++++++++++++++++++++++++++++++++++++++-------------
subPackage/workbench/components/lineItem.vue | 2
4 files changed, 256 insertions(+), 82 deletions(-)
diff --git a/api/label/label.js b/api/label/label.js
new file mode 100644
index 0000000..41b60cf
--- /dev/null
+++ b/api/label/label.js
@@ -0,0 +1,10 @@
+import http from '@/http/api.js'
+
+//保存
+export const getLabelList = (params) => {
+ return http.request({
+ url: 'blade-label/label/list',
+ method: 'GET',
+ params
+ })
+}
\ No newline at end of file
diff --git a/mixin/uploadMixin.js b/mixin/uploadMixin.js
index c86afb4..b6e9c0d 100644
--- a/mixin/uploadMixin.js
+++ b/mixin/uploadMixin.js
@@ -25,6 +25,10 @@
}
},
+ created() {
+ this.getHeader()
+ },
+
methods: {
//获取头部
getHeader() {
diff --git a/subPackage/workbench/components/lineItem.vue b/subPackage/workbench/components/lineItem.vue
index 36f1bd2..ad3b70e 100644
--- a/subPackage/workbench/components/lineItem.vue
+++ b/subPackage/workbench/components/lineItem.vue
@@ -1,5 +1,5 @@
<template>
- <view class="line-item-container" style="margin-bottom: 1px;">
+ <view class="line-item-container" style="margin-bottom: 20rpx;">
<view v-for="(item, index) in dataInfo" :key="index" class="line-item">
<view class="l">
diff --git a/subPackage/workbench/views/cscj.vue b/subPackage/workbench/views/cscj.vue
index 129019b..410331e 100644
--- a/subPackage/workbench/views/cscj.vue
+++ b/subPackage/workbench/views/cscj.vue
@@ -5,28 +5,35 @@
<box-title title="基础信息"></box-title>
</view>
<view class="item">
- <u-form-item class="form-item" labelWidth="100" label="场所名称:" required prop="location">
- <u--input border="none" v-model="form.location" placeholder="请输入当前位置">
+
+ <!-- <u-form-item class="form-item" labelWidth="100" label="场所地址:" required prop="location">
+ <u--input border="none" v-model="form.location" placeholder="请选择场所地址">
+ </u--input>
+ </u-form-item> -->
+
+ <u-form-item class="form-item" labelWidth="100" label="场所名称:" required prop="placeName">
+ <u--input border="none" v-model="form.placeName" placeholder="请输入当前位置">
</u--input>
</u-form-item>
- <u-form-item @click="popup" class="form-item" labelWidth="100" label="标签:" required prop="location">
+ <u-form-item @click="popup" class="form-item" labelWidth="100" label="标签:" required prop="label">
<u--input border="none" placeholder="请选择地址标签">
</u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<view v-if="showLabelList.length>0" class="label">
<view v-for="(item,index) in showLabelList" :key="index" class="activeLabel">
- <u-tag size="mini" :text="item.text"></u-tag>
+ <u-tag closable :show="!item.isClose" size="mini" @close="delTag(item)"
+ :text="item.text"></u-tag>
</view>
</view>
- <u-form-item class="form-item" labelWidth="100" label="备注:" required prop="location">
+ <u-form-item class="form-item" labelWidth="100" label="备注:" prop="location">
<u--input border="none" v-model="form.remark" placeholder="请输入备注">
</u--input>
</u-form-item>
- <u-form-item class="form-item" labelWidth="100" label="经纬度:" required prop="location">
+ <u-form-item class="form-item" labelWidth="100" label="经纬度:" prop="location">
<u--input border="none" v-model="form.jwd" placeholder="请输入经纬度">
</u--input>
</u-form-item>
@@ -37,11 +44,11 @@
</view>
<view class="item">
- <u-form-item class="form-item" labelWidth="100" label="场所负责人:" required prop="location">
- <u--input border="none" v-model="form.charge" placeholder="请输入场所负责人">
+ <u-form-item class="form-item" labelWidth="100" label="场所负责人:" prop="principal">
+ <u--input border="none" v-model="form.principal" placeholder="请输入场所负责人">
</u--input>
</u-form-item>
- <u-form-item class="form-item" labelWidth="100" label="手机号:" required prop="location">
+ <u-form-item class="form-item" labelWidth="100" label="手机号:" prop="location">
<u--input border="none" v-model="form.phone" placeholder="请输入手机号">
</u--input>
</u-form-item>
@@ -65,16 +72,44 @@
</u-form>
<view class="box-title">
- <view>
- <box-title title="综治网格"></box-title>
- </view>
+ <box-title title="综治网格">
+ <template slot="titleMore">
+ <view class="title-more">
+ <view class="red item"></view>
+ <view class="orange item">85.9</view>
+ <view class="green item"></view>
+ </view>
+ </template>
+ </box-title>
</view>
<view class="item">
- <lineItem :dataInfo="dataInfo">
+ <lineItem :dataInfo="comprehensiveData.basic">
</lineItem>
- <lineItem :dataInfo="dataInfo1">
+ <lineItem :dataInfo="comprehensiveData.scene">
+ <template v-slot:pic="{scope}">
+ {{scope.value}}
+ </template>
+ </lineItem>
+ </view>
+
+ <view class="box-title">
+ <box-title title="公安网格">
+ <template slot="titleMore">
+ <view class="title-more">
+ <view class="red item"></view>
+ <view class="orange item">85.9</view>
+ <view class="green item"></view>
+ </view>
+ </template></box-title>
+ </view>
+
+ <view class="item">
+ <lineItem :dataInfo="comprehensiveData.basic">
+ </lineItem>
+
+ <lineItem :dataInfo="comprehensiveData.scene">
<template v-slot:pic="{scope}">
{{scope.value}}
</template>
@@ -82,9 +117,16 @@
</view>
+ <view class="bottom">
+ <view class="btn">
+ <u-button @click="addRent" type="primary" text="提交"></u-button>
+ </view>
+ </view>
+
+
<uni-popup class="citys_win popup_win" ref="uniPopup" type="bottom">
- <wyh-tree-select :items="items" title="标签选择" :showNav="true" defaultActiveColor="#4586fe"
+ <wyh-tree-select :items="labelList" title="标签选择" :showNav="true" defaultActiveColor="#4586fe"
:activeIds="activeIds" @clickItem="labelClick" :showCancel="false" :showConfirm="false">
</wyh-tree-select>
</uni-popup>
@@ -96,6 +138,9 @@
<script>
import uploadMixin from "@/mixin/uploadMixin";
import lineItem from "@/subPackage/workbench/components/lineItem.vue"
+ import {
+ getLabelList
+ } from "@/api/label/label";
export default {
mixins: [uploadMixin],
components: {
@@ -104,77 +149,125 @@
data() {
return {
form: {},
- rules: {},
+ rules: {
+ 'userInfo.name': {
+ type: 'string',
+ required: true,
+ message: '请填写姓名',
+ trigger: ['blur', 'change']
+ },
+ },
- items: [{
+ labelList: [{
text: '全部标签',
- children: [{
- text: '餐馆',
- id: 1,
- },
- {
- text: '旅馆、招待所',
- id: 2,
- }, {
- text: '居民住宿',
- id: 3
- }
- ],
+ children: [],
dot: false
}, ],
- dataInfo: [{
- label: "社区名称",
- value: "暂无数据"
- },
- {
- label: "网格名称",
- value: "暂无数据"
- },
- {
- label: "网格员",
- value: "暂无数据"
- },
- {
- label: "联系电话",
- value: "暂无数据"
- }
- ],
-
- dataInfo1: [{
- label: "场所照片",
- value: "",
- useSlot: "pic",
- },
- {
- label: "采集人",
- value: "未完善"
- },
- {
- label: "采集时间",
- value: "未完善"
- },
- {
- label: "场所负责人",
- value: "未完善",
- },
- {
- label: "采集人",
- value: "未完善"
- },
- {
- label: "采集时间",
- value: "未完善",
- }
- ],
+ comprehensiveData: {
+ basic: [{
+ label: "社区名称",
+ value: "暂无数据"
+ },
+ {
+ label: "网格名称",
+ value: "暂无数据"
+ },
+ {
+ label: "网格员",
+ value: "暂无数据"
+ },
+ {
+ label: "联系电话",
+ value: "暂无数据"
+ }
+ ],
+ scene: [{
+ label: "场所照片",
+ value: "",
+ useSlot: "pic",
+ },
+ {
+ label: "采集人",
+ value: "未完善"
+ },
+ {
+ label: "采集时间",
+ value: "未完善"
+ },
+ {
+ label: "场所负责人",
+ value: "未完善",
+ },
+ {
+ label: "采集人",
+ value: "未完善"
+ },
+ {
+ label: "采集时间",
+ value: "未完善",
+ },
+ {
+ label: "历史事件",
+ value: "未完善",
+ }
+ ],
+ },
+ publicData: {
+ basic: [{
+ label: "公安局",
+ value: "暂无数据"
+ },
+ {
+ label: "派出所",
+ value: "暂无数据"
+ },
+ {
+ label: "辖区民警",
+ value: "暂无数据"
+ },
+ {
+ label: "联系电话",
+ value: "暂无数据"
+ }
+ ],
+ scene: [{
+ label: "消防照片",
+ value: "",
+ useSlot: "pic",
+ },
+ {
+ label: "采集人",
+ value: "未完善"
+ },
+ {
+ label: "采集时间",
+ value: "未完善"
+ },
+ {
+ label: "消防负责人",
+ value: "未完善",
+ },
+ {
+ label: "采集人",
+ value: "未完善"
+ },
+ {
+ label: "采集时间",
+ value: "未完善",
+ },
+ {
+ label: "历史事件",
+ value: "未完善",
+ }
+ ],
+ },
activeIds: [],
showLabelList: []
}
},
- created() {
-
- },
+ created() {},
mounted() {
},
@@ -182,7 +275,7 @@
},
onShow() {
-
+ this.getLabel()
},
methods: {
//弹出层打开
@@ -190,22 +283,44 @@
this.$refs.uniPopup.open()
},
+ getLabel() {
+ getLabelList({
+ size: -1
+ }).then(res => {
+ let data = res.data.records
+ data.sort((a, b) => a.sort - b.sort)
+
+ data.forEach(label => {
+ this.labelList[0].children.push({
+ id: label.id,
+ text: label.labelName
+ })
+ })
+ })
+ },
+
labelClick(item) {
//判断label是否已在
const label = this.showLabelList.find(e => e.id == item.id)
-
if (label) {
//在,去掉
this.showLabelList = this.showLabelList.filter(e => e.id != label.id)
- this.activeIds = this.activeIds.filter(e => id != label.id)
+ this.activeIds = this.activeIds.filter(e => e != label.id)
} else {
//不在,添加
+ item.isClose = false
this.showLabelList.push(item)
this.activeIds.push(item.id)
}
- this.showLabelList.sort((a, b) => a.id - b.id)
+ this.showLabelList.sort((a, b) => a.sort - b.sort)
+
+ },
+ delTag(label) {
+ label.isClose = true
+ this.showLabelList = this.showLabelList.filter(e => e.id != label.id)
+ this.activeIds = this.activeIds.filter(e => e != label.id)
}
}
@@ -216,13 +331,30 @@
.container {
position: relative;
width: 100%;
- height: 100%;
+ // height: 100%;
display: flex;
flex-direction: column;
background: #F9F9FA;
.box-title {
padding: 10px 0;
+
+ .title-more {
+ display: flex;
+ align-items: center;
+ height: 100%;
+
+ .item {
+ width: 50rpx;
+ height: 40rpx;
+ color: #ffffff;
+ padding: 6rpx;
+ font-size: 2rpx;
+ text-align: center;
+ line-height: 20px;
+ }
+
+ }
}
.item {
@@ -237,10 +369,12 @@
padding: 10rpx 30rpx;
display: flex;
background-color: #ffffff;
+ flex-wrap: wrap;
.activeLabel {
// width: 80rpx;
margin-left: 10rpx;
+ margin-top: 10rpx
}
}
@@ -252,5 +386,31 @@
background-color: #ffffff;
padding: 40rpx 30rpx;
}
+
+ .bottom {
+ padding: 20rpx;
+ background-color: #ffffff;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ .btn {
+ width: calc(100% - 40rpx);
+ }
+ }
+ }
+
+ .red {
+ background-color: red;
+ border-radius: 10rpx 0rpx 0rpx 10rpx;
+ }
+
+ .orange {
+ background-color: orange;
+ }
+
+ .green {
+ background-color: green;
+ border-radius: 0rpx 10rpx 10rpx 0rpx;
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3