From 6b467188a7175e0f5bdb4bb25da5a8ee064d2b4c Mon Sep 17 00:00:00 2001 From: lzhe <lzhe@example.com> Date: 星期四, 10 十月 2024 12:44:33 +0800 Subject: [PATCH] 1 --- src/views/console/soam/oss-system.vue | 270 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 227 insertions(+), 43 deletions(-) diff --git a/src/views/console/soam/oss-system.vue b/src/views/console/soam/oss-system.vue index 98c0e7a..deb4a79 100644 --- a/src/views/console/soam/oss-system.vue +++ b/src/views/console/soam/oss-system.vue @@ -2,7 +2,7 @@ * @Author: lzhe lzhe@example.com * @Date: 2024-03-26 10:28:33 * @LastEditors: lzhe lzhe@example.com - * @LastEditTime: 2024-05-07 21:09:02 + * @LastEditTime: 2024-09-30 10:10:59 * @FilePath: /smart-web/src/views/master/person/main/index.vue * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE --> @@ -36,7 +36,7 @@ </el-row> </el-form> </el-tab-pane> - <el-tab-pane label="浼佷笟LOGO"> + <!-- <el-tab-pane label="浼佷笟LOGO"> <div class="tabTitle">浼佷笟LOGO</div> <span class="logotitle">涓婁紶logo</span> <div class="logo1"> @@ -59,8 +59,8 @@ <ul class="show-list"> <li :class="{active: active.isA}" @click="changeLi('isA')"> <div class="edit" @click="editBtn('isA')">缂栬緫</div> - <div class="logo"> - <img src="http://116.63.155.153:83/api/static/images/cps.png"> + <div class="logo" style="background-color: seagreen;"> + CPS </div> <div class="content"> <div class="name">CPS</div> @@ -69,8 +69,8 @@ </li> <li :class="{active: active.isB}" @click="changeLi('isB')"> <div class="edit" @click="editBtn('isB')">缂栬緫</div> - <div class="logo"> - <img src="http://116.63.155.153:83/api/static/images/vision.png"> + <div class="logo" style="background-color: dodgerblue;"> + 澶у睆 </div> <div class="content"> <div class="name">澶у睆</div> @@ -79,8 +79,8 @@ </li> <li :class="{active: active.isC}" @click="changeLi('isC')"> <div class="edit" @click="editBtn('isC')">缂栬緫</div> - <div class="logo"> - <img src="http://116.63.155.153:83/api/static/images/hmi.png"> + <div class="logo" style="background-color: darkgoldenrod;"> + HMI </div> <div class="content"> <div class="name">HMI</div> @@ -128,7 +128,7 @@ </el-form-item> </el-form> </el-card> - </el-tab-pane> + </el-tab-pane> --> <el-tab-pane label="鎺堟潈"> <div class="tabTitle">鎺堟潈</div> <div class="license-detail"> @@ -139,32 +139,20 @@ <div><span class="left">璁惧鏍囪瘑锛�</span><span class="licenseCopy" @click="licenseCopy">澶嶅埗</span></div> </div> </el-tab-pane> - <el-tab-pane label="鏈嶅姟闆嗘垚"> + <!-- <el-tab-pane label="鏈嶅姟闆嗘垚"> <div class="tabTitle">鏈嶅姟闆嗘垚</div> <div class="card"> <div class="top"> <div class="title"> <img src="./logo.png" /> <span>浼佷笟寰俊</span> - <span class="taginfo" v-if="appType==1">宸插叧鑱�</span> + <span class="taginfo" v-if="outerData[0].status == 1">宸插叧鑱�</span> <div class="desc">CPS涓庝紒涓氬井淇″叧鑱旓紝鍗忎綔涓庢矡閫氭洿鍔犻珮鏁堛�傜粦瀹氬悗灏嗗悓姝ヤ紒涓氬井淇$殑浜哄憳鍚嶅崟鍜岀粍缁囨灦鏋勶紝骞跺厑璁告垚鍛樹娇鐢ㄤ紒涓氬井淇¤处鍙风櫥褰�</div> </div> - <el-button class="btn" @click="addOss(1)" v-if="appType!=1" :disabled="appType != 1">鍏宠仈</el-button> - <el-button class="btn" @click="addOss(2)" v-if="appType==1" :disabled="appType != 1" type="danger" plain>瑙g粦</el-button> + <el-button class="btn" @click="addOss(1)" v-if="outerData[0].status == 0" :disabled="outerData[1].status == 1">鍏宠仈</el-button> + <el-button class="btn" @click="relieve(1)" v-if="outerData[0].status == 1" type="danger" plain>瑙g粦</el-button> </div> - </div> - <div class="card"> - <div class="top"> - <div class="title"> - <img src="./logo.png"/> - <span >閽夐拤</span> - <span class="taginfo" v-if="appType==2">宸插叧鑱�</span> - <div class="desc">CPS涓庨拤閽夊叧鑱旓紝鍗忎綔涓庢矡閫氭洿鍔犻珮鏁堛�傜粦瀹氬悗灏嗗悓姝ラ拤閽夌殑浜哄憳鍚嶅崟鍜岀粍缁囨灦鏋勶紝骞跺厑璁告垚鍛樹娇鐢ㄩ拤閽夎处鍙风櫥褰�</div> - </div> - <el-button class="btn" @click="addOss(2)" v-if="appType!=2" :disabled="appType != 2">鍏宠仈</el-button> - <el-button class="btn" @click="addOss(2)" v-if="appType==2" :disabled="appType != 2" type="danger" plain>瑙g粦</el-button> - </div> - <div class="bottom"> + <div class="bottom" v-if="outerData[0].status == 1"> <div class="info"> <div class="img"> <el-icon><Monitor /></el-icon> @@ -172,16 +160,112 @@ <div class="info-right"> <div class="tag"> <div> 缁勭粐鏋舵瀯鍚屾</div> - <span>绔嬪嵆鍚屾</span> + <span @click="updataOss(1)">绔嬪嵆鍚屾</span> </div> - <div class="time">涓婃鍚屾鏃堕棿锛�-</div> + <div class="time">涓婃鍚屾鏃堕棿锛歿{licenseDetail.lastSyncTime || '-'}}</div> + </div> + </div> + </div> + </div> + <div class="card"> + <div class="top"> + <div class="title"> + <img src="./logo.png"/> + <span >閽夐拤</span> + <span class="taginfo" v-if="outerData[1].status == 1">宸插叧鑱�</span> + <div class="desc">CPS涓庨拤閽夊叧鑱旓紝鍗忎綔涓庢矡閫氭洿鍔犻珮鏁堛�傜粦瀹氬悗灏嗗悓姝ラ拤閽夌殑浜哄憳鍚嶅崟鍜岀粍缁囨灦鏋勶紝骞跺厑璁告垚鍛樹娇鐢ㄩ拤閽夎处鍙风櫥褰�</div> + </div> + <el-button class="btn" @click="addOss(2)" v-if="outerData[1].status == 0" :disabled="outerData[0].status == 1">鍏宠仈</el-button> + <el-button class="btn" @click="relieve(2)" type="danger" plain v-if="outerData[1].status == 1">瑙g粦</el-button> + </div> + <div class="bottom" v-if="outerData[1].status == 1"> + <div class="info"> + <div class="img"> + <el-icon><Monitor /></el-icon> + </div> + <div class="info-right"> + <div class="tag"> + <div> 缁勭粐鏋舵瀯鍚屾</div> + <span @click="updataOss(2)">绔嬪嵆鍚屾</span> + </div> + <div class="time">涓婃鍚屾鏃堕棿锛歿{licenseDetail.lastSyncTime || '-'}}</div> </div> </div> </div> </div> - </el-tab-pane> + </el-tab-pane> --> + <!-- <el-tab-pane label="DMP鏃ュ織"> + <div class="tabTitle">DMP鏃ュ織</div> + <el-form :inline="true" :model="DMPsearchData" label-width="80px"> + <el-row> + <el-col :span="6"> + <el-form-item label="璁惧"> + <el-select v-model="DMPsearchData.machineCode" style="width: 100%" @change="DMPsearchChange"> + <el-option v-for="item in machineCodeList" :key="item.id" :label="item.machineName" :value="item.id"/> + </el-select> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="閲囬泦椤�"> + <el-select v-model="DMPsearchData.affectedVariable" style="width: 100%" @change="DMPsearchChange"> + <el-option v-for="item in affectedVariableList" :key="item.code" :label="item.code" :value="item.code"/> + </el-select> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="閲囬泦鍊�"> + <el-input v-model="DMPsearchData.variableValue" placeholder="閲囬泦鍊�" clearable style="width: 100%" @change="DMPsearchChange"></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鏃堕棿鑼冨洿"> + <el-date-picker v-model="DMPsearchData.selectDate" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" align="right" value-format="YYYY-MM-DD HH:mm:ss" @change="dateChange" style="vertical-align: middle;width: 100%;"></el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div> + <div class="dict-table"> + <el-table ref="multipleTableRef" :data="DMPtableData" border style="width: 100%" class="multipleTableRef"> + <el-table-column prop="test" label="璁惧鍚嶇О"></el-table-column> + <el-table-column prop="test" label="璁惧缂栧彿"></el-table-column> + <el-table-column prop="test" label="閲囬泦椤�"></el-table-column> + <el-table-column prop="test" label="閲囬泦鍊�"></el-table-column> + <el-table-column prop="test" label="閲囬泦鐘舵��"></el-table-column> + <el-table-column prop="test" label="閲囬泦鏃堕棿"></el-table-column> + <el-table-column prop="test" label="绫诲瀷"></el-table-column> + <el-table-column fixed="right" label="鎿嶄綔"> + <template #default="scope"> + <el-button text type="primary" size="small" @click="showDrawer(scope.row, scope.$index)">锛燂紵</el-button> + </template> + </el-table-column> + </el-table> + </div> + </div> + <el-pagination + style="margin-top: 12px;" + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :page-sizes="[15, 50, 100]" + :page-size="15" + layout="total, sizes, prev, pager, next, jumper" + :total="DMPsearchData.total"> + </el-pagination> + </el-tab-pane> --> </el-tabs> <save-dialog v-if="dialog.save" ref="saveDialog" @success="addOssSuccess" @closed="dialog.save=false"></save-dialog> + <!-- 瑙g粦 --> + <el-dialog v-model="relieveModel" :width="500"> + <el-icon class="relieveModelIcon"><Warning /></el-icon> + <div class="relieveModelTip"> + <p>瑙i櫎缁戝畾鍚庯紝鎮ㄥ皢涓嶈兘閫氳繃閽夐拤缁存姢鏁版嵁銆�</p> + <p>濡傛灉纭畾瑙g粦璇风偣鍑烩�滅珛鍗宠В缁戔�濓紝鍚﹀垯璇风偣鍑烩�滃彇娑堚�濄��</p> + </div> + <template #footer> + <el-button @click="relieveModel=false" >鍙栨秷</el-button> + <el-button :loading="relieveModelSaveing" type="danger" plain @click="relieveModelSave">绔嬪嵆瑙g粦</el-button> + </template> + </el-dialog> </div> </template> @@ -196,7 +280,11 @@ name: "oss-main", data(){ return { - appType: "", + DMPtableData: [], + relieveType: "", + outerData: [{status: 0},{status: 0}], //鏈嶅姟闆嗘垚 + relieveModelSaveing: false, + relieveModel: false, dialog: { save: false }, @@ -210,6 +298,19 @@ CPS: "" } }, + DMPsearchData: { + machineCode: "", + affectedVariable: "", + variableValue: "", + startTime: "", + endTime: "", + current: 1, + size: 15, + total: 0, + selectDate: [] + }, + machineCodeList: [], + affectedVariableList: [], uploadData: {}, logoType: "0", authorization: {Authorization: "Basic c2FiZXI6c2FiZXJfc2VjcmV0"}, @@ -248,23 +349,83 @@ this.getFile(); //浼佷笟logo this.license(); //鎺堟潈 this.outer(); //鏈嶅姟闆嗘垚 + this.getlog(); //DMP鏃ュ織 + this.getMachineCodeList(); //DMP鏃ュ織 }, methods: { + getMachineCodeList() { + this.$HTTP.get(`/api/blade-cps/machine/list`).then(res=> { + if(res.code == 200) { + this.machineCodeList = res.data; + this.outer(); //鏈嶅姟闆嗘垚 + } + }) + }, + dateChange(val) { + this.DMPsearchData.startTime = val[0]; + this.DMPsearchData.endTime = val[1]; + this.getlog(); + }, + DMPsearchChange() { + this.getlog(); + }, + getlog() { + var obj = Object.assign({},this.DMPsearchData); + this.$HTTP.post(`/api/blade-dmp-log/log/page?current=${this.DMPsearchData.current}&size=${this.DMPsearchData.size}`,obj).then(res=> { + if(res.code == 200) { + this.DMPtableData = res.data.records; + this.DMPsearchData.total = res.data.total; + } + }) + }, + relieveModelSave(type) { //瑙g粦 + this.$HTTP.get(`/api/blade-sync/outer-app-config/unbind/${this.relieveType}`).then(res=> { + if(res.code == 200) { + this.$message.success("鎿嶄綔鎴愬姛"); + this.relieveModel = false; + this.outer(); //鏈嶅姟闆嗘垚 + } + }) + }, + relieve(type) { //瑙g粦 + this.relieveModel = true; + this.relieveType = type; + }, + updataOss(type) { + if(type == 1) { + var url = "/api/blade-sync/wechat/sync"; + var methods = "post"; + } + if(type == 2) { + var url = "/api/blade-sync/ding-sync/sync-immediately"; + var methods = "get"; + } + this.$HTTP[methods](url).then(res=> { + if(res.code == 200) { + this.dialog.save = true + this.$nextTick(() => { + this.$refs.saveDialog.open(type,res.data,'updata'); + }) + } + }) + }, outer() { this.$HTTP.get("/api/blade-sync/outer-app-config/list").then(res=> { if(res.code == 200) { - this.appType = res.data[0].appType; + res.data.forEach(item=> { + this.outerData[item.appType - 1] = item; + }) } }) }, addOss(type) { this.dialog.save = true this.$nextTick(() => { - this.$refs.saveDialog.open(type); + this.$refs.saveDialog.open(type,this.outerData,'add'); }) }, addOssSuccess() { - + this.outer(); //鏈嶅姟闆嗘垚 }, licenseCopy() { // 澶嶅埗鍒板壀璐存澘 @@ -430,7 +591,18 @@ this.ossForm = res.data; } }) - } + }, + handleSizeChange(val) { + console.log(`姣忛〉 ${val} 鏉); + this.DMPsearchData.current = "1"; + this.DMPsearchData.size = val; + this.getlog(); + }, + handleCurrentChange(val) { + console.log(`褰撳墠椤�: ${val}`); + this.DMPsearchData.current = val; + this.getlog(); + } } } </script> @@ -475,16 +647,18 @@ top: 18px; right: 16px; font-size: 14px; - color: #3b8e8e; + color: #409eff; } .show-list li .logo { width: 66px; height: 66px; margin-right: 14px; -} -.show-list li .logo img{ - width: 66px; - height: 66px; + color: #fff; + font-size: 18px; + text-align: center; + line-height: 66px; + border-radius: 6px; + font-weight: 800; } .show-list li .lcontent .name{ font-weight: 700; @@ -614,8 +788,8 @@ top: 20px; } .card .top .title .taginfo { - color: #3b8e8e; - border: 1px solid #3b8e8e; + color: #409eff; + border: 1px solid #409eff; border-radius: 4px; font-size: 14px; margin-left: 10px; @@ -632,7 +806,7 @@ padding: 20px; } .card .bottom .info .img { - background-color: #3b8e8e; + background-color: #409eff; border-radius: 6px; display: flex; justify-content: center; @@ -659,7 +833,7 @@ font-size: 14px; } .card .bottom .info .info-right .tag span{ - color: #3b8e8e; + color: #409eff; cursor: pointer; padding: 0 !important; min-height: 14px !important; @@ -669,4 +843,14 @@ color: #bbb; font-size: 14px; } +.relieveModelIcon { + color: red; + font-size: 16px; + margin-right: 8px; + vertical-align: -3px; + vertical-align: top; +} +.relieveModelTip { + display: inline-block; +} </style> -- Gitblit v1.9.3