Compare commits
38 Commits
502068705b
...
8e89d8d1b0
Author | SHA1 | Date |
---|---|---|
wuhongjian | 8e89d8d1b0 | |
wuhongjian | e96c0c11b1 | |
wuhongjian | 3f6e432d0b | |
wuhongjian | 811e80a27c | |
unknown | 71041b60f2 | |
guoyue | a7ac2e8a1e | |
guoyue | 42af2e980b | |
guoyue | dd100d3867 | |
unknown | 05964a73e8 | |
a0049873 | c5fc29a498 | |
guoyue | 5f3aad2539 | |
guoyue | 2ebec87514 | |
guoyue | 0974118d3b | |
guoyue | adf964a400 | |
guoyue | 8db5b8bee5 | |
a0049873 | 21431958f0 | |
guoyue | b66a781b81 | |
guoyue | 587c728a74 | |
guoyue | ea2afd08c9 | |
guoyue | e0bde554b9 | |
guoyue | 98d1b070ab | |
guoyue | 5ac06ce8d6 | |
unknown | f20aac7430 | |
unknown | e26937bc37 | |
a0049873 | 4d65cc11e9 | |
a0049873 | 2c1070d4e2 | |
guoyue | 29ace46c69 | |
guoyue | fe85cd370f | |
guoyue | 0d402302f7 | |
guoyue | 34ac0b016b | |
guoyue | 4354abdf25 | |
gongjiale | 033e123edc | |
gongjiale | 2484cda43d | |
guoyue | 9c8785b8ce | |
guoyue | e34f47680b | |
guoyue | a71fc5326e | |
guoyue | 9bba3077ca | |
guoyue | 4580df0182 |
|
@ -107,7 +107,6 @@ export default {
|
|||
} else {
|
||||
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0
|
||||
}
|
||||
|
||||
console.log('数据列表', this.dataList, this.mixinViewModuleOptions.getDataListURL)
|
||||
if (this.dataList[0].type === '组件服务') {
|
||||
this.dataList.map(val => {
|
||||
|
|
|
@ -104,7 +104,7 @@ router.beforeEach((to, from, next) => {
|
|||
Vue.prototype.$message.error(res.msg)
|
||||
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)
|
||||
next({ ...to, replace: true })
|
||||
}).catch(() => {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: kongjun qdkongjun@gmail.com
|
||||
* @Date: 2022-06-20 09:29:59
|
||||
* @LastEditors: kongjun qdkongjun@gmail.com
|
||||
* @LastEditTime: 2022-06-22 10:04:56
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-10-18 15:22:45
|
||||
* @FilePath: \back\src\views\main-sidebar.vue
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
-->
|
||||
|
@ -35,63 +35,71 @@
|
|||
|
||||
<script>
|
||||
import http from '@/utils/request'
|
||||
import SubMenu from "./main-sidebar-sub-menu";
|
||||
import returnLocationStr from '@/utils/location';
|
||||
import SubMenu from './main-sidebar-sub-menu'
|
||||
import returnLocationStr from '@/utils/location'
|
||||
import bus from '@/views/bus.js'
|
||||
export default {
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
numObject:{}
|
||||
};
|
||||
numObject: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
SubMenu,
|
||||
SubMenu
|
||||
},
|
||||
created() {
|
||||
created () {
|
||||
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: {
|
||||
getNum(){
|
||||
getNum () {
|
||||
http.get('/act/task/myToDoTaskNum').then(({ data: res }) => {
|
||||
this.numObject=res.data
|
||||
let menuList= window.SITE_CONFIG["menuList"];
|
||||
for(var i=0;i<menuList.length;i++){
|
||||
let menu=menuList[i];
|
||||
if(menu.id=='1541261628388888578'){//我的待办
|
||||
let daibanNum=0
|
||||
for(let j=0;j<menu.children.length;j++){
|
||||
let children=menu.children[j]
|
||||
if(children.id=="1541261780432408577"){//能力申请 v2
|
||||
//西海岸 v2 市局v3
|
||||
children.total= returnLocationStr() == 'qingdao' ? Number(this.numObject.abilityprocess_v3) : Number(this.numObject.abilityprocess_v2)
|
||||
daibanNum=Number(daibanNum)+Number(children.total)
|
||||
} if(children.id=="1559376285703081986"){//会议室审核
|
||||
children.total=Number(this.numObject.meetingroom_book)
|
||||
daibanNum=Number(daibanNum)+Number(children.total)
|
||||
}if(children.id=="1545292602084827138"){//能力资源上架
|
||||
children.total=Number(this.numObject.resourcemountapply)
|
||||
daibanNum=Number(daibanNum)+Number(children.total)
|
||||
}if(children.id=="1545312045695377410"){//能力需求申请
|
||||
children.total=Number(this.numObject.abilitydemandapply)
|
||||
daibanNum=Number(daibanNum)+Number(children.total)
|
||||
}if(children.id=="1545313018614521857"){//能力需求下架
|
||||
children.total=Number(this.numObject.resourcundercarriageapply)
|
||||
daibanNum=Number(daibanNum)+Number(children.total)
|
||||
}if(children.id=="1545313754106699777"){//评论审核
|
||||
children.total=Number(this.numObject.comment_review)
|
||||
daibanNum=Number(daibanNum)+Number(children.total)
|
||||
}if(children.id=="1554294862931562498"){//会议室 暂无
|
||||
children.total=0
|
||||
daibanNum=Number(daibanNum)+Number(children.total)
|
||||
}
|
||||
}
|
||||
menu.total=daibanNum
|
||||
this.numObject = res.data
|
||||
const menuList = window.SITE_CONFIG.menuList
|
||||
console.log('menuList====>', menuList)
|
||||
console.log('this.numObject====>', this.numObject)
|
||||
for (var i = 0; i < menuList.length; i++) {
|
||||
const menu = menuList[i]
|
||||
if (menu.id == '1541261628388888578') { // 我的待办
|
||||
let daibanNum = 0
|
||||
for (let j = 0; j < menu.children.length; j++) {
|
||||
const children = menu.children[j]
|
||||
if (children.id == '1541261780432408577') { // 能力申请 v2
|
||||
// 西海岸 v2 市局v3
|
||||
children.total = returnLocationStr() == 'qingdao' ? Number(this.numObject.abilityprocess_v3) : Number(this.numObject.abilityprocess_v2)
|
||||
daibanNum = Number(daibanNum) + Number(children.total)
|
||||
} if (children.id == '1559376285703081986') { // 会议室审核
|
||||
children.total = Number(this.numObject.meetingroom_book)
|
||||
daibanNum = Number(daibanNum) + Number(children.total)
|
||||
} if (children.id == '1545292602084827138') { // 能力资源上架
|
||||
children.total = Number(this.numObject.resourcemountapply)
|
||||
daibanNum = Number(daibanNum) + Number(children.total)
|
||||
} if (children.id == '1545312045695377410') { // 能力需求申请
|
||||
children.total = Number(this.numObject.abilitydemandapply)
|
||||
daibanNum = Number(daibanNum) + Number(children.total)
|
||||
} if (children.id == '1545313018614521857') { // 能力需求下架
|
||||
children.total = Number(this.numObject.resourcundercarriageapply)
|
||||
daibanNum = Number(daibanNum) + Number(children.total)
|
||||
} if (children.id == '1545313754106699777') { // 评论审核
|
||||
children.total = Number(this.numObject.comment_review)
|
||||
daibanNum = Number(daibanNum) + Number(children.total)
|
||||
} if (children.id == '1554294862931562498') { // 会议室 暂无
|
||||
children.total = 0
|
||||
daibanNum = Number(daibanNum) + Number(children.total)
|
||||
}
|
||||
}
|
||||
menu.total = daibanNum
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
this.$store.state.sidebarMenuList=menuList
|
||||
})
|
||||
}
|
||||
}};
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.aui-sidebar {
|
||||
|
|
|
@ -116,7 +116,6 @@ import CommonQuestion from '../components/common-question.vue'
|
|||
import InfrastructureModal from './components/infrastructure-modal.vue'
|
||||
import Cookies from 'js-cookie'
|
||||
import upload from '@/views/modules/components/upload'
|
||||
|
||||
const btnArray = ['基本信息', '场景痛点', '解决方案', '组合能力', '更多能力', '使用步骤']
|
||||
// 数据资源\组件服务
|
||||
export const getJson = (type) => {
|
||||
|
@ -163,7 +162,6 @@ export const modalTypeText = {
|
|||
}
|
||||
|
||||
export const getFuseResourceList = (abilityListObj) => {
|
||||
console.log('abilityListObjabilityListObj',abilityListObj);
|
||||
const arr = []
|
||||
let length = 0
|
||||
for (const key in abilityListObj) {
|
||||
|
@ -176,7 +174,7 @@ export const getFuseResourceList = (abilityListObj) => {
|
|||
resourceId: v.id,
|
||||
type: key,
|
||||
sequence: index,
|
||||
resourceName:v.resourceName,
|
||||
resourceName:v.resourceName|| v.name ,
|
||||
deptName:v.deptName,
|
||||
})
|
||||
})
|
||||
|
@ -331,9 +329,10 @@ export default {
|
|||
},
|
||||
// 更新表单
|
||||
updateDataForm (data) {
|
||||
console.log('datadatadata',data);
|
||||
//console.log('datadatadata',data);
|
||||
if (Object.keys(this.getListParams).includes(data.title)) {
|
||||
this.abilityListObj[data.title] = data.list
|
||||
console.log(' this.abilityListObj[data.title]3333', this.abilityListObj[data.title]);
|
||||
} else {
|
||||
// 更多能力、使用步骤
|
||||
this.operateFuseAttrList(data.title, data)
|
||||
|
@ -363,6 +362,7 @@ export default {
|
|||
// 表单提交
|
||||
dataFormSubmitHandle: debounce(
|
||||
function () {
|
||||
console.log('this.dataForm------表单提交------>111111', this.dataForm)
|
||||
this.$refs.dataForm.validate((valid) => {
|
||||
if (!valid) {
|
||||
this.$message.error('请检查表单是否填写完整')
|
||||
|
|
|
@ -16,19 +16,20 @@
|
|||
</el-transfer>
|
||||
</div>
|
||||
<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="{
|
||||
key: 'id',
|
||||
label: 'name',
|
||||
}" :data="transferData">
|
||||
</el-transfer>
|
||||
<!-- <el-input
|
||||
<el-input
|
||||
v-model="searchValue"
|
||||
placeholder="请输入名称"
|
||||
></el-input>
|
||||
<el-button @click="rest" class="restClick">重置</el-button> -->
|
||||
<data-resource-tranfer @updateData="updateResourceDataForm" :selected-data="selectedData" :type="type"></data-resource-tranfer>
|
||||
</div>
|
||||
<el-pagination
|
||||
<!-- <el-pagination
|
||||
v-if="type==='数据资源'"
|
||||
:current-page="currentPage"
|
||||
:page-size="15"
|
||||
|
@ -36,7 +37,7 @@
|
|||
:total="total"
|
||||
@current-change="pageCurrentChangeHandle"
|
||||
>
|
||||
</el-pagination>
|
||||
</el-pagination> -->
|
||||
<template slot="footer">
|
||||
<el-button @click="showModal = false">{{ $t("cancel") }}</el-button>
|
||||
<el-button type="primary" @click="confirmSubmitHandle()">{{
|
||||
|
@ -52,7 +53,7 @@
|
|||
<script>
|
||||
import InfrastructureModal from '../assignedScene/components/infrastructure-modal.vue'
|
||||
import DisplayList from '../assignedScene/components/display-list.vue'
|
||||
|
||||
import dataResourceTranfer from './data-resource-tranfer.vue'
|
||||
const sjzyArray = [
|
||||
{
|
||||
zyname: '城阳区图书馆总分馆、社区图书室明细信息',
|
||||
|
@ -199,7 +200,9 @@ export default {
|
|||
total: 0,
|
||||
currentPage: 1,
|
||||
newNum: 1,
|
||||
searchValue: ''
|
||||
searchValue: '',
|
||||
selectedData:[],
|
||||
newResourceData:[]
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -223,10 +226,12 @@ export default {
|
|||
},
|
||||
methods: {
|
||||
async getDataInfo (dataForm) {
|
||||
console.log('dataForm-----====',dataForm);
|
||||
console.log('this.type',this.type);
|
||||
await this.getData()
|
||||
const arr = []
|
||||
const attrValue = dataForm.fuseResourceList.filter(v => v.type == this.type);
|
||||
console.log('attrValue22',attrValue);
|
||||
this.selectedData = attrValue;
|
||||
if (attrValue.length > 0) {
|
||||
attrValue.map(val => {
|
||||
if(val.type==="数据资源"){
|
||||
|
@ -248,6 +253,7 @@ export default {
|
|||
}
|
||||
// 展示
|
||||
this.displayList = JSON.parse(JSON.stringify(arr));
|
||||
this.displayList = Array.from(new Set(this.displayList))
|
||||
// 已选中
|
||||
this.selectedArray = arr.map(v => v.id)
|
||||
this.$nextTick(() => {
|
||||
|
@ -286,7 +292,7 @@ export default {
|
|||
this.$http[this.getDataParams.methods](this.getDataParams.url,
|
||||
this.getDataParams.postData
|
||||
).then(res => {
|
||||
console.log('res.data----获取列表-------->', res.data)
|
||||
console.log('res.data----数据资源获取列表-------->', res.data)
|
||||
this.total = Number(res.data.data.rows)
|
||||
if (res.data.code !== 0) {
|
||||
return this.$message.error(res.msg)
|
||||
|
@ -302,37 +308,56 @@ export default {
|
|||
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 => {
|
||||
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) {
|
||||
console.log('1111111111111111111111111')
|
||||
return item.name && item.name.indexOf(query) > -1
|
||||
},
|
||||
confirmSubmitHandle () {
|
||||
console.log('tttttt',this.selectedArray)
|
||||
if(this.type === "数据资源"){
|
||||
//通过选中的数据去查找原始列表数据
|
||||
let selectedObjectList = [];
|
||||
this.selectedArray.forEach((item)=>{
|
||||
let filterData = [];
|
||||
filterData = this.allData.filter(v => v.id == item);
|
||||
//console.log('filterDatafilterData',filterData);
|
||||
selectedObjectList.push(filterData[0]);
|
||||
});
|
||||
this.$emit('update', {
|
||||
title: this.type,
|
||||
list: selectedObjectList
|
||||
})
|
||||
// let selectedObjectList = [];
|
||||
// this.selectedArray.forEach((item)=>{
|
||||
// let filterData = [];
|
||||
// filterData = this.allData.filter(v => v.id == item);
|
||||
// //console.log('filterDatafilterData',filterData);
|
||||
// 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', {
|
||||
title: this.type,
|
||||
list: this.newResourceData
|
||||
});
|
||||
this.displayList = this.newResourceData;
|
||||
this.showModal = false
|
||||
}else{
|
||||
this.$emit('update', {
|
||||
title: this.type,
|
||||
list: this.selectedArray
|
||||
})
|
||||
}
|
||||
if (this.selectedArray.length > this.maxNum) {
|
||||
return this.$message.error('最多选择十条数据!')
|
||||
}
|
||||
|
@ -343,7 +368,9 @@ export default {
|
|||
this.displayList.push(v)
|
||||
}
|
||||
})
|
||||
this.displayList = Array.from(new Set(this.displayList))
|
||||
console.log(this.selectedArray, this.displayList, 'this.displayList')
|
||||
}
|
||||
},
|
||||
handleChange(){
|
||||
//console.log('222222',this.selectedArray);
|
||||
|
@ -376,9 +403,10 @@ export default {
|
|||
this.getData()
|
||||
}
|
||||
},
|
||||
components: { InfrastructureModal, DisplayList },
|
||||
components: { InfrastructureModal, DisplayList,dataResourceTranfer },
|
||||
mounted () {
|
||||
console.log(this.type, 'this.type')
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -493,7 +521,7 @@ export default {
|
|||
position: absolute;
|
||||
font-size: 14px;
|
||||
display: inline-block;
|
||||
width: 80%;
|
||||
width: 30%;
|
||||
top: 52px;
|
||||
left: 12px;
|
||||
}
|
||||
|
|
|
@ -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>
|
|
@ -88,16 +88,49 @@
|
|||
<!--审批详情-->
|
||||
<div>
|
||||
<div class="title">审批详情</div>
|
||||
<div v-for="item in this.dataSource.data" :key="item">
|
||||
<a-table :dataSource="item[1]" :columns="columns">
|
||||
<!-- <div v-for="item in this.dataSource.data" :key="item"> -->
|
||||
<!-- <a-table :dataSource="item[1]" :columns="columns">
|
||||
<template #bodyCell="{ column, text }">
|
||||
<template v-if="column.dataIndex === 'name'">
|
||||
<a>{{ text }}</a>
|
||||
</template>
|
||||
</template>
|
||||
</a-table>
|
||||
</a-table> -->
|
||||
<el-table
|
||||
:data="dataSource.data[0][1]"
|
||||
style="width: 100%">
|
||||
<el-table-column
|
||||
prop="activityName"
|
||||
label="任务名称"
|
||||
width="180">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="assigneeName"
|
||||
label="处理人"
|
||||
width="120">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="startTime"
|
||||
label="任务开始时间"
|
||||
width="180">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="endTime"
|
||||
label="任务结束时间"
|
||||
width="180">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="comment"
|
||||
label="审核意见" show-overflow-tooltip>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="duration"
|
||||
label="任务时长"
|
||||
width="100">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
<!-- <div else>
|
||||
gai
|
||||
</div> -->
|
||||
|
@ -228,6 +261,7 @@ export default {
|
|||
}
|
||||
}
|
||||
}
|
||||
console.log("this.dataSource.data[0]========",this.dataSource.data[0][1])
|
||||
},
|
||||
// init () {
|
||||
// this.visible = true
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<!--审核状态-->
|
||||
<el-form-item>
|
||||
<el-form-item >
|
||||
<span>审核状态:</span>
|
||||
<el-select
|
||||
v-model="examineStatus"
|
||||
|
@ -46,8 +46,9 @@
|
|||
clearable
|
||||
>
|
||||
<el-option label="全部" value="-1"></el-option>
|
||||
<el-option label="审核完成" value="1"></el-option>
|
||||
<el-option label="审核中" value="0"></el-option>
|
||||
<el-option label="审核中" value="0"></el-option>
|
||||
<el-option label="通过" value="1"></el-option>
|
||||
<el-option label="不通过" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
|
@ -371,8 +372,9 @@ export default {
|
|||
{ name: '组件服务', key: 1 },
|
||||
{ name: '应用资源', key: 2 },
|
||||
{ name: '基础设施', key: 3 },
|
||||
{ name: '数据资源', key: 3 },
|
||||
{ name: '知识库', key: 3 }
|
||||
{ name: '数据资源', key: 4 },
|
||||
{ name: '知识库', key: 5 },
|
||||
{ name: '会议室', value: 6}
|
||||
],
|
||||
tableData: [],
|
||||
tableData2: [
|
||||
|
@ -396,7 +398,8 @@ export default {
|
|||
{ name: '图层服务', value: 2 },
|
||||
{ name: '通用开发组件', value: 3 },
|
||||
{ name: '页面开发组件', value: 4 },
|
||||
{ name: '应用资源', value: 5 }
|
||||
{ name: '应用资源', value: 5 },
|
||||
{ name: '会议室', value: 6}
|
||||
], // 类型备选列表
|
||||
detailFlag: false, // 明细返回按钮显示标志位
|
||||
startDate: '', // 开始时间
|
||||
|
@ -478,7 +481,9 @@ export default {
|
|||
} else if (this.examineStatus == '0') {
|
||||
this.status = '审核中'
|
||||
} else if (this.examineStatus == '1') {
|
||||
this.status = '审核完成'
|
||||
this.status = '通过'
|
||||
}else if (this.examineStatus == '2') {
|
||||
this.status = '不通过'
|
||||
} else {
|
||||
this.status = this.examineStatus
|
||||
}
|
||||
|
@ -534,7 +539,9 @@ export default {
|
|||
} else if (this.examineStatus == '0') {
|
||||
this.status = '审核中'
|
||||
} else if (this.examineStatus == '1') {
|
||||
this.status = '审核完成'
|
||||
this.status = '通过'
|
||||
} else if (this.examineStatus == '2') {
|
||||
this.status = '不通过'
|
||||
} else {
|
||||
this.status = this.examineStatus
|
||||
}
|
||||
|
@ -627,13 +634,15 @@ export default {
|
|||
},
|
||||
// 能力上架明细
|
||||
getOneDetail (page) {
|
||||
var passAndReview = '' // 转变"审核完成"字段为通过
|
||||
var passAndReview = '' // 转变"通过"字段为通过
|
||||
if (this.examineStatus == '-1') {
|
||||
this.status = ''
|
||||
} else if (this.examineStatus == '0') {
|
||||
this.status = '审核中'
|
||||
} else if (this.examineStatus == '1') {
|
||||
this.status = '通过'
|
||||
} else if (this.examineStatus == '2') {
|
||||
this.status = '不通过'
|
||||
} else {
|
||||
this.status = this.examineStatus
|
||||
}
|
||||
|
@ -657,13 +666,15 @@ export default {
|
|||
},
|
||||
// 能力使用明细
|
||||
getTwoDetail (page) {
|
||||
var passAndReview = '' // 转变"审核完成"字段为通过
|
||||
var passAndReview = '' // 转变"通过"字段为通过
|
||||
if (this.examineStatus == '-1') {
|
||||
this.status = ''
|
||||
} else if (this.examineStatus == '0') {
|
||||
this.status = '审核中'
|
||||
} else if (this.examineStatus == '1') {
|
||||
this.status = '通过'
|
||||
} else if (this.examineStatus == '2') {
|
||||
this.status = '不通过'
|
||||
} else {
|
||||
this.status = this.examineStatus
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ export default {
|
|||
init () {
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].resetFields()
|
||||
this.$refs.dataForm.resetFields()
|
||||
this.iconList = getIconList()
|
||||
this.dataForm.parentName = this.$t('menu.parentNameDefault')
|
||||
this.getMenuList()
|
||||
|
@ -89,11 +89,12 @@ export default {
|
|||
},
|
||||
// 获取菜单列表
|
||||
getMenuList () {
|
||||
console.log('获取菜单位置1')
|
||||
return this.$http.get('/sys/menu/list?type=0').then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.menuList = res.data
|
||||
this.menuList = res.data.filter(item => item.site === 0)
|
||||
}).catch(() => {})
|
||||
},
|
||||
// 上级菜单树, 设置默认值
|
||||
|
@ -114,11 +115,11 @@ export default {
|
|||
},
|
||||
// 表单提交
|
||||
dataFormSubmitHandle: debounce(function () {
|
||||
this.$refs['dataForm'].validate((valid) => {
|
||||
this.$refs.dataForm.validate((valid) => {
|
||||
if (!valid) {
|
||||
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) {
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
|
@ -133,7 +134,7 @@ export default {
|
|||
})
|
||||
}).catch(() => {})
|
||||
})
|
||||
}, 1000, { 'leading': true, 'trailing': false })
|
||||
}, 1000, { leading: true, trailing: false })
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -38,6 +38,9 @@
|
|||
</template>
|
||||
</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">
|
||||
<template slot-scope="scope" v-if="scope.row.applicationArea">
|
||||
<span class="area-text" v-for="(x,i) in JSON.parse(scope.row.applicationArea)"
|
||||
|
|
|
@ -47,6 +47,13 @@
|
|||
}}</span>
|
||||
</template>
|
||||
</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
|
||||
:label="$t('process.system')"
|
||||
header-align="center"
|
||||
|
@ -161,7 +168,8 @@ export default {
|
|||
created () {
|
||||
bus.$off('competencyApplicationInit')
|
||||
bus.$on('competencyApplicationInit', () => {
|
||||
this.getDataList()
|
||||
this.getDataList();
|
||||
bus.$emit('updateTaskNum')
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,15 +12,23 @@
|
|||
<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="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">
|
||||
<template slot-scope="scope">
|
||||
<span>{{wrjStateObj[scope.row.state]}}</span>
|
||||
</template>
|
||||
</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="applicationSystem" label="应用系统" header-align="center" align="center">
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="应用领域" header-align="center" align="center">
|
||||
<template slot-scope="scope" v-if="scope.row.applicationArea">
|
||||
<span class="area-text" v-for="(x,i) in JSON.parse(scope.row.applicationArea)"
|
||||
|
|
|
@ -13,40 +13,32 @@
|
|||
<h3>申请人信息</h3>
|
||||
<div class="big-BOX">
|
||||
<p>
|
||||
<span class="text"
|
||||
>申请人:<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.user || '--' }}</span></span>
|
||||
<span class="text">电话:<span>{{ dataForm.content.phone || '--' }}</span></span>
|
||||
<span class="text">单位:<span>{{ dataForm.content.unit || '--' }}</span></span>
|
||||
</p>
|
||||
<p>
|
||||
<span class="text">
|
||||
能力申请标题:<span>
|
||||
{{ dataForm.content.title || '--' }}</span
|
||||
></span
|
||||
>
|
||||
<span class="text" v-if="dataForm.content.applicationSystem"
|
||||
>应用系统:<span>{{
|
||||
dataForm.content.applicationSystem || '--'
|
||||
}}</span></span
|
||||
>
|
||||
<span class="text" ></span>
|
||||
{{ dataForm.content.title || '--' }}</span></span>
|
||||
<span class="text" v-if="dataForm.content.applicationSystem">应用系统:<span>{{
|
||||
dataForm.content.applicationSystem || '--'
|
||||
}}</span></span>
|
||||
<span class="text"></span>
|
||||
</p>
|
||||
<p>
|
||||
<span v-if="dataForm.content.applicationSceneStr"
|
||||
>应用场景:<span>
|
||||
{{ dataForm.content.applicationSceneStr || '--' }}</span
|
||||
></span>
|
||||
<span v-if="dataForm.content.applicationSceneStr">应用场景:<span>
|
||||
{{ dataForm.content.applicationSceneStr || '--' }}</span></span>
|
||||
</p>
|
||||
<p>
|
||||
<span>
|
||||
需求依据:<span>
|
||||
{{ dataForm.content.applicationBackground || '--' }}</span
|
||||
></span>
|
||||
{{ dataForm.content.applicationBackground || '--' }}</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>
|
||||
<span>
|
||||
|
@ -102,9 +94,7 @@
|
|||
<el-radio-button label="退回" class="redAll" @click="showDialog('退回')">退回</el-radio-button>
|
||||
</el-radio-group> -->
|
||||
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
||||
<el-button type="danger" plain @click="showDialog('驳回')"
|
||||
>驳回</el-button
|
||||
>
|
||||
<el-button type="danger" plain @click="showDialog('驳回')">驳回</el-button>
|
||||
<!-- <el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input>
|
||||
<el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input>
|
||||
<el-button class="inputBule" @click="agreeOrNot">提交</el-button> -->
|
||||
|
@ -113,21 +103,12 @@
|
|||
|
||||
<!-- 流程详情 -->
|
||||
<ren-process-detail></ren-process-detail>
|
||||
<el-dialog
|
||||
title="审批意见"
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="dialogVisible"
|
||||
width="30%"
|
||||
:before-close="handleClose"
|
||||
>
|
||||
<el-dialog title="审批意见" :close-on-click-modal="false" :visible.sync="dialogVisible" width="30%"
|
||||
:before-close="handleClose">
|
||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="handleClose2">取 消</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click.native="agreeOrNot($store.state.contentTabsActiveName)"
|
||||
>确 定</el-button
|
||||
>
|
||||
<el-button type="primary" @click.native="agreeOrNot($store.state.contentTabsActiveName)">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</el-card>
|
||||
|
@ -144,7 +125,7 @@ import bus from '@/views/bus.js'
|
|||
export default {
|
||||
// 注入公共方法
|
||||
mixins: [processModule],
|
||||
data () {
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
dialogType: '',
|
||||
|
@ -173,7 +154,7 @@ export default {
|
|||
agreeOrList: '同意'
|
||||
}
|
||||
},
|
||||
created () {
|
||||
created() {
|
||||
// 将业务KEY赋值给表单
|
||||
console.log('params=================>', this.$route, this.$route.params)
|
||||
this.dataForm.taskId = this.$route.params.taskId
|
||||
|
@ -207,7 +188,7 @@ export default {
|
|||
RenProcessDetail
|
||||
},
|
||||
methods: {
|
||||
init () {
|
||||
init() {
|
||||
// this.visible = true
|
||||
this.$nextTick(() => {
|
||||
// this.$refs.dataForm.resetFields()
|
||||
|
@ -219,32 +200,32 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
showDialog (title) {
|
||||
showDialog(title) {
|
||||
this.dialogVisible = true
|
||||
this.dialogType = title
|
||||
},
|
||||
handleClose (done) {
|
||||
handleClose(done) {
|
||||
this.$confirm('确认关闭?')
|
||||
.then((_) => {
|
||||
this.input = ''
|
||||
done()
|
||||
})
|
||||
.catch((_) => {})
|
||||
.catch((_) => { })
|
||||
},
|
||||
handleClose2 () {
|
||||
handleClose2() {
|
||||
this.dialogVisible = false
|
||||
this.input = ''
|
||||
},
|
||||
downloadFile2 (url) {
|
||||
downloadFile2(url) {
|
||||
console.log(window.SITE_CONFIG.previewUrl)
|
||||
window.open(
|
||||
window.SITE_CONFIG.previewUrl +
|
||||
'hisense_office/onlinePreview?url=' +
|
||||
btoa(encodeURI(url))
|
||||
'hisense_office/onlinePreview?url=' +
|
||||
btoa(encodeURI(url))
|
||||
)
|
||||
},
|
||||
// 获取信息
|
||||
getInfo () {
|
||||
getInfo() {
|
||||
let params = ''
|
||||
if (this.dataForm.taskId) {
|
||||
params = `taskId=${this.dataForm.taskId}`
|
||||
|
@ -272,7 +253,7 @@ export default {
|
|||
index <
|
||||
res.data.tAbilityApplicationDTOList[0].applicationScene
|
||||
.length -
|
||||
1
|
||||
1
|
||||
) {
|
||||
res.data.tAbilityApplicationDTOList[0].applicationSceneStr +=
|
||||
'、'
|
||||
|
@ -307,7 +288,7 @@ export default {
|
|||
this.dataList.push(obj)
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
.catch(() => { })
|
||||
} else {
|
||||
params = `instanceId=${this.dataForm.instanceId}`
|
||||
this.$http
|
||||
|
@ -359,11 +340,11 @@ export default {
|
|||
this.dataList.push(obj)
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
.catch(() => { })
|
||||
}
|
||||
},
|
||||
// 申请能力
|
||||
applyData () {
|
||||
applyData() {
|
||||
this.$http
|
||||
.get(`/resource/select/${this.dataForm.instanceId}`)
|
||||
.then(({ data: res }) => {
|
||||
|
@ -375,7 +356,7 @@ export default {
|
|||
// this.dataForm.content = res.data
|
||||
// console.log(this.dataForm, 'ela')
|
||||
})
|
||||
.catch(() => {})
|
||||
.catch(() => { })
|
||||
},
|
||||
// 同意与退回
|
||||
agreeOrNot: debounce(
|
||||
|
@ -412,7 +393,7 @@ export default {
|
|||
}
|
||||
})
|
||||
})
|
||||
.catch(() => {})
|
||||
.catch(() => { })
|
||||
this.tabRemoveHandle(data)
|
||||
} else {
|
||||
this.$message.error('请输入审批意见!')
|
||||
|
@ -455,7 +436,7 @@ export default {
|
|||
1000,
|
||||
{ leading: true, trailing: false }
|
||||
),
|
||||
tabRemoveHandle (tabName) {
|
||||
tabRemoveHandle(tabName) {
|
||||
console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
|
||||
if (tabName === 'home') {
|
||||
return false
|
||||
|
@ -472,7 +453,7 @@ export default {
|
|||
if (tabName === this.$store.state.contentTabsActiveName) {
|
||||
const tab =
|
||||
this.$store.state.contentTabs[
|
||||
this.$store.state.contentTabs.length - 1
|
||||
this.$store.state.contentTabs.length - 1
|
||||
]
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab.name) ? 'iframe' : tab.name,
|
||||
|
@ -482,13 +463,19 @@ export default {
|
|||
}
|
||||
},
|
||||
// 启动流程出错回调
|
||||
startProcessErrorCallback (data) {
|
||||
startProcessErrorCallback(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()
|
||||
}
|
||||
}
|
||||
|
@ -497,38 +484,47 @@ export default {
|
|||
::v-deep .big-BOX {
|
||||
background: rgba(244, 245, 248, 0.8);
|
||||
padding: 24px;
|
||||
|
||||
h3 {
|
||||
font-size: 16px;
|
||||
color: #212121;
|
||||
}
|
||||
|
||||
p {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
color: #212121;
|
||||
font-size: 14px;
|
||||
|
||||
span {
|
||||
display: inline-block;
|
||||
margin-left: 8px;
|
||||
line-height: 32px;
|
||||
|
||||
span {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.text {
|
||||
width: 500px;
|
||||
}
|
||||
}
|
||||
|
||||
.lastP {
|
||||
margin-top: 16px;
|
||||
width: 100%;
|
||||
|
||||
span {
|
||||
display: flex;
|
||||
|
||||
span {
|
||||
padding: 0 12px;
|
||||
height: 32px;
|
||||
background: rgba(232, 234, 239, 1);
|
||||
border-radius: 2px;
|
||||
|
||||
button {
|
||||
background: unset;
|
||||
border: 0;
|
||||
|
@ -539,6 +535,7 @@ export default {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .AbilityApply {
|
||||
margin-top: 32px;
|
||||
|
||||
|
@ -548,27 +545,33 @@ export default {
|
|||
border-bottom: 1px solid #dddee1;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 0px;
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
padding: 30px 0;
|
||||
border-bottom: 1px solid #dddee1;
|
||||
display: flex;
|
||||
|
||||
img {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
div {
|
||||
margin-left: 16px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
|
||||
h2 {
|
||||
margin-bottom: 20px;
|
||||
font-size: 20px;
|
||||
color: #000;
|
||||
display: flex;
|
||||
|
||||
span {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
|
@ -581,22 +584,26 @@ export default {
|
|||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.clearfix:after {
|
||||
display: block;
|
||||
content: "";
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.title {
|
||||
color: #0558e1;
|
||||
font-size: 18px;
|
||||
padding-bottom: 0;
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.title:before {
|
||||
content: "";
|
||||
width: 6px;
|
||||
|
@ -610,17 +617,21 @@ export default {
|
|||
}
|
||||
}
|
||||
}
|
||||
::v-deep .agreeOr > div {
|
||||
|
||||
::v-deep .agreeOr>div {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.el-input {
|
||||
margin-right: 10px;
|
||||
margin-left: 32px;
|
||||
}
|
||||
}
|
||||
::v-deep .agreeOr > div:last-of-type {
|
||||
|
||||
::v-deep .agreeOr>div:last-of-type {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.blueAll {
|
||||
::v-deep .el-radio-button__inner {
|
||||
width: 80px;
|
||||
|
@ -632,12 +643,14 @@ export default {
|
|||
color: #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;
|
||||
background: #0558e1;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
.inputBule {
|
||||
width: 55px;
|
||||
height: 32px;
|
||||
|
@ -648,8 +661,10 @@ export default {
|
|||
color: #ffffff;
|
||||
border: 1px solid #0558e1;
|
||||
}
|
||||
|
||||
.redAll {
|
||||
margin-left: 10px;
|
||||
|
||||
::v-deep .el-radio-button__inner {
|
||||
width: 80px;
|
||||
height: 32px;
|
||||
|
@ -661,12 +676,14 @@ export default {
|
|||
color: #e83a48;
|
||||
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;
|
||||
color: #ffffff;
|
||||
background: #e83a48;
|
||||
}
|
||||
}
|
||||
|
||||
.blueInput {
|
||||
width: 55px;
|
||||
}
|
||||
|
|
|
@ -123,11 +123,12 @@ export default {
|
|||
},
|
||||
// 获取菜单列表
|
||||
getMenuList () {
|
||||
console.log('获取菜单位置2')
|
||||
return this.$http.get('/sys/menu/list?type=0').then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.menuList = res.data
|
||||
this.menuList = res.data.filter(item => item.site === 0)
|
||||
}).catch(() => {})
|
||||
},
|
||||
// 获取信息
|
||||
|
|
|
@ -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>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__menu">
|
||||
|
|
Binary file not shown.
|
@ -15,6 +15,7 @@ const state = () => ({
|
|||
accessToken: getAccessToken(),
|
||||
username: '',
|
||||
realName: '',
|
||||
deptName: '',
|
||||
userId: '',
|
||||
avatar: '',
|
||||
role: 0, // 用户管理员权限
|
||||
|
@ -26,6 +27,7 @@ const getters = {
|
|||
avatar: (state) => state.avatar,
|
||||
role: (state) => state.role,
|
||||
userId: (state) => state.userId,
|
||||
deptName: (state) => state.deptName,
|
||||
}
|
||||
const mutations = {
|
||||
/**
|
||||
|
@ -64,6 +66,10 @@ const mutations = {
|
|||
setUserId(state, id) {
|
||||
state.userId = id
|
||||
},
|
||||
// 设置用户单位
|
||||
setDeptName(state, name) {
|
||||
state.deptName = name
|
||||
},
|
||||
/**
|
||||
* @author chuzhixin 1204505056@qq.com
|
||||
* @description 设置头像
|
||||
|
@ -136,6 +142,7 @@ const actions = {
|
|||
commit('setRealname', res.data.data.realName)
|
||||
commit('setRole', res.data.data.roleIdList.length)
|
||||
commit('setUserId', res.data.data.id)
|
||||
commit('setDeptName', res.data.data.deptName)
|
||||
// TODO 获取用户信息,后续执行部分操作
|
||||
// let { username, avatar, roles, ability } = data
|
||||
// if (username && roles && Array.isArray(roles)) {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-04-01 17:23:11
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-10-11 13:59:18
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-10-17 09:25:32
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ router.beforeEach(async (to, from, next) => {
|
|||
// if (SSOTOKEN) {
|
||||
// setAccessToken(SSOTOKEN)
|
||||
// }
|
||||
console.log('验证白名单', routesWhiteList)
|
||||
const token = getAccessToken()
|
||||
console.log('token', token)
|
||||
let hasToken = token
|
||||
|
@ -44,6 +43,7 @@ router.beforeEach(async (to, from, next) => {
|
|||
accessRoutes.forEach((item) => {
|
||||
router.addRoute(item)
|
||||
})
|
||||
console.log('验证白名单', routesWhiteList)
|
||||
if (routesWhiteList.indexOf(to.path) !== -1) {
|
||||
debugger
|
||||
next()
|
||||
|
|
|
@ -318,7 +318,7 @@
|
|||
//来源部门漏斗图
|
||||
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) => {
|
||||
return Number(a.value) - Number(b.value)
|
||||
|
|
|
@ -2,7 +2,11 @@
|
|||
<div class="ability-to-apply-for" :class="{ all: falg }">
|
||||
<div class="title">
|
||||
<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
|
||||
t="1659419933164"
|
||||
class="btn"
|
||||
|
@ -97,7 +101,10 @@
|
|||
{{
|
||||
val.description ||
|
||||
((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 +
|
||||
'个摄像头') ||
|
||||
|
@ -105,7 +112,11 @@
|
|||
}}
|
||||
</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>
|
||||
</template>
|
||||
</div>
|
||||
|
@ -115,11 +126,17 @@
|
|||
title="已申请摄像头列表"
|
||||
@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
|
||||
:columns="columns"
|
||||
:data-source="xVideoList"
|
||||
bordered
|
||||
:pagination="{ defaultPageSize: 6 }"
|
||||
style="margin-top:10px"
|
||||
>
|
||||
<template #bodyCell="{ column, text }">
|
||||
<!-- <template>
|
||||
|
@ -135,6 +152,7 @@
|
|||
import { message } from 'ant-design-vue'
|
||||
import { ref, defineProps } from 'vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { getDeptAll } from '@/api/user'
|
||||
const router = useRouter()
|
||||
const props = defineProps({
|
||||
dataList: { type: Array, default: null },
|
||||
|
@ -143,12 +161,19 @@
|
|||
let dataForm = ref([])
|
||||
const videoVisible = ref(false)
|
||||
const xVideoList = ref([])
|
||||
|
||||
const xVideoListAll = ref([])
|
||||
const deptNameAll = ref([]) //所有部门名称
|
||||
const deptFlage = ref(true) //判断是否存在默认部门名称
|
||||
const deptName = ref(null)
|
||||
const columns = ref([
|
||||
{
|
||||
title: '摄像头名称',
|
||||
dataIndex: 'name',
|
||||
},
|
||||
{
|
||||
title: '归属部门',
|
||||
dataIndex: 'managementUnitName',
|
||||
}
|
||||
])
|
||||
// eslint-disable-next-line vue/no-setup-props-destructure
|
||||
dataForm.value = props.dataList
|
||||
|
@ -178,11 +203,16 @@
|
|||
// 详情
|
||||
const showItem = (id, type, delFlag, note1) => {
|
||||
if (type == '基础设施') {
|
||||
let arr = JSON.parse(note1)
|
||||
let arr = JSON.parse(note1);
|
||||
xVideoList.value = []
|
||||
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
|
||||
} else {
|
||||
if (delFlag == 0) {
|
||||
|
@ -197,6 +227,27 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
//归属部门选中改变事件
|
||||
const deptIdChangeFunction = (name) => {
|
||||
//console.log('nnnndddd',name);
|
||||
//console.log('过滤前xVideoList',xVideoList);
|
||||
//通过name过滤xVideoList
|
||||
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>
|
||||
|
||||
<style scoped lang="less">
|
||||
|
@ -337,4 +388,11 @@
|
|||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
::v-deep .ant-table-thead > tr > th {
|
||||
//padding-left: px;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
color:#000000 ;
|
||||
//background: # !important;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -145,7 +145,6 @@
|
|||
></a-select>
|
||||
</a-form-item>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<a-form-item
|
||||
label="需求依据"
|
||||
|
@ -162,20 +161,50 @@
|
|||
/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
|
||||
<!-- 西海岸--附件上传 -->
|
||||
<div v-if="iskfq && isXiHaiAn">
|
||||
<a-row style="margin-top: 0.4rem">
|
||||
<a-col :span="24">
|
||||
<a-form-item
|
||||
name="attachment"
|
||||
label="附件上传"
|
||||
class="introduction"
|
||||
:rules="[{ required: true, message: '请上传附件' }]"
|
||||
>
|
||||
<a-upload
|
||||
:max-count="1"
|
||||
accept=".doc,.docx,pdf"
|
||||
v-model:file-list="fileList"
|
||||
:action="`${apiURL}/upload`"
|
||||
@remove="handleRemove"
|
||||
@change="roomUpload"
|
||||
>
|
||||
<a-button>
|
||||
<upload-outlined>选择上传附件</upload-outlined>
|
||||
</a-button>
|
||||
<span>
|
||||
支持doc、docx、PDF等格式支撑材料上传,文件大小不超过100M
|
||||
</span>
|
||||
</a-upload>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :span="24" style="margin-left: 106px">
|
||||
<a
|
||||
href="/static/download/感知资源申请表.doc"
|
||||
download="感知资源申请表"
|
||||
>
|
||||
感知资源申请表模板下载
|
||||
</a>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
|
||||
<div class="bottom-btn">
|
||||
<a-button
|
||||
style="
|
||||
width: 80px;
|
||||
height: 38px;
|
||||
margin-right: 20px;
|
||||
background: #e1edfa;
|
||||
color: #0087ff;
|
||||
font-size: 14px;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
"
|
||||
class="cancel-apply"
|
||||
type="primary"
|
||||
html-type="cancle"
|
||||
@click="resetFields()"
|
||||
|
@ -183,17 +212,7 @@
|
|||
退出申请
|
||||
</a-button>
|
||||
<a-button
|
||||
style="
|
||||
width: 80px;
|
||||
height: 38px;
|
||||
background: #0087ff;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
"
|
||||
class="confirm-apply"
|
||||
type="primary"
|
||||
html-type="submit"
|
||||
@click="processStartHandle()"
|
||||
|
@ -241,6 +260,7 @@
|
|||
import { pageWithAttrs, updateIntegrationServices } from '@/api/home'
|
||||
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||
import { getIntegrationDetail, soldierApply } from '@/api/home'
|
||||
import { useStore } from 'vuex'
|
||||
import * as moment from 'moment'
|
||||
|
||||
export default {
|
||||
|
@ -252,6 +272,8 @@
|
|||
},
|
||||
setup() {
|
||||
const router = useRouter()
|
||||
const store = useStore()
|
||||
const deptName = store.getters['user/deptName']
|
||||
const disabled = ref(false)
|
||||
const flag = ref(false)
|
||||
const list = ref(JSON.parse(localStorage.getItem('applyList')))
|
||||
|
@ -279,6 +301,7 @@
|
|||
label: '90天',
|
||||
},
|
||||
]
|
||||
const apiURL = window.SITE_CONFIG.apiURL
|
||||
|
||||
if (!applyAll) {
|
||||
list.value.map((item) => {
|
||||
|
@ -307,6 +330,18 @@
|
|||
const isXiHaiAn = ref(whoShow.itShowXiHaiAn)
|
||||
// 西海岸-判断是否是基础设施-摄像头
|
||||
const isCamera = ref(false)
|
||||
// 西海岸-是否是开发区公安分局,是的话,增加上传附件字段
|
||||
let note1 = JSON.parse(
|
||||
(list.value[0] && list.value[0].arr && list.value[0].arr[0].note1) ||
|
||||
'[]'
|
||||
)
|
||||
let iskfq = ref(
|
||||
note1.some(
|
||||
(v) =>
|
||||
v.managementUnitName == '开发区公安局' ||
|
||||
v.managementUnitName == '开发区公安分局'
|
||||
)
|
||||
)
|
||||
if (
|
||||
list.value[0] &&
|
||||
list.value[0].arr &&
|
||||
|
@ -560,6 +595,7 @@
|
|||
handleWrjApply(formName)
|
||||
return
|
||||
}
|
||||
|
||||
submitApply(formName).then((res) => {
|
||||
message.success('申请提交成功,请到消息中心查看!')
|
||||
console.log('能力申请================>', res)
|
||||
|
@ -726,34 +762,6 @@
|
|||
])
|
||||
const systemOptions = ref([])
|
||||
const systemOptions2 = ref([])
|
||||
const handleChange = (info) => {
|
||||
if (info.file.status !== 'uploading') {
|
||||
// console.log(info.file, info.fileList)
|
||||
}
|
||||
if (info.file.status === 'done') {
|
||||
message.success(`${info.file.name} 上传成功`)
|
||||
formName.enclosure = info.file.response.data
|
||||
formName.enclosureName = info.file.name
|
||||
} else if (info.file.status === 'error') {
|
||||
message.error(`${info.file.name} 上传失败`)
|
||||
}
|
||||
}
|
||||
const beforeUpload = (file) => {
|
||||
const isPNG =
|
||||
file.type === 'image/png' ||
|
||||
'image/doc' ||
|
||||
'image/docx' ||
|
||||
'image/jpg' ||
|
||||
'image/png' ||
|
||||
'image/jpeg' ||
|
||||
'image/pdf' ||
|
||||
'image/xlxs' ||
|
||||
'image/ppt'
|
||||
if (!isPNG) {
|
||||
message.error(`上传失败`)
|
||||
}
|
||||
return isPNG || Upload.LIST_IGNORE
|
||||
}
|
||||
const fileList = ref([])
|
||||
// 应用系统下拉
|
||||
const systemHandleChange = (value) => {
|
||||
|
@ -782,11 +790,14 @@
|
|||
if (res.data.data.records.length == 0) {
|
||||
message.warning('该关键词,暂无应用资源!')
|
||||
} else {
|
||||
// 过滤本单位的应用系统
|
||||
res.data.data.records.map((val) => {
|
||||
systemOptions2.value.push({
|
||||
value: val.name,
|
||||
label: val.name,
|
||||
})
|
||||
if (val.deptName === deptName) {
|
||||
systemOptions2.value.push({
|
||||
value: val.name,
|
||||
label: val.name,
|
||||
})
|
||||
}
|
||||
})
|
||||
// console.log('第一次获取===================>', systemOptions2.value)
|
||||
}
|
||||
|
@ -868,9 +879,22 @@
|
|||
}
|
||||
soldierApply(_data)
|
||||
.then((res) => {
|
||||
if (res.data.code == 0) {
|
||||
message.success(res.data.msg)
|
||||
jumpToDetailsPageconetent()
|
||||
if (res.data.msg === 'success') {
|
||||
message.success('申请提交成功,请到消息中心查看!')
|
||||
setTimeout(() => {
|
||||
router.push({
|
||||
path: '/DetailsPageconetent',
|
||||
query: {
|
||||
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB,
|
||||
// 基础设施类型
|
||||
facilitiesType:
|
||||
list.value[0] &&
|
||||
list.value[0].arr &&
|
||||
list.value[0].arr[0] &&
|
||||
list.value[0].arr[0].type,
|
||||
},
|
||||
})
|
||||
}, 1000)
|
||||
} else {
|
||||
message.error('申请失败!')
|
||||
}
|
||||
|
@ -880,6 +904,14 @@
|
|||
})
|
||||
}
|
||||
|
||||
//文件上传成功回调
|
||||
const roomUpload = (response) => {
|
||||
if (response.file.response !== undefined) {
|
||||
fileList.value = response.fileList
|
||||
formName.attachment = response.file.response.data
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
deptIdChangeFunction,
|
||||
formRef,
|
||||
|
@ -897,11 +929,11 @@
|
|||
headers: {
|
||||
authorization: 'authorization-text',
|
||||
},
|
||||
handleChange,
|
||||
// handleChange,
|
||||
applySuccess,
|
||||
disabled,
|
||||
baseURL,
|
||||
beforeUpload,
|
||||
// beforeUpload,
|
||||
dataList,
|
||||
systemHandleChange,
|
||||
systemHandleSearch,
|
||||
|
@ -915,6 +947,9 @@
|
|||
isCamera,
|
||||
isXiHaiAn,
|
||||
expireDateOptions,
|
||||
apiURL,
|
||||
roomUpload,
|
||||
iskfq,
|
||||
}
|
||||
},
|
||||
}
|
||||
|
@ -1021,4 +1056,29 @@
|
|||
justify-content: center;
|
||||
// position: fixed;
|
||||
}
|
||||
|
||||
.cancel-apply {
|
||||
width: 80px;
|
||||
height: 38px;
|
||||
margin-right: 20px;
|
||||
background: #e1edfa;
|
||||
color: #0087ff;
|
||||
font-size: 14px;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.confirm-apply {
|
||||
width: 80px;
|
||||
height: 38px;
|
||||
background: #0087ff;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -157,7 +157,7 @@
|
|||
password: Encrypt(this.form.password),
|
||||
username: this.form.username,
|
||||
})
|
||||
window.localStorage.setItem('tokenStartTime', new Date().getTime())
|
||||
// window.localStorage.setItem('tokenStartTime', new Date().getTime())
|
||||
window.sessionStorage.setItem('visits', JSON.stringify([]))
|
||||
console.log(
|
||||
'添加visits========================================>',
|
||||
|
|
|
@ -262,35 +262,27 @@ const goPage = (item) => {
|
|||
}
|
||||
}
|
||||
}
|
||||
let isQingDao = whoShow.itShowQingDao;
|
||||
|
||||
// 更改消息状态
|
||||
const read = (item) => {
|
||||
if (selectData.value.length === 0 && !item) {
|
||||
message.error('未选择消息!')
|
||||
return
|
||||
return message.error('未选择消息!')
|
||||
}
|
||||
console.log(selectData.value)
|
||||
if (item) {
|
||||
// 已读状态
|
||||
// 已读状态,跳转页面
|
||||
if (item.readStatus === 1) {
|
||||
if(isQingDao) {
|
||||
goPage(item)
|
||||
}
|
||||
// 跳转页面
|
||||
return
|
||||
return goPage(item)
|
||||
}
|
||||
mynoticeRead(item.id).then((res) => {
|
||||
if (res.data.code == 0) {
|
||||
message.success('通知已读!')
|
||||
mybus.emit('getMynotice')
|
||||
init()
|
||||
if (isQingDao) {
|
||||
// 页面跳转
|
||||
setTimeout(() => {
|
||||
goPage(item)
|
||||
}, 1000)
|
||||
}
|
||||
// 页面跳转
|
||||
setTimeout(() => {
|
||||
goPage(item)
|
||||
}, 1500)
|
||||
} else {
|
||||
message.error('操作失败!')
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
<p>
|
||||
<span>应用背景:{{ props.refObj.applicationBackground }}</span>
|
||||
</p>
|
||||
<p>
|
||||
<p v-if="!whoShow1.itShowXiHaiAn">
|
||||
<span>期望效果:{{ props.refObj.effectWish }}</span>
|
||||
</p>
|
||||
<p v-if="props.refObj.enclosure">
|
||||
|
@ -159,26 +159,32 @@
|
|||
<span class="channelName">{{ val.channelName }}</span>
|
||||
<span class="type">基础设施</span>
|
||||
</div>
|
||||
<a-button type="primary" v-if="item.approveStatus == '通过' && whoShow1.itShowXiHaiAn"
|
||||
@click.stop="openVideo(val)">
|
||||
视频预览
|
||||
</a-button>
|
||||
|
||||
<div>
|
||||
<a-button type="primary" v-if="item.approveStatus == '通过' && whoShow1.itShowXiHaiAn"
|
||||
@click.stop="openVideo(val)">
|
||||
视频预览
|
||||
</a-button>
|
||||
<div class="channelName" style="color:#ff7875" v-if="whoShow1.itShowXiHaiAn && item.ended">该流程已终止
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ability-bottom">
|
||||
<div class="dec2">位置:{{ val.nodeName }}</div>
|
||||
<div class="result" v-if="item.approveStatus == '通过'">
|
||||
申请结果:{{
|
||||
'列表地址:' +
|
||||
申请结果:
|
||||
<span>列表地址:</span><span style="cursor: pointer;" @click="openView(backUrl +
|
||||
'resource/getApplyCameraList/' +
|
||||
item.instanceId)">{{
|
||||
backUrl +
|
||||
'resource/getApplyCameraList/' +
|
||||
item.instanceId +
|
||||
';' +
|
||||
'视频流地址:' +
|
||||
item.instanceId }}</span>
|
||||
<span>视频流地址:</span>
|
||||
<span style="cursor: pointer" @click="openView(backUrl +
|
||||
'resource/hls/getHls/?key=' +
|
||||
val.channelId)">{{
|
||||
backUrl +
|
||||
'resource/hls/getHls/?key=' +
|
||||
val.channelId
|
||||
}}
|
||||
val.channelId}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -452,6 +458,10 @@ const handleUser = () => {
|
|||
})
|
||||
}
|
||||
|
||||
const openView = (url) => {
|
||||
window.open(url, '_blank')
|
||||
}
|
||||
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.title {
|
||||
|
@ -530,7 +540,7 @@ const handleUser = () => {
|
|||
margin-left: 0.1rem;
|
||||
|
||||
.ability {
|
||||
height: 1.3rem;
|
||||
height: 1.6rem;
|
||||
display: flex;
|
||||
border-bottom: 1px #eee solid;
|
||||
padding: 0.1rem 0;
|
||||
|
@ -732,6 +742,7 @@ const handleUser = () => {
|
|||
font-weight: bold;
|
||||
opacity: 0.4;
|
||||
transform: rotate(-25deg);
|
||||
width: 470px
|
||||
width: 470px;
|
||||
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,9 +1,21 @@
|
|||
<template>
|
||||
<DeviceApplyDetail v-if="showType === '设备申请'" :refObj="refObj"></DeviceApplyDetail>
|
||||
<DeviceApplyDetail
|
||||
v-if="showType === '设备申请'"
|
||||
:refObj="refObj"
|
||||
></DeviceApplyDetail>
|
||||
<div class="form-container" v-else>
|
||||
<AbilityApplication :refObj="refObj" v-if="showType === '能力申请'"></AbilityApplication>
|
||||
<PutOnTheShelf :refObj="refObj" v-else-if="showType === '能力上架'"></PutOnTheShelf>
|
||||
<OffTheShelf :refObj="refObj" v-else-if="showType === '能力下架'"></OffTheShelf>
|
||||
<AbilityApplication
|
||||
:refObj="refObj"
|
||||
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>
|
||||
<Comment :refObj="refObj" v-else-if="showType === '需求评论'"></Comment>
|
||||
<OtherApplications :refObj="refObj" v-else></OtherApplications>
|
||||
|
@ -23,258 +35,263 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import AbilityApplication from './AbilityApplication.vue'
|
||||
import PutOnTheShelf from './PutOnTheShelf .vue'
|
||||
import OffTheShelf from './OffTheShelf.vue'
|
||||
import Demand from './Demand.vue'
|
||||
import Comment from './Comment.vue'
|
||||
import DeviceApplyDetail from './DeviceApplyDetail.vue'
|
||||
import OtherApplications from '@/views/personalCenter/components/OtherApplications '
|
||||
import { onMounted, reactive, defineProps, ref } from 'vue'
|
||||
import Cookies from 'js-cookie'
|
||||
// import { baseURL } from '@/config'
|
||||
import qs from 'qs'
|
||||
import {
|
||||
getApplyForm,
|
||||
getTaskHandleDetailInfo,
|
||||
getDemandForm,
|
||||
nengliziyuanshangjiaapply,
|
||||
getTaskVariables,
|
||||
} from '@/api/personalCenter'
|
||||
import { selectOneDel } from '@/api/home'
|
||||
const props = defineProps({
|
||||
processDefinitionName: { type: String, default: null },
|
||||
businessKey: { type: String, default: null },
|
||||
processInstanceId: { type: String, default: null },
|
||||
resourceId: { type: String, default: null },
|
||||
refObj: { type: Object, default: null },
|
||||
showType: { type: String, default: null },
|
||||
})
|
||||
const refObj = ref({})
|
||||
const showType = ref('')
|
||||
// eslint-disable-next-line vue/no-setup-props-destructure
|
||||
refObj.value = props.refObj
|
||||
// eslint-disable-next-line vue/no-setup-props-destructure
|
||||
showType.value = props.showType
|
||||
//流转详情
|
||||
const dataSource = reactive({ data: [] })
|
||||
console.log('refObj------------>', refObj);
|
||||
|
||||
// console.log(props.refObj, '---------------------------------------')
|
||||
|
||||
const downloadFile = (path, name) => {
|
||||
const xhr = new XMLHttpRequest()
|
||||
xhr.open('get', path)
|
||||
xhr.responseType = 'blob'
|
||||
xhr.send()
|
||||
xhr.onload = function () {
|
||||
if (this.status === 200 || this.status === 304) {
|
||||
// 如果是IE10及以上,不支持download属性,采用msSaveOrOpenBlob方法,但是IE10以下也不支持msSaveOrOpenBlob
|
||||
if ('msSaveOrOpenBlob' in navigator) {
|
||||
navigator.msSaveOrOpenBlob(this.response, name)
|
||||
return
|
||||
}
|
||||
// const blob = new Blob([this.response], { type: xhr.getResponseHeader('Content-Type') });
|
||||
// const url = URL.createObjectURL(blob);
|
||||
const url = URL.createObjectURL(this.response)
|
||||
const a = document.createElement('a')
|
||||
a.style.display = 'none'
|
||||
a.href = url
|
||||
a.download = name
|
||||
document.body.appendChild(a)
|
||||
a.click()
|
||||
document.body.removeChild(a)
|
||||
URL.revokeObjectURL(url)
|
||||
}
|
||||
}
|
||||
}
|
||||
//表单信息
|
||||
const formName = reactive({
|
||||
user: '',
|
||||
phone: '',
|
||||
unit: '',
|
||||
area: '',
|
||||
system: '',
|
||||
scene: '',
|
||||
basis: '',
|
||||
id: '',
|
||||
})
|
||||
let shifoushizujian = ref('')
|
||||
let nameNotShow = ref('')
|
||||
let algorithmShow = ref('')
|
||||
const dataForm = reactive({ data: {} })
|
||||
const columns = [
|
||||
{
|
||||
title: '任务名称',
|
||||
dataIndex: 'activityName',
|
||||
key: 'activityName',
|
||||
},
|
||||
{
|
||||
title: '处理人',
|
||||
dataIndex: 'assigneeName',
|
||||
key: 'assigneeName',
|
||||
},
|
||||
{
|
||||
title: '任务开始时间',
|
||||
dataIndex: 'startTime',
|
||||
key: 'startTime',
|
||||
},
|
||||
{
|
||||
title: '任务结束时间',
|
||||
dataIndex: 'endTime',
|
||||
key: 'endTime',
|
||||
},
|
||||
{
|
||||
title: '审核意见',
|
||||
dataIndex: 'comment',
|
||||
key: 'comment',
|
||||
},
|
||||
{
|
||||
title: '任务时长/秒',
|
||||
dataIndex: 'durationInSeconds',
|
||||
key: 'durationInSeconds',
|
||||
},
|
||||
]
|
||||
const getInfo = () => {
|
||||
console.log(props.processInstanceId, '============================')
|
||||
if (props.processDefinitionName == '能力申请') {
|
||||
// getTaskVariables({ taskId: props.processInstanceId }).then((res) => {
|
||||
// console.log('获取数据====================>', res.data.data)
|
||||
// })
|
||||
}
|
||||
if (props.processDefinitionName == '能力申请流程') {
|
||||
getApplyForm(props.businessKey).then((res) => {
|
||||
const { data } = res.data
|
||||
console.log(data)
|
||||
formName.user = data.user
|
||||
formName.phone = data.phone
|
||||
formName.unit = data.unit
|
||||
formName.area = data.area
|
||||
formName.system = data.system
|
||||
formName.scene = data.scene
|
||||
formName.enclosure = data.enclosure
|
||||
formName.basis = data.basis
|
||||
})
|
||||
}
|
||||
if (props.processDefinitionName == '能力需求申请') {
|
||||
getDemandForm(props.businessKey).then((res) => {
|
||||
const { data } = res.data
|
||||
console.log(data)
|
||||
formName.applyUserName = data.applyUserName
|
||||
formName.applyUserPhone = data.applyUserPhone
|
||||
formName.applyUserDeptName = data.applyUserDeptName
|
||||
formName.detailsField = data.detailsField
|
||||
formName.demandDetails = data.demandDetails
|
||||
formName.detailsType = data.detailsType
|
||||
formName.demandSubject = data.demandSubject
|
||||
formName.enclosure = data.enclosure
|
||||
})
|
||||
}
|
||||
if (props.processDefinitionName == '能力资源上架') {
|
||||
// debugger
|
||||
nengliziyuanshangjiaapply(props.businessKey).then((res) => {
|
||||
// const { data } = res.data
|
||||
dataForm.data = res.data.data.resourceDTO
|
||||
if (res.data.data.resourceDTO.type == '应用资源') {
|
||||
shifoushizujian.value = true
|
||||
} else {
|
||||
shifoushizujian.value = false
|
||||
console.log(res.data.data.resourceDTO)
|
||||
res.data.data.resourceDTO.infoList.forEach((val) => {
|
||||
console.log(val, '111111111111111111111111')
|
||||
if (val.attrValue === '智能算法') {
|
||||
nameNotShow.value = true
|
||||
algorithmShow.value = false
|
||||
console.log(nameNotShow.value, algorithmShow.value, 'wowowo')
|
||||
}
|
||||
})
|
||||
}
|
||||
console.log('222222222222', dataForm.data)
|
||||
})
|
||||
}
|
||||
if (props.processDefinitionName == '能力资源下架') {
|
||||
// debugger
|
||||
selectOneDel(props.resourceId).then((res) => {
|
||||
// const { data } = res.data
|
||||
dataForm.data = res.data.data
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const getLiuZhuanInfo = () => {
|
||||
const params = qs.stringify({
|
||||
processInstanceId: props.processInstanceId,
|
||||
import AbilityApplication from './AbilityApplication.vue'
|
||||
import PutOnTheShelf from './PutOnTheShelf .vue'
|
||||
import OffTheShelf from './OffTheShelf.vue'
|
||||
import Demand from './Demand.vue'
|
||||
import Comment from './Comment.vue'
|
||||
import DeviceApplyDetail from './DeviceApplyDetail.vue'
|
||||
import OtherApplications from '@/views/personalCenter/components/OtherApplications '
|
||||
import { onMounted, reactive, defineProps, ref } from 'vue'
|
||||
import Cookies from 'js-cookie'
|
||||
// import { baseURL } from '@/config'
|
||||
import qs from 'qs'
|
||||
import {
|
||||
getApplyForm,
|
||||
getTaskHandleDetailInfo,
|
||||
getDemandForm,
|
||||
nengliziyuanshangjiaapply,
|
||||
getTaskVariables,
|
||||
} from '@/api/personalCenter'
|
||||
import { selectOneDel } from '@/api/home'
|
||||
const props = defineProps({
|
||||
processDefinitionName: { type: String, default: null },
|
||||
businessKey: { type: String, default: null },
|
||||
processInstanceId: { type: String, default: null },
|
||||
resourceId: { type: String, default: null },
|
||||
refObj: { type: Object, default: null },
|
||||
showType: { type: String, default: null },
|
||||
})
|
||||
getTaskHandleDetailInfo(params).then((res) => {
|
||||
let arr = []
|
||||
res.data.data.forEach((item) => {
|
||||
arr.push(item)
|
||||
})
|
||||
dataSource.data.push([props.processInstanceId, arr])
|
||||
})
|
||||
}
|
||||
const refObj = ref({})
|
||||
const showType = ref('')
|
||||
// eslint-disable-next-line vue/no-setup-props-destructure
|
||||
refObj.value = props.refObj
|
||||
// eslint-disable-next-line vue/no-setup-props-destructure
|
||||
showType.value = props.showType
|
||||
//流转详情
|
||||
const dataSource = reactive({ data: [] })
|
||||
console.log('refObj------------>', refObj)
|
||||
|
||||
onMounted(() => {
|
||||
// getInfo()
|
||||
if (props.refObj.resourceApplication) {
|
||||
dataSource.data = []
|
||||
for (const key in props.refObj.resourceApplication) {
|
||||
if (props.refObj.resourceApplication[key].length > 0) {
|
||||
props.refObj.resourceApplication[key].map((item) => {
|
||||
dataSource.data.push([item.instanceId, item.taskHandleDetailInfo])
|
||||
})
|
||||
// console.log(props.refObj, '---------------------------------------')
|
||||
|
||||
const downloadFile = (path, name) => {
|
||||
const xhr = new XMLHttpRequest()
|
||||
xhr.open('get', path)
|
||||
xhr.responseType = 'blob'
|
||||
xhr.send()
|
||||
xhr.onload = function () {
|
||||
if (this.status === 200 || this.status === 304) {
|
||||
// 如果是IE10及以上,不支持download属性,采用msSaveOrOpenBlob方法,但是IE10以下也不支持msSaveOrOpenBlob
|
||||
if ('msSaveOrOpenBlob' in navigator) {
|
||||
navigator.msSaveOrOpenBlob(this.response, name)
|
||||
return
|
||||
}
|
||||
// const blob = new Blob([this.response], { type: xhr.getResponseHeader('Content-Type') });
|
||||
// const url = URL.createObjectURL(blob);
|
||||
const url = URL.createObjectURL(this.response)
|
||||
const a = document.createElement('a')
|
||||
a.style.display = 'none'
|
||||
a.href = url
|
||||
a.download = name
|
||||
document.body.appendChild(a)
|
||||
a.click()
|
||||
document.body.removeChild(a)
|
||||
URL.revokeObjectURL(url)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
getLiuZhuanInfo()
|
||||
}
|
||||
})
|
||||
|
||||
const getResourceURL = () => {
|
||||
console.log('111111111111111111111111111111', Cookies.get('token'))
|
||||
const params = qs.stringify({
|
||||
token: Cookies.get('token'),
|
||||
// processInstanceId: this.dataForm.processInstanceId
|
||||
processInstanceId: props.processInstanceId,
|
||||
//表单信息
|
||||
const formName = reactive({
|
||||
user: '',
|
||||
phone: '',
|
||||
unit: '',
|
||||
area: '',
|
||||
system: '',
|
||||
scene: '',
|
||||
basis: '',
|
||||
id: '',
|
||||
})
|
||||
return `${window.SITE_CONFIG.apiURL}/act/his/getInstImage?${params}`
|
||||
}
|
||||
let shifoushizujian = ref('')
|
||||
let nameNotShow = ref('')
|
||||
let algorithmShow = ref('')
|
||||
const dataForm = reactive({ data: {} })
|
||||
const columns = [
|
||||
{
|
||||
title: '任务名称',
|
||||
dataIndex: 'activityName',
|
||||
key: 'activityName',
|
||||
},
|
||||
{
|
||||
title: '处理部门',
|
||||
dataIndex: 'assigneeDeptName',
|
||||
key: 'assigneeDeptName',
|
||||
},
|
||||
{
|
||||
title: '处理人',
|
||||
dataIndex: 'assigneeName',
|
||||
key: 'assigneeName',
|
||||
},
|
||||
{
|
||||
title: '任务开始时间',
|
||||
dataIndex: 'startTime',
|
||||
key: 'startTime',
|
||||
},
|
||||
{
|
||||
title: '任务结束时间',
|
||||
dataIndex: 'endTime',
|
||||
key: 'endTime',
|
||||
},
|
||||
{
|
||||
title: '审核意见',
|
||||
dataIndex: 'comment',
|
||||
key: 'comment',
|
||||
},
|
||||
{
|
||||
title: '任务时长',
|
||||
dataIndex: 'duration',
|
||||
key: 'duration',
|
||||
},
|
||||
]
|
||||
const getInfo = () => {
|
||||
console.log(props.processInstanceId, '============================')
|
||||
if (props.processDefinitionName == '能力申请') {
|
||||
// getTaskVariables({ taskId: props.processInstanceId }).then((res) => {
|
||||
// console.log('获取数据====================>', res.data.data)
|
||||
// })
|
||||
}
|
||||
if (props.processDefinitionName == '能力申请流程') {
|
||||
getApplyForm(props.businessKey).then((res) => {
|
||||
const { data } = res.data
|
||||
console.log(data)
|
||||
formName.user = data.user
|
||||
formName.phone = data.phone
|
||||
formName.unit = data.unit
|
||||
formName.area = data.area
|
||||
formName.system = data.system
|
||||
formName.scene = data.scene
|
||||
formName.enclosure = data.enclosure
|
||||
formName.basis = data.basis
|
||||
})
|
||||
}
|
||||
if (props.processDefinitionName == '能力需求申请') {
|
||||
getDemandForm(props.businessKey).then((res) => {
|
||||
const { data } = res.data
|
||||
console.log(data)
|
||||
formName.applyUserName = data.applyUserName
|
||||
formName.applyUserPhone = data.applyUserPhone
|
||||
formName.applyUserDeptName = data.applyUserDeptName
|
||||
formName.detailsField = data.detailsField
|
||||
formName.demandDetails = data.demandDetails
|
||||
formName.detailsType = data.detailsType
|
||||
formName.demandSubject = data.demandSubject
|
||||
formName.enclosure = data.enclosure
|
||||
})
|
||||
}
|
||||
if (props.processDefinitionName == '能力资源上架') {
|
||||
// debugger
|
||||
nengliziyuanshangjiaapply(props.businessKey).then((res) => {
|
||||
// const { data } = res.data
|
||||
dataForm.data = res.data.data.resourceDTO
|
||||
if (res.data.data.resourceDTO.type == '应用资源') {
|
||||
shifoushizujian.value = true
|
||||
} else {
|
||||
shifoushizujian.value = false
|
||||
console.log(res.data.data.resourceDTO)
|
||||
res.data.data.resourceDTO.infoList.forEach((val) => {
|
||||
console.log(val, '111111111111111111111111')
|
||||
if (val.attrValue === '智能算法') {
|
||||
nameNotShow.value = true
|
||||
algorithmShow.value = false
|
||||
console.log(nameNotShow.value, algorithmShow.value, 'wowowo')
|
||||
}
|
||||
})
|
||||
}
|
||||
console.log('222222222222', dataForm.data)
|
||||
})
|
||||
}
|
||||
if (props.processDefinitionName == '能力资源下架') {
|
||||
// debugger
|
||||
selectOneDel(props.resourceId).then((res) => {
|
||||
// const { data } = res.data
|
||||
dataForm.data = res.data.data
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const getLiuZhuanInfo = () => {
|
||||
const params = qs.stringify({
|
||||
processInstanceId: props.processInstanceId,
|
||||
})
|
||||
getTaskHandleDetailInfo(params).then((res) => {
|
||||
let arr = []
|
||||
res.data.data.forEach((item) => {
|
||||
arr.push(item)
|
||||
})
|
||||
dataSource.data.push([props.processInstanceId, arr])
|
||||
})
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
// getInfo()
|
||||
if (props.refObj.resourceApplication) {
|
||||
dataSource.data = []
|
||||
for (const key in props.refObj.resourceApplication) {
|
||||
if (props.refObj.resourceApplication[key].length > 0) {
|
||||
props.refObj.resourceApplication[key].map((item) => {
|
||||
dataSource.data.push([item.instanceId, item.taskHandleDetailInfo])
|
||||
})
|
||||
}
|
||||
}
|
||||
} else {
|
||||
getLiuZhuanInfo()
|
||||
}
|
||||
})
|
||||
|
||||
const getResourceURL = () => {
|
||||
console.log('111111111111111111111111111111', Cookies.get('token'))
|
||||
const params = qs.stringify({
|
||||
token: Cookies.get('token'),
|
||||
// processInstanceId: this.dataForm.processInstanceId
|
||||
processInstanceId: props.processInstanceId,
|
||||
})
|
||||
return `${window.SITE_CONFIG.apiURL}/act/his/getInstImage?${params}`
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.form-container {
|
||||
height: 6rem;
|
||||
overflow-y: scroll;
|
||||
padding: 20px 20px 30px 20px;
|
||||
.form-container {
|
||||
height: 6rem;
|
||||
overflow-y: scroll;
|
||||
padding: 20px 20px 30px 20px;
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
margin-bottom: 20px;
|
||||
padding-left: 10px;
|
||||
margin-top: 10px;
|
||||
border-left: 6px #0058e1 solid;
|
||||
.title {
|
||||
font-size: 18px;
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
margin-bottom: 20px;
|
||||
padding-left: 10px;
|
||||
margin-top: 10px;
|
||||
border-left: 6px #0058e1 solid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.ant-table-thead)>tr>.ant-table-cell {
|
||||
background: #0087ff;
|
||||
color: #fff;
|
||||
border: none;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
}
|
||||
:deep(.ant-table-thead) > tr > .ant-table-cell {
|
||||
background: #0087ff;
|
||||
color: #fff;
|
||||
border: none;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
:deep(.ant-table-tbody)>tr>.ant-table-cell:nth-child(5) {
|
||||
// width: 110px;
|
||||
// display: inline-block;
|
||||
// white-space: nowrap;
|
||||
// overflow: hidden;
|
||||
// text-overflow: ellipsis;
|
||||
}
|
||||
:deep(.ant-table-tbody) > tr > .ant-table-cell:nth-child(5) {
|
||||
// width: 110px;
|
||||
// display: inline-block;
|
||||
// white-space: nowrap;
|
||||
// overflow: hidden;
|
||||
// text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.oddNumbers {
|
||||
margin-bottom: 0.05rem;
|
||||
}
|
||||
.oddNumbers {
|
||||
margin-bottom: 0.05rem;
|
||||
}
|
||||
</style>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -650,17 +650,19 @@ const ceshiFunction = () => {
|
|||
}
|
||||
// delOne delList handleDelete
|
||||
const handleDelete = (item, index) => {
|
||||
console.log('item, index------------>', item, index);
|
||||
|
||||
console.log('item------------>', item);
|
||||
let delArr = [];
|
||||
// 单个删除
|
||||
if (item) {
|
||||
if (index) {
|
||||
delArr = [item.id]
|
||||
} else {
|
||||
// 批量删除
|
||||
if (checkedListAbility.value.length == 0) {
|
||||
return message.warning('请先选择需要操作的数据!')
|
||||
} else {
|
||||
delArr = checkedListAbility.value.map(v=>v.id)
|
||||
delArr = checkedListAbility.value
|
||||
}
|
||||
}
|
||||
sgcDel({
|
||||
|
|
|
@ -85,19 +85,15 @@ export default defineComponent({
|
|||
}
|
||||
|
||||
onMounted(() => {
|
||||
if (itShowXiHaiAn) {
|
||||
handleClick(menuList[0])
|
||||
if (type) {
|
||||
console.log('type---------->', type)
|
||||
let _obj = menuList.find(v => v.key == type)
|
||||
handleClick(_obj)
|
||||
} else {
|
||||
if (type) {
|
||||
console.log('type---------->', type)
|
||||
let _obj = menuList.find(v => v.key == type)
|
||||
handleClick(_obj)
|
||||
if (menuList[1]) {
|
||||
handleClick(menuList[1])
|
||||
} else {
|
||||
if (menuList[1]) {
|
||||
handleClick(menuList[1])
|
||||
}else {
|
||||
handleClick(menuList[0])
|
||||
}
|
||||
handleClick(menuList[0])
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue