Browse Source

Merge branch 'dev' into pre-production

pre-production
pref_mail@163.com 8 months ago
parent
commit
9eb2f6f31b
  1. 8
      src/api/distribution/distributionParcelList.js
  2. 353
      src/api/distribution/packageNodeSearch.js
  3. 41
      src/components/pric/tablePric.vue
  4. 151
      src/views/cost/Deliverycostmanagement/Deliverymaintenancecosts.vue
  5. 6
      src/views/cost/Deliverycostmanagement/WarehouseTemplateHome.vue
  6. 12
      src/views/distribution/signdetail/packageNodeSearch.vue

8
src/api/distribution/distributionParcelList.js

@ -139,11 +139,11 @@ export const getPackageList = params => {
}); });
}; };
export const $_searchNode = (params) => { export const $_searchNode = (data) => {
return request({ return request({
url: '/api/logpm-distribution/distributionParcelList/searchNode', url: '/api/logpm-warehouse/packageTrackLog/finaPackageTrackLogList',
method: 'get', method: 'post',
params data
}); });
}; };

353
src/api/distribution/packageNodeSearch.js

@ -1,163 +1,192 @@
export const columnList = [
// {
// prop: '',
// label: '复选框',
// type: 0,
// width: 55,
// fixed: true,
// },
{
prop: '',
label: '序号',
type: 12,
values: '',
width: 55,
fixed: true,
},
{
prop: 'warehouseName',
label: '仓库名称',
type: 1,
values: '',
width: '100',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'waybillNumber',
label: '运单号',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'orderCode',
label: '订单自编号',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'orderPackageCode',
label: '包条码',
type: 1,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'nodeName',
label: '操作名称',
type: 1,
values: '',
width: '100',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'allocationName',
label: '所在库位',
type: 1,
values: '',
width: '100',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'trayName',
label: '托盘名称',
type: 1,
values: '',
width: '100',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'tranNumber',
label: '车次号',
type: 1,
values: '',
width: '140',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'quantity',
label: '数量',
type: 1,
values: '',
width: '100',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'nodeControlsUserName',
label: '操作人名称',
type: 1,
values: '',
width: '100',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'nodeTime',
label: '操作时间',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'description',
label: '操作描述',
type: 1,
values: '',
width: '200',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
/** 流转节点 */
// { export const columnList = [
// prop: 'createUserName', // {
// label: '操作', // prop: 'createUserName',
// type: 6, // label: '复选框',
// values: '', // type: 0,
// width: '100', // values: '',
// checkarr: [], // width: '55',
// fixed: 'right', // checkarr: [],
// sortable: false, // fixed: false,
// }, // },
] {
prop: 'createUserName',
label: '序号',
type: 12,
values: '',
width: '55',
checkarr: [],
fixed: false,
},
{
prop: 'warehouseName',
label: '仓库',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
// {
// prop: 'createTime',
// label: '订单自编号',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
{
prop: 'orderPackageCode',
label: '包条码',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'operator',
label: '操作人',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'content',
label: '描述',
type: 1,
values: '',
width: '250',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'createTime',
label: '操作时间',
type: 1,
values: '',
width: '250',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'workNodeName',
label: '节点',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
// {
// prop: 'createUserName',
// label: '是否干仓配',
// type: 1,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
// {
// prop: 'createUserName',
// label: '服务类型',
// type: 1,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
// {
// prop: 'createUserName',
// label: '流转节点',
// type: 1,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
// {
// prop: 'createUserName',
// label: '库位',
// type: 1,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
// {
// prop: 'createUserName',
// label: '托盘码',
// type: 1,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
// {
// prop: 'createUserName',
// label: '一级品名称',
// type: 1,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
// {
// prop: 'createUserName',
// label: '二级品名称',
// type: 1,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
// {
// prop: 'createUserName',
// label: '三级品名称',
// type: 1,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
// {
// prop: 'createUserName',
// label: '物料名称',
// type: 1,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
// {
// prop: 'createUserName',
// label: '物料编码',
// type: 1,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
];

41
src/components/pric/tablePric.vue

@ -29,11 +29,11 @@
remote-show-suffix remote-show-suffix
:remote-method="categoriesearch" :remote-method="categoriesearch"
:placeholder="'请选择' + column.label" :placeholder="'请选择' + column.label"
:loading=scope.row.loading :loading="scope.row.loading"
loading-text='正在查询中...' loading-text="正在查询中..."
@focus="categoriesSearchfocus(column, scope.row)" @focus="categoriesSearchfocus(column, scope.row)"
:disabled=column.show :disabled="column.show"
@change='selectChange' @change="selectChange"
> >
<el-option <el-option
v-for="item in scope.row.options" v-for="item in scope.row.options"
@ -43,6 +43,24 @@
:disabled="item.disabled" :disabled="item.disabled"
/> />
</el-select> </el-select>
<!-- 地区选择 -->
<el-cascader
v-if="column.type === 'cascader'"
pleceholder="请选择"
:options="scope.row.options"
style="width: 100%"
v-model="scope.row[column.prop]"
:props="{
checkStrictly: true,
}"
filterable
clearable
>
<template #default="{ node, data }">
<span>{{ data.label }}</span>
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
</template>
</el-cascader>
<!-- 操作栏 --> <!-- 操作栏 -->
<slot v-if="!column.type" :scope="scope"> </slot> <slot v-if="!column.type" :scope="scope"> </slot>
</template> </template>
@ -54,22 +72,21 @@
<script setup> <script setup>
import { ElTable, ElTableColumn, ElInputNumber } from 'element-plus'; import { ElTable, ElTableColumn, ElInputNumber } from 'element-plus';
// 使 defineProps props // 使 defineProps props
import { computed, defineComponent,ref } from 'vue'; import { computed, defineComponent, ref } from 'vue';
const SelectOpin=ref({})
defineComponent({ defineComponent({
emits: ['focus', 'search'], emits: ['focus', 'search'],
}); });
const emit = defineEmits(['focus', 'search']); const emit = defineEmits(['focus', 'search']);
function categoriesSearchfocus(column, row) { function categoriesSearchfocus(column, row) {
console.log(row.index,'row'); console.log(row.index, 'row');
emit('focus', { column, row }); emit('focus', { column, row });
} }
function categoriesearch(data) { function categoriesearch(data) {
emit('search', data); emit('search', data);
} }
function selectChange(data){ function selectChange(data) {
emit('change', data); emit('change', data);
} }
const props = defineProps({ const props = defineProps({
SurchargeData: { SurchargeData: {
@ -87,6 +104,4 @@ const props = defineProps({
}); });
</script> </script>
<style scoped lang='scss'> <style scoped lang="scss"></style>
</style>

151
src/views/cost/Deliverycostmanagement/Deliverymaintenancecosts.vue

@ -143,6 +143,12 @@
<el-radio value="0" size="large"></el-radio> <el-radio value="0" size="large"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="是否附加费">
<el-radio-group v-model="formLoad.a" class="ml-4">
<el-radio value="1" size="large"></el-radio>
<el-radio value="0" size="large"></el-radio>
</el-radio-group>
</el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
@ -212,16 +218,9 @@
</div> </div>
</div> </div>
<div class="asurcharge"> <div class="asurcharge">
<div class="el_asurcharge">
<span class="title">是否附加费</span>
<el-radio-group v-model="radio1" class="ml-4">
<el-radio value="0" size="large"></el-radio>
<el-radio value="1" size="large"></el-radio>
</el-radio-group>
</div>
<!-- 附加费表格 --> <!-- 附加费表格 -->
<div class="el_category asurcharge_box"> <div class="el_category asurcharge_box">
<span class="title">品类按方计</span> <span class="title">是否附加费</span>
<SurchargeTable <SurchargeTable
:SurchargeData="form.asurcharge" :SurchargeData="form.asurcharge"
:Surcharge="asurcharge" :Surcharge="asurcharge"
@ -237,22 +236,54 @@
<div class="el_Kilometers"> <div class="el_Kilometers">
<div class="el_Kilometers_box"> <div class="el_Kilometers_box">
<span class="title">公里数单价</span> <span class="title">公里数单价</span>
<el-input-number v-model="form.num" :min="1" :max="10" /> <el-input-number
v-model="form.numa"
:min="0"
:controls="false"
:precision="2"
:value-on-clear="0"
/>
</div> </div>
<div class="el_Kilometers_box"> <div class="el_Kilometers_box">
<span class="title">公里数单价</span> <span class="title">补贴起步公里数(km)</span>
<el-input-number v-model="form.num" :min="1" :max="10" /> <el-input-number
v-model="form.numb"
:min="0"
:controls="false"
:precision="2"
:value-on-clear="0"
/>
</div> </div>
<div class="el_Kilometers_box"> <div class="el_Kilometers_box">
<span class="title">公里数单价</span> <span class="title">补贴单价(/km)</span>
<el-input-number v-model="form.num" :min="1" :max="10" /> <el-input-number
v-model="form.numc"
:min="0"
:controls="false"
:precision="2"
:value-on-clear="0"
/>
</div> </div>
</div> </div>
<div class="el_Oversizedbilling">
<span class="title">超区区域计费</span>
<SurchargeTable
:SurchargeData="form.Oversizedbilling"
:Surcharge="Oversizedbilling"
@focus="handleRowFocus"
@search="search"
>
<template #default="slotProps">
<template v-if="slotProps.scope.column.label === '操作'">
<el-text class="el_text_del">删除</el-text>
</template>
</template>
</SurchargeTable>
</div>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button @click="form.dialogVisible = false">取消</el-button> <el-button @click="form.dialogVisible = false">取消</el-button>
<el-button type="primary" @click="Pricingrules = false"> 确定 </el-button> <el-button type="primary" @click="Pricingrules"> 确定 </el-button>
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
@ -260,10 +291,14 @@
<script setup> <script setup>
import { ref } from 'vue'; import { ref } from 'vue';
import SurchargeTable from '@/components/pric/tablePric.vue'; import SurchargeTable from '@/components/pric/tablePric.vue';
import { $_ObtainRegion } from '@/api/basicdata/basicdataWarehouse';
const activeName = ref('Commercialdistribution'); const activeName = ref('Commercialdistribution');
// //
const formLoad = ref({}); const formLoad = ref({});
const form = ref({ const form = ref({
numa: 0,
numb: 0,
numc: 0,
dialogPricingrules: false, // dialogPricingrules: false, //
dialogConfigure: false, dialogConfigure: false,
dispatchSubjoinCategoryData: [ dispatchSubjoinCategoryData: [
@ -281,7 +316,6 @@ const form = ref({
index: 1, index: 1,
Costsettlementcategory: '', // Costsettlementcategory: '', //
UnitPrice: '', //(/) UnitPrice: '', //(/)
Setunitprice: '', //(/)
options: [], options: [],
loading: false, loading: false,
}, },
@ -298,7 +332,58 @@ const form = ref({
loading: false, loading: false,
}, },
], ],
//
Oversizedbilling: [
{
index: 1,
Costsettlementcategory: '', //
a: '', //
b: '', //
c: '', //
options: [],
loading: false,
},
],
}); });
const onLoad = () => {
$_ObtainRegion().then(res => {
console.log(res, '地区。。。');
console.log(form.value.Oversizedbilling, 'form.value.Oversizedbilling');
if (res.data.code === 200) {
form.value.Oversizedbilling.forEach(item => {
item['options'] = res.data.data;
});
}
});
};
onLoad();
//
const Oversizedbilling = ref([
{ label: '序号', prop: 'index', type: 'string', width: '50', disabled: true },
{
label: '省市区',
prop: 'a',
type: 'cascader',
width: 'auto',
disabled: true,
},
{
label: '超区公里数',
prop: 'b',
type: 'number',
width: 'auto',
disabled: true,
},
{
label: '超区后单价',
prop: 'c',
type: 'number',
width: 'auto',
disabled: true,
},
{ label: '操作', prop: '', type: '', width: 'auto', disabled: true },
]);
// //
const Categorybyitembilling = ref([ const Categorybyitembilling = ref([
{ label: '序号', prop: 'index', type: 'string', width: '50', disabled: true }, { label: '序号', prop: 'index', type: 'string', width: '50', disabled: true },
@ -316,13 +401,6 @@ const Categorybyitembilling = ref([
width: 'auto', width: 'auto',
disabled: true, disabled: true,
}, },
{
label: '套单价(元/套)',
prop: 'Setunitprice',
type: 'number',
width: 'auto',
disabled: true,
},
]); ]);
// //
@ -414,7 +492,9 @@ const newlyadded = row => {
form.value.dispatchSubjoinCategoryData.push(data); form.value.dispatchSubjoinCategoryData.push(data);
}; };
// //
const Pricingrules = () => {}; const Pricingrules = () => {
console.log(form.value);
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -514,7 +594,6 @@ const Pricingrules = () => {};
} }
} }
.asurcharge_box { .asurcharge_box {
margin-top: 23px;
width: 100%; width: 100%;
} }
.el_Kilometers { .el_Kilometers {
@ -545,4 +624,26 @@ const Pricingrules = () => {};
} }
} }
} }
.el_Oversizedbilling {
.title {
position: relative;
padding: 0 10px;
display: block;
margin-top: 20px;
margin-bottom: 10px;
}
.title::after {
content: '';
position: absolute;
left: 0;
top: 0;
width: 4px;
height: 100%;
background-color: #172e60;
}
.el_text_del {
color: #ff5722;
cursor: pointer;
}
}
</style> </style>

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

