Browse Source

Merge branch 'dev' into pre-production

pre-production
pref_mail@163.com 8 months ago
parent
commit
7e502933c4
  1. 16
      src/api/storagecost/index.js
  2. 1
      src/page/index/logo.vue
  3. 12
      src/page/login/index.vue
  4. 112
      src/views/cost/Deliverycostmanagement/Basicconfiguration.vue
  5. 34
      src/views/cost/Deliverycostmanagement/WarehouseTemplateHome.vue
  6. 49
      src/views/mail/order/add.vue

16
src/api/storagecost/index.js

@ -90,7 +90,7 @@ export const $_OrderTotalCostDetail = params => {
}; };
// 配送-订单总成本明细表-导出 // 配送-订单总成本明细表-导出
export const $_expenseDispatchOrderDetail= params => { export const $_expenseDispatchOrderDetail = params => {
return request({ return request({
url: '/api/logpm-statisticsdata/expenseDispatchOrderDetail/export-expenseDispatchOrderDetail', url: '/api/logpm-statisticsdata/expenseDispatchOrderDetail/export-expenseDispatchOrderDetail',
method: 'get', method: 'get',
@ -108,7 +108,7 @@ export const $_Financialreview = params => {
}); });
}; };
// 配送-财务审单-导出 // 配送-财务审单-导出
export const $_expenseDispatchFinancialReview= params => { export const $_expenseDispatchFinancialReview = params => {
return request({ return request({
url: '/api/logpm-statisticsdata/expenseDispatchFinancialReview/export-expenseDispatchFinancialReview', url: '/api/logpm-statisticsdata/expenseDispatchFinancialReview/export-expenseDispatchFinancialReview',
method: 'get', method: 'get',
@ -125,11 +125,19 @@ export const $_Traincostbreakdown = params => {
}); });
}; };
// 配送-车次成本明细-导出 // 配送-车次成本明细-导出
export const $_expenseDispatchTrainDetail= params => { export const $_expenseDispatchTrainDetail = params => {
return request({ return request({
url: '/api/logpm-statisticsdata/expenseDispatchTrainDetail/export-expenseDispatchTrainDetail', url: '/api/logpm-statisticsdata/expenseDispatchTrainDetail/export-expenseDispatchTrainDetail',
method: 'get', method: 'get',
params, params,
responseType: 'blob', responseType: 'blob',
}); });
}; };
// 新增模板
export const $_WarehouseTemplateHome = data => {
return request({
url: '/api/logpm-statisticsdata/expenseDispatchPriceTemplate/save',
method: 'data',
data,
});
};

1
src/page/index/logo.vue

@ -15,6 +15,7 @@
<span class="avue-logo_title" key="1">{{ website.indexTitle }} </span> <span class="avue-logo_title" key="1">{{ website.indexTitle }} </span>
</template> </template>
</transition-group> </transition-group>
</div> </div>
</div> </div>
</template> </template>

12
src/page/login/index.vue

@ -31,6 +31,9 @@
</div> </div>
</div> </div>
</div> </div>
<div class="index_footer">
<p>&copy;2024 货无忧 All Rights Reserved 成都数联物科信息技术有限公司</p>
</div>
</div> </div>
</template> </template>
<script> <script>
@ -145,4 +148,13 @@ export default {
<style lang="scss"> <style lang="scss">
@import '@/styles/login.scss'; @import '@/styles/login.scss';
.index_footer{
position: fixed;
bottom: 0;
width: 100%;
p{
text-align: center;
color: #999;
}
}
</style> </style>

112
src/views/cost/Deliverycostmanagement/Basicconfiguration.vue

@ -2,44 +2,95 @@
<div class="content"> <div class="content">
<el-form :model="form" label-width="auto"> <el-form :model="form" label-width="auto">
<el-form-item label="仓库"> <el-form-item label="仓库">
<el-select v-model="form.value" placeholder="请选择"> <el-select v-model="form.warehouse" filterable placeholder="请选择" clearable>
<el-option <el-option
v-for="item in options" v-for="item in warehouseList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
:disabled="item.disabled"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="模板名称"> <el-form-item label="模板名称">
<el-input v-model="form.name" placeholder="请输入模板名称"/> <el-input v-model="form.templateName" placeholder="请输入模板名称" />
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="footer">
<el-button type="primary" @click="nextstep"
>下一步<el-icon><ArrowRightBold /></el-icon
></el-button>
</div>
</template> </template>
<script setup> <script setup>
import { ref } from 'vue'; import { ref, defineComponent } from 'vue';
import { $_getMyWarehouseList, $_WarehouseTemplateHome } from '@/api/storagecost/index.js';
import { useRoute } from 'vue-router';
import { useStore } from 'vuex';
const $useStore = useStore();
const $route = useRoute(); //
const emit = defineEmits(['request-data']);
defineComponent({
emits: ['request-data'],
});
//
const props = defineProps({
templateData: Object,
});
console.log(props, '来自父页面参数');
const form = ref({}); const form = ref({});
const options = ref([ const warehouseList = ref([]);
{ //
value: '按件', const getWarehouse = () => {
label: '按件', $_getMyWarehouseList().then(res => {
}, console.log('获取仓库', res);
{ if (res.data.code == 200) {
value: '按方', warehouseList.value = res.data.data || [];
label: '按方', }
}, });
{ };
value: '按重量', //
label: '按重量', const disabledWarehouse = () => {
}, let WarehouseName = localStorage.getItem('WarehouseName');
{ if (WarehouseName != 'undefined') {
value: '按吨', console.log('不存在仓库');
label: '按吨',
}, }
]); };
const onLoad = () => {
getWarehouse();
disabledWarehouse()
};
onLoad();
//
const nextstep = () => {
console.log(my_data, 'my_data');
console.log(my_data == true);
console.log(my_data == false);
return;
let data = {
expenseDispatchPriceTemplate: {
templateName: form.value.templateName,
warehouseName: warehouseList.value.find(item => item.id == form.value.warehouse)?.name || '', //
warehouseId: form.value.warehouse, //ID
},
};
$_WarehouseTemplateHome(data).then(res => {
console.log(res, '新增成功');
});
return;
emit('request-data', '给父页面传递的参数:'); //
console.log(props, '最新参数');
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -52,4 +103,17 @@ const options = ref([
} }
} }
} }
.footer {
position: fixed;
bottom: 10px;
left: 4%;
width: 100%;
display: flex;
justify-content: center;
.el-button {
width: 120px;
height: 40px;
font-size: 16px;
}
}
</style> </style>

