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: {