|
|
|
@ -2,6 +2,9 @@ |
|
|
|
<div class="customer-css"> |
|
|
|
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;"> |
|
|
|
<el-form :inline="true" label-position="top" style="margin-top: 0px"> |
|
|
|
<el-form-item label="Period:"> |
|
|
|
<el-input v-model="searchData.periodMohu" clearable style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="Period Date:"> |
|
|
|
<el-date-picker |
|
|
|
style="width: 120px" |
|
|
|
@ -11,7 +14,17 @@ |
|
|
|
placeholder="选择日期"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="to:"> |
|
|
|
<el-date-picker |
|
|
|
style="width: 120px" |
|
|
|
v-model="searchData.endDate" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
placeholder="选择日期"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label=" "> |
|
|
|
<el-button type="primary" @click="searchTable()">查询</el-button> |
|
|
|
<el-button type="primary" @click="addModal()">新增</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
@ -41,39 +54,58 @@ |
|
|
|
<el-table-column |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
width="180" |
|
|
|
fixed="right" |
|
|
|
width="80" |
|
|
|
label="操作"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<a type="text" size="small" @click="updateModel(scope.row)"> Edit |</a> |
|
|
|
<a type="text" size="small" @click="deleteData(scope.row)"> Delete</a> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<el-dialog title="供应商" :visible.sync="addSupplierFlag" width="600px" style="margin-top: 7px" v-drag :close-on-click-modal="false"> |
|
|
|
<el-form inline="inline" label-position="top" :model="searchSupplierData" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item label="Supplier No"> |
|
|
|
<el-input v-model="searchSupplierData.supplierNo" clearable style="width: 151px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="Supplier Name"> |
|
|
|
<el-input v-model="searchSupplierData.supplierName" clearable style="width: 151px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label=" "> |
|
|
|
<el-button type="primary" style="padding: 3px 12px" @click="searchSupplierList()">查询</el-button> |
|
|
|
</el-form-item> |
|
|
|
<el-dialog title="Share" :visible.sync="modelFlag" width="600px" style="margin-top: 7px" v-drag :close-on-click-modal="false"> |
|
|
|
<el-form inline="inline" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-row> |
|
|
|
<el-form-item label="Material Family No"> |
|
|
|
<el-input v-model="modelSearchData.materialFamilyNo" disabled style="width: 130px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="Material Family Desc"> |
|
|
|
<el-input v-model="modelSearchData.materialFamilyDesc" disabled style="width: 275px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
<el-form-item label="Period"> |
|
|
|
<el-input v-model="modelSearchData.period" :disabled="modelSearchData.flag===1" style="width: 130px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="Period Start Date"> |
|
|
|
<el-date-picker |
|
|
|
style="width: 130px" |
|
|
|
:disabled="modelSearchData.flag===1" |
|
|
|
v-model="modelSearchData.periodStartDate" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
placeholder="选择日期"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="Period End Date"> |
|
|
|
<el-date-picker |
|
|
|
:disabled="modelSearchData.flag===1" |
|
|
|
style="width: 130px" |
|
|
|
v-model="modelSearchData.periodEndDate" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
placeholder="选择日期"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
</el-row> |
|
|
|
</el-form> |
|
|
|
<div class="rq "> |
|
|
|
<el-table |
|
|
|
:height="300" |
|
|
|
:data="supplierList" |
|
|
|
:data="modelList" |
|
|
|
stripe |
|
|
|
border |
|
|
|
@selection-change="selectionList" |
|
|
|
style="width: 100%;"> |
|
|
|
<el-table-column |
|
|
|
header-align="center" |
|
|
|
type="selection" |
|
|
|
align="center" |
|
|
|
width="55"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="supplierNo" |
|
|
|
header-align="center" |
|
|
|
@ -88,10 +120,96 @@ |
|
|
|
min-width="200" |
|
|
|
label="Supplier Name"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="estimateShare" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="100" |
|
|
|
label="Estimate Share(%)"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input v-model="scope.row.estimateShare" style="height: 11px;padding: 0px;text-align: right " filterable allow-create>;width:98%"></el-input> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
<el-footer style="height:40px;margin-top: 25px;text-align:center"> |
|
|
|
<el-button type="primary" @click="saveModelData()">确定</el-button> |
|
|
|
<el-button @click="modelFlag = false">关闭</el-button> |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
<el-dialog title="Delete" :visible.sync="delModelFlag" width="600px" style="margin-top: 7px" v-drag :close-on-click-modal="false"> |
|
|
|
<el-form inline="inline" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-row> |
|
|
|
<el-form-item label="Material Family No"> |
|
|
|
<el-input v-model="modelSearchData.materialFamilyNo" disabled style="width: 130px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="Material Family Desc"> |
|
|
|
<el-input v-model="modelSearchData.materialFamilyDesc" disabled style="width: 275px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
<el-form-item label="Period"> |
|
|
|
<el-input v-model="modelSearchData.period" disabled style="width: 130px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="Period Start Date"> |
|
|
|
<el-date-picker |
|
|
|
style="width: 130px" |
|
|
|
disabled |
|
|
|
v-model="modelSearchData.periodStartDate" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
placeholder="选择日期"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="Period End Date"> |
|
|
|
<el-date-picker |
|
|
|
disabled |
|
|
|
style="width: 130px" |
|
|
|
v-model="modelSearchData.periodEndDate" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
placeholder="选择日期"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
</el-row> |
|
|
|
</el-form> |
|
|
|
<div class="rq "> |
|
|
|
<el-table |
|
|
|
:height="300" |
|
|
|
:data="modelList" |
|
|
|
stripe |
|
|
|
border |
|
|
|
style="width: 100%;"> |
|
|
|
<el-table-column |
|
|
|
prop="supplierNo" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
min-width="100" |
|
|
|
label="Supplier No"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="supplierName" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="200" |
|
|
|
label="Supplier Name"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="estimateShare" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="100" |
|
|
|
label="Estimate Share(%)"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input v-model="scope.row.estimateShare" disabled style="height: 11px;padding: 0px;text-align: right " filterable allow-create>;width:98%"></el-input> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
<el-footer style="height:40px;margin-top: 25px;text-align:center"> |
|
|
|
<el-button type="primary" @click="saveSelection()">确定</el-button> |
|
|
|
<el-button @click="addSupplierFlag = false">关闭</el-button> |
|
|
|
<el-button type="primary" @click="delModelData()">删除</el-button> |
|
|
|
<el-button @click="delModelFlag = false">关闭</el-button> |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
@ -100,16 +218,14 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import { |
|
|
|
createNewSupplierContract,getNewSupplierContract,deleteSupplierContract |
|
|
|
} from '@/api/srm/srmSupplier.js' |
|
|
|
|
|
|
|
import Chooselist from '@/views/modules/common/Chooselist_eam' |
|
|
|
import {ossUploadNoSaveOSS, previewOssFileById, queryOss} from "../../../api/oss/oss"; |
|
|
|
|
|
|
|
import { |
|
|
|
deleteMaterialFamily, deleteSrmMaterialFamilySupplier, |
|
|
|
saveOrUpdateFamily, saveSrmMaterialFamilySupplier, |
|
|
|
deleteSrmMaterialFamilySupplier, deleteSrmMaterialFamilySupplierShareList, |
|
|
|
saveSrmMaterialFamilySupplierShare, |
|
|
|
searchMaterialFamilySupplierData, |
|
|
|
searchMaterialFamilySupplierDataOther |
|
|
|
searchSrmMaterialFamilySupplierShare |
|
|
|
} from '../../../api/srm/srmSupplier' |
|
|
|
|
|
|
|
export default { |
|
|
|
@ -121,23 +237,30 @@ export default { |
|
|
|
dataList: [], |
|
|
|
searchData: { |
|
|
|
site: '', |
|
|
|
username: this.$store.state.user.name, |
|
|
|
username: '', |
|
|
|
periodMohu: '', |
|
|
|
startDate: '', |
|
|
|
endDate: '', |
|
|
|
materialFamilyNo: '', |
|
|
|
materialFamilyDesc: '', |
|
|
|
height:'300', |
|
|
|
page: 1, |
|
|
|
limit: 1000 |
|
|
|
}, |
|
|
|
searchSupplierData:{ |
|
|
|
modelSearchData:{ |
|
|
|
id:'', |
|
|
|
flag:'', |
|
|
|
site:"", |
|
|
|
supplierNo:'', |
|
|
|
supplierName:'', |
|
|
|
materialFamilyNo:'', |
|
|
|
|
|
|
|
materialFamilyDesc:'', |
|
|
|
period:'', |
|
|
|
periodStartDate:'', |
|
|
|
periodEndDate:'', |
|
|
|
detailList:[], |
|
|
|
}, |
|
|
|
dataListLoading: false, |
|
|
|
addSupplierFlag: false, |
|
|
|
modelFlag: false, |
|
|
|
delModelFlag: false, |
|
|
|
currentRow:'', |
|
|
|
columnList: [ |
|
|
|
{ |
|
|
|
@ -166,7 +289,7 @@ export default { |
|
|
|
tableName: "供应商份额", |
|
|
|
columnProp: "periodStartDate", |
|
|
|
headerAlign: "center", |
|
|
|
align: "left", |
|
|
|
align: "center", |
|
|
|
columnLabel: "Period Start Date", |
|
|
|
columnWidth: '100', |
|
|
|
columnHidden: false, |
|
|
|
@ -184,7 +307,7 @@ export default { |
|
|
|
tableName: "供应商份额", |
|
|
|
columnProp: "periodEndDate", |
|
|
|
headerAlign: "center", |
|
|
|
align: "left", |
|
|
|
align: "center", |
|
|
|
columnLabel: "Period End Date", |
|
|
|
columnWidth: '100', |
|
|
|
columnHidden: false, |
|
|
|
@ -267,8 +390,7 @@ export default { |
|
|
|
fixed: false |
|
|
|
}, |
|
|
|
], |
|
|
|
supplierList:[], |
|
|
|
listSelection:[], |
|
|
|
modelList:[], |
|
|
|
} |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
@ -304,7 +426,7 @@ export default { |
|
|
|
|
|
|
|
}, |
|
|
|
searchTable(){ |
|
|
|
searchMaterialFamilySupplierData(this.searchData).then(({data}) => { |
|
|
|
searchSrmMaterialFamilySupplierShare(this.searchData).then(({data}) => { |
|
|
|
//区分请求成功和失败的状况 |
|
|
|
if (data && data.code == 0) { |
|
|
|
this.dataList = data.rows |
|
|
|
@ -315,39 +437,62 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
addModal(){ |
|
|
|
this.searchSupplierData={ |
|
|
|
this.modelSearchData={ |
|
|
|
site:this.searchData.site, |
|
|
|
supplierNo:'', |
|
|
|
supplierName:'', |
|
|
|
materialFamilyNo:this.searchData.materialFamilyNo, |
|
|
|
materialFamilyDesc:this.searchData.materialFamilyDesc, |
|
|
|
period:'', |
|
|
|
flag:0, |
|
|
|
periodStartDate:'', |
|
|
|
periodEndDate:'', |
|
|
|
detailList:[], |
|
|
|
} |
|
|
|
this.searchSupplierList(); |
|
|
|
this.addSupplierFlag=true; |
|
|
|
this.searchMaterialFamilySupplier(); |
|
|
|
this.modelFlag=true; |
|
|
|
}, |
|
|
|
searchSupplierList(){ |
|
|
|
searchMaterialFamilySupplierDataOther(this.searchSupplierData).then(({data}) => { |
|
|
|
searchMaterialFamilySupplier(){ |
|
|
|
searchMaterialFamilySupplierData(this.modelSearchData).then(({data}) => { |
|
|
|
//区分请求成功和失败的状况 |
|
|
|
if (data && data.code == 0) { |
|
|
|
this.supplierList = data.rows |
|
|
|
console.log(this.dataList) |
|
|
|
this.modelList = data.rows |
|
|
|
} else { |
|
|
|
this.supplierList = []; |
|
|
|
this.modelList = []; |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
selectionList(val) { |
|
|
|
this.listSelection = val |
|
|
|
}, |
|
|
|
saveSelection(){ |
|
|
|
if(this.listSelection.length===0){ |
|
|
|
this.$message.warning('请选择供应商'); |
|
|
|
saveModelData(){ |
|
|
|
if(this.modelSearchData.period==''||this.modelSearchData.period==null){ |
|
|
|
this.$message.warning('请输入Period'); |
|
|
|
return false |
|
|
|
} |
|
|
|
if(this.modelSearchData.periodStartDate==''||this.modelSearchData.periodStartDate==null){ |
|
|
|
this.$message.warning('请选择Period Start Date'); |
|
|
|
return false |
|
|
|
} |
|
|
|
if(this.modelSearchData.periodEndDate==''||this.modelSearchData.periodEndDate==null){ |
|
|
|
this.$message.warning('请输入Period End Date'); |
|
|
|
return false |
|
|
|
} |
|
|
|
this.modelSearchData.detailList=this.modelList; |
|
|
|
debugger; |
|
|
|
let allNumber=0 |
|
|
|
for (let i = 0; i <this.modelList.length ; i++) { |
|
|
|
allNumber=Number(allNumber)+Number(this.modelList[i].estimateShare?this.modelList[i].estimateShare:0) |
|
|
|
} |
|
|
|
if(allNumber==0){ |
|
|
|
this.$message.warning('请至少输入一条Share!'); |
|
|
|
return false |
|
|
|
} |
|
|
|
if(allNumber>100){ |
|
|
|
this.$message.warning('输入Share的总和不得超过100!'); |
|
|
|
return false |
|
|
|
} |
|
|
|
saveSrmMaterialFamilySupplier( this.listSelection).then(({data})=>{ |
|
|
|
console.log(allNumber) |
|
|
|
saveSrmMaterialFamilySupplierShare( this.modelSearchData).then(({data})=>{ |
|
|
|
if (data && data.code === 0){ |
|
|
|
this.$message.success("保存成功"); |
|
|
|
this.searchTable(); |
|
|
|
this.addSupplierFlag=false |
|
|
|
this.modelFlag=false |
|
|
|
}else { |
|
|
|
this.$message.warning(data.msg); |
|
|
|
} |
|
|
|
@ -355,26 +500,69 @@ export default { |
|
|
|
this.$message.error(error); |
|
|
|
}) |
|
|
|
}, |
|
|
|
updateModel(row){ |
|
|
|
this.modelSearchData={ |
|
|
|
site:row.site, |
|
|
|
materialFamilyNo:row.materialFamilyNo, |
|
|
|
materialFamilyDesc:row.materialFamilyDesc, |
|
|
|
period:row.period, |
|
|
|
flag:1, |
|
|
|
periodStartDate:row.periodStartDate, |
|
|
|
periodEndDate:row.periodEndDate, |
|
|
|
detailList:[], |
|
|
|
} |
|
|
|
searchSrmMaterialFamilySupplierShare(this.modelSearchData).then(({data}) => { |
|
|
|
//区分请求成功和失败的状况 |
|
|
|
if (data && data.code == 0) { |
|
|
|
this.modelList = data.rows |
|
|
|
console.log(this.dataList) |
|
|
|
} else { |
|
|
|
this.modelList = []; |
|
|
|
} |
|
|
|
}); |
|
|
|
this.modelFlag=true; |
|
|
|
}, |
|
|
|
deleteData(row){ |
|
|
|
this.$confirm('是否删除此供应商?', '提示', { |
|
|
|
this.modelSearchData={ |
|
|
|
site:row.site, |
|
|
|
materialFamilyNo:row.materialFamilyNo, |
|
|
|
materialFamilyDesc:row.materialFamilyDesc, |
|
|
|
period:row.period, |
|
|
|
flag:1, |
|
|
|
periodStartDate:row.periodStartDate, |
|
|
|
periodEndDate:row.periodEndDate, |
|
|
|
detailList:[], |
|
|
|
} |
|
|
|
searchSrmMaterialFamilySupplierShare(this.modelSearchData).then(({data}) => { |
|
|
|
//区分请求成功和失败的状况 |
|
|
|
if (data && data.code == 0) { |
|
|
|
this.modelList = data.rows |
|
|
|
console.log(this.dataList) |
|
|
|
} else { |
|
|
|
this.modelList = []; |
|
|
|
} |
|
|
|
}); |
|
|
|
this.delModelFlag=true; |
|
|
|
}, |
|
|
|
delModelData(){ |
|
|
|
this.$confirm('确定删除整个Share?', '提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
type: 'warning' |
|
|
|
}).then(() => { |
|
|
|
deleteSrmMaterialFamilySupplier( row).then(({data})=>{ |
|
|
|
if (data && data.code === 0){ |
|
|
|
this.$message.success(data.msg); |
|
|
|
deleteSrmMaterialFamilySupplierShareList(this.modelList).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.$message.success("保存成功"); |
|
|
|
this.searchTable(); |
|
|
|
this.addModelFlag=false |
|
|
|
}else { |
|
|
|
this.delModelFlag = false |
|
|
|
} else { |
|
|
|
this.$message.warning(data.msg); |
|
|
|
} |
|
|
|
}).catch((error)=>{ |
|
|
|
}).catch((error) => { |
|
|
|
this.$message.error(error); |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
</script> |
|
|
|
@ -385,6 +573,8 @@ export default { |
|
|
|
height: auto; |
|
|
|
line-height: 1.5; |
|
|
|
} |
|
|
|
|
|
|
|
/deep/ .el-table__fixed-right-patch { |
|
|
|
display: none !important; |
|
|
|
} |
|
|
|
|
|
|
|
</style> |