From b43d75fee8cd67df67025029431c3295a0619f12 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期二, 26 三月 2024 22:44:06 +0800
Subject: [PATCH] 暂存
---
src/views/basicdata/machine/workstation.vue | 138 ++++++++++++++++++++++++++++++---
src/api/model/system.js | 7 +
src/main.js | 6 +
src/App.vue | 87 ++++++++++++++-------
src/api/model/basicdata.js | 2
5 files changed, 194 insertions(+), 46 deletions(-)
diff --git a/src/App.vue b/src/App.vue
index ed73c22..d131e70 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,3 +1,9 @@
+<!--
+ * @Date: 2024-03-23 09:49:06
+ * @LastEditors: gaoshp
+ * @LastEditTime: 2024-03-26 21:41:35
+ * @FilePath: /cps-web/src/App.vue
+-->
<template>
<el-config-provider :locale="locale" :size="config.size" :zIndex="config.zIndex" :button="config.button">
<router-view></router-view>
@@ -5,42 +11,63 @@
</template>
<script>
- import colorTool from '@/utils/color'
+import colorTool from '@/utils/color'
- export default {
- name: 'App',
- data() {
- return {
- config: {
- size: "default",
- zIndex: 2000,
- button: {
- autoInsertSpace: false
- }
- }
- }
- },
- computed: {
- locale(){
- return this.$i18n.messages[this.$i18n.locale].el
- },
- },
- created() {
- //璁剧疆涓婚棰滆壊
- const app_color = this.$CONFIG.COLOR || this.$TOOL.data.get('APP_COLOR')
- if(app_color){
- document.documentElement.style.setProperty('--el-color-primary', app_color);
- for (let i = 1; i <= 9; i++) {
- document.documentElement.style.setProperty(`--el-color-primary-light-${i}`, colorTool.lighten(app_color,i/10));
- }
- for (let i = 1; i <= 9; i++) {
- document.documentElement.style.setProperty(`--el-color-primary-dark-${i}`, colorTool.darken(app_color,i/10));
+export default {
+ name: 'App',
+ data() {
+ return {
+ config: {
+ size: "default",
+ zIndex: 2000,
+ button: {
+ autoInsertSpace: false
}
}
}
+ },
+ computed: {
+ locale() {
+ return this.$i18n.messages[this.$i18n.locale].el
+ },
+ },
+ created() {
+ //璁剧疆涓婚棰滆壊
+ const app_color = this.$CONFIG.COLOR || this.$TOOL.data.get('APP_COLOR')
+ if (app_color) {
+ document.documentElement.style.setProperty('--el-color-primary', app_color);
+ for (let i = 1; i <= 9; i++) {
+ document.documentElement.style.setProperty(`--el-color-primary-light-${i}`, colorTool.lighten(app_color, i / 10));
+ }
+ for (let i = 1; i <= 9; i++) {
+ document.documentElement.style.setProperty(`--el-color-primary-dark-${i}`, colorTool.darken(app_color, i / 10));
+ }
+ }
+ },
+ mounted() {
+ const debounce = (fn, delay) => {
+ let timer
+ return (...args) => {
+ if (timer) {
+ clearTimeout(timer)
+ }
+ timer = setTimeout(() => {
+ fn(...args)
+ }, delay)
+ }
+ }
+
+ const _ResizeObserver = window.ResizeObserver;
+ window.ResizeObserver = class ResizeObserver extends _ResizeObserver {
+ constructor(callback) {
+ callback = debounce(callback, 200);
+ super(callback);
+ }
+ }
}
+}
</script>
<style lang="scss">
- @import '@/style/style.scss';
+@import '@/style/style.scss';
</style>
diff --git a/src/api/model/basicdata.js b/src/api/model/basicdata.js
index e21493e..e19f919 100644
--- a/src/api/model/basicdata.js
+++ b/src/api/model/basicdata.js
@@ -1,7 +1,7 @@
/*
* @Date: 2024-03-24 11:37:47
* @LastEditors: gaoshp
- * @LastEditTime: 2024-03-24 14:30:13
+ * @LastEditTime: 2024-03-26 19:40:37
* @FilePath: /cps-web/src/api/model/basicdata.js
*/
import config from "@/config"
diff --git a/src/api/model/system.js b/src/api/model/system.js
index b739d74..a795fc9 100644
--- a/src/api/model/system.js
+++ b/src/api/model/system.js
@@ -39,6 +39,13 @@
get: async function(params){
return await http.get(this.url, params);
}
+ },
+ getDic: {
+ url: `${config.API_URL}/blade-system/dict/dictionary`,
+ name: "鑾峰彇瀛楀吀鏁版嵁",
+ get: async function(params){
+ return await http.get(this.url, params);
+ }
}
},
role: {
diff --git a/src/main.js b/src/main.js
index afb5fc4..8c523ef 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,3 +1,9 @@
+/*
+ * @Date: 2024-03-23 09:49:06
+ * @LastEditors: gaoshp
+ * @LastEditTime: 2024-03-26 21:40:32
+ * @FilePath: /cps-web/src/main.js
+ */
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
diff --git a/src/views/basicdata/machine/workstation.vue b/src/views/basicdata/machine/workstation.vue
index 53d10bc..a656538 100644
--- a/src/views/basicdata/machine/workstation.vue
+++ b/src/views/basicdata/machine/workstation.vue
@@ -65,15 +65,79 @@
</el-button-group>
</template>
</el-table-column>
-
</scTable>
</el-main>
</el-container>
</el-container>
</el-tab-pane>
-
+ <!-- 宸ヤ綅缁� -->
<el-tab-pane label="宸ヤ綅缁�" name="2">
-
+ <el-container>
+ <el-aside width="200px" v-loading="showGrouploading">
+ <el-container>
+ <el-main class="nopadding">
+ <el-tree ref="group" class="menu" node-key="id" :data="group"
+ :current-node-key="treeCheckKey"
+ :highlight-current="true"
+ :expand-on-click-node="false"
+ :check-on-click-node="true"
+ :default-expanded-keys="[1]"
+ :filter-node-method="groupFilterNode"
+ @node-click="groupClick"></el-tree>
+ </el-main>
+ </el-container>
+ </el-aside>
+ <el-container>
+ <el-header>
+ <div class="left-panel">
+ <el-button type="primary" plain>鏂板涓嬬骇</el-button>
+ <el-button v-show="!['1','101'].includes(treeCheckedNode.id)" type="danger" plain>鍒犻櫎</el-button>
+ </div>
+ </el-header>
+ <el-main class="">
+ <ul class="show-info" v-show="['1','101'].includes(treeCheckedNode.id)">
+ <li>鍚嶇О: {{treeCheckedNode.name}}</li>
+ <li>鎺掑簭: {{treeCheckedNode.sort}}</li>
+ <li>澶囨敞: {{treeCheckedNode.remark}}</li>
+ </ul>
+ <el-form v-show="beltline_type.map(item => item.dictKey).includes(treeCheckedNode.groupTag)" :model="form" :rules="rules" ref="dialogForm" label-width="200px"
+ label-position="left">
+ <el-form-item label="浜х嚎鏍囩" prop="meta.title">
+ <el-input v-model="form.meta.title" clearable placeholder="宸ヤ綅缁勫悕绉�"></el-input>
+ </el-form-item>
+ <el-form-item label="浜х嚎鍚嶇О" prop="meta.title">
+ <el-input v-model="form.meta.title" clearable placeholder="宸ヤ綅缁勫悕绉�"></el-input>
+ </el-form-item>
+ <el-form-item label="浜х嚎鎺掑簭" prop="meta.title">
+ <el-input v-model="form.meta.title" clearable placeholder="宸ヤ綅缁勫悕绉�"></el-input>
+ </el-form-item>
+ <el-form-item label="澶囨敞" prop="meta.title">
+ <el-input v-model="form.meta.title" clearable placeholder="宸ヤ綅缁勫悕绉�"></el-input>
+ </el-form-item>
+ </el-form>
+ <ul v-show="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag)">
+ <li>浜х嚎鍚嶇О:鍗冩枃绉戞妧</li>
+ <li>浜х嚎鏍囩:鏌旀�т骇绾�</li>
+ <li>澶囨敞:</li>
+ </ul>
+ <el-form v-show="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag)" :model="form" :rules="rules" ref="dialogForm" label-width="200px"
+ label-position="left">
+ <el-form-item label="宸ヤ綅缁勫悕绉�" prop="meta.title">
+ <el-input v-model="form.meta.title" clearable placeholder="宸ヤ綅缁勫悕绉�"></el-input>
+ </el-form-item>
+ <el-form-item label="宸ヤ綅缁勬帓搴�" prop="meta.title">
+ <el-input v-model="form.meta.title" clearable placeholder="宸ヤ綅缁勫悕绉�"></el-input>
+ </el-form-item>
+ <el-form-item label="宸ヤ綅缁勬爣绛�" prop="meta.title">
+ <el-input v-model="form.meta.title" clearable placeholder="宸ヤ綅缁勫悕绉�"></el-input>
+ </el-form-item>
+ <el-form-item label="澶囨敞" prop="meta.title">
+ <el-input v-model="form.meta.title" clearable placeholder="宸ヤ綅缁勫悕绉�"></el-input>
+ </el-form-item>
+ </el-form>
+ </el-main>
+ </el-container>
+ </el-container>
</el-tab-pane>
</el-tabs>
@@ -86,20 +150,56 @@
name: 'system',
data() {
return {
- activeName: '1',
+ showGrouploading: false,
+ options: [],
+ activeName: '2',
group: [],
- groupFilterText: ''
+ groupFilterText: '',
+ // --------
+ form: {
+ meta: {
+
+ }
+ },
+ rules: {},
+ treeCheckedNode: {},
+ treeCheckKey: [],
+ beltline_type: [],
+ group_tag: []
+ }
+ },
+ watch: {
+ activeName () {
+ this.queryList()
}
},
created() {
- this.$API.basicdata.getWorkstationGroup.get().then(res => {
- if (res.code == 200) {
- let data = this.formatData(res.data)
- this.group = data
- }
- })
+ this.init()
+ this.queryList()
},
methods: {
+ init () {
+ this.$API.system.dic.getDic.get({code: 'beltline_type'}).then(res => {
+ this.beltline_type = res.data
+ })
+ this.$API.system.dic.getDic.get({code: 'group_tag'}).then(res => {
+ this.group_tag = res.data
+ })
+
+ },
+ queryList () {
+ this.showGrouploading = true
+ this.$API.basicdata.getWorkstationGroup.get().then(res => {
+ if (res.code == 200) {
+ let parent = res.data.filter(item => item.parentId == 0)[0]
+ this.treeCheckedNode = parent
+ this.treeCheckKey = parent.id
+ let data = this.formatData(res.data)
+ this.group = data
+ this.showGrouploading = false
+ }
+ })
+ },
formatData(data, current) {
let newData = []
if (!current) {
@@ -110,7 +210,9 @@
} else {
let res = data.filter(v => v.parentId === current.id)
res = res.map(item => {
- item.children = this.formatData(data, item)
+ item.children = this.formatData(data, item).sort((a,b) => {
+ return a.sort - b.sort
+ })
return item
})
return res
@@ -120,8 +222,9 @@
groupFilterNode() {
},
- groupClick() {
-
+ groupClick(node) {
+ console.log(node)
+ this.treeCheckedNode = node
},
table_add() {
var newRow = {
@@ -146,4 +249,9 @@
}
</script>
-<style></style>
+<style scoped>
+.show-info {
+ list-style: none;
+ font-size: 14px;
+}
+</style>
--
Gitblit v1.9.3