From a07f90d6106971923e8f761f253a9b4d30a60752 Mon Sep 17 00:00:00 2001 From: CD配唱片 <CD配唱片> Date: 星期二, 06 五月 2025 15:37:30 +0800 Subject: [PATCH] Merge branch 'feature-i18n' into dev --- src/views/mainPlan/plateProcessStat/index.vue | 477 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 263 insertions(+), 214 deletions(-) diff --git a/src/views/mainPlan/plateProcessStat/index.vue b/src/views/mainPlan/plateProcessStat/index.vue index 9ccb0db..6c4e13d 100644 --- a/src/views/mainPlan/plateProcessStat/index.vue +++ b/src/views/mainPlan/plateProcessStat/index.vue @@ -1,75 +1,103 @@ <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 :gutter="10" class="mb8"> + <!-- <el-col> --> + <el-form + :model="queryParams" + ref="queryRef" + :inline="true" + v-show="showSearch" + :label-width="locale === 'zh' ? '60px' : '150px'" + label-position="left" + > + <!-- <el-row :gutter="20"> + <el-col :span="12"> --> + <el-form-item :label="$t('plan.query.workOrderNo')" prop="num"> + <el-input + style="width: 370px" + v-model="queryParams.workOrderNo" + :placeholder="$t('plan.placeholder.planWorkOderNO')" + 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">{{ + $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-col> --> </el-row> <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 +109,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 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 - 220 + "px;") - +const height = ref(document.documentElement.clientHeight - 220 + "px;"); const data = reactive({ - form: {}, + // form: {}, queryParams: { pageNum: 1, pageSize: 10, @@ -122,119 +150,129 @@ 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', - }, - { - title: '宸ュ簭鍙�', - field: 'routeProcessNumberTxt', - width: 100, - }, - { - title: '褰撳墠宸ュ簭鍙�', - field: 'currentProcessNumberTxt', - width: 100, - }, - { - title: '鐢熶骇鏁伴噺', - field: 'productionQuantity', - width: 80, - }, - { - title: '鏍囧噯宸ユ椂', - field: 'standardTime', - width: 80, - }, - { - title: '宸ュ簭鎬诲伐鏃�', - field: 'processTotalTime', - width: 80, +const columns = ref([]); +watch( + locale, + (newLocale) => { + columns.value = [ + /* { type: 'seq', title: '搴忓彿', width: 60 },*/ + { + title: t("plan.table.workOrderNo"), + field: "workOrderNo", + width: 150, + }, + { + title: t("plan.table.processName"), + field: "processName", + }, + { + title: t("plan.table.processNumber"), + field: "routeProcessNumberTxt", + width: 100, + }, + { + title: t("plan.table.currentProcessNumber"), + field: "currentProcessNumberTxt", + width: 100, + }, + { + title: t("plan.table.productionQuantity"), + field: "productionQuantity", + width: 80, + }, + { + title: t("plan.table.standardTime"), + field: "standardTime", + width: 80, + }, + { + title: t("plan.table.totalWorkingHoursOfProcess"), + field: "processTotalTime", + width: 80, + }, + { + title: t("plan.table.planStartDay"), + field: "processPlanStartDaytxt", + width: 200, + type: "html", + }, + { + title: t("plan.table.planEndDayDate"), + field: "processPlanEndDaytxt", + width: 200, + type: "html", + }, + { + title: t("plan.table.OrderCompletionDate"), + field: "orderPlanEndDay", + width: 200, + format: "YYYY-MM-DD HH:mm:ss", + }, + ]; + getList(); }, - { - title: '璁″垝寮�宸ユ棩', - field: 'processPlanStartDaytxt', - width: 200, - type:'html' - }, - { - title: '璁″垝瀹屽伐鏃�', - field: 'processPlanEndDaytxt', - width: 200, - type: 'html' - }, - { - title: '璁㈠崟瀹屽伐鏃�', - field: 'orderPlanEndDay', - width: 200, - format: 'YYYY-MM-DD HH:mm:ss' - } -]); - - + { immediate: true, deep: true } +); /** 鏌ヨ閽i噾缁熻鍒楄〃 */ function getList() { loading.value = true; - listPlateStat(queryParams.value).then(response => { + 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'); - - + 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 + aps_plate_process_statList.value = listValue; 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() { @@ -244,99 +282,110 @@ /** 閲嶇疆鎸夐挳鎿嶄綔 */ function resetQuery() { - queryParams.value.workOrderNo =''; + 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(); + // reset(); loading.value = true; - updateStat().then(response => { - form.value = response.data; + 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` + ); } -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(); +// 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> ::v-deep(.mytable-style.vxe-table .vxe-body--row.row-green) { @@ -351,4 +400,4 @@ background-color: red; color: #fff; } -</style> \ No newline at end of file +</style> -- Gitblit v1.9.3