Browse Source

Merge branch 'pre-production'

master
pref_mail@163.com 4 months ago
parent
commit
13fe29b45e
  1. 26
      src/components/pric/tablePric.vue
  2. 3
      src/views/aftersales/aftersalesWorkOrderInfo.vue
  3. 53
      src/views/aftersales/aftersalesWorkOrderend.vue
  4. 17
      src/views/basicdata/warehouse/warehouse/basicdataWarehouse.vue
  5. 78
      src/views/cost/Deliverycostmanagement/ServiceProviderPrice.vue
  6. 50
      src/views/cost/Deliverycostmanagement/Traincostbreakdown.vue
  7. 4
      src/views/cost/Deliverycostmanagement/WarehousePricingTemplate.vue
  8. 2
      src/views/reportforms/DeliveryDetailsVtwo.vue

26
src/components/pric/tablePric.vue

@ -24,6 +24,8 @@
:controls="false"
:value-on-clear="0"
placeholder="请输入价格"
:ref="setInputNumberRef(scope.$index, column.prop)"
@focus="handleInputNumberFocus(scope.$index, column.prop)"
/>
<el-select
@ -116,6 +118,30 @@ const props = defineProps({
default: () => [],
},
});
const inputNumberRefs = ref({});
function setInputNumberRef(index, prop) {
return (el) => {
if (el) {
inputNumberRefs.value[`${index}-${prop}`] = el;
}
};
}
function handleInputNumberFocus(index, prop) {
const inputNumberRef = inputNumberRefs.value[`${index}-${prop}`];
if (inputNumberRef) {
// 使 nextTick DOM
nextTick(() => {
// DOM
const inputElement = inputNumberRef.$el.querySelector('input');
if (inputElement) {
//
inputElement.select();
}
});
}
}
console.log(props.height, 'props');
</script>

3
src/views/aftersales/aftersalesWorkOrderInfo.vue

