123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660 |
- <template>
- <div class="sharedsile-all">
- <div style="color: red;margin-bottom: 5px;">文件类型与团组名称选择哪个就是上传到对应的类型和团组!!!</div>
- <div style="display: flex;justify-content: space-between;align-items: baseline;">
- <div class="sharedsile-Groups">
- <div class="sharedsile-Groups-li">
- <label>文件类型:</label>
- <el-select size="small" @change="QuerySharedFile" v-model="filetype" clearable filterable placeholder="团组选择"
- style="width: 150px;">
- <el-option v-for="item in filetypelist" :key="item.id" :label="item.name" :value="item.id">
- </el-option>
- </el-select>
- </div>
- <div v-if="filetype == 1412" class="sharedsile-Groups-li">
- <label>团组名称:</label>
- <el-select size="small" @change="QuerySharedFile" v-model="diIdselect" clearable filterable placeholder="团组选择"
- style="width: 300px;">
- <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
- :value="item.id">
- </el-option>
- </el-select>
- </div>
- </div>
- <div>
- <el-upload class="upload-demo" ref="upload" action="" :multiple="true" :on-change="handleChange"
- :on-preview="handlePreview" :on-remove="handleRemove" :file-list="fileList" :auto-upload="false">
- <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
- <el-button style="margin-left: 10px;" size="small" type="success"
- @click="submitUpload">上传到服务器</el-button>
- <div slot="tip" class="el-upload__tip">请不要上传过大的文件!</div>
- </el-upload>
- </div>
- </div>
- <div class="share-table">
- <div style="margin-bottom: 8px;">
- <el-date-picker
- size="small"
- v-model="shdatetime"
- type="daterange"
- range-separator="至"
- start-placeholder="开始日期"
- end-placeholder="结束日期">
- </el-date-picker>
- <el-input size="small" v-model="fileName" placeholder="请输入文件名称搜索" style="width: 300px; margin-right: 10px;"
- clearable @clear="handleSearch"></el-input>
- <el-button size="small" type="primary" @click="handleSearch">搜索</el-button>
- </div>
- <el-table :data="tabledata" border style="width: 100%">
- <el-table-column prop="fileName" label="文件名称">
- </el-table-column>
- <el-table-column prop="createTime" label="上传时间" width="180">
- </el-table-column>
- <el-table-column label="操作" width="200">
- <template slot-scope="scope">
- <el-button size="mini" @click="Downloadshare(scope.row)" type="primary">下载</el-button>
- <el-button size="mini" @click="handleDelete(scope.row)" type="danger">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination style="margin-top: 20px; text-align: center;" background
- layout="prev, pager, next, sizes, total" :current-page="currentPage" :page-size="pageSize"
- :page-sizes="[1, 5, 10, 15]" :total="total" @current-change="handlePageChange"
- @size-change="handleSizeChange">
- </el-pagination>
- </div>
- <div v-if="filetype == 1412" class="sharedsile-ps">PS:请先选择团组再下载!</div>
- <div v-if="filetype == 1412" class="sharedsile-table">
- <div class="sharedsile-table-tr">
- <div style="font-size: 14px;color: #909399;font-weight: 600;" class="sharedsile-table-tb tb-name">文件名称
- </div>
- <div style="font-size: 14px;color: #909399;font-weight: 600;" class="sharedsile-table-tb tb-type">版本格式
- </div>
- <div style="font-size: 14px;color: #909399;font-weight: 600;" class="sharedsile-table-tb tb-Language">语言
- </div>
- <div style="font-size: 14px;color: #909399;font-weight: 600;" class="sharedsile-table-tb tb-download">操作
- </div>
- </div>
- <div class="sharedsile-table-tr">
- <div class="sharedsile-table-tb tb-name">OP行程单</div>
- <div class="sharedsile-table-tb tb-type">WORD</div>
- <div class="sharedsile-table-tb tb-Language">中文</div>
- <div class="sharedsile-table-tb tb-download">
- <el-button size="small" @click="dcwzxc(0)" type="primary">下载</el-button>
- </div>
- </div>
- <div class="sharedsile-table-tr">
- <div class="sharedsile-table-tb tb-name">OP行程单</div>
- <div class="sharedsile-table-tb tb-type">PDF</div>
- <div class="sharedsile-table-tb tb-Language">中文</div>
- <div class="sharedsile-table-tb tb-download">
- <el-button size="small" @click="dcwzxc(1)" type="primary">下载</el-button>
- </div>
- </div>
- <div class="sharedsile-table-tr">
- <div class="sharedsile-table-tb tb-name">团组名单</div>
- <div class="sharedsile-table-tb tb-type">WORD</div>
- <div class="sharedsile-table-tb tb-Language">中文</div>
- <div class="sharedsile-table-tb tb-download">
- <el-button size="small" @click="Exportlist(0)" type="primary">下载</el-button>
- </div>
- </div>
- <div class="sharedsile-table-tr">
- <div class="sharedsile-table-tb tb-name">团组名单</div>
- <div class="sharedsile-table-tb tb-type">WORD</div>
- <div class="sharedsile-table-tb tb-Language">英文</div>
- <div class="sharedsile-table-tb tb-download">
- <el-button size="small" @click="Exportlist(1)" type="primary">下载</el-button>
- </div>
- </div>
- <div v-if="!isMarketingDepartment" class="sharedsile-table-tr">
- <div class="sharedsile-table-tb tb-name">倒推表</div>
- <div class="sharedsile-table-tb tb-type">WORD</div>
- <div class="sharedsile-table-tb tb-Language">中文</div>
- <div class="sharedsile-table-tb tb-download">
- <el-button size="small" @click="PostInvertedListFileDownload" type="primary">下载</el-button>
- </div>
- </div>
- <div v-if="!isMarketingDepartment" class="sharedsile-table-tr">
- <div class="sharedsile-table-tb tb-name">出国出境经费审核计算明细</div>
- <div class="sharedsile-table-tb tb-type">WORD</div>
- <div class="sharedsile-table-tb tb-Language">中文</div>
- <div class="sharedsile-table-tb tb-download">
- <el-button size="small" @click="eptschedule(1, 1005)" type="primary">下载</el-button>
- </div>
- </div>
- <div v-if="!isMarketingDepartment" class="sharedsile-table-tr">
- <div class="sharedsile-table-tb tb-name">因公出国(境)经费测算明细表</div>
- <div class="sharedsile-table-tb tb-type">WORD</div>
- <div class="sharedsile-table-tb tb-Language">中文</div>
- <div class="sharedsile-table-tb tb-download">
- <el-button size="small" @click="eptschedule(1, 1006)" type="primary">下载</el-button>
- </div>
- </div>
- <div v-if="!isMarketingDepartment" class="sharedsile-table-tr">
- <div class="sharedsile-table-tb tb-name">四川省商务厅出国经费财政先行审核表</div>
- <div class="sharedsile-table-tb tb-type">EXCEL</div>
- <div class="sharedsile-table-tb tb-Language">中文</div>
- <div class="sharedsile-table-tb tb-download">
- <el-button size="small" @click="eptschedule(1, 1007)" type="primary">下载</el-button>
- </div>
- </div>
- <div v-if="!isMarketingDepartment" class="sharedsile-table-tr">
- <div class="sharedsile-table-tb tb-name">成都市因公临时出国任务和预算审批意见表(外专培训团专用)</div>
- <div class="sharedsile-table-tb tb-type">WORD</div>
- <div class="sharedsile-table-tb tb-Language">中文</div>
- <div class="sharedsile-table-tb tb-download">
- <el-button size="small" @click="eptschedule(1, 1066)" type="primary">下载</el-button>
- </div>
- </div>
- <div v-if="!isMarketingDepartment" class="sharedsile-table-tr">
- <div class="sharedsile-table-tb tb-name">派员单位出(境)任务和预算审批意见表</div>
- <div class="sharedsile-table-tb tb-type">WORD</div>
- <div class="sharedsile-table-tb tb-Language">中文</div>
- <div class="sharedsile-table-tb tb-download">
- <el-button size="small" @click="eptschedule(2, 1008)" type="primary">下载</el-button>
- </div>
- </div>
- <div v-if="!isMarketingDepartment" class="sharedsile-table-tr">
- <div class="sharedsile-table-tb tb-name">省级单位出(境)经费报销单</div>
- <div class="sharedsile-table-tb tb-type">WORD</div>
- <div class="sharedsile-table-tb tb-Language">中文</div>
- <div class="sharedsile-table-tb tb-download">
- <el-button size="small" @click="eptschedule(2, 1009)" type="primary">下载</el-button>
- </div>
- </div>
- </div>
- </div>
- </template>
- <script>
- export default {
- data() {
- return {
- diIdselect: '',
- delegationInfoList: [],
- filetype: '',
- filetypelist: [],
- pageloadData: {
- "portType": 1,
- "pageIndex": 1,
- "pageSize": 10,
- "contact": "",
- "location": "",
- "client": "",
- "userid": "",
- "lvlid": 0,
- "business": "",
- "Range": 0,
- "Category": 0,
- "operationUserId": 0
- },
- token: '',
- pageId: '',
- userId: '',
- fileList: [],
- tabledata: [],
- currentPage: 1, // 当前页码
- pageSize: 5, // 每页显示条数
- total: 0, // 总条数
- isMarketingDepartment:false,
- fileName:'',
- shdatetime:[],
- }
- },
- methods: {
- //处理时间
- disposeTime(val){
- var date = new Date(val);
- var y = date.getFullYear();
- var m = date.getMonth() + 1;
- m = m < 10 ? ('0' + m) : m;
- var d = date.getDate();
- d = d < 10 ? ('0' + d) : d;
- let time = y + '-' + m + '-' + d;
- return time
- },
- //基础数据
- SharedFileInit() {
- var url = "/api/Groups/SharedFileInit?userid="+this.userId+"&portType=1"
- var that = this
- this.$axios({
- method: 'get',
- url: url,
- }).then(function (res) {
- if (res.data.code == 200) {
- that.delegationInfoList = res.data.data.dropDownGroupList;
- that.diIdselect = that.delegationInfoList[0].id;
- that.filetypelist = res.data.data.dropDownType;
- that.filetype = that.filetypelist[0].id;
- that.isMarketingDepartment=res.data.data.isMarketingDepartment;
- that.QuerySharedFile();
- } else {
- that.$message.error(res.data.msg);
- }
- })
- },
- handleSearch(){
- console.log(this.shdatetime);
-
- this.QuerySharedFile();
- },
- //页面加载
- padeload() {
- var url = "/api/Business/PostGroupNameScreen"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- portType: 1,
- pageIndex: 1,
- pageSize: 9000,
- groupName: '',
- userId: that.userId == 21 ? -1 : that.userId,
- }
- }).then(function (res) {
- console.log(res)
- if (res.data.code == 200) {
- that.delegationInfoList = res.data.data;
- that.diIdselect = that.delegationInfoList[0].id;
- } else {
- that.$message.error(res.data.msg);
- }
- })
- },
- //文件列表
- QuerySharedFile() {
- if (this.shdatetime==null) {
- this.shdatetime=[]
- }
- var url = "/api/Groups/QuerySharedFile"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- pageIndex: that.currentPage,
- pageSize: that.pageSize,
- fileType: that.filetype,
- diid: that.filetype != 1412 ? 0 : that.diIdselect==""?0:that.diIdselect,
- fileName:that.fileName,
- startTime:that.shdatetime.length!=0?that.disposeTime(that.shdatetime[0]):"",
- endTime:that.shdatetime.length!=0?that.disposeTime(that.shdatetime[1]):"",
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.tabledata = res.data.data.fileList;
- that.total = res.data.data.totalCount;
- } else {
- that.$message.error(res.data.msg);
- }
- })
- },
- // 分页页码改变事件
- handlePageChange(val) {
- this.currentPage = val; // 更新当前页码
- this.QuerySharedFile(); // 重新查询数据
- },
- // 每页显示条数改变事件
- handleSizeChange(val) {
- this.pageSize = val; // 更新每页显示条数
- this.currentPage = 1; // 重置当前页码
- this.QuerySharedFile(); // 重新查询数据
- },
- //ctable获取团组
- PostGroupListByCTableAndUserId() {
- var url = "/api/Business/PostGroupListByCTableAndUserId"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- portType: 1,
- pageIndex: 1,
- pageSize: 9000,
- cTable: 1081,
- userId: that.userId,
- teamName: "",
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.delegationInfoList = res.data.data;
- that.diIdselect = that.delegationInfoList[0].id;
- } else {
- that.$message.error(res.data.msg);
- }
- })
- },
- //导出完整行程
- dcwzxc(val) {
- var url = "/api/Groups/ExportTravel"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: {
- diid: that.diIdselect,
- isPDF: val
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- message: res.data.msg,
- type: 'success',
- offset: 50
- });
- window.open(res.data.data.replace('C:/Server/File/OA2023/', 'http://132.232.92.186:24/'));
- } else {
- that.$message.error(res.data.msg);
- }
- }).catch(function (error) {
- that.$message.error(error);
- });
- },
- //团组名单
- Exportlist(val) {
- var url = "/api/Groups/PostTourClientListDownloadFile"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- portType: 1,
- userId: that.userId,
- pageId: that.pageId,
- diId: that.diIdselect,
- language: val
- }
- }).then(function (res) {
- console.log(res)
- if (res.data.code == 200) {
- window.location.href = res.data.data
- that.$message({
- type: 'success',
- message: res.data.msg
- });
- } else {
- that.$message.error(res.data.msg);
- }
- }).catch(function (error) {
- that.$message.error("下载失败!");
- });
- },
- //导出倒推表
- PostInvertedListFileDownload() {
- var url = "/api/Groups/PostInvertedListFileDownload"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: {
- portType: 1,
- diId: that.diIdselect
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- message: res.data.msg,
- type: 'success',
- offset: 50
- });
- window.open(res.data.data);
- } else {
- that.$message.error(res.data.msg);
- }
- }).catch(function (error) {
- that.$message.error(error);
- });
- },
- //三公导出
- eptschedule(val1, val2) {
- var url = "/api/Groups/PostEnterExitCostDownload"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- portType: 1,
- diId: that.diIdselect,
- exportType: val1,
- subTypeId: val2
- }
- }).then(function (res) {
- console.log(res)
- if (res.data.code == 200) {
- that.$message({
- type: 'success',
- message: res.data.msg
- });
- window.open(res.data.data.url);
- } else {
- that.$message.error(res.data.msg);
- }
- })
- },
- // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用,function(file, fileList)
- handleChange(file, fileList) {
- // if (fileList.length > 1 && fileList.status !== "fail") {
- // fileList.splice(0, 1);
- // } else if (fileList.status === "fail") {
- // errorMsg("上传失败,请重新上传!");
- // fileList.splice(0, 1);
- // }
- this.fileList = fileList
- },
- //上传服务器
- submitUpload() {
- var verdict = false
- //判断是否有文件再上传
- console.log(this.fileList);
- if (this.fileList.length === 0) {
- return this.$message.warning('请选取文件后再上传!');
- }
- // 下面的代码将创建一个空的FormData对象:
- const formData = new FormData()
- // 你可以使用FormData.append来添加键/值对到表单里面;
- this.fileList.forEach((file) => {
- if (file.raw != undefined) {
- verdict = true;
- formData.append('Files', file.raw);
- }
- })
- formData.append('Diid', this.filetype != 1412 ? 0 : this.diIdselect);
- formData.append('Userid', this.userId);
- formData.append('FileType', this.filetype);
- if (!verdict) {
- return
- }
- var that = this;
- var url = "/api/Groups/SharedFileUpload"
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: formData
- }).then(function (res) {
- if (res.data.code == 200) {
- that.clearFileList(); // 上传成功后清空文件列表
- that.QuerySharedFile();
- that.$message.success(res.data.msg);
- // window.open(res.data.data.url)
- } else {
- that.$message.error(res.data.msg);
- }
- })
- },
- // 清空文件列表
- clearFileList() {
- this.$refs.upload.clearFiles(); // 调用 el-upload 的 clearFiles 方法
- this.fileList = []; // 清空本地文件列表
- },
- handleRemove(file, fileList) {
- console.log(file, fileList);
- },
- handlePreview(file) {
- console.log(file);
- },
- Downloadshare(val) {
- window.open(val.filePath)
- },
- handleDelete(val) {
- this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- var url = "/api/Groups/DeleteSharedFile"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer '
- },
- data:{
- id: val.id,
- userId: that.userId,
- }
- }).then(function (res) {
- if(res.data.code==200){
- that.$message({
- message:res.data.msg ,
- type: 'success',
- });
- that.QuerySharedFile();
- }else{
- that.$message({
- message:res.data.msg ,
- type: 'warning',
- });
- }
- })
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '已取消删除'
- });
- });
-
- }
- },
- created() {
- this.token = JSON.parse(localStorage.getItem('userinif')).token;
- this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
- this.pageId = Number(localStorage.getItem('indexs').split('-')[1]);//页面id
- // this.PostGroupListByCTableAndUserId()
- this.SharedFileInit();
- }
- }
- </script>
- <style>
- .sharedsile-all {
- background-color: #fff;
- padding: 20px;
- box-shadow: 0 0 5px #0005;
- border-radius: 10px;
- min-height: 810px;
- }
- .sharedsile-Groups {
- display: flex;
- flex-wrap: wrap;
- }
- .sharedsile-btn {
- width: 200px;
- }
- .sharedsile-table-tr {
- display: flex;
- }
- .sharedsile-ps {
- margin-top: 20px;
- font-size: 14px;
-
- }
- .sharedsile-table {
- max-height: 700px;
- border-bottom: 1px solid #DCDFE6;
- overflow: hidden;
- overflow: auto;
- }
- .sharedsile-table-tr {
- border-top: 1px solid #DCDFE6;
- }
- .sharedsile-table-tb {
- padding: 10px;
- text-align: center;
- border-left: 1px solid #DCDFE6;
- font-size: 14px;
- color: #555;
- display: flex;
- justify-content: center;
- align-items: center;
- }
- .sharedsile-table-tb:last-child {
- border-right: 1px solid #DCDFE6;
- }
- .tb-name {
- width: 40%;
- }
- .tb-type {
- width: 25%;
- }
- .tb-Language {
- width: 25%;
- }
- .tb-download {
- width: 10%;
- }
- .sharedsile-Groups-li {
- display: flex;
- align-items: center;
- margin-right: 10px;
- }
- .sharedsile-Groups-li label {
- width: 60px;
- }
- .share-table {
- margin-top: 10px;
- }
- </style>
|