From a832835a35ce95948a05ade0951ebc5d82b31792 Mon Sep 17 00:00:00 2001 From: leo <10200039@qq.com> Date: Sat, 15 Apr 2023 22:33:47 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E5=88=86=E7=B1=BB=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 5 + src/api/api/user.ts | 16 + src/views/Need/all.vue | 9 +- src/views/Need/components/EditType.vue | 390 ------------------ src/views/Need/components/EditView.vue | 86 +++- .../Need/components/FreezingColumnSetting.vue | 16 + src/views/Order/components/ShowMaterial.vue | 4 +- src/views/System/role.vue | 2 +- 8 files changed, 117 insertions(+), 411 deletions(-) delete mode 100644 src/views/Need/components/EditType.vue diff --git a/components.d.ts b/components.d.ts index 9368a18..f0ddcc2 100644 --- a/components.d.ts +++ b/components.d.ts @@ -33,6 +33,8 @@ declare module '@vue/runtime-core' { LayLogo: typeof import('@layui/layui-vue')['LayLogo'] LayMenu: typeof import('@layui/layui-vue')['LayMenu'] LayMenuItem: typeof import('@layui/layui-vue')['LayMenuItem'] + LayProgress: typeof import('@layui/layui-vue')['LayProgress'] + LayQuote: typeof import('@layui/layui-vue')['LayQuote'] LayRadio: typeof import('@layui/layui-vue')['LayRadio'] LayRow: typeof import('@layui/layui-vue')['LayRow'] LayScroll: typeof import('@layui/layui-vue')['LayScroll'] @@ -44,6 +46,9 @@ declare module '@vue/runtime-core' { LayTab: typeof import('@layui/layui-vue')['LayTab'] LayTabItem: typeof import('@layui/layui-vue')['LayTabItem'] LayTable: typeof import('@layui/layui-vue')['LayTable'] + LayTextarea: typeof import('@layui/layui-vue')['LayTextarea'] + LayTooltip: typeof import('@layui/layui-vue')['LayTooltip'] + LayUpload: typeof import('@layui/layui-vue')['LayUpload'] LightIcon: typeof import('./src/components/LightIcon.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] diff --git a/src/api/api/user.ts b/src/api/api/user.ts index f5fac7c..1000018 100644 --- a/src/api/api/user.ts +++ b/src/api/api/user.ts @@ -131,4 +131,20 @@ export async function GetPowerList() { return result; } +export async function GetFreezingColumns() { + let result=""; + await http.post('/api/User/GetFreezingColumns').then((data)=>{ + result=data.Data; + }) + return result; +} + +export async function EditFreezingColumns(freezingColumns) { + let result=""; + await http.post('/api/User/EditFreezingColumns?freezingColumns='+freezingColumns, {}).then((data)=>{ + result=data.Data; + }) + return result; +} + diff --git a/src/views/Need/all.vue b/src/views/Need/all.vue index 64cdb57..e18ebb7 100644 --- a/src/views/Need/all.vue +++ b/src/views/Need/all.vue @@ -72,9 +72,6 @@ - - - @@ -95,7 +92,6 @@ import AddTerm from '../Team/components/AddTerm.vue'; import BOMDownload from "./components/BOMDownload.vue"; import EditView from "./components/EditView.vue"; - import EditType from "./components/EditType.vue"; import AddPackage from "./components/AddPackage.vue"; import SureView from "./components/SureView.vue"; import EditGroup from "./components/EditGroup.vue"; @@ -111,7 +107,6 @@ AddTerm, BOMDownload, EditView, - EditType, AddPackage, SureView, EditGroup, @@ -345,8 +340,8 @@ } else if (data.FType == 14) { data.FBoxType = 8; //补充包材规格 } else if (data.FType == 15) { - data.FBoxType = 9; //物料选择类型 - }else if(data.FType==16){ + data.FBoxType = 3; //物料选择类型 + } else if(data.FType==16){ this.dataItem=data; data.FBoxType = 10; //替代料确认 }else { diff --git a/src/views/Need/components/EditType.vue b/src/views/Need/components/EditType.vue deleted file mode 100644 index cd79521..0000000 --- a/src/views/Need/components/EditType.vue +++ /dev/null @@ -1,390 +0,0 @@ - - - - diff --git a/src/views/Need/components/EditView.vue b/src/views/Need/components/EditView.vue index 1fad505..04fb0ac 100644 --- a/src/views/Need/components/EditView.vue +++ b/src/views/Need/components/EditView.vue @@ -97,7 +97,8 @@ import { updateBatchById2 } from "/src/api/api/view"; import { - getBasicRoleList + getBasicRoleList, + GetFreezingColumns } from "/src/api/api/user"; import { getDataCode, @@ -186,7 +187,7 @@ export default { async getUserPower() { if (this.dataInfoObj.FCanEdit != 2) { this.userPower[0] = (await getBasicRoleList({ - FRoleType: 40, + FRoleType: 84, FViewType: this.dataInfoObj.FViewType }) || []).map(it => parseInt(it.F2)) this.userPower[1] = (await getBasicRoleList({ @@ -201,7 +202,8 @@ export default { teamId: this.dataInfoObj.FTeamID, viewType: this.dataInfoObj.FViewType }); - if (this.dataInfoObj.FViewType == 1) { + console.log('_data', _data); + if (this.dataInfoObj.FViewType == 1 || this.dataInfoObj.FViewType == 10) { this.inputCodeValue = _data.rows[0].HalfCode; this.inputDescValue = _data.rows[0].HalfDesc; this.isShow = true; @@ -212,8 +214,8 @@ export default { this.typeList[0] = _data.types.filter(s => s.FDepth == 1) || []; this.typeList[1] = _data.types.filter(s => s.FDepth != 1) || []; let dataColumn = _data.columns || []; + let editColumn = dataColumn.filter(it => { - let b = false; if (this.dataInfoObj.FCanEdit != 2) { if (it.fieldType == 7) b = this.userPower[1].indexOf(it.id) >= 0; @@ -225,6 +227,7 @@ export default { } return b; }); + if (editColumn.length > 0) { if (this.selectDataMap == null) { let dataTypeIds = editColumn.filter(it => { @@ -249,7 +252,6 @@ export default { } let columnsList = []; let col7 = dataColumn.filter(s => s.fieldType == 7) || []; - debugger _data.rows.forEach((item, i) => { @@ -295,18 +297,35 @@ export default { let saveId = this.dataInfoObj.FViewType + "_" + this.dataInfoObj.FID; localStorage.setItem('EditView' + saveId, JSON.stringify(_data.rows)); - - + console.log('editColumn', editColumn); this.editColumn = editColumn; this.dataList = _data.rows; this.dataColumn = dataColumn; this.originalColumns = this.deepCopy(dataColumn); - debugger + this.getFreezingColumns(); setTimeout(function () { layer.close(idx); }, 500); }, + async getFreezingColumns() { + let result = await GetFreezingColumns(); + let freezingColumns = result.FFreezingColumns + + if (freezingColumns) { + let c_list = freezingColumns.split(",") + c_list.forEach(c => { + if(c && c.length > 0) { + this.freezingColumnSetting.push(c) + } + }) + } + + if (this.freezingColumnSetting && this.freezingColumnSetting.length > 0) { + this.dataColumn = ref([]); + this.setFreezingColumns(); + } + }, cancelClick(isRefresh) { isRefresh = isRefresh == undefined ? false : isRefresh; this.$emit('cancelClick', isRefresh); @@ -323,14 +342,38 @@ export default { if (result != null && result.FID) { let col7 = this.dataColumn.filter(s => s.fieldType == 7) || []; + console.log('this.typeList[0]', this.typeList[0].filter(t => t.FValue == data.FTypeID1)[0]); col7.forEach((item) => { if (item.table == "TFS_MaterialInfo") { data[item.key] = result[item.key] || data[item.key] || ""; } }); + console.log('data.FTypeID1', data.FTypeID1); + + let type1 = this.typeList[0].filter(t => t.FValue == data.FTypeID1)[0]; + let typeName = type1.FName; + + if (typeName.indexOf("半成品") > 0) { + data.FViewType = 2 + } + + if (typeName.indexOf("中间品") > 0) { + data.FViewType = 3 + } + + if (typeName.indexOf("香基") > 0) { + data.FViewType = 4 + } + + if (typeName.indexOf("原料类") > 0) { + data.FViewType = 5 + } + + if (typeName.indexOf("成品") > 0) { + data.FViewType = 1 + } this.dataColumn.map(function (item) { - debugger let str = result[item.key + "Type"]; if (typeof (str) != "undefined") { @@ -373,12 +416,26 @@ export default { }; let saveId = this.dataInfoObj.FViewType + "_" + this.dataInfoObj.FID; let cacheDataList = JSON.parse(localStorage.getItem('EditView' + saveId)); + console.log('cacheDataList', cacheDataList); this.dataList.forEach((row, index) => { let cache = cacheDataList[index]; let dataObj = {}; + console.log('this.editColumn', this.editColumn); for (let col of this.editColumn) { let valTemp = row[col.key]; - if (valTemp != cache[col.key]) { + if (this.dataInfoObj.FViewType == 10) { + if (!dataObj[col.table]) { + dataObj[col.table] = {}; + dataObj[col.table].FMaterialID = row["FMaterialID"]; + } + dataObj[col.table][col.key] = valTemp; + if (col.key == "FTypeID1" || col.key == "FTypeID2") { + let temps = this.typeList[col.key == "FTypeID1" ? 0 : 1] || []; + let temp = temps.find(s => s.FID == valTemp) || null; + valTemp = temp == null ? "" : temp.FName; + } + updateObj.LogList.push(col.title + ":" + (valTemp == "" ? "删除" : valTemp)); + } else if (valTemp != cache[col.key]) { if (!dataObj[col.table]) { dataObj[col.table] = {}; dataObj[col.table].FMaterialID = row["FMaterialID"]; @@ -392,6 +449,9 @@ export default { updateObj.LogList.push(col.title + ":" + (valTemp == "" ? "删除" : valTemp)); } } + + console.log('dataObj', dataObj); + for (let key in dataObj) { if (!updateObj[key]) updateObj[key] = []; updateObj[key].push(dataObj[key]); @@ -401,6 +461,8 @@ export default { if (updateLog != "") { delete updateObj.LogList // 发送保存请求 + debugger + console.log('updateObj', updateObj); let _result = await updateBatchById2(updateObj); if (_result.Code === 200) { await commonSave({ @@ -443,9 +505,11 @@ export default { }) this.dataColumn = freezingColumns.concat(this.tmpDataColumn); + } else { - this.dataColumn = this.tmpDataColumn; + this.dataColumn = this.tmpDataColumn; } + this.$nextTick(); }, setFreezingColumnsSetting(fcs) { this.freezingColumnSetting = fcs; diff --git a/src/views/Need/components/FreezingColumnSetting.vue b/src/views/Need/components/FreezingColumnSetting.vue index aa9b050..13b00c7 100644 --- a/src/views/Need/components/FreezingColumnSetting.vue +++ b/src/views/Need/components/FreezingColumnSetting.vue @@ -21,6 +21,9 @@ import { ref } from 'vue'; + import { + EditFreezingColumns + } from "/src/api/api/user"; export default { setup() { const columnList = ref([]); @@ -53,7 +56,20 @@ this.$emit('cancelClick', this.freezingColumns); }, submitClick() { + this.editFreezingColumns(); this.$emit('cancelClick', this.checkedItem); + }, + async editFreezingColumns() { + var checkedItemsStr = ""; + if (this.checkedItem && this.checkedItem.length > 0) { + this.checkedItem.forEach((item) => { + checkedItemsStr = checkedItemsStr + "," + item; + }) + } + + if (checkedItemsStr) { + let result = await EditFreezingColumns(checkedItemsStr); + } } } } diff --git a/src/views/Order/components/ShowMaterial.vue b/src/views/Order/components/ShowMaterial.vue index e157e2c..209f4ed 100644 --- a/src/views/Order/components/ShowMaterial.vue +++ b/src/views/Order/components/ShowMaterial.vue @@ -139,7 +139,7 @@ export default { }); } }); - debugger + this.dataColumn = dataColumn; let result2 = await getPageList({ FPageSize: 99, @@ -155,7 +155,7 @@ export default { this.dataList = result2.Data.List.map(function(item){ item["FTypeName1"]=materialType.Data.List.find(m=>m.FID==item.FTypeID1)?materialType.Data.List.find(m=>m.FID==item.FTypeID1).FName:""; item["FTypeName2"]=materialType.Data.List.find(m=>m.FID==item.FTypeID2)?materialType.Data.List.find(m=>m.FID==item.FTypeID2).FName:""; - debugger + item.FType=materialType.Data.List.find(m=>m.FID==item.FType)?materialType.Data.List.find(m=>m.FID==item.FType).FName:""; item["FSAPCode"]=item.FCode; item["FSAPDescription"]=item.FName; diff --git a/src/views/System/role.vue b/src/views/System/role.vue index 6d6d87e..cdce1ba 100644 --- a/src/views/System/role.vue +++ b/src/views/System/role.vue @@ -62,7 +62,7 @@ deleteRoleModel } from "/src/api/api/user"; import EditRole from './components/EditRole.vue'; - import PowerRole from './components/PowerRole2.vue'; + import PowerRole from './components/PowerRole.vue'; import '@layui/layui-vue/es/checkbox/index.css'; export default { components: {