34
src/views/cost/Deliverycostmanagement/WarehouseTemplateHome.vue

@ -20,18 +20,11 @@
<el-step title="车型计费配置" @click="active = 4" /> <el-step title="车型计费配置" @click="active = 4" />
</el-steps> </el-steps>
<div class="el_tabes"> <div class="el_tabes">
<Basicconfiguration v-if="active == 1"></Basicconfiguration> <Basicconfiguration v-if="active == 1" @request-data="provideData" :templateData="templateInfo"></Basicconfiguration>
<Categorypricingunit v-if="active == 2"></Categorypricingunit> <Categorypricingunit v-if="active == 2" @request-data="provideData" :templateData="templateInfo"></Categorypricingunit>
<DeliveryCostPricingTemplate v-if="active == 3"></DeliveryCostPricingTemplate> <DeliveryCostPricingTemplate v-if="active == 3" @request-data="provideData" :templateData="templateInfo"></DeliveryCostPricingTemplate>
<Deliverymaintenancecosts v-if="active == 4"></Deliverymaintenancecosts> <Deliverymaintenancecosts v-if="active == 4" @request-data="provideData" :templateData="templateInfo"></Deliverymaintenancecosts>
<div class="footer">
<el-button type="primary" @click="nextstep"
>下一步<el-icon><ArrowRightBold /></el-icon
></el-button>
<el-button type="primary"
><el-icon><Promotion /></el-icon></el-button
>
</div>
</div> </div>
</div> </div>
</template> </template>
@ -39,6 +32,8 @@
<script setup> <script setup>
import { ref, defineAsyncComponent } from 'vue'; import { ref, defineAsyncComponent } from 'vue';
import { ElMessage } from 'element-plus'; import { ElMessage } from 'element-plus';
import { $_getMyWarehouseList} from '@/api/storagecost/index.js';
const templateInfo=ref({a:'1'});//
const active = ref(1); const active = ref(1);
// //
// const WarehouseTemplate = defineAsyncComponent(() => // const WarehouseTemplate = defineAsyncComponent(() =>
@ -70,6 +65,7 @@ const handleClick = (tab, event) => {
}; };
// //
const nextstep = () => { const nextstep = () => {
if (active.value == 4) { if (active.value == 4) {
ElMessage({ ElMessage({
message: '已经最后一步了', message: '已经最后一步了',
@ -79,6 +75,14 @@ const nextstep = () => {
} }
active.value++; active.value++;
}; };
const onLoad=()=>{
}
onLoad();
const provideData=(data)=>{
console.log(data,'数据');
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -104,9 +108,9 @@ const nextstep = () => {
font-size: 16px; font-size: 16px;
} }
} }
:deep(.basic-container){ :deep(.basic-container) {
.el-card{ .el-card {
box-shadow:none; box-shadow: none;
} }
} }
</style> </style>

49
src/views/mail/order/add.vue

@ -242,7 +242,7 @@
</el-form-item> </el-form-item>
<template v-if="orderShow"> <template v-if="orderShow">
<el-dialog v-model="orderShow" title="在库订单信息" width="100%" :model="addvalue"> <el-dialog v-model="orderShow" title="在库订单信息" width="80%" :model="addvalue">
<!-- :before-close="handleClose"--> <!-- :before-close="handleClose"-->
<!-- <el-form :inline="true" :model="query">--> <!-- <el-form :inline="true" :model="query">-->
<!-- <el-form-item label="订单自编号:">--> <!-- <el-form-item label="订单自编号:">-->
@ -273,6 +273,8 @@
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- </el-form>--> <!-- </el-form>-->
<tablecmt <tablecmt
class="tableNode"
:columnList="stockArtcolumnList" :columnList="stockArtcolumnList"
:tableData="stockArticleInfo" :tableData="stockArticleInfo"
:checkselect="orderSelectList" :checkselect="orderSelectList"
@ -390,7 +392,7 @@
</el-dialog> </el-dialog>
<template v-if="stockListShow"> <template v-if="stockListShow">
<el-dialog v-model="stockListShow" title="库存品信息" width="100%"> <el-dialog v-model="stockListShow" title="库存品信息" width="80%">
<!-- :before-close="handleClose"--> <!-- :before-close="handleClose"-->
<!-- <el-form :inline="true" :model="query">--> <!-- <el-form :inline="true" :model="query">-->
<!-- <el-form-item label="商场名称:">--> <!-- <el-form-item label="商场名称:">-->
@ -417,6 +419,7 @@
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- </el-form>--> <!-- </el-form>-->
<tablecmt <tablecmt
class="kcptableNode"
:columnList="inventoryInfocolumnList" :columnList="inventoryInfocolumnList"
:tableData="inventoryInfo" :tableData="inventoryInfo"
:checkselect="inventorySelectList" :checkselect="inventorySelectList"
@ -618,15 +621,16 @@
getClientList, getClientList,
selectUpdateAvailableStockArticle, selectUpdateAvailableStockArticle,
getZeroOrderDetail, getZeroOrderDetail,
$_clientList,
} from '@/api/distribution/distributionStockArticle'; } from '@/api/distribution/distributionStockArticle';
import { getDetailDelivery } from '@/api/distribution/distributionDelivery'; import { getDetailDelivery } from '@/api/distribution/distributionDelivery';
import { addIncrement } from '@/api/distribution/distributionStockArticle'; import { addIncrement } from '@/api/distribution/distributionStockArticle';
import { import {
getInventoryList, getInventoryList,
getStockListClient, getStockListClient,
selectInventoryDetail selectInventoryDetail,
} from '@/api/distribution/distributionStockList'; } from '@/api/distribution/distributionStockList';
import {setNodeHeight } from '@/utils/util';
import option from '@/option/distribution/distributionStockArticle'; import option from '@/option/distribution/distributionStockArticle';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { getDictionaryBiz } from '@/api/system/dict'; import { getDictionaryBiz } from '@/api/system/dict';
@ -2070,6 +2074,7 @@
let params = {}; let params = {};
this.query.serviceType = '2'; this.query.serviceType = '2';
params.marketName = this.marketName; params.marketName = this.marketName;
this.loading=true;
getStockListClient(page.currentPage, page.pageSize, Object.assign(params, this.query)).then( getStockListClient(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(
res => { res => {
const inventoryList = res.data.data; const inventoryList = res.data.data;
@ -2102,7 +2107,16 @@
this.selectionClear(); this.selectionClear();
this.stockListShow = true; this.stockListShow = true;
} }
); ).catch(error=>{
console.log(error);
}).finally(()=>{
this.loading=false;
let ctime= setTimeout(()=>{
const _node = document.querySelector('.kcptableNode');
setNodeHeight(_node, '', true);
clearTimeout(ctime)
},50)
});
this.query = {}; this.query = {};
this.inventoryList = []; this.inventoryList = [];
}, },
@ -2368,6 +2382,7 @@
let params = {}; let params = {};
let page = this.page; let page = this.page;
this.query.serviceType = 2; this.query.serviceType = 2;
this.loading=true;
getStockListClient(page.currentPage, page.pageSize, Object.assign(params, this.query)).then( getStockListClient(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(
res => { res => {
const inventoryList = res.data.data; const inventoryList = res.data.data;
@ -2381,10 +2396,21 @@
}); });
this.page.total = inventoryList.total; this.page.total = inventoryList.total;
this.inventoryInfo = inventoryList.records; this.inventoryInfo = inventoryList.records;
this.loading = false; this.loading = false;
this.selectionClear(); this.selectionClear();
} }
); ).catch(error=>{
console.log(error);
}).finally(()=>{
this.loading=false;
let ctime= setTimeout(()=>{
const _node = document.querySelector('.kcptableNode');
setNodeHeight(_node, '', true);
clearTimeout(ctime)
},50)
});
}, },
stockArticleSearchReset() { stockArticleSearchReset() {
this.selectionList = []; this.selectionList = [];
@ -2984,15 +3010,24 @@
if (this.orderData.length !== 0) { if (this.orderData.length !== 0) {
this.query.orderIds = this.orderData.map(val => val.id).join(','); this.query.orderIds = this.orderData.map(val => val.id).join(',');
} }
const res = await getClientList(
this.loading=true;
const res = await $_clientList(
page.currentPage, page.currentPage,
page.pageSize, page.pageSize,
Object.assign(params, this.query) Object.assign(params, this.query)
); );
this.loading=false;
console.log('res ===>>', res); console.log('res ===>>', res);
const { records, total } = res.data.data; const { records, total } = res.data.data;
this.stockArticleInfo = records; this.stockArticleInfo = records;
let time= setTimeout(()=>{
const _node = document.querySelector('.tableNode');
setNodeHeight(_node, '', true);
clearTimeout(time)
},50)
this.stockArticleInfo.forEach((item, index) => { this.stockArticleInfo.forEach((item, index) => {
// //
this.checkOrder(item, index); this.checkOrder(item, index);

Loading…
Cancel
Save