Browse Source

新增部分干线按钮权限

dev-xx
qb 9 months ago
parent
commit
a548896aaf
  1. 153
      src/views/distribution/artery/VehicleArrivalManagement.vue
  2. 142
      src/views/distribution/artery/VehicleStowage.vue
  3. 27
      src/views/distribution/artery/VehicleStowageDetails.vue
  4. 58
      src/views/distribution/artery/directGoMarketDetails.vue
  5. 146
      src/views/distribution/artery/truckLoadingDetails.vue
  6. 96
      src/views/distribution/inventory/arteryDistrilbutionBillLadingList.vue
  7. 22
      src/views/distribution/inventory/arteryDistrilbutionBillLadingListDetails.vue
  8. 2
      src/views/waybill/TemporaryStorageList.vue
  9. 49
      src/views/waybill/orderPackageList.vue
  10. 68
      src/views/waybill/orderPackageListDetails.vue
  11. 56
      src/views/wel/index1.vue

153
src/views/distribution/artery/VehicleArrivalManagement.vue

@ -73,28 +73,85 @@
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<el-button type="primary" icon="el-icon-van" @click="handleStartCar">发车 </el-button>
<el-button type="primary" icon="el-icon-close" @click="handleEndCar"
>网点取消发车</el-button
<!-- 发车 -->
<el-button
v-if="permissionObj.VehicleArrivalManagement_startCar"
type="primary"
icon="el-icon-van"
@click="handleStartCar"
>发车
</el-button>
<!-- 网点取消发车 -->
<el-button
v-if="permissionObj.VehicleArrivalManagement_nodeCancelStartCar"
type="primary"
icon="el-icon-close"
@click="handleEndCar"
>网点取消发车
</el-button>
<!-- 装载清单 -->
<el-button
v-if="permissionObj.VehicleArrivalManagement_listOfLoadedWagons"
type="primary"
icon="el-icon-printer"
@click="handleShowListOfLoadedWagons"
>
<el-button type="primary" icon="el-icon-printer" @click="handleShowListOfLoadedWagons"
>装载清单</el-button
装载清单
</el-button>
<!-- 到达 -->
<el-button
v-if="permissionObj.VehicleArrivalManagement_arrive"
type="primary"
icon="el-icon-printer"
@click="handleArrive"
>到达
</el-button>
<!-- 取消到达 -->
<el-button
v-if="permissionObj.VehicleArrivalManagement_cancelArrive"
type="primary"
icon="el-icon-printer"
@click="handleCloseArrive"
>
<el-button type="primary" icon="el-icon-printer" @click="handleArrive">到达</el-button>
<el-button type="primary" icon="el-icon-printer" @click="handleCloseArrive"
>取消到达</el-button
取消到达
</el-button>
<!-- 中途到达卸车 -->
<el-button
v-if="permissionObj.VehicleArrivalManagement_HalfwayToUnloadTheCar"
type="primary"
icon="el-icon-delete"
@click="handleUnloadByLoadId(1)"
>
<el-button type="primary" icon="el-icon-delete" @click="handleUnloadByLoadId(1)">
中途到达卸车
</el-button>
<!-- 对比报表 -->
<!-- <el-button type="primary" icon="el-icon-delete" @click="handleShowComparativeStatement()">
对比报表
</el-button> -->
<el-button type="primary" icon="el-icon-document" @click="handleUnloadByLoadId(2)">
<!-- 终点到达卸车 -->
<el-button
v-if="permissionObj.VehicleArrivalManagement_UnloadAtTheEnd"
type="primary"
icon="el-icon-document"
@click="handleUnloadByLoadId(2)"
>
终点到达卸车
</el-button>
<el-button type="primary" icon="el-icon-document" @click="handleShowUnloadReport">
<!-- 卸车报告 -->
<el-button
v-if="permissionObj.VehicleArrivalManagement_UnloadReport"
type="primary"
icon="el-icon-document"
@click="handleShowUnloadReport"
>
卸车报告
</el-button>
<!-- <el-button type="primary" icon="el-icon-document" @click="searchReset()">
@ -139,7 +196,7 @@
}}</el-text>
</template>
<template v-if="slotProps.scope.column.label === '路线'">
<template v-else-if="slotProps.scope.column.label === '路线'">
<span
v-for="(item, index) in slotProps.scope.row.carsLoadLineList"
:key="item"
@ -197,25 +254,33 @@
</span>
</template>
<template v-if="slotProps.scope.column.label === '车辆状态'">
<template v-else-if="slotProps.scope.column.label === '车辆状态'">
<el-tag type="danger">{{ slotProps.scope.row.loadStatusName }}</el-tag>
</template>
<template
v-if="
v-else-if="
slotProps.scope.column.label === '操作' &&
Number(slotProps.scope.row.loadStatus) !== 100
"
>
<el-text @click="handleShowTruckLoadingDetails(slotProps.scope)">装车明细</el-text>
<!-- 装车明细 -->
<el-text
v-if="permissionObj.VehicleArrivalManagement_shippingSpecification"
@click="handleShowTruckLoadingDetails(slotProps.scope)"
>装车明细
</el-text>
<!-- 编辑 -->
<el-text
v-if="
Mydata.id === slotProps.scope.row.nowWarehouseId ||
Number(slotProps.scope.row.loadStatus) !== 40
permissionObj.VehicleArrivalManagement_edit &&
(Mydata.id === slotProps.scope.row.nowWarehouseId ||
Number(slotProps.scope.row.loadStatus) !== 40)
"
@click="handleEditStowage(slotProps.scope)"
>编辑</el-text
>
>编辑
</el-text>
<el-dropdown
v-if="
@ -247,8 +312,10 @@
</el-text>
</el-dropdown-item> -->
<!-- 手动装车 -->
<el-dropdown-item
v-if="
permissionObj.VehicleArrivalManagement_ManualLoading &&
Mydata.id === slotProps.scope.row.nowWarehouseId &&
Number(slotProps.scope.row.loadingType) === 1 &&
Number(slotProps.scope.row.loadStatus) === 20
@ -684,6 +751,54 @@ const CanOperate = row => {
const permission = computed(() => mapGetters(['permission', 'tagWel', 'tagList']));
console.log('permission :>> ', permission);
/** 权限按钮 */
const permissionObj = reactive({
/** 发车 */
VehicleArrivalManagement_startCar: computed(() => {
return $store.getters.permission.VehicleArrivalManagement_startCar;
}),
/** 网点取消发车 */
VehicleArrivalManagement_nodeCancelStartCar: computed(() => {
return $store.getters.permission.VehicleArrivalManagement_nodeCancelStartCar;
}),
/** 装载清单 */
VehicleArrivalManagement_listOfLoadedWagons: computed(() => {
return $store.getters.permission.VehicleArrivalManagement_listOfLoadedWagons;
}),
/** 到达 */
VehicleArrivalManagement_arrive: computed(() => {
return $store.getters.permission.VehicleArrivalManagement_arrive;
}),
/** 取消到达 */
VehicleArrivalManagement_cancelArrive: computed(() => {
return $store.getters.permission.VehicleArrivalManagement_cancelArrive;
}),
/** 中途到达卸车 */
VehicleArrivalManagement_HalfwayToUnloadTheCar: computed(() => {
return $store.getters.permission.VehicleArrivalManagement_HalfwayToUnloadTheCar;
}),
/** 终点到达卸车 */
VehicleArrivalManagement_UnloadAtTheEnd: computed(() => {
return $store.getters.permission.VehicleArrivalManagement_UnloadAtTheEnd;
}),
/** 卸车报告 */
VehicleArrivalManagement_UnloadReport: computed(() => {
return $store.getters.permission.VehicleArrivalManagement_UnloadReport;
}),
/** 装车明细 */
VehicleArrivalManagement_shippingSpecification: computed(() => {
return $store.getters.permission.VehicleArrivalManagement_shippingSpecification;
}),
/** 编辑 */
VehicleArrivalManagement_edit: computed(() => {
return $store.getters.permission.VehicleArrivalManagement_edit;
}),
/** 手动装车 */
VehicleArrivalManagement_ManualLoading: computed(() => {
return $store.getters.permission.VehicleArrivalManagement_ManualLoading;
}),
});
/** 请求页面数据 */
const onLoad = debounce(async (params = {}) => {
try {

142
src/views/distribution/artery/VehicleStowage.vue

@ -62,21 +62,60 @@
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增配载 </el-button>
<!-- 新增配载 -->
<el-button
v-if="permissionObj.VehicleStowage_add"
type="primary"
icon="el-icon-plus"
@click="handleAdd"
>新增配载
</el-button>
<!-- <el-button type="primary" icon="el-icon-printer" @click="searchReset"> </el-button> -->
<el-button type="primary" icon="el-icon-printer" @click="handleShowListOfLoadedWagons">
<!-- 配载清单 -->
<el-button
v-if="permissionObj.VehicleStowage_boatNote"
type="primary"
icon="el-icon-printer"
@click="handleShowListOfLoadedWagons"
>
装载清单
</el-button>
<!-- <el-button type="primary" icon="el-icon-printer" @click="searchReset"
>装载卸车清单(财务)</el-button
> -->
<el-button type="primary" icon="el-icon-van" @click="handleStartCar"> </el-button>
<el-button type="primary" icon="el-icon-delete" @click="handleCancelStartCar"
>取消发车</el-button
<!-- 发车 -->
<el-button
v-if="permissionObj.VehicleStowage_startCar"
type="primary"
icon="el-icon-van"
@click="handleStartCar"
>
<el-button type="primary" icon="el-icon-delete" @click="handleCancelCarsLoad"
>取消配载</el-button
</el-button>
<!-- 取消发车 -->
<el-button
v-if="permissionObj.VehicleStowage_cancelStartCar"
type="primary"
icon="el-icon-delete"
@click="handleCancelStartCar"
>
取消发车
</el-button>
<!-- 取消配载 -->
<el-button
v-if="permissionObj.VehicleStowage_cancelStowage"
type="primary"
icon="el-icon-delete"
@click="handleCancelCarsLoad"
>
取消配载
</el-button>
<!-- 对比报表 -->
<!-- <el-button type="primary" icon="el-icon-document" @click="handleComparativeStatement">
对比报表
@ -180,8 +219,10 @@
"
>
<div class="handleControl">
<!-- 零担补录 -->
<el-text
v-if="
permissionObj.VehicleStowage_zeroAdditionalRecording &&
Mydata.id === slotProps.scope.row.nowWarehouseId &&
Number(slotProps.scope.row.loadingType) === 1
"
@ -189,14 +230,27 @@
>
零担补录
</el-text>
<el-text @click="handleShowTruckLoadingDetails(slotProps.scope)"> 装车明细 </el-text>
<!-- 装车明细 -->
<el-text
v-if="permissionObj.VehicleStowage_loadingDetails"
@click="handleShowTruckLoadingDetails(slotProps.scope)"
>
装车明细
</el-text>
<!-- 编辑 -->
<el-text
v-if="Mydata.id === slotProps.scope.row.nowWarehouseId"
v-if="
permissionObj.VehicleStowage_edit &&
Mydata.id === slotProps.scope.row.nowWarehouseId
"
@click="handleEditStowage(slotProps.scope)"
>
编辑
</el-text>
<!-- 更多 -->
<el-dropdown>
<span class="el-dropdown-link">
<el-text>
@ -205,24 +259,36 @@
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item>
<!-- 节点费用 -->
<el-dropdown-item v-if="permissionObj.VehicleStowage_nodeCost">
<el-text @click="handleNodeCost(slotProps.scope)"> 节点费用 </el-text>
</el-dropdown-item>
<el-dropdown-item v-if="Mydata.id === slotProps.scope.row.nowWarehouseId">
<!-- 配置直发商家 -->
<el-dropdown-item
v-if="
permissionObj.VehicleStowage_handleDirectGoMarketVesited &&
Mydata.id === slotProps.scope.row.nowWarehouseId
"
>
<el-text @click="handleDirectGoMarketVesited(slotProps.scope)">
配置直发商家
</el-text>
</el-dropdown-item>
<el-dropdown-item>
<!-- 签收详情 -->
<el-dropdown-item
v-if="permissionObj.VehicleStowage_handleDirectGoMarketDetails"
>
<el-text @click="handleDirectGoMarketDetails(slotProps.scope)">
签收详情
</el-text>
</el-dropdown-item>
<!-- 手动装车 -->
<el-dropdown-item
v-if="
permissionObj.VehicleStowage_ManualLoading &&
Mydata.id === slotProps.scope.row.nowWarehouseId &&
Number(slotProps.scope.row.loadingType) === 1
"
@ -622,6 +688,58 @@ const {
const permission = computed(() => mapGetters(['permission', 'tagWel', 'tagList']));
console.log('permission :>> ', permission);
/** 权限按钮 */
const permissionObj = reactive({
/** 新增配载 */
VehicleStowage_add: computed(() => {
return $store.getters.permission.VehicleStowage_add;
}),
/** 配载清单 */
VehicleStowage_boatNote: computed(() => {
return $store.getters.permission.VehicleStowage_boatNote;
}),
/** 发车 */
VehicleStowage_startCar: computed(() => {
return $store.getters.permission.VehicleStowage_startCar;
}),
/** 取消发车 */
VehicleStowage_cancelStartCar: computed(() => {
return $store.getters.permission.VehicleStowage_cancelStartCar;
}),
/** 取消配载 */
VehicleStowage_cancelStowage: computed(() => {
return $store.getters.permission.VehicleStowage_cancelStowage;
}),
/** 零担补录 */
VehicleStowage_zeroAdditionalRecording: computed(() => {
return $store.getters.permission.VehicleStowage_zeroAdditionalRecording;
}),
/** 装车明细 */
VehicleStowage_loadingDetails: computed(() => {
return $store.getters.permission.VehicleStowage_loadingDetails;
}),
/** 编辑 */
VehicleStowage_edit: computed(() => {
return $store.getters.permission.VehicleStowage_edit;
}),
/** 节点费用 */
VehicleStowage_nodeCost: computed(() => {
return $store.getters.permission.VehicleStowage_nodeCost;
}),
/** 配置直发商家 */
VehicleStowage_handleDirectGoMarketVesited: computed(() => {
return $store.getters.permission.VehicleStowage_handleDirectGoMarketVesited;
}),
/** 签收详情 */
VehicleStowage_handleDirectGoMarketDetails: computed(() => {
return $store.getters.permission.VehicleStowage_handleDirectGoMarketDetails;
}),
/** 手动装车 */
VehicleStowage_ManualLoading: computed(() => {
return $store.getters.permission.VehicleStowage_ManualLoading;
}),
});
onMounted(() => {
const timer = setTimeout(() => {
details.listNode = document.querySelector('.maboxhi');

27
src/views/distribution/artery/VehicleStowageDetails.vue

@ -172,7 +172,13 @@
<!-- 控件 -->
<div style="margin-bottom: 10px" class="flex-c-sb">
<div>
<el-button type="primary" icon="Promotion" @click="handleCostApportionments">
<!-- 成本分摊确认 -->
<el-button
v-if="permissionObj.VehicleStowageDetails_CostApportionments"
type="primary"
icon="Promotion"
@click="handleCostApportionments"
>
成本分摊确认
</el-button>
</div>
@ -324,7 +330,9 @@
<el-tab-pane label="运 输 合 同" name="tab5">
<div style="min-height: 300px">
<!-- <el-form-item label="合同编号:"></el-form-item> -->
<!-- 添加运输合同图片 -->
<el-button
v-if="permissionObj.VehicleStowageDetails_addContractOfCarriagePicture"
type="primary"
icon="List"
@click="
@ -333,8 +341,11 @@
details.popUpShow.addImgVisible = true;
}
"
>添加运输合同图片</el-button
>
添加运输合同图片
</el-button>
<!-- 图片列表 -->
<div class="mt10 imgBox flex">
<div v-for="(item, index) in details.carriageContractList">
<el-image
@ -647,6 +658,18 @@ const {
const permission = computed(() => mapGetters(['permission', 'tagWel', 'tagList']));
console.log('permission :>> ', permission);
/** 权限按钮 */
const permissionObj = reactive({
/** 成本分摊详情 */
VehicleStowageDetails_CostApportionments: computed(() => {
return $store.getters.permission.VehicleStowageDetails_CostApportionments;
}),
/** 添加运输合同图片 */
VehicleStowageDetails_addContractOfCarriagePicture: computed(() => {
return $store.getters.permission.VehicleStowageDetails_addContractOfCarriagePicture;
}),
});
/** 设置页面表格高度 */
const setTabelHeight = async () => {
//

58
src/views/distribution/artery/directGoMarketDetails.vue

@ -45,11 +45,23 @@
<div class="flex-c-sb">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<el-button type="primary" icon="Edit" @click="handleEditWarehouse">
<!-- 修改归属仓库 -->
<el-button
v-if="permissionObj.directGoMarketDetails_editWarehouse"
type="primary"
icon="Edit"
@click="handleEditWarehouse"
>
修改归属仓库
</el-button>
<el-button type="primary" icon="Picture" @click="handleShowSiginImg">
<!-- 上传签收图片 -->
<el-button
v-if="permissionObj.directGoMarketDetails_uploadSignImg"
type="primary"
icon="Picture"
@click="handleShowSiginImg"
>
上传签收图片
</el-button>
</div>
@ -63,6 +75,7 @@
<!-- 列表模块 -->
<tablecmt
class="mt20"
ref="tableNodeRef"
:columnList="details.columnList"
:tableData="data"
@ -112,7 +125,14 @@
@close="onLoad"
>
<div class="flex-c-sb">
<el-button type="primary" icon="EditPen" @click="handleBatchSigin"> 批量签收 </el-button>
<el-button
v-if="permissionObj.directGoMarketDetails_batchSign"
type="primary"
icon="EditPen"
@click="handleBatchSigin"
>
批量签收
</el-button>
<div>
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
@ -141,7 +161,9 @@
<el-text
@click="handleZeroSigin(slotProps.scope)"
v-if="
Number(slotProps.scope.row.type) === 2 && Number(slotProps.scope.row.scanStatus) !== 3
permissionObj.directGoMarketDetails_zeroSign &&
Number(slotProps.scope.row.type) === 2 &&
Number(slotProps.scope.row.scanStatus) !== 3
"
>
零担签收
@ -149,7 +171,9 @@
<el-text
@click="handleOrderSigin(slotProps.scope)"
v-if="
Number(slotProps.scope.row.type) === 1 && Number(slotProps.scope.row.scanStatus) !== 3
permissionObj.directGoMarketDetails_packageSign &&
Number(slotProps.scope.row.type) === 1 &&
Number(slotProps.scope.row.scanStatus) !== 3
"
>
包件签收
@ -548,6 +572,30 @@ const $store = useStore();
const permission = computed(() => mapGetters(['permission', 'tagWel', 'tagList']));
console.log('permission :>> ', permission);
/** 权限按钮 */
const permissionObj = reactive({
/** 修改归属仓库 */
directGoMarketDetails_editWarehouse: computed(() => {
return $store.getters.permission.directGoMarketDetails_editWarehouse;
}),
/** 上传签收图片 */
directGoMarketDetails_uploadSignImg: computed(() => {
return $store.getters.permission.directGoMarketDetails_uploadSignImg;
}),
/** 批量签收 */
directGoMarketDetails_batchSign: computed(() => {
return $store.getters.permission.directGoMarketDetails_batchSign;
}),
/** 零担签收 */
directGoMarketDetails_zeroSign: computed(() => {
return $store.getters.permission.directGoMarketDetails_zeroSign;
}),
/** 包件签收 */
directGoMarketDetails_packageSign: computed(() => {
return $store.getters.permission.directGoMarketDetails_packageSign;
}),
});
/** 初始化表格表头 */
const initTableSelect = columnList => {
for (const iterator of columnList) {

146
src/views/distribution/artery/truckLoadingDetails.vue

@ -45,29 +45,41 @@
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<!-- 车辆配载 -->
<template v-if="details.pageInfo.type === 'VehicleStowage'">
<el-button type="primary" icon="Edit" @click="handleShowTransfer('add')"
>计划仓更改
<el-button
v-if="permissionObj.truckLoadingDetails_changePlanWarehouse"
type="primary"
icon="Edit"
@click="handleShowTransfer('add')"
>
计划仓更改
</el-button>
<!-- <el-button type="primary" icon="List" @click="handleBatchUnLoad">批量卸车</el-button> -->
</template>
<!-- 三方中转 -->
<template v-if="details.pageInfo.type === 'TripartiteTransfer'">
<el-button type="primary" icon="Edit" @click="handleBatchSigin">
中转批量签收
<!-- 中转批量签收 -->
<el-button type="primary" icon="Edit" @click="handleBatchSigin"> 中转批量签收 </el-button>
<!-- 批量卸车 -->
<el-button
v-if="permissionObj.truckLoadingDetails_batchUnload"
type="primary"
icon="List"
@click="handleBatchUnLoad"
>
批量卸车
</el-button>
<el-button type="primary" icon="List" @click="handleBatchUnLoad">批量卸车</el-button>
</template>
<!-- 到车管理 -->
<template v-if="details.pageInfo.type === 'VehicleArrivalManagement'">
<el-button type="primary" icon="List" @click="handleBatchUnLoad">批量卸车</el-button>
</template>
<!-- 删除 -->
<el-button
v-if="permissionObj.truckLoadingDetails_delete"
type="primary"
icon="Delete"
@click="handleBatchRemove"
>删除
</el-button>
<el-button type="primary" icon="Delete" @click="handleBatchRemove">删除</el-button>
<!-- 二维码 -->
<el-button type="primary" icon="Printer" @click="handleBatchBarcode">二维码</el-button>
<!-- 导出 -->
<el-button type="primary" icon="Download" @click="handleExport">导出</el-button>
</div>
<!-- 头部右侧按钮模块 -->
@ -102,7 +114,10 @@
<el-text
type="text"
@click="handleZeroUnLoad(slotProps.scope)"
v-if="Number(slotProps.scope.row.scanStatus) === 1"
v-if="
permissionObj.truckLoadingDetails_zeroUnload &&
Number(slotProps.scope.row.scanStatus) === 1
"
>
零担卸车
</el-text>
@ -114,6 +129,7 @@
type="text"
@click="handleOrderUnLoad(slotProps.scope)"
v-if="
permissionObj.truckLoadingDetails_packageUnload &&
details.pageInfo.type !== 'VehicleStowage' &&
Number(slotProps.scope.row.scanStatus) === 1
"
@ -207,7 +223,7 @@
import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue';
import functions from '@/utils/functions';
import dayjs from 'dayjs';
import { mapGetters } from 'vuex';
import { mapGetters, useStore } from 'vuex';
import { ElMessage, ElMessageBox } from 'element-plus';
import type { Action } from 'element-plus';
import { getMyCurrentWarehouse } from '@/api/work/work';
@ -374,8 +390,100 @@ const {
const $router = useRouter();
const $route = useRoute();
// vuex
const $store = useStore();
/** vuex */
const permission = computed(() => mapGetters(['permission', 'tagWel', 'tagList']));
/** 权限按钮 */
const permissionObj = reactive({
// VehicleStowage -- ; VehicleArrivalManagement --
/** 计划仓更改 */
truckLoadingDetails_changePlanWarehouse: computed(() => {
let _flag = false;
switch (details.pageInfo.type) {
case 'VehicleStowage':
_flag = $store.getters.permission.truckLoadingDetails_VehicleStowage_changePlanWarehouse;
break;
default:
break;
}
return _flag;
}),
/** 批量卸车 */
truckLoadingDetails_batchUnload: computed(() => {
let _flag = false;
switch (details.pageInfo.type) {
case 'VehicleArrivalManagement':
_flag = $store.getters.permission.truckLoadingDetails_VehicleArrivalManagement_batchUnload;
break;
default:
break;
}
return _flag;
}),
/** 删除 */
truckLoadingDetails_delete: computed(() => {
let _flag = false;
switch (details.pageInfo.type) {
case 'VehicleStowage':
_flag = $store.getters.permission.truckLoadingDetails_VehicleStowage_delete;
break;
case 'VehicleArrivalManagement':
_flag = $store.getters.permission.truckLoadingDetails_VehicleArrivalManagement_delete;
break;
default:
break;
}
return _flag;
}),
/** 零担卸车 */
truckLoadingDetails_zeroUnload: computed(() => {
let _flag = false;
switch (details.pageInfo.type) {
case 'VehicleStowage':
_flag = $store.getters.permission.truckLoadingDetails_VehicleStowage_zeroUnload;
break;
case 'VehicleArrivalManagement':
_flag = $store.getters.permission.truckLoadingDetails_VehicleArrivalManagement_zeroUnload;
break;
default:
break;
}
return _flag;
}),
/** 包件卸车 */
truckLoadingDetails_packageUnload: computed(() => {
let _flag = false;
switch (details.pageInfo.type) {
case 'VehicleStowage':
_flag = $store.getters.permission.truckLoadingDetails_VehicleStowage_packageUnload;
break;
case 'VehicleArrivalManagement':
_flag =
$store.getters.permission.truckLoadingDetails_VehicleArrivalManagement_packageUnload;
break;
default:
break;
}
return _flag;
}),
});
console.log('permission :>> ', permission);
//

96
src/views/distribution/inventory/arteryDistrilbutionBillLadingList.vue

@ -34,27 +34,75 @@
<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="primary" icon="el-icon-edit" @click="handleEdit"> </el-button>
<el-button type="primary" icon="el-icon-plus" @click="handleAddDistrilbution">
<el-button
type="primary"
v-if="permissionObj.arteryDistrilbutionBillLadingList_add"
icon="el-icon-plus"
@click="handleAdd"
>
</el-button>
<el-button
type="primary"
v-if="permissionObj.arteryDistrilbutionBillLadingList_edit"
icon="el-icon-edit"
@click="handleEdit"
> </el-button
>
<el-button
type="primary"
v-if="permissionObj.arteryDistrilbutionBillLadingList_addBillLadingData"
icon="el-icon-plus"
@click="handleAddDistrilbution"
>
添加提货数据
</el-button>
<el-button type="primary" icon="Check" @click="handleEditBillladingStatus(1)">
<el-button
type="primary"
v-if="permissionObj.arteryDistrilbutionBillLadingList_startBill"
icon="Check"
@click="handleEditBillladingStatus(1)"
>
开始提货
</el-button>
<el-button type="primary" icon="el-icon-check" @click="handleEditBillladingStatus(2)">
<el-button
type="primary"
v-if="permissionObj.arteryDistrilbutionBillLadingList_confirmBill"
icon="el-icon-check"
@click="handleEditBillladingStatus(2)"
>
提货完成
</el-button>
<el-button type="primary" icon="el-icon-close" @click="handleEditBillladingStatus(3)">
<el-button
type="primary"
v-if="permissionObj.arteryDistrilbutionBillLadingList_cancelConfirmBill"
icon="el-icon-close"
@click="handleEditBillladingStatus(3)"
>
取消完成
</el-button>
<el-button type="primary" icon="el-icon-check" @click="handleEditBillladingStatus(4)">
<el-button
type="primary"
v-if="permissionObj.arteryDistrilbutionBillLadingList_settleAccounts"
icon="el-icon-check"
@click="handleEditBillladingStatus(4)"
>
</el-button>
<el-button type="primary" icon="el-icon-close" @click="handleEditBillladingStatus(5)">
<el-button
type="primary"
v-if="permissionObj.arteryDistrilbutionBillLadingList_cancelSettleAccounts"
icon="el-icon-close"
@click="handleEditBillladingStatus(5)"
>
取消结算
</el-button>
<el-button type="primary" icon="el-icon-close" @click="handleEditBillladingStatus(6)">
<el-button
type="primary"
v-if="permissionObj.arteryDistrilbutionBillLadingList_cancelBill"
icon="el-icon-close"
@click="handleEditBillladingStatus(6)"
>
取消提货
</el-button>
<!-- <el-button type="danger" icon="el-icon-download" @click="handleExportInfo" plain
@ -445,6 +493,36 @@ export default {
}, 10),
/** 被选中行 */
chooseWaybillInfo: {},
/** 权限按钮 */
permissionObj: {
/** 添加 */
arteryDistrilbutionBillLadingList_add:
this.$store.getters.permission.arteryDistrilbutionBillLadingList_add,
/** 修改 */
arteryDistrilbutionBillLadingList_edit:
this.$store.getters.permission.arteryDistrilbutionBillLadingList_edit,
/** 添加提货数据 */
arteryDistrilbutionBillLadingList_addBillLadingData:
this.$store.getters.permission.arteryDistrilbutionBillLadingList_addBillLadingData,
/** 开始提货 */
arteryDistrilbutionBillLadingList_startBill:
this.$store.getters.permission.arteryDistrilbutionBillLadingList_startBill,
/** 提货完成 */
arteryDistrilbutionBillLadingList_confirmBill:
this.$store.getters.permission.arteryDistrilbutionBillLadingList_confirmBill,
/** 取消完成 */
arteryDistrilbutionBillLadingList_cancelConfirmBill:
this.$store.getters.permission.arteryDistrilbutionBillLadingList_cancelConfirmBill,
/** 结算 */
arteryDistrilbutionBillLadingList_settleAccounts:
this.$store.getters.permission.arteryDistrilbutionBillLadingList_settleAccounts,
/** 取消结算 */
arteryDistrilbutionBillLadingList_cancelSettleAccounts:
this.$store.getters.permission.arteryDistrilbutionBillLadingList_cancelSettleAccounts,
/** 取消提货 */
arteryDistrilbutionBillLadingList_cancelBill:
this.$store.getters.permission.arteryDistrilbutionBillLadingList_cancelBill,
},
};
},
mounted() {

22
src/views/distribution/inventory/arteryDistrilbutionBillLadingListDetails.vue

@ -72,7 +72,12 @@
<div class="flex-c-sb mt10">
<!-- 头部左侧按钮模块 -->
<div>
<el-button icon="CircleCheckFilled" type="primary" @click="handleEditSubmit()">
<el-button
v-if="permissionObj.arteryDistrilbutionBillLadingListDetails_confirmEdit"
icon="CircleCheckFilled"
type="primary"
@click="handleEditSubmit()"
>
确认修改
</el-button>
</div>
@ -131,7 +136,11 @@
</template>
<template v-if="slotProps.scope.column.label === '操作'">
<el-text @click="handleEdit(slotProps.scope)">编辑</el-text>
<el-text
v-if="permissionObj.arteryDistrilbutionBillLadingListDetails_edit"
@click="handleEdit(slotProps.scope)"
>编辑</el-text
>
</template>
</template>
</tablecmt>
@ -567,6 +576,15 @@ export default {
options: [],
/** 提货日志 */
loadLogsList: [],
/** 权限按钮 */
permissionObj: {
/** 添加 */
arteryDistrilbutionBillLadingListDetails_confirmEdit:
this.$store.getters.permission.arteryDistrilbutionBillLadingListDetails_confirmEdit,
/** 修改 */
arteryDistrilbutionBillLadingListDetails_edit:
this.$store.getters.permission.arteryDistrilbutionBillLadingListDetails_edit,
},
};
},
watch: {

2
src/views/waybill/TemporaryStorageList.vue

@ -49,7 +49,7 @@
type="primary"
icon="el-icon-plus"
v-if="permissionObj.TemporaryStorageList_orderTransitionWaybill"
click="handleCreateOrder"
@click="handleCreateOrder"
>订单转运单
</el-button>

49
src/views/waybill/orderPackageList.vue

@ -78,7 +78,12 @@
</el-button>
<!-- 批量入库 -->
<el-button type="primary" icon="Position" @click="handleBatchPutInStorage">
<el-button
type="primary"
icon="Position"
v-if="permissionObj.orderPackageList_batchIncoming"
@click="handleBatchPutInStorage"
>
批量入库
</el-button>
</div>
@ -105,10 +110,23 @@
>
<template #default="slotProps">
<template v-if="slotProps.scope.column.label === '操作'">
<el-text @click="handleShowPackageOrderList(slotProps.scope)"> 包内产品 </el-text>
<el-text @click="handleShowFlowNode(slotProps.scope)"> 流转节点 </el-text>
<el-text
v-if="Number(slotProps.scope.row.packageStatus) === 0"
v-if="permissionObj.orderPackageList_InPackageProduct"
@click="handleShowPackageOrderList(slotProps.scope)"
>
包内产品
</el-text>
<el-text
v-if="permissionObj.orderPackageList_flowNode"
@click="handleShowFlowNode(slotProps.scope)"
>
流转节点
</el-text>
<el-text
v-if="
permissionObj.orderPackageList_incoming &&
Number(slotProps.scope.row.packageStatus) === 0
"
@click="handlePutInStorage(slotProps.scope)"
>
直接入库
@ -281,7 +299,7 @@
import { ref, reactive, toRefs, computed, onMounted, nextTick } from 'vue';
import functions from '@/utils/functions.js';
import dayjs from 'dayjs';
import { mapGetters } from 'vuex';
import { mapGetters, useStore } from 'vuex';
/** 获取字典 */
import { getDictionaryBiz } from '@/api/system/dict';
import { getopenOrderAdvancePageList } from '@/api/waybill/TemporaryStorageList';
@ -309,6 +327,7 @@ import { ElMessage, ElMessageBox } from 'element-plus';
//
const $router = useRouter();
const $store = useStore();
const details = reactive<any>({
/** 是否开启搜索 */
@ -422,6 +441,26 @@ const {
const permission = computed(() => mapGetters(['permission', 'tagWel', 'tagList']));
console.log('permission :>> ', permission);
/** 权限按钮 */
const permissionObj = reactive({
/** 批量入库 */
orderPackageList_batchIncoming: computed(() => {
return $store.getters.permission.orderPackageList_batchIncoming;
}),
/** 入库 */
orderPackageList_incoming: computed(() => {
return $store.getters.permission.orderPackageList_incoming;
}),
/** 流转节点 */
orderPackageList_flowNode: computed(() => {
return $store.getters.permission.orderPackageList_flowNode;
}),
/** 包内产品 */
orderPackageList_InPackageProduct: computed(() => {
return $store.getters.permission.orderPackageList_InPackageProduct;
}),
});
onMounted(() => {
const timer = setTimeout(() => {
details.listNode = document.querySelector('.maboxhi');

68
src/views/waybill/orderPackageListDetails.vue

@ -74,13 +74,29 @@
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<!-- 批量打印 -->
<el-button type="primary" icon="Printer" @click="handleBatchBarcode">
批量打印
</el-button>
<el-button type="primary" icon="Position" @click="handleBatchPutInStorage">
<!-- 直接入库 -->
<el-button
type="primary"
v-if="permissionObj.orderPackageListDetails_batchIncoming"
icon="Position"
@click="handleBatchPutInStorage"
>
批量入库
</el-button>
<el-button type="primary" icon="Delete" @click="handleBatchDelete">批量删除</el-button>
<!-- 批量删除 -->
<el-button
type="primary"
v-if="permissionObj.orderPackageListDetails_batchDelete"
icon="Delete"
@click="handleBatchDelete"
>批量删除</el-button
>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -106,10 +122,23 @@
>
<template #default="slotProps">
<template v-if="slotProps.scope.column.label === '操作'">
<el-text @click="handleShowPackageOrderList(slotProps.scope)"> 包内产品 </el-text>
<el-text @click="handleShowFlowNode(slotProps.scope)"> 流转节点 </el-text>
<el-text
v-if="Number(slotProps.scope.row.packageStatus) === 0"
v-if="permissionObj.orderPackageListDetails_InPackageProduct"
@click="handleShowPackageOrderList(slotProps.scope)"
>
包内产品
</el-text>
<el-text
v-if="permissionObj.orderPackageListDetails_flowNode"
@click="handleShowFlowNode(slotProps.scope)"
>
流转节点
</el-text>
<el-text
v-if="
permissionObj.orderPackageListDetails_incoming &&
Number(slotProps.scope.row.packageStatus) === 0
"
@click="handlePutInStorage(slotProps.scope)"
>
直接入库
@ -272,7 +301,7 @@
import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue';
import functions from '@/utils/functions.js';
import dayjs from 'dayjs';
import { mapGetters } from 'vuex';
import { mapGetters, useStore } from 'vuex';
/** 获取字典 */
import { getDictionaryBiz } from '@/api/system/dict';
import {
@ -303,6 +332,9 @@ import { useRoute, useRouter } from 'vue-router';
const $router = useRouter();
const $route = useRoute();
// vuex
const $store = useStore();
const details = reactive<any>({
/** 是否开启搜索 */
search: true,
@ -407,6 +439,30 @@ const { search, query, shortcuts, loadingObj, selectionList, drawerShow } = toRe
const permission = computed(() => mapGetters(['permission', 'tagWel', 'tagList']));
console.log('permission :>> ', permission);
/** 权限按钮 */
const permissionObj = reactive({
/** 批量删除 */
orderPackageListDetails_batchDelete: computed(() => {
return $store.getters.permission.orderPackageListDetails_batchDelete;
}),
/** 批量入库 */
orderPackageListDetails_batchIncoming: computed(() => {
return $store.getters.permission.orderPackageListDetails_batchIncoming;
}),
/** 入库 */
orderPackageListDetails_incoming: computed(() => {
return $store.getters.permission.orderPackageListDetails_incoming;
}),
/** 流转节点 */
orderPackageListDetails_flowNode: computed(() => {
return $store.getters.permission.orderPackageListDetails_flowNode;
}),
/** 包内产品 */
orderPackageListDetails_InPackageProduct: computed(() => {
return $store.getters.permission.orderPackageListDetails_InPackageProduct;
}),
});
onMounted(() => {
const timer = setTimeout(() => {
details.listNode = document.querySelector('.maboxhi');

56
src/views/wel/index1.vue

@ -520,10 +520,16 @@
</div>
<div class="align_center">
<div :class="{ button: true, active: isActive }" @click="isActive = !isActive">
<div
:class="{ button: true, active: abnormal_status === 'day' }"
@click="() => (abnormal_status = 'day')"
>
当天
</div>
<div :class="{ button: true, active: !isActive }" @click="isActive = !isActive">
<div
:class="{ button: true, active: abnormal_status === 'month' }"
@click="() => (abnormal_status = 'month')"
>
当月
</div>
</div>
@ -536,7 +542,7 @@
<span>发起数</span>
</div>
<div class="mt10">
<span class="data mr5px">16899</span>
<span class="data mr5px">{{ abnormal_Info.sendNum }}</span>
<span class=""></span>
</div>
</div>
@ -547,7 +553,7 @@
<span>待处理</span>
</div>
<div class="mt10">
<span class="data mr5px">16899</span>
<span class="data mr5px">{{ abnormal_Info.noDealNum }}</span>
<span class=""></span>
</div>
</div>
@ -558,7 +564,7 @@
<span>异常率</span>
</div>
<div class="mt10">
<span class="data mr5px">16899</span>
<span class="data mr5px">{{ abnormal_Info.abnormalRate }}</span>
<span class="">%</span>
</div>
</div>
@ -726,7 +732,7 @@
</div>
</div>
</template>
<script setup>
<script setup lang="ts">
import { ref, onMounted } from 'vue';
import {
@ -828,6 +834,9 @@ const details = reactive({
const isActive = ref(false);
/** 异常数据状态 */
const abnormal_status = ref<'day' | 'month'>('day');
/** 请求开单数据 */
const initOpenOrderData = async () => {
try {
@ -848,6 +857,9 @@ const initOpenOrderIncome = async () => {
try {
details.loadingObj.openOrderIncome = true;
const res = await postOpenOrderIncome({});
const { code, data } = res.data;
if (code !== 200) return;
details.openOrderIncomeInfo = data;
} catch (error) {
console.log('error :>> ', error);
} finally {
@ -860,6 +872,9 @@ const initAllocationData = async () => {
try {
details.loadingObj.allocationData = true;
const res = await postAllocationData({});
const { code, data } = res.data;
if (code !== 200) return;
details.allocationDataInfo = data;
} catch (error) {
console.log('error :>> ', error);
} finally {
@ -872,6 +887,9 @@ const initHandOrderData = async () => {
try {
details.loadingObj.handOrderData = true;
const res = await postHandOrderData({});
const { code, data } = res.data;
if (code !== 200) return;
details.handOrderDataInfo = data;
} catch (error) {
console.log('error :>> ', error);
} finally {
@ -884,6 +902,9 @@ const initTrunklineHandOrderData = async () => {
try {
details.loadingObj.trunklineHandOrderData = true;
const res = await postTrunklineHandOrderData({});
const { code, data } = res.data;
if (code !== 200) return;
details.trunklineHandOrderDataInfo = data;
} catch (error) {
console.log('error :>> ', error);
} finally {
@ -896,6 +917,9 @@ const initTrunklineCarsData = async () => {
try {
details.loadingObj.trunklineCarsData = true;
const res = await postTrunklineCarsData({});
const { code, data } = res.data;
if (code !== 200) return;
details.trunklineCarsDataInfo = data;
} catch (error) {
console.log('error :>> ', error);
} finally {
@ -908,6 +932,9 @@ const initUnloadAbnormalData = async () => {
try {
details.loadingObj.unloadAbnormalData = true;
const res = await postUnloadAbnormalData({});
const { code, data } = res.data;
if (code !== 200) return;
details.unloadAbnormalDataInfo = data;
} catch (error) {
console.log('error :>> ', error);
} finally {
@ -926,6 +953,23 @@ const handleRefresh = () => {
};
handleRefresh();
const abnormal_Info = computed(() => {
const _obj =
abnormal_status.value === 'day'
? {
sendNum: details.unloadAbnormalDataInfo.sendDayNum,
noDealNum: details.unloadAbnormalDataInfo.noDealDayNum,
abnormalRate: details.unloadAbnormalDataInfo.abnormalDayRate,
}
: {
sendNum: details.unloadAbnormalDataInfo.sendMonthNum,
noDealNum: details.unloadAbnormalDataInfo.noDealMonthNum,
abnormalRate: details.unloadAbnormalDataInfo.abnormalMonthRate,
};
return _obj;
});
</script>
<style scoped lang="scss">

Loading…
Cancel
Save