From 928ce303640ec457f45a5760aaa60053be925b12 Mon Sep 17 00:00:00 2001
From: xzg <4727863@qq.com>
Date: Tue, 19 Nov 2024 17:38:23 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B7=B2=E7=9F=A5bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/aftersales/aftersalesWorkOrder.js | 2 +-
.../MultiConditionSearch.vue | 11 +-
src/views/aftersales/aftersalesWorkOrder.vue | 224 +++++++++++++++++-
.../aftersales/aftersalesWorkOrderAdd.vue | 2 +-
.../aftersales/aftersalesWorkOrderend.vue | 35 ++-
.../warehouse/tray/basicdataTrayedt.vue | 17 +-
.../delivery/distributionStockArticle.vue | 20 +-
src/views/waybill/WaybillOrderList.vue | 15 +-
8 files changed, 271 insertions(+), 55 deletions(-)
diff --git a/src/api/aftersales/aftersalesWorkOrder.js b/src/api/aftersales/aftersalesWorkOrder.js
index e8fc781e..2812bc3e 100644
--- a/src/api/aftersales/aftersalesWorkOrder.js
+++ b/src/api/aftersales/aftersalesWorkOrder.js
@@ -389,7 +389,7 @@ export const $_updateWorkOrderStatus = (data) => {
data
})
}
-// 处理结果完结结果确定
+// 完结审核
export const $_updateManagerConfirmed = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/updateManagerConfirmed',
diff --git a/src/components/MultiConditionSearch/MultiConditionSearch.vue b/src/components/MultiConditionSearch/MultiConditionSearch.vue
index 8b60419d..16bbdf83 100644
--- a/src/components/MultiConditionSearch/MultiConditionSearch.vue
+++ b/src/components/MultiConditionSearch/MultiConditionSearch.vue
@@ -100,6 +100,8 @@ const maximize = () => {
const close = () => {
emit('update:modelValue', false);
+ minimizeState.value = false;
+ emit('update:inputValue', localInputValue.value);
};
const expandWindow = () => {
@@ -114,7 +116,14 @@ const destroyWindow = () => {
};
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);
};
diff --git a/src/views/aftersales/aftersalesWorkOrder.vue b/src/views/aftersales/aftersalesWorkOrder.vue
index ef3c46d9..23a53bf8 100644
--- a/src/views/aftersales/aftersalesWorkOrder.vue
+++ b/src/views/aftersales/aftersalesWorkOrder.vue
@@ -115,16 +115,24 @@
客服介入
- 钉钉号填写
- 批量完结
+ > -->
批量完结审核
- 财务入账
@@ -440,6 +448,76 @@
本地导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -582,6 +660,16 @@ const ExportObjects = ref({
tcTableexport: false, //本地导出
ExportSelection: false, //导出选择弹窗
});
+// 钉钉号
+const DingTalkfilling = ref({
+ dialogDingTalk: false,
+ loading: false,
+});
+// 财务入账
+const FinancialFrom = ref({
+ loadingFinancial: false,
+ loading: false,
+});
// 多行搜索
const Searchboxpop = ref({
SearchboxpopUpwindowtitle: '', //标题
@@ -787,7 +875,9 @@ const ButtonPermissions = computed(() => {
return {
add: 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, //客服介入
DingTalkNumber: false, //钉钉号填写
batchFinish: false, //批量完结
@@ -804,7 +894,9 @@ const ButtonPermissions = computed(() => {
return {
add: false, //新增按钮
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, //客服介入
DingTalkNumber: false, //钉钉号填
batchFinish: false, //批量完结
@@ -861,7 +953,9 @@ const ButtonPermissions = computed(() => {
DingTalkNumber: false, //钉钉号填写
Batchdetermination: 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, //财务入账
Result_review: false, //结果审核(总部审核处理结果)
defaultassignments: false, //默认指派
@@ -875,11 +969,15 @@ const ButtonPermissions = computed(() => {
assignment: false, //工单指派
applyArbitration: false, //客服介入
batchFinish: false, //批量完结
- DingTalkNumber: UserPermissions.value != Useridentity.Warehouse_customer_service, //钉钉号填写, //钉钉号填写
+ DingTalkNumber:
+ UserPermissions.value == Useridentity.Headquarters_customer_service ||
+ UserPermissions.value == Useridentity.Headquarters_Manager, //钉钉号填写, //钉钉号填写
Batchdetermination: false, //批量确定
ManagerConfirmed: 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, //默认指派
Result_review: false, //结果审核(总部审核处理结果)
export_Report: true, //导出报表
@@ -1903,6 +2001,99 @@ const CancelWorkOrderAppeal = row => {
})
.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: [全部]常工单号,跳转到详情信息页面
* @param {Object} row - 当前行数据
@@ -2823,4 +3014,19 @@ const ProcessedExported = async dataID => {
}
}
}
+
+// 钉钉号
+: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%;
+ }
+ }
+ }
+}
diff --git a/src/views/aftersales/aftersalesWorkOrderAdd.vue b/src/views/aftersales/aftersalesWorkOrderAdd.vue
index 0e61a590..85672ded 100644
--- a/src/views/aftersales/aftersalesWorkOrderAdd.vue
+++ b/src/views/aftersales/aftersalesWorkOrderAdd.vue
@@ -840,7 +840,7 @@ const ruleForm = reactive({
],
orderCode: [
{ required: true, message: '请输入订单自编号', trigger: ['blur', 'change'] },
- { max: 30, message: '订单自编号最多30位', trigger: 'change' },
+ { max: 70, message: '订单自编号最多70位', trigger: 'change' },
],
first: [
{ required: false, message: '请输入一级品', trigger: ['blur', 'change'] },
diff --git a/src/views/aftersales/aftersalesWorkOrderend.vue b/src/views/aftersales/aftersalesWorkOrderend.vue
index f1dd5ab3..c1baf5fe 100644
--- a/src/views/aftersales/aftersalesWorkOrderend.vue
+++ b/src/views/aftersales/aftersalesWorkOrderend.vue
@@ -1258,23 +1258,22 @@ async function updateDictionary(targetArray, dictionaryType) {
//完结展示权限
const Completedsubmission = () => {
- if (UserPermissions.value == Useridentity.Warehouse_customer_service && endFrom.value.arbitrate) {
+ if (endFrom.value.arbitrate) {
+ //已经完结了的,可以给仓库客服展示
return true;
}
-
- if (
- UserPermissions.value == Useridentity.Headquarters_customer_service ||
- UserPermissions.value == Useridentity.Headquarters_Manager
- ) {
+ // 否则只能总部客服和经理展示
+ if (UserPermissions.value == Useridentity.Headquarters_customer_service || UserPermissions.value == Useridentity.Headquarters_Manager) {
return true;
}
return false;
};
const CompletedPresentation = () => {
- if (
- UserPermissions.value == Useridentity.Headquarters_customer_service ||
- UserPermissions.value == Useridentity.Headquarters_Manager
- ) {
+ if ( UserPermissions.value == Useridentity.Headquarters_customer_service || UserPermissions.value == Useridentity.Headquarters_Manager) {
+ // 客服介入
+ if (['70'].includes($route.query.workOrderStatus)) {
+ return false;
+ }
if (['30'].includes($route.query.workOrderStatus)) {
return false;
}
@@ -1323,7 +1322,7 @@ const Processingresultmodification = () => {
// 客服仲裁完结
const Arbitrationcompleted = () => {
- return false
+ return false;
if (
UserPermissions.value == Useridentity.Headquarters_customer_service ||
UserPermissions.value == Useridentity.Headquarters_Manager
@@ -1338,6 +1337,16 @@ const Arbitrationcompleted = () => {
// 处理结果是否可以填写
const Processingresultdisabled = () => {
+ // 总部仲裁中
+ if (['70'].includes($route.query.workOrderStatus)) {
+ if (
+ UserPermissions.value == Useridentity.Headquarters_customer_service ||
+ UserPermissions.value == Useridentity.Headquarters_Manager
+ ) {
+ return true;
+ }
+ }
+
if (
UserPermissions.value == Useridentity.Warehouse_customer_service ||
UserPermissions.value == Useridentity.Headquarters_customer_service ||
@@ -1641,7 +1650,7 @@ const onLoad = async () => {
});
}
console.log(endFrom.value, '表单信息');
- await getDeptWarehouse({}).then(res => {
+ await getDeptWarehouse({}).then(res => {
// 验证本地仓库用于回复选择,自己不能选择自己仓库
console.log(res, '处理方');
console.log(localStorage.getItem('WarehouseName'), '当前本地仓库');
@@ -2702,7 +2711,7 @@ const BatchReturn = () => {
})
.catch(() => {});
};
-// 待审核确认审核(经理审核)
+// 待审核确认审核(经理审核或总部)
const ResultConfirmation = async () => {
ElMessageBox.confirm('是否确认审核?请注意查验数据正确性!', '提示', {
confirmButtonText: '确认',
diff --git a/src/views/basicdata/warehouse/tray/basicdataTrayedt.vue b/src/views/basicdata/warehouse/tray/basicdataTrayedt.vue
index 116233a0..71980c05 100644
--- a/src/views/basicdata/warehouse/tray/basicdataTrayedt.vue
+++ b/src/views/basicdata/warehouse/tray/basicdataTrayedt.vue
@@ -640,7 +640,7 @@ export default {
label: '订单自编号',
type: 30,
values: '',
- width: '300',
+ width: '180',
checkarr: [],
fixed: false,
sortable: true,
@@ -657,10 +657,21 @@ export default {
sortable: true,
head: false,
},
+ {
+ prop: 'mallName',
+ label: '商场名称',
+ type: 1,
+ values: '',
+ width: '150',
+ checkarr: [],
+ fixed: false,
+ sortable: true,
+ head: false,
+ },
{
prop: 'isFleeingName',
label: '是否窜货',
- type: 30,
+ type: 1,
values: '',
width: '80',
checkarr: [
@@ -682,6 +693,8 @@ export default {
sortable: true,
head: false,
},
+
+
{
prop: 'firsts',
label: '一级品类',
diff --git a/src/views/distribution/inventory/delivery/distributionStockArticle.vue b/src/views/distribution/inventory/delivery/distributionStockArticle.vue
index 474f3993..bfb56f17 100644
--- a/src/views/distribution/inventory/delivery/distributionStockArticle.vue
+++ b/src/views/distribution/inventory/delivery/distributionStockArticle.vue
@@ -1504,32 +1504,20 @@ export default {
}
},
- async openDialog(title, input) {
+ openDialog(title, input) {
this.popupTitle = title;
- console.log(input, '输入框值1');
if (input) {
- const formattedInput = await input.split(',').join('\n');
- console.log(formattedInput, '输入框值2');
-
- this.searchInput = formattedInput; // 赋值给 inputAll
+ this.searchInput = input.split(',').join('\n');
} else {
this.searchInput = '';
}
- console.log(this.searchInput, '输入框值3');
this.dialogVisible = true;
},
handleSearchSubmit(value) {
- const lines = value
- .split('\n') // 按换行分割
- .map(line => line.trim()) // 移除每一行前后的空格
- .filter(line => line !== ''); // 过滤掉空行
-
- const joinedLines = lines.join(','); // 使用逗号连接,无空格
-
if (this.popupTitle == '订单自编号搜索') {
- this.query.orderCodeNum = joinedLines; //搜索框值
+ this.query.orderCodeNum = value; //搜索框值
} else if (this.popupTitle == '运单号搜索') {
- this.query.waybillNum = joinedLines; //搜索框值
+ this.query.waybillNum = value; //搜索框值
}
this.dialogVisible = false;
},
diff --git a/src/views/waybill/WaybillOrderList.vue b/src/views/waybill/WaybillOrderList.vue
index bddcec9d..01936534 100644
--- a/src/views/waybill/WaybillOrderList.vue
+++ b/src/views/waybill/WaybillOrderList.vue
@@ -471,28 +471,20 @@ const permissionObj = reactive({
}),
});
const dialogVisible = ref(false);
-const popupTitle = ref('搜索弹窗');
+const popupTitle = ref('');
const searchInput = ref('');
const openDialog = (title, input) => {
popupTitle.value = title;
- console.log(input, 'input');
if (input) {
- const formattedInput = input.split(',').join('\n');
- searchInput.value = formattedInput; // 赋值给 inputAll
+ searchInput.value = input.split(',').join('\n'); // 赋值给 inputAll
} else {
searchInput.value = '';
}
dialogVisible.value = true;
};
const handleSearchSubmit = value => {
- const lines = value
- .split('\n') // 按换行分割
- .map(line => line.trim()) // 移除每一行前后的空格
- .filter(line => line !== ''); // 过滤掉空行
-
- const joinedLines = lines.join(','); // 使用逗号连接,无空格
if (popupTitle.value == '运单号搜索') {
- query.value.waybillNoList = joinedLines; //搜索框值
+ query.value.waybillNoList = value; //搜索框值
}
dialogVisible.value = false;
};
@@ -1121,5 +1113,4 @@ getListName({ name: '' }).then(res => {
.imgDialogVisible .el-dialog__body {
padding: 0;
}
-