Browse Source

优化wiki

master
陈裕财 4 years ago
parent
commit
67f1d34717
  1. 21
      src/api/mdp/arc/archive.js
  2. 174
      src/views/xm/core/wiki/archive/ArchiveEdit.vue
  3. 2
      src/views/xm/core/xmIteration/XmIterationInfoRoute.vue
  4. 2
      src/views/xm/core/xmMenu/XmMenuDetailRoute.vue
  5. 6
      src/views/xm/core/xmMenu/XmMenuEdit.vue
  6. 2
      src/views/xm/core/xmProduct/XmProductInfoRoute.vue
  7. 2
      src/views/xm/core/xmProject/XmProjectInfoRoute.vue
  8. 2
      src/views/xm/core/xmQuestion/XmQuestionDetailRoute.vue
  9. 2
      src/views/xm/core/xmTask/XmTaskDetailRoute.vue

21
src/api/mdp/arc/archive.js

@ -1,6 +1,7 @@
import axios from '@/utils/request'
import config from '@/common/config'
import config from '@/common/config'
import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表
let base=config.getArcBasePath();
@ -43,4 +44,20 @@ export const publish = params => { return axios.post(`${base}/mdp/arc/archive/pu
export const unPublish = params => { return axios.post(`${base}/mdp/arc/archive/unpublish`, params); };
//新增一个
export const addWorkflowArchive = params => { return axios.post(`${base}/mdp/arc/archive/add/workflow`, params); };
export const addWorkflowArchive = params => { return axios.post(`${base}/mdp/arc/archive/add/workflow`, params); };
//批量修改某些字段
export const editSomeFieldsArchive = params => { return axios.post(`${base}/mdp/arc/archive/editSomeFields`, params); };
/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */
//初始化页面上的字典
export const initDicts = (that) => {
var itemCodes=['categoryType','archiveStatus'];//在此添加要加载的字典 如['sex','grade','lvl']
if(itemCodes.length>0){
initSimpleDicts('all',itemCodes).then(res=>{
Object.assign(that.dicts,res.data.data)
});
}
};

174
src/views/xm/core/wiki/archive/ArchiveEdit.vue

@ -0,0 +1,174 @@
<template>
<section>
<el-row v-loading="load.list">
<el-col :span="24">
<!--新增界面 Archive 档案信息表-->
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editForm">
<el-form-item label="" label-width="0px">
<vue-ueditor :key="editForm.id" class="rich-context" v-model="editForm.archiveContext"></vue-ueditor>
</el-form-item>
</el-form>
<el-row class="padding">
<el-button @click="saveSubmit()" type="primary" v-if="editForm.archiveContext!=editFormBak.archiveContext">保存</el-button>
</el-row>
</el-col>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import seq from '@/common/js/sequence';//
import config from '@/common/config';//import
import {initDicts, addArchive,editArchive, getOneArchive,editSomeFieldsArchive,listArchive } from '@/api/mdp/arc/archive';
import Editor from '@/components/Tinymce';
import ShearImage from '@/components/Image/Single'
import { mapGetters } from 'vuex'
import VueUeditor from '@/components/Tinymce/index';
export default {
computed: {
...mapGetters([
'userInfo'
])
},
props:['xmMenu'],
watch: {
'xmMenu.menuId':function( menuId ) {
this.initData();
}
},
data() {
return {
currOpType:'add',
dicts:{categoryType:[]},//
load:{ list:false, open:false, close:false, publish:false, unPublish:false, del:false,draft:false, edit:false },
editFormRules: {
archiveTitle: [
{ required: true, message: '标题不能为空', trigger: 'blur' }
],
archiveContext: [
{ required: true, message: '内容不能为空', trigger: 'blur' }
]
},
//
editForm: {
id:'',tagNames:'',deptid:'',userid:'',isShare:'',url:'',archiveAbstract:'',archiveContext:'',archiveTitle:'',archivingUserid:'',isFromArchiving:'',archivingDate:'',createDate:'',authorUserid:'',authorName:'',canDel:'',canEdit:'',canRead:'',bizKey:'',encryptType:'',canComment:'',status:'',isStorageDir:'',branchId:'',titleImgUrl:'',type:'',duration:'',tagIds:'',archiveType:'',imageUrls:'',linkArchives:'',readNums:'',commentNums:'',linkAds:'',linkUsers:'',extInfos:'',praiseSum:'',isHot:'',isMain:'',openComment:'',opDate:'',seqNo:'',pbizKey:'',ctime:''
},
editFormInit: {
id:'',tagNames:'',deptid:'',userid:'',isShare:'',url:'',archiveAbstract:'',archiveContext:'',archiveTitle:'',archivingUserid:'',isFromArchiving:'',archivingDate:'',createDate:'',authorUserid:'',authorName:'',canDel:'',canEdit:'',canRead:'',bizKey:'',encryptType:'',canComment:'',status:'',isStorageDir:'',branchId:'',titleImgUrl:'',type:'',duration:'',tagIds:'',archiveType:'',imageUrls:'',linkArchives:'',readNums:'',commentNums:'',linkAds:'',linkUsers:'',extInfos:'',praiseSum:'',isHot:'',isMain:'',openComment:'',opDate:'',seqNo:'',pbizKey:'',ctime:''
},
editFormBak: {
id:'',tagNames:'',deptid:'',userid:'',isShare:'',url:'',archiveAbstract:'',archiveContext:'',archiveTitle:'',archivingUserid:'',isFromArchiving:'',archivingDate:'',createDate:'',authorUserid:'',authorName:'',canDel:'',canEdit:'',canRead:'',bizKey:'',encryptType:'',canComment:'',status:'',isStorageDir:'',branchId:'',titleImgUrl:'',type:'',duration:'',tagIds:'',archiveType:'',imageUrls:'',linkArchives:'',readNums:'',commentNums:'',linkAds:'',linkUsers:'',extInfos:'',praiseSum:'',isHot:'',isMain:'',openComment:'',opDate:'',seqNo:'',pbizKey:'',ctime:''
},
/**end 在上面加自定义属性**/
}//end return
},//end data
methods: {
saveSubmit(){
if(this.currOpType=='add'){
this.addSubmit()
}else{
this.editSomeFields(this.editForm,'archiveContext',this.editForm.archiveContext);
}
},
addSubmit(){
var addParmas={archive:{...this.editForm},categoryId:this.xmMenu.productId}
addParmas.archive.id=this.xmMenu.menuId
addParmas.archive.archiveTitle=this.xmMenu.menuName
addParmas.archive.bizKey=this.xmMenu.menuId
addParmas.archive.pbizKey=this.xmMenu.productId
addArchive(addParmas).then((res) => {
this.load.edit = false;
var tips=res.data.tips;
if(tips.isOk){
this.$emit('submit');// @submit="aftereditSubmit"
Object.assign(this.editForm,res.data.data)
this.editFormBak={...this.editForm}
this.currOpType="edit"
}
this.$message({ message: tips.msg, type: tips.isOk?'success':'error' });
}).catch(() => {
this.load.edit = false;
});
},
getArchvieDetail(){
this.load.list=true
getOneArchive({id:this.xmMenu.menuId}).then(res=>{
this.load.list=false
if(res.data.tips.isOk){
if(res.data.data && res.data.data.id){
this.currOpType='edit'
this.editForm=res.data.data
this.editFormBak={...this.editForm}
}else{
this.currOpType='add'
Object.assign(this.editForm,this.editFormInit)
this.editFormBak={...this.editForm}
}
}
})
},
editSomeFields(row,fieldName,$event){
if(this.currOpType==='add'){
return;
}
let params={ids:[row.id]};
params[fieldName]=$event
var func = editSomeFieldsArchive
func(params).then(res=>{
let tips = res.data.tips;
if(tips.isOk){
this.editFormBak={...this.editForm}
this.$emit('edit-some-fields',this.editForm)
}else{
Object.assign(this.editForm,this.editFormBak)
this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
}
}).catch((e)=>Object.assign(this.editForm,this.editFormBak))
},
initData(){
this.getArchvieDetail();
}
},//end method
components: {
// 'archive-edit':ArchiveEdit
'editor':Editor,
'shear-image':ShearImage,
VueUeditor
},
mounted() {
this.$nextTick(() => {
initDicts(this);
this.initData()
});
//this.getCategorys();
}//end mounted
}
</script>
<style scoped>
.box{
padding-top:10px;
margin-right: 10px;
margin-left: 10px;
}
.btn-bar{
align-items: center;
text-align: center;
}
</style>

2
src/views/xm/core/xmIteration/XmIterationInfoRoute.vue

@ -31,7 +31,7 @@
if(this.$route.query && this.$route.query.id){
var localStorageIteration=localStorage.getItem("xm-iteration-info-route")
var iteration=null;
if(localStorageIteration){
if(localStorageIteration && localStorageIteration!='undefined'){
iteration=JSON.parse(localStorageIteration)
if(iteration && iteration.id==this.$route.query.id){
this.xmIteration=iteration

2
src/views/xm/core/xmMenu/XmMenuDetailRoute.vue

@ -33,7 +33,7 @@
if(this.$route.query && this.$route.query.menuId){
var localStorageXmMenu=localStorage.getItem("xm-menu-info-route")
var menu=null;
if(localStorageXmMenu){
if(localStorageXmMenu && localStorageXmMenu!='undefined'){
menu=JSON.parse(localStorageXmMenu)
if(menu && menu.menuId==this.$route.query.menuId){
this.xmMenu=menu

6
src/views/xm/core/xmMenu/XmMenuEdit.vue

@ -172,7 +172,7 @@
</el-row>
</el-tab-pane>
<el-tab-pane label="wiki" name="7">
关联知识库
<archive-edit v-if="activateTabPaneName=='7' && editForm && editForm.menuId" :xm-menu="editForm"></archive-edit>
</el-tab-pane>
<el-tab-pane label="附件" name="8">
上传附件
@ -215,6 +215,7 @@ import XmMenuExchangeMng from '../xmMenuExchange/XmMenuExchangeMng.vue';
import XmSubWorkItem from "@/views/xm/core/xmMenuWorkItem/XmSubWorkItem";
import XmRecord from '../xmRecord/XmRecord'
import XmMyDoFocus from '@/views/myWork/my/components/DoFocus';
import ArchiveEdit from '@/views/xm/core/wiki/archive/ArchiveEdit';
export default {
computed: {
@ -520,7 +521,8 @@ import XmMenuExchangeMng from '../xmMenuExchange/XmMenuExchangeMng.vue';
XmMenuExchangeMng,
XmSubWorkItem,
XmRecord,
XmMyDoFocus
XmMyDoFocus,
ArchiveEdit,
},
mounted() {

2
src/views/xm/core/xmProduct/XmProductInfoRoute.vue

@ -33,7 +33,7 @@
if(this.$route.query && this.$route.query.id){
var localStorageProduct=localStorage.getItem("xm-product-info-route")
var product=null;
if(localStorageProduct){
if(localStorageProduct && localStorageProduct!='undefined'){
product=JSON.parse(localStorageProduct)
if(product && product.id==this.$route.query.id){
this.xmProduct=product

2
src/views/xm/core/xmProject/XmProjectInfoRoute.vue

@ -36,7 +36,7 @@
if(this.$route.query && this.$route.query.id){
var localStorageProject=localStorage.getItem("xm-project-info-route")
var project=null;
if(localStorageProject){
if(localStorageProject && localStorageProject!='undefined'){
project=JSON.parse(localStorageProject)
if(project && project.id==this.$route.query.id){
this.selProject=project

2
src/views/xm/core/xmQuestion/XmQuestionDetailRoute.vue

@ -33,7 +33,7 @@
if(this.$route.query && this.$route.query.id){
var localStorageXmQuestion=localStorage.getItem("xm-question-info-route")
var question=null;
if(localStorageXmQuestion){
if(localStorageXmQuestion && localStorageXmQuestion!='undefined'){
question=JSON.parse(localStorageXmQuestion)
if(question && question.id==this.$route.query.id){
this.xmQuestion=question

2
src/views/xm/core/xmTask/XmTaskDetailRoute.vue

@ -33,7 +33,7 @@
if(this.$route.query && this.$route.query.id){
var localStorageTask=localStorage.getItem("xm-task-info-route")
var task=null;
if(localStorageTask){
if(localStorageTask && localStorageTask!='undefined'){
task=JSON.parse(localStorageTask)
if(task && task.id==this.$route.query.id){
this.xmTask=task

Loading…
Cancel
Save