Browse Source

Merge branch 'pre-production'

master
pref_mail@163.com 4 weeks ago
parent
commit
755558b878
  1. 20
      src/api/Costmanagementmainlinetrains/index.js
  2. 507
      src/option/Maininetrain/Mainlinetrainfare.js
  3. 2
      src/option/storagecost/Traincostbreakdown.js
  4. 4
      src/views/aftersales/aftersalesWorkOrder.vue
  5. 11
      src/views/aftersales/aftersalesWorkOrderend.vue
  6. 2
      src/views/basicdata/warehouse/warehouse/basicdataWarehouse.vue
  7. 386
      src/views/cost/Costmanagementmainlinetrains/Mainlinetrainfare.vue
  8. 4
      src/views/cost/Deliverycostmanagement/Traincostbreakdown.vue
  9. 27
      src/views/distribution/artery/AddVehicleStowage.vue
  10. 1
      vite.config.js

20
src/api/Costmanagementmainlinetrains/index.js

@ -0,0 +1,20 @@
import request from '@/axios';
// 列表
export const $_Maininetrain = data => {
return request({
url: '/logpm-statisticsdata/trunklineCarCost/page',
method: 'post',
data,
});
};
// 导出
export const $_Maininetrainexport = data => {
return request({
url: '/logpm-statisticsdata/trunklineCarCost/export',
method: 'post',
data,
responseType: 'blob',
});
};

507
src/option/Maininetrain/Mainlinetrainfare.js

