Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev

This commit is contained in:
gongjiale 2022-10-19 10:45:54 +08:00
commit 7a0d2ba101
31 changed files with 3303 additions and 2437 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,12 +1,12 @@
/* /*
* @Author: hisense.guoyue * @Author: hisense.guoyue
* @Date: 2022-08-23 10:30:11 * @Date: 2022-08-23 10:30:11
* @LastEditors: hisense.guoyue * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-10-02 14:47:05 * @LastEditTime: 2022-10-18 17:44:33
* @Description: 判断当前环境是西海岸还是青岛市局 * @Description: 判断当前环境是西海岸还是青岛市局
*/ */
const returnLocationStr = () => { const returnLocationStr = () => {
return CONFIGITEM.version return CONFIGITEM.version === 'xihaian' ? 'xihaian' : 'qingdao'
} }
export default returnLocationStr export default returnLocationStr

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:46:51
* @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,52 +35,60 @@
<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
console.log('menuList====>', menuList)
console.log('this.numObject====>', this.numObject)
for (var i = 0; i < menuList.length; i++) { for (var i = 0; i < menuList.length; i++) {
let menu=menuList[i]; const menu = menuList[i]
if (menu.id == '1541261628388888578') { // if (menu.id == '1541261628388888578') { //
let daibanNum = 0 let daibanNum = 0
for (let j = 0; j < menu.children.length; j++) { for (let j = 0; j < menu.children.length; j++) {
let children=menu.children[j] const children = menu.children[j]
if(children.id=="1541261780432408577"){// v2 if (children.id == '1541261780432408577') { // v2
// 西 v2 v3 // 西 v2 v3
children.total = returnLocationStr() == 'qingdao' ? Number(this.numObject.abilityprocess_v3) : Number(this.numObject.abilityprocess_v2) children.total = returnLocationStr() == 'qingdao' ? Number(this.numObject.abilityprocess_v3) : Number(this.numObject.abilityprocess_v2)
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
} if(children.id=="1559376285703081986"){// } if (children.id == '1559376285703081986') { //
children.total = Number(this.numObject.meetingroom_book) children.total = Number(this.numObject.meetingroom_book)
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
}if(children.id=="1545292602084827138"){// } if (children.id == '1545292602084827138') { //
children.total = Number(this.numObject.resourcemountapply) children.total = Number(this.numObject.resourcemountapply)
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
}if(children.id=="1545312045695377410"){// } if (children.id == '1545312045695377410') { //
children.total = Number(this.numObject.abilitydemandapply) children.total = Number(this.numObject.abilitydemandapply)
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
}if(children.id=="1545313018614521857"){// } if (children.id == '1545313018614521857') { //
children.total = Number(this.numObject.resourcundercarriageapply) children.total = Number(this.numObject.resourcundercarriageapply)
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
}if(children.id=="1545313754106699777"){// } if (children.id == '1545313754106699777') { //
children.total = Number(this.numObject.comment_review) children.total = Number(this.numObject.comment_review)
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
}if(children.id=="1554294862931562498"){// } if (children.id == '1554294862931562498') { //
children.total = 0 children.total = 0
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
} }
@ -91,7 +99,8 @@ export default {
this.$store.state.sidebarMenuList = menuList 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

@ -58,6 +58,7 @@
<el-select <el-select
v-model="abilityDepartment" v-model="abilityDepartment"
placeholder="请选择部门" placeholder="请选择部门"
filterable
clearable clearable
> >
<el-option label="全部" value=""></el-option> <el-option label="全部" value=""></el-option>
@ -94,6 +95,11 @@
$t('reset') $t('reset')
}}</el-button> }}</el-button>
</el-form-item> </el-form-item>
<!-- 导出 -->
<a class='export' :href="exportExcel+exportExcelType+'?'+exportExcelCondition+'&token='+token">导出</a>
<!-- <el-form-item>
<el-button type="primary" @click="exportExcel()">导出</el-button>
</el-form-item> -->
</el-form> </el-form>
<el-card shadow="never" class="aui-card--fill" v-if="homeIsShow"> <el-card shadow="never" class="aui-card--fill" v-if="homeIsShow">
<div class="mod-demand__bsdemand"> <div class="mod-demand__bsdemand">
@ -213,6 +219,8 @@
<el-table <el-table
:data="tableData" :data="tableData"
:header-cell-style="{ textAlign: 'center',height:'96px' }"
:cell-style="{ textAlign: 'center' }"
style="width: 100%" style="width: 100%"
v-show="this.departmentId === 3 || this.departmentId === 4" v-show="this.departmentId === 3 || this.departmentId === 4"
> >
@ -273,12 +281,13 @@
</template> </template>
<script> <script>
import Cookies from 'js-cookie'
import componentServices from './componentServices.vue' import componentServices from './componentServices.vue'
import AbilityDetail from './components/abilityDetails' import AbilityDetail from './components/abilityDetails'
import applicationResources from './applicationResources.vue' import applicationResources from './applicationResources.vue'
import ComponentUsed from './componentUsed.vue' import ComponentUsed from './componentUsed.vue'
import qs from 'qs'
import { mapState } from 'vuex' // import { mapState } from 'vuex'
// const props = defineProps({ // const props = defineProps({
// processDefinitionName: { type: String, default: null }, // processDefinitionName: { type: String, default: null },
// businessKey: { type: String, default: null }, // businessKey: { type: String, default: null },
@ -291,6 +300,11 @@ export default {
components: { componentServices, applicationResources, ComponentUsed, AbilityDetail }, components: { componentServices, applicationResources, ComponentUsed, AbilityDetail },
data () { data () {
return { return {
departmentSelects: [],
exportExcel: CONFIGITEM.configData[CONFIGITEM.version].apiURL + '/census/center/export',
exportExcelCondition: '',
exportExcelType: '',
token: Cookies.get('ucsToken'),
detailType: '', detailType: '',
detailParamss: {}, detailParamss: {},
isBack: true, isBack: true,
@ -407,6 +421,13 @@ export default {
} }
}, },
created () { created () {
this.$http.get('/sys/dept/all').then(res => {
console.log('获取部门=========>', res)
this.departmentSelects = []
res.data.data.map(val => {
this.departmentSelects.push({ label: val.name, value: val.name })
})
})
// //
// const d = new Date() // const d = new Date()
// let year1, month1, day1 // let year1, month1, day1
@ -432,7 +453,7 @@ export default {
} }
}, },
computed: { computed: {
...mapState(['departmentSelects']) // ...mapState(['departmentSelects'])
}, },
methods: { methods: {
closeModal () { closeModal () {
@ -530,6 +551,12 @@ export default {
} }
this.tableData = res.data.data this.tableData = res.data.data
this.total = res.data.data.total this.total = res.data.data.total
this.exportExcelCondition = qs.stringify({
approveStatus: this.status,
deptId: this.abilityDepartment,
startDate: this.startDate,
endDate: this.endDate
})
}) })
}, },
// 使-使 // 使-使
@ -588,6 +615,12 @@ export default {
} }
this.tableData = res.data.data this.tableData = res.data.data
this.total = res.data.data.total this.total = res.data.data.total
this.exportExcelCondition = qs.stringify({
approveStatus: this.status,
deptId: this.abilityDepartment,
startDate: this.startDate,
endDate: this.endDate
})
}) })
}, },
// //
@ -662,6 +695,12 @@ export default {
console.log('111111', this.tableData, res.data.data) console.log('111111', this.tableData, res.data.data)
this.tableData = res.data.data this.tableData = res.data.data
this.total = res.data.data.total this.total = res.data.data.total
this.exportExcelCondition = qs.stringify({
approveStatus: this.status,
deptId: this.abilityDepartment,
startDate: this.startDate,
endDate: this.endDate
})
}) })
}, },
// 使 // 使
@ -693,6 +732,12 @@ export default {
.then((res) => { .then((res) => {
this.tableData = res.data.data this.tableData = res.data.data
this.total = res.data.data.total this.total = res.data.data.total
this.exportExcelCondition = qs.stringify({
approveStatus: this.status,
deptId: this.abilityDepartment,
startDate: this.startDate,
endDate: this.endDate
})
}) })
}, },
getReleaseTree (page) { getReleaseTree (page) {
@ -799,6 +844,7 @@ export default {
if (!this.detailFlag) { if (!this.detailFlag) {
this.detailFlag = !this.detailFlag this.detailFlag = !this.detailFlag
} }
this.exportExcelType = 'SelectDeptDetailTypeCountList'
this.getFirstTree() this.getFirstTree()
} else if (this.choseId === 1) { } else if (this.choseId === 1) {
// this.getReleaseTree() // this.getReleaseTree()
@ -808,6 +854,7 @@ export default {
if (!this.detailFlag) { if (!this.detailFlag) {
this.detailFlag = !this.detailFlag this.detailFlag = !this.detailFlag
} }
this.exportExcelType = 'SelectApplyDeptDetailTypeCountList'
this.getSecondTree() this.getSecondTree()
} else { } else {
// this.getUsedTree() // this.getUsedTree()
@ -815,6 +862,7 @@ export default {
} else if (index === 3) { } else if (index === 3) {
this.detailFlag = false this.detailFlag = false
if (this.choseId === 0) { if (this.choseId === 0) {
this.exportExcelType = 'SelectCensusResourceTable'
this.getOneDetail() this.getOneDetail()
} else { } else {
// this.getUsedTree() // this.getUsedTree()
@ -822,6 +870,7 @@ export default {
} else if (index === 4) { } else if (index === 4) {
this.detailFlag = false this.detailFlag = false
if (this.choseId === 0) { if (this.choseId === 0) {
this.exportExcelType = 'SelectCensusApplyTable'
this.getTwoDetail() this.getTwoDetail()
} else { } else {
// this.getUsedTree() // this.getUsedTree()
@ -911,6 +960,13 @@ export default {
this.examineStatus = '' this.examineStatus = ''
this.abilityDepartment = '' this.abilityDepartment = ''
this.abilityType = '' this.abilityType = ''
this.approveStatus = ''
this.exportExcelCondition = qs.stringify({
approveStatus: this.status,
deptId: this.abilityDepartment,
startDate: this.startDate,
endDate: this.endDate
})
if (this.departmentId === 1) { if (this.departmentId === 1) {
// if (this.detailFlag) { // if (this.detailFlag) {
// this.handleChose(3) // this.handleChose(3)
@ -1100,4 +1156,31 @@ input::placeholder {
text-overflow: ellipsis; text-overflow: ellipsis;
word-break: break-all; word-break: break-all;
} }
.export {
display: inline-block;
width: 70px;
height: 40px;
line-height: 40px;
text-align: center;
border-radius: 5px;
background: #fff;
border: 1px solid #dcdfe6;
color: #000;
}
.export:hover {
border-color: #c5ddfd;
background-color: #ecf4fe;
color: #0058e1;
text-decoration: none;
}
.export:active {
border-color: #c5ddfd;
background-color: #ecf4fe;
color: #0058e1;
text-decoration: none;
}
.export:visited {
color: #fff;
text-decoration: none;
}
</style> </style>

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>
@ -486,7 +467,13 @@ export default {
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">

View File

@ -8,8 +8,8 @@
var _global = {} var _global = {}
var CONFIGITEM = { var CONFIGITEM = {
// version: 'qingdao', // // version: 'qingdao', //
// version: 'xihaian', // 西 version: 'xihaian', // 西
version: 'qingdao', // // version: 'qingdao', //
// version: 'zhanTingDev', // dev (2022-09-13:) // version: 'zhanTingDev', // dev (2022-09-13:)
// version: 'qingdao', // // version: 'qingdao', //
//version: 'frp', // 穿 //version: 'frp', // 穿
@ -28,7 +28,8 @@ var CONFIGITEM = {
previewUrl: 'http://15.72.183.90:7008/', previewUrl: 'http://15.72.183.90:7008/',
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/', //frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
//apiURL: 'http://15.72.183.90:8000/renren-admin', //apiURL: 'http://15.72.183.90:8000/renren-admin',
websocketURL: '15.72.183.90:8000/renren-admin', // websocketURL: '15.72.183.90:8000/renren-admin',
// websocketURL: '192.168.124.233:8888/renren-admin',
POI_URL: POI_URL:
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address', 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
}, },
@ -62,8 +63,9 @@ var CONFIGITEM = {
}, },
// //
camreaInfo: { camreaInfo: {
// cameraUrl: '10.134.135.92:9537', // // cameraUrl: '10.134.135.92:9537', // 西-
cameraUrl: '10.134.135.9:9537', // // cameraUrl: '10.134.135.9:9537', // 西-
cameraUrl: '192.168.124.236:9537', // vpn
}, },
backUrl: 'http://10.134.135.9:9797', backUrl: 'http://10.134.135.9:9797',
previewUrl: 'http://10.134.135.9:9796/', previewUrl: 'http://10.134.135.9:9796/',

View File

@ -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

@ -8,36 +8,93 @@
</div> </div>
<div class="form-container"> <div class="form-container">
<div v-if="applySuccess"> <div v-if="applySuccess">
<a-form ref="formRef" :model="formName" name="basic" :label-col="{ style: { width: '106px' } }" <a-form
:wrapper-col="{ style: { width: '230px' } }" labelAlign="left" autocomplete="off"> ref="formRef"
:model="formName"
name="basic"
:label-col="{ style: { width: '106px' } }"
:wrapper-col="{ style: { width: '230px' } }"
labelAlign="left"
autocomplete="off"
>
<div class="base-info flex-row-start"> <div class="base-info flex-row-start">
<a-form-item label="申请标题" name="title" :rules="[{ required: true, message: '请输入申请标题' }]"> <a-form-item
<a-input placeholder="请输入能力申请标题" v-model:value="formName.title" /> label="申请标题"
name="title"
:rules="[{ required: true, message: '请输入申请标题' }]"
>
<a-input
placeholder="请输入能力申请标题"
v-model:value="formName.title"
/>
</a-form-item> </a-form-item>
<!-- 西海岸-摄像头-增加过期时间 --> <!-- 西海岸-摄像头-增加过期时间 -->
<a-form-item v-if="isCamera && isXiHaiAn" label="过期时间" name="expireDate" <a-form-item
:rules="[{ required: true, message: '请选择过期时间' }]" style="margin-left: 22px"> v-if="isCamera && isXiHaiAn"
<a-select v-model:value="formName.expireDate" placeholder="请选择过期时间" style="width: 200px" label="过期时间"
:options="expireDateOptions"></a-select> name="expireDate"
:rules="[{ required: true, message: '请选择过期时间' }]"
style="margin-left: 22px"
>
<a-select
v-model:value="formName.expireDate"
placeholder="请选择过期时间"
style="width: 200px"
:options="expireDateOptions"
></a-select>
</a-form-item> </a-form-item>
</div> </div>
<div class="base-info"> <div class="base-info">
<a-form-item label="申请人信息" name="user" :rules="[{ required: true, message: '请输入申请人' }]"> <a-form-item
<a-input placeholder="请输入申请人" v-model:value="formName.user" disabled /> label="申请人信息"
name="user"
:rules="[{ required: true, message: '请输入申请人' }]"
>
<a-input
placeholder="请输入申请人"
v-model:value="formName.user"
disabled
/>
</a-form-item> </a-form-item>
<a-form-item style="margin: 0 22px" label="电话" name="phone" :rules="[ <a-form-item
style="margin: 0 22px"
label="电话"
name="phone"
:rules="[
{ {
required: true, required: true,
pattern: /^1[3456789]\d{9}$/, pattern: /^1[3456789]\d{9}$/,
message: '请输入正确的电话号码', message: '请输入正确的电话号码',
}, },
]"> ]"
<a-input placeholder="请输入申请人电话" v-model:value="formName.phone" /> >
<a-input
placeholder="请输入申请人电话"
v-model:value="formName.phone"
/>
</a-form-item> </a-form-item>
<a-form-item label="单位" name="unit" :rules="[{ required: true, message: '请输入单位' }]"> <a-form-item
<a-input placeholder="请输入单位" v-model:value="formName.unit" disabled v-if="deptFlage" /> label="单位"
<a-select v-else placeholder="请选择归属部门" v-model:value="formName.unit" @change="deptIdChangeFunction"> name="unit"
<a-select-option v-for="(item, index) in deptNameAll" :key="`${index}-${item}`" :value="item.name"> :rules="[{ required: true, message: '请输入单位' }]"
>
<a-input
placeholder="请输入单位"
v-model:value="formName.unit"
disabled
v-if="deptFlage"
/>
<a-select
v-else
placeholder="请选择归属部门"
v-model:value="formName.unit"
@change="deptIdChangeFunction"
>
<a-select-option
v-for="(item, index) in deptNameAll"
:key="`${index}-${item}`"
:value="item.name"
>
{{ item.name }} {{ item.name }}
</a-select-option> </a-select-option>
</a-select> </a-select>
@ -45,29 +102,63 @@
</div> </div>
<div class="base-info" v-if="flag"> <div class="base-info" v-if="flag">
<div style="margin-bottom: 24px"> <div style="margin-bottom: 24px">
<a-form-item style="margin-bottom: 0" label="应用系统" name="applicationSystem" <a-form-item
:rules="[{ required: true, message: '请选择应用系统' }]"> style="margin-bottom: 0"
<a-select v-model:value="formName.applicationSystem" show-search placeholder="请选择应用系统" label="应用系统"
style="width: 230px" :options="systemOptions" @focus="handleFocus" @blur="handleBlur" name="applicationSystem"
@change="systemHandleChange" @search="systemHandleSearch"></a-select> :rules="[{ required: true, message: '请选择应用系统' }]"
>
<a-select
v-model:value="formName.applicationSystem"
show-search
placeholder="请选择应用系统"
style="width: 230px"
:options="systemOptions"
@focus="handleFocus"
@blur="handleBlur"
@change="systemHandleChange"
@search="systemHandleSearch"
></a-select>
</a-form-item> </a-form-item>
<span style="font-size: 12px; color: #666; padding-left: 106px"> <span
style="font-size: 12px; color: #666; padding-left: 106px"
>
如选项没有系统请新增 如选项没有系统请新增
</span> </span>
</div> </div>
<a-form-item class="applicationScene" label="应用领域" name="applicationScene" <a-form-item
:rules="[{ required: true, message: '请选择应用领域' }]" style="width: 6.93rem"> class="applicationScene"
<a-select v-model:value="formName.applicationScene" :options="applicationSceneOpthion" mode="tags" label="应用领域"
:size="size" placeholder="请选择应用领域" :filterOption="false" :searchValue="false" name="applicationScene"
style="width: 5.87rem"></a-select> :rules="[{ required: true, message: '请选择应用领域' }]"
style="width: 6.93rem"
>
<a-select
v-model:value="formName.applicationScene"
:options="applicationSceneOpthion"
mode="tags"
:size="size"
placeholder="请选择应用领域"
:filterOption="false"
:searchValue="false"
style="width: 5.87rem"
></a-select>
</a-form-item> </a-form-item>
</div> </div>
<div> <div>
<a-form-item label="需求依据" name="applicationBackground" :rules="[ <a-form-item
label="需求依据"
name="applicationBackground"
:rules="[
{ required: true, message: '请输入需求依据' }, { required: true, message: '请输入需求依据' },
{ min: 50, message: '需求依据最少为50个字' }, { min: 50, message: '需求依据最少为50个字' },
]"> ]"
<a-textarea placeholder="请输入需求依据" v-model:value="formName.applicationBackground" :rows="4" /> >
<a-textarea
placeholder="请输入需求依据"
v-model:value="formName.applicationBackground"
:rows="4"
/>
</a-form-item> </a-form-item>
</div> </div>
@ -75,9 +166,20 @@
<div v-if="iskfq && isXiHaiAn"> <div v-if="iskfq && isXiHaiAn">
<a-row style="margin-top: 0.4rem"> <a-row style="margin-top: 0.4rem">
<a-col :span="24"> <a-col :span="24">
<a-form-item name="attachment" label="附件上传" class="introduction"> <a-form-item
<a-upload :max-count="1" accept=".doc,.docx,pdf" v-model:file-list="fileList" name="attachment"
:action="`${apiURL}/upload`" @remove="handleRemove" @change="roomUpload"> 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> <a-button>
<upload-outlined>选择上传附件</upload-outlined> <upload-outlined>选择上传附件</upload-outlined>
</a-button> </a-button>
@ -90,16 +192,31 @@
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="24" style="margin-left: 106px"> <a-col :span="24" style="margin-left: 106px">
<a href="/static/download/感知资源申请表.doc" download="感知资源申请表">感知资源申请表模板下载</a> <a
href="/static/download/感知资源申请表.doc"
download="感知资源申请表"
>
感知资源申请表模板下载
</a>
</a-col> </a-col>
</a-row> </a-row>
</div> </div>
<div class="bottom-btn"> <div class="bottom-btn">
<a-button class="cancel-apply" type="primary" html-type="cancle" @click="resetFields()"> <a-button
class="cancel-apply"
type="primary"
html-type="cancle"
@click="resetFields()"
>
退出申请 退出申请
</a-button> </a-button>
<a-button class="confirm-apply" type="primary" html-type="submit" @click="processStartHandle()"> <a-button
class="confirm-apply"
type="primary"
html-type="submit"
@click="processStartHandle()"
>
提交申请 提交申请
</a-button> </a-button>
</div> </div>
@ -143,6 +260,7 @@ import { sgcDel, getApplyForm } from '@/api/personalCenter'
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 {
@ -154,6 +272,8 @@ export default {
}, },
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')))
@ -211,8 +331,17 @@ export default {
// 西-- // 西--
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 note1 = JSON.parse(
let iskfq = ref(note1.some(v => v.managementUnitName == '开发区公安局' || v.managementUnitName == '开发区公安分局')) (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 &&
@ -661,11 +790,14 @@ export default {
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)
} }
@ -755,7 +887,11 @@ export default {
query: { query: {
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB, 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 facilitiesType:
list.value[0] &&
list.value[0].arr &&
list.value[0].arr[0] &&
list.value[0].arr[0].type,
}, },
}) })
}, 1000) }, 1000)

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,11 +82,7 @@
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>
@ -180,6 +144,14 @@
} }
// //
const goToHome = () => { const goToHome = () => {
// 西
if (itShowXiHaiAn.value) {
if (
!xhaHasPermissionUser.list.includes(user.value.username)
) {
return message.warn('暂无权限')
}
}
router.push({ router.push({
path: '/home', path: '/home',
}) })
@ -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;
} }
@ -517,11 +488,9 @@
.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;
@ -572,6 +541,7 @@
} }
: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;

View File

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

View File

@ -312,7 +312,7 @@
<span>{{ statusText[record.status] || '' }}</span> <span>{{ statusText[record.status] || '' }}</span>
</template> </template>
<template v-if="column.dataIndex === 'operation'"> <template v-if="column.dataIndex === 'operation'">
<a @click=" <a :class="record.status != 1 ? 'disabled-text' : ''" @click="
openVideo( openVideo(
record.channelCode || record.channelCode ||
record.channelId || record.channelId ||
@ -762,7 +762,8 @@ const openVideo = (id, item) => {
rowClickData.value = item rowClickData.value = item
// //
if (item && item.status != 1) { if (item && item.status != 1) {
return message.warning('当前设备离线, 不可预览!') return
// return message.warning('线, ')
} }
console.log('打开视频', id) console.log('打开视频', id)
const param = { const param = {
@ -2364,4 +2365,13 @@ video::-webkit-media-controls {
bottom: 30px; bottom: 30px;
text-align: right; text-align: right;
} }
.disabled-text {
cursor: not-allowed;
opacity: 0.5;
color: #666666;
&:hover {
color: #666666;
}
}
</style> </style>

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

@ -159,27 +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>
<span class="channelName" style="color:#ff7875" v-if="whoShow1.itShowXiHaiAn && !item.ended" >该流程已终止</span> <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>
@ -453,6 +458,10 @@ const handleUser = () => {
}) })
} }
const openView = (url) => {
window.open(url, '_blank')
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.title { .title {
@ -531,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;
@ -733,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>
@ -58,7 +70,7 @@ refObj.value = props.refObj
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, '---------------------------------------')
@ -109,6 +121,11 @@ const columns = [
dataIndex: 'activityName', dataIndex: 'activityName',
key: 'activityName', key: 'activityName',
}, },
{
title: '处理部门',
dataIndex: 'assigneeDeptName',
key: 'assigneeDeptName',
},
{ {
title: '处理人', title: '处理人',
dataIndex: 'assigneeName', dataIndex: 'assigneeName',

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.name) }} 名称{{
item.cameraList ? item.system : item.title || item.name
}}
</span> </span>
<div></div> <div></div>
</div> </div>
@ -52,54 +69,117 @@
<div v-if="isXiHaiAn">过期时间{{ item.expireDate || '' }}</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 />
<!-- :title="detailModalTitle" --> <a-modal
<a-modal bodyStyle="padding:0.1rem 0" v-model:visible="detailsVisible" bodyStyle="padding:0.1rem 0"
style="width: 900px" :footer="null" destroyOnClose="true" :maskClosable="false"> v-model:visible="detailsVisible"
<template v-slot:title>{{detailModalTitle}}</template> style="width: 1000px"
<apply-details :processDefinitionName="processDefinitionName" :businessKey="businessKey" :footer="null"
:processInstanceId="processInstanceId" :resourceId="resourceId" :refObj="refObj" :showType="showType"> destroyOnClose="true"
</apply-details> :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>
@ -110,14 +190,25 @@
</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 {
onMounted,
reactive,
ref,
onBeforeUnmount,
h,
defineProps,
} from 'vue'
import { import {
getMyProcessInstancePage, getMyProcessInstancePage,
getTabilityapplication, getTabilityapplication,
@ -155,15 +246,16 @@ let typeList = ref([
]) ])
// 西- // 西-
let isXiHaiAn = whoShow.itShowXiHaiAn let isXiHaiAn = whoShow.itShowXiHaiAn
const itShowXiHaiAn = ref(isXiHaiAn)
const phoneSate = ref([2, 3]) const phoneSate = ref([2, 3])
if (isXiHaiAn) { 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: [] })
@ -241,16 +333,10 @@ function changeApplyState(item, index) {
} }
const cilckRowData = ref({}) const cilckRowData = ref({})
let detailModalTitle = '申请详情';
const showDetail = (item) => { const showDetail = (item) => {
cilckRowData.value = item; cilckRowData.value = item
// 西- // 西-
if (isXiHaiAn) { if (isXiHaiAn) {
// 西
if (item.tbDeviceDTO) {
detailModalTitle = item.tbDeviceDTO.name ? item.tbDeviceDTO.name + '申请详情' : '申请详情'
}
console.log('detailModalTitle------------>', detailModalTitle);
if (item.expireDate) { if (item.expireDate) {
let diff = moment().diff(moment(item.expireDate), 'seconds') let diff = moment().diff(moment(item.expireDate), 'seconds')
if (diff > 0) { if (diff > 0) {
@ -277,7 +363,6 @@ 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) => {})
@ -650,11 +735,9 @@ 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
} }
@ -670,7 +753,7 @@ 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)
} }
}) })

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)
@ -99,7 +96,6 @@ export default defineComponent({
handleClick(menuList[0]) handleClick(menuList[0])
} }
} }
}
}) })
return { return {