commit by yzf

master
Yang 3 years ago
parent ee9adff01e
commit cf5c8082c7

@ -0,0 +1,95 @@
<template>
<lay-container>
<div class="info">
<h3 class="title">新销售号{{dataInfoObj.FSaleCode}}</h3>
<h3 class="title">配方选择{{dataInfoObj.FFormulaName}}</h3>
<h3 class="title">任务来源{{dataInfoObj.FDesc}}</h3>
<lay-button v-if="dataInfoObj.FCanEdit!=2" type="primary" style="margin-top: 20px" :disabled="isDisabled"
@click="_downloadBOM">下载BOM清单</lay-button>
</div>
<OperateLog v-if="editDataInfo.FTeamID" ref="OperateLog" :dataInfoObj="editDataInfo"></OperateLog>
</lay-container>
</template>
<style scoped>
.info {
width: 100%;
text-align: center;
margin: 40px auto 0;
}
.title {
font-weight: bold;
margin-top: 10px;
}
.empty-small2 {
margin: 0 auto 20px;
display: block;
}
</style>
<script>
import {
ref
} from 'vue';
import {
getPageList
} from "/src/api/api/common";
import {
downloadBOM
} from "/src/api/api/halfmaterialteamwork";
import OperateLog from "./OperateLog.vue";
export default {
components: {
OperateLog
},
setup() {
const editDataInfo = ref({});
const isDisabled = ref(false);
return {
editDataInfo,
isDisabled
}
},
props: {
dataInfoObj: {
type: Object,
default: () => {},
}
},
mounted() {
this.editDataInfo = JSON.parse(JSON.stringify(this.dataInfoObj));
console.log(this.editDataInfo)
},
methods: {
cancelClick(isRefresh) {
this.$emit('cancelClick', isRefresh !== undefined ? isRefresh : false);
},
//
dateFormat(dataStr) {
return dataStr.replace('T', ' ').split('.')[0];
},
async _downloadBOM() {
let layerId = layer.load(3);
let result = await downloadBOM(this.dataInfoObj.FTeamID);
layer.close(layerId);
if (result['Code'] === 200) {
if (result['Data'] > 0) {
layer.msg('下载成功', {
icon: 1,
time: 3000
});
this.isDisabled = true;
this.cancelClick(true)
} else {
layer.msg('BOM下载失败请稍后重试', {
icon: 2,
time: 3000
});
this.$refs.OperateLog._getPageList();
}
}
}
}
}
</script>

