|
@@ -2,37 +2,38 @@
|
|
|
<div style="width: 100%;padding-top: 1%;display: flex;" :style="{'height':heightAll+'px'}">
|
|
<div style="width: 100%;padding-top: 1%;display: flex;" :style="{'height':heightAll+'px'}">
|
|
|
<div style="width: 10%;;">
|
|
<div style="width: 10%;;">
|
|
|
<Plus style="width: 1em; height: 1em; margin-left:90%;cursor: pointer;color: #337ecc;" @click="showAddTree"/>
|
|
<Plus style="width: 1em; height: 1em; margin-left:90%;cursor: pointer;color: #337ecc;" @click="showAddTree"/>
|
|
|
- <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick" style="margin-left: 1%;background-color: #F7F7F7;width: 100%;" default-expand-all>
|
|
|
|
|
|
|
+ <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"
|
|
|
|
|
+ style="margin-left: 1%;background-color: #F7F7F7;width: 100%;" default-expand-all>
|
|
|
<template #default="{ node, data }">
|
|
<template #default="{ node, data }">
|
|
|
<span class="custom-tree-node">
|
|
<span class="custom-tree-node">
|
|
|
<span>{{ node.label }}</span>
|
|
<span>{{ node.label }}</span>
|
|
|
<span>
|
|
<span>
|
|
|
- <el-button type="primary" @click="editTree(node, data)" text style="margin-left: 15%;">编辑</el-button>
|
|
|
|
|
- <el-button type="danger" @click="delTree(node, data)" text style="margin-left: -17%;">删除</el-button>
|
|
|
|
|
|
|
+ <el-button type="primary" @click="editTree(node, data)" text style="margin-left: 15%;">编辑</el-button>
|
|
|
|
|
+ <el-button type="danger" @click="delTree(node, data)" text style="margin-left: -17%;">删除</el-button>
|
|
|
</span>
|
|
</span>
|
|
|
</span>
|
|
</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-tree>
|
|
</el-tree>
|
|
|
</div>
|
|
</div>
|
|
|
<div style="width: 86%;margin-left: 1%;">
|
|
<div style="width: 86%;margin-left: 1%;">
|
|
|
- <div style="display: flex;justify-content: space-between;width: 100%;align-items: center;margin-left: 2%;">
|
|
|
|
|
- <div style="display: flex;width: 50%;align-items: center;">
|
|
|
|
|
- <div>
|
|
|
|
|
- 名称
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-input v-model="formTree.itemNo" style="width: 30%;margin-left: 1%;" placeholder="" />
|
|
|
|
|
- <el-button type="primary" @click="showAdd" style="margin-left:1%;">查询 </el-button>
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-button type="primary" @click="showAdd" style="margin-left:1%;">新增</el-button>
|
|
|
|
|
|
|
+ <div style="display: flex;justify-content: space-between;width: 100%;align-items: center;margin-left: 2%;">
|
|
|
|
|
+ <div style="display: flex;width: 50%;align-items: center;">
|
|
|
|
|
+ <div>
|
|
|
|
|
+ 名称
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-input v-model="formTree.itemNo" style="width: 30%;margin-left: 1%;" placeholder=""/>
|
|
|
|
|
+ <el-button type="primary" @click="showAdd" style="margin-left:1%;">查询</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
- <el-table
|
|
|
|
|
- :data="tableData"
|
|
|
|
|
- style="width: 100%;margin-left: 2%;margin-top: 0.5%;"
|
|
|
|
|
- :cell-style="{ padding:'5px' }"
|
|
|
|
|
- :header-cell-style="{fontSize: '14px',height: heightAll*0.01+'px',}"
|
|
|
|
|
- :row-style="{ fontSize: '17px',textAlign:'center'}"
|
|
|
|
|
- border
|
|
|
|
|
- :height="tableheight">
|
|
|
|
|
|
|
+ <el-button type="primary" @click="showAdd" style="margin-left:1%;">新增</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-table
|
|
|
|
|
+ :data="tableData"
|
|
|
|
|
+ style="width: 100%;margin-left: 2%;margin-top: 0.5%;"
|
|
|
|
|
+ :cell-style="{ padding:'5px' }"
|
|
|
|
|
+ :header-cell-style="{fontSize: '14px',height: heightAll*0.01+'px',}"
|
|
|
|
|
+ :row-style="{ fontSize: '17px',textAlign:'center'}"
|
|
|
|
|
+ border
|
|
|
|
|
+ :height="tableheight">
|
|
|
<el-table-column type="index" label="序号" width="80"></el-table-column>
|
|
<el-table-column type="index" label="序号" width="80"></el-table-column>
|
|
|
<el-table-column prop="itemName" label="字段名称:">
|
|
<el-table-column prop="itemName" label="字段名称:">
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -45,17 +46,17 @@
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column prop="itemNotes" label="备注" width="170"/>
|
|
<el-table-column prop="itemNotes" label="备注" width="170"/>
|
|
|
<el-table-column prop="address" label="操作" width="222">
|
|
<el-table-column prop="address" label="操作" width="222">
|
|
|
- <template #default="scope">
|
|
|
|
|
- <div style="display: flex;justify-content: space-between;width: 100%;">
|
|
|
|
|
- <el-button type="primary" @click="showEdit(scope.row)" text style="margin-left: 1%;">编辑</el-button>
|
|
|
|
|
- <el-button @click="showDe(scope.row)" type="primary" text style="margin-left: 1%;">查看</el-button>
|
|
|
|
|
- <el-button @click="delRow(scope.row)" type="danger" text style="margin-left: 1%;">删除</el-button>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <div style="display: flex;justify-content: space-between;width: 100%;">
|
|
|
|
|
+ <el-button type="primary" @click="showEdit(scope.row)" text style="margin-left: 1%;">编辑</el-button>
|
|
|
|
|
+ <el-button @click="showDe(scope.row)" type="primary" text style="margin-left: 1%;">查看</el-button>
|
|
|
|
|
+ <el-button @click="delRow(scope.row)" type="danger" text style="margin-left: 1%;">删除</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
<div style="float: right;margin-top: 1%;margin-right: 1%;">
|
|
<div style="float: right;margin-top: 1%;margin-right: 1%;">
|
|
|
- <el-pagination
|
|
|
|
|
|
|
+ <el-pagination
|
|
|
small
|
|
small
|
|
|
v-model='currentPage'
|
|
v-model='currentPage'
|
|
|
@current-change="changePage"
|
|
@current-change="changePage"
|
|
@@ -63,32 +64,34 @@
|
|
|
layout="prev, pager, next"
|
|
layout="prev, pager, next"
|
|
|
:total="total"
|
|
:total="total"
|
|
|
class="mt-4"
|
|
class="mt-4"
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <el-dialog :title="title" @close="clearForm" v-model="dialogVisible" title="" width="30%" destroy-on-close :key="tableKey">
|
|
|
|
|
- <el-form :disabled="isEdit" style="margin-left: 5%;margin-top: 2%;" :model="formZu" class="demo-form-inline" ref="formRefZu" :rules="rulesZu">
|
|
|
|
|
|
|
+ <el-dialog :title="title" @close="clearForm" v-model="dialogVisible" title="" width="30%" destroy-on-close
|
|
|
|
|
+ :key="tableKey">
|
|
|
|
|
+ <el-form :disabled="isEdit" style="margin-left: 5%;margin-top: 2%;" :model="formZu" class="demo-form-inline"
|
|
|
|
|
+ ref="formRefZu" :rules="rulesZu">
|
|
|
<el-form-item label="字段名称:" prop="itemName" style="margin-left: -2%;">
|
|
<el-form-item label="字段名称:" prop="itemName" style="margin-left: -2%;">
|
|
|
- <el-input v-model="formZu.itemName" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
|
|
|
|
+ <el-input v-model="formZu.itemName" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="英文名称:" prop="itemEn" style="margin-left: -2%;">
|
|
<el-form-item label="英文名称:" prop="itemEn" style="margin-left: -2%;">
|
|
|
- <el-input v-model="formZu.itemEn" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
|
|
|
|
+ <el-input v-model="formZu.itemEn" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="字段数据项类型:" prop="itemTp" style="margin-left: -2%;">
|
|
<el-form-item label="字段数据项类型:" prop="itemTp" style="margin-left: -2%;">
|
|
|
- <el-input v-model="formZu.itemTp" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
|
|
|
|
+ <el-input v-model="formZu.itemTp" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="字段数据类型:" prop="itemDataTp" style="margin-left: -2%;">
|
|
<el-form-item label="字段数据类型:" prop="itemDataTp" style="margin-left: -2%;">
|
|
|
- <el-input v-model="formZu.itemDataTp" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
|
|
|
|
+ <el-input v-model="formZu.itemDataTp" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="默认值:" prop="itemDefaultVal" style="margin-left: -2%;">
|
|
<el-form-item label="默认值:" prop="itemDefaultVal" style="margin-left: -2%;">
|
|
|
- <el-input v-model="formZu.itemDefaultVal" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
|
|
|
|
+ <el-input v-model="formZu.itemDefaultVal" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="单位:" prop="itemUnit">
|
|
<el-form-item label="单位:" prop="itemUnit">
|
|
|
- <el-input v-model="formZu.itemUnit" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
|
|
|
|
+ <el-input v-model="formZu.itemUnit" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="备注:" prop="itemNotes">
|
|
<el-form-item label="备注:" prop="itemNotes">
|
|
|
- <el-input v-model="formZu.itemNotes" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
|
|
|
|
+ <el-input v-model="formZu.itemNotes" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<template #footer>
|
|
<template #footer>
|
|
@@ -103,19 +106,21 @@
|
|
|
</span>
|
|
</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
- <el-dialog @close="clearFromTree" :title="titleTree" v-model="dialogVisibleTree" title="" width="30%" destroy-on-close :key="tableKey">
|
|
|
|
|
- <el-form style="margin-left: 5%;margin-top: 2%;" :model="formTree" class="demo-form-inline" ref="formRefTree" :rules="rulesTree">
|
|
|
|
|
|
|
+ <el-dialog @close="clearFromTree" :title="titleTree" v-model="dialogVisibleTree" title="" width="30%" destroy-on-close
|
|
|
|
|
+ :key="tableKey">
|
|
|
|
|
+ <el-form style="margin-left: 5%;margin-top: 2%;" :model="formTree" class="demo-form-inline" ref="formRefTree"
|
|
|
|
|
+ :rules="rulesTree">
|
|
|
<el-form-item label="名称:" prop="itemName" style="margin-left: -2%;">
|
|
<el-form-item label="名称:" prop="itemName" style="margin-left: -2%;">
|
|
|
<el-input v-model="formTree.itemName" style="width: 75%;" placeholder=""/>
|
|
<el-input v-model="formTree.itemName" style="width: 75%;" placeholder=""/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="父节点id:" prop="catePid" style="margin-left: -2%;">
|
|
<el-form-item label="父节点id:" prop="catePid" style="margin-left: -2%;">
|
|
|
- <el-input v-model="formTree.catePid" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
|
|
|
|
+ <el-input v-model="formTree.catePid" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="排序:" prop="itemNo" style="margin-left: -2%;">
|
|
<el-form-item label="排序:" prop="itemNo" style="margin-left: -2%;">
|
|
|
- <el-input v-model="formTree.itemNo" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
|
|
|
|
+ <el-input v-model="formTree.itemNo" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="备注:" prop="itemNotes" style=" ">
|
|
<el-form-item label="备注:" prop="itemNotes" style=" ">
|
|
|
- <el-input v-model="formTree.itemNotes" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
|
|
|
|
+ <el-input v-model="formTree.itemNotes" style="width: 75%;" placeholder="" resize="none"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<template #footer>
|
|
<template #footer>
|
|
@@ -131,18 +136,30 @@
|
|
|
</template>
|
|
</template>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
</template>
|
|
</template>
|
|
|
-<script setup>
|
|
|
|
|
-import { reactive } from 'vue'
|
|
|
|
|
-import { addDataCate,getCateTree,getCateDe,editCate,delCate,addDataItem,getItem,getItemDe,editItem,delItem} from "@/api/service/cate";
|
|
|
|
|
-import { ref, onMounted, onUnmounted, nextTick } from 'vue';
|
|
|
|
|
-const { proxy } = getCurrentInstance();
|
|
|
|
|
-const data = ref([])
|
|
|
|
|
-const title = ref([])
|
|
|
|
|
-const titleTree = ref([])
|
|
|
|
|
-const currentPage = ref(1)
|
|
|
|
|
-const total = ref(1)
|
|
|
|
|
|
|
+<script setup>
|
|
|
|
|
+import {reactive} from 'vue'
|
|
|
|
|
+import {
|
|
|
|
|
+ addDataCate,
|
|
|
|
|
+ getCateTree,
|
|
|
|
|
+ getCateDe,
|
|
|
|
|
+ editCate,
|
|
|
|
|
+ delCate,
|
|
|
|
|
+ addDataItem,
|
|
|
|
|
+ getItem,
|
|
|
|
|
+ getItemDe,
|
|
|
|
|
+ editItem,
|
|
|
|
|
+ delItem
|
|
|
|
|
+} from "@/api/service/cate";
|
|
|
|
|
+import {ref, onMounted, onUnmounted, nextTick} from 'vue';
|
|
|
|
|
+
|
|
|
|
|
+const {proxy} = getCurrentInstance();
|
|
|
|
|
+const data = ref([])
|
|
|
|
|
+const title = ref([])
|
|
|
|
|
+const titleTree = ref([])
|
|
|
|
|
+const currentPage = ref(1)
|
|
|
|
|
+const total = ref(1)
|
|
|
const tableData = ref([])
|
|
const tableData = ref([])
|
|
|
-const tableheight = window.innerHeight*0.7
|
|
|
|
|
|
|
+const tableheight = window.innerHeight * 0.7
|
|
|
const heightAll = window.innerHeight
|
|
const heightAll = window.innerHeight
|
|
|
const dialogVisible = ref(false)
|
|
const dialogVisible = ref(false)
|
|
|
const dialogVisibleTree = ref(false)
|
|
const dialogVisibleTree = ref(false)
|
|
@@ -151,94 +168,101 @@ const isAddTa = ref(false)
|
|
|
const treeId = ref('');
|
|
const treeId = ref('');
|
|
|
|
|
|
|
|
const formZu = ref({
|
|
const formZu = ref({
|
|
|
- itemName:'',
|
|
|
|
|
- itemTp:'',
|
|
|
|
|
- itemEn:'',
|
|
|
|
|
- itemDataTp:'',
|
|
|
|
|
- itemDefaultVal:'',
|
|
|
|
|
- itemUnit:'',
|
|
|
|
|
- itemNotes:'',
|
|
|
|
|
|
|
+ itemName: '',
|
|
|
|
|
+ itemTp: '',
|
|
|
|
|
+ itemEn: '',
|
|
|
|
|
+ itemDataTp: '',
|
|
|
|
|
+ itemDefaultVal: '',
|
|
|
|
|
+ itemUnit: '',
|
|
|
|
|
+ itemNotes: '',
|
|
|
});
|
|
});
|
|
|
const rulesZu = reactive({
|
|
const rulesZu = reactive({
|
|
|
- itemName: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
|
|
- itemEn: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
|
|
- itemTp: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
|
|
- itemDataTp: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
|
|
- itemDefaultVal: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
|
|
|
|
+ itemName: [{required: true, message: '必填', trigger: 'blur'}],
|
|
|
|
|
+ itemEn: [{required: true, message: '必填', trigger: 'blur'}],
|
|
|
|
|
+ itemTp: [{required: true, message: '必填', trigger: 'blur'}],
|
|
|
|
|
+ itemDataTp: [{required: true, message: '必填', trigger: 'blur'}],
|
|
|
|
|
+ itemDefaultVal: [{required: true, message: '必填', trigger: 'blur'}],
|
|
|
});
|
|
});
|
|
|
const formRefZu = ref();
|
|
const formRefZu = ref();
|
|
|
|
|
|
|
|
const formTree = ref({
|
|
const formTree = ref({
|
|
|
- itemName:'',
|
|
|
|
|
- catePid:'',
|
|
|
|
|
- itemNo:'',
|
|
|
|
|
- itemNotes:''
|
|
|
|
|
|
|
+ itemName: '',
|
|
|
|
|
+ catePid: '',
|
|
|
|
|
+ itemNo: '',
|
|
|
|
|
+ itemNotes: ''
|
|
|
});
|
|
});
|
|
|
const rulesTree = reactive({
|
|
const rulesTree = reactive({
|
|
|
- itemNo: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
|
|
- catePid: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
|
|
- itemName: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
|
|
|
|
+ itemNo: [{required: true, message: '必填', trigger: 'blur'}],
|
|
|
|
|
+ catePid: [{required: true, message: '必填', trigger: 'blur'}],
|
|
|
|
|
+ itemName: [{required: true, message: '必填', trigger: 'blur'}],
|
|
|
});
|
|
});
|
|
|
const formRefTree = ref();
|
|
const formRefTree = ref();
|
|
|
|
|
|
|
|
-function clearForm(){
|
|
|
|
|
|
|
+function clearForm() {
|
|
|
formZu.value = {
|
|
formZu.value = {
|
|
|
- itemName:'',
|
|
|
|
|
- itemTp:'',
|
|
|
|
|
- itemEn:'',
|
|
|
|
|
- itemTp:'',
|
|
|
|
|
- itemDataTp:'',
|
|
|
|
|
- itemDefaultVal:'',
|
|
|
|
|
- itemUnit:'',
|
|
|
|
|
- itemNotes:'',
|
|
|
|
|
|
|
+ itemName: '',
|
|
|
|
|
+ itemTp: '',
|
|
|
|
|
+ itemEn: '',
|
|
|
|
|
+ itemTp: '',
|
|
|
|
|
+ itemDataTp: '',
|
|
|
|
|
+ itemDefaultVal: '',
|
|
|
|
|
+ itemUnit: '',
|
|
|
|
|
+ itemNotes: '',
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-function getTable(){
|
|
|
|
|
|
|
+
|
|
|
|
|
+function getTable() {
|
|
|
var par = {
|
|
var par = {
|
|
|
- pageNum:currentPage.value,
|
|
|
|
|
- pageSize:15,
|
|
|
|
|
- cateId:''
|
|
|
|
|
|
|
+ pageNum: currentPage.value,
|
|
|
|
|
+ pageSize: 15,
|
|
|
|
|
+ cateId: ''
|
|
|
}
|
|
}
|
|
|
- getItem(par).then(res=>{
|
|
|
|
|
|
|
+ getItem(par).then(res => {
|
|
|
tableData.value = res.rows
|
|
tableData.value = res.rows
|
|
|
total.value = res.total
|
|
total.value = res.total
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
-function showAdd(){
|
|
|
|
|
|
|
+
|
|
|
|
|
+function showAdd() {
|
|
|
isAddTa.value = true
|
|
isAddTa.value = true
|
|
|
title.value = '新增'
|
|
title.value = '新增'
|
|
|
dialogVisible.value = true
|
|
dialogVisible.value = true
|
|
|
}
|
|
}
|
|
|
-function showEdit(row){
|
|
|
|
|
|
|
+
|
|
|
|
|
+function showEdit(row) {
|
|
|
isAddTa.value = false
|
|
isAddTa.value = false
|
|
|
title.value = '编辑'
|
|
title.value = '编辑'
|
|
|
dialogVisible.value = true
|
|
dialogVisible.value = true
|
|
|
- getItemDe(row.dataId).then(res=>{
|
|
|
|
|
|
|
+ getItemDe(row.dataId).then(res => {
|
|
|
formZu.value = res.data
|
|
formZu.value = res.data
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
-function showAddTree(){
|
|
|
|
|
|
|
+
|
|
|
|
|
+function showAddTree() {
|
|
|
isAdd.value = true
|
|
isAdd.value = true
|
|
|
titleTree.value = '新增节点'
|
|
titleTree.value = '新增节点'
|
|
|
dialogVisibleTree.value = true
|
|
dialogVisibleTree.value = true
|
|
|
}
|
|
}
|
|
|
-function clearFromTree(){
|
|
|
|
|
|
|
+
|
|
|
|
|
+function clearFromTree() {
|
|
|
formTree.value = {
|
|
formTree.value = {
|
|
|
- itemName:'',
|
|
|
|
|
- catePid:'',
|
|
|
|
|
- itemNo:'',
|
|
|
|
|
- itemNotes:''
|
|
|
|
|
|
|
+ itemName: '',
|
|
|
|
|
+ catePid: '',
|
|
|
|
|
+ itemNo: '',
|
|
|
|
|
+ itemNotes: ''
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-function getTree(){
|
|
|
|
|
- getCateTree().then(res=>{
|
|
|
|
|
|
|
+
|
|
|
|
|
+function getTree() {
|
|
|
|
|
+ getCateTree().then(res => {
|
|
|
data.value = res.data
|
|
data.value = res.data
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
-function addTa(){
|
|
|
|
|
|
|
+
|
|
|
|
|
+function addTa() {
|
|
|
formRefZu.value.validate(async (valid) => {
|
|
formRefZu.value.validate(async (valid) => {
|
|
|
- await addDataItem(formZu.value).then(res=>{
|
|
|
|
|
- if(res.code===200){
|
|
|
|
|
|
|
+ await addDataItem(formZu.value).then(res => {
|
|
|
|
|
+ if (res.code === 200) {
|
|
|
proxy.$modal.msgSuccess("新增成功");
|
|
proxy.$modal.msgSuccess("新增成功");
|
|
|
getTable()
|
|
getTable()
|
|
|
dialogVisible.value = false
|
|
dialogVisible.value = false
|
|
@@ -246,27 +270,31 @@ function addTa(){
|
|
|
})
|
|
})
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
-function saveEditTa(){
|
|
|
|
|
- editItem(formZu.value).then(res=>{
|
|
|
|
|
- if(res.code===200){
|
|
|
|
|
|
|
+
|
|
|
|
|
+function saveEditTa() {
|
|
|
|
|
+ editItem(formZu.value).then(res => {
|
|
|
|
|
+ if (res.code === 200) {
|
|
|
proxy.$modal.msgSuccess("修改成功");
|
|
proxy.$modal.msgSuccess("修改成功");
|
|
|
dialogVisible.value = false
|
|
dialogVisible.value = false
|
|
|
getTable()
|
|
getTable()
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
function delRow(row) {
|
|
function delRow(row) {
|
|
|
proxy.$modal.confirm('是否确认删除?').then(function () {
|
|
proxy.$modal.confirm('是否确认删除?').then(function () {
|
|
|
return delItem(row.dataId);
|
|
return delItem(row.dataId);
|
|
|
}).then(() => {
|
|
}).then(() => {
|
|
|
getTable();
|
|
getTable();
|
|
|
proxy.$modal.msgSuccess("删除成功");
|
|
proxy.$modal.msgSuccess("删除成功");
|
|
|
- }).catch(() => {});
|
|
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ });
|
|
|
};
|
|
};
|
|
|
-async function addTree(){
|
|
|
|
|
|
|
+
|
|
|
|
|
+async function addTree() {
|
|
|
formRefTree.value.validate(async (valid) => {
|
|
formRefTree.value.validate(async (valid) => {
|
|
|
- await addDataCate(formTree.value).then(res=>{
|
|
|
|
|
- if(res.code===200){
|
|
|
|
|
|
|
+ await addDataCate(formTree.value).then(res => {
|
|
|
|
|
+ if (res.code === 200) {
|
|
|
proxy.$modal.msgSuccess("新增成功");
|
|
proxy.$modal.msgSuccess("新增成功");
|
|
|
getTree()
|
|
getTree()
|
|
|
dialogVisibleTree.value = false
|
|
dialogVisibleTree.value = false
|
|
@@ -274,37 +302,43 @@ async function addTree(){
|
|
|
})
|
|
})
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
-function saveEditTree(){
|
|
|
|
|
- editCate(formTree.value).then(res=>{
|
|
|
|
|
- if(res.code===200){
|
|
|
|
|
|
|
+
|
|
|
|
|
+function saveEditTree() {
|
|
|
|
|
+ editCate(formTree.value).then(res => {
|
|
|
|
|
+ if (res.code === 200) {
|
|
|
proxy.$modal.msgSuccess("修改成功");
|
|
proxy.$modal.msgSuccess("修改成功");
|
|
|
dialogVisibleTree.value = false
|
|
dialogVisibleTree.value = false
|
|
|
getTree()
|
|
getTree()
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
-function handleNodeClick(node, data){
|
|
|
|
|
|
|
+
|
|
|
|
|
+function handleNodeClick(node, data) {
|
|
|
treeId.value = data.id
|
|
treeId.value = data.id
|
|
|
getTable()
|
|
getTable()
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
function delTree(node, data) {
|
|
function delTree(node, data) {
|
|
|
proxy.$modal.confirm('是否确认删除?').then(function () {
|
|
proxy.$modal.confirm('是否确认删除?').then(function () {
|
|
|
return delCate(data.id);
|
|
return delCate(data.id);
|
|
|
}).then(() => {
|
|
}).then(() => {
|
|
|
getTree();
|
|
getTree();
|
|
|
proxy.$modal.msgSuccess("删除成功");
|
|
proxy.$modal.msgSuccess("删除成功");
|
|
|
- }).catch(() => {});
|
|
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ });
|
|
|
};
|
|
};
|
|
|
-function editTree(node, data){
|
|
|
|
|
|
|
+
|
|
|
|
|
+function editTree(node, data) {
|
|
|
console.log(data)
|
|
console.log(data)
|
|
|
titleTree.value = '编辑'
|
|
titleTree.value = '编辑'
|
|
|
isAdd.value = false
|
|
isAdd.value = false
|
|
|
dialogVisibleTree.value = true
|
|
dialogVisibleTree.value = true
|
|
|
- getCateDe(data.id).then(res=>{
|
|
|
|
|
|
|
+ getCateDe(data.id).then(res => {
|
|
|
formTree.value = res.data
|
|
formTree.value = res.data
|
|
|
})
|
|
})
|
|
|
console.log(node, data)
|
|
console.log(node, data)
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
getTree()
|
|
getTree()
|
|
|
getTable()
|
|
getTable()
|
|
@@ -334,15 +368,17 @@ onMounted(() => {
|
|
|
.el-table .el-table__row td {
|
|
.el-table .el-table__row td {
|
|
|
height: 60px !important; /* 行高 */
|
|
height: 60px !important; /* 行高 */
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.custom-tree-node {
|
|
.custom-tree-node {
|
|
|
- display: flex; /* 启用 Flex 布局 */
|
|
|
|
|
|
|
+ display: flex; /* 启用 Flex 布局 */
|
|
|
align-items: center; /* 垂直居中 */
|
|
align-items: center; /* 垂直居中 */
|
|
|
- gap: 8px; /* 图标与文字间距 */
|
|
|
|
|
|
|
+ gap: 8px; /* 图标与文字间距 */
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.custom-tree-node {
|
|
.custom-tree-node {
|
|
|
flex: 1;
|
|
flex: 1;
|
|
|
display: flex;
|
|
display: flex;
|
|
|
- align-items: center;
|
|
|
|
|
|
|
+ align-items: center;
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
|
font-size: 14px;
|
|
font-size: 14px;
|
|
|
padding-right: 8px;
|
|
padding-right: 8px;
|