From 1b56e5ca59f20aebc5add65a6a76d9a5f2b1b03b Mon Sep 17 00:00:00 2001
From: CD配唱片 <CD配唱片>
Date: 星期三, 07 五月 2025 17:53:01 +0800
Subject: [PATCH] 钣金冗余工单联调
---
src/api/basicData/sheetMetalConfig/sheetMetalConfig.js | 9 +
.env.development | 2
src/views/basicData/sheetMetalParamConfig/index.vue | 2
src/views/mainPlan/sheetMetalOrderManage/index.vue | 18 ++
src/views/mainPlan/sheetMetalSupplyGap/index.vue | 2
src/utils/i18n/locales/plan/index.js | 6
src/views/basicData/processRouteDataPreparate/index.vue | 37 +++-
src/utils/i18n/locales/common/index.js | 6
src/views/mainPlan/sheetMetalRedundantReport/index.vue | 242 ++++-------------------------
src/views/basicData/bom/index.vue | 116 ++++++++------
10 files changed, 165 insertions(+), 275 deletions(-)
diff --git a/.env.development b/.env.development
index 605a602..a4a0a7d 100644
--- a/.env.development
+++ b/.env.development
@@ -10,4 +10,4 @@
# 閰嶅悎鍚庣鏈嶅姟
# VITE_APP_LOCAL = 'int'
# VITE_APP_LOCAL = 'zhl'
-VITE_APP_LOCAL = 'hjy'
\ No newline at end of file
+VITE_APP_LOCAL = 'cxl'
\ No newline at end of file
diff --git a/src/api/basicData/sheetMetalConfig/sheetMetalConfig.js b/src/api/basicData/sheetMetalConfig/sheetMetalConfig.js
index 442cb26..73bf5c4 100644
--- a/src/api/basicData/sheetMetalConfig/sheetMetalConfig.js
+++ b/src/api/basicData/sheetMetalConfig/sheetMetalConfig.js
@@ -23,3 +23,12 @@
params: query
});
}
+
+// 閽i噾鍐椾綑宸ュ崟鎶ヨ〃 apsPlatePlan/redundantOrderList
+export function redundantOrderList(query) {
+ return request({
+ url: `/aps/apsPlatePlan/redundantOrderList`,
+ method: "get",
+ params: query
+ });
+}
\ No newline at end of file
diff --git a/src/utils/i18n/locales/common/index.js b/src/utils/i18n/locales/common/index.js
index 4173e34..fa1ef70 100644
--- a/src/utils/i18n/locales/common/index.js
+++ b/src/utils/i18n/locales/common/index.js
@@ -19,7 +19,8 @@
save: "淇濆瓨",
cancel: "鍙栨秷",
placeholder:"璇疯緭鍏�",
- view:"鏌ョ湅"
+ view:"鏌ョ湅",
+ viewDetails:"鏌ョ湅璇︽儏"
},
};
export const en = {
@@ -43,6 +44,7 @@
save: "Save",
cancel: "Cancel",
placeholder:"Please enter the ",
- view:"View"
+ view:"View",
+ viewDetails:"View details"
},
};
diff --git a/src/utils/i18n/locales/plan/index.js b/src/utils/i18n/locales/plan/index.js
index cd246f7..c916b2b 100644
--- a/src/utils/i18n/locales/plan/index.js
+++ b/src/utils/i18n/locales/plan/index.js
@@ -156,7 +156,8 @@
requirementPlanCompletionDate:"闇�姹傝鍒掑畬宸ユ棩",
processRouteWorkingHours:"宸ヨ壓璺嚎宸ユ椂",
demandQuantity:"闇�姹傛暟閲�",
- netRequirement:"鍑�闇�姹傞噺"
+ netRequirement:"鍑�闇�姹傞噺",
+ bomItemID: "椤� ID"
},
};
export const en = {
@@ -317,6 +318,7 @@
requirementPlanCompletionDate:"Requirement plan completion date",
processRouteWorkingHours:"Process route working hours",
demandQuantity:"Demand Quantity",
- netRequirement:"Net Requirement"
+ netRequirement:"Net Requirement",
+ bomItemID:"Item ID"
},
};
diff --git a/src/views/basicData/bom/index.vue b/src/views/basicData/bom/index.vue
index 1ece0d6..a27ebfe 100644
--- a/src/views/basicData/bom/index.vue
+++ b/src/views/basicData/bom/index.vue
@@ -9,52 +9,54 @@
v-show="showSearch"
:label-width="locale === 'zh' ? '90px' : '160px'"
>
- <el-row :gutter="20">
- <el-col :span="9">
- <el-form-item :label="$t('plan.query.itemNumber')" prop="itemCode">
- <el-input
- style="width: 210px"
- v-model="queryParams.itemCode"
- :placeholder="`${$t('common.common.placeholder')}${$t(
- 'plan.query.itemNumber'
- )}`"
- clearable
- @keyup.enter="handleQuery"
- />
- </el-form-item>
- </el-col>
- <el-col :span="9">
- <el-form-item
- :label="$t('plan.table.applicableFactories')"
- prop="orgCode"
+ <!-- <el-row :gutter="20">
+ <el-col :span="10"> -->
+ <el-form-item :label="$t('plan.query.itemNumber')" prop="itemCode">
+ <el-input
+ style="width: 210px"
+ v-model="queryParams.itemCode"
+ :placeholder="`${$t('common.common.placeholder')}${$t(
+ 'plan.query.itemNumber'
+ )}`"
+ clearable
+ @keyup.enter="handleQuery"
+ />
+ </el-form-item>
+ <!-- </el-col>
+ <el-col :span="10"> -->
+ <el-form-item
+ :label="$t('plan.table.applicableFactories')"
+ prop="orgCode"
+ >
+ <el-select
+ clearable
+ v-model="queryParams.orgCode"
+ style="width: 160px"
+ :placeholder="`${$t('common.common.placeholder')}${$t(
+ 'plan.table.applicableFactories'
+ )}`"
+ >
+ <el-option
+ v-for="plant in plantList"
+ :key="plant.id"
+ :label="plant.plantName"
+ :value="plant.plantCode"
>
- <el-select
- clearable
- v-model="queryParams.orgCode"
- :style="{width: locale=='zh'?'160px':'250px'}"
- :placeholder="`${$t('common.common.placeholder')}${$t('plan.table.applicableFactories')}`"
- >
- <el-option
- v-for="plant in plantList"
- :key="plant.id"
- :label="plant.plantName"
- :value="plant.plantCode"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="6" 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-option>
+ </el-select>
+ </el-form-item>
+ <!-- </el-col>
+ <el-col :span="4" 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-row>
<el-row :gutter="10" class="mb8">
@@ -97,7 +99,12 @@
>
</template>
</HxlhTable>
- <el-dialog :title="title" v-model="openDialog" width="900px" append-to-body>
+ <el-dialog
+ :title="$t('common.common.viewDetails')"
+ v-model="openDialog"
+ width="900px"
+ append-to-body
+ >
<HxlhTable
style="width: 100%"
:columns="subGridOptions"
@@ -106,6 +113,13 @@
:height="heightSub"
>
</HxlhTable>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="openDialog = false">{{
+ $t("common.common.cancel")
+ }}</el-button>
+ </span>
+ </template>
</el-dialog>
</div>
</template>
@@ -134,7 +148,7 @@
const loadingSub = ref(false);
const showSearch = ref(true);
const total = ref(0);
-const height = ref(document.documentElement.clientHeight - 270 + "px;");
+const height = ref(document.documentElement.clientHeight - 210 + "px;");
const heightSub = ref(document.documentElement.clientHeight - 320 + "px;");
// 琛ㄦ牸閰嶇疆
const columns = ref([]);
@@ -145,7 +159,7 @@
pageNum: 1,
pageSize: 10,
itemCode: null,
- orgCode:""
+ orgCode: "",
},
rules: {},
});
@@ -175,7 +189,7 @@
// },
// { type: "checkbox", width: 60, align: "center" },
{
- title: "BOM_Header_ID",
+ title: "BOM ID",
field: "bomHeaderId",
},
{
@@ -221,13 +235,13 @@
];
subGridOptions.value = [
{
- title: "BOM_Line_ID",
+ title: t("plan.table.bomItemID"),
field: "bomLineId",
width: 150,
align: "center",
},
{
- title: "BOM_Header_ID",
+ title: "BOM ID",
field: "bomHeaderId",
width: 150,
align: "center",
diff --git a/src/views/basicData/processRouteDataPreparate/index.vue b/src/views/basicData/processRouteDataPreparate/index.vue
index 7d87169..afce936 100644
--- a/src/views/basicData/processRouteDataPreparate/index.vue
+++ b/src/views/basicData/processRouteDataPreparate/index.vue
@@ -95,11 +95,16 @@
link
@click="handleCheckView(row)"
v-hasPermi="['aps:calendar:update']"
- >鏌ョ湅</el-button
+ >{{ $t("common.common.view") }}</el-button
>
</template>
</HxlhTable>
- <el-dialog :title="title" v-model="openDialog" width="900px" append-to-body>
+ <el-dialog
+ :title="$t('common.common.viewDetails')"
+ v-model="openDialog"
+ width="900px"
+ append-to-body
+ >
<HxlhTable
style="width: 100%"
:columns="subGridOptions"
@@ -108,6 +113,13 @@
:height="heightSub"
>
</HxlhTable>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="openDialog = false">{{
+ $t("common.common.cancel")
+ }}</el-button>
+ </span>
+ </template>
</el-dialog>
</div>
</template>
@@ -142,7 +154,7 @@
const single = ref(true);
const total = ref(0);
-const height = ref(document.documentElement.clientHeight - 270 + "px;");
+const height = ref(document.documentElement.clientHeight - 210 + "px;");
const heightSub = ref(document.documentElement.clientHeight - 320 + "px;");
// 琛ㄦ牸閰嶇疆
const columns = ref([]);
@@ -155,8 +167,7 @@
itemCode: null,
},
rules: {
- itemCode: [
- ],
+ itemCode: [],
},
});
@@ -164,7 +175,7 @@
watch(
locale,
(newLocale) => {
- rules.value = {
+ rules.value = {
itemCode: [
{
required: true,
@@ -329,12 +340,14 @@
function getList() {
loading.value = true;
queryParams.value.params = {};
- apsStandardProcessRouteHeaderList(queryParams.value).then((response) => {
- processRouteList.value = response.rows;
- loading.value = false;
- }).catch(()=>{
- loading.value = false;
- });
+ apsStandardProcessRouteHeaderList(queryParams.value)
+ .then((response) => {
+ processRouteList.value = response.rows;
+ loading.value = false;
+ })
+ .catch(() => {
+ loading.value = false;
+ });
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
diff --git a/src/views/basicData/sheetMetalParamConfig/index.vue b/src/views/basicData/sheetMetalParamConfig/index.vue
index 839e84a..e1c8a6f 100644
--- a/src/views/basicData/sheetMetalParamConfig/index.vue
+++ b/src/views/basicData/sheetMetalParamConfig/index.vue
@@ -45,7 +45,7 @@
onMounted(async () => {
let config = await queryConfigParams("plate_plan_param");
console.log(config.data, "configwudhuhfuw");
- ruleForm.value.days = config.data[0].dictValue * 1;
+ ruleForm.value.days = parseInt(config.data[0].dictValue);
configParams.value = config.data[0];
// console.log(plate_plan_param.value[0].value,'plate_plan_paramplate_plan_param')
});
diff --git a/src/views/mainPlan/sheetMetalOrderManage/index.vue b/src/views/mainPlan/sheetMetalOrderManage/index.vue
index 232c9cd..1d441ba 100644
--- a/src/views/mainPlan/sheetMetalOrderManage/index.vue
+++ b/src/views/mainPlan/sheetMetalOrderManage/index.vue
@@ -125,6 +125,21 @@
>
</HxlhTable>
</el-dialog>
+ <el-dialog
+ :title="'鎵归噺鏇存柊宸ュ崟璁″垝鏃ユ湡'"
+ v-model="openBatchDialog"
+ width="900px"
+ append-to-body
+ >
+ <HxlhTable
+ style="width: 100%"
+ :columns="subGridOptions"
+ :data="subList"
+ :loading="loading"
+ :height="heightSub"
+ >
+ </HxlhTable>
+ </el-dialog>
</div>
</template>
@@ -145,6 +160,7 @@
const { t, locale } = useI18n();
const { proxy } = getCurrentInstance();
const openDialog = ref(false);
+const openBatchDialog = ref(false);
const subGridOptions = ref([]);
// const tableRef = ref();
const calendarList = ref([]);
@@ -410,7 +426,7 @@
}
);
function handleBatchUpdatePlanDate(){
-
+ openBatchDialog.value = true
}
function handleCheckView(row) {
openDialog.value = true;
diff --git a/src/views/mainPlan/sheetMetalRedundantReport/index.vue b/src/views/mainPlan/sheetMetalRedundantReport/index.vue
index 0681d75..0585e63 100644
--- a/src/views/mainPlan/sheetMetalRedundantReport/index.vue
+++ b/src/views/mainPlan/sheetMetalRedundantReport/index.vue
@@ -10,13 +10,10 @@
>
<el-row type="flex" justify="left">
<el-col :span="locale === 'zh' ? 5 : 10">
- <el-form-item
- :label="$t('plan.query.requireTraceID')"
- prop="description"
- >
+ <el-form-item :label="$t('plan.query.itemNumber')" prop="itemNumber">
<el-input
:style="{ width: locale === 'zh' ? '140px' : '300px' }"
- v-model="queryParams.description"
+ v-model="queryParams.itemNumber"
:placeholder="`${$t('plan.placeholder.requireTraceID')}`"
clearable
@keyup.enter="handleQuery"
@@ -24,10 +21,13 @@
</el-form-item>
</el-col>
<el-col :span="locale === 'zh' ? 8 : 9">
- <el-form-item :label="$t('plan.query.itemNumber')" prop="description">
+ <el-form-item
+ :label="$t('plan.query.workOrderNo')"
+ prop="documentNumber"
+ >
<el-input
:style="{ width: locale === 'zh' ? '140px' : '210px' }"
- v-model="queryParams.description"
+ v-model="queryParams.documentNumber"
:placeholder="`${$t('common.common.placeholder')}${$t(
'plan.query.itemNumber'
)}`"
@@ -56,7 +56,7 @@
plain
icon="Download"
@click="handleExport"
- v-hasPermi="['core:calendar:export']"
+ v-hasPermi="['Aps:apsPlatePlan:redundantOrderListExport']"
>{{ $t("common.common.export") }}</el-button
>
</el-col>
@@ -68,7 +68,7 @@
<HxlhTable
style="width: 100%"
:columns="columns"
- :data="calendarList"
+ :data="orderList"
:loading="loading"
:height="height"
ref="tableRef"
@@ -91,6 +91,7 @@
addCalendar,
updateCalendar,
} from "@/api/basicData/calendar";
+import { redundantOrderList } from "@/api/basicData/sheetMetalConfig/sheetMetalConfig";
import axios from "axios";
import { listAll_plant } from "@/api/basicData/plant";
import { listAll_shop, listAps_shop } from "@/api/basicData/shop";
@@ -99,7 +100,7 @@
const { t, locale } = useI18n();
const { proxy } = getCurrentInstance();
const tableRef = ref();
-const calendarList = ref([]);
+const orderList = ref([]);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]);
@@ -114,14 +115,8 @@
queryParams: {
pageNum: 1,
pageSize: 10,
- description: null,
- type: null,
- effectiveDate: null,
- expiringDate: null,
- content: null,
- applicableFactory: null,
- applicableWorkshop: null,
- applicableProcess: null,
+ documentNumber: null,
+ itemNumber: null,
},
});
const { queryParams, form, rules } = toRefs(data);
@@ -145,31 +140,31 @@
columns.value = [
{
title: t("plan.table.workOrderNo"),
- field: "description",
+ field: "documentNumber",
width: 150,
align: "center",
},
{
title: t("plan.table.subItemPartNumber"),
- field: "type",
+ field: "itemNumber",
width: 200,
align: "center",
},
{
title: t("plan.table.productionQuantity"),
- field: "effectiveDate",
+ field: "productionQuantity",
width: 200,
align: "center",
},
{
title: t("plan.table.mismatchedProductionQuantity"),
- field: "expiringDate",
+ field: "unmatchedQuantity",
width: 200,
align: "center",
},
{
title: t("plan.table.applicableFactories"),
- field: "applicableFactory",
+ field: "plant",
width: 200,
align: "center",
formatter: ({ cellValue, row, column }) => {
@@ -184,25 +179,25 @@
},
{
title: t("plan.table.productionBase"),
- field: "expiringDate",
+ field: "productionBase",
width: 200,
align: "center",
},
{
title: t("plan.table.planStartDay"),
- field: "createTime",
+ field: "planStartDay",
width: 200,
align: "center",
},
{
title: t("plan.table.planEndDayDate"),
- field: "updateTime",
+ field: "planEndDay",
width: 100,
align: "center",
},
{
title: t("plan.table.workorderCreationTime"),
- field: "updateTime",
+ field: "orderCreateTime",
width: 100,
align: "center",
},
@@ -213,59 +208,24 @@
/** 鏌ヨ鏃ュ巻绠$悊鍒楄〃 */
function getList() {
loading.value = true;
- listCalendar(queryParams.value).then((response) => {
- calendarList.value = response.rows;
+ redundantOrderList(queryParams.value).then((response) => {
+ orderList.value = response.rows;
page.value.total = response.total;
loading.value = false;
+ }).catch(()=>{
+ loading.value = false;
});
- axios
- .all([
- /** 鏌ヨ宸ュ巶鍒楄〃 */
- listAll_plant({}),
- /** 鏌ヨ杞﹂棿鍒楄〃 */
- listAll_shop({}),
- ])
- .then(
- axios.spread((response1, response2) => {
- plantList.value = response1.data;
- shopList.value = response2.data;
- loading.value = false;
- })
- )
- .catch((error) => {
- console.error("璇锋眰鍑洪敊:", error);
- });
-}
-
-// 鍙栨秷鎸夐挳
-function cancel() {
- open.value = false;
- reset();
}
// 琛ㄥ崟閲嶇疆
function reset() {
- form.value = {
- id: null,
- description: null,
- type: "1",
- effectiveDate: null,
- expiringDate: null,
- content: null,
- applicableFactory: null,
- applicableWorkshop: null,
- applicableProcess: null,
- createBy: null,
- createTime: null,
- updateBy: null,
- updateTime: null,
- };
- proxy.resetForm("calendarRef");
+ proxy.resetForm("queryRef");
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
function handleQuery() {
queryParams.value.pageNum = 1;
+ page.value.current = 1;
getList();
}
@@ -275,143 +235,15 @@
handleQuery();
}
-// 澶氶�夋閫変腑鏁版嵁
-function handleSelectionChange(selection) {
- ids.value = selection.map((item) => item.id);
- single.value = selection.length != 1;
- multiple.value = !selection.length;
-}
-
-/** 鏂板鎸夐挳鎿嶄綔 */
-async function handleAdd() {
- reset();
- open.value = true;
- title.value = "娣诲姞鏃ュ巻绠$悊";
-}
-/** 閫夋嫨宸ュ巶鍚庝簨浠� 鍔犺浇杞﹂棿 鍜� 宸ュ簭 **/
-function changePlant(plant) {
- listAps_shop({ plantCode: plant }).then((response) => {
- shopList.value = response.rows;
- });
- selectProcessNameList({ orgCode: plant }).then((response) => {
- processList.value = response.rows;
- });
-}
-/** 淇敼鎸夐挳鎿嶄綔 */
-function handleUpdate(row) {
- reset();
- const _id = row.id || ids.value;
- getCalendar(_id).then((response) => {
- form.value = response.data;
- // form.value.content = JSON.parse(response.data.content.value);
- if (form.value.type === "1") {
- weekDaysSettingList.value = JSON.parse(
- response.data.content.value
- ).weekdays;
- } else if (form.value.type === "2") {
- holidays.value = JSON.parse(response.data.content.value).holidays;
- }
-
- open.value = true;
- title.value = "淇敼鏃ュ巻绠$悊";
- });
-}
-
-/** 鎻愪氦鎸夐挳 */
-function submitForm() {
- proxy.$refs["calendarRef"].validate((valid) => {
- if (valid) {
- if (form.value.id != null) {
- if (form.value.type === "1") {
- updateCalendar({
- ...form.value,
- content: {
- weekdays: weekDaysSettingList.value,
- },
- applicableWorkshop: form.value.applicableWorkshop,
- applicableProcess: form.value.applicableProcess,
- }).then((response) => {
- proxy.$modal.msgSuccess("淇敼鎴愬姛");
- open.value = false;
- getList();
- });
- } else if (form.value.type === "2") {
- updateCalendar({
- ...form.value,
- content: {
- holidays: holidays.value,
- },
- applicableWorkshop: form.value.applicableWorkshop,
- applicableProcess: form.value.applicableProcess,
- }).then((response) => {
- proxy.$modal.msgSuccess("淇敼鎴愬姛");
- open.value = false;
- getList();
- });
- }
- } else {
- if (form.value.type === "1") {
- addCalendar({
- ...form.value,
- content: {
- weekdays: weekDaysSettingList.value,
- },
- }).then((response) => {
- proxy.$modal.msgSuccess("鏂板鎴愬姛");
- open.value = false;
- getList();
- });
- } else if (form.value.type === "2") {
- addCalendar({
- ...form.value,
- content: {
- holidays: holidays.value,
- },
- }).then((response) => {
- proxy.$modal.msgSuccess("鏂板鎴愬姛");
- open.value = false;
- getList();
- });
- }
- }
- }
- });
-}
-
-/** 鍒犻櫎鎸夐挳鎿嶄綔 */
-function handleDelete(row) {
- const _ids = row.id || ids.value;
- proxy.$modal
- .confirm('鏄惁纭鍒犻櫎鏃ュ巻绠$悊缂栧彿涓�"' + _ids + '"鐨勬暟鎹」锛�')
- .then(function () {
- return delCalendar(_ids);
- })
- .then(() => {
- getList();
- proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- })
- .catch(() => {});
-}
-
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
function handleExport() {
proxy.download(
- "core/calendar/export",
+ "aps/apsPlatePlan/redundantOrderListExport",
{
...queryParams.value,
},
- `calendar_${new Date().getTime()}.xlsx`
+ `redundantOrderList_${new Date().getTime()}.xlsx`
);
-}
-function handleSwitchType(e) {
- typeRadioNumber.value = e;
- form.value.type = e;
- form.value.effectiveDate = null;
- form.value.expiringDate = null;
- form.value.content = null;
- form.value.applicableFactory = null;
- form.value.applicableWorkshop = null;
- form.value.applicableProcess = null;
}
function changePageNo(currentPage) {
queryParams.value.pageNum = currentPage;
@@ -424,14 +256,16 @@
queryParams.value.pageSize = pageSize;
getList();
}
-// 澶氶�夋閫変腑鏁版嵁
-const handleCheckboxChange = (data) => {
- ids.value = data.records.map((item) => item.id);
- single.value = data.records.length !== 1;
- multiple.value = !data.records.length;
-};
onMounted(() => {
getList();
+ /** 鏌ヨ宸ュ巶鍒楄〃 */
+ listAll_plant({})
+ .then((response) => {
+ plantList.value = response.data;
+ })
+ .catch((error) => {
+ console.error("璇锋眰鍑洪敊:", error);
+ });
});
</script>
<style lang="scss" scoped>
diff --git a/src/views/mainPlan/sheetMetalSupplyGap/index.vue b/src/views/mainPlan/sheetMetalSupplyGap/index.vue
index 0a2c021..af444f9 100644
--- a/src/views/mainPlan/sheetMetalSupplyGap/index.vue
+++ b/src/views/mainPlan/sheetMetalSupplyGap/index.vue
@@ -56,7 +56,7 @@
plain
icon="Download"
@click="handleExport"
- v-hasPermi="['core:calendar:export']"
+ v-hasPermi="['Aps:ApsPlateStandardRequire:supplyGapListExport']"
>{{ $t("common.common.export") }}</el-button
>
</el-col>
--
Gitblit v1.9.3