@ -2,13 +2,13 @@
<lay-form :model="dataInfo" class="dataInfo">
<lay-form-item label="原配方" label-width="120" prop="formula1Name" required :initValidate="false">
<lay-input v-model="formula1Name" style="width:calc(100% - 76px);margin-right:10px" disabled="true"></lay-input>
<lay-button type="normal" @click="selectMaterial(1)" >
<lay-button type="normal" @click="selectMaterial(1)">
</lay-button>
<p class="note">配方号+版本号+描述</p>
</lay-form-item>
<lay-form-item label="变更后的配方" label-width="120" prop="formula2Name" required :initValidate="false">
<lay-input v-model="formula2Name" style="width:calc(100% - 76px);margin-right:10px" disabled="true"></lay-input>
<lay-button type="normal" @click="selectMaterial(2)" >
<lay-button type="normal" @click="selectMaterial(2)">
</lay-button>
<p class="note">配方号+版本号+描述</p>
</lay-form-item>
@ -121,9 +121,9 @@ import {
import {
getFormulaList
} from '/src/api/api/formula';
import{
import {
InsertDataModel
} from'/src/api/api/halfmaterialteamwork'
} from '/src/api/api/halfmaterialteamwork'
export default {
components: {
MaterialSelect
@ -165,7 +165,7 @@ export default {
dataColumn.forEach((item) => {
item.align = "center";
});
const dataType=ref("");
const dataType = ref("");
const pageInfo = ref({
total: 0,
limit: 5,
@ -189,10 +189,10 @@ export default {
const factoryLists = ref([]);
const factoryValue = ref(null);
const formula1 = ref(-1);
const formula1Name=ref("");
const formula1Name = ref("");
const formula2 = ref(-1);
const formula2Name = ref("");
const factoryID=ref("");
const factoryID = ref("");
return {
dataInfo,
formulaList,
@ -283,22 +283,22 @@ export default {
this._getPageList();
},
selectMaterial(str) {
this.dataType=str;
this.dataType = str;
this.showEditBox = true;
this.editDataInfo.FName = "";
},
_getSeachData(data){
_getSeachData(data) {
debugger
if(this.dataType==1){
this.formula1=data.FTestCode;
this.formula1Name=data.FName;
if (this.dataType == 1) {
this.formula1 = data.FTestCode;
this.formula1Name = data.FName;
this._getPageList(true);
}else{
this.formula2=data.FTestCode;
this.formula2Name=data.FName;
} else {
this.formula2 = data.FTestCode;
this.formula2Name = data.FName;
}
this.showEditBox=false;
this.showEditBox = false;
},
//
async _getPageList(isFirst) {
@ -316,27 +316,47 @@ export default {
postData.Or_FPlmCode = postData.Or_FTestCode = postData.Or_FName = postData.Or_FVersionCode =
search;
}
let result = await getPageList(postData, "Material");
result.Data.List = result.Data.List || [];
result.Data.List.forEach((item) => {
let type = this.typeList.find(s => s.FValue == item.FType);
item.FTypeName = type == null ? item.FType : type.FName;
if (this.dataInfo.FFormulaID == item.FID) this.selectedKey = item.FID
});
debugger
this.pageInfo.total = result.Data.Total || 0;
this.dataList = result.Data.List;
if (this.formula1Name != "") {
let result = await getPageList(postData, "Material");
result.Data.List = result.Data.List || [];
result.Data.List.forEach((item) => {
let type = this.typeList.find(s => s.FValue == item.FType);
item.FTypeName = type == null ? item.FType : type.FName;
if (this.dataInfo.FFormulaID == item.FID) this.selectedKey = item.FID
});
debugger
this.pageInfo.total = result.Data.Total || 0;
this.dataList = result.Data.List;
}
},
//-
async submitClick(isCreate) {
let postData = {"FTestCode":this.formula1,"FNewTestCode":this.formula2,"FCreateFactoryID":this.factoryID};
let postData = { "FTestCode": this.formula1, "FNewTestCode": this.formula2, "FCreateFactoryID": this.factoryID };
if (this.formula1Name.trim() == "") {
layer.msg('请选择试验号');
return false;
}
if (this.formula2Name.trim() == "") {
layer.msg('请选择替换试验号');
return false;
}
if (this.factoryID == "") {
layer.msg('请选择模式');
return false;
}
if (this.dataList.length <= 0) {
layer.msg('未找到需要变更的物料');
return false;
}
let ids = layer.load(0)
try {
let result=await InsertDataModel(postData);
if (result.Code== 200) {
let result = await InsertDataModel(postData);
if (result.Code == 200) {
layer.msg('创建成功');
this.cancelClick(true);
} else {

@ -5,7 +5,7 @@
<FreezingColumnSetting v-if="showFreezingColumnSettingBox" :columns="originalColumns"
:freezingColumns="freezingColumnSetting" @cancelClick="setFreezingColumnsSetting"></FreezingColumnSetting>
</lay-layer>
<lay-table id="dataTable" v-if="dataColumn.length > 0" height="320px" :columns="dataColumn" :data-source="dataList"
<lay-table id="dataTable" v-if="dataColumn.length > 0" height="320px" :columns="dataColumn" :dataInfoObj="dataInfoObj" :data-source="dataList"
:cellStyle="cellStyle" :cellClassName="cellClassName">
<template v-slot:toolbar v-if="dataInfoObj.FCanEdit != 2">
<lay-button size="sm" @click="saveBatch" type="primary" :disabled="editColumn.length === 0">保存
@ -125,6 +125,10 @@ export default {
const dataList = ref([]);
const editColumn = ref([]);
const selectDataMap = ref(null);
const showFreezingColumnSettingBox = ref(false);
const freezingColumnSetting = ref([]);
const originalColumns = ref([]);
const infoList=ref([]);
const typeList = ref([
[],
[]
@ -133,23 +137,39 @@ export default {
[],
[]
]);
const cellStyle = function (row, column, rowIndex, columnIndex) {
let back = column.table == "TFS_ViewMaterial" ? "background:rgb(246, 246, 246)" : ""
return back;
}
const cellClassName = function (row, column, rowIndex, columnIndex) {
return column.cellClass || "";
}
const inputCodeValue = ref("");
const inputDescValue = ref("");
const visible2 = ref(false)
const changeVisible2 = function () {
visible2.value = !visible2.value
};
const showFreezingColumnSettingBox = ref(false);
const freezingColumnSetting = ref([]);
const originalColumns = ref([]);
const tmpDataColumn = ref([]);
const cellStyle = function (row, column, rowIndex, columnIndex) {
let back = column.table == "TFS_ViewMaterial" ? "background:rgb(246, 246, 246)" : "";
return back;
}
const cellClassName = function (row, column, rowIndex, columnIndex) {
debugger
let info=row["info"];
switch (info[column.key+"Type"]) {
case "1":
return column.cellClass = column.cellClass + " one";
case "2":
return column.cellClass = column.cellClass + " twe";
case "3":
return column.cellClass = column.cellClass + " three";
case "4":
return column.cellClass = column.cellClass + " four";
}
return column.cellClass || "";
}
return {
dataColumn,
dataList,
@ -168,7 +188,8 @@ export default {
showFreezingColumnSettingBox,
freezingColumnSetting,
originalColumns,
tmpDataColumn
tmpDataColumn,
infoList
};
},
props: {
@ -203,6 +224,7 @@ export default {
teamId: this.dataInfoObj.FTeamID,
viewType: this.dataInfoObj.FViewType
});
this.infoList=_data;
console.log('_data', _data);
let freezingCols = await GetFreezingColumns();
if (this.dataInfoObj.FViewType == 1 || this.dataInfoObj.FViewType == 10) {
@ -296,7 +318,6 @@ export default {
}
item.FTypeID1 = (item.FTypeID1 == 0 || item.FTypeID1 == -1) ? "" : item.FTypeID1;
item.FTypeID2 = (item.FTypeID2 == 0 || item.FTypeID2 == -1) ? "" : item.FTypeID2;
if (this.dataInfoObj.FCanEdit == 2) {
let fType1 = this.typeList[0].find((t) => {
if(item.FTypeID1){
@ -312,15 +333,18 @@ export default {
item.FTypeID1 = fType1?fType1.FName:item.FTypeID1;
item.FTypeID2 = fType2?fType2.FName:item.FTypeID2;
}
});
let saveId = this.dataInfoObj.FViewType + "_" + this.dataInfoObj.FID;
localStorage.setItem('EditView' + saveId, JSON.stringify(_data.rows));
this.editColumn = editColumn;
this.dataList = _data.rows;
this.dataList = _data.rows.map(function(item){
item["info"]=_data.infos.find(s => s.FDataID == item.FMaterialID) || null;
return item;
});
this.dataColumn = dataColumn;
debugger
this.originalColumns = this.deepCopy(dataColumn);
let freezingColumns = freezingCols.FFreezingColumns
@ -454,7 +478,6 @@ export default {
console.log('cacheDataList', cacheDataList);
this.dataList.forEach((row, index) => {
debugger
let cache = cacheDataList[index];
let dataObj = {};
console.log('this.editColumn', this.editColumn);
@ -495,7 +518,6 @@ export default {
}
});
let updateLog = updateObj.LogList.join("、");
debugger
if (updateLog != "") {
delete updateObj.LogList
//

@ -133,11 +133,36 @@ export default {
[]
]);
const cellStyle = function (row, column, rowIndex, columnIndex) {
let back = column.table == "TFS_ViewMaterial" ? "background:rgb(246, 246, 246)" : ""
let back = column.table == "TFS_ViewMaterial" ? "background:rgb(246, 246, 246)" : "";
let info=row["info"];
debugger
switch (info[column.key+"Type"]) {
case "1":
return document.getElementsByClassName(column.key+"_"+rowIndex+"_"+columnIndex)[0].classList.add("one");
case "2":
return document.getElementsByClassName(column.key+"_"+rowIndex+"_"+columnIndex)[0].classList.add("twe");
case "3":
return document.getElementsByClassName(column.key+"_"+rowIndex+"_"+columnIndex)[0].classList.add("three");
case "4":
return document.getElementsByClassName(column.key+"_"+rowIndex+"_"+columnIndex)[0].classList.add("four");
}
return back;
}
const cellClassName = function (row, column, rowIndex, columnIndex) {
return column.cellClass || "";
debugger
// let info=row["info"];
// switch (info[column.key+"Type"]) {
// case "1":
// return column.cellClass = column.cellClass + " one";
// case "2":
// return column.cellClass = column.cellClass + " twe";
// case "3":
// return column.cellClass = column.cellClass + " three";
// case "4":
// return column.cellClass = column.cellClass + " four";
// }
return column.cellClass = column.key+"_"+rowIndex+"_"+columnIndex;
}
const inputCodeValue = ref("");
const inputDescValue = ref("");
@ -202,6 +227,29 @@ export default {
teamId: this.dataInfoObj.FTeamID,
viewType: this.dataInfoObj.FViewType
});
let FTpye2IDList=this.getParamValues("FTypeID2",_data.rows);
FTpye2IDList=FTpye2IDList.filter(function(value,index,self){
return self.indexOf(value) === index;
});
let TypeInfo={};
let $thie=this;
FTpye2IDList.forEach((item, i)=>{
// let result = $this.getInfoData({
// "FDataID": item,
// "FType": 1
// }) || null;
// TypeInfo.push(result);
})
// let result = await getInfoData({
// "FDataID": data.FTypeID2,
// "FType": 1
// }) || null;
let freezingCols = await GetFreezingColumns();
console.log('_data', _data);
if (this.dataInfoObj.FViewType == 1 || this.dataInfoObj.FViewType == 10) {
@ -315,7 +363,6 @@ export default {
// item.FTypeID2 = fType2?fType2.FName:item.FTypeID2;
//}
});
debugger
let saveId = this.dataInfoObj.FViewType + "_" + this.dataInfoObj.FID;
localStorage.setItem('EditView' + saveId, JSON.stringify(_data.rows));
@ -341,6 +388,7 @@ export default {
item.FTypeID1 = fType1 ? fType1.FName : item.FTypeID1;
item.FTypeID2 = fType2 ? fType2.FName : item.FTypeID2;
}
item["info"]=_data.infos.find(s => s.FDataID == item.FMaterialID) || null;
return item;
});
this.dataColumn = dataColumn;
@ -362,8 +410,7 @@ export default {
}
debugger
this._changeType(_data.rows[0], 2);
// this._changeType(_data.rows[0], 2);
setTimeout(function () {
layer.close(idx);
}, 500);
@ -386,6 +433,16 @@ export default {
// this.setFreezingColumns();
// }
// },
getParamValues(name,arr){
var ret = []
for (var i = 0, len = arr.length; i < len; i++) {
if(arr[i][name])
{
ret.push(arr[i][name])
}
}
return ret
},
cancelClick(isRefresh) {
isRefresh = isRefresh == undefined ? false : isRefresh;
this.$emit('cancelClick', isRefresh);
@ -399,7 +456,6 @@ export default {
"FDataID": data.FTypeID2,
"FType": 1
}) || null;
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]);
@ -432,7 +488,34 @@ export default {
if (typeName.indexOf("成品") > 0) {
data.FViewType = 1
}
this.dataList.map(function(item){
if(item.FID==data.FID)
{
debugger
item.info=result;
}
return item;
})
// this.dataColumn.forEach((item,i){
// })
// for(let key in this.dataList){
// debugger
// }
// this.dataList.map(function(item){
// debugger
// let list=result.find(s=>s.FDataID==data.FTypeID2)||"";
// if(list)
// {
// }
// });
this.dataColumn.map(function (item) {
// let str = result[item.key + "Type"];
@ -521,7 +604,6 @@ export default {
if (updateLog != "") {
delete updateObj.LogList
//
debugger
console.log('updateObj', updateObj);
let _result = await updateBatchById4(updateObj);
if (_result.Code === 200) {

@ -61,6 +61,9 @@
<lay-layer :area="modelArea[3]" v-model="showEditBox[3]" :title="物料视图">
<EditViewOFF v-if="showEditBox[3]" :dataInfoObj="objInfoObj" @cancelClick="cancelClick"></EditViewOFF>
</lay-layer>
<lay-layer :area="modelArea[0]" v-model="showEditBox[0]" :title="BOM下载">
<BOMDownload v-if="showEditBox[0]" :dataInfoObj="objInfoObj" @cancelClick="cancelClick"></BOMDownload>
</lay-layer>
</lay-container>
</template>
<script>
@ -75,6 +78,7 @@ import {
import EditMateria from '../half/components/EditMateria.vue';
import EditView from '../half/components/EditView.vue';
import EditViewOFF from '../half/components/EditViewOFF.vue';
import BOMDownload from '../half/components/BOMDownload.vue';
import '@layui/layui-vue/es/checkbox/index.css';
import '@layui/layui-vue/es/radio/index.css';
@ -82,7 +86,8 @@ export default {
components: {
EditMateria,
EditView,
EditViewOFF
EditViewOFF,
BOMDownload
},
setup() {
let dataColumn = [
@ -285,7 +290,10 @@ export default {
for (let i = 0; i < this.showEditBox.length; i++) {
this.showEditBox[i] = false;
}
if (data.FType == 1) {
if (data.FType == 0) {
data.FBoxType = 0; //BOM
}
else if (data.FType == 1) {
data.FBoxType = 1; //
}else if(data.FType == 2){
data.FBoxType = 3;

@ -132,6 +132,19 @@ export default {
return back;
}
const cellClassName = function (row, column, rowIndex, columnIndex) {
debugger
let info=row["info"];
switch (info[column.key+"Type"]) {
case "1":
return column.cellClass = column.cellClass + " one";
case "2":
return column.cellClass = column.cellClass + " twe";
case "3":
return column.cellClass = column.cellClass + " three";
case "4":
return column.cellClass = column.cellClass + " four";
}
return column.cellClass || "";
}
const inputCodeValue = ref("");
@ -305,7 +318,10 @@ export default {
localStorage.setItem('EditView' + saveId, JSON.stringify(_data.rows));
this.editColumn = editColumn;
this.dataList = _data.rows;
this.dataList = _data.rows.map(function(item){
item["info"]=_data.infos.find(s => s.FDataID == item.FMaterialID) || null;
return item;
});;
this.dataColumn = dataColumn;
this.originalColumns = this.deepCopy(dataColumn);

Loading…
Cancel
Save