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. 1257
      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"> <div id="avue-view" v-show="!isSearch" v-if="isRefresh">
<router-view #="{ Component }"> <router-view #="{ Component }">
<!-- <keep-alive :include="$store.getters.tagsKeep" :max="20"> --> <!-- <keep-alive :include="$store.getters.tagsKeep" :max="20"> -->
<keep-alive :max="10"> <!-- <keep-alive :max="10"> -->
<component :is="Component" /> <component :is="Component" />
</keep-alive> <!-- </keep-alive> -->
</router-view> </router-view>
</div> </div>
</div> </div>

24
src/router/views/index.js

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

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

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

1257
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-item>-->
<!-- </el-form>--> <!-- </el-form>-->
<!-- </el-row>--> <!-- </el-row>-->
<div class='el-zy-top'> <div class="el-zy-top">
<div class="order-info">
<div class="order-info">
<ul> <ul>
<li> <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>
<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> </li>
</ul> </ul>
</div> </div>
<el-row > <el-row>
<div class="avue-crud__header"> <div class="avue-crud__header">
<!-- 头部左侧按钮模块 --> <!-- 头部左侧按钮模块 -->
<div class="avue-crud__left"> <div class="avue-crud__left">
<!-- <el-button type="primary" icon="el-icon-plus" @click="handleAdd"> </el-button>--> <!-- <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 type="danger" icon="el-icon-delete" @click="handleDelete" plain-->
<!-- > </el-button--> <!-- > </el-button-->
<!-- >--> <!-- >-->
</div> </div>
<!-- 头部右侧按钮模块 --> <!-- 头部右侧按钮模块 -->
<div class="avue-crud__right"> <div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button> <el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
<el-button icon="Operation" @click="showdrawer(true)" 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-button icon="el-icon-search" @click="searchHide" circle></el-button>
</div>
</div> </div>
</div> </el-row>
</el-row> </div>
</div>
<el-row> <el-row>
<!-- 列表模块 --> <!-- 列表模块 -->
<tablecmt <tablecmt
@ -134,7 +135,10 @@
> >
<el-text <el-text
size="small" 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)" @click="handleSign(slotProps.scope.row)"
> </el-text > </el-text
> >
@ -239,6 +243,7 @@
</span> </span>
</template> </template>
</el-dialog> </el-dialog>
<el-dialog :title="'签收'" v-model="signBox" width="45%" append-to-body> <el-dialog :title="'签收'" v-model="signBox" width="45%" append-to-body>
<avue-form :option="signoption" v-model="signform" :data="signdata" ref="signform"> <avue-form :option="signoption" v-model="signform" :data="signdata" ref="signform">
</avue-form> </avue-form>
@ -248,6 +253,112 @@
<el-button type="primary" @click="cancellation">取消</el-button> <el-button type="primary" @click="cancellation">取消</el-button>
</div> </div>
</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> </el-dialog>
</div> </div>
</basic-container> </basic-container>
@ -350,6 +461,20 @@ import dayjs from 'dayjs';
export default { export default {
data() { data() {
return { return {
dialogImageUrl: '', //
dialogVisible: false, //
TcForm: {}, //
//
DoorstepPhoto: [],
//
StackingPhoto: [],
//
FragilePhotos: [],
//
HomePhotos: [],
//
SignForPhotos: [],
columnList: [ columnList: [
// { // {
// prop: '', // prop: '',
@ -1227,7 +1352,17 @@ export default {
showdrawer(value) { showdrawer(value) {
this.drawerShow = 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 * 固定搭配只需要更换 columnList
@ -1327,8 +1462,33 @@ export default {
this.signform = row; this.signform = row;
this.signBox = true; this.signBox = true;
getDetail(row.id).then(res => { getDetail(row.id).then(res => {
console.log("res"); console.log(res, '点击复核的返回值');
this.form = res.data.data; 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.wid= row.id
// this.getWrapdetails(this.wpage) // this.getWrapdetails(this.wpage)
@ -1599,22 +1759,22 @@ export default {
width: 258px; width: 258px;
} }
} }
.el-zy-top{ .el-zy-top {
display: flex; display: flex;
width: 100%; width: 100%;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
.rows{ .rows {
width:50%; width: 50%;
} }
.avue-crud__header{ .avue-crud__header {
display: flex; display: flex;
align-items: flex-end; align-items: flex-end;
} }
} }
.el-btn{ .el-btn {
:deep(.el-form-item__content){ :deep(.el-form-item__content) {
align-items: flex-end align-items: flex-end;
} }
} }
.order-info { .order-info {
@ -1653,4 +1813,23 @@ export default {
padding-left: 0; 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> </style>

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

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

Loading…
Cancel
Save