Browse Source

Merge branch 'dev' of http://47.108.105.48:3000/java_project/logpm_page into dev

fix_bug_pro20231227
qb 1 year ago
parent
commit
ec293b97d3
  1. 4
      src/page/index/index.vue
  2. 24
      src/router/views/index.js
  3. 94
      src/views/distribution/reservation/atlas.vue
  4. 1255
      src/views/distribution/signfor/devtmp.vue
  5. 255
      src/views/distribution/signfor/distributionSignfortreat.vue
  6. 28
      src/views/distribution/turndelivery/deliveryDiscuss.vue

4
src/page/index/index.vue

@ -16,9 +16,9 @@
<div id="avue-view" v-show="!isSearch" v-if="isRefresh">
<router-view #="{ Component }">
<!-- <keep-alive :include="$store.getters.tagsKeep" :max="20"> -->
<keep-alive :max="10">
<!-- <keep-alive :max="10"> -->
<component :is="Component" />
</keep-alive>
<!-- </keep-alive> -->
</router-view>
</div>
</div>

24
src/router/views/index.js

@ -1047,18 +1047,18 @@ export default [
// },
// ],
// },
// {
// path: '/distribution/signfor//devtmp',
// component: Layout,
// redirect: '/distribution/signfor//devtmp',
// children: [
// {
// path: '/distribution/signfor//devtmp',
// name: '签收明细重构',
// component: () => import('@/views/distribution/signfor//devtmp.vue'),
// },
// ],
// },
{
path: '/distribution/signfor/devtmp',
component: Layout,
redirect: '/distribution/signfor/devtmp',
children: [
{
path: '/distribution/signfor/devtmp',
name: '签收明细重构',
component: () => import('@/views/distribution/signfor/devtmp.vue'),
},
],
},
// {
// path: 'basicdata/goodsShelf/basicdataGoodsShelfView',
// component: Layout,

94
src/views/distribution/reservation/atlas.vue

@ -6,25 +6,25 @@
<div class="bmap" id="container"></div>
</div>
<div class="maplists">
<el-scrollbar>
<div class="mbx">
<el-checkbox v-for="item in datalists"
v-model="item.isck"
:label="`${ item.content }--时间:${ item.time }--距离:${ item.distance }公里(${item.items.reservationNum+item.items.reservationStockListNum}件)`"
size="large" />
<!-- <el-text class="mx-1 txbx" type="primary">
{{ item.content }}--时间:{{ item.time }}--距离:{{ item.distance }}公里({{
item.items.handQuantity
}})
</el-text> -->
</div>
</el-scrollbar>
<el-table :data="DataInfo" border style="width: 100%">
<el-table-column type="selection" width="55" />
<el-table-column prop="consignee" label="仓库" width="500" />
<el-table-column prop="content" label="位置" width="500" />
<el-table-column prop="deliveryPhone" label="电话" width="500" />
<el-table-column prop="time" label="时间" width="180" />
<el-table-column prop="distance" label="公里" width="200" />
<el-table-column label="件数" width="100">
<template #default="props">
{{ props.row.items.reservationNum + props.row.items.reservationStockListNum }}
</template>
</el-table-column>
</el-table>
<div style="display: flex; align-items: center; justify-content: center">
<el-button @click="checkgoto">确认(转配送)</el-button>
<el-button icon="el-icon-circle-close" @click="back"> </el-button>
</div>
</div>
</div>
<div style="display: flex; align-items: center; justify-content: center">
<el-button @click="checkgoto">确认(转配送)</el-button>
<el-button icon="el-icon-circle-close" @click="back"> </el-button>
</div>
</div>
</basic-container>
</template>
@ -33,7 +33,7 @@
import { useStore } from 'vuex';
import { getReservationAddr } from '@/api/distribution/distributionReservation';
import { getDictionaryBiz } from '@/api/system/dict';
import { onMounted, reactive, toRefs, watchEffect } from 'vue';
import { onMounted, reactive, toRefs, watchEffect, ref } from 'vue';
import { useRouter } from 'vue-router';
import { selectStockArticleAtlasInfo } from '@/api/distribution/distributionDeliveryList';
// import { getReservationAddr } from '@/api/distribution/distributionReservation';
@ -55,6 +55,7 @@ let details = reactive({
drivingarrs: [],
// datalist:[]
});
const DataInfo = ref([]); //
onMounted(() => {
initmap();
});
@ -63,13 +64,11 @@ watchEffect(() => {
details.item = router.currentRoute.value.query.id;
if (!details.item) return;
getReservationAddr(details.item).then(res => {
// selectStockArticleAtlasInfo(details.item.id).then(res => {
console.log(res.data.data);
console.log(res, '获取到的参数+');
DataInfo.value = res.data.data;
console.log(DataInfo, '接收参数');
this.console.log(res.data.data);
const data = res.data.data;
// details.lng = res.data.data[0].jingdu;
// details.lat = res.data.data[0].weidu;
// details.abbreviation=res?.data?.data[0]?.warehouseName
// console.log('res------------->', data);
details.reservationData = data;
details.mapLoc.remove(details.markersarr);
details.drivingarrs.map(item => {
@ -93,16 +92,17 @@ function initmap() {
});
}
function checkgoto() {
let ids = []
details.datalists.map(item=>{
if(item.isck){
ids.push(item.items.id)
let ids = [];
details.datalists.map(item => {
if (item.isck) {
ids.push(item.items.id);
}
})
if(ids.length==0){
return
});
if (ids.length == 0) {
return;
}
let stids=ids.join(',')
let stids = ids.join(',');
//
router.push({
path: '/distribution/turndelivery/deliveryMarket',
query: {
@ -186,7 +186,7 @@ function Driving(geocodess) {
// console.log(result.routes[0]);
item.time = formatSeconds(result.routes[0].time);
item.distance = result.routes[0].distance / 1000;
item.isck=true
item.isck = true;
// item.distance=result.routes[0].distance/1000
details.datalists.push(item);
} else {
@ -225,6 +225,7 @@ const { datalists } = toRefs(details);
}
.mabxmp {
display: flex;
height: 100%;
align-items: flex-start;
> .mapbox {
width: 50%;
@ -249,4 +250,31 @@ const { datalists } = toRefs(details);
box-sizing: border-box;
width: 100%;
}
:deep(.el-card) {
height: 100%;
}
.amap-container {
height: 100%;
margin-bottom: 10px;
}
:deep(.el-card__body) {
height: 100%;
.avue-crud {
height: 100%;
.mapbox {
height: 100%;
}
}
}
:deep(.cell) {
display: flex;
padding: 0;
align-items: center;
justify-content: center;
}
:deep(.el-table-column--selection) {
display: flex;
align-items: center;
justify-content: center;
}
</style>

1255
src/views/distribution/signfor/devtmp.vue

File diff suppressed because it is too large Load Diff

255
src/views/distribution/signfor/distributionSignfortreat.vue

@ -81,37 +81,38 @@
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- </el-row>-->
<div class='el-zy-top'>
<div class="order-info">
<div class="el-zy-top">
<div class="order-info">
<ul>
<li>
<img src="../../../../public/img/bg/Delivery.png" /> <span>司机待签收数{{ statistics.driverNub }}</span>
<img src="../../../../public/img/bg/Delivery.png" />
<span>司机待签收数{{ statistics.driverNub }}</span>
</li>
<li>
<img src="../../../../public/img/bg/package.png" /> <span>文员待审核数{{ statistics.clerkNub }}</span>
<img src="../../../../public/img/bg/package.png" />
<span>文员待审核数{{ statistics.clerkNub }}</span>
</li>
</ul>
</div>
<el-row >
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<!-- <el-button type="primary" icon="el-icon-plus" @click="handleAdd"> </el-button>-->
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain-->
<!-- > </el-button-->
<!-- >-->
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
<el-button icon="Operation" @click="showdrawer(true)" circle></el-button>
<el-button icon="el-icon-search" @click="searchHide" circle></el-button>
<el-row>
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<!-- <el-button type="primary" icon="el-icon-plus" @click="handleAdd"> </el-button>-->
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain-->
<!-- > </el-button-->
<!-- >-->
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
<el-button icon="Operation" @click="showdrawer(true)" circle></el-button>
<el-button icon="el-icon-search" @click="searchHide" circle></el-button>
</div>
</div>
</div>
</el-row>
</div>
</el-row>
</div>
<el-row>
<!-- 列表模块 -->
<tablecmt
@ -134,7 +135,10 @@
>
<el-text
size="small"
v-if="slotProps.scope.row.sijiSigningStatus == '司机已签收' && slotProps.scope.row.wenyuanSigningStatus=='文员待审核'"
v-if="
slotProps.scope.row.sijiSigningStatus == '司机已签收' &&
slotProps.scope.row.wenyuanSigningStatus == '文员待审核'
"
@click="handleSign(slotProps.scope.row)"
> </el-text
>
@ -239,6 +243,7 @@
</span>
</template>
</el-dialog>
<el-dialog :title="'签收'" v-model="signBox" width="45%" append-to-body>
<avue-form :option="signoption" v-model="signform" :data="signdata" ref="signform">
</avue-form>
@ -248,6 +253,112 @@
<el-button type="primary" @click="cancellation">取消</el-button>
</div>
</div>
<span>-------------------------------------------------------------------------------</span>
<div class="TcFrom">
<el-form :model="TcForm" label-width="120px">
<el-form-item label="收货人姓名">
<el-input disabled v-model="TcForm.consignee" />
</el-form-item>
<el-form-item label="收货人电话">
<el-input disabled v-model="TcForm.deliveryPhone" />
</el-form-item>
<el-form-item label="收货人地址">
<el-input disabled v-model="TcForm.deliveryAddress" />
</el-form-item>
<el-form-item label="签收人类型">
<el-radio-group v-model="TcForm.signingType" class="ml-4">
<el-radio label="1" size="large">签收</el-radio>
<el-radio label="2" size="large">待签收</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="TcForm.clerkSignRemarks" />
</el-form-item>
</el-form>
<div class="imgName">
<span>上门照</span>
<el-upload
v-model:file-list="DoorstepPhoto"
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
>
<el-icon><Plus /></el-icon>
</el-upload>
<el-dialog v-model="dialogVisible">
<img w-full :src="dialogImageUrl" alt="IMG" />
</el-dialog>
</div>
<div class="imgName">
<span>堆码照</span>
<el-upload
v-model:file-list="StackingPhoto"
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
>
<el-icon><Plus /></el-icon>
</el-upload>
<el-dialog v-model="dialogVisible">
<img w-full :src="dialogImageUrl" alt="IMG" />
</el-dialog>
</div>
<div class="imgName">
<span>易碎照</span>
<el-upload
v-model:file-list="FragilePhotos"
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
>
<el-icon><Plus /></el-icon>
</el-upload>
<el-dialog v-model="dialogVisible">
<img w-full :src="dialogImageUrl" alt="IMG" />
</el-dialog>
</div>
<div class="imgName">
<span>家配照</span>
<el-upload
v-model:file-list="HomePhotos"
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
>
<el-icon><Plus /></el-icon>
</el-upload>
<el-dialog v-model="dialogVisible">
<img w-full :src="dialogImageUrl" alt="IMG" />
</el-dialog>
</div>
<div class="imgName">
<span>签收照</span>
<el-upload
v-model:file-list="SignForPhotos"
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
>
<el-icon><Plus /></el-icon>
</el-upload>
<el-dialog v-model="dialogVisible">
<img w-full :src="dialogImageUrl" alt="IMG" />
</el-dialog>
</div>
</div>
</el-dialog>
</div>
</basic-container>
@ -350,6 +461,20 @@ import dayjs from 'dayjs';
export default {
data() {
return {
dialogImageUrl: '', //
dialogVisible: false, //
TcForm: {}, //
//
DoorstepPhoto: [],
//
StackingPhoto: [],
//
FragilePhotos: [],
//
HomePhotos: [],
//
SignForPhotos: [],
columnList: [
// {
// prop: '',
@ -1227,7 +1352,17 @@ export default {
showdrawer(value) {
this.drawerShow = value;
},
//
handleRemove(uploadFile, uploadFiles) {
console.log(uploadFile, uploadFiles);
console.log('执行了1回调');
},
handlePictureCardPreview(uploadFile) {
console.log(uploadFile);
console.log('执行了2回调');
dialogVisible.value = true;
},
/**
* 弹窗的勾选回调用于更改头部数组
* 固定搭配只需要更换 columnList
@ -1327,8 +1462,33 @@ export default {
this.signform = row;
this.signBox = true;
getDetail(row.id).then(res => {
console.log("res");
console.log(res, '点击复核的返回值');
this.form = res.data.data;
this.TcForm = res.data.data;
//
this.DoorstepPhoto = [];
this.StackingPhoto = [];
this.FragilePhotos = [];
this.HomePhotos = [];
this.SignForPhotos = [];
res.data.data.printVOList.forEach(item => {
if (item.type == 'photo_1') {
this.DoorstepPhoto.push({ name: item.name, url: item.urlRoute });
}
if (item.type == 'photo_2') {
this.StackingPhoto.push({ name: item.name, url: item.urlRoute });
}
if (item.type == 'photo_3') {
this.FragilePhotos.push({ name: item.name, url: item.urlRoute });
}
if (item.type == 'photo_4') {
this.HomePhotos.push({ name: item.name, url: item.urlRoute });
}
if (item.type == 'photo_5') {
this.SignForPhotos.push({ name: item.name, url: item.urlRoute });
}
});
});
// this.wid= row.id
// this.getWrapdetails(this.wpage)
@ -1599,22 +1759,22 @@ export default {
width: 258px;
}
}
.el-zy-top{
display: flex;
width: 100%;
justify-content: space-between;
align-items: center;
.rows{
width:50%;
}
.avue-crud__header{
display: flex;
.el-zy-top {
display: flex;
width: 100%;
justify-content: space-between;
align-items: center;
.rows {
width: 50%;
}
.avue-crud__header {
display: flex;
align-items: flex-end;
}
}
}
.el-btn{
:deep(.el-form-item__content){
align-items: flex-end
.el-btn {
:deep(.el-form-item__content) {
align-items: flex-end;
}
}
.order-info {
@ -1653,4 +1813,23 @@ export default {
padding-left: 0;
}
}
.TcFrom {
:deep(.el-form) {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
.el-form-item {
width: 46%;
}
}
}
.imgName {
span {
font-weight: bold;
font-size: 16px;
}
span::after {
content: '';
}
}
</style>

28
src/views/distribution/turndelivery/deliveryDiscuss.vue

@ -487,7 +487,7 @@
<el-table
:data="wrapLoading ? wrapData : data"
border
:height="searchSo ? '500' : '580'"
:height="searchSo ? '480' : '550'"
style="width: 100%"
ref="tableRefs"
@select-all="selectAll"
@ -1152,17 +1152,17 @@ const menuData = ref([
sortable: true,
head: true,
},
{
prop: 'mallId',
label: '商场编号',
type: 1,
values: '',
width: '260',
checkarr: [],
fixed: false,
sortable: true,
head: true,
},
// {
// prop: 'mallId',
// label: '',
// type: 1,
// values: '',
// width: '260',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: true,
// },
{
prop: 'storeName',
label: '门店名称',
@ -1545,12 +1545,10 @@ const wrap = ref([
function onLoad() {
loading.value = true; //
}
const TabHeig = () => {
TabHeight.value = TabHeight.value.offsetHeight; //
console.log(TabHeight.value.offsetHeight, 'TabHeight.value.offsetHeight');
};
// DOM
//
onMounted(() => {
@ -2827,7 +2825,7 @@ const SubmitCommercial = () => {
.addlalogS {
:deep(.el-dialog) {
width: 81%;
height: 81%;
min-height: 70%;
margin-top: 0;
position: fixed;
top: 50%;

Loading…
Cancel
Save