@ -0,0 +1,507 @@
export const columnList = [
{
prop: '',
label: '复选框',
type: 0,
width: 55,
fixed: true,
},
{
prop: '',
label: '序号',
type: 12,
values: '',
width: 55,
fixed: true,
},
{
prop: 'effectTime',
label: '申请时间',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'plateNumber',
label: '车牌号',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'driverName',
label: '司机名称',
type: 1,
values: '',
width: '200',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'actualReceivablePerson',
label: '实际收款人',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'carsNo',
label: '车次号',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'carsNoTypeNameS',
label: '车次类型',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'driverStaff',
label: '调车员',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'vehicleType',
label: '车辆类型',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'brands',
label: '品牌',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'startStation',
label: '起始站点',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'outStation',
label: '外请网点',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'goodsNum',
label: '货数',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'originalPrice',
label: '总费用',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
// {
// prop: 'actualDriverFee',
// label: '实际驾驶员费用(元)',
// type: 1,
// values: '',
// width: '150',
// checkarr: [
// ],
// fixed: false,
// sortable: true,
// head: false,
// },
{
prop: 'fuelCardFee',
label: '燃油卡费(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'bridgeFee',
label: '路桥费(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'nowFreightFee',
label: '现付运输费(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'returnFreightFee',
label: '回收货运费(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'payFreightFee',
label: '到付运输费(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'trailerInsuranceFee',
label: '整车信息费(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'trailerInsuranceCost',
label: '整车保险费(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'landingFee',
label: '整车落地费(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'stationLoadingFee',
label: '发站装车费(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'otherStationFee',
label: '发站其它费(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'stationUnloadingFee',
label: '到站卸车费(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'otherFee',
label: '其他费用(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'additionalFee',
label: '额外费用(元)',
type: 1,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
head: false,
},
// {
// prop: 'platformSettlementFee',
// label: '平台结算fee(元)',
// type: 1,
// values: '',
// width: '150',
// checkarr: [
// ],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'dingDingNumber',
// label: '钉钉号',
// type: 1,
// values: '',
// width: '150',
// checkarr: [
// ],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'platformOrderNumber',
// label: '订单号',
// type: 1,
// values: '',
// width: '150',
// checkarr: [
// ],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'paymentTime',
// label: '付款时间',
// type: 1,
// values: '',
// width: '150',
// checkarr: [
// ],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'paymentName',
// label: '付款方名称',
// type: 1,
// values: '',
// width: '150',
// checkarr: [
// ],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'paymentAccount',
// label: '付款方账号',
// type: 1,
// values: '',
// width: '150',
// checkarr: [
// ],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'receiveName',
// label: '平台名称',
// type: 1,
// values: '',
// width: '150',
// checkarr: [
// ],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'receiveAccount',
// label: '收款账号',
// type: 1,
// values: '',
// width: '150',
// checkarr: [
// ],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'routeName',
// label: '线路名称',
// type: 1,
// values: '',
// width: '150',
// checkarr: [
// ],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'isEnterNameS',
// label: '是否确认',
// type: 1,
// values: '',
// width: '150',
// checkarr: [
// ],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'isPaymentNameS',
// label: '是否支付',
// type: 1,
// values: '',
// width: '150',
// checkarr: [
// ],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'createUserName',
// label: '操作',
// type: 6,
// values: '',
// width: '200',
// checkarr: [],
// fixed: 'right',
// sortable: false,
// },
];

2
src/option/storagecost/Traincostbreakdown.js

@ -28,7 +28,7 @@ export const columnList = [
{
prop: 'deliveryDriver',
label: '配送司机',
type: 1,
type: 2,
values: '',
width: '150',
checkarr: [],

4
src/views/aftersales/aftersalesWorkOrder.vue

@ -924,9 +924,7 @@ const ButtonPermissions = computed(() => {
return {
add: false, //
batchReject: false, //
assignment:
UserPermissions.value == Useridentity.Headquarters_Manager ||
UserPermissions.value == Useridentity.Headquarters_customer_service, //
assignment:false, //
applyArbitration: UserPermissions.value == Useridentity.Warehouse_customer_service, //
DingTalkNumber: false, //
batchFinish: false, //

11
src/views/aftersales/aftersalesWorkOrderend.vue

@ -894,7 +894,7 @@
/>
</el-select> -->
</div>
<!-- <el-button type="primary" class="el_next" @click="NextRecord()">
<!-- <el-button v-if="$route.query.RouteIndexs =='2'" type="primary" class="el_next" @click="NextRecord()">
下一条
</el-button> -->
</div>
@ -1280,12 +1280,9 @@ const Completedsubmission = () => {
return true;
}
// //
// if (
// UserPermissions.value == Useridentity.Headquarters_customer_service ||
// UserPermissions.value == Useridentity.Headquarters_Manager
// ) {
// return true;
// }
if ((UserPermissions.value == Useridentity.Headquarters_customer_service || UserPermissions.value == Useridentity.Headquarters_Manager)&& ['30','70'].includes($route.query.workOrderStatus)) {
return true;
}
return false;
};

2
src/views/basicdata/warehouse/warehouse/basicdataWarehouse.vue

@ -1348,6 +1348,8 @@ const newlyaddSubmit = () => {
data.cityCode = Addform.value['addressInfo'][1]; //-
data.code = Addform.value['addressInfo'][2]; //-
data.departmentName = department.value.label; //
data.latitude = data.address[0]
data.longitude=data.address[1]
if (dialogTitle.value == '编辑') {
data.id = dataRwo.value.id;
$_Postupdate(data)

386
src/views/cost/Costmanagementmainlinetrains/Mainlinetrainfare.vue

@ -0,0 +1,386 @@
<template>
<basic-container>
<!-- 首页表格 -->
<div class="avue-crud">
<!-- 搜索模块 -->
<div v-h5uShow="search">
<!-- 查询模块 -->
<el-form :inline="true" :model="query" class="el-fr-d">
<!-- 查询按钮 -->
<el-form-item class="el-btn">
<el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button>
<el-button icon="el-icon-delete" @click="searchReset()"> </el-button>
</el-form-item>
<el-form-item label="配送日期">
<el-date-picker
v-model="TopQuery.time"
type="datetimerange"
unlink-panels
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
:shortcuts="shortcuts"
:default-time="defaultTime2"
/>
</el-form-item>
</el-form>
</div>
<!-- 控件模块 -->
<el-row>
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<el-button type="primary" @click="exportExcel"
><el-icon><Download /></el-icon></el-button
>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChangeS" circle></el-button>
<el-button icon="Operation" @click="showdrawer(true)" circle></el-button>
<el-button icon="Search" @click="searchHide" circle></el-button>
</div>
</div>
</el-row>
<!-- 首页表格 -->
<el-row>
<!-- 列表模块 -->
<tablecmt
class="tableNode"
:columnList="details.columnList"
:tableData="data"
:loading="loadingObj.list"
@inputTxt="inputsc"
@timeCheck="timesc"
@selectCheck="selectsc"
@selection="selectionChange"
>
<template #default="slotProps">
<template v-if="slotProps.scope.column.label === '操作'">
<div class="ElBtnClass">
<el-button @click="view(slotProps.scope)">查看</el-button>
</div>
</template>
</template>
</tablecmt>
</el-row>
<!-- 分页模块 -->
<el-row class="el-fy">
<div class="avue-crud__pagination flex-c-sb" style="width: 100%">
<div></div>
<el-pagination
align="right"
background
@size-change="sizeChange"
@current-change="currentChange"
:current-page="page.currentPage"
:page-sizes="[30, 50, 80, 120]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total"
>
</el-pagination>
</div>
</el-row>
</div>
</basic-container>
<!-- 列表配置显示 -->
<edittablehead
@setcolum="setnewcolum"
@closce="showdrawer"
:drawerShow="drawerShow"
:columnList="details.columnList"
v-model="details.columnList"
></edittablehead>
</template>
<script setup>
import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue';
import { columnList } from '@/option/Maininetrain/Mainlinetrainfare.js';
import { $_Maininetrain,$_Maininetrainexport } from '@/api/Costmanagementmainlinetrains/index.js';
import { processRowPropertyName, setNodeHeight } from '@/utils/util';
import { ElMessageBox, ElMessage } from 'element-plus';
import { downloadXls, handleClearTableQuery, FileUpload, headers } from '@/utils/util';
import { useStore } from 'vuex';
import { getDictionaryBiz } from '@/api/system/dict';
import dayjs from 'dayjs';
const $router = useRouter(); //
const $useStore = useStore(); //
const $route = useRoute(); //
const details = reactive({
/** 是否开启搜索 */
search: false,
/** 表格搜索条件 */
query: {},
defaultTime2: [new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 2, 1, 23, 59, 59)], // '12:00:00', '08:00:00'
/** 时间快捷选择设置 */
shortcuts: [
{
text: '最近一周',
value: () => {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
return [start, end];
},
},
{
text: '最近一个月',
value: () => {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
return [start, end];
},
},
{
text: '最近三个月',
value: () => {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
return [start, end];
},
},
],
/** 时间选择器数据 */
stockupDate: [],
/** 列表 */
columnList,
/** 列表数据 */
data: [],
/** 页面loading */
loadingObj: {
/** 列表加载loading */
list: false,
packageListLoading: false,
},
/** 列表复选框选中的数据 */
selectionList: [],
/** 是否显示设置表格 */
drawerShow: false,
/** 分页参数 */
page: {
currentPage: 1,
pageSize: 50,
total: 0,
},
/** 弹出层显示 */
popUpShow: {
/** 包件明细 */
packageOrderListlVisited: false,
/** 二维码 */
QRCodeVisible: false,
/** 修改客户信息 */
editClientInfoVisible: false,
},
/** 列表Dom节点 */
listNode: '',
form: {},
/** 全屏 */
fullscreenObj: {
/** 包明细 */
packageOrderListlVisited: false,
},
});
const {
search,
query,
shortcuts,
stockupDate,
data,
loadingObj,
selectionList,
drawerShow,
page,
trickleLoadingPage,
zeroAdditionalRecordingInfo,
popUpShow,
recorddata,
defaultTime2,
} = toRefs(details);
/** 展开列表控件 */
const showdrawer = _flag => {
details.drawerShow = _flag;
};
/** 表格表头输入框搜索 */
const inputsc = (index, row) => {
processRowPropertyName(index, row, details.query);
onLoad();
};
/** 表格表头时间选择 */
const timesc = (index, row) => {
console.log(index, row);
if (!!index) {
index = dayjs(index).format('YYYY-MM-DD');
}
details.query[row.prop] = index;
if (!index) {
delete details.query[row.prop];
}
onLoad();
};
/** 表格表头下拉框选择 */
const selectsc = (index, row) => {
processRowPropertyName(index, row, details.query);
onLoad();
};
/** 表格表头复选框选择 */
const selectionChange = list => {
console.log(list);
details.selectionList = list;
};
//
const searchChange = () => {
onLoad();
};
//
const sizeChange = val => {
details.page.pageSize = val;
onLoad();
};
/** 页码改变执行的回调 */
const currentChange = val => {
details.page.currentPage = val;
onLoad();
};
//
const searchChangeS = () => {
details.search = false; //
onLoad();
};
//
const searchReset = () => {
details.query = {};
details.page.currentPage = 1;
handleClearTableQuery(details.columnList);
onLoad();
};
//
const searchHide = () => {
console.log(details);
details.search = !details.search;
const _node = document.querySelector('.tableNode');
setNodeHeight(_node, '', true);
};
//
function updateDictionary(targetArray, dictionaryType) {
getDictionaryBiz(dictionaryType).then(res => {
console.log(res, '字典');
res.data.data.forEach(item => {
targetArray.push({
value: item.dictKey,
label: item.dictValue,
});
});
});
}
const Fieldtranslatio = data => {
data.forEach(item => {
if (item.carsNoType == '1') {
item.carsNoTypeNameS = '外请';
} else if (item.carsNoType == '2') {
item.carsNoTypeNameS = '自有';
}
if (item.isEnter == '1') {
item.isEnterNameS = '已确认';
} else if (item.isEnter == '2') {
item.isEnterNameS = '未确认';
}
if (item.isPayment == '1') {
item.isPaymentNameS = '已支付';
} else if (item.isPayment == '0') {
item.isPaymentNameS = '未支付';
}
});
};
//
const onLoad = async () => {
try {
details.loadingObj.list = true;
let submit = {
current: details.page.currentPage,
size: details.page.pageSize,
...details.query,
};
let res = await $_Maininetrain(submit);
const { code, data } = res.data;
if (code != 200) {
return;
}
details.data = data.records || [];
details.page.total = data.total; //
Fieldtranslatio(details.data);
} catch (e) {
console.log(e);
} finally {
details.loadingObj.list = false;
}
};
const onLoadPage = () => {
onLoad();
};
onLoadPage();
const exportExcel = () => {
ElMessageBox.confirm('是否导出数据?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
console.log(details.query, '搜索参数');
details.loadingObj.list = true;
let data = {
...details.query,
carsNoType:'1',
};
console.log(data, '要提交的数据');
$_Maininetrainexport(data).then(res => {
details.loadingObj.list = false;
downloadXls(res.data, `干线车次费用.xlsx`);
ElMessage({
message: '导出成功',
type: 'success',
});
});
})
.catch(() => {});
};
</script>
<style scoped lang="scss">
.ElBtnClass button {
border: none;
padding: 0;
background-color: transparent;
}
:deep(.el-card) {
height: 100%;
}
:deep(.el-card__body) {
height: 100%;
display: flex;
flex-direction: column;
}
.el-fy {
flex: 1;
display: flex;
align-items: flex-end;
}
.avue-crud {
height: 100%;
display: flex;
flex-direction: column;
}
</style>

4
src/views/cost/Deliverycostmanagement/Traincostbreakdown.vue

@ -640,7 +640,7 @@ const getAbnormalrecord = async () => {
let submit = {
current: details.pageyd.currentPage,
size: details.pageyd.pageSize,
detailId: viewAbnormalrecord.value.detailId,
detailId: viewAbnormalrecord.value.id,
};
let res = await $_Traincostbreakdownsubmitpage(submit);
console.log(res);
@ -658,6 +658,8 @@ const getAbnormalrecord = async () => {
};
//
const Abnormalrecord = async row => {
console.log(row);
viewAbnormalrecord.value.id = row.id;
viewAbnormalrecord.value.dialogVisible = true;
nextTick(() => {

27
src/views/distribution/artery/AddVehicleStowage.vue

@ -71,11 +71,6 @@
: index <= details.active
"
>
<!-- Number(details.pageType) !== 3 &&
( Number(details.pageType) === 1 ||
index === 0) ||
(Number(details.pageType) === 2 ||
index > details.active) -->
<el-option
v-for="val in details.options"
:key="val.warehouseName"
@ -136,12 +131,22 @@
<el-button type="primary" @click="handleAddDriver" icon="Plus"></el-button>
</div>
<!-- 外请 -->
<!-- 调度 -->
<div
class="form_row_item"
v-if="Number(form.driverType) === 3 || Number(form.driverType) === 4"
>
<el-form-item inline label="外请人">
<el-form-item
inline
label="调度人"
:rules="[
{
required: true,
message: '请选择调度人',
trigger: ['change'],
},
]"
>
<!-- <el-select
v-model="form.assistantName"
filterable
@ -160,23 +165,23 @@
/>
</el-select> -->
<el-input v-model="form.outDriverPerson" placeholder="请输入外请人" />
<el-input v-model="form.outDriverPerson" placeholder="请输入调度人" />
</el-form-item>
</div>
<!-- 外请站点 -->
<!-- <div
<div
class="form_row_item"
v-if="Number(form.driverType) === 3 || Number(form.driverType) === 4"
>
<el-form-item inline label="外请站点">
<el-input v-model="form.outsideStation" placeholder="请输入外请站点" />
</el-form-item>
</div> -->
</div>
<!-- 副驾司机 -->
<div class="form_row_item">
<el-form-item inline label="副驾司机">
<el-form-item inline label="副驾司机" prop="assistantName">
<el-select
v-model="form.assistantName"
filterable

1
vite.config.js

@ -18,6 +18,7 @@ export default ({ mode, command }) => {
// longge
// target: 'http://192.168.3.16:13000',
// xiaohei
// target:'http://192.168.3.65:13000',
// target: 'http://192.168.3.65:13000',
// lmy
// target: 'http://192.168.10.123:8889',

Loading…
Cancel
Save