Browse Source

Merge branch 'dev' into pre-production

pre-production
pref_mail@163.com 1 month ago
parent
commit
6eb9758010
  1. 121
      index.html
  2. 200
      src/api/aftersales/aftersalesWorkOrder.js
  3. 2565
      src/option/aftersales/vueTvemp.js
  4. 935
      src/views/aftersales/aftersalesWorkOrder.vue
  5. 9
      src/views/aftersales/aftersalesWorkOrderAdd.vue
  6. 5
      src/views/aftersales/aftersalesWorkOrderInfo.vue
  7. 1009
      src/views/aftersales/aftersalesWorkOrderend.vue
  8. 112
      src/views/aftersales/aftersalesWorkOrdermodify.vue
  9. 2
      src/views/distribution/deliverylist/distributionDeliveryListedt.vue
  10. 70
      src/views/distribution/inventory/distrilbutionBillLadingView.vue

121
index.html

@ -1,27 +1,29 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
<meta name="renderer" content="webkit" />
<meta
name="viewport"
content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"
/>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="format-detection" content="telephone=no" />
<link rel="icon" href="/favicon.png" />
<link rel="stylesheet" href="/iconfont/index.css" />
<link rel="stylesheet" href="/iconfont/avue/iconfont.css" />
<link rel="stylesheet" href="/iconfont/saber/iconfont.css" />
<link rel="stylesheet" href="/css/loading.css" />
<link rel="stylesheet" href="/css/loadinge.css" />
</head>
<head>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
<meta name="renderer" content="webkit" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="format-detection" content="telephone=no" />
<link rel="icon" href="/favicon.png" />
<link rel="stylesheet" href="/iconfont/index.css" />
<link rel="stylesheet" href="/iconfont/avue/iconfont.css" />
<link rel="stylesheet" href="/iconfont/saber/iconfont.css" />
<link rel="stylesheet" href="/css/loading.css" />
<link rel="stylesheet" href="/css/loadinge.css" />
</head>
<body>
<div id="app">
<!-- <div class="loading">
<body>
<div id="app">
<!-- <div class="loading">
<div class="loading-wrap">
<div class="loading-dots">
<span class="dot dot-spin">
@ -37,33 +39,60 @@
</div>
</div> -->
<div class="truck-wrapper">
<div class="truck">
<div class="truck-container"></div>
<div class="glases"></div>
<div class="bonet"></div>
<div class="base"></div>
<div class="base-aux"></div>
<div class="wheel-back"></div>
<div class="wheel-front"></div>
<div class="smoke"></div>
<div class="truck-wrapper">
<div class="truck">
<div class="truck-container"></div>
<div class="glases"></div>
<div class="bonet"></div>
<div class="base"></div>
<div class="base-aux"></div>
<div class="wheel-back"></div>
<div class="wheel-front"></div>
<div class="smoke"></div>
</div>
</div>
</div>
</div>
<script type="module" src="/src/main.js"></script>
</body>
<script>
window._AMapSecurityConfig = {
securityJsCode: 'ca257c159b4cbb3f499fd107ff21ab34',
};
</script>
<script type="module" src="/src/main.js"></script>
</body>
<script>
window._AMapSecurityConfig = {
securityJsCode: 'ca257c159b4cbb3f499fd107ff21ab34',
};
</script>
<script>
const initWebMap = () => {
const keyArr = ['f003ec4feb3fcc4cf0742e94f569fd33', 'e162844c0ee510af1b6480bd64eb66f7'];
const random = Math.random() * 10;
var script1 = document.createElement('script');
script1.type = 'text/javascript';
script1.src = `https://webapi.amap.com/maps?v=1.4.15&key=${
keyArr[random > 5 ? 1 : 0]
}&plugin=AMap.PlaceSearch,AMap.Geocoder,Map3D,ElasticMarker,AMap.Driving,AMap.TruckDriving`;
document.head.appendChild(script1);
const timer = setTimeout(() => {
var script2 = document.createElement('script');
script2.type = 'text/javascript';
script2.src = '//webapi.amap.com/ui/1.1/main.js';
document.head.appendChild(script2);
clearTimeout(timer);
}, 50);
};
<script type="text/javascript"
src="https://webapi.amap.com/maps?v=1.4.15&key=f003ec4feb3fcc4cf0742e94f569fd33&plugin=AMap.PlaceSearch,AMap.Geocoder,Map3D,ElasticMarker,AMap.Driving,AMap.TruckDriving"></script>
<!-- <script type="text/javascript" src='https://webapi.amap.com/maps?v=2.0&key=f003ec4feb3fcc4cf0742e94f569fd33&plugin=AMap.PlaceSearch,AMap.Geocoder,Map3D,ElasticMarker,AMap.Driving,'></script>-->
initWebMap();
</script>
<script src="//webapi.amap.com/ui/1.1/main.js"></script>
<script type="text/javascript"
src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=FpjVxjf9nGo47eLj9I0ZuUvSZm1wGGqr"></script>
<!-- <script
type="text/javascript"
src="https://webapi.amap.com/maps?v=1.4.15&key=f003ec4feb3fcc4cf0742e94f569fd33&plugin=AMap.PlaceSearch,AMap.Geocoder,Map3D,ElasticMarker,AMap.Driving,AMap.TruckDriving"
></script> -->
<!-- <script type="text/javascript" src='https://webapi.amap.com/maps?v=2.0&key=f003ec4feb3fcc4cf0742e94f569fd33&plugin=AMap.PlaceSearch,AMap.Geocoder,Map3D,ElasticMarker,AMap.Driving,'></script>-->
</html>
<!-- <script src="//webapi.amap.com/ui/1.1/main.js"></script> -->
<script
type="text/javascript"
src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=FpjVxjf9nGo47eLj9I0ZuUvSZm1wGGqr"
></script>
</html>

