Browse Source

Merge branch 'dev' into pre-production

pre-production
pref_mail@163.com 8 months ago
parent
commit
7e502933c4
  1. 14
      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

14
src/api/storagecost/index.js

@ -90,7 +90,7 @@ export const $_OrderTotalCostDetail = params => {
};
// 配送-订单总成本明细表-导出
export const $_expenseDispatchOrderDetail= params => {
export const $_expenseDispatchOrderDetail = params => {
return request({
url: '/api/logpm-statisticsdata/expenseDispatchOrderDetail/export-expenseDispatchOrderDetail',
method: 'get',
@ -108,7 +108,7 @@ export const $_Financialreview = params => {
});
};
// 配送-财务审单-导出
export const $_expenseDispatchFinancialReview= params => {
export const $_expenseDispatchFinancialReview = params => {
return request({
url: '/api/logpm-statisticsdata/expenseDispatchFinancialReview/export-expenseDispatchFinancialReview',
method: 'get',
@ -125,7 +125,7 @@ export const $_Traincostbreakdown = params => {
});
};
// 配送-车次成本明细-导出
export const $_expenseDispatchTrainDetail= params => {
export const $_expenseDispatchTrainDetail = params => {
return request({
url: '/api/logpm-statisticsdata/expenseDispatchTrainDetail/export-expenseDispatchTrainDetail',
method: 'get',
@ -133,3 +133,11 @@ export const $_expenseDispatchTrainDetail= params => {
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>
</template>
</transition-group>
</div>
</div>
</template>

12
src/page/login/index.vue

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

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

@ -2,44 +2,95 @@
<div class="content">
<el-form :model="form" label-width="auto">
<el-form-item label="仓库">
<el-select v-model="form.value" placeholder="请选择">
<el-select v-model="form.warehouse" filterable placeholder="请选择" clearable>
<el-option
v-for="item in options"
v-for="item in warehouseList"
:key="item.value"
:label="item.label"
:value="item.value"
:label="item.name"
:value="item.id"
:disabled="item.disabled"
/>
</el-select>
</el-form-item>
<el-form-item label="模板名称">
<el-input v-model="form.name" placeholder="请输入模板名称"/>
<el-input v-model="form.templateName" placeholder="请输入模板名称" />
</el-form-item>
</el-form>
</div>
<div class="footer">
<el-button type="primary" @click="nextstep"
>下一步<el-icon><ArrowRightBold /></el-icon
></el-button>
</div>
</template>
<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 options = ref([
{
value: '按件',
label: '按件',
},
{
value: '按方',
label: '按方',
},
{
value: '按重量',
label: '按重量',
},
{
value: '按吨',
label: '按吨',
},
]);
const warehouseList = ref([]);
//
const getWarehouse = () => {
$_getMyWarehouseList().then(res => {
console.log('获取仓库', res);
if (res.data.code == 200) {
warehouseList.value = res.data.data || [];
}
});
};
//
const disabledWarehouse = () => {
let WarehouseName = localStorage.getItem('WarehouseName');
if (WarehouseName != 'undefined') {
console.log('不存在仓库');
}
};
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>
<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>

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

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

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

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

Loading…
Cancel
Save