|
|
@@ -579,8 +579,13 @@
|
|
|
<layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
|
|
|
<div class="JKWTree-tree" style="height: 200px">
|
|
|
<h3> 产品管理</h3>
|
|
|
- <el-tree :data="treeData" @node-click="handleNodeClick" @node-expand="handleNodeExpand">
|
|
|
- <template #default="{node,data}">{{data['客户编号']}}【{{data['客户名称']}}】</template>
|
|
|
+<!-- <el-tree :data="treeData" @node-click="handleNodeClick" @node-expand="handleNodeExpand">-->
|
|
|
+<!-- <template #default="{node,data}">{{data['客户编号']}}【{{data['客户名称']}}】</template>-->
|
|
|
+<!-- </el-tree>-->
|
|
|
+ <el-tree :data="treeData" node-key="label" @node-click="handleNodeClick" @node-expand="handleNodeExpand">
|
|
|
+ <template #default="{ node, data }">
|
|
|
+ {{ node.label }}
|
|
|
+ </template>
|
|
|
</el-tree>
|
|
|
</div>
|
|
|
</layout-sider>
|
|
|
@@ -620,22 +625,14 @@
|
|
|
<el-table-column sortable align="left" label="更新日期" prop="Mod_rq" width="160" />
|
|
|
</el-table>
|
|
|
<div class="gva-pagination">
|
|
|
-<!-- <el-pagination-->
|
|
|
-<!-- @size-change="handleSizeChange"-->
|
|
|
-<!-- @current-change="handleCurrentChange"-->
|
|
|
-<!-- :current-page="page"-->
|
|
|
-<!-- :page-sizes="[10, 30, 50, 100]"-->
|
|
|
-<!-- :page-size="pageSize"-->
|
|
|
-<!-- layout="total, sizes, prev, pager, next, jumper"-->
|
|
|
-<!-- :total="total">-->
|
|
|
-<!-- </el-pagination>-->
|
|
|
+<!-- // 组件中使用 pagination 对象-->
|
|
|
<el-pagination
|
|
|
@size-change="handleSizeChange"
|
|
|
@current-change="handleCurrentChange"
|
|
|
- :current-page="page"
|
|
|
+ :current-page="pagination.page"
|
|
|
:page-sizes="[10, 30, 50, 100]"
|
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
|
- :total="total">
|
|
|
+ :total="pagination.total">
|
|
|
</el-pagination>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -2438,10 +2435,25 @@ const hscstzCancel = () => {hscstzlist.value = false;};
|
|
|
const treeData = ref({})
|
|
|
const getCustomdata = async () => {
|
|
|
try {
|
|
|
- const data = await getCustom()
|
|
|
- console.log("左侧菜单列表↓")
|
|
|
- console.log(data)
|
|
|
- treeData.value = data.data;
|
|
|
+ // const data = await getCustom()
|
|
|
+ // console.log("左侧菜单列表↓")
|
|
|
+ // console.log(data)
|
|
|
+ // treeData.value = data.data;
|
|
|
+ const response = await getCustom();
|
|
|
+ console.log("左侧菜单列表↓");
|
|
|
+ console.log(response);
|
|
|
+ const formattedData = [];
|
|
|
+ for (const category in response.data) {
|
|
|
+ const categoryNode = {
|
|
|
+ label: category, // 使用分类名称作为节点标签
|
|
|
+ children: response.data[category].map(item => ({
|
|
|
+ label: `${item['客户编号']}【${item['客户名称']}】`, // 将客户信息格式化为节点标签
|
|
|
+ ...item // 保留原始数据,可能在后面需要使用
|
|
|
+ }))
|
|
|
+ };
|
|
|
+ formattedData.push(categoryNode);
|
|
|
+ }
|
|
|
+ treeData.value = formattedData;
|
|
|
} catch (error) {
|
|
|
console.error('Error fetching custom data:', error);
|
|
|
}
|
|
|
@@ -2452,6 +2464,11 @@ getCustomdata()
|
|
|
const tableData = reactive([])
|
|
|
const _custom_code = ref(null)
|
|
|
const handleNodeClick = async (node) => {
|
|
|
+ if(node.label === '印刷产品' || node.label === '糊盒产品'){
|
|
|
+ tableData.splice(0);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ console.log(node.客户编号)
|
|
|
_custom_code.value = node.客户编号;
|
|
|
//清空搜索框
|
|
|
searchInfo.value = '';
|
|
|
@@ -2477,7 +2494,7 @@ const tableRowClick = async (row) => {
|
|
|
_product_code.value = row.产品编号;
|
|
|
_kehu_code.value = row.产品名称;
|
|
|
const res = await getProductData({product_code:_product_code.value});
|
|
|
- console.log("点击表格行 下方表格获取数据")
|
|
|
+ console.log(row.产品编号 + "--->下方表格获取数据")
|
|
|
console.log(res)
|
|
|
yjtableData.splice(0, yjtableData.length, ...res.data.yjData);
|
|
|
gytableData.splice(0, gytableData.length, ...res.data.gyData);
|
|
|
@@ -2490,8 +2507,6 @@ const tableRowClick = async (row) => {
|
|
|
tmp = tmp.sort((a,b)=>b-a)
|
|
|
yjzuidahaoma.value = Number(tmp[0]) + 1
|
|
|
}
|
|
|
- // console.log(yjzuidahaoma.value)
|
|
|
- // yjzuidahaoma.value = yjtableData.length+1
|
|
|
};
|
|
|
|
|
|
//搜索查询
|
|
|
@@ -2502,40 +2517,52 @@ const onSubmit = () => {
|
|
|
_getProduct();
|
|
|
};
|
|
|
|
|
|
-//封装获取单个产品基础数据方法
|
|
|
-const _getProduct = async ()=>{
|
|
|
- let params = {}
|
|
|
- params.search = searchInfo.value;
|
|
|
- params.custom_code = _custom_code.value;
|
|
|
- params.limit = pageSize.value;
|
|
|
- params.page = page.value;
|
|
|
+// 分页参数和表格数据作为响应式对象
|
|
|
+const pagination = reactive({
|
|
|
+ page: 1,
|
|
|
+ total: 0,
|
|
|
+ pageSize: 10,
|
|
|
+ isLoading: false, // 加载状态
|
|
|
+});
|
|
|
+// 封装获取单个产品基础数据方法
|
|
|
+const _getProduct = async () => {
|
|
|
+ let params = {
|
|
|
+ search: searchInfo.value,
|
|
|
+ custom_code: _custom_code.value,
|
|
|
+ limit: pagination.pageSize,
|
|
|
+ page: pagination.page,
|
|
|
+ };
|
|
|
+ console.log(params);
|
|
|
+ pagination.isLoading = true; // 开始加载
|
|
|
try {
|
|
|
const WorkListdata = await getProduct(params);
|
|
|
- console.log("通过左侧菜单列表获取数据↓")
|
|
|
- console.log(WorkListdata.data.data)
|
|
|
- if(WorkListdata.data.data === []){
|
|
|
- ElMessage({type: 'warning',message: '未查询到搜索条件'})
|
|
|
- }else{
|
|
|
- tableData.splice(0, tableData.length, ...WorkListdata.data.data);//表格
|
|
|
- total.value = WorkListdata.data.total;//共多少条
|
|
|
+ console.log("通过左侧菜单列表获取数据↓");
|
|
|
+ console.log(WorkListdata.data.data);
|
|
|
+ if (WorkListdata.data.data.length === 0) {
|
|
|
+ ElMessage({ type: 'warning', message: '未查询到搜索条件' });
|
|
|
+ tableData.length = 0; // 清空表格数据
|
|
|
+ pagination.total = 0; // 重置总数
|
|
|
+ } else {
|
|
|
+ tableData.splice(0, tableData.length, ...WorkListdata.data.data); // 更新表格数据
|
|
|
+ pagination.total = WorkListdata.data.total; // 更新总数
|
|
|
}
|
|
|
} catch (error) {
|
|
|
console.error(error);
|
|
|
+ ElMessage({ type: 'error', message: '数据加载失败' });
|
|
|
+ } finally {
|
|
|
+ pagination.isLoading = false; // 结束加载
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
-// 分页
|
|
|
-const page = ref(1)
|
|
|
-const total = ref(0)
|
|
|
-const pageSize = ref(30)
|
|
|
+// 分页处理函数
|
|
|
const handleCurrentChange = (val) => {
|
|
|
- page.value = val;
|
|
|
+ pagination.page = val;
|
|
|
_getProduct();
|
|
|
};
|
|
|
|
|
|
-// 修改页面容量 点击多少条/页
|
|
|
const handleSizeChange = (val) => {
|
|
|
- pageSize.value = val;
|
|
|
+ pagination.pageSize = val;
|
|
|
+ pagination.page = 1; // 修改每页数量时重置到第一页
|
|
|
_getProduct();
|
|
|
};
|
|
|
|