200
src/api/aftersales/aftersalesWorkOrder.js

@ -76,6 +76,196 @@ export const update = (row) => {
})
}
// 表格初始化全部
export const $_getList1 = (data) => {
return request({
url:`/api/logpm-aftersales/aftersalesWorkOrder/newPage?pageType=1&size=${data.size}&current=${data.current}`,
method: 'post',
data,
});
};
// 导出-全部
export const $_expor1 = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/newExport?pageType=1',
method: 'post',
data,
responseType: 'blob',
})
}
// 表格初始化待回复
export const $_getList2 = (data) => {
return request({
url: `/api/logpm-aftersales/aftersalesWorkOrder/newPage?pageType=2&size=${data.size}&current=${data.current}`, //listOwn
method: 'post',
data,
})
}
// 导出-待回复
export const $_expor2 = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/newExport?pageType=2',
method: 'post',
data,
responseType: 'blob',
})
}
// 表格初始化待处理
export const $_getList3 = (data) => {
return request({
url: `/api/logpm-aftersales/aftersalesWorkOrder/newPage?pageType=3&size=${data.size}&current=${data.current}`, //listOwn
method: 'post',
data,
})
}
// 导出-待处理
export const $_expor3 = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/newExport?pageType=3',
method: 'post',
data,
responseType: 'blob',
})
}
// 表格初始化处理中
export const $_getList4 = (data) => {
return request({
url: `/api/logpm-aftersales/aftersalesWorkOrder/newPage?pageType=4&size=${data.size}&current=${data.current}`, //listOwn
method: 'post',
data,
})
}
// 导出-处理中
export const $_expor4 = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/newExport?pageType=4',
method: 'post',
data,
responseType: 'blob',
})
}
// 表格初始化理赔金未出
export const $_getList5 = (data) => {
return request({
url: `/api/logpm-aftersales/aftersalesWorkOrder/newPage?pageType=5&size=${data.size}&current=${data.current}`, //listOwn
method: 'post',
data,
})
}
// 导出-理赔金额未出
export const $_expor5 = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/newExport?pageType=5',
method: 'post',
data,
responseType: 'blob',
})
}
// 表格初始化处理完毕
export const $_getList6 = (data) => {
return request({
url: `/api/logpm-aftersales/aftersalesWorkOrder/newPage?pageType=6&size=${data.size}&current=${data.current}`, //listOwn
method: 'post',
data,
})
}
// 导出-处理完毕
export const $_expor6 = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/newExport?pageType=6',
method: 'post',
data,
responseType: 'blob',
})
}
// 表格初始化客服介入
export const $_getList7 = (data) => {
return request({
url: `/api/logpm-aftersales/aftersalesWorkOrder/newPage?pageType=7&size=${data.size}&current=${data.current}`, //listOwn
method: 'post',
data,
})
}
// 导出-客服介入
export const $_expor7 = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/newExport?pageType=7',
method: 'post',
data,
responseType: 'blob',
})
}
// 表格初始化待审核
export const $_getList8 = (data) => {
return request({
url: `/api/logpm-aftersales/aftersalesWorkOrder/newPage?pageType=8&size=${data.size}&current=${data.current}`, //listOwn
method: 'post',
data,
})
}
// 导出-待审核
export const $_expor8 = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/newExport?pageType=8',
method: 'post',
data,
responseType: 'blob',
})
}
// 表格初始化完结
export const $_getList9 = (data) => {
return request({
url: `/api/logpm-aftersales/aftersalesWorkOrder/newPage?pageType=9&size=${data.size}&current=${data.current}`, //listOwn
method: 'post',
data,
})
}
// 导出-完结
export const $_expor9 = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/newExport?pageType=9',
method: 'post',
data,
responseType: 'blob',
})
}
// 表格初始化申诉列表
export const $_getList10 = (data) => {
return request({
url: `/api/logpm-aftersales/aftersalesWorkOrder/newPage?pageType=10&size=${data.size}&current=${data.current}`, //listOwn
method: 'post',
data,
})
}
// 导出-申诉列表
export const $_expor10 = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/newExport?pageType=10',
method: 'post',
data,
responseType: 'blob',
})
}
// 表格初始化超时未处理
export const $_getList11 = (data) => {
return request({
url: `/api/logpm-aftersales/aftersalesWorkOrder/newPage?pageType=11&size=${data.size}&current=${data.current}`, //listOwn
method: 'post',
data,
})
}
// 导出-超时未处理
export const $_expor11 = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/newExport?pageType=11',
method: 'post',
data,
responseType: 'blob',
})
}
// 表格初始化
export const $_getList = (params) => {
return request({
@ -329,7 +519,14 @@ export const $_getTrackRecord = (params) => {
})
}
// 修改工单数据最新
export const $_updatePersonResponsible = (data) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/updatePersonResponsible',
method: 'post',
data
})
}
// 修改工单数据
export const $_modifyData = (data) => {
@ -473,6 +670,7 @@ export const $_exportAftersalesWorkOrder = (params) => {
responseType: 'blob',
})
}
export const $_exportWorkOrder0 = (params) => {
return request({
url: '/api/logpm-aftersales/aftersalesWorkOrder/exportWorkOrder0',

2565
src/option/aftersales/vueTvemp.js

File diff suppressed because it is too large Load Diff

935
src/views/aftersales/aftersalesWorkOrder.vue

File diff suppressed because it is too large Load Diff

9
src/views/aftersales/aftersalesWorkOrderAdd.vue

@ -481,17 +481,22 @@
</el-form-item>
<el-form-item
label="金额(元)"
label="金额/占比"
:prop="`responsibilitiesList[${index}.responsibilityRatio]`"
:rules="ruleForm.responsibilityRatio"
>
<el-input-number
<!-- <el-input-number
v-model="item.responsibilityRatio"
:min="0"
:max="item.ProportionMax"
:controls="false"
:precision="2"
:value-on-clear="0"
/> -->
<el-input
v-model="item.responsibilityRatio"
placeholder="请输入金额或占比"
clearable
/>
</el-form-item>
<el-form-item

5
src/views/aftersales/aftersalesWorkOrderInfo.vue

@ -314,7 +314,7 @@
<el-input v-else v-model="item.personResponsibleName" placeholder="责任人" />
</el-form-item>
<el-form-item label="金额(元)" class="title">
<el-form-item label="金额/占比" class="title">
<el-input :controls="false" v-model="item.responsibilityRatio" />
</el-form-item>
@ -1253,6 +1253,7 @@ const onLoad = async () => {
console.log(res, '回显返回值参数');
Indexform.value = res.data.data;
//
if (res.data.data.createUser == userInfo.content.user_id) {
//
@ -1440,7 +1441,7 @@ let isWarehouseCustomerService = userRole === '仓库客服'; //角色状态
let isHeadquarterCustomerServiceManager = userRole === '总部客服经理'; //
//
const isProcessingResults = () => {
if (workOrderStatus == '10' || workOrderStatus == '20') {
if ((workOrderStatus == '10' || workOrderStatus == '20') && warehouseIdState.value) {
return true;
}
return false;

1009
src/views/aftersales/aftersalesWorkOrderend.vue

File diff suppressed because it is too large Load Diff

112
src/views/aftersales/aftersalesWorkOrdermodify.vue

@ -498,18 +498,24 @@
</el-form-item>
<el-form-item
label="金额(元)"
label="金额/占比"
:prop="`responsibilitiesList[${index}.responsibilityRatio]`"
:rules="ruleForm.responsibilityRatio"
>
<el-input-number
<!-- <el-input-number
v-model="item.responsibilityRatio"
:min="0"
:max="item.ProportionMax"
:controls="false"
:precision="2"
:value-on-clear="0"
/> -->
<el-input
v-model="item.responsibilityRatio"
placeholder="请输入三方责任人"
clearable
/>
</el-form-item>
<el-form-item
label="三方责任人"
@ -696,7 +702,7 @@
v-model="form.ProcessingTab"
class="demo-tabs Completioninformation"
v-loading="form.Packageloading"
v-if="$route.query.typesOf == '0'"
v-if="$route.query.workOrderStatus == '100'"
>
<el-tab-pane label="完结信息" name="0">
<div class="el-ckbtn">
@ -778,7 +784,7 @@
v-model="form.arbitration"
class="demo-tabs arbitration"
v-loading="form.Packageloading"
v-if="$route.query.typesOf == '0'"
v-if="$route.query.workOrderStatus == '100'"
>
<el-tab-pane label="仲裁原因" name="0">
<el-input
@ -823,7 +829,7 @@
<el-button
type="primary"
icon="Position"
@click="onSubmit"
@click="onSubmitAdd"
v-if="PermissionButton.Modification_submission"
>修改提交</el-button
>
@ -891,6 +897,7 @@ import {
$_getInfo,
$_modifyData,
$_updateCompletionEnd,
$_updatePersonResponsible,
} from '@/api/aftersales/aftersalesWorkOrder';
import { compressImageBlob } from '@/components/IMGcompressor/imgcompressor.js';
import { useRouter, useRoute } from 'vue-router';
@ -1027,7 +1034,7 @@ const Modificationsubmission = () => {
//
const Appealestablished = () => {
if (form.value.UserPermissions == '总部客服经理') {
if ($route.query.typesOf == '0') {
if ($route.query.workOrderStatus == '100') {
return true;
}
}
@ -1948,7 +1955,100 @@ const Compremove = (item, index) => {
})
.catch(() => {});
};
const onSubmitAdd = () => {
ruleFormRef.value.validate(valid => {
if (!valid) {
ElMessage({
message: '信息未填写完整,请根据提示填写完整!',
type: 'warning',
});
return;
}
const message = `注意信息填写正确!点击确定将<span style="color: red;">提交修改工单</span>是否继续?`;
ElMessageBox.confirm(message, '提示', {
dangerouslyUseHTMLString: true, // HTML
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
}).then(async () => {
form.value.Pageloading = true; //
let submitData = {
id: $route.query.id,
personResponsibleVOS: [], //
};
//
if (form.value.responsibilitiesList && form.value.responsibilitiesList.length) {
form.value.responsibilitiesList.forEach(item => {
console.log(item);
let data = {
responsibilityRatio: item.responsibilityRatio, //
tripartite: item.tripartite, //
description: item.description, //
id:item.valueId||''
};
//
let Responsibleperson = item.ResponsibleoNameptions.find(
res => res.id == item.personResponsibleId
);
console.log(Responsibleperson, 'Responsibleperson');
if (form.value.groundlineType == '1') {
data.personResponsibleName = item.personResponsibleId; //
data.businessName = item.Processingoptions.find(
res => res.value == item.businessId
).label; //
data.businessId = item.businessId; // ID
} else {
data.personResponsibleId = Responsibleperson ? Responsibleperson.id : null; // ID
data.personResponsibleName =
item.ResponsibleoNameptions.find(res => res.id == item.personResponsibleId)?.name ||
item.personResponsibleId; //
data.businessName = item.Responsibleoptions.find(
res => res.value == item.businessId
).label; //
data.businessId = item.businessId; // ID
}
// ID
if (!data.personResponsibleId) {
delete data.personResponsibleId;
}
submitData.personResponsibleVOS.push(data); // 使 .push
});
}
console.log(submitData, '处理好的参数');
form.value.Pageloading = false; //
$_updatePersonResponsible(submitData)
.then(res => {
if (res.data.code == 200) {
ElMessage({
message: res.data.msg,
type: 'success',
});
$useStore.commit('DEL_TAG_CURRENT'); //
$router.push('/aftersales/aftersalesWorkOrder');
}
})
.catch(error => {
console.log(error, 'error');
})
.finally(() => {
form.value.Pageloading = false; //
});
}).catch(() => {
//
ElMessage({
message: '已取消提交',
type: 'info',
});
});
});
};
//
const onSubmit = () => {
console.log(form.value);

2
src/views/distribution/deliverylist/distributionDeliveryListedt.vue

@ -3574,7 +3574,7 @@ export default {
await this.$nextTick();
const tableNode = document.querySelectorAll('.tableNode');
setNodeHeight(tableNode, '60vh');
setNodeHeight(tableNode, '500px');
},
callFordelivery(formName) {

70
src/views/distribution/inventory/distrilbutionBillLadingView.vue

@ -91,7 +91,7 @@
ref="tableNodeOrderRef"
:columnList="columnListarrs.ordoption"
:tableData="orddata"
:loading="loading"
:loading="loadingObj.orderLoading"
@inputTxt="inputsc"
@timeCheck="timesc"
@btnCheck="btnsc"
@ -134,7 +134,7 @@
ref="tableNodePackageRef"
:columnList="columnListarrs.wrapoption"
:tableData="packdata"
:loading="loading"
:loading="loadingObj.packageLoading"
@inputTxt="inputsc"
@timeCheck="timesc"
@btnCheck="btnsc"
@ -173,7 +173,7 @@
ref="tableNodeInventoryRef"
:columnList="columnListarrs.inventoryoption"
:tableData="inventorydata"
:loading="loading"
:loading="loadingObj.stockLoading"
@inputTxt="inputsc"
@timeCheck="timesc"
@btnCheck="btnsc"
@ -1438,6 +1438,11 @@ export default {
],
/** 页面Loading */
pageLoading: false,
loadingObj: {
orderLoading: false,
packageLoading: false,
stockLoading: false,
},
};
},
watch: {
@ -1794,32 +1799,51 @@ export default {
});
},
//
handleOrder(page) {
let params = {};
params.billLadingId = this.$route.query.id;
getOrderDetail(page.currentPage, page.pageSize, Object.assign(params)).then(res => {
console.log('查看>>>>>订单>>', res.data.data);
async handleOrder(page) {
try {
this.loadingObj.orderLoading = true;
let params = {};
params.billLadingId = this.$route.query.id;
const res = await getOrderDetail(page.currentPage, page.pageSize, Object.assign(params));
const data = res.data.data;
this.orddata = data.records;
this.ordpage.total = data.total;
});
} catch (error) {
console.log('error :>> ', error);
} finally {
this.loadingObj.orderLoading = false;
}
},
//
handlePackage(page) {
let params = {};
params.billLadingId = this.$route.query.id;
getPackDetail(page.currentPage, page.pageSize, Object.assign(params)).then(res => {
console.log('查看>>>>>包间>>', res.data.data);
async handlePackage(page) {
try {
this.loadingObj.packageLoading = true;
let params = {};
params.billLadingId = this.$route.query.id;
const res = await getPackDetail(page.currentPage, page.pageSize, Object.assign(params));
const data = res.data.data;
this.packdata = data.records;
this.packpage.total = data.total;
});
} catch (error) {
console.log('error :>> ', error);
} finally {
this.loadingObj.packageLoading = false;
}
},
//
handleInventory(page) {
let params = {};
params.billLadingId = this.$route.query.id;
getInventoryDetail(page.currentPage, page.pageSize, Object.assign(params)).then(res => {
async handleInventory(page) {
try {
this.loadingObj.stockLoading = true;
let params = {};
params.billLadingId = this.$route.query.id;
const res = await getInventoryDetail(
page.currentPage,
page.pageSize,
Object.assign(params)
);
console.log('查看>>>>>库存>>', res.data.data);
const data = res.data.data;
this.inventorydata = data.records;
@ -1832,9 +1856,13 @@ export default {
} else if (item.stockStatus == 3) {
item.stockStatus = '备货完成';
}
this.inventorypage.total = data.total;
});
this.inventorypage.total = data.total;
});
} catch (error) {
console.log('error :>> ', error);
} finally {
this.loadingObj.stockLoading = false;
}
},
beforeClose(done) {

Loading…
Cancel
Save