@ -4,9 +4,9 @@
><el-input v-model="input" style="width: 240px" placeholder="模板名称" disabled /> ><el-input v-model="input" style="width: 240px" placeholder="模板名称" disabled />
<hr /> <hr />
<el-tabs v-model="activeName" type="card" class="demo-tabs" @tab-click="handleClick"> <el-tabs v-model="activeName" type="card" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane label="品类映射表" name="Categorymapping"> <!-- <el-tab-pane label="品类映射表" name="Categorymapping">
<WarehouseTemplate></WarehouseTemplate> <WarehouseTemplate></WarehouseTemplate>
</el-tab-pane> </el-tab-pane> -->
<el-tab-pane label="品类计价单位" name="Categorypricingunit"> <el-tab-pane label="品类计价单位" name="Categorypricingunit">
<Categorypricingunit></Categorypricingunit> <Categorypricingunit></Categorypricingunit>
</el-tab-pane> </el-tab-pane>
@ -32,7 +32,7 @@ const Deliverymaintenancecosts = defineAsyncComponent(() =>
import('@/views/cost/Deliverycostmanagement/Deliverymaintenancecosts.vue') import('@/views/cost/Deliverycostmanagement/Deliverymaintenancecosts.vue')
); );
const activeName = ref('Categorymapping') const activeName = ref('Categorypricingunit')
const input = ref('') const input = ref('')
const handleClick = (tab, event) => { const handleClick = (tab, event) => {
console.log(tab, event) console.log(tab, event)

12
src/views/distribution/signdetail/packageNodeSearch.vue

@ -17,10 +17,10 @@
<!-- </el-select>--> <!-- </el-select>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item :label="title + ':'"> <el-form-item :label="title + ':'">
<el-input v-model="query.packageCode" :placeholder="'请输入' + title"></el-input> <el-input v-model="query.orderPackageCode" :placeholder="'请输入' + title"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="title + ':'" v-show="show"> <el-form-item :label="title + ':'" v-show="show">
<el-input v-model="query.packageCode" :placeholder="'请输入' + title"></el-input> <el-input v-model="query.orderPackageCode" :placeholder="'请输入' + title"></el-input>
</el-form-item> </el-form-item>
<el-form-item> </el-form-item> <el-form-item> </el-form-item>
</div> </div>
@ -189,7 +189,7 @@ const showdrawer = _flag => {
details.drawerShow = _flag; details.drawerShow = _flag;
}; };
const onload = () => { const onload = () => {
if (!details.query.packageCode) { if (!details.query.orderPackageCode) {
return; return;
} }
details.loadingObj.list = true; details.loadingObj.list = true;
@ -220,12 +220,12 @@ const searchHide = () => {
}; };
console.log($route.query.orderPackageCode, '路由参数'); console.log($route.query.orderPackageCode, '路由参数');
// //
details.query.packageCode = $route.query.orderPackageCode; details.query.orderPackageCode = $route.query.orderPackageCode;
searchChange(); searchChange();
watch($route, (newValue, oldValue) => { watch($route, (newValue, oldValue) => {
// ID // ID
details.query.packageCode = $route.query.orderPackageCode; details.query.orderPackageCode = $route.query.orderPackageCode;
if (!details.query.packageCode) { if (!details.query.orderPackageCode) {
return; return;
} }
searchChange(); searchChange();

Loading…
Cancel
Save