Commit a10df043 by 孙香冬

no message

parent 10483418
......@@ -6970,7 +6970,7 @@
},
"docx-preview": {
"version": "0.1.11",
"resolved": "https://registry.npmjs.org/docx-preview/-/docx-preview-0.1.11.tgz",
"resolved": "http://localhost:4873/docx-preview/-/docx-preview-0.1.11.tgz",
"integrity": "sha512-dqNDLKJP5xiisB+OeC7f7xxNFzOS0JA/C/cwvnpMZS5bzguEuf+Ufli57unnaaT63EMZRVXvxB6/5fw/g3sWWA==",
"requires": {
"jszip": ">=3.0.0"
......
<template>
<div class="fileInfoBox">
<div class="tblPane">
<el-tabs v-model="editableTabsValue" :tab-position="tabPosition" @edit="initEditableTabs">
<el-tab-pane :key="item.name" v-for="(item) in editableTabs" :label="item.title" :name="item.name">
<el-upload class="upload-demo" action="http://192.168.0.58:6066/filess" :on-change="handleChange" :file-list="fileList">
<el-button type="primary" plain @click="uploadFiles()">上传<i class="el-icon-upload el-icon--right"></i></el-button>
</el-upload>
<el-row :gutter="24">
<el-col :span="15">
<div class="wordBox">
<div ref="word"></div>
</div>
</el-col>
<el-col :span="9">
<div v-for="(item, index) in thisFileList" class="fileListBox" :key="index">
<el-col :span="8" :data="thisFileList" :key="index">
<div class="fileListBox">
<div class="onceFileDesBox">
<el-form ref="form" label-width="100px">
<el-form-item label="文件名称:">{{item.fileName}}</el-form-item>
<el-form-item label="上传人:">{{item.userName}}</el-form-item>
<el-form-item label="文件名称:" prop="url"></el-form-item>
<el-form-item label="上传人:" prop="userName"></el-form-item>
</el-form>
<div class="formButtonBox">
<el-button class="formButton" type="primary" size="mini">查看</el-button>
<el-button class="formButton" type="primary" size="mini" @click="previewFileDialog">查看</el-button>
<el-button class="formButton" type="success" size="mini">下载</el-button>
</div>
</div>
</div>
</el-col>
</el-row>
</el-tab-pane>
</el-tabs>
</div>
<div class="fileInfoDialog">
<el-dialog width="80%" styel="height:100%" top="2vh" :visible.sync="fileDialogVisible">
<el-col :span="23">
<div class="wordBox">
<div ref="word"></div>
</div>
</el-col>
</el-dialog>
</div>
</div>
</template>
<script>
......@@ -31,31 +44,61 @@ export default {
pId:this.checkId,
vHtml:"",
thisFileList:[],
editableTabsValue: '1',
tabPosition: 'left',
editableTabs:[],
fileDialogVisible :false,
}
},
mounted:function() {
this.initFile();
this.initFileList(this.pId);
this.initFileList();
this.initEditableTabs();
},
methods: {
async initFileList(pId) {
this.pid = pId;
let result = await this.$store.dispatch('files/getProjectFile', {pId});
if (result && result.data && result.data.fileInfo) {
this.thisFileList = result.data.fileInfo;
initEditableTabs() {
this.editableTabs = [
{
title: '全部',
name: '1',
thisFileList: [
{fileName:"科艺统一认证对接文档.docs", userName:"张三"},
{fileName:"科艺统一认证设计文档v1.docs", userName:"张三"},
{fileName:"科艺统一认证设计文档v2.docs", userName:"张三"},
{fileName:"科艺统一认证交互文档.docs", userName:"张三"},
]
},
{
title: '设计说明',
name: '2',
thisFileList: [
{fileName:"科艺统一认证设计文档v1.docs", userName:"张三"},
{fileName:"科艺统一认证设计文档v2.docs", userName:"张三"},
]
},
{
title: '交互文档',
name: '3',
thisFileList: [
{fileName:"科艺统一认证交互文档.docs", userName:"张三"},
]
},
]
},
async initFileList() {
console.log('111')
let result = await this.$store.dispatch('files/getAllFilesList', {});
if (result && result.fileInfo) {
this.thisFileList = result.fileInfo;
} else {
this.$message.error("获取文件失败");
}
// this.thisFileList = [
// {fileName:"科艺统一认证对接文档.docs", userName:"张三"},
// {fileName:"科艺统一认证对接文档.docs", userName:"张三"},
// {fileName:"科艺统一认证对接文档.docs", userName:"张三"},
// {fileName:"科艺统一认证对接文档.docs", userName:"张三"},
// {fileName:"科艺统一认证对接文档.docs", userName:"张三"},
// {fileName:"科艺统一认证对接文档.docs", userName:"张三"},
// ];
},
initFile:function() {
async uploadFiles() {
//上传
let result = await this.$store.dispatch('files/uploadFiles');
},
previewFileDialog:function() {
this.fileDialogVisible = true;
let url = "http://192.168.0.105:6066/test.docx";
var vm = this;
var xhr = new XMLHttpRequest();
......@@ -70,6 +113,9 @@ export default {
};
xhr.send();
},
handleChange(file, fileList) {
this.fileList = fileList.slice(-3);
},
},
}
</script>
......@@ -85,29 +131,33 @@ export default {
border-radius: 6px;
}
.fileInfoBox .el-form-item__label {
color: rgb(255, 255, 255);
color: rgb(0, 0, 0);
font-size: 16px;
}
.fileInfoBox .el-row {
height: 100%;
}
.fileInfoBox .el-row .el-col-15 {
.fileInfoBox .el-row, .fileInfoDialog .el-row {
height: 100%;
}
.fileInfoBox .el-row .el-col-9 {
height: 93%;
overflow-y: scroll;
}
.fileInfoBox .wordBox .docx-wrapper {
.fileInfoDialog {
height: 100%;
}
.el-col-23 {
height: 95%;
}
.fileInfoDialog .wordBox .docx-wrapper {
padding: 0 !important;
}
.fileInfoBox .wordBox .docx-wrapper .docx {
.fileInfoDialog .wordBox .docx-wrapper .docx {
width: auto !important;
}
.fileInfoBox .wordBox {
.fileInfoDialog .wordBox {
/* box-shadow: 0 2px 12px 0 rgba(141, 141, 141, 0.753); */
border-radius: 6px;
border: 1px solid rgb(114, 114, 114);
......@@ -115,7 +165,7 @@ export default {
overflow-x: hidden;
height: 93%;
}
.fileInfoBox .wordBox .fileListBox {
.fileInfoDialog .wordBox .fileListBox {
width: 100%;
}
......@@ -124,22 +174,25 @@ export default {
.fileInfoBox .onceFileDesBox {
margin: 14px;
width: 90%;
height: 140px;
box-shadow: 0 2px 12px 0 rgba(94, 94, 94, 0.562);
background-color: rgb(128, 128, 128);
height: 160px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
/* box-shadow: 0 2px 12px 0 rgba(94, 94, 94, 0.562); */
/* background-color: rgb(138, 138, 138); */
border-radius: 15px;
}
.fileInfoBox .onceFileDesBox:hover {
box-shadow: 0 2px 12px 0 rgba(94, 94, 94, 0.562);
}
.fileInfoBox .onceFileDesBox .el-form-item {
margin-bottom: 0px;
}
.fileInfoBox .onceFileDesBox .el-form-item__content {
color: rgb(255, 255, 255);
color: #000;
font-size: 15px;
}
.fileInfoBox .onceFileDesBox .formButtonBox {
display: flex;
margin-top: 10px;
......@@ -147,9 +200,37 @@ export default {
}
.fileInfoBox .onceFileDesBox .formButtonBox .formButton {
width: 100px;
font-size: 10px !important;
}
.tblPane {
margin-top: 15px;
}
.el-tab-pane {
margin: 10px;
}
/* 弹出框 */
.fileInfoDialog {
height: 100%;
}
.fileInfoDialog .el-dialog, .el-pager li {
/* background-color: rgba(206, 206, 206, 0.486); */
border-radius: 5px;
box-shadow: 0 2px 50px 0 rgba(168, 168, 168, 0.699);
background-color: rgb(255, 255, 255);
height: 90%;
}
.fileInfoDialog .el-dialog .el-dialog__body {
height: 100%;
}
.fileInfoDialog .el-dialog__header {
padding:0 0 0 0;
}
</style>
\ No newline at end of file
......@@ -123,7 +123,7 @@ export default {
/* 弹出框 */
.notebookDialogBox {
/* height: 100%; */
height: 100%;
}
.notebookDialogBox .el-dialog, .el-pager li {
border-radius: 5px;
......
import axios from 'axios'
const serverUrl = 'http://192.168.0.105:6066';
const serverUrl = 'http://192.168.0.58:6066';
let server = axios.create({
baseURL: serverUrl,
......
......@@ -28,4 +28,5 @@ export const publicUrlConfig = {
export const filesUrlConfig = {
"上传文件":"/api/files/uploadfiles",
"获取全部文件列表":"/api/files/viewfiles",
}
import postReq from '../../server/axiosInstance';
import { projectUrlConfig, filesUrlConfig } from '../../server/url';
//获取列表
export async function getAllFilesList({commit}, payload) {
console.log(payload);
return await postReq(filesUrlConfig.获取全部文件列表, payload);
};
//上传文件
export async function uploadFiles({commit}, payload) {
return await postReq(filesUrlConfig.上传文件, payload);
}
\ No newline at end of file
import * as actions from './actions'
import * as state from './state'
import * as getters from './getters'
export default {
namespaced: true,
actions,
state,
getters
}
\ No newline at end of file
......@@ -5,13 +5,15 @@ import Vuex from 'vuex'
import users from './users'
import project from './project'
import feedback from './feedback'
import files from './files'
Vue.use(Vuex);
export default () => {
const Store = new Vuex.Store({
modules: {
users,
project,
feedback
feedback,
files,
}
})
return Store
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment