Compare commits

...

38 Commits

Author SHA1 Message Date
wuhongjian 8e89d8d1b0 Merge branch 'hi-ucs-dev' into release 2022-10-18 15:24:25 +08:00
wuhongjian e96c0c11b1 bug修复 2022-10-18 15:23:33 +08:00
wuhongjian 3f6e432d0b Merge branch 'hi-ucs-dev' of http://192.168.124.50:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-10-18 15:15:41 +08:00
wuhongjian 811e80a27c bug修复 2022-10-18 15:14:50 +08:00
unknown 71041b60f2 申请审批完成后待办任务数不刷新问题 2022-10-18 15:10:01 +08:00
guoyue a7ac2e8a1e Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-10-18 14:12:26 +08:00
guoyue 42af2e980b 西海岸:基础设施-视频离线-预览按钮禁用 2022-10-18 14:11:52 +08:00
guoyue dd100d3867 西海岸-基础设施:点击消息通知列表中的数据,跳转到流程详情页面 2022-10-18 14:11:20 +08:00
unknown 05964a73e8 西海岸摄像头已申请列表添加新字段 2022-10-18 13:52:44 +08:00
a0049873 c5fc29a498 能力统计-部门数:金字塔设计修改 2022-10-18 11:12:01 +08:00
guoyue 5f3aad2539 西海岸:点击图标进入首页增加权限判断 2022-10-18 10:45:40 +08:00
guoyue 2ebec87514 西海岸:开发公安局申请 附件上传为必填 2022-10-17 17:21:18 +08:00
guoyue 0974118d3b Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-10-17 16:01:20 +08:00
guoyue adf964a400 能力申请:有附件的时候提供附件下载功能 2022-10-17 16:01:03 +08:00
guoyue 8db5b8bee5 西海岸:设备审批 增加审核时间和创建时间 2022-10-17 16:00:37 +08:00
a0049873 21431958f0 宽度 2022-10-17 14:49:21 +08:00
guoyue b66a781b81 我的待办:设备审批增加 设备名称显示字段 2022-10-17 14:39:29 +08:00
guoyue 587c728a74 我的申请--申请详情 样式调整 2022-10-17 14:16:32 +08:00
guoyue ea2afd08c9 合并冲突 2022-10-17 14:16:00 +08:00
guoyue e0bde554b9 西海岸:流程已终止更改判断条件 2022-10-17 14:01:05 +08:00
guoyue 98d1b070ab 西海岸:我的申请-设备申请单兵无人机详情增加名称显示 2022-10-17 14:00:44 +08:00
guoyue 5ac06ce8d6 西海岸:申购车删除批量删除id参数更改 2022-10-17 14:00:16 +08:00
unknown f20aac7430 数组对象监控属性修改 2022-10-17 13:48:23 +08:00
unknown e26937bc37 穿梭框重写 2022-10-17 13:38:46 +08:00
a0049873 4d65cc11e9 能力申请 1条消息时隐藏 展开按钮,审批详情 添加处理部门 2022-10-17 10:19:27 +08:00
a0049873 2c1070d4e2 访客模式 2022-10-17 09:43:35 +08:00
guoyue 29ace46c69 Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-10-14 17:36:59 +08:00
guoyue fe85cd370f 西海岸-基础设施:无人机、单兵申请成功后,页面应该返回无人机页面 2022-10-14 17:36:46 +08:00
guoyue 0d402302f7 西海岸-基础设施:无人机、单兵申请成功后,页面应该返回无人机页面 2022-10-14 17:34:35 +08:00
guoyue 34ac0b016b 西海岸:我的申请-能力申请列表增加过期时间的显示 2022-10-14 17:08:54 +08:00
guoyue 4354abdf25 西海岸-视频资源申请-列表中包含西海岸开发分局添加申请附件个模板下载 2022-10-14 15:40:14 +08:00
gongjiale 033e123edc Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev 2022-10-14 15:39:35 +08:00
gongjiale 2484cda43d 1.完成能力统计-能力上架统计:查看详情,任务开始时间、任务结束时间不转行;
2.完成能力统计-能力上架统计:搜索条件中的状态和列表中的状态请保持一致
2022-10-14 15:39:18 +08:00
guoyue 9c8785b8ce 西海岸-我的申请:查看详情界面,流程终止后,提示该流程终止 2022-10-14 14:20:45 +08:00
guoyue e34f47680b 西海岸:单兵和无人机设备申请,申请成功,前端提示文字 2022-10-14 14:20:23 +08:00
guoyue a71fc5326e 西海岸:我的申请--详情更改任务时长取值显示 2022-10-14 11:40:22 +08:00
guoyue 9bba3077ca 西海岸:我的申请--详情去掉期望效果字段 2022-10-14 11:39:41 +08:00
guoyue 4580df0182 西海岸:修复我的申请-能力上架名称不显示问题 2022-10-14 11:39:06 +08:00
30 changed files with 4385 additions and 3899 deletions

View File

