| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-03-24 16:36:55 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-05-08 18:04:31 |
| | | * @LastEditTime: 2023-05-22 09:32:18 |
| | | * @FilePath: \srs-police-affairs\src\views\activity\index.vue |
| | | * @Description: |
| | | * |
| | |
| | | <div> |
| | | <div class="category">名称:</div> |
| | | <div class="category-value search-activity"> |
| | | <el-input |
| | | size="small" |
| | | placeholder="请输入…" |
| | | v-model="searchActivity" |
| | | @change="activeSearch" |
| | | clearable |
| | | ></el-input> |
| | | <el-input size="small" placeholder="请输入…" v-model="searchActivity" @change="activeSearch" |
| | | clearable></el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="result-content"> |
| | | <div class="table-box"> |
| | | <el-collapse |
| | | v-show="activityList.length > 0" |
| | | v-model="activeActivityIndex" |
| | | accordion |
| | | @change="handleActivityChange" |
| | | class="activity-list" |
| | | > |
| | | <el-collapse-item |
| | | v-for="item in activityList" |
| | | :name="item.id" |
| | | :key="item.id" |
| | | > |
| | | <template |
| | | slot="title" |
| | | >{{ item.name }}({{ item.plotType == 1 ? '二维' : '三维' }})</template> |
| | | <el-collapse v-show="activityList.length > 0" v-model="activeActivityIndex" accordion |
| | | @change="handleActivityChange" class="activity-list"> |
| | | <el-collapse-item v-for="item in activityList" :name="item.id" :key="item.id"> |
| | | <template slot="title">{{ item.name }}({{ item.plotType == 1 ? '二维' : '三维' }})</template> |
| | | <el-collapse v-model="activeActivityElementIndex" accordion> |
| | | <el-collapse-item title="要素资源" :name="yszy"> |
| | | <el-collapse v-model="elementPoliceIndex" accordion> |
| | | <el-collapse-item title="警车" :name="jc"> |
| | | <ul> |
| | | <li |
| | | v-for="carItem in chooseActivityPoliceCarList" |
| | | :key="carItem.id" |
| | | @click="carOrPoliceItemClick(carItem.position, 'point')" |
| | | >{{ carItem.serialNumber }}</li> |
| | | <li v-for="carItem in chooseActivityPoliceCarList" :key="carItem.id" |
| | | @click="carOrPoliceItemClick(carItem.position, 'point')">{{ |
| | | carItem.serialNumber }}</li> |
| | | </ul> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | <el-collapse v-model="elementPoliceCarIndex" accordion> |
| | | <el-collapse-item title="警员" :name="jy"> |
| | | <ul> |
| | | <li |
| | | v-for="policeItem in chooseActivityPoliceManList" |
| | | :key="policeItem.id" |
| | | @click="carOrPoliceItemClick(policeItem.position, 'point')" |
| | | >{{ policeItem.policeName }}</li> |
| | | <li v-for="policeItem in chooseActivityPoliceManList" :key="policeItem.id" |
| | | @click="carOrPoliceItemClick(policeItem.position, 'point')">{{ |
| | | policeItem.policeName }}</li> |
| | | </ul> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | |
| | | <el-collapse v-model="elementCustomIndex" accordion> |
| | | <el-collapse-item title="自定义图片标注" :name="wxrw"> |
| | | <ul> |
| | | <li |
| | | v-for="(item, index) in customList" |
| | | :key="item.id" |
| | | @click="carOrPoliceItemClick(item.position, 'people')" |
| | | > |
| | | <li v-for="(item, index) in customList" :key="item.id" |
| | | @click="carOrPoliceItemClick(item.position, 'people')"> |
| | | {{ item.remark && item.remark.trim() != '' ? item.remark : |
| | | `自定义图片标注${index + 1}` }} |
| | | `自定义图片标注${index + 1}` }} |
| | | </li> |
| | | </ul> |
| | | </el-collapse-item> |
| | |
| | | <el-collapse v-model="elementNormalIndex" accordion> |
| | | <el-collapse-item title="其他" :name="wxrw"> |
| | | <ul> |
| | | <li |
| | | v-for="(item, index) in restList" |
| | | :key="item.id" |
| | | @click="carOrPoliceItemClick(item.position, 'people')" |
| | | > |
| | | <li v-for="(item, index) in restList" :key="item.id" |
| | | @click="carOrPoliceItemClick(item.position, 'people')"> |
| | | {{ item.remark && item.remark.trim() != '' ? item.remark : |
| | | restCurType(item, index) }} |
| | | restCurType(item, index) }} |
| | | </li> |
| | | </ul> |
| | | </el-collapse-item> |
| | |
| | | </el-collapse> |
| | | <el-collapse v-model="activeActivityArrowIndex" accordion> |
| | | <el-collapse-item title="作战标绘" :name="zzbh"> |
| | | <el-collapse |
| | | v-model="attackArrowIndex" |
| | | accordion |
| | | v-show="item.plotType == 1" |
| | | > |
| | | <el-collapse v-model="attackArrowIndex" accordion v-show="item.plotType == 1"> |
| | | <el-collapse-item title="进攻箭头" :name="jgjt"> |
| | | <ul> |
| | | <li |
| | | v-for="(attackItem, index) in attackArrowList" |
| | | :key="attackItem.id" |
| | | @click="carOrPoliceItemClick(attackItem.position, 'arrow')" |
| | | > |
| | | <li v-for="(attackItem, index) in attackArrowList" :key="attackItem.id" |
| | | @click="carOrPoliceItemClick(attackItem.position, 'arrow')"> |
| | | {{ attackItem.remark && attackItem.remark.trim() != '' ? |
| | | attackItem.remark : `进攻箭头${index + |
| | | 1}` }} |
| | | attackItem.remark : `进攻箭头${index + |
| | | 1}` }} |
| | | </li> |
| | | </ul> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | |
| | | <el-collapse |
| | | v-model="doubleArrowIndex" |
| | | accordion |
| | | v-show="item.plotType == 1" |
| | | > |
| | | <el-collapse v-model="doubleArrowIndex" accordion v-show="item.plotType == 1"> |
| | | <el-collapse-item title="双箭头" :name="sjt"> |
| | | <ul> |
| | | <li |
| | | v-for="(doubleItem, index) in doubleArrowList" |
| | | :key="doubleItem.id" |
| | | @click="carOrPoliceItemClick(doubleItem.position, 'arrow')" |
| | | > |
| | | <li v-for="(doubleItem, index) in doubleArrowList" :key="doubleItem.id" |
| | | @click="carOrPoliceItemClick(doubleItem.position, 'arrow')"> |
| | | {{ doubleItem.remark && doubleItem.remark.trim() != '' ? |
| | | doubleItem.remark : `双箭头${index |
| | | + 1}` }} |
| | | doubleItem.remark : `双箭头${index |
| | | + 1}` }} |
| | | </li> |
| | | </ul> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | <el-collapse |
| | | v-model="fineArrowIndex" |
| | | accordion |
| | | v-show="item.plotType == 1" |
| | | > |
| | | <el-collapse v-model="fineArrowIndex" accordion v-show="item.plotType == 1"> |
| | | <el-collapse-item title="直箭头" :name="zjt"> |
| | | <ul> |
| | | <li |
| | | v-for="(fineItem, index) in fineArrowList" |
| | | :key="fineItem.id" |
| | | @click="carOrPoliceItemClick(fineItem.position, 'arrow')" |
| | | > |
| | | <li v-for="(fineItem, index) in fineArrowList" :key="fineItem.id" |
| | | @click="carOrPoliceItemClick(fineItem.position, 'arrow')"> |
| | | {{ fineItem.remark && fineItem.remark.trim() != '' ? fineItem.remark : |
| | | `直箭头${index + |
| | | 1}` }} |
| | | `直箭头${index + |
| | | 1}` }} |
| | | </li> |
| | | </ul> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | <el-collapse |
| | | v-model="tailedAttackArrowIndex" |
| | | accordion |
| | | v-show="item.plotType == 1" |
| | | > |
| | | <el-collapse v-model="tailedAttackArrowIndex" accordion v-show="item.plotType == 1"> |
| | | <el-collapse-item title="燕尾箭头" :name="ywjt"> |
| | | <ul> |
| | | <li |
| | | v-for="(tailedItem, index) in tailedAttackArrowList" |
| | | <li v-for="(tailedItem, index) in tailedAttackArrowList" |
| | | :key="tailedItem.id" |
| | | @click="carOrPoliceItemClick(tailedItem.position, 'arrow')" |
| | | > |
| | | @click="carOrPoliceItemClick(tailedItem.position, 'arrow')"> |
| | | {{ tailedItem.remark && tailedItem.remark.trim() != '' ? |
| | | tailedItem.remark : `燕尾箭头${index |
| | | + 1}` }} |
| | | tailedItem.remark : `燕尾箭头${index |
| | | + 1}` }} |
| | | </li> |
| | | </ul> |
| | | </el-collapse-item> |
| | |
| | | <el-collapse v-model="polygonArrowIndex" accordion> |
| | | <el-collapse-item title="多边形" :name="dbx"> |
| | | <ul> |
| | | <li |
| | | v-for="(polygonItem, index) in polygonList" |
| | | :key="polygonItem.id" |
| | | @click="carOrPoliceItemClick(polygonItem.position, 'polygon')" |
| | | > |
| | | <li v-for="(polygonItem, index) in polygonList" :key="polygonItem.id" |
| | | @click="carOrPoliceItemClick(polygonItem.position, 'polygon')"> |
| | | {{ polygonItem.remark && polygonItem.remark.trim() != '' ? |
| | | polygonItem.remark : |
| | | `多边形${index + 1}` }} |
| | | polygonItem.remark : |
| | | `多边形${index + 1}` }} |
| | | </li> |
| | | </ul> |
| | | </el-collapse-item> |
| | |
| | | <el-collapse v-model="borkenlineIndex" accordion> |
| | | <el-collapse-item title="折线" :name="dbx"> |
| | | <ul> |
| | | <li |
| | | v-for="(polygonItem, index) in borkenList" |
| | | :key="polygonItem.id" |
| | | @click="carOrPoliceItemClick(polygonItem.position, 'polygon')" |
| | | > |
| | | <li v-for="(polygonItem, index) in borkenList" :key="polygonItem.id" |
| | | @click="carOrPoliceItemClick(polygonItem.position, 'polygon')"> |
| | | {{ polygonItem.remark && polygonItem.remark.trim() != '' ? |
| | | polygonItem.remark : `折线${index |
| | | + 1}` }} |
| | | polygonItem.remark : `折线${index |
| | | + 1}` }} |
| | | </li> |
| | | </ul> |
| | | </el-collapse-item> |
| | |
| | | <el-collapse v-model="activeActivityLineIndex" accordion> |
| | | <el-collapse-item title="巡逻路线" :name="xllx"> |
| | | <ul> |
| | | <li |
| | | v-for="(lineItem, index) in chooseActivityLineList" |
| | | :key="lineItem.id" |
| | | @click="carOrPoliceItemClick(lineItem.polygonPositionStr, 'line')" |
| | | > |
| | | <li v-for="(lineItem, index) in chooseActivityLineList" :key="lineItem.id" |
| | | @click="carOrPoliceItemClick(lineItem.polygonPositionStr, 'line')"> |
| | | {{ lineItem.remark && lineItem.remark.trim() != '' ? lineItem.remark : |
| | | `路线${index + 1}` }} |
| | | `路线${index + 1}` }} |
| | | </li> |
| | | </ul> |
| | | </el-collapse-item> |
| | |
| | | <div v-show="activityList == 0" class="no-data">暂无数据</div> |
| | | </div> |
| | | <div class="pages all-pagination-sty"> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :page-size="pagesize" |
| | | :page-count="pagesCount" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | <el-pagination background layout="prev, pager, next" :page-size="pagesize" :page-count="pagesCount" |
| | | :current-page="currentPage" @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="second-container" :class="{ 'spread': boxShow, 'take-back': !boxShow }"> |
| | | <el-tree |
| | | :data="treeData" |
| | | show-checkbox |
| | | node-key="id" |
| | | @check="treeCheckClick" |
| | | @check-change="treeCheckChange" |
| | | ></el-tree> |
| | | <el-tree :data="treeData" show-checkbox node-key="id" @check="treeCheckClick" |
| | | @check-change="treeCheckChange"></el-tree> |
| | | </div> |
| | | |
| | | <map-search-box></map-search-box> |
| | |
| | | |
| | | export default { |
| | | inject: ['userInfo'], |
| | | |
| | | provide () { |
| | | return { |
| | | activityDeptId: this.activityDeptId |
| | | } |
| | | }, |
| | | |
| | | data () { |
| | | return { |
| | |
| | | pointAreaWidth: 100, |
| | | dataTreeCheckedNodes: [], |
| | | |
| | | currentTreeItem: '' |
| | | currentTreeItem: '', |
| | | activityDeptId: '' |
| | | } |
| | | }, |
| | | |
| | |
| | | .search-box { |
| | | padding: 0 10px; |
| | | |
| | | & > div:first-child { |
| | | &>div:first-child { |
| | | margin-top: 0; |
| | | } |
| | | |
| | | & > div { |
| | | &>div { |
| | | margin-top: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | border-radius: 8px; |
| | | |
| | | .row-content { |
| | | & > div { |
| | | &>div { |
| | | display: flex; |
| | | line-height: 28px; |
| | | |