|
@@ -32,6 +32,11 @@
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
+ <el-button type="info" plain icon="Upload" @click="handleUpload" v-hasPermi="['biz:template:add']">
|
|
|
+ 上传
|
|
|
+ </el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
<el-button
|
|
|
type="success"
|
|
|
plain
|
|
@@ -63,21 +68,31 @@
|
|
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-table v-loading="loading" :data="templateList" @selection-change="handleSelectionChange">
|
|
|
+ <el-table v-loading="loading" :data="templateList" @selection-change="handleSelectionChange">
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
<el-table-column label="模板ID" align="center" prop="tmplId" />
|
|
|
<el-table-column label="模板类型" align="center" prop="tmplType" />
|
|
|
- <el-table-column label="模板名称" align="center" prop="tmplName" />
|
|
|
+ <el-table-column label="模板名称" align="center" prop="tmplName" :show-overflow-tooltip="true" />
|
|
|
<el-table-column label="创建人" align="center" prop="createBy" />
|
|
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
|
|
<template #default="scope">
|
|
|
+<<<<<<< HEAD
|
|
|
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
|
|
+=======
|
|
|
+ <!-- <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span> -->
|
|
|
+ <span>{{scope.row.createTime}}</span>
|
|
|
+>>>>>>> liuqiang
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="更新人" align="center" prop="updateBy" />
|
|
|
<el-table-column label="更新时间" align="center" prop="updateTime" width="180">
|
|
|
<template #default="scope">
|
|
|
+<<<<<<< HEAD
|
|
|
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
|
|
+=======
|
|
|
+ <!-- <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span> -->
|
|
|
+ <span>{{ scope.row.updateTime }}</span>
|
|
|
+>>>>>>> liuqiang
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="备注" align="center" prop="remark" />
|
|
@@ -161,13 +176,35 @@
|
|
|
height="800px" class="iframeBox" ></iframe>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
+ <!-- 文件上传 -->
|
|
|
+ <div>
|
|
|
+ <el-dialog v-model="uploadModal" title="上传文件模板" :close-on-click-modal="false" width="30%" @close="closeUpload">
|
|
|
+ <el-upload class="upload-demo" accept=".docx,.doc,.wps,.xls,.et,.xlsx,.ppt,.pptx,.dps" :file-list="fileArr" :limit="10" drag :http-request="onSuccess" multiple :on-remove="handleRemove"
|
|
|
+ element-loading-text="上传中..."
|
|
|
+ element-loading-background="rgba(255, 255, 255, 0.8)"
|
|
|
+ v-loading="loadingUpload" >
|
|
|
+ <el-icon class="el-icon--upload"><upload-filled /></el-icon>
|
|
|
+ <div class="el-upload__text">拖入或<em>点击上传</em></div>
|
|
|
+ <template #tip>
|
|
|
+ <div class="el-upload__tip">请选择或拖入文件(一次最多上传10个文件)</div>
|
|
|
+ </template>
|
|
|
+ </el-upload>
|
|
|
+ <template #footer>
|
|
|
+ <span class="dialog-footer">
|
|
|
+ <el-button @click="closeUpload">取消</el-button>
|
|
|
+ <el-button type="primary" @click="throttleSureUpload">确认</el-button>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script setup name="Template">
|
|
|
-import { listTemplate, getTemplate, delTemplate, addTemplate, updateTemplate } from '@/api/biz/template'
|
|
|
+import { listTemplate, getTemplate, delTemplate, addTemplate, updateTemplate,uploadTemplates } from '@/api/biz/template'
|
|
|
import jjtOnlyOffice from '@/components/OnlyOffice/index.vue'
|
|
|
import previewTemp from '@/components/previewTemp/previewTemp.vue'
|
|
|
import useUserStore from "@/store/modules/user";
|
|
|
+import { ElMessage} from 'element-plus'
|
|
|
const { proxy } = getCurrentInstance()
|
|
|
|
|
|
const templateList = ref([])
|
|
@@ -181,6 +218,10 @@ const total = ref(0)
|
|
|
const title = ref('')
|
|
|
const showPreview = ref(false)
|
|
|
const fullscreen = ref(false)
|
|
|
+const uploadModal = ref(false)
|
|
|
+const fileArr = ref([])
|
|
|
+const loadingUpload = ref(false)
|
|
|
+const throttled = ref(false)
|
|
|
const preUrl = ref('')
|
|
|
let option = ref({
|
|
|
key: '',
|
|
@@ -270,7 +311,66 @@ function handleAdd() {
|
|
|
open.value = true
|
|
|
title.value = '添加文档模板'
|
|
|
}
|
|
|
+/** 上传按钮操作 */
|
|
|
+function handleUpload() {
|
|
|
+ uploadModal.value = true
|
|
|
+}
|
|
|
+const closeUpload = ()=>{
|
|
|
+ uploadModal.value = false
|
|
|
+}
|
|
|
+function onSuccess(files, val) {
|
|
|
+ fileArr.value.push(files.file)
|
|
|
+}
|
|
|
+// 移除上传的某些文件
|
|
|
+const handleRemove = (file,rawFile) => {
|
|
|
+ fileArr.value = rawFile.map(item=>{
|
|
|
+ if(item.raw){
|
|
|
+ return item.raw
|
|
|
+ }else{
|
|
|
+ return item
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+const throttleSureUpload = ()=>{
|
|
|
+ console.log('fileArr',fileArr.value);
|
|
|
+ if (!throttled.value) {
|
|
|
+ sureUpload();
|
|
|
+ throttled.value = true;
|
|
|
+ setTimeout(() => {
|
|
|
+ throttled.value = false;
|
|
|
+ }, 1000); // 设置节流的时间间隔为 1000 毫秒(1秒)
|
|
|
+ }
|
|
|
+}
|
|
|
+// 确认上传
|
|
|
+function sureUpload() {
|
|
|
+ loadingUpload.value = true;
|
|
|
+
|
|
|
+ if (fileArr.value.length > 0) {
|
|
|
+ let form=new FormData();
|
|
|
+ for (var i = 0; i < fileArr.value.length; i++) {
|
|
|
+ form.append("files",fileArr.value[i]);
|
|
|
+ }
|
|
|
+ // console.error(fileArr.value);
|
|
|
+ uploadTemplates(form).then(res => {
|
|
|
+ ElMessage({
|
|
|
+ message: "上传文件成功",
|
|
|
+ type: "success"
|
|
|
+ })
|
|
|
+ // getAllTop()
|
|
|
+ uploadModal.value = false
|
|
|
+ loadingUpload.value = false;
|
|
|
+ fileArr.value = []
|
|
|
+ resetQuery()
|
|
|
+ }).catch(err => {
|
|
|
+ loadingUpload.value = false;
|
|
|
+ fileArr.value = []
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ loadingUpload.value = false;
|
|
|
+ return ElMessage({ message: "请选择文件", type: "error" })
|
|
|
+ }
|
|
|
|
|
|
+}
|
|
|
/** 修改按钮操作 */
|
|
|
function handleUpdate(row) {
|
|
|
reset()
|