@ -107,7 +107,6 @@ export default {
} else { } else {
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0 this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0
} }
console.log('数据列表', this.dataList, this.mixinViewModuleOptions.getDataListURL) console.log('数据列表', this.dataList, this.mixinViewModuleOptions.getDataListURL)
if (this.dataList[0].type === '组件服务') { if (this.dataList[0].type === '组件服务') {
this.dataList.map(val => { this.dataList.map(val => {

View File

@ -104,7 +104,7 @@ router.beforeEach((to, from, next) => {
Vue.prototype.$message.error(res.msg) Vue.prototype.$message.error(res.msg)
return next({ name: 'login' }) return next({ name: 'login' })
} }
window.SITE_CONFIG.menuList = res.data window.SITE_CONFIG.menuList = res.data.filter(item => item.site === 0)
fnAddDynamicMenuRoutes(window.SITE_CONFIG.menuList) fnAddDynamicMenuRoutes(window.SITE_CONFIG.menuList)
next({ ...to, replace: true }) next({ ...to, replace: true })
}).catch(() => { }).catch(() => {

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: kongjun qdkongjun@gmail.com * @Author: kongjun qdkongjun@gmail.com
* @Date: 2022-06-20 09:29:59 * @Date: 2022-06-20 09:29:59
* @LastEditors: kongjun qdkongjun@gmail.com * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-22 10:04:56 * @LastEditTime: 2022-10-18 15:22:45
* @FilePath: \back\src\views\main-sidebar.vue * @FilePath: \back\src\views\main-sidebar.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
@ -35,63 +35,71 @@
<script> <script>
import http from '@/utils/request' import http from '@/utils/request'
import SubMenu from "./main-sidebar-sub-menu"; import SubMenu from './main-sidebar-sub-menu'
import returnLocationStr from '@/utils/location'; import returnLocationStr from '@/utils/location'
import bus from '@/views/bus.js'
export default { export default {
data() { data () {
return { return {
numObject:{} numObject: {}
}; }
}, },
components: { components: {
SubMenu, SubMenu
}, },
created() { created () {
this.getNum() this.getNum()
//this.$store.state.sidebarMenuList = window.SITE_CONFIG["menuList"]; // this.$store.state.sidebarMenuList = window.SITE_CONFIG["menuList"];
//
bus.$off('updateTaskNum')
bus.$on('updateTaskNum', () => {
this.getNum()
})
}, },
methods: { methods: {
getNum(){ getNum () {
http.get('/act/task/myToDoTaskNum').then(({ data: res }) => { http.get('/act/task/myToDoTaskNum').then(({ data: res }) => {
this.numObject=res.data this.numObject = res.data
let menuList= window.SITE_CONFIG["menuList"]; const menuList = window.SITE_CONFIG.menuList
for(var i=0;i<menuList.length;i++){ console.log('menuList====>', menuList)
let menu=menuList[i]; console.log('this.numObject====>', this.numObject)
if(menu.id=='1541261628388888578'){// for (var i = 0; i < menuList.length; i++) {
let daibanNum=0 const menu = menuList[i]
for(let j=0;j<menu.children.length;j++){ if (menu.id == '1541261628388888578') { //
let children=menu.children[j] let daibanNum = 0
if(children.id=="1541261780432408577"){// v2 for (let j = 0; j < menu.children.length; j++) {
//西 v2 v3 const children = menu.children[j]
children.total= returnLocationStr() == 'qingdao' ? Number(this.numObject.abilityprocess_v3) : Number(this.numObject.abilityprocess_v2) if (children.id == '1541261780432408577') { // v2
daibanNum=Number(daibanNum)+Number(children.total) // 西 v2 v3
} if(children.id=="1559376285703081986"){// children.total = returnLocationStr() == 'qingdao' ? Number(this.numObject.abilityprocess_v3) : Number(this.numObject.abilityprocess_v2)
children.total=Number(this.numObject.meetingroom_book) daibanNum = Number(daibanNum) + Number(children.total)
daibanNum=Number(daibanNum)+Number(children.total) } if (children.id == '1559376285703081986') { //
}if(children.id=="1545292602084827138"){// children.total = Number(this.numObject.meetingroom_book)
children.total=Number(this.numObject.resourcemountapply) daibanNum = Number(daibanNum) + Number(children.total)
daibanNum=Number(daibanNum)+Number(children.total) } if (children.id == '1545292602084827138') { //
}if(children.id=="1545312045695377410"){// children.total = Number(this.numObject.resourcemountapply)
children.total=Number(this.numObject.abilitydemandapply) daibanNum = Number(daibanNum) + Number(children.total)
daibanNum=Number(daibanNum)+Number(children.total) } if (children.id == '1545312045695377410') { //
}if(children.id=="1545313018614521857"){// children.total = Number(this.numObject.abilitydemandapply)
children.total=Number(this.numObject.resourcundercarriageapply) daibanNum = Number(daibanNum) + Number(children.total)
daibanNum=Number(daibanNum)+Number(children.total) } if (children.id == '1545313018614521857') { //
}if(children.id=="1545313754106699777"){// children.total = Number(this.numObject.resourcundercarriageapply)
children.total=Number(this.numObject.comment_review) daibanNum = Number(daibanNum) + Number(children.total)
daibanNum=Number(daibanNum)+Number(children.total) } if (children.id == '1545313754106699777') { //
}if(children.id=="1554294862931562498"){// children.total = Number(this.numObject.comment_review)
children.total=0 daibanNum = Number(daibanNum) + Number(children.total)
daibanNum=Number(daibanNum)+Number(children.total) } if (children.id == '1554294862931562498') { //
children.total = 0
daibanNum = Number(daibanNum) + Number(children.total)
} }
} }
menu.total=daibanNum menu.total = daibanNum
} }
} }
this.$store.state.sidebarMenuList=menuList })
})
} }
}}; }
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.aui-sidebar { .aui-sidebar {

View File

@ -116,7 +116,6 @@ import CommonQuestion from '../components/common-question.vue'
import InfrastructureModal from './components/infrastructure-modal.vue' import InfrastructureModal from './components/infrastructure-modal.vue'
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
import upload from '@/views/modules/components/upload' import upload from '@/views/modules/components/upload'
const btnArray = ['基本信息', '场景痛点', '解决方案', '组合能力', '更多能力', '使用步骤'] const btnArray = ['基本信息', '场景痛点', '解决方案', '组合能力', '更多能力', '使用步骤']
// \ // \
export const getJson = (type) => { export const getJson = (type) => {
@ -163,7 +162,6 @@ export const modalTypeText = {
} }
export const getFuseResourceList = (abilityListObj) => { export const getFuseResourceList = (abilityListObj) => {
console.log('abilityListObjabilityListObj',abilityListObj);
const arr = [] const arr = []
let length = 0 let length = 0
for (const key in abilityListObj) { for (const key in abilityListObj) {
@ -176,7 +174,7 @@ export const getFuseResourceList = (abilityListObj) => {
resourceId: v.id, resourceId: v.id,
type: key, type: key,
sequence: index, sequence: index,
resourceName:v.resourceName, resourceName:v.resourceName|| v.name ,
deptName:v.deptName, deptName:v.deptName,
}) })
}) })
@ -331,9 +329,10 @@ export default {
}, },
// //
updateDataForm (data) { updateDataForm (data) {
console.log('datadatadata',data); //console.log('datadatadata',data);
if (Object.keys(this.getListParams).includes(data.title)) { if (Object.keys(this.getListParams).includes(data.title)) {
this.abilityListObj[data.title] = data.list this.abilityListObj[data.title] = data.list
console.log(' this.abilityListObj[data.title]3333', this.abilityListObj[data.title]);
} else { } else {
// 使 // 使
this.operateFuseAttrList(data.title, data) this.operateFuseAttrList(data.title, data)
@ -363,6 +362,7 @@ export default {
// //
dataFormSubmitHandle: debounce( dataFormSubmitHandle: debounce(
function () { function () {
console.log('this.dataForm------表单提交------>111111', this.dataForm)
this.$refs.dataForm.validate((valid) => { this.$refs.dataForm.validate((valid) => {
if (!valid) { if (!valid) {
this.$message.error('请检查表单是否填写完整') this.$message.error('请检查表单是否填写完整')

View File

@ -16,19 +16,20 @@
</el-transfer> </el-transfer>
</div> </div>
<div v-else-if="type==='数据资源'" class="dataTransfer"> <div v-else-if="type==='数据资源'" class="dataTransfer">
<el-transfer v-model="selectedArray" filterable :filter-method="filterMethod" filter-placeholder="请输入名称" <!-- <el-transfer v-model="selectedArray" filter-placeholder="请输入名称"
:titles="nameArray" :props="{ :titles="nameArray" :props="{
key: 'id', key: 'id',
label: 'name', label: 'name',
}" :data="transferData"> }" :data="transferData">
</el-transfer> </el-transfer>
<!-- <el-input <el-input
v-model="searchValue" v-model="searchValue"
placeholder="请输入名称" placeholder="请输入名称"
></el-input> ></el-input>
<el-button @click="rest" class="restClick">重置</el-button> --> <el-button @click="rest" class="restClick">重置</el-button> -->
<data-resource-tranfer @updateData="updateResourceDataForm" :selected-data="selectedData" :type="type"></data-resource-tranfer>
</div> </div>
<el-pagination <!-- <el-pagination
v-if="type==='数据资源'" v-if="type==='数据资源'"
:current-page="currentPage" :current-page="currentPage"
:page-size="15" :page-size="15"
@ -36,7 +37,7 @@
:total="total" :total="total"
@current-change="pageCurrentChangeHandle" @current-change="pageCurrentChangeHandle"
> >
</el-pagination> </el-pagination> -->
<template slot="footer"> <template slot="footer">
<el-button @click="showModal = false">{{ $t("cancel") }}</el-button> <el-button @click="showModal = false">{{ $t("cancel") }}</el-button>
<el-button type="primary" @click="confirmSubmitHandle()">{{ <el-button type="primary" @click="confirmSubmitHandle()">{{
@ -52,7 +53,7 @@
<script> <script>
import InfrastructureModal from '../assignedScene/components/infrastructure-modal.vue' import InfrastructureModal from '../assignedScene/components/infrastructure-modal.vue'
import DisplayList from '../assignedScene/components/display-list.vue' import DisplayList from '../assignedScene/components/display-list.vue'
import dataResourceTranfer from './data-resource-tranfer.vue'
const sjzyArray = [ const sjzyArray = [
{ {
zyname: '城阳区图书馆总分馆、社区图书室明细信息', zyname: '城阳区图书馆总分馆、社区图书室明细信息',
@ -199,7 +200,9 @@ export default {
total: 0, total: 0,
currentPage: 1, currentPage: 1,
newNum: 1, newNum: 1,
searchValue: '' searchValue: '',
selectedData:[],
newResourceData:[]
} }
}, },
watch: { watch: {
@ -223,10 +226,12 @@ export default {
}, },
methods: { methods: {
async getDataInfo (dataForm) { async getDataInfo (dataForm) {
console.log('dataForm-----====',dataForm);
console.log('this.type',this.type);
await this.getData() await this.getData()
const arr = [] const arr = []
const attrValue = dataForm.fuseResourceList.filter(v => v.type == this.type); const attrValue = dataForm.fuseResourceList.filter(v => v.type == this.type);
console.log('attrValue22',attrValue); this.selectedData = attrValue;
if (attrValue.length > 0) { if (attrValue.length > 0) {
attrValue.map(val => { attrValue.map(val => {
if(val.type==="数据资源"){ if(val.type==="数据资源"){
@ -248,6 +253,7 @@ export default {
} }
// //
this.displayList = JSON.parse(JSON.stringify(arr)); this.displayList = JSON.parse(JSON.stringify(arr));
this.displayList = Array.from(new Set(this.displayList))
// //
this.selectedArray = arr.map(v => v.id) this.selectedArray = arr.map(v => v.id)
this.$nextTick(() => { this.$nextTick(() => {
@ -286,7 +292,7 @@ export default {
this.$http[this.getDataParams.methods](this.getDataParams.url, this.$http[this.getDataParams.methods](this.getDataParams.url,
this.getDataParams.postData this.getDataParams.postData
).then(res => { ).then(res => {
console.log('res.data----获取列表-------->', res.data) console.log('res.data----数据资源获取列表-------->', res.data)
this.total = Number(res.data.data.rows) this.total = Number(res.data.data.rows)
if (res.data.code !== 0) { if (res.data.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
@ -302,37 +308,56 @@ export default {
              resourceName:v.zyname               resourceName:v.zyname
}) })
}) })
this.allData = JSON.parse(JSON.stringify(this.transferData)) this.allData = JSON.parse(JSON.stringify(this.transferData));
//console.log('this.transferData======43434',this.transferData);
//console.log('res.data----retretryry-------->', this.transferData)
}).catch(err => { }).catch(err => {
this.$message.error('未搜索到相关数据资源') this.$message.error('未搜索到相关数据资源')
}) })
} }
}, },
//
updateResourceDataForm(data){
let obj = {};
data = data.list.reduce(function(item, next) {
obj[next.id] ? '' : obj[next.id] = true && item.push(next);
return item;
}, []);
console.log('变化后的数据222',data);
this.newResourceData = data;
},
filterMethod (query, item) { filterMethod (query, item) {
console.log('1111111111111111111111111') console.log('1111111111111111111111111')
return item.name && item.name.indexOf(query) > -1 return item.name && item.name.indexOf(query) > -1
}, },
confirmSubmitHandle () { confirmSubmitHandle () {
console.log('tttttt',this.selectedArray)
if(this.type === "数据资源"){ if(this.type === "数据资源"){
// //
let selectedObjectList = []; // let selectedObjectList = [];
this.selectedArray.forEach((item)=>{ // this.selectedArray.forEach((item)=>{
let filterData = []; // let filterData = [];
filterData = this.allData.filter(v => v.id == item); // filterData = this.allData.filter(v => v.id == item);
//console.log('filterDatafilterData',filterData); // //console.log('filterDatafilterData',filterData);
selectedObjectList.push(filterData[0]); // selectedObjectList.push(filterData[0]);
}); // });
// this.$emit('update', {
// title: this.type,
// list: selectedObjectList
// })
if (this.newResourceData.length > this.maxNum) {
return this.$message.error('最多选择十条数据!')
}
this.$emit('update', { this.$emit('update', {
title: this.type, title: this.type,
list: selectedObjectList list: this.newResourceData
}) });
this.displayList = this.newResourceData;
this.showModal = false
}else{ }else{
this.$emit('update', { this.$emit('update', {
title: this.type, title: this.type,
list: this.selectedArray list: this.selectedArray
}) })
}
if (this.selectedArray.length > this.maxNum) { if (this.selectedArray.length > this.maxNum) {
return this.$message.error('最多选择十条数据!') return this.$message.error('最多选择十条数据!')
} }
@ -343,7 +368,9 @@ export default {
this.displayList.push(v) this.displayList.push(v)
} }
}) })
this.displayList = Array.from(new Set(this.displayList))
console.log(this.selectedArray, this.displayList, 'this.displayList') console.log(this.selectedArray, this.displayList, 'this.displayList')
}
}, },
handleChange(){ handleChange(){
//console.log('222222',this.selectedArray); //console.log('222222',this.selectedArray);
@ -376,9 +403,10 @@ export default {
this.getData() this.getData()
} }
}, },
components: { InfrastructureModal, DisplayList }, components: { InfrastructureModal, DisplayList,dataResourceTranfer },
mounted () { mounted () {
console.log(this.type, 'this.type') console.log(this.type, 'this.type')
} }
} }
</script> </script>
@ -493,7 +521,7 @@ export default {
position: absolute; position: absolute;
font-size: 14px; font-size: 14px;
display: inline-block; display: inline-block;
width: 80%; width: 30%;
top: 52px; top: 52px;
left: 12px; left: 12px;
} }

View File

@ -0,0 +1,415 @@
<template>
<div class="transfer">
<div class="leftTransfer">
<div class="leftTransfer_title">
<el-checkbox
:indeterminate="left.isIndeterminate"
v-model="left.checkAll"
@change="leftHandleCheckAllChange"
>{{ titles[0] }}</el-checkbox
>
<span
>{{ left.transferDataChecked.length }}/{{
left.transferData.length
}}</span
>
</div>
<el-input
@input="transferInputLeft"
class="transfer_input"
placeholder="请输入内容"
prefix-icon="el-icon-search"
v-model="left.inputValue"
>
</el-input>
<el-checkbox-group
class="transfer_group"
v-model="left.transferDataChecked"
@change="leftHandleCheckedCitiesChange"
>
<el-checkbox
v-for="item in left.transferData"
:label="item"
:key="item[defaultProps.id]"
>{{ item[defaultProps.label] }}</el-checkbox
>
</el-checkbox-group>
<el-pagination
:current-page="currentPage"
:page-size="15"
layout="total, prev, pager, next"
:total="total"
@current-change="handleCurrentChange"
>
</el-pagination>
</div>
<div class="transferButton">
<el-button type="primary" @click="push">></el-button>
<el-button type="primary" @click="del">{{ "<" }}</el-button>
</div>
<div class="rightTransfer">
<div class="rightTransfer_title">
<el-checkbox
:indeterminate="right.isIndeterminate"
v-model="right.checkAll"
@change="rightHandleCheckAllChange"
>{{ titles[1] }}</el-checkbox
>
<span
>{{ right.transferDataChecked.length }}/{{
right.transferData.length
}}</span
>
</div>
<el-input
@input="transferInputRight"
class="transfer_input"
placeholder="请输入内容"
prefix-icon="el-icon-search"
v-model="right.inputValue"
>
</el-input>
<div style="margin: 5px 0"></div>
<el-checkbox-group
class="transfer_group"
v-model="right.transferDataChecked"
@change="rightHandleCheckedCitiesChange"
>
<el-checkbox
v-for="item in right.transferData"
:label="item"
:key="item[defaultProps.id]"
>{{ item[defaultProps.label] }}</el-checkbox
>
</el-checkbox-group>
</div>
</div>
</template>
<script>
//import { listUser } from "@/api/system/user";
export default {
name: "transferPage",
props: {
titles: {
type: Array,
default: () => ["待选列表", "已选列表"],
},
selectedData: {
type: Array,
default: () => []
},
type: {
type: String,
default: ''
},
},
data() {
return {
left: {
inputValue: "",
isIndeterminate: false, //
checkAll: false, //
transferData: [], //穿
transferDataAll: [], //穿
transferDataChecked: [], //穿
},
right: {
inputValue: "",
isIndeterminate: false, //
checkAll: false, //
transferData: [], //穿
transferDataAll: [], //穿
transferDataChecked: [], //穿
},
total: 0,
currentPage: 1,
queryParams: {
current: 1,
size: 10,
},
getDataParams:{
methods: "post",
url: "/resource/getDataResource",
postData: {
serviceName: "",
orderField: "fbrq",
orderType: "desc",
pageNum: 1,
pageSize: 15
}
},
defaultProps: {
label: "name",
id: "id",
},
};
},
created() {
this.initTransferData();
},
watch: {
// selectedData:{
// handler (newName, oldName) {
// console.log('',newName);
// this.right.transferData = newName
// }
// },
right: {
handler (newName, oldName) {
//console.log('nnnnnn',newName);
this.$emit('updateData', {
title: "选中的数据资源",
list: newName.transferData
})
},
immediate: false,
deep: true
}
},
methods: {
//
initTransferData() {
this.$http[this.getDataParams.methods](this.getDataParams.url,
this.getDataParams.postData
).then(response => {
console.log('数据资源response---->',response.data.data.data);
let responseDataList = [];
(response.data.data.data || []).map(v => {
responseDataList.push({
type: this.type,
id: v.guid,
name: v.zyname || '--',
deptName:v.TGBM,
resourceName:v.zyname
})
});
this.left.transferData = responseDataList;
this.left.transferData.map((item, index) => {
item.current = this.currentPage;
});
this.total = Number(response.data.data.rows);
this.left.transferDataAll = this.left.transferData;
// id
let checkedIdArr = this.right.transferData.map((item) => {
return item[this.defaultProps.id];
});
//
this.left.transferData = this.left.transferData.filter((item) => {
if (!checkedIdArr.includes(item[this.defaultProps.id])) {
return item;
}
});
});
let selectedDataRight = [];
this.selectedData = JSON.parse(JSON.stringify(this.selectedData));
(this.selectedData || []).map(v => {
selectedDataRight.push({
type: v.resource.type,
id: v.resource.resourceId,
name: v.resource.resourceName,
deptName:v.resource.deptName,
})
});
selectedDataRight.map(v => {
this.right.transferData.push(v);
});
let obj = {};
this.right.transferData = this.right.transferData.reduce(function(item, next) {
obj[next.id] ? '' : obj[next.id] = true && item.push(next);
return item;
}, []);
this.right.transferDataAll = this.right.transferData;
//console.log('this.selectedData',this.selectedData);
//console.log('left',this.left);
//console.log('rigth',this.right);
},
//
leftHandleCheckAllChange(val) {
this.left.transferDataChecked = val ? this.left.transferData : [];
this.left.isIndeterminate = false;
},
//
leftHandleCheckedCitiesChange(value) {
let checkedCount = value.length;
this.left.checkAll = checkedCount === this.left.transferData.length;
this.left.isIndeterminate =
checkedCount > 0 && checkedCount < this.left.transferData.length;
},
//
rightHandleCheckAllChange(val) {
this.right.transferDataChecked = val ? this.right.transferData : [];
this.right.isIndeterminate = false;
},
//
rightHandleCheckedCitiesChange(value) {
let checkedCount = value.length;
this.right.checkAll = checkedCount === this.right.transferData.length;
this.right.isIndeterminate =
checkedCount > 0 && checkedCount < this.right.transferData.length;
},
// 穿
push() {
//
this.right.transferData = [
...this.right.transferData,
...this.left.transferDataChecked,
].sort((a, b) => {
return a[this.defaultProps.id] - b[this.defaultProps.id];
});
this.right.transferDataAll = this.right.transferData;
// id
let checkedIdArr = this.right.transferData.map((item) => {
return item[this.defaultProps.id];
});
//
this.left.transferData = this.left.transferData.filter((item) => {
if (!checkedIdArr.includes(item[this.defaultProps.id])) {
return item;
}
});
this.left.transferDataAll = this.left.transferData;
//
this.left.transferDataChecked = [];
this.left.isIndeterminate = false;
this.left.checkAll = false;
},
// 穿 current
del() {
//
let arr = this.right.transferDataChecked.filter((item) => {
if (this.queryParams.current == item.current) {
return item;
}
});
//
this.left.transferData = [...this.left.transferData, ...arr].sort(
(a, b) => {
return a[this.defaultProps.id] - b[this.defaultProps.id];
}
);
this.left.transferDataAll = this.left.transferData;
// id
let checkedIdArr = this.right.transferDataChecked.map((item) => {
return item[this.defaultProps.id];
});
//
this.right.transferData = this.right.transferData.filter((item) => {
if (!checkedIdArr.includes(item[this.defaultProps.id])) {
return item;
}
});
this.right.transferDataAll = this.right.transferData;
//
this.right.transferDataChecked = [];
this.right.isIndeterminate = false;
this.right.checkAll = false;
},
handleCurrentChange(val) {
//console.log('valval',val);
this.getDataParams.postData.pageNum = val;
this.initTransferData();
},
transferInputLeft() {
if (this.left.inputValue) {
this.left.transferData = this.left.transferData.filter(
(p) => p[this.defaultProps.label].indexOf(this.left.inputValue) !== -1
);
} else {
this.left.transferData = this.left.transferDataAll;
}
},
transferInputRight() {
if (this.right.inputValue) {
this.right.transferData = this.right.transferData.filter(
(p) =>
p[this.defaultProps.label].indexOf(this.right.inputValue) !== -1
);
} else {
this.right.transferData = this.right.transferDataAll;
}
},
},
};
</script>
<style lang="scss" scoped>
.transfer {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 auto;
.transferButton {
.el-button {
display: block;
margin: 10px 0;
}
}
.el-checkbox {
line-height: 30px;
}
.transfer_input {
margin: 10px 15px 0 15px;
width: 85%;
.el-input--medium .el-input__inner {
height: 36px;
line-height: 36px;
border-radius: 16px;
}
}
.leftTransfer,
.rightTransfer {
height: 510px;
border: 1px solid #e6ebf5;
border-radius: 4px;
overflow: hidden;
background: #ffffff;
display: inline-block;
vertical-align: middle;
width: 360px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
position: relative;
margin: 0 10px;
.el-checkbox {
display: block;
}
.el-input {
position: absolute;
font-size: 14px;
display: inline-block;
width: 70%;
top: 40px;
}
.pagination {
position: absolute;
bottom: -8px;
right: 0;
}
.leftTransfer_title,
.rightTransfer_title {
display: flex;
justify-content: space-between;
height: 40px;
line-height: 40px;
background: #f5f7fa;
margin: 0;
padding-left: 15px;
border-bottom: 1px solid #e6ebf5;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: #000000;
padding-right: 15px;
align-items: center;
}
}
}
.transfer_group {
padding-left: 15px;
margin-top: 50px;
height: 390px;
overflow-y: auto;
}
</style>

View File

@ -88,16 +88,49 @@
<!--审批详情--> <!--审批详情-->
<div> <div>
<div class="title">审批详情</div> <div class="title">审批详情</div>
<div v-for="item in this.dataSource.data" :key="item"> <!-- <div v-for="item in this.dataSource.data" :key="item"> -->
<a-table :dataSource="item[1]" :columns="columns"> <!-- <a-table :dataSource="item[1]" :columns="columns">
<template #bodyCell="{ column, text }"> <template #bodyCell="{ column, text }">
<template v-if="column.dataIndex === 'name'"> <template v-if="column.dataIndex === 'name'">
<a>{{ text }}</a> <a>{{ text }}</a>
</template> </template>
</template> </template>
</a-table> </a-table> -->
</div> <el-table
:data="dataSource.data[0][1]"
style="width: 100%">
<el-table-column
prop="activityName"
label="任务名称"
width="180">
</el-table-column>
<el-table-column
prop="assigneeName"
label="处理人"
width="120">
</el-table-column>
<el-table-column
prop="startTime"
label="任务开始时间"
width="180">
</el-table-column>
<el-table-column
prop="endTime"
label="任务结束时间"
width="180">
</el-table-column>
<el-table-column
prop="comment"
label="审核意见" show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="duration"
label="任务时长"
width="100">
</el-table-column>
</el-table>
</div> </div>
<!-- </div> -->
<!-- <div else> <!-- <div else>
gai gai
</div> --> </div> -->
@ -228,6 +261,7 @@ export default {
} }
} }
} }
console.log("this.dataSource.data[0]========",this.dataSource.data[0][1])
}, },
// init () { // init () {
// this.visible = true // this.visible = true

View File

@ -38,7 +38,7 @@
</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" v-model="examineStatus"
@ -46,8 +46,9 @@
clearable clearable
> >
<el-option label="全部" value="-1"></el-option> <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="2"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -371,8 +372,9 @@ export default {
{ name: '组件服务', key: 1 }, { name: '组件服务', key: 1 },
{ name: '应用资源', key: 2 }, { name: '应用资源', key: 2 },
{ name: '基础设施', key: 3 }, { name: '基础设施', key: 3 },
{ name: '数据资源', key: 3 }, { name: '数据资源', key: 4 },
{ name: '知识库', key: 3 } { name: '知识库', key: 5 },
{ name: '会议室', value: 6}
], ],
tableData: [], tableData: [],
tableData2: [ tableData2: [
@ -396,7 +398,8 @@ export default {
{ name: '图层服务', value: 2 }, { name: '图层服务', value: 2 },
{ name: '通用开发组件', value: 3 }, { name: '通用开发组件', value: 3 },
{ name: '页面开发组件', value: 4 }, { name: '页面开发组件', value: 4 },
{ name: '应用资源', value: 5 } { name: '应用资源', value: 5 },
{ name: '会议室', value: 6}
], // ], //
detailFlag: false, // detailFlag: false, //
startDate: '', // startDate: '', //
@ -478,7 +481,9 @@ export default {
} else if (this.examineStatus == '0') { } else if (this.examineStatus == '0') {
this.status = '审核中' this.status = '审核中'
} else if (this.examineStatus == '1') { } else if (this.examineStatus == '1') {
this.status = '审核完成' this.status = '通过'
}else if (this.examineStatus == '2') {
this.status = '不通过'
} else { } else {
this.status = this.examineStatus this.status = this.examineStatus
} }
@ -534,7 +539,9 @@ export default {
} else if (this.examineStatus == '0') { } else if (this.examineStatus == '0') {
this.status = '审核中' this.status = '审核中'
} else if (this.examineStatus == '1') { } else if (this.examineStatus == '1') {
this.status = '审核完成' this.status = '通过'
} else if (this.examineStatus == '2') {
this.status = '不通过'
} else { } else {
this.status = this.examineStatus this.status = this.examineStatus
} }
@ -627,13 +634,15 @@ export default {
}, },
// //
getOneDetail (page) { getOneDetail (page) {
var passAndReview = '' // "" var passAndReview = '' // ""
if (this.examineStatus == '-1') { if (this.examineStatus == '-1') {
this.status = '' this.status = ''
} else if (this.examineStatus == '0') { } else if (this.examineStatus == '0') {
this.status = '审核中' this.status = '审核中'
} else if (this.examineStatus == '1') { } else if (this.examineStatus == '1') {
this.status = '通过' this.status = '通过'
} else if (this.examineStatus == '2') {
this.status = '不通过'
} else { } else {
this.status = this.examineStatus this.status = this.examineStatus
} }
@ -657,13 +666,15 @@ export default {
}, },
// 使 // 使
getTwoDetail (page) { getTwoDetail (page) {
var passAndReview = '' // "" var passAndReview = '' // ""
if (this.examineStatus == '-1') { if (this.examineStatus == '-1') {
this.status = '' this.status = ''
} else if (this.examineStatus == '0') { } else if (this.examineStatus == '0') {
this.status = '审核中' this.status = '审核中'
} else if (this.examineStatus == '1') { } else if (this.examineStatus == '1') {
this.status = '通过' this.status = '通过'
} else if (this.examineStatus == '2') {
this.status = '不通过'
} else { } else {
this.status = this.examineStatus this.status = this.examineStatus
} }

View File

@ -81,7 +81,7 @@ export default {
init () { init () {
this.visible = true this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['dataForm'].resetFields() this.$refs.dataForm.resetFields()
this.iconList = getIconList() this.iconList = getIconList()
this.dataForm.parentName = this.$t('menu.parentNameDefault') this.dataForm.parentName = this.$t('menu.parentNameDefault')
this.getMenuList() this.getMenuList()
@ -89,11 +89,12 @@ export default {
}, },
// //
getMenuList () { getMenuList () {
console.log('获取菜单位置1')
return this.$http.get('/sys/menu/list?type=0').then(({ data: res }) => { return this.$http.get('/sys/menu/list?type=0').then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
this.menuList = res.data this.menuList = res.data.filter(item => item.site === 0)
}).catch(() => {}) }).catch(() => {})
}, },
// , // ,
@ -114,11 +115,11 @@ export default {
}, },
// //
dataFormSubmitHandle: debounce(function () { dataFormSubmitHandle: debounce(function () {
this.$refs['dataForm'].validate((valid) => { this.$refs.dataForm.validate((valid) => {
if (!valid) { if (!valid) {
return false return false
} }
this.$http['post']('/devtools/menu', this.dataForm).then(({ data: res }) => { this.$http.post('/devtools/menu', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
@ -133,7 +134,7 @@ export default {
}) })
}).catch(() => {}) }).catch(() => {})
}) })
}, 1000, { 'leading': true, 'trailing': false }) }, 1000, { leading: true, trailing: false })
} }
} }
</script> </script>

View File

@ -38,6 +38,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createDate" label="创建时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="auditTime" label="审核时间" header-align="center" align="center"></el-table-column>
<el-table-column label="应用领域" header-align="center" align="center"> <el-table-column label="应用领域" header-align="center" align="center">
<template slot-scope="scope" v-if="scope.row.applicationArea"> <template slot-scope="scope" v-if="scope.row.applicationArea">
<span class="area-text" v-for="(x,i) in JSON.parse(scope.row.applicationArea)" <span class="area-text" v-for="(x,i) in JSON.parse(scope.row.applicationArea)"

View File

@ -47,6 +47,13 @@
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="申请人所属部门" header-align="center" align="center">
<template slot-scope="scope">
<span>{{
(scope.row.params && scope.row.params.tAbilityApplicationDTOList[0].unit)
}}</span>
</template>
</el-table-column>
<el-table-column <el-table-column
:label="$t('process.system')" :label="$t('process.system')"
header-align="center" header-align="center"
@ -161,7 +168,8 @@ export default {
created () { created () {
bus.$off('competencyApplicationInit') bus.$off('competencyApplicationInit')
bus.$on('competencyApplicationInit', () => { bus.$on('competencyApplicationInit', () => {
this.getDataList() this.getDataList();
bus.$emit('updateTaskNum')
}) })
} }
} }

View File

@ -12,15 +12,23 @@
<el-table v-loading="dataListLoading" :data="dataList" border style="width: 100%"> <el-table v-loading="dataListLoading" :data="dataList" border style="width: 100%">
<el-table-column prop="title" label="申请标题" header-align="center" align="center"></el-table-column> <el-table-column prop="title" label="申请标题" header-align="center" align="center"></el-table-column>
<el-table-column prop="name" label="申请人信息" header-align="center" align="center"></el-table-column> <el-table-column prop="name" label="申请人信息" header-align="center" align="center"></el-table-column>
<el-table-column label="设备名称" header-align="center" align="center">
<template slot-scope="scope">
<span class="demand-text">{{
(scope.row && scope.row.tbDeviceDTO && scope.row.tbDeviceDTO.name)
}}</span>
</template>
</el-table-column>
<el-table-column prop="state" label="审批状态" header-align="center" align="center"> <el-table-column prop="state" label="审批状态" header-align="center" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{wrjStateObj[scope.row.state]}}</span> <span>{{wrjStateObj[scope.row.state]}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="phone" label="电话" header-align="center" align="center"></el-table-column> <el-table-column prop="createDate" label="创建时间" header-align="center" align="center"></el-table-column>
<!-- <el-table-column prop="phone" label="电话" header-align="center" align="center"></el-table-column>
<el-table-column prop="dept" label="单位" header-align="center" align="center"></el-table-column> <el-table-column prop="dept" label="单位" header-align="center" align="center"></el-table-column>
<el-table-column prop="applicationSystem" label="应用系统" header-align="center" align="center"> <el-table-column prop="applicationSystem" label="应用系统" header-align="center" align="center">
</el-table-column> </el-table-column> -->
<el-table-column label="应用领域" header-align="center" align="center"> <el-table-column label="应用领域" header-align="center" align="center">
<template slot-scope="scope" v-if="scope.row.applicationArea"> <template slot-scope="scope" v-if="scope.row.applicationArea">
<span class="area-text" v-for="(x,i) in JSON.parse(scope.row.applicationArea)" <span class="area-text" v-for="(x,i) in JSON.parse(scope.row.applicationArea)"

View File

@ -13,40 +13,32 @@
<h3>申请人信息</h3> <h3>申请人信息</h3>
<div class="big-BOX"> <div class="big-BOX">
<p> <p>
<span class="text" <span class="text">申请人<span> {{ dataForm.content.user || '--' }}</span></span>
>申请人<span> {{ dataForm.content.user || '--' }}</span></span <span class="text">电话<span>{{ dataForm.content.phone || '--' }}</span></span>
> <span class="text">单位<span>{{ dataForm.content.unit || '--' }}</span></span>
<span class="text"
>电话<span>{{ dataForm.content.phone || '--' }}</span></span
>
<span class="text"
>单位<span>{{ dataForm.content.unit || '--' }}</span></span
>
</p> </p>
<p> <p>
<span class="text"> <span class="text">
能力申请标题<span> 能力申请标题<span>
{{ dataForm.content.title || '--' }}</span {{ dataForm.content.title || '--' }}</span></span>
></span <span class="text" v-if="dataForm.content.applicationSystem">应用系统<span>{{
>
<span class="text" v-if="dataForm.content.applicationSystem"
>应用系统<span>{{
dataForm.content.applicationSystem || '--' dataForm.content.applicationSystem || '--'
}}</span></span }}</span></span>
> <span class="text"></span>
<span class="text" ></span>
</p> </p>
<p> <p>
<span v-if="dataForm.content.applicationSceneStr" <span v-if="dataForm.content.applicationSceneStr">应用场景<span>
>应用场景<span> {{ dataForm.content.applicationSceneStr || '--' }}</span></span>
{{ dataForm.content.applicationSceneStr || '--' }}</span
></span>
</p> </p>
<p> <p>
<span> <span>
需求依据<span> 需求依据<span>
{{ dataForm.content.applicationBackground || '--' }}</span {{ dataForm.content.applicationBackground || '--' }}</span></span>
></span> </p>
<p>
<div>
<el-button type="primary" v-if="dataForm.content.attachment" size="small" @click="download(dataForm.content)">附件下载</el-button>
</div>
</p> </p>
<!-- <p> <!-- <p>
<span> <span>
@ -102,9 +94,7 @@
<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="primary" @click="showDialog('同意')">同意</el-button> <el-button type="primary" @click="showDialog('同意')">同意</el-button>
<el-button type="danger" plain @click="showDialog('驳回')" <el-button type="danger" plain @click="showDialog('驳回')">驳回</el-button>
>驳回</el-button
>
<!-- <el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input> <!-- <el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input>
<el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input> <el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input>
<el-button class="inputBule" @click="agreeOrNot">提交</el-button> --> <el-button class="inputBule" @click="agreeOrNot">提交</el-button> -->
@ -113,21 +103,12 @@
<!-- 流程详情 --> <!-- 流程详情 -->
<ren-process-detail></ren-process-detail> <ren-process-detail></ren-process-detail>
<el-dialog <el-dialog title="审批意见" :close-on-click-modal="false" :visible.sync="dialogVisible" width="30%"
title="审批意见" :before-close="handleClose">
:close-on-click-modal="false"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose"
>
<el-input v-model="input" placeholder="请输入审批意见"></el-input> <el-input v-model="input" placeholder="请输入审批意见"></el-input>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="handleClose2"> </el-button> <el-button @click="handleClose2"> </el-button>
<el-button <el-button type="primary" @click.native="agreeOrNot($store.state.contentTabsActiveName)"> </el-button>
type="primary"
@click.native="agreeOrNot($store.state.contentTabsActiveName)"
> </el-button
>
</span> </span>
</el-dialog> </el-dialog>
</el-card> </el-card>
@ -144,7 +125,7 @@ import bus from '@/views/bus.js'
export default { export default {
// //
mixins: [processModule], mixins: [processModule],
data () { data() {
return { return {
dialogVisible: false, dialogVisible: false,
dialogType: '', dialogType: '',
@ -173,7 +154,7 @@ export default {
agreeOrList: '同意' agreeOrList: '同意'
} }
}, },
created () { created() {
// 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
@ -207,7 +188,7 @@ export default {
RenProcessDetail RenProcessDetail
}, },
methods: { methods: {
init () { init() {
// this.visible = true // this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
// this.$refs.dataForm.resetFields() // this.$refs.dataForm.resetFields()
@ -219,23 +200,23 @@ export default {
} }
}) })
}, },
showDialog (title) { 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 = ''
done() done()
}) })
.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 +
@ -244,7 +225,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}`
@ -307,7 +288,7 @@ export default {
this.dataList.push(obj) this.dataList.push(obj)
} }
}) })
.catch(() => {}) .catch(() => { })
} else { } else {
params = `instanceId=${this.dataForm.instanceId}` params = `instanceId=${this.dataForm.instanceId}`
this.$http this.$http
@ -359,11 +340,11 @@ export default {
this.dataList.push(obj) this.dataList.push(obj)
} }
}) })
.catch(() => {}) .catch(() => { })
} }
}, },
// //
applyData () { applyData() {
this.$http this.$http
.get(`/resource/select/${this.dataForm.instanceId}`) .get(`/resource/select/${this.dataForm.instanceId}`)
.then(({ data: res }) => { .then(({ data: res }) => {
@ -375,7 +356,7 @@ export default {
// this.dataForm.content = res.data // this.dataForm.content = res.data
// console.log(this.dataForm, 'ela') // console.log(this.dataForm, 'ela')
}) })
.catch(() => {}) .catch(() => { })
}, },
// 退 // 退
agreeOrNot: debounce( agreeOrNot: debounce(
@ -412,7 +393,7 @@ export default {
} }
}) })
}) })
.catch(() => {}) .catch(() => { })
this.tabRemoveHandle(data) this.tabRemoveHandle(data)
} else { } else {
this.$message.error('请输入审批意见!') this.$message.error('请输入审批意见!')
@ -455,7 +436,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
@ -482,13 +463,19 @@ export default {
} }
}, },
// //
startProcessErrorCallback (data) { startProcessErrorCallback(data) {
console.log(data) console.log(data)
}, },
// //
taskHandleErrorCallback (data) {} taskHandleErrorCallback(data) { },
download(data) {
const alink = document.createElement('a')
alink.download = '附件' // ,,IE10
alink.href = data.attachment // url
alink.click() //
}, },
mounted () { },
mounted() {
// this.applyData() // this.applyData()
} }
} }
@ -497,38 +484,47 @@ export default {
::v-deep .big-BOX { ::v-deep .big-BOX {
background: rgba(244, 245, 248, 0.8); background: rgba(244, 245, 248, 0.8);
padding: 24px; padding: 24px;
h3 { h3 {
font-size: 16px; font-size: 16px;
color: #212121; color: #212121;
} }
p { p {
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
color: #212121; color: #212121;
font-size: 14px; font-size: 14px;
span { span {
display: inline-block; display: inline-block;
margin-left: 8px; margin-left: 8px;
line-height: 32px; line-height: 32px;
span { span {
font-weight: bold; font-weight: bold;
} }
} }
.text { .text {
width: 500px; width: 500px;
} }
} }
.lastP { .lastP {
margin-top: 16px; margin-top: 16px;
width: 100%; width: 100%;
span { span {
display: flex; display: flex;
span { span {
padding: 0 12px; padding: 0 12px;
height: 32px; height: 32px;
background: rgba(232, 234, 239, 1); background: rgba(232, 234, 239, 1);
border-radius: 2px; border-radius: 2px;
button { button {
background: unset; background: unset;
border: 0; border: 0;
@ -539,6 +535,7 @@ export default {
} }
} }
} }
::v-deep .AbilityApply { ::v-deep .AbilityApply {
margin-top: 32px; margin-top: 32px;
@ -548,27 +545,33 @@ export default {
border-bottom: 1px solid #dddee1; border-bottom: 1px solid #dddee1;
padding-bottom: 10px; padding-bottom: 10px;
} }
ul { ul {
padding-left: 0px; padding-left: 0px;
li { li {
list-style: none; list-style: none;
padding: 30px 0; padding: 30px 0;
border-bottom: 1px solid #dddee1; border-bottom: 1px solid #dddee1;
display: flex; display: flex;
img { img {
width: 100px; width: 100px;
height: 100px; height: 100px;
} }
div { div {
margin-left: 16px; margin-left: 16px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
h2 { h2 {
margin-bottom: 20px; margin-bottom: 20px;
font-size: 20px; font-size: 20px;
color: #000; color: #000;
display: flex; display: flex;
span { span {
display: block; display: block;
font-size: 14px; font-size: 14px;
@ -581,22 +584,26 @@ export default {
border-radius: 4px; border-radius: 4px;
} }
} }
p { p {
margin-bottom: 0; margin-bottom: 0;
} }
} }
} }
.clearfix:after { .clearfix:after {
display: block; display: block;
content: ""; content: "";
clear: both; clear: both;
} }
.title { .title {
color: #0558e1; color: #0558e1;
font-size: 18px; font-size: 18px;
padding-bottom: 0; padding-bottom: 0;
border-bottom: 0; border-bottom: 0;
} }
.title:before { .title:before {
content: ""; content: "";
width: 6px; width: 6px;
@ -610,17 +617,21 @@ export default {
} }
} }
} }
::v-deep .agreeOr > div {
::v-deep .agreeOr>div {
display: flex; display: flex;
align-items: center; align-items: center;
.el-input { .el-input {
margin-right: 10px; margin-right: 10px;
margin-left: 32px; margin-left: 32px;
} }
} }
::v-deep .agreeOr > div:last-of-type {
::v-deep .agreeOr>div:last-of-type {
margin-top: 15px; margin-top: 15px;
} }
.blueAll { .blueAll {
::v-deep .el-radio-button__inner { ::v-deep .el-radio-button__inner {
width: 80px; width: 80px;
@ -632,12 +643,14 @@ export default {
color: #0558e1; color: #0558e1;
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;
} }
} }
.inputBule { .inputBule {
width: 55px; width: 55px;
height: 32px; height: 32px;
@ -648,8 +661,10 @@ export default {
color: #ffffff; color: #ffffff;
border: 1px solid #0558e1; border: 1px solid #0558e1;
} }
.redAll { .redAll {
margin-left: 10px; margin-left: 10px;
::v-deep .el-radio-button__inner { ::v-deep .el-radio-button__inner {
width: 80px; width: 80px;
height: 32px; height: 32px;
@ -661,12 +676,14 @@ export default {
color: #e83a48; color: #e83a48;
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;
} }
} }
.blueInput { .blueInput {
width: 55px; width: 55px;
} }

View File

@ -123,11 +123,12 @@ export default {
}, },
// //
getMenuList () { getMenuList () {
console.log('获取菜单位置2')
return this.$http.get('/sys/menu/list?type=0').then(({ data: res }) => { return this.$http.get('/sys/menu/list?type=0').then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
this.menuList = res.data this.menuList = res.data.filter(item => item.site === 0)
}).catch(() => {}) }).catch(() => {})
}, },
// //

View File

@ -1,3 +1,10 @@
<!--
* @Author: hisense.wuhongjian
* @Date: 2022-06-14 09:30:23
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-10-17 14:54:26
* @Description: 告诉大家这是什么
-->
<template> <template>
<el-card shadow="never" class="aui-card--fill"> <el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__menu"> <div class="mod-sys__menu">

Binary file not shown.

View File

@ -15,6 +15,7 @@ const state = () => ({
accessToken: getAccessToken(), accessToken: getAccessToken(),
username: '', username: '',
realName: '', realName: '',
deptName: '',
userId: '', userId: '',
avatar: '', avatar: '',
role: 0, // role: 0, //
@ -26,6 +27,7 @@ const getters = {
avatar: (state) => state.avatar, avatar: (state) => state.avatar,
role: (state) => state.role, role: (state) => state.role,
userId: (state) => state.userId, userId: (state) => state.userId,
deptName: (state) => state.deptName,
} }
const mutations = { const mutations = {
/** /**
@ -64,6 +66,10 @@ const mutations = {
setUserId(state, id) { setUserId(state, id) {
state.userId = id state.userId = id
}, },
//
setDeptName(state, name) {
state.deptName = name
},
/** /**
* @author chuzhixin 1204505056@qq.com * @author chuzhixin 1204505056@qq.com
* @description 设置头像 * @description 设置头像
@ -136,6 +142,7 @@ const actions = {
commit('setRealname', res.data.data.realName) commit('setRealname', res.data.data.realName)
commit('setRole', res.data.data.roleIdList.length) commit('setRole', res.data.data.roleIdList.length)
commit('setUserId', res.data.data.id) commit('setUserId', res.data.data.id)
commit('setDeptName', res.data.data.deptName)
// TODO // TODO
// let { username, avatar, roles, ability } = data // let { username, avatar, roles, ability } = data
// if (username && roles && Array.isArray(roles)) { // if (username && roles && Array.isArray(roles)) {

View File

@ -1,8 +1,8 @@
/* /*
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-04-01 17:23:11 * @Date: 2022-04-01 17:23:11
* @LastEditors: hisense.wuhongjian * @LastEditors: Light
* @LastEditTime: 2022-10-11 13:59:18 * @LastEditTime: 2022-10-17 09:25:32
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
*/ */
/** /**
@ -26,7 +26,6 @@ router.beforeEach(async (to, from, next) => {
// if (SSOTOKEN) { // if (SSOTOKEN) {
// setAccessToken(SSOTOKEN) // setAccessToken(SSOTOKEN)
// } // }
console.log('验证白名单', routesWhiteList)
const token = getAccessToken() const token = getAccessToken()
console.log('token', token) console.log('token', token)
let hasToken = token let hasToken = token
@ -44,6 +43,7 @@ router.beforeEach(async (to, from, next) => {
accessRoutes.forEach((item) => { accessRoutes.forEach((item) => {
router.addRoute(item) router.addRoute(item)
}) })
console.log('验证白名单', routesWhiteList)
if (routesWhiteList.indexOf(to.path) !== -1) { if (routesWhiteList.indexOf(to.path) !== -1) {
debugger debugger
next() next()

View File

@ -318,7 +318,7 @@
// //
const funnelPlot = (dataList) => { const funnelPlot = (dataList) => {
// //
let arrCopy = ['0-5', '5-10', '10-15', '15-20', '20以上'] let arrCopy = ['1-5', '5-10', '10-15', '15-20', '20以上']
// //
dataList.sort((a, b) => { dataList.sort((a, b) => {
return Number(a.value) - Number(b.value) return Number(a.value) - Number(b.value)

View File

@ -2,7 +2,11 @@
<div class="ability-to-apply-for" :class="{ all: falg }"> <div class="ability-to-apply-for" :class="{ all: falg }">
<div class="title"> <div class="title">
<span>申请能力</span> <span>申请能力</span>
<div class="btnBox" v-show="!falg"> <div
class="btnBox"
v-show="!falg"
v-if="dataForm[0].arr.length > 1 || dataForm.length > 1"
>
<svg <svg
t="1659419933164" t="1659419933164"
class="btn" class="btn"
@ -97,7 +101,10 @@
{{ {{
val.description || val.description ||
((val.note1 || '') && ((val.note1 || '') &&
(JSON.parse(val.note1) && JSON.parse(val.note1)[0] && JSON.parse(val.note1)[0].channelName || '--') + ((JSON.parse(val.note1) &&
JSON.parse(val.note1)[0] &&
JSON.parse(val.note1)[0].channelName) ||
'--') +
'等' + '等' +
JSON.parse(val.note1).length + JSON.parse(val.note1).length +
'个摄像头') || '个摄像头') ||
@ -105,7 +112,11 @@
}} }}
</div> </div>
</div> </div>
<div class="remove" v-if="item.arr.length>1" @click="removeFunction(val)"></div> <div
class="remove"
v-if="item.arr.length > 1"
@click="removeFunction(val)"
></div>
</div> </div>
</template> </template>
</div> </div>
@ -115,11 +126,17 @@
title="已申请摄像头列表" title="已申请摄像头列表"
@ok="videoVisible = false" @ok="videoVisible = false"
> >
<a-select placeholder="请选择归属部门" v-model:value="deptName" :getPopupContainer="(triggerNode) => triggerNode.parentNode" show-search option-filter-prop="children" :filterOption="filterOption" @change="deptIdChangeFunction">
<a-select-option v-for="(item, index) in deptNameAll" :key="`${index}-${item}`" :value="item.name">
{{ item.name }}
</a-select-option>
</a-select>
<a-table <a-table
:columns="columns" :columns="columns"
:data-source="xVideoList" :data-source="xVideoList"
bordered bordered
:pagination="{ defaultPageSize: 6 }" :pagination="{ defaultPageSize: 6 }"
style="margin-top:10px"
> >
<template #bodyCell="{ column, text }"> <template #bodyCell="{ column, text }">
<!-- <template> <!-- <template>
@ -135,6 +152,7 @@
import { message } from 'ant-design-vue' import { message } from 'ant-design-vue'
import { ref, defineProps } from 'vue' import { ref, defineProps } from 'vue'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import { getDeptAll } from '@/api/user'
const router = useRouter() const router = useRouter()
const props = defineProps({ const props = defineProps({
dataList: { type: Array, default: null }, dataList: { type: Array, default: null },
@ -143,12 +161,19 @@
let dataForm = ref([]) let dataForm = ref([])
const videoVisible = ref(false) const videoVisible = ref(false)
const xVideoList = ref([]) const xVideoList = ref([])
const xVideoListAll = ref([])
const deptNameAll = ref([]) //
const deptFlage = ref(true) //
const deptName = ref(null)
const columns = ref([ const columns = ref([
{ {
title: '摄像头名称', title: '摄像头名称',
dataIndex: 'name', dataIndex: 'name',
}, },
{
title: '归属部门',
dataIndex: 'managementUnitName',
}
]) ])
// eslint-disable-next-line vue/no-setup-props-destructure // eslint-disable-next-line vue/no-setup-props-destructure
dataForm.value = props.dataList dataForm.value = props.dataList
@ -178,11 +203,16 @@
// //
const showItem = (id, type, delFlag, note1) => { const showItem = (id, type, delFlag, note1) => {
if (type == '基础设施') { if (type == '基础设施') {
let arr = JSON.parse(note1) let arr = JSON.parse(note1);
xVideoList.value = [] xVideoList.value = []
arr.map((val) => { arr.map((val) => {
xVideoList.value.push({ name: val.channelName || '', key: val.channelId }) xVideoList.value.push({
name: val.channelName || '',
key: val.channelId,
managementUnitName:val.managementUnitName || '',
}) })
})
xVideoListAll.value = xVideoList.value;
videoVisible.value = true videoVisible.value = true
} else { } else {
if (delFlag == 0) { if (delFlag == 0) {
@ -197,6 +227,27 @@
} }
} }
} }
//
const deptIdChangeFunction = (name) => {
//console.log('nnnndddd',name);
//console.log('xVideoList',xVideoList);
//namexVideoList
xVideoList.value = xVideoListAll.value.filter((item) => {
if (name && item.managementUnitName.indexOf(name) < 0) return false
return true
});
}
//
const getDeptAllData = () =>{
getDeptAll().then((res) => {
deptNameAll.value = res.data.data
})
}
getDeptAllData();
//select
const filterOption = (input, option) => {
return option.value.toLowerCase().indexOf(input.toLowerCase()) >= 0
}
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
@ -337,4 +388,11 @@
display: flex; display: flex;
align-items: center; align-items: center;
} }
::v-deep .ant-table-thead > tr > th {
//padding-left: px;
font-size: 18px;
font-weight: bold;
color:#000000 ;
//background: # !important;
}
</style> </style>

View File

@ -145,7 +145,6 @@
></a-select> ></a-select>
</a-form-item> </a-form-item>
</div> </div>
<div> <div>
<a-form-item <a-form-item
label="需求依据" label="需求依据"
@ -162,20 +161,50 @@
/> />
</a-form-item> </a-form-item>
</div> </div>
<!-- 西海岸--附件上传 -->
<div v-if="iskfq && isXiHaiAn">
<a-row style="margin-top: 0.4rem">
<a-col :span="24">
<a-form-item
name="attachment"
label="附件上传"
class="introduction"
:rules="[{ required: true, message: '请上传附件' }]"
>
<a-upload
:max-count="1"
accept=".doc,.docx,pdf"
v-model:file-list="fileList"
:action="`${apiURL}/upload`"
@remove="handleRemove"
@change="roomUpload"
>
<a-button>
<upload-outlined>选择上传附件</upload-outlined>
</a-button>
<span>
支持docdocxPDF等格式支撑材料上传文件大小不超过100M
</span>
</a-upload>
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col :span="24" style="margin-left: 106px">
<a
href="/static/download/感知资源申请表.doc"
download="感知资源申请表"
>
感知资源申请表模板下载
</a>
</a-col>
</a-row>
</div>
<div class="bottom-btn"> <div class="bottom-btn">
<a-button <a-button
style=" class="cancel-apply"
width: 80px;
height: 38px;
margin-right: 20px;
background: #e1edfa;
color: #0087ff;
font-size: 14px;
border-radius: 6px;
border: none;
padding: 0;
text-align: center;
"
type="primary" type="primary"
html-type="cancle" html-type="cancle"
@click="resetFields()" @click="resetFields()"
@ -183,17 +212,7 @@
退出申请 退出申请
</a-button> </a-button>
<a-button <a-button
style=" class="confirm-apply"
width: 80px;
height: 38px;
background: #0087ff;
color: #fff;
font-size: 14px;
border-radius: 6px;
border: none;
padding: 0;
text-align: center;
"
type="primary" type="primary"
html-type="submit" html-type="submit"
@click="processStartHandle()" @click="processStartHandle()"
@ -241,6 +260,7 @@
import { pageWithAttrs, updateIntegrationServices } from '@/api/home' import { pageWithAttrs, updateIntegrationServices } from '@/api/home'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js' import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
import { getIntegrationDetail, soldierApply } from '@/api/home' import { getIntegrationDetail, soldierApply } from '@/api/home'
import { useStore } from 'vuex'
import * as moment from 'moment' import * as moment from 'moment'
export default { export default {
@ -252,6 +272,8 @@
}, },
setup() { setup() {
const router = useRouter() const router = useRouter()
const store = useStore()
const deptName = store.getters['user/deptName']
const disabled = ref(false) const disabled = ref(false)
const flag = ref(false) const flag = ref(false)
const list = ref(JSON.parse(localStorage.getItem('applyList'))) const list = ref(JSON.parse(localStorage.getItem('applyList')))
@ -279,6 +301,7 @@
label: '90天', label: '90天',
}, },
] ]
const apiURL = window.SITE_CONFIG.apiURL
if (!applyAll) { if (!applyAll) {
list.value.map((item) => { list.value.map((item) => {
@ -307,6 +330,18 @@
const isXiHaiAn = ref(whoShow.itShowXiHaiAn) const isXiHaiAn = ref(whoShow.itShowXiHaiAn)
// 西-- // 西--
const isCamera = ref(false) const isCamera = ref(false)
// 西-
let note1 = JSON.parse(
(list.value[0] && list.value[0].arr && list.value[0].arr[0].note1) ||
'[]'
)
let iskfq = ref(
note1.some(
(v) =>
v.managementUnitName == '开发区公安局' ||
v.managementUnitName == '开发区公安分局'
)
)
if ( if (
list.value[0] && list.value[0] &&
list.value[0].arr && list.value[0].arr &&
@ -560,6 +595,7 @@
handleWrjApply(formName) handleWrjApply(formName)
return return
} }
submitApply(formName).then((res) => { submitApply(formName).then((res) => {
message.success('申请提交成功,请到消息中心查看!') message.success('申请提交成功,请到消息中心查看!')
console.log('能力申请================>', res) console.log('能力申请================>', res)
@ -726,34 +762,6 @@
]) ])
const systemOptions = ref([]) const systemOptions = ref([])
const systemOptions2 = ref([]) const systemOptions2 = ref([])
const handleChange = (info) => {
if (info.file.status !== 'uploading') {
// console.log(info.file, info.fileList)
}
if (info.file.status === 'done') {
message.success(`${info.file.name} 上传成功`)
formName.enclosure = info.file.response.data
formName.enclosureName = info.file.name
} else if (info.file.status === 'error') {
message.error(`${info.file.name} 上传失败`)
}
}
const beforeUpload = (file) => {
const isPNG =
file.type === 'image/png' ||
'image/doc' ||
'image/docx' ||
'image/jpg' ||
'image/png' ||
'image/jpeg' ||
'image/pdf' ||
'image/xlxs' ||
'image/ppt'
if (!isPNG) {
message.error(`上传失败`)
}
return isPNG || Upload.LIST_IGNORE
}
const fileList = ref([]) const fileList = ref([])
// //
const systemHandleChange = (value) => { const systemHandleChange = (value) => {
@ -782,11 +790,14 @@
if (res.data.data.records.length == 0) { if (res.data.data.records.length == 0) {
message.warning('该关键词,暂无应用资源!') message.warning('该关键词,暂无应用资源!')
} else { } else {
//
res.data.data.records.map((val) => { res.data.data.records.map((val) => {
if (val.deptName === deptName) {
systemOptions2.value.push({ systemOptions2.value.push({
value: val.name, value: val.name,
label: val.name, label: val.name,
}) })
}
}) })
// console.log('===================>', systemOptions2.value) // console.log('===================>', systemOptions2.value)
} }
@ -868,9 +879,22 @@
} }
soldierApply(_data) soldierApply(_data)
.then((res) => { .then((res) => {
if (res.data.code == 0) { if (res.data.msg === 'success') {
message.success(res.data.msg) message.success('申请提交成功,请到消息中心查看!')
jumpToDetailsPageconetent() setTimeout(() => {
router.push({
path: '/DetailsPageconetent',
query: {
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB,
//
facilitiesType:
list.value[0] &&
list.value[0].arr &&
list.value[0].arr[0] &&
list.value[0].arr[0].type,
},
})
}, 1000)
} else { } else {
message.error('申请失败!') message.error('申请失败!')
} }
@ -880,6 +904,14 @@
}) })
} }
//
const roomUpload = (response) => {
if (response.file.response !== undefined) {
fileList.value = response.fileList
formName.attachment = response.file.response.data
}
}
return { return {
deptIdChangeFunction, deptIdChangeFunction,
formRef, formRef,
@ -897,11 +929,11 @@
headers: { headers: {
authorization: 'authorization-text', authorization: 'authorization-text',
}, },
handleChange, // handleChange,
applySuccess, applySuccess,
disabled, disabled,
baseURL, baseURL,
beforeUpload, // beforeUpload,
dataList, dataList,
systemHandleChange, systemHandleChange,
systemHandleSearch, systemHandleSearch,
@ -915,6 +947,9 @@
isCamera, isCamera,
isXiHaiAn, isXiHaiAn,
expireDateOptions, expireDateOptions,
apiURL,
roomUpload,
iskfq,
} }
}, },
} }
@ -1021,4 +1056,29 @@
justify-content: center; justify-content: center;
// position: fixed; // position: fixed;
} }
.cancel-apply {
width: 80px;
height: 38px;
margin-right: 20px;
background: #e1edfa;
color: #0087ff;
font-size: 14px;
border-radius: 6px;
border: none;
padding: 0;
text-align: center;
}
.confirm-apply {
width: 80px;
height: 38px;
background: #0087ff;
color: #fff;
font-size: 14px;
border-radius: 6px;
border: none;
padding: 0;
text-align: center;
}
</style> </style>

View File

@ -1,11 +1,8 @@
<template> <template>
<div <div class="home-header" :class="[
class="home-header"
:class="[
select !== 'home' || scrollTop > 500 ? 'white' : '', select !== 'home' || scrollTop > 500 ? 'white' : '',
props.showView === 'algorithm-details' ? '' : '', props.showView === 'algorithm-details' ? '' : '',
]" ]">
>
<div class="name" @click="goToHome"> <div class="name" @click="goToHome">
<div class="name-bg" v-if="!itShowXiHaiAn"></div> <div class="name-bg" v-if="!itShowXiHaiAn"></div>
<div class="name-bg-xihaian" v-else></div> <div class="name-bg-xihaian" v-else></div>
@ -14,52 +11,26 @@
<p>(United Capacity System)</p> <p>(United Capacity System)</p>
</div> </div>
</div> </div>
<div <div v-for="item in navList" :key="item.key" @click="jumpPage(item)" class="nav"
v-for="item in navList" :class="item.key == select ? 'select' : ''">
:key="item.key"
@click="jumpPage(item)"
class="nav"
:class="item.key == select ? 'select' : ''"
>
{{ item.name }} {{ item.name }}
</div> </div>
<!-- 购物车 --> <!-- 购物车 -->
<a-badge :count="sgcNum"> <a-badge :count="sgcNum">
<svg <svg t="1650455446850" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
t="1650455446850" p-id="2069" width="0.4rem" height="0.4rem" @click="goToSgc">
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="2069"
width="0.4rem"
height="0.4rem"
@click="goToSgc"
>
<path <path
d="M384 832v85.333333h-85.333333v-85.333333h85.333333z m405.333333 0v85.333333h-85.333333v-85.333333h85.333333zM240.32 185.002667l24.149333 140.928h633.173334L835.285333 746.666667h-563.626666l-85.333334-497.685334H94.485333v-64h145.834667z m583.104 204.928H275.434667L325.632 682.666667h454.464l43.328-292.736z" d="M384 832v85.333333h-85.333333v-85.333333h85.333333z m405.333333 0v85.333333h-85.333333v-85.333333h85.333333zM240.32 185.002667l24.149333 140.928h633.173334L835.285333 746.666667h-563.626666l-85.333334-497.685334H94.485333v-64h145.834667z m583.104 204.928H275.434667L325.632 682.666667h454.464l43.328-292.736z"
:fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'" :fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'" p-id="2070"></path>
p-id="2070"
></path>
</svg> </svg>
</a-badge> </a-badge>
<a-badge :count="mynoticeNum" style="margin-left: 0.2rem"> <a-badge :count="mynoticeNum" style="margin-left: 0.2rem">
<!-- 消息提醒 --> <!-- 消息提醒 -->
<svg <svg t="1654051054113" class="icon2" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
t="1654051054113" p-id="2187" width="0.35rem" height="0.35rem">
class="icon2"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="2187"
width="0.35rem"
height="0.35rem"
>
<path <path
d="M544 161.536a330.666667 330.666667 0 0 1 298.666667 329.130667h-0.341334c0.213333 1.493333 0.341333 2.986667 0.341334 4.565333v219.434667h39.68a32 32 0 0 1 0 64h-212.053334a160 160 0 0 1-316.586666 0H141.909333a32 32 0 1 1 0-64h39.424v-219.434667c0-1.578667 0.128-3.072 0.341334-4.565333H181.333333a330.666667 330.666667 0 0 1 298.666667-329.130667V128a32 32 0 1 1 64 0v33.536z m-298.666667 553.130667h533.333334v-219.434667c0-1.578667 0.128-3.072 0.341333-4.565333h-0.341333a266.666667 266.666667 0 1 0-533.333334 0h-0.341333c0.213333 1.493333 0.341333 2.986667 0.341333 4.565333v219.434667z m359.765334 64H418.901333a96 96 0 0 0 186.197334 0z" d="M544 161.536a330.666667 330.666667 0 0 1 298.666667 329.130667h-0.341334c0.213333 1.493333 0.341333 2.986667 0.341334 4.565333v219.434667h39.68a32 32 0 0 1 0 64h-212.053334a160 160 0 0 1-316.586666 0H141.909333a32 32 0 1 1 0-64h39.424v-219.434667c0-1.578667 0.128-3.072 0.341334-4.565333H181.333333a330.666667 330.666667 0 0 1 298.666667-329.130667V128a32 32 0 1 1 64 0v33.536z m-298.666667 553.130667h533.333334v-219.434667c0-1.578667 0.128-3.072 0.341333-4.565333h-0.341333a266.666667 266.666667 0 1 0-533.333334 0h-0.341333c0.213333 1.493333 0.341333 2.986667 0.341333 4.565333v219.434667z m359.765334 64H418.901333a96 96 0 0 0 186.197334 0z"
:fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'" :fill="props.showView === 'algorithm-details' ? '#1296db' : '#1296db'" p-id="2188"></path>
p-id="2188"
></path>
</svg> </svg>
<!-- <a-avatar shape="square" size="large" /> --> <!-- <a-avatar shape="square" size="large" /> -->
</a-badge> </a-badge>
@ -88,10 +59,7 @@
<template #title> <template #title>
<span>{{ user.realName }}</span> <span>{{ user.realName }}</span>
</template> </template>
<span <span class="name" @click="jumpPage({ name: '个人中心', key: 'personalCenter' })">
class="name"
@click="jumpPage({ name: '个人中心', key: 'personalCenter' })"
>
{{ user.realName }} {{ user.realName }}
</span> </span>
</a-tooltip> </a-tooltip>
@ -114,58 +82,54 @@
fill="#bfbfbf" fill="#bfbfbf"
></path> ></path>
</svg> --> </svg> -->
<i <i @click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })" class="iconTo" v-show="backFlag"></i>
@click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })"
class="iconTo"
v-show="backFlag"
></i>
</div> </div>
</div> </div>
</template> </template>
<script setup> <script setup>
import { ref, onMounted, onBeforeUnmount, defineProps } from 'vue' import { ref, onMounted, onBeforeUnmount, defineProps } from 'vue'
import { getUserInfo } from '@/api/user' import { getUserInfo } from '@/api/user'
import { recordRoute } from '@/config' import { recordRoute } from '@/config'
import { useRoute, useRouter } from 'vue-router' import { useRoute, useRouter } from 'vue-router'
import { mynotice } from '@/api/home' import { mynotice } from '@/api/home'
import { useStore } from 'vuex' import { useStore } from 'vuex'
import { getSgcTotal } from '@/api/home' import { getSgcTotal } from '@/api/home'
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js' import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
import { message } from 'ant-design-vue' import { message } from 'ant-design-vue'
const store = useStore() const store = useStore()
const router = useRouter() const router = useRouter()
const route = useRoute() const route = useRoute()
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn) const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn)
// //
const user = ref({ const user = ref({
username: store.getters['user/username'], username: store.getters['user/username'],
realName: store.getters['user/realName'], realName: store.getters['user/realName'],
}) })
const select = ref(router.currentRoute.value.name) const select = ref(router.currentRoute.value.name)
const mynoticeFlag = ref(false) const mynoticeFlag = ref(false)
const mynoticeData = ref([]) const mynoticeData = ref([])
const navList = ref(navListManagement.navList) const navList = ref(navListManagement.navList)
const backFlag = ref(true) const backFlag = ref(true)
getUserInfo().then((res) => { getUserInfo().then((res) => {
if ( if (
res.data.data.roleIdList.length == 0 && res.data.data.roleIdList.length == 0 &&
res.data.data.superAdmin === 0 res.data.data.superAdmin === 0
) { ) {
backFlag.value = false backFlag.value = false
} }
}) })
console.log('navList------------>', navList) console.log('navList------------>', navList)
const props = defineProps({ const props = defineProps({
showView: { type: String, default: '' }, showView: { type: String, default: '' },
}) })
// 退 // 退
const logout = async () => { const logout = async () => {
await store.dispatch('user/logout') await store.dispatch('user/logout')
window.sessionStorage.setItem('visits', JSON.stringify([])) window.sessionStorage.setItem('visits', JSON.stringify([]))
// 西 // 西
@ -177,15 +141,23 @@
router.push('/login') router.push('/login')
} }
} }
}
//
const goToHome = () => {
// 西
if (itShowXiHaiAn.value) {
if (
!xhaHasPermissionUser.list.includes(user.value.username)
) {
return message.warn('暂无权限')
}
} }
//
const goToHome = () => {
router.push({ router.push({
path: '/home', path: '/home',
}) })
} }
// //
const jumpPage = (item) => { const jumpPage = (item) => {
// 西 // 西
if (itShowXiHaiAn.value) { if (itShowXiHaiAn.value) {
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例'] let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
@ -271,50 +243,50 @@
router.push('/home') router.push('/home')
break break
} }
} }
const scrollTop = ref(0) const scrollTop = ref(0)
window.onscroll = function () { window.onscroll = function () {
// //
//scrollTop //scrollTop
scrollTop.value = scrollTop.value =
document.documentElement.scrollTop || document.body.scrollTop document.documentElement.scrollTop || document.body.scrollTop
// console.log('' + scrollTop.value) // console.log('' + scrollTop.value)
} }
mybus.on('getSgcNum', () => { mybus.on('getSgcNum', () => {
getSgcTotal().then((res) => { getSgcTotal().then((res) => {
sgcNum.value = res.data.data.count sgcNum.value = res.data.data.count
// console.log('========================>', res.data.data.count) // console.log('========================>', res.data.data.count)
}) })
}) })
const sgcNum = ref(0) const sgcNum = ref(0)
const goToSgc = () => { const goToSgc = () => {
window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle')) window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle'))
router.push('/personalCenter') router.push('/personalCenter')
} }
const mynoticeNum = ref(0) const mynoticeNum = ref(0)
// //
const getMynotice = () => { const getMynotice = () => {
mynotice({ page: 1, limit: 3, readStatus: 0 }).then((res) => { mynotice({ page: 1, limit: 3, readStatus: 0 }).then((res) => {
// console.log('', res.data.data) // console.log('', res.data.data)
mynoticeNum.value = res.data.data.total mynoticeNum.value = res.data.data.total
mynoticeData.value = res.data.data.list mynoticeData.value = res.data.data.list
}) })
} }
const goToView = () => { const goToView = () => {
router.push({ router.push({
path: '/mynoticeView', path: '/mynoticeView',
}) })
} }
// const read = (item) => { // const read = (item) => {
// mynoticeRead(item.id).then((res) => { // mynoticeRead(item.id).then((res) => {
// console.log('', res) // console.log('', res)
// getMynotice() // getMynotice()
// }) // })
// } // }
// -- cookie // -- cookie
onMounted(() => { onMounted(() => {
getSgcTotal().then((res) => { getSgcTotal().then((res) => {
// console.log('========================>', res.data.data.count) // console.log('========================>', res.data.data.count)
sgcNum.value = res.data.data.count sgcNum.value = res.data.data.count
@ -348,19 +320,19 @@
mybus.on('getMynotice', () => { mybus.on('getMynotice', () => {
getMynotice() getMynotice()
}) })
}) })
onBeforeUnmount(() => { onBeforeUnmount(() => {
mybus.off('getSgcNum') mybus.off('getSgcNum')
mybus.off('getMynotice') mybus.off('getMynotice')
}) })
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@font-face { @font-face {
font-family: 'header-typeface'; font-family: 'header-typeface';
src: url('~@/assets/newHome/font/header-typeface.ttf'); src: url('~@/assets/newHome/font/header-typeface.ttf');
} }
.home-header { .home-header {
height: 0.64rem; height: 0.64rem;
width: 100%; width: 100%;
max-width: 1920px; max-width: 1920px;
@ -397,8 +369,7 @@
.name-bg-xihaian { .name-bg-xihaian {
height: 0.6rem; height: 0.6rem;
width: 0.6rem; width: 0.6rem;
background: url('~@/assets/newHome/newHome-title-bg-xihaian.png') background: url('~@/assets/newHome/newHome-title-bg-xihaian.png') no-repeat;
no-repeat;
background-size: 100%; background-size: 100%;
margin-right: 0.15rem; margin-right: 0.15rem;
} }
@ -478,9 +449,9 @@
cursor: pointer; cursor: pointer;
} }
} }
} }
.white { .white {
background-color: #fff; background-color: #fff;
box-shadow: 0 0.02rem 0.1rem rgba(0, 0, 0, 0.1); box-shadow: 0 0.02rem 0.1rem rgba(0, 0, 0, 0.1);
@ -513,15 +484,13 @@
color: #000; color: #000;
} }
} }
} }
.blue { .blue {
position: absolute; position: absolute;
background: linear-gradient( background: linear-gradient(to right,
to right,
rgba(15, 90, 253, 0.8), rgba(15, 90, 253, 0.8),
rgba(36, 25, 248, 0.8) rgba(36, 25, 248, 0.8));
);
.name { .name {
color: #fff; color: #fff;
@ -541,9 +510,9 @@
color: #fff; color: #fff;
} }
} }
} }
.mynotice { .mynotice {
width: 4rem; width: 4rem;
height: 3rem; height: 3rem;
background: #eee; background: #eee;
@ -560,18 +529,19 @@
color: #000; color: #000;
font-size: 0.16rem; font-size: 0.16rem;
} }
} }
.mynotice::-webkit-scrollbar { .mynotice::-webkit-scrollbar {
display: none; display: none;
} }
:deep(.ant-list-item) { :deep(.ant-list-item) {
border-bottom: 0.01rem solid #ccc; border-bottom: 0.01rem solid #ccc;
padding: 0.1rem; padding: 0.1rem;
} }
:deep(.ant-list-item-meta-title) {
:deep(.ant-list-item-meta-title) {
// display: flex; // display: flex;
// justify-content: space-around; // justify-content: space-around;
// align-items: center; // align-items: center;
@ -597,18 +567,18 @@
font-size: 0.1rem; font-size: 0.1rem;
} }
} }
} }
.iconTo { .iconTo {
display: block; display: block;
width: 0.35rem; width: 0.35rem;
height: 0.35rem; height: 0.35rem;
background: url('~@/assets/newHome/iconTo.png') no-repeat; background: url('~@/assets/newHome/iconTo.png') no-repeat;
cursor: pointer; cursor: pointer;
} }
</style> </style>
<style> <style>
html::-webkit-scrollbar { html::-webkit-scrollbar {
display: none; display: none;
} }
</style> </style>

File diff suppressed because it is too large Load Diff

View File

@ -157,7 +157,7 @@
password: Encrypt(this.form.password), password: Encrypt(this.form.password),
username: this.form.username, username: this.form.username,
}) })
window.localStorage.setItem('tokenStartTime', new Date().getTime()) // window.localStorage.setItem('tokenStartTime', new Date().getTime())
window.sessionStorage.setItem('visits', JSON.stringify([])) window.sessionStorage.setItem('visits', JSON.stringify([]))
console.log( console.log(
'添加visits========================================>', '添加visits========================================>',

View File

@ -262,35 +262,27 @@ const goPage = (item) => {
} }
} }
} }
let isQingDao = whoShow.itShowQingDao;
// //
const read = (item) => { const read = (item) => {
if (selectData.value.length === 0 && !item) { if (selectData.value.length === 0 && !item) {
message.error('未选择消息!') return message.error('未选择消息!')
return
} }
console.log(selectData.value) console.log(selectData.value)
if (item) { if (item) {
// // ,
if (item.readStatus === 1) { if (item.readStatus === 1) {
if(isQingDao) { return goPage(item)
goPage(item)
}
//
return
} }
mynoticeRead(item.id).then((res) => { mynoticeRead(item.id).then((res) => {
if (res.data.code == 0) { if (res.data.code == 0) {
message.success('通知已读!') message.success('通知已读!')
mybus.emit('getMynotice') mybus.emit('getMynotice')
init() init()
if (isQingDao) {
// //
setTimeout(() => { setTimeout(() => {
goPage(item) goPage(item)
}, 1000) }, 1500)
}
} else { } else {
message.error('操作失败!') message.error('操作失败!')
} }

View File

@ -29,7 +29,7 @@
<p> <p>
<span>应用背景{{ props.refObj.applicationBackground }}</span> <span>应用背景{{ props.refObj.applicationBackground }}</span>
</p> </p>
<p> <p v-if="!whoShow1.itShowXiHaiAn">
<span>期望效果{{ props.refObj.effectWish }}</span> <span>期望效果{{ props.refObj.effectWish }}</span>
</p> </p>
<p v-if="props.refObj.enclosure"> <p v-if="props.refObj.enclosure">
@ -159,26 +159,32 @@
<span class="channelName">{{ val.channelName }}</span> <span class="channelName">{{ val.channelName }}</span>
<span class="type">基础设施</span> <span class="type">基础设施</span>
</div> </div>
<div>
<a-button type="primary" v-if="item.approveStatus == '通过' && whoShow1.itShowXiHaiAn" <a-button type="primary" v-if="item.approveStatus == '通过' && whoShow1.itShowXiHaiAn"
@click.stop="openVideo(val)"> @click.stop="openVideo(val)">
视频预览 视频预览
</a-button> </a-button>
<div class="channelName" style="color:#ff7875" v-if="whoShow1.itShowXiHaiAn && item.ended">该流程已终止
</div>
</div>
</div> </div>
<div class="ability-bottom"> <div class="ability-bottom">
<div class="dec2">位置{{ val.nodeName }}</div> <div class="dec2">位置{{ val.nodeName }}</div>
<div class="result" v-if="item.approveStatus == '通过'"> <div class="result" v-if="item.approveStatus == '通过'">
申请结果{{ 申请结果
'列表地址:' + <span>列表地址</span><span style="cursor: pointer;" @click="openView(backUrl +
'resource/getApplyCameraList/' +
item.instanceId)">{{
backUrl + backUrl +
'resource/getApplyCameraList/' + 'resource/getApplyCameraList/' +
item.instanceId + item.instanceId }}</span>
';' + <span>视频流地址</span>
'视频流地址:' + <span style="cursor: pointer" @click="openView(backUrl +
'resource/hls/getHls/?key=' +
val.channelId)">{{
backUrl + backUrl +
'resource/hls/getHls/?key=' + 'resource/hls/getHls/?key=' +
val.channelId val.channelId}}</span>
}}
</div> </div>
</div> </div>
</div> </div>
@ -452,6 +458,10 @@ const handleUser = () => {
}) })
} }
const openView = (url) => {
window.open(url, '_blank')
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.title { .title {
@ -530,7 +540,7 @@ const handleUser = () => {
margin-left: 0.1rem; margin-left: 0.1rem;
.ability { .ability {
height: 1.3rem; height: 1.6rem;
display: flex; display: flex;
border-bottom: 1px #eee solid; border-bottom: 1px #eee solid;
padding: 0.1rem 0; padding: 0.1rem 0;
@ -732,6 +742,7 @@ const handleUser = () => {
font-weight: bold; font-weight: bold;
opacity: 0.4; opacity: 0.4;
transform: rotate(-25deg); transform: rotate(-25deg);
width: 470px width: 470px;
} }
</style> </style>

View File

@ -1,9 +1,21 @@
<template> <template>
<DeviceApplyDetail v-if="showType === '设备申请'" :refObj="refObj"></DeviceApplyDetail> <DeviceApplyDetail
v-if="showType === '设备申请'"
:refObj="refObj"
></DeviceApplyDetail>
<div class="form-container" v-else> <div class="form-container" v-else>
<AbilityApplication :refObj="refObj" v-if="showType === '能力申请'"></AbilityApplication> <AbilityApplication
<PutOnTheShelf :refObj="refObj" v-else-if="showType === '能力上架'"></PutOnTheShelf> :refObj="refObj"
<OffTheShelf :refObj="refObj" v-else-if="showType === '能力下架'"></OffTheShelf> v-if="showType === '能力申请'"
></AbilityApplication>
<PutOnTheShelf
:refObj="refObj"
v-else-if="showType === '能力上架'"
></PutOnTheShelf>
<OffTheShelf
:refObj="refObj"
v-else-if="showType === '能力下架'"
></OffTheShelf>
<Demand :refObj="refObj" v-else-if="showType === '能力需求'"></Demand> <Demand :refObj="refObj" v-else-if="showType === '能力需求'"></Demand>
<Comment :refObj="refObj" v-else-if="showType === '需求评论'"></Comment> <Comment :refObj="refObj" v-else-if="showType === '需求评论'"></Comment>
<OtherApplications :refObj="refObj" v-else></OtherApplications> <OtherApplications :refObj="refObj" v-else></OtherApplications>
@ -23,46 +35,46 @@
</div> </div>
</template> </template>
<script setup> <script setup>
import AbilityApplication from './AbilityApplication.vue' import AbilityApplication from './AbilityApplication.vue'
import PutOnTheShelf from './PutOnTheShelf .vue' import PutOnTheShelf from './PutOnTheShelf .vue'
import OffTheShelf from './OffTheShelf.vue' import OffTheShelf from './OffTheShelf.vue'
import Demand from './Demand.vue' import Demand from './Demand.vue'
import Comment from './Comment.vue' import Comment from './Comment.vue'
import DeviceApplyDetail from './DeviceApplyDetail.vue' import DeviceApplyDetail from './DeviceApplyDetail.vue'
import OtherApplications from '@/views/personalCenter/components/OtherApplications ' import OtherApplications from '@/views/personalCenter/components/OtherApplications '
import { onMounted, reactive, defineProps, ref } from 'vue' import { onMounted, reactive, defineProps, ref } from 'vue'
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
// import { baseURL } from '@/config' // import { baseURL } from '@/config'
import qs from 'qs' import qs from 'qs'
import { import {
getApplyForm, getApplyForm,
getTaskHandleDetailInfo, getTaskHandleDetailInfo,
getDemandForm, getDemandForm,
nengliziyuanshangjiaapply, nengliziyuanshangjiaapply,
getTaskVariables, getTaskVariables,
} from '@/api/personalCenter' } from '@/api/personalCenter'
import { selectOneDel } from '@/api/home' import { selectOneDel } from '@/api/home'
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 },
processInstanceId: { type: String, default: null }, processInstanceId: { type: String, default: null },
resourceId: { type: String, default: null }, resourceId: { type: String, default: null },
refObj: { type: Object, default: null }, refObj: { type: Object, default: null },
showType: { type: String, default: null }, showType: { type: String, default: null },
}) })
const refObj = ref({}) const refObj = ref({})
const showType = ref('') const showType = ref('')
// eslint-disable-next-line vue/no-setup-props-destructure // eslint-disable-next-line vue/no-setup-props-destructure
refObj.value = props.refObj refObj.value = props.refObj
// eslint-disable-next-line vue/no-setup-props-destructure // eslint-disable-next-line vue/no-setup-props-destructure
showType.value = props.showType showType.value = props.showType
// //
const dataSource = reactive({ data: [] }) const dataSource = reactive({ data: [] })
console.log('refObj------------>', refObj); console.log('refObj------------>', refObj)
// console.log(props.refObj, '---------------------------------------') // console.log(props.refObj, '---------------------------------------')
const downloadFile = (path, name) => { const downloadFile = (path, name) => {
const xhr = new XMLHttpRequest() const xhr = new XMLHttpRequest()
xhr.open('get', path) xhr.open('get', path)
xhr.responseType = 'blob' xhr.responseType = 'blob'
@ -87,9 +99,9 @@ const downloadFile = (path, name) => {
URL.revokeObjectURL(url) URL.revokeObjectURL(url)
} }
} }
} }
// //
const formName = reactive({ const formName = reactive({
user: '', user: '',
phone: '', phone: '',
unit: '', unit: '',
@ -98,17 +110,22 @@ const formName = reactive({
scene: '', scene: '',
basis: '', basis: '',
id: '', id: '',
}) })
let shifoushizujian = ref('') let shifoushizujian = ref('')
let nameNotShow = ref('') let nameNotShow = ref('')
let algorithmShow = ref('') let algorithmShow = ref('')
const dataForm = reactive({ data: {} }) const dataForm = reactive({ data: {} })
const columns = [ const columns = [
{ {
title: '任务名称', title: '任务名称',
dataIndex: 'activityName', dataIndex: 'activityName',
key: 'activityName', key: 'activityName',
}, },
{
title: '处理部门',
dataIndex: 'assigneeDeptName',
key: 'assigneeDeptName',
},
{ {
title: '处理人', title: '处理人',
dataIndex: 'assigneeName', dataIndex: 'assigneeName',
@ -130,12 +147,12 @@ const columns = [
key: 'comment', key: 'comment',
}, },
{ {
title: '任务时长/秒', title: '任务时长',
dataIndex: 'durationInSeconds', dataIndex: 'duration',
key: 'durationInSeconds', key: 'duration',
}, },
] ]
const getInfo = () => { const getInfo = () => {
console.log(props.processInstanceId, '============================') console.log(props.processInstanceId, '============================')
if (props.processDefinitionName == '能力申请') { if (props.processDefinitionName == '能力申请') {
// getTaskVariables({ taskId: props.processInstanceId }).then((res) => { // getTaskVariables({ taskId: props.processInstanceId }).then((res) => {
@ -199,9 +216,9 @@ const getInfo = () => {
dataForm.data = res.data.data dataForm.data = res.data.data
}) })
} }
} }
const getLiuZhuanInfo = () => { const getLiuZhuanInfo = () => {
const params = qs.stringify({ const params = qs.stringify({
processInstanceId: props.processInstanceId, processInstanceId: props.processInstanceId,
}) })
@ -212,9 +229,9 @@ const getLiuZhuanInfo = () => {
}) })
dataSource.data.push([props.processInstanceId, arr]) dataSource.data.push([props.processInstanceId, arr])
}) })
} }
onMounted(() => { onMounted(() => {
// getInfo() // getInfo()
if (props.refObj.resourceApplication) { if (props.refObj.resourceApplication) {
dataSource.data = [] dataSource.data = []
@ -228,9 +245,9 @@ onMounted(() => {
} else { } else {
getLiuZhuanInfo() getLiuZhuanInfo()
} }
}) })
const getResourceURL = () => { const getResourceURL = () => {
console.log('111111111111111111111111111111', Cookies.get('token')) console.log('111111111111111111111111111111', Cookies.get('token'))
const params = qs.stringify({ const params = qs.stringify({
token: Cookies.get('token'), token: Cookies.get('token'),
@ -238,11 +255,11 @@ const getResourceURL = () => {
processInstanceId: props.processInstanceId, processInstanceId: props.processInstanceId,
}) })
return `${window.SITE_CONFIG.apiURL}/act/his/getInstImage?${params}` return `${window.SITE_CONFIG.apiURL}/act/his/getInstImage?${params}`
} }
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.form-container { .form-container {
height: 6rem; height: 6rem;
overflow-y: scroll; overflow-y: scroll;
padding: 20px 20px 30px 20px; padding: 20px 20px 30px 20px;
@ -256,25 +273,25 @@ const getResourceURL = () => {
margin-top: 10px; margin-top: 10px;
border-left: 6px #0058e1 solid; border-left: 6px #0058e1 solid;
} }
} }
:deep(.ant-table-thead)>tr>.ant-table-cell { :deep(.ant-table-thead) > tr > .ant-table-cell {
background: #0087ff; background: #0087ff;
color: #fff; color: #fff;
border: none; border: none;
text-align: center; text-align: center;
font-size: 16px; font-size: 16px;
} }
:deep(.ant-table-tbody)>tr>.ant-table-cell:nth-child(5) { :deep(.ant-table-tbody) > tr > .ant-table-cell:nth-child(5) {
// width: 110px; // width: 110px;
// display: inline-block; // display: inline-block;
// white-space: nowrap; // white-space: nowrap;
// overflow: hidden; // overflow: hidden;
// text-overflow: ellipsis; // text-overflow: ellipsis;
} }
.oddNumbers { .oddNumbers {
margin-bottom: 0.05rem; margin-bottom: 0.05rem;
} }
</style> </style>

View File

@ -3,16 +3,27 @@
<div class="title" style="margin-bottom: 0.2rem">我的申请</div> <div class="title" style="margin-bottom: 0.2rem">我的申请</div>
<div class="tab" style="margin-bottom: 0.1rem"> <div class="tab" style="margin-bottom: 0.1rem">
<span>类型</span> <span>类型</span>
<div :class="typeIndex == index ? 'tabclass' : ' '" @click="changeType(item, index)" <div
v-for="(item, index) in typeList" :key="index"> :class="typeIndex == index ? 'tabclass' : ' '"
@click="changeType(item, index)"
v-for="(item, index) in typeList"
:key="index"
>
{{ item }} {{ item }}
</div> </div>
</div> </div>
<div class="tab"> <div class="tab">
<span>申请状态</span> <span>申请状态</span>
<div :class="tabIndex == index ? 'tabclass' : ' '" @click="changeApplyState(item, index)" <div
v-for="(item, index) in tabList" :key="index"> :class="tabIndex == index ? 'tabclass' : ' '"
<a-badge :count="item === '审核中' ? num.unfinished : num.finished" v-if="item !== '全部'"> @click="changeApplyState(item, index)"
v-for="(item, index) in tabList"
:key="index"
>
<a-badge
:count="item === '审核中' ? num.unfinished : num.finished"
v-if="item !== '全部'"
>
{{ item }} {{ item }}
</a-badge> </a-badge>
<template v-else> <template v-else>
@ -22,7 +33,11 @@
</div> </div>
<div v-if="contentList.data.length > 0"> <div v-if="contentList.data.length > 0">
<div class="content"> <div class="content">
<div class="content-body" v-for="item in contentList.data" :key="item.index"> <div
class="content-body"
v-for="item in contentList.data"
:key="item.index"
>
<div class="content-body-title"> <div class="content-body-title">
<span>申请单号{{ item.applyNumber || '--' }}</span> <span>申请单号{{ item.applyNumber || '--' }}</span>
<div></div> <div></div>
@ -33,7 +48,9 @@
</template> </template>
<div class="content-body-title"> <div class="content-body-title">
<span> <span>
名称{{ item.cameraList ? item.system : item.title }} 名称{{
item.cameraList ? item.system : item.title || item.name
}}
</span> </span>
<div></div> <div></div>
</div> </div>
@ -48,55 +65,121 @@
</div> </div>
<div class="content-body-bottom"> <div class="content-body-bottom">
<div>申请日期{{ item.createDate || item.startTime }}</div> <div>申请日期{{ item.createDate || item.startTime }}</div>
<div></div> <!-- 西海岸--增加过期时间显示 -->
<div v-if="isXiHaiAn">过期时间{{ item.expireDate || '' }}</div>
</div> </div>
<div class="button-box"> <div class="button-box">
<div class="button" v-if="typeName == '设备申请' && phoneSate.includes(item.state)" <div
@click="showPhoneModal(item)"> class="button"
v-if="typeName == '设备申请' && phoneSate.includes(item.state)"
@click="showPhoneModal(item)"
>
联系方式 联系方式
</div> </div>
<div class="button" @click="showDetail(item)">查看详情</div> <div class="button" @click="showDetail(item)">查看详情</div>
<div class="button" @click="showAdd(item)" v-if="item.backToFirst"> <div class="button" @click="showAdd(item)" v-if="item.backToFirst">
修改 修改
</div> </div>
<svg t="1652233950228" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" <svg
p-id="5970" data-spm-anchor-id="a313x.7781069.0.i8" width="80" height="80" v-if=" t="1652233950228"
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="5970"
data-spm-anchor-id="a313x.7781069.0.i8"
width="80"
height="80"
v-if="
item.processDefinitionName != '能力资源下架' && item.processDefinitionName != '能力资源下架' &&
(item.resourceStatus == 4 || item.resourceStatus == 5) (item.resourceStatus == 4 || item.resourceStatus == 5)
" style="position: absolute; top: 20px; left: -850px"> "
style="position: absolute; top: 20px; left: -850px"
>
<path <path
d="M955.22053 256C813.82053 11.2 500.72053-72.6 255.92053 68.8S-72.67947 523.2 68.72053 768 523.22053 1096.6 768.02053 955.2c244.7-141.2 328.6-454.1 187.4-698.8 0-0.1-0.1-0.3-0.2-0.4zM762.02053 944.7c-239 138.1-544.8 56.2-682.9-182.8S22.92053 217.1 261.92053 79.1s544.8-56.2 682.9 182.8c137.9 239 56.1 544.6-182.8 682.8z" d="M955.22053 256C813.82053 11.2 500.72053-72.6 255.92053 68.8S-72.67947 523.2 68.72053 768 523.22053 1096.6 768.02053 955.2c244.7-141.2 328.6-454.1 187.4-698.8 0-0.1-0.1-0.3-0.2-0.4zM762.02053 944.7c-239 138.1-544.8 56.2-682.9-182.8S22.92053 217.1 261.92053 79.1s544.8-56.2 682.9 182.8c137.9 239 56.1 544.6-182.8 682.8z"
fill="#515151" opacity=".5" p-id="5971"></path> fill="#515151"
opacity=".5"
p-id="5971"
></path>
<path <path
d="M898.12053 289.2C775.02053 76 502.42053 2.9 289.22053 126 76.02053 249.1 3.02053 521.6 126.02053 734.8 249.12053 948 521.62053 1021.1 734.82053 898 947.92053 774.9 1021.02053 502.4 898.12053 289.2zM731.62053 892.8C521.32053 1014.3 252.42053 942.2 131.02053 731.9 9.52053 521.6 81.62053 252.7 291.92053 131.3 502.12053 9.9 771.02053 81.8 892.42053 292c121.5 210.3 49.5 479.3-160.8 600.8z" d="M898.12053 289.2C775.02053 76 502.42053 2.9 289.22053 126 76.02053 249.1 3.02053 521.6 126.02053 734.8 249.12053 948 521.62053 1021.1 734.82053 898 947.92053 774.9 1021.02053 502.4 898.12053 289.2zM731.62053 892.8C521.32053 1014.3 252.42053 942.2 131.02053 731.9 9.52053 521.6 81.62053 252.7 291.92053 131.3 502.12053 9.9 771.02053 81.8 892.42053 292c121.5 210.3 49.5 479.3-160.8 600.8z"
fill="#515151" opacity=".5" p-id="5972"></path> fill="#515151"
opacity=".5"
p-id="5972"
></path>
<path <path
d="M323.62053 176.8c3.6-2 6 0.8 8.8 2.8 6 4.4 12.4 8.8 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.4 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.6 0.6-2zM200.72053 289.2c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 14.8 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.4-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.4-1.2 0-1.6 0.8-2.4l0.2 0.4z m276.6-159.6c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.8-1.2-0.4-1.6 0.4-2.4l0.2 0.4z m141.9 29.6c3.6-2 6 0.8 8.8 2.8l18.8 12.8c7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4-7.7 0.4-15.2 0.8-22.4 0.8-4.4 6.8-8.4 13.2-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.5-1.2 0.2-1.6 0.6-2zM150.02053 430c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-4 14-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.5 0.6-2z m558.9 414.4c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.1 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-1.1 0.8-1.1 1.6-1.1h0.1z m-158.8 50c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.1-3.7-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2-1 4.2-1.7 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.4-0.8 0.8-0.8 1.7-0.7z m276.5-159.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8s-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.2 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0-0.8 0.8-1.2 1.6-1.2l0.1 0.1z m45.6-137.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.2-0.7 0.6-0.7 1.4-0.7h0.3zM402.72053 868c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-0.8 1-1.1 1.7-1.1z" d="M323.62053 176.8c3.6-2 6 0.8 8.8 2.8 6 4.4 12.4 8.8 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.4 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.6 0.6-2zM200.72053 289.2c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 14.8 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.4-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.4-1.2 0-1.6 0.8-2.4l0.2 0.4z m276.6-159.6c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.8-1.2-0.4-1.6 0.4-2.4l0.2 0.4z m141.9 29.6c3.6-2 6 0.8 8.8 2.8l18.8 12.8c7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4-7.7 0.4-15.2 0.8-22.4 0.8-4.4 6.8-8.4 13.2-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.5-1.2 0.2-1.6 0.6-2zM150.02053 430c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-4 14-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.5 0.6-2z m558.9 414.4c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.1 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-1.1 0.8-1.1 1.6-1.1h0.1z m-158.8 50c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.1-3.7-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2-1 4.2-1.7 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.4-0.8 0.8-0.8 1.7-0.7z m276.5-159.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8s-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.2 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0-0.8 0.8-1.2 1.6-1.2l0.1 0.1z m45.6-137.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.2-0.7 0.6-0.7 1.4-0.7h0.3zM402.72053 868c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-0.8 1-1.1 1.7-1.1z"
fill="#515151" opacity=".5" p-id="5973"></path> fill="#515151"
opacity=".5"
p-id="5973"
></path>
<path <path
d="M386.42053 590.4l-43.8-75.9L207.02053 592.7l10.2 17.7L334.02053 543l23.4 40.4-90.5 52.2-13.5-23.4-18.7 10.8 53.1 92c9.1 15.8 21.2 19.5 36.4 10.7l98.8-57c6.2-3.6 11-9.3 13.4-16.1-1.4-15.9-6.2-31.2-14.2-45l-21.4 4.8c6.7 10.3 11 21.9 12.8 34-1 3.3-3.2 6-6.1 7.8l-88.3 51c-6.2 3.6-11.1 2.1-14.8-4.3l-27.3-47.4 109.3-63.1z m2.9-103.2l10.4 18.1 65.6-37.9 79.9 138.4 18.6-10.8-55.9-96.9c18.8-0.9 43.2-0.6 73 0.7l1.5-23.1c-29.8-0.3-58.4 0.4-86 2.6l-12.5-21.6 74.9-43.2-10.4-18.1-159.1 91.8zM669.52053 329l38.2 66.2 61.4-35.4-38.1-66.1-61.5 35.3z m72.4 24.2l-26.3 15.2-19-33 26.3-15.2 19 33zM599.02053 356.7l7.9 13.7-23.3 13.5 9.8 17 21.8-12.6c7.5 18.7 6.6 39.6-2.5 57.6l20.7 4.4c10.3-23.1 10.3-49.4 0-72.5l18.8-10.9c6 9.2 10.7 19.2 14.2 29.7 0.3 5-2.6 9.7-7.2 11.7-2.9 1.2-6.4 2.8-10.9 4.9l14.1 14.1c3.7-1.3 7.3-2.9 10.7-4.8 8.6-3.9 14.4-12.2 15.2-21.6-5.4-22.1-14.6-43-27.4-61.8l-36.1 20.8-7.9-13.7-17.9 10.5z m29.9 108.1l10 17.4 53.2-30.7c-7.8 23.7-20.6 45.4-37.5 63.6l20.6 11.1c18.6-24.2 30-53.1 33-83.4l29.8 51.5 18.4-10.7-29.8-51.5c27.4 11.5 57.2 16.3 86.9 14.1l3.5-23.5c-24.7 5.1-50.1 5-74.8-0.1l53.5-30.9-10-17.3-69.3 40-7.3-12.6-18.4 10.7L698.02053 425l-69.1 39.8z" d="M386.42053 590.4l-43.8-75.9L207.02053 592.7l10.2 17.7L334.02053 543l23.4 40.4-90.5 52.2-13.5-23.4-18.7 10.8 53.1 92c9.1 15.8 21.2 19.5 36.4 10.7l98.8-57c6.2-3.6 11-9.3 13.4-16.1-1.4-15.9-6.2-31.2-14.2-45l-21.4 4.8c6.7 10.3 11 21.9 12.8 34-1 3.3-3.2 6-6.1 7.8l-88.3 51c-6.2 3.6-11.1 2.1-14.8-4.3l-27.3-47.4 109.3-63.1z m2.9-103.2l10.4 18.1 65.6-37.9 79.9 138.4 18.6-10.8-55.9-96.9c18.8-0.9 43.2-0.6 73 0.7l1.5-23.1c-29.8-0.3-58.4 0.4-86 2.6l-12.5-21.6 74.9-43.2-10.4-18.1-159.1 91.8zM669.52053 329l38.2 66.2 61.4-35.4-38.1-66.1-61.5 35.3z m72.4 24.2l-26.3 15.2-19-33 26.3-15.2 19 33zM599.02053 356.7l7.9 13.7-23.3 13.5 9.8 17 21.8-12.6c7.5 18.7 6.6 39.6-2.5 57.6l20.7 4.4c10.3-23.1 10.3-49.4 0-72.5l18.8-10.9c6 9.2 10.7 19.2 14.2 29.7 0.3 5-2.6 9.7-7.2 11.7-2.9 1.2-6.4 2.8-10.9 4.9l14.1 14.1c3.7-1.3 7.3-2.9 10.7-4.8 8.6-3.9 14.4-12.2 15.2-21.6-5.4-22.1-14.6-43-27.4-61.8l-36.1 20.8-7.9-13.7-17.9 10.5z m29.9 108.1l10 17.4 53.2-30.7c-7.8 23.7-20.6 45.4-37.5 63.6l20.6 11.1c18.6-24.2 30-53.1 33-83.4l29.8 51.5 18.4-10.7-29.8-51.5c27.4 11.5 57.2 16.3 86.9 14.1l3.5-23.5c-24.7 5.1-50.1 5-74.8-0.1l53.5-30.9-10-17.3-69.3 40-7.3-12.6-18.4 10.7L698.02053 425l-69.1 39.8z"
fill="#515151" opacity=".5" p-id="5974"></path> fill="#515151"
opacity=".5"
p-id="5974"
></path>
</svg> </svg>
</div> </div>
</div> </div>
</div> </div>
<div class="bottom"> <div class="bottom">
<a-pagination size="small" pageSize="4" :total="total" :current="page" @change="handleCurrentChange" <a-pagination
@showSizeChange="handlePageSizeChange" :showSizeChanger="false" /> size="small"
pageSize="4"
:total="total"
:current="page"
@change="handleCurrentChange"
@showSizeChange="handlePageSizeChange"
:showSizeChanger="false"
/>
</div> </div>
</div> </div>
<a-empty v-else /> <a-empty v-else />
<a-modal bodyStyle="padding:0.1rem 0" v-model:visible="detailsVisible" title="申请详情" style="width: 900px" <a-modal
:footer="null" destroyOnClose="true" :maskClosable="false"> bodyStyle="padding:0.1rem 0"
<apply-details :processDefinitionName="processDefinitionName" :businessKey="businessKey" v-model:visible="detailsVisible"
:processInstanceId="processInstanceId" :resourceId="resourceId" :refObj="refObj" :showType="showType"> style="width: 1000px"
</apply-details> :footer="null"
destroyOnClose="true"
:maskClosable="false"
>
<template v-slot:title>
{{
refObj.description && itShowXiHaiAn
? refObj.description + '申请详情'
: '申请详情'
}}
</template>
<apply-details
:processDefinitionName="processDefinitionName"
:businessKey="businessKey"
:processInstanceId="processInstanceId"
:resourceId="resourceId"
:refObj="refObj"
:showType="showType"
></apply-details>
</a-modal> </a-modal>
<a-modal v-model:visible="visible" title="下架原因" @ok="del()" @cancel="reason = ''"> <a-modal
v-model:visible="visible"
title="下架原因"
@ok="del()"
@cancel="reason = ''"
>
<a-input v-model:value="reason" placeholder="请输入下架原因" /> <a-input v-model:value="reason" placeholder="请输入下架原因" />
</a-modal> </a-modal>
<a-modal v-model:visible="videoVisible" title="已申请摄像头列表" @ok="videoVisible = false"> <a-modal
<a-table :columns="columns" :data-source="xVideoList" bordered :pagination="{ defaultPageSize: 6 }"> v-model:visible="videoVisible"
title="已申请摄像头列表"
@ok="videoVisible = false"
>
<a-table
:columns="columns"
:data-source="xVideoList"
bordered
:pagination="{ defaultPageSize: 6 }"
>
<template #bodyCell="{ column, text }"> <template #bodyCell="{ column, text }">
<!-- <template> <!-- <template>
<a>{{ text }}</a> <a>{{ text }}</a>
@ -107,15 +190,26 @@
</div> </div>
<!-- 联系方式弹框 --> <!-- 联系方式弹框 -->
<a-modal v-model:visible="phoneVisible" title="提示" @ok="phoneVisible = false"> <a-modal
v-model:visible="phoneVisible"
title="提示"
@ok="phoneVisible = false"
>
<!-- 工业信息化局那个号电话配这个号199 6399 0996 --> <!-- 工业信息化局那个号电话配这个号199 6399 0996 -->
<p>请联系工业信息化局电话199 6399 0996</p> <p>请联系工业信息化局电话199 6399 0996</p>
</a-modal> </a-modal>
</template> </template>
<script setup> <script setup>
import { onMounted, reactive, ref, onBeforeUnmount, h, defineProps } from 'vue' import {
import { onMounted,
reactive,
ref,
onBeforeUnmount,
h,
defineProps,
} from 'vue'
import {
getMyProcessInstancePage, getMyProcessInstancePage,
getTabilityapplication, getTabilityapplication,
getByApplyFlag, getByApplyFlag,
@ -124,85 +218,86 @@ import {
demandComment, demandComment,
deviceApplylist, deviceApplylist,
getDeviceDetail, getDeviceDetail,
} from '@/api/personalCenter' } from '@/api/personalCenter'
import { import {
updateRes, updateRes,
relaunch, relaunch,
selectOne, selectOne,
getApplyCameraList, getApplyCameraList,
selectOneDel, selectOneDel,
} from '@/api/home' } from '@/api/home'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { message } from 'ant-design-vue' import { message } from 'ant-design-vue'
import ApplyDetails from '@/views/personalCenter/components/ApplyDetails' import ApplyDetails from '@/views/personalCenter/components/ApplyDetails'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import * as moment from 'moment' import * as moment from 'moment'
const props = defineProps({ const props = defineProps({
tabTypeName: { type: String, default: '' }, tabTypeName: { type: String, default: '' },
}) })
const router = useRouter() const router = useRouter()
let typeList = ref([ let typeList = ref([
'能力申请', '能力申请',
'能力上架', '能力上架',
'能力下架', '能力下架',
'能力需求', '能力需求',
'需求评论', '需求评论',
// '', // '',
]) ])
// 西- // 西-
let isXiHaiAn = whoShow.itShowXiHaiAn let isXiHaiAn = whoShow.itShowXiHaiAn
const phoneSate = ref([2, 3]) const itShowXiHaiAn = ref(isXiHaiAn)
if (isXiHaiAn) { const phoneSate = ref([2, 3])
if (isXiHaiAn) {
typeList.value.push('设备申请') typeList.value.push('设备申请')
} }
const typeStrObj = { const typeStrObj = {
'能力上架': 'resourcemountapply', 能力上架: 'resourcemountapply',
'能力下架': 'resourcundercarriageapply', 能力下架: 'resourcundercarriageapply',
'能力需求': 'abilitydemandapply', 能力需求: 'abilitydemandapply',
'需求评论': 'comment_review', 需求评论: 'comment_review',
} }
let tabList = ref(['全部', '审核中', '审核完成']) let tabList = ref(['全部', '审核中', '审核完成'])
const contentList = reactive({ data: [] }) const contentList = reactive({ data: [] })
let tabIndex = ref(0) let tabIndex = ref(0)
let typeIndex = ref(0) let typeIndex = ref(0)
let typeName = ref(typeList.value[0]) let typeName = ref(typeList.value[0])
const videoVisible = ref(false) const videoVisible = ref(false)
const numFlag = ref(true) const numFlag = ref(true)
const columns = ref([ const columns = ref([
{ {
title: '摄像头名称', title: '摄像头名称',
dataIndex: 'name', dataIndex: 'name',
}, },
]) ])
const xVideoList = ref([]) const xVideoList = ref([])
let name = ref('') let name = ref('')
const detailsVisible = ref(false) const detailsVisible = ref(false)
const detailsVisible2 = ref(false) const detailsVisible2 = ref(false)
const businessKey = ref('') const businessKey = ref('')
const processInstanceId = ref('') const processInstanceId = ref('')
const processDefinitionName = ref('') const processDefinitionName = ref('')
const resourceId = ref('') const resourceId = ref('')
const reason = ref('') const reason = ref('')
const visible = ref(false) const visible = ref(false)
const delObj = ref({}) const delObj = ref({})
const taskId = ref('') const taskId = ref('')
const backUrl = ref(window.SITE_CONFIG.apiURL + '/') const backUrl = ref(window.SITE_CONFIG.apiURL + '/')
const refObj = ref({}) const refObj = ref({})
const num = ref({ const num = ref({
finished: 0, finished: 0,
unfinished: 0, unfinished: 0,
}) })
const total = ref('') const total = ref('')
const showType = ref('') const showType = ref('')
const page = ref('1') const page = ref('1')
const ended = ref('') const ended = ref('')
const processDefinitionKey = ref('') const processDefinitionKey = ref('')
const phoneVisible = ref(false) const phoneVisible = ref(false)
// //
const changeType = (item, index) => { const changeType = (item, index) => {
console.log('item, index-----选择类型------->', item, index) console.log('item, index-----选择类型------->', item, index)
numFlag.value = true numFlag.value = true
num.value = [] num.value = []
@ -213,10 +308,10 @@ const changeType = (item, index) => {
typeIndex.value = index typeIndex.value = index
typeName.value = item typeName.value = item
getApplyList() getApplyList()
} }
// //
function changeApplyState(item, index) { function changeApplyState(item, index) {
tabIndex.value = index tabIndex.value = index
switch (item) { switch (item) {
case '审核中': case '审核中':
@ -235,9 +330,11 @@ function changeApplyState(item, index) {
getApplyList() getApplyList()
break break
} }
} }
const showDetail = (item) => { const cilckRowData = ref({})
const showDetail = (item) => {
cilckRowData.value = item
// 西- // 西-
if (isXiHaiAn) { if (isXiHaiAn) {
if (item.expireDate) { if (item.expireDate) {
@ -251,7 +348,6 @@ const showDetail = (item) => {
getByApplyFlag(item.applyFlag).then((res) => { getByApplyFlag(item.applyFlag).then((res) => {
if (res.data.code == 0) { if (res.data.code == 0) {
refObj.value = res.data.data refObj.value = res.data.data
detailsVisible.value = true detailsVisible.value = true
processDefinitionName.value = item.processDefinitionName processDefinitionName.value = item.processDefinitionName
businessKey.value = item.businessKey businessKey.value = item.businessKey
@ -267,10 +363,9 @@ const showDetail = (item) => {
if (res.data.code == 0) { if (res.data.code == 0) {
refObj.value = res.data.data refObj.value = res.data.data
detailsVisible.value = true detailsVisible.value = true
processDefinitionName.value = item.processDefinitionName
} }
}) })
.catch((err) => { }) .catch((err) => {})
} else if ( } else if (
Object.keys(typeStrObj).includes(typeName.value) || Object.keys(typeStrObj).includes(typeName.value) ||
typeName.value == '能力评价' typeName.value == '能力评价'
@ -284,8 +379,8 @@ const showDetail = (item) => {
} else { } else {
message.error('数据请求失败!') message.error('数据请求失败!')
} }
} }
const showVideoList = (item) => { const showVideoList = (item) => {
console.log('显示列表', item) console.log('显示列表', item)
getApplyCameraList(item.processInstanceId).then((res) => { getApplyCameraList(item.processInstanceId).then((res) => {
console.log('res', res) console.log('res', res)
@ -295,8 +390,8 @@ const showVideoList = (item) => {
}) })
}) })
videoVisible.value = true videoVisible.value = true
} }
const copyComment = (data) => { const copyComment = (data) => {
let url = data let url = data
let oInput = document.createElement('input') let oInput = document.createElement('input')
oInput.value = url oInput.value = url
@ -306,8 +401,8 @@ const copyComment = (data) => {
document.execCommand('Copy') // document.execCommand('Copy') //
message.success('复制成功') message.success('复制成功')
oInput.remove() oInput.remove()
} }
const showAdd = (item) => { const showAdd = (item) => {
if (item.processDefinitionKey == 'resourcemountapply') { if (item.processDefinitionKey == 'resourcemountapply') {
const data = { const data = {
id: item.resourceId, id: item.resourceId,
@ -360,9 +455,9 @@ const showAdd = (item) => {
console.log('能力申请修改=================》', item) console.log('能力申请修改=================》', item)
window.open(newpage.href, '_self') window.open(newpage.href, '_self')
} }
} }
const initNum = () => { const initNum = () => {
if (numFlag.value) { if (numFlag.value) {
num.value = [] num.value = []
getMyProcessInstancePage({ getMyProcessInstancePage({
@ -387,8 +482,8 @@ const initNum = () => {
} }
}) })
} }
} }
const initNum2 = () => { const initNum2 = () => {
if (numFlag.value) { if (numFlag.value) {
num.value = [] num.value = []
getTabilityapplication({ getTabilityapplication({
@ -411,19 +506,19 @@ const initNum2 = () => {
} }
}) })
} }
} }
// initNum() // initNum()
// //
const onSearch = (name) => { const onSearch = (name) => {
console.log(name.value) console.log(name.value)
} }
// //
function replacement() { function replacement() {
name.value = '' name.value = ''
getApplyList(name.value) getApplyList(name.value)
} }
const getApplyList = () => { const getApplyList = () => {
const params = { const params = {
page: page.value, page: page.value,
limit: 4, limit: 4,
@ -464,7 +559,7 @@ const getApplyList = () => {
getDeviceNum() getDeviceNum()
} }
}) })
.catch((err) => { }) .catch((err) => {})
} else if (Object.keys(typeStrObj).includes(typeName.value)) { } else if (Object.keys(typeStrObj).includes(typeName.value)) {
processDefinitionKey.value = typeStrObj[typeName.value] processDefinitionKey.value = typeStrObj[typeName.value]
params.processDefinitionKey = processDefinitionKey.value params.processDefinitionKey = processDefinitionKey.value
@ -525,18 +620,18 @@ const getApplyList = () => {
num.value = [] num.value = []
showType.value = '' showType.value = ''
} }
} }
const handleCurrentChange = (val) => { const handleCurrentChange = (val) => {
page.value = val page.value = val
getApplyList() getApplyList()
} }
const handlePageSizeChange = (val) => { const handlePageSizeChange = (val) => {
page.value = val page.value = val
getApplyList() getApplyList()
} }
const viewDetail = (processDefinitionName, id, ended, businessKey) => { const viewDetail = (processDefinitionName, id, ended, businessKey) => {
if (processDefinitionName == '能力申请流程') { if (processDefinitionName == '能力申请流程') {
router.push({ router.push({
path: '/details', path: '/details',
@ -563,10 +658,10 @@ const viewDetail = (processDefinitionName, id, ended, businessKey) => {
}, },
}) })
} }
} }
// //
const del = () => { const del = () => {
console.log('下架================》', delObj.value, reason.value) console.log('下架================》', delObj.value, reason.value)
delObj.value.undercarriageReason = reason.value delObj.value.undercarriageReason = reason.value
updateRes(delObj.value).then((upres) => { updateRes(delObj.value).then((upres) => {
@ -588,10 +683,10 @@ const del = () => {
message.error('数据更新失败!') message.error('数据更新失败!')
} }
}) })
} }
// 西 todo // 西 todo
const getDeviceApply = (state) => { const getDeviceApply = (state) => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let _data = { let _data = {
page: page.value, page: page.value,
@ -608,10 +703,10 @@ const getDeviceApply = (state) => {
console.log('err------------>', err) console.log('err------------>', err)
}) })
}) })
} }
// 西-- // 西--
const getDeviceDetailInfo = (deviceId) => { const getDeviceDetailInfo = (deviceId) => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getDeviceDetail(deviceId) getDeviceDetail(deviceId)
.then((res) => { .then((res) => {
@ -623,10 +718,10 @@ const getDeviceDetailInfo = (deviceId) => {
console.log('err------------>', err) console.log('err------------>', err)
}) })
}) })
} }
// 西-, // 西-,
const getDeviceNum = () => { const getDeviceNum = () => {
if (!numFlag.value) { if (!numFlag.value) {
return return
} }
@ -640,34 +735,32 @@ const getDeviceNum = () => {
num.value.finished = finished.total || '' num.value.finished = finished.total || ''
numFlag.value = false numFlag.value = false
}) })
.catch((err) => { .catch((err) => {})
}) }
}
const showPhoneModal = () => {
const showPhoneModal = () => {
phoneVisible.value = true phoneVisible.value = true
} }
mybus.on('closeModal', (obj) => { mybus.on('closeModal', (obj) => {
detailsVisible.value = false detailsVisible.value = false
changeType(obj.type, obj.index) changeType(obj.type, obj.index)
}) })
onBeforeUnmount(() => { onBeforeUnmount(() => {
mybus.off('closeModal') mybus.off('closeModal')
}) })
onMounted(() => { onMounted(() => {
getApplyList() getApplyList()
if (props.tabTypeName) { if (props.tabTypeName) {
let _index = typeList.value.findIndex(v => v == props.tabTypeName) let _index = typeList.value.findIndex((v) => v == props.tabTypeName)
changeType(props.tabTypeName, _index != -1 ? _index : 0) changeType(props.tabTypeName, _index != -1 ? _index : 0)
} }
}) })
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.on-the-right-side-of-the-list { .on-the-right-side-of-the-list {
background: #ffffff; background: #ffffff;
padding: 20px 0px 30px 20px; padding: 20px 0px 30px 20px;
position: absolute; position: absolute;
@ -843,10 +936,10 @@ onMounted(() => {
.backToFirst { .backToFirst {
background-color: rgb(214, 91, 91); background-color: rgb(214, 91, 91);
} }
} }
:deep(.ant-badge-count) { :deep(.ant-badge-count) {
top: -5px; top: -5px;
right: -10px; right: -10px;
} }
</style> </style>

View File

@ -650,17 +650,19 @@ const ceshiFunction = () => {
} }
// delOne delList handleDelete // delOne delList handleDelete
const handleDelete = (item, index) => { const handleDelete = (item, index) => {
console.log('item, index------------>', item, index);
console.log('item------------>', item); console.log('item------------>', item);
let delArr = []; let delArr = [];
// //
if (item) { if (index) {
delArr = [item.id] delArr = [item.id]
} else { } else {
// //
if (checkedListAbility.value.length == 0) { if (checkedListAbility.value.length == 0) {
return message.warning('请先选择需要操作的数据!') return message.warning('请先选择需要操作的数据!')
} else { } else {
delArr = checkedListAbility.value.map(v=>v.id) delArr = checkedListAbility.value
} }
} }
sgcDel({ sgcDel({

View File

@ -85,9 +85,6 @@ export default defineComponent({
} }
onMounted(() => { onMounted(() => {
if (itShowXiHaiAn) {
handleClick(menuList[0])
} else {
if (type) { if (type) {
console.log('type---------->', type) console.log('type---------->', type)
let _obj = menuList.find(v => v.key == type) let _obj = menuList.find(v => v.key == type)
@ -95,11 +92,10 @@ export default defineComponent({
} else { } else {
if (menuList[1]) { if (menuList[1]) {
handleClick(menuList[1]) handleClick(menuList[1])
}else { } else {
handleClick(menuList[0]) handleClick(menuList[0])
} }
} }
}
}) })
return { return {