palvue代码提交

This commit is contained in:
zhal 2022-10-04 19:45:11 +08:00
parent 6e9447e0a1
commit 48f7ce4c54
7 changed files with 344 additions and 15 deletions

View File

@ -0,0 +1,183 @@
<template>
<div class="data-import">
<div class="top-box">
<div class="title-box">制度正文导入</div>
<div class="step-box">
<el-steps :active="info.activeStep" finish-status="success">
<el-step :title="item.title" v-for="item in info.steps" />
</el-steps>
</div>
</div>
<div class="bottom-box">
<div class="empty-box" v-if="info.fileList.length === 0">
<el-empty></el-empty>
<div class="upload-box">
<el-upload
class="upload-demo"
:action="info.uploadAction"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:on-success="handleSuccess"
:limit="100"
multiple
:on-exceed="handleExceed"
:show-file-list="false"
accept=".xml"
>
<awsui-button type="primary" @click="handleUploadBtn">导入XML文件</awsui-button>
<template #tip>
<div class="el-upload__tip">
仅支持XML格式文本
</div>
</template>
</el-upload>
</div>
</div>
<div class="file-list-box" v-else>
<el-scrollbar height="400px">
<div v-for="item in info.fileList" :key="item" class="scrollbar-demo-item">
<div>{{ item.name }}</div>
</div>
</el-scrollbar>
</div>
<div class="action-box">
<awsui-button style="cursor: pointer" type="primary" @click="next">下一步</awsui-button>
</div>
</div>
</div>
</template>
<script lang="ts">
import { defineComponent,getCurrentInstance,reactive,ref } from 'vue';
export default defineComponent({
name: "performance-import",
setup() {
const { proxy: $this } = getCurrentInstance();
let info = reactive({
activeStep: 0,
steps: [{title:"上传"},{title:"校验"},{title:"结果"}],
fileList: [],
uploadAction: '',
/* repositoryName: 'systemTextXml',
groupValue: 'systemText',*/
repositoryName: 'migration',
groupValue: 'systemText',
fileValue: '',
appId: 'com.actionsoft.apps.coe.pal.datamigration',
fileName: '',
fileNames:''
});
const handlePreview = () => {}
const handleRemove = () => {}
const beforeRemove = () => {}
const handleExceed = () => {}
const handleSuccess = (res: any,uploadFile: any,uploadFiles: any) => {
console.log(res,'---',uploadFile,'----',uploadFiles)
info.fileNames += res.files.name+ ",";
info.fileName = res.files.name
let tempFileObj = {id: uploadFile.uid,name: res.files.name,downloadUrl: res.data.data.attrs.downloadUrl}
info.fileList.push(tempFileObj)
console.info('fileList',info.fileList)
console.info("==================="+info.fileNames)
console.info("==================="+info.fileNames)
}
const next = () => {
if (info.fileList.length === 0) {
$this.$message({type:'warning',message:'请上传文件'});
return;
}
info.fileNames = info.fileNames.substr(0, info.fileNames.length - 1);
let param = {
url: './jd',
data: {
cmd: 'com.actionsoft.apps.coe.pal.controlPolicyFile_import',
sid: settingParam.sessionId,
wsId: settingParam.wsId ? settingParam.wsId : '6f4e292c-1b90-4dd2-8c20-7da159cb20a5',
groupValue: info.groupValue,
fileValue: info.fileValue,
fileName: info.fileNames
}
}
$this.awsuiaxios.post(param)
.then((ro: any) => {
console.log(ro)
if (ro.result === 'ok') {
$this.$message({type:'warning',message:'制度正文导入成功'});
}
})
.catch((err: any) => {})
}
const handleUploadBtn = () => {
info.fileValue = 'systemTextType' + new Date().getTime()
info.uploadAction = axiosBaseUrl +'uf?sid='+settingParam.sessionId+'&repositoryName='+info.repositoryName+'&groupValue='
+ info.groupValue+'&fileValue='+info.fileValue+'&appId='+ info.appId;
}
return {
info,
handlePreview,
handleRemove,
beforeRemove,
handleExceed,
handleUploadBtn,
handleSuccess,
next
}
}
})
</script>
<style lang="less" scoped>
.data-import {
width: 100%;
height: 100%;
background-color: #F7F7FB;
.top-box {
height: 75px;
margin: 0 35px 0 35px;
display: flex;
justify-content: space-between;
.title-box {
line-height: 75px;
font-size: 18px;
}
.step-box {
width: 45%;
padding: 15px 0;
}
}
.bottom-box {
height: 650px;
margin: 0 35px 0 35px;
background-color: rgb(255,255,255);
display: flex;
justify-content: space-around;
align-items: center;
flex-direction: column;
.empty-box {
width: 500px;
height: 500px;
.upload-box {
text-align: center;
}
}
.file-list-box {
width: 100%;
:deep(.el-scrollbar) {
padding: 0 25px;
}
.scrollbar-demo-item {
font-size: 16px;
height: 35px;
margin: 10px;
border-radius: 4px;
background: var(--el-color-primary-light-9);
color: var(--el-color-primary);
line-height: 35px;
}
}
}
}
</style>

