Browse Source

供应商文档

java8
常熟吴彦祖 4 months ago
parent
commit
51e28b2746
  1. 5
      src/api/srm/srmSupplier.js
  2. 328
      src/views/modules/srmSupplier/com_supplierShare_share.vue

5
src/api/srm/srmSupplier.js

@ -24,3 +24,8 @@ export const searchMaterialFamilySupplierDataOther= (data) => createAPI(`/srmSup
export const saveSrmMaterialFamilySupplier= (data) => createAPI(`/srmSupplierShare/saveSrmMaterialFamilySupplier`,'post',data)
export const deleteSrmMaterialFamilySupplier= (data) => createAPI(`/srmSupplierShare/deleteSrmMaterialFamilySupplier`,'post',data)
export const searchSrmMaterialFamilySupplierShare= (data) => createAPI(`/srmSupplierShare/searchSrmMaterialFamilySupplierShare`,'post',data)
export const saveSrmMaterialFamilySupplierShare= (data) => createAPI(`/srmSupplierShare/saveSrmMaterialFamilySupplierShare`,'post',data)
export const deleteSrmMaterialFamilySupplierShareList= (data) => createAPI(`/srmSupplierShare/deleteSrmMaterialFamilySupplierShareList`,'post',data)

328
src/views/modules/srmSupplier/com_supplierShare_share.vue

@ -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>
Loading…
Cancel
Save