7 files modified
2 files added
| | |
| | | </u-grid-item>
|
| | | </u-grid>
|
| | | </view>
|
| | | <view class="bgc-ff mb-20 p-20 pb-20" v-if="roleType == 2 && curSelectSite.addressType == 2">
|
| | | |
| | | <view class="bgc-ff mb-20 p-20 pb-20" v-if="(roleType == 2) && (curSelectSite.addressType == 2)">
|
| | | |
| | | <caption-row title="工作台" />
|
| | | <u-grid :border="false" col="4">
|
| | | <u-grid-item @click="navigatorPage('/subPackage/workbench/views/editExamine')"
|
| | |
| | | <u-cell title="修改密码" :border="false" isLink url="/subPackage/user/password/index"> |
| | | <image slot="icon" src="/static/icon/menu-center-03.png" class="icon" mode=""></image> |
| | | </u-cell> |
| | | <!-- <u-cell title="测试页面" :border="false" isLink url="test"> |
| | | <u-cell title="测试页面" :border="false" isLink url="test"> |
| | | <image slot="icon" src="/static/icon/menu-center-03.png" class="icon" mode=""></image> |
| | | </u-cell> --> |
| | | </u-cell> |
| | | <!-- <u-cell-item title="评分"> |
| | | <image slot="icon" src="/static/images/user/c5.png" class="icon" mode=""></image> |
| | | </u-cell-item> |
| | |
| | | <template> |
| | | <view class=""> |
| | | <view class="cell flex j-c-s-b a-i-c bgc-ff" @click="isShow = true"> |
| | | <view class="cell flex j-c-s-b a-i-c bgc-ff" @click="isShow = true"> |
| | | <text class="f-28">选择标签</text> |
| | | <u-icon name="arrow-right"></u-icon> |
| | | </view> |
| | | |
| | | |
| | | <u-popup :show="isShow" @close="isShow = false" :safeAreaInsetTop="true" mode="bottom" :closeable="true" round="12"> |
| | | <view class="popup-title fw f-30">标签选择</view> |
| | | |
| | | <view class="mt-20 p-20 bgc-ff" v-if="selectedItem.length"> |
| | | <view class="f-28">已选标签</view> |
| | | <view class="p-20 flex flex-wrap"> |
| | | <view v-for="(item,index) in selectedItem" :key="index" class="mr-20"> |
| | | <u-tag :closable="true" size="mini" @close="delTag(index)" |
| | | :text="item.categoryName"></u-tag> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <u-popup :show="isShow" @close="closePopup" :safeAreaInsetTop="true" mode="bottom" :closeable="true" |
| | | round="12"> |
| | | <view class="popup-title fw f-30">标签选择</view> |
| | | |
| | | <view class="popup-list flex a-i-c"> |
| | | <scroll-view scroll-y="true" class="scroll"> |
| | | <view class="popup-box bgc-f4"> |
| | | <view :class="['box-item','f-28',index == fIndex?'bgc-ff':'']" v-for="(item,index) in categoryList" :key="index" @click="handleSelect(item,index)"> |
| | | {{item.categoryName}} |
| | | <scroll-view scroll-y="true" class="scroll"> |
| | | <view class="popup-box"> |
| | | <view :class="['box-item','f-28',index == fIndex?'c-main fw':'']" |
| | | v-for="(item,index) in categoryList" :key="index" @click="handleSelect(item,index)"> |
| | | {{item.categoryName}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | <scroll-view scroll-y="true" class="scroll"> |
| | | <view class="popup-box"> |
| | | <view :class="['box-item','f-28',item.isSelect?'c-main fw':'']" v-for="(item,index) in childList" :key="index" @click="handleSelectChild(item,index)"> |
| | | {{item.categoryName}} |
| | | <u-line direction="col" length="300rpx" v-if="childList.length"></u-line> |
| | | <scroll-view scroll-y="true" class="scroll" v-if="childList.length"> |
| | | <view class="popup-box"> |
| | | <view :class="['box-item','f-28',item.isSelect?'c-main fw':'']" |
| | | v-for="(item,index) in childList" :key="index" @click="handleSelectChild(item,index)"> |
| | | {{item.categoryName}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | </view> |
| | | |
| | | </u-popup> |
| | | |
| | | <!-- <view class="popup-footer flex j-c-s-b a-i-c"> |
| | | <view class="popup-btn c-main" @click="closePopup"> |
| | | 取消 |
| | | </view> |
| | | <view class="popup-btn bgc-main c-ff"> |
| | | 确定 |
| | | </view> |
| | | </view> --> |
| | | </u-popup> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getLabelCate |
| | | getLabelCate |
| | | } from "@/api/label/categoryLabel.js"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | isShow:false, |
| | | categoryList:[], |
| | | childList:[], |
| | | fIndex:0, |
| | | cId:null, |
| | | showLabelList:[] |
| | | isShow: false, |
| | | categoryList: [], |
| | | childList: [], |
| | | fIndex: null, |
| | | cId: null, |
| | | showLabelList: [], |
| | | selectedItem: [] |
| | | } |
| | | }, |
| | | |
| | | |
| | | onLoad() { |
| | | this.getCategory(1); |
| | | getLabelCate().then(res=>{ |
| | | console.log(res) |
| | | }) |
| | | }, |
| | | |
| | | |
| | | methods: { |
| | | getCategory(level,id){ |
| | | let params = { |
| | | level |
| | | } |
| | | if(level == 2){ |
| | | params.parentNo = id; |
| | | } |
| | | getLabelCate(params).then(res=>{ |
| | | if(res.code == 200){ |
| | | if(level == 2){ |
| | | let data = res.data; |
| | | for(let i of data){ |
| | | i.isSelect = false; |
| | | } |
| | | this.childList = data; |
| | | }else { |
| | | |
| | | this.categoryList = res.data; |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | handleSelect(item,index){ |
| | | this.fIndex = index; |
| | | this.getCategory(2,item.categoryNo); |
| | | }, |
| | | handleSelectChild(item,index){ |
| | | // this.cId = item.id; |
| | | |
| | | |
| | | this.childList[index].isSelect = !this.childList[index].isSelect |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | getCategory(level, id) { |
| | | let params = { |
| | | level |
| | | } |
| | | if (level == 2) { |
| | | params.parentNo = id; |
| | | } |
| | | getLabelCate(params).then(res => { |
| | | if (res.code == 200) { |
| | | if (level == 2) { |
| | | let data = res.data; |
| | | for (let i of data) { |
| | | i.isSelect = false; |
| | | } |
| | | this.childList = data; |
| | | } else { |
| | | |
| | | this.categoryList = res.data; |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | handleSelect(item, index) { |
| | | if (index == this.fIndex) return; |
| | | this.fIndex = index; |
| | | this.selectedItem = [item]; |
| | | this.getCategory(2, item.categoryNo); |
| | | console.table( "选择父级=>",this.selectedItem) |
| | | }, |
| | | handleSelectChild(item, index) { |
| | | this.childList[index].isSelect = !this.childList[index].isSelect; |
| | | this.getSelected() |
| | | |
| | | }, |
| | | |
| | | getSelected() { |
| | | let arr = [] |
| | | for (let i of this.childList) { |
| | | if (i.isSelect) { |
| | | arr.push(i); |
| | | } |
| | | } |
| | | this.selectedItem = arr; |
| | | console.table("选择子级=>",this.selectedItem); |
| | | }, |
| | | |
| | | showSelected() { |
| | | for (let i = 0, ii = this.childList.length; i < ii; i++) { |
| | | for (let k = 0, kk = this.selectedItem.length; k < kk; k++) { |
| | | if (this.childList[i].id == this.selectedItem[k].id) { |
| | | this.childList[i].isSelect = true; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | |
| | | closePopup(){ |
| | | this.isShow = false; |
| | | }, |
| | | |
| | | delTag(index){ |
| | | this.selectedItem.splice(index,1); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | </script> |
| | |
| | | page { |
| | | background-color: #F5F5F5; |
| | | } |
| | | .cell{ |
| | | padding:20rpx; |
| | | |
| | | .cell { |
| | | padding: 20rpx; |
| | | } |
| | | .popup-title{ |
| | | |
| | | .popup-title { |
| | | padding: 20rpx 0; |
| | | text-align: center; |
| | | } |
| | | .scroll{ |
| | | height:700rpx; |
| | | |
| | | .scroll { |
| | | flex: 1; |
| | | height: 700rpx; |
| | | transition: all .2s; |
| | | } |
| | | .scroll:first-child{ |
| | | width:40%; |
| | | |
| | | // .scroll:first-child { |
| | | // flex:1; |
| | | // .box-item{ |
| | | // border-bottom:1px solid #F5F5F5; |
| | | // } |
| | | // } |
| | | |
| | | // .scroll:last-child { |
| | | // flex:2; |
| | | // } |
| | | .p-20{ |
| | | padding:20rpx; |
| | | } |
| | | .scroll:last-child{ |
| | | width:60%; |
| | | } |
| | | .popup-list{ |
| | | width:100%; |
| | | height:700rpx; |
| | | .bgc-f4{ |
| | | background-color:#f4f4f4; |
| | | |
| | | |
| | | .popup-list { |
| | | width: 100%; |
| | | height: 700rpx; |
| | | padding:10rpx 0; |
| | | box-sizing: border-box; |
| | | .bgc-f4 { |
| | | background-color: #f4f4f4; |
| | | } |
| | | .popup-box{ |
| | | |
| | | .popup-box { |
| | | width: 100%; |
| | | height:700rpx; |
| | | .box-item{ |
| | | width:100%; |
| | | padding:30rpx; |
| | | height: 700rpx; |
| | | |
| | | .box-item { |
| | | width: 100%; |
| | | padding: 30rpx; |
| | | box-sizing: border-box; |
| | | text-align: center; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .popup-footer { |
| | | padding: 20rpx; |
| | | box-shadow: 0rpx 0rpx 10rpx 1rpx rgba(0, 0, 0, 0.1); |
| | | |
| | | .popup-btn { |
| | | width: 45%; |
| | | height: 78rpx; |
| | | line-height: 78rpx; |
| | | border-radius: 10rpx; |
| | | text-align: center; |
| | | font-size: 28rpx; |
| | | } |
| | | |
| | | .popup-btn:nth-child(1) { |
| | | border: 1px solid currentColor; |
| | | } |
| | | } |
| | | |
| | | |
| | | </style> |
| | |
| | | @delete="deletePic" uploadIcon="/static/icon/upload.png">
|
| | | </u-upload>
|
| | | </view>
|
| | | <view class=" flex label-btn-box b-c-w">
|
| | | <view class=" flex label-btn-box b-c-w" v-if="roleType == 2">
|
| | | <newBoxTitle title="房屋标签"></newBoxTitle>
|
| | | <view class="list">
|
| | | <view v-for="(item, index) in labelBtnList" :key="index">
|
| | |
| | | labelValue: "",
|
| | | remark: '',
|
| | | // 标记
|
| | | number: 0
|
| | | number: 0,
|
| | | roleType:1
|
| | |
|
| | | }
|
| | | },
|
| | |
| | | code
|
| | | } = option
|
| | | this.houseCode = code
|
| | | |
| | | let roleName = uni.getStorageSync("activeRole").roleName;
|
| | | if(roleName == "网格员"){
|
| | | this.roleType = 2;
|
| | | }
|
| | | |
| | | },
|
| | | onShow() {
|
| | | // this.getLabelList()
|
| | |
| | | <view class="mt-20 rent-out-box">
|
| | | <!-- <box-title :title="'出租管理'"></box-title> -->
|
| | |
|
| | | <view class="mt-40 rent-out-list b-c-w rent-out-content" v-for="(item, index) in rentOutList"
|
| | | <view class="mt-20 rent-out-list b-c-w rent-out-content" v-for="(item, index) in rentOutList"
|
| | | :key="index">
|
| | | <view class="t flex j-c-s-b a-i-c">
|
| | | <view class="l">
|
| | | 租客:{{item.tenant}}(共{{item.allNum}}人)
|
| | | 租客:{{item.tenant || ""}}(共{{item.allNum}}人)
|
| | | </view>
|
| | | <view class="r">
|
| | | <u-icon name="/static/icon/delete.png" color="red" @click="deleteRent(item)"></u-icon>
|
| | |
| | | {{findObjValue(item.status, status)}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="btn-box flex j-c-s-a">
|
| | | <u-button icon="edit-pen" class="btn-item" type="primary" plain text="修改"
|
| | | <view class="btn-box flex j-c-s-b">
|
| | | <!-- <u-button icon="edit-pen" class="btn-item bgc-main" type="primary" size='small' text="修改"
|
| | | :disabled="item.status == 1 || item.status == 2" @click="editRent(item)"></u-button>
|
| | | <u-button icon="calendar" class="btn-item" type="primary" plain text="续租"
|
| | | <u-button icon="calendar" class="btn-item bgc-main" type="primary" size='small' text="续租"
|
| | | :disabled="item.status == 2" @click="reletRent(item)"></u-button>
|
| | | <u-button icon="order" class="btn-item" type="primary" plain text="终止"
|
| | | :disabled="item.status == 1 || item.status == 2" @click="terRent(item)"></u-button>
|
| | | <u-button icon="order" class="btn-item bgc-main" type="primary" size='small' text="终止"
|
| | | :disabled="item.status == 1 || item.status == 2" @click="terRent(item)"></u-button>-->
|
| | | <view class="btn-item">
|
| | | <u-button class="bgc-main" type="primary" size='small' text="修改"
|
| | | :disabled="item.status == 1 || item.status == 2" @click="editRent(item)"></u-button>
|
| | | </view>
|
| | | <view class="btn-item">
|
| | | <u-button class="bgc-main" type="primary" size='small' text="续租"
|
| | | :disabled="item.status == 2" @click="reletRent(item)"></u-button>
|
| | | </view>
|
| | | |
| | | <view class="btn-item">
|
| | | <u-button class="bgc-main" type="primary" size='small' text="终止"
|
| | | :disabled="item.status == 1 || item.status == 2" @click="terRent(item)"></u-button>
|
| | | </view>
|
| | | |
| | | |
| | | |
| | | |
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
| | | &>.u-button {
|
| | | margin: 0 16rpx;
|
| | | }
|
| | |
|
| | | .btn-item {
|
| | | margin: 0 10rpx;
|
| | | border: 0;
|
| | | color: #009FFF;
|
| | | font-weight: 700;
|
| | | .btn-item{
|
| | | width:180rpx;
|
| | | }
|
| | |
|
| | | // /deep/ .btn-item {
|
| | | // // margin: 0 10rpx;
|
| | | // width:300rpx !important;
|
| | | // border: 0;
|
| | | // color: #009FFF;
|
| | | // font-weight: 700;
|
| | | // }
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | title: '提交成功', |
| | | success() { |
| | | setTimeout(() => { |
| | | this.$u.func.globalNavigator("", "navBack") |
| | | // this.$u.func.globalNavigator("", "navBack") |
| | | uni.navigateBack(); |
| | | }, 1000) |
| | | } |
| | | }) |
| New file |
| | |
| | | <template> |
| | | <view class=""> |
| | | |
| | | <u-popup :show="isShow" @close="closePopup" :safeAreaInsetTop="true" mode="bottom" :closeable="true" round="12"> |
| | | <view class="popup-title fw f-30">标签选择</view> |
| | | |
| | | <view class="popup-list flex a-i-c"> |
| | | <scroll-view scroll-y="true" class="scroll"> |
| | | <view class="popup-box"> |
| | | <view :class="['box-item','f-28',index == fIndex?'c-main fw':'']" |
| | | v-for="(item,index) in categoryList" :key="index" @click="handleSelect(item,index)"> |
| | | {{item.categoryName}} |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | <u-line direction="col" length="300rpx" v-if="childList.length"></u-line> |
| | | <scroll-view scroll-y="true" class="scroll" v-if="childList.length"> |
| | | <view class="popup-box"> |
| | | <view :class="['box-item','f-28',item.isSelect?'c-main fw':'']" |
| | | v-for="(item,index) in childList" :key="index" @click="handleSelectChild(item,index)"> |
| | | {{item.categoryName}} |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | </view> |
| | | <!-- <view class="popup-footer flex j-c-s-b a-i-c"> |
| | | <view class="popup-btn c-main" @click="closePopup"> |
| | | 取消 |
| | | </view> |
| | | <view class="popup-btn bgc-main c-ff"> |
| | | 确定 |
| | | </view> |
| | | </view> --> |
| | | </u-popup> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getLabelCate |
| | | } from "@/api/label/categoryLabel.js"; |
| | | export default { |
| | | name: "selector", |
| | | data() { |
| | | return { |
| | | isShow: false, |
| | | fIndex: null, |
| | | selectedItem: [], |
| | | selectedId: [], |
| | | categoryList: [], |
| | | childList: [] |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | getCategory(level, id) { |
| | | let params = { |
| | | level |
| | | } |
| | | if (level == 2) { |
| | | params.parentNo = id; |
| | | } |
| | | getLabelCate(params).then(res => { |
| | | if (res.code == 200) { |
| | | if (level == 2) { |
| | | let data = res.data; |
| | | for (let i of data) { |
| | | i.isSelect = false; |
| | | } |
| | | this.childList = data; |
| | | } else { |
| | | |
| | | this.categoryList = res.data; |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | open() { |
| | | this.isShow = true; |
| | | }, |
| | | close() { |
| | | this.isShow = false; |
| | | }, |
| | | handleSelect(item, index) { |
| | | if (index == this.fIndex) return; |
| | | this.fIndex = index; |
| | | this.selectedItem = [item]; |
| | | this.selectedId = [item.id] |
| | | this.getCategory(2, item.categoryNo); |
| | | this.$emit("select", { |
| | | selected: this.selectedItem, |
| | | selectedId: this.selectedId |
| | | }) |
| | | }, |
| | | handleSelectChild(item, index) { |
| | | this.childList[index].isSelect = !this.childList[index].isSelect; |
| | | this.getSelected() |
| | | this.$emit("select", { |
| | | selected: this.selectedItem, |
| | | selectedId: this.selectedId |
| | | }); |
| | | |
| | | }, |
| | | getSelected() { |
| | | let arr = [] |
| | | let ids = [] |
| | | for (let i of this.childList) { |
| | | if (i.isSelect) { |
| | | arr.push(i); |
| | | ids.push(i.id) |
| | | } |
| | | } |
| | | this.selectedItem = arr; |
| | | this.selectedId = ids; |
| | | }, |
| | | |
| | | setDefault(arr) { |
| | | let ids = []; |
| | | this.selectedItem = arr; |
| | | if (arr.length == 1) { |
| | | for (let i = 0, ii = this.categoryList.length; i < ii; i++) { |
| | | if (this.categoryList[i].id == arr[0].id) { |
| | | this.fIndex = i; |
| | | this.selectedId = [arr[0].id] |
| | | } |
| | | } |
| | | } else { |
| | | for (let i = 0, ii = this.childList.length; i < ii; i++) { |
| | | for (let k = 0, kk = arr.length; k < kk; k++) { |
| | | if (this.childList[i].id == this.arr[k].id) { |
| | | this.childList[i].isSelect = true; |
| | | ids.push(this.arr[k].id); |
| | | } |
| | | } |
| | | } |
| | | this.selectedId = ids; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .popup-title { |
| | | padding: 20rpx 0; |
| | | text-align: center; |
| | | } |
| | | |
| | | .scroll { |
| | | flex: 1; |
| | | height: 700rpx; |
| | | transition: all .2s; |
| | | } |
| | | |
| | | // .scroll:first-child { |
| | | // flex:1; |
| | | // .box-item{ |
| | | // border-bottom:1px solid #F5F5F5; |
| | | // } |
| | | // } |
| | | |
| | | // .scroll:last-child { |
| | | // flex:2; |
| | | // } |
| | | .p-20 { |
| | | padding: 20rpx; |
| | | } |
| | | |
| | | |
| | | .popup-list { |
| | | width: 100%; |
| | | height: 700rpx; |
| | | padding: 10rpx 0; |
| | | box-sizing: border-box; |
| | | |
| | | .bgc-f4 { |
| | | background-color: #f4f4f4; |
| | | } |
| | | |
| | | .popup-box { |
| | | width: 100%; |
| | | height: 700rpx; |
| | | |
| | | .box-item { |
| | | width: 100%; |
| | | padding: 30rpx; |
| | | box-sizing: border-box; |
| | | text-align: center; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .popup-footer { |
| | | padding: 20rpx; |
| | | box-shadow: 0rpx 0rpx 10rpx 1rpx rgba(0, 0, 0, 0.1); |
| | | |
| | | .popup-btn { |
| | | width: 45%; |
| | | height: 78rpx; |
| | | line-height: 78rpx; |
| | | border-radius: 10rpx; |
| | | text-align: center; |
| | | font-size: 28rpx; |
| | | } |
| | | |
| | | .popup-btn:nth-child(1) { |
| | | border: 1px solid currentColor; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | import uploadMixin from "@/mixin/uploadMixin";
|
| | | import lineItem from "@/subPackage/workbench/components/lineItem.vue"
|
| | | import {
|
| | | getLabelList,getLabelCate
|
| | | getLabelList
|
| | | } from "@/api/label/categoryLabel.js";
|
| | | import {
|
| | | getDoorplateAddressDetail,
|
| | |
| | | },
|
| | | onShow() {
|
| | | this.getLabel()
|
| | | this.getCategory();
|
| | | // this.getLocation()
|
| | | },
|
| | | methods: {
|
| | |
| | | })
|
| | |
|
| | |
|
| | | this.form.jwd = `${Number(data.lat).toFixed(6)},${Number(data.lng).toFixed(6)}`
|
| | | this.form.jwd = `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`
|
| | |
|
| | | this.form.building = arr.join("")
|
| | | setTimeout(() => {
|
| | |
| | | popup() {
|
| | | this.$refs.uniPopup.open()
|
| | | },
|
| | | |
| | | getCategory(){
|
| | | getLabelCate({
|
| | | level:2,
|
| | | parentNo:11
|
| | | }).then(res=>{
|
| | | console.log("category===>",res)
|
| | | })
|
| | | },
|
| | | |
| | |
|
| | | getLabel() {
|
| | | getLabelList({
|
| New file |
| | |
| | | <template> |
| | | <view class="container"> |
| | | <view class="wrap"> |
| | | <u-form labelWidth="70" :model="form" :rules="rules" ref="form"> |
| | | <view class="item"> |
| | | <!-- u-form-item v-if="!currentId" @click="showPicker = true" class="form-item" labelWidth="100" label="楼栋:" |
| | | :required="isRequired" :disabled="isDisabled" prop="buildingCode"> |
| | | <u--input border="none" disabledColor="#ffffff" v-model="form.building" placeholder="请选择"> |
| | | </u--input> |
| | | <u-icon slot="right" name="arrow-right"></u-icon> |
| | | </u-form-item> --> |
| | | <view class="box-title"> |
| | | <box-title title="基础信息"></box-title> |
| | | </view> |
| | | <u-form-item class="form-item" labelWidth="100" label="场所名称:" :required="isRequiredPlace" |
| | | :disabled="isDisabled" 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="isRequired" |
| | | :disabled="isDisabled" prop="label"> |
| | | <u--input border="none" disabled disabledColor="#ffffff" placeholder="请选择"> |
| | | </u--input> |
| | | <u-icon slot="right" name="arrow-right"></u-icon> |
| | | </u-form-item> |
| | | <view v-if="showLabelList.length" class="label" style="border-bottom:1px solid eff1f3;"> |
| | | <view v-for="(item,index) in showLabelList" :key="index" class="activeLabel"> |
| | | <u-tag :closable="currentId?false:true" :show="!item.isClose" size="mini" @close="delTag(item)" |
| | | :text="item.text"></u-tag> |
| | | </view> |
| | | </view> |
| | | |
| | | <u-form-item class="form-item" labelWidth="100" label="备注:" prop="remark"> |
| | | <u--input border="none" v-model="form.remark" placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | |
| | | <!-- <u-form-item class="form-item" labelWidth="100" label="经纬度:" prop="location"> |
| | | <u--input border="none" disabled disabledColor="#ffffff" v-model="form.jwd" placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> --> |
| | | <u-form-item label="经纬度:" prop="location" labelWidth="100"> |
| | | <view class="address-row flex"> |
| | | <view class="address-content f-28" v-if="form.jwd"> |
| | | {{form.jwd}} |
| | | </view> |
| | | <view class="address-content f-30" style="color: #c0c4cc;" v-if="!form.jwd"> |
| | | 请选择地址 |
| | | </view> |
| | | <view class="location-btn c-main f-24" @click="getLocation()"> |
| | | 获取地址 |
| | | </view> |
| | | </view> |
| | | </u-form-item> |
| | | |
| | | |
| | | </view> |
| | | |
| | | <view class="item"> |
| | | <view class="box-title"> |
| | | <box-title title="负责人信息"></box-title> |
| | | </view> |
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled" |
| | | label="场所负责人:" prop="username"> |
| | | <u--input border="none" v-model="form.username" placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled" |
| | | label="手机号:" prop="phone"> |
| | | <u--input border="none" v-model="form.phone" placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | </view> |
| | | |
| | | <view class="item pic" v-if="(currentId && form.images.length) || !currentId "> |
| | | <view class="box-title"> |
| | | <box-title title="场所照片"></box-title> |
| | | </view> |
| | | <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount" |
| | | :capture="uploadConfig.capture" uploadIcon="/static/icon/upload.png" @afterRead="afterReadImg" |
| | | @delete="deletePic" :disabled="currentId?true:false" :deletable="currentId?false:true"> |
| | | </u-upload> |
| | | </view> |
| | | |
| | | </u-form> |
| | | |
| | | |
| | | |
| | | <view class="item"> |
| | | <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> |
| | | <lineItem :dataInfo="comprehensiveData.basic"> |
| | | </lineItem> |
| | | |
| | | <lineItem :dataInfo="comprehensiveData.scene"> |
| | | <template v-slot:pic="{scope}"> |
| | | <view class="image" v-if="scope.value !== ''"> |
| | | <u--image @click="imgPreview(scope.value)" width="200rpx" height="200rpx" |
| | | :src="scope.value"></u--image> |
| | | </view> |
| | | <view class="" v-else> |
| | | {{scope.value}} |
| | | </view> |
| | | </template> |
| | | </lineItem> |
| | | </view> |
| | | |
| | | |
| | | |
| | | <view class="item"> |
| | | <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> |
| | | <lineItem :dataInfo="publicData.basic"> |
| | | </lineItem> |
| | | |
| | | <lineItem :dataInfo="publicData.scene"> |
| | | <template v-slot:pic="{scope}"> |
| | | {{scope.value}} |
| | | </template> |
| | | </lineItem> |
| | | </view> |
| | | |
| | | |
| | | <!-- <view class="bottom"> |
| | | <view class="btn"> |
| | | <u-button @click="submit" type="primary" text="提交" v-if="!currentId"></u-button> |
| | | </view> |
| | | </view> --> |
| | | </view> |
| | | <footer-btn @click="submit" v-if="!currentId" /> |
| | | |
| | | <uni-popup class="citys_win popup_win" ref="uniPopup" type="bottom"> |
| | | <wyh-tree-select :items="labelList" title="标签选择" :showNav="true" defaultActiveColor="#4586fe" |
| | | :activeIds="activeIds" @clickItem="labelClick" :showCancel="false" :showConfirm="false"> |
| | | </wyh-tree-select> |
| | | </uni-popup> |
| | | |
| | | |
| | | <u-picker :show="showPicker" :defaultIndex="defaultIndex" ref="uPicker" keyName="name" :loading="pickerLoading" |
| | | :columns="pickColumns" @change="changeHandler" @confirm="confirmPicker" |
| | | @cancel="showPicker = false"></u-picker> |
| | | |
| | | <selector ref="select" @select="selectChange" /> |
| | | |
| | | |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import uploadMixin from "@/mixin/uploadMixin"; |
| | | import lineItem from "@/subPackage/workbench/components/lineItem.vue" |
| | | import { |
| | | getLabelList,getLabelCate |
| | | } from "@/api/label/categoryLabel.js"; |
| | | import { |
| | | getDoorplateAddressDetail, |
| | | getDoorplateAddressList |
| | | } from "@/api/doorplateAddress/doorplateAddress"; |
| | | import { |
| | | getPlaceDetail |
| | | } from '@/api/place/place.js' |
| | | import { |
| | | add |
| | | } from "@/api/place/place"; |
| | | import { |
| | | format |
| | | } from "echarts"; |
| | | import boxTitle from '../components/boxTitle/index.vue' |
| | | import { |
| | | minioBaseUrl |
| | | } from "../../../common/setting"; |
| | | import selector from '../components/selector.vue' |
| | | export default { |
| | | mixins: [uploadMixin], |
| | | components: { |
| | | lineItem, |
| | | boxTitle, |
| | | selector |
| | | }, |
| | | data() { |
| | | return { |
| | | isRequired: false, |
| | | isRequiredPlace: true, |
| | | isDisabled: true, |
| | | showPicker: false, |
| | | pickerLoading: false, |
| | | pickColumns: [], |
| | | defaultIndex: [0, 0, 0, 0, 0], |
| | | |
| | | selectValue: [], |
| | | |
| | | form: { |
| | | // buildingCode: "", |
| | | images: [], |
| | | label: "", |
| | | remark: "", |
| | | imageUrls: "", |
| | | placeName: "", |
| | | username: '', |
| | | phone: '', |
| | | lat:'', |
| | | lng:'' |
| | | }, |
| | | rules: { |
| | | // 'buildingCode': { |
| | | // type: 'string', |
| | | // required: true, |
| | | // message: '请选择楼栋', |
| | | // trigger: ['blur', 'change'] |
| | | // }, |
| | | 'placeName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入场所名称', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'label': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择标签', |
| | | trigger: ['blur', 'change'], |
| | | }, |
| | | 'username': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入场所负责人', |
| | | trigger: ['blur', 'change'], |
| | | }, |
| | | 'phone': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入手机号', |
| | | trigger: ['blur', 'change'], |
| | | }, |
| | | }, |
| | | |
| | | labelList: [{ |
| | | text: '全部标签', |
| | | children: [], |
| | | dot: false |
| | | }, ], |
| | | |
| | | comprehensiveData: { |
| | | basic: [{ |
| | | label: "社区名称", |
| | | name: 'communityName', |
| | | value: "暂无数据" |
| | | }, |
| | | { |
| | | label: "网格名称", |
| | | name: 'gridName', |
| | | value: "暂无数据" |
| | | }, |
| | | { |
| | | label: "网格员", |
| | | name: 'realName', |
| | | value: "暂无数据" |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | | name: 'gridPhone', |
| | | value: "暂无数据" |
| | | } |
| | | ], |
| | | scene: [{ |
| | | label: "场所照片", |
| | | name: 'imageUrls', |
| | | value: "", |
| | | useSlot: "pic", |
| | | }, |
| | | { |
| | | label: "场所负责人", |
| | | name: 'username', |
| | | value: "未完善", |
| | | }, |
| | | { |
| | | label: "采集人", |
| | | name: 'createUserName', |
| | | value: "未完善" |
| | | }, |
| | | { |
| | | label: "采集时间", |
| | | name: 'createTime', |
| | | value: "未完善" |
| | | }, |
| | | { |
| | | label: "历史事件", |
| | | value: "未完善", |
| | | } |
| | | ], |
| | | }, |
| | | publicData: { |
| | | basic: [{ |
| | | label: "公安局", |
| | | name: 'branchName', |
| | | value: "暂无数据" |
| | | }, |
| | | { |
| | | label: "派出所", |
| | | name: 'localPoliceStationName', |
| | | value: "暂无数据" |
| | | }, |
| | | { |
| | | label: "辖区民警", |
| | | name: 'policeman', |
| | | value: "暂无数据" |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | | name: 'policemanPhone', |
| | | value: "暂无数据" |
| | | } |
| | | ], |
| | | scene: [{ |
| | | label: "消防照片", |
| | | useSlot: "pic", |
| | | }, |
| | | { |
| | | label: "采集人", |
| | | value: "未完善" |
| | | }, |
| | | { |
| | | label: "采集时间", |
| | | value: "未完善" |
| | | }, |
| | | { |
| | | label: "消防负责人", |
| | | value: "未完善", |
| | | }, |
| | | { |
| | | label: "采集人", |
| | | value: "未完善" |
| | | }, |
| | | { |
| | | label: "采集时间", |
| | | value: "未完善", |
| | | }, |
| | | { |
| | | label: "历史事件", |
| | | value: "未完善", |
| | | } |
| | | ], |
| | | }, |
| | | |
| | | activeIds: [], |
| | | showLabelList: [], |
| | | houseCode: "", |
| | | currentId: "", |
| | | addressType: 2, |
| | | selectItem:[] |
| | | } |
| | | }, |
| | | watch: { |
| | | activeIds: { |
| | | handler(newVal) { |
| | | this.form.label = newVal.join(",") |
| | | } |
| | | }, |
| | | "form.buildingCode": { |
| | | handler(newVal) {} |
| | | }, |
| | | showLabelList(newVal) {} |
| | | }, |
| | | |
| | | created() { |
| | | this.buildColumn() |
| | | }, |
| | | mounted() { |
| | | |
| | | }, |
| | | options: { |
| | | styleIsolation: 'shared', // 解除样式隔离 |
| | | }, |
| | | onLoad(option) { |
| | | console.log(option) |
| | | const { |
| | | type |
| | | } = option |
| | | if (option.addressType) { |
| | | this.addressType = option.addressType |
| | | } |
| | | if (option.id) { |
| | | this.currentId = option.id |
| | | } |
| | | if (option.houseCode) { |
| | | this.houseCode = option.houseCode |
| | | this.form.houseCode = option.houseCode |
| | | } |
| | | if (option.id || option.houseCode) { |
| | | this.getBuildingDetail() |
| | | } |
| | | if (!!type || type != void 0) { |
| | | uni.setNavigationBarTitle({ |
| | | title: '详情' |
| | | }) |
| | | } |
| | | // this.$refs.selector.getCategory(1); |
| | | }, |
| | | onShow() { |
| | | this.getLabel() |
| | | this.getCategory(); |
| | | // this.getLocation() |
| | | }, |
| | | methods: { |
| | | |
| | | // getBuildingDetail(params = {}) { |
| | | // getDoorplateAddressDetail(Object.assign(params, { |
| | | // stdId: this.stdId |
| | | // })).then(res => { |
| | | // let data = res.data |
| | | // this.form.buildingCode = data.buildingCode |
| | | |
| | | // let buildingNameArr = [data.townStreetName, data.neiName, data.streetRuName, data.aoiName, |
| | | // data.buildingName |
| | | // ] |
| | | // let arr = buildingNameArr.filter(e => { |
| | | // return e != null || e != '' |
| | | // }) |
| | | |
| | | // // 赋值 |
| | | // // this.form.placeName = data['placeName'] |
| | | // Object.keys(this.form).forEach(key => { |
| | | // if (!data[key]) { |
| | | // this.form[key] = data.place[key] |
| | | // } else { |
| | | // this.form[key] = data[key] |
| | | // } |
| | | // }) |
| | | |
| | | // this.form.building = arr.join("") |
| | | |
| | | // Object.keys(this.comprehensiveData).forEach(key => { |
| | | // this.comprehensiveData[key].forEach(item => { |
| | | // if (!data[item.name]) { |
| | | // item.value = data.place[item.name] || '未完善' |
| | | // } else { |
| | | // item.value = data[item.name] || '未完善' |
| | | // } |
| | | // }) |
| | | // this.publicData[key].forEach(item => { |
| | | // if (!data[item.name]) { |
| | | // item.value = data.place[item.name] || '未完善' |
| | | // } else { |
| | | // item.value = data[item.name] || '未完善' |
| | | // } |
| | | // }) |
| | | // }) |
| | | // }) |
| | | // }, |
| | | |
| | | getBuildingDetail(params = {}) { |
| | | let idorCodeParams = {} |
| | | if (this.houseCode) { |
| | | idorCodeParams = { |
| | | houseCode: this.houseCode, |
| | | // addressType:this.addressType |
| | | } |
| | | } |
| | | if (this.addressType) { |
| | | idorCodeParams.addressType = this.addressType |
| | | } |
| | | if (this.currentId) { |
| | | idorCodeParams = { |
| | | id: this.currentId |
| | | } |
| | | } |
| | | getPlaceDetail({ |
| | | ...params, |
| | | ...idorCodeParams |
| | | }).then(({ |
| | | code, |
| | | data |
| | | }) => { |
| | | if (code !== 200) { |
| | | uni.showToast({ |
| | | title: "数据加载失败", |
| | | icon: 'error' |
| | | }) |
| | | return |
| | | } |
| | | const dpaEntity = data?.doorplateAddressEntity || {} |
| | | |
| | | const gridEntity = data?.grid || {} |
| | | |
| | | // this.form.buildingCode = dpaEntity?.buildingCode || '' |
| | | |
| | | let buildingNameArr = [ |
| | | dpaEntity?.townStreetName, |
| | | dpaEntity?.neiName, |
| | | dpaEntity?.streetRuName, |
| | | dpaEntity?.aoiName, |
| | | dpaEntity?.buildingName |
| | | ] |
| | | let arr = buildingNameArr.filter(e => { |
| | | return e != null || e != '' |
| | | }) |
| | | this.form.placeName = data['placeName'] || '' |
| | | |
| | | Object.keys(this.form).forEach(key => { |
| | | if (!data[key]) { |
| | | // this.form[key] = dpaEntity[key] || '未完善' |
| | | this.form[key] = dpaEntity[key] |
| | | } else { |
| | | // this.form[key] = data[key] || '未完善' |
| | | this.form[key] = data[key] |
| | | } |
| | | if (key === "images") { |
| | | // this.form[key] = data.imageUrls |
| | | if (data.imageUrls) { |
| | | this.form.images = this.$setImageUrl(data.imageUrls, 2); |
| | | } else { |
| | | this.form.images = [] |
| | | } |
| | | } |
| | | }) |
| | | |
| | | |
| | | this.form.jwd = `${Number(data.lat).toFixed(6)},${Number(data.lng).toFixed(6)}` |
| | | |
| | | this.form.building = arr.join("") |
| | | // setTimeout(() => { |
| | | // data.placePoiLabelVOList.forEach(item => { |
| | | // let label = this.labelList[0].children.find(sl => sl.text === item |
| | | // .labelName) || {} |
| | | // label['isClose'] = false |
| | | // label?.text && this.showLabelList.push(label) |
| | | // }) |
| | | // }, 500) |
| | | let labelList = data.placePoiLabelVOList |
| | | if(labelList.length){ |
| | | this.getCategory(2,labelList[0].id); |
| | | } |
| | | setTimeout(() => { |
| | | for(let i of labelList){ |
| | | i.categoryName = i.text; |
| | | } |
| | | this.selectItem = labelList; |
| | | this.$refs.select.setDefault(labelList); |
| | | }, 500) |
| | | |
| | | |
| | | Object.keys(this.comprehensiveData).forEach(key => { |
| | | this.comprehensiveData[key].forEach(item => { |
| | | if (!data[item.name]) { |
| | | item.value = dpaEntity[item.name] || '未完善' |
| | | item.value = gridEntity[item.name] || '未完善' |
| | | } else { |
| | | item.value = data[item.name] || '未完善' |
| | | if (item.name == "imageUrls") { |
| | | item.value = this.$setImageUrl(data[item.name]) |
| | | // item.value = minioBaseUrl + data[item.name] || '未完善' |
| | | } |
| | | } |
| | | }) |
| | | this.publicData[key].forEach(item => { |
| | | if (!data[item.name]) { |
| | | item.value = dpaEntity[item.name] || '未完善' |
| | | } else { |
| | | item.value = data[item.name] || '未完善' |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | }) |
| | | }, |
| | | |
| | | //表单提交 |
| | | submit() { |
| | | const that = this |
| | | this.$refs.form.validate().then(valid => { |
| | | if (valid) { |
| | | if (this.form?.images?.length > 0) { |
| | | let urls = [] |
| | | this.form.images.forEach(e => { |
| | | urls.push(e.name) |
| | | }) |
| | | this.form.imageUrls = urls.join(",") |
| | | } |
| | | add(this.form).then(res => { |
| | | uni.showToast({ |
| | | icon: 'success', |
| | | title: '提交成功', |
| | | success() { |
| | | setTimeout(() => { |
| | | that.$u.func.globalNavigator( |
| | | "/pages/home/index", "switchTab") |
| | | }, 1000) |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | async buildColumn() { |
| | | |
| | | //设置街道 |
| | | const townStreet = await this.getDoorplateAddressList(null, "townStreet") |
| | | this.setColumn(townStreet, 0) |
| | | //设置社区 |
| | | const nei = await this.getDoorplateAddressList(townStreet[0]?.code, "nei") |
| | | this.setColumn(nei, 1) |
| | | //设置路 |
| | | const streetRu = await this.getDoorplateAddressList(nei[0]?.code, "streetRu") |
| | | this.setColumn(streetRu, 2) |
| | | //设置地区 |
| | | const district = await this.getDoorplateAddressList(streetRu[0]?.code, "district") |
| | | this.setColumn(district, 3) |
| | | //设置楼栋 |
| | | const building = await this.getDoorplateAddressList(district[0]?.code, "building") |
| | | this.setColumn(building, 4) |
| | | }, |
| | | |
| | | setColumn(data, index) { |
| | | this.$set(this.pickColumns, index, data) |
| | | }, |
| | | |
| | | getLocation() { |
| | | const that = this |
| | | uni.getLocation({ |
| | | type: 'wgs84', // 坐标系类型 |
| | | success: function(res) { |
| | | var latitude = res.latitude; // 维度 |
| | | var longitude = res.longitude; // 经度 |
| | | |
| | | that.form.lng = longitude |
| | | that.form.lat = latitude |
| | | |
| | | that.form.jwd = longitude + "," + latitude |
| | | }, |
| | | fail: function(res) { |
| | | console.log('获取定位失败:' + res.errMsg); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | getLocation() { |
| | | uni.chooseLocation({ |
| | | success: (res) => { |
| | | this.form.lat = res.latitude; |
| | | this.form.lng = res.longitude; |
| | | this.form.jwd = `${Number(res.latitude).toFixed(5)},${Number(res.longitude).toFixed(5)}` |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | async getDoorplateAddressList(code, type) { |
| | | const res = await getDoorplateAddressList(code, type) |
| | | return res.data |
| | | }, |
| | | |
| | | confirmPicker(e) { |
| | | |
| | | if (e.value[4]) { |
| | | this.selectValue = e.value |
| | | |
| | | let arr = this.selectValue.map(e => e.name) |
| | | this.form.building = arr.join("") |
| | | |
| | | this.form.buildingCode = e.value[4].code |
| | | } |
| | | this.showPicker = false |
| | | }, |
| | | |
| | | async changeHandler(e) { |
| | | const { |
| | | columnIndex, |
| | | index, |
| | | // 微信小程序无法将picker实例传出来,只能通过ref操作 |
| | | picker = this.$refs.uPicker |
| | | } = e |
| | | let item = e.values[columnIndex][index] |
| | | //街道 |
| | | if (columnIndex === 0) { |
| | | //获取社区列表 |
| | | const nei = await this.getDoorplateAddressList(item.code, "nei") |
| | | picker.setColumnValues(1, nei) |
| | | |
| | | const streetRu = await this.getDoorplateAddressList(nei[0].code, "streetRu") |
| | | picker.setColumnValues(2, streetRu) |
| | | |
| | | const district = await this.getDoorplateAddressList(streetRu[0].code, "district") |
| | | picker.setColumnValues(3, district) |
| | | |
| | | const building = await this.getDoorplateAddressList(district[0].code, "building") |
| | | picker.setColumnValues(4, building) |
| | | } |
| | | |
| | | if (columnIndex === 1) { |
| | | const streetRu = await this.getDoorplateAddressList(item.code, "streetRu") |
| | | picker.setColumnValues(2, streetRu) |
| | | |
| | | const district = await this.getDoorplateAddressList(streetRu[0].code, "district") |
| | | picker.setColumnValues(3, district) |
| | | |
| | | const building = await this.getDoorplateAddressList(district[0].code, "building") |
| | | picker.setColumnValues(4, building) |
| | | } |
| | | |
| | | if (columnIndex === 2) { |
| | | |
| | | const district = await this.getDoorplateAddressList(item.code, "district") |
| | | picker.setColumnValues(3, district) |
| | | |
| | | const building = await this.getDoorplateAddressList(district[0].code, "building") |
| | | picker.setColumnValues(4, building) |
| | | } |
| | | |
| | | if (columnIndex === 3) { |
| | | const building = await this.getDoorplateAddressList(item.code, "building") |
| | | picker.setColumnValues(4, building) |
| | | } |
| | | |
| | | }, |
| | | |
| | | //弹出层打开 |
| | | popup() { |
| | | // this.$refs.uniPopup.open() |
| | | this.$refs.selector.open() |
| | | }, |
| | | |
| | | |
| | | //标签选择 |
| | | selectChange(val){ |
| | | this.selectItem = val.selected; |
| | | this.form.label = val.selectedId.join(","); |
| | | }, |
| | | |
| | | getCategory(){ |
| | | getLabelCate({ |
| | | // level:2, |
| | | // parentNo:11 |
| | | level:3, |
| | | parentNo:1101 |
| | | }).then(res=>{ |
| | | console.log("category===>",res) |
| | | }) |
| | | }, |
| | | |
| | | |
| | | 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.categoryNo, |
| | | text: label.categoryName |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | 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 => e != label.id) |
| | | } else { |
| | | //不在,添加 |
| | | item.isClose = false |
| | | this.showLabelList.push(item) |
| | | this.activeIds.push(item.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) |
| | | |
| | | }, |
| | | imgPreview(value) { |
| | | uni.previewImage({ |
| | | urls: minioBaseUrl + [value], |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .container { |
| | | position: relative; |
| | | width: calc(100% - 60rpx); |
| | | // height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | background: #f5f5f5; |
| | | padding: 0 30rpx 20rpx 30rpx; |
| | | .wrap{ |
| | | width:100%; |
| | | margin-bottom:120rpx; |
| | | } |
| | | .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 { |
| | | margin-top: 20rpx; |
| | | background-color: #ffffff; |
| | | border-radius: 8rpx; |
| | | padding: 0 30rpx; |
| | | |
| | | .form-item { |
| | | background-color: #ffffff; |
| | | padding: 2rpx 10px; |
| | | border-bottom: 0.1px solid #eff1f3; |
| | | } |
| | | |
| | | .label { |
| | | padding: 10rpx 30rpx; |
| | | display: flex; |
| | | background-color: #ffffff; |
| | | flex-wrap: wrap; |
| | | |
| | | .activeLabel { |
| | | // width: 80rpx; |
| | | margin-left: 10rpx; |
| | | margin-top: 10rpx |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | .pic { |
| | | background-color: #ffffff; |
| | | padding-bottom: 20rpx; |
| | | |
| | | /deep/ .u-upload__button { |
| | | border: 1rpx solid #EEEEEE; |
| | | background-color: #fff; |
| | | } |
| | | } |
| | | |
| | | .image { |
| | | padding: 20rpx; |
| | | } |
| | | |
| | | .bottom { |
| | | padding: 20rpx; |
| | | background-color: #ffffff; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | .btn { |
| | | width: calc(100% - 40rpx); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /deep/ .u-form-item { |
| | | background-color: #ffffff; |
| | | padding: 2rpx 10px; |
| | | border-bottom: 1px solid #eff1f3; |
| | | } |
| | | |
| | | .red { |
| | | background-color: red; |
| | | border-radius: 10rpx 0rpx 0rpx 10rpx; |
| | | } |
| | | |
| | | .orange { |
| | | background-color: orange; |
| | | } |
| | | |
| | | .green { |
| | | background-color: green; |
| | | border-radius: 0rpx 10rpx 10rpx 0rpx; |
| | | } |
| | | |
| | | |
| | | .address-row { |
| | | flex: 1; |
| | | justify-content: flex-end; |
| | | align-items: center; |
| | | } |
| | | |
| | | .address-content { |
| | | width: calc(100% - 116rpx - 12rpx); |
| | | margin-right: 12rpx; |
| | | } |
| | | |
| | | .location-btn { |
| | | width: 116rpx; |
| | | height: 46rpx; |
| | | line-height: 46rpx; |
| | | border-radius: 4rpx; |
| | | border: 1px solid currentColor; |
| | | padding: 0; |
| | | background-color: #fff; |
| | | text-align: center; |
| | | } |
| | | |
| | | </style> |