From e80c672ac136b3171a74b1728431b9537b6eeb7d Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 08 五月 2024 16:49:22 +0800
Subject: [PATCH] 1. 圣沣 同步 U8 数据
---
src/views/materialManager/unitList.vue | 545 ++++++++++++++++++++++++++++++++++-------------------
1 files changed, 348 insertions(+), 197 deletions(-)
diff --git a/src/views/materialManager/unitList.vue b/src/views/materialManager/unitList.vue
index 4c0b0a7..5037cbb 100644
--- a/src/views/materialManager/unitList.vue
+++ b/src/views/materialManager/unitList.vue
@@ -15,9 +15,10 @@
</div>
<!-- <div style="margin-right:10px">-->
- <!-- <i class="el-icon-plus" style="cursor: pointer;color: #999" />-->
+ <!-- <el-tooltip v-del-tab-index class="item" effect="dark" content="鏂板" placement="top">-->
+ <!-- <i class="el-icon-plus" style="cursor: pointer;color: #999" @click="treeAddClick('add')" />-->
+ <!-- </el-tooltip>-->
<!-- </div>-->
-
</div>
<el-tree
@@ -32,14 +33,38 @@
:default-expand-all="true"
:expand-on-click-node="false"
@node-click="nodeClick"
- />
+ >
+
+ <!-- <span slot-scope="{ node, data }" class="custom-tree-node">-->
+ <!-- <span v-if="!data.isEdit">{{ data.code +' '+ data.name }}</span>-->
+ <!-- <span v-if="!data.isEdit">-->
+ <!-- <el-tooltip v-del-tab-index class="item" effect="dark" content="缂栬緫" placement="top">-->
+ <!-- <i-->
+ <!-- v-if="data.code!=='-1'"-->
+ <!-- class="el-icon-edit"-->
+ <!-- style="margin-right:10px;color: #999"-->
+ <!-- @click.stop="treeEditClick(node,data,'edit')"-->
+ <!-- />-->
+ <!-- </el-tooltip>-->
+ <!-- <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">-->
+ <!-- <i-->
+ <!-- v-if="data.code!=='-1'"-->
+ <!-- class="el-icon-delete"-->
+ <!-- style="margin-right: 4px;color: #999"-->
+ <!-- @click.stop="treeDeleteClick(node,data)"-->
+ <!-- />-->
+ <!-- </el-tooltip>-->
+ <!-- </span>-->
+ <!-- </span>-->
+
+ </el-tree>
</div>
<div style="width: calc(100% - 300px)">
- <div class="bodyTopButtonGroup">
- <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
- <el-button v-waves type="info" icon="el-icon-refresh" @click="getSaveSearchUnit">鍚屾璁¢噺鍗曚綅</el-button>
+ <div class="bodyTopButtonGroup" style="justify-content: end">
+ <!-- <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>-->
+ <el-button v-waves icon="el-icon-refresh" @click="getSaveSearchUnit">鍚屾璁¢噺鍗曚綅</el-button>
</div>
<div class="elTableDiv">
@@ -66,32 +91,26 @@
prop="code"
label="璁¢噺鍗曚綅缂栫爜"
sortable="custom"
- >
- <template slot-scope="{row}">
- {{ row.isGroup === '0' ? row.code :(!isMainUnitHidden?row.code:'') }}
- </template>
- </el-table-column>
+ />
<el-table-column
prop="name"
label="璁¢噺鍗曚綅鍚嶇О"
sortable="custom"
/>
- <el-table-column
- v-if="!isMainUnitHidden"
- prop="isMainUnit"
- label="涓昏閲�"
- sortable="custom"
- >
- <template slot-scope="{row}">
- {{ row.isMainUnit === '1' ? '鏄�' : '鍚�' }}
- </template>
- </el-table-column>
- <el-table-column
- v-if="!isMainUnitHidden"
- prop="changeRate"
- label="鎹㈢畻鐜�"
- sortable="custom"
- />
+ <!-- <el-table-column-->
+ <!-- prop="isMainUnit"-->
+ <!-- label="涓昏閲�"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- {{ row.isMainUnit === '1' ? '鏄�' : '鍚�' }}-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="changeRate"-->
+ <!-- label="鎹㈢畻鐜�"-->
+ <!-- sortable="custom"-->
+ <!-- />-->
<!-- <el-table-column-->
<!-- prop="data_sources"-->
@@ -108,31 +127,31 @@
label="鍒涘缓鏃堕棿"
sortable="custom"
/>
- <el-table-column
- label="鎿嶄綔"
- width="120"
- fixed="right"
- >
- <template slot-scope="{row}">
- <div class="operationClass">
- <el-tooltip class="item" effect="dark" content="缂栬緫" placement="top">
- <i
- class="el-icon-edit-outline"
- :style="{color:$store.state.settings.theme}"
- @click="edit('edit',row)"
- />
- </el-tooltip>
+ <!-- <el-table-column-->
+ <!-- label="鎿嶄綔"-->
+ <!-- width="120"-->
+ <!-- fixed="right"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div class="operationClass">-->
+ <!-- <el-tooltip class="item" effect="dark" content="缂栬緫" placement="top">-->
+ <!-- <i-->
+ <!-- class="el-icon-edit-outline"-->
+ <!-- :style="{color:$store.state.settings.theme}"-->
+ <!-- @click="edit('edit',row)"-->
+ <!-- />-->
+ <!-- </el-tooltip>-->
- <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">
- <i
- class="el-icon-delete"
- :style="{color:$store.state.settings.theme}"
- @click="del(row)"
- />
- </el-tooltip>
- </div>
- </template>
- </el-table-column>
+ <!-- <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">-->
+ <!-- <i-->
+ <!-- class="el-icon-delete"-->
+ <!-- :style="{color:$store.state.settings.theme}"-->
+ <!-- @click="del(row)"-->
+ <!-- />-->
+ <!-- </el-tooltip>-->
+ <!-- </div>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
</el-table>
</div>
<!--鍒嗛〉-->
@@ -151,6 +170,7 @@
</div>
+ <!-- 鍗曚綅鏄庣粏-->
<el-dialog
v-el-drag-dialog
:title="operation==='add'?'鏂板':'缂栬緫'"
@@ -161,145 +181,145 @@
@closed="handleClose"
@close="handleClose"
>
- <el-form
- ref="dialogForm"
- inline
- :rules="dialogFormRules"
- :model="dialogForm"
- label-width="120px"
- style="display: flex;justify-content: space-between;align-content: flex-end"
+ <!-- <el-form-->
+ <!-- ref="dialogForm"-->
+ <!-- inline-->
+ <!-- :rules="dialogFormRules"-->
+ <!-- :model="dialogForm"-->
+ <!-- label-width="120px"-->
+ <!-- style="display: flex;justify-content: space-between;align-content: flex-end"-->
+ <!-- >-->
+
+ <!-- <el-form-item :label="dialogForm.tunittype==='S'? '璁¢噺鍗曚綅鍚嶇О':'璁¢噺鍗曚綅缁勫悕绉�'" prop="unitname">-->
+ <!-- <el-input v-model="dialogForm.unitname" style="width: 200px" />-->
+ <!-- </el-form-item>-->
+
+ <!-- <el-form-item v-if="dialogForm.tunittype==='M'">-->
+ <!-- <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="tableDataDialogAdd">鏂板琛�-->
+ <!-- </el-button>-->
+ <!-- </el-form-item>-->
+
+ <!-- </el-form>-->
+
+ <el-button v-waves style="margin-bottom: 10px" type="primary" icon="el-icon-circle-plus-outline" @click="tableDataDialogAdd">鏂板琛�
+ </el-button>
+
+ <el-table
+ ref="tableDataDialogRef"
+ class="tableFixed"
+ :data="tableDataDialog"
+ row-class-name="custom-row"
+ height="400"
+ border
+ :style="{width: 100+'%',height:'400px',}"
+ highlight-current-row
+ :header-cell-style="this.$headerCellStyle"
+ :cell-style="this.$cellStyle"
>
- <el-form-item :label="dialogForm.tunittype==='S'? '璁¢噺鍗曚綅鍚嶇О':'璁¢噺鍗曚綅缁勫悕绉�'" prop="unitname">
- <el-input v-model="dialogForm.unitname" style="width: 200px" />
- </el-form-item>
-
- <el-form-item v-if="dialogForm.tunittype==='M'">
- <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="tableDataDialogAdd">鏂板琛�
- </el-button>
- </el-form-item>
-
- </el-form>
-
- <div v-if="dialogForm.tunittype==='M'">
- <el-table
- ref="tableDataDialogRef"
- class="tableFixed"
- :data="tableDataDialog"
- row-class-name="custom-row"
- height="400"
- border
- :style="{width: 100+'%',height:'400px',}"
- highlight-current-row
- :header-cell-style="this.$headerCellStyle"
- :cell-style="this.$cellStyle"
+ <el-table-column
+ type="index"
+ width="50"
+ fixed
+ label="搴忓彿"
+ />
+ <el-table-column
+ prop="unitname"
+ label="璁¢噺鍗曚綅鍚嶇О"
>
+ <template slot-scope="{row}">
+ <el-input
+ v-if="row.isVisible===1"
+ v-model="row.unitname"
+ placeholder="璇疯緭鍏�"
+ />
+ <div v-else> {{ row.unitname }}</div>
+ </template>
- <el-table-column
- type="index"
- width="50"
- fixed
- label="搴忓彿"
- />
- <el-table-column
- prop="unitname"
- label="璁¢噺鍗曚綅鍚嶇О"
- >
- <template slot-scope="{row}">
- <el-input
- v-if="row.isVisible===1"
- v-model="row.unitname"
- placeholder="璇疯緭鍏�"
+ </el-table-column>
+ <el-table-column
+
+ label="涓昏閲�"
+ prop="checkboxSelected"
+ >
+ <template slot-scope="{row}">
+
+ <el-select
+ v-if="row.isVisible===1"
+ v-model="row.checkboxSelected"
+ :popper-append-to-body="false"
+ :disabled="row.checkboxSelected==='1'"
+ placeholder="璇烽�夋嫨"
+ filterable
+ @change="val=>checkboxSelectedChange(val,row)"
+ >
+ <el-option
+ v-for="item in checkboxSelectedArr"
+ :key="item.code"
+ :label="item.name"
+ :value="item.code"
/>
- <div v-else> {{ row.unitname }}</div>
- </template>
+ </el-select>
+ <div v-else> {{ row.checkboxSelected === '1' ? '鏄�' : '鍚�' }}</div>
+ </template>
+ </el-table-column>
- </el-table-column>
- <el-table-column
-
- label="涓昏閲�"
- prop="checkboxSelected"
- >
- <template slot-scope="{row}">
-
- <el-select
- v-if="row.isVisible===1"
- v-model="row.checkboxSelected"
- :popper-append-to-body="false"
- :disabled="row.checkboxSelected==='1'"
- placeholder="璇烽�夋嫨"
- filterable
- @change="val=>checkboxSelectedChange(val,row)"
- >
- <el-option
- v-for="item in checkboxSelectedArr"
- :key="item.code"
- :label="item.name"
- :value="item.code"
+ <el-table-column
+ prop="changeRate"
+ label="鎹㈢畻鐜�"
+ >
+ <template slot-scope="{row}">
+ <el-input
+ v-if="row.isVisible===1"
+ v-model="row.changeRate"
+ :disabled="row.checkboxSelected==='1'"
+ placeholder="璇疯緭鍏�"
+ oninput="value=value.replace(/[^0-9.]/g,'')"
+ />
+ <div v-else> {{ row.changeRate }}</div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="rateDescription"
+ label="鎹㈢畻璇存槑"
+ />
+ <el-table-column
+ label="鎿嶄綔"
+ width="120"
+ fixed="right"
+ >
+ <template slot-scope="{row}">
+ <div class="operationClass">
+ <el-tooltip class="item" effect="dark" content="缂栬緫" placement="top">
+ <i
+ v-if="row.isVisible===0&&tableDataDialog.filter(i=>i.isVisible===1).length===0"
+ class="el-icon-edit-outline"
+ :style="{color:$store.state.settings.theme}"
+ @click="tableDataDialogEdit(row)"
/>
- </el-select>
- <div v-else> {{ row.checkboxSelected === '1' ? '鏄�' : '鍚�' }}</div>
- </template>
- </el-table-column>
+ </el-tooltip>
+ <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">
+ <i
+ v-if="row.isVisible===0&&tableDataDialog.filter(i=>i.isVisible===1).length===0"
+ class="el-icon-delete"
+ :style="{color:$store.state.settings.theme}"
+ @click="tableDataDialogDel(row)"
+ />
+ </el-tooltip>
+ <el-tooltip class="item" effect="dark" content="淇濆瓨" placement="top">
+ <i
+ v-if="row.isVisible===1"
+ class="el-icon-circle-check"
+ style="cursor:pointer;"
+ :style="{color:$store.state.settings.theme}"
+ @click="tableDataDialogSave(row)"
+ />
+ </el-tooltip>
+ </div>
+ </template>
+ </el-table-column>
- <el-table-column
- prop="changeRate"
- label="鎹㈢畻鐜�"
- >
- <template slot-scope="{row}">
- <el-input
- v-if="row.isVisible===1"
- v-model="row.changeRate"
- :disabled="row.checkboxSelected==='1'"
- placeholder="璇疯緭鍏�"
- oninput="value=value.replace(/[^0-9.]/g,'')"
- />
- <div v-else> {{ row.changeRate }}</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="rateDescription"
- label="鎹㈢畻璇存槑"
- />
- <el-table-column
- label="鎿嶄綔"
- width="120"
- fixed="right"
- >
- <template slot-scope="{row}">
- <div class="operationClass">
- <el-tooltip class="item" effect="dark" content="缂栬緫" placement="top">
- <i
- v-if="row.isVisible===0&&tableDataDialog.filter(i=>i.isVisible===1).length===0"
- class="el-icon-edit-outline"
- :style="{color:$store.state.settings.theme}"
- @click="tableDataDialogEdit(row)"
- />
- </el-tooltip>
- <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">
- <i
- v-if="row.isVisible===0&&tableDataDialog.filter(i=>i.isVisible===1).length===0"
- class="el-icon-delete"
- :style="{color:$store.state.settings.theme}"
- @click="tableDataDialogDel(row)"
- />
- </el-tooltip>
- <el-tooltip class="item" effect="dark" content="淇濆瓨" placement="top">
- <i
- v-if="row.isVisible===1"
- class="el-icon-circle-check"
- style="cursor:pointer;"
- :style="{color:$store.state.settings.theme}"
- @click="tableDataDialogSave(row)"
- />
- </el-tooltip>
- </div>
- </template>
- </el-table-column>
-
- </el-table>
-
- </div>
+ </el-table>
<span slot="footer" class="dialog-footer">
<div class="footerButton">
@@ -315,6 +335,39 @@
</span>
</el-dialog>
+ <!-- 鍗曚綅绫诲埆鏂板淇敼-->
+ <el-dialog
+ v-el-drag-dialog
+ :title="operation==='add'?'鏂板':'缂栬緫'"
+ :visible.sync="dialogClassVisible"
+ width="800px"
+ :close-on-click-modal="false"
+ top="15vh"
+ @closed="handleClassClose"
+ @close="handleClassClose"
+ >
+ <el-form ref="dialogClassForm" inline :rules="dialogClassFormRules" :model="dialogClassForm" label-width="110px">
+ <el-form-item label="鍗曚綅绫诲瀷缂栫爜" prop="code">
+ <el-input v-model="dialogClassForm.code" :disabled="operation!=='add'" style="width: 200px" />
+ </el-form-item>
+ <el-form-item label="鍗曚綅绫诲瀷鍚嶇О" prop="name">
+ <el-input v-model="dialogClassForm.name" style="width: 200px" />
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <div class="footerButton">
+ <el-button v-waves @click="dialogVisibleClassCancel">鍙� 娑�</el-button>
+ <el-button
+ v-waves
+ type="primary"
+ :loading="$store.state.app.buttonIsDisabled"
+ :disabled="$store.state.app.buttonIsDisabled"
+ @click="dialogVisibleClassConfirm"
+ >纭� 瀹�</el-button>
+ </div>
+ </span>
+ </el-dialog>
+
</div>
</template>
@@ -323,7 +376,15 @@
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
import { SaveSearchUnit } from '@/api/ErpSyncMes'
-import { AddUpdateTUnit, DeleteTUnit, TUnitData, TUnitGroup, TUnitGroupProject } from '@/api/ProductModel'
+import {
+ AddUpdateTUnit,
+ AddUpdateTUnitGroup,
+ DeleteTUnit, DeleteTUnitGroup,
+ TUnitData,
+ TUnitGroup,
+ TUnitGroupProject
+} from '@/api/ProductModel'
+import { validateCode } from '@/utils/global'
export default {
name: 'Zzjg',
@@ -375,7 +436,22 @@
{ code: '1', name: '鏄�' }
],
- isMainUnitHidden: true
+ isMainUnitHidden: true,
+
+ dialogClassVisible: false,
+ dialogClassForm: {
+ code: '', // 鍗曚綅绫诲瀷缂栫爜
+ name: '', // 鍗曚綅鍚嶇О鍚嶇О
+ OperType: ''// OperType
+ },
+ dialogClassFormRules: {
+ code: [
+ { required: true, validator: validateCode, trigger: ['blur', 'change'] }
+ ],
+ name: [
+ { required: true, message: '璇疯緭鍗曚綅绫诲瀷鍚嶇О', trigger: ['blur', 'change'] }
+ ]
+ }
}
},
@@ -402,14 +478,9 @@
async getTUnitGroup(code) {
const { data: res } = await TUnitGroup()
- this.treeLeft = [
- {
- code: '', name: '鍏ㄩ儴', children: [
- { code: 'S', name: '鍗曡閲�' },
- { code: 'M', name: '澶氳閲�', children: res }
- ]
- }
- ]
+ this.treeLeft = []
+ this.treeLeft.push({ code: '', name: '鍏ㄩ儴', children: res })
+
this.$nextTick(() => {
this.$refs.treeLeftRef.setCurrentKey(code)
})
@@ -470,11 +541,11 @@
}
},
add(operation) {
- if (this.$refs.treeLeftRef.getCurrentKey() === 'S' || this.$refs.treeLeftRef.getCurrentKey() === 'M') {
- this.dialogForm.tunittype = this.$refs.treeLeftRef.getCurrentKey()
- } else {
- return this.$message.error('璇峰厛閫夋嫨鏍戜笂鐨勫崟璁¢噺鎴栧璁¢噺锛�')
- }
+ // if (this.$refs.treeLeftRef.getCurrentKey() === 'S' || this.$refs.treeLeftRef.getCurrentKey() === 'M') {
+ // this.dialogForm.tunittype = this.$refs.treeLeftRef.getCurrentKey()
+ // } else {
+ // return this.$message.error('璇峰厛閫夋嫨鏍戜笂鐨勫崟璁¢噺鎴栧璁¢噺锛�')
+ // }
this.operation = operation
this.dialogVisible = true
this.dialogForm.OperType = 'Add'
@@ -683,7 +754,87 @@
this.tableHeight = this.mainHeight - 220
this.$refs.tableDataRef.doLayout()
})
+ },
+
+ treeEditClick(node, data, operation) {
+ this.dialogClassForm.code = data.code
+ this.dialogClassForm.name = data.name
+ this.dialogClassForm.OperType = 'Update'
+ this.operation = operation
+ this.dialogClassVisible = true
+ },
+ treeDeleteClick(node, data) {
+ this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ DeleteTUnitGroup({ tunitgroupcode: data.code }).then(res => {
+ if (res.code === '200') {
+ this.$notify.success('鍒犻櫎鎴愬姛!')
+ this.handleGetApi('')
+ }
+ })
+ }).catch(() => {
+ this.$notify.info('宸插彇娑堝垹闄�')
+ })
+ },
+ treeAddClick(operation) {
+ this.operation = operation
+ this.dialogClassVisible = true
+ this.dialogClassForm.OperType = 'Add'
+ },
+
+ handleClassClose() {
+ this.dialogClassForm.code = ''
+ this.dialogClassForm.name = ''
+ this.$refs.dialogClassForm.clearValidate()
+ },
+ dialogVisibleClassCancel() {
+ this.dialogClassVisible = false
+ },
+ dialogVisibleClassConfirm() {
+ this.$refs.dialogClassForm.validate(valid => {
+ if (valid) {
+ const data = [{
+ code: this.dialogClassForm.code,
+ name: this.dialogClassForm.name,
+ group: '',
+ description: ''
+ }]
+ AddUpdateTUnitGroup(data, this.dialogClassForm.OperType).then(res => {
+ if (res.code === '200') {
+ this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
+ this.dialogClassVisible = false
+ this.$store.state.app.buttonIsDisabled = false
+ this.handleGetApi('')
+ } else {
+ this.$store.state.app.buttonIsDisabled = false
+ this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
+ }
+ })
+ }
+ })
}
+
}
}
</script>
+<style scoped lang="scss">
+.custom-tree-node {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 14px;
+ padding-right: 8px;
+}
+
+//::v-deep .el-checkbox__label {
+// width: 55px;
+//}
+//
+.el-icon-plus:hover, .el-icon-edit:hover, .el-icon-delete:hover {
+ color: #000 !important;
+}
+</style>
--
Gitblit v1.9.3