|
@@ -10,7 +10,18 @@
|
|
<i class="el-icon-plus"></i>新增
|
|
<i class="el-icon-plus"></i>新增
|
|
</el-button>
|
|
</el-button>
|
|
<el-button type="primary" @click="exportAllExcel()"><i class="el-icon-download"></i>导出(Excel)</el-button>
|
|
<el-button type="primary" @click="exportAllExcel()"><i class="el-icon-download"></i>导出(Excel)</el-button>
|
|
|
|
+ <el-upload
|
|
|
|
+ style="margin-left:10px"
|
|
|
|
+ action=""
|
|
|
|
+ :on-change="importExcel"
|
|
|
|
+ :show-file-list="false"
|
|
|
|
+ accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
|
|
|
|
+ :auto-upload="false">
|
|
|
|
+ <el-button type="primary">
|
|
|
|
+ <i class="el-icon-upload"></i>导入(Excel)</el-button>
|
|
|
|
+ </el-upload>
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
|
|
|
|
<el-tabs v-model="activeName">
|
|
<el-tabs v-model="activeName">
|
|
<!-- 正在启用 -->
|
|
<!-- 正在启用 -->
|
|
@@ -459,8 +470,8 @@ export default {
|
|
this.carrierIdArray=[]
|
|
this.carrierIdArray=[]
|
|
this.drawer=false
|
|
this.drawer=false
|
|
this.onclick()
|
|
this.onclick()
|
|
- }
|
|
|
|
- /*importExcel(file){
|
|
|
|
|
|
+ },
|
|
|
|
+ importExcel(file){
|
|
let that = this;
|
|
let that = this;
|
|
if (!file) {
|
|
if (!file) {
|
|
that.$message({
|
|
that.$message({
|
|
@@ -483,123 +494,185 @@ export default {
|
|
let rows= XLSX.utils.sheet_to_json(
|
|
let rows= XLSX.utils.sheet_to_json(
|
|
workbook.Sheets[workbook.SheetNames[0]]
|
|
workbook.Sheets[workbook.SheetNames[0]]
|
|
);
|
|
);
|
|
- console.log(rows)
|
|
|
|
|
|
+ console.log("rows:",rows)
|
|
|
|
+ //查找"序号"
|
|
let index=1;
|
|
let index=1;
|
|
- // for (index=1;index<rows.length;index++){
|
|
|
|
|
|
+ for (index=1;index<rows.length;index++){
|
|
|
|
+ if (workbook.Sheets[workbook.SheetNames[0]]["A"+index] &&
|
|
|
|
+ (workbook.Sheets[workbook.SheetNames[0]]["A"+index].v=="序号" || workbook.Sheets[workbook.SheetNames[0]]["A"+index].v=="序\n号")){
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ console.log("表头行数:" + index);
|
|
|
|
+ if(index>=rows.length){
|
|
|
|
+ that.$message({
|
|
|
|
+ message: "文件错误!",
|
|
|
|
+ type: "warning",
|
|
|
|
+ });
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ //查找最新运价
|
|
|
|
+ let cols=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
|
|
|
|
+ let j=cols.length-1;
|
|
|
|
+ let priceCol=null;
|
|
|
|
+ let tonnageCol=null;
|
|
|
|
+ for (j=cols.length-1;j>0;j--){
|
|
|
|
+ if (workbook.Sheets[workbook.SheetNames[0]][cols[j]+(index+1)] && priceCol==null
|
|
|
|
+ && workbook.Sheets[workbook.SheetNames[0]][cols[j]+(index+1)].v=="运价\n(元/吨)"){
|
|
|
|
+ priceCol=cols[j];
|
|
|
|
+ }else if (workbook.Sheets[workbook.SheetNames[0]][cols[j]+(index+1)] && tonnageCol==null
|
|
|
|
+ && workbook.Sheets[workbook.SheetNames[0]][cols[j]+(index+1)].v=="吨公里\n(元/吨.km)"){
|
|
|
|
+ tonnageCol=cols[j];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ console.log("最新单价列数:" + priceCol);
|
|
|
|
+ console.log("最新单价吨公里:" + tonnageCol);
|
|
|
|
+ // if (
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["A" + index] == 'undefined' ||
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["B" + index] == 'undefined' ||
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["C" + index] == 'undefined' ||
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["D" + index] == 'undefined' ||
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["E" + index] == 'undefined' ||
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["F" + index] == 'undefined' ||
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["G" + index] == 'undefined' ||
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["H" + index] == 'undefined' ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["A" + index].v != "序号" ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["B" + index].v != "省份" ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["C" + index].v != "市/区" ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["D" + index].v != "县/镇" ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["E" + index].v != "卸货地点" ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["F" + index].v != "参考运距(公里)" ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["G" + index].v != "运价(元/吨)" ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["H" + index].v != "吨公里(元/吨.km)"
|
|
|
|
+ // ){
|
|
// if (
|
|
// if (
|
|
- // typeof workbook.Sheets[workbook.SheetNames[0]]["A"+index] !=
|
|
|
|
- // "undefined"
|
|
|
|
- // ){
|
|
|
|
- // index++;
|
|
|
|
- // break
|
|
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["A" + index] == 'undefined' ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["A" + index].v != "序号"
|
|
|
|
+ // ) {
|
|
|
|
+ // that.$message({
|
|
|
|
+ // message: "表格格式错误:序号错误",
|
|
|
|
+ // type: "warning"
|
|
|
|
+ // });
|
|
|
|
+ // }
|
|
|
|
+ // if (
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["B" + index] == 'undefined' ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["B" + index].v != "省份"
|
|
|
|
+ // ) {
|
|
|
|
+ // that.$message({
|
|
|
|
+ // message: "表格格式错误:省份错误",
|
|
|
|
+ // type: "warning"
|
|
|
|
+ // });
|
|
|
|
+ // }
|
|
|
|
+ // if (
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["C" + index] == 'undefined' ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["C" + index].v != "市/区"
|
|
|
|
+ // ) {
|
|
|
|
+ // that.$message({
|
|
|
|
+ // message: "表格格式错误:市/区错误",
|
|
|
|
+ // type: "warning"
|
|
|
|
+ // });
|
|
|
|
+ // }
|
|
|
|
+ // if (
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["D" + index] == 'undefined' ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["D" + index].v != "县/镇"
|
|
|
|
+ // ) {
|
|
|
|
+ // that.$message({
|
|
|
|
+ // message: "表格格式错误:县/镇错误",
|
|
|
|
+ // type: "warning"
|
|
|
|
+ // });
|
|
|
|
+ // }
|
|
|
|
+ // if (
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["E" + index] == 'undefined' ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["E" + index].v != "卸货地点"
|
|
|
|
+ // ) {
|
|
|
|
+ // that.$message({
|
|
|
|
+ // message: "表格格式错误:卸货地点错误",
|
|
|
|
+ // type: "warning"
|
|
|
|
+ // });
|
|
|
|
+ // }
|
|
|
|
+ // if (
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["F" + index] == 'undefined' ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["F" + index].v != "参考运距(公里)"
|
|
|
|
+ // ) {
|
|
|
|
+ // that.$message({
|
|
|
|
+ // message: "表格格式错误:参考运距(公里)错误",
|
|
|
|
+ // type: "warning"
|
|
|
|
+ // });
|
|
|
|
+ // }
|
|
|
|
+ // if (
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["G" + index] == 'undefined' ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["G" + index].v != "运价(元/吨)"
|
|
|
|
+ // ) {
|
|
|
|
+ // that.$message({
|
|
|
|
+ // message: "表格格式错误:运价(元/吨)错误",
|
|
|
|
+ // type: "warning"
|
|
|
|
+ // });
|
|
|
|
+ // }
|
|
|
|
+ // if (
|
|
|
|
+ // typeof workbook.Sheets[workbook.SheetNames[0]]["G" + index] == 'undefined' ||
|
|
|
|
+ // workbook.Sheets[workbook.SheetNames[0]]["H" + index].v != "吨公里(元/吨.km)"
|
|
|
|
+ // ) {
|
|
|
|
+ // that.$message({
|
|
|
|
+ // message: "表格格式错误:吨公里(元/吨.km)错误",
|
|
|
|
+ // type: "warning"
|
|
|
|
+ // });
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
- // console.log("表头行数:" + index);
|
|
|
|
- // if(index>=rows.length){
|
|
|
|
- // that.$message({
|
|
|
|
- // message: "文件错误!",
|
|
|
|
- // type: "warning",
|
|
|
|
- // });
|
|
|
|
- // return
|
|
|
|
- // }
|
|
|
|
- if (
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["A" + index] == 'undefined' ||
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["B" + index] == 'undefined' ||
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["C" + index] == 'undefined' ||
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["D" + index] == 'undefined' ||
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["E" + index] == 'undefined' ||
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["F" + index] == 'undefined' ||
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["G" + index] == 'undefined' ||
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["H" + index] == 'undefined' ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["A" + index].v != "序号" ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["B" + index].v != "省份" ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["C" + index].v != "市/区" ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["D" + index].v != "县/镇" ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["E" + index].v != "卸货地点" ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["F" + index].v != "参考运距(公里)" ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["G" + index].v != "运价(元/吨)" ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["H" + index].v != "吨公里(元/吨.km)"
|
|
|
|
- ){
|
|
|
|
- if (
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["A" + index] == 'undefined' ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["A" + index].v != "序号"
|
|
|
|
- ) {
|
|
|
|
- that.$message({
|
|
|
|
- message: "表格格式错误:序号错误",
|
|
|
|
- type: "warning"
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- if (
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["B" + index] == 'undefined' ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["B" + index].v != "省份"
|
|
|
|
- ) {
|
|
|
|
- that.$message({
|
|
|
|
- message: "表格格式错误:省份错误",
|
|
|
|
- type: "warning"
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- if (
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["C" + index] == 'undefined' ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["C" + index].v != "市/区"
|
|
|
|
- ) {
|
|
|
|
- that.$message({
|
|
|
|
- message: "表格格式错误:市/区错误",
|
|
|
|
- type: "warning"
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- if (
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["D" + index] == 'undefined' ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["D" + index].v != "县/镇"
|
|
|
|
- ) {
|
|
|
|
- that.$message({
|
|
|
|
- message: "表格格式错误:县/镇错误",
|
|
|
|
- type: "warning"
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- if (
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["E" + index] == 'undefined' ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["E" + index].v != "卸货地点"
|
|
|
|
- ) {
|
|
|
|
- that.$message({
|
|
|
|
- message: "表格格式错误:卸货地点错误",
|
|
|
|
- type: "warning"
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- if (
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["F" + index] == 'undefined' ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["F" + index].v != "参考运距(公里)"
|
|
|
|
- ) {
|
|
|
|
- that.$message({
|
|
|
|
- message: "表格格式错误:参考运距(公里)错误",
|
|
|
|
- type: "warning"
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- if (
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["G" + index] == 'undefined' ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["G" + index].v != "运价(元/吨)"
|
|
|
|
- ) {
|
|
|
|
- that.$message({
|
|
|
|
- message: "表格格式错误:运价(元/吨)错误",
|
|
|
|
- type: "warning"
|
|
|
|
- });
|
|
|
|
|
|
+ //读取表格
|
|
|
|
+ for (let i = index+2; i <= rows.length+1 ; i++){
|
|
|
|
+ let temp={
|
|
|
|
+ no:null,
|
|
|
|
+ addressProvince:null,
|
|
|
|
+ addressDistrict:null,
|
|
|
|
+ addressTown:null,
|
|
|
|
+ addressDeliveryAddress:null,
|
|
|
|
+ priceValue:null,
|
|
|
|
+ haulDistance:null,
|
|
|
|
+ priceTonKilometer:null,
|
|
}
|
|
}
|
|
- if (
|
|
|
|
- typeof workbook.Sheets[workbook.SheetNames[0]]["G" + index] == 'undefined' ||
|
|
|
|
- workbook.Sheets[workbook.SheetNames[0]]["H" + index].v != "吨公里(元/吨.km)"
|
|
|
|
- ) {
|
|
|
|
- that.$message({
|
|
|
|
- message: "表格格式错误:吨公里(元/吨.km)错误",
|
|
|
|
- type: "warning"
|
|
|
|
- });
|
|
|
|
|
|
+ //序号,无序号视为无效数据。
|
|
|
|
+ if(!workbook.Sheets[workbook.SheetNames[0]]["A" + i]){
|
|
|
|
+ continue;
|
|
}
|
|
}
|
|
|
|
+ try{
|
|
|
|
+ temp.no=workbook.Sheets[workbook.SheetNames[0]]["A" + i].v;
|
|
|
|
+ }catch(error){}
|
|
|
|
+ //省
|
|
|
|
+ try{
|
|
|
|
+ temp.addressProvince=workbook.Sheets[workbook.SheetNames[0]]["B" + i].v;
|
|
|
|
+ }catch(error){}
|
|
|
|
+ //市
|
|
|
|
+ try{
|
|
|
|
+ temp.addressDistrict=workbook.Sheets[workbook.SheetNames[0]]["C" + i].v;
|
|
|
|
+ }catch(error){}
|
|
|
|
+ //县
|
|
|
|
+ try{
|
|
|
|
+ temp.addressTown=workbook.Sheets[workbook.SheetNames[0]]["D" + i].v;
|
|
|
|
+ }catch(error){}
|
|
|
|
+ //卸货地点
|
|
|
|
+ try{
|
|
|
|
+ temp.addressDeliveryAddress=workbook.Sheets[workbook.SheetNames[0]]["E" + i].v;
|
|
|
|
+ }catch(error){}
|
|
|
|
+ //参考运距
|
|
|
|
+ try{
|
|
|
|
+ temp.haulDistance=workbook.Sheets[workbook.SheetNames[0]]["F" + i].v;
|
|
|
|
+ }catch(error){}
|
|
|
|
+ //单价
|
|
|
|
+ try{
|
|
|
|
+ temp.priceValue=workbook.Sheets[workbook.SheetNames[0]][priceCol + i].v;
|
|
|
|
+ }catch(error){}
|
|
|
|
+ //吨/公里
|
|
|
|
+ try{
|
|
|
|
+ temp.priceTonKilometer=workbook.Sheets[workbook.SheetNames[0]][tonnageCol + i].v;
|
|
|
|
+ }catch(error){}
|
|
|
|
+ // console.log(temp);
|
|
|
|
+ excelData.push(temp);
|
|
}
|
|
}
|
|
- //读取表格
|
|
|
|
- for (let i = index+1; i <= rows.length+1 ; i++){
|
|
|
|
- console.log(workbook.Sheets[workbook.SheetNames[0]]["B" + i].v)
|
|
|
|
- }
|
|
|
|
|
|
+ //最终数据表格:
|
|
|
|
+ console.log("excelData",excelData);
|
|
}
|
|
}
|
|
reader.readAsBinaryString(file.raw);
|
|
reader.readAsBinaryString(file.raw);
|
|
- }*/
|
|
|
|
|
|
+ }
|
|
},
|
|
},
|
|
|
|
|
|
};
|
|
};
|
|
@@ -607,6 +680,7 @@ export default {
|
|
<style lang='scss' scoped>
|
|
<style lang='scss' scoped>
|
|
.salePlan {
|
|
.salePlan {
|
|
.top{
|
|
.top{
|
|
|
|
+ display: flex;
|
|
padding: 1.25rem 0.375rem;
|
|
padding: 1.25rem 0.375rem;
|
|
.el-input {
|
|
.el-input {
|
|
width: 20%;
|
|
width: 20%;
|