From 65f86f41dedbbbb7030e2f37ce3e001bbca4923a Mon Sep 17 00:00:00 2001
From: chengxiangling <291105840@qq.com>
Date: 星期四, 15 五月 2025 13:03:25 +0800
Subject: [PATCH] 查询日历带适用工厂
---
src/views/mainPlan/plateProcessStat/index.vue | 475 ++++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 289 insertions(+), 186 deletions(-)
diff --git a/src/views/mainPlan/plateProcessStat/index.vue b/src/views/mainPlan/plateProcessStat/index.vue
index c30f3d9..b6c5737 100644
--- a/src/views/mainPlan/plateProcessStat/index.vue
+++ b/src/views/mainPlan/plateProcessStat/index.vue
@@ -1,75 +1,100 @@
<template>
<div class="app-container">
- <el-row :gutter="20">
- <el-col>
- <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="90px">
- <el-row :gutter="20">
- <el-col :span="12">
- <el-form-item label="宸ュ崟鍙�" prop="num">
- <el-input
- v-model="queryParams.workOrderNo"
- placeholder="璇疯緭鍏ラ挘閲戣鍒掑伐鍗曞彿"
- clearable
- @keyup.enter="handleQuery"
- />
- </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>
- </el-row>
- </el-form>
- </el-col>
- </el-row>
+ <!-- <el-col> -->
+ <el-form
+ :model="queryParams"
+ ref="queryRef"
+ :inline="true"
+ v-show="showSearch"
+ label-position="left"
+ >
+ <el-row :gutter="20">
+ <el-col :span="8">
+ <el-form-item :style="{ width: '100%' }" :label="$t('plan.query.workOrderNo')" prop="num">
+ <el-input
+ v-model="queryParams.workOrderNo"
+ :placeholder="`${$t('common.common.placeholder')}${$t(
+ 'plan.query.workOrderNo'
+ )}`"
+ clearable
+ @keyup.enter="handleQuery"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="16" style="text-align: right">
+ <el-form-item class="column-with-margin">
+ <el-button type="primary" icon="Search" @click="handleQuery">{{
+ $t("common.common.query")
+ }}</el-button>
+ <el-button icon="Refresh" @click="resetQuery">{{
+ $t("common.common.reset")
+ }}</el-button>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
<el-row :gutter="10" class="mb8">
-
<el-col :span="1.5">
<el-button
- type="warning"
- plain
- icon="Download"
- @click="handleExport"
- v-hasPermi="['apsPlateProcessStat:export']"
- >瀵煎嚭</el-button>
+ type="warning"
+ plain
+ icon="Download"
+ @click="handleExport"
+ v-hasPermi="['apsPlateProcessStat:export']"
+ >{{ $t("common.common.export") }}</el-button
+ >
</el-col>
<el-col :span="1.5">
<el-button
- type="success"
- plain
- icon="Edit"
- @click="handleUpdate"
- v-hasPermi="['apsPlateProcessStat:edit']"
- >鏇存柊</el-button>
+ type="success"
+ plain
+ icon="Refresh"
+ @click="handleUpdate"
+ :disabled="loading"
+ v-hasPermi="['apsPlateProcessStat:edit']"
+ >{{ $t("common.common.update") }}</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="aps_plate_process_statList"
- :loading="loading"
- :height="height"
+ style="width: 100%"
+ :columns="columns"
+ :data="aps_plate_process_statList"
+ :loading="loading"
+ :height="height"
>
</HxlhTable>
<!-- 娣诲姞鎴栦慨鏀归挘閲戠粺璁″璇濇 -->
- <el-dialog :title="title" v-model="open" width="500px" append-to-body>
- <el-form ref="aps_plate_process_statRef" :model="form" :rules="rules" label-width="80px">
+ <!-- <el-dialog :title="title" v-model="open" width="500px" append-to-body>
+ <el-form
+ ref="aps_plate_process_statRef"
+ :model="form"
+ :rules="rules"
+ label-width="80px"
+ >
<el-form-item label="鎺掑簭" prop="num">
<el-input v-model="form.num" placeholder="璇疯緭鍏ユ帓搴�" />
</el-form-item>
<el-form-item label="鐢熶骇鏁伴噺" prop="productionQuantity">
- <el-input v-model="form.productionQuantity" placeholder="璇疯緭鍏ョ敓浜ф暟閲�" />
+ <el-input
+ v-model="form.productionQuantity"
+ placeholder="璇疯緭鍏ョ敓浜ф暟閲�"
+ />
</el-form-item>
<el-form-item label="鏍囧噯宸ユ椂" prop="standardTime">
<el-input v-model="form.standardTime" placeholder="璇疯緭鍏ユ爣鍑嗗伐鏃�" />
</el-form-item>
<el-form-item label="宸ュ簭鎬诲伐鏃�" prop="processTotalTime">
- <el-input v-model="form.processTotalTime" placeholder="璇疯緭鍏ュ伐搴忔�诲伐鏃�" />
+ <el-input
+ v-model="form.processTotalTime"
+ placeholder="璇疯緭鍏ュ伐搴忔�诲伐鏃�"
+ />
</el-form-item>
<el-form-item label="璁捐宸ユ椂" prop="designTimes">
<el-input v-model="form.designTimes" placeholder="璇疯緭鍏ヨ璁″伐鏃�" />
@@ -81,31 +106,31 @@
<el-button @click="cancel">鍙� 娑�</el-button>
</div>
</template>
- </el-dialog>
+ </el-dialog> -->
</div>
</template>
<script setup name="Aps_plate_process_stat">
-import { listPlateStat,updateStat } from "@/api/mainPlan/plateProcessStat";
+import { listPlateStat, updateStat } from "@/api/mainPlan/plateProcessStat";
import HxlhTable from "@/components/HxlhTable/index.vue";
import { getToken } from "@/utils/auth";
import { ref } from "vue";
-import {ElMessage} from "element-plus";
+// import { ElMessage } from "element-plus";
const { proxy } = getCurrentInstance();
-
+import { useI18n } from "vue-i18n"; //瑕佸湪js涓娇鐢ㄥ浗闄呭寲
+const { t, locale } = useI18n();
const aps_plate_process_statList = ref([]);
-const open = ref(false);
-const loading = ref(true);
+// const open = ref(false);
+const loading = ref(false);
const showSearch = ref(true);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
-const height = ref(document.documentElement.clientHeight - 270 + "px;")
-
+const height = ref(document.documentElement.clientHeight - 220 + "px;");
const data = reactive({
- form: {},
+ // form: {},
queryParams: {
pageNum: 1,
pageSize: 10,
@@ -122,107 +147,135 @@
designTimes: null,
batchNumber: null,
},
- rules: {
- }
+ rules: {},
});
-const { queryParams, form, rules } = toRefs(data);
-
+const { queryParams, rules } = toRefs(data); // form
// 琛ㄦ牸閰嶇疆
-const columns = ref([
- { type: 'seq', title: '搴忓彿', width: 60 },
- {
- title: '宸ュ崟鍙�',
- field: 'workOrderNo',
- width: 150,
- } ,
- {
- title: '宸ュ簭鍚嶇О',
- field: 'processName',
- width: 250,
- },
- {
- title: '宸ュ簭鍙�',
- field: 'routeProcessNumber',
- width: 150,
- },
- {
- title: '褰撳墠宸ュ簭鍙�',
- field: 'currentProcessNumber',
- width: 150,
- },
- {
- title: '鐢熶骇鏁伴噺',
- field: 'productionQuantity',
- width: 100,
- },
- {
- title: '鏍囧噯宸ユ椂',
- field: 'standardTime',
- width: 100,
- },
- {
- title: '宸ュ簭鎬诲伐鏃�',
- field: 'processTotalTime',
- width: 100,
- },
- {
- title: '璁″垝寮�宸ユ棩',
- field: 'processPlanStartDay',
- width: 200,
- },
- {
- title: '璁″垝瀹屽伐鏃�',
- field: 'processPlanEndDay',
- width: 200,
- },
- {
- title: '璁㈠崟瀹屽伐鏃�',
- field: 'orderPlanEndDay',
- width: 200,
- }
-]);
+const columns = ref([]);
-
+watch(
+ locale,
+ (newLocale) => {
+ columns.value = [
+ /* { type: 'seq', title: '搴忓彿', width: 60 },*/
+ {
+ title: t("plan.table.workOrderNo"),
+ field: "workOrderNo",
+ width: "180"
+ },
+ {
+ title: t("plan.table.processName"),
+ field: "processName",
+ width: "auto",
+ },
+ {
+ title: t("plan.table.processNumber"),
+ field: "routeProcessNumberTxt",
+ width: "auto",
+ },
+ {
+ title: t("plan.table.currentProcessNumber"),
+ field: "currentProcessNumberTxt",
+ width: "auto",
+ },
+ {
+ title: t("plan.table.productionQuantity"),
+ field: "productionQuantity",
+ width: "auto",
+ },
+ {
+ title: t("plan.table.standardTime"),
+ field: "standardTime",
+ width: 100,
+ },
+ {
+ title: t("plan.table.totalWorkingHoursOfProcess"),
+ field: "processTotalTime",
+ width: 100,
+ },
+ {
+ title: t("plan.table.planStartDay"),
+ field: "processPlanStartDaytxt",
+ width: 160,
+ type: "html",
+ },
+ {
+ title: t("plan.table.planEndDayDate"),
+ field: "processPlanEndDaytxt",
+ width: 160,
+ type: "html",
+ },
+ {
+ title: t("plan.table.OrderCompletionDate"),
+ field: "orderPlanEndDay",
+ width: 160,
+ format: "YYYY-MM-DD HH:mm:ss",
+ },
+ {
+ title: t("plan.table.abnormalState"),
+ field: "exceptionStatus",
+ width: "auto",
+ }
+ ];
+ },
+ { immediate: true, deep: true }
+);
/** 鏌ヨ閽i噾缁熻鍒楄〃 */
function getList() {
loading.value = true;
- listPlateStat(queryParams.value).then(response => {
- aps_plate_process_statList.value = response.rows;
+ listPlateStat(queryParams.value).then((response) => {
+ const listValue = response.rows;
+ listValue.forEach((listItem) => {
+ listItem[`processPlanStartDaytxt`] = listItem.warning
+ ? `<font color="red">${listItem.processPlanStartDay}</font>`
+ : listItem.processPlanStartDay;
+ listItem[`processPlanEndDaytxt`] = listItem.warning
+ ? `<font color="red">${listItem.processPlanEndDay}</font>`
+ : listItem.processPlanEndDay;
+ listItem[`routeProcessNumberTxt`] = listItem.routeProcessNumber
+ .toString()
+ .padStart(3, "0");
+ listItem[`currentProcessNumberTxt`] = listItem.currentProcessNumber
+ .toString()
+ .padStart(3, "0");
+ });
+ aps_plate_process_statList.value = listValue;
+ console.log(aps_plate_process_statList.value,"aps_plate_process_statList.value")
total.value = response.total;
loading.value = false;
});
}
-// 鍙栨秷鎸夐挳
-function cancel() {
- open.value = false;
- reset();
-}
+// // 鍙栨秷鎸夐挳
+// function cancel() {
+// open.value = false;
+// reset();
+// }
// 琛ㄥ崟閲嶇疆
-function reset() {
- form.value = {
- id: null,
- workOrderNo: null,
- processName: null,
- num: null,
- routeProcessNumber: null,
- currentProcessNumber: null,
- productionQuantity: null,
- standardTime: null,
- processTotalTime: null,
- processPlanEndDay: null,
- computePlanEndDay: null,
- designTimes: null,
- batchNumber: null,
- createBy: null,
- delFlag: null
- };
- proxy.resetForm("aps_plate_process_statRef");
-}
+// function reset() {
+// form.value = {
+// id: null,
+// workOrderNo: null,
+// processName: null,
+// num: null,
+// routeProcessNumber: null,
+// currentProcessNumber: null,
+// productionQuantity: null,
+// standardTime: null,
+// processTotalTime: null,
+// processPlanEndDay: null,
+// computePlanEndDay: null,
+// designTimes: null,
+// batchNumber: null,
+// createBy: null,
+// delFlag: null,
+// };
+// proxy.resetForm("aps_plate_process_statRef");
+// }
/** 鎼滅储鎸夐挳鎿嶄綔 */
function handleQuery() {
@@ -232,75 +285,125 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
function resetQuery() {
+ queryParams.value.workOrderNo = "";
proxy.resetForm("queryRef");
handleQuery();
}
// 澶氶�夋閫変腑鏁版嵁
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;
}
/** 鏂板鎸夐挳鎿嶄綔 */
-function handleAdd() {
- reset();
- open.value = true;
- title.value = "娣诲姞閽i噾缁熻";
-}
+// function handleAdd() {
+// reset();
+// open.value = true;
+// title.value = "娣诲姞閽i噾缁熻";
+// }
/** 淇敼鎸夐挳鎿嶄綔 */
function handleUpdate(row) {
- reset();
- updateStat().then(response => {
- form.value = response.data;
+ // reset();
+ loading.value = true;
+ updateStat().then((response) => {
+ // form.value = response.data;
+ loading.value = false;
ElMessage({
- message: '鏁版嵁鏇存柊鎴愬姛',
- type: 'success',
- })
+ message: t("plan.message.update"),
+ type: "success",
+ });
getList();
});
}
/** 鎻愪氦鎸夐挳 */
-function submitForm() {
- proxy.$refs["aps_plate_process_statRef"].validate(valid => {
- if (valid) {
- if (form.value.id != null) {
- updateAps_plate_process_stat(form.value).then(response => {
- proxy.$modal.msgSuccess("淇敼鎴愬姛");
- open.value = false;
- getList();
- });
- } else {
- addAps_plate_process_stat(form.value).then(response => {
- proxy.$modal.msgSuccess("鏂板鎴愬姛");
- open.value = false;
- getList();
- });
- }
- }
- });
-}
+// function submitForm() {
+// proxy.$refs["aps_plate_process_statRef"].validate((valid) => {
+// if (valid) {
+// if (form.value.id != null) {
+// updateAps_plate_process_stat(form.value).then((response) => {
+// proxy.$modal.msgSuccess("淇敼鎴愬姛");
+// open.value = false;
+// getList();
+// });
+// } else {
+// addAps_plate_process_stat(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 delAps_plate_process_stat(_ids);
- }).then(() => {
- getList();
- proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
-}
+// function handleDelete(row) {
+// const _ids = row.id || ids.value;
+// proxy.$modal
+// .confirm('鏄惁纭鍒犻櫎閽i噾缁熻缂栧彿涓�"' + _ids + '"鐨勬暟鎹」锛�')
+// .then(function () {
+// return delAps_plate_process_stat(_ids);
+// })
+// .then(() => {
+// getList();
+// proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+// })
+// .catch(() => {});
+// }
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
function handleExport() {
- proxy.download('/aps/plateProcessStat/export', {
- ...queryParams.value
- }, `aps_plate_process_stat_${new Date().getTime()}.xlsx`)
+ proxy.download(
+ "/aps/plateProcessStat/export",
+ {
+ ...queryParams.value,
+ },
+ `aps_plate_process_stat_${new Date().getTime()}.xlsx`
+ );
}
-
-getList();
+// const headerCellClassName = ({ column }) => {
+// if (column.field === "name") {
+// return "col-blue";
+// }
+// return null;
+// };
+// const rowClassName = ({ rowIndex }) => {
+// if ([2, 3, 5].includes(rowIndex)) {
+// return "row-green";
+// }
+// return null;
+// };
+// const cellClassName = ({ row, column }) => {
+// if (
+// column.field === "processPlanStartDay" ||
+// column.field === "processPlanEndDay"
+// ) {
+// if (row.warning) {
+// return "col-orange";
+// }
+// }
+// return null;
+// };
+// getList();
</script>
+<style lang="scss" scoped>
+.column-with-margin {
+ margin-right: 0px;
+}
+::v-deep(.mytable-style.vxe-table .vxe-body--row.row-green) {
+ background-color: #187;
+ color: #fff;
+}
+::v-deep(.mytable-style.vxe-table .vxe-header--column.col-blue) {
+ background-color: #2db7f5;
+ color: #fff;
+}
+::v-deep(.mytable-style.vxe-table .vxe-body--column.col-red) {
+ background-color: red;
+ color: #fff;
+}
+</style>
--
Gitblit v1.9.3