@ -2937,4 +2937,7 @@ const ResultDetermination = () => {
:deep(.el-upload-list__item-thumbnail) {
object-fit: inherit;
}
:deep(.el-tabs__header){
background-color: #fdfdfd;
}
</style>

53
src/views/aftersales/aftersalesWorkOrderend.vue

@ -60,21 +60,21 @@
</el-tooltip>
</el-form-item>
<el-form-item label="订单自编码">
<el-form-item label="订单自编码" style="width: 24%">
<el-tooltip :content="item.orderCode" placement="top">
<el-input v-model="item.orderCode" disabled />
</el-tooltip>
</el-form-item>
<el-form-item label="一级品">
<el-form-item label="一级品" style="width: 12%">
<el-input v-model="item.first" disabled />
</el-form-item>
<el-form-item label="二级品">
<el-form-item label="二级品" style="width: 12%">
<el-input v-model="item.secondary" disabled />
</el-form-item>
<el-form-item label="品牌">
<el-form-item label="品牌" style="width: 12%">
<el-input v-model="item.brandName" disabled />
</el-form-item>
</div>
@ -180,7 +180,6 @@
v-if="displaySettings.processorEntityList"
>
<el-select
v-model="endFrom.processorEntityList"
placeholder="请选择责任方"
disabled
@ -237,7 +236,7 @@
</el-tab-pane>
</el-tabs>
<el-tabs type="border-card" class="Responsible_box" v-if="endFrom.discoveryNode !='3'">
<el-tabs type="border-card" class="Responsible_box" v-if="endFrom.discoveryNode != '3'">
<el-tab-pane label="内部责任划分">
<div class="ResponsibilityBox">
<div></div>
@ -670,7 +669,7 @@
>
<el-button
type="primary"
v-if="PermissionButton.information_editing"
v-if="PermissionButton.information_editing && endFrom.discoveryNode !='3'"
@click="EditInformation"
>修改内部责任划分</el-button
>
@ -2946,23 +2945,23 @@ const AppealEstablished = () => {
}
.selector {
width: 100%;
margin: 4px 0;
:deep(.el-select) {
width: 100%;
}
}
.ProcessingResults {
width: 100%;
min-height: 260px;
border: 1px solid #ccc;
position: relative;
padding: 26px;
padding: 10px;
box-sizing: border-box;
margin-top: 3%;
margin-top: 20px;
color: #606266;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-bottom: 16px;
margin-bottom: 10px;
border-radius: 16px;
box-shadow: 0px 0px 6px 0px #00000029;
.title {
@ -3064,7 +3063,6 @@ const AppealEstablished = () => {
align-items: center;
}
:deep(.selector) {
margin-bottom: 40px;
.is-active {
font-weight: bold;
}
@ -3078,7 +3076,7 @@ const AppealEstablished = () => {
display: flex;
justify-content: flex-start;
}
:deep(.el-tabs__content){
:deep(.el-tabs__content) {
padding: 0 10px;
}
}
@ -3449,18 +3447,21 @@ const AppealEstablished = () => {
:deep(.PackageInformation) {
width: 100%;
margin-bottom: 4px;
.is-active{
.is-active {
font-weight: bold;
}
.el-tabs__content{
.el-tabs__content {
padding: 0 12px;
}
.el-form-item__content {
width: 100% !important;
}
}
.ResponsibilityBoxS {
width: 100%;
display: flex;
flex-direction: column;
margin-bottom:2px;
margin-bottom: 2px;
justify-content: flex-start;
.leftbox {
@ -3472,7 +3473,7 @@ const AppealEstablished = () => {
flex-direction: column;
align-items: flex-start;
flex: none;
width: 16.4%;
width: 18%;
}
}
@ -3620,7 +3621,7 @@ const AppealEstablished = () => {
display: flex;
flex-direction: row;
align-items: center;
width: 22%;
width: 24%;
}
}
:deep(.el_resj) {
@ -3639,7 +3640,7 @@ const AppealEstablished = () => {
:deep(.is-active) {
font-weight: bold;
}
:deep(.el-tabs__content){
:deep(.el-tabs__content) {
padding: 0 12px;
}
.el_information {
@ -3673,22 +3674,22 @@ const AppealEstablished = () => {
.el-select {
width: 100;
}
.inpuit_Investigationprocess{
.inpuit_Investigationprocess {
display: flex;
flex-direction: row !important;
margin: 2px 0;
}
.processor_box{
.processor_box {
display: flex;
flex-direction: row !important;
margin: 2px 0;
}
:deep(.el_Responsibilityhandling){
:deep(.el_Responsibilityhandling) {
width: 100%;
display: flex;
margin: 3px 0;
justify-content: space-between;
.el-form-item{
.el-form-item {
margin: 0;
}
}
@ -3750,6 +3751,9 @@ const AppealEstablished = () => {
.is-active {
font-weight: bold;
}
.el-tabs__content {
padding: 4px 20px !important;
}
}
.el-endtabs {
width: 100%;
@ -3826,4 +3830,7 @@ const AppealEstablished = () => {
top: 0;
}
}
:deep(.el-tabs__header){
background-color: #fdfdfd;
}
</style>

17
src/views/basicdata/warehouse/warehouse/basicdataWarehouse.vue

@ -41,8 +41,8 @@
<div>
<div class="el_top_btn">
<div>
<el-button type="primary" @click="newlyadd" icon="el-icon-plus"> </el-button>
<el-button type="primary" icon="el-icon-delete" @click="DeleteInformationAll"
<el-button type="primary" v-if="accessControl.warehouseWarehouse_add" @click="newlyadd" icon="el-icon-plus"> </el-button>
<el-button type="primary" v-if="accessControl.warehouseWarehouse_delete" icon="el-icon-delete" @click="DeleteInformationAll"
>批量删除</el-button
>
</div>
@ -70,13 +70,13 @@
<template v-if="slotProps.scope.column.label === '操作'">
<div class="ElBtnClass">
<el-text
v-if="userInfo == 'admin'"
v-if="accessControl.Expand_configuration"
@click="Expandconfiguration(slotProps.scope.row)"
>扩展配置</el-text
>
<el-text @click="view(slotProps.scope)">查看</el-text>
<el-text @click="edit(slotProps.scope)">编辑</el-text>
<el-text @click="DeleteInformation(slotProps.scope)">删除</el-text>
<el-text v-if="accessControl.warehouseWarehouse_view"click="view(slotProps.scope)">查看</el-text>
<el-text v-if="accessControl.warehouseWarehouse_edit" @click="edit(slotProps.scope)">编辑</el-text>
<el-text v-if="accessControl.warehouseWarehouse_delete" @click="DeleteInformation(slotProps.scope)">删除</el-text>
</div>
</template>
</template>
@ -610,6 +610,11 @@ import dayjs from 'dayjs';
import { Delete, Download, Plus, ZoomIn } from '@element-plus/icons-vue';
import { ElMessage, ElMessageBox } from 'element-plus';
import { compressImageBlob } from '@/components/IMGcompressor/imgcompressor.js';
import { useStore } from 'vuex';
const $useStore = useStore();
const accessControl = $useStore.getters.permission;
console.log(accessControl.Expand_configuration,'accessControl');
const dataRwo = ref({}); //
const props = { multiple: true };
const options = ref([]); //

78
src/views/cost/Deliverycostmanagement/ServiceProviderPrice.vue

@ -6,7 +6,7 @@
<el-row v-if="search">
<!-- 查询模块 -->
<el-form :inline="true" :model="queryTop" class="el-fr-d">
<div>
<!-- <div>
<el-form-item label="承运方名称">
<el-input v-model="queryTop.region" placeholder="请输入承运方名称" />
</el-form-item>
@ -22,7 +22,7 @@
:default-time="defaultTime2"
/>
</el-form-item>
</div>
</div> -->
<!-- 查询按钮 -->
<el-form-item class="el-btn">
<el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button>
@ -39,9 +39,9 @@
<el-button type="primary" @click="AddInfo"
><el-icon><Download /></el-icon></el-button
>
<el-button type="primary" @click="AddInfo"
<!-- <el-button type="primary" @click="AddInfo"
><el-icon><Upload /></el-icon></el-button
>
> -->
<el-button type="primary" @click="Informationadd"
><el-icon><Plus /></el-icon></el-button
>
@ -122,7 +122,15 @@
</el-select>
</el-form-item>
<el-form-item label="司机:" prop="driverId">
<el-select v-model="form.driverId" placeholder="请选择司机">
<el-select
v-model="form.driverId"
:multiple="PriceconfigurationTitle=='价格配置(新增)' ? true : false"
collapse-tags
filterable
collapse-tags-tooltip
:max-collapse-tags="3"
placeholder="请选择司机"
>
<el-option
v-for="item in driver"
:key="item.value"
@ -163,7 +171,7 @@
import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue';
import { columnList } from '@/option/storagecost/ServiceProviderPrice.js';
import { getDictionaryBiz } from '@/api/system/dict'; //
import { processRowProperty, setNodeHeight,handleClearTableQuery } from '@/utils/util';
import { processRowProperty, setNodeHeight, handleClearTableQuery } from '@/utils/util';
import { getDriverList } from '@/api/basicdata/basicdataDriverArtery'; //
import {
$_getMyWarehouseList,
@ -333,14 +341,14 @@ const selectionChange = list => {
//
const searchChange = () => {
// details.search = false; //
onLoad()
onLoad();
};
const searchReset=()=>{
details.query={}
queryTop.value={}
const searchReset = () => {
details.query = {};
queryTop.value = {};
handleClearTableQuery(details.columnList);
onLoad()
}
onLoad();
};
//
const sizeChange = val => {
details.page.pageSize = val;
@ -477,13 +485,13 @@ const PageOnload = async () => {
await MyWarehouseList(); //
onLoad();
};
const AddInfo=()=>{
const AddInfo = () => {
ElMessage({
message: '功能维护',
type: 'warning',
})
return
}
});
return;
};
//
PageOnload();
//
@ -494,23 +502,16 @@ const Priceconfigurationsubmission = async () => {
}
const categoryMap = new Map(details.data.map(item => [item.driverId, item]));
//
if (categoryMap.has(form.value.driverId)) {
ElMessage({
message: '司机已经存在',
type: 'warning',
});
return;
}
let data = {
warehouseName:
ServiceWarehouse.value.find(res => res.value == form.value.warehouseId)?.label || '', //
warehouseId: form.value.warehouseId, //ID
driverId: form.value.driverId, //ID
driverName: driver.value.find(res => res.value == form.value.driverId)?.label || '', //
templateId: form.value.templateId, //ID
};
tcloading.value = true;
if (PriceconfigurationTitle.value == '价格配置(编辑)') {
data.driverName =driver.value.find(res => res.value == form.value.driverId)?.label || '', //
data.driverId = form.value.driverId, //ID
data.id = rowData.value.id;
$_ServiceProviderPriceupdate(data)
.then(res => {
@ -531,6 +532,13 @@ const Priceconfigurationsubmission = async () => {
tcloading.value = false;
});
} else {
data['drivers'] =[]
form.value.driverId.forEach(item => {
data['drivers'].push({
driverName:driver.value.find(res => res.value == item)?.label || '',
driverId:item,
})
})
$_ServiceProviderPricesave(data)
.then(res => {
console.log(res, '提交成功');
@ -553,7 +561,7 @@ const Priceconfigurationsubmission = async () => {
};
//
const Informationadd = () => {
form.value.driverId = '';
form.value.driverId = [];
form.value.warehouseId = '';
form.value.templateId = '';
PriceTemplate.value = [];
@ -570,17 +578,19 @@ const EditTemplate = async row => {
rowData.value = row;
form.value.warehouseId = row.warehouseId; //
await Getdriver();
await GetTemplate(); //
console.log(row);
Priceconfiguration.value = true;
PriceconfigurationTitle.value = '价格配置(编辑)';
form.value.driverId = row.driverId; //
form.value.templateId = row.templateId;
PriceTemplate.value = [
{
value: row.templateId,
label: row.templateName,
},
];
// PriceTemplate.value = [
// {
// value: row.templateId,
// label: row.templateName,
// },
// ];
};
const deleteTemplate = row => {
ElMessageBox.confirm('是否确认删除该数据?', '提示', {
@ -644,8 +654,8 @@ const deleteTemplate = row => {
margin-right: 0;
width: 15%;
align-items: flex-start;
.el-form-item__content{
justify-content: flex-end;
.el-form-item__content {
// justify-content: flex-end;
}
}
}

50
src/views/cost/Deliverycostmanagement/Traincostbreakdown.vue

@ -8,6 +8,23 @@
<el-form :inline="true" :model="TopQuery" class="el-fr-d">
<!-- 查询按钮 -->
<el-form-item class="el-btn">
<el-form-item label="目的仓">
<el-select
collapse-tags
:max-collapse-tags="3"
v-model="TopQuery.destinationWarehouse"
multiple
placeholder="请选择仓库"
style="min-width: 340px"
>
<el-option
v-for="item in warehouseList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="配送日期">
<el-date-picker
v-model="TopQuery.time"
@ -114,12 +131,7 @@
<div v-loading="Abnormaladjustment.loading" element-loading-text="Loading...">
<el-form :model="Abnormaladjustment.form" label-width="auto" style="max-width: 600px">
<el-form-item label="异动费用:">
<el-input-number
v-model="Abnormaladjustment.form.changeAmount"
:min="0"
:controls="false"
:value-on-clear="0"
/>
<el-input-number v-model="Abnormaladjustment.form.changeAmount" :controls="false" />
</el-form-item>
<el-form-item label="异动费用备注:">
<el-input
@ -245,6 +257,7 @@ import {
$_Traincostbreakdownsubmit,
$_Traincostbreakdownsubmitpage,
} from '@/api/storagecost/index.js';
import { ElMessageBox, ElMessage } from 'element-plus';
import { downloadXls } from '@/utils/util';
import { useStore } from 'vuex';
@ -252,6 +265,7 @@ import dayjs from 'dayjs';
const $router = useRouter(); //
const $useStore = useStore(); //
const $route = useRoute(); //
const warehouseList = ref([]);
const TopQuery = ref({});
//
const Abnormaladjustment = ref({
@ -419,9 +433,16 @@ const TopSearch = () => {
delete details.query.deliveryDateStart;
delete details.query.deliveryDateEnd;
}
if (TopQuery.value.destinationWarehouse?.length) {
details.query.destinationWarehouse = TopQuery.value.destinationWarehouse.join(',');
} else {
delete details.query.destinationWarehouse;
}
};
//
const searchChange = () => {
TopSearch(); //
onLoad();
};
//
@ -477,8 +498,6 @@ function updateDictionary(targetArray, dictionaryType) {
//
const onLoad = async value => {
console.log($route, 'route');
await TopSearch(); //
let data = {
current: details.page.currentPage,
size: details.page.pageSize,
@ -502,9 +521,21 @@ const onLoad = async value => {
details.loadingObj.list = false;
});
};
//
const MyWarehouseList = () => {
$_getMyWarehouseList().then(res => {
console.log(res, '仓库列表');
res.data.data.forEach(item => {
warehouseList.value.push({
value: item.name,
label: item.name,
});
});
});
};
//
const PageOnload = () => {
MyWarehouseList(); //
onLoad(); //
};
//
@ -540,6 +571,7 @@ const AbnormaladjustmentClick = row => {
Abnormaladjustment.value.dialogVisible = true;
Abnormaladjustment.value.form = { id, changeAmount, changeNote };
};
//
const AbnormaladjustmentSubmit = async () => {
if (!Abnormaladjustment.value.form.changeNote) {

4
src/views/cost/Deliverycostmanagement/WarehousePricingTemplate.vue

@ -23,7 +23,7 @@
</el-select>
</el-form-item>
<el-form-item label="修改时间">
<!-- <el-form-item label="修改时间">
<el-date-picker
v-model="queryTop.costSettlementYear"
type="datetimerange"
@ -34,7 +34,7 @@
:shortcuts="shortcuts"
:default-time="defaultTime2"
/>
</el-form-item>
</el-form-item> -->
</div>
<!-- 查询按钮 -->
<el-form-item class="el-btn">

2
src/views/reportforms/DeliveryDetailsVtwo.vue

@ -133,7 +133,7 @@
<!-- 列表模块 -->
<tablecmt
class="tableNode"
:columnList="columnList"
:columnList="details.columnList"
:tableData="data"
:loading="loadingObj.list"
@inputTxt="inputsc"

Loading…
Cancel
Save