| | |
| | | <div class="width-new-line task-list" v-show="activeName === 'myAlgorithm'">
|
| | | <p class="src-title">算法软件</p>
|
| | | <div class="flex-list">
|
| | | <div class="wrap-box" v-for="item in ungradeList" :key="'upgrade'+item.id">
|
| | | <!-- <div class="wrap-box" v-for="item in ungradeList" :key="'upgrade'+item.id">
|
| | | <div class="list-choose-item-left">
|
| | | <div class="list-complete-item-handle">
|
| | | <div class="svg-wrap" :class="{willUpGrade:item.isUpgrade}">
|
| | | <div
|
| | | class="svg-wrap"
|
| | | :class="{willUpGrade:item.isUpgrade}"
|
| | | v-loading="item.upgradeLoading"
|
| | | :element-loading-text="item.progressMsg"
|
| | | element-loading-background="rgba(0,0,0,.8)"
|
| | | >
|
| | | <i class="iconfont iconupdate" v-if="item.isUpgrade"></i>
|
| | | <div class="mask">
|
| | | <div class="info-onmask">
|
| | |
| | | >升级</el-button>
|
| | | </div>
|
| | | </div>
|
| | |
|
| | | <!-- <div class="list-complete-item-handle"> -->
|
| | | <!-- <div class="svg-wrap" :class="{willUpGrade:item.isUpgrade}"> -->
|
| | | <img
|
| | | v-if="item.iconBlob"
|
| | | class="baseImg"
|
| | |
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | </div> -->
|
| | | <div class="wrap-box" v-for="(item) in installedList" :key="item.id">
|
| | | <div class="list-choose-item-left">
|
| | | <div class="list-complete-item-handle">
|
| | | <div class="svg-wrap">
|
| | | <div class="mask flex-center" v-if="!item.isEdit">
|
| | | <div
|
| | | class="svg-wrap"
|
| | | :class="{willUpGrade:item.isUpgrade}"
|
| | | v-loading="item.upgradeLoading"
|
| | | :element-loading-text="item.progressMsg"
|
| | | element-loading-background="rgba(0,0,0,.8)"
|
| | | >
|
| | | <!-- <div class="mask flex-center">
|
| | | <div class="info-onmask">
|
| | | <div>当前版本:{{item.version}}</div>
|
| | | </div>
|
| | | </div> -->
|
| | | <i class="iconfont iconupdate" v-if="item.isUpgrade"></i>
|
| | | <div class="mask" v-if="!item.isDefault || item.isUpgrade">
|
| | | <div class="info-onmask">
|
| | | <div>当前版本:{{item.version}}</div>
|
| | | <div v-if="item.remoteVersion">最新版本:{{item.remoteVersion}}</div>
|
| | | </div>
|
| | | <div class="mask-btn">
|
| | | <!-- <el-button
|
| | | v-if="!item.isDefault"
|
| | | @click="unLoad(item)"
|
| | | type="primary"
|
| | | size="small"
|
| | | class="bot-btn"
|
| | | >卸载</el-button> -->
|
| | | <el-button
|
| | | v-if="item.isUpgrade"
|
| | | @click="donwload(item)"
|
| | | type="warning"
|
| | | size="small"
|
| | | class="bot-btn"
|
| | | >升级</el-button>
|
| | | </div>
|
| | | </div>
|
| | | <img
|
| | |
| | | FileUploader
|
| | | },
|
| | | computed: {
|
| | | notInstalledList() {
|
| | | return this.sdkList.filter(sdk => {
|
| | | return sdk.installed === false;
|
| | | });
|
| | | },
|
| | | installedList() {
|
| | | return this.sdkList.filter(sdk => {
|
| | | return sdk.installed === true && !sdk.isUpgrade;
|
| | | });
|
| | | },
|
| | | ungradeList() {
|
| | | // 升级处理会导致重复的key,需要修改
|
| | | //return [];
|
| | | return this.sdkList.filter(sdk => {
|
| | | return sdk.isUpgrade === true;
|
| | | });
|
| | | },
|
| | | isAdmin() {
|
| | | // notInstalledList () {
|
| | | // return this.sdkList.filter(sdk => {
|
| | | // return sdk.installed === false;
|
| | | // });
|
| | | // },
|
| | | // installedList () {
|
| | | // return this.sdkList.filter(sdk => {
|
| | | // return sdk.installed === true && !sdk.isUpgrade;
|
| | | // });
|
| | | // },
|
| | | // ungradeList () {
|
| | | // // 升级处理会导致重复的key,需要修改
|
| | | // let arr = this.sdkList.filter(sdk => {
|
| | | // return sdk.isUpgrade === true;
|
| | | // });
|
| | | // arr.forEach(sdk => {
|
| | | // sdk.upgradeLoading = false;
|
| | | // });
|
| | | // return arr;
|
| | | // },
|
| | | isAdmin () {
|
| | | if (
|
| | | sessionStorage.getItem("userInfo") &&
|
| | | sessionStorage.getItem("userInfo") !== ""
|
| | |
| | | return false;
|
| | | },
|
| | | },
|
| | | data() {
|
| | | data () {
|
| | | return {
|
| | | sdkList: [],
|
| | | installedList: [],
|
| | | ungradeList: [],
|
| | | notInstalledList: [],
|
| | | buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [],
|
| | | activeName: "myAlgorithm",
|
| | | patchUpdateStatus: "",
|
| | |
| | | }
|
| | | }
|
| | | },
|
| | | mounted() {
|
| | | mounted () {
|
| | | // 获取所有应用
|
| | | this.getAllSdk();
|
| | | this.getAllApps();
|
| | |
| | | this.getUnActivedAppList();
|
| | | },
|
| | | methods: {
|
| | | isShow(authority) {
|
| | | isShow (authority) {
|
| | | return this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1
|
| | | },
|
| | | //离线安装
|
| | | offlineInstall() {
|
| | | offlineInstall () {
|
| | | this.installDialogVisible = false;
|
| | | this.isInstall = true;
|
| | | //安装
|
| | |
| | | });
|
| | | })
|
| | | },
|
| | | downloadApp(app, action) {
|
| | | downloadApp (app, action) {
|
| | | if (action == 'upgrade') {
|
| | | app.upgradeLoading = true;
|
| | | } else {
|
| | |
| | | this.appUpgreading = true;
|
| | | this.startAutoFresh();
|
| | | },
|
| | | async getAllApps() {
|
| | | async getAllApps () {
|
| | | let iArry = []
|
| | | let sArry = []
|
| | |
|
| | |
| | | this.storeApps = sArry;
|
| | | },
|
| | | //卸载应用
|
| | | unLoad(app) {
|
| | | unLoad (app) {
|
| | | app.unloadLoading = true;
|
| | | let _this = this;
|
| | | removeApp({ appId: app.id }).then(res => {
|
| | |
|
| | | if (res && res.success) {
|
| | | setTimeout(() => {
|
| | | app.unloadLoading = false;
|
| | | _this.getAllApps();
|
| | | window.parent.postMessage({
|
| | | msg: "AppUpdate"
|
| | | }, '*')
|
| | | }, 3000);
|
| | | //setTimeout(() => {
|
| | | app.unloadLoading = false;
|
| | | _this.getAllApps();
|
| | | window.parent.postMessage({
|
| | | msg: "AppUpdate"
|
| | | }, '*')
|
| | | //}, 3000);
|
| | | }
|
| | | }).catch(e => {
|
| | | console.log(e);
|
| | |
| | | // this.activeCode = '';
|
| | | // this.activedSdkOrApp = this.newActInfo()
|
| | | // },
|
| | | actSdkOrApp(id, type = 'sdk') {
|
| | | actSdkOrApp (id, type = 'sdk') {
|
| | | this.actType = type;
|
| | | this.actId = id;
|
| | | this.actDrawerShow = true;
|
| | |
| | | this.activeCode = '';
|
| | | this.activedSdkOrApp = this.newActInfo()
|
| | | },
|
| | | newActInfo() {
|
| | | newActInfo () {
|
| | | return {
|
| | | activateCode: '',
|
| | | productName: '',
|
| | |
| | | devIds: ''
|
| | | }
|
| | | },
|
| | | getUnActivedList() {
|
| | | getUnActivedList () {
|
| | | getUnActivedSdk().then(res => {
|
| | | if (res.code == 200) {
|
| | | this.unActivedSDKList = res.data;
|
| | |
| | | })
|
| | |
|
| | | },
|
| | | getUnActivedAppList() {
|
| | | getUnActivedAppList () {
|
| | | getUnActivedApp().then(res => {
|
| | | if (res.code == 200) {
|
| | | this.unActivedAppList = res.data;
|
| | | }
|
| | | });
|
| | | },
|
| | | actived() {
|
| | | actived () {
|
| | | let _this = this;
|
| | | if (this.actType == 'sdk') {
|
| | | //激活算法
|
| | |
| | | });
|
| | | }
|
| | | },
|
| | | getCodeDetail() { },
|
| | | checkMyAlgorith() {
|
| | | getCodeDetail () { },
|
| | | checkMyAlgorith () {
|
| | | this.actDrawerShow = false;
|
| | | this.activeName = "myAlgorithm";
|
| | | },
|
| | | onFileUpload(file) {
|
| | | onFileUpload (file) {
|
| | | //this.patchUpdateStatus = `<span style="color:green">上传成功, 点击升级按钮开始安装</span>`;
|
| | | this.patchFile = { ...file };
|
| | | this.fileAdded = true;
|
| | |
| | |
|
| | | },
|
| | |
|
| | | onFileAdded(f) {
|
| | | onFileAdded (f) {
|
| | | this.patchUpdateStatus = "";
|
| | | },
|
| | |
|
| | | async getAllSdk() {
|
| | | async getAllSdk () {
|
| | | let installedList = [];
|
| | | let unInstalledList = [];
|
| | | let res = await findAllSdk();
|
| | | if (res && res.success) {
|
| | | this.sdkList = res.data.map((i, index) => {
|
| | | this.$set(i, "isEdit", false);
|
| | | return i;
|
| | |
|
| | | res.data.forEach(item => {
|
| | | let obj = Object.assign({ unloadLoading: false, upgradeLoading: false }, item)
|
| | | if (obj.progressMsg !== "" && obj.progressMsg !== "已安装") {
|
| | | obj.upgradeLoading = true;
|
| | |
|
| | | this.appUpgreading = true;
|
| | | this.startAutoFresh();
|
| | | }
|
| | |
|
| | | //算法软件 已安装其中包含待升级 未安装
|
| | | item.installed ? installedList.push(obj) : unInstalledList.push(obj)
|
| | |
|
| | | });
|
| | |
|
| | |
|
| | | // this.sdkList = res.data.map((i, index) => {
|
| | | // if (i.progressMsg !== "" && i.progressMsg !== "已安装") {
|
| | | // i.upgradeLoading = true;
|
| | |
|
| | | // this.appUpgreading = true;
|
| | | // this.startAutoFresh();
|
| | | // }
|
| | | // this.$set(i, "isEdit", false);
|
| | | // return i;
|
| | | // });
|
| | | }
|
| | | this.installedList = installedList;
|
| | | this.notInstalledList = unInstalledList;
|
| | | },
|
| | |
|
| | | donwload(item) {
|
| | | this.downloading = true;
|
| | | donwload (item) {
|
| | | debugger
|
| | | item.upgradeLoading = true;
|
| | | //this.downloading = true;
|
| | | this.downloadItem = item.id;
|
| | |
|
| | | downloadSdk({ path: item.id })
|
| | |
| | | type: "success",
|
| | | message: "算法已安装"
|
| | | });
|
| | | this.downloading = false;
|
| | | item.upgradeLoading = false;
|
| | | //this.downloading = false;
|
| | | this.downloadItem = "";
|
| | | this.getAllSdk();
|
| | | })
|
| | |
| | | type: "warning",
|
| | | message: err.data
|
| | | });
|
| | |
|
| | | this.downloading = false;
|
| | | item.upgradeLoading = false;
|
| | | //this.downloading = false;
|
| | | this.downloadItem = "";
|
| | | });
|
| | | // 开启自动刷新
|
| | | this.appUpgreading = true;
|
| | | this.startAutoFresh();
|
| | | },
|
| | | inputBlur(item) {
|
| | | inputBlur (item) {
|
| | | // console.log(item, '修改名称')
|
| | | this.$set(item, "isEdit", false);
|
| | | },
|
| | | handleTabClick() {
|
| | | handleTabClick () {
|
| | |
|
| | | },
|
| | | startAutoFresh() {
|
| | | startAutoFresh () {
|
| | | if (this.freshTimer) {
|
| | | clearTimeout(this.freshTimer)
|
| | | }
|
| | |
| | | .src-title {
|
| | | //color: #bfbfbf;
|
| | | color: #bbcee8;
|
| | | font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC";
|
| | | font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC';
|
| | | font-weight: 650;
|
| | | font-style: normal;
|
| | | height: 36px;
|
| | |
| | | position: absolute;
|
| | | top: 50%;
|
| | | left: 50%;
|
| | | background: url("/images/algo/green.gif");
|
| | | background: url('/images/algo/green.gif');
|
| | | overflow: hidden;
|
| | | transform: translate(-50%, -50%);
|
| | | .inner-bar {
|
| | |
| | | }
|
| | | }
|
| | | .drawer-content {
|
| | | font-family: "PingFangSC-Regular";
|
| | | font-family: 'PingFangSC-Regular';
|
| | | .el-step__title.is-process {
|
| | | border-color: #3d68e1 !important;
|
| | | color: #3d68e1 !important;
|
| | | font-family: Tahoma, Helvetica, Arial, "\5B8B\4F53", sans-serif;
|
| | | font-family: Tahoma, Helvetica, Arial, '\5B8B\4F53', sans-serif;
|
| | | }
|
| | | .el-step__head.is-process {
|
| | | border-color: #3d68e1 !important;
|
| | | color: #3d68e1 !important;
|
| | | font-family: Tahoma, Helvetica, Arial, "\5B8B\4F53", sans-serif;
|
| | | font-family: Tahoma, Helvetica, Arial, '\5B8B\4F53', sans-serif;
|
| | | }
|
| | | .el-input {
|
| | | width: 100%;
|