From fd9151c94a8fa297119e7618a132cd04f6ca580f Mon Sep 17 00:00:00 2001 From: lzhe <181968431@qq.com> Date: 星期日, 21 四月 2024 23:58:27 +0800 Subject: [PATCH] 1 --- src/views/mdc/status-record.vue | 195 +++++++++++++++++++++++++++++++++++++++++++++--- src/views/login/index.vue | 2 src/views/login/components/passwordForm.vue | 4 src/layout/components/NavMenu.vue | 27 +++++- 4 files changed, 206 insertions(+), 22 deletions(-) diff --git a/src/layout/components/NavMenu.vue b/src/layout/components/NavMenu.vue index c1b09ed..fc83c32 100644 --- a/src/layout/components/NavMenu.vue +++ b/src/layout/components/NavMenu.vue @@ -5,7 +5,12 @@ <template v-for="navMenu in navMenus" v-bind:key="navMenu"> <el-menu-item v-if="!hasChildren(navMenu)" :index="navMenu.path"> <a v-if="navMenu.meta&&navMenu.meta.type=='link'" :href="navMenu.path" target="_blank" @click.stop='()=>{}'></a> - <el-icon v-if="navMenu.meta&&navMenu.meta.icon"><component :is="navMenu.meta.icon || 'el-icon-menu'"/></el-icon> + <!-- <el-icon><Warning /></el-icon> --> + <el-icon> + <component v-if="icons.includes(navMenu.source)" :is="navMenu.source"/> + <component v-if="!icons.includes(navMenu.source)" :is="'TakeawayBox'"/> + <!-- <el-icon v-if="navMenu.meta&&navMenu.meta.icon"><component :is="navMenu.meta.icon || 'el-icon-menu'"/></el-icon> --> + </el-icon> <template #title> <span>{{navMenu.meta.title}}</span> <span v-if="navMenu.meta.tag" class="menu-tag">{{navMenu.meta.tag}}</span> @@ -13,7 +18,11 @@ </el-menu-item> <el-sub-menu v-else :index="navMenu.path"> <template #title> - <!-- <el-icon v-if="navMenu.meta&&navMenu.meta.icon"><component :is="navMenu.meta.icon || 'el-icon-menu'"/></el-icon> --> + <el-icon v-if="navMenu.parentId!='0' &&navMenu.meta&&navMenu.meta.icon"> + <component v-if="icons.includes(navMenu.source)" :is="navMenu.source"/> + <component v-if="!icons.includes(navMenu.source)" :is="'TakeawayBox'"/> + <!-- <component :is="navMenu.meta.icon || 'el-icon-menu'"/> --> + </el-icon> <span>{{navMenu.meta.title}}</span> <span v-if="navMenu.meta.tag" class="menu-tag">{{navMenu.meta.tag}}</span> </template> @@ -23,19 +32,29 @@ </template> <script> + import * as ElementPlusIconsVue from '@element-plus/icons-vue' + let icons = [] + for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + icons.push(key) + } export default { name: 'NavMenu', props: ['navMenus'], data() { - return {} + return { + icons + } }, + components: { + ...ElementPlusIconsVue + }, methods: { hasChildren(item) { return item.children && !item.children.every(item => item.meta.hidden) + //return item.parentId == '0'; } }, mounted(){ - } } </script> diff --git a/src/views/login/components/passwordForm.vue b/src/views/login/components/passwordForm.vue index ea84d84..380479c 100644 --- a/src/views/login/components/passwordForm.vue +++ b/src/views/login/components/passwordForm.vue @@ -140,10 +140,10 @@ menu: transformedArray, permissions: ["list.add", "list.edit", "list.delete", "user.add", "user.edit", "user.delete"] } - this.$TOOL.data.set("MENU", obj.menu) + this.$TOOL.data.set("MENU", obj.menu); + console.log(obj.menu,289) this.$TOOL.data.set("PERMISSIONS", obj.permissions) this.$TOOL.data.set("DASHBOARDGRID", obj.dashboardGrid) - console.log(transformedArray, 222) this.$router.replace({ path: '/' diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 6aeeb65..25d2ef2 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -80,7 +80,7 @@ <style scoped> .login_bg {width: 100%;height: 100%;background: #fff;display: flex;} - .login_adv {width: 100%;background-color: #555;background-size: cover;background-position: center center;background-repeat: no-repeat;position: relative;background-size: 100% 100%;} + .login_adv {width: 100%;background-color: #555;background-size: cover;background-position: center center;background-repeat: no-repeat;position: relative;} .login_adv__title {color: #fff;padding: 40px;position: absolute;top:0px;left:0px;right: 0px;z-index: 2;} .login_adv__title h2 {font-size: 40px;} .login_adv__title h4 {font-size: 18px;margin-top: 10px;font-weight: normal;} diff --git a/src/views/mdc/status-record.vue b/src/views/mdc/status-record.vue index 1715377..89ae316 100644 --- a/src/views/mdc/status-record.vue +++ b/src/views/mdc/status-record.vue @@ -1,24 +1,189 @@ -<!-- - * @Date: 2024-04-09 22:11:21 - * @LastEditors: Sneed - * @LastEditTime: 2024-04-13 22:15:52 - * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/status-record.vue - 鐘舵�佽褰� ---> <template> - <el-main> - <el-card shadow="never"> - 鏁堢巼鍒嗘瀽 + <div class="aposcope-main"> + <div class="aposcope-left"> + <div class="left-title">鏌ヨ鏉′欢</div> + <div>鏃ユ湡</div> + <!-- <el-date-picker + v-model="time" + type="datetimerange" + range-separator="-" + start-placeholder="" + end-placeholder="" /> + --> + <el-date-picker + v-model="time" + type="datetimerange" + :shortcuts="shortcuts" + range-separator="-" + start-placeholder="Start date" + end-placeholder="End date" + /> + + <!-- <el-date-picker value-format="YYYY-MM-DD" style="width: 250px" v-model="time" type="daterange" range-separator="-" start-placeholder="" end-placeholder="" /> --> + </div> + <div class="aposcope-right"> + </div> + </div> + <!-- <el-main style="height: 100%;"> + <el-card shadow="never" style="height: 100%;" body-style="height: 100%"> + <el-container style="height: 100%;"> + <el-aside width="300px" style="height: 100%;"> + <el-container> + <el-main class="nopadding"> + <el-row> + <el-col style="margin-top: 14px;">鏃ユ湡</el-col> + <el-col> + <el-date-picker value-format="YYYY-MM-DD" style="width: 250px" v-model="time" + type="daterange" range-separator="-" start-placeholder="" end-placeholder="" /> + </el-col> + </el-row> + <el-row style="margin-top: 14px;"> + 宸ヤ綅 + </el-row> + <MYTree v-model="treeChecked" show-checkbox></MYTree> + </el-main> + <el-footer> + <el-button @click="query">鏌ヨ</el-button> + <el-button>瀵煎嚭</el-button> + </el-footer> + </el-container> + </el-aside> + <el-container> + <el-main> + <el-tabs tab-position="top" v-model="activeName" type="card"> + <el-tab-pane label="鎸夌彮娆$粺璁�" name="shift"> + <Shift colname="浜ч噺" url="/api/blade-mdc/output" ref="shift" + v-if="activeName == 'shift'"> + </Shift> + </el-tab-pane> + <el-tab-pane label="鎸夋椂闂村懆鏈熺粺璁�" name="time"> + <Time url="/api/blade-mdc/output" ref="time" v-if="activeName == 'time'"> + + </Time> + </el-tab-pane> + </el-tabs> + </el-main> + </el-container> + </el-container> </el-card> - </el-main> + </el-main> --> </template> <script> - export default { - +import moment from 'moment'; +import MYTree from './MYTree.vue' +import Shift from './components/Shift.vue' +import Time from './components/Time.vue' + +export default { + components: { + time: "", + MYTree, + Shift, + Time, + shortcuts: [ + { + text: 'Last week', + value: () => { + const end = new Date() + const start = new Date() + start.setDate(start.getDate() - 7) + return [start, end] + }, + }, + { + text: 'Last month', + value: () => { + const end = new Date() + const start = new Date() + start.setMonth(start.getMonth() - 1) + return [start, end] + }, + }, + { + text: 'Last 3 months', + value: () => { + const end = new Date() + const start = new Date() + start.setMonth(start.getMonth() - 3) + return [start, end] + }, + }, + ] + }, + watch: { + activeName() { + this.$nextTick(() => { + this.query() + }) + + } + }, + data() { + return { + activeName: 'shift', + time: [], + treeChecked: [], + options: [ + { + label: '绋煎姩鐜�', + value: 'OEE', + }, + { + label: '鎶ヨ鐜�', + value: 'ALARM', + }, + { + label: '杩愯鐜�', + value: 'RUNNING', + }, + ] + } + }, + created() { + this.time = [moment().format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')] + }, + mounted() { + this.query() + }, + methods: { + query() { + // this.$refs[this.activeName].init({ + // endDate: this.time[1], + // startDate: this.time[0], + // shiftIndexList: [1, 2], + // workStationIdList: [...this.treeChecked] + // }) + } } +} </script> -<style lang="scss" scoped> - +<style scoped> +.aposcope-main { + display: flex; + min-height: 100%; + margin: 8px; +} +.aposcope-left { + width: 240px; + margin-right: 8px; + padding: 4px; + background-color: #fff; +} +.aposcope-right { + flex: 1; + padding: 8px; + background-color: #fff; +} +.left-title { + font-size: 16px; + text-align: center; + height: 38px; + line-height: 38px; + border-bottom: 1px solid #e2e2e2; + background-color: #409eff; + color: #fff; + border-radius: 2px 2px 0 0; +} </style> \ No newline at end of file -- Gitblit v1.9.3