diff --git a/code/WebApp/vue/SettleAccount-vue.rar b/code/WebApp/vue/SettleAccount-vue.rar new file mode 100644 index 00000000..aa037c27 Binary files /dev/null and b/code/WebApp/vue/SettleAccount-vue.rar differ diff --git a/code/WebApp/vue/package.json b/code/WebApp/vue/package.json index f9f80d0c..d70ac53b 100644 --- a/code/WebApp/vue/package.json +++ b/code/WebApp/vue/package.json @@ -52,7 +52,6 @@ "driver.js": "0.9.5", "dropzone": "5.5.1", "echarts": "4.2.1", - "el-table-transfer": "^0.1.4", "element-ui": "2.13.0", "file-saver": "2.0.1", "fuse.js": "3.4.4", @@ -61,6 +60,7 @@ "jszip": "3.2.1", "lockr": "^0.8.5", "moment": "^2.29.1", + "node-sass": "^4.14.1", "normalize.css": "^7.0.0", "nprogress": "0.2.0", "path-to-regexp": "2.4.0", @@ -73,15 +73,14 @@ "vue": "2.6.10", "vue-bus": "^1.2.1", "vue-count-to": "1.0.13", - "vue-cropper": "^0.5.8", + "vue-cropper": "^0.5.5", "vue-i18n": "7.3.2", "vue-infinite-scroll": "^2.0.2", "vue-lazyload": "^1.3.3", "vue-loader": "^15.9.5", "vue-router": "3.0.2", "vue-splitpane": "1.0.4", - "vue-style-loader": "^4.1.3", - "vuedraggable": "^2.24.3", + "vuedraggable": "^2.20.0", "vuex": "3.1.0", "xlsx": "0.14.1" }, @@ -90,10 +89,10 @@ "@babel/register": "7.0.0", "@vue/cli-plugin-babel": "3.5.3", "@vue/cli-plugin-eslint": "^3.9.1", - "@vue/cli-plugin-unit-jest": "^4.5.15", - "@vue/cli-service": "^4.5.15", + "@vue/cli-plugin-unit-jest": "^4.5.9", + "@vue/cli-service": "^4.5.9", "@vue/test-utils": "1.0.0-beta.29", - "autoprefixer": "^9.8.8", + "autoprefixer": "^9.5.1", "babel-core": "7.0.0-bridge.0", "babel-eslint": "10.0.1", "babel-jest": "^26.6.3", @@ -105,9 +104,7 @@ "html-webpack-plugin": "3.2.0", "husky": "1.3.1", "lint-staged": "8.1.5", - "mini-css-extract-plugin": "^2.4.6", "mockjs": "1.0.1-beta3", - "node-sass": "^4.14.1", "plop": "2.3.0", "postcss-loader": "^4.0.4", "postcss-px-to-viewport": "^1.1.1", @@ -115,13 +112,11 @@ "sass-loader": "^7.1.0", "script-ext-html-webpack-plugin": "2.1.3", "script-loader": "0.7.2", - "serve-static": "^1.14.2", + "serve-static": "^1.13.2", "svg-sprite-loader": "4.1.3", "svgo": "1.2.0", "vue-happy-scroll": "^2.1.1", - "vue-template-compiler": "2.6.10", - "webpack": "^4.46.0", - "webpack-cli": "^4.9.1" + "vue-template-compiler": "2.6.10" }, "engines": { "node": ">=8.9", diff --git a/code/WebApp/vue/src/api.rar b/code/WebApp/vue/src/api.rar new file mode 100644 index 00000000..5bb55a97 Binary files /dev/null and b/code/WebApp/vue/src/api.rar differ diff --git a/code/WebApp/vue/src/api/monitor/job.js b/code/WebApp/vue/src/api/monitor/job.js new file mode 100644 index 00000000..58c43434 --- /dev/null +++ b/code/WebApp/vue/src/api/monitor/job.js @@ -0,0 +1,80 @@ +import request from '@/utils/request' + +// 查询定时任务调度列表 +export function listJob(query) { + return request({ + url: '/monitor/job/list', + method: 'get', + params: query + }) +} + +// 查询定时任务调度详细 +export function getJob(jobId) { + return request({ + url: '/monitor/job/' + jobId, + method: 'get' + }) +} + +// 新增定时任务调度 +export function addJob(data) { + return request({ + url: '/monitor/job', + method: 'post', + data: data + }) +} + +// 修改定时任务调度 +export function updateJob(data) { + return request({ + url: '/monitor/job', + method: 'put', + data: data + }) +} + +// 删除定时任务调度 +export function delJob(jobId) { + return request({ + url: '/monitor/job/' + jobId, + method: 'delete' + }) +} + +// 导出定时任务调度 +export function exportJob(query) { + return request({ + url: '/monitor/job/export', + method: 'get', + params: query + }) +} + +// 任务状态修改 +export function changeJobStatus(jobId, status) { + const data = { + jobId, + status + } + return request({ + url: '/monitor/job/changeStatus', + method: 'put', + data: data + }) +} + + +// 定时任务立即执行一次 +export function runJob(jobId, jobGroup) { + const data = { + jobId, + jobGroup + } + return request({ + url: '/monitor/job/run', + method: 'put', + data: data + }) +} \ No newline at end of file diff --git a/code/WebApp/vue/src/api/monitor/jobLog.js b/code/WebApp/vue/src/api/monitor/jobLog.js new file mode 100644 index 00000000..be1fffdf --- /dev/null +++ b/code/WebApp/vue/src/api/monitor/jobLog.js @@ -0,0 +1,35 @@ +import request from '@/utils/request' + +// 查询调度日志列表 +export function listJobLog(query) { + return request({ + url: '/monitor/jobLog/list', + method: 'get', + params: query + }) +} + +// 删除调度日志 +export function delJobLog(jobLogId) { + return request({ + url: '/monitor/jobLog/' + jobLogId, + method: 'delete' + }) +} + +// 清空调度日志 +export function cleanJobLog() { + return request({ + url: '/monitor/jobLog/clean', + method: 'delete' + }) +} + +// 导出调度日志 +export function exportJobLog(query) { + return request({ + url: '/monitor/jobLog/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/code/WebApp/vue/src/api/monitor/server.js b/code/WebApp/vue/src/api/monitor/server.js new file mode 100644 index 00000000..feed7836 --- /dev/null +++ b/code/WebApp/vue/src/api/monitor/server.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +// 查询服务器详细 +export function getServer() { + return request({ + url: '/monitor/server', + method: 'get' + }) +} \ No newline at end of file diff --git a/code/WebApp/vue/src/assets/iconfont.rar b/code/WebApp/vue/src/assets/iconfont.rar new file mode 100644 index 00000000..4107ff2c Binary files /dev/null and b/code/WebApp/vue/src/assets/iconfont.rar differ diff --git a/code/WebApp/vue/src/assets/img/win-logo-1.png b/code/WebApp/vue/src/assets/img/win-logo-1.png deleted file mode 100644 index e54df714..00000000 Binary files a/code/WebApp/vue/src/assets/img/win-logo-1.png and /dev/null differ diff --git a/code/WebApp/vue/src/axios/index.js b/code/WebApp/vue/src/axios/index.js index f020c7f7..85b19642 100644 --- a/code/WebApp/vue/src/axios/index.js +++ b/code/WebApp/vue/src/axios/index.js @@ -15,13 +15,8 @@ axios.defaults.timeout = 10000 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8;' //TODO:配置读取 axios.defaults.headers['Accept-Language'] = "zh-Hans" - - +// axios.defaults.baseURL = ''; axios.defaults.baseURL = config.base.ip + ':' + config.base.backend_port -//axios.defaults.baseURL = 'http://localhost:44344'; //?? 登录调试 - - - // POST传参序列化 axios.interceptors.request.use((config) => { // eslint-disable-next-line eqeqeq diff --git a/code/WebApp/vue/src/components/1.vue b/code/WebApp/vue/src/components/1.vue new file mode 100644 index 00000000..e69de29b diff --git a/code/WebApp/vue/src/components/CreateCom/Job-Select.vue b/code/WebApp/vue/src/components/CreateCom/Job-Select.vue deleted file mode 100644 index d088f156..00000000 --- a/code/WebApp/vue/src/components/CreateCom/Job-Select.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - diff --git a/code/WebApp/vue/src/components/CreateCom/Xh-JS-Select copy.vue b/code/WebApp/vue/src/components/CreateCom/Xh-JS-Select copy.vue deleted file mode 100644 index 852af765..00000000 --- a/code/WebApp/vue/src/components/CreateCom/Xh-JS-Select copy.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - diff --git a/code/WebApp/vue/src/components/CreateCom/Xh-JS-Select-Label.vue b/code/WebApp/vue/src/components/CreateCom/Xh-JS-Select-Label.vue deleted file mode 100644 index 2450ef12..00000000 --- a/code/WebApp/vue/src/components/CreateCom/Xh-JS-Select-Label.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - diff --git a/code/WebApp/vue/src/components/CreateCom/Xh-JS-Select.vue b/code/WebApp/vue/src/components/CreateCom/Xh-JS-Select.vue index 852af765..4859217e 100644 --- a/code/WebApp/vue/src/components/CreateCom/Xh-JS-Select.vue +++ b/code/WebApp/vue/src/components/CreateCom/Xh-JS-Select.vue @@ -30,6 +30,7 @@ export default { data() { return { dataValue: "", + dataLable: "", }; }, created() {}, @@ -41,6 +42,7 @@ export default { } else { //加上默认初始值 this.dataValue = this.options[0].value; + //this.dataLable = this.options[0].label; } }, immediate: true, @@ -50,10 +52,11 @@ export default { methods: { // 输入的值 valueChange(val) { - /** 回调筛选数据 */ + /** 回调筛选数据 */- this.$emit("value-change", { index: this.index, value: val, + //label: this.dataLable, data: this.options, }); }, diff --git a/code/WebApp/vue/src/components/CreateCom/XhSwitch.rar b/code/WebApp/vue/src/components/CreateCom/XhSwitch.rar new file mode 100644 index 00000000..0b1891a5 Binary files /dev/null and b/code/WebApp/vue/src/components/CreateCom/XhSwitch.rar differ diff --git a/code/WebApp/vue/src/components/ImportExcel-benteng/index-1.vue b/code/WebApp/vue/src/components/ImportExcel-benteng/index-1.vue new file mode 100644 index 00000000..42f80eac --- /dev/null +++ b/code/WebApp/vue/src/components/ImportExcel-benteng/index-1.vue @@ -0,0 +1,752 @@ + + + + + + + diff --git a/code/WebApp/vue/src/components/ImportExcel-base/index.vue b/code/WebApp/vue/src/components/ImportExcel-benteng/index.vue similarity index 78% rename from code/WebApp/vue/src/components/ImportExcel-base/index.vue rename to code/WebApp/vue/src/components/ImportExcel-benteng/index.vue index f8468ed3..3547141e 100644 --- a/code/WebApp/vue/src/components/ImportExcel-base/index.vue +++ b/code/WebApp/vue/src/components/ImportExcel-benteng/index.vue @@ -42,7 +42,7 @@ @@ -53,6 +53,21 @@ :value="item.value" > + 选择工厂: + + +
@@ -93,10 +108,11 @@
+
{{ this.resultData.successMessage }} +
-
+
@@ -130,13 +151,6 @@ >{{ this.resultData.successMessage }}

-
@@ -195,8 +209,8 @@ export default { loading: false, fieldList: [], factoryList: [], //工厂列表 - YearMonthValue: "", //年度期间选择项 - yearMonthList: [], //年度期间 + FacotryValue: "", //年度期间选择项 + facotryList: [], //年度期间 versionValue: "", stateValue: "", config: 1, // 1 覆盖,2跳过 @@ -262,7 +276,7 @@ export default { logic: 0, column: "customerCode", action: 0, - value: "U22000", + value: "T51Z40", }, //默认查询可用的 ], SkipCount: 0, @@ -275,103 +289,69 @@ export default { sureTitle() { return { 1: "立即导入", - // 2: "导入中...", - // 3: "确定", - // 4: "确定", + 2: "取消导入", + 3: "确定", + 4: "确定", }[this.stepsActive]; }, showCancel() { return this.stepsActive == 1; }, getMoudleDisable() { - if (this.crmType == "prebatch") { - //只状态可用 - this.isEditYearMont = true; - this.isEditFactory = true; - this.isState = false; - } else { + if (this.crmType == "btcarconsign") { + //只版本可用 this.isEditYearMont = false; - this.isEditFactory = false; + this.isEditFactory = true; } }, crmTypeName() { return ( { - invoice: "大众发票汇总", - vWKanBan: "大众看板结算明细", - scrapClaims: "CP7报废和索赔", - sparePart: "大众备件结算明细", - hqHPlatform: "红旗H平台导入", - hqMPlatform: "红旗M平台导入", - bomdatabase: "产品结构BOM", - prebatch: "预批量", - secondaryPriceRatio: "二配结算价格比例", - factory: "工厂设置", - // materialRelation: "零件匹配关系", - carMaterialConfig: "车型代码与零件匹配", - materialRelationSupplier: "供应商零件设置表", - material: "物料主数据", - inventorydetail: "库存明细", - codeSetting: "通用代码设置", - estimatedSum: "应付暂估汇总", - estimatedInventoryDetail: "应付暂估收货明细", - customerStorageLocation: "客户存储地点", - secondaryAdjustment: "二配数量调整输入", - secondaryDiscount: "二配折扣调整输入", + btcarseq: "奔腾-轿车车序输入表", + btcarkb: "奔腾-轿车看板输入表", + btcarconsign: "奔腾-轿车结算数据输入表", }[this.crmType] || "" ); }, getWebApi() { - return ( - { - invoice: "/api/settleaccount/Invoices/ExcelImport", //大众发票导入 - vWKanBan: "/api/settleaccount/VWKanBan/ExcelImport", //大众看板结算明细导入 - scrapClaims: "/api/settleaccount/ScrapClaims/ExcelImport", //CP7报废和索赔导入 - sparePart: "/api/settleaccount/SparePart/ExcelImport", //大众备件结算明细导入 - hqHPlatform: "/api/settleaccount/HQHPlatform/ExcelImport", //红旗H平台导入 - hqMPlatform: "/api/settleaccount/HQMPlatform/ExcelImport", //红旗M平台导入 - bomdatabase: "/api/settleaccount/bom/ExcelImport", - prebatch: "/api/settleaccount/Prebatch/ExcelImport", - secondaryPriceRatio: - "/api/settleaccount/SecondaryPriceRatio/ExcelImport", - factory: "/api/settleaccount/Factory/ExcelImport", - // materialRelation: - // "/api/settleaccount/MaterialRelationshipDetail/ExcelImport-TH", - carMaterialConfig: "/api/settleaccount/CarMaterialConfig/ExcelImport", - materialRelationSupplier: - "/api/settleaccount/SupplierItemSetUp/ExcelImport", - material: "/api/settleaccount/Material/ExcelImport-TH", - 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", - secondaryDiscount: "/api/settleaccount/SecondaryDiscount/ExcelImport", - }[this.crmType] || "" - ); + if (this.crmType == "btcarconsign") { + return ( + { + btcarconsign: "/api/settleaccount/BTCarConsign/ExcelImport", + }[this.crmType] || "" + ); + } else { + if (this.FacotryValue === "T51Z40-A") { + //轿车一厂 + return ( + { + btcarseq: "/api/settleaccount/BTCarSeqFirst/ExcelImport", + btcarkb: "/api/settleaccount/BTCarKBFirst/ExcelImport", + }[this.crmType] || "" + ); + } else if (this.FacotryValue === "T51Z40-B") { + //轿车二厂 + return ( + { + btcarseq: "/api/settleaccount/BTCarSeqSecond/ExcelImport", + btcarkb: "/api/settleaccount/BTCarKBSecond/ExcelImport", + }[this.crmType] || "" + ); + } else { + //alert("请正确选择相关导入工厂!"); + this.$message({ + message: "请正确选择相关导入工厂!", + type: "warning", + }); + } + } }, getImportTemplate() { //模板名称 return ( { - invoice: "大众发票汇总导入.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", + btcarseq: "奔腾-轿车车序输入表.xlsx", + btcarkb: "奔腾-轿车看板输入表.xlsx", }[this.crmType] || "" ); }, @@ -386,6 +366,7 @@ export default { show: function (val) { this.stepsActive = 1; this.getAllYearMonth(); //加载版本 + this.getAllFactory(); //加载工厂 this.getMoudleDisable(); //判断设置条件是否可用 if (val) { this.stepsActive = 1; @@ -429,6 +410,8 @@ export default { mounted() {}, methods: { getAllYearMonth() { + //取版本列表信息 + // this.listQuery.SkipCount = (this.page - 1) * 500; this.$axios .posts("/api/settleaccount/CentralizedControl/openlist") .then((response) => { @@ -444,6 +427,24 @@ export default { this.listLoading = false; }); }, + getAllFactory() { + this.listQueryCustom.SkipCount = (this.page - 1) * 500; + this.$axios + .posts("/api/settleaccount/Factory/list", this.listQueryCustom) + .then((response) => { + //取工厂列表信息 + this.facotryList = []; + response.items.forEach((element) => { + let options = {}; + options.value = element.code; + options.label = element.desc; + this.facotryList.push(options); + }); + }) + .catch(() => { + this.listLoading = false; + }); + }, handleImportExcelClick() { //父组件中,初始化此子组件时调用 this.fileuploadList = []; @@ -488,6 +489,16 @@ export default { }, //执行按钮 sureClick() { + if ( + this.crmType == "btcarconsign" || + this.crmType == "btcarseq" || + this.crmType == "btcarkb" + ) { + if (this.versionValue == "") { + this.$message.error("必须选择版本!"); + return false; + } + } if ( this.fileuploadList === [] || JSON.stringify(this.fileuploadList) === "[]" @@ -495,12 +506,44 @@ export default { this.$message.error("请选择导入文件"); return false; } + if (this.stepsActive == 1) { if (this.stepList[0].status == "wait") { this.stepsActive = 2; - this.saveTemplateData(); this.activeName = "second"; - console.log(this.crmTypeName); + let alertInfo = ""; + if (this.crmType == "btcarconsign") { + this.saveTemplateData(); + } else { + if (this.FacotryValue === "T51Z40-A") { + alertInfo = "轿车一厂"; + } else if (this.FacotryValue === "T51Z40-B") { + alertInfo = "轿车二厂"; + } + this.$confirm( + "当前导入的数据是:" + alertInfo + "请确认?", + "提示", + { + confirmButtonText: "确认", + cancelButtonText: "取消", + type: "warning", + } + ) + .then(() => { + this.saveTemplateData(); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消删除", + }); + this.stepsActive = 1; + }); + } + + // setTimeout(() => { + // this.saveTemplateData(); + // }, 1000); if (this.stepList[1].status == "finish") { } } else { @@ -515,25 +558,31 @@ export default { saveTemplateData() { this.loading = true; - //保存项目、合同管理、客户等信息的共用方法 //--上传附件,批量或拖拽 if (JSON.stringify(this.fileuploadList) != "[]") { let fd = new FormData(); const { fileuploadList } = this; + let factorInfo = ""; + if (this.crmType == "btcarconsign") { + factorInfo = "bengtengjiesuan "; + } else { + factorInfo = this.FacotryValue; + } 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", "03"); - fd.append("factory", this.YearMonthValue); + fd.append("customerCode", factorInfo); + fd.append("factory", this.FacotryValue); fd.append("version", this.versionValue); const webapi = this.getWebApi; + console.log("奔腾轿车导入条件:" + JSON.stringify(webapi)); this.$axios .posts(webapi, fd) .then(async (res) => { - console.log("大众导入条件:" + JSON.stringify(res)); + console.log("奔腾导入条件:" + JSON.stringify(res)); if (res === "Success") { if (this.isLt2M === "1" && this.isFileType === "1") { this.$notify({ @@ -553,11 +602,7 @@ export default { this.resultData.successMessage = "数据导入失败!"; this.stepsActive = 3; } - console.log(this.stepsActive); this.$emit("status", "finish"); - // this.$nextTick(() => { - // this.loading = false; - // }); this.loading = false; }) .catch(() => { @@ -660,10 +705,6 @@ export default { transform: translateX(297px) !important; } } - -/deep/.el-tabs__item { - padding: 0 20px; -} .el-steps { margin-bottom: 15px; @@ -686,7 +727,7 @@ export default { } .step-section { - min-height: 250px; + min-height: 300px; /deep/ .el-loading-spinner { top: 45%; @@ -764,8 +805,8 @@ export default { text-align: center; .el-card { border: none; - height: 250px !important; } + //显示结果box的padding /deep/.el-card__body { padding: 60px 20px 20px 20px; } @@ -788,7 +829,7 @@ export default { } &__detail { - margin-top: 25px; + margin-top: 35px; font-size: 20px; color: #666; &--all { @@ -813,4 +854,7 @@ export default { font-size: 20px; } } - \ No newline at end of file + + + + diff --git a/code/WebApp/vue/src/components/ImportExcel-qad/index.vue b/code/WebApp/vue/src/components/ImportExcel-faw/index-1.vue similarity index 64% rename from code/WebApp/vue/src/components/ImportExcel-qad/index.vue rename to code/WebApp/vue/src/components/ImportExcel-faw/index-1.vue index aadf301c..246344e3 100644 --- a/code/WebApp/vue/src/components/ImportExcel-qad/index.vue +++ b/code/WebApp/vue/src/components/ImportExcel-faw/index-1.vue @@ -7,141 +7,138 @@ width="600px" @close="closeView" > - - -
-
-
-
- 一、导入说明: -
- 1、提供的导入模板需要.xlsx文件格式!不支持“.xls”文件,即不支持Excel97-2003! -
-
- 2、模板名称可以进行修改,但不要删除模板中设置的字段! -
-
- 3、导入文件大小请勿超过100MB!且目前只支持单个Sheet页签! -
-
+
+
+
+
+ 一、导入说明: +
+ 1、提供的导入模板需要.xlsx文件格式!不支持“.xls”文件,即不支持Excel97-2003!
-
-
- 二、导入条件设置(没有则不用设置) -
-
- 选择版本: - - - -
+
+ 2、模板名称可以进行修改,但不要删除模板中设置的字段!
-
-
三、请选择需要导入的文件
-
- - - -
- 将文件拖到此处,或 - 点击上传 -
-
-
-
+
+ 3、导入文件大小请勿超过100MB!且目前只支持单个Sheet页签!
- - -
-
-
- - -

- {{ this.resultData.successMessage }} - - 下载错误数据 -

-
+
+
二、导入条件设置(没有则不用设置)
+
+ 选择版本: + + + +
+
+
三、请选择需要导入的文件
+
+ + + +
+ 将文件拖到此处,或 + 点击上传 +
+
+
+
+
+
+ +
-
-
- - -

- {{ this.resultData.successMessage }} - -

- -
-
+ >{{ this.resultData.successMessage }} + +

+ + 下载错误数据 +
- - +
+ +
+
+ + +

+ 结果: + {{ this.resultData.successMessage }} + +

+
+
+
+
{ @@ -378,6 +375,24 @@ export default { this.listLoading = false; }); }, + getAllFactory() { + this.listQueryCustom.SkipCount = (this.page - 1) * 500; + this.$axios + .posts("/api/settleaccount/Factory/list", this.listQueryCustom) + .then((response) => { + //取工厂列表信息 + this.facotryList = []; + response.items.forEach((element) => { + let options = {}; + options.value = element.code; + options.label = element.desc; + this.facotryList.push(options); + }); + }) + .catch(() => { + this.listLoading = false; + }); + }, handleImportExcelClick() { //父组件中,初始化此子组件时调用 this.fileuploadList = []; @@ -429,12 +444,15 @@ export default { this.$message.error("请选择导入文件"); return false; } + 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 { @@ -449,7 +467,6 @@ export default { saveTemplateData() { this.loading = true; - //保存项目、合同管理、客户等信息的共用方法 //--上传附件,批量或拖拽 if (JSON.stringify(this.fileuploadList) != "[]") { let fd = new FormData(); @@ -457,13 +474,17 @@ 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", "V85Z27"); + fd.append("factory", "V85Z27"); fd.append("version", this.versionValue); const webapi = this.getWebApi; this.$axios .posts(webapi, fd) .then(async (res) => { - console.log("大众导入条件:" + JSON.stringify(res)); + console.log("解放导入条件:" + JSON.stringify(fd)); if (res === "Success") { if (this.isLt2M === "1" && this.isFileType === "1") { this.$notify({ @@ -483,7 +504,6 @@ export default { this.resultData.successMessage = "数据导入失败!"; this.stepsActive = 3; } - console.log(this.stepsActive); this.$emit("status", "finish"); // this.$nextTick(() => { // this.loading = false; @@ -491,10 +511,6 @@ export default { this.loading = false; }) .catch(() => { - this.stepList[1].status = "finish"; - this.resultData.errSize = 0; - this.resultData.successMessage = "导入模板有错误,请检查!"; - this.stepsActive = 3; this.loading = false; }); } else { @@ -546,54 +562,12 @@ export default { closeView() { this.$emit("update:show", false); this.$emit("close", this.stepsActive == 3 ? "finish" : ""); - this.activeName = "first"; - }, - handleClick(tab) { - // console.log(tab.index) - // console.log(tab.name) - if (tab.name == "first") { - // console.log(tab.name) - this.fileuploadList = []; - this.stepsActive = 1; - } }, }, }; \ No newline at end of file + + + + diff --git a/code/WebApp/vue/src/components/ImportExcel-expend/index.vue b/code/WebApp/vue/src/components/ImportExcel-faw/index.vue similarity index 87% rename from code/WebApp/vue/src/components/ImportExcel-expend/index.vue rename to code/WebApp/vue/src/components/ImportExcel-faw/index.vue index 9902e657..a06cb2de 100644 --- a/code/WebApp/vue/src/components/ImportExcel-expend/index.vue +++ b/code/WebApp/vue/src/components/ImportExcel-faw/index.vue @@ -53,6 +53,21 @@ :value="item.value" > +
@@ -93,10 +108,11 @@
+
-
+
@@ -130,13 +150,6 @@ >{{ this.resultData.successMessage }}

-
@@ -195,8 +208,8 @@ export default { loading: false, fieldList: [], factoryList: [], //工厂列表 - YearMonthValue: "", //年度期间选择项 - yearMonthList: [], //年度期间 + FacotryValue: "", //年度期间选择项 + facotryList: [], //年度期间 versionValue: "", stateValue: "", config: 1, // 1 覆盖,2跳过 @@ -262,7 +275,7 @@ export default { logic: 0, column: "customerCode", action: 0, - value: "U22000", + value: "T51Z59", }, //默认查询可用的 ], SkipCount: 0, @@ -275,37 +288,28 @@ export default { sureTitle() { return { 1: "立即导入", - // 2: "导入中...", - // 3: "确定", - // 4: "确定", + 2: "取消导入", + 3: "确定", + 4: "确定", }[this.stepsActive]; }, showCancel() { return this.stepsActive == 1; }, - getMoudleDisable() { - if (this.crmType == "prebatch") { - //只状态可用 - this.isEditYearMont = true; - this.isEditFactory = true; - this.isState = false; - } else { - this.isEditYearMont = false; - this.isEditFactory = false; - } - }, crmTypeName() { return ( { - settlementCrossReference: "结算件对照关系", + jfcarkb: "解放-看板输入表", + jfcarconsign: "解放-结算数据输入表", }[this.crmType] || "" ); }, getWebApi() { return ( { - settlementCrossReference: - "/api/settleaccount/SettlementCrossReference/ExcelImport", + //解放汽车 + jfcarkb: "/api/settleaccount/JFCarKB/ExcelImport", + jfcarconsign: "/api/settleaccount/JFCarConsign/ExcelImport", }[this.crmType] || "" ); }, @@ -313,7 +317,8 @@ export default { //模板名称 return ( { - settlementCrossReference: "结算件对照关系.xlsx", + btcarseq: "解放-看板输入表.xlsx", + btcarkb: "解放-结算数据输入表.xlsx", }[this.crmType] || "" ); }, @@ -328,7 +333,7 @@ export default { show: function (val) { this.stepsActive = 1; this.getAllYearMonth(); //加载版本 - this.getMoudleDisable(); //判断设置条件是否可用 + this.getAllFactory(); //加载工厂 if (val) { this.stepsActive = 1; } else { @@ -371,6 +376,8 @@ export default { mounted() {}, methods: { getAllYearMonth() { + //取版本列表信息 + // this.listQuery.SkipCount = (this.page - 1) * 500; this.$axios .posts("/api/settleaccount/CentralizedControl/openlist") .then((response) => { @@ -386,6 +393,24 @@ export default { this.listLoading = false; }); }, + getAllFactory() { + this.listQueryCustom.SkipCount = (this.page - 1) * 500; + this.$axios + .posts("/api/settleaccount/Factory/list", this.listQueryCustom) + .then((response) => { + //取工厂列表信息 + this.facotryList = []; + response.items.forEach((element) => { + let options = {}; + options.value = element.code; + options.label = element.desc; + this.facotryList.push(options); + }); + }) + .catch(() => { + this.listLoading = false; + }); + }, handleImportExcelClick() { //父组件中,初始化此子组件时调用 this.fileuploadList = []; @@ -400,28 +425,15 @@ export default { }, beforeAvatarUpload(file) { var FileExt = file.name.replace(/.+\./, ""); - // if (["xlsx"].indexOf(FileExt.toLowerCase()) === -1) { - // this.$message({ - // type: "warning", - // message: "只支持xlsx类型文件!", - // }); - // this.isFileType = "0"; - // return false; - // } else { - // this.isFileType = "1"; - // } - if ( - ["xlsx"].indexOf(FileExt.toLowerCase()) === 0 || - ["csv"].indexOf(FileExt.toLowerCase()) === 0 - ) { - this.isFileType = "1"; - } else { + if (["xlsx"].indexOf(FileExt.toLowerCase()) === -1) { this.$message({ type: "warning", message: "只支持xlsx类型文件!", }); this.isFileType = "0"; return false; + } else { + this.isFileType = "1"; } this.isLt2M = file.size / 1024 / 1024 < 100 ? "1" : "0"; if (this.isLt2M === "0") { @@ -443,6 +455,15 @@ export default { }, //执行按钮 sureClick() { + if ( + this.crmType == "jfcarconsign" || + this.crmType == "jfcarkb" + ) { + if (this.versionValue == "") { + this.$message.error("必须选择版本!"); + return false; + } + } if ( this.fileuploadList === [] || JSON.stringify(this.fileuploadList) === "[]" @@ -450,12 +471,15 @@ export default { this.$message.error("请选择导入文件"); return false; } + 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 { @@ -470,7 +494,6 @@ export default { saveTemplateData() { this.loading = true; - //保存项目、合同管理、客户等信息的共用方法 //--上传附件,批量或拖拽 if (JSON.stringify(this.fileuploadList) != "[]") { let fd = new FormData(); @@ -481,14 +504,14 @@ export default { fd.append("branchId", "3FA85F64-5717-4562-B3FC-2C963F66AFA6"); fd.append("year", "2021"); fd.append("period", "03"); - fd.append("customerCode", "03"); - fd.append("factory", this.YearMonthValue); + fd.append("customerCode", "V85Z27"); + fd.append("factory", "V85Z27"); fd.append("version", this.versionValue); const webapi = this.getWebApi; this.$axios .posts(webapi, fd) .then(async (res) => { - console.log("大众导入条件:" + JSON.stringify(res)); + console.log("解放导入条件:" + JSON.stringify(fd)); if (res === "Success") { if (this.isLt2M === "1" && this.isFileType === "1") { this.$notify({ @@ -508,7 +531,6 @@ export default { this.resultData.successMessage = "数据导入失败!"; this.stepsActive = 3; } - console.log(this.stepsActive); this.$emit("status", "finish"); // this.$nextTick(() => { // this.loading = false; @@ -615,10 +637,6 @@ export default { transform: translateX(297px) !important; } } - -/deep/.el-tabs__item { - padding: 0 20px; -} .el-steps { margin-bottom: 15px; @@ -641,7 +659,7 @@ export default { } .step-section { - min-height: 250px; + min-height: 300px; /deep/ .el-loading-spinner { top: 45%; @@ -717,10 +735,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; } @@ -743,7 +762,7 @@ export default { } &__detail { - margin-top: 25px; + margin-top: 35px; font-size: 20px; color: #666; &--all { @@ -768,4 +787,7 @@ export default { font-size: 20px; } } - \ No newline at end of file + + + + diff --git a/code/WebApp/vue/src/components/ImportExcel-invoice/index.vue b/code/WebApp/vue/src/components/ImportExcel-hq/index-1.vue similarity index 60% rename from code/WebApp/vue/src/components/ImportExcel-invoice/index.vue rename to code/WebApp/vue/src/components/ImportExcel-hq/index-1.vue index f82f1465..1f0e02e0 100644 --- a/code/WebApp/vue/src/components/ImportExcel-invoice/index.vue +++ b/code/WebApp/vue/src/components/ImportExcel-hq/index-1.vue @@ -7,143 +7,130 @@ width="600px" @close="closeView" > - - -
-
-
-
- 一、导入说明: -
- 1、提供的导入模板不支持“.xls”文件,即不支持Excel97-2003! -
-
- 2、模板名称可以进行修改,但不要删除模板中设置的字段! -
-
- 3、导入文件大小请勿超过100MB!且目前只支持单个Sheet页签! -
-
+
+
+
+
+ 一、导入说明: +
+ 1、提供的导入模板需要.xlsx文件格式!不支持“.xls”文件,即不支持Excel97-2003!
-
-
- 二、导入条件设置(没有则不用设置) -
-
- 选择版本: - - - -
+
+ 2、模板名称可以进行修改,但不要删除模板中设置的字段!
-
-
三、请选择需要导入的文件
-
- - - -
- 将文件拖到此处,或 - 点击上传 -
-
-
-
+
+ 3、导入文件大小请勿超过100MB!且目前只支持单个Sheet页签!
- - -
-
-
- - -

- {{ this.resultData.successMessage }} - - 下载错误数据 -

-
+
+
二、导入条件设置(没有则不用设置)
+
+ 选择版本: + + +
- -
-
- - -

- {{ this.resultData.successMessage }} - -

-

- [单击跳转至后台监控界面] -

-
+
+
三、请选择需要导入的文件
+
+ + + +
+ 将文件拖到此处,或 + 点击上传 +
+
+
- - +
+ +
+ +
+
+ + +

+ 结果: + {{ this.resultData.successMessage }} + +

+ + 下载错误数据 +
+
+
+ +
+
+ + +

+ 结果: + {{ this.resultData.successMessage }} + +

+ +
+
+
+
{ + // 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) => { @@ -413,6 +428,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 = []; @@ -457,6 +490,10 @@ export default { }, //执行按钮 sureClick() { + if(this.versionValue===""){ + this.$message.error("请选择版本"); + return false; + } if ( this.fileuploadList === [] || JSON.stringify(this.fileuploadList) === "[]" @@ -468,8 +505,9 @@ export default { 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 { @@ -495,49 +533,33 @@ export default { fd.append("branchId", "3FA85F64-5717-4562-B3FC-2C963F66AFA6"); fd.append("year", "2021"); fd.append("period", "03"); - //fd.append("customerCode", "03"); - //fd.append("factory", "TH"); + 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; @@ -545,10 +567,6 @@ export default { this.loading = false; }) .catch(() => { - this.stepList[1].status = "finish"; - this.resultData.errSize = 0; - this.resultData.successMessage = "导入模板有错误,请检查!"; - this.stepsActive = 3; this.loading = false; }); } else { @@ -559,10 +577,6 @@ export default { }); } }, - goTo() { - //直接跳转 - this.$router.push("/views/ux/backGroundWork"); - }, /** * 下载错误模板 @@ -604,54 +618,12 @@ export default { closeView() { this.$emit("update:show", false); this.$emit("close", this.stepsActive == 3 ? "finish" : ""); - this.activeName = "first"; - }, - handleClick(tab) { - // console.log(tab.index) - // console.log(tab.name) - if (tab.name == "first") { - // console.log(tab.name) - this.fileuploadList = []; - this.stepsActive = 1; - } }, }, }; \ No newline at end of file + + + + + + + + diff --git a/code/WebApp/vue/src/components/ImportExcel-hq/index.vue b/code/WebApp/vue/src/components/ImportExcel-hq/index.vue index 0103a93a..4a1ac7cb 100644 --- a/code/WebApp/vue/src/components/ImportExcel-hq/index.vue +++ b/code/WebApp/vue/src/components/ImportExcel-hq/index.vue @@ -53,16 +53,6 @@ :value="item.value" > - 适合功能: - - - -
@@ -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 @@ + + + + + + + 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 @@ + + + + + + + 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 @@ + + + + + + + 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/views/PersonCenter/index.vue b/code/WebApp/vue/src/views/PersonCenter/index.vue index 8e31c99f..765aab51 100644 --- a/code/WebApp/vue/src/views/PersonCenter/index.vue +++ b/code/WebApp/vue/src/views/PersonCenter/index.vue @@ -101,11 +101,11 @@ export default { showEditPassword: false, list: [ { name: '姓名', props: 'realname' }, - { name: '性别', props: 'sex' }, + { name: '电话', props: 'phonenumber' }, { name: '登录名', props: 'username' }, { name: '邮箱', props: 'email' }, - { name: '部门', props: 'deptName' }, - { name: '岗位', props: 'post' }, + // { name: '部门', props: 'deptName' }, + // { name: '岗位', props: 'post' }, // { name: '直属上级', props: 'parentName' } ] } diff --git a/code/WebApp/vue/src/views/SystemOrgUserRole/index.vue b/code/WebApp/vue/src/views/SystemOrgUserRole/index.vue index 37eade5b..e644cb57 100644 --- a/code/WebApp/vue/src/views/SystemOrgUserRole/index.vue +++ b/code/WebApp/vue/src/views/SystemOrgUserRole/index.vue @@ -246,9 +246,14 @@ this.getList(); }, methods: { - getList() { + getList(data) { this.listLoading = true; - this.listQuery.SkipCount = (this.page - 1) * 10; + // this.listQuery.SkipCount = (this.page - 1) * 10; + if (data != undefined) { + this.listQuery.SkipCount = (this.page - 1) * data.limit; + } else { + this.listQuery.SkipCount = (this.page - 1) * 15; + } this.$axios .gets("/api/base/userOrgRole/all", this.listQuery) .then(response => { diff --git a/code/WebApp/vue/src/views/SystemOrgUserRole/model/CrmRelativeProduct.vue b/code/WebApp/vue/src/views/SystemOrgUserRole/model/CrmRelativeProduct.vue index 685860f1..09a758b1 100644 --- a/code/WebApp/vue/src/views/SystemOrgUserRole/model/CrmRelativeProduct.vue +++ b/code/WebApp/vue/src/views/SystemOrgUserRole/model/CrmRelativeProduct.vue @@ -6,11 +6,13 @@ v-model="listQuery.Filter" placeholder="按名称搜索..." @keyup.enter.native="handleFilter" - class="search-container"> + class="search-container" + > + @click.native="handleFilter" + /> + @row-click="handleRowClick" + > + width="55" + /> - + show-overflow-tooltip + /> +
取消 - 确定 - + 确定
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 @@
-
- 库存总数 -
- +
库存总数
+
@@ -20,10 +23,13 @@
-
- 暂估汇总 -
- +
暂估汇总
+
@@ -37,10 +43,13 @@
-
- 合同金额/元 -
- +
合同金额/元
+
@@ -50,10 +59,13 @@
-
- 待开票/元 -
- +
待开票/元
+
@@ -66,10 +78,13 @@
-
- 待回款/元 -
- +
待回款/元
+
@@ -77,271 +92,288 @@ diff --git a/code/WebApp/vue/src/views/employee/index.vue b/code/WebApp/vue/src/views/employee/index.vue index 5d081c8c..3f85c08b 100644 --- a/code/WebApp/vue/src/views/employee/index.vue +++ b/code/WebApp/vue/src/views/employee/index.vue @@ -21,7 +21,7 @@ :expand-on-click-node="false" lazy @node-click="handleNodeClick" - style="margin-top:15px" + style="margin-top: 15px" /> @@ -32,7 +32,7 @@ clearable size="small" placeholder="搜索..." - style="width: 200px;" + style="width: 200px" class="filter-item" @keyup.enter.native="handleFilter" /> @@ -42,8 +42,9 @@ type="success" icon="el-icon-search" @click="handleFilter" - >搜索 -
+ >搜索 +
新增 + >新增 修改 + >修改 删除 + >删除
@@ -113,7 +117,12 @@ v-model="form.jobs" placeholder="选择岗位" > - + @@ -121,9 +130,13 @@ v-model="form.userIdToName" readonly placeholder="请选择" - style="width: 184px;" + style="width: 184px" > - + @@ -132,7 +145,7 @@ - + 启用 禁用 @@ -141,7 +154,13 @@ @@ -157,7 +176,7 @@ size="small" v-model="listQuery.Filter" placeholder="搜索..." - style="width: 200px;" + style="width: 200px" class="filter-item" @keyup.enter.native="userHandleFilter" /> @@ -167,7 +186,8 @@ type="primary" icon="el-icon-search" @click="userHandleFilter" - >搜索 + >搜索
- -