flx:优化客户端下载进度提示
This commit is contained in:
parent
d16637bdbb
commit
91ca8b345f
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "zhgdyun",
|
||||
"version": "0.1.0",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "npm run dev",
|
||||
|
||||
@ -98,3 +98,12 @@ export const getDictionaryItemPageApi = (data) => get('/xmgl/dictionaryItem/page
|
||||
export const getDictionaryItemBackApi = (data) => post('/xmgl/dictionary/back', data)
|
||||
export const deleteDictionaryItemBackApi = (data) => post('/xmgl/dictionary/deletePhysic', data)
|
||||
export const batchDeleteDictionaryItemBackApi = (data) => post('/xmgl/dictionary/batch/delete', data)
|
||||
|
||||
// 获取最新版本信息
|
||||
export const addexeVersionApi = (data) => post('xmgl/exeVersion/add', data)
|
||||
export const deleteexeVersionApi = (data) =>
|
||||
post('xmgl/exeVersion/delete', data)
|
||||
export const editexeVersionApi = (data) => post('xmgl/exeVersion/edit', data)
|
||||
export const getexeVersionListApi = (data) => get('xmgl/exeVersion/list', data)
|
||||
export const getExeVersion = (data) => post('/xmgl/exeVersion/getExeVersion', data)
|
||||
|
||||
|
||||
@ -225,30 +225,30 @@ if (process.env.NODE_ENV == "development") {
|
||||
// axios.defaults.baseURL = 'http://192.168.34.221:28888/' //郭圣雄本地
|
||||
// axios.defaults.baseURL = 'http://192.168.34.221:28889/' //郭圣雄本地
|
||||
// axios.defaults.baseURL = 'http://192.168.34.221:28890/' //郭圣雄本地
|
||||
// axios.defaults.baseURL = 'http://192.168.34.221:19112/' //郭圣雄本地
|
||||
axios.defaults.baseURL = "http://192.168.34.221:9111/"; //郭圣雄本地
|
||||
// axios.defaults.baseURL = 'http://192.168.34.155:19111/' //彭洁本地
|
||||
// axios.defaults.baseURL = 'http://jxj.zhgdyun.com:51234/' //郭圣雄远程
|
||||
// axios.defaults.baseURL = 'http://jxj.zhgdyun.com:61212/' //彭洁远程
|
||||
// axios.defaults.baseURL ='http://101.43.164.214:45020/' //沈阳和盈
|
||||
// axios.defaults.baseURL ='http://183.249.224.118:9000/' //嘉兴王江泾公用码头
|
||||
// axios.defaults.baseURL = 'http://101.43.164.214:11111/' // 百色三标段项目
|
||||
// axios.defaults.baseURL = 'http://125.88.207.86:8088/'//中建四局线上(最新)地址
|
||||
// axios.defaults.baseURL = 'http://125.88.207.86:8099/'//中建四局(沙湖)线上(最新)地址
|
||||
// axios.defaults.baseURL = 'http://jxj.zhgdyun.com:15551/'//测试地址
|
||||
// axios.defaults.baseURL = 'http://47.93.215.234:9809/'//鞍钢正式地址(弃用)
|
||||
// axios.defaults.baseURL = 'http://42.180.188.17:9809/' //鞍钢正式地址
|
||||
// axios.defaults.baseURL = 'http://47.93.215.234:11211/'//鞍钢测试地址(弃用)
|
||||
// axios.defaults.baseURL = 'http://42.180.188.17:11211/' //鞍钢测试地址
|
||||
// axios.defaults.baseURL = 'http://8.136.222.164:8808/' //中科安信正式地址
|
||||
// axios.defaults.baseURL = 'http://1.13.185.209:9820/' //中科佳成正式地址
|
||||
// axios.defaults.baseURL = 'http://192.168.9.249:9820/' //四川网城正式地址
|
||||
// axios.defaults.baseURL = 'http://jxj.zhgdyun.com:34568/' //四川网城外网映射地址
|
||||
// axios.defaults.baseURL = 'http://192.168.110.220:9809/' //同济正式地址
|
||||
// axios.defaults.baseURL = 'http://192.168.100.4:9809/' //乌丹(合肥启程)新正式地址
|
||||
// axios.defaults.baseURL = "http://jxj.zhgdyun.com:18000/"; //包头化工
|
||||
// axios.defaults.baseURL = "http://219.147.96.219:9809/"; //包头化工
|
||||
// axios.defaults.baseURL = "http://192.168.3.9:39809/";
|
||||
axios.defaults.baseURL = 'http://jxj.zhgdyun.com:51238/' //郭圣雄本地
|
||||
// axios.defaults.baseURL = "http://192.168.34.221:9111/"; //郭圣雄本地
|
||||
// axios.defaults.baseURL = 'http://192.168.34.155:19111/' //彭洁本地
|
||||
// axios.defaults.baseURL = 'http://jxj.zhgdyun.com:51234/' //郭圣雄远程
|
||||
// axios.defaults.baseURL = 'http://jxj.zhgdyun.com:61212/' //彭洁远程
|
||||
// axios.defaults.baseURL ='http://101.43.164.214:45020/' //沈阳和盈
|
||||
// axios.defaults.baseURL ='http://183.249.224.118:9000/' //嘉兴王江泾公用码头
|
||||
// axios.defaults.baseURL = 'http://101.43.164.214:11111/' // 百色三标段项目
|
||||
// axios.defaults.baseURL = 'http://125.88.207.86:8088/'//中建四局线上(最新)地址
|
||||
// axios.defaults.baseURL = 'http://125.88.207.86:8099/'//中建四局(沙湖)线上(最新)地址
|
||||
// axios.defaults.baseURL = 'http://jxj.zhgdyun.com:15551/'//测试地址
|
||||
// axios.defaults.baseURL = 'http://47.93.215.234:9809/'//鞍钢正式地址(弃用)
|
||||
// axios.defaults.baseURL = 'http://42.180.188.17:9809/' //鞍钢正式地址
|
||||
// axios.defaults.baseURL = 'http://47.93.215.234:11211/'//鞍钢测试地址(弃用)
|
||||
// axios.defaults.baseURL = 'http://42.180.188.17:11211/' //鞍钢测试地址
|
||||
// axios.defaults.baseURL = 'http://8.136.222.164:8808/' //中科安信正式地址
|
||||
// axios.defaults.baseURL = 'http://1.13.185.209:9820/' //中科佳成正式地址
|
||||
// axios.defaults.baseURL = 'http://192.168.9.249:9820/' //四川网城正式地址
|
||||
// axios.defaults.baseURL = 'http://jxj.zhgdyun.com:34568/' //四川网城外网映射地址
|
||||
// axios.defaults.baseURL = 'http://192.168.110.220:9809/' //同济正式地址
|
||||
// axios.defaults.baseURL = 'http://192.168.100.4:9809/' //乌丹(合肥启程)新正式地址
|
||||
// axios.defaults.baseURL = "http://jxj.zhgdyun.com:18000/"; //包头化工
|
||||
// axios.defaults.baseURL = "http://219.147.96.219:9809/"; //包头化工
|
||||
axios.defaults.baseURL = "http://101.43.164.214:11000/";
|
||||
} else if (process.env.NODE_ENV == "debug") {
|
||||
axios.defaults.baseURL = "https://www.ceshi.com";
|
||||
} else if (process.env.NODE_ENV == "production") {
|
||||
@ -258,6 +258,7 @@ if (process.env.NODE_ENV == "development") {
|
||||
// axios.defaults.baseURL = "http://jxj.zhgdyun.com:18000/"; //包头化工
|
||||
// axios.defaults.baseURL = "http://219.147.96.219:9809/"; //包头化工(正式)
|
||||
axios.defaults.baseURL = "http://192.168.3.9:39809/"; //包头化工(内网)
|
||||
// axios.defaults.baseURL = 'http://jxj.zhgdyun.com:51238/'
|
||||
// axios.defaults.baseURL ='http://192.168.34.216:6023/'
|
||||
// axios.defaults.baseURL = window.location.protocol + "//" + host.split(":")[0] + ":6023" + "/"
|
||||
// axios.defaults.baseURL = 'http://zhgd.loganwy.com/`'
|
||||
|
||||
@ -88,6 +88,12 @@ const routes2 = [{
|
||||
component: () =>
|
||||
import ("../views/jxjadmin/operateManage.vue"),
|
||||
},
|
||||
{
|
||||
path: "/operateManagePc",
|
||||
name: "operateManagePc",
|
||||
component: () =>
|
||||
import ("../views/jxjadmin/operateManagePc.vue"),
|
||||
},
|
||||
//字典管理
|
||||
{
|
||||
path: "/dictionaryManaged",
|
||||
|
||||
@ -95,6 +95,9 @@ export default new Vuex.Store({
|
||||
// UNIVERURl: "http://219.147.96.219:20000/#/", // word|excel线上
|
||||
// PREVIEWURL: "http://219.147.96.221:8012/onlinePreview",
|
||||
|
||||
// UPLOADURL: 'http://jxj.zhgdyun.com:51238/upload/image/',
|
||||
// FILEURL: 'http://jxjzw.zhgdyun.com:9001/wisdomisitebaotou/',
|
||||
|
||||
// 内网
|
||||
UPLOADURL: 'http://192.168.3.9:39809' + "/upload/image", //包头化工
|
||||
// FILEURL: 'http://jxjzw.zhgdyun.com:9001/wisdomisitebaotouprod', //包头化工
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -510,6 +510,29 @@
|
||||
</el-form>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 添加卡片弹框 -->
|
||||
<el-dialog
|
||||
:destroy-on-close="true"
|
||||
:modal-append-to-body="false"
|
||||
title="下载智慧工地系统"
|
||||
:visible.sync="cardDialog2"
|
||||
class="dialog_w900"
|
||||
>
|
||||
<div class="dialog_content">
|
||||
<div class="percentage_title">
|
||||
{{ this.percentageTitle }}
|
||||
</div>
|
||||
<el-progress
|
||||
style="width: 100%"
|
||||
:percentage="percentage"
|
||||
></el-progress>
|
||||
<!-- <div class="dialog-footer">
|
||||
<el-button type="primary" icon="el-icon-circle-check" @click="getProgress" size="medium">{{
|
||||
$t("message.personnelPosition.determine") }}
|
||||
</el-button>
|
||||
</div> -->
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@ -524,7 +547,10 @@ import {
|
||||
newRegisterApi,
|
||||
jumpLargeUserInfoApi,
|
||||
} from "@/assets/js/api/loginSign";
|
||||
import { selectSystemLogoConfigApi } from "@/assets/js/api/jxjadmin";
|
||||
import {
|
||||
selectSystemLogoConfigApi,
|
||||
getExeVersion,
|
||||
} from "@/assets/js/api/jxjadmin";
|
||||
import { getProjectConfigPageApi } from "@/assets/js/api/configManage";
|
||||
import getcode from "@/components/getMsgCode";
|
||||
import { getOneComputerAuthApi } from "@/assets/js/api/loginSign";
|
||||
@ -532,12 +558,17 @@ import { selectNoticeRemindSoundApi } from "@/assets/js/api/configManage";
|
||||
import LoginInfo from "./components/loginInfo.vue";
|
||||
import axios from "axios";
|
||||
import CryptoJS, { MD5 } from "crypto-js";
|
||||
|
||||
import versionData from "../../../package.json";
|
||||
export default {
|
||||
name: "login",
|
||||
components: { getcode, LoginInfo },
|
||||
data() {
|
||||
return {
|
||||
percentage: 0,
|
||||
percentageTitle: "正在下载中,请稍后",
|
||||
cardDialog2: false,
|
||||
equipmentBgImg: "",
|
||||
|
||||
firstLoginDialog: false,
|
||||
isLoadingBtn: false,
|
||||
isShowContent: false,
|
||||
@ -708,7 +739,17 @@ export default {
|
||||
|
||||
// 打包客户端的时候要打开此注释,打包客户端的时候要打开此注释
|
||||
this.$nextTick(() => {
|
||||
this.$alert("请拔掉网线,使用局域网wife访问!!");
|
||||
// 检测Electron环境
|
||||
// this.$alert(versionData);
|
||||
console.log("Electron应用");
|
||||
if (
|
||||
window.__isElectron ||
|
||||
navigator.userAgent.includes("Electron") ||
|
||||
(typeof process !== "undefined" && process.versions?.electron)
|
||||
) {
|
||||
this.$alert("请拔掉网线,使用局域网wifi访问!");
|
||||
this.viewVersionInfo();
|
||||
}
|
||||
});
|
||||
|
||||
if (encryption) {
|
||||
@ -846,6 +887,104 @@ export default {
|
||||
// }
|
||||
// },
|
||||
methods: {
|
||||
viewVersionInfo() {
|
||||
console.log("进入页面调用", versionData);
|
||||
const { version } = versionData;
|
||||
//获取当前应用版本
|
||||
getExeVersion({}).then((res) => {
|
||||
if (res.result) {
|
||||
console.log("获取平台版本名称", res.result.versionName);
|
||||
let jxjAppVersionName = res.result.versionName;
|
||||
console.log("获取平台版本号", res.result.versionNo);
|
||||
let jxjAppVersionNo = res.result.versionNo;
|
||||
|
||||
if (res.result && jxjAppVersionNo !== version) {
|
||||
this.$confirm(
|
||||
"更新内容:" + res.result.versionDescribe,
|
||||
"版本更新",
|
||||
{
|
||||
confirmButtonText: "更新",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
}
|
||||
)
|
||||
.then(() => {
|
||||
console.log("用户点击确定");
|
||||
// var url = that.url_config + 'image/' + JSON.parse(res.result.downloadUrl)[0].url//地址拼错啦,直接返回的就是下载地址
|
||||
var url = JSON.parse(res.result.downloadUrl)[0]
|
||||
.url;
|
||||
console.log("apk地址", url);
|
||||
// this.$message.info(
|
||||
// "正在后台下载更新资源,请耐心等待......"
|
||||
// );
|
||||
// window.open(url, "_blank");
|
||||
this.cardDialog2 = true;
|
||||
this.getProgress(url);
|
||||
// window.open(url);
|
||||
})
|
||||
.catch(() => {
|
||||
console.log("用户点击取消");
|
||||
});
|
||||
} else {
|
||||
// this.$message.info("您已经是最新版本啦!");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
getProgress(rowUrl) {
|
||||
//进度条恢复为 0
|
||||
this.percentage = 0;
|
||||
//发起请求
|
||||
this.$http({
|
||||
//下载文件的远端地址。
|
||||
url: rowUrl,
|
||||
//请求方式 get post。
|
||||
method: "get",
|
||||
//设置返回数据类型为base64的数据,这样才可以被new Blob() 解析。
|
||||
responseType: "blob",
|
||||
//请求参数 get-->params post-->data 。
|
||||
params: {},
|
||||
//xml返回数据的钩子函数,可以用来获取数据的进度 具体可查看axios的官网
|
||||
onDownloadProgress: (progressEvent) => {
|
||||
//progressEvent.loaded 下载文件的当前大小
|
||||
//progressEvent.total 下载文件的总大小 如果后端没有返回 请让他加上!
|
||||
let progressBar = Math.round(
|
||||
(progressEvent.loaded / progressEvent.total) * 100
|
||||
);
|
||||
//接收进度为99%的时候需要留一点前端编译的时间
|
||||
if (progressBar >= 99) {
|
||||
this.percentage = 99;
|
||||
this.percentageTitle = "下载完成,文件正在编译。";
|
||||
} else {
|
||||
this.percentage = progressBar;
|
||||
this.percentageTitle = "正在下载,请耐心等待...";
|
||||
}
|
||||
},
|
||||
}).then((res) => {
|
||||
//当前定义res.message 出现的时候说明后端文件返回出现了问题 不然应该直接是个文件流
|
||||
if (res.status != 200) {
|
||||
this.percentageTitle = "下载失败,请重试。";
|
||||
return;
|
||||
}
|
||||
console.log(res.data);
|
||||
// return;
|
||||
// 创建一个下载链接
|
||||
const url = window.URL.createObjectURL(res.data);
|
||||
// 创建一个<a>元素
|
||||
const link = document.createElement("a");
|
||||
link.href = url;
|
||||
link.download = "智慧工地系统.exe"; // 指定下载文件的文件名
|
||||
// 模拟点击下载链接
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
document.body.removeChild(link);
|
||||
// 释放URL对象
|
||||
window.URL.revokeObjectURL(url);
|
||||
this.percentageTitle = "下载完成";
|
||||
//编译文件完成后,进度条展示为100%100
|
||||
this.percentage = 100;
|
||||
});
|
||||
},
|
||||
//首次登录修改密码提交
|
||||
savePassfirstLoginBtn() {
|
||||
this.$refs["passwordForm"].validate((valid) => {
|
||||
@ -1446,6 +1585,11 @@ export default {
|
||||
id: 9297,
|
||||
path: "/operateManage",
|
||||
},
|
||||
{
|
||||
menuName: "客户端版本管理",
|
||||
id: 9301,
|
||||
path: "/operateManagePc",
|
||||
},
|
||||
{
|
||||
menuName: "字典管理",
|
||||
id: 9298,
|
||||
|
||||
319
src/views/jxjadmin/operateManagePc.vue
Normal file
319
src/views/jxjadmin/operateManagePc.vue
Normal file
@ -0,0 +1,319 @@
|
||||
<template>
|
||||
<div class="fullHeight whiteBlock">
|
||||
<div class="table_wrap whiteBlock">
|
||||
<el-table class="tables" :data="tableData">
|
||||
<el-table-column type="index" align="center" label="序号"></el-table-column>
|
||||
<el-table-column prop="versionName" label="版本名称" align="center" :width="$fontSize(180)"></el-table-column>
|
||||
<el-table-column prop="versionNo" label="版本号" align="center" :width="$fontSize(180)"></el-table-column>
|
||||
<el-table-column prop="versionDescribe" label="版本描述" align="center" width="550px"></el-table-column>
|
||||
|
||||
<el-table-column prop="diffDay" label="客户端地址" align="center" width="500px">
|
||||
<template slot-scope="scope">
|
||||
<!-- <a href="">下载</a> -->
|
||||
<span @click="downloadFn(scope.row.downloadUrl)" class="hovers primaryText">下载</span>
|
||||
|
||||
<span @click="copyFn(scope.row)" class="hovers primaryText" style="margin-left: 20px">复制exe地址</span>
|
||||
<input id="copy_content" type="text" value="" style="position: absolute; top: 0; left: 0; opacity: 0; z-index: -10" />
|
||||
<span @click="previewFn(scope.row)" class="hovers primaryText" style="margin-left: 20px">预览二维码</span>
|
||||
<div id="qrcode" ref="qrCodeDiv" style="position: absolute; top: 0; left: 0; opacity: 0; z-index: -10" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="address" label="操作" align="center" width="410px">
|
||||
<template slot-scope="scope">
|
||||
<div @click="configuration(scope.row)" class="operationText">
|
||||
<img src="@/assets/images/icon-edit.png" class="w_15 h_15" />
|
||||
<span>更新版本</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<el-dialog :modal-append-to-body="false" title="更新版本" :visible.sync="authorizedDialog" class="dialog_w667">
|
||||
<div class="dialog_content">
|
||||
<el-form :model="ruleForm" :rules="rules" size="medium" ref="ruleForm" :label-width="$px2rem(100)" class="demo-ruleForm">
|
||||
<el-form-item label="版本名称" prop="versionName">
|
||||
<el-input v-model="ruleForm.versionName" placeholder="和版本号一致"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="版本号" prop="versionNo">
|
||||
<el-input v-model="ruleForm.versionNo" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="版本描述" prop="versionDescribe">
|
||||
<el-input type="textarea" v-model="ruleForm.versionDescribe" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="上传exe" prop="downloadUrl">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
name="files"
|
||||
:action="$store.state.UPLOADURL"
|
||||
:on-remove="handleRemove"
|
||||
:on-success="(res, file) => handleSuccess(res, file)"
|
||||
:limit="1"
|
||||
:file-list="fileList"
|
||||
>
|
||||
<el-button size="small" type="primary">点击上传</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="dialog-footer">
|
||||
<el-button class="cancleBtn" @click="authorizedDialog = false" icon="el-icon-circle-close" size="medium">取 消</el-button>
|
||||
<el-button type="primary" icon="el-icon-circle-check" @click="submitForm('ruleForm')" size="medium">确 定</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-image-viewer
|
||||
v-if="dialogInfo.showImgViewer"
|
||||
:on-close="closeImgViewer"
|
||||
:url-list="[dialogInfo.imgPreview]"
|
||||
:z-index="3000"
|
||||
:initial-index="dialogInfo.initialImgPreviewIndex"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getexeVersionListApi, editexeVersionApi } from '@/assets/js/api/jxjadmin.js';
|
||||
import QRCode from 'qrcodejs2';
|
||||
import { isJSON } from '@/util/nowDate';
|
||||
import ElImageViewer from 'element-ui/packages/image/src/image-viewer';
|
||||
export default {
|
||||
name: 'registerAudit',
|
||||
components: { ElImageViewer },
|
||||
data() {
|
||||
return {
|
||||
dialogInfo: {
|
||||
imgPreview: '',
|
||||
initialImgPreviewIndex: 0,
|
||||
showImgViewer: false
|
||||
},
|
||||
checkAll: false,
|
||||
isIndeterminate: false,
|
||||
cityOptions: [],
|
||||
moduleInfo: { moduleId: '' },
|
||||
companyArr: [],
|
||||
count: 0,
|
||||
|
||||
searchForm: {
|
||||
companyName: '',
|
||||
useState: ''
|
||||
},
|
||||
total: 0,
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
tableData: [],
|
||||
|
||||
checkList: [],
|
||||
authorizedDialog: false,
|
||||
isEnable: 0,
|
||||
time: '',
|
||||
ruleForm: {
|
||||
describe: '',
|
||||
downloadUrl: '',
|
||||
versionName: '',
|
||||
versionNo: ''
|
||||
},
|
||||
projectNum: 1,
|
||||
fileList: [],
|
||||
rules: {
|
||||
versionNo: [{ required: true, message: '请输入版本号', trigger: 'blur' }],
|
||||
downloadUrl: [{ required: true, message: '请上传exe', trigger: 'change' }]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getListData();
|
||||
},
|
||||
methods: {
|
||||
closeImgViewer() {
|
||||
this.dialogInfo.showImgViewer = false;
|
||||
},
|
||||
previewFn(row) {
|
||||
console.log('预览:', row);
|
||||
const url = isJSON(row.downloadUrl) && row.downloadUrl ? JSON.parse(row.downloadUrl)[0].url : '';
|
||||
if (url) {
|
||||
this.bindQRCode(this.$store.state.FILEURL + url);
|
||||
}
|
||||
},
|
||||
//生成 二维码
|
||||
bindQRCode(url) {
|
||||
document.getElementById('qrcode').innerHTML = '';
|
||||
// `${httpUrl}/doc/h5Entry/index.html?userId=${userId}&projectSn=${projectSn}`
|
||||
const qrCode = new QRCode(this.$refs.qrCodeDiv, {
|
||||
text: `${url}`,
|
||||
width: this.$fontSize(200),
|
||||
height: this.$fontSize(200),
|
||||
colorDark: '#333333', //二维码颜色
|
||||
colorLight: '#ffffff', //二维码背景色
|
||||
correctLevel: QRCode.CorrectLevel.L //容错率,L/M/H
|
||||
});
|
||||
const img = qrCode._el.querySelector('img');
|
||||
img.onload = () => {
|
||||
//注意这里一定要在img.onload()中取src,否则取到为null
|
||||
console.log('二维码:', qrCode._el.querySelector('img'), qrCode._el.querySelector('img').src);
|
||||
this.dialogInfo.imgPreview = qrCode._el.querySelector('img').src;
|
||||
console.log('二维码:', this.dialogInfo.imgPreview);
|
||||
if (this.dialogInfo.imgPreview) {
|
||||
console.log('二维码:', this.dialogInfo.imgPreview);
|
||||
this.dialogInfo.showImgViewer = true;
|
||||
}
|
||||
};
|
||||
},
|
||||
copyFn(item) {
|
||||
//获取点击的值
|
||||
// var clickContent = this.$store.state.FILEURL + JSON.parse(item.downloadUrl)[0].url
|
||||
var clickContent = JSON.parse(item.downloadUrl)[0].url;
|
||||
|
||||
// var clickContent = ElementObj.innerText;
|
||||
//获取要赋值的input的元素
|
||||
var inputElement = document.getElementById('copy_content');
|
||||
//给input框赋值
|
||||
inputElement.value = clickContent;
|
||||
//选中input框的内容
|
||||
inputElement.select();
|
||||
// 执行浏览器复制命令
|
||||
document.execCommand('Copy');
|
||||
//提示已复制
|
||||
alert('已复制');
|
||||
},
|
||||
downloadFn(val) {
|
||||
console.log('点击下载的数据:', val);
|
||||
if (val == '[]') {
|
||||
this.$message.error('未查询到附件');
|
||||
} else {
|
||||
let arr = [];
|
||||
arr = JSON.parse(val);
|
||||
arr.forEach(element => {
|
||||
const fileName = element.name.substring(0, element.name.lastIndexOf('.'));
|
||||
let url = this.$http.defaults.baseURL + 'xmgl/upload/getRenameFile?fileUrl=' + element.url + '&fileName=' + fileName;
|
||||
// console.log(url, fileName);
|
||||
window.location.href = url;
|
||||
});
|
||||
}
|
||||
// console.log('点击下载的数据:',item);
|
||||
// var url = this.$store.state.FILEURL+JSON.parse(item.downloadUrl)[0].url
|
||||
// window.open(url,'_blank')
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
this.fileList = fileList;
|
||||
},
|
||||
handleSuccess(res, file) {
|
||||
if (res.status == 'SUCCESS') {
|
||||
this.fileList.push({
|
||||
name: file.name,
|
||||
url: this.$store.state.FILEURL + file.response.data[0].imageUrl
|
||||
});
|
||||
this.ruleForm.downloadUrl = JSON.stringify(this.fileList);
|
||||
}
|
||||
},
|
||||
submitForm(formName) {
|
||||
this.$refs[formName].validate(valid => {
|
||||
if (valid) {
|
||||
// if(this.fileList.length==0){
|
||||
// this.$message.success('请上传exe')
|
||||
// return
|
||||
// }
|
||||
// this.ruleForm.downloadUrl=JSON.stringify(this.fileList)
|
||||
editexeVersionApi(this.ruleForm).then(res => {
|
||||
this.authorizedDialog = false;
|
||||
this.getListData();
|
||||
this.$message.success('更新成功!');
|
||||
});
|
||||
} else {
|
||||
console.log('error submit!!');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//获取列表数据
|
||||
getListData() {
|
||||
let data = {};
|
||||
// let data = this.searchForm;
|
||||
data.pageNo = this.pageNo;
|
||||
data.pageSize = this.pageSize;
|
||||
|
||||
getexeVersionListApi(data).then(res => {
|
||||
console.log(res);
|
||||
this.tableData = res.result.records;
|
||||
this.total = res.result.total;
|
||||
});
|
||||
},
|
||||
|
||||
resetForm() {
|
||||
this.$refs['searchForm'].resetFields();
|
||||
this.getListData();
|
||||
},
|
||||
|
||||
//显示 -- 授权配置弹窗
|
||||
configuration(item) {
|
||||
this.authorizedDialog = true;
|
||||
this.ruleForm = JSON.parse(JSON.stringify(item));
|
||||
this.fileList = JSON.parse(this.ruleForm.downloadUrl);
|
||||
// this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
|
||||
// confirmButtonText: '确定',
|
||||
// cancelButtonText: '取消',
|
||||
// type: 'warning'
|
||||
// }).then(() => {
|
||||
// this.$message({
|
||||
// type: 'success',
|
||||
// message: '删除成功!'
|
||||
// });
|
||||
// }).catch(() => {
|
||||
// this.$message({
|
||||
// type: 'info',
|
||||
// message: '已取消删除'
|
||||
// });
|
||||
// });
|
||||
},
|
||||
|
||||
//查看条数
|
||||
handleSizeChange(val) {
|
||||
this.pageSize = val;
|
||||
this.getListData();
|
||||
},
|
||||
//查看页
|
||||
handleCurrentChange(val) {
|
||||
this.pageNo = val;
|
||||
this.getListData();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.dialogTable {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
border: 1px solid #f5f4f5;
|
||||
margin: 0 auto;
|
||||
border-bottom: none;
|
||||
}
|
||||
.dialogTable:last-child {
|
||||
border-bottom: 1px solid #f5f4f5;
|
||||
}
|
||||
.dialogTable_l {
|
||||
width: 120px;
|
||||
text-align: center;
|
||||
}
|
||||
.dialogTable_r {
|
||||
width: 94%;
|
||||
padding: 5px 0;
|
||||
padding-left: 30px;
|
||||
border-left: 1px solid #f5f4f5;
|
||||
}
|
||||
.el-checkbox {
|
||||
width: 46%;
|
||||
margin: 10px 0;
|
||||
}
|
||||
.zdy-checkbox {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
> label {
|
||||
width: 30%;
|
||||
}
|
||||
}
|
||||
.CheckboxTitle {
|
||||
font-size: 14px;
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user