View File

@ -49,6 +49,7 @@ import PerformanceImport from '@/components/Performance-import.vue';
import SystemImport from '@/components/system-import.vue';
import PositionImport from '@/components/position-import.vue';
import ProcessVersionImport from "@/components/process-version-import.vue";
import SystemTextImport from "@/components/system-text-import.vue";
export default defineComponent({
name: 'Home',
@ -62,7 +63,8 @@ export default defineComponent({
PerformanceImport,
SystemImport,
PositionImport,
ProcessVersionImport
ProcessVersionImport,
SystemTextImport
},
setup(){
// const { proxy: $this } = getCurrentInstance();
@ -81,6 +83,7 @@ export default defineComponent({
{label:"批处理工具",name:"batchDataImport",icon:"&#xe6a4;"},// word
{label:"绩效导入",name:"performanceImport",icon:"&#xe6a4;"},// word
{label:"版本批处理",name:"processVersionImport",icon:"&#xe730;"},// excel
{label:"制度正文导入",name:"systemTextImport",icon:"&#xe730;"},// xml
],
flagBit: 1
});

View File

@ -163,7 +163,7 @@
<div class="property-item">
<label class="property-label"><span v-if="item.isRequired!==undefined && item.isRequired" class="required"></span>{{item.label}}</label>
<div class="property-value">
<el-date-picker value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;" type="datetime" placeholder="请选择日期时间" @blur="saveStringPropVal(item.id, item.value, item.attrSource,item)" :disabled="item.readonly" v-model="item.value" ></el-date-picker>
<el-date-picker value-format="yyyy-MM-dd" style="width: 100%;" type="date" placeholder="请选择日期" @blur="saveStringPropVal(item.id, item.value, item.attrSource,item)" :disabled="item.readonly" v-model="item.value" ></el-date-picker>
</div>
</div>
</template>

View File

@ -119,7 +119,7 @@
</div>
</template>
</el-table-column>
<el-table-column
<el-table-column v-if="crrentUserId=='admin'"
prop="second"
label="修改日期"
width="300">
@ -255,7 +255,7 @@
<div>
<ul>
<!-- 修改文件夹类型 条件是文件夹类型建模方法 有小组写权限 -->
<li v-if="currRepositoryDetail.folder && (isOlderVersion ? havingWritePerm : filePerm.havingWritePerm) " class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="openUpdateFolder(currRepositoryDetail.id, currRepositoryDetail.name, currRepositoryDetail.desc, currRepositoryDetail.methodId, currRepositoryDetail.methodName)"><i class="iconfont icon-bianji5 aside-repository-operate-li-icon"></i><span>修改{{currRepositoryDetail.methodName}}</span></li>
<li v-if="currRepositoryDetail.folder && (isOlderVersion ? havingWritePerm : filePerm.havingWritePerm) && crrentUserId=='admin'" class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="openUpdateFolder(currRepositoryDetail.id, currRepositoryDetail.name, currRepositoryDetail.desc, currRepositoryDetail.methodId, currRepositoryDetail.methodName)"><i class="iconfont icon-bianji5 aside-repository-operate-li-icon"></i><span>修改{{currRepositoryDetail.methodName}}</span></li>
<!-- 打开文件类型 条件是文件类型建模方法 -->
<li v-if="!currRepositoryDetail.folder" class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="openDesigner(currRepositoryDetail.id)"><i class="iconfont icon-bianji5 aside-repository-operate-li-icon"></i><span>打开文件</span></li>
<!-- 文件的文件属性 条件是文件类型建模方法 -->
@ -263,7 +263,7 @@
<!-- 文件的版本管理 条件是文件类型建模方法-->
<li v-if="!currRepositoryDetail.folder" class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="openRepositoryInfo('version')"><i class="iconfont icon-jurassic_version aside-repository-operate-li-icon"></i><span>版本管理</span></li>
<!-- 文件的附件管理 -->
<li class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="openRepositoryInfo('upfile')"><i class="iconfont icon-wendangfujian aside-repository-operate-li-icon"></i><span>附件管理</span></li>
<li v-if="crrentUserId=='admin'" class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="openRepositoryInfo('upfile')"><i class="iconfont icon-wendangfujian aside-repository-operate-li-icon"></i><span>附件管理</span></li>
<!-- 文件的流程手册预览 条件安装了流程手册 安装了在线预览 流程大类下 不是文件夹类建模方法 不是evc-->
<li v-if="outputPrInstall && onlineDocInstall && category == 'process' && !currRepositoryDetail.folder && currRepositoryDetail.methodId != 'process.evc'" class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="createOutputPr(currRepositoryDetail.id)"><i class="iconfont icon-ziliaoshouce-xianxing aside-repository-operate-li-icon"></i><span>流程手册</span></li>
<!-- 文件的串联分析 条件流程大类下 不是文件夹类型建模方法 且安装了串联分析应用 -->
@ -273,11 +273,11 @@
<!-- 文件的导出文件 条件是文件类型建模方法 -->
<li v-if="!currRepositoryDetail.folder" class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="exportFiles(currRepositoryDetail.id)"><i class="iconfont icon-daochu aside-repository-operate-li-icon"></i><span>导出文件</span></li>
<!-- 文件夹的导出 -->
<li v-else class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="exportFiles(currRepositoryDetail.id)"><i class="iconfont icon-daochu aside-repository-operate-li-icon"></i><span>导出{{currRepositoryDetail.methodName}}</span></li>
<li v-if="crrentUserId=='admin'" class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="exportFiles(currRepositoryDetail.id)"><i class="iconfont icon-daochu aside-repository-operate-li-icon"></i><span>导出{{currRepositoryDetail.methodName}}</span></li>
<!-- 删除文件/文件夹 -->
<template v-if="isOlderVersion ? havingRemovePerm : filePerm.havingRemovePerm">
<li v-if="!currRepositoryDetail.folder" class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="removeFiles(currRepositoryDetail.id)"><i class="iconfont icon-lajitong1 aside-repository-operate-li-icon"></i><span>删除文件</span></li>
<li v-else class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="removeFiles(currRepositoryDetail.id)"><i class="iconfont icon-lajitong1 aside-repository-operate-li-icon"></i><span>删除{{currRepositoryDetail.methodName}}</span></li>
<li v-if="crrentUserId=='admin'" class="general-bgcolor-text-hover text-general-color aside-repository-operate-li" @click="removeFiles(currRepositoryDetail.id)"><i class="iconfont icon-lajitong1 aside-repository-operate-li-icon"></i><span>删除{{currRepositoryDetail.methodName}}</span></li>
</template>
</ul>
</div>
@ -454,6 +454,7 @@
havingRemovePerm: false,//
havingVersionManagePerm: false,//
imgPath: require('@/assets/double-arro-right.png'),
crrentUserId:'',
currRepositoryDetail: {
name: '',
id: '',
@ -544,6 +545,7 @@
}
},
created() {
this.initParam();
},
mounted(){
this.initData();
@ -563,6 +565,24 @@
});
},
methods: {
initParam() {//
const that = this;
const data = {
url:'jd',
data:{
cmd : 'com.actionsoft.apps.coe.pal_nav_header_data',
mainType : mainType
}
};
awsuiAxios.post(data).then(function (ro) {
if (ro.result == 'ok') {
let data = ro.data;
that.crrentUserId=data.crrentUserId;
}
}).catch(error=>{
console.log(error);
})
},
openModelConvertDialog(repositoryId,sourceMethod,type){
let that = this;
that.modelConvertDialog.visible = true;
@ -1077,6 +1097,17 @@
break;
}
}
if(this.singleSelectedRepository.folder==true && this.crrentUserId!='admin'){
this.$message({message: '文件夹不可进行移动操作!!',type: 'warning'});
return;
}
if(this.singleSelectedRepository.versionStatus!="") {
if (this.singleSelectedRepository.versionStatus.isPublish == true) {
this.$message({message: '当前文件已处于发布状态,不可进行移动文件操作!!', type: 'warning'});
return;
}
}
console.log(this.singleSelectedRepository)
//repository
if(undefined == this.singleSelectedRepository.id || null == this.singleSelectedRepository.id){
@ -1089,6 +1120,22 @@
if (this.checkedRepositorys.length == 0) {
this.$message({message: '请选择移入的目标文件',type: 'warning'});
return;
}else{
for(let i=0;i<this.checkedRepositorys.length;i++){
if(this.checkedRepositorys[i].folder==true && this.crrentUserId!='admin'){
this.$message({message: '文件夹不可进行移动操作!!',type: 'warning'});
return;
}
if(this.checkedRepositorys[i].versionStatus!=""){
if(this.checkedRepositorys[i].versionStatus.isPublish==true){
this.$message({message: '当前文件已处于发布状态,不可进行移动文件操作!!',type: 'warning'});
return;
}
}
}
}
this.moveRepository.visible = true;
},

