Compare commits

...

31 Commits

Author SHA1 Message Date
wuhongjian a7ecd774c2 格式修改 2022-10-20 16:20:40 +08:00
wuhongjian 5deb9a3826 Merge branch 'hi-ucs-dev' into release 2022-10-20 16:20:24 +08:00
wuhongjian 1a96e4e6a2 Merge branch 'hi-ucs-dev' of http://192.168.124.50:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-10-20 16:16:44 +08:00
wuhongjian 1f3116f402 开启gzip 2022-10-20 16:15:59 +08:00
guoyue ba5526d7d8 Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-10-20 16:08:12 +08:00
guoyue 33ba30d97f 西海岸:云图视频资源数量 ,前端去掉+4 2022-10-20 16:07:56 +08:00
a0049873 188d9bb85a 流程管理员 2022-10-20 15:03:44 +08:00
a0049873 6a6d1fc473 代码格式 2022-10-20 14:52:43 +08:00
a0049873 04ad7eb6ed BUG修改 2022-10-20 14:51:16 +08:00
a0049873 fe1f6dc08d 新增委托功能 2022-10-20 14:51:02 +08:00
gongjiale 56c4393f2e Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev 2022-10-20 11:24:31 +08:00
gongjiale f541f61409 添加一网通览 2022-10-20 11:24:17 +08:00
a0049873 6b1c3f30a4 排行榜功能开发 2022-10-20 10:09:41 +08:00
a0049873 c6429869a4 BUG修改 2022-10-20 09:38:28 +08:00
unknown a12d0aa6ff 西海岸视频选中bug修改 2022-10-19 17:32:01 +08:00
unknown 02d70b4b8d 西海岸视频地图图标点击切换方式修改 2022-10-19 17:10:48 +08:00
guoyue 4e271b6aa7 合并冲突 2022-10-19 13:55:49 +08:00
guoyue 4d59133942 后台管理-能力统计-明细-添加分页功能 2022-10-19 13:41:02 +08:00
unknown 1a23d64064 Merge branch 'hi-ucs-dev' of http://192.168.124.50:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-10-19 11:50:11 +08:00
unknown 04471a122e ie浏览器提示信息 2022-10-19 11:48:31 +08:00
gongjiale 906a2aad94 Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev 2022-10-19 11:46:47 +08:00
gongjiale b24e925c5a 西海岸问题修改 2022-10-19 11:46:29 +08:00
a0049873 e6a102ce3f 添加隐藏空数据功能 2022-10-19 11:32:09 +08:00
gongjiale 7a0d2ba101 Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev 2022-10-19 10:45:54 +08:00
gongjiale 55398620f0 首页跳转问题修改 2022-10-19 10:45:15 +08:00
guoyue 2af92a6f8f 西海岸-基础设施:在线视频预览,弹出视频窗口,改成鼠标放上后给出tips“请申请后再预览”,弹框标题增加提示信息 2022-10-19 10:20:09 +08:00
a0049873 d3466d4521 调整列表高度 2022-10-18 19:42:57 +08:00
wuhongjian 2258b05184 bug修复 2022-10-18 17:44:46 +08:00
guoyue 3f22be0d8d Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-10-18 15:52:16 +08:00
guoyue cdb47c705b 西海岸:基础设施--获取摄像头增加远雄url 2022-10-18 15:52:07 +08:00
guoyue 2ee2d988cc 西海岸:基础设施左侧树,只有一个父级菜单的时候,默认展开第一级 2022-10-18 15:51:23 +08:00
32 changed files with 2833 additions and 2440 deletions

View File

@ -9,13 +9,14 @@
</el-form> </el-form>
<template slot="footer"> <template slot="footer">
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> <el-button @click="visible = false">{{ $t('cancel') }}</el-button>
<el-button type="primary" @click="entrustTask()">{{ $t('confirm') }}</el-button> <el-button type="primary" @click="entrustTask($store.state.contentTabsActiveName)">{{ $t('confirm') }}</el-button>
</template> </template>
<select-user v-if="selectUserVisible" ref="selectUser" ></select-user> <select-user v-if="selectUserVisible" ref="selectUser" ></select-user>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import bus from '@/views/bus.js'
import SelectUser from './select-user' import SelectUser from './select-user'
import qs from 'qs' import qs from 'qs'
export default { export default {
@ -52,11 +53,11 @@ export default {
init () { init () {
this.visible = true this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['dataForm'].resetFields() this.$refs.dataForm.resetFields()
}) })
}, },
// //
entrustTask () { entrustTask (data) {
if (!this.dataForm.entrustUserId) { if (!this.dataForm.entrustUserId) {
this.$message.error(this.$t('process.entrustError')) this.$message.error(this.$t('process.entrustError'))
return return
@ -65,9 +66,11 @@ export default {
taskId: this.dataForm.taskId, taskId: this.dataForm.taskId,
assignee: this.dataForm.entrustUserId assignee: this.dataForm.entrustUserId
}) })
this.$http['post']('/act/task/entrust', task).then(({ data: res }) => { this.$http.post('/act/task/entrust', task).then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
this.$message.error(res.msg) this.$message.error(res.msg)
this.tabRemoveHandle(data)
bus.$emit('updateTaskNum')
if (this.callbacks.taskHandleErrorCallback) { if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res) this.callbacks.taskHandleErrorCallback(res)
} }
@ -79,6 +82,8 @@ export default {
duration: 500, duration: 500,
onClose: () => { onClose: () => {
this.visible = false this.visible = false
this.tabRemoveHandle(data)
bus.$emit('updateTaskNum')
if (this.callbacks.taskHandleSuccessCallback) { if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res) this.callbacks.taskHandleSuccessCallback(res)
} }
@ -93,6 +98,33 @@ export default {
this.$refs.selectUser.init(this.setUserInfo) this.$refs.selectUser.init(this.setUserInfo)
}) })
}, },
tabRemoveHandle (tabName) {
console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
if (tabName === 'home') {
return false
}
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(
(item) => item.name !== tabName
)
if (this.$store.state.contentTabs.length <= 0) {
this.$store.state.sidebarMenuActiveName =
this.$store.state.contentTabsActiveName = 'home'
return false
}
// tab
if (tabName === this.$store.state.contentTabsActiveName) {
const tab =
this.$store.state.contentTabs[
this.$store.state.contentTabs.length - 1
]
this.$router.push({
name: /^iframe_.+/.test(tab.name) ? 'iframe' : tab.name,
params: { ...tab.params },
query: { ...tab.query }
})
}
},
setUserInfo (userInfo) { setUserInfo (userInfo) {
this.dataForm.entrustUserId = userInfo.id this.dataForm.entrustUserId = userInfo.id
this.dataForm.entrustUserName = userInfo.realName this.dataForm.entrustUserName = userInfo.realName

View File

@ -105,6 +105,7 @@ router.beforeEach((to, from, next) => {
return next({ name: 'login' }) return next({ name: 'login' })
} }
window.SITE_CONFIG.menuList = res.data.filter(item => item.site === 0) window.SITE_CONFIG.menuList = res.data.filter(item => item.site === 0)
debugger
fnAddDynamicMenuRoutes(window.SITE_CONFIG.menuList) fnAddDynamicMenuRoutes(window.SITE_CONFIG.menuList)
next({ ...to, replace: true }) next({ ...to, replace: true })
}).catch(() => { }).catch(() => {
@ -137,6 +138,7 @@ function fnCurrentRouteIsPageRoute (route, pageRoutes = []) {
*/ */
function fnAddDynamicMenuRoutes (menuList = [], routes = []) { function fnAddDynamicMenuRoutes (menuList = [], routes = []) {
var temp = [] var temp = []
debugger
for (var i = 0; i < menuList.length; i++) { for (var i = 0; i < menuList.length; i++) {
if (menuList[i].children && menuList[i].children.length >= 1) { if (menuList[i].children && menuList[i].children.length >= 1) {
temp = temp.concat(menuList[i].children) temp = temp.concat(menuList[i].children)
@ -187,6 +189,7 @@ function fnAddDynamicMenuRoutes (menuList = [], routes = []) {
}, },
{ path: '*', redirect: { name: '404' } } { path: '*', redirect: { name: '404' } }
]) ])
console.log('查询路由', routes)
window.SITE_CONFIG.dynamicMenuRoutes = routes window.SITE_CONFIG.dynamicMenuRoutes = routes
window.SITE_CONFIG.dynamicMenuRoutesHasAdded = true window.SITE_CONFIG.dynamicMenuRoutesHasAdded = true
} }

View File

@ -2,7 +2,7 @@
* @Author: hisense.guoyue * @Author: hisense.guoyue
* @Date: 2022-08-23 10:30:11 * @Date: 2022-08-23 10:30:11
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-10-18 17:42:49 * @LastEditTime: 2022-10-20 16:19:04
* @Description: 判断当前环境是西海岸还是青岛市局 * @Description: 判断当前环境是西海岸还是青岛市局
*/ */
const returnLocationStr = () => { const returnLocationStr = () => {

View File

@ -26,25 +26,14 @@
<!--起始日期 @keyup.enter.native="getDataList()"--> <!--起始日期 @keyup.enter.native="getDataList()"-->
<el-form-item> <el-form-item>
<span>日期</span> <span>日期</span>
<el-date-picker <el-date-picker v-model="value1" type="datetimerange" range-separator="" start-placeholder="开始日期"
v-model="value1" end-placeholder="结束日期" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<!--审核状态--> <!--审核状态-->
<el-form-item > <el-form-item>
<span>审核状态</span> <span>审核状态</span>
<el-select <el-select v-model="examineStatus" placeholder="请选审核状态" clearable>
v-model="examineStatus"
placeholder="请选审核状态"
clearable
>
<el-option label="全部" value="-1"></el-option> <el-option label="全部" value="-1"></el-option>
<el-option label="审核中" value="0"></el-option> <el-option label="审核中" value="0"></el-option>
<el-option label="通过" value="1"></el-option> <el-option label="通过" value="1"></el-option>
@ -58,14 +47,11 @@
<el-select <el-select
v-model="abilityDepartment" v-model="abilityDepartment"
placeholder="请选择部门" placeholder="请选择部门"
filterable
clearable clearable
> >
<el-option label="全部" value=""></el-option> <el-option label="全部" value=""></el-option>
<el-option <el-option v-for="item in departmentSelects" :key="item.label" v-bind="item"></el-option>
v-for="item in departmentSelects"
:key="item.label"
v-bind="item"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -74,13 +60,8 @@
<span>类型</span> <span>类型</span>
<el-select v-model="abilityType" placeholder="请选择类型" clearable> <el-select v-model="abilityType" placeholder="请选择类型" clearable>
<el-option label="全部" value=""></el-option> <el-option label="全部" value=""></el-option>
<el-option <el-option v-for="(item, i) in typeOptions" :key="`${item.name}${i}`" :label="item.name" :value="item.name" v-bind="item">
v-for="item in typeOptions" </el-option>
:key="item.name"
:label="item.name"
:value="item.name"
v-bind="item"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -95,10 +76,7 @@
}}</el-button> }}</el-button>
</el-form-item> </el-form-item>
<!-- 导出 --> <!-- 导出 -->
<a class='export' :href="exportExcel+exportExcelType+'?'+exportExcelCondition+'&token='+token">导出</a> <a class='export' :href="exportExcel+exportExcelType+'?'+exportExcelCondition+'&token='+token">导出全部</a>
<!-- <el-form-item>
<el-button type="primary" @click="exportExcel()">导出</el-button>
</el-form-item> -->
</el-form> </el-form>
<el-card shadow="never" class="aui-card--fill" v-if="homeIsShow"> <el-card shadow="never" class="aui-card--fill" v-if="homeIsShow">
<div class="mod-demand__bsdemand"> <div class="mod-demand__bsdemand">
@ -112,25 +90,18 @@
</div> --> </div> -->
<div class="second-title"> <div class="second-title">
<span <span style="margin-right: 30px" :class="[
style="margin-right: 30px"
:class="[
departmentId === 1 || departmentId === 3 departmentId === 1 || departmentId === 3
? 'departmentStyle' ? 'departmentStyle'
: '' : ''
]" ]" @click="handleChose(3)">
@click="handleChose(3)"
>
能力上架统计 能力上架统计
</span> </span>
<span <span :class="[
:class="[
departmentId === 2 || departmentId === 4 departmentId === 2 || departmentId === 4
? 'departmentStyle' ? 'departmentStyle'
: '' : ''
]" ]" @click="handleChose(4)">
@click="handleChose(4)"
>
能力使用统计 能力使用统计
</span> </span>
<!-- <span v-if='this.choseId===0' :class="[departmentId===3?'departmentStyle':'']" @click="handleChose(3)"> <!-- <span v-if='this.choseId===0' :class="[departmentId===3?'departmentStyle':'']" @click="handleChose(3)">
@ -139,21 +110,18 @@
<span v-if='this.choseId===0' :class="[departmentId===4?'departmentStyle':'']" @click="handleChose(4)"> <span v-if='this.choseId===0' :class="[departmentId===4?'departmentStyle':'']" @click="handleChose(4)">
能力使用明细 能力使用明细
</span> --> </span> -->
<span v-if="detailFlag" class="detail-button" @click="goToDetail()"> <template v-if="detailFlag">
<el-checkbox v-model="checked" @change='chagneCheckbox' style="position: absolute;right: 150px;margin-top: -15px;">隐藏空数据</el-checkbox>
<span class="detail-button" @click="goToDetail()">
明细 明细
</span> </span>
</template>
<span v-else class="detail-button" @click="goToBack()"> 返回 </span> <span v-else class="detail-button" @click="goToBack()"> 返回 </span>
</div> </div>
<div class="line-style"></div> <div class="line-style"></div>
<!--统计表--> <!--统计表-->
<el-table <el-table :data="tableData" :header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"
:data="tableData" border style="width: 100%" v-show="this.departmentId === 1">
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
border
style="width: 100%"
v-show="this.departmentId === 1"
>
<el-table-column prop="name" label="上架部门" min-width="100%"> <el-table-column prop="name" label="上架部门" min-width="100%">
</el-table-column> </el-table-column>
<el-table-column label="组件"> <el-table-column label="组件">
@ -161,17 +129,9 @@
</el-table-column> </el-table-column>
<el-table-column prop="tcfw" label="图层服务" min-width="100%"> <el-table-column prop="tcfw" label="图层服务" min-width="100%">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="kfzj" label="通用开发组件" min-width="100%">
prop="kfzj"
label="通用开发组件"
min-width="100%"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="ywzj" label="业务能力组件" min-width="100%">
prop="ywzj"
label="业务能力组件"
min-width="100%"
>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column prop="yyzy" label="应用资源" min-width="100%"> <el-table-column prop="yyzy" label="应用资源" min-width="100%">
@ -179,14 +139,8 @@
<el-table-column prop="zj" label="总计" min-width="100%"> <el-table-column prop="zj" label="总计" min-width="100%">
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table <el-table :data="tableData" :header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"
:data="tableData" border style="width: 100%" v-show="this.departmentId === 2">
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
border
style="width: 100%"
v-show="this.departmentId === 2"
>
<el-table-column prop="name" label="申请部门" min-width="100%"> <el-table-column prop="name" label="申请部门" min-width="100%">
</el-table-column> </el-table-column>
<el-table-column label="组件"> <el-table-column label="组件">
@ -194,17 +148,9 @@
</el-table-column> </el-table-column>
<el-table-column prop="tcfw" label="图层服务" min-width="100%"> <el-table-column prop="tcfw" label="图层服务" min-width="100%">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="kfzj" label="通用开发组件" min-width="100%">
prop="kfzj"
label="通用开发组件"
min-width="100%"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="ywzj" label="业务能力组件" min-width="100%">
prop="ywzj"
label="业务能力组件"
min-width="100%"
>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column prop="yyzy" label="应用资源" min-width="100%"> <el-table-column prop="yyzy" label="应用资源" min-width="100%">
@ -218,6 +164,8 @@
<el-table <el-table
:data="tableData" :data="tableData"
:header-cell-style="{ textAlign: 'center',height:'96px' }"
:cell-style="{ textAlign: 'center' }"
style="width: 100%" style="width: 100%"
v-show="this.departmentId === 3 || this.departmentId === 4" v-show="this.departmentId === 3 || this.departmentId === 4"
> >
@ -234,46 +182,29 @@
<el-table-column prop="approveStatus" label="状态" min-width="100%"> <el-table-column prop="approveStatus" label="状态" min-width="100%">
</el-table-column> </el-table-column>
<el-table-column label="操作" min-width="100%"> <el-table-column label="操作" min-width="100%">
<template slot-scope="scope" > <template slot-scope="scope">
<el-link type="primary" v-if="scope.row.applyNumber" v-on:click="detailClick(scope.row)">查看详情</el-link> <el-link type="primary" v-if="scope.row.applyNumber" v-on:click="detailClick(scope.row)">查看详情</el-link>
<el-link type="info" v-else disabled>后台挂接无详情</el-link> <el-link type="info" v-else disabled>后台挂接无详情</el-link>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- <div class="block"> <div class="block">
<el-pagination <el-pagination @current-change="handleCurrentChange" layout="total, prev, pager, next, jumper"
@current-change="handleCurrentChange" :total="total" :page-size="pageSize" :current-page="currentPage">
layout="total, prev, pager, next, jumper"
:total="total"
:page-size="5"
:current-page="currentPage"
>
</el-pagination> </el-pagination>
</div> --> </div>
</div> </div>
</el-card> </el-card>
</div> </div>
<component-used <component-used v-if="UsedIsShow" :tableId="tableId" :fatherId="fatherId" @closeChild2="closeChild2">
v-if="UsedIsShow" </component-used>
:tableId="tableId" <component-services v-if="servicesIsShow" :tableId="tableId" :fatherId="fatherId" @closeChild="closeChild">
:fatherId="fatherId" </component-services>
@closeChild2="closeChild2" <application-resources v-if="resourcesIsShow" :tableId="tableId" :fatherId="fatherId"
></component-used> @closeApplication="closeApplication"></application-resources>
<component-services <ability-detail v-if="detailsVisible" :detailsVisible="detailsVisible" :detailParamss="detailParamss"
v-if="servicesIsShow" :detailType="detailType" @closeModal="closeModal">
:tableId="tableId" </ability-detail>
:fatherId="fatherId"
@closeChild="closeChild"
></component-services>
<application-resources
v-if="resourcesIsShow"
:tableId="tableId"
:fatherId="fatherId"
@closeApplication="closeApplication"
></application-resources>
<ability-detail v-if="detailsVisible"
:detailsVisible="detailsVisible" :detailParamss="detailParamss" :detailType="detailType" @closeModal="closeModal">
</ability-detail>
</div> </div>
</template> </template>
@ -284,7 +215,8 @@ import AbilityDetail from './components/abilityDetails'
import applicationResources from './applicationResources.vue' import applicationResources from './applicationResources.vue'
import ComponentUsed from './componentUsed.vue' import ComponentUsed from './componentUsed.vue'
import qs from 'qs' import qs from 'qs'
import { mapState } from 'vuex' import Template from '../devtools/template.vue'
// import { mapState } from 'vuex'
// const props = defineProps({ // const props = defineProps({
// processDefinitionName: { type: String, default: null }, // processDefinitionName: { type: String, default: null },
// businessKey: { type: String, default: null }, // businessKey: { type: String, default: null },
@ -294,9 +226,11 @@ import { mapState } from 'vuex'
// showType: { type: String, default: null }, // showType: { type: String, default: null },
// }) // })
export default { export default {
components: { componentServices, applicationResources, ComponentUsed, AbilityDetail }, components: { componentServices, applicationResources, ComponentUsed, AbilityDetail, Template },
data () { data () {
return { return {
checked: false,
departmentSelects: [],
exportExcel: CONFIGITEM.configData[CONFIGITEM.version].apiURL + '/census/center/export', exportExcel: CONFIGITEM.configData[CONFIGITEM.version].apiURL + '/census/center/export',
exportExcelCondition: '', exportExcelCondition: '',
exportExcelType: '', exportExcelType: '',
@ -373,6 +307,7 @@ export default {
choseId: 0, choseId: 0,
departmentId: 1, departmentId: 1,
currentPage: 1, currentPage: 1,
pageSize: 10,
homeIsShow: true, homeIsShow: true,
servicesIsShow: false, servicesIsShow: false,
resourcesIsShow: false, resourcesIsShow: false,
@ -387,6 +322,7 @@ export default {
{ name: '会议室', value: 6 } { name: '会议室', value: 6 }
], ],
tableData: [], tableData: [],
tableDataClone: [],
tableData2: [ tableData2: [
{ {
approveStatus: '', approveStatus: '',
@ -417,6 +353,13 @@ export default {
} }
}, },
created () { created () {
this.$http.get('/sys/dept/all').then(res => {
// console.log('=========>', res)
this.departmentSelects = []
res.data.data.map(val => {
this.departmentSelects.push({ label: val.name, value: val.id })
})
})
// //
// const d = new Date() // const d = new Date()
// let year1, month1, day1 // let year1, month1, day1
@ -442,18 +385,37 @@ export default {
} }
}, },
computed: { computed: {
...mapState(['departmentSelects']) // ...mapState(['departmentSelects'])
}, },
methods: { methods: {
chagneCheckbox () {
if (this.checked) {
this.tableData = this.tableDataClone.filter(val => val.count !== 0)
this.total = this.tableData.length
} else {
this.tableData = this.tableDataClone
this.total = this.tableData.length
}
},
closeModal () { closeModal () {
this.detailsVisible = false this.detailsVisible = false
}, },
handleCurrentChange (val) { handleCurrentChange (val) {
if (this.choseId === 0) { console.log('val------------>', val)
this.getFirstTree(val) this.currentPage = val
} else if (this.choseId === 1) { // todo
this.getReleaseTree(val) if (this.departmentId === 3) {
this.getOneDetail(val)
} }
if (this.departmentId === 4) {
this.getTwoDetail(val)
}
// if (this.choseId === 0) {
// this.getFirstTree(val)
// } else if (this.choseId === 1) {
// this.getReleaseTree(val)
// }
}, },
getTreeName (data) { getTreeName (data) {
this.$http this.$http
@ -539,6 +501,7 @@ export default {
parseInt(result[i].hys) parseInt(result[i].hys)
} }
this.tableData = res.data.data this.tableData = res.data.data
this.tableDataClone = res.data.data
this.total = res.data.data.total this.total = res.data.data.total
this.exportExcelCondition = qs.stringify({ this.exportExcelCondition = qs.stringify({
approveStatus: this.status, approveStatus: this.status,
@ -549,7 +512,7 @@ export default {
}) })
}, },
// 使-使 // 使-使
getSecondTree () { getSecondTree (page) {
if (this.examineStatus == '-1') { if (this.examineStatus == '-1') {
this.status = '' this.status = ''
} else if (this.examineStatus == '0') { } else if (this.examineStatus == '0') {
@ -564,8 +527,8 @@ export default {
this.$http this.$http
.get('/census/center/selectApplyDeptDetailTypeCountList', { .get('/census/center/selectApplyDeptDetailTypeCountList', {
params: { params: {
// page: page || 1, page: page || 1,
// limit: 5, limit: this.pageSize,
approveStatus: this.status, approveStatus: this.status,
deptId: this.abilityDepartment, deptId: this.abilityDepartment,
params: '', params: '',
@ -603,6 +566,7 @@ export default {
parseInt(result[i].hys) parseInt(result[i].hys)
} }
this.tableData = res.data.data this.tableData = res.data.data
this.tableDataClone = res.data.data
this.total = res.data.data.total this.total = res.data.data.total
this.exportExcelCondition = qs.stringify({ this.exportExcelCondition = qs.stringify({
approveStatus: this.status, approveStatus: this.status,
@ -654,7 +618,7 @@ export default {
}) })
} }
}, },
// //
getOneDetail (page) { getOneDetail (page) {
var passAndReview = '' // "" var passAndReview = '' // ""
if (this.examineStatus == '-1') { if (this.examineStatus == '-1') {
@ -671,8 +635,8 @@ export default {
this.$http this.$http
.get('/census/center/selectCensusResourceTable', { .get('/census/center/selectCensusResourceTable', {
params: { params: {
// limit: 5, limit: this.pageSize,
// page: page || 1, page: this.currentPage,
approveStatus: this.status, approveStatus: this.status,
deptId: this.abilityDepartment, deptId: this.abilityDepartment,
type: this.abilityType, type: this.abilityType,
@ -682,7 +646,8 @@ export default {
}) })
.then((res) => { .then((res) => {
console.log('111111', this.tableData, res.data.data) console.log('111111', this.tableData, res.data.data)
this.tableData = res.data.data this.tableData = res.data.data.list
this.tableDataClone = res.data.data.list
this.total = res.data.data.total this.total = res.data.data.total
this.exportExcelCondition = qs.stringify({ this.exportExcelCondition = qs.stringify({
approveStatus: this.status, approveStatus: this.status,
@ -692,7 +657,7 @@ export default {
}) })
}) })
}, },
// 使 // 使 使
getTwoDetail (page) { getTwoDetail (page) {
var passAndReview = '' // "" var passAndReview = '' // ""
if (this.examineStatus == '-1') { if (this.examineStatus == '-1') {
@ -709,8 +674,8 @@ export default {
this.$http this.$http
.get('/census/center/selectCensusApplyTable', { .get('/census/center/selectCensusApplyTable', {
params: { params: {
// limit: 5, limit: this.pageSize,
// page: page || 1, page: this.currentPage,
approveStatus: this.status, approveStatus: this.status,
deptId: this.abilityDepartment, deptId: this.abilityDepartment,
type: this.abilityType, type: this.abilityType,
@ -719,7 +684,8 @@ export default {
} }
}) })
.then((res) => { .then((res) => {
this.tableData = res.data.data this.tableData = res.data.data.list
this.tableDataClone = res.data.data.list
this.total = res.data.data.total this.total = res.data.data.total
this.exportExcelCondition = qs.stringify({ this.exportExcelCondition = qs.stringify({
approveStatus: this.status, approveStatus: this.status,
@ -827,6 +793,7 @@ export default {
// }, // },
// or使 // or使
handleChose (index) { handleChose (index) {
this.checked = false
this.departmentId = index this.departmentId = index
if (index === 1) { if (index === 1) {
if (this.choseId === 0) { if (this.choseId === 0) {
@ -899,6 +866,7 @@ export default {
}, },
// //
goToBack () { goToBack () {
this.checked = false
// departmentId 13 24 // departmentId 13 24
this.detailFlag = !this.detailFlag this.detailFlag = !this.detailFlag
if (this.departmentId === 3) { if (this.departmentId === 3) {
@ -1019,6 +987,7 @@ export default {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.container-left { .container-left {
width: 250px; width: 250px;
height: 1000px; height: 1000px;
@ -1026,11 +995,13 @@ export default {
// background-color: #ffffff; // background-color: #ffffff;
margin-right: 10px; margin-right: 10px;
} }
.left-search { .left-search {
width: 250px; width: 250px;
height: 76px; height: 76px;
background-color: #ffffff; background-color: #ffffff;
} }
.input-style { .input-style {
width: 210px; width: 210px;
height: 36px; height: 36px;
@ -1040,11 +1011,13 @@ export default {
border: 1px solid transparent; border: 1px solid transparent;
background-color: #f2f4fa; background-color: #f2f4fa;
} }
input::placeholder { input::placeholder {
font-weight: 400; font-weight: 400;
font-size: 14px; font-size: 14px;
color: #b0b3ca; color: #b0b3ca;
} }
.input-search { .input-search {
width: 44px; width: 44px;
height: 30px; height: 30px;
@ -1054,10 +1027,12 @@ input::placeholder {
top: 38px; top: 38px;
left: 196px; left: 196px;
} }
::v-deep.tree-style { ::v-deep.tree-style {
.el-tree-node__label { .el-tree-node__label {
font-size: 16px; font-size: 16px;
} }
.el-tree-node__content { .el-tree-node__content {
width: 240px; width: 240px;
overflow: hidden; overflow: hidden;
@ -1073,6 +1048,7 @@ input::placeholder {
background-color: #fafafc; background-color: #fafafc;
display: inline-block; display: inline-block;
} }
.title { .title {
display: flex; display: flex;
font-size: 20px; font-size: 20px;
@ -1081,10 +1057,12 @@ input::placeholder {
padding-left: 15px; padding-left: 15px;
padding-top: 10px; padding-top: 10px;
} }
.title-list-style { .title-list-style {
display: flex; display: flex;
margin-top: 10px; margin-top: 10px;
} }
.title-single { .title-single {
font-size: 14px; font-size: 14px;
width: 90px; width: 90px;
@ -1095,6 +1073,7 @@ input::placeholder {
border-radius: 12px; border-radius: 12px;
cursor: pointer; cursor: pointer;
} }
.box-style { .box-style {
width: 90px; width: 90px;
height: 24px; height: 24px;
@ -1103,11 +1082,13 @@ input::placeholder {
align-items: center; align-items: center;
padding-bottom: 2px; padding-bottom: 2px;
} }
.second-title { .second-title {
margin-top: 20px; margin-top: 20px;
font-size: 14px; font-size: 14px;
color: #979eb9; color: #979eb9;
cursor: pointer; cursor: pointer;
.detail-button { .detail-button {
width: 60px; width: 60px;
height: 30px; height: 30px;
@ -1121,6 +1102,7 @@ input::placeholder {
color: #fff; color: #fff;
} }
} }
.line-style { .line-style {
width: 100%; width: 100%;
height: 1px; height: 1px;
@ -1128,23 +1110,28 @@ input::placeholder {
margin-top: 15px; margin-top: 15px;
margin-bottom: 15px; margin-bottom: 15px;
} }
.aui-card--fill { .aui-card--fill {
width: 100% !important; width: 100% !important;
padding: 0px !important; padding: 0px !important;
} }
.choseStyle { .choseStyle {
color: #526aff; color: #526aff;
border: 1px solid #526aff; border: 1px solid #526aff;
} }
.departmentStyle { .departmentStyle {
color: #526aff; color: #526aff;
} }
::v-deep .tree-text-styleJ { ::v-deep .tree-text-styleJ {
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
word-break: break-all; word-break: break-all;
} }
.export { .export {
display: inline-block; display: inline-block;
width: 70px; width: 70px;
@ -1156,18 +1143,21 @@ input::placeholder {
border: 1px solid #dcdfe6; border: 1px solid #dcdfe6;
color: #000; color: #000;
} }
.export:hover { .export:hover {
border-color: #c5ddfd; border-color: #c5ddfd;
background-color: #ecf4fe; background-color: #ecf4fe;
color: #0058e1; color: #0058e1;
text-decoration: none; text-decoration: none;
} }
.export:active { .export:active {
border-color: #c5ddfd; border-color: #c5ddfd;
background-color: #ecf4fe; background-color: #ecf4fe;
color: #0058e1; color: #0058e1;
text-decoration: none; text-decoration: none;
} }
.export:visited { .export:visited {
color: #fff; color: #fff;
text-decoration: none; text-decoration: none;

View File

@ -74,31 +74,31 @@
</template> </template>
<script> <script>
import * as moment from 'moment'; import * as moment from 'moment'
export default { export default {
data() { data () {
return { return {
// //
detailInfo: {}, detailInfo: {},
dataList: [], dataList: []
} }
}, },
created() { created () {
this.detailInfo = this.$route.params.params || {}; this.detailInfo = this.$route.params.params || {}
console.log('this.detailInfo------------>', this.detailInfo); console.log('this.detailInfo------------>', this.detailInfo)
// //
let durationInSeconds = '' let durationInSeconds = ''
if (this.detailInfo.auditTime && this.detailInfo.auditTime) { if (this.detailInfo.auditTime && this.detailInfo.auditTime) {
durationInSeconds = moment(this.detailInfo.auditTime).diff(moment(this.detailInfo.createDate), 'seconds') durationInSeconds = moment(this.detailInfo.auditTime).diff(moment(this.detailInfo.createDate), 'seconds')
} }
let _obj = { const _obj = {
activityName: this.detailInfo.title || '', activityName: this.detailInfo.title || '',
assigneeName: this.detailInfo.auditorName || '', assigneeName: this.detailInfo.auditorName || '',
startTime: this.detailInfo.createDate || '', startTime: this.detailInfo.createDate || '',
endTime: this.detailInfo.auditTime, endTime: this.detailInfo.auditTime,
comment: this.detailInfo.auditViem, comment: this.detailInfo.auditViem,
durationInSeconds: durationInSeconds, durationInSeconds: durationInSeconds
} }
this.dataList.push(_obj) this.dataList.push(_obj)
} }
@ -242,7 +242,7 @@ export default {
} }
} }
::v-deep .agreeOr>div { ::v-deep .agreeOr > div {
display: flex; display: flex;
align-items: center; align-items: center;
@ -252,7 +252,7 @@ export default {
} }
} }
::v-deep .agreeOr>div:last-of-type { ::v-deep .agreeOr > div:last-of-type {
margin-top: 15px; margin-top: 15px;
} }
@ -268,7 +268,7 @@ export default {
border: 1px solid #0558e1; border: 1px solid #0558e1;
} }
::v-deep .el-radio-button__orig-radio:checked+.el-radio-button__inner { ::v-deep .el-radio-button__orig-radio:checked + .el-radio-button__inner {
box-shadow: unset !important; box-shadow: unset !important;
background: #0558e1; background: #0558e1;
color: #ffffff; color: #ffffff;
@ -301,7 +301,7 @@ export default {
margin-left: 10px; margin-left: 10px;
} }
::v-deep .el-radio-button__orig-radio:checked+.el-radio-button__inner { ::v-deep .el-radio-button__orig-radio:checked + .el-radio-button__inner {
box-shadow: unset !important; box-shadow: unset !important;
color: #ffffff; color: #ffffff;
background: #e83a48; background: #e83a48;
@ -316,4 +316,3 @@ export default {
padding-right: 10px; padding-right: 10px;
} }
</style> </style>

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-27 11:27:22 * @Date: 2022-06-27 11:27:22
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-08-23 10:37:29 * @LastEditTime: 2022-10-19 11:10:50
* @Description: 能力申请 * @Description: 能力申请
--> -->
<template> <template>
@ -168,7 +168,7 @@ export default {
created () { created () {
bus.$off('competencyApplicationInit') bus.$off('competencyApplicationInit')
bus.$on('competencyApplicationInit', () => { bus.$on('competencyApplicationInit', () => {
this.getDataList(); this.getDataList()
bus.$emit('updateTaskNum') bus.$emit('updateTaskNum')
}) })
} }

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Author: hisense.guoyue * @Author: hisense.guoyue
* @LastEditors: hisense.guoyue * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-09-21 10:37:29 * @LastEditTime: 2022-10-20 16:19:48
* @Description: 设备审批 * @Description: 设备审批
--> -->
<template> <template>
@ -78,7 +78,7 @@ import mixinViewModule from '@/mixins/view-module'
import processModule from '@/mixins/process-module' import processModule from '@/mixins/process-module'
export default { export default {
mixins: [mixinViewModule, processModule], mixins: [mixinViewModule, processModule],
data() { data () {
return { return {
mixinViewModuleOptions: { mixinViewModuleOptions: {
getDataListURL: '/deviceApply/auditPage', getDataListURL: '/deviceApply/auditPage',
@ -104,22 +104,22 @@ export default {
} }
}, },
methods: { methods: {
taskHandle(row) { taskHandle (row) {
this.form.auditViem = ''; this.form.auditViem = ''
this.rowData = row; this.rowData = row
this.centerDialogVisible = true this.centerDialogVisible = true
}, },
through(state) { through (state) {
// 2- 3- // 2- 3-
this.handlePut(state) this.handlePut(state)
}, },
handlePut(state) { handlePut (state) {
this.$http.put(`/deviceApply`, { this.$http.put('/deviceApply', {
...this.rowData, ...this.rowData,
state: state, state: state,
...this.form ...this.form
}).then(({ data: res }) => { }).then(({ data: res }) => {
console.log('res------------>', res); console.log('res------------>', res)
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
@ -133,10 +133,10 @@ export default {
} }
}) })
}).catch((err) => { }).catch((err) => {
console.log('err------------>', err); console.log('err------------>', err)
}) })
} }
}, }
} }
</script> </script>
<style scoped> <style scoped>
@ -154,4 +154,3 @@ export default {
width: 400px; width: 400px;
} }
</style> </style>

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-29 15:59:51 * @Date: 2022-06-29 15:59:51
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-08-04 14:34:45 * @LastEditTime: 2022-10-20 16:16:16
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<!-- 流程业务表单 --> <!-- 流程业务表单 -->
@ -93,6 +93,8 @@
<el-radio-button label="同意" class="blueAll" @click="showDialog('同意')">同意</el-radio-button> <el-radio-button label="同意" class="blueAll" @click="showDialog('同意')">同意</el-radio-button>
<el-radio-button label="退回" class="redAll" @click="showDialog('退回')">退回</el-radio-button> <el-radio-button label="退回" class="redAll" @click="showDialog('退回')">退回</el-radio-button>
</el-radio-group> --> </el-radio-group> -->
<!-- 委托 -->
<el-button type="info" @click="entrustTask()" v-if='taskEntrustFlag'>{{ $t('process.entrustTask') }}</el-button>
<el-button type="primary" @click="showDialog('同意')">同意</el-button> <el-button type="primary" @click="showDialog('同意')">同意</el-button>
<el-button type="danger" plain @click="showDialog('驳回')">驳回</el-button> <el-button type="danger" plain @click="showDialog('驳回')">驳回</el-button>
<!-- <el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input> <!-- <el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input>
@ -101,6 +103,7 @@
</div> </div>
</div> </div>
<ren-task-entrust v-if="renTaskEntrustVisible" ref="renTaskEntrust"></ren-task-entrust>
<!-- 流程详情 --> <!-- 流程详情 -->
<ren-process-detail></ren-process-detail> <ren-process-detail></ren-process-detail>
<el-dialog title="审批意见" :close-on-click-modal="false" :visible.sync="dialogVisible" width="30%" <el-dialog title="审批意见" :close-on-click-modal="false" :visible.sync="dialogVisible" width="30%"
@ -116,6 +119,7 @@
<script> <script>
// //
import RenTaskEntrust from '@/components/ren-process-running/src/ren-task-entrust'
import processModule from '@/mixins/process-module' import processModule from '@/mixins/process-module'
// import mixinViewModule from '@/mixins/view-module' // import mixinViewModule from '@/mixins/view-module'
import debounce from 'lodash/debounce' import debounce from 'lodash/debounce'
@ -125,9 +129,11 @@ import bus from '@/views/bus.js'
export default { export default {
// //
mixins: [processModule], mixins: [processModule],
data() { data () {
return { return {
taskEntrustFlag: false,
dialogVisible: false, dialogVisible: false,
renTaskEntrustVisible: false,
dialogType: '', dialogType: '',
input: '', input: '',
visible: true, visible: true,
@ -154,7 +160,17 @@ export default {
agreeOrList: '同意' agreeOrList: '同意'
} }
}, },
created() { created () {
//
this.$http.get('/sys/user/info').then(({ data: res }) => {
res.data.roleIdList.map(val => {
this.$http.get('/sys/role/' + val).then(role => {
if (role.data.data.name === '流程管理员') {
this.taskEntrustFlag = true
}
})
})
})
// KEY // KEY
console.log('params=================>', this.$route, this.$route.params) console.log('params=================>', this.$route, this.$route.params)
this.dataForm.taskId = this.$route.params.taskId this.dataForm.taskId = this.$route.params.taskId
@ -185,10 +201,11 @@ export default {
// } // }
}, },
components: { components: {
RenProcessDetail RenProcessDetail,
RenTaskEntrust
}, },
methods: { methods: {
init() { init () {
// this.visible = true // this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
// this.$refs.dataForm.resetFields() // this.$refs.dataForm.resetFields()
@ -200,11 +217,19 @@ export default {
} }
}) })
}, },
showDialog(title) { entrustTask () {
this.renTaskEntrustVisible = true
this.$nextTick(() => {
this.$refs.renTaskEntrust.dataForm.taskId = this.dataForm.taskId
this.$refs.renTaskEntrust.callbacks = this.callbacks
this.$refs.renTaskEntrust.init()
})
},
showDialog (title) {
this.dialogVisible = true this.dialogVisible = true
this.dialogType = title this.dialogType = title
}, },
handleClose(done) { handleClose (done) {
this.$confirm('确认关闭?') this.$confirm('确认关闭?')
.then((_) => { .then((_) => {
this.input = '' this.input = ''
@ -212,11 +237,11 @@ export default {
}) })
.catch((_) => { }) .catch((_) => { })
}, },
handleClose2() { handleClose2 () {
this.dialogVisible = false this.dialogVisible = false
this.input = '' this.input = ''
}, },
downloadFile2(url) { downloadFile2 (url) {
console.log(window.SITE_CONFIG.previewUrl) console.log(window.SITE_CONFIG.previewUrl)
window.open( window.open(
window.SITE_CONFIG.previewUrl + window.SITE_CONFIG.previewUrl +
@ -225,7 +250,7 @@ export default {
) )
}, },
// //
getInfo() { getInfo () {
let params = '' let params = ''
if (this.dataForm.taskId) { if (this.dataForm.taskId) {
params = `taskId=${this.dataForm.taskId}` params = `taskId=${this.dataForm.taskId}`
@ -344,7 +369,7 @@ export default {
} }
}, },
// //
applyData() { applyData () {
this.$http this.$http
.get(`/resource/select/${this.dataForm.instanceId}`) .get(`/resource/select/${this.dataForm.instanceId}`)
.then(({ data: res }) => { .then(({ data: res }) => {
@ -436,7 +461,7 @@ export default {
1000, 1000,
{ leading: true, trailing: false } { leading: true, trailing: false }
), ),
tabRemoveHandle(tabName) { tabRemoveHandle (tabName) {
console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa') console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
if (tabName === 'home') { if (tabName === 'home') {
return false return false
@ -463,19 +488,19 @@ export default {
} }
}, },
// //
startProcessErrorCallback(data) { startProcessErrorCallback (data) {
console.log(data) console.log(data)
}, },
// //
taskHandleErrorCallback(data) { }, taskHandleErrorCallback (data) { },
download(data) { download (data) {
const alink = document.createElement('a') const alink = document.createElement('a')
alink.download = '附件' // ,,IE10 alink.download = '附件' // ,,IE10
alink.href = data.attachment // url alink.href = data.attachment // url
alink.click() // alink.click() //
}
}, },
}, mounted () {
mounted() {
// this.applyData() // this.applyData()
} }
} }
@ -618,7 +643,7 @@ export default {
} }
} }
::v-deep .agreeOr>div { ::v-deep .agreeOr > div {
display: flex; display: flex;
align-items: center; align-items: center;
@ -628,7 +653,7 @@ export default {
} }
} }
::v-deep .agreeOr>div:last-of-type { ::v-deep .agreeOr > div:last-of-type {
margin-top: 15px; margin-top: 15px;
} }
@ -644,7 +669,7 @@ export default {
border: 1px solid #0558e1; border: 1px solid #0558e1;
} }
::v-deep .el-radio-button__orig-radio:checked+.el-radio-button__inner { ::v-deep .el-radio-button__orig-radio:checked + .el-radio-button__inner {
box-shadow: unset !important; box-shadow: unset !important;
background: #0558e1; background: #0558e1;
color: #ffffff; color: #ffffff;
@ -677,7 +702,7 @@ export default {
margin-left: 10px; margin-left: 10px;
} }
::v-deep .el-radio-button__orig-radio:checked+.el-radio-button__inner { ::v-deep .el-radio-button__orig-radio:checked + .el-radio-button__inner {
box-shadow: unset !important; box-shadow: unset !important;
color: #ffffff; color: #ffffff;
background: #e83a48; background: #e83a48;

View File

@ -60,6 +60,7 @@
"body-parser": "^1.20.0", "body-parser": "^1.20.0",
"chalk": "^4.1.1", "chalk": "^4.1.1",
"chokidar": "^3.5.2", "chokidar": "^3.5.2",
"compression-webpack-plugin": "^6.1.1",
"crypto-js": "^4.1.1", "crypto-js": "^4.1.1",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-plugin-prettier": "^4.2.1", "eslint-plugin-prettier": "^4.2.1",

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-03-29 16:45:25 * @Date: 2022-03-29 16:45:25
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-08-29 09:55:26 * @LastEditTime: 2022-10-20 16:19:00
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<!DOCTYPE html> <!DOCTYPE html>

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2020-07-07 16:03:23 * @Date: 2020-07-07 16:03:23
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-10-14 11:23:47 * @LastEditTime: 2022-10-20 16:20:17
* @Description: 系统静态参数配置 * @Description: 系统静态参数配置
*/ */
var _global = {} var _global = {}
@ -27,7 +27,8 @@ var CONFIGITEM = {
previewUrl: 'http://15.72.183.90:7008/', previewUrl: 'http://15.72.183.90:7008/',
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/', //frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
//apiURL: 'http://15.72.183.90:8000/renren-admin', //apiURL: 'http://15.72.183.90:8000/renren-admin',
websocketURL: '15.72.183.90:8000/renren-admin', // websocketURL: '15.72.183.90:8000/renren-admin',
// websocketURL: '192.168.124.233:8888/renren-admin',
POI_URL: POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address', 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
}, },
@ -61,8 +62,9 @@ var CONFIGITEM = {
}, },
// //
camreaInfo: { camreaInfo: {
// cameraUrl: '10.134.135.92:9537', // // cameraUrl: '10.134.135.92:9537', // 西-
cameraUrl: '10.134.135.9:9537', // // cameraUrl: '10.134.135.9:9537', // 西-
cameraUrl: '192.168.124.236:9537', // vpn
}, },
backUrl: 'http://10.134.135.9:9797', backUrl: 'http://10.134.135.9:9797',
previewUrl: 'http://10.134.135.9:9796/', previewUrl: 'http://10.134.135.9:9796/',

View File

@ -13,14 +13,13 @@
} }
.model-container { .model-container {
width: 360px; width: 446px;
height: 150px; height: 194px;
background: #fff; background: #fff;
border-radius: 10px;
/* box-shadow: 0px 0px 12px 4px #ff3; */
text-align: center; text-align: center;
font-size: 18px; font-size: 18px;
color: #333; color: #707070;
font-family: 'Alibaba PuHuiTi';
position: absolute; position: absolute;
top: 50%; top: 50%;
left: 50%; left: 50%;
@ -33,7 +32,32 @@
} }
.model-container .model-title { .model-container .model-title {
font-size: 16px; height: 40px;
padding-left: 24px;
padding-right: 24px;
padding-top: 10px;
background: #007fff;
text-align: left;
}
.model-container .title-span {
font-family: 'Alibaba PuHuiTi';
font-size: 18px !important;
color: #ffffff;
}
.model-container .model-close {
position: absolute;
right: 20px;
top: 10px;
width: 18px;
height: 18px;
cursor: pointer;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABHNCSVQICAgIfAhkiAAAALZJREFUOE9jZACC////ZwIpcyBOZGRk/A8SIwSAehqAatiB6itBahmBAhVAuh2qcRGQTiBkGNSQeqie6UA6G2QQyGSYIEgOr2E41UO9RpRh+CxlhIUFIZcRkocbhM9lUK/j9T6KQTgMuwgU10eKRaxhiGEQDsNg5uCMCKwGQQ07AKTtkVxyF8hWxZU0aOciLLFDehjhimKSYo1QOiEkDw4jQoqISbTUy2tUy/1Qr1FeHiElOIqYAKkPngur14nOAAAAAElFTkSuQmCC);
}
.model-container .model-content {
margin-top: 24px;
} }
.model-container .controls { .model-container .controls {
@ -51,25 +75,32 @@
cursor: pointer; cursor: pointer;
} }
.model-container .confirm { .model-container .confirmChrome {
width: 60px; width: 140px;
height: 30px; height: 36px;
background: #0087ff; background: #0087ff;
border-radius: 0.04rem !important; border-radius: 0.04rem !important;
font-size: 14px; font-size: 16px;
font-weight: 400; font-family: 'Alibaba PuHuiTi';
color: #fff; color: #fff;
line-height: 30px; line-height: 36px;
border-radius: 6px;
} }
.model-container .cancel { .model-container .confirm360 {
width: 60px; width: 140px;
height: 30px; height: 36px;
background: #0087ff; background: #0087ff;
border-radius: 0.04rem !important; border-radius: 0.04rem !important;
font-size: 14px; font-size: 16px;
font-weight: 400; font-family: 'Alibaba PuHuiTi';
color: #fff; color: #fff;
line-height: 30px; line-height: 36px;
margin-left: 100px; margin-left: 50px;
border-radius: 6px;
}
@font-face {
font-family: 'Alibaba PuHuiTi';
src: url('~@/assets/home/font/Alibaba-PuHuiTi-Light.otf');
} }

Binary file not shown.

Binary file not shown.

View File

@ -64,17 +64,22 @@ var ModelBox = (function() {
_this.isShow = this.option.isShow _this.isShow = this.option.isShow
var html = var html =
'<div class="model-container">' + '<div class="model-container">' +
'<h1 class="model-title">title</h1>' + '<div class="model-title">' +
'<div class="model-content"></div>' + '<span class="title-span">title</span>' +
'<div class="model-close"></div>' +
'</div>' +
'<div class="model-content">content</div>' +
'<div class="controls">' + '<div class="controls">' +
'<a class="confirm">下载</a>' + '<a class="confirmChrome">下载谷歌浏览器</a>' +
'<a class="cancel">取消</a>' + '<a class="confirm360">下载360浏览器</a>' +
'</div>' + '</div>' +
'</div>' '</div>'
var ModelBoxCon = document.createElement('div') var ModelBoxCon = document.createElement('div')
ModelBoxCon.setAttribute('class', 'mask-layer') ModelBoxCon.setAttribute('class', 'mask-layer')
ModelBoxCon.innerHTML = html ModelBoxCon.innerHTML = html
ModelBoxCon.querySelector('.model-title').innerHTML = // ModelBoxCon.querySelector('.model-title').innerHTML =
// _this.option.title
ModelBoxCon.querySelector('.title-span').innerHTML =
_this.option.title _this.option.title
ModelBoxCon.querySelector('.model-content').innerHTML = ModelBoxCon.querySelector('.model-content').innerHTML =
_this.option.content _this.option.content
@ -82,8 +87,9 @@ var ModelBox = (function() {
if (!_this.isShow) { if (!_this.isShow) {
ModelBoxCon.style.display = 'none' ModelBoxCon.style.display = 'none'
} }
ModelBoxCon.querySelector('.cancel').onclick = ModelBoxCon.querySelector('.model-close').onclick =
ModelBoxCon.querySelector('.confirm').onclick = ModelBoxCon.querySelector('.confirmChrome').onclick =
ModelBoxCon.querySelector('.confirm360').onclick =
_this.eventsFn.bind('', this, ModelBoxCon) _this.eventsFn.bind('', this, ModelBoxCon)
}, },
show: function() { show: function() {
@ -95,9 +101,13 @@ var ModelBox = (function() {
this.isShow = false this.isShow = false
}, },
eventsFn: function(e, doc, target) { eventsFn: function(e, doc, target) {
debugger
var _thisEvent = target.target var _thisEvent = target.target
if (_thisEvent.classList.contains('confirm')) { if (_thisEvent.classList.contains('confirmChrome')) {
e.option.confirmCallBack() e.option.confirmCallBack('Chrome')
} else if (_thisEvent.classList.contains('confirm360')) {
e.option.confirmCallBack('360')
} }
doc.style.display = 'none' doc.style.display = 'none'
e.isShow = false e.isShow = false
@ -108,13 +118,16 @@ var ModelBox = (function() {
})() })()
var opt = new ModelBox({ var opt = new ModelBox({
title: '当前系统不支持IE内核建议使用Chrome浏览器或360浏览器极速模式', title: '提示信息',
content: '', content: '平台暂不支持IE内核浏览器访问建议使用谷歌(Chrome)或360浏览器极速模式登录',
isShow: false, isShow: false,
confirmCallBack: function() { confirmCallBack: function(data) {
debugger
// //
const agent = getPCNum() const agent = getPCNum()
console.log('agent------------>', agent) //console.log('agent------------>', agent)
//console.log('datadatadatadata----------->', data)
if (data === 'Chrome') {
if (agent == 64) { if (agent == 64) {
// 64 // 64
downloadFile( downloadFile(
@ -128,6 +141,22 @@ var opt = new ModelBox({
'/static/download/standalonesetup32.exe' '/static/download/standalonesetup32.exe'
) )
} }
} else {
if (agent == 64) {
// 64
downloadFile(
'360se13.1.6260.0.exe',
'/static/download/360se13.1.6260.0.exe'
)
} else {
// 32
downloadFile(
'360se13.1.6110.0.exe',
'/static/download/360se13.1.6110.0.exe'
)
}
}
}, },
}) })

View File

@ -47,6 +47,38 @@ export function pageWithAttrs(data) {
data, data,
}) })
} }
//
export function getPraiseList(params) {
return request({
url: '/resource/getPraiseList',
method: 'get',
params,
})
}
//
export function getPopularList(params) {
return request({
url: '/resource/getPopularList',
method: 'get',
params,
})
}
//
export function getStarList(params) {
return request({
url: '/resource/getStarList',
method: 'get',
params,
})
}
//
export function getPotentialList(params) {
return request({
url: '/resource/getPotentialList',
method: 'get',
params,
})
}
//- //-
export function capabilityRequirements(params) { export function capabilityRequirements(params) {
return request({ return request({

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -33,7 +33,12 @@ const SuperMap = window.SuperMap || {}
let isLocated = true let isLocated = true
let polylineArr = [] let polylineArr = []
let PolygonArr = [] let PolygonArr = []
/** const restoreIconObj = {
layerId: 0,
restoreIcon: null,
currentLayer: null,
}
/**
* 地图功能接口类 * 地图功能接口类
* 说明该类中的方法带_为对外暴露的方法调用时去掉_不带_的为内部方法不可调用 * 说明该类中的方法带_为对外暴露的方法调用时去掉_不带_的为内部方法不可调用
* @param mapObj {Object} 设置全局参数对象 * @param mapObj {Object} 设置全局参数对象
@ -68,7 +73,7 @@ export function MapFun(mapObj) {
* 根据图层名移除图层 * 根据图层名移除图层
* @param layerName {String} 图层名 * @param layerName {String} 图层名
*/ */
const _removeLayerByLayerName = function (layerName) { const _removeLayerByLayerName = function(layerName) {
const layer = layerGroup.get(layerName) const layer = layerGroup.get(layerName)
// const feature = featureGroup; // const feature = featureGroup;
// map.popupclose(); // map.popupclose();
@ -89,7 +94,7 @@ export function MapFun(mapObj) {
* 清空地图除去底图 * 清空地图除去底图
* @private * @private
*/ */
const _clearAllLayers = function () { const _clearAllLayers = function() {
// debugger; // debugger;
map.closePopup() map.closePopup()
featureGroup.clearLayers() featureGroup.clearLayers()
@ -99,14 +104,14 @@ export function MapFun(mapObj) {
* 关闭所有地图弹窗 * 关闭所有地图弹窗
* @private * @private
*/ */
const _closeAllPopup = function (feature) { const _closeAllPopup = function(feature) {
map.closePopup() map.closePopup()
} }
/** /**
* 添加地图弹窗 * 添加地图弹窗
* @private * @private
*/ */
const _openPopup = function (feature) { const _openPopup = function(feature) {
// debugger; // debugger;
// const elementHtml = createAddressPopup(feature) // const elementHtml = createAddressPopup(feature)
L.popup({ className: 'epidemic-popup' }) L.popup({ className: 'epidemic-popup' })
@ -118,7 +123,7 @@ export function MapFun(mapObj) {
* 添加视频监控平台地图弹窗 * 添加视频监控平台地图弹窗
* @private * @private
*/ */
const _openPopupVideoSurveillance = function (feature) { const _openPopupVideoSurveillance = function(feature) {
// debugger // debugger
if (feature.type == 'cameraTree') { if (feature.type == 'cameraTree') {
const elementHtml = createCameraDetailsPop(feature) const elementHtml = createCameraDetailsPop(feature)
@ -150,7 +155,7 @@ export function MapFun(mapObj) {
* 根据图层名数组移除图层 * 根据图层名数组移除图层
* @param layerNameArray {Array} 图层名 * @param layerNameArray {Array} 图层名
*/ */
const _removeLayersByLayerNameArray = function (layerNameArray) { const _removeLayersByLayerNameArray = function(layerNameArray) {
layerNameArray.forEach((layerName) => { layerNameArray.forEach((layerName) => {
const layer = layerGroup.get(layerName) const layer = layerGroup.get(layerName)
if (layer) { if (layer) {
@ -167,7 +172,7 @@ export function MapFun(mapObj) {
* 根据图层名数组移除图层 * 根据图层名数组移除图层
* @param layerNameArray {Array} 图层名 * @param layerNameArray {Array} 图层名
*/ */
const _addMovingMarker = function (arrList) { const _addMovingMarker = function(arrList) {
var polyline1 = L.polyline(arrList).addTo(map) var polyline1 = L.polyline(arrList).addTo(map)
var decorator = L.polylineDecorator(polyline1, { var decorator = L.polylineDecorator(polyline1, {
patterns: [ patterns: [
@ -180,16 +185,13 @@ export function MapFun(mapObj) {
// myMovingMarker.start() // myMovingMarker.start()
var polygin = L.motion var polygin = L.motion
.polyline( .polyline(
arrList, arrList, {
{
color: 'transparent', color: 'transparent',
}, }, {
{
auto: true, auto: true,
duration: 53000, duration: 53000,
easing: L.Motion.Ease.easeInOutQuart, easing: L.Motion.Ease.easeInOutQuart,
}, }, {
{
removeOnEnd: true, removeOnEnd: true,
showMarker: true, showMarker: true,
icon: L.divIcon({ icon: L.divIcon({
@ -226,7 +228,7 @@ export function MapFun(mapObj) {
* 根据marker获取弹窗信息只弹出基本信息直接弹出 * 根据marker获取弹窗信息只弹出基本信息直接弹出
* @param markerGroup {Object} 图层组 * @param markerGroup {Object} 图层组
* */ * */
const markerPopup = function (markerGroup) { const markerPopup = function(markerGroup) {
const layers = markerGroup._layers const layers = markerGroup._layers
for (const index in layers) { for (const index in layers) {
const contentHTML = _createPopupConfigInfo( const contentHTML = _createPopupConfigInfo(
@ -242,7 +244,7 @@ export function MapFun(mapObj) {
* 展示普通图层 * 展示普通图层
* @param callBackFun {Function} 回调函数对象 * @param callBackFun {Function} 回调函数对象
*/ */
const _showStaticLayer = function (callBackFun) { const _showStaticLayer = function(callBackFun) {
callBackFun() callBackFun()
} }
/** /**
@ -326,7 +328,7 @@ export function MapFun(mapObj) {
}) })
L.supermap L.supermap
.queryService(queryUrl) .queryService(queryUrl)
.queryBySQL(sqlParam, function (serviceResult) { .queryBySQL(sqlParam, function(serviceResult) {
console.log('serviceResult', serviceResult.result) console.log('serviceResult', serviceResult.result)
if (serviceResult.result.recordsets[0].features.features.length === 0) { if (serviceResult.result.recordsets[0].features.features.length === 0) {
let marker = {} let marker = {}
@ -405,10 +407,10 @@ export function MapFun(mapObj) {
[e.layer._latlng.lat, e.layer._latlng.lng], [e.layer._latlng.lat, e.layer._latlng.lng],
options options
).addTo(mapObj.map) ).addTo(mapObj.map)
layer.on('moveend', function (e) { layer.on('moveend', function(e) {
callback(e) callback(e)
}) })
layer.on('click', function (e) { layer.on('click', function(e) {
layer.remove() layer.remove()
mapObj.drawMarker.enable() mapObj.drawMarker.enable()
}) })
@ -443,7 +445,7 @@ export function MapFun(mapObj) {
// //
let contentWidth = 0 let contentWidth = 0
// //
const calc = function (str) { const calc = function(str) {
const tempLength = const tempLength =
getDoubleCharCount(str) * 18 + getSingleCharCount(str) * 10 getDoubleCharCount(str) * 18 + getSingleCharCount(str) * 10
if (tempLength >= 450) { if (tempLength >= 450) {
@ -502,11 +504,12 @@ export function MapFun(mapObj) {
/** /**
* 取消扎点回调 * 取消扎点回调
*/ */
const resetMarkerCallBack = function () { const resetMarkerCallBack = function() {
_removeLayerByLayerName('drawMarkerLayer') _removeLayerByLayerName('drawMarkerLayer')
layerGroup.delete('drawMarkerLayer') layerGroup.delete('drawMarkerLayer')
mapObj.drawMarker.enable() mapObj.drawMarker.enable()
} }
function _addImgMaker(latLng, inconConfig) { function _addImgMaker(latLng, inconConfig) {
const icon = MapStyle.featureIcon(inconConfig) const icon = MapStyle.featureIcon(inconConfig)
const markerLayer = L.marker([latLng.lat, latLng.lng], { const markerLayer = L.marker([latLng.lat, latLng.lng], {
@ -566,7 +569,7 @@ export function MapFun(mapObj) {
// //
let contentWidth = 0 let contentWidth = 0
// //
const calc = function (str) { const calc = function(str) {
const tempLength = const tempLength =
getDoubleCharCount(str) * 18 + getSingleCharCount(str) * 10 getDoubleCharCount(str) * 18 + getSingleCharCount(str) * 10
if (tempLength >= 450) { if (tempLength >= 450) {
@ -620,7 +623,7 @@ export function MapFun(mapObj) {
} else if (mapType === 'dark') { } else if (mapType === 'dark') {
tileMapUrl = _mapConfig.config.TITLE_LAYER_DARK.mapUrl tileMapUrl = _mapConfig.config.TITLE_LAYER_DARK.mapUrl
} }
mapObj.map.eachLayer(function (layer) { mapObj.map.eachLayer(function(layer) {
if (layer.tempIndex === -1) { if (layer.tempIndex === -1) {
mapObj.map.removeLayer(layer) mapObj.map.removeLayer(layer)
L.supermap.tiledMapLayer(tileMapUrl).addTo(mapObj.map) L.supermap.tiledMapLayer(tileMapUrl).addTo(mapObj.map)
@ -636,7 +639,7 @@ export function MapFun(mapObj) {
const config = _mapConfig.config.TILEDCONFIG[mapType] const config = _mapConfig.config.TILEDCONFIG[mapType]
const layerConfig = { url: config.tiledUrl, name: config.tiledName } const layerConfig = { url: config.tiledUrl, name: config.tiledName }
const newTileLayer = new L.tileLayer.baidu(layerConfig) const newTileLayer = new L.tileLayer.baidu(layerConfig)
mapObj.map.eachLayer(function (layer) { mapObj.map.eachLayer(function(layer) {
if (layer.options.tms === true) { if (layer.options.tms === true) {
mapObj.map.removeLayer(layer) mapObj.map.removeLayer(layer)
newTileLayer.addTo(mapObj.map) newTileLayer.addTo(mapObj.map)
@ -652,11 +655,10 @@ export function MapFun(mapObj) {
* @param callBackInClick {function} 点击图标时执行的函数 * @param callBackInClick {function} 点击图标时执行的函数
* @param className {String} 样式字符串 * @param className {String} 样式字符串
*/ */
const _addFeatureArrayOnMap = function ( const _addFeatureArrayOnMap = function(
layerName, layerName,
features, features,
layerConfigInfo, layerConfigInfo, { callBackInClick = null, className = '' } = {}
{ callBackInClick = null, className = '' } = {}
) { ) {
const layers = [] const layers = []
features.forEach((feature) => { features.forEach((feature) => {
@ -666,7 +668,7 @@ export function MapFun(mapObj) {
attribution: feature, attribution: feature,
}) })
markerLayer.layerConfigInfo = layerConfigInfo markerLayer.layerConfigInfo = layerConfigInfo
markerLayer.on('click', function (e) { markerLayer.on('click', function(e) {
const layerConfigInfo = e.sourceTarget.layerConfigInfo const layerConfigInfo = e.sourceTarget.layerConfigInfo
const location = [e.latlng.lat, e.latlng.lng] const location = [e.latlng.lat, e.latlng.lng]
const latlng = L.latLng(location) const latlng = L.latLng(location)
@ -701,12 +703,11 @@ export function MapFun(mapObj) {
* @param popupType {String} 弹窗类型 * @param popupType {String} 弹窗类型
* @param className {String} class名字 * @param className {String} class名字
*/ */
const _addTheOneFeatureOnMapByPoint = function ( const _addTheOneFeatureOnMapByPoint = function(
layerName, layerName,
point, point,
data, data,
layerConfigInfo, layerConfigInfo, { popupFlag = true, popupType = 'general', className = '' } = {}
{ popupFlag = true, popupType = 'general', className = '' } = {}
) { ) {
// marker // marker
// debugger; // debugger;
@ -734,7 +735,7 @@ export function MapFun(mapObj) {
if (popupFlag) { if (popupFlag) {
markerLayer.bindPopup(elementHtml, { className: className }).openPopup() markerLayer.bindPopup(elementHtml, { className: className }).openPopup()
} else { } else {
markerLayer.on('click', function () { markerLayer.on('click', function() {
L.popup({ className: className }) L.popup({ className: className })
.setLatLng(latLng) .setLatLng(latLng)
.setContent(elementHtml) .setContent(elementHtml)
@ -753,8 +754,7 @@ export function MapFun(mapObj) {
* */ * */
function _locationAndCreatePopup( function _locationAndCreatePopup(
layer, layer,
contentHTML, contentHTML, { className = '' } = {}
{ className = '' } = {}
) { ) {
// //
const latLng = layer.getLatLng() const latLng = layer.getLatLng()
@ -789,7 +789,7 @@ export function MapFun(mapObj) {
const icon = MapStyle.featureIcon(inconConfig) const icon = MapStyle.featureIcon(inconConfig)
const markerLayer = L.marker(point, { icon: icon }) const markerLayer = L.marker(point, { icon: icon })
markers.addLayer(markerLayer) markers.addLayer(markerLayer)
markerLayer.on('click', function () { markerLayer.on('click', function() {
console.log('积水点播放视频', item) console.log('积水点播放视频', item)
item.indexCode = item.indexCode || item.index_code item.indexCode = item.indexCode || item.index_code
const params = [item.indexCode] const params = [item.indexCode]
@ -815,8 +815,7 @@ export function MapFun(mapObj) {
function _showLayersByUuidArray( function _showLayersByUuidArray(
uuidArray, uuidArray,
layerName, layerName,
configInfo, configInfo, {
{
outFeaturesCallBack = null, outFeaturesCallBack = null,
getLayerPopupInfo = null, getLayerPopupInfo = null,
getStoragePopupInfo = null, getStoragePopupInfo = null,
@ -858,13 +857,12 @@ export function MapFun(mapObj) {
outFeaturesCallBack(serviceResult, layerName, entityList, configInfo) outFeaturesCallBack(serviceResult, layerName, entityList, configInfo)
} }
const resultLayerConfig = L.geoJSON( const resultLayerConfig = L.geoJSON(
serviceResult.result.recordsets[0].features, serviceResult.result.recordsets[0].features, {
{
onEachFeature: (feature, layer) => { onEachFeature: (feature, layer) => {
layer.setIcon(MapStyle.featureIcon(configInfo, { zoom: map._zoom })) layer.setIcon(MapStyle.featureIcon(configInfo, { zoom: map._zoom }))
layer.title = layerName layer.title = layerName
layer.configInfo = configInfo layer.configInfo = configInfo
layer.on('click', function (e) { layer.on('click', function(e) {
// const uuid = e.sourceTarget.feature.properties.UUID; // const uuid = e.sourceTarget.feature.properties.UUID;
const uuid = const uuid =
e.sourceTarget.feature.properties[ e.sourceTarget.feature.properties[
@ -922,8 +920,7 @@ export function MapFun(mapObj) {
function _showCameraByIndexCodeArray( function _showCameraByIndexCodeArray(
cameraIndexCode, cameraIndexCode,
layerName, layerName,
configInfo, configInfo, {
{
getLayerPopupInfo = null, getLayerPopupInfo = null,
outFeaturesCallBack = null, outFeaturesCallBack = null,
entityList = null, entityList = null,
@ -963,7 +960,7 @@ export function MapFun(mapObj) {
}) })
L.supermap L.supermap
.queryService(queryUrl) .queryService(queryUrl)
.queryBySQL(reservoirParam, function (serviceResult) { .queryBySQL(reservoirParam, function(serviceResult) {
// if (serviceResult.result.recordsets[0].features.features.length === 0) { // if (serviceResult.result.recordsets[0].features.features.length === 0) {
// console.log(''); // console.log('');
// return; // return;
@ -973,15 +970,14 @@ export function MapFun(mapObj) {
outFeaturesCallBack(serviceResult, layerName, entityList, configInfo) outFeaturesCallBack(serviceResult, layerName, entityList, configInfo)
} }
const searchCameraLayer = L.geoJSON( const searchCameraLayer = L.geoJSON(
serviceResult.result.recordsets[0].features, serviceResult.result.recordsets[0].features, {
{
onEachFeature: (feature, layer) => { onEachFeature: (feature, layer) => {
layer.setIcon(MapStyle.featureIcon(configInfo)) layer.setIcon(MapStyle.featureIcon(configInfo))
layer.configInfo = configInfo layer.configInfo = configInfo
// //
// //
if (getLayerPopupInfo !== null) { if (getLayerPopupInfo !== null) {
layer.on('click', function (e) { layer.on('click', function(e) {
const indexCode = const indexCode =
e.sourceTarget.feature.properties[ e.sourceTarget.feature.properties[
_convertCaseOfAttributes('CAMERA_INDEX_CODE') _convertCaseOfAttributes('CAMERA_INDEX_CODE')
@ -1036,8 +1032,7 @@ export function MapFun(mapObj) {
* @private * @private
*/ */
function _addressMatchCode( function _addressMatchCode(
address, address, {
{
fromIndex = null, fromIndex = null,
toIndex = null, toIndex = null,
filters = null, filters = null,
@ -1057,7 +1052,7 @@ export function MapFun(mapObj) {
}) })
L.supermap L.supermap
.addressMatchService(_mapConfig.config.POI_URL) .addressMatchService(_mapConfig.config.POI_URL)
.code(geoCodeParam, function (addressObj) { .code(geoCodeParam, function(addressObj) {
if (outAddressCallBack) { if (outAddressCallBack) {
outAddressCallBack(addressObj, param) outAddressCallBack(addressObj, param)
} }
@ -1275,6 +1270,7 @@ export function MapFun(mapObj) {
// featureGroup.addLayer(polyline); // featureGroup.addLayer(polyline);
// featureGroup.addTo(map); // featureGroup.addTo(map);
} }
function _removerPolyline() { function _removerPolyline() {
if (polylineArr && polylineArr.length > 0) { if (polylineArr && polylineArr.length > 0) {
polylineArr.map((item) => { polylineArr.map((item) => {
@ -1497,16 +1493,15 @@ export function MapFun(mapObj) {
parameter: analystParameter, parameter: analystParameter,
}) })
const myIcon = L.icon({ const myIcon = L.icon({
iconUrl: iconUrl: './src/assets/common/multiScreen/mapTools/ambulance_map_standby.png',
'./src/assets/common/multiScreen/mapTools/ambulance_map_standby.png',
iconSize: [35, 35], iconSize: [35, 35],
}) })
// todo // todo
findPathService.findPath(findPathParameter, function (serviceResult) { findPathService.findPath(findPathParameter, function(serviceResult) {
console.log('serviceResult', serviceResult) console.log('serviceResult', serviceResult)
const result = serviceResult.result const result = serviceResult.result
console.log(result) console.log(result)
result.pathList.map(function (result) { result.pathList.map(function(result) {
const pathRouteLayer = L.geoJSON(result.route) const pathRouteLayer = L.geoJSON(result.route)
// const pathGuideLayer = L.geoJSON(result.pathGuideItems, { // const pathGuideLayer = L.geoJSON(result.pathGuideItems, {
// pointToLayer: function (geoPoints, latlng) { // pointToLayer: function (geoPoints, latlng) {
@ -1546,8 +1541,7 @@ export function MapFun(mapObj) {
* @private * @private
*/ */
function _addressMatchCodeByAmap( function _addressMatchCodeByAmap(
address, address, {
{
city = '青岛', city = '青岛',
pageSize = 100, pageSize = 100,
pageIndex = 1, pageIndex = 1,
@ -1555,13 +1549,13 @@ export function MapFun(mapObj) {
param = null, param = null,
} = {} } = {}
) { ) {
AMap.plugin('AMap.PlaceSearch', function () { AMap.plugin('AMap.PlaceSearch', function() {
var placeSearch = new AMap.PlaceSearch({ var placeSearch = new AMap.PlaceSearch({
city: city, city: city,
pageSize: pageSize, pageSize: pageSize,
pageIndex: pageIndex, pageIndex: pageIndex,
}) })
placeSearch.search(address, function (status, result) { placeSearch.search(address, function(status, result) {
console.log(result) console.log(result)
if (outAddressCallBack) { if (outAddressCallBack) {
outAddressCallBack(result, param) outAddressCallBack(result, param)
@ -1582,8 +1576,7 @@ export function MapFun(mapObj) {
* @private * @private
*/ */
function _queryLayersBySql( function _queryLayersBySql(
configInfo, configInfo, {
{
sql = 'SMID >0', sql = 'SMID >0',
callBackFun = null, callBackFun = null,
callBackParams = null, callBackParams = null,
@ -1606,14 +1599,13 @@ export function MapFun(mapObj) {
} }
if (layerName) { if (layerName) {
const resultLayerConfig = L.geoJSON( const resultLayerConfig = L.geoJSON(
serviceResult.result.recordsets[0].features, serviceResult.result.recordsets[0].features, {
{
onEachFeature: (feature, layer) => { onEachFeature: (feature, layer) => {
layer.setIcon(MapStyle.featureIcon(configInfo)) layer.setIcon(MapStyle.featureIcon(configInfo))
layer.title = layerName layer.title = layerName
layer.configInfo = configInfo layer.configInfo = configInfo
// //
layer.on('click', function (e) { layer.on('click', function(e) {
if (!getLayerPopupInfo) { if (!getLayerPopupInfo) {
const uuid = const uuid =
e.sourceTarget.feature.properties[ e.sourceTarget.feature.properties[
@ -1650,10 +1642,10 @@ export function MapFun(mapObj) {
* @return {*} 创建的图标用来删除 * @return {*} 创建的图标用来删除
* @private * @private
*/ */
const _addPointOnMap = function (paramObject) { const _addPointOnMap = function(paramObject) {
return addPointOnMap(paramObject, mapObj, featureGroup, layerGroup) return addPointOnMap(paramObject, mapObj, featureGroup, layerGroup)
} }
const _addResourceOnMapWithoutSuperMapCluster = function ( const _addResourceOnMapWithoutSuperMapCluster = function(
features, features,
url, url,
layerName, layerName,
@ -1683,8 +1675,9 @@ export function MapFun(mapObj) {
// }) // })
// } // }
_removeLayerByLayerName(layerName) //_removeLayerByLayerName(layerName)
let layers = null let selectedLayerList = [];
let layers = null;
// //
layers = createMarkerClusterLayer() layers = createMarkerClusterLayer()
const icon1 = createDefaultFeatureStyle({ const icon1 = createDefaultFeatureStyle({
@ -1697,14 +1690,16 @@ export function MapFun(mapObj) {
}) })
features.map((feature) => { features.map((feature) => {
var bounds = map.getBounds() var bounds = map.getBounds()
// console.log("",feature.latLng); //console.log("", feature);
if ( feature.hasOwnProperty('latLng')) { if (feature.hasOwnProperty('latLng')) {
let icon = feature.active?icon2:icon1 //let icon = feature.active ? icon2 : icon1;
let icon = icon1;
restoreIconObj.restoreIcon = icon;
const marker = L.marker(feature.latLng, { icon }) const marker = L.marker(feature.latLng, { icon })
if (createPopupFun !== null) { if (createPopupFun !== null) {
marker.uuid = feature.uuid || '' marker.uuid = feature.uuid || ''
marker.resId = feature.resId || '' marker.resId = feature.resId || ''
marker.on('click', async (e) => { marker.on('click', async(e) => {
if (feature.resourceName === 'video') { if (feature.resourceName === 'video') {
const params = [feature.indexCode] const params = [feature.indexCode]
DS.openVideo(params) DS.openVideo(params)
@ -1733,10 +1728,33 @@ export function MapFun(mapObj) {
} }
}) })
} }
marker.on('click', e=>{ marker.on('click', e => {
console.log('点位数据', e) console.log('点位数据', e) //
// marker
mybus.emit('pointMarkerClick', feature) //const layers = layerGroup.get(layerName).getLayers()
// layers.forEach((layer) => {
// layer.setIcon(icon)
// })
restoreIconObj.layerId = e.sourceTarget._leaflet_id
const currentLayer = layerGroup
.get(layerName)
.getLayer(restoreIconObj.layerId)
restoreIconObj.currentLayer = currentLayer;
if (currentLayer._icon.src != icon.options.iconUrl) {
currentLayer.setIcon(icon);
} else {
selectedLayerList.push(currentLayer);
//,//
if (selectedLayerList.length > 0) {
selectedLayerList.forEach((item) => {
item.setIcon(
L.icon({ iconUrl: require('./image/' + url2), iconSize: [33, 33] })
)
});
}
}
mybus.emit('pointMarkerClick', feature);
selectedLayerList = [];
}) })
layers.addLayer(marker) layers.addLayer(marker)
} }
@ -1747,7 +1765,7 @@ export function MapFun(mapObj) {
/** /**
* 点击展示弹窗 * 点击展示弹窗
*/ */
const _addPopOnMap = function (feature, url, layerName, createPopupFun) { const _addPopOnMap = function(feature, url, layerName, createPopupFun) {
console.log( console.log(
'addPopOnMap===============>', 'addPopOnMap===============>',
feature, feature,
@ -1797,7 +1815,7 @@ export function MapFun(mapObj) {
* @returns {Promise<any>} * @returns {Promise<any>}
* @private * @private
*/ */
const _createPromiseByQueryService = function ( const _createPromiseByQueryService = function(
idArray, idArray,
layerConfigInfo, layerConfigInfo,
type type
@ -1811,10 +1829,10 @@ export function MapFun(mapObj) {
* @return {*} * @return {*}
* @private * @private
*/ */
const _addResourceOnMap = function (paramObject) { const _addResourceOnMap = function(paramObject) {
return addResourceOnMap(paramObject, mapObj, featureGroup, layerGroup) return addResourceOnMap(paramObject, mapObj, featureGroup, layerGroup)
} }
const _addResourceOnMapNew = function ( const _addResourceOnMapNew = function(
features, features,
config, config,
getLayerPopupInfo, getLayerPopupInfo,
@ -1830,7 +1848,7 @@ export function MapFun(mapObj) {
layerGroup layerGroup
) )
} }
const _getLayerPopupInfo = function ( const _getLayerPopupInfo = function(
uuid, uuid,
layerConfigInfo, layerConfigInfo,
type, type,
@ -1850,7 +1868,7 @@ export function MapFun(mapObj) {
popupClassName popupClassName
) )
} }
const _addResourceOnMapWithoutSuperMap = function ( const _addResourceOnMapWithoutSuperMap = function(
features, features,
url, url,
layerName, layerName,
@ -1870,7 +1888,7 @@ export function MapFun(mapObj) {
map map
) )
} }
const _addPointsToMap = function ( const _addPointsToMap = function(
features, features,
url, url,
layerName, layerName,
@ -1890,7 +1908,7 @@ export function MapFun(mapObj) {
map map
) )
} }
const _addResourceOnMapWithoutSuper = function ( const _addResourceOnMapWithoutSuper = function(
features, features,
url, url,
layerName, layerName,
@ -1910,7 +1928,7 @@ export function MapFun(mapObj) {
map map
) )
} }
const _addPolygonToMap = function (a, b, c, d) { const _addPolygonToMap = function(a, b, c, d) {
var polygon = L.polygon([a, b, c, d], { var polygon = L.polygon([a, b, c, d], {
color: '#A33B42', color: '#A33B42',
fillColor: '#A75A81', fillColor: '#A75A81',
@ -1918,7 +1936,7 @@ export function MapFun(mapObj) {
}) })
featureGroup.addLayer(polygon) featureGroup.addLayer(polygon)
} }
const _addNameToMap = function (config) { const _addNameToMap = function(config) {
// you can set .my-div-icon styles in CSS // you can set .my-div-icon styles in CSS
config.map((item) => { config.map((item) => {
var myIcon = L.divIcon({ html: item.name }) var myIcon = L.divIcon({ html: item.name })
@ -1927,7 +1945,7 @@ export function MapFun(mapObj) {
) )
}) })
} }
const _addMountainToMap = function (config) { const _addMountainToMap = function(config) {
// you can set .my-div-icon styles in CSS // you can set .my-div-icon styles in CSS
const myIcon = L.icon({ const myIcon = L.icon({
iconUrl: '/src/supermap/image/mountain.png', iconUrl: '/src/supermap/image/mountain.png',
@ -1940,7 +1958,7 @@ export function MapFun(mapObj) {
}).addTo(mapObj.map) }).addTo(mapObj.map)
}) })
} }
const _addMountainLayerToMap = function (config) { const _addMountainLayerToMap = function(config) {
var myStyle = { var myStyle = {
color: 'green', color: 'green',
weight: 2, weight: 2,
@ -1964,18 +1982,18 @@ export function MapFun(mapObj) {
// L.marker([item.latLng.lng, item.latLng.lat], { icon: myIcon }).addTo(mapObj.map); // L.marker([item.latLng.lng, item.latLng.lat], { icon: myIcon }).addTo(mapObj.map);
// }); // });
} }
const _addCircleToMap = function (latLng, r) { const _addCircleToMap = function(latLng, r) {
// L.circle([latLng.lat, latLng.lng], { radius: r }).addTo(mapObj.map) // L.circle([latLng.lat, latLng.lng], { radius: r }).addTo(mapObj.map)
const polygon = L.circle([latLng.lat, latLng.lng], { radius: r }) const polygon = L.circle([latLng.lat, latLng.lng], { radius: r })
polygon.addTo(map) polygon.addTo(map)
PolygonArr.push(polygon) PolygonArr.push(polygon)
} }
const _mapPainyEnable = function () { const _mapPainyEnable = function() {
map.MapPaint.enable() map.MapPaint.enable()
map.addControl(new MapPaint.SwitchControl()) map.addControl(new MapPaint.SwitchControl())
} }
// //
const _thermodynamic = function (latLng, r, type) { const _thermodynamic = function(latLng, r, type) {
// const layers = [] // const layers = []
// latLng, r, strong // latLng, r, strong
const thermodynamic = latLng const thermodynamic = latLng
@ -1997,7 +2015,7 @@ export function MapFun(mapObj) {
layerGroup.set(type, heatLayer) layerGroup.set(type, heatLayer)
// debugger // debugger
} }
const _addPathToMap = function (latLng, color) { const _addPathToMap = function(latLng, color) {
// console.log(latLng) // console.log(latLng)
// debugger // debugger
const polyline = L.polyline(latLng, { color: color }) const polyline = L.polyline(latLng, { color: color })
@ -2065,8 +2083,7 @@ export function MapFun(mapObj) {
openPopupVideoSurveillance: _openPopupVideoSurveillance, openPopupVideoSurveillance: _openPopupVideoSurveillance,
closeAllPopup: _closeAllPopup, closeAllPopup: _closeAllPopup,
addMovingMarker: _addMovingMarker, addMovingMarker: _addMovingMarker,
addResourceOnMapWithoutSuperMapCluster: addResourceOnMapWithoutSuperMapCluster: _addResourceOnMapWithoutSuperMapCluster,
_addResourceOnMapWithoutSuperMapCluster,
addPopOnMap: _addPopOnMap, addPopOnMap: _addPopOnMap,
addDynamicMapLayer: _addDynamicMapLayer, addDynamicMapLayer: _addDynamicMapLayer,
addPointsToMap: _addPointsToMap, addPointsToMap: _addPointsToMap,

View File

@ -15,10 +15,45 @@
}" }"
></div> ></div>
<div <div
style="position: relative"
:class="taboldName == item ? 'bianlan' : ''" :class="taboldName == item ? 'bianlan' : ''"
@click="tabswitch(item, index)" @click="tabswitch(item, index)"
> >
{{ item }} {{ item }}
<a-tooltip placement="right">
<template #title>
<span v-if="item === '好评榜'">
根据能力能力评价平均分排名申请无评分则计3分排名相同时按上架时间倒序排列
</span>
<span v-else-if="item === '热门榜'">
根据近30天能力申请量排名申请量相同时按收藏量访问量以及上架时间进行倒序排列
</span>
<span v-else-if="item === '明星榜'">
采取5分制根据浏览量收藏量申请量以及评价平均分以占比1:2:3:4计算综合评分综合评分相同时按上架时间倒序排列
</span>
<span v-else>
根据能力15日增幅排名增幅相同时按上架时间倒序排列
</span>
</template>
<svg
t="1666146422372"
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="4749"
width="20"
height="20"
style="position: absolute"
>
<path
d="M530.64 211.33a36 36 0 1 1-36 36 36 36 0 0 1 36-36z m66.86 193.53l-90.2 336.63a90.25 90.25 0 0 0 62.93-41.33c0-0.07 0.61-1 0 0a11.15 11.15 0 0 1 20.44 8.41l-6.44 24A108 108 0 0 1 452 809a36 36 0 0 1-25.45-44.09l90.2-336.63a90.26 90.26 0 0 0-62.93 41.34c0 0.06-0.61 1 0 0a11.15 11.15 0 0 1-20.44-8.42l6.44-24a108 108 0 0 1 132.28-76.37 36 36 0 0 1 25.4 44.03z"
p-id="4750"
fill="#707070"
></path>
</svg>
</a-tooltip>
</div> </div>
</div> </div>
</div> </div>
@ -28,12 +63,54 @@
class="content-son" class="content-son"
v-for="(item, index) in dataList" v-for="(item, index) in dataList"
:key="item" :key="item"
@click="viewDetails(item.id)" @click="viewDetails(item.resourceId)"
> >
<div class="content-son-css"> <div class="content-son-css" style="position: relative">
<div class="content-index">{{ index + 1 }}</div> <div class="content-index">{{ index + 1 }}</div>
<div class="content-neirong">{{ item.name }}</div> <div class="content-neirong">{{ item.resourceName }}</div>
<div class="content-fangwenliang">访问量{{ item.visits }}</div> <div class="content-fangwenliang" v-if="taboldName === '好评榜'">
平均分{{ item.score }}
</div>
<div
class="content-fangwenliang"
v-else-if="taboldName === '热门榜'"
>
申请量{{ item.applyCount }}
</div>
<div
class="content-fangwenliang"
v-else-if="taboldName === '明星榜'"
>
热度值
<a-rate v-model:value="item.fireNum" allow-half disabled>
<template #character>
<fire-outlined />
</template>
</a-rate>
</div>
<div class="content-fangwenliang" v-else>
<template v-if="item.isNew == 1">
增幅率100%+
<svg
style="position: absolute; top: 6px; left: 0"
t="1666230976498"
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="3440"
width="50"
height="50"
>
<path
d="M0 0v1024L1024 0H0z m333.625806 576.412903L143.690323 540.077419l-1.651613 1.651613 112.309677 112.309678-21.470968 23.12258L82.580645 526.864516l23.122581-23.122581 188.283871 34.683871 1.651613-1.651612-112.309678-112.309678 23.122581-23.122581 150.296774 150.296775-23.122581 24.774193z m52.851613-52.851613l-150.296774-150.296774 107.354839-107.354839 19.819355 19.819355-84.232258 84.232258 42.941935 42.941936 79.277419-79.27742 19.819355 19.819355-79.277419 79.27742 47.896774 47.896774 89.187097-89.187097 19.819355 19.819355-112.309678 112.309677z m188.283871-188.283871l-24.774193 24.774194-193.23871-107.354839 26.425807-26.425806L528.516129 313.806452l1.651613-1.651613-85.883871-146.993549 24.774194-24.774193 146.993548 85.883871 1.651613-1.651613L528.516129 80.929032l26.425806-26.425806L660.645161 249.393548l-24.774193 24.774194-146.993549-85.883871-1.651613 1.651613 87.535484 145.341935z"
fill="#fa4002"
p-id="3441"
></path>
</svg>
</template>
<template v-else>增幅率{{ item.growthRate }}</template>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -46,10 +123,17 @@
</div> </div>
</template> </template>
<script setup> <script setup>
import { ref, watch } from 'vue' import { ref } from 'vue'
import { onMounted } from 'vue' // import { onMounted } from 'vue'
import { pageWithAttrs } from '@/api/abilityStatistics' import {
// pageWithAttrs,
getPraiseList,
getPopularList,
getStarList,
getPotentialList,
} from '@/api/abilityStatistics'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { FireOutlined } from '@ant-design/icons-vue'
const router = useRouter() const router = useRouter()
// //
function viewDetails(id) { function viewDetails(id) {
@ -61,6 +145,27 @@
}, },
}) })
} }
//
const praiseList = ref([])
const popularList = ref([])
const starList = ref([])
const potentialList = ref([])
getPraiseList().then((res) => {
praiseList.value = res.data.data
res.data.data.map((val) => {
val.score = Math.round(val.score * 100) / 100
})
tabswitch('好评榜', 0)
})
getPopularList().then((res) => {
popularList.value = res.data.data
})
getStarList().then((res) => {
starList.value = res.data.data
})
getPotentialList().then((res) => {
potentialList.value = res.data.data
})
// //
function jumpPage() { function jumpPage() {
let snum = { let snum = {
@ -93,7 +198,6 @@
]) ])
//tab //tab
let taboldName = ref('好评榜') let taboldName = ref('好评榜')
let tabName = ref('score')
const tabswitch = (name, index) => { const tabswitch = (name, index) => {
photoOldJiLu.value.map((item, index) => { photoOldJiLu.value.map((item, index) => {
photoOld.value[index] = item photoOld.value[index] = item
@ -102,49 +206,49 @@
console.log('name===========>', name) console.log('name===========>', name)
switch (name) { switch (name) {
case '好评榜': case '好评榜':
tabName.value = 'score' dataList.value = praiseList.value
break break
case '热门榜': case '热门榜':
tabName.value = 'total' dataList.value = popularList.value
break break
case '明星榜': case '明星榜':
tabName.value = 'visits' dataList.value = starList.value
break break
case '潜力榜': case '潜力榜':
tabName.value = 'collectCount' dataList.value = potentialList.value
break break
} }
taboldName.value = name taboldName.value = name
} }
// //
let dataList = ref([]) // let dataList = ref([]) //
const mySelectMostPopular = (name) => { // const mySelectMostPopular = (name) => {
const data = { // const data = {
deptIds: [], // deptIds: [],
districtId: '', // districtId: '',
infoList: [], // infoList: [],
name: '', // name: '',
orderField: name, // orderField: name,
orderType: 'DESC', // orderType: 'DESC',
pageNum: 1, // pageNum: 1,
pageSize: 10, // pageSize: 10,
type: '', // type: '',
} // }
pageWithAttrs(data).then((res) => { // pageWithAttrs(data).then((res) => {
dataList.value = res.data.data.records // dataList.value = res.data.data.records
console.log('aaaaaa111aaaaaaa', res) // console.log('aaaaaa111aaaaaaa', res)
}) // })
} // }
onMounted(() => { // onMounted(() => {
watch( // watch(
tabName, // tabName,
(value) => { // (value) => {
mySelectMostPopular(value) // mySelectMostPopular(value)
}, // },
{ deep: true } // { deep: true }
) // )
mySelectMostPopular(tabName.value) // mySelectMostPopular(tabName.value)
}) // })
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.ability-ranking { .ability-ranking {
@ -234,6 +338,9 @@
background-position: center; background-position: center;
margin-bottom: 17px; margin-bottom: 17px;
margin-right: 5px; margin-right: 5px;
border-radius: 2px;
border: 1px solid #f1f4fb;
box-shadow: 0px 8px 20px rgba(0, 88, 225, 0);
cursor: pointer; cursor: pointer;
.content-son-css { .content-son-css {
display: flex; display: flex;
@ -242,7 +349,7 @@
padding-top: 5px; padding-top: 5px;
padding: 2px; padding: 2px;
.content-index { .content-index {
padding-left: 15px; // padding-left: 15px;
text-align: center; text-align: center;
margin-bottom: 20px; margin-bottom: 20px;
font-size: 20px; font-size: 20px;

View File

@ -75,15 +75,10 @@ const params = {
pageSize: 10, pageSize: 10,
} }
infrastructureInfo().then((res) => { infrastructureInfo().then((res) => {
console.log('基础设施==================>', res.data.data) console.log('基础设施======云图============>', res.data.data)
myDataList.value.forEach((val) => { myDataList.value.forEach((val) => {
const obj = res.data.data.filter((item) => item.type === val.title)[0] const obj = res.data.data.filter((item) => item.type === val.title)[0]
if (obj) { if (obj) {
if (obj.type == '视频资源数量') {
if (uavAndIndividualSoldier.num) {
obj.amount = obj.amount - 0 + uavAndIndividualSoldier.num
}
}
val.snum = obj.amount val.snum = obj.amount
} }
}) })

View File

@ -262,7 +262,7 @@
</div> </div>
</div> </div>
<div class="top-content-father"> <div class="top-content-father">
<infrastructurePage ref="camera" :searchValue="searchValue" /> <infrastructurePage ref="camera" :searchValue="searchValue" :searchType="searchType" />
</div> </div>
</div> </div>
<div class="top" v-else> <div class="top" v-else>
@ -494,8 +494,11 @@ export default defineComponent({
const router = useRouter() const router = useRouter()
let select = router.currentRoute.value.query.select || DETAIL_PAGE_CONTENT_DEFAULT_TAB let select = router.currentRoute.value.query.select || DETAIL_PAGE_CONTENT_DEFAULT_TAB
const select2 = router.currentRoute.value.query.select const select2 = router.currentRoute.value.query.select
const type2 = router.currentRoute.value.query.type
const queryName=ref('')
const str = router.currentRoute.value.query.str const str = router.currentRoute.value.query.str
const searchValue = ref(str) const searchValue = ref(str)
const searchType= ref(str)
let tecHnosphere = router.currentRoute.value.query.tecHnosphere let tecHnosphere = router.currentRoute.value.query.tecHnosphere
let appLiCation = router.currentRoute.value.query.appLiCation let appLiCation = router.currentRoute.value.query.appLiCation
const Cardsname = ref(select) const Cardsname = ref(select)
@ -682,6 +685,7 @@ export default defineComponent({
} }
ListContent.records.forEach((val) => { ListContent.records.forEach((val) => {
if (!val) { if (!val) {
return return
} }
@ -689,6 +693,7 @@ export default defineComponent({
paramsGetResources.infoList = paramsGetResources.infoList.filter( paramsGetResources.infoList = paramsGetResources.infoList.filter(
(item) => item.attrType !== name (item) => item.attrType !== name
) )
if ( if (
val.selectedTags && val.selectedTags &&
val.selectedTags.indexOf(tag.dict_label) == -1 val.selectedTags.indexOf(tag.dict_label) == -1
@ -798,7 +803,34 @@ export default defineComponent({
ListContentCopy.value = JSON.parse(JSON.stringify(dataCopy)) ListContentCopy.value = JSON.parse(JSON.stringify(dataCopy))
ListContent.records = [] ListContent.records = []
ListContent.records = JSON.parse(JSON.stringify(dataCopy)) ListContent.records = JSON.parse(JSON.stringify(dataCopy))
if(select2=='组件服务'){
queryName.value='组件类型'
}else if(select2=='应用资源'){
queryName.value='应用领域'
}else{
queryName.value=''
}
ListContent.records.forEach((val) => {
if (!val) {
return
}
if (val.name === queryName.value ) {
if (
val.selectedTags &&
val.selectedTags.indexOf(type2) == -1
) {
val.selectedTags = [type2]
} else {
val.selectedTags &&
val.selectedTags.splice(
val.selectedTags.indexOf(type2),
1
)
}
}
})
// - // -
if (whoShow1.value.itShowXiHaiAn) { if (whoShow1.value.itShowXiHaiAn) {
if (!storageSearchInfo) { if (!storageSearchInfo) {
@ -859,6 +891,7 @@ export default defineComponent({
// //
const re = /^[0-9\u4E00-\u9FA5]*$/ const re = /^[0-9\u4E00-\u9FA5]*$/
const getAppResources2 = () => { const getAppResources2 = () => {
globalFlag.value = false globalFlag.value = false
if ( if (
whoShow1.value.itShowQingDao && whoShow1.value.itShowQingDao &&
@ -1236,7 +1269,24 @@ export default defineComponent({
if (searchValue.value && !select2) { if (searchValue.value && !select2) {
globalSearch() globalSearch()
} else { } else {
paramsGetResources.infoList=[]
if(select2=='组件服务'){
queryName.value='组件类型'
}else if(select2=='应用资源'){
queryName.value='应用领域'
}else if(select2=='基础设施'){
searchType.value=type2
}else{
queryName.value=type2
searchType.value=''
}
let info={attrType:queryName.value, attrValue: type2}
paramsGetResources.infoList.push(info)
paramsGetResources.type=select2
getAppResources2() getAppResources2()
listKey.value++
} }
} }
}) })

View File

@ -64,25 +64,11 @@
</span> </span>
</a-tooltip> </a-tooltip>
<span @click="logout" class="out">退出</span> <span @click="logout" class="out">退出</span>
<!-- <svg
t="1655286092324"
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="2160"
width="20"
height="20"
style="margin-top: 0.05rem"
@click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })"
>
<path
d="M1016.832 606.208q2.048 12.288-1.024 29.696t-10.24 35.328-17.408 32.256-22.528 20.48-21.504 6.144-20.48-4.096q-10.24-3.072-25.6-5.632t-31.232-1.024-31.744 6.656-27.136 17.408q-24.576 25.6-28.672 58.368t9.216 62.464q10.24 20.48-3.072 40.96-6.144 8.192-19.456 16.896t-29.184 15.872-33.28 11.264-30.72 4.096q-9.216 0-17.408-7.168t-11.264-15.36l-1.024 0q-11.264-31.744-38.4-54.784t-62.976-23.04q-34.816 0-62.976 23.04t-39.424 53.76q-5.12 12.288-15.36 17.92t-22.528 5.632q-14.336 0-32.256-5.12t-35.84-12.8-32.256-17.92-21.504-20.48q-5.12-7.168-5.632-16.896t7.68-27.136q11.264-23.552 8.704-53.76t-26.112-55.808q-14.336-15.36-34.816-19.968t-38.912-3.584q-21.504 1.024-44.032 8.192-14.336 4.096-28.672-2.048-11.264-4.096-20.992-18.944t-17.408-32.768-11.776-36.864-2.048-31.232q3.072-22.528 20.48-28.672 30.72-12.288 55.296-40.448t24.576-62.976q0-35.84-24.576-62.464t-55.296-38.912q-9.216-3.072-15.36-14.848t-6.144-24.064q0-13.312 4.096-29.696t10.752-31.744 15.36-28.16 18.944-18.944q8.192-5.12 15.872-4.096t16.896 4.096q30.72 12.288 64 7.68t58.88-29.184q12.288-12.288 17.92-30.208t7.168-35.328 0-31.744-2.56-20.48q-2.048-6.144-3.584-14.336t1.536-14.336q6.144-14.336 22.016-25.088t34.304-17.92 35.84-10.752 27.648-3.584q13.312 0 20.992 8.704t10.752 17.92q11.264 27.648 36.864 48.64t60.416 20.992q35.84 0 63.488-19.968t38.912-50.688q4.096-8.192 12.8-16.896t17.92-8.704q14.336 0 31.232 4.096t33.28 11.264 30.208 18.432 22.016 24.576q5.12 8.192 3.072 17.92t-4.096 13.824q-13.312 29.696-8.192 62.464t29.696 57.344 60.416 27.136 66.56-11.776q8.192-5.12 19.968-4.096t19.968 9.216q15.36 14.336 27.136 43.52t15.872 58.88q2.048 17.408-5.632 27.136t-15.872 12.8q-31.744 11.264-54.272 39.424t-22.528 64q0 34.816 18.944 60.928t49.664 37.376q7.168 4.096 12.288 8.192 11.264 9.216 15.36 23.552zM540.672 698.368q46.08 0 87.04-17.408t71.168-48.128 47.616-71.168 17.408-86.528-17.408-86.528-47.616-70.656-71.168-47.616-87.04-17.408-86.528 17.408-70.656 47.616-47.616 70.656-17.408 86.528 17.408 86.528 47.616 71.168 70.656 48.128 86.528 17.408z"
p-id="2161"
fill="#bfbfbf"
></path>
</svg> -->
<i @click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })" class="iconTo" v-show="backFlag"></i> <i @click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })" class="iconTo" v-show="backFlag"></i>
<!-- <i class="img1" @click="jumpWaibu"></i> -->
</div>
<div class="info1">
<i class="img1" @click="jumpWaibu"></i>
</div> </div>
</div> </div>
</template> </template>
@ -156,6 +142,9 @@ const goToHome = () => {
path: '/home', path: '/home',
}) })
} }
const jumpWaibu=()=>{
window.open('http://15.72.177.175:18460/analystrunner/tonglan', "_blank");
}
// //
const jumpPage = (item) => { const jumpPage = (item) => {
// 西 // 西
@ -405,6 +394,16 @@ onBeforeUnmount(() => {
background: #0058e1; background: #0058e1;
color: #fff !important; color: #fff !important;
} }
.info1 {
margin-left: 0.1rem;
display: flex;
.img1{
height: 0.3rem;
width: 1.4rem;
margin-left: 0.1rem;
background: url('~@/assets/newHome/yiwang.png') no-repeat;
}
}
.info { .info {
// width: 2rem; // width: 2rem;
@ -419,6 +418,14 @@ onBeforeUnmount(() => {
background: url('~@/assets/newHome/user.png') no-repeat; background: url('~@/assets/newHome/user.png') no-repeat;
background-size: 100%; background-size: 100%;
} }
.img1 {
margin-left: 0.08rem;
height: 0.3rem;
width: 0.8rem;
border-radius: 0.1rem;
background: url('~@/assets/newHome/yiwang.png') no-repeat;
background-size: 100%;
}
span { span {
height: 0.3rem; height: 0.3rem;

View File

@ -47,6 +47,7 @@ const integrationOrder = reactive({
// -- // --
const changeOrder = (i, val, type) => { const changeOrder = (i, val, type) => {
console.log('i, val, type------------>', i, val, type); console.log('i, val, type------------>', i, val, type);
integrationOrder.orderField = val integrationOrder.orderField = val
integrationOrder.orderType = type; integrationOrder.orderType = type;

View File

@ -230,6 +230,21 @@
</span> </span>
</template> </template>
</div> </div>
<div
v-if="
selectCardsname === '打包模式'
"
class="label-content1"
>
发布时间
<template v-if="item.createDate">
<span>
{{ item.createDate.substring(0, 10) + ' ' }}
</span>
<span>{{ item.createDate.substring(11, 19) }}</span>
</template>
<template v-else>--</template>
</div>
<div v-else> <div v-else>
发布时间 发布时间
<template v-if="item.createDate"> <template v-if="item.createDate">
@ -989,7 +1004,7 @@
margin: 0 10px 0 0; margin: 0 10px 0 0;
.header-right { .header-right {
display: flex; // display: flex;
font-size: 14px; font-size: 14px;
color: #212121; color: #212121;

View File

@ -91,6 +91,10 @@ export default defineComponent({
}) })
} }
treeData.value = res.data && res.data.data || [] treeData.value = res.data && res.data.data || []
//
if(res.data && res.data.data.length == 1) {
showBottom(treeData.value[0])
}
} }
} }
mybus.on('getDeptList', () => { mybus.on('getDeptList', () => {

View File

@ -312,7 +312,13 @@
<span>{{ statusText[record.status] || '' }}</span> <span>{{ statusText[record.status] || '' }}</span>
</template> </template>
<template v-if="column.dataIndex === 'operation'"> <template v-if="column.dataIndex === 'operation'">
<a :class="record.status != 1 ? 'disabled-text' : ''" @click=" <!-- 离线 -->
<a v-if="record.status != 1" class="disabled-text">
预览
</a>
<a-tooltip v-else placement="top">
<template #title>请申请后在我的申请中预览视频!</template>
<a @click="
openVideo( openVideo(
record.channelCode || record.channelCode ||
record.channelId || record.channelId ||
@ -322,6 +328,8 @@
"> ">
预览 预览
</a> </a>
</a-tooltip>
</template> </template>
</template> </template>
</a-table> </a-table>
@ -343,7 +351,12 @@
</a-table> </a-table>
</div> </div>
<!-- 单个预览弹窗 --> <!-- 单个预览弹窗 -->
<a-modal wrapClassName="single-preview-modal" v-model:visible="visible" title="视频预览" :width="960" destroyOnClose> <a-modal wrapClassName="single-preview-modal" v-model:visible="visible" :width="960" destroyOnClose>
<!-- title="视频预览" -->
<template #title>
<span>视频预览</span>
<span style="color: #ff4d4f;margin-left:10px">{{`(请申请后在我的申请中预览视频)`}}</span>
</template>
<template #footer></template> <template #footer></template>
<div style="width: 100%; display: flex; justify-content: center"> <div style="width: 100%; display: flex; justify-content: center">
<div style="width: 100%; height: 100%; position: relative" v-show="isXiHaiAn"> <div style="width: 100%; height: 100%; position: relative" v-show="isXiHaiAn">
@ -480,6 +493,7 @@ import moment from 'moment'
const props = defineProps({ const props = defineProps({
// //
searchValue: { type: String, default: '' }, searchValue: { type: String, default: '' },
searchType: { type: String, default: '' },
}) })
const current = ref(1) const current = ref(1)
const videoTotal = ref(0) const videoTotal = ref(0)
@ -621,6 +635,9 @@ const lookData = ref({})
if (props.searchValue) { if (props.searchValue) {
mapSearchParam.value.cameraName = props.searchValue mapSearchParam.value.cameraName = props.searchValue
} }
if (props.searchType) {
tabClick(0, props.searchType.value)
}
// //
let formPage = router.currentRoute.value.query.formPage || '' let formPage = router.currentRoute.value.query.formPage || ''
// -- // --
@ -835,6 +852,7 @@ const look = (row) => {
} }
// //
const onSearch = (searchValue) => { const onSearch = (searchValue) => {
debugger
searchData() searchData()
chengguoSearch() chengguoSearch()
} }
@ -1128,14 +1146,6 @@ const selectType = ref('政务云资源')
let tableHeight = ref('600') let tableHeight = ref('600')
//tab //tab
const tabClick = (indexFather, name) => { const tabClick = (indexFather, name) => {
console.log(
'点击tab================>',
indexFather,
name,
clickList.value,
clickList.value[indexFather]
)
selectedRowKeys.value = [] selectedRowKeys.value = []
selectedList.value = [] selectedList.value = []
if (clickList.value[indexFather].content.indexOf(name) != -1) { if (clickList.value[indexFather].content.indexOf(name) != -1) {
@ -2373,6 +2383,7 @@ video::-webkit-media-controls {
cursor: not-allowed; cursor: not-allowed;
opacity: 0.5; opacity: 0.5;
color: #666666; color: #666666;
&:hover { &:hover {
color: #666666; color: #666666;
} }

View File

@ -177,7 +177,7 @@
} }
} }
} }
this.addResourceTomap('videoMap', this.pointAllData); //this.addResourceTomap('videoMap', this.pointAllData);
}) })
}, },
methods: { methods: {
@ -477,7 +477,7 @@
} }
}) })
} }
console.log('上图数据', dataEvent) console.log('点击后上上图数据', dataEvent)
this.getMapPoint(dataEvent, 'icon_camare.png', type) this.getMapPoint(dataEvent, 'icon_camare.png', type)
}, },
getMapPoint(data, img, type) { getMapPoint(data, img, type) {

View File

@ -146,17 +146,18 @@ const getAppResources = (type, obj) => {
num: res.data.data[key], num: res.data.data[key],
}) })
} }
} else if(key !== '云资源') { //-- }
else {
jcList.value.push({ jcList.value.push({
name: key, name: key,
num: res.data.data[key], num: res.data.data[key],
}) })
} }
} }
jcList.value.push({ // jcList.value.push({
name: '会客厅', // name: '',
num: 4, // num: 4,
}) // })
// 西- // 西-
if (whoShow1.value.itShowXiHaiAn) { if (whoShow1.value.itShowXiHaiAn) {
getSoldierData('无人机') getSoldierData('无人机')
@ -328,11 +329,18 @@ const selectOne11 = (name) => {
}) })
} }
const selectOne2 = (name) => { const selectOne2 = (name) => {
console.log('点击===============》', name) let names=''
if(name ==='云资源'){
names='政务云资源'
} else if(name ==='会客厅'){
names='城市云脑会客厅'
}else{
names=name
}
router.push({ router.push({
path: '/DetailsPageconetent', path: '/DetailsPageconetent',
query: { query: {
type: name, type: names,
select: '基础设施', select: '基础设施',
}, },
}) })

View File

@ -62,7 +62,7 @@
<a-button type="primary" @click="modify(props.refObj.id, item)" v-if="item.backToFirst"> <a-button type="primary" @click="modify(props.refObj.id, item)" v-if="item.backToFirst">
修改 修改
</a-button> </a-button>
<a-popconfirm v-if="!item.ended" title="是否终止此流程?" ok-text="" cancel-text="" <a-popconfirm class="aaa" v-if="!item.ended" title="是否撤回此流程?" ok-text="" cancel-text=""
@confirm="endThis(item.instanceId)" @cancel="cancel"> @confirm="endThis(item.instanceId)" @cancel="cancel">
<a-button type="primary" danger style="margin-left: 10px"> <a-button type="primary" danger style="margin-left: 10px">
撤回申请 撤回申请
@ -463,7 +463,19 @@ const openView = (url) => {
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.aaa{
margin-right: 30px;
}
:deep(.ant-popover-inner) {
position: fixed !important;
margin-right: 100px;
}
.title { .title {
font-size: 0.18rem; font-size: 0.18rem;
color: #000; color: #000;

View File

@ -13,7 +13,7 @@
<div class="title">基本信息</div> <div class="title">基本信息</div>
<a-popconfirm <a-popconfirm
v-if="!props.refObj.ended" v-if="!props.refObj.ended"
title="是否终止此流程?" title="是否撤回此流程?"
ok-text="是" ok-text="是"
cancel-text="否" cancel-text="否"
@confirm="endThis" @confirm="endThis"

View File

@ -18,7 +18,19 @@ const {
donation, donation,
} = require('./src/config') } = require('./src/config')
const { webpackBarName, webpackBanner, donationConsole } = require('vab-config') const { webpackBarName, webpackBanner, donationConsole } = require('vab-config')
const CompressionWebpackPlugin = require('compression-webpack-plugin')
const productionGzipExtensions = [
'js',
'css',
'html',
'svg',
'json',
'txt',
'ico',
]
// gzip
const isPro = process.env.NODE_ENV === 'production'
// const isPro = false
if (donation) donationConsole() if (donation) donationConsole()
const { version, author } = require('./package.json') const { version, author } = require('./package.json')
const Webpack = require('webpack') const Webpack = require('webpack')
@ -92,7 +104,6 @@ module.exports = {
chainWebpack(config) { chainWebpack(config) {
config.resolve.symlinks(true) config.resolve.symlinks(true)
config.module.rule('svg').exclude.add(resolve('src/icon/remixIcon')).end() config.module.rule('svg').exclude.add(resolve('src/icon/remixIcon')).end()
config.module config.module
.rule('remixIcon') .rule('remixIcon')
.test(/\.svg$/) .test(/\.svg$/)
@ -110,21 +121,21 @@ module.exports = {
config.when(process.env.NODE_ENV !== 'development', (config) => { config.when(process.env.NODE_ENV !== 'development', (config) => {
config.performance.set('hints', false) config.performance.set('hints', false)
config.devtool('none') config.devtool('none')
config.optimization.splitChunks({ // config.optimization.splitChunks({
chunks: 'all', // chunks: 'all',
cacheGroups: { // cacheGroups: {
libs: { // libs: {
name: 'vue-admin-beautiful-libs', // name: 'vue-admin-beautiful-libs',
test: /[\\/]node_modules[\\/]/, // test: /[\\/]node_modules[\\/]/,
priority: 10, // priority: 10,
chunks: 'initial', // chunks: 'initial',
}, // },
}, // },
}) // })
config // config
.plugin('banner') // .plugin('banner')
.use(Webpack.BannerPlugin, [`${webpackBanner}${time}`]) // .use(Webpack.BannerPlugin, [`${webpackBanner}${time}`])
.end() // .end()
config.module config.module
.rule('images') .rule('images')
.use('image-webpack-loader') .use('image-webpack-loader')
@ -134,7 +145,19 @@ module.exports = {
}) })
.end() .end()
}) })
if (isPro) {
// 使gzip
config.plugin('compressionPlugin').use(
new CompressionWebpackPlugin({
// filename: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),
threshold: 10240, // 10240
minRatio: 0.8, //
deleteOriginalAssets: false, //
})
)
}
if (build7z) { if (build7z) {
config.when(process.env.NODE_ENV === 'production', (config) => { config.when(process.env.NODE_ENV === 'production', (config) => {
config config