From b0e84af3dafe8984b69858c4420b5611c9b58f30 Mon Sep 17 00:00:00 2001
From: CD配唱片 <CD配唱片>
Date: 星期四, 24 四月 2025 15:17:00 +0800
Subject: [PATCH] 提交工艺路线的表格触底加载
---
/dev/null | 233 ------------
src/views/mainPlan/gasPlanning/index.vue | 89 ++++
src/components/HxlhTable/index.vue | 388 +++++++++++---------
src/views/mainPlan/plateProcessStat/index.vue | 1
src/views/basicData/processRoute/index.vue | 410 ++++++++++++--------
src/views/mainPlan/platePlanList/index.vue | 2
6 files changed, 543 insertions(+), 580 deletions(-)
diff --git a/src/components/HxlhTable/index.vue b/src/components/HxlhTable/index.vue
index 53c7fab..34bc34e 100644
--- a/src/components/HxlhTable/index.vue
+++ b/src/components/HxlhTable/index.vue
@@ -1,180 +1,185 @@
<template>
- <div class="hxlh-table">
- <vxe-grid
- ref="vxeTable"
- :show-header-overflow="true"
- :show-overflow="showOverflow"
- :stripe="true"
- :border="true"
- :show-footer="showfooter"
- header-align="center"
- highlight-hover-column
- highlight-hover-row
- resizable
- size="small"
- :loading="loading"
- :pager-config="tablePage"
- :form-config="tableForm"
- :columns="columns"
- :column-config="{resizable: true}"
- :data.sync="data"
- :checkbox-config="checkboxConfig"
- :height="height"
- :max-height="maxHeight"
- :toolbar="toolbar"
- :reload-data="reloadData"
- :footer-method="footerMethod"
- :footer-cell-class-name="footerCellClassName"
- :scroll-x="{enabled: true}"
- :scroll-y="{enabled: true}"
- row-height="auto"
- :expand-config="expandConfig"
- :tree-config="treeConfig"
- :row-style="rowStyle"
- @sort-change="sortChange"
- @page-change="pagerChange"
- @form-submit="findList"
- @checkbox-change="checkChange"
- @checkbox-all="checkChangeall"
- >
- <template v-slot:buttons="row">
- <slot name="buttons" v-bind="row"/>
- </template>
- <template #expandContent="{ row }">
- <vxe-grid v-bind="subGridOptions" :data="row.subList">
- </vxe-grid>
- </template>
- <template v-slot:status="row" >
- <slot name="status" v-bind="row"/>
- </template>
- <template v-slot:mark="row" >
- <slot name="mark" v-bind="row"/>
- </template>
- </vxe-grid>
- </div>
- </template>
-
+ <div class="hxlh-table">
+ <vxe-grid
+ ref="vxeTable"
+ :show-header-overflow="true"
+ :show-overflow="showOverflow"
+ :stripe="true"
+ :border="true"
+ :show-footer="showfooter"
+ header-align="center"
+ highlight-hover-column
+ highlight-hover-row
+ resizable
+ size="small"
+ :loading="loading"
+ :pager-config="tablePage"
+ :form-config="tableForm"
+ :columns="columns"
+ :column-config="{ resizable: true }"
+ :data.sync="data"
+ :checkbox-config="checkboxConfig"
+ :height="height"
+ :max-height="maxHeight"
+ :toolbar="toolbar"
+ :reload-data="reloadData"
+ :footer-method="footerMethod"
+ :footer-cell-class-name="footerCellClassName"
+ :scroll-x="{ enabled: true }"
+ :scroll-y="{ enabled: true }"
+ row-height="auto"
+ :expand-config="expandConfig"
+ :tree-config="treeConfig"
+ :row-style="rowStyle"
+ :virtualYConfig="virtualYConfig"
+ @sort-change="sortChange"
+ @page-change="pagerChange"
+ @form-submit="findList"
+ @checkbox-change="checkChange"
+ @checkbox-all="checkChangeall"
+ @scroll-boundary="scrollBoundaryEvent"
+ >
+ <template v-slot:buttons="row">
+ <slot name="buttons" v-bind="row" />
+ </template>
+ <template #expandContent="{ row }">
+ <vxe-grid v-bind="subGridOptions" :data="row.subList"> </vxe-grid>
+ </template>
+ <template v-slot:status="row">
+ <slot name="status" v-bind="row" />
+ </template>
+ <template v-slot:mark="row">
+ <slot name="mark" v-bind="row" />
+ </template>
+ </vxe-grid>
+ </div>
+</template>
+
<script setup>
// 鑾峰彇 Vuex 瀛樺偍瀹炰緥
// const useStore = useStore();
const props = defineProps({
-/* table 鍙傛暟*/
-showOverflow: {
+ /* table 鍙傛暟*/
+ showOverflow: {
type: Boolean,
default: () => {
- return true
- }
-},
-columns: {
+ return true;
+ },
+ },
+ columns: {
type: Array,
default: () => {
- return []
- }
-},
-showfooter: {
+ return [];
+ },
+ },
+ showfooter: {
type: Boolean,
default: () => {
- return false
- }
-},
-toolbar: {
+ return false;
+ },
+ },
+ toolbar: {
type: Object,
default: () => {
- return {
- id: 'khjgz',
- zoom: true,
- resizable: {
- storage: true
- },
- custom: {
- storage: true
- },
- slots: {
- buttons: 'buttons'
- }
- }
- }
-},
-data: {
+ return {
+ id: "khjgz",
+ zoom: true,
+ resizable: {
+ storage: true,
+ },
+ custom: {
+ storage: true,
+ },
+ slots: {
+ buttons: "buttons",
+ },
+ };
+ },
+ },
+ data: {
type: Array,
default: () => {
- return []
- }
-},
-loading: {
+ return [];
+ },
+ },
+ loading: {
type: Boolean,
- default: false
-},
-page: {
+ default: false,
+ },
+ page: {
type: Object,
- default: function() {
- return null
- }
-},
-checkboxConfig: {
+ default: function () {
+ return null;
+ },
+ },
+ checkboxConfig: {
type: Object,
default: () => {
- return {}
- }
-},
-maxHeight: {
+ return {};
+ },
+ },
+ maxHeight: {
type: String,
default: () => {
- return ''
- }
-},
-height: {
+ return "";
+ },
+ },
+ height: {
type: String,
default: () => {
- return ''
- }
-},
-reloadData: {
+ return "";
+ },
+ },
+ reloadData: {
type: Function,
default: () => {
- return {}
- }
-},
-footerCellClassName: {
+ return {};
+ },
+ },
+ footerCellClassName: {
type: Function,
default: () => {
- return {}
- }
-},
-mxTableFootData: {
+ return {};
+ },
+ },
+ mxTableFootData: {
type: Array,
default: () => {
- return []
- }
-},
-expandConfig: {
+ return [];
+ },
+ },
+ expandConfig: {
type: Object,
default: () => {
- return {lazy: false}
- }
-},
-subGridOptions: {
- type:Object,
- default :()=>{
- return {}
- }
-},
-treeConfig: {
+ return { lazy: false };
+ },
+ },
+ subGridOptions: {
type: Object,
default: () => {
- return {}
- }
-},
-rowStyle: {
+ return {};
+ },
+ },
+ treeConfig: {
+ type: Object,
+ default: () => {
+ return {};
+ },
+ },
+ rowStyle: {
type: Function,
default: () => {
- return {}
- }
-},
-
-})
-
+ return {};
+ },
+ },
+ virtualYConfig:{
+ type: Object,
+ default: () => {
+ return {};
+ },
+ }
+});
const tableForm = ref([]);
@@ -182,55 +187,72 @@
const emit = defineEmits();
function pagerChange({ type, currentPage, pageSize }) {
- if (type == 'current') {
- emit("changePageNo", currentPage);
- } else if (type == 'size') {
- emit('changePageSize', pageSize)
- }
+ if (type == "current") {
+ emit("changePageNo", currentPage);
+ } else if (type == "size") {
+ emit("changePageSize", pageSize);
+ }
}
function findList() {}
function sortChange({ column, property, order }) {
- emit('sortTable', property, order)
+ emit("sortTable", property, order);
}
function checkChange(info) {
- const { records, checked, row, rowIndex } = info
- emit('on-checkbox', { records, rowIndex, checked })
+ const { records, checked, row, rowIndex } = info;
+ emit("on-checkbox", { records, rowIndex, checked });
}
function checkChangeall(info) {
- const { records, checked, row } = info
- emit('on-checkbox', { records, rowIndex: null, checked })
+ const { records, checked, row } = info;
+ emit("on-checkbox", { records, rowIndex: null, checked });
}
// 瀹氫箟 footerMethod 鍑芥暟
function footerMethod({ columns, data }) {
// 瑙﹀彂 footerMethod 浜嬩欢
- emit('footerMethod', { columns, data });
+ emit("footerMethod", { columns, data });
// 杩斿洖 Vuex 涓殑 hxlhTableFootData 鐘舵��
-// return useStore.state.hxlhTableFootData;
-};
-
+ // return useStore.state.hxlhTableFootData;
+}
+function scrollBoundaryEvent ({ direction }) {
+ switch (direction) {
+ case 'top':
+ console.log('瑙﹀彂椤堕儴闃堝�艰寖鍥�')
+ break
+ case 'bottom':
+ console.log('瑙﹀彂搴曢儴闃堝�艰寖鍥�')
+ // this.loadList(20)
+ emit('bottomAutoLoadMore')
+ break
+ case 'left':
+ console.log('瑙﹀彂宸︿晶闃堝�艰寖鍥�')
+ break
+ case 'right':
+ console.log('瑙﹀彂鍙充晶闃堝�艰寖鍥�')
+ break
+ }
+}
function handleSum(list, field) {
- var total = 0
- for (var index = 0; index < list.length; index++) {
- total += Number(list[index][field] || 0)
- }
- return total
+ var total = 0;
+ for (var index = 0; index < list.length; index++) {
+ total += Number(list[index][field] || 0);
+ }
+ return total;
}
const vxeTable = ref(null);
// 鍦ㄥ�煎彂鐢熸敼鍙樻椂鏇存柊琛ㄥ熬鍚堣
function updateFooter(params) {
- const xTable = vxeTable.value
- xTable.updateFooter()
+ const xTable = vxeTable.value;
+ xTable.updateFooter();
}
// 鍙栨秷澶嶉�夋閫夋嫨
function clearCheckboxRow() {
- const xTable = vxeTable.value
- xTable.clearCheckboxRow()
+ const xTable = vxeTable.value;
+ xTable.clearCheckboxRow();
}
// 瀹氫箟 tablePage 璁$畻灞炴��
@@ -242,10 +264,19 @@
total: props.page.total,
currentPage: props.page.current,
pageSize: props.page.size,
- align: 'left',
+ align: "left",
pageSizes: [10, 20, 50, 100, 500],
- layouts: ['PrevJump', 'PrevPage', 'Number', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total'],
- perfect: true
+ layouts: [
+ "PrevJump",
+ "PrevPage",
+ "Number",
+ "NextPage",
+ "NextJump",
+ "Sizes",
+ "FullJump",
+ "Total",
+ ],
+ perfect: true,
};
});
@@ -273,17 +304,16 @@
</script>
<style lang="scss">
- .hxlh-table .vxe-toolbar .vxe-tools--operate {
- margin-top: -23px;
- }
+.hxlh-table .vxe-toolbar .vxe-tools--operate {
+ margin-top: -23px;
+}
- .hxlh-table .vxe-toolbar {
- min-height: 52px;
- height: auto;
- }
+.hxlh-table .vxe-toolbar {
+ min-height: 52px;
+ height: auto;
+}
- .vxe-table .vxe-footer--column.col-red {
- color: red;
- }
-
-</style>
\ No newline at end of file
+.vxe-table .vxe-footer--column.col-red {
+ color: red;
+}
+</style>
diff --git a/src/views/basicData/processRoute/index.vue b/src/views/basicData/processRoute/index.vue
index 38a4cd4..cdad7f9 100644
--- a/src/views/basicData/processRoute/index.vue
+++ b/src/views/basicData/processRoute/index.vue
@@ -1,23 +1,27 @@
<template>
<div class="app-container">
- <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="90px">
+ <el-form
+ :model="queryParams"
+ ref="queryRef"
+ :inline="true"
+ v-show="showSearch"
+ label-width="90px"
+ >
<el-row :gutter="20">
- <el-col
- :span="6">
- <el-form-item label="闆嗘垚鏃ユ湡" style="width: 308px">
- <el-date-picker
- v-model="daterangeIntegrationDay"
- value-format="YYYY-MM-DD HH:mm:ss"
- type="daterange"
- range-separator="-"
- start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡"
- ></el-date-picker>
- </el-form-item>
+ <el-col :span="6">
+ <el-form-item label="闆嗘垚鏃ユ湡" style="width: 308px">
+ <el-date-picker
+ v-model="daterangeIntegrationDay"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ type="daterange"
+ range-separator="-"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ ></el-date-picker>
+ </el-form-item>
</el-col>
- <el-col
- :span="6">
- <el-form-item label="鏂欏彿" prop="itemNo">
+ <el-col :span="6">
+ <el-form-item label="鏂欏彿" prop="itemNo">
<el-input
v-model="queryParams.itemNo"
placeholder="璇疯緭鍏ユ枡鍙�"
@@ -26,26 +30,27 @@
/>
</el-form-item>
</el-col>
- <el-col
- :span="12"
- style="text-align: right;">
- <el-form-item>
- <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button>
- <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
- </el-form-item>
+ <el-col :span="12" style="text-align: right">
+ <el-form-item>
+ <el-button type="primary" icon="Search" @click="handleQuery"
+ >鎼滅储</el-button
+ >
+ <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
+ </el-form-item>
</el-col>
- </el-row>
+ </el-row>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
- <el-button
- type="info"
- plain
- icon="Upload"
- @click="handleImport"
+ <el-button
+ type="info"
+ plain
+ icon="Upload"
+ @click="handleImport"
v-hasPermi="['processRoute:processRoute:importData']"
- >瀵煎叆</el-button>
+ >瀵煎叆</el-button
+ >
</el-col>
<el-col :span="1.5">
<el-button
@@ -54,39 +59,65 @@
icon="Download"
@click="handleExport"
v-hasPermi="['processRoute:processRoute:export']"
- >瀵煎嚭</el-button>
+ >瀵煎嚭</el-button
+ >
</el-col>
- <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
+ <right-toolbar
+ v-model:showSearch="showSearch"
+ @queryTable="getList"
+ ></right-toolbar>
</el-row>
<HxlhTable
- style="width: 100%"
- :columns="columns"
- :data="processRouteList"
- :loading="loading"
- :height="height"
- @on-checkbox="handleCheckboxChange"
+ style="width: 100%"
+ :columns="columns"
+ :virtualYConfig="virtualYConfig"
+ :data="processRouteList"
+ :loading="loading"
+ :height="height"
+ @bottomAutoLoadMore="handleAutoLoadMore"
+ @on-checkbox="handleCheckboxChange"
>
</HxlhTable>
- <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
- <el-dialog :title="upload.title" v-model="upload.open" width="90%" append-to-body @close="dialogCancel">
+ <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
+ <el-dialog
+ :title="upload.title"
+ v-model="upload.open"
+ width="90%"
+ append-to-body
+ @close="dialogCancel"
+ >
<el-row :gutter="10">
<el-col>
- <div style="border-bottom: 1px solid #ccc;" >
- <p>涓婁紶Excel鏂囦欢锛屽寘鍚伐鑹鸿矾绾夸俊鎭�傜郴缁熷皢瑙f瀽鏁版嵁骞朵繚瀛樺埌鏈湴锛岀敤浜庡叧鑱斿埌闆朵欢璁″垝涓��</p>
+ <div style="border-bottom: 1px solid #ccc">
+ <p>
+ 涓婁紶Excel鏂囦欢锛屽寘鍚伐鑹鸿矾绾夸俊鎭�傜郴缁熷皢瑙f瀽鏁版嵁骞朵繚瀛樺埌鏈湴锛岀敤浜庡叧鑱斿埌闆朵欢璁″垝涓��
+ </p>
</div>
</el-col>
- <el-col >
+ <el-col>
<div></div>
</el-col>
</el-row>
- <el-row :gutter="10" style="margin-top: 20px;">
- </el-row>
+ <el-row :gutter="10" style="margin-top: 20px"> </el-row>
<el-row>
<el-col>
- <el-upload ref="uploadRef" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="true" drag>
+ <el-upload
+ ref="uploadRef"
+ :limit="1"
+ accept=".xlsx, .xls"
+ :headers="upload.headers"
+ :action="upload.url + '?updateSupport=' + upload.updateSupport"
+ :disabled="upload.isUploading"
+ :on-progress="handleFileUploadProgress"
+ :on-success="handleFileSuccess"
+ :auto-upload="true"
+ drag
+ >
<el-icon class="el-icon--upload"><upload-filled /></el-icon>
- <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
+ <div class="el-upload__text">
+ 灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em>
+ </div>
<template #tip>
<div class="el-upload__tip">
<span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span>
@@ -96,12 +127,24 @@
</el-col>
</el-row>
<el-row>
- <el-col style="margin-top: 20px;">
+ <el-col style="margin-top: 20px">
<div v-show="isVisible">
- <el-alert icon="Check" :show-icon="true" title="宸ヨ壓璺嚎鏁版嵁宸叉垚鍔熻В鏋�" type="success" :closable="false"/>
+ <el-alert
+ icon="Check"
+ :show-icon="true"
+ title="宸ヨ壓璺嚎鏁版嵁宸叉垚鍔熻В鏋�"
+ type="success"
+ :closable="false"
+ />
</div>
<div v-show="isError">
- <el-alert icon="Close" :show-icon="true" title="宸ヨ壓璺嚎鏁版嵁宸茶В鏋愬け璐�" type="error" :closable="false"/>
+ <el-alert
+ icon="Close"
+ :show-icon="true"
+ title="宸ヨ壓璺嚎鏁版嵁宸茶В鏋愬け璐�"
+ type="error"
+ :closable="false"
+ />
</div>
</el-col>
</el-row>
@@ -121,8 +164,11 @@
</HxlhTable>
</el-col>
<el-col>
- <div style="text-align: right;">
- <h4>鍏变笂浼�<span style="color: blue;">{{ total }}</span>鏉″伐鑹鸿矾绾挎暟鎹�</h4>
+ <div style="text-align: right">
+ <h4>
+ 鍏变笂浼�<span style="color: blue">{{ total }}</span
+ >鏉″伐鑹鸿矾绾挎暟鎹�
+ </h4>
</div>
</el-col>
</el-row>
@@ -135,7 +181,8 @@
:disabled="planned"
@click="uploadParse"
v-hasPermi="['processRoute:processRoute:confirmProcessRoute']"
- >纭涓婁紶</el-button>
+ >纭涓婁紶</el-button
+ >
<el-button @click="dialogCancel">鍙� 娑�</el-button>
</div>
</template>
@@ -144,11 +191,19 @@
</template>
<script setup name="ProcessRoute">
-import { listProcessRoute, getProcessRoute, delProcessRoute, addProcessRoute, updateProcessRoute,processRouteTempList,confirmProcessRoute } from "@/api/basicData/processRoute";
-import HxlhTable from '@/components/HxlhTable'
+import {
+ listProcessRoute,
+ getProcessRoute,
+ delProcessRoute,
+ addProcessRoute,
+ updateProcessRoute,
+ processRouteTempList,
+ confirmProcessRoute,
+} from "@/api/basicData/processRoute";
+import HxlhTable from "@/components/HxlhTable";
import { getToken } from "@/utils/auth";
import { ref } from "vue";
-import { ElMessage } from 'element-plus'
+import { ElMessage } from "element-plus";
const { proxy } = getCurrentInstance();
const processRouteList = ref([]);
@@ -162,7 +217,7 @@
const title = ref("");
const daterangeIntegrationDay = ref([]);
//寮圭獥鐩稿叧
-const height = ref(document.documentElement.clientHeight - 260 + "px;")
+const height = ref(document.documentElement.clientHeight - 260 + "px;");
const isVisible = ref(false);
const isError = ref(false);
const planned = ref(true);
@@ -170,6 +225,11 @@
const exampleHeight = ref("500px");
const uploadRef = ref();
const exampleList = ref([]);
+const virtualYConfig = {
+ enabled: true,
+ gt: 0,
+ threshold: 50,
+};
/*** 鐢ㄦ埛瀵煎叆鍙傛暟 */
const upload = reactive({
// 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
@@ -183,154 +243,154 @@
// 璁剧疆涓婁紶鐨勮姹傚ご閮�
headers: { Authorization: "Bearer " + getToken() },
// 涓婁紶鐨勫湴鍧�
- url: import.meta.env.VITE_APP_BASE_API + "/aps/processRoute/importData"
+ url: import.meta.env.VITE_APP_BASE_API + "/aps/processRoute/importData",
});
-// 琛ㄦ牸閰嶇疆-鍒楄〃
+// 琛ㄦ牸閰嶇疆-鍒楄〃
const columns = ref([
- { type: 'checkbox', width: 60, align:"center"},
- { type: 'seq', title: '搴忓彿', width: 60 },
+ { type: "checkbox", width: 60, align: "center" },
+ { type: "seq", title: "搴忓彿", width: 60 },
{
- title: '鏂欏彿',
- field: 'itemNo',
+ title: "鏂欏彿",
+ field: "itemNo",
width: 150,
- align:"center",
+ align: "center",
},
{
- title: '宸ュ崟鍙�',
- field: 'workOrderNo',
+ title: "宸ュ崟鍙�",
+ field: "workOrderNo",
width: 150,
- align:"center",
+ align: "center",
},
{
- title: '宸ュ簭搴忓彿',
- field: 'processNumber',
+ title: "宸ュ簭搴忓彿",
+ field: "processNumber",
width: 100,
- align:"center",
+ align: "center",
},
{
- title: '宸ュ簭鍚嶇О',
- field: 'processName',
+ title: "宸ュ簭鍚嶇О",
+ field: "processName",
width: 150,
- align:"center",
+ align: "center",
},
{
- title: '宸ュ簭璁″垝寮�濮嬫棩鏈�',
- field: 'processPlanStartDay',
+ title: "宸ュ簭璁″垝寮�濮嬫棩鏈�",
+ field: "processPlanStartDay",
width: 200,
- align:"center",
+ align: "center",
},
{
- title: '宸ュ簭璁″垝缁撴潫鏃ユ湡',
- field: 'processPlanEndDay',
+ title: "宸ュ簭璁″垝缁撴潫鏃ユ湡",
+ field: "processPlanEndDay",
width: 200,
- align:"center",
+ align: "center",
},
{
- title: '鏈紑宸ユ暟閲�',
- field: 'notStartWorkCount',
+ title: "鏈紑宸ユ暟閲�",
+ field: "notStartWorkCount",
width: 90,
- align:"center",
+ align: "center",
},
{
- title: '宸插畬鎴愭暟閲�',
- field: 'completedCount',
+ title: "宸插畬鎴愭暟閲�",
+ field: "completedCount",
width: 90,
- align:"center",
+ align: "center",
},
{
- title: '搴熷純鏁伴噺',
- field: 'discardCount',
+ title: "搴熷純鏁伴噺",
+ field: "discardCount",
width: 90,
- align:"center",
+ align: "center",
},
{
- title: '鏍囧噯宸ユ椂',
- field: 'standardTime',
+ title: "鏍囧噯宸ユ椂",
+ field: "standardTime",
width: 90,
- align:"center",
+ align: "center",
},
{
- title: '宸ュ簭鎺掑簭',
- field: 'processOrder',
+ title: "宸ュ簭鎺掑簭",
+ field: "processOrder",
width: 90,
- align:"center",
+ align: "center",
},
{
- title: '闆嗘垚鏃ユ湡',
- field: 'integrationDay',
+ title: "闆嗘垚鏃ユ湡",
+ field: "integrationDay",
width: 160,
- align:"center",
- }
+ align: "center",
+ },
]);
// 琛ㄦ牸閰嶇疆-寮圭獥
const exampleColumns = ref([
- { type: 'seq', title: '搴忓彿', width: 60 },
+ { type: "seq", title: "搴忓彿", width: 60 },
{
- title: '鏂欏彿',
- field: 'itemNo',
+ title: "鏂欏彿",
+ field: "itemNo",
width: 150,
- align:"center",
+ align: "center",
},
{
- title: '宸ュ崟鍙�',
- field: 'workOrderNo',
+ title: "宸ュ崟鍙�",
+ field: "workOrderNo",
width: 150,
- align:"center",
+ align: "center",
},
{
- title: '宸ュ簭搴忓彿',
- field: 'processNumber',
+ title: "宸ュ簭搴忓彿",
+ field: "processNumber",
width: 85,
- align:"center",
+ align: "center",
},
{
- title: '宸ュ簭鍚嶇О',
- field: 'processName',
+ title: "宸ュ簭鍚嶇О",
+ field: "processName",
width: 150,
- align:"center",
+ align: "center",
},
{
- title: '宸ュ簭璁″垝寮�濮嬫棩鏈�',
- field: 'processPlanStartDay',
+ title: "宸ュ簭璁″垝寮�濮嬫棩鏈�",
+ field: "processPlanStartDay",
width: 200,
- align:"center",
+ align: "center",
},
{
- title: '宸ュ簭璁″垝缁撴潫鏃ユ湡',
- field: 'processPlanEndDay',
+ title: "宸ュ簭璁″垝缁撴潫鏃ユ湡",
+ field: "processPlanEndDay",
width: 200,
- align:"center",
+ align: "center",
},
{
- title: '鏈紑宸ユ暟閲�',
- field: 'notStartWorkCount',
+ title: "鏈紑宸ユ暟閲�",
+ field: "notStartWorkCount",
width: 140,
- align:"center",
+ align: "center",
},
{
- title: '宸插畬鎴愭暟閲�',
- field: 'completedCount',
+ title: "宸插畬鎴愭暟閲�",
+ field: "completedCount",
width: 140,
- align:"center",
+ align: "center",
},
{
- title: '搴熷純鏁伴噺',
- field: 'discardCount',
+ title: "搴熷純鏁伴噺",
+ field: "discardCount",
width: 140,
- align:"center",
+ align: "center",
},
{
- title: '鏍囧噯宸ユ椂',
- field: 'standardTime',
+ title: "鏍囧噯宸ユ椂",
+ field: "standardTime",
width: 140,
- align:"center",
+ align: "center",
},
{
- title: '宸ュ簭鎺掑簭',
- field: 'processOrder',
+ title: "宸ュ簭鎺掑簭",
+ field: "processOrder",
width: 140,
- align:"center",
+ align: "center",
},
// {
// title: '闆嗘垚鏃ユ湡',
@@ -343,12 +403,11 @@
form: {},
queryParams: {
pageNum: 1,
- pageSize: 10,
+ pageSize: 10000,
itemNo: null,
integrationDay: null,
},
- rules: {
- }
+ rules: {},
});
const { queryParams, form, rules } = toRefs(data);
@@ -357,17 +416,23 @@
function getList() {
loading.value = true;
queryParams.value.params = {};
- if (null != daterangeIntegrationDay && '' != daterangeIntegrationDay) {
- queryParams.value.params["beginIntegrationDay"] = daterangeIntegrationDay.value[0];
- queryParams.value.params["endIntegrationDay"] = daterangeIntegrationDay.value[1];
+ if (null != daterangeIntegrationDay && "" != daterangeIntegrationDay) {
+ queryParams.value.params["beginIntegrationDay"] =
+ daterangeIntegrationDay.value[0];
+ queryParams.value.params["endIntegrationDay"] =
+ daterangeIntegrationDay.value[1];
}
- listProcessRoute(queryParams.value).then(response => {
+ listProcessRoute(queryParams.value).then((response) => {
processRouteList.value = response.rows;
total.value = response.total;
loading.value = false;
});
}
+function handleAutoLoadMore(){
+ queryParams.value.pageNum++;
+ getList();
+}
// 鍙栨秷鎸夐挳
function cancel() {
open.value = false;
@@ -396,7 +461,7 @@
createBy: null,
createTime: null,
updateBy: null,
- updateTime: null
+ updateTime: null,
};
proxy.resetForm("processRouteRef");
}
@@ -416,7 +481,7 @@
// 澶氶�夋閫変腑鏁版嵁
function handleSelectionChange(selection) {
- ids.value = selection.map(item => item.id);
+ ids.value = selection.map((item) => item.id);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
@@ -431,8 +496,8 @@
/** 淇敼鎸夐挳鎿嶄綔 */
function handleUpdate(row) {
reset();
- const _id = row.id || ids.value
- getProcessRoute(_id).then(response => {
+ const _id = row.id || ids.value;
+ getProcessRoute(_id).then((response) => {
form.value = response.data;
open.value = true;
title.value = "淇敼宸ヨ壓璺嚎";
@@ -441,16 +506,16 @@
/** 鎻愪氦鎸夐挳 */
function submitForm() {
- proxy.$refs["processRouteRef"].validate(valid => {
+ proxy.$refs["processRouteRef"].validate((valid) => {
if (valid) {
if (form.value.id != null) {
- updateProcessRoute(form.value).then(response => {
+ updateProcessRoute(form.value).then((response) => {
proxy.$modal.msgSuccess("淇敼鎴愬姛");
open.value = false;
getList();
});
} else {
- addProcessRoute(form.value).then(response => {
+ addProcessRoute(form.value).then((response) => {
proxy.$modal.msgSuccess("鏂板鎴愬姛");
open.value = false;
getList();
@@ -463,25 +528,32 @@
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
function handleDelete(row) {
const _ids = row.id || ids.value;
- proxy.$modal.confirm('鏄惁纭鍒犻櫎宸ヨ壓璺嚎缂栧彿涓�"' + _ids + '"鐨勬暟鎹」锛�').then(function() {
- return delProcessRoute(_ids);
- }).then(() => {
- getList();
- proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
+ proxy.$modal
+ .confirm('鏄惁纭鍒犻櫎宸ヨ壓璺嚎缂栧彿涓�"' + _ids + '"鐨勬暟鎹」锛�')
+ .then(function () {
+ return delProcessRoute(_ids);
+ })
+ .then(() => {
+ getList();
+ proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
}
/** 瀵煎叆鎸夐挳鎿嶄綔 */
function handleImport() {
upload.title = "宸ヨ壓璺嚎鏁版嵁涓婁紶";
upload.open = true;
-};
+}
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
function handleExport() {
- proxy.download('aps/processRoute/export', {
- ...queryParams.value
- }, `processRoute_${new Date().getTime()}.xlsx`)
+ proxy.download(
+ "aps/processRoute/export",
+ {
+ ...queryParams.value,
+ },
+ `processRoute_${new Date().getTime()}.xlsx`
+ );
}
-
/**鏂囦欢涓婁紶涓鐞� */
const handleFileUploadProgress = (event, file, fileList) => {
@@ -490,15 +562,21 @@
/** 鏂囦欢涓婁紶鎴愬姛澶勭悊 */
const handleFileSuccess = (response, file, fileList) => {
- if(response.code == '200'){
+ if (response.code == "200") {
batchNumber.value = response.data;
isVisible.value = true;
planned.value = false;
isError.value = false;
getExampleList();
- }else{
+ } else {
isError.value = true;
- proxy.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true });
+ proxy.$alert(
+ "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
+ response.msg +
+ "</div>",
+ "瀵煎叆缁撴灉",
+ { dangerouslyUseHTMLString: true }
+ );
}
proxy.$refs["uploadRef"].handleRemove(file);
upload.isUploading = false;
@@ -508,7 +586,7 @@
loading.value = true;
queryParams.value = {};
queryParams.value.batchNumber = batchNumber.value;
- processRouteTempList(queryParams.value).then(response => {
+ processRouteTempList(queryParams.value).then((response) => {
exampleList.value = response.rows;
total.value = response.total;
loading.value = false;
@@ -518,7 +596,7 @@
function uploadParse() {
queryParams.value.params = {};
queryParams.value.params["batchNumber"] = batchNumber.value;
- confirmProcessRoute(queryParams.value).then(response => {
+ confirmProcessRoute(queryParams.value).then((response) => {
exampleList.value = response.rows;
loading.value = false;
isVisible.value = false;
@@ -526,15 +604,15 @@
planned.value = true;
upload.open = false;
ElMessage({
- message: '宸ヨ壓璺嚎鏁版嵁宸叉垚鍔熶笂浼犲拰瑙f瀽',
- type: 'success',
- })
+ message: "宸ヨ壓璺嚎鏁版嵁宸叉垚鍔熶笂浼犲拰瑙f瀽",
+ type: "success",
+ });
getList();
});
}
/** dialog鍙栨秷 */
-function dialogCancel(){
+function dialogCancel() {
if (uploadRef.value) {
uploadRef.value.clearFiles();
}
diff --git a/src/views/mainPlan/gasPlanning/index.vue b/src/views/mainPlan/gasPlanning/index.vue
new file mode 100644
index 0000000..3f10796
--- /dev/null
+++ b/src/views/mainPlan/gasPlanning/index.vue
@@ -0,0 +1,89 @@
+<template>
+ <HxlhTable
+ style="width: 100%"
+ :columns="columns"
+ :data="gasPlanList"
+ :loading="loading"
+ :height="height"
+ >
+ </HxlhTable>
+</template>
+<script setup>
+const height = ref(document.documentElement.clientHeight - 270 + "px;");
+const loading = ref(true);
+const gasPlanList = ref([]);
+// 琛ㄦ牸閰嶇疆
+const columns = ref([
+ {
+ title: "涓讳欢鏂欏彿",
+ field: "mainPartNumber",
+ width: 150,
+ },
+ {
+ title: "涓氬姟绫诲瀷",
+ field: "businessType",
+ },
+ {
+ title: "鍗曟嵁鍙�",
+ field: "documentNumber",
+ width: 100,
+ },
+ {
+ title: "褰撳墠宸ュ簭鍙�",
+ field: "currentProcessNumberTxt",
+ width: 100,
+ },
+ {
+ title: "闇�姹傚垎绫�",
+ field: "requirementType",
+ width: 80,
+ },
+ {
+ title: "鍗曟嵁鐘舵��",
+ field: "documentStatus",
+ width: 80,
+ },
+ {
+ title: "褰撳墠宸ュ簭",
+ field: "workCenter",
+ width: 80,
+ },
+ {
+ title: "璁″垝寮�宸ユ棩",
+ field: "processPlanStartDaytxt",
+ width: 140,
+ type: "html",
+ },
+ {
+ title: "鏂欏彿",
+ field: "itemNumber",
+ width: 140,
+ type: "html",
+ },
+ {
+ title: "鍥惧彿",
+ field: "drawingNo",
+ width: 120,
+ // format: 'YYYY-MM-DD'
+ },
+ {
+ title: "鐗堟湰鍙�",
+ field: "versionNumber",
+ width: 140,
+ type: "html",
+ },
+ {
+ title: "鐢熶骇鏁伴噺",
+ field: "productionQuantity",
+ width: 140,
+ type: "html",
+ },
+ {
+ title: "璁″垝瀹屽伐鏃�",
+ field: "planEndDay",
+ width: 140,
+ format: "YYYY-MM-DD hh:mm:ss",
+ },
+]);
+
+</script>
\ No newline at end of file
diff --git a/src/views/mainPlan/platePlanList/index copy.vue b/src/views/mainPlan/platePlanList/index copy.vue
deleted file mode 100644
index 785b128..0000000
--- a/src/views/mainPlan/platePlanList/index copy.vue
+++ /dev/null
@@ -1,233 +0,0 @@
-<template>
- <div class="app-container">
- <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
- <el-form-item>
- <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button>
- <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
- </el-form-item>
- </el-form>
-
- <el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
- <el-button
- type="primary"
- plain
- icon="Plus"
- @click="handleAdd"
- v-hasPermi="['ApsPlateProcessShopStat:ApsPlateProcessShopStat:add']"
- >鏂板</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="success"
- plain
- icon="Edit"
- :disabled="single"
- @click="handleUpdate"
- v-hasPermi="['ApsPlateProcessShopStat:ApsPlateProcessShopStat:edit']"
- >淇敼</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="danger"
- plain
- icon="Delete"
- :disabled="multiple"
- @click="handleDelete"
- v-hasPermi="['ApsPlateProcessShopStat:ApsPlateProcessShopStat:remove']"
- >鍒犻櫎</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="warning"
- plain
- icon="Download"
- @click="handleExport"
- v-hasPermi="['ApsPlateProcessShopStat:ApsPlateProcessShopStat:export']"
- >瀵煎嚭</el-button>
- </el-col>
- <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
- </el-row>
-
- <el-table v-loading="loading" :data="ApsPlateProcessShopStatList" @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="55" align="center" />
- <el-table-column label="${comment}" align="center" prop="id" />
- <el-table-column label="鍗曟嵁鍙�" align="center" prop="docNo" />
- <el-table-column label="杞﹂棿缂栫爜" align="center" prop="shopCode" />
- <el-table-column label="杞﹂棿鍚嶇О" align="center" prop="shopName" />
- <el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" prop="planStartDate" />
- <el-table-column label="璁″垝缁撴潫鏃ユ湡" align="center" prop="planEndDate" />
- <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
- <template #default="scope">
- <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['ApsPlateProcessShopStat:ApsPlateProcessShopStat:edit']">淇敼</el-button>
- <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['ApsPlateProcessShopStat:ApsPlateProcessShopStat:remove']">鍒犻櫎</el-button>
- </template>
- </el-table-column>
- </el-table>
-
- <pagination
- v-show="total>0"
- :total="total"
- v-model:page="queryParams.pageNum"
- v-model:limit="queryParams.pageSize"
- @pagination="getList"
- />
-
- <!-- 娣诲姞鎴栦慨鏀归挘閲戣溅闂寸粺璁″璇濇 -->
- <el-dialog :title="title" v-model="open" width="500px" append-to-body>
- <el-form ref="ApsPlateProcessShopStatRef" :model="form" :rules="rules" label-width="80px">
- </el-form>
- <template #footer>
- <div class="dialog-footer">
- <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
- <el-button @click="cancel">鍙� 娑�</el-button>
- </div>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script setup name="ApsPlateProcessShopStat">
-import { listApsPlateProcessShopStat, getApsPlateProcessShopStat, delApsPlateProcessShopStat, addApsPlateProcessShopStat, updateApsPlateProcessShopStat } from "@/api/ApsPlateProcessShopStat/ApsPlateProcessShopStat";
-
-const { proxy } = getCurrentInstance();
-
-const ApsPlateProcessShopStatList = ref([]);
-const open = ref(false);
-const loading = ref(true);
-const showSearch = ref(true);
-const ids = ref([]);
-const single = ref(true);
-const multiple = ref(true);
-const total = ref(0);
-const title = ref("");
-
-const data = reactive({
- form: {},
- queryParams: {
- pageNum: 1,
- pageSize: 10,
- docNo: null,
- shopCode: null,
- shopName: null,
- planStartDate: null,
- planEndDate: null,
- },
- rules: {
- }
-});
-
-const { queryParams, form, rules } = toRefs(data);
-
-/** 鏌ヨ閽i噾杞﹂棿缁熻鍒楄〃 */
-function getList() {
- loading.value = true;
- listApsPlateProcessShopStat(queryParams.value).then(response => {
- ApsPlateProcessShopStatList.value = response.rows;
- total.value = response.total;
- loading.value = false;
- });
-}
-
-// 鍙栨秷鎸夐挳
-function cancel() {
- open.value = false;
- reset();
-}
-
-// 琛ㄥ崟閲嶇疆
-function reset() {
- form.value = {
- id: null,
- docNo: null,
- shopCode: null,
- shopName: null,
- planStartDate: null,
- planEndDate: null,
- delFlag: null,
- createBy: null,
- createTime: null,
- updateBy: null,
- updateTime: null
- };
- proxy.resetForm("ApsPlateProcessShopStatRef");
-}
-
-/** 鎼滅储鎸夐挳鎿嶄綔 */
-function handleQuery() {
- queryParams.value.pageNum = 1;
- getList();
-}
-
-/** 閲嶇疆鎸夐挳鎿嶄綔 */
-function resetQuery() {
- proxy.resetForm("queryRef");
- handleQuery();
-}
-
-// 澶氶�夋閫変腑鏁版嵁
-function handleSelectionChange(selection) {
- ids.value = selection.map(item => item.id);
- single.value = selection.length != 1;
- multiple.value = !selection.length;
-}
-
-/** 鏂板鎸夐挳鎿嶄綔 */
-function handleAdd() {
- reset();
- open.value = true;
- title.value = "娣诲姞閽i噾杞﹂棿缁熻";
-}
-
-/** 淇敼鎸夐挳鎿嶄綔 */
-function handleUpdate(row) {
- reset();
- const _id = row.id || ids.value
- getApsPlateProcessShopStat(_id).then(response => {
- form.value = response.data;
- open.value = true;
- title.value = "淇敼閽i噾杞﹂棿缁熻";
- });
-}
-
-/** 鎻愪氦鎸夐挳 */
-function submitForm() {
- proxy.$refs["ApsPlateProcessShopStatRef"].validate(valid => {
- if (valid) {
- if (form.value.id != null) {
- updateApsPlateProcessShopStat(form.value).then(response => {
- proxy.$modal.msgSuccess("淇敼鎴愬姛");
- open.value = false;
- getList();
- });
- } else {
- addApsPlateProcessShopStat(form.value).then(response => {
- proxy.$modal.msgSuccess("鏂板鎴愬姛");
- open.value = false;
- getList();
- });
- }
- }
- });
-}
-
-/** 鍒犻櫎鎸夐挳鎿嶄綔 */
-function handleDelete(row) {
- const _ids = row.id || ids.value;
- proxy.$modal.confirm('鏄惁纭鍒犻櫎閽i噾杞﹂棿缁熻缂栧彿涓�"' + _ids + '"鐨勬暟鎹」锛�').then(function() {
- return delApsPlateProcessShopStat(_ids);
- }).then(() => {
- getList();
- proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
-}
-
-/** 瀵煎嚭鎸夐挳鎿嶄綔 */
-function handleExport() {
- proxy.download('ApsPlateProcessShopStat/ApsPlateProcessShopStat/export', {
- ...queryParams.value
- }, `ApsPlateProcessShopStat_${new Date().getTime()}.xlsx`)
-}
-
-getList();
-</script>
diff --git a/src/views/mainPlan/platePlanList/index.vue b/src/views/mainPlan/platePlanList/index.vue
index 1986cb3..aa02926 100644
--- a/src/views/mainPlan/platePlanList/index.vue
+++ b/src/views/mainPlan/platePlanList/index.vue
@@ -374,7 +374,7 @@
// {
// ...queryParams.value,
// },
- `aps_plate_process_stat_${new Date().getTime()}.xlsx`
+ `aps_plate_process_shop_stat_${new Date().getTime()}.xlsx`
);
}
diff --git a/src/views/mainPlan/plateProcessStat/index.vue b/src/views/mainPlan/plateProcessStat/index.vue
index d2169d9..17ba217 100644
--- a/src/views/mainPlan/plateProcessStat/index.vue
+++ b/src/views/mainPlan/plateProcessStat/index.vue
@@ -203,7 +203,6 @@
});
aps_plate_process_statList.value =listValue
- debugger;
total.value = response.total;
loading.value = false;
});
--
Gitblit v1.9.3