From f7ba7210f90f1f311c4c9f42b617bfa247697119 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期三, 27 三月 2024 21:14:45 +0800
Subject: [PATCH] 对接工位组接口
---
src/utils/request.js | 2
src/views/basicdata/machine/workstation.vue | 129 +++++++++++++++++++++++++++++++++++--------
src/api/model/basicdata.js | 12 +++
src/assets/pms.png | 0
4 files changed, 117 insertions(+), 26 deletions(-)
diff --git a/src/api/model/basicdata.js b/src/api/model/basicdata.js
index bac83fc..791e1bc 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-26 23:48:08
+ * @LastEditTime: 2024-03-27 20:46:02
* @FilePath: /cps-web/src/api/model/basicdata.js
*/
import config from "@/config"
@@ -20,6 +20,16 @@
name: "淇濆瓨宸ヤ綅缁�",
put: async function(params){
return await http.put(this.url, params);
+ },
+ post: async function(params){
+ return await http.post(this.url, params);
+ },
+ },
+ deleteWorkGroup: {
+ url: `${config.API_URL}/blade-cps/workstation/deleteGroup`,
+ name: "鍒犻櫎宸ヤ綅缁�",
+ delete: async function(params){
+ return await http.delete(this.url, params);
}
}
}
\ No newline at end of file
diff --git a/src/assets/pms.png b/src/assets/pms.png
new file mode 100644
index 0000000..164361a
--- /dev/null
+++ b/src/assets/pms.png
Binary files differ
diff --git a/src/utils/request.js b/src/utils/request.js
index 2af92ce..d505ec7 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -204,7 +204,7 @@
axios({
method: 'delete',
url: url,
- data: data,
+ params: data,
...config
}).then((response) => {
resolve(response.data);
diff --git a/src/views/basicdata/machine/workstation.vue b/src/views/basicdata/machine/workstation.vue
index ba05791..d113566 100644
--- a/src/views/basicdata/machine/workstation.vue
+++ b/src/views/basicdata/machine/workstation.vue
@@ -77,22 +77,73 @@
<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"
+ :current-node-key="treeCheckKey"
+ :highlight-current="true"
+ :expand-on-click-node="false"
+ :check-on-click-node="true"
+ :default-expanded-keys="[1]"
+ :render-content="renderContent"
+ :filter-node-method="groupFilterNode"
@node-click="groupClick"></el-tree>
</el-main>
</el-container>
</el-aside>
<el-container>
- <el-header>
+ <el-main class="" v-show="addGroupShow">
+ <el-form
+ v-show="treeCheckedNode.id == 1"
+ :model="form" :rules="rules" ref="dialogForm" label-width="200px"
+ label-position="left">
+ <el-form-item label="浜х嚎鏍囩" prop="groupTag">
+ <el-select v-model="form.groupTag" clearable placeholder="浜х嚎鏍囩"
+ style="width: 240px">
+ <el-option v-for="item in beltline_type" :key="item.dictKey"
+ :label="item.dictValue" :value="item.dictKey" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="浜х嚎鍚嶇О" prop="name">
+ <el-input style="width: 240px" v-model="form.name" clearable
+ placeholder="浜х嚎鍚嶇О"></el-input>
+ </el-form-item>
+ <el-form-item label="浜х嚎鎺掑簭" prop="sort">
+ <el-input-number v-model="form.sort" :min="0" :max="10" />
+ </el-form-item>
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input type="textarea" style="width: 240px" v-model="form.remark" clearable
+ placeholder="澶囨敞"></el-input>
+ </el-form-item>
+ </el-form>
+ <el-form v-show="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag) || beltline_type.map(item => item.dictKey).includes(treeCheckedNode.groupTag) || treeCheckedNode.id == 101"
+ :model="form" :rules="rules" ref="dialogForm" label-width="200px"
+ label-position="left">
+ <el-form-item label="宸ヤ綅缁勬爣绛�" prop="groupTag">
+ <el-select v-model="form.groupTag" clearable placeholder="宸ヤ綅缁勬爣绛�"
+ style="width: 240px">
+ <el-option v-for="item in group_tag" :key="item.dictKey"
+ :label="item.dictValue" :value="item.dictKey" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="宸ヤ綅缁勫悕绉�" prop="name">
+ <el-input style="width: 240px" v-model="form.name" clearable
+ placeholder="宸ヤ綅缁勫悕绉�"></el-input>
+ </el-form-item>
+ <el-form-item label="宸ヤ綅缁勬帓搴�" prop="sort">
+ <el-input-number v-model="form.sort" :min="0" :max="10" />
+ </el-form-item>
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input type="textarea" style="width: 240px" v-model="form.remark" clearable
+ placeholder="澶囨敞"></el-input>
+ </el-form-item>
+ </el-form>
+ </el-main>
+ <el-header v-show="!addGroupShow">
<div class="left-panel">
- <el-button type="primary" plain>鏂板涓嬬骇</el-button>
- <el-button v-show="!['1', '101'].includes(treeCheckedNode.id)" type="danger"
+ <el-button @click="addChild" type="primary" plain>鏂板涓嬬骇</el-button>
+ <el-button @click="deleteWorkGroup" v-show="!['1', '101'].includes(treeCheckedNode.id)" type="danger"
plain>鍒犻櫎</el-button>
</div>
</el-header>
- <el-main class="">
+ <el-main class="" v-show="!addGroupShow">
<ul class="show-info" v-show="['1', '101'].includes(treeCheckedNode.id)">
<li>鍚嶇О: {{ treeCheckedNode.name }}</li>
<li>鎺掑簭: {{ treeCheckedNode.sort }}</li>
@@ -144,11 +195,10 @@
</el-form-item>
</el-form>
</el-main>
- <el-main v-show="!['1', '101'].includes(treeCheckedNode.id)">
+ <el-main v-show="!['1', '101'].includes(treeCheckedNode.id) || addGroupShow">
<el-button @click="saveWorkstationGroup" style="width: 100px" type="primary"
plain>鎻愪氦</el-button>
</el-main>
-
</el-container>
</el-container>
</el-tab-pane>
@@ -159,6 +209,7 @@
</template>
<script>
+import pmsPng from '@/assets/pms.png'
export default {
name: 'system',
data() {
@@ -183,7 +234,8 @@
treeCheckedNode: {},
treeCheckKey: [],
beltline_type: [],
- group_tag: []
+ group_tag: [],
+ addGroupShow: false
}
},
watch: {
@@ -192,6 +244,7 @@
},
treeCheckedNode: {
handler(val) {
+ this.addGroupShow = false
Object.keys(this.form).forEach(key => {
this.form[key] = val?.[key]
})
@@ -204,6 +257,17 @@
this.queryList()
},
methods: {
+ renderContent (h, {node,data}) {
+ console.log(node,data)
+ let img = data.groupTag == 'fms_beltline'
+ return h('span',{
+
+ },
+ img ? h('img', {
+ src: pmsPng
+ }, '') : '',
+ data.name)
+ },
init() {
this.$API.system.dic.getDic.get({ code: 'beltline_type' }).then(res => {
this.beltline_type = res.data
@@ -254,24 +318,41 @@
}
return newData
},
- saveWorkstationGroup() {
- this.$API.basicdata.saveWorkstationGroup.put({
- code: "00001.10003",
- fullName: "",
- groupCategory: 1,
- groupTag: "fms_beltline",
- groupType: "group_workstation",
- id: "1772275862784131074",
- name: "娴嬭瘯鏂板浜х嚎",
- parentId: "1",
- remark: "",
- sort: 2,
- status: 1
- }).then(res => {
+ async saveWorkstationGroup() {
+ const validate = await this.$refs.dialogForm.validate().catch(()=>{})
+ if(!validate){ return false }
+ if (this.addGroupShow) {
+ let data = Object.assign({
+ code: "",
+ fullName: "",
+ id: "",
+ parentId: this.treeCheckedNode.id,
+ status: 1,
+ groupType: this.treeCheckedNode.groupType,
+ groupCategory: this.treeCheckedNode.groupCategory
+ },this.form)
+ return this.$API.basicdata.saveWorkstationGroup.post(data).then(res => {
+ console.log(res)
+ this.queryList(true)
+ })
+ }
+ let data = Object.assign({},this.treeCheckedNode,this.form)
+ this.$API.basicdata.saveWorkstationGroup.put(data).then(res => {
console.log(res)
this.queryList(true)
})
},
+ deleteWorkGroup () {
+ this.$API.basicdata.deleteWorkGroup.delete({
+ groupId: this.treeCheckedNode.id
+ }).then(() => {
+ this.queryList()
+ })
+ },
+ addChild () {
+ this.addGroupShow = true
+ this.$refs.dialogForm.resetFields()
+ },
groupFilterNode() {
},
--
Gitblit v1.9.3