Compare commits

...

5 Commits

  1. 2
      src/api/aftersales/aftersalesWorkOrder.js
  2. 11
      src/components/MultiConditionSearch/MultiConditionSearch.vue
  3. 412
      src/views/aftersales/aftersalesWorkOrder.vue
  4. 2
      src/views/aftersales/aftersalesWorkOrderAdd.vue
  5. 35
      src/views/aftersales/aftersalesWorkOrderend.vue
  6. 15
      src/views/basicdata/warehouse/tray/basicdataTrayedt.vue
  7. 22
      src/views/distribution/deliverylist/distributionDeliveryListdis.vue
  8. 20
      src/views/distribution/deliverylist/distributionDeliveryListmar.vue
  9. 20
      src/views/distribution/inventory/delivery/distributionStockArticle.vue
  10. 32
      src/views/warehouse/parcelList/distributionParcelList.vue
  11. 15
      src/views/waybill/WaybillOrderList.vue

2
src/api/aftersales/aftersalesWorkOrder.js

@ -389,7 +389,7 @@ export const $_updateWorkOrderStatus = (data) => {
data data
}) })
} }
// 处理结果完结结果确定 // 完结审核
export const $_updateManagerConfirmed = (data) => { export const $_updateManagerConfirmed = (data) => {
return request({ return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/updateManagerConfirmed', url: '/api/logpm-aftersales/aftersalesWorkOrder/updateManagerConfirmed',

11
src/components/MultiConditionSearch/MultiConditionSearch.vue

@ -100,6 +100,8 @@ const maximize = () => {
const close = () => { const close = () => {
emit('update:modelValue', false); emit('update:modelValue', false);
minimizeState.value = false;
emit('update:inputValue', localInputValue.value);
}; };
const expandWindow = () => { const expandWindow = () => {
@ -114,7 +116,14 @@ const destroyWindow = () => {
}; };
const dialogSearchSubmit = () => { const dialogSearchSubmit = () => {
emit('dialogSearchSubmit', localInputValue.value); const lines = localInputValue.value
.split('\n') //
.map(line => line.trim()) //
.filter(line => line !== ''); //
const joinedLines = lines.join(','); // 使
emit('dialogSearchSubmit', joinedLines);
emit('update:inputValue', localInputValue.value);
}; };
</script> </script>

412
src/views/aftersales/aftersalesWorkOrder.vue

@ -112,19 +112,31 @@
@click="WorkOrderAssignment" @click="WorkOrderAssignment"
>工单指派</el-button >工单指派</el-button
> >
<el-button type="primary" icon="User" v-if="ButtonPermissions.applyArbitration" <el-button
type="primary"
icon="User"
v-if="ButtonPermissions.applyArbitration"
@click="CustomerServiceIntervention"
>客服介入</el-button >客服介入</el-button
> >
<el-button type="primary" icon="EditPen" v-if="ButtonPermissions.DingTalkNumber" <el-button
type="primary"
icon="EditPen"
v-if="ButtonPermissions.DingTalkNumber"
@click="DingTalk"
>钉钉号填写</el-button >钉钉号填写</el-button
> >
<el-button type="primary" icon="Stamp" v-if="ButtonPermissions.batchFinish" <!-- <el-button type="primary" icon="Stamp" v-if="ButtonPermissions.batchFinish"
>批量完结</el-button >批量完结</el-button
> > -->
<el-button type="primary" icon="Stamp" v-if="ButtonPermissions.ArbitrationDetermination" <el-button type="primary" icon="Stamp" v-if="ButtonPermissions.ArbitrationDetermination"
>批量完结审核</el-button >批量完结审核</el-button
> >
<el-button type="primary" icon="Coin" v-if="ButtonPermissions.Financial_accounting" <el-button
type="primary"
icon="Coin"
v-if="ButtonPermissions.Financial_accounting"
@click="Financialfillingbtn"
>财务入账</el-button >财务入账</el-button
> >
</div> </div>
@ -363,6 +375,44 @@
</template> </template>
</el-dialog> </el-dialog>
<!-- 客服介入 -->
<el-dialog
v-model="CustomerServiceForm.loadingCustomer"
:close-on-click-modal="false"
title="客服介入"
width="35%"
class="el_Customer"
>
<el-form
:model="CustomerServiceForm"
v-loading="CustomerServiceForm.dialog"
element-loading-text="正在处理中..."
label-position="top"
>
<el-form-item label="介入原因">
<el-input
v-model="CustomerServiceForm.reasonRemarks"
:autosize="{ minRows: 6, maxRows: 6 }"
type="textarea"
placeholder="请输入介入原因"
/>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="CustomerServiceForm.loadingCustomer = false">关闭</el-button>
<el-button
type="primary"
@click="InterventionSubmission"
:disabled="CustomerServiceForm.dialog"
>
提交
</el-button>
</span>
</template>
</el-dialog>
<!-- 搜索弹窗 --> <!-- 搜索弹窗 -->
<div class="Searchboxpop-upwindow"> <div class="Searchboxpop-upwindow">
<el-dialog <el-dialog
@ -429,7 +479,7 @@
content="从服务器导出数据,数据量大时可能会导致卡顿" content="从服务器导出数据,数据量大时可能会导致卡顿"
placement="top-start" placement="top-start"
> >
<el-button type="primary" @click="NetworkExport"> 网络导出 </el-button> <el-button class="el_title_a" type="primary" @click="NetworkExport"> 全部导出 </el-button>
</el-tooltip> </el-tooltip>
<el-tooltip <el-tooltip
class="box-item" class="box-item"
@ -437,9 +487,79 @@
content="从本地导出,导出当前页面支持自【定义导出字段】和【自定义表名】" content="从本地导出,导出当前页面支持自【定义导出字段】和【自定义表名】"
placement="top-end" placement="top-end"
> >
<el-button type="primary" @click="LocalExport"> 本地导出 </el-button> <el-button class="el_title_b" type="primary" @click="LocalExport"> 本地导出 </el-button>
</el-tooltip> </el-tooltip>
</el-dialog> </el-dialog>
<!-- 钉钉号填写 -->
<el-dialog v-model="DingTalkfilling.dialogDingTalk" title="钉钉号填写" width="30%">
<div
class="el_DingTalk"
v-loading="DingTalkfilling.loading"
element-loading-text="Loading..."
>
<el-form :model="DingTalkfilling" label-width="120px">
<el-form-item label="钉钉流程号">
<el-input v-model="DingTalkfilling.processNumber" placeholder="请填写钉钉号" />
</el-form-item>
<el-form-item label="审核人">
<el-input v-model="DingTalkfilling.reviewedBy" placeholder="请填写审核人" />
</el-form-item>
<el-form-item label="审核时间">
<el-date-picker
v-model="DingTalkfilling.auditTime"
type="datetime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择审核时间"
/>
</el-form-item>
</el-form>
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="DingTalkfilling.dialogDingTalk = false">关闭</el-button>
<el-button type="primary" @click="DingTalkSubmit" :disabled="DingTalkfilling.loading">
确认
</el-button>
</span>
</template>
</el-dialog>
<!-- 财务入账弹窗 -->
<el-dialog v-model="FinancialFrom.loadingFinancial" title="财务入账" width="30%">
<div
class="el_DingTalk"
v-loading="FinancialFrom.loading"
element-loading-text="正在处理中..."
>
<el-form :model="FinancialFrom" label-width="120px">
<el-form-item label="操作人">
<el-input v-model="FinancialFrom.operator" placeholder="请填写操作人" />
</el-form-item>
<el-form-item label="财务入账时间">
<el-date-picker
v-model="FinancialFrom.entryTime"
type="datetime"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择财务入账时间"
/>
</el-form-item>
</el-form>
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="FinancialFrom.loadingFinancial = false">取消</el-button>
<el-button
type="primary"
@click="FinancialfillingSubmit"
:disabled="FinancialFrom.loading"
>
确认
</el-button>
</span>
</template>
</el-dialog>
</basic-container> </basic-container>
<!-- 列表配置显示 --> <!-- 列表配置显示 -->
<template v-for="columnList in columnListNames" :key="columnList"> <template v-for="columnList in columnListNames" :key="columnList">
@ -537,6 +657,7 @@ import {
MallassignmentColumnList, MallassignmentColumnList,
customerserviceColumnList, customerserviceColumnList,
} from '@/option/aftersales/vueTvemp.js'; } from '@/option/aftersales/vueTvemp.js';
import { objectKeys } from '@antfu/utils';
const Tableexportcomponent = defineAsyncComponent(() => const Tableexportcomponent = defineAsyncComponent(() =>
import('@/components/Tableexportcomponent/Tableexportcomponent.vue') import('@/components/Tableexportcomponent/Tableexportcomponent.vue')
); );
@ -582,6 +703,21 @@ const ExportObjects = ref({
tcTableexport: false, // tcTableexport: false, //
ExportSelection: false, // ExportSelection: false, //
}); });
//
const CustomerServiceForm = ref({
loadingCustomer: false,
dialog: false,
});
//
const DingTalkfilling = ref({
dialogDingTalk: false,
loading: false,
});
//
const FinancialFrom = ref({
loadingFinancial: false,
loading: false,
});
// //
const Searchboxpop = ref({ const Searchboxpop = ref({
SearchboxpopUpwindowtitle: '', // SearchboxpopUpwindowtitle: '', //
@ -787,7 +923,9 @@ const ButtonPermissions = computed(() => {
return { return {
add: false, // add: false, //
batchReject: false, // batchReject: false, //
assignment: UserPermissions.value != Useridentity.Warehouse_customer_service, // assignment:
UserPermissions.value == Useridentity.Headquarters_Manager ||
UserPermissions.value == Useridentity.Headquarters_customer_service, //
applyArbitration: UserPermissions.value == Useridentity.Warehouse_customer_service, // applyArbitration: UserPermissions.value == Useridentity.Warehouse_customer_service, //
DingTalkNumber: false, // DingTalkNumber: false, //
batchFinish: false, // batchFinish: false, //
@ -804,7 +942,9 @@ const ButtonPermissions = computed(() => {
return { return {
add: false, // add: false, //
batchReject: UserPermissions.value == Useridentity.Headquarters_customer_service, // batchReject: UserPermissions.value == Useridentity.Headquarters_customer_service, //
assignment: UserPermissions.value != Useridentity.Warehouse_customer_service, // assignment:
UserPermissions.value == Useridentity.Headquarters_Manager ||
UserPermissions.value == Useridentity.Headquarters_customer_service, //
applyArbitration: false, // applyArbitration: false, //
DingTalkNumber: false, // DingTalkNumber: false, //
batchFinish: false, // batchFinish: false, //
@ -861,7 +1001,9 @@ const ButtonPermissions = computed(() => {
DingTalkNumber: false, // DingTalkNumber: false, //
Batchdetermination: false, // Batchdetermination: false, //
ManagerConfirmed: false, // ManagerConfirmed: false, //
ArbitrationDetermination: UserPermissions.value != Useridentity.Warehouse_customer_service, // ArbitrationDetermination:
UserPermissions.value == Useridentity.Headquarters_Manager ||
UserPermissions.value == Useridentity.Headquarters_customer_service, //
Financial_accounting: false, // Financial_accounting: false, //
Result_review: false, // Result_review: false, //
defaultassignments: false, // defaultassignments: false, //
@ -875,11 +1017,15 @@ const ButtonPermissions = computed(() => {
assignment: false, // assignment: false, //
applyArbitration: false, // applyArbitration: false, //
batchFinish: false, // batchFinish: false, //
DingTalkNumber: UserPermissions.value != Useridentity.Warehouse_customer_service, //, // DingTalkNumber:
UserPermissions.value == Useridentity.Headquarters_customer_service ||
UserPermissions.value == Useridentity.Headquarters_Manager, //, //
Batchdetermination: false, // Batchdetermination: false, //
ManagerConfirmed: false, // ManagerConfirmed: false, //
ArbitrationDetermination: false, // ArbitrationDetermination: false, //
Financial_accounting: UserPermissions.value != Useridentity.Warehouse_customer_service, // Financial_accounting:
UserPermissions.value == Useridentity.Headquarters_Manager ||
UserPermissions.value == Useridentity.Headquarters_customer_service, //
defaultassignments: false, // defaultassignments: false, //
Result_review: false, // Result_review: false, //
export_Report: true, // export_Report: true, //
@ -1132,6 +1278,8 @@ const selectionChange = list => {
}; };
// //
const searchChange = async () => { const searchChange = async () => {
let _Obj = MatchCurrentMenu(); //
_Obj.currentPage = 1;
await ProcessSearch(); await ProcessSearch();
updateMenuAndData(); // updateMenuAndData(); //
}; };
@ -1143,6 +1291,7 @@ const searchChangeS = () => {
// //
const ResetTableSearch = async () => { const ResetTableSearch = async () => {
let _Obj = MatchCurrentMenu(); let _Obj = MatchCurrentMenu();
_Obj.currentPage = 1;
console.log(TabPermissions.value, '123123123'); console.log(TabPermissions.value, '123123123');
_Obj.request = true; _Obj.request = true;
console.log(_Obj, 'Obj'); console.log(_Obj, 'Obj');
@ -1153,6 +1302,8 @@ const ResetTableSearch = async () => {
// //
const searchReset = () => { const searchReset = () => {
TopQuery.value = {}; TopQuery.value = {};
let _Obj = MatchCurrentMenu();
_Obj.currentPage = 1;
TabList.value.forEach(item => { TabList.value.forEach(item => {
item.query = {}; item.query = {};
}); });
@ -1624,6 +1775,27 @@ const updateMenuAndData = () => {
} }
PublicDataRequest(TabPermissions.value); // PublicDataRequest(TabPermissions.value); //
}; };
/**
* @description: 处理空白数据
* @param {object} data - 包含记录的数据对象
* @returns {array} - 处理后的记录数组
*/
const replaceNullWithSlash = data => {
const newRecords = [];
const records = data.records;
for (let i = 0; i < records.length; i++) {
const newRecord = { ...records[i] };
for (const key in newRecord) {
if (newRecord[key] === null || newRecord[key] === '') {
newRecord[key] = '/';
}
}
newRecords.push(newRecord);
}
return newRecords;
};
/** /**
* @description 通用函数用于处理数据请求包含待回复理赔金额未出申诉超时未处理 * @description 通用函数用于处理数据请求包含待回复理赔金额未出申诉超时未处理
* @param {Function} fetchFunction - 用于执行具体数据请求的函数 * @param {Function} fetchFunction - 用于执行具体数据请求的函数
@ -1645,8 +1817,8 @@ const fetchData = async (fetchFunction, reset) => {
if (code !== 200) { if (code !== 200) {
return; return;
} }
DataAndStateProcessing(data); // DataAndStateProcessing(data); //
details.data = replaceNullWithSlash(data);
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} }
@ -1694,6 +1866,8 @@ const Publicaccessdata = async Reset => {
return; return;
} }
DataAndStateProcessing(data); // DataAndStateProcessing(data); //
details.data = replaceNullWithSlash(data);
console.log(_res, '公共数据菜单=:' + TabPermissions.value); console.log(_res, '公共数据菜单=:' + TabPermissions.value);
console.log(TabList.value, '公共菜单'); console.log(TabList.value, '公共菜单');
} catch (error) { } catch (error) {
@ -1903,6 +2077,99 @@ const CancelWorkOrderAppeal = row => {
}) })
.catch(() => {}); .catch(() => {});
}; };
/**
* @description: [钉钉号填写] - 选择数据后点击钉钉号填写按钮出现弹窗
* @return {void}
*/
const DingTalk = () => {
if (!details.selectionList.length) {
ElMessage({
message: '请勾选数据',
type: 'warning',
});
return;
}
//
DingTalkfilling.value.dialogDingTalk = true;
};
/**
* @description: [钉钉号填写确认]
* @return {void}
*/
const DingTalkSubmit = async () => {
const { processNumber, reviewedBy, auditTime } = DingTalkfilling.value;
try {
//
DingTalkfilling.value.loading = true;
//
const data = {
processNumber, //
reviewedBy, //
auditTime, //
assignList: details.selectionList.map(item => item.id), // ID
};
let res = await $_updateWorkList(data);
if (res.data.code == 200) {
ElMessage({
message: res.data.msg,
type: 'success',
});
//
DingTalkfilling.value.dialogDingTalk = false;
//
updateMenuAndData();
}
} catch (error) {
console.log(error);
} finally {
DingTalkfilling.value.loading = false;
}
};
/**
* @description: [财务入账]
* @return {void}
*/
const Financialfillingbtn = () => {
if (!details.selectionList.length) {
ElMessage({
message: '请勾选数据',
type: 'warning',
});
return;
}
//
FinancialFrom.value.loadingFinancial = true;
};
/**
* @description: [财务入账确定]
* @return {void}
*/
const FinancialfillingSubmit = async () => {
const { operator, entryTime } = FinancialFrom.value;
try {
FinancialFrom.value.dialog = true; //
const data = {
operator,
entryTime,
ids: details.selectionList.map(item => item.id).join(','),
};
let res = await $_updateFinanceTime(data);
if (res.data.code == 200) {
ElMessage({
message: res.data.msg,
type: 'success',
});
FinancialFrom.value.loadingFinancial = false;
//
updateMenuAndData();
}
} catch (error) {
} finally {
FinancialFrom.value.loading = false; //
}
};
/** /**
* @description: [全部]常工单号跳转到详情信息页面 * @description: [全部]常工单号跳转到详情信息页面
* @param {Object} row - 当前行数据 * @param {Object} row - 当前行数据
@ -2302,6 +2569,60 @@ const WorkOrderAssignment = () => {
assignFrom.value = { ...assignFrom.value, businessDepartment: '', dialogassign: true }; assignFrom.value = { ...assignFrom.value, businessDepartment: '', dialogassign: true };
}; };
/**
* @description 客服介入
* @return {void} 无返回值
*/
const CustomerServiceIntervention = () => {
if (!details.selectionList.length) {
//
ElMessage({
message: '请勾选要客服介入的数据',
type: 'warning',
});
return;
}
ElMessage({
message: '功能维护中...',
type: 'warning',
});
return;
CustomerServiceForm.value.loadingCustomer = true;
CustomerServiceForm.value.reasonRemarks = '';
};
/**
* @description 客服介入提交
* @return {void} 无返回值
*/
const InterventionSubmission = async () => {
CustomerServiceForm.value.loading = true;
try {
let data = {
assignList: [],
reasonRemarks: CustomerServiceForm.value.reasonRemarks, //
};
data['assignList'] = details.selectionList.map(item => {
return item.id;
});
let res = await $_arbitrate(data);
const { code, msg } = res.data;
if (code == 200) {
CustomerServiceForm.value.loadingCustomer = false;
updateMenuAndData(); //
ElMessage({
message: msg,
type: 'success',
});
}
} catch (error) {
console.log(error);
} finally {
CustomerServiceForm.value.loading = false;
}
//
};
/** /**
* 工单指派确定按钮 * 工单指派确定按钮
* 1.根据选择的客服ID,名称,和选择的工单ID,将其组装成一个data对象 * 1.根据选择的客服ID,名称,和选择的工单ID,将其组装成一个data对象
@ -2697,7 +3018,6 @@ const ProcessedExported = async dataID => {
} }
:deep(.plAllret) { :deep(.plAllret) {
height: 30%; height: 30%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.el-select { .el-select {
@ -2710,6 +3030,11 @@ const ProcessedExported = async dataID => {
justify-content: flex-end; justify-content: flex-end;
} }
} }
:deep(.el_Customer) {
.el-form-item {
flex-direction: column;
}
}
:deep(.el-fr-d) { :deep(.el-fr-d) {
display: flex; display: flex;
.el-form-item { .el-form-item {
@ -2810,16 +3135,71 @@ const ProcessedExported = async dataID => {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
.el_title_a,
.el_title_b {
position: relative;
}
.el_title_a::after {
content: '导出全部数据【如果存在“ 勾选 ”数据则默认导出“ 勾选 ”数据】';
position: absolute;
color: #ff0000;
border: 1px solid #ff0000;
border-top: none;
padding: 4px;
border-radius: 22px;
top: -40px;
left: -50%;
}
.el_title_a::before {
content: '▼';
position: absolute;
color: #ff0000;
top: -18px;
left: 80px;
}
.el_title_b::after {
content: '目前只支持导出 " 当前页面 " 不会卡顿,速度很快';
position: absolute;
color: #ff0000;
border: 1px solid #ff0000;
border-bottom: none;
padding: 4px;
border-radius: 10px;
bottom: -40px;
right: -50%;
}
.el_title_b::before {
content: '▲';
position: absolute;
color: #ff0000;
bottom: -18px;
left: 80px;
}
.el-dialog__body { .el-dialog__body {
width: 100%; width: 100%;
height: 100%; height: 44%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-evenly; justify-content: space-evenly;
border-radius: 12px; border-radius: 12px;
.el-button { .el-button {
width: 30%; width: 30%;
height: 44%; height: 100%;
}
}
}
//
:deep(.el_DingTalk) {
.el-form-item {
flex-direction: column;
.el-form-item__label {
justify-content: flex-start;
}
.el-form-item__content {
.el-input {
width: 100%;
}
} }
} }
} }

2
src/views/aftersales/aftersalesWorkOrderAdd.vue

@ -840,7 +840,7 @@ const ruleForm = reactive({
], ],
orderCode: [ orderCode: [
{ required: true, message: '请输入订单自编号', trigger: ['blur', 'change'] }, { required: true, message: '请输入订单自编号', trigger: ['blur', 'change'] },
{ max: 30, message: '订单自编号最多30位', trigger: 'change' }, { max: 70, message: '订单自编号最多70位', trigger: 'change' },
], ],
first: [ first: [
{ required: false, message: '请输入一级品', trigger: ['blur', 'change'] }, { required: false, message: '请输入一级品', trigger: ['blur', 'change'] },

35
src/views/aftersales/aftersalesWorkOrderend.vue

@ -682,7 +682,7 @@
v-if="PermissionButton.Arbitration_completed" v-if="PermissionButton.Arbitration_completed"
type="primary" type="primary"
class="button" class="button"
@click="CustomerServiceCompleted" @click="ArbitrationSubmission"
>客服仲裁完结</el-button >客服仲裁完结</el-button
> >
<el-button type="primary" v-if="PermissionButton.repulse" @click="BatchReturn" <el-button type="primary" v-if="PermissionButton.repulse" @click="BatchReturn"
@ -1258,10 +1258,11 @@ async function updateDictionary(targetArray, dictionaryType) {
// //
const Completedsubmission = () => { const Completedsubmission = () => {
if (UserPermissions.value == Useridentity.Warehouse_customer_service && endFrom.value.arbitrate) { if (endFrom.value.arbitrate) {
//
return true; return true;
} }
//
if ( if (
UserPermissions.value == Useridentity.Headquarters_customer_service || UserPermissions.value == Useridentity.Headquarters_customer_service ||
UserPermissions.value == Useridentity.Headquarters_Manager UserPermissions.value == Useridentity.Headquarters_Manager
@ -1275,6 +1276,10 @@ const CompletedPresentation = () => {
UserPermissions.value == Useridentity.Headquarters_customer_service || UserPermissions.value == Useridentity.Headquarters_customer_service ||
UserPermissions.value == Useridentity.Headquarters_Manager UserPermissions.value == Useridentity.Headquarters_Manager
) { ) {
//
if (['70'].includes($route.query.workOrderStatus)) {
return false;
}
if (['30'].includes($route.query.workOrderStatus)) { if (['30'].includes($route.query.workOrderStatus)) {
return false; return false;
} }
@ -1323,13 +1328,12 @@ const Processingresultmodification = () => {
// //
const Arbitrationcompleted = () => { const Arbitrationcompleted = () => {
return false
if ( if (
UserPermissions.value == Useridentity.Headquarters_customer_service || UserPermissions.value == Useridentity.Headquarters_customer_service ||
UserPermissions.value == Useridentity.Headquarters_Manager UserPermissions.value == Useridentity.Headquarters_Manager
) { ) {
// //
if ($route.query.workOrderStatus == '10') { if (['70'].includes($route.query.workOrderStatus)) {
return true; return true;
} }
} }
@ -1338,6 +1342,16 @@ const Arbitrationcompleted = () => {
// //
const Processingresultdisabled = () => { const Processingresultdisabled = () => {
//
if (['70'].includes($route.query.workOrderStatus)) {
if (
UserPermissions.value == Useridentity.Headquarters_customer_service ||
UserPermissions.value == Useridentity.Headquarters_Manager
) {
return true;
}
}
if ( if (
UserPermissions.value == Useridentity.Warehouse_customer_service || UserPermissions.value == Useridentity.Warehouse_customer_service ||
UserPermissions.value == Useridentity.Headquarters_customer_service || UserPermissions.value == Useridentity.Headquarters_customer_service ||
@ -2608,7 +2622,14 @@ const CustomerServiceCompleted = () => {
}); });
$useStore.commit('DEL_TAG_CURRENT'); $useStore.commit('DEL_TAG_CURRENT');
}; };
//
const ArbitrationSubmission = () => {
ElMessage({
message: '功能维护中...',
type: 'warning',
});
return;
};
// //
const resultreturnedFun = () => { const resultreturnedFun = () => {
BatchFrom.value.businessDepartment = []; BatchFrom.value.businessDepartment = [];
@ -2702,7 +2723,7 @@ const BatchReturn = () => {
}) })
.catch(() => {}); .catch(() => {});
}; };
// //
const ResultConfirmation = async () => { const ResultConfirmation = async () => {
ElMessageBox.confirm('是否确认审核?请注意查验数据正确性!', '提示', { ElMessageBox.confirm('是否确认审核?请注意查验数据正确性!', '提示', {
confirmButtonText: '确认', confirmButtonText: '确认',

15
src/views/basicdata/warehouse/tray/basicdataTrayedt.vue

@ -657,10 +657,21 @@ export default {
sortable: true, sortable: true,
head: false, head: false,
}, },
{
prop: 'mallName',
label: '商场名称',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{ {
prop: 'isFleeingName', prop: 'isFleeingName',
label: '是否窜货', label: '是否窜货',
type: 30, type: 1,
values: '', values: '',
width: '80', width: '80',
checkarr: [ checkarr: [
@ -682,6 +693,8 @@ export default {
sortable: true, sortable: true,
head: false, head: false,
}, },
{ {
prop: 'firsts', prop: 'firsts',
label: '一级品类', label: '一级品类',

22
src/views/distribution/deliverylist/distributionDeliveryListdis.vue

@ -323,6 +323,7 @@ import { getDictionaryBiz } from '@/api/system/dict';
import { addIncrement } from '@/api/distribution/distributionStockArticle'; import { addIncrement } from '@/api/distribution/distributionStockArticle';
import { getVehicleList } from '@/api/basicdata/basicdataVehicle'; import { getVehicleList } from '@/api/basicdata/basicdataVehicle';
import { getDriverList } from '@/api/basicdata/basicdataDriverArtery'; import { getDriverList } from '@/api/basicdata/basicdataDriverArtery';
import dayjs from 'dayjs';
import print from '@/utils/print'; import print from '@/utils/print';
import { import {
downloadXls, downloadXls,
@ -331,12 +332,13 @@ import {
handleSelectQuery, handleSelectQuery,
setNodeHeight, setNodeHeight,
} from '@/utils/util'; } from '@/utils/util';
import { ElMessage, ElMessageBox } from 'element-plus'; import { ElMessage, ElMessageBox, tourEmits } from 'element-plus';
import * as XLSX from 'xlsx'; import * as XLSX from 'xlsx';
export default { export default {
data() { data() {
return { return {
height: 0, height: 0,
currentdate:true,
// //
title: '', title: '',
// //
@ -984,10 +986,25 @@ export default {
this.loadingObj.pageLoading = false; this.loadingObj.pageLoading = false;
} }
}, },
Getcurrentdate() {
//
const currentDate = dayjs();
//
const startDate = currentDate.subtract(1, 'month');
// 'YYYY-MM-DD'
const formatDate = date => date.format('YYYY-MM-DD');
this.query.taskTimeArr = [];
this.query.taskTimeArr[0] = formatDate(startDate); //
this.query.taskTimeArr[1] = formatDate(currentDate); //
},
onLoad(page, params = {}) { async onLoad(page, params = {}) {
this.loading = true; this.loading = true;
this.query.type = '1'; this.query.type = '1';
if(this.currentdate){
await this.Getcurrentdate()
}
const submitData = { ...params, ...this.query }; const submitData = { ...params, ...this.query };
if (getObjType(this.query.taskTimeArr) === 'array') { if (getObjType(this.query.taskTimeArr) === 'array') {
@ -1024,6 +1041,7 @@ export default {
this.page.total = data.total; this.page.total = data.total;
this.data = data.records; this.data = data.records;
// data.records // data.records
this.currentdate = false;
this.loading = false; this.loading = false;
this.selectionClear(); this.selectionClear();
}); });

20
src/views/distribution/deliverylist/distributionDeliveryListmar.vue

@ -223,6 +223,7 @@ import {
printBatch, printBatch,
getDeliveryListExport, getDeliveryListExport,
} from '@/api/distribution/distributionDeliveryList'; } from '@/api/distribution/distributionDeliveryList';
import dayjs from 'dayjs';
import option from '@/option/distribution/distributionDeliveryList'; import option from '@/option/distribution/distributionDeliveryList';
// import distributionDeliveryListmar from '@/components/distributionDeliveryListmar/distributionDeliveryListmar.vue'; // import distributionDeliveryListmar from '@/components/distributionDeliveryListmar/distributionDeliveryListmar.vue';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
@ -248,6 +249,7 @@ export default {
data() { data() {
return { return {
height: 0, height: 0,
currentdate:true,
dydialogVisible: false, dydialogVisible: false,
// //
title: '', title: '',
@ -773,9 +775,24 @@ export default {
this.page.pageSize = pageSize; this.page.pageSize = pageSize;
this.onLoad(this.page); this.onLoad(this.page);
}, },
onLoad(page, params = {}) { Getcurrentdate() {
//
const currentDate = dayjs();
//
const startDate = currentDate.subtract(1, 'month');
// 'YYYY-MM-DD'
const formatDate = date => date.format('YYYY-MM-DD');
this.query.taskTimeArr = [];
this.query.taskTimeArr[0] = formatDate(startDate); //
this.query.taskTimeArr[1] = formatDate(currentDate); //
},
async onLoad(page, params = {}) {
this.loading = true; this.loading = true;
this.query.type = '2'; this.query.type = '2';
if(this.currentdate){
await this.Getcurrentdate()
}
const submitData = { ...params, ...this.query }; const submitData = { ...params, ...this.query };
if (getObjType(this.query.taskTimeArr) === 'array') { if (getObjType(this.query.taskTimeArr) === 'array') {
@ -812,6 +829,7 @@ export default {
this.page.total = data.total || 0; this.page.total = data.total || 0;
this.data = data.records || []; this.data = data.records || [];
this.loading = false; this.loading = false;
this.currentdate=false;
this.selectionClear(); this.selectionClear();
}); });
getstatistics(page.currentPage, page.pageSize, Object.assign(params, this.query)).then( getstatistics(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(

20
src/views/distribution/inventory/delivery/distributionStockArticle.vue

@ -1504,32 +1504,20 @@ export default {
} }
}, },
async openDialog(title, input) { openDialog(title, input) {
this.popupTitle = title; this.popupTitle = title;
console.log(input, '输入框值1');
if (input) { if (input) {
const formattedInput = await input.split(',').join('\n'); this.searchInput = input.split(',').join('\n');
console.log(formattedInput, '输入框值2');
this.searchInput = formattedInput; // inputAll
} else { } else {
this.searchInput = ''; this.searchInput = '';
} }
console.log(this.searchInput, '输入框值3');
this.dialogVisible = true; this.dialogVisible = true;
}, },
handleSearchSubmit(value) { handleSearchSubmit(value) {
const lines = value
.split('\n') //
.map(line => line.trim()) //
.filter(line => line !== ''); //
const joinedLines = lines.join(','); // 使
if (this.popupTitle == '订单自编号搜索') { if (this.popupTitle == '订单自编号搜索') {
this.query.orderCodeNum = joinedLines; // this.query.orderCodeNum = value; //
} else if (this.popupTitle == '运单号搜索') { } else if (this.popupTitle == '运单号搜索') {
this.query.waybillNum = joinedLines; // this.query.waybillNum = value; //
} }
this.dialogVisible = false; this.dialogVisible = false;
}, },

32
src/views/warehouse/parcelList/distributionParcelList.vue

@ -12,6 +12,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始时间" start-placeholder="开始时间"
end-placeholder="结束时间" end-placeholder="结束时间"
value-format="YYYY-MM-DD"
/> />
</el-form-item> </el-form-item>
@ -23,6 +24,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始时间" start-placeholder="开始时间"
end-placeholder="结束时间" end-placeholder="结束时间"
value-format="YYYY-MM-DD"
/> />
</el-form-item> </el-form-item>
@ -33,6 +35,7 @@
unlink-panels unlink-panels
range-separator="至" range-separator="至"
start-placeholder="开始时间" start-placeholder="开始时间"
value-format="YYYY-MM-DD"
end-placeholder="结束时间" end-placeholder="结束时间"
/> />
</el-form-item> </el-form-item>
@ -745,10 +748,6 @@ export default {
console.log(res, '获取到的页面初始值'); console.log(res, '获取到的页面初始值');
for (let index = 0; index < data.records.length; index++) { for (let index = 0; index < data.records.length; index++) {
const element = data.records[index]; const element = data.records[index];
if (element.warehouseEntryTimeEnd) {
element.warehouseEntryTimeEnd = this.formatDateTime(element.warehouseEntryTimeEnd);
}
element.conditionsType = element.conditions === 1 ? '定制品' : '库存品'; element.conditionsType = element.conditions === 1 ? '定制品' : '库存品';
} }
this.page.total = data.total; this.page.total = data.total;
@ -973,21 +972,28 @@ export default {
}, },
searchChange() { searchChange() {
if ( if (
this.warehouseEntryTimeEnd.length === 0 && !this.warehouseEntryTimeEnd?.length &&
this.loadingTime.length === 0 && !this.loadingTime.length &&
this.signingTime.length === 0 !this.signingTime.length
) ) {
return this.$message.warning('请选择时间!!!'); return this.$message.warning('请选择时间!!!');
}
if (this.warehouseEntryTimeEnd?.length) {
/** 入库时间 */ /** 入库时间 */
this.query.startWarehouseEntryTimeEnd = this.warehouseEntryTimeEnd[0]; this.query.startWarehouseEntryTimeEnd = this.warehouseEntryTimeEnd[0];
this.query.lastWarehouseEntryTimeEnd = this.warehouseEntryTimeEnd[1]; this.query.lastWarehouseEntryTimeEnd = this.warehouseEntryTimeEnd[1];
}
if (this.loadingTime?.length) {
/** 装车时间 */ /** 装车时间 */
this.query.startLoadingTime = this.loadingTime[0]; this.query.startLoadingTime = this.loadingTime[0];
this.query.lastLoadingTime = this.loadingTime[1]; this.query.lastLoadingTime = this.loadingTime[1];
}
if (this.signingTime?.length) {
/** 签收时间 */ /** 签收时间 */
this.query.startSigningTime = this.signingTime[0]; this.query.startSigningTime = this.signingTime[0];
this.query.lastSigningTime = this.signingTime[1]; this.query.lastSigningTime = this.signingTime[1];
}
this.onLoad(this.page); this.onLoad(this.page);
}, },
@ -1103,16 +1109,6 @@ export default {
this.page.pageSize = pageSize; this.page.pageSize = pageSize;
this.onLoad(this.page); this.onLoad(this.page);
}, },
formatDateTime(dateTimeString) {
// "00:00:00"
if (dateTimeString.endsWith('00:00:00')) {
//
return dateTimeString.slice(0, -9);
} else {
//
return dateTimeString;
}
},
}, },
}; };
</script> </script>

15
src/views/waybill/WaybillOrderList.vue

@ -471,28 +471,20 @@ const permissionObj = reactive({
}), }),
}); });
const dialogVisible = ref(false); const dialogVisible = ref(false);
const popupTitle = ref('搜索弹窗'); const popupTitle = ref('');
const searchInput = ref(''); const searchInput = ref('');
const openDialog = (title, input) => { const openDialog = (title, input) => {
popupTitle.value = title; popupTitle.value = title;
console.log(input, 'input');
if (input) { if (input) {
const formattedInput = input.split(',').join('\n'); searchInput.value = input.split(',').join('\n'); // inputAll
searchInput.value = formattedInput; // inputAll
} else { } else {
searchInput.value = ''; searchInput.value = '';
} }
dialogVisible.value = true; dialogVisible.value = true;
}; };
const handleSearchSubmit = value => { const handleSearchSubmit = value => {
const lines = value
.split('\n') //
.map(line => line.trim()) //
.filter(line => line !== ''); //
const joinedLines = lines.join(','); // 使
if (popupTitle.value == '运单号搜索') { if (popupTitle.value == '运单号搜索') {
query.value.waybillNoList = joinedLines; // query.value.waybillNoList = value; //
} }
dialogVisible.value = false; dialogVisible.value = false;
}; };
@ -1121,5 +1113,4 @@ getListName({ name: '' }).then(res => {
.imgDialogVisible .el-dialog__body { .imgDialogVisible .el-dialog__body {
padding: 0; padding: 0;
} }
</style> </style>

Loading…
Cancel
Save