From be016d292a1eb3af5088e17f076e7cc6cab90576 Mon Sep 17 00:00:00 2001
From: feige <791364011@qq.com>
Date: 星期二, 06 五月 2025 17:20:08 +0800
Subject: [PATCH] 增加了模块
---
ruoyi-ui/src/views/qrcode/pdscanInfo.vue | 628 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 628 insertions(+), 0 deletions(-)
diff --git a/ruoyi-ui/src/views/qrcode/pdscanInfo.vue b/ruoyi-ui/src/views/qrcode/pdscanInfo.vue
new file mode 100644
index 0000000..af8ef37
--- /dev/null
+++ b/ruoyi-ui/src/views/qrcode/pdscanInfo.vue
@@ -0,0 +1,628 @@
+<template>
+ <div class="app-container" id="printable-content">
+ <div class="form-header mt">
+ <h1 style="font-size:21px;padding-top:30px;display: flex;justify-content: space-between;align-items: center;" >
+ <span>浜岀淮鐮佺敓鎴愯褰曡鎯�</span>
+
+ </h1>
+ </div>
+
+ <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
+
+ <el-form-item label="濮撳悕" prop="name">
+ <el-input v-model="formData.name" placeholder="璇疯緭鍏ュ鍚�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
+ </el-form-item>
+
+ <el-form-item label="鏍囬" prop="title">
+ <el-input v-model="formData.title" placeholder="璇疯緭鍏ユ爣棰�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
+ </el-form-item>
+
+
+
+<!-- <el-form-item label="鏄惁鏄湰瀹跺涵璁板綍" prop="ownData">-->
+<!-- <el-input v-model="formData.ownData=== 1 ? '鏄�':'鍚�'" placeholder=" " clearable :style="{width: '100%'}" :disabled=true></el-input>-->
+<!-- </el-form-item>-->
+ <!-- :http-request="requestUpload" -->
+
+ <h4 class="form-header">浜岀淮鐮佸浘鐗�</h4>
+ <el-upload
+ action="#"
+ list-type="picture-card"
+ multiple
+ ref="upload"
+ :show-file-list="true"
+ :http-request="requestUpload"
+ :file-list="fileList"
+ :on-change="handleChange"
+ :auto-upload="false"
+ :disabled="true"
+ :class="{ hide: true }"
+
+ >
+
+ <!-- <div v-if="uploading" class="upload-status">姝e湪涓婁紶...</div> -->
+
+ <div slot="file" slot-scope="{file}">
+ <img
+ class="el-upload-list__item-thumbnail"
+ :src="file.url"
+ alt=""
+ style="width: 147px; height: 147px"
+ fit="cover"
+ :preview-src-list="[file.url]"
+ >
+ <span class="el-upload-list__item-actions">
+ <span
+
+ class="el-upload-list__item-preview"
+ @click="handlePictureCardPreview(file)"
+ >
+ <i class="el-icon-zoom-in"></i>
+ </span>
+ <span
+
+ class="el-upload-list__item-delete"
+ @click="handleDownload(file.url)"
+ >
+ <i class="el-icon-download"></i>
+ </span>
+
+ </span>
+
+
+ </div>
+
+
+ </el-upload>
+<h4 class="form-header">pdf鏂囦欢</h4>
+ <el-form-item prop="cov">
+
+<!-- <el-upload
+ action="#"
+ list-type="picture-card"
+ multiple
+ ref="upload"
+
+ :http-request="requestUpload"
+ :file-list="fileList"
+ :on-change="handleChange"
+ :auto-upload="false"
+ :disabled="!btn"
+ :class="{ hide: !btn }"
+
+ >
+ -->
+
+ <el-upload
+ action="#"
+ multiple
+list-type="picture-card"
+ ref="upload1"
+ :on-remove="handleRemoveFile"
+ :http-request="requestUpload"
+ :file-list="fileList1"
+
+ :disabled="!btn"
+
+ :class="{ hide: !btn }"
+
+
+ :on-change="handleChange1"
+ :auto-upload="false"
+
+
+
+
+
+ >
+<!--
+ <div v-if="uploading" class="upload-status">姝e湪涓婁紶...</div> -->
+ <i slot="default" class="el-icon-plus"></i>
+ <div slot="file" slot-scope="{file}">
+ <!-- 娣诲姞video鍏冪礌鐢ㄤ簬鏄剧ず瑙嗛 -->
+ <img
+ class="el-upload-list__item-thumbnail"
+ src="../../assets/401_images/401.gif" alt=""
+ >
+ <p style="text-align: center;">{{ file.name }}</p>
+
+ <span class="el-upload-list__item-actions">
+ <span class="el-upload-list__item-name" @click="handleDownload(file.url)"><span>{{ file.name }}</span></span>
+
+ <span
+
+ class="el-upload-list__item-delete"
+ @click="handleDownload(file.url)"
+ >
+ <i class="el-icon-download"></i>
+ </span>
+ <span
+
+ class="el-upload-list__item-delete"
+ @click="handleRemoveFile(file)"
+ >
+ <i class="el-icon-delete"></i>
+ </span>
+ </span>
+ </div>
+
+
+ </el-upload>
+ <el-button
+ style="margin-left: 10px"
+ size="small"
+ type="success"
+ v-if="btn"
+ @click="fileUpload"
+ >涓婁紶鍒版湇鍔″櫒</el-button>
+
+ </el-form-item>
+ <h4 class="form-header"> </h4>
+ <el-form-item size="large">
+ <el-button v-if="isShow" type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
+ </el-form-item>
+ <el-form-item size="large">
+ <el-button v-if="isShow1" type="primary" @click="submitFormAudit" :disabled="dsb">瀹℃牳閫氳繃</el-button>
+
+ <el-button v-if="isShow1" type="primary" @click="submitFormAuditFail" :disabled="dsb">瀹℃牳涓嶉�氳繃</el-button>
+ </el-form-item>
+ </el-form>
+
+ <el-dialog :visible.sync="dialogVisible">
+ <img w-full :src="dialogImageUrl" style="width: 100%; height: 100%" alt="Preview Image" />
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import {addRole, updateRole} from "@/api/system/role";
+import {blobValidate} from "@/utils/ruoyi";
+import errorCode from "@/utils/errorCode";
+import {Message} from "element-ui";
+import {listFScan,getFScanInfo,addFScan,delFScan,getFSInfo,updateFScan, uploadPic, uploadPic1, download} from "@/api/fscan/index";
+import store from '@/store'
+export default {
+ components: {},
+ props: [],
+
+ data() {
+ const validateLogo = (rule, value, callback) => {
+ if (!this.form.cov && this.fileList1.length ===0) {
+ // console.log(!this.form.cover)
+ callback(new Error('璇蜂笂浼犲浘鐗�'))
+ } else {
+ callback()
+ }
+ }
+
+ return {
+ userid: store.getters.id,
+
+ cdi:"浜岀淮鐮佺敓鎴愯缁嗕俊鎭�",
+ udi:"浜岀淮鐮佺敓鎴愯褰曚慨鏀�",
+
+ fileList:[
+ ],
+ fileList1:[],
+ uploadFileList:[],
+ uploadFileList1:[],
+ fileListOther:[
+
+ ],
+ fileListOther1:[],
+
+ dsb:true,
+ btn:false,
+ isShow:true,
+ isShow1: false,
+ uploading: false,
+ uploading1:false,
+ formData: {
+ comName:undefined,
+ productName:undefined,
+ deadTime: undefined,
+ cov: undefined,
+ filePath: ""
+ },
+ rules: {
+ comName: [{
+ required: true,
+ message: '璇疯緭鍏ュ叕鍙稿悕绉�',
+ trigger: 'blur'
+ }],
+
+
+ deadTime: [{
+ required: true,
+ message: '璇烽�夋嫨鏃ユ湡',
+ trigger: 'blur'
+ }],
+ cover: [{ required: true, validator: validateLogo, trigger: 'change' }],
+ },
+ ID: undefined,
+ dialogImageUrl: '',
+ url1:undefined,
+ dialogVisible: false,
+ disabled: false,
+
+ rules: {
+ comName: [{
+ required: true,
+ message: '璇疯緭鍏ュぇ浜嬫爣棰�',
+ trigger: 'blur'
+ }],
+
+ deadTime: [{
+ required: true,
+ message: '璇疯緭鍏ヤ汉鐗�',
+ trigger: 'blur'
+ }],
+
+
+ },
+ typeOptions: [],
+ }
+ },
+ computed: {},
+ watch: {},
+ created() {
+
+
+ let jd;
+ if(this.$route.query.detail!=undefined)
+ {
+ jd = this.$route.query.detail
+ this.btn= jd
+ this.dsb = !jd
+ this.isShow=true
+ this.isShow1 = false;
+ this.$route.meta.title = "淇敼浜岀淮鐮佽褰�";//鍒楄〃鐨勫悕绉�
+ }
+ else if(this.$route.query.sh!=undefined)
+ {
+ this.$route.meta.title = "浜岀淮鐮佽缁嗕俊鎭鏍�";//鍒楄〃鐨勫悕绉�
+ jd = this.$route.query.sh
+ this.dsb = !jd
+ // alert(this.dsb)
+ this.isShow = false
+ this.isShow1 = true
+ }
+ else{
+
+ this.$route.meta.title = "浜岀淮鐮佽缁嗕俊鎭�";//鍒楄〃鐨勫悕绉�
+ this.btn = false;
+ this.isShow=false
+ this.isShow1 = false;
+ // alert(this.btn)
+ }
+ this.getData()
+ console.log(this.fileList,'fileListfilelllllllllllll')
+ },
+ mounted() {},
+ methods: {
+ getData(){
+ const id = this.$route.params && this.$route.params.id;
+ this.fileList1 = []
+ this.ID = id;
+ let _this = this
+ if (id) {
+ this.loading = true;
+ // alert(id)
+ getFSInfo(id).then((response) => {
+ console.log(response)
+ // console.log(response,'666666666')
+ this.formData = response.data;
+ let paths = this.formData.filePath.split(",");
+ console.log(response.data)
+
+ this.fileList.push({name:response.data.codeS,url: process.env.VUE_APP_BASE_TRUE_API+response.data.codeS})
+ // _this.fileList1 = _this.fileList
+ // alert(response.data.filePath)
+ for(let i = 0; i < paths.length; i++)
+ {
+ if(paths[i]!="") {
+ var lsr = paths[i].split("/")
+ this.fileList1.push({name:lsr[lsr.length-1], url: process.env.VUE_APP_BASE_TRUE_API+paths[i],res:false})
+ this.loading = false;
+ }
+ }
+ });
+ }
+ },
+ submitFormAudit() {
+ this.$refs['elForm'].validate(valid => {
+ if (valid) {
+ if (this.formData.id != undefined) {
+ this.formData.approveStatus = 0
+ updateFScan(this.formData).then(response => {
+ this.$modal.msgSuccess("瀹℃牳鎴愬姛");
+ this.btn=false
+
+ });
+ } else {
+ this.$modal.msgSuccess("淇敼澶辫触");
+
+ }
+ }
+ })
+ },
+ submitFormAuditFail () {
+ this.$refs['elForm'].validate(valid => {
+ if (valid) {
+ if (this.formData.id != undefined) {
+ this.formData.approveStatus = 2
+ updateFScan(this.formData).then(response => {
+ this.$modal.msgSuccess("瀹℃牳鎴愬姛锛岄渶瑕佷慨鏀归噸鏂颁笂浼狅紒");
+ this.btn=false
+
+ });
+ } else {
+ this.$modal.msgSuccess("淇敼澶辫触");
+
+ }
+ }
+ })
+ },
+ submitForm() {
+ // let ul = this.fileList.map(function (elem){
+ // return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ // }).join(",")
+ let uls = this.fileList1.map(function (elem){
+ return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ }).join(",")
+ this.formData.filePath = uls
+ // console.log(this.fileList1)
+ // if(this.fileList1.length>0)
+ // this.formData.filePath = this.fileList1[0].url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+
+ this.$refs['elForm'].validate(valid => {
+ if (valid) {
+ this.formData.approveStatus = 1
+ if (this.formData.id != undefined) {
+ updateFScan(this.formData).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.btn=false
+
+ });
+ } else {
+ this.$modal.msgSuccess("淇敼澶辫触");
+
+ }
+ }
+ })
+ },
+ handleChange1(file)
+ {
+ this.uploadFileList1.push(file.raw);
+ this.fileList1.push({name:file.name,url:file.url,res:true})
+ console.log("=========5555=========")
+ //console.log(file)
+ },
+ resetForm() {
+ this.$refs['elForm'].resetFields()
+ },
+ handlePreview(file)
+ {
+ let formData = {'path':"/"+file.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
+ let lens = formData.path.split(".")
+ let suffix = lens[lens.length-1]
+ download(formData).then(async (response) => {
+ const isLogin = await blobValidate(response);
+ let nt = new Date().getTime()
+ let filename = 'scond_'+nt+'.'+suffix
+ const blob = new Blob([response])
+ saveAs(blob, filename)
+ })
+ },
+ handleRemoveFile(file) {
+ //鍒よ鏄惁鏄箣鍓嶇殑鍥剧墖
+ // let res = false
+ //鍒よ鏄惁鏄箣鍓嶇殑鍥剧墖
+ let res = false
+ for(let i = 0; i < this.fileList1.length; i++)
+ {
+ if(this.fileList1[i].url==file.url)
+ {
+ if(this.fileList1[i].res==false)
+ res = true
+ else
+ {
+ // alert(90)
+ this.$delete(this.uploadFileList1, Math.abs(i - this.uploadFileList1.length-1))
+ }
+
+this.$delete(this.fileList1,i);
+ }
+ }
+
+//alert(123)
+ let uls = ""
+ this.fileList1.map(function (elem){
+ if(elem.res==false)
+ uls = uls +","+elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ })
+ this.formData.filePath = uls;
+ // alert(this.formData.filePath)
+ // alert(this.formData.url)
+ //console.log(this.fileList1)
+ if(res==true){
+ updateFScan(this.formData).then(response => {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ // this.open = false;
+
+ });
+ }
+ // for(let i = 0; i < this.fileList1.length; i++)
+
+
+
+ },
+
+
+ handlePictureCardPreview(file) {
+ this.dialogImageUrl = file.url;
+ this.dialogVisible = true;
+ },
+ handleDownload(url) {
+
+ var formData = {'path':url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
+ let lens = formData.path.split(".")
+ let suffix = lens[lens.length-1]
+ download(formData).then(async (response) => {
+ const isLogin = await blobValidate(response);
+ let nt = new Date().getTime()
+ let filename = 'scods_'+nt+'.'+suffix
+ const blob = new Blob([response])
+ saveAs(blob, filename)
+ })
+ },
+ handleEdit()
+ {
+ this.dsb = false
+ this.btn = true
+ this.isShow=false
+ },
+
+//鑷畾涔変笂浼犳柟娉�
+ handleChange(file, fileList1) {
+ //瀹氫箟涓�涓叏灞�鏁扮粍uploadFileList鏉ュ仛瀛樺偍
+
+ // this.uploadFileList.push(file.raw);
+
+ },
+ //鑷畾涔変笂浼犳柟娉�
+
+ fileUpload(){
+ var formData = new FormData();
+ //this.$refs.upload1.submit();
+ // alert(this.uploadFileList1.length)
+ // formData.append('uploadFile', file);
+ if(this.uploadFileList1.length==0){
+ this.$modal.msgSuccess("鏂囨。涓婁紶鍒楄〃涓嶈兘涓虹┖锛�");
+ return}
+
+ this.uploadFileList1.forEach((elem)=>{
+ formData.append("files", elem)
+
+ })
+ console.log(this.uploadFileList1)
+ let _this = this
+
+ this.uploading = true;
+ uploadPic1(formData).then(response => {
+ _this.uploadFileList1 = []
+ // alert(_this.formData.id)
+ // alert(_this.formData.filePath)
+ _this.formData.filePath = _this.formData.filePath+","+response.fileNames
+ // alert( _this.formData.filePath )
+ updateFScan(_this.formData).then(response => {
+ this.$modal.msgSuccess("鏂囨。涓婁紶鎴愬姛");
+ // this.open = false;
+ _this.getData()
+ this.fileListOther1=[]
+ });
+ })
+},
+picUpload()
+ {
+ var formData = new FormData();
+ //this.$refs.upload.submit();
+ //alert(this.uploadFileList.length)
+ if(this.uploadFileList.length==0){
+ this.$modal.msgSuccess("鍥惧儚涓婁紶鍒楄〃涓嶈兘涓虹┖锛�");
+ return
+ }
+ this.uploadFileList.forEach((elem)=>{
+ formData.append("files", elem)
+ })
+ let _this = this
+ uploadPic1(formData).then(response => {
+ // console.log(response.originalFilenames)
+ // console.log(response.urls)
+ // console.log(response.fileNames)
+ // console.log(response.newFileNames)
+ // let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
+ // _this.uploading1= false;
+ // console.log(_this.fot.includes(pth))
+ // // debugger
+ // if(_this.fot.includes(pth) === true)
+ // {
+ // _this.fileList.push({name:response.data.fileName, "url":response.data.url})
+ // let ul = _this.fileList.map(function (elem){
+ // return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ // }).join(",")
+ // let uls = _this.fileListOther.map(function (elem){
+ // return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ // }).join(",")
+ //console.log(_this.fileList)
+ // alert(response.fileNames)
+
+ _this.formData.filePath = _this.formData.filePath+","+response.fileNames
+ _this.uploadFileList = []
+ // alert(87)
+ updateFScan(_this.formData).then(response => {
+ _this.$modal.msgSuccess("鍥剧墖涓婁紶鎴愬姛");
+ // this.open = false;
+ });
+ // }
+ // else{
+ // _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
+ // }
+ });
+ },
+ requestUpload(params)
+ {
+ // alert(123)
+ // this.uploadFileList1.push(params.file);
+ // console.log("-----------")
+ //console.log(this.uploadFileList1)
+ // var file = params.file;
+ // var formData = new FormData();
+
+ // formData.append('file', file);
+ // let _this = this
+
+ // uploadPic(formData).then(response => {
+ // console.log(response)
+
+ // //let pth = response.originalFilename.substr(response.originalFilename.length-4, response.originalFilename.length)
+ // _this.fileList1.push({name:response.fileName, url:response.fileName})
+ // console.log(_this.fileList1)
+ // // _this.fileList2.push({name:response.data.fileName, url:response.data.url})
+ // // alert(response.url)
+ // console("ok")
+ // })
+ },
+
+
+
+ }
+}
+
+</script>
+
+<style scoped>
+.app-container{
+ background-color: #FEF7FC;
+}
+.mt
+{
+ position: relative;
+}
+.dt{
+ display: block;
+
+}
+.hide /deep/ .el-upload--picture-card {
+ display: none;
+}
+.pt{
+ right: 10px;
+ top:-3px;
+ display: block;
+ position: absolute;
+}
+.form{
+ background:center/11% no-repeat url('../../assets/icons/form.png') ;
+}
+</style>
--
Gitblit v1.9.1