diff --git a/src/server/request.js b/src/server/request.js index 2337270..0f7a192 100644 --- a/src/server/request.js +++ b/src/server/request.js @@ -3,6 +3,7 @@ import { ElMessage } from "element-plus"; let switchValue = true; const service = axios.create({ baseURL: process.env.VUE_APP_BASE_URL || "http://101.201.121.115:9003/", + // baseURL: process.env.VUE_APP_BASE_URL || "http://192.168.0.36:9003/", timeout: 1000 * 60 * 2, // request timeout }); service.interceptors.request.use( diff --git a/src/store/productionPlanning/customerForecastDemandReview.js b/src/store/productionPlanning/customerForecastDemandReview.js index 16e9eba..d0830e0 100644 --- a/src/store/productionPlanning/customerForecastDemandReview.js +++ b/src/store/productionPlanning/customerForecastDemandReview.js @@ -2,282 +2,307 @@ import { getStanderOne } from "@/server/api.js"; import { getMpsModeList } from "@/server/productionPlanning/customerForecastDemandReview"; const customerForecastDemandReview = { - namespaced: true, - state: { - // 客户ID - customerId: "", - // 物料ID - artId:"", - // 资源ID - resourceId:"", - // 资源类型 1 主要资源 2 次要资源 - resourceType:"", - // 变更资源计划参数 - changeMpsPlanParam:{}, - // 物料需求数据加载 - articleDemandLoading:false, - // 物料需求数据 - articleDemandData:{}, - // 物料需求数据 - articleDemandTableData:{}, - // 选择的物料需求数据 - selectArticleDemandRow:{}, - // 选择的物料需求数据行 - selectArticleDemandRowIndex:-1, - // 资源负荷新数据加载 - evaluationSecondResourceLoading:false, - // 资源负荷旧数据加载 - evaluationMainResourceLoading:false, - // 次要资源数据 - evaluationSecondResourceData:[], - // 次要资源列表数据 - evaluationSecondResourceListData:[], - // 资源负荷旧数据 - evaluationMainResourceData:[], - // 是否取消资源选择 - isSelectResource:false, - // 模式选择下拉列表选项 - mpsPlanModeOptions:[], - // 模式规则选项 - mpsRuleOptions:[], - // 最小覆盖期类型选项 - minCoverPeriodTypeOptions:[], - // 最大覆盖期类型选项 - maxCoverPeriodTypeOptions:[], - // 需求图形X轴 - xAxis:[], - // 需求图形Y轴 - yAxis:[], - // 设置需求表格高度 - articleDemandHeight:"0", - // 资源评估表格高度 - calculateTableHeight:"calc(100% - 10px)", - // 设置需求表格高度 - articleCharHeight:"100%", + namespaced: true, + state: { + // 客户ID + customerId: "", + // 物料ID + artId: "", + // 资源ID + resourceId: "", + // 资源类型 1 主要资源 2 次要资源 + resourceType: "", + // 变更资源计划参数 + changeMpsPlanParam: {}, + // 物料需求数据加载 + articleDemandLoading: false, + // 物料需求数据 + articleDemandData: {}, + // 物料需求数据 + articleDemandTableData: {}, + // 选择的物料需求数据 + selectArticleDemandRow: {}, + // 选择的物料需求数据行 + selectArticleDemandRowIndex: -1, + // 资源负荷新数据加载 + evaluationSecondResourceLoading: false, + // 资源负荷旧数据加载 + evaluationMainResourceLoading: false, + // 次要资源数据 + evaluationSecondResourceData: [], + // 次要资源列表数据 + evaluationSecondResourceListData: [], + // 资源负荷旧数据 + evaluationMainResourceData: [], + // 是否取消资源选择 + isSelectResource: false, + // 模式选择下拉列表选项 + mpsPlanModeOptions: [], + // 模式规则选项 + mpsRuleOptions: [], + // 最小覆盖期类型选项 + minCoverPeriodTypeOptions: [], + // 最大覆盖期类型选项 + maxCoverPeriodTypeOptions: [], + // 需求图形X轴 + xAxis: [], + // 需求图形Y轴 + yAxis: [], + // 设置需求表格高度 + articleDemandHeight: "0", + // 资源评估表格高度 + calculateTableHeight: "calc(100% - 10px)", + // 设置需求表格高度 + articleCharHeight: "100%", - - // 是否显示表单 - showChar:false, - // 编辑按钮样式 - editButtonClass:"disable_button", - // 发布按钮 - publicButtonClass:"disable_button", - }, - mutations: { - // 初始化所有数据 - INIT_all(state){ - state.evaluationSecondResourceListData = [] - state.evaluationSecondResourceData = [] - state.evaluationMainResourceData = [] - state.changeMpsPlanParam = {} - state.xAxis = [] - state.yAxis = [] - state.selectArticleDemandRow = {} - state.customerId = "" - state.artId = "" - state.resourceId = "" - state.resourceType = "" - }, - // 初始化资源负荷新数据 - INIT_evaluationSecondResourceData(state) { - state.evaluationSecondResourceData = [] - }, - // 初始化资源负荷新数据 - INIT_evaluationSecondResourceListData(state) { - state.evaluationSecondResourceListData = [] - }, - // 初始化资源负荷旧数据 - INIT_evaluationMainResourceData(state) { - state.evaluationMainResourceData = [] - }, - // 初始化模式选择下拉列表选项 - INIT_mpsPlanModeOption(state){ - state.mpsPlanModeOptions = [] - }, - // 初始化模式规则选项 - INIT_mpsRuleOptions(state){ - state.mpsRuleOptions = [] - }, - // 初始化模式规则选项 - INIT_yAxis(state){ - state.yAxis = [] - }, - // 初始化最小覆盖期类型选项 - INIT_minCoverPeriodTypeOptions(state){ - state.minCoverPeriodTypeOptions = [] - }, - // 初始化最大覆盖期类型选项 - INIT_maxCoverPeriodTypeOptions(state){ - state.maxCoverPeriodTypeOptions = [] - }, - // 初始化选择物料数据行 - INIT_selectArticleDemandRow(state){ - state.selectArticleDemandRow = {} - }, - // 设置客户ID - SET_customerId (state, payload) { - state.customerId = payload - }, - // 设置物料ID - SET_artId (state, payload) { - state.artId = payload - }, - // 设置资源ID - SET_resourceId (state, payload) { - state.resourceId = payload - }, - // 设置资源类型 - SET_resourceType (state, payload) { - state.resourceType = payload - }, - // 设置变更资源计划参数 - SET_changeMpsPlanParam(state, payload) { - state.changeMpsPlanParam = payload - }, - // 设置资源需求数据加载 - SET_articleDemandLoading(state, payload) { - state.articleDemandLoading = payload - }, - // 设置物料需求数据 - SET_articleDemandData(state, payload) { - state.articleDemandData = payload - }, - SET_articleDemandTableData(state, payload) { - state.articleDemandTableData = payload - }, - // 设置选择物料数据行 - SET_selectArticleDemandRow(state, payload){ - state.selectArticleDemandRow = payload - }, - SET_selectArticleDemandRowIndex(state, payload){ - state.selectArticleDemandRowIndex = payload - }, - // 设置资源负荷新数据加载 - SET_evaluationSecondResourceLoading(state, payload) { - state.evaluationSecondResourceLoading = payload - }, - // 设置资源负荷旧数据加载 - SET_evaluationMainResourceLoading(state, payload) { - state.evaluationMainResourceLoading = payload - }, - // 设置资源负荷新数据 - SET_evaluationSecondResourceData(state, payload) { - state.evaluationSecondResourceData = payload - }, - // 设置次要资源数据列表 - SET_evaluationSecondResourceListData(state, payload) { - state.evaluationSecondResourceListData = payload - }, - // 设置资源负荷旧数据 - SET_evaluationMainResourceData(state, payload) { - state.evaluationMainResourceData = payload - }, - SET_mpsPlanModeOption(state, payload){ - state.mpsPlanModeOptions = payload - }, - // 初始化模式规则选项 - SET_mpsRuleOptions(state, payload){ - state.mpsRuleOptions = payload - }, - // 初始化最小覆盖期类型选项 - SET_minCoverPeriodTypeOptions(state, payload){ - state.minCoverPeriodTypeOptions = payload - }, - // 初始化最大覆盖期类型选项 - SET_maxCoverPeriodTypeOptions(state, payload){ - state.maxCoverPeriodTypeOptions = payload - }, - // 设置X轴 - SET_xAxis(state, payload){ - payload.forEach((item,index) => { - if(item.charAt(item.length - 1) == '*') { - payload[index] = item.substr(0,item.length - 1 ) - } - }) - state.xAxis = payload - }, - // 设置Y轴 - SET_yAxis(state, payload){ - state.yAxis = payload - }, - // 设置 设置需求表格高度 - SET_articleDemandHeight(state, payload){ - state.articleDemandHeight = payload - }, - // 设置 资源评估表格高度 - SET_calculateTableHeight(state, payload){ - state.calculateTableHeight = payload - }, - // 设置Y轴 - SET_articleCharHeight(state, payload){ - state.articleCharHeight = payload - }, - // 设置编辑按钮状态 - SET_editButtonClass(state, payload){ - state.editButtonClass = payload - }, - // 设置编辑按钮状态 - SET_publicButtonClass(state, payload){ - state.publicButtonClass = payload - }, - TOGGLE_showChar(state){ - state.showChar = !state.showChar - }, - RESET_articleChar(state){ - let temp = state.yAxis - state.yAxis = [] - state.yAxis = temp - state.showChar = !state.showChar - state.showChar = !state.showChar - }, - // 是否取消资源选择 - CHANGE_selectResource(state){ - state.isSelectResource = !state.isSelectResource - }, - }, - actions:{ - // 获得Mps模式选项 - getMpsModeList({commit}) { - commit('INIT_mpsPlanModeOption') - getStanderOne({ statid: 'MpsPlanMode' }).then(({ data = [] }) => { - let mode = {} - data.forEach(item => { - mode[item['Stdef-StdefTyp']] = item['Stdef-Bez'] - }) - let options = [] - getMpsModeList().then( ({ data = []}) => { - data.forEach(item => { - options.push({ - key:item['AP_MpsSetting-MpsSettingNr'], - label:mode[item['AP_MpsSetting-MpsRule']]+"-"+item['AP_MpsSetting-Descr'], - }) - }) - commit('SET_mpsPlanModeOption',options) - }) - }); - }, - // 获得Mps规则选项 - getMpsRuleOptions({commit}) { - commit('INIT_mpsRuleOptions') - getStanderOne({ statid: 'AP_MpsSetting-MpsRule' }).then(({ data = [] }) => { - commit('SET_mpsRuleOptions',data) - }); - }, - // 获得最小覆盖周期选项 - getMinCoverPeriodTypeOptions({commit}) { - commit('INIT_minCoverPeriodTypeOptions') - getStanderOne({ statid: 'AP_MpsSetting-DefaultMinCoverPeriodType' }).then(({ data = [] }) => { - commit('SET_minCoverPeriodTypeOptions',data) - }); - }, - // 获得最大覆盖周期选项 - getMaxCoverPeriodTypeOptions({commit}) { - commit('INIT_maxCoverPeriodTypeOptions') - getStanderOne({ statid: 'AP_MpsSetting-DefaultMaxCoverPeriodType' }).then(({ data = [] }) => { - commit('SET_maxCoverPeriodTypeOptions',data) - }); - }, - } + + // 是否显示表单 + showChar: false, + // 编辑按钮样式 + editButtonClass: "disable_button", + // 发布按钮 + publicButtonClass: "disable_button", + + evaluationLoadPercent: 0, + + evaluationLoadInterval: {} + }, + mutations: { + // 初始化所有数据 + INIT_all(state) { + state.evaluationSecondResourceListData = [] + state.evaluationSecondResourceData = [] + state.evaluationMainResourceData = [] + state.changeMpsPlanParam = {} + state.xAxis = [] + state.yAxis = [] + state.selectArticleDemandRow = {} + state.customerId = "" + state.artId = "" + state.resourceId = "" + state.resourceType = "" + }, + // 初始化资源负荷新数据 + INIT_evaluationSecondResourceData(state) { + state.evaluationSecondResourceData = [] + }, + // 初始化资源负荷新数据 + INIT_evaluationSecondResourceListData(state) { + state.evaluationSecondResourceListData = [] + }, + // 初始化资源负荷旧数据 + INIT_evaluationMainResourceData(state) { + state.evaluationMainResourceData = [] + }, + // 初始化模式选择下拉列表选项 + INIT_mpsPlanModeOption(state) { + state.mpsPlanModeOptions = [] + }, + // 初始化模式规则选项 + INIT_mpsRuleOptions(state) { + state.mpsRuleOptions = [] + }, + // 初始化模式规则选项 + INIT_yAxis(state) { + state.yAxis = [] + }, + // 初始化最小覆盖期类型选项 + INIT_minCoverPeriodTypeOptions(state) { + state.minCoverPeriodTypeOptions = [] + }, + // 初始化最大覆盖期类型选项 + INIT_maxCoverPeriodTypeOptions(state) { + state.maxCoverPeriodTypeOptions = [] + }, + // 初始化选择物料数据行 + INIT_selectArticleDemandRow(state) { + state.selectArticleDemandRow = {} + }, + // 设置客户ID + SET_customerId(state, payload) { + state.customerId = payload + }, + // 设置物料ID + SET_artId(state, payload) { + state.artId = payload + }, + // 设置资源ID + SET_resourceId(state, payload) { + state.resourceId = payload + }, + // 设置资源类型 + SET_resourceType(state, payload) { + state.resourceType = payload + }, + // 设置变更资源计划参数 + SET_changeMpsPlanParam(state, payload) { + state.changeMpsPlanParam = payload + }, + // 设置资源需求数据加载 + SET_articleDemandLoading(state, payload) { + state.articleDemandLoading = payload + }, + // 设置物料需求数据 + SET_articleDemandData(state, payload) { + state.articleDemandData = payload + }, + SET_articleDemandTableData(state, payload) { + state.articleDemandTableData = payload + }, + // 设置选择物料数据行 + SET_selectArticleDemandRow(state, payload) { + state.selectArticleDemandRow = payload + }, + SET_selectArticleDemandRowIndex(state, payload) { + state.selectArticleDemandRowIndex = payload + }, + // 设置资源负荷新数据加载 + SET_evaluationSecondResourceLoading(state, payload) { + state.evaluationSecondResourceLoading = payload + }, + // 设置资源负荷旧数据加载 + SET_evaluationMainResourceLoading(state, payload) { + state.evaluationMainResourceLoading = payload + }, + // 设置资源负荷新数据 + SET_evaluationSecondResourceData(state, payload) { + state.evaluationSecondResourceData = payload + }, + // 设置次要资源数据列表 + SET_evaluationSecondResourceListData(state, payload) { + state.evaluationSecondResourceListData = payload + }, + // 设置资源负荷旧数据 + SET_evaluationMainResourceData(state, payload) { + state.evaluationMainResourceData = payload + }, + SET_mpsPlanModeOption(state, payload) { + state.mpsPlanModeOptions = payload + }, + // 初始化模式规则选项 + SET_mpsRuleOptions(state, payload) { + state.mpsRuleOptions = payload + }, + // 初始化最小覆盖期类型选项 + SET_minCoverPeriodTypeOptions(state, payload) { + state.minCoverPeriodTypeOptions = payload + }, + // 初始化最大覆盖期类型选项 + SET_maxCoverPeriodTypeOptions(state, payload) { + state.maxCoverPeriodTypeOptions = payload + }, + // 设置X轴 + SET_xAxis(state, payload) { + payload.forEach((item, index) => { + if (item.charAt(item.length - 1) == '*') { + payload[index] = item.substr(0, item.length - 1) + } + }) + state.xAxis = payload + }, + // 设置Y轴 + SET_yAxis(state, payload) { + state.yAxis = payload + }, + // 设置 设置需求表格高度 + SET_articleDemandHeight(state, payload) { + state.articleDemandHeight = payload + }, + // 设置 资源评估表格高度 + SET_calculateTableHeight(state, payload) { + state.calculateTableHeight = payload + }, + // 设置Y轴 + SET_articleCharHeight(state, payload) { + state.articleCharHeight = payload + }, + // 设置编辑按钮状态 + SET_editButtonClass(state, payload) { + state.editButtonClass = payload + }, + // 设置编辑按钮状态 + SET_publicButtonClass(state, payload) { + state.publicButtonClass = payload + }, + SET_evaluationLoadPercent(state, payload) { + if (payload) { + let load = 1 + let temp = 100 + state.evaluationLoadInterval = setInterval(() => { + if (load > 10) { + temp++ + } + load++ + state.evaluationLoadPercent = parseInt(load / temp * 100) + }, 1000) + + } else { + state.evaluationLoadPercent = 100 + clearInterval(state.evaluationLoadInterval) + setTimeout(() => { + state.evaluationLoadPercent = 0 + + }, 1000) + } + }, + TOGGLE_showChar(state) { + state.showChar = !state.showChar + }, + RESET_articleChar(state) { + let temp = state.yAxis + state.yAxis = [] + state.yAxis = temp + state.showChar = !state.showChar + state.showChar = !state.showChar + }, + // 是否取消资源选择 + CHANGE_selectResource(state) { + state.isSelectResource = !state.isSelectResource + }, + }, + actions: { + // 获得Mps模式选项 + getMpsModeList({ commit }) { + commit('INIT_mpsPlanModeOption') + getStanderOne({ statid: 'MpsPlanMode' }).then(({ data = [] }) => { + let mode = {} + data.forEach(item => { + mode[item['Stdef-StdefTyp']] = item['Stdef-Bez'] + }) + let options = [] + getMpsModeList().then(({ data = [] }) => { + data.forEach(item => { + options.push({ + key: item['AP_MpsSetting-MpsSettingNr'], + label: mode[item['AP_MpsSetting-MpsRule']] + "-" + item['AP_MpsSetting-Descr'], + }) + }) + commit('SET_mpsPlanModeOption', options) + }) + }); + }, + // 获得Mps规则选项 + getMpsRuleOptions({ commit }) { + commit('INIT_mpsRuleOptions') + getStanderOne({ statid: 'AP_MpsSetting-MpsRule' }).then(({ data = [] }) => { + commit('SET_mpsRuleOptions', data) + }); + }, + // 获得最小覆盖周期选项 + getMinCoverPeriodTypeOptions({ commit }) { + commit('INIT_minCoverPeriodTypeOptions') + getStanderOne({ statid: 'AP_MpsSetting-DefaultMinCoverPeriodType' }).then(({ data = [] }) => { + commit('SET_minCoverPeriodTypeOptions', data) + }); + }, + // 获得最大覆盖周期选项 + getMaxCoverPeriodTypeOptions({ commit }) { + commit('INIT_maxCoverPeriodTypeOptions') + getStanderOne({ statid: 'AP_MpsSetting-DefaultMaxCoverPeriodType' }).then(({ data = [] }) => { + commit('SET_maxCoverPeriodTypeOptions', data) + }); + }, + } }; diff --git a/src/views/plan/workbench/homePage/customer/index.vue b/src/views/plan/workbench/homePage/customer/index.vue index e81119c..9ab3847 100644 --- a/src/views/plan/workbench/homePage/customer/index.vue +++ b/src/views/plan/workbench/homePage/customer/index.vue @@ -41,7 +41,16 @@ import { get } from "@/server/api.js"; // 获取客户列表树状图 get(`/admin/base/customer/customertree`).then(({ code, data }) => { if (code === 200) { + console.log('%cindex.vue line:44 data', 'color: #007acc;', data); + data.forEach(item => { + item.Children.forEach( child => { + child.Children.forEach( ch => { + ch.Label = ch.CustomerId + "-" + ch.Label + }) + }) + }) this.customerData = data + if (this.currentCustomId) { data[0].Children.forEach(el => { el.Children.forEach(elChild => { @@ -59,6 +68,7 @@ import { get } from "@/server/api.js"; }) }, methods: { + filterNode(value, data) { if (!value) return true return data.Label.indexOf(value) !== -1 diff --git a/src/views/productionPlanning/customerForecastDemandReview/resourceContent/evaluation/char.vue b/src/views/productionPlanning/customerForecastDemandReview/resourceContent/evaluation/char.vue index 5cb043d..4f109a5 100644 --- a/src/views/productionPlanning/customerForecastDemandReview/resourceContent/evaluation/char.vue +++ b/src/views/productionPlanning/customerForecastDemandReview/resourceContent/evaluation/char.vue @@ -87,7 +87,7 @@ export default { let option = { title: { text: this.Title}, tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } }, - legend: { data: this.legendList,top:'%1' }, + legend: { data: this.legendList,top:'%1',type:"scroll" }, grid: { top: '19%', left: "3%", right: "3%", bottom: "1%", containLabel: true }, xAxis: [{ type: "category", data: this.weeksList }], yAxis: [{ type: "value" }], diff --git a/src/views/productionPlanning/customerForecastDemandReview/resourceContent/evaluation/index.vue b/src/views/productionPlanning/customerForecastDemandReview/resourceContent/evaluation/index.vue index 874c5c5..f934eee 100644 --- a/src/views/productionPlanning/customerForecastDemandReview/resourceContent/evaluation/index.vue +++ b/src/views/productionPlanning/customerForecastDemandReview/resourceContent/evaluation/index.vue @@ -1,13 +1,24 @@