View File

@ -55,7 +55,7 @@
</div>
</div>
</template>
<div class="new-repository-item" style="cursor: pointer;" @click="importDesigners">
<!-- <div class="new-repository-item" style="cursor: pointer;" @click="importDesigners">
<div style="position: relative;top: 4px;">
<div class="icon-div-repository">
<i class="iconfont text-linker-color icon-fixed-repository">&#xe671;</i>
@ -64,7 +64,7 @@
<label style="cursor: pointer;">导入模型</label>
</div>
</div>
</div>
</div>-->
</li>
</ul>
</div>

View File

@ -52,6 +52,7 @@
</template>
</el-table-column>
<el-table-column
v-if="crrentUserId=='admin'"
prop="second"
label="修改日期"
width="350">
@ -246,6 +247,7 @@
defaultCategoryName: '',
recentData: [],
commonData: [],
crrentUserId:'',
havingWritePerm: false,
folderDialog: {
dialogVisible: false,
@ -273,7 +275,7 @@
},
created() {
this.initData();
this.initParam();
// initData 便
let self = this;
this.$nextTick(() => {
@ -289,6 +291,24 @@
});
},
methods: {
initParam() {//
const that = this;
const data = {
url:'jd',
data:{
cmd : 'com.actionsoft.apps.coe.pal_nav_header_data',
mainType : mainType
}
};
awsuiAxios.post(data).then(function (ro) {
if (ro.result == 'ok') {
let data = ro.data;
that.crrentUserId=data.crrentUserId;
}
}).catch(error=>{
console.log(error);
})
},
handleRecnetOrStore(tab, event){
this.switchTabCard(tab.name);
},

View File

@ -81,9 +81,25 @@
:hide-on-click=true
@command="handleUserCommand"
trigger="click">
<span class="inline-block user_photo_dropdown_span cursor-pointer">
<el-popover
placement="top-start"
width="200"
trigger="hover">
<template slot="default">
<div class="methodId-box">
<ul>
<li class="hover_login_data">姓名: <span class="hover_login_data" :title=currentUserName >{{currentUserName}}</span></li>
<li class="hover_login_data">角色名称: <span class="hover_login_data" :title=currentUserRole>{{currentUserRole}}</span></li>
<li class="hover_login_data">部门名称: <span class="hover_login_data" :title=crrentUserDep>{{crrentUserDep}}</span></li>
</ul>
</div>
</template>
<span slot="reference" class="inline-block user_photo_dropdown_span cursor-pointer">
<img class="user_photo_img radius3" :src="userPhoto">
</span>
</el-popover>
<el-dropdown-menu class="text-general-color" slot="dropdown" style="width:200px;">
<el-dropdown-item class="el-dropdown-row" v-if="mainType != '4' && isManage" command="manage">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="font-size: 14px;">管理中心</span></div>
@ -200,6 +216,10 @@
isManage: isManage,
isSecAdminUser: isSecAdminUser,// true
userPhoto : '',
currentUserName:'',
currentUserRole:'',
crrentUserDep:'',
crrentUserId:'',
isPbulishActive : false,
isCooperationActive : false,
wsLabel : '',
@ -230,7 +250,8 @@
},
cooperationDrawer: {
showCooperationDetail: false,
}
},
}
},
inject : ['openAppDrawer', 'closeAppDrawer', 'openPwdConfig', 'logout', 'openCooperationDrawer', 'closeCooperationDrawer', 'saveAccessOpLog'],//
@ -358,6 +379,12 @@
if (ro.result == 'ok') {
let data = ro.data;
that.userPhoto = data.userPhoto;
//// by zhaolei
that.currentUserName = data.currentUserName;
that.currentUserRole = data.currentUserRole;
that.crrentUserDep = data.crrentUserDep;
that.crrentUserId=data.crrentUserId;
that.isPbulishActive = data.isPbulishActive;
that.isCooperationActive = data.isCooperationActive;
that.appList = data.appList;
@ -446,7 +473,8 @@
},
openProcessManagePortalPage() {//
newPageWin('publishPortal', this.$store.state.sessionId, 'com.actionsoft.apps.coe.pal.publisher_client_home');
}
},
},
created() {
this.initParam();
@ -618,4 +646,52 @@
.quick-access-btn :hover {
color: #4E7FF9 !important;
}
.hover_wrapper {
position: relative;
display: flex;
}
.hover_text{
width: 100px;
height: 24px;
text-align: center;
line-height: 24px;
}
.btn{
width: 24px;
height: 24px;
border: 1px solid #ccc;
border-radius: 50%;
text-align: center;
line-height: 22px;
position: relative;
cursor: pointer;
}
.hover_container{
width: 100px;
height: 100px;
border: 1px solid #ccc;
border-radius: 8px;
text-align: center;
line-height: 98px;
position: absolute;
left: 50px;
top: 50%;
z-index: 99;
transform: translateY(-50%);
}
.hover_login_data{
font-size: 14px;
color: rgb(147,147,153);
margin-right: 8px;
width:200px;
white-space:nowrap;
text-overflow:ellipsis;
overflow:hidden;
}
</style>