+
+
+ 一、导入说明:
+
+ 1、提供的导入模板需要.xlsx文件格式!不支持“.xls”文件,即不支持Excel97-2003!
-
-
- 二、导入条件设置(没有则不用设置)
-
-
- 选择版本:
-
-
-
-
+
+ 2、模板名称可以进行修改,但不要删除模板中设置的字段!
-
-
三、请选择需要导入的文件
-
-
-
-
-
- 将文件拖到此处,或
- 点击上传
-
-
-
-
+
+ 3、导入文件大小请勿超过100MB!且目前只支持单个Sheet页签!
-
-
-
-
-
-
-
-
- {{ this.resultData.successMessage }}
-
- 下载错误数据
-
-
+
+
二、导入条件设置(没有则不用设置)
+
+ 选择版本:
+
+
+
-
-
-
-
-
-
- {{ this.resultData.successMessage }}
-
-
-
- [单击跳转至后台监控界面]
-
-
+
+
三、请选择需要导入的文件
+
+
+
+
+
+ 将文件拖到此处,或
+ 点击上传
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+ 结果:
+ {{ this.resultData.successMessage }}
+
+
+
+ 下载错误数据
+
+
+
+
+
+
+
+
+
+ 结果:
+ {{ this.resultData.successMessage }}
+
+
+
+
+
+
+
@@ -103,10 +93,11 @@
+
{{ this.resultData.successMessage }}
+
-
+
+ 结果:
{{ this.resultData.successMessage }}
-
- [单击跳转至后台监控界面]
-
+
@@ -210,7 +205,6 @@ export default {
YearMonthValue: "", //年度期间选择项
yearMonthList: [], //年度期间
versionValue: "",
- valueSelect: "",
stateValue: "",
config: 1, // 1 覆盖,2跳过
/** 编辑控制 */
@@ -243,7 +237,6 @@ export default {
errTemplate: "",
errMessage: "",
successMessage: "",
- taskId: "",
},
processData: {
count: 0,
@@ -289,26 +282,68 @@ export default {
sureTitle() {
return {
1: "立即导入",
- // 2: "导入中...",
- // 3: "确定",
- // 4: "确定",
+ 2: "取消导入",
+ 3: "确定",
+ 4: "确定",
}[this.stepsActive];
},
showCancel() {
return this.stepsActive == 1;
},
+ getMoudleDisable() {
+ if (
+ this.crmType == "codeSetting" ||
+ this.crmType == "factory" ||
+ this.crmType == "customerStorageLocation" ||
+ this.crmType == "materialRelationSupplier" ||
+ this.crmType == "carMaterialConfig" ||
+ this.crmType == "materialRelation"
+ ) {
+ //版本和工厂都可以用
+ this.isEditYearMont = true;
+ this.isEditFactory = true;
+ } else if (
+ this.crmType == "secondaryPriceRatio" ||
+ this.crmType == "secondaryAdjustment" ||
+ this.crmType == "secondaryDiscount" ||
+ this.crmType == "estimatedInventoryDetail" ||
+ this.crmType == "estimatedSum"
+ ) {
+ //只版本可用
+ this.isEditYearMont = true;
+ this.isEditFactory = false;
+ } else if (this.crmType == "material") {
+ //只工厂可用
+ this.isEditYearMont = false;
+ this.isEditFactory = true;
+ } else if (this.crmType == "prebatch") {
+ //只状态可用
+ this.isEditYearMont = true;
+ this.isEditFactory = true;
+ this.isState = false;
+ } else {
+ this.isEditYearMont = false;
+ this.isEditFactory = false;
+ }
+ },
crmTypeName() {
return (
{
- materialRelation: "总成与结算件关系",
+ standardKanban: "红旗-标准看板输入表",
+ specialKanban: "红旗-特殊看板输入表",
+ standardConsign: "红旗-标准结算数据输入表",
+ specialConsign: "红旗-特殊结算数据输入表",
}[this.crmType] || ""
);
},
getWebApi() {
return (
{
- materialRelation:
- "/api/settleaccount/MaterialRelationshipDetail/ExcelImport-TH",
+ //红旗汽车
+ standardKanban: "/api/settleaccount/HQKBs/ExcelImport",
+ specialKanban: "/api/settleaccount/HQSpecKBs/ExcelImport",
+ standardConsign: "/api/settleaccount/HQConsign/ExcelImport",
+ specialConsign: "/api/settleaccount/HQSpecConsign/ExcelImport",
}[this.crmType] || ""
);
},
@@ -316,19 +351,10 @@ export default {
//模板名称
return (
{
- // bomdatabase: "产品结构Bom导入模板.xlsx",
- // secondaryPriceRatio: "二配价格比例导入模板.xlsx",
- // factory: "工厂设置模板.xlsx",
- // materialRelation: "零件匹配关系.xlsx",
- // carMaterialConfig: "车型代码与零件匹配.xlsx",
- // materialRelationSupplier: "供应商零件设置表.xlsx",
- // material: "物料主数据.xlsx",
- // inventorydetail: "库存明细信息.xlsx",
- // codeSetting: "通用代码设置数据.xlsx",
- // estimatedSum: "应付暂估汇总.xlsx",
- // estimatedInventoryDetail: "应付暂估收货明细.xlsx",
- // customerStorageLocation: "客户存储地点.xlsx",
- // secondaryAdjustment: "二配调整输入.xlsx",
+ standardKanban: "红旗-标准看板输入表.xlsx",
+ specialKanban: "红旗-特殊看板输入表.xlsx",
+ standardConsign: "红旗-标准结算数据输入表.xlsx",
+ specialConsign: "红旗-特殊结算数据输入表.xlsx",
}[this.crmType] || ""
);
},
@@ -343,6 +369,8 @@ export default {
show: function (val) {
this.stepsActive = 1;
this.getAllYearMonth(); //加载版本
+ this.getAllFactory(); //加载工厂
+ this.getMoudleDisable(); //判断设置条件是否可用
if (val) {
this.stepsActive = 1;
} else {
@@ -384,7 +412,27 @@ export default {
},
mounted() {},
methods: {
+ // getAllYearMonth() {
+ // //取工厂列表信息
+ // this.factoryList = [];
+ // //this.listQuery.SkipCount = (this.page - 1) * 500;
+ // this.$axios
+ // .posts("/api/settleaccount/CentralizedControl/openlist")
+ // .then((response) => {
+ // response.items.forEach((element) => {
+ // let options = {};
+ // options.value = element.version;
+ // options.label = element.version;
+ // this.factoryList.push(options);
+ // });
+ // })
+ // .catch(() => {
+ // this.listLoading = false;
+ // });
+ // },
getAllYearMonth() {
+ //取版本列表信息
+ // this.listQuery.SkipCount = (this.page - 1) * 500;
this.$axios
.posts("/api/settleaccount/CentralizedControl/openlist")
.then((response) => {
@@ -400,6 +448,24 @@ export default {
this.listLoading = false;
});
},
+ getAllFactory() {
+ //取工厂列表信息
+ this.yearMonthList = [];
+ this.listQueryCustom.SkipCount = (this.page - 1) * 500;
+ this.$axios
+ .posts("/api/settleaccount/Factory/list", this.listQueryCustom)
+ .then((response) => {
+ response.items.forEach((element) => {
+ let options = {};
+ options.value = element.code;
+ options.label = element.desc;
+ this.yearMonthList.push(options);
+ });
+ })
+ .catch(() => {
+ this.listLoading = false;
+ });
+ },
handleImportExcelClick() {
//父组件中,初始化此子组件时调用
this.fileuploadList = [];
@@ -444,6 +510,10 @@ export default {
},
//执行按钮
sureClick() {
+ if (this.versionValue === "") {
+ this.$message.error("请选择版本");
+ return false;
+ }
if (
this.fileuploadList === [] ||
JSON.stringify(this.fileuploadList) === "[]"
@@ -451,20 +521,14 @@ export default {
this.$message.error("请选择导入文件");
return false;
}
- if (this.versionValue === "") {
- this.$message.error("必需选择版本!");
- return;
- }
- if (this.valueSelect === "") {
- this.$message.error("必需选择适用功能!");
- return;
- }
if (this.stepsActive == 1) {
if (this.stepList[0].status == "wait") {
this.stepsActive = 2;
this.saveTemplateData();
this.activeName = "second";
- console.log(this.crmTypeName);
+ // setTimeout(() => {
+ // this.saveTemplateData();
+ // }, 1000);
if (this.stepList[1].status == "finish") {
}
} else {
@@ -487,51 +551,36 @@ export default {
fileuploadList.forEach((file) => {
fd.append("files", file); // 添加文件
});
- // fd.append("branchId", "3FA85F64-5717-4562-B3FC-2C963F66AFA6");
- // fd.append("year", "2021");
- // fd.append("period", "03");
- fd.append("customerCode", this.valueSelect);
+ fd.append("branchId", "3FA85F64-5717-4562-B3FC-2C963F66AFA6");
+ fd.append("year", "2021");
+ fd.append("period", "03");
+ fd.append("customerCode", "T51Z59");
+ fd.append("factory", this.YearMonthValue);
fd.append("version", this.versionValue);
const webapi = this.getWebApi;
this.$axios
.posts(webapi, fd)
.then(async (res) => {
- console.log("总成与结算件的导入条件:" + JSON.stringify(res));
- if (Number.isInteger(res)) {
- this.resultData.taskId = res;
- this.$notify({
- title: "成功",
- message: "文件上传成功!",
- type: "success",
- duration: 2000,
- });
- this.stepList[1].status = "finish";
- this.resultData.successMessage =
- "文件已经上传至后台,任务号:" +
- res +
- ",请在后台作业监控界面中查看进度!";
- this.stepsActive = 4;
+ console.log("红旗导入条件:" + JSON.stringify(res));
+ if (res === "Success") {
+ if (this.isLt2M === "1" && this.isFileType === "1") {
+ this.$notify({
+ title: "成功",
+ message: "数据导入成功!",
+ type: "success",
+ duration: 2000,
+ });
+ this.stepList[1].status = "finish";
+ this.resultData.successMessage = "数据导入成功!";
+ this.stepsActive = 4;
+ }
+ } else {
+ this.stepList[0].status = "wait";
+ this.resultData.errTemplate = res; //指定错误模板名称,作为参数,用于错误模板下载
+ this.resultData.errSize = 1; //保持大于0,用于控制错误数据下载按钮的可不可见
+ this.resultData.successMessage = "数据导入失败!";
+ this.stepsActive = 3;
}
- // if (res === "Success") {
- // if (this.isLt2M === "1" && this.isFileType === "1") {
- // this.$notify({
- // title: "成功",
- // message: "数据导入成功!",
- // type: "success",
- // duration: 2000,
- // });
- // this.stepList[1].status = "finish";
- // this.resultData.successMessage = "数据导入成功!";
- // this.stepsActive = 4;
- // }
- // } else {
- // this.stepList[0].status = "wait";
- // this.resultData.errTemplate = res; //指定错误模板名称,作为参数,用于错误模板下载
- // this.resultData.errSize = 1; //保持大于0,用于控制错误数据下载按钮的可不可见
- // this.resultData.successMessage = "数据导入失败!";
- // this.stepsActive = 3;
- // }
- console.log(this.stepsActive);
this.$emit("status", "finish");
// this.$nextTick(() => {
// this.loading = false;
@@ -553,10 +602,7 @@ export default {
});
}
},
- goTo() {
- //直接跳转
- this.$router.push("/views/ux/backGroundWork");
- },
+
/**
* 下载错误模板
*/
@@ -641,10 +687,6 @@ export default {
transform: translateX(297px) !important;
}
}
-
-/deep/.el-tabs__item {
- padding: 0 20px;
-}
.el-steps {
margin-bottom: 15px;
@@ -667,7 +709,7 @@ export default {
}
.step-section {
- min-height: 250px;
+ min-height: 300px;
/deep/ .el-loading-spinner {
top: 45%;
@@ -743,10 +785,11 @@ export default {
// 结果信息
.result-info {
text-align: center;
+
.el-card {
border: none;
- height: 250px !important;
}
+ //显示结果box的padding
/deep/.el-card__body {
padding: 60px 20px 20px 20px;
}
@@ -769,7 +812,7 @@ export default {
}
&__detail {
- margin-top: 25px;
+ margin-top: 35px;
font-size: 20px;
color: #666;
&--all {
@@ -794,4 +837,11 @@ export default {
font-size: 20px;
}
}
-
\ No newline at end of file
+
+
+
+
+
+
+
+
diff --git a/code/WebApp/vue/src/components/ImportExcel-vw/index-1.vue b/code/WebApp/vue/src/components/ImportExcel-vw/index-1.vue
new file mode 100644
index 00000000..3cecac30
--- /dev/null
+++ b/code/WebApp/vue/src/components/ImportExcel-vw/index-1.vue
@@ -0,0 +1,814 @@
+
+
+
+
+
+
+ 一、导入说明:
+
+ 1、提供的导入模板需要.xlsx文件格式!不支持“.xls”文件,即不支持Excel97-2003!
+
+
+ 2、模板名称可以进行修改,但不要删除模板中设置的字段!
+
+
+ 3、导入文件大小请勿超过100MB!且目前只支持单个Sheet页签!
+
+
+
+
+
二、导入条件设置(没有则不用设置)
+
+ 选择版本:
+
+
+
+ 选择工厂:
+
+
+
+
+
+
+
三、请选择需要导入的文件
+
+
+
+
+
+ 将文件拖到此处,或
+ 点击上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 结果:
+ {{ this.resultData.successMessage }}
+
+
+
+ 下载错误数据
+
+
+
+
+
+
+
+
+
+ 结果:
+ {{ this.resultData.successMessage }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/WebApp/vue/src/components/ImportExcel-vw/index.vue b/code/WebApp/vue/src/components/ImportExcel-vw/index.vue
index d1e8b5a6..c94b4245 100644
--- a/code/WebApp/vue/src/components/ImportExcel-vw/index.vue
+++ b/code/WebApp/vue/src/components/ImportExcel-vw/index.vue
@@ -53,7 +53,7 @@
:value="item.value"
>
-
+
@@ -145,15 +145,13 @@
>{{ this.resultData.successMessage }}
-
- [单击跳转至后台监控界面]
-
+
@@ -247,7 +245,6 @@ export default {
errTemplate: "",
errMessage: "",
successMessage: "",
- taskId: "",
},
processData: {
count: 0,
@@ -307,7 +304,8 @@ export default {
this.crmType == "factory" ||
this.crmType == "customerStorageLocation" ||
this.crmType == "materialRelationSupplier" ||
- this.crmType == "carMaterialConfig"
+ this.crmType == "carMaterialConfig" ||
+ this.crmType == "materialRelation"
) {
//版本和工厂都可以用
this.isEditYearMont = true;
@@ -315,6 +313,8 @@ export default {
} else if (
this.crmType == "secondaryPriceRatio" ||
this.crmType == "secondaryAdjustment" ||
+ this.crmType == "secondaryAdjustmentBT" ||
+ this.crmType == "secondaryAdjustmentHQ" ||
this.crmType == "secondaryDiscount" ||
this.crmType == "estimatedInventoryDetail" ||
this.crmType == "estimatedSum"
@@ -324,8 +324,8 @@ export default {
this.isEditFactory = false;
} else if (this.crmType == "material") {
//只工厂可用
- this.isEditYearMont = true;
- this.isEditFactory = false;
+ this.isEditYearMont = false;
+ this.isEditFactory = true;
} else if (this.crmType == "prebatch") {
//只状态可用
this.isEditYearMont = true;
@@ -339,16 +339,54 @@ export default {
crmTypeName() {
return (
{
- settleAccount: "大众已结算数据",
- unSettleAccount: "大众未结数据",
+ bomdatabase: "产品结构BOM",
+ prebatch: "预批量",
+ secondaryPriceRatio: "二配结算价格比例",
+ factory: "工厂设置",
+ materialRelation: "零件匹配关系",
+ carMaterialConfig: "车型代码与零件匹配",
+ materialRelationSupplier: "供应商零件设置表",
+ material: "物料主数据",
+ inventorydetail: "库存明细",
+ codeSetting: "通用代码设置",
+ estimatedSum: "应付暂估汇总",
+ estimatedInventoryDetail: "应付暂估收货明细",
+ customerStorageLocation: "客户存储地点",
+ secondaryAdjustment: "二配数量调整输入",
+ secondaryAdjustmentBT: "奔腾-二配数量调整输入",
+ secondaryAdjustmentHQ:"红旗-二配数量调整输入",
+ secondaryDiscount: "二配折扣调整输入",
}[this.crmType] || ""
);
},
getWebApi() {
return (
{
- settleAccount: "/api/settleaccount/SettleAccount/ExcelImport-PG",
- unSettleAccount: "/api/settleaccount/UnSettleAccount/ExcelImport",
+ bomdatabase: "/api/settleaccount/bom/ExcelImport",
+ prebatch: "/api/settleaccount/Prebatch/ExcelImport",
+ secondaryPriceRatio:
+ "/api/settleaccount/SecondaryPriceRatio/ExcelImport",
+ factory: "/api/settleaccount/Factory/ExcelImport",
+ materialRelation:
+ "/api/settleaccount/MaterialRelationship/ExcelImport",
+ carMaterialConfig: "/api/settleaccount/CarMaterialConfig/ExcelImport",
+ materialRelationSupplier:
+ "/api/settleaccount/SupplierItemSetUp/ExcelImport",
+ material: "/api/settleaccount/material/ExcelImport",
+ inventorydetail: "/api/settleaccount/InventoryDetail/ExcelImport",
+ codeSetting: "/api/settleaccount/CodeSetting/ExcelImport",
+ estimatedSum: "/api/settleaccount/EstimatedSum/ExcelImport",
+ estimatedInventoryDetail:
+ "/api/settleaccount/EstimatedInventoryDetail/ExcelImport",
+ customerStorageLocation:
+ "/api/settleaccount/CustomerStorageLocation/ExcelImport",
+ secondaryAdjustment:
+ "/api/settleaccount/SecondaryAdjustment/ExcelImport",
+ secondaryAdjustmentBT://新增 奔腾二配导入
+ "/api/settleaccount/SecondaryAdjustmentBT/ExcelImport",
+ secondaryAdjustmentHQ://新增 红旗二配导入
+ "/api/settleaccount/SecondaryAdjustmentHQ/ExcelImport",
+ secondaryDiscount: "/api/settleaccount/SecondaryDiscount/ExcelImport",
}[this.crmType] || ""
);
},
@@ -356,19 +394,21 @@ export default {
//模板名称
return (
{
- // bomdatabase: "产品结构Bom导入模板.xlsx",
- // secondaryPriceRatio: "二配价格比例导入模板.xlsx",
- // factory: "工厂设置模板.xlsx",
- // materialRelation: "零件匹配关系.xlsx",
- // carMaterialConfig: "车型代码与零件匹配.xlsx",
- // materialRelationSupplier: "供应商零件设置表.xlsx",
- // material: "物料主数据.xlsx",
- // inventorydetail: "库存明细信息.xlsx",
- // codeSetting: "通用代码设置数据.xlsx",
- // estimatedSum: "应付暂估汇总.xlsx",
- // estimatedInventoryDetail: "应付暂估收货明细.xlsx",
- // customerStorageLocation: "客户存储地点.xlsx",
- // secondaryAdjustment: "二配调整输入.xlsx",
+ bomdatabase: "产品结构Bom导入模板.xlsx",
+ secondaryPriceRatio: "二配价格比例导入模板.xlsx",
+ factory: "工厂设置模板.xlsx",
+ materialRelation: "零件匹配关系.xlsx",
+ carMaterialConfig: "车型代码与零件匹配.xlsx",
+ materialRelationSupplier: "供应商零件设置表.xlsx",
+ material: "物料主数据.xlsx",
+ inventorydetail: "库存明细信息.xlsx",
+ codeSetting: "通用代码设置数据.xlsx",
+ estimatedSum: "应付暂估汇总.xlsx",
+ estimatedInventoryDetail: "应付暂估收货明细.xlsx",
+ customerStorageLocation: "客户存储地点.xlsx",
+ secondaryAdjustment: "二配调整输入.xlsx",
+ secondaryAdjustmentBT: "奔腾-二配调整输入.xlsx",
+ secondaryAdjustmentHQ:"红旗-二配调整输入xlsx"
}[this.crmType] || ""
);
},
@@ -383,6 +423,7 @@ export default {
show: function (val) {
this.stepsActive = 1;
this.getAllYearMonth(); //加载版本
+ this.getAllFactory(); //加载工厂
this.getMoudleDisable(); //判断设置条件是否可用
if (val) {
this.stepsActive = 1;
@@ -441,6 +482,24 @@ export default {
this.listLoading = false;
});
},
+ getAllFactory() {
+ //取工厂列表信息
+ this.yearMonthList = [];
+ this.listQueryCustom.SkipCount = (this.page - 1) * 500;
+ this.$axios
+ .posts("/api/settleaccount/Factory/list", this.listQueryCustom)
+ .then((response) => {
+ response.items.forEach((element) => {
+ let options = {};
+ options.value = element.code;
+ options.label = element.desc;
+ this.yearMonthList.push(options);
+ });
+ })
+ .catch(() => {
+ this.listLoading = false;
+ });
+ },
handleImportExcelClick() {
//父组件中,初始化此子组件时调用
this.fileuploadList = [];
@@ -485,6 +544,22 @@ export default {
},
//执行按钮
sureClick() {
+ if (
+ this.crmType == "secondaryPriceRatio" ||
+ this.crmType == "secondaryAdjustment" ||
+ this.crmType == "secondaryAdjustmentBT" ||
+ this.crmType == "secondaryAdjustmentHQ" ||
+ this.crmType == "secondaryDiscount" ||
+ this.crmType == "estimatedInventoryDetail" ||
+ this.crmType == "inventorydetail" ||
+ this.crmType == "bomdatabase" ||
+ this.crmType == "estimatedSum"
+ ) {
+ if (this.versionValue == "") {
+ this.$message.error("必须选择版本!");
+ return false;
+ }
+ }
if (
this.fileuploadList === [] ||
JSON.stringify(this.fileuploadList) === "[]"
@@ -524,26 +599,31 @@ export default {
fd.append("year", "2021");
fd.append("period", "03");
fd.append("customerCode", "03");
+ fd.append("factory", this.YearMonthValue);
fd.append("version", this.versionValue);
const webapi = this.getWebApi;
this.$axios
.posts(webapi, fd)
.then(async (res) => {
console.log("大众导入条件:" + JSON.stringify(res));
- if (Number.isInteger(res)) {
- this.resultData.taskId = res;
- this.$notify({
- title: "成功",
- message: "文件上传成功!",
- type: "success",
- duration: 2000,
- });
- this.stepList[1].status = "finish";
- this.resultData.successMessage =
- "文件已经上传至后台,任务号:" +
- res +
- ",请在后台作业监控界面中查看进度!";
- this.stepsActive = 4;
+ if (res === "Success") {
+ if (this.isLt2M === "1" && this.isFileType === "1") {
+ this.$notify({
+ title: "成功",
+ message: "数据导入成功!",
+ type: "success",
+ duration: 2000,
+ });
+ this.stepList[1].status = "finish";
+ this.resultData.successMessage = "数据导入成功!";
+ this.stepsActive = 4;
+ }
+ } else {
+ this.stepList[0].status = "wait";
+ this.resultData.errTemplate = res; //指定错误模板名称,作为参数,用于错误模板下载
+ this.resultData.errSize = 1; //保持大于0,用于控制错误数据下载按钮的可不可见
+ this.resultData.successMessage = "数据导入失败!";
+ this.stepsActive = 3;
}
console.log(this.stepsActive);
this.$emit("status", "finish");
@@ -567,10 +647,7 @@ export default {
});
}
},
- goTo() {
- //直接跳转
- this.$router.push("/views/ux/backGroundWork");
- },
+
/**
* 下载错误模板
*/
diff --git a/code/WebApp/vue/src/components/ImportExcel/index.vue b/code/WebApp/vue/src/components/ImportExcel/index.vue
index 84cf0c5d..be15da81 100644
--- a/code/WebApp/vue/src/components/ImportExcel/index.vue
+++ b/code/WebApp/vue/src/components/ImportExcel/index.vue
@@ -298,7 +298,7 @@ export default {
return (
{
bomdatabase: "产品结构BOM",
- // materialRelation: "零件匹配关系",
+ materialRelation: "零件匹配关系",
material: "物料主数据",
inventorydetail: "库存明细",
codeSetting: "通用代码设置",
@@ -311,7 +311,7 @@ export default {
return (
{
bomdatabase: "/api/settleaccount/bom/ExcelImport",
- // materialRelation: "/api/settleaccount/materialRelation/ExcelImport",
+ materialRelation: "/api/settleaccount/materialRelation/ExcelImport",
material: "/api/settleaccount/material/ExcelImport",
inventorydetail: "/api/settleaccount/InventoryDetail/ExcelImport",
codeSetting: "/api/settleaccount/CodeSetting/ExcelImport",
diff --git a/code/WebApp/vue/src/components/ImportTxt/index-1.vue b/code/WebApp/vue/src/components/ImportTxt/index-1.vue
new file mode 100644
index 00000000..b74b57d9
--- /dev/null
+++ b/code/WebApp/vue/src/components/ImportTxt/index-1.vue
@@ -0,0 +1,766 @@
+
+
+
+
+
+
+ 一、导入说明:
+
+ 1、提供的导入模板需要.txt文本格式!
+
+
+ 2、模板名称可以进行修改,但不要删除模板中设置的字段!
+
+
3、导入文件大小请勿超过100MB!
+
+
+
+
+ 二、导入条件设置(没有则不用设置)。
+
+
+ 选择版本:
+
+
+
+ 大众厂线:
+
+
+
+
+
+ 开始时间:
+
+
+
+
+ 结束时间:
+
+
+
+
+
+
三、请选择需要导入的文件
+
+
+
+
+
+ 将文件拖到此处,或
+ 点击上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 结果:
+ {{ this.resultData.successMessage }}
+
+
+
+ 下载错误数据
+
+
+
+
+
+
+
+
+
+
+ 结果:
+ {{ this.resultData.successMessage }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/WebApp/vue/src/components/ImportTxt/index.vue b/code/WebApp/vue/src/components/ImportTxt/index.vue
index 8a2b1e7d..329a54bd 100644
--- a/code/WebApp/vue/src/components/ImportTxt/index.vue
+++ b/code/WebApp/vue/src/components/ImportTxt/index.vue
@@ -151,13 +151,13 @@
{{ this.resultData.successMessage }}
-
+ >
@@ -345,7 +345,6 @@ export default {
{
fis: "FIS发运数据",
settleAccount: "R3数据",
- AssemblyCfgERP:"总成SAP数据",
}[this.crmType] || ""
);
},
@@ -353,8 +352,7 @@ export default {
return (
{
fis: "/api/settleaccount/fis/ExcelImport",
- settleAccount: "/api/settleaccount/SettleAccount/ExcelImport",
- AssemblyCfgERP:"/api/newjit/assembly-cfg-erp/import",
+ settleAccount: "/api/settleaccount/SettleAccount/ExcelImport",
}[this.crmType] || ""
);
},
@@ -364,7 +362,6 @@ export default {
{
fis: "FIS发运数据导入模板.xlsx",
settleAccount: "R3数据模板.xlsx",
- AssemblyCfgERP:"BOM-批量导入模板.txt",
}[this.crmType] || ""
);
},
@@ -427,7 +424,7 @@ export default {
this.factoryList = [];
// this.listQuery.SkipCount = (this.page - 1) * 500;
this.$axios
- .posts("/api/newjit/assembly-cfg-erp/import")
+ .posts("/api/settleaccount/CentralizedControl/openlist")
.then((response) => {
response.forEach((element) => {
let options = {};
@@ -440,25 +437,25 @@ export default {
this.listLoading = false;
});
},
- // getAllCarModel() {
- // //取车型列表信息
- // this.carModelList = [];
- // this.listQueryCustom.SkipCount = (this.page - 1) * 500;
- // console.log(JSON.stringify(this.listQueryCustom));
- // this.$axios
- // .posts("/api/settleaccount/CodeSetting/list", this.listQueryCustom)
- // .then((response) => {
- // response.items.forEach((element) => {
- // let options = {};
- // options.value = element.value;
- // options.label = element.description;
- // this.carModelList.push(options);
- // });
- // })
- // .catch(() => {
- // this.listLoading = false;
- // });
- // },
+ getAllCarModel() {
+ //取车型列表信息
+ this.carModelList = [];
+ this.listQueryCustom.SkipCount = (this.page - 1) * 500;
+ console.log(JSON.stringify(this.listQueryCustom));
+ this.$axios
+ .posts("/api/settleaccount/CodeSetting/list", this.listQueryCustom)
+ .then((response) => {
+ response.items.forEach((element) => {
+ let options = {};
+ options.value = element.value;
+ options.label = element.description;
+ this.carModelList.push(options);
+ });
+ })
+ .catch(() => {
+ this.listLoading = false;
+ });
+ },
handleImportExcelClick() {
//父组件中,初始化此子组件时调用
this.fileuploadList = [];
@@ -503,6 +500,10 @@ export default {
},
//执行按钮
sureClick() {
+ if (this.versionValue == "") {
+ this.$message.error("必须选择版本!");
+ return false;
+ }
if (this.startTimeVale && this.endTimeVale) {
if (
formatTimeToTimestamp(this.startTimeVale) >=
@@ -563,48 +564,24 @@ export default {
.posts(webapi, fd)
.then(async (res) => {
console.log("导入条件:" + JSON.stringify(res));
- if(this.crmType !== "AssemblyCfgERP"){
- if (res === "Success") {
- if (this.isLt2M === "1" && this.isFileType === "1") {
- this.$notify({
- title: "成功",
- message: "数据导入成功!",
- type: "success",
- duration: 2000,
- });
- this.stepList[1].status = "finish";
- this.resultData.successMessage = "数据导入成功!";
- this.stepsActive = 4;
- }
- } else {
- this.stepList[0].status = "wait";
- this.resultData.errTemplate = res; //指定错误模板名称,作为参数,用于错误模板下载
- this.resultData.errSize = 1; //保持大于0,用于控制错误数据下载按钮的可不可见
- this.resultData.successMessage = "数据导入失败!";
- this.stepsActive = 3;
- }
- }
- else{
- console.log(res.status)
- if (res.status === true) {
- if (this.isLt2M === "1" && this.isFileType === "1") {
- this.$notify({
- title: "成功",
- message: "数据导入成功!",
- type: "success",
- duration: 2000,
- });
- this.stepList[1].status = "finish";
- this.resultData.successMessage = "数据导入成功!";
- this.stepsActive = 4;
- }
- } else {
- this.stepList[0].status = "wait";
- this.resultData.errTemplate = res; //指定错误模板名称,作为参数,用于错误模板下载
- this.resultData.errSize = 1; //保持大于0,用于控制错误数据下载按钮的可不可见
- this.resultData.successMessage = res.message;
- this.stepsActive = 3;
+ if (res === "Success") {
+ if (this.isLt2M === "1" && this.isFileType === "1") {
+ this.$notify({
+ title: "成功",
+ message: "数据导入成功!",
+ type: "success",
+ duration: 2000,
+ });
+ this.stepList[1].status = "finish";
+ this.resultData.successMessage = "数据导入成功!";
+ this.stepsActive = 4;
}
+ } else {
+ this.stepList[0].status = "wait";
+ this.resultData.errTemplate = res; //指定错误模板名称,作为参数,用于错误模板下载
+ this.resultData.errSize = 1; //保持大于0,用于控制错误数据下载按钮的可不可见
+ this.resultData.successMessage = "数据导入失败!";
+ this.stepsActive = 3;
}
this.$emit("status", "finish");
this.loading = false;
diff --git a/code/WebApp/vue/src/components/ImportTxt/index525.rar b/code/WebApp/vue/src/components/ImportTxt/index525.rar
new file mode 100644
index 00000000..0f68f14f
Binary files /dev/null and b/code/WebApp/vue/src/components/ImportTxt/index525.rar differ
diff --git a/code/WebApp/vue/src/components/Pagination/index.vue b/code/WebApp/vue/src/components/Pagination/index.vue
index ac5fe9f0..a7324e3c 100644
--- a/code/WebApp/vue/src/components/Pagination/index.vue
+++ b/code/WebApp/vue/src/components/Pagination/index.vue
@@ -35,7 +35,7 @@ export default {
pageSizes: {
type: Array,
default() {
- return [15, 50, 100, 500]
+ return [15, 200, 300, 500]
}
},
layout: {
diff --git a/code/WebApp/vue/src/components/PasteExcel/index.vue b/code/WebApp/vue/src/components/PasteExcel/index.vue
deleted file mode 100644
index efb85e6b..00000000
--- a/code/WebApp/vue/src/components/PasteExcel/index.vue
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/code/WebApp/vue/src/components/UploadFiles/index.vue b/code/WebApp/vue/src/components/UploadFiles/index.vue
new file mode 100644
index 00000000..cbc71d9a
--- /dev/null
+++ b/code/WebApp/vue/src/components/UploadFiles/index.vue
@@ -0,0 +1,594 @@
+
+
+
+
+
+
+ 一、导入说明:
+
+ 1、提供的导入模板需要文本格式,即.txt文件格式!
+
+
+ 2、请勿删除模板中设置的字段!
+
+
3、导入文件大小请勿超过100MB!
+
+
+
+
+ 二、导入条件设置(年、月,工厂,无则不用设置)。
+
+
+ 选择年份:
+
+
+ 选择月份:
+
+
+
+
+ 选择工厂:
+
+
+
+
+
+
+
三、请选择需要导入的文件
+
+
+
+
+
+ 将文件拖到此处,或
+ 点击上传
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 导入成功数据:
+ {{ this.resultData.totalSize }} 条有效数据!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/WebApp/vue/src/directive/scrollx/index.js b/code/WebApp/vue/src/directive/scrollx/index.js
deleted file mode 100644
index c985d24b..00000000
--- a/code/WebApp/vue/src/directive/scrollx/index.js
+++ /dev/null
@@ -1,136 +0,0 @@
-
-// 盒子滚动条拖拽
-import { on, off } from '@/utils/dom'
-import Vue from 'vue'
-import { debounce } from 'throttle-debounce'
-
-let targetDrag = { // 托拽
- isDown: false,
- coord: {
- x: 0,
- y: 0
- }
-}
-
-let dom = null
-let ignoreClass = [] // 忽略的类名
-
-const scrollMousedown = event => {
- dom.style.cursor = 'pointer'
- targetDrag.isDown = true
- targetDrag.coord.x = event.pageX
- targetDrag.coord.y = event.pageY
-}
-
-const scrollMouseup = event => {
- dom.style.cursor = 'default'
- targetDrag.isDown = false
- targetDrag.coord.x = 0
- targetDrag.coord.y = 0
-}
-
-const scrollMousemove = event => {
- const movX = targetDrag.coord.x - event.pageX
- targetDrag.coord.x = event.pageX
- if (checkDomIsIgnore(event)) {
- dom.style.cursor = 'default'
- targetDrag.isDown = false
- } else if (targetDrag.isDown) {
- dom.scrollLeft = dom.scrollLeft + movX
- }
-}
-
-const scrollMouseout = event => {
- dom.style.cursor = 'default'
- targetDrag.isDown = false
-}
-
-const scrollMousewheel = event => {
- if (checkIsIgnore(event)) {
- dom.style.cursor = 'default'
- targetDrag.isDown = false
- } else {
- dom.scrollLeft += event.deltaY
- }
-}
-
-/**
- * 检查dom是否忽略
- * @param {*} e
- */
-const checkDomIsIgnore = debounce(300, (e) => {
- let ignore = false
- ignoreClass.forEach(element => {
- var items = document.getElementsByClassName(element)
- if (items && !ignore) {
- for (let index = 0; index < items.length; index++) {
- const element = items[index]
- if (element.contains(e.target)) {
- ignore = true
- break
- }
- }
- }
- })
- return ignore
-})
-
-/**
- * 忽略滚轮
- * @param {*} e
- */
-const checkIsIgnore = (e) => {
- let ignore = false
- ignoreClass.forEach(element => {
- var items = document.getElementsByClassName(element)
- if (items && !ignore) {
- for (let index = 0; index < items.length; index++) {
- const element = items[index]
- const rect = element.getBoundingClientRect()
- if ((e.clientY > rect.top && (e.clientY < (rect.top + rect.height))) && (e.clientX > rect.left && (e.clientX < (rect.left + rect.width)))) {
- ignore = true
- break
- }
- }
- }
- })
- return ignore
-}
-
-export default Vue.directive('scrollx', {
- bind: function(el, binding, vnode) {
- const valueData = binding.value
- ignoreClass = valueData.ignoreClass
- },
-
- inserted: function(el) {
- dom = el
-
- // 鼠标按下
- on(el, 'mousedown', scrollMousedown)
- on(el, 'mouseout', scrollMouseout)
- on(el, 'wheel', scrollMousewheel)
- // 鼠标释放
- on(el, 'mouseup', scrollMouseup)
- // 鼠标托拽
- on(el, 'mousemove', scrollMousemove)
- },
-
- unbind: function(el) {
- off(el, 'mousedown', scrollMousedown)
- off(el, 'mouseup', scrollMouseup)
- off(el, 'mouseout', scrollMouseout)
- off(el, 'wheel', scrollMousewheel)
- off(el, 'mousemove', scrollMousemove)
-
- // 清空
- targetDrag = { // 托拽
- isDown: false,
- coord: {
- x: 0,
- y: 0
- }
- }
- }
-})
-
diff --git a/code/WebApp/vue/src/icons/svg/BOM.svg b/code/WebApp/vue/src/icons/svg/BOM.svg
deleted file mode 100644
index 2bd7ac43..00000000
--- a/code/WebApp/vue/src/icons/svg/BOM.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/业务.svg b/code/WebApp/vue/src/icons/svg/业务.svg
deleted file mode 100644
index 6e92d16b..00000000
--- a/code/WebApp/vue/src/icons/svg/业务.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/供货.svg b/code/WebApp/vue/src/icons/svg/供货.svg
deleted file mode 100644
index 387a1e2b..00000000
--- a/code/WebApp/vue/src/icons/svg/供货.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/单据导入.svg b/code/WebApp/vue/src/icons/svg/单据导入.svg
deleted file mode 100644
index 59012d4e..00000000
--- a/code/WebApp/vue/src/icons/svg/单据导入.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/发货.svg b/code/WebApp/vue/src/icons/svg/发货.svg
deleted file mode 100644
index 69bd4674..00000000
--- a/code/WebApp/vue/src/icons/svg/发货.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/发运.svg b/code/WebApp/vue/src/icons/svg/发运.svg
deleted file mode 100644
index 741eae27..00000000
--- a/code/WebApp/vue/src/icons/svg/发运.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/售后.svg b/code/WebApp/vue/src/icons/svg/售后.svg
deleted file mode 100644
index 8b64b6b7..00000000
--- a/code/WebApp/vue/src/icons/svg/售后.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/售后报表.svg b/code/WebApp/vue/src/icons/svg/售后报表.svg
deleted file mode 100644
index 9cf76aac..00000000
--- a/code/WebApp/vue/src/icons/svg/售后报表.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/器具.svg b/code/WebApp/vue/src/icons/svg/器具.svg
deleted file mode 100644
index f27421ef..00000000
--- a/code/WebApp/vue/src/icons/svg/器具.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/客户零件.svg b/code/WebApp/vue/src/icons/svg/客户零件.svg
deleted file mode 100644
index 527a4435..00000000
--- a/code/WebApp/vue/src/icons/svg/客户零件.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/库房.svg b/code/WebApp/vue/src/icons/svg/库房.svg
deleted file mode 100644
index e8dc267d..00000000
--- a/code/WebApp/vue/src/icons/svg/库房.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/报表.svg b/code/WebApp/vue/src/icons/svg/报表.svg
deleted file mode 100644
index 12908bc3..00000000
--- a/code/WebApp/vue/src/icons/svg/报表.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/日历.svg b/code/WebApp/vue/src/icons/svg/日历.svg
deleted file mode 100644
index da1c0000..00000000
--- a/code/WebApp/vue/src/icons/svg/日历.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/索赔授权.svg b/code/WebApp/vue/src/icons/svg/索赔授权.svg
deleted file mode 100644
index 50f7fcd7..00000000
--- a/code/WebApp/vue/src/icons/svg/索赔授权.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/销售.svg b/code/WebApp/vue/src/icons/svg/销售.svg
deleted file mode 100644
index 4a53d133..00000000
--- a/code/WebApp/vue/src/icons/svg/销售.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/icons/svg/零件类型.svg b/code/WebApp/vue/src/icons/svg/零件类型.svg
deleted file mode 100644
index 2df88f95..00000000
--- a/code/WebApp/vue/src/icons/svg/零件类型.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/code/WebApp/vue/src/layout-old.rar b/code/WebApp/vue/src/layout-old.rar
new file mode 100644
index 00000000..d9fbb258
Binary files /dev/null and b/code/WebApp/vue/src/layout-old.rar differ
diff --git a/code/WebApp/vue/src/layout/components/ManagerNavbar.vue b/code/WebApp/vue/src/layout/components/ManagerNavbar.vue
new file mode 100644
index 00000000..00b88d12
--- /dev/null
+++ b/code/WebApp/vue/src/layout/components/ManagerNavbar.vue
@@ -0,0 +1,116 @@
+
+
+
+
+ 系统设置
+
+
返回首页
+
退出系统
+
+
+
+
+
+
+
diff --git a/code/WebApp/vue/src/layout/components/Sidebar.vue b/code/WebApp/vue/src/layout/components/Sidebar.vue
new file mode 100644
index 00000000..8c20f5e2
--- /dev/null
+++ b/code/WebApp/vue/src/layout/components/Sidebar.vue
@@ -0,0 +1,350 @@
+
+
+
+
+
+
+
diff --git a/code/WebApp/vue/src/layout/components/Sidebar/SidebarItem.vue b/code/WebApp/vue/src/layout/components/Sidebar/SidebarItem.vue
index f6b5dbc6..f87b70b1 100644
--- a/code/WebApp/vue/src/layout/components/Sidebar/SidebarItem.vue
+++ b/code/WebApp/vue/src/layout/components/Sidebar/SidebarItem.vue
@@ -1,37 +1,16 @@
diff --git a/code/WebApp/vue/src/layout/firstLayout.vue b/code/WebApp/vue/src/layout/firstLayout.vue
new file mode 100644
index 00000000..88858b80
--- /dev/null
+++ b/code/WebApp/vue/src/layout/firstLayout.vue
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/WebApp/vue/src/main.js b/code/WebApp/vue/src/main.js
index d90c1a6e..d9a83596 100644
--- a/code/WebApp/vue/src/main.js
+++ b/code/WebApp/vue/src/main.js
@@ -10,9 +10,6 @@ import './styles/element-variables.scss'
import '@/styles/index.scss' // global css
-import elTableTransfer from 'el-table-transfer'
-Vue.use(elTableTransfer)
-
import App from './App'
import store from './store'
import router from './router'
@@ -54,10 +51,10 @@ import 'vue-happy-scroll/docs/happy-scroll.css'
* Currently MockJs will be used in the production environment,
* please remove it before going online ! ! !
*/
-if (process.env.NODE_ENV === 'production') {
- const { mockXHR } = require('../mock')
- mockXHR()
-}
+// if (process.env.NODE_ENV === 'production') {
+// const { mockXHR } = require('../mock')
+// mockXHR()
+// }
Vue.use(Element, {
size: Cookies.get('size') || 'medium', // set element-ui default size
@@ -98,16 +95,6 @@ import clickoutside from './directive'
Vue.directive('clickoutside', clickoutside)
-// 注册一个全局自定义指令 `v-focus`
-Vue.directive('focus', {
- // 当被绑定的元素插入到 DOM 中时……
- inserted: function (el) {
- // 聚焦元素
- el.focus()
- el.querySelector('input').focus()
- }
-})
-
//自定义指令
import empty from './directive/empty'
diff --git a/code/WebApp/vue/src/permission.js b/code/WebApp/vue/src/permission.js
index 56dc5795..348e69aa 100644
--- a/code/WebApp/vue/src/permission.js
+++ b/code/WebApp/vue/src/permission.js
@@ -1,16 +1,17 @@
import router from './router'
import store from './store'
-import { Message } from 'element-ui'
+import {Message} from 'element-ui'
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style
-import { getToken } from '@/utils/auth' // get token from cookie
+import {getToken} from '@/utils/auth' // get token from cookie
import getPageTitle from '@/utils/get-page-title'
+import Lockr from "lockr";
-NProgress.configure({ showSpinner: false }) // NProgress Configuration
+NProgress.configure({showSpinner: false}) // NProgress Configuration
const whiteList = ['/login', '/auth-redirect'] // no redirect whitelist
-router.beforeEach(async(to, from, next) => {
+router.beforeEach(async (to, from, next) => {
// start progress bar
NProgress.start()
@@ -23,28 +24,27 @@ router.beforeEach(async(to, from, next) => {
if (hasToken) {
if (to.path === '/login') {
// if is logged in, redirect to the home page
- next({ path: '/' })
+ next({path: '/'})
+ //next({path: '/first/dashboard'})
NProgress.done()
} else {
// determine whether the user has obtained his permission roles through getInfo
const hasRoles = store.getters.roles && store.getters.roles.length > 0
+ //获取当前组织ID
+ const hasOrg = Lockr.get("currentorgID")
if (hasRoles) {
next()
} else {
try {
- // get user info
- // note: roles must be a object array! such as: ['admin'] or ,['developer','editor']
- const { roles } = await store.dispatch('user/getPermissions')
+ let {roles} = await store.dispatch('user/getPermissions')
+ // generate accessible routes map based on roles
+ const accessRoutes = await store.dispatch('permission/generateRoutes', roles)
+ // dynamically add accessible routes
+ router.addRoutes(accessRoutes)
+ // hack method to ensure that addRoutes is complete
+ // set the replace: true, so the navigation will not leave a history record
+ next({...to, replace: true})
- // generate accessible routes map based on roles
- const accessRoutes = await store.dispatch('permission/generateRoutes', roles)
-
- // dynamically add accessible routes,动态挂载路由
- router.addRoutes(accessRoutes)
-
- // hack method to ensure that addRoutes is complete
- // set the replace: true, so the navigation will not leave a history record
- next({ ...to, replace: true })
} catch (error) {
// remove token and go to login page to re-login
await store.dispatch('user/resetToken')
@@ -62,7 +62,7 @@ router.beforeEach(async(to, from, next) => {
next()
} else {
// other pages that do not have permission to access are redirected to the login page.
- next(`/login?redirect=${to.path}`)
+ next(`/login?redirect=${to.path}`)
NProgress.done()
}
}
diff --git a/code/WebApp/vue/src/router/index.js b/code/WebApp/vue/src/router/index.js
index 43e8fecf..f6552678 100644
--- a/code/WebApp/vue/src/router/index.js
+++ b/code/WebApp/vue/src/router/index.js
@@ -10,20 +10,17 @@ import Layout from '@/layout'
import { managerRouter } from './modules/manager'
import personRouter from './modules/person'
import basedataRouter from './modules/basedata'
-import billdataRouter from './modules/vwKBdata'
-//import businessdataRouter from './modules/businessdata'
-import vwFisDataRouter from './modules/vwFisData'
+import BTOutDataRouter from './modules/benteng-out-data'
+import bentengdataRouter from './modules/bentengdata'
+import businessdataRouter from './modules/businessdata'
+import JFOutDataRouter from './modules/jf-out-data'
+import JFdataRouter from './modules/jfdata'
+import vwdataRouter from './modules/vwdata'
+import vwoutdataRouter from './modules/vw-out-data'
import wheeldataRouter from './modules/wheeldata'
-import vwNoBarcodeRouter from './modules/vwKBNoBarcodedata'
+import HQdataRouter from './modules/hqdata'
+import HQOutDataRouter from './modules/hq-out-data'
import JobTimeDataRouter from './modules/jobtimedata'
-import vwMenudataRouter from './modules/vw_menu'
-import hqMenudataRouter from './modules/hq_menu'
-import btcarDataRouter from './modules/bt_menu'
-import vwOutOrderDataRouter from './modules/vw_out_order'
-//import newjitRouter from './modules/newjit-basedata'
-import pgfis from './modules/fis'
-import pgfisPrint from './modules/fisprint'
-
/**
* Note: sub-menu only appear when route children.length >= 1
* Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
@@ -65,8 +62,6 @@ export const constantRoutes = [
{
path: '/login',
component: () => import('@/views/login/index'),
- //component: () => import('@/views/pg-fis/basedate/partSwitch'), //?? one
- //component: () => import('@/views/pg-fis/basedate/assemblyCfg'), //?? one
hidden: true
},
{
@@ -92,8 +87,7 @@ export const constantRoutes = [
children: [
{
path: 'dashboard',
- component: () => import('@/views/pg-fis/basedate/m100Online/normalPritIndex.vue'),//fis
- //component: () => import('@/views/ux/backGroundWork'),
+ component: () => import('@/views/dashboard/admin/index'),
name: 'Dashboard',
meta: {
title: '系统首页',
@@ -174,21 +168,20 @@ export const asyncRoutes = [
]
},
/** when your routing map is too long, you can split it into small modules **/
- managerRouter,//系统首页
- personRouter,//系统管理
- // basedataRouter,//基础数据维护
- //vwMenudataRouter,//大众
- //hqMenudataRouter,//红旗
- //vwOutOrderDataRouter,
- //btcarDataRouter,//一汽轿车
- //vwFisDataRouter,//结算与开票数据导入
- //billdataRouter,//销售结算与开票报表
- //businessdataRouter,
- //wheeldataRouter,//大众看板和备件
- pgfisPrint,//排序单打印
- pgfis,//派格fis
- JobTimeDataRouter,//后台作业监控
-
+ managerRouter,
+ personRouter,
+ basedataRouter,
+ businessdataRouter,
+ wheeldataRouter,
+ vwdataRouter,
+ vwoutdataRouter,
+ bentengdataRouter,
+ BTOutDataRouter,
+ JFdataRouter,
+ JFOutDataRouter,
+ HQdataRouter,
+ HQOutDataRouter,
+ JobTimeDataRouter,
// 404 page must be placed at the end !!!
{ path: '*', redirect: '/404', hidden: true }
diff --git a/code/WebApp/vue/src/router/modules/basedata.js b/code/WebApp/vue/src/router/modules/basedata.js
index 7709d2af..f081072d 100644
--- a/code/WebApp/vue/src/router/modules/basedata.js
+++ b/code/WebApp/vue/src/router/modules/basedata.js
@@ -1,23 +1,23 @@
-/** 车轮数据比对路由 */
+/** 客户管理路由 */
+//import Layout from '@/layout/firstLayout'
import Layout from '@/layout'
-
const basedataRouter = {
- path: '/cpat/base',
+ path: '/basedata',
component: Layout,
redirect: 'basedata',
- name: '基础数据维护',
- //hidden: true,
+ name: 'BaseData',
+ //hidden: false,
meta: {
- //requiresAuth: true,
- title: '基础数据维护',
+ //requiresAuth: false,
+ title: '基础数据',
index: 0,
- type: 'crm',
+ //type: 'crm',
icon: '基础数据',
- keepAlive: false,
+ //keepAlive: false,
},
children: [
{
- path: 'date-control',
+ path: '/centralizedControl',
component: () => import('@/views/ux/basedata/centralizedControl/index'),
name: 'CentralizedControl',//命名路由
meta: {
@@ -27,59 +27,161 @@ const basedataRouter = {
}
},
{
- path: 'material',
- component: () => import('@/views/ux/basedata/material/index'),
- name: 'material',//命名路由
- meta: { title: '物料主数据', roles: ['SettleAccount.Materials'], icon: '物料' }
+ path: '/factory',
+ component: () => import('@/views/ux/basedata/factory/index'),
+ name: 'Factory',//命名路由
+ meta: { title: '工厂设置', roles: ['SettleAccount.Factorys'], icon: '工厂' }
},
{
- path: 'code-setting',
+ path: '/codeSetting',
component: () => import('@/views/ux/basedata/codeSetting/index'),
name: 'codeSetting',//命名路由
meta: { title: '通用代码设置', roles: ['SettleAccount.CodeSettings'], icon: '通用' }
},
{
- path: 'part-settlement',
- component: () => import('@/views/ux/basedata/partsSettlement/index'),
- name: 'partsSettlement',//命名路由
- meta: {
- title: '总成与结算件关系',
- roles: ['SettleAccount.MaterialRelationships'],
- icon: '零件'
- }
+ path: '/material',
+ component: () => import('@/views/ux/basedata/material/index'),
+ name: 'material',//命名路由
+ meta: { title: '物料主数据', roles: ['SettleAccount.Materials'], icon: '物料' }
},
{
- path: 'priceList',
- component: () => import('@/views/ux/basedata/priceList/index'),
- name: 'PriceList',//命名路由
+ path: '/customerStorageLocation',
+ component: () => import('@/views/ux/basedata/customerStorageLocation/index'),
+ name: 'customerStorageLocation',
meta: {
- title: '标准价格单',
- roles: ['SettleAccount.PriceLists'],
- icon: '结算'
+ title: '客户存储地点',
+ roles: ['SettleAccount.CustomerStorageLocations'],
+ icon: '客户'
}
},
{
- path: 'wms-kanban',
- component: () => import('@/views/ux/vw/dataInput/wmsKanban'),
- name: 'WMSVWKanBan',
+ path: '/partsSettlement',
+ component: () => import('@/views/ux/basedata/partsSettlement/index'),
+ name: 'partsSettlement',//命名路由
+ meta: { title: '零件匹配关系', roles: ['SettleAccount.MaterialRelationships'], icon: '零件' }
+ },
+
+ {
+ path: '/materialRelationSupplier',
+ component: () => import('@/views/ux/basedata/materialRelationSupplier/index'),
+ name: 'materialRelationSupplier',//命名路由
meta: {
- title: '大众看板发货明细',
- roles: ['SettleAccount.Reports'],
- icon: '供货'
+ title: '供应商零件设置',
+ roles: ['SettleAccount.SupplierItemSetUps'],//控制页面角色(可以设置多个角色)
+ icon: '供应商'
}
- },
- {
- path: 'wms-sparepart',
- component: () => import('@/views/ux/vw/dataInput/wmsSparePart'),
- name: 'WMSSparePart',//命名路由
+ },
+ {
+ path: '/carMaterialConfig',
+ component: () => import('@/views/ux/basedata/carMaterialConfig/index'),
+ name: 'CarMaterialConfig',//命名路由
meta: {
- title: '大众备件发货明细',
- roles: ['SettleAccount.Reports'],
- icon: '客户零件'
+ title: '车型代码与零件匹配',
+ roles: ['SettleAccount.CarMaterialConfigs'],//控制页面角色(可以设置多个角色)
+ icon: '车型'
}
- }
+ },
+ // {
+ // path: '/modulesManager',
+ // component: () => import('@/views/ux/basedata/modulesManager/index'),
+ // name: 'ModulesManager',//命名路由
+ // meta: {
+ // title: '模板管理',
+ // roles: ['SettleAccount.StockUnsettledDiffReports'],//控制页面角色(可以设置多个角色)
+ // icon: '客户'
+ // }
+ // }
]
}
export default basedataRouter
+
+// /** 客户管理路由 */
+// //import Layout from '@/layout/firstLayout'
+// import Layout from '@/layout'
+// const basedataRouter = {
+// path: '/centralizedControl',
+// component: Layout,
+// redirect: '/centralizedControl',
+// name: 'basedata',
+// //hidden: false,
+// meta: {
+// //requiresAuth: false,
+// title: '基础数据',
+// index: 0,
+// //type: 'crm',
+// icon: '基础数据',
+// //keepAlive: false,
+// },
+// children: [
+// {
+// path: 'centralizedControl',
+// component: () => import('@/views/ux/basedata/centralizedControl/index'),
+// name: 'CentralizedControl',//命名路由
+// meta: {
+// title: '期间设置',
+// roles: ['SettleAccount.CentralizedControls'],
+// icon: '期间'
+// }
+// },
+// {
+// path: 'factory',
+// component: () => import('@/views/ux/basedata/factory/index'),
+// name: 'Factory',//命名路由
+// meta: { title: '工厂设置', roles: ['SettleAccount.Factorys'], icon: '工厂' }
+// },
+// {
+// path: 'codeSetting',
+// component: () => import('@/views/ux/basedata/codeSetting/index'),
+// name: 'codeSetting',//命名路由
+// meta: { title: '通用代码设置', roles: ['SettleAccount.CodeSettings'], icon: '通用' }
+// },
+// {
+// path: 'material',
+// component: () => import('@/views/ux/basedata/material/index'),
+// name: 'material',//命名路由
+// meta: { title: '物料主数据', roles: ['SettleAccount.Materials'], icon: '物料' }
+// },
+// {
+// path: 'customerStorageLocation',
+// component: () => import('@/views/ux/basedata/customerStorageLocation/index'),
+// name: 'customerStorageLocation',
+// meta: {
+// title: '客户存储地点',
+// roles: ['SettleAccount.CustomerStorageLocations'],
+// icon: '客户'
+// }
+// },
+// {
+// path: 'partsSettlement',
+// component: () => import('@/views/ux/basedata/partsSettlement/index'),
+// name: 'partsSettlement',//命名路由
+// meta: { title: '零件匹配关系', roles: ['SettleAccount.MaterialRelationships'], icon: '零件' }
+// },
+
+// {
+// path: 'materialRelationSupplier',
+// component: () => import('@/views/ux/basedata/materialRelationSupplier/index'),
+// name: 'materialRelationSupplier',//命名路由
+// meta: {
+// title: '供应商零件设置',
+// roles: ['SettleAccount.SupplierItemSetUps'],//控制页面角色(可以设置多个角色)
+// icon: '供应商'
+// }
+// },
+// {
+// path: 'carMaterialConfig',
+// component: () => import('@/views/ux/basedata/carMaterialConfig/index'),
+// name: 'CarMaterialConfig',//命名路由
+// meta: {
+// title: '车型代码与零件匹配',
+// roles: ['SettleAccount.CarMaterialConfigs'],//控制页面角色(可以设置多个角色)
+// icon: '车型'
+// }
+// }
+// ]
+// }
+
+// export default basedataRouter
+
diff --git a/code/WebApp/vue/src/router/modules/benteng-out-data.js b/code/WebApp/vue/src/router/modules/benteng-out-data.js
new file mode 100644
index 00000000..2d400f78
--- /dev/null
+++ b/code/WebApp/vue/src/router/modules/benteng-out-data.js
@@ -0,0 +1,173 @@
+/** 车轮数据比对路由 */
+//import Layout from '@/layout/firstLayout'
+import Layout from '@/layout'
+
+const BTOutDataRouter = {
+ path: '/bt',
+ component: Layout,
+ redirect: 'bt',
+ name: '奔腾-数据输出',
+ meta: {
+ requiresAuth: true,
+ title: '奔腾-数据输出',
+ index: 0,
+ type: 'crm',
+ icon: '奔腾',
+ keepAlive: false,
+ },
+ children: [
+ {
+ path: '/bt-stockUnsettledDiffReport',
+ component: () => import('@/views/ux/benteng-out-data/stockUnsettledDiffReport'),
+ name: 'stockUnsettledDiffReport',//命名路由
+ meta: {
+ title: '看板未结数与期末库存差异',
+ roles: ['SettleAccount.StockUnsettledDiffReports'],
+ icon: '调整'
+ }
+ },
+ {
+ path: '/bt-stockSettledDiffReport',
+ component: () => import('@/views/ux/benteng-out-data/stockSettledDiffReport'),
+ name: 'stockSettledDiffReport',
+ meta: {
+ title: '结算数据对比',
+ roles: ['SettleAccount.StockSettledDiffReports'],
+ icon: '结算对比'
+ }
+ },
+ {
+ path: '/bt-kb-not-consign',
+ component: () => import('@/views/ux/benteng-out-data/btNotConsignReport'),
+ name: 'btkbnotconsign',
+ meta: {
+
+ title: '发出未结算',
+ roles: ['SettleAccount.BTNotConsignReports'],
+ icon: '未结算'
+ }
+ },
+ {
+ path: '/bt-stockFisDiffReport',
+ component: () => import('@/views/ux/benteng-out-data/stockFisDiffReport'),
+ name: 'stockFisDiffReport',
+ meta: {
+
+ title: '看板发运对比',
+ roles: ['SettleAccount.StockFisDiffReports'],
+ icon: '库存对比'
+ }
+ },
+ {
+ path: '/bt-seq-kb-diff',
+ component: () => import('@/views/ux/benteng-out-data/btSeqKBDiffReport'),
+ name: 'btseqkbdiff',
+ meta: {
+ title: '车序与看板差异',
+ roles: ['SettleAccount.BTNotConsignReports'],
+ icon: '发运对比'
+ }
+ }
+ ,
+ {
+ path: '/bt-secondaryActuralDiffReport',
+ component: () => import('@/views/ux/benteng-out-data/secondaryActuralDiffReport'),
+ name: 'btsecondaryActuralDiffReport',
+ meta: {
+ title: '轿车二配相关',
+ roles: ['SettleAccount.SecondaryReports'],
+ icon: '二配'
+ }
+ }
+ ]
+}
+
+export default BTOutDataRouter
+
+
+// /** 车轮数据比对路由 */
+// //import Layout from '@/layout/firstLayout'
+// import Layout from '@/layout'
+
+// const BTOutDataRouter = {
+// path: '/bt-stockUnsettledDiffReport',
+// component: Layout,
+// redirect: '/bt-stockUnsettledDiffReport',
+// name: '奔腾-数据输出',
+// meta: {
+// requiresAuth: true,
+// title: '奔腾-数据输出',
+// index: 0,
+// type: 'crm',
+// icon: '奔腾',
+// keepAlive: false,
+// },
+// children: [
+// {
+// path: 'bt-stockUnsettledDiffReport',
+// component: () => import('@/views/ux/benteng-out-data/stockUnsettledDiffReport'),
+// name: 'stockUnsettledDiffReport',//命名路由
+// meta: {
+// title: '看板未结数与期末库存差异',
+// roles: ['SettleAccount.StockUnsettledDiffReports'],
+// icon: '调整'
+// }
+// },
+// {
+// path: 'bt-stockSettledDiffReport',
+// component: () => import('@/views/ux/benteng-out-data/stockSettledDiffReport'),
+// name: 'stockSettledDiffReport',
+// meta: {
+// title: '结算数据对比',
+// roles: ['SettleAccount.StockSettledDiffReports'],
+// icon: '结算对比'
+// }
+// },
+// {
+// path: 'bt-kb-not-consign',
+// component: () => import('@/views/ux/benteng-out-data/btNotConsignReport'),
+// name: 'btkbnotconsign',
+// meta: {
+
+// title: '发出未结算',
+// roles: ['SettleAccount.BTNotConsignReports'],
+// icon: '未结算'
+// }
+// },
+// {
+// path: 'bt-stockFisDiffReport',
+// component: () => import('@/views/ux/benteng-out-data/stockFisDiffReport'),
+// name: 'stockFisDiffReport',
+// meta: {
+
+// title: '看板发运对比',
+// roles: ['SettleAccount.StockFisDiffReports'],
+// icon: '库存对比'
+// }
+// },
+// {
+// path: 'bt-seq-kb-diff',
+// component: () => import('@/views/ux/benteng-out-data/btSeqKBDiffReport'),
+// name: 'btseqkbdiff',
+// meta: {
+// title: '车序与看板差异',
+// roles: ['SettleAccount.BTNotConsignReports'],
+// icon: '发运对比'
+// }
+// }
+// ,
+// {
+// path: 'bt-secondaryActuralDiffReport',
+// component: () => import('@/views/ux/benteng-out-data/secondaryActuralDiffReport'),
+// name: 'btsecondaryActuralDiffReport',
+// meta: {
+// title: '轿车二配相关',
+// roles: ['SettleAccount.SecondaryReports'],
+// icon: '二配'
+// }
+// }
+// ]
+// }
+
+// export default BTOutDataRouter
+
diff --git a/code/WebApp/vue/src/router/modules/bentengdata.js b/code/WebApp/vue/src/router/modules/bentengdata.js
new file mode 100644
index 00000000..a9a23426
--- /dev/null
+++ b/code/WebApp/vue/src/router/modules/bentengdata.js
@@ -0,0 +1,63 @@
+/** 车轮数据比对路由 */
+//import Layout from '@/layout/firstLayout'
+import Layout from '@/layout'
+
+const bentengdataRouter = {
+ path: '/bt-car-seq',
+ component: Layout,
+ redirect: 'bt-car-seq',
+ name: '奔腾-数据输入',
+ meta: {
+ //requiresAuth: true,
+ title: '奔腾-数据输入',
+ index: 0,
+ type: 'crm',
+ icon: '奔腾',
+ keepAlive: false,
+ },
+ children: [
+ {
+ path: '/bt-car-seq',
+ component: () => import('@/views/ux/benteng/BTCarSeq'),
+ name: 'btcarseq',//命名路由
+ meta: {
+ title: '轿车车序',
+ roles: ['SettleAccount.BTCarSeqFirsts'],
+ icon: '轿车车序'
+ }
+ },
+ {
+ path: '/bt-car-kb',
+ component: () => import('@/views/ux/benteng/BTCarKB'),
+ name: 'BTCarKB',
+ meta: {
+ title: '轿车看板',
+ roles: ['SettleAccount.BTCarKBFirsts'],
+ icon: '看板'
+ }
+ },
+ {
+ path: '/bt-car-consign',
+ component: () => import('@/views/ux/benteng/BTCarConsign'),
+ name: 'BTCarConsign',
+ meta: {
+ title: '轿车结算数据',
+ roles: ['SettleAccount.BTCarConsigns'],
+ icon: '轿车结算数据'
+ }
+ },
+ {
+ path: '/secondaryAdjustmentBT',
+ component: () => import('@/views/ux/benteng/secondaryAdjustment'),
+ name: 'SecondaryAdjustmentBT',//命名路由
+ meta: {
+ title: '奔腾-二配数量调整',
+ roles: ['SettleAccount.BTCarConsigns'],
+ icon: '二配'
+ }
+ }
+ ]
+}
+
+export default bentengdataRouter
+
diff --git a/code/WebApp/vue/src/router/modules/bt_menu.js b/code/WebApp/vue/src/router/modules/bt_menu.js
deleted file mode 100644
index b20b3408..00000000
--- a/code/WebApp/vue/src/router/modules/bt_menu.js
+++ /dev/null
@@ -1,44 +0,0 @@
-//大众-FIS结算-路由
-import Layout from '@/layout'
-
-const btcarDataRouter = {
- path: '/cpat',
- component: Layout,
- redirect: 'pg',
- name: 'btcar',
- //hidden: true,
- meta: {
- //requiresAuth: true,
- title: '一轿奔腾',
- index: 0,
- type: 'crm',
- icon: '单据导入',
- keepAlive: false,
- },
- children: [
- {
- path: 'hq-car-platform',
- component: () => import('@/views/ux/vw/dataInput/hq_bt'),
- name: 'ERPEI',//命名路由
- meta: {
- title: '一轿奔腾导入',
- roles: ['SettleAccount.Boms'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- {
- path: 'hq-car-platform-export',
- component: () => import('@/views/ux/vw/dataInput/hq_m'),
- name: 'ERPEI',//命名路由
- meta: {
- title: '一轿奔腾结算核对输出',
- //roles: ['SettleAccount.Boms'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
-
- ]
-}
-
-export default btcarDataRouter
-
diff --git a/code/WebApp/vue/src/router/modules/businessdata.js b/code/WebApp/vue/src/router/modules/businessdata.js
index 74bedc2a..42b6c05f 100644
--- a/code/WebApp/vue/src/router/modules/businessdata.js
+++ b/code/WebApp/vue/src/router/modules/businessdata.js
@@ -1,62 +1,73 @@
-/** 数据比对路由 */
+/** 业务数据路由 */
//import Layout from '@/layout/firstLayout'
import Layout from '@/layout'
const businessdataRouter = {
- path: '/wms-js',
- component: Layout,
- redirect: 'wms-js',
- name: '大众备件结算',
- meta: {
- //requiresAuth: true,
- title: '大众看板备件发货',
- index: 0,
- type: 'crm',
- icon: '业务',
- keepAlive: false,
+ path: '/bomdatabase',
+ component: Layout,
+ redirect: 'bomdatabase',
+ name: 'BomdataBase',
+ meta: {
+ //requiresAuth: true,
+ title: '数据输入',
+ index: 0,
+ type: 'crm',
+ icon: '输入',
+ keepAlive: false,
+ },
+ children: [
+ {
+ path: '/bomdatabase',
+ component: () => import('@/views/ux/basedata/bomdatabase/index'),
+ name: 'Bomdatabase',//命名路由
+ meta: {
+ title: '产品结构',
+ roles: ['SettleAccount.Boms'],//控制页面角色(可以设置多个角色)
+ icon: '产品'
+ }
},
- children: [
- // {
- // path: '/yu-fahuo-kb',
- // component: () => import('@/views/ux/businessdata/deliverGoodsDrag'),
- // name: 'jfcarkb',//命名路由
- // meta: {
- // title: '结算与开票数据对比',
- // roles: ['SettleAccount.Reports'],
- // icon: '发货'
- // }
- // },
- // {
- // path: '/jf-car-kb',
- // component: () => import('@/views/ux/businessdata/deliverGoods'),
- // name: 'jfcarkb',//命名路由
- // meta: {
- // title: '备件发出未结算数据',
- // roles: ['SettleAccount.Reports'],
- // icon: '发货'
- // }
- // },
- {
- path: '/wms-kanban',
- component: () => import('@/views/ux/vw/dataInput/wmsKanban'),
- name: 'WMSVWKanBan',
- meta: {
- title: '大众看板发货明细',
- roles: ['SettleAccount.Reports'],
- icon: '供货'
- }
- },
- {
- path: '/wms-sparepart',
- component: () => import('@/views/ux/vw/dataInput/wmsSparePart'),
- name: 'WMSSparePart',//命名路由
- meta: {
- title: '大众备件发货明细',
- roles: ['SettleAccount.Reports'],
- icon: '客户零件'
- }
- }
- ]
+ {
+ path: '/inventoryDetail',
+ component: () => import('@/views/ux/basedata/inventoryDetail/index'),
+ name: 'inventoryDetail',
+ meta: {
+ title: '库存明细',
+ roles: ['SettleAccount.InventoryDetails'],
+ icon: '库存'
+ }
+ },
+ {
+ path: '/estimatedSum',
+ component: () => import('@/views/ux/basedata/estimatedSum/index'),
+ name: 'estimatedSum',
+ meta: {
+ title: '应付暂估汇总',
+ roles: ['SettleAccount.EstimatedSums'],
+ icon: '应付暂估汇总'
+ }
+ },
+ {
+ path: '/estimatedInventoryDetail',
+ component: () => import('@/views/ux/basedata/estimatedInventoryDetail/index'),
+ name: 'estimatedInventoryDetail',
+ meta: {
+ title: '应付暂估收货明细',
+ roles: ['SettleAccount.EstimatedInventoryDetails'],
+ icon: '应付暂估收货明细'
+ }
+ },
+ {
+ path: '/secondaryPriceRatio',
+ component: () => import('@/views/ux/basedata/secondaryPriceRatio/index'),
+ name: 'secondaryPriceRatio',
+ meta: {
+ title: '产品结算价格',
+ roles: ['SettleAccount.SecondaryPriceRatios'],
+ icon: '结算'
+ }
+ }
+
+ ]
}
export default businessdataRouter
diff --git a/code/WebApp/vue/src/router/modules/first.js b/code/WebApp/vue/src/router/modules/first.js
index 11dff51a..19a84a41 100644
--- a/code/WebApp/vue/src/router/modules/first.js
+++ b/code/WebApp/vue/src/router/modules/first.js
@@ -1,5 +1,5 @@
/** 项目管理路由 */
-import Layout from '@/layout/firstLayout'
+//import Layout from '@/layout/firstLayout'
import basedataRouter from './basedata'
import businessdataRouter from './businessdata'
import wheeldataRouter from './wheeldata'
@@ -63,7 +63,7 @@ const customerRouter = {
const fistRouter = {
path: '/first',
- component: Layout,
+ //component: Layout,
redirect: '/first/dashboard',
name: 'first',
hidden: false,
diff --git a/code/WebApp/vue/src/router/modules/fis.js b/code/WebApp/vue/src/router/modules/fis.js
deleted file mode 100644
index 49233f81..00000000
--- a/code/WebApp/vue/src/router/modules/fis.js
+++ /dev/null
@@ -1,153 +0,0 @@
-/** 派格fis路由 */
-//import Layout from '@/layout/firstLayout'
-import Layout from '@/layout'
-
-const pgfis = {
- path: '/pg-fis',
- component: Layout,
- redirect: 'fis',
- name: 'pgfis',
- meta: {
- //requiresAuth: true,
- title: 'JIT数据管理',
- index: 0,
- type: 'crm',
- icon: '业务',
- keepAlive: false,
- },
- children: [
- {
- path: '/customerPartCfg',
- component: () => import('@/views/pg-fis/basedate/customerPartCfg'),
- name: 'customerPartCfg',//命名路由
- meta: {
- title: '客户零件管理',
- roles: ['SettleAccount.Reports'],
- icon: '发货'
- }
- },
- {
- path: '/pg-assemblyCfg',
- component: () => import('@/views/pg-fis/basedate/assemblyCfg'),
- name: 'pg-assemblyCfg',//命名路由
- meta: {
- title: '总成模块管理',
- roles: ['SettleAccount.Reports'],
- icon: '发货'
- }
- },
- {
- path: '/pg-partSwitch',
- component: () => import('@/views/pg-fis/basedate/partSwitch'),
- name: 'pg-partSwitch',//命名路由
- meta: {
- title: '零件切换管理',
- roles: ['SettleAccount.Reports'],
- icon: '发货'
- }
- },
- {
- path: '/pg-unknownAssembly',
- component: () => import('@/views/pg-fis/basedate/unknownAssembly'),
- name: 'pg-unknownAssembly',//命名路由
- meta: {
- title: '未知总成模块管理',
- roles: ['SettleAccount.Reports'],
- icon: '发货'
- }
- },
- {
- path: '/pg-workLine',
- component: () => import('@/views/pg-fis/basedate/productLine'),
- name: 'pg-workLine',
- meta: {
- title: '生产线权限',
- roles: ['SettleAccount.Reports'],
- icon: '供货'
- }
- },
- {
- path: '/pg-M100BIll',
- component: () => import('@/views/pg-fis/basedate/m100BIll'),
- name: 'pg-M100BIll',//命名路由
- meta: {
- title: 'M100单据信息维护',
- roles: ['SettleAccount.Reports'],
- icon: '客户零件'
- }
- },
- // {
- // path: '/pg-M100Online',
- // component: () => import('@/views/pg-fis/basedate/m100Online'),
- // name: 'pg-M100Online',//命名路由
- // meta: {
- // title: 'M100上线信息',
- // roles: ['SettleAccount.Reports'],
- // icon: '客户零件'
- // }
- // },
- // {
- // path: '/pg-m100normal-print',
- // component: () => import('@/views/pg-fis/basedate/m100Online/normalPritIndex.vue'),
- // name: 'pg-M100Online',//命名路由
- // meta: {
- // title: '日常打印M100信息',
- // //roles: ['SettleAccount.Reports'],
- // icon: '客户零件'
- // }
- // },
- // {
- // path: '/select',
- // component: () => import('@/views/pg-fis/basedate/select'),
- // name: 'select',//命名路由
- // meta: {
- // title: 'M100查询',
- // roles: ['SettleAccount.Reports'],
- // icon: '客户零件'
- // }
- // },
- {
- path: '/pg-R100Online',
- component: () => import('@/views/pg-fis/basedate/r100Online'),
- name: 'pg-R100Online',//命名路由
- meta: {
- title: 'R100上线信息',
- roles: ['SettleAccount.Reports'],
- icon: '客户零件'
- }
- },
- {
- path: '/pg-weldingAssembly',
- component: () => import('@/views/pg-fis/basedate/weldingAssembly'),
- name: 'pg-weldingAssembly',//命名路由
- meta: {
- title: '焊装总装对比',
- roles: ['SettleAccount.Reports'],
- icon: '客户零件'
- }
- },
- {
- path: '/pg-logRemind',
- component: () => import('@/views/pg-fis/basedate/logRemind'),
- name: 'pg-logRemind',//命名路由
- meta: {
- title: '系统内通知',
- roles: ['SettleAccount.Reports'],
- icon: '客户零件'
- }
- },
- {
- path: '/pg-repeatR100',
- component: () => import('@/views/pg-fis/basedate/repeatR100'),
- name: 'pg-repeatR100',//命名路由
- meta: {
- title: '重复报文',
- roles: ['SettleAccount.Reports'],
- icon: '客户零件'
- }
- }
- ]
-}
-
-export default pgfis
-
diff --git a/code/WebApp/vue/src/router/modules/fisprint.js b/code/WebApp/vue/src/router/modules/fisprint.js
deleted file mode 100644
index ea3309a8..00000000
--- a/code/WebApp/vue/src/router/modules/fisprint.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/** 派格fis路由 */
-//import Layout from '@/layout/firstLayout'
-import Layout from '@/layout'
-
-const pgfisPrint = {
- path: '/pg-fis-print',
- component: Layout,
- redirect: 'fisprint',
- name: 'pgfis',
- meta: {
- //requiresAuth: true,
- title: '排序单打印',
- index: 0,
- type: 'crm',
- icon: '业务',
- keepAlive: false,
- },
- children: [
- {
- path: '/pg-m100normal-print',
- component: () => import('@/views/pg-fis/basedate/m100Online/normalPritIndex.vue'),
- name: 'pg-M100Online',//命名路由
- meta: {
- title: '日常打印M100信息',
- //roles: ['SettleAccount.Reports'],
- icon: '客户零件'
- }
- },
- {
- path: '/select',
- component: () => import('@/views/pg-fis/basedate/select'),
- name: 'select',//命名路由
- meta: {
- title: 'M100查询',
- //roles: ['SettleAccount.Reports'],
- icon: '结算对比'
- }
- }
-
- ]
-}
-
-export default pgfisPrint
-
diff --git a/code/WebApp/vue/src/router/modules/hq-out-data.js b/code/WebApp/vue/src/router/modules/hq-out-data.js
new file mode 100644
index 00000000..80e29b85
--- /dev/null
+++ b/code/WebApp/vue/src/router/modules/hq-out-data.js
@@ -0,0 +1,88 @@
+/** 车轮数据比对路由 */
+//import Layout from '@/layout/firstLayout'
+import Layout from '@/layout'
+
+const HQOutDataRouter = {
+ path: '/hq',
+ component: Layout,
+ redirect: 'hq',
+ name: 'HQ',
+ meta: {
+ //requiresAuth: true,
+ title: '红旗-数据输出',
+ index: 0,
+ type: 'crm',
+ icon: '红旗',
+ keepAlive: false,
+ },
+ children: [
+ {
+ path: '/hq-standardUnConsign',
+ component: () => import('@/views/ux/hq-out-data/standardUnConsign'),
+ name: 'StandardUnConsign',//命名路由
+ meta: {
+
+ title: '标准看板发出未结算',
+ roles: ['SettleAccount.HQNotConsignReports'],
+ icon: '未结算'
+ }
+ },
+ {
+ path: '/hq-specialUnConsign',
+ component: () => import('@/views/ux/hq-out-data/specialUnConsign'),
+ name: 'SpecialUnConsign',
+ meta: {
+
+ title: '特殊看板发出未结算',
+ roles: ['SettleAccount.HQSPNotConsignReports'],
+ icon: '结算对比'
+ }
+ },
+ {
+ path: '/hq-stockFisDiffReport',
+ component: () => import('@/views/ux/hq-out-data/stockFisDiffReport'),
+ name: 'StockFisDiffReport',
+ meta: {
+
+ title: '看板发运对比',
+ roles: ['SettleAccount.HQNotConsignReports'],
+ icon: '发运对比'
+ }
+ },
+ {
+ path: '/hq-stockSettledDiffReport',
+ component: () => import('@/views/ux/hq-out-data/stockSettledDiffReport'),
+ name: 'StockFisDiffReport',
+ meta: {
+
+ title: '结算数据对比',
+ roles: ['SettleAccount.HQSPNotConsignReports'],
+ icon: '结算对比'
+ }
+ },
+ {
+ path: '/hq-stockUnsettledDiffReport',
+ component: () => import('@/views/ux/hq-out-data/stockUnsettledDiffReport'),
+ name: 'stockUnsettledDiffReport',//命名路由
+ meta: {
+ title: '看板未结数与期末库存差异',
+ roles: ['SettleAccount.HQSPNotConsignReports'],
+ icon: '调整'
+ }
+ }
+ ,
+ {
+ path: '/bt-secondaryActuralDiffReportHQ',
+ component: () => import('@/views/ux/hq-out-data/secondaryActuralDiffReport'),
+ name: 'SecondaryActuralDiffReportHQ',
+ meta: {
+ title: '红旗二配相关',
+ roles: ['SettleAccount.HQSPNotConsignReports'],
+ icon: '二配'
+ }
+ }
+ ]
+}
+
+export default HQOutDataRouter
+
diff --git a/code/WebApp/vue/src/router/modules/hq_menu.js b/code/WebApp/vue/src/router/modules/hq_menu.js
deleted file mode 100644
index be030aad..00000000
--- a/code/WebApp/vue/src/router/modules/hq_menu.js
+++ /dev/null
@@ -1,125 +0,0 @@
-
-import Layout from '@/layout'
-
-const hqMenudataRouter = {
- path: '/capt-hq',
- component: Layout,
- redirect: 'ux/vw/dataInput/hq_h',
- name: 'HQData',
- meta: {
- title: '红旗工厂',
- icon: '红旗',
- //roles: ['SettleAccount.HQConsigns', 'SettleAccount.HQSpecConsigns', 'SettleAccount.HQKBs', 'SettleAccount.HQSpecKBs'],
- keepAlive: false,
- },
- children: [
- {
- path: '/import-h-data',
- name: 'import-h-data',//命名路由-二级
- component: () => import('@/views/ux/vw/dataInput/hq_h'),
- redirect: 'ux/vw/dataInput/hq_h',
- meta: {
- title: 'H平台',
- // roles: ['SettleAccount.HQKBs', 'SettleAccount.HQSpecKBs'],
- icon: '看板'
- },
- children: [
- {
- path: 'hq-H-platform',
- component: () => import('@/views/ux/vw/dataInput/hq_h'),
- name: 'ERPEI',//命名路由
- meta: {
- title: '红旗H平台导入',
- roles: ['SettleAccount.Boms'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- {
- path: 'hq-H-platform-export',
- component: () => import('@/views/ux/vw/dataInput/ScrapClaims'),
- name: 'ScrapClaims',
- meta: {
- title: 'H平台结算差异输出',
- roles: ['SettleAccount.FISs'],
- icon: '文件'
- }
- }
- ]
- },
- {
- path: '/export-m-data',
- component: () => import('@/views/ux/vw/dataInput/hq_m'),
- name: 'export-m-data',//命名路由
- redirect: '/ux/vw/dataInput/hq_m',
- meta: {
- title: 'M平台',
- //roles: ['SettleAccount.HQConsigns', 'SettleAccount.HQSpecConsigns'],
- icon: '结算'
- },
- children: [
- {
- path: 'hq-M-platform',
- component: () => import('@/views/ux/vw/dataInput/hq_m'),
- name: 'ERPEI',//命名路由
- meta: {
- title: '红旗M平台导入',
- //roles: ['SettleAccount.Boms'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
-
- {
- path: 'hq-M-platform-export',
- component: () => import('@/views/ux/billManage/sparePart'),
- name: 'SparePartReport',//命名路由
- meta: {
- title: 'H平台结算差异输出',
- //roles: ['abpvnext_master.ProjectPeople'],//控制页面角色(可以设置多个角色)
- icon: '二配'
- }
- }
- ]
- },
- {
- path: '/export-f-data',
- component: () => import('@/views/ux/vw/dataInput/hq_f'),
- name: 'export-f-data',//命名路由
- redirect: '/ux/vw/dataInput/hq_f',
- meta: {
- title: 'F平台',
- //roles: ['SettleAccount.HQConsigns', 'SettleAccount.HQSpecConsigns'],
- icon: '结算'
- },
- children: [
- {
- path: 'hq-F-platform',
- component: () => import('@/views/ux/vw/dataInput/hq_f'),
- name: 'ERPEI',//命名路由
- meta: {
- title: '红旗F平台导入',
- //roles: ['SettleAccount.Boms'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
-
- {
- path: 'hq-F-platform-export',
- component: () => import('@/views/ux/billManage/sparePart'),
- name: 'SparePartReport',//命名路由
- meta: {
- title: 'F平台结算差异输出',
- //roles: ['abpvnext_master.ProjectPeople'],//控制页面角色(可以设置多个角色)
- icon: '二配'
- }
- }
- ]
- }
- ]
-}
-
-export default hqMenudataRouter
-
-
-
-
-
diff --git a/code/WebApp/vue/src/router/modules/hq_out_order.js b/code/WebApp/vue/src/router/modules/hq_out_order.js
deleted file mode 100644
index efa9f133..00000000
--- a/code/WebApp/vue/src/router/modules/hq_out_order.js
+++ /dev/null
@@ -1,64 +0,0 @@
-//大众-FIS结算-路由
-import Layout from '@/layout'
-
-const hqOutOrderDataRouter = {
- path: '/cpat-order',
- component: Layout,
- redirect: 'pg',
- name: '业务数据',
- //hidden: true,
- meta: {
- //requiresAuth: true,
- title: '红旗出库单管理',
- index: 0,
- type: 'crm',
- icon: '单据导入',
- keepAlive: false,
- },
- children: [
- {
- path: 'hq-h-outorder',
- component: () => import('@/views/ux/billManage/vwOutOrder/index'),
- name: 'SettleAccount',//命名路由
- meta: {
- title: '大众准时化出库单',
- roles: ['SettleAccount.SettleAccounts'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- {
- path: 'hq-m-outorder',
- component: () => import('@/views/ux/billManage/kanbanOutOrder/index'),
- name: 'SettleAccount',//命名路由
- meta: {
- title: '大众看板出库单',
- roles: ['SettleAccount.SettleAccounts'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- {
- path: 'hq-f-withoutorder',
- component: () => import('@/views/ux/billManage/kanbanWithOutOrder/index'),
- name: 'SettleAccount',//命名路由
- meta: {
- title: '大众无条码看板出库单',
- roles: ['SettleAccount.SettleAccounts'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- {
- path: 'hq-car-outorder',
- component: () => import('@/views/ux/billManage/sparepartOutOrder/index'),
- name: 'Invoices',//命名路由
- meta: {
- title: '大众备件出库单',
- roles: ['SettleAccount.Invoices'],
- icon: '对比'
- }
- },
-
- ]
-}
-
-export default hqOutOrderDataRouter
-
diff --git a/code/WebApp/vue/src/router/modules/hqdata.js b/code/WebApp/vue/src/router/modules/hqdata.js
new file mode 100644
index 00000000..13cb3535
--- /dev/null
+++ b/code/WebApp/vue/src/router/modules/hqdata.js
@@ -0,0 +1,286 @@
+// /** 车轮数据比对路由 */
+// //import Layout from '@/layout/firstLayout'
+// import Layout from '@/layout'
+
+// const HQdataRouter = {
+// path: '/qh-car',
+// component: Layout,
+// redirect: 'hq-car',
+// name: '红旗-数据输入',
+// meta: {
+// //requiresAuth: true,
+// title: '红旗-数据输入',
+// // index: 0,
+// // type: 'crm',
+// icon: '红旗',
+// keepAlive: false,
+// },
+// children: [
+// {
+// path: 'kanban',
+// name: 'hqcarkb',//命名路由
+// component: () => import('@/views/ux/hqdata/index'),
+// redirect: 'kanban',
+// meta: {
+// title: '看板输入表',
+// icon: '看板'
+// },
+// children: [
+// {
+// path: 'standardKanban',
+// component: () => import('@/views/ux/hqdata/standardKanban'),
+// name: 'StandardKanban',
+// meta: {
+// title: '标准看板',
+// roles: ['SettleAccount.HQKBs'],
+// icon: '标准看板'
+// }
+// },
+// {
+// path: 'specialKanban',
+// component: () => import('@/views/ux/hqdata/specialKanban'),
+// name: 'SpecialKanban',
+// meta: {
+// title: '特殊看板',
+// roles: ['SettleAccount.HQSpecKBs'],
+// icon: '特殊看板'
+// }
+// }
+// ]
+// },
+// {
+// path: 'jiesuan',
+// component: () => import('@/views/ux/hqdata/index'),
+// name: 'hqcarjs',//命名路由
+// redirect: 'jiesuan',
+// meta: {
+// title: '结算输入表',
+// icon: '结算'
+// },
+// children: [
+// {
+// path: 'consign',
+// component: () => import('@/views/ux/hqdata/standardConsign'),
+// name: 'StandardConsign',
+// meta: {
+// title: '标准结算数据',
+// roles: ['SettleAccount.HQConsigns'],
+// icon: '标准看板'
+// }
+// },
+// {
+// path: 'spec-consign',
+// component: () => import('@/views/ux/hqdata/specialConsign'),
+// name: 'SpecialConsign',
+// meta: {
+// title: '特殊结算数据',
+// roles: ['SettleAccount.HQSpecConsigns'],
+// icon: '特殊看板'
+// }
+// }
+// ]
+// }
+// ]
+// }
+
+// export default HQdataRouter
+
+import Layout from '@/layout'
+// 嵌套路由的使用:第一层
+import FirstIndex from '@/views/ux/hqdata/index'
+// 嵌套路由的使用:第二层
+import SecondJSIndex from '@/views/ux/hqdata/jiesuan/index'
+import SecondKBIndex from '@/views/ux/hqdata/kanban/index'
+
+
+const HQdataRouter = {
+ path: '/ux/hqdata',
+ component: Layout,
+ redirect: 'ux/hqdata/kanban/standardKanban',
+ name: 'HQData',
+ meta: {
+ //requiresAuth: true,
+ title: '红旗-数据输入',
+ //index: 0,
+ // type: 'crm',
+ icon: '红旗',
+ roles: ['SettleAccount.HQConsigns', 'SettleAccount.HQSpecConsigns', 'SettleAccount.HQKBs', 'SettleAccount.HQSpecKBs'],
+ keepAlive: false,
+ },
+ children: [
+ {
+ path: '/kanban',
+ name: 'Kanban',//命名路由-二级
+ component: () => import('@/views/ux/hqdata/index'),
+ redirect: 'ux/hqdata/kanban/standardKanban',
+ meta: {
+ title: '看板输入表',
+ roles: ['SettleAccount.HQKBs', 'SettleAccount.HQSpecKBs'],
+ icon: '看板'
+ },
+ children: [
+ {
+ path: '/standardKanban',
+ component: () => import('@/views/ux/hqdata/kanban/standardKanban'),
+ name: 'StandardKanban',
+ meta: {
+ title: '标准看板',
+ roles: ['SettleAccount.HQKBs'],
+ icon: '标准看板'
+ }
+ },
+ {
+ path: '/specialKanban',
+ component: () => import('@/views/ux/hqdata/kanban/specialKanban'),
+ name: 'SpecialKanban',
+ meta: {
+ title: '特殊看板',
+ roles: ['SettleAccount.HQSpecKBs'],
+ icon: '特殊看板'
+ }
+ }
+ ]
+ },
+ {
+ path: '/jiesuan',
+ component: () => import('@/views/ux/hqdata/index'),
+ name: 'Jiesuan',//命名路由
+ redirect: '/ux/hqdata/jiesuan/standardConsign',
+ meta: {
+ title: '结算输入表',
+ roles: ['SettleAccount.HQConsigns', 'SettleAccount.HQSpecConsigns'],
+ icon: '结算'
+ },
+ children: [
+ {
+ path: '/standardConsign',
+ component: () => import('@/views/ux/hqdata/jiesuan/standardConsign'),
+ name: 'StandardConsign',
+ meta: {
+ title: '标准结算数据',
+ roles: ['SettleAccount.HQConsigns'],
+ icon: '标准看板'
+ }
+ },
+ {
+ path: '/specialConsign',
+ component: () => import('@/views/ux/hqdata/jiesuan/specialConsign'),
+ name: 'SpecialConsign',
+ meta: {
+ title: '特殊结算数据',
+ roles: ['SettleAccount.HQSpecConsigns'],
+ icon: '特殊看板'
+ }
+ }
+ ]
+ },
+ {
+ path: '/secondaryAdjustmentHQ',
+ component: () => import('@/views/ux/hqdata/secondaryAdjustment'),
+ name: 'SecondaryAdjustmentHQ',//命名路由
+ meta: {
+ title: '红旗-二配数量调整',
+ roles: ['SettleAccount.HQSpecKBs'],
+ icon: '二配'
+ }
+ }
+ ]
+}
+
+export default HQdataRouter
+
+
+
+
+
+
+// /** 车轮数据比对路由 */
+// //import Layout from '@/layout/firstLayout'
+// import Layout from '@/layout'
+
+
+// const HQdataRouter = {
+// path: '/hqdata',
+// component: Layout,
+// redirect: 'qh-car',
+// name: 'qh-car',
+// meta: {
+// //requiresAuth: true,
+// title: '红旗-数据输入',
+// //index: 0,
+// // type: 'crm',
+// icon: '红旗',
+// keepAlive: false,
+// },
+// children: [
+// {
+// path: '/qh-car/kanban',
+// name: 'hqcarKB',//命名路由
+// component: () => import('@/views/ux/hqdata/kanban/index'),
+// redirect: 'kanban',
+// meta: {
+// title: '看板输入表',
+// icon: '看板'
+// },
+// children: [
+// {
+// path: '/standardKanban',
+// component: () => import('@/views/ux/hqdata/kanban/standardKanban'),
+// name: 'StandardKanban',
+// meta: {
+// title: '标准看板',
+// roles: ['SettleAccount.HQKBs'],
+// icon: '标准看板'
+// }
+// },
+// {
+// path: '/specialKanban',
+// component: () => import('@/views/ux/hqdata/kanban/specialKanban'),
+// name: '/SpecialKanban',
+// meta: {
+// title: '特殊看板',
+// roles: ['SettleAccount.HQSpecKBs'],
+// icon: '特殊看板'
+// }
+// }
+// ]
+// },
+// {
+// path: '/qh-car/jiesuan',
+// component: () => import('@/views/ux/hqdata/jiesuan/index'),
+// name: 'hqcarjs',//命名路由
+// redirect: 'jiesuan',
+// meta: {
+// title: '结算输入表',
+// icon: '结算'
+// },
+// children: [
+// {
+// path: '/consign',
+// component: () => import('@/views/ux/hqdata/jiesuan/standardConsign'),
+// name: 'StandardConsign',
+// meta: {
+// title: '标准结算数据',
+// roles: ['SettleAccount.HQConsigns'],
+// icon: '标准看板'
+// }
+// },
+// {
+// path: '/spec-consign',
+// component: () => import('@/views/ux/hqdata/jiesuan/specialConsign'),
+// name: 'SpecialConsign',
+// meta: {
+// title: '特殊结算数据',
+// roles: ['SettleAccount.HQSpecConsigns'],
+// icon: '特殊看板'
+// }
+// }
+// ]
+// }
+// ]
+// }
+
+// export default HQdataRouter
+
+
+
diff --git a/code/WebApp/vue/src/router/modules/jf-out-data.js b/code/WebApp/vue/src/router/modules/jf-out-data.js
new file mode 100644
index 00000000..b02c5886
--- /dev/null
+++ b/code/WebApp/vue/src/router/modules/jf-out-data.js
@@ -0,0 +1,133 @@
+// /** 车轮数据比对路由 */
+// //import Layout from '@/layout/firstLayout'
+// import Layout from '@/layout'
+
+// const JFOutDataRouter = {
+// path: '/jf-out',
+// component: Layout,
+// redirect: '/jf-out',
+// name: '解放-数据输出',
+// meta: {
+// //requiresAuth: true,
+// title: '解放-数据输出',
+// index: 0,
+// type: 'crm',
+// icon: '一汽',
+// keepAlive: false,
+// },
+// children: [
+// {
+// path: 'jf-stockUnsettledDiffReport',
+// component: () => import('@/views/ux/faw-out-data/stockUnsettledDiffReport'),
+// name: 'stockUnsettledDiffReport',//命名路由
+// meta: {
+
+// title: '未结与期末库存对比',
+// roles: ['SettleAccount.StockUnsettledDiffReports'],
+// icon: '库存对比'
+// }
+// },
+// {
+// path: 'jf-stockSettledDiffReport',
+// component: () => import('@/views/ux/faw-out-data/stockSettledDiffReport'),
+// name: 'stockSettledDiffReport',
+// meta: {
+
+// title: '结算数据对比',
+// roles: ['SettleAccount.StockSettledDiffReports'],
+// icon: '结算对比'
+// }
+// },
+// {
+// path: 'jf-stockFisDiffReport',
+// component: () => import('@/views/ux/faw-out-data/stockFisDiffReport'),
+// name: 'stockFisDiffReport',
+// meta: {
+
+// title: '发运数据对比',
+// roles: ['SettleAccount.StockFisDiffReports'],
+// icon: '发运对比'
+// }
+// },
+// {
+// path: 'jf-kb-not-consign',
+// component: () => import('@/views/ux/faw-out-data/jfNotConsignReport'),
+// name: 'jfkbnotconsign',
+// meta: {
+// title: '看板发出未结算',
+// roles: ['SettleAccount.JFNotConsignReports'],
+// icon: '未结算'
+// }
+// }
+// ]
+// }
+
+// export default JFOutDataRouter
+
+/** 车轮数据比对路由 */
+//import Layout from '@/layout/firstLayout'
+import Layout from '@/layout'
+
+const JFOutDataRouter = {
+ path: '/jf-out',
+ component: Layout,
+ redirect: 'jf-out',
+ name: '解放-数据输出',
+ meta: {
+ //requiresAuth: true,
+ title: '解放-数据输出',
+ index: 0,
+ type: 'crm',
+ icon: '一汽',
+ keepAlive: false,
+ },
+ children: [
+ {
+ path: '/jf-stockUnsettledDiffReport',
+ component: () => import('@/views/ux/faw-out-data/stockUnsettledDiffReport'),
+ name: 'stockUnsettledDiffReport',//命名路由
+ meta: {
+
+ title: '未结与期末库存对比',
+ roles: ['SettleAccount.StockUnsettledDiffReports'],
+ icon: '库存对比'
+ }
+ },
+ {
+ path: '/jf-stockSettledDiffReport',
+ component: () => import('@/views/ux/faw-out-data/stockSettledDiffReport'),
+ name: 'stockSettledDiffReport',
+ meta: {
+
+ title: '结算数据对比',
+ roles: ['SettleAccount.StockSettledDiffReports'],
+ icon: '结算对比'
+ }
+ },
+ {
+ path: '/jf-stockFisDiffReport',
+ component: () => import('@/views/ux/faw-out-data/stockFisDiffReport'),
+ name: 'stockFisDiffReport',
+ meta: {
+
+ title: '发运数据对比',
+ roles: ['SettleAccount.StockFisDiffReports'],
+ icon: '发运对比'
+ }
+ },
+ {
+ path: '/jf-kb-not-consign',
+ component: () => import('@/views/ux/faw-out-data/jfNotConsignReport'),
+ name: 'jfkbnotconsign',
+ meta: {
+ title: '看板发出未结算',
+ roles: ['SettleAccount.JFNotConsignReports'],
+ icon: '未结算'
+ }
+ }
+ ]
+}
+
+export default JFOutDataRouter
+
+
diff --git a/code/WebApp/vue/src/router/modules/jfdata.js b/code/WebApp/vue/src/router/modules/jfdata.js
new file mode 100644
index 00000000..306b9965
--- /dev/null
+++ b/code/WebApp/vue/src/router/modules/jfdata.js
@@ -0,0 +1,43 @@
+/** 车轮数据比对路由 */
+//import Layout from '@/layout/firstLayout'
+import Layout from '@/layout'
+
+const JFdataRouter = {
+ path: '/jf-in',
+ component: Layout,
+ redirect: 'jf-in',
+ name: '解放-数据输入',
+ meta: {
+ //requiresAuth: true,
+ title: '解放-数据输入',
+ index: 0,
+ type: 'crm',
+ icon: '一汽',
+ keepAlive: false,
+ },
+ children: [
+ {
+ path: '/jf-car-kb',
+ component: () => import('@/views/ux/fawdata/JFCarKB'),
+ name: 'jfcarkb',//命名路由
+ meta: {
+ title: '解放看板',
+ roles: ['SettleAccount.JFCarKBs'],
+ icon: '看板'
+ }
+ },
+ {
+ path: '/jf-car-consign',
+ component: () => import('@/views/ux/fawdata/JFCarConsign'),
+ name: 'JFCarConsign',
+ meta: {
+ title: '解放结算数据',
+ roles: ['SettleAccount.JFCarConsigns'],
+ icon: '结算'
+ }
+ }
+ ]
+}
+
+export default JFdataRouter
+
diff --git a/code/WebApp/vue/src/router/modules/jobtimedata.js b/code/WebApp/vue/src/router/modules/jobtimedata.js
index 8d246fff..d8d4214d 100644
--- a/code/WebApp/vue/src/router/modules/jobtimedata.js
+++ b/code/WebApp/vue/src/router/modules/jobtimedata.js
@@ -19,13 +19,23 @@ const JobTimeDataRouter = {
{
path: '/backGroundWork',
component: () => import('@/views/ux/backGroundWork'),
- name: 'BackGroundWork',
+ name: 'StockFisDiffReport',
meta: {
title: '后台作业监控',
//roles: ['SettleAccount.HQSPNotConsignReports'],
icon: '结算对比'
}
+ },
+ {
+ path: '/druid',
+ //component: () => import('@/views/ux/hq-out-data/stockUnsettledDiffReport'),
+ name: 'stockUnsettledDiffReport',//命名路由
+ meta: {
+ title: '服务监控',
+ //roles: ['SettleAccount.HQSPNotConsignReports'],
+ icon: '调整'
+ }
}
]
}
diff --git a/code/WebApp/vue/src/router/modules/newjit-basedata.js b/code/WebApp/vue/src/router/modules/newjit-basedata.js
deleted file mode 100644
index e494d753..00000000
--- a/code/WebApp/vue/src/router/modules/newjit-basedata.js
+++ /dev/null
@@ -1,95 +0,0 @@
-/** jit路由 */
-import Layout from '@/layout'
-
-const newjitRouter = {
- path: '/newjit-basedata',
- component: Layout,
- redirect: 'newjit-basedata',
- name: 'Newjit',
- //hidden: true,
- meta: {
- //requiresAuth: true,
- title: 'FIS数据管理',
- index: 0,
- type: 'crm',
- icon: '基础数据',
- keepAlive: false,
- },
- children: [
- // {
- // path: '/excludePartCfgs',
- // component: () => import('@/views/newJit/baseData/excludePartCfgs/index'),
- // name: 'ExcludePartCfgs',//命名路由
- // meta: {
- // title: '排除零件配置',
- // //roles: [],
- // icon: '客户零件'
- // }
- // },
- {
- path: '/repeatM100',
- component: () => import('@/views/newJit/baseData/repeatR100/index'),
- name: 'RepeatM100',//命名路由
- meta: {
- title: '重复报文查询',
- //roles: [],
- icon: '期间'
- }
- },
- {
- path: '/billM100',
- component: () => import('@/views/newJit/baseData/billM100/index'),
- name: 'BillM100',//命名路由
- meta: {
- title: 'M100上线信息',
- //roles: [],
- icon: '工厂'
- }
- },
- // {
- // path: '/billM100Manager',
- // component: () => import('@/views/newJit/baseData/billM100Manager/index'),
- // name: 'BillM100Manager',//命名路由
- // meta: {
- // title: 'M100信息管理',
- // //roles: [],
- // icon: '输入'
- // }
- // },
- {
- path: '/assemblyCfg',
- component: () => import('@/views/newJit/baseData/assemblyCfg/index'),
- name: 'AssemblyCfg',//命名路由
- meta: {
- title: '总成模块管理',
- //roles: [],
- icon: '批量'
- }
- },
- {
- path: '/unknownAssembly',
- component: () => import('@/views/newJit/baseData/unknownAssembly/index'),
- name: 'UnknownAssembly',//命名路由
- meta: {
- title: '未知总成管理',
- //roles: [],
- icon: '未结算'
- }
- }
- ,
- {
- path: '/logRemind',
- component: () => import('@/views/newJit/baseData/logRemind/index'),
- name: 'LogRemind',//命名路由
- meta: {
- title: '系统内通知',
- //roles: [],
- icon: 'log',
- num: 0
- }
- }
- ]
-}
-
-export default newjitRouter
-
diff --git a/code/WebApp/vue/src/router/modules/vw-out-data.js b/code/WebApp/vue/src/router/modules/vw-out-data.js
new file mode 100644
index 00000000..66ed5216
--- /dev/null
+++ b/code/WebApp/vue/src/router/modules/vw-out-data.js
@@ -0,0 +1,72 @@
+/** 大众-数据输出-路由 */
+//import Layout from '@/layout/firstLayout'
+import Layout from '@/layout'
+
+const vwoutdataRouter = {
+ path: '/vwout',
+ component: Layout,
+ redirect: 'vwout',
+ name: 'vw-out',
+ meta: {
+ title: '大众-数据输出',
+ index: 0,
+ icon: '大众'
+ },
+ children: [
+ {
+ path: '/sendUnsettledDiffReport',
+ component: () => import('@/views/ux/vw/dataOut/sendUnsettledDiffReport'),
+ name: 'sendUnsettledDiffReport',//命名路由
+ meta: { title: 'FIS发出未结算', roles: ['SettleAccount.SendUnsettledDiffReports'], icon: '未结算' }
+ },
+ {
+ path: '/stockFisDiffReport',
+ component: () => import('@/views/ux/vw/dataOut/stockFisDiffReport'),
+ name: 'stockFisDiffReport',//命名路由
+ meta: { title: 'FIS发运数据对比', roles: ['SettleAccount.StockFisDiffReports'], icon: '发运对比' }
+ },
+ {
+ path: '/stockUnsettledDiffReport',
+ component: () => import('@/views/ux/vw/dataOut/stockUnsettledDiffReport'),
+ name: 'stockUnsettledDiffReport',//命名路由
+ meta: { title: 'FIS未结数量与期末对比', roles: ['SettleAccount.StockUnsettledDiffReports'], icon: '库存对比' }
+ },
+ {
+ path: '/stockSettledDiffReport',
+ component: () => import('@/views/ux/vw/dataOut/stockSettledDiffReport'),
+ name: 'stockSettledDiffReport',//命名路由
+ meta: { title: 'R3结算数据对比', roles: ['SettleAccount.StockSettledDiffReports'], icon: '结算对比' }
+ },
+ {
+ path: '/secondaryActuralAdjustmentReport',
+ component: () => import('@/views/ux/vw/dataOut/secondaryActuralAdjustmentReport'),
+ hidden: false,
+ name: 'secondaryActuralAdjustmentReport',
+ meta: {
+ title: '实际二配调整后',
+ roles: ['SettleAccount.SecondaryReports'],
+ type: 'crm', icon: '调整'
+ }
+ },
+ {
+ path: '/secondaryActuralDiffReport',
+ component: () => import('@/views/ux/vw/dataOut/secondaryActuralDiffReport'),
+ hidden: false,
+ name: 'secondaryActuralDiffReport',
+ meta: {
+ title: '二配对比',
+ roles: ['SettleAccount.SecondaryReports'],
+ type: 'crm',icon:'二配对比'
+ }
+ },
+ // {
+ // path: 'r32',
+ // component: () => import('@/views/ux/vw/dataOut/fis'),
+ // name: 'R3',//命名路由
+ // meta: { title: '二配对比输出表', icon: 'gongyingshang' }
+ // }
+ ]
+}
+
+export default vwoutdataRouter
+
diff --git a/code/WebApp/vue/src/router/modules/vwFisData.js b/code/WebApp/vue/src/router/modules/vwFisData.js
deleted file mode 100644
index e52fc1d1..00000000
--- a/code/WebApp/vue/src/router/modules/vwFisData.js
+++ /dev/null
@@ -1,106 +0,0 @@
-//大众-FIS结算-路由
-import Layout from '@/layout'
-
-const vwFisDataRouter = {
- path: '/cpat',
- component: Layout,
- redirect: 'pg',
- name: '业务数据',
- //hidden: true,
- meta: {
- //requiresAuth: true,
- title: '大众结算与开票导入',
- index: 0,
- type: 'crm',
- icon: '单据导入',
- keepAlive: false,
- },
- children: [
- {
- path: 'unsettle-account',
- component: () => import('@/views/ux/vw/dataInput/r3-open'),
- name: 'SettleAccount',//命名路由
- meta: {
- title: 'FIS未结算数据导入',
- roles: ['SettleAccount.SettleAccounts'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- {
- path: 'settle-account-finish',
- component: () => import('@/views/ux/vw/dataInput/r3'),
- name: 'SettleAccount',//命名路由
- meta: {
- title: 'FIS已结算数据导入',
- roles: ['SettleAccount.SettleAccounts'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- {
- path: 'invoice',
- component: () => import('@/views/ux/basedata/Invoice/index'),
- name: 'Invoices',//命名路由
- meta: {
- title: '大众发票汇总导入',
- roles: ['SettleAccount.Invoices'],
- icon: '对比'
- }
- },
- {
- path: 'kan-ban',
- component: () => import('@/views/ux/vw/dataInput/vwKanBan/index'),
- name: 'VWKanBan',//命名路由
- meta: {
- title: '看板结算明细导入',
- //roles: ['SettleAccount.ItemInvoicePrices'],
- icon: '发运'
- }
- },
- {
- path: 'scrap-claims',
- component: () => import('@/views/ux/vw/dataInput/ScrapClaims'),
- name: 'ScrapClaims',
- meta: {
- title: 'CP7报废和索赔导入',
- roles: ['SettleAccount.FISs'],
- icon: '文件'
- }
- },
-
- {
- path: 'spare-part',
- component: () => import('@/views/ux/vw/dataInput/SparePart'),
- name: 'SparePart',//命名路由
- meta: {
- title: '大众备件结算明细导入',
- roles: ['SettleAccount.Boms'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
-
- {
- path: 'hq-H-platform',
- component: () => import('@/views/ux/vw/dataInput/hq_h'),
- name: 'ERPEI',//命名路由
- meta: {
- title: '红旗H平台导入',
- roles: ['SettleAccount.Boms'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- {
- path: 'hq-M-platform',
- component: () => import('@/views/ux/vw/dataInput/hq_m'),
- name: 'ERPEI',//命名路由
- meta: {
- title: '红旗M平台导入',
- //roles: ['SettleAccount.Boms'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
-
- ]
-}
-
-export default vwFisDataRouter
-
diff --git a/code/WebApp/vue/src/router/modules/vwKBNoBarcodedata.js b/code/WebApp/vue/src/router/modules/vwKBNoBarcodedata.js
deleted file mode 100644
index aaf0ceb7..00000000
--- a/code/WebApp/vue/src/router/modules/vwKBNoBarcodedata.js
+++ /dev/null
@@ -1,56 +0,0 @@
-//FIS结算
-import Layout from '@/layout'
-
-const vwNoBarcodeRouter = {
- path: '/vwnobarcodedata',
- component: Layout,
- redirect: 'vwnobarcodedata',
- name: 'basedata',
- //hidden: true,
- meta: {
- //requiresAuth: true,
- title: '大众看板结算(无条码)',
- index: 0,
- type: 'crm',
- icon:'单据导入',
- keepAlive: false,
- },
- children: [
- {
- path: '/vwr3-js',
- component: () => import('@/views/ux/billManage/FisUnSettledDiff'),
- name: 'R3js',//命名路由
- meta: { title: '发出未结算数据',
- //roles: ['abpvnext_master.Customer'],//控制页面角色(可以设置多个角色)
- icon: '销售' }
- },
- {
- path: '/settlement',
- component: () => import('@/views/ux/billManage/FisUnSettledDiff'),
- name: 'FisUnSettledDiff',//命名路由
- meta: { title: '定价与结算单价对比',
- //roles: ['abpvnext_master.ProjectPeople'],//控制页面角色(可以设置多个角色)
- icon: '客户零件' }
- },
- {
- path: '/claimDemage',
- component: () => import('@/views/ux/billManage/claimDemage'),
- name: 'ClaimDemage',
- meta: {
- title: '库存与开票数据比对',
- icon: '索赔授权'
- }
- },
- {
- path: '/settlement',
- component: () => import('@/views/ux/billManage/FisUnSettledDiff'),
- name: 'FisUnSettledDiff',//命名路由
- meta: { title: '开票汇总数据',
- //roles: ['abpvnext_master.ProjectPeople'],//控制页面角色(可以设置多个角色)
- icon: '客户零件' }
- },
- ]
-}
-
-export default vwNoBarcodeRouter
-
diff --git a/code/WebApp/vue/src/router/modules/vwKBdata.js b/code/WebApp/vue/src/router/modules/vwKBdata.js
deleted file mode 100644
index 3443ebb0..00000000
--- a/code/WebApp/vue/src/router/modules/vwKBdata.js
+++ /dev/null
@@ -1,104 +0,0 @@
-//FIS结算
-import Layout from '@/layout'
-
-const billdataRouter = {
- path: '/cpat-report',
- component: Layout,
- redirect: 'vw-car-kb',
- name: 'basedata',
- //hidden: true,
- meta: {
- //requiresAuth: true,
- title: '大众结算与开票报表',
- index: 0,
- type: 'crm',
- icon: '销售',
- keepAlive: false,
- },
- children: [
- {
- path: 'unsettled-detail',//大众准时化未结明细表(包含漏结,漏结要有标识)
- component: () => import('@/views/ux/billManage/IssuedUnsettled/index'),
- name: 'UnsettledDetail',//命名路由
- meta: {
- title: '大众准时化未结明细',
- roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- icon: '报表'
- }
- },
- {
- path: 'unsettled-diff',
- component: () => import('@/views/ux/billManage/UnSettledDiff/index'),
- name: 'UnSettledDiff',//命名路由
- meta: {
- title: '大众准时化未结比对',
- roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- {
- path: 'unsettle-diff/export',
- component: () => import('@/views/ux/billManage/UnSettleDiffExport'),
- name: 'UnSettleDiffExport',//命名路由
- meta: {
- title: '准时化未结差异比对',
- roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- icon: '售后'
- }
- },
- {
- path: 'invoice-settled/diff',
- component: () => import('@/views/ux/billManage/InvoiceSettledDiff'),
- name: 'InvoiceSettledDiff',//命名路由
- meta: {
- title: '发票与结算核对汇总',
- roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- icon: '结算对比'
- }
- },
- {
- path: 'invoice-settled/detaildiff',
- component: () => import('@/views/ux/billManage/InvoiceSettledDetailDiff'),
- name: 'InvoiceSettledDetailDiff',//命名路由
- meta: {
- title: '发票与结算核对明细',
- roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- icon: '结算对比'
- }
- },
- // {
- // path: 'FisUnSettledDiff',
- // component: () => import('@/views/ux/billManage/FisUnSettledDiff'),
- // name: 'FisUnSettledDiff',//命名路由
- // meta: {
- // title: '准时化交货与结算核对',
- // roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- // icon: '看板'
- // }
- // },
- {
- path: 'unInvoice-settled/detailDiff',
- component: () => import('@/views/ux/billManage/UnInvoiceSettledDetailDiff'),
- name: 'UnInvoiceSettledDetailDiff',//命名路由
- meta: {
- title: '准时化结算数量差异比对',
- roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- icon: '售后'
- }
- },
- {
- path: 'settle-doorPanel',
- component: () => import('@/views/ux/billManage/SettleDoorPanel'),
- name: 'SettleDoorPanel',//命名路由
- meta: {
- title: '准时化结算门板价格差异',
- roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- icon: '售后'
- }
- },
-
- ]
-}
-
-export default billdataRouter
-
diff --git a/code/WebApp/vue/src/router/modules/vw_menu.js b/code/WebApp/vue/src/router/modules/vw_menu.js
deleted file mode 100644
index 5d8e00ed..00000000
--- a/code/WebApp/vue/src/router/modules/vw_menu.js
+++ /dev/null
@@ -1,181 +0,0 @@
-
-import Layout from '@/layout'
-
-const vwMenudataRouter = {
- path: '/capt-vw',
- component: Layout,
- redirect: 'ux/basedata/Invoice/index',
- name: 'HQData',
- meta: {
- title: '大众工厂',
- icon: 'vw',
- //roles: ['SettleAccount.HQConsigns', 'SettleAccount.HQSpecConsigns', 'SettleAccount.HQKBs', 'SettleAccount.HQSpecKBs'],
- keepAlive: false,
- },
- children: [
- {
- path: '/import-data',
- name: 'import-data',//命名路由-二级
- component: () => import('@/views/ux/billManage/index'),
- redirect: 'ux/basedata/Invoice/index',
- meta: {
- title: '数据导入',
- // roles: ['SettleAccount.HQKBs', 'SettleAccount.HQSpecKBs'],
- icon: '看板'
- },
- children: [
- {
- path: 'invoice',
- component: () => import('@/views/ux/basedata/Invoice/index'),
- name: 'Invoices',
- meta: {
- title: '发票汇总',
- roles: ['SettleAccount.Invoices'],
- icon: '对比'
- }
- },
- {
- path: 'settle-account-finish',
- component: () => import('@/views/ux/vw/dataInput/r3'),
- name: 'SettleAccount',
- meta: {
- title: 'FIS结算明细',
- roles: ['SettleAccount.SettleAccounts'],//控制页面角色(可以设置多个角色)
- icon: '库存'
- }
- },
- {
- path: 'unsettle-account',
- component: () => import('@/views/ux/vw/dataInput/r3'),
- name: 'SettleAccount',
- meta: {
- title: 'FIS未结明细',
- roles: ['SettleAccount.SettleAccounts'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- {
- path: 'kan-ban',
- component: () => import('@/views/ux/vw/dataInput/vwKanBan/index'),
- name: 'VWKanBan',//命名路由
- meta: {
- title: '大众看板结算导入',
- roles: ['SettleAccount.SettleAccounts'],//控制页面角色(可以设置多个角色)
- icon: '看板'
- }
- },
- {
- path: 'spare-part',
- component: () => import('@/views/ux/vw/dataInput/SparePart'),
- name: 'SparePart',//命名路由
- meta: {
- title: '大众备件结算导入',
- roles: ['SettleAccount.Boms'],//控制页面角色(可以设置多个角色)
- icon: '工厂'
- }
- },
- {
- path: 'scrap-claims',
- component: () => import('@/views/ux/vw/dataInput/ScrapClaims'),
- name: 'ScrapClaims',
- meta: {
- title: 'CP7报废和索赔导入',
- roles: ['SettleAccount.FISs'],
- icon: '文件'
- }
- },
- ]
- },
- {
- path: '/export-data',
- component: () => import('@/views/ux/billManage/index'),
- name: 'export-data',//命名路由
- redirect: 'export-data',
- meta: {
- title: '数据输出',
- //roles: ['SettleAccount.HQConsigns', 'SettleAccount.HQSpecConsigns'],
- icon: '结算'
- },
- children: [
- {
- path: '/invoice-settled/diff',
- component: () => import('@/views/ux/billManage/InvoiceSettledDiff'),
- name: 'InvoiceSettledDiff',//命名路由
- meta: {
- title: '发票与结算核对汇总',
- roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- {
- path: '/invoice-settled/detaildiff',
- component: () => import('@/views/ux/billManage/InvoiceSettledDetailDiff'),
- name: 'InvoiceSettledDetailDiff',//命名路由
- meta: {
- title: '准时化结算核对明细',
- roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- icon: '结算对比'
- }
- },
- {
- path: '/unInvoice-settled/detailDiff',
- component: () => import('@/views/ux/billManage/UnInvoiceSettledDetailDiff'),
- name: 'UnInvoiceSettledDetailDiff',//命名路由
- meta: {
- title: '准时化量差价差输出',
- roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- icon: '售后'
- }
- },
- {
- path: '/unsettle-diff/export',
- component: () => import('@/views/ux/billManage/UnSettleDiffExport'),
- name: 'UnSettleDiffExport',//命名路由
- meta: {
- title: '准时化未结核对',
- roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- icon: '器具'
- }
- },
- {
- path: '/unsettled-detail',//大众准时化未结明细表(包含漏结,漏结要有标识)
- component: () => import('@/views/ux/billManage/IssuedUnsettled/index'),
- name: 'UnsettledDetail',//命名路由
- meta: {
- title: '准时化未结明细',
- roles: ['SettleAccount.Reports'],//控制页面角色(可以设置多个角色)
- icon: '报表'
- }
- },
- {
- path: '/kbwithcode',
- component: () => import('@/views/ux/billManage/kanBanWithCode'),
- name: 'KanBanWithCode',//命名路由
- meta: {
- title: '看板结算输出',
- //roles: ['SettleAccount.EstimatedStockDiffReports'],//控制页面角色(可以设置多个角色)
- icon: '看板'
- }
- },
-
- {
- path: '/vwsparepart',
- component: () => import('@/views/ux/billManage/sparePart'),
- name: 'SparePartReport',//命名路由
- meta: {
- title: '备件结算输出',
- //roles: ['abpvnext_master.ProjectPeople'],//控制页面角色(可以设置多个角色)
- icon: '供货'
- }
- }
- ]
- }
- ]
-}
-
-export default vwMenudataRouter
-
-
-
-
-
diff --git a/code/WebApp/vue/src/router/modules/vw_out_order.js b/code/WebApp/vue/src/router/modules/vw_out_order.js
deleted file mode 100644
index cba355fb..00000000
--- a/code/WebApp/vue/src/router/modules/vw_out_order.js
+++ /dev/null
@@ -1,54 +0,0 @@
-//大众-FIS结算-路由
-import Layout from '@/layout'
-
-const vwOutOrderDataRouter = {
- path: '/cpat-order',
- component: Layout,
- redirect: 'pg',
- name: '业务数据',
- //hidden: true,
- meta: {
- //requiresAuth: true,
- title: '大众出库单管理',
- index: 0,
- type: 'crm',
- icon: '单据导入',
- keepAlive: false,
- },
- children: [
- {
- path: 'vw-out-order',
- component: () => import('@/views/ux/billManage/vwOutOrder/index'),
- name: 'SettleAccount',//命名路由
- meta: {
- title: '大众准时化出库单',
- roles: ['SettleAccount.SettleAccounts'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- {
- path: 'kanban-out-order',
- component: () => import('@/views/ux/billManage/kanbanOutOrder/index'),
- name: 'SettleAccount',//命名路由
- meta: {
- title: '大众看板出库单',
- roles: ['SettleAccount.SettleAccounts'],//控制页面角色(可以设置多个角色)
- icon: '结算'
- }
- },
- // {
- // path: 'invoice',
- // component: () => import('@/views/ux/basedata/Invoice/index'),
- // name: 'Invoices',//命名路由
- // meta: {
- // title: '大众发票汇总导入',
- // roles: ['SettleAccount.Invoices'],
- // icon: '对比'
- // }
- // },
-
- ]
-}
-
-export default vwOutOrderDataRouter
-
diff --git a/code/WebApp/vue/src/router/modules/vwdata.js b/code/WebApp/vue/src/router/modules/vwdata.js
new file mode 100644
index 00000000..59b62c05
--- /dev/null
+++ b/code/WebApp/vue/src/router/modules/vwdata.js
@@ -0,0 +1,74 @@
+//import Layout from '@/layout/firstLayout'
+import Layout from '@/layout'
+
+const vwdataRouter = {
+ path: '/vw-in',
+ component: Layout,
+ redirect: 'vw-in',
+ name: '大众-数据输入',
+ meta: {
+ //requiresAuth: true,
+ title: '大众-数据输入',
+ index: 0,
+ type: 'crm',
+ icon: '大众',
+ keepAlive: false,
+ },
+ children: [
+ {
+ path: '/prebatch',
+ component: () => import('@/views/ux/vw/dataInput/prebatch'),
+ name: 'Prebatch',
+ meta: {
+ title: '预批量输入表',//名称显示 在侧边栏
+ roles: ['SettleAccount.Prebatchs'],//控制页面角色(可以设置多个角色)
+ icon: '批量'//图标显示在侧边栏
+ }
+ },
+ {
+ path: '/fis',
+ component: () => import('@/views/ux/vw/dataInput/fis'),
+ name: 'FIS',
+ meta: {
+ title: 'FIS文件输入表',
+ roles: ['SettleAccount.FISs'],
+ icon: '文件'
+ }
+ },
+ {
+ path: '/r3',
+ component: () => import('@/views/ux/vw/dataInput/r3'),
+ name: 'R3',//命名路由
+ meta: {
+ title: 'R3文件输入表',
+ roles: ['SettleAccount.SettleAccounts'],
+ icon: 'R3'
+ }
+ },
+ {
+ path: '/secondaryAdjustment',
+ component: () => import('@/views/ux/vw/dataInput/secondaryAdjustment'),
+ name: 'SecondaryAdjustment',//命名路由
+ meta: {
+ title: '二配数量调整',
+ roles: ['SettleAccount.SecondaryAdjustments'],
+ icon: '二配'
+ }
+ },
+ {
+ path: '/secondaryDiscount',
+ component: () => import('@/views/ux/vw/dataInput/secondaryDiscount'),
+ name: 'SecondaryDiscount',//命名路由
+ meta: {
+ title: '二配折扣调整',
+ roles: ['SettleAccount.SecondaryAdjustments'],
+ icon: '折扣'
+ }
+ },
+ ]
+}
+
+export default vwdataRouter
+
+
+
diff --git a/code/WebApp/vue/src/router/modules/wheeldata.js b/code/WebApp/vue/src/router/modules/wheeldata.js
index 24f7591e..77f744eb 100644
--- a/code/WebApp/vue/src/router/modules/wheeldata.js
+++ b/code/WebApp/vue/src/router/modules/wheeldata.js
@@ -1,15 +1,15 @@
-/**大众看板、备件数据比对路由 */
+/** 车轮数据比对路由 */
//import Layout from '@/layout/firstLayout'
import Layout from '@/layout'
const wheeldataRouter = {
- path: '/cpat/report/',
+ path: '/wheeldata',
component: Layout,
- redirect: 'cpat',//重定向
+ redirect: 'wheeldata',//重定向
name: 'WheelData',
meta: {
// requiresAuth: true,
- title: '大众看板、备件报表',
+ title: '数据输出',
//index: 0,
// type: 'crm',
icon: '对比',
@@ -18,26 +18,15 @@ const wheeldataRouter = {
},
children: [
{
- path: 'kbwithcode',
- component: () => import('@/views/ux/billManage/kanBanWithCode'),
- name: 'KanBanWithCode',//命名路由
+ path: '/estimatedStockDiffReport',
+ component: () => import('@/views/ux/vw/dataOut/estimatedStockDiffReport'),
+ name: 'estimatedStockDiffReport',//命名路由
meta: {
- title: '大众看板结算与交货核对',
- //roles: ['SettleAccount.EstimatedStockDiffReports'],//控制页面角色(可以设置多个角色)
+ title: '暂估对比表',
+ roles: ['SettleAccount.EstimatedStockDiffReports'],//控制页面角色(可以设置多个角色)
icon: '对比'
}
},
-
- {
- path: 'vwsparepart',
- component: () => import('@/views/ux/billManage/sparePart'),
- name: 'SparePartReport',//命名路由
- meta: {
- title: '大众备件结算核对',
- //roles: ['abpvnext_master.ProjectPeople'],//控制页面角色(可以设置多个角色)
- icon: '二配'
- }
- }
]
}
diff --git a/code/WebApp/vue/src/settings.js b/code/WebApp/vue/src/settings.js
index e7015144..cbd70fa4 100644
--- a/code/WebApp/vue/src/settings.js
+++ b/code/WebApp/vue/src/settings.js
@@ -1,5 +1,5 @@
module.exports = {
- title: '长春派格汽车塑料技术有限公司结算管理系统',
+ title: 'ERP结算分析系统',
/**
* @type {boolean} true | false
diff --git a/code/WebApp/vue/src/store/getters.js b/code/WebApp/vue/src/store/getters.js
index 5e741c7a..58499983 100644
--- a/code/WebApp/vue/src/store/getters.js
+++ b/code/WebApp/vue/src/store/getters.js
@@ -30,7 +30,6 @@ const getters = {
userInfo: state => state.user.userInfo,
manage: state => state.user.manage,
manageRouters: state => state.permission.manageRouters,
- isLoading:state=>state.app.isLoading,
- messageNum: state => state.customer.messageNum,
+ isLoading:state=>state.app.isLoading
}
export default getters
diff --git a/code/WebApp/vue/src/store/modules/app.js b/code/WebApp/vue/src/store/modules/app.js
index f9a708f6..d6274419 100644
--- a/code/WebApp/vue/src/store/modules/app.js
+++ b/code/WebApp/vue/src/store/modules/app.js
@@ -152,3 +152,158 @@ export default {
actions
}
//export default app
+
+// import Cookies from 'js-cookie'
+// import { getLanguage } from '@/lang/index'
+
+// const state = {
+// sidebar: {
+// opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,
+// withoutAnimation: false,
+// activeIndex: ''
+// },
+// device: 'desktop',
+// language: getLanguage(),
+// size: Cookies.get('size') || 'medium',
+// navbar: {
+// activeIndex: '' // 导航目前是第几个 个人中心需要
+// },
+// logo: '',
+// isLoading:null
+// }
+// const mutations = {
+// TOGGLE_SIDEBAR: state => {
+
+// state.sidebar.opened = !state.sidebar.opened
+// state.sidebar.withoutAnimation = false
+// if (state.sidebar.opened) {
+// Cookies.set('sidebarStatus', 1)
+// } else {
+// Cookies.set('sidebarStatus', 0)
+// }
+// },
+// CLOSE_SIDEBAR: (state, withoutAnimation) => {
+// Cookies.set('sidebarStatus', 0)
+// state.sidebar.opened = false
+// state.sidebar.withoutAnimation = withoutAnimation
+// },
+// TOGGLE_DEVICE: (state, device) => {
+// state.device = device
+// },
+// SET_LANGUAGE: (state, language) => {
+// state.language = language
+// Cookies.set('language', language)
+// },
+// SET_SIZE: (state, size) => {
+// state.size = size
+// Cookies.set('size', size)
+// },
+// SET_ACTIVEINDEX: (state, path) => {
+// state.sidebar.activeIndex = path
+// },
+// SET_NAVACTIVEINDEX: (state, path) => {
+// state.navbar.activeIndex = path
+// },
+
+// }
+// const actions = {
+// toggleSideBar({ commit }) {
+// commit('TOGGLE_SIDEBAR')
+// },
+// closeSideBar({ commit }, { withoutAnimation }) {
+// commit('CLOSE_SIDEBAR', withoutAnimation)
+// },
+// toggleDevice({ commit }, device) {
+// commit('TOGGLE_DEVICE', device)
+// },
+// setLanguage({ commit }, language) {
+// commit('SET_LANGUAGE', language)
+// },
+// setSize({ commit }, size) {
+// commit('SET_SIZE', size)
+// }
+// }
+// const app = {
+// // namespaced: true,
+// state: {
+// sidebar: {
+// opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,
+// withoutAnimation: false,
+// activeIndex: ''
+// },
+// device: 'desktop',
+// language: getLanguage(),
+// size: Cookies.get('size') || 'medium',
+// navbar: {
+// activeIndex: '' // 导航目前是第几个 个人中心需要
+// },
+// logo: '',
+// isLoading:null
+// },
+
+// mutations: {
+// TOGGLE_SIDEBAR: state => {
+// state.sidebar.opened = !state.sidebar.opened
+// state.sidebar.withoutAnimation = false
+// if (state.sidebar.opened) {
+// Cookies.set('sidebarStatus', 1)
+// } else {
+// Cookies.set('sidebarStatus', 0)
+// }
+// },
+// CLOSE_SIDEBAR: (state, withoutAnimation) => {
+// Cookies.set('sidebarStatus', 0)
+// state.sidebar.opened = false
+// state.sidebar.withoutAnimation = withoutAnimation
+// },
+// TOGGLE_DEVICE: (state, device) => {
+// state.device = device
+// },
+// SET_LANGUAGE: (state, language) => {
+// state.language = language
+// Cookies.set('language', language)
+// },
+// SET_SIZE: (state, size) => {
+// state.size = size
+// Cookies.set('size', size)
+// },
+// SET_ACTIVEINDEX: (state, path) => {
+// state.sidebar.activeIndex = path
+// },
+// SET_NAVACTIVEINDEX: (state, path) => {
+// state.navbar.activeIndex = path
+// },
+// setLoading(state, isLoading) {
+// // console.log(isLoading);
+// state.isLoading = isLoading;
+// }
+// },
+
+// actions: {
+// toggleSideBar({ commit }) {
+// commit('TOGGLE_SIDEBAR')
+// },
+// closeSideBar({ commit }, { withoutAnimation }) {
+// commit('CLOSE_SIDEBAR', withoutAnimation)
+// },
+// toggleDevice({ commit }, device) {
+// commit('TOGGLE_DEVICE', device)
+// },
+// setLanguage({ commit }, language) {
+// commit('SET_LANGUAGE', language)
+// },
+// setSize({ commit }, size) {
+// commit('SET_SIZE', size)
+// },
+// onLoading(state, isLoading) {
+// state.commit('setLoading', isLoading);
+// }
+// }
+// }
+// // export default {
+// // namespaced: true,
+// // state,
+// // mutations,
+// // actions
+// // }
+// export default app
diff --git a/code/WebApp/vue/src/store/modules/customer.js b/code/WebApp/vue/src/store/modules/customer.js
deleted file mode 100644
index fed58ae9..00000000
--- a/code/WebApp/vue/src/store/modules/customer.js
+++ /dev/null
@@ -1,59 +0,0 @@
-
-import axiosMethods from '../../axios/index.js'
-
-/**
- * 消息记录
- */
-const app = {
- state: {
- // 待办事项消息
- messageNum: {
- todayCustomer: 0,
- followLeads: 0,
- followCustomer: 0,
- checkContract: 0,
- checkReceivables: 0,
- remindReceivablesPlan: 0,
- endContract: 0,
- totalCount: 0
- }
- },
-
- mutations: {
- /**
- * 更改待办事项
- */
- SET_MESSAGENUM: (state, messageNum) => {
- let totalCount = 0
- for (const key in messageNum) {
- if (key != 'totalCount') {
- totalCount += (messageNum[key] || 0)
- }
- }
- messageNum.totalCount = totalCount
- state.messageNum = messageNum
- }
- },
-
- actions: {
- // 登录
- GetMessageNum({
- commit
- }) {
- return new Promise((resolve, reject) => {
- axiosMethods.gets("/api/newjit/log-remind/getlist")
- .then(response => {
- commit('SET_MESSAGENUM', response.totalCount)
- //commit('SET_CRMROUTERSNUM', response.totalCount)
- resolve(response)
- })
- .catch(error => {
- reject(error)
- })
- })
- }
-
- }
-}
-
-export default app
diff --git a/code/WebApp/vue/src/store/modules/permission.js b/code/WebApp/vue/src/store/modules/permission.js
index 024873ab..2bcb5e10 100644
--- a/code/WebApp/vue/src/store/modules/permission.js
+++ b/code/WebApp/vue/src/store/modules/permission.js
@@ -1,7 +1,7 @@
-import { asyncRoutes, constantRoutes } from '@/router'
+import {asyncRoutes, constantRoutes} from '@/router'
import Layout from "@/layout/index";
import axiosMethods from "../../axios";
-import router, { resetRouter } from '@/router'
+import router, {resetRouter} from '@/router'
/**
*
@@ -45,7 +45,7 @@ function checkAuth(router, authInfo) {
* @param {*} routers
* @param {*} authInfo
*/
-const filterAsyncRouter = function (routers, authInfo) {
+const filterAsyncRouter = function(routers, authInfo) {
const res = []
routers.forEach(router => {
const tmp = {
@@ -83,7 +83,7 @@ function hasPermission(roles, route) {
export function filterAsyncRoutes(routes, roles) {
const res = []
routes.forEach(route => {
- const tmp = { ...route }
+ const tmp = {...route}
if (hasPermission(roles, tmp)) {
if (tmp.children) {
tmp.children = filterAsyncRoutes(tmp.children, roles)
@@ -120,24 +120,15 @@ const mutations = {
const element = routes[index]
if (element.name == 'first') {
state.firstRouters = element
- } else if (element.name == 'manager') {
+ }else if (element.name == 'manager') {
state.manageRouters = element
}
}
- },
- /**
- * 客户管理待办消息数
- */
- // SET_CRMROUTERSNUM: (state, num) => {
- // const messageItem = state.routes.children[1]
- // alert(messageItem)
- // messageItem.meta.num = num
- // Vue.set(state.routes.children, 1, messageItem)
- // }
+ }
}
const actions = {
- generateRoutes({ commit }, roles) {
+ generateRoutes({commit}, roles) {
return new Promise(resolve => {
let accessedRoutes
if (roles.includes('admin')) {
diff --git a/code/WebApp/vue/src/store/modules/user.js b/code/WebApp/vue/src/store/modules/user.js
index 44b0df1c..22af89e3 100644
--- a/code/WebApp/vue/src/store/modules/user.js
+++ b/code/WebApp/vue/src/store/modules/user.js
@@ -77,7 +77,7 @@ const actions = {
userLogin({commit}, data) { // 用户登录
return new Promise((resolve, reject) => {
- axiosMethods.instancePosts('/connect/token', data)
+ axiosMethods.instancePosts('/api/connect-token', data)
.then(response => {
commit('SET_TOKEN', response.access_token)
//token存缓存中
@@ -122,6 +122,55 @@ const actions = {
})
})
},
+
+
+ // userLogin({commit}, data) { // 用户登录
+ // return new Promise((resolve, reject) => {
+ // axiosMethods.instancePosts('/connect/token', data)
+ // .then(response => {
+ // commit('SET_TOKEN', response.access_token)
+ // //token存缓存中
+ // Lockr.set('Admin-Token', response.access_token)
+ // let userInfoCurrent = {
+ // "deptName": "",
+ // "img": "",
+ // "createTime": "",
+ // "lastLoginTime": "",
+ // "num": "",
+ // "sex": null,
+ // "mobile": "",
+ // "realname": "",
+ // "parentName": null,
+ // "post": "",
+ // "userId": 3,
+ // "parentId": 0,
+ // "lastLoginIp": "",
+ // "deptId": '',
+ // "email": null,
+ // "username": "",
+ // "status": ''
+ // }
+ // //获取登录人信息
+ // axiosMethods.gets('/api/base/user/current').then(response => {
+ // userInfoCurrent['username']=response.userName
+ // userInfoCurrent['realname']=response.userName
+ // userInfoCurrent['email']=response.email
+ // userInfoCurrent['mobile']=response.phoneNumber
+ // userInfoCurrent['userId']=response.id
+ // //userInfo 前端写在vuex中
+ // commit('SET_USERINFO', userInfoCurrent)
+ // //userInfo 存缓存中
+ // Lockr.set('loginUserInfo', userInfoCurrent)
+ // //alert(JSON.stringify(Lockr.get("loginUserInfo").userId))
+ // })
+ // setToken(response.access_token)
+
+ // resolve()
+ // }).catch((error) => {
+ // reject(error)
+ // })
+ // })
+ // },
// get user info
getInfo({commit}) {
return new Promise((resolve, reject) => {
diff --git a/code/WebApp/vue/src/styles/sidebar.scss b/code/WebApp/vue/src/styles/sidebar.scss
index 3dad4c39..63ed0c93 100644
--- a/code/WebApp/vue/src/styles/sidebar.scss
+++ b/code/WebApp/vue/src/styles/sidebar.scss
@@ -54,7 +54,7 @@
}
.svg-icon {
- margin-right: 16px;
+ margin-right: 5px;
}
.el-menu {
diff --git a/code/WebApp/vue/src/utils/crmindex.js b/code/WebApp/vue/src/utils/crmindex.js
index d98729b3..06579b7b 100644
--- a/code/WebApp/vue/src/utils/crmindex.js
+++ b/code/WebApp/vue/src/utils/crmindex.js
@@ -443,7 +443,6 @@ export function downloadFile(res, fileName) {
});
}
-
export function downloadFileV1(res, fileName) {
if (!res) {
return
diff --git a/code/WebApp/vue/src/utils/dom.js b/code/WebApp/vue/src/utils/dom.js
deleted file mode 100644
index 1fd9a948..00000000
--- a/code/WebApp/vue/src/utils/dom.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * 功能:dom绑定事件
- * 参数:element(dom节点)
- * event(事件名称)
- * handler(回调)
- *返回:无
- * */
-export const on = (function() {
- if (document.addEventListener) {
- return function(element, event, handler) {
- if (element && event && handler) {
- element.addEventListener(event, handler, false)
- }
- }
- } else {
- return function(element, event, handler) {
- if (element && event && handler) {
- element.attachEvent('on' + event, handler)
- }
- }
- }
-})()
-
-/**
- * 功能:移除dom绑定的事件
- * 参数:element(dom节点)
- * event(事件名称)
- * handler(回调函数)
- * 返回:无
- * */
-export const off = (function() {
- if (document.removeEventListener) {
- return function(element, event, handler) {
- if (element && event) {
- element.removeEventListener(event, handler, false)
- }
- }
- } else {
- return function(element, event, handler) {
- if (element && event) {
- element.detachEvent('on' + event, handler)
- }
- }
- }
-})()
diff --git a/code/WebApp/vue/src/views/PersonCenter/components/EditPassword.vue b/code/WebApp/vue/src/views/PersonCenter/components/EditPassword.vue
index 73eef39c..84a3de85 100644
--- a/code/WebApp/vue/src/views/PersonCenter/components/EditPassword.vue
+++ b/code/WebApp/vue/src/views/PersonCenter/components/EditPassword.vue
@@ -5,65 +5,62 @@
:visible.sync="showDialog"
:before-close="hiddenView"
title="编辑密码"
- width="500px">
+ width="500px"
+ >
-
-
+ label-position="top"
+ >
+
+
-
-
+
+
-
diff --git a/code/WebApp/vue/src/views/dashboard/admin/components/PanelGroup.vue b/code/WebApp/vue/src/views/dashboard/admin/components/PanelGroup.vue
index eac5562b..b4962f4e 100644
--- a/code/WebApp/vue/src/views/dashboard/admin/components/PanelGroup.vue
+++ b/code/WebApp/vue/src/views/dashboard/admin/components/PanelGroup.vue
@@ -6,10 +6,13 @@