|
@@ -16,11 +16,11 @@
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="类型" prop="type">
|
|
|
+ <!-- <el-form-item label="类型" prop="type">
|
|
|
<el-select v-model="queryParams.type" placeholder="请选择类型" clearable size="small">
|
|
|
<el-option label="请选择字典生成" value />
|
|
|
</el-select>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item>-->
|
|
|
<!-- <el-form-item label="大小" prop="size">
|
|
|
<el-input
|
|
|
v-model="queryParams.size"
|
|
@@ -39,7 +39,7 @@
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>-->
|
|
|
- <el-form-item label="单位名称" prop="unitName">
|
|
|
+ <!-- <el-form-item label="单位名称" prop="unitName">
|
|
|
<el-input
|
|
|
v-model="queryParams.unitName"
|
|
|
placeholder="请输入单位名称"
|
|
@@ -56,7 +56,7 @@
|
|
|
size="small"
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item>-->
|
|
|
<!-- <el-form-item label="发送人ID" prop="sendId">
|
|
|
<el-input
|
|
|
v-model="queryParams.sendId"
|
|
@@ -133,8 +133,16 @@
|
|
|
/>
|
|
|
</el-form-item>-->
|
|
|
<el-form-item>
|
|
|
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-search"
|
|
|
+ size="mini"
|
|
|
+ @click="handleQuery"
|
|
|
+ >搜索</el-button
|
|
|
+ >
|
|
|
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
|
|
|
+ >重置</el-button
|
|
|
+ >
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
|
|
@@ -147,7 +155,8 @@
|
|
|
size="mini"
|
|
|
@click="handleAdd"
|
|
|
v-hasPermi="['PrintsManage:manage:add']"
|
|
|
- >新增</el-button>
|
|
|
+ >新增</el-button
|
|
|
+ >
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
@@ -158,7 +167,8 @@
|
|
|
:disabled="single"
|
|
|
@click="handleUpdate"
|
|
|
v-hasPermi="['PrintsManage:manage:edit']"
|
|
|
- >修改</el-button>
|
|
|
+ >修改</el-button
|
|
|
+ >
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
@@ -169,7 +179,8 @@
|
|
|
:disabled="multiple"
|
|
|
@click="handleDelete"
|
|
|
v-hasPermi="['PrintsManage:manage:remove']"
|
|
|
- >删除</el-button>
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
@@ -180,9 +191,13 @@
|
|
|
:loading="exportLoading"
|
|
|
@click="handleExport"
|
|
|
v-hasPermi="['PrintsManage:manage:export']"
|
|
|
- >导出</el-button>
|
|
|
+ >导出</el-button
|
|
|
+ >
|
|
|
</el-col>
|
|
|
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
+ <right-toolbar
|
|
|
+ :showSearch.sync="showSearch"
|
|
|
+ @queryTable="getList"
|
|
|
+ ></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
|
<el-table
|
|
@@ -199,13 +214,22 @@
|
|
|
<el-table-column label="类型" align="center" prop="type" />
|
|
|
<el-table-column label="大小" align="center" prop="size" />
|
|
|
<!-- <el-table-column label="单位ID" align="center" prop="unitId" /> -->
|
|
|
- <el-table-column label="单位名称" align="center" prop="unitName" />
|
|
|
- <el-table-column label="级别" align="center" prop="levelM" />
|
|
|
+ <!-- <el-table-column label="单位名称" align="center" prop="unitName" /> -->
|
|
|
+ <el-table-column label="级别" align="center" prop="levelM">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <dict-tag :options="dict.type.level" :value="scope.row.levelM" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<!-- <el-table-column label="发送人ID" align="center" prop="sendId" /> -->
|
|
|
<el-table-column label="发送人" align="center" prop="sendName" />
|
|
|
- <el-table-column label="创建时间" align="center" prop="creattime" width="180">
|
|
|
+ <el-table-column
|
|
|
+ label="创建时间"
|
|
|
+ align="center"
|
|
|
+ prop="creattime"
|
|
|
+ width="180"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.creattime, '{y}-{m}-{d}') }}</span>
|
|
|
+ <span>{{ parseTime(scope.row.creattime, "{y}-{m}-{d}") }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<!-- <el-table-column label="更新时间" align="center" prop="updatetime" width="180">
|
|
@@ -219,28 +243,41 @@
|
|
|
<el-table-column label="接收人" align="center" prop="receiveName" />
|
|
|
<el-table-column label="生成路径" align="center" prop="sFile" />
|
|
|
<el-table-column label="打印回复信息" align="center" prop="printInfo" />-->
|
|
|
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
+ <el-table-column
|
|
|
+ label="操作"
|
|
|
+ align="center"
|
|
|
+ class-name="small-padding fixed-width"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-printer"
|
|
|
+ @click="handlePrint(scope.row)"
|
|
|
+ >打印</el-button
|
|
|
+ >
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
icon="el-icon-edit"
|
|
|
@click="handleUpdate(scope.row)"
|
|
|
v-hasPermi="['PrintsManage:manage:edit']"
|
|
|
- >修改</el-button>
|
|
|
+ >修改</el-button
|
|
|
+ >
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDelete(scope.row)"
|
|
|
v-hasPermi="['PrintsManage:manage:remove']"
|
|
|
- >删除</el-button>
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
<pagination
|
|
|
- v-show="total>0"
|
|
|
+ v-show="total > 0"
|
|
|
:total="total"
|
|
|
:page.sync="queryParams.pageNum"
|
|
|
:limit.sync="queryParams.pageSize"
|
|
@@ -248,8 +285,19 @@
|
|
|
/>
|
|
|
|
|
|
<!-- 添加或修改集中文印主对话框 -->
|
|
|
- <el-dialog :title="title" :visible.sync="open" append-to-body>
|
|
|
- <el-form ref="form" :model="form" :inline="true" :rules="rules" label-width="120px">
|
|
|
+ <el-dialog
|
|
|
+ :title="title"
|
|
|
+ :visible.sync="open"
|
|
|
+ width="1030px"
|
|
|
+ append-to-body
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ ref="form"
|
|
|
+ :model="form"
|
|
|
+ :inline="true"
|
|
|
+ :rules="rules"
|
|
|
+ label-width="120px"
|
|
|
+ >
|
|
|
<div class="jiben">发送人信息</div>
|
|
|
<el-form-item label="发送人" prop="sendName">
|
|
|
<el-input v-model="form.sendName" placeholder="请输入发送人" />
|
|
@@ -258,14 +306,12 @@
|
|
|
<el-form-item label="文件名称" prop="name">
|
|
|
<el-input v-model="form.name" placeholder="请输入文件名称" />
|
|
|
</el-form-item>
|
|
|
- <!-- <el-form-item label="路径">
|
|
|
- <fileUpload v-model="form.file" />
|
|
|
- </el-form-item>-->
|
|
|
+
|
|
|
<el-form-item label="文件类型" prop="type">
|
|
|
<el-input v-model="form.type" placeholder="请输入文件类型" />
|
|
|
<!-- <el-select v-model="form.type" placeholder="请选择类型">
|
|
|
<el-option label="请选择字典生成" value />
|
|
|
- </el-select> -->
|
|
|
+ </el-select>-->
|
|
|
</el-form-item>
|
|
|
<el-form-item label="文件大小" prop="size">
|
|
|
<el-input v-model="form.size" placeholder="请输入文件大小" />
|
|
@@ -286,6 +332,48 @@
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="上传文件">
|
|
|
+ <!-- <fileUpload v-model="form.file" /> -->
|
|
|
+ <el-upload
|
|
|
+ :action="uploadFileUrl"
|
|
|
+ :before-upload="handleBeforeUpload"
|
|
|
+ :file-list="fileList"
|
|
|
+ :limit="limit"
|
|
|
+ :on-error="handleUploadError"
|
|
|
+ :on-exceed="handleExceed"
|
|
|
+ :on-success="handleUploadSuccess"
|
|
|
+ :show-file-list="false"
|
|
|
+ :headers="headers"
|
|
|
+ class="upload-file-uploader"
|
|
|
+ ref="upload"
|
|
|
+ name="pfile"
|
|
|
+ >
|
|
|
+ <!-- 上传按钮 -->
|
|
|
+ <el-button size="mini" type="primary" class="select_file"
|
|
|
+ >选取文件</el-button
|
|
|
+ >
|
|
|
+ <!-- 上传提示 -->
|
|
|
+ <!-- <div class="el-upload__tip" slot="tip" v-if="showTip">
|
|
|
+ 请上传
|
|
|
+ <template v-if="fileSize">
|
|
|
+ 大小不超过
|
|
|
+ <b style="color: #13CE66 ">{{ fileSize }}MB</b>
|
|
|
+ </template>
|
|
|
+ <template v-if="fileType">
|
|
|
+ 格式为
|
|
|
+ <b style="color: #13CE66">{{ fileType.join("/") }}</b>
|
|
|
+ </template>
|
|
|
+ 的文件
|
|
|
+ </div>-->
|
|
|
+ </el-upload>
|
|
|
+ <!-- <input
|
|
|
+ multiple="multiple"
|
|
|
+ type="file"
|
|
|
+ id="sys_upload_file"
|
|
|
+ ref="sysUploadFile"
|
|
|
+ @change="uploadFileFn($event)"
|
|
|
+ />-->
|
|
|
+ </el-form-item>
|
|
|
<!-- <el-form-item label="发送人ID" prop="sendId">
|
|
|
<el-input v-model="form.sendId" placeholder="请输入发送人ID" />
|
|
|
</el-form-item>-->
|
|
@@ -301,7 +389,11 @@
|
|
|
</el-form-item>-->
|
|
|
<div class="jiben">打印说明</div>
|
|
|
<el-form-item label prop="explainInfo">
|
|
|
- <el-input v-model="form.explainInfo" type="textarea" placeholder="请输入打印说明" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.explainInfo"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入打印说明"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
<!-- <el-form-item label="打印状态(1 打印中 2 已打印)">
|
|
|
<el-radio-group v-model="form.printStatus">
|
|
@@ -326,6 +418,58 @@
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ :title="title"
|
|
|
+ :visible.sync="dyopen"
|
|
|
+ append-to-body
|
|
|
+ style="width:800px;margin-left:600px;padding-top:100px;"
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ ref="dyform"
|
|
|
+ :model="dyform"
|
|
|
+ :inline="true"
|
|
|
+ :rules="rules"
|
|
|
+ label-width="120px"
|
|
|
+ >
|
|
|
+ <!-- <div class="jiben">打印信息</div> -->
|
|
|
+ <el-form-item label="打印内容" prop="printName">
|
|
|
+ <el-input v-model="dyform.printName" placeholder="请输入打印内容" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="打印份数" prop="printNumber">
|
|
|
+ <el-input
|
|
|
+ v-model="dyform.printNumber"
|
|
|
+ type="Number"
|
|
|
+ placeholder="请输入打印份数"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="是否需要归还" prop="isReturn">
|
|
|
+ <el-radio-group v-model="dyform.isReturn" size="mini">
|
|
|
+ <el-radio label="1">归还</el-radio>
|
|
|
+ <el-radio label="0">无需归还</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- <div class="jiben">打印人信息</div> -->
|
|
|
+ <el-form-item label="打印人" prop="printfileName">
|
|
|
+ <el-select
|
|
|
+ v-model="dyform.printfileName"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ placeholder="请选择打印人"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in rylist"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="dysubmitForm">确 定</el-button>
|
|
|
+ <el-button @click="dycancel">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -336,11 +480,42 @@ import {
|
|
|
delManage,
|
|
|
addManage,
|
|
|
updateManage,
|
|
|
- exportManage
|
|
|
+ exportManage,
|
|
|
+ printFile,
|
|
|
+ listPeople
|
|
|
} from "@/api/PrintsManage/manage";
|
|
|
+import { getToken } from "@/utils/auth";
|
|
|
+import Cookies from "js-cookie";
|
|
|
|
|
|
export default {
|
|
|
name: "Manage",
|
|
|
+ dicts: ["level"],
|
|
|
+ props: {
|
|
|
+ // 值
|
|
|
+ value: [String, Object, Array],
|
|
|
+ // 数量限制
|
|
|
+ limit: {
|
|
|
+ type: Number,
|
|
|
+ default: 5
|
|
|
+ },
|
|
|
+ // 大小限制(MB)
|
|
|
+ fileSize: {
|
|
|
+ type: Number,
|
|
|
+ default: 5
|
|
|
+ },
|
|
|
+ // 文件类型, 例如['png', 'jpg', 'jpeg']
|
|
|
+ fileType: {
|
|
|
+ type: Array,
|
|
|
+ default: () => ["doc", "xls", "ppt", "txt", "pdf"]
|
|
|
+ },
|
|
|
+ // 是否显示提示
|
|
|
+ isShowTip: {
|
|
|
+ type: Boolean,
|
|
|
+ default: true
|
|
|
+ },
|
|
|
+ // 文件名称
|
|
|
+ names: ""
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
// 遮罩层
|
|
@@ -363,6 +538,7 @@ export default {
|
|
|
title: "",
|
|
|
// 是否显示弹出层
|
|
|
open: false,
|
|
|
+ dyopen: false,
|
|
|
// 查询参数
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
@@ -387,15 +563,25 @@ export default {
|
|
|
},
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
+ dyform: {},
|
|
|
// 表单校验
|
|
|
rules: {},
|
|
|
//级别
|
|
|
- levelMs:[],
|
|
|
+ levelMs: [],
|
|
|
+ baseUrl: process.env.VUE_APP_BASE_API,
|
|
|
+ uploadFileUrl:
|
|
|
+ process.env.VUE_APP_BASE_API + "/PrintsManage/manage/printFile", // 上传的图片服务器地址
|
|
|
+ headers: {
|
|
|
+ Authorization: "Bearer " + getToken()
|
|
|
+ },
|
|
|
+ fileList: [],
|
|
|
+ faith: null,
|
|
|
+ rylist: []
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
this.getList();
|
|
|
- //级别
|
|
|
+ //级别
|
|
|
this.getDicts("level").then(response => {
|
|
|
this.levelMs = response.data;
|
|
|
});
|
|
@@ -415,6 +601,10 @@ export default {
|
|
|
this.open = false;
|
|
|
this.reset();
|
|
|
},
|
|
|
+ dycancel(){
|
|
|
+ this.dyopen = false;
|
|
|
+ this.dyreset();
|
|
|
+ },
|
|
|
// 表单重置
|
|
|
reset() {
|
|
|
this.form = {
|
|
@@ -439,6 +629,17 @@ export default {
|
|
|
};
|
|
|
this.resetForm("form");
|
|
|
},
|
|
|
+ // 表单重置
|
|
|
+ dyreset() {
|
|
|
+ this.dyform = {
|
|
|
+ id: null,
|
|
|
+ printName: null,
|
|
|
+ printNumber: null,
|
|
|
+ isReturn: null,
|
|
|
+ printfileName: null
|
|
|
+ };
|
|
|
+ this.resetForm("dyform");
|
|
|
+ },
|
|
|
/** 搜索按钮操作 */
|
|
|
handleQuery() {
|
|
|
this.queryParams.pageNum = 1;
|
|
@@ -460,6 +661,7 @@ export default {
|
|
|
this.reset();
|
|
|
this.open = true;
|
|
|
this.title = "添加集中文印主";
|
|
|
+ this.form.sendName = Cookies.get("nickName");
|
|
|
},
|
|
|
/** 修改按钮操作 */
|
|
|
handleUpdate(row) {
|
|
@@ -519,13 +721,89 @@ export default {
|
|
|
this.exportLoading = false;
|
|
|
})
|
|
|
.catch(() => {});
|
|
|
+ },
|
|
|
+ // 上传前校检格式和大小
|
|
|
+ handleBeforeUpload(file) {
|
|
|
+ // 校检文件类型
|
|
|
+ this.form.name = file.name;
|
|
|
+ if (file.size == 0) {
|
|
|
+ this.form.size = "0 B";
|
|
|
+ }
|
|
|
+ var k = 1024;
|
|
|
+ var sizes = ["B", "KB", "MB", "GB", "TB", "EB", "ZB", "YB"];
|
|
|
+ var i = Math.floor(Math.log(file.size) / Math.log(k));
|
|
|
+ this.form.size = file.size;
|
|
|
+ this.form.size =
|
|
|
+ (file.size / Math.pow(k, i)).toPrecision(3) + "" + sizes[i];
|
|
|
+
|
|
|
+ if (this.fileType) {
|
|
|
+ let fileExtension = "";
|
|
|
+ if (file.name.lastIndexOf(".") > -1) {
|
|
|
+ fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1);
|
|
|
+ this.form.type = fileExtension;
|
|
|
+ }
|
|
|
+ const isTypeOk = this.fileType.some(type => {
|
|
|
+ if (file.type.indexOf(type) > -1) return true;
|
|
|
+ if (fileExtension && fileExtension.indexOf(type) > -1) return true;
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+ if (!isTypeOk) {
|
|
|
+ this.$message.error(
|
|
|
+ `文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`
|
|
|
+ );
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 校检文件大小
|
|
|
+ if (this.fileSize) {
|
|
|
+ const isLt = file.size / 1024 / 1024 < this.fileSize;
|
|
|
+ if (!isLt) {
|
|
|
+ this.$message.error(`上传文件大小不能超过 ${this.fileSize} MB!`);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ },
|
|
|
+ // 文件个数超出
|
|
|
+ handleExceed() {
|
|
|
+ this.$message.error(`上传文件数量不能超过 ${this.limit} 个!`);
|
|
|
+ },
|
|
|
+ // 上传失败
|
|
|
+ handleUploadError(err) {
|
|
|
+ this.$message.error("上传失败, 请重试");
|
|
|
+ },
|
|
|
+ // 上传成功回调
|
|
|
+ handleUploadSuccess(res, file) {
|
|
|
+ this.$message.success("上传成功");
|
|
|
+ this.fileList.push({ name: file.name, url: res.fileName });
|
|
|
+ this.$emit("input", this.fileList);
|
|
|
+ this.form.file = res.url;
|
|
|
+ },
|
|
|
+ //打印
|
|
|
+ handlePrint() {
|
|
|
+ this.dyreset();
|
|
|
+ this.dyopen = true;
|
|
|
+ this.title = "打印";
|
|
|
+ this.getrylist();
|
|
|
+ },
|
|
|
+ //获取人员
|
|
|
+ getrylist() {
|
|
|
+ listPeople().then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.rylist = res.rows;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //打印提交
|
|
|
+ dysubmitForm(){
|
|
|
+ var open=window.open();
|
|
|
+ open.location.href="http://192.168.5.188:8080/profile/print/2022/03/19/31715ba3-47cb-43bd-b9b3-852e0909dbc7.doc";
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
<style scoped>
|
|
|
::v-deep .el-dialog {
|
|
|
- width: 1030px !important;
|
|
|
background-color: #004d86;
|
|
|
}
|
|
|
|
|
@@ -594,7 +872,7 @@ export default {
|
|
|
color: #1c86e1;
|
|
|
}
|
|
|
.el-select-dropdown__item {
|
|
|
- /* color: #fff; */
|
|
|
+ color: #fff;
|
|
|
}
|
|
|
.el-tree {
|
|
|
background-color: #00365f;
|