Commit 4bd6846c authored by lanbaoming's avatar lanbaoming

Merge branch 'dev'

parents 6cd3037c fad5e683
...@@ -34,6 +34,14 @@ export function listServiceUser() { ...@@ -34,6 +34,14 @@ export function listServiceUser() {
method: 'get' method: 'get'
}) })
} }
export function listServiceUser2() {
return request({
url: '/system/user/list-service-user',
method: 'get'
})
}
// 获取用户精简信息列表 // 获取用户精简信息列表
export function listAllSimpl(){ export function listAllSimpl(){
return request({ return request({
......
...@@ -3,44 +3,95 @@ ...@@ -3,44 +3,95 @@
<el-row style="margin-top: 25px"> <el-row style="margin-top: 25px">
<el-row v-if="flag == 'edit'" class="table-title"> <el-row v-if="flag == 'edit'" class="table-title">
<div> <div>
<el-button size="small" type="primary" @click="removeBatch">{{ $t('批量移出合包') }}</el-button> <el-button size="small" type="primary" @click="removeBatch">{{
<el-button size="small" type="primary" @click="sealBox">{{ $t('封箱') }}</el-button> $t("批量移出合包")
}}</el-button>
<!--lanbm 2024-06-20 处理封箱确认对话框带出的体积异常问题-->
<el-button size="small" type="primary" @click="sealBox">{{
$t("封箱")
}}</el-button>
</div> </div>
<div> <div>
<template> <template>
<el-input v-model="qrCode" :placeholder="$t('请输入二维码/条码编号')" clearable></el-input> <el-input
<el-button type="primary" @click="handlerBatchCreate()">{{$t('确定')}}</el-button> v-model="qrCode"
<el-button type="primary" @click="handlerClick('batchInput',$t('批量输入'))">{{$t('批量输入')}}</el-button> :placeholder="$t('请输入二维码/条码编号')"
<el-button type="primary" @click="handlerClick('correction',$t('装箱纠错'))">{{$t('装箱纠错')}}</el-button> clearable
<el-button type="primary" @click="handlerClick('correctionOrder',$t('批量装箱纠错'))">{{$t('批量装箱纠错')}}</el-button> ></el-input>
<el-button type="primary" @click="handlerBatchCreate()">{{
$t("确定")
}}</el-button>
<el-button
type="primary"
@click="handlerClick('batchInput', $t('批量输入'))"
>{{ $t("批量输入") }}</el-button
>
<el-button
type="primary"
@click="handlerClick('correction', $t('装箱纠错'))"
>{{ $t("装箱纠错") }}</el-button
>
<el-button
type="primary"
@click="handlerClick('correctionOrder', $t('批量装箱纠错'))"
>{{ $t("批量装箱纠错") }}</el-button
>
</template> </template>
</div> </div>
</el-row> </el-row>
<el-row style="margin-top: 5px"> <el-row style="margin-top: 5px">
<el-table border :data="pagList" max-height="600px" @select="checkboxSelect" @select-all="checkboxSelect"> <el-table
<el-table-column type="selection" align="center" width="55" fixed="left" /> border
<el-table-column align="center" :label="$t('序号')" width="50" type="index" /> :data="pagList"
max-height="600px"
@select="checkboxSelect"
@select-all="checkboxSelect"
>
<el-table-column
type="selection"
align="center"
width="55"
fixed="left"
/>
<el-table-column
align="center"
:label="$t('序号')"
width="50"
type="index"
/>
<el-table-column :label="$t('订单号')" align="center" prop="orderNo"> <el-table-column :label="$t('订单号')" align="center" prop="orderNo">
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="{path: '/order/detail',query: {orderId: scope.row.orderId}}" class="link-type"> <router-link
:to="{
path: '/order/detail',
query: { orderId: scope.row.orderId },
}"
class="link-type"
>
<span>{{ scope.row.orderNo }}</span> <span>{{ scope.row.orderNo }}</span>
</router-link> </router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('商品信息')" width="250px" align="center"> <el-table-column :label="$t('商品信息')" width="250px" align="center">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<div v-for="item in row.orderItemDOS" :key="item.orderItemId"> <div v-for="item in row.orderItemDOS" :key="item.orderItemId">
{{ $l(item, 'prodTitle') }} {{ $l(item, "prodTitle") }}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('备案')" align="center"> <el-table-column :label="$t('备案')" align="center">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="row.productRecord" /> <dict-tag
:type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
:value="row.productRecord"
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('计划/已装')" align="center" prop="sumNum"> <el-table-column
:label="$t('计划/已装')"
align="center"
prop="sumNum"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-link type="primary" @click.native="orderClick(scope.row)"> <el-link type="primary" @click.native="orderClick(scope.row)">
{{ scope.row.sumNum }}/{{ scope.row.installNum }} {{ scope.row.sumNum }}/{{ scope.row.installNum }}
...@@ -50,167 +101,365 @@ ...@@ -50,167 +101,365 @@
<el-table-column :label="$t('纸箱尺寸')" align="center"> <el-table-column :label="$t('纸箱尺寸')" align="center">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<div v-for="item in row.orderItemDOS" :key="item.orderItemId"> <div v-for="item in row.orderItemDOS" :key="item.orderItemId">
{{ item.warehouseInInfoVO?item.warehouseInInfoVO.boxGauge:'' }} {{
item.warehouseInInfoVO ? item.warehouseInInfoVO.boxGauge : ""
}}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('体积')" align="center" prop="sumVolume" /> <el-table-column
<el-table-column :label="$t('重量')" align="center" prop="sumWeight" /> :label="$t('体积')"
<el-table-column :label="$t('数量(个)')" align="center" prop="sumQuantity" /> align="center"
<el-table-column :label="$t('储位')" align="center" prop="positionNo" width="250px"> prop="sumVolume"
/>
<el-table-column
:label="$t('重量')"
align="center"
prop="sumWeight"
/>
<el-table-column
:label="$t('数量(个)')"
align="center"
prop="sumQuantity"
/>
<el-table-column
:label="$t('储位')"
align="center"
prop="positionNo"
width="250px"
>
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<div v-for="item in row.orderItemDOS" :key="item.orderItemId"> <div v-for="item in row.orderItemDOS" :key="item.orderItemId">
{{ (item.warehouseInInfoVO&&item.warehouseInInfoVO.orderLocationMergeVOSet)?notset(getpositionNo(item.warehouseInInfoVO.orderLocationMergeVOSet)):'' }} {{
item.warehouseInInfoVO &&
item.warehouseInInfoVO.orderLocationMergeVOSet
? notset(
getpositionNo(
item.warehouseInInfoVO.orderLocationMergeVOSet
)
)
: ""
}}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('理货时间')" align="center"> <el-table-column :label="$t('理货时间')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{ formatDate(scope.row.tallyTime, 'YYYY-MM-DD HH:mm:ss') }} {{ formatDate(scope.row.tallyTime, "YYYY-MM-DD HH:mm:ss") }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')" align="center" width="160" class-name="small-padding fixed-width"> <el-table-column
:label="$t('操作')"
align="center"
width="160"
class-name="small-padding fixed-width"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="removePkg(scope.row)">{{ $t('移出') }}</el-button> <el-button
type="text"
size="small"
@click="removePkg(scope.row)"
>{{ $t("移出") }}</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页组件 --> <!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.rows" @pagination="getList" /> <pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
@pagination="getList"
/>
</el-row> </el-row>
<!-- 封箱 --> <!-- 封箱 -->
<el-dialog :title="$t('封箱确认')" :visible.sync="sealBoxdialogVisible" width="800px" :modal-append-to-body="false" append-to-body> <el-dialog
:title="$t('封箱确认')"
:visible.sync="sealBoxdialogVisible"
width="800px"
:modal-append-to-body="false"
append-to-body
>
<el-form ref="sealBoxForm" :model="sealBoxForm" label-width="100px"> <el-form ref="sealBoxForm" :model="sealBoxForm" label-width="100px">
<el-form-item :label="$t('箱号')" prop="pkgNum"> <el-form-item :label="$t('箱号')" prop="pkgNum">
{{ pkgData.pkgNum }} {{ pkgData.pkgNum }}
</el-form-item> </el-form-item>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="$t('长')" prop="pkgLength" :rules="[ <el-form-item
{ pattern: /^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/, message: $t('长度保留两位小数')} :label="$t('长')"
]"> prop="pkgLength"
<el-input v-model="sealBoxForm.pkgLength" style="width: 150px" @change="culSumVolume"> :rules="[
{
pattern:
/^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/,
message: $t('长度保留两位小数'),
},
]"
>
<el-input
v-model="sealBoxForm.pkgLength"
style="width: 150px"
@change="culSumVolume"
>
<template slot="append"> <template slot="append">
{{ $t('cm') }} {{ $t("cm") }}
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="$t('宽')" prop="pkgWidth" :rules="[ <el-form-item
{ pattern: /^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/, message: $t('宽度保留两位小数')} :label="$t('宽')"
]"> prop="pkgWidth"
<el-input v-model="sealBoxForm.pkgWidth" style="width: 150px" @change="culSumVolume"> :rules="[
{
pattern:
/^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/,
message: $t('宽度保留两位小数'),
},
]"
>
<el-input
v-model="sealBoxForm.pkgWidth"
style="width: 150px"
@change="culSumVolume"
>
<template slot="append"> <template slot="append">
{{ $t('cm') }} {{ $t("cm") }}
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="$t('高')" prop="pkgHight" :rules="[ <el-form-item
{ pattern: /^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/, message: $t('高度保留两位小数')} :label="$t('高')"
]"> prop="pkgHight"
<el-input v-model="sealBoxForm.pkgHight" style="width: 150px" @change="culSumVolume"> :rules="[
{
pattern:
/^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/,
message: $t('高度保留两位小数'),
},
]"
>
<el-input
v-model="sealBoxForm.pkgHight"
style="width: 150px"
@change="culSumVolume"
>
<template slot="append"> <template slot="append">
{{ $t('cm') }} {{ $t("cm") }}
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item :label="$t('体积')" prop="sumVolume" :rules="[ <el-form-item
{ required: true, message: $t('请填写体积')}, :label="$t('体积')"
{ pattern: /^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/, message: $t('体积保留两位小数')} prop="sumVolume"
]"> :rules="[
{ required: true, message: $t('请填写体积') },
{
pattern:
/^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/,
message: $t('体积保留两位小数'),
},
]"
>
<el-input v-model="sealBoxForm.sumVolume" style="width: 180px"> <el-input v-model="sealBoxForm.sumVolume" style="width: 180px">
<template slot="append"> <template slot="append">
{{ $t('') }} {{ $t("") }}
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('重量')" prop="sumWeight" :rules="[ <el-form-item
{ required: true, message: $t('请填写重量')}, :label="$t('重量')"
{ pattern: /^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/, message: $t('重量保留两位小数')} prop="sumWeight"
]"> :rules="[
{ required: true, message: $t('请填写重量') },
{
pattern:
/^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/,
message: $t('重量保留两位小数'),
},
]"
>
<el-input v-model="sealBoxForm.sumWeight" style="width: 180px"> <el-input v-model="sealBoxForm.sumWeight" style="width: 180px">
<template slot="append"> <template slot="append">
{{ $t('kg') }} {{ $t("kg") }}
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('箱数')" prop="sumNum" :rules="[ <el-form-item
{ required: true, message: $t('请填写数量')}, :label="$t('箱数')"
{ pattern: /^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/, message: $t('数量保留两位小数')} prop="sumNum"
]"> :rules="[
{ required: true, message: $t('请填写数量') },
{
pattern:
/^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/,
message: $t('数量保留两位小数'),
},
]"
>
<el-input v-model="sealBoxForm.sumNum" style="width: 180px"> <el-input v-model="sealBoxForm.sumNum" style="width: 180px">
<template slot="append"> <template slot="append">
{{ $t('') }} {{ $t("") }}
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div style="text-align: center"> <div style="text-align: center">
<el-button size="small" type="primary" @click="sealBoxSubmit">{{ $t('确定') }}</el-button> <el-button size="small" type="primary" @click="sealBoxSubmit">{{
<el-button size="small" type="primary" @click="sealBoxdialogVisible = false">{{ $t('取消') }}</el-button> $t("确定")
}}</el-button>
<el-button
size="small"
type="primary"
@click="sealBoxdialogVisible = false"
>{{ $t("取消") }}</el-button
>
</div> </div>
</el-dialog> </el-dialog>
<!-- 打印标签 --> <!-- 打印标签 -->
<el-dialog :title="$t('封箱标签')" :visible.sync="printdialogVisible" width="350px" :modal-append-to-body="false" append-to-body> <el-dialog
:title="$t('封箱标签')"
:visible.sync="printdialogVisible"
width="350px"
:modal-append-to-body="false"
append-to-body
>
<print-tag v-if="printdialogVisible" :tagData="tagData" /> <print-tag v-if="printdialogVisible" :tagData="tagData" />
</el-dialog> </el-dialog>
<!-- 对话框 --> <!-- 对话框 -->
<el-dialog custom-class="shipping-dialog" :title="checkDialogConfig.title" :visible.sync="checkDialogConfig.dialogVisible" :fullscreen="checkDialogConfig.fullscreen" :width="checkDialogConfig.width" :modal-append-to-body=false append-to-body> <el-dialog
custom-class="shipping-dialog"
:title="checkDialogConfig.title"
:visible.sync="checkDialogConfig.dialogVisible"
:fullscreen="checkDialogConfig.fullscreen"
:width="checkDialogConfig.width"
:modal-append-to-body="false"
append-to-body
>
<!-- 已装未装订单 --> <!-- 已装未装订单 -->
<template v-if="checkDialogConfig.type === 'orderTable'"> <template v-if="checkDialogConfig.type === 'orderTable'">
<el-table :data="orderList" height="500px" border> <el-table :data="orderList" height="500px" border>
<el-table-column :label="$t('已装')" align="center" prop="loadTag" /> <el-table-column
<el-table-column :label="$t('未装')" align="center" prop="unloadTag" /> :label="$t('已装')"
align="center"
prop="loadTag"
/>
<el-table-column
:label="$t('未装')"
align="center"
prop="unloadTag"
/>
</el-table> </el-table>
</template> </template>
<!-- 装柜纠错 --> <!-- 装柜纠错 -->
<template v-if="checkDialogConfig.type === 'correction' && checkDialogConfig.dialogVisible"> <template
<el-form ref="correctionForm" :rules="rules" :model="correctionObj" label-position="top"> v-if="
<el-form-item :label="$t('装柜纠错(二维码/条形码编号)')" prop="qrCode"> checkDialogConfig.type === 'correction' &&
<el-input v-model="correctionObj.qrCode" :placeholder="$t('请输入二维码/条形码编号')" clearable /> checkDialogConfig.dialogVisible
"
>
<el-form
ref="correctionForm"
:rules="rules"
:model="correctionObj"
label-position="top"
>
<el-form-item
:label="$t('装柜纠错(二维码/条形码编号)')"
prop="qrCode"
>
<el-input
v-model="correctionObj.qrCode"
:placeholder="$t('请输入二维码/条形码编号')"
clearable
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" @click="delCheck()">{{$t('提交')}}</el-button> <el-button type="primary" @click="delCheck()">{{
<el-button @click="closeDialog2">{{$t('取消')}}</el-button> $t("提交")
}}</el-button>
<el-button @click="closeDialog2">{{ $t("取消") }}</el-button>
</el-row> </el-row>
</template> </template>
<!-- 批量装柜纠错(订单号) --> <!-- 批量装柜纠错(订单号) -->
<template v-if="checkDialogConfig.type === 'correctionOrder' && checkDialogConfig.dialogVisible"> <template
<el-form ref="orderForm" :rules="rules" :model="orderObj" label-position="top"> v-if="
<el-form-item :label="$t('装柜纠错') +'(' + $t('订单号') + ')'" prop="orderNo"> checkDialogConfig.type === 'correctionOrder' &&
<el-input type="textarea" :rows="3" v-model="orderObj.orderNo" :placeholder="$t('请输入,多个以逗号分隔')" clearable /> checkDialogConfig.dialogVisible
"
>
<el-form
ref="orderForm"
:rules="rules"
:model="orderObj"
label-position="top"
>
<el-form-item
:label="$t('装柜纠错') + '(' + $t('订单号') + ')'"
prop="orderNo"
>
<el-input
type="textarea"
:rows="3"
v-model="orderObj.orderNo"
:placeholder="$t('请输入,多个以逗号分隔')"
clearable
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" @click="batchDelCheck()">{{$t('提交')}}</el-button> <el-button type="primary" @click="batchDelCheck()">{{
<el-button @click="closeDialog2">{{$t('取消')}}</el-button> $t("提交")
}}</el-button>
<el-button @click="closeDialog2">{{ $t("取消") }}</el-button>
</el-row> </el-row>
</template> </template>
<!-- 装柜批量输入 --> <!-- 装柜批量输入 -->
<template v-if="checkDialogConfig.type === 'batchInput' && checkDialogConfig.dialogVisible"> <template
v-if="
checkDialogConfig.type === 'batchInput' &&
checkDialogConfig.dialogVisible
"
>
<el-form ref="batchForm" :rules="rules" :model="batchObj"> <el-form ref="batchForm" :rules="rules" :model="batchObj">
<el-form-item label="" prop="qrCode" class="two-element"> <el-form-item label="" prop="qrCode" class="two-element">
<el-input v-model="batchObj.qrCode" :placeholder="$t('请输入订单号')" clearable /> <el-input
<el-button style="marginLeft:10px;" type="primary" @click="queryOrderInfo">{{$t('确定')}}</el-button> v-model="batchObj.qrCode"
:placeholder="$t('请输入订单号')"
clearable
/>
<el-button
style="marginleft: 10px"
type="primary"
@click="queryOrderInfo"
>{{ $t("确定") }}</el-button
>
</el-form-item> </el-form-item>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('订单号')"> <el-form-item :label="$t('订单号')">
{{boxOrderInfo.orderNo}} {{ boxOrderInfo.orderNo }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('箱数')"> <el-form-item :label="$t('箱数')">
<el-input-number v-if="boxOrderInfo.isExternalWarehouse === 1" v-model="batchObj.boxNum" :min="0" :max="boxOrderInfo.num" /> <el-input-number
v-if="boxOrderInfo.isExternalWarehouse === 1"
v-model="batchObj.boxNum"
:min="0"
:max="boxOrderInfo.num"
/>
<template v-else> <template v-else>
{{boxOrderInfo.num}} {{ boxOrderInfo.num }}
</template> </template>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -219,20 +468,24 @@ ...@@ -219,20 +468,24 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('方数')"> <el-form-item :label="$t('方数')">
{{getTotlContent(boxOrderInfo, ['volume'])}} {{ getTotlContent(boxOrderInfo, ["volume"]) }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('重量')"> <el-form-item :label="$t('重量')">
{{getTotlContent(boxOrderInfo, ['weight'])}} {{ getTotlContent(boxOrderInfo, ["weight"]) }}
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" :disabled="boxOrderInfo.orderId ? false : true" @click="batchLoad">{{$t('提交')}}</el-button> <el-button
<el-button @click="closeDialog2">{{$t('取消')}}</el-button> type="primary"
:disabled="boxOrderInfo.orderId ? false : true"
@click="batchLoad"
>{{ $t("提交") }}</el-button
>
<el-button @click="closeDialog2">{{ $t("取消") }}</el-button>
</el-row> </el-row>
</template> </template>
</el-dialog> </el-dialog>
...@@ -241,21 +494,33 @@ ...@@ -241,21 +494,33 @@
</template> </template>
<script> <script>
import { getPkgPageByPkgId, deleteRelate, deleteBatchRelate, getMergePkgInfoById, updateMergePkg, getMergeTagById, checkInfoSingleCreate, checkInfoBatchCreate, getOrderTagList, checkInfoSingleDelete, checkInfoBatchDelete } from '@/api/ecw/boxAir' import {
import { formatDate, serviceMsg, getTotlContent } from '../../utils' getPkgPageByPkgId,
deleteRelate,
deleteBatchRelate,
getMergePkgInfoById,
updateMergePkg,
getMergeTagById,
checkInfoSingleCreate,
checkInfoBatchCreate,
getOrderTagList,
checkInfoSingleDelete,
checkInfoBatchDelete,
} from "@/api/ecw/boxAir";
import { formatDate, serviceMsg, getTotlContent } from "../../utils";
import { getOrderDetailByBoxNo } from "@/api/ecw/boxSea"; import { getOrderDetailByBoxNo } from "@/api/ecw/boxSea";
import printTag from './printTag.vue' import printTag from "./printTag.vue";
export default { export default {
props: { props: {
pkgData: Object, pkgData: Object,
shipmentObj: Object, shipmentObj: Object,
flag: { flag: {
type: String, type: String,
default: 'edit' default: "edit",
} },
}, },
components: { components: {
printTag printTag,
}, },
data() { data() {
return { return {
...@@ -263,7 +528,7 @@ export default { ...@@ -263,7 +528,7 @@ export default {
// 查询参数 // 查询参数
queryParams: { queryParams: {
page: 1, page: 1,
rows: 10 rows: 10,
}, },
total: 0, total: 0,
// 勾选行 // 勾选行
...@@ -302,105 +567,115 @@ export default { ...@@ -302,105 +567,115 @@ export default {
}, },
// 已理/未理 // 已理/未理
orderList: [], orderList: [],
} };
}, },
created() { created() {
this.getList() this.getList();
}, },
methods: { methods: {
getList() { getList() {
let queryParams = { let queryParams = {
id: this.pkgData.id, id: this.pkgData.id,
shipmentId: this.shipmentObj.id, shipmentId: this.shipmentObj.id,
...this.queryParams ...this.queryParams,
} };
getPkgPageByPkgId(queryParams).then((res) => { getPkgPageByPkgId(queryParams).then((res) => {
this.pagList = res.data.list this.pagList = res.data.list;
this.total = res.data.total this.total = res.data.total;
console.log(this.pagList,'222'); console.log(this.pagList, "222");
}) });
}, },
// 格式化日期 // 格式化日期
formatDate, formatDate,
getTotlContent, getTotlContent,
//去重 //去重
notset(string) { notset(string) {
if (!string) return string if (!string) return string;
let arr = string.split(',') let arr = string.split(",");
arr = arr.filter((item, index) => { arr = arr.filter((item, index) => {
return arr.indexOf(item) == index return arr.indexOf(item) == index;
}) });
return arr.toString() return arr.toString();
}, },
//计算封箱体积 //计算封箱体积
culSumVolume() { culSumVolume() {
let temp = this.sealBoxForm.pkgLength*this.sealBoxForm.pkgWidth*0.01*0.01 let temp =
let sumVolume = this.accMul(temp, this.sealBoxForm.pkgHight*0.01) this.sealBoxForm.pkgLength * this.sealBoxForm.pkgWidth * 0.01 * 0.01;
if(sumVolume <= 0){ let sumVolume = this.accMul(temp, this.sealBoxForm.pkgHight * 0.01);
sumVolume = 0.01 if (sumVolume <= 0) {
sumVolume = 0.01;
} }
this.$set(this.sealBoxForm, 'sumVolume', sumVolume) this.$set(this.sealBoxForm, "sumVolume", sumVolume);
}, },
accMul(arg1,arg2) accMul(arg1, arg2) {
{ var m = 0,
var m=0,s1=arg1.toString(),s2=arg2.toString(); s1 = arg1.toString(),
try{m+=s1.split(".")[1].length}catch(e){} s2 = arg2.toString();
try{m+=s2.split(".")[1].length}catch(e){} try {
let num = Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m) m += s1.split(".")[1].length;
return num.toFixed(2) } catch (e) {}
}, try {
getpositionNo(arr){ m += s2.split(".")[1].length;
if(!arr) return arr } catch (e) {}
let data = [] let num =
arr.forEach(item=>{ (Number(s1.replace(".", "")) * Number(s2.replace(".", ""))) /
data.push(item.areaName+item.locationName) Math.pow(10, m);
}) return num.toFixed(2);
return data.toString() },
getpositionNo(arr) {
if (!arr) return arr;
let data = [];
arr.forEach((item) => {
data.push(item.areaName + item.locationName);
});
return data.toString();
}, },
removePkg(row) { removePkg(row) {
deleteRelate(this.pkgData.id, row.orderId).then(() => { deleteRelate(this.pkgData.id, row.orderId).then(() => {
this.$message.success(this.$t('移出成功')) this.$message.success(this.$t("移出成功"));
this.getList() this.getList();
this.$emit('reload') this.$emit("reload");
}) });
}, },
// 选中 // 选中
checkboxSelect(selection) { checkboxSelect(selection) {
this.selectedRows = selection this.selectedRows = selection;
}, },
removeBatch() { removeBatch() {
if (this.selectedRows.length === 0) { if (this.selectedRows.length === 0) {
this.$message.error(this.$t('请选择需要移出的订单')) this.$message.error(this.$t("请选择需要移出的订单"));
return return;
} }
let data = [] let data = [];
this.selectedRows.forEach((item) => { this.selectedRows.forEach((item) => {
let json = { let json = {
pkgId: this.pkgData.id, pkgId: this.pkgData.id,
orderId: item.orderId orderId: item.orderId,
} };
data.push(json) data.push(json);
}) });
deleteBatchRelate(data).then(() => { deleteBatchRelate(data).then(() => {
this.$message.success(this.$t('移出成功')) this.$message.success(this.$t("移出成功"));
this.getList() this.getList();
}) });
}, },
//封箱 //封箱
sealBox() { sealBox() {
let flag = false let flag = false;
let orderNo = '' let orderNo = "";
this.pagList.forEach(item=>{ this.pagList.forEach((item) => {
if(item.installNum != item.sumNum){ if (item.installNum != item.sumNum) {
flag = true flag = true;
orderNo = orderNo + '' + item.orderNo + '' orderNo = orderNo + "" + item.orderNo + "";
} }
}) });
if(flag){ if (flag) {
this.$message.error(this.$t(`订单号${orderNo}未完成装箱,请完成全部订单装箱后重试`)); this.$message.error(
this.$t(`订单号${orderNo}未完成装箱,请完成全部订单装箱后重试`)
);
return; return;
} }
getMergePkgInfoById(this.pkgData.id).then(res=>{ getMergePkgInfoById(this.pkgData.id).then((res) => {
this.sealBoxForm = { this.sealBoxForm = {
pkgHight: res.data.pkgHight, pkgHight: res.data.pkgHight,
pkgLength: res.data.pkgLength, pkgLength: res.data.pkgLength,
...@@ -408,35 +683,41 @@ export default { ...@@ -408,35 +683,41 @@ export default {
sumNum: res.data.sumNum, sumNum: res.data.sumNum,
sumVolume: res.data.sumVolume, sumVolume: res.data.sumVolume,
sumWeight: res.data.sumWeight, sumWeight: res.data.sumWeight,
} };
this.sealBoxdialogVisible = true this.sealBoxdialogVisible = true;
}) });
}, },
sealBoxSubmit() { sealBoxSubmit() {
this.$refs['sealBoxForm'].validate((valid) => { this.$refs["sealBoxForm"].validate((valid) => {
if (!valid) { if (!valid) {
return return;
} }
this.sealBoxForm.shipmentId = this.shipmentObj.id this.sealBoxForm.shipmentId = this.shipmentObj.id;
this.sealBoxForm.id = this.pkgData.id this.sealBoxForm.id = this.pkgData.id;
this.sealBoxForm.status = 3 this.sealBoxForm.status = 3;
updateMergePkg(this.sealBoxForm).then(() => { updateMergePkg(this.sealBoxForm).then(() => {
this.sealBoxdialogVisible = false this.sealBoxdialogVisible = false;
this.$confirm(this.$t('箱号:')+this.pkgData.pkgNum+this.$t(',请问是否打印封箱标签?'), this.$t("封箱成功"), { this.$confirm(
confirmButtonText: this.$t('立刻打印'), this.$t("箱号:") +
cancelButtonText: this.$t('稍后再试'), this.pkgData.pkgNum +
}) this.$t(",请问是否打印封箱标签?"),
this.$t("封箱成功"),
{
confirmButtonText: this.$t("立刻打印"),
cancelButtonText: this.$t("稍后再试"),
}
)
.then((_) => { .then((_) => {
getMergeTagById(this.pkgData.id).then(res=>{ getMergeTagById(this.pkgData.id).then((res) => {
this.tagData = res.data this.tagData = res.data;
this.printdialogVisible = true this.printdialogVisible = true;
}) });
}) })
.catch((_) => { .catch((_) => {
this.$emit('closeDialog'); this.$emit("closeDialog");
});
});
}); });
})
})
}, },
/** 表格订单号点击 */ /** 表格订单号点击 */
orderClick(row) { orderClick(row) {
...@@ -543,7 +824,7 @@ export default { ...@@ -543,7 +824,7 @@ export default {
orderNo: this.boxOrderInfo.orderNo, orderNo: this.boxOrderInfo.orderNo,
shipmentId: this.shipmentObj.id, shipmentId: this.shipmentObj.id,
pkgId: this.pkgData.id, pkgId: this.pkgData.id,
type: 1 type: 1,
}; };
checkInfoBatchCreate(params).then((res) => { checkInfoBatchCreate(params).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
...@@ -563,7 +844,7 @@ export default { ...@@ -563,7 +844,7 @@ export default {
shipmentId: this.shipmentObj.id, shipmentId: this.shipmentObj.id,
type: 1, type: 1,
pkgId: this.pkgData.id, pkgId: this.pkgData.id,
orderNumCode: this.correctionObj.qrCode orderNumCode: this.correctionObj.qrCode,
}; };
checkInfoSingleDelete(params).then((res) => { checkInfoSingleDelete(params).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
...@@ -582,7 +863,7 @@ export default { ...@@ -582,7 +863,7 @@ export default {
shipmentId: this.shipmentObj.id, shipmentId: this.shipmentObj.id,
pkgId: this.pkgData.id, pkgId: this.pkgData.id,
type: 1, type: 1,
orderNo: this.orderObj.orderNo orderNo: this.orderObj.orderNo,
}; };
checkInfoBatchDelete(params).then((res) => { checkInfoBatchDelete(params).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
...@@ -590,9 +871,9 @@ export default { ...@@ -590,9 +871,9 @@ export default {
this.getList(); this.getList();
}); });
}); });
} },
} },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
...@@ -159,7 +159,8 @@ ...@@ -159,7 +159,8 @@
</el-card> </el-card>
<el-card class="mt-10"> <el-card class="mt-10">
<div slot="header" class="card-title"> <div slot="header" class="card-title">
<div class="card-name">{{$t('商品信息')}}</div> <!--lanbm 根据需求文档改 商品信息 为 商品 -->
<div class="card-name">{{$t('商品')}}</div>
<el-button type="primary" size="mini" @click="addProduct(null)" :disabled="!canAddProduct || !productEditable || updateChannel">{{$t('添加货物')}}</el-button> <el-button type="primary" size="mini" @click="addProduct(null)" :disabled="!canAddProduct || !productEditable || updateChannel">{{$t('添加货物')}}</el-button>
<el-button type="primary" size="mini" @click="showBatchImportDialog=true" :disabled="!canAddProduct || !productEditable || updateChannel">{{$t('批量添加货物')}}</el-button> <el-button type="primary" size="mini" @click="showBatchImportDialog=true" :disabled="!canAddProduct || !productEditable || updateChannel">{{$t('批量添加货物')}}</el-button>
</div> </div>
......
<!--空运待出列表--> <!--空运待出列表-->
<template> <template>
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
<el-form-item :label="$t('编号')" prop="orderNo"> <el-form-item :label="$t('编号')" prop="orderNo">
...@@ -42,21 +41,23 @@ ...@@ -42,21 +41,23 @@
<el-form-item :label="$t('商品')" prop="tidanNo"> <el-form-item :label="$t('商品')" prop="tidanNo">
<el-input v-model="queryParams.prodKey" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.prodKey" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<!--根据需求文档 lanbm 2024-06-23 隐藏
<el-form-item :label="$t('控货')" prop="isCargoControl"> <el-form-item :label="$t('控货')" prop="isCargoControl">
<dict-selector v-model="queryParams.isCargoControl" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" clearable /> <dict-selector v-model="queryParams.isCargoControl" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" clearable />
</el-form-item> </el-form-item>-->
<!--根据需求文档 lanbm 2024-06-23 隐藏
<el-form-item :label="$t('入仓类型')" prop="warehouseType"> <el-form-item :label="$t('入仓类型')" prop="warehouseType">
<dict-selector :type="DICT_TYPE.ECW_WAREHOUSING_TYPE" v-model="queryParams.warehouseType" clearable/> <dict-selector :type="DICT_TYPE.ECW_WAREHOUSING_TYPE" v-model="queryParams.warehouseType" clearable/>
</el-form-item> </el-form-item>-->
<el-form-item :label="$t('客户经理')" > <el-form-item :label="$t('客户经理')" >
<user-selector manage v-model="queryParams.salesmanId" clearable @change="handleQuery" <user-selector manage v-model="queryParams.salesmanId" clearable @change="handleQuery"
:prepend="{ id: 0, nickname: $t('未分配客户经理')}"/> :prepend="{ id: 0, nickname: $t('未分配客户经理')}"/>
</el-form-item> </el-form-item>
<!--根据需求文档 lanbm 2024-06-23 隐藏
<el-form-item :label="$t('订单状态')" prop="status"> <el-form-item :label="$t('订单状态')" prop="status">
<dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.status" <dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.status"
@keyup.enter.native="handleQuery" clearable /> @keyup.enter.native="handleQuery" clearable />
</el-form-item> </el-form-item>-->
<el-form-item :label="$t('报关方式')" prop="customsType"> <el-form-item :label="$t('报关方式')" prop="customsType">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" clearable @change="handleQuery" /> <dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" clearable @change="handleQuery" />
</el-form-item> </el-form-item>
...@@ -68,9 +69,10 @@ ...@@ -68,9 +69,10 @@
<el-form-item :label="$t('备案属性')" prop="productRecord"> <el-form-item :label="$t('备案属性')" prop="productRecord">
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" v-model="queryParams.productRecord" clearable @change="handleQuery" /> <dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" v-model="queryParams.productRecord" clearable @change="handleQuery" />
</el-form-item> </el-form-item>
<!--lanbm 2024-06-23 根据需求文档隐藏
<el-form-item :label="$t('快递单号')" prop="number"> <el-form-item :label="$t('快递单号')" prop="number">
<el-input v-model="queryParams.number" :placeholder="$t('快递单号')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.number" :placeholder="$t('快递单号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>-->
<el-form-item :label="$t('外部仓')" prop="number"> <el-form-item :label="$t('外部仓')" prop="number">
<el-select v-model="queryParams.isExternalWarehouse" :placeholder="$t('请选择')" clearable @change="handleQuery"> <el-select v-model="queryParams.isExternalWarehouse" :placeholder="$t('请选择')" clearable @change="handleQuery">
<el-option :label="$t('外部仓')" :value="1"></el-option> <el-option :label="$t('外部仓')" :value="1"></el-option>
......
...@@ -83,7 +83,6 @@ ...@@ -83,7 +83,6 @@
{{currencyMap[row.orderExceptionAmountCurrencyId]}} {{currencyMap[row.orderExceptionAmountCurrencyId]}}
</template> </template>
</el-table-column> </el-table-column>
</el-table-column>
<el-table-column :label="$t('状态')" align="center"> <el-table-column :label="$t('状态')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_EXCEPTION_STATUS" :value="scope.row.orderExceptionStatus" /> <dict-tag :type="DICT_TYPE.ORDER_EXCEPTION_STATUS" :value="scope.row.orderExceptionStatus" />
......
...@@ -1970,8 +1970,6 @@ ...@@ -1970,8 +1970,6 @@
>{{ currencyMap[scope.row.clearanceFreightCurrency] }} / >{{ currencyMap[scope.row.clearanceFreightCurrency] }} /
{{ unitMap[scope.row.clearanceFreightVolume] }}</span {{ unitMap[scope.row.clearanceFreightVolume] }}</span
> >
<!-- <selector v-model="scope.row.clearanceFreightCurrency" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" />
/ <selector v-model="scope.row.clearanceFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" /> -->
</div> </div>
</div> </div>
<div v-else> <div v-else>
...@@ -2557,6 +2555,7 @@ export default { ...@@ -2557,6 +2555,7 @@ export default {
this.orderExceptionData.orderExceptionType == this.orderExceptionData.orderExceptionType ==
"not_shipping_channel_exception" "not_shipping_channel_exception"
) { ) {
//not_shipping_channel_exception 不可出渠道异常
this.selectLine = this.routerList.find( this.selectLine = this.routerList.find(
(item) => item.id == this.handlerParams.lineId (item) => item.id == this.handlerParams.lineId
); );
...@@ -2568,6 +2567,7 @@ export default { ...@@ -2568,6 +2567,7 @@ export default {
}, },
//订单详情 //订单详情
getOrderData() { getOrderData() {
//not_shipping_channel_exception 不可出渠道异常
getOrder(this.orderId).then((response) => { getOrder(this.orderId).then((response) => {
this.orderData = response.data; this.orderData = response.data;
if (this.orderData.channelId != 0) { if (this.orderData.channelId != 0) {
...@@ -3071,11 +3071,12 @@ export default { ...@@ -3071,11 +3071,12 @@ export default {
if (!item.prodId) { if (!item.prodId) {
calcable = false; calcable = false;
} }
//alert(item.oneClearanceFreight);
}); });
console.log("calculationPrice", this.handlerParams.channelId); console.log("calculationPrice", this.handlerParams.channelId);
if (this.calculating || !calcable) return false; if (this.calculating || !calcable) return false;
this.calculating = true; this.calculating = true;
console.log("calculating ---> "); //console.log("calculating ---> ");
const params = { const params = {
lineId: this.handlerParams.lineId, lineId: this.handlerParams.lineId,
transportId: this.orderData.transportId, transportId: this.orderData.transportId,
...@@ -3093,8 +3094,10 @@ export default { ...@@ -3093,8 +3094,10 @@ export default {
calculationPrice(params) calculationPrice(params)
.then((res) => { .then((res) => {
this.orderData.orderItemVOList.map((item, index) => { this.orderData.orderItemVOList.map((item, index) => {
//清关价问题关键点在这,后台获取的值的变量名称换了
item.oneClearanceFreight = item.oneClearanceFreight =
res.data.prodCostDtoList[index].oneClearanceFee; res.data.prodCostDtoList[index].oneClearanceFee;
//alert( item.oneClearanceFreight);
item.clearanceFreightCurrency = item.clearanceFreightCurrency =
res.data.prodCostDtoList[index].clearanceFeeCurrency; res.data.prodCostDtoList[index].clearanceFeeCurrency;
item.clearanceFreightVolume = item.clearanceFreightVolume =
...@@ -3120,6 +3123,8 @@ export default { ...@@ -3120,6 +3123,8 @@ export default {
if (!tmp.quantity) tmp.quantity = 1; if (!tmp.quantity) tmp.quantity = 1;
if (!tmp.num) tmp.num = 1; if (!tmp.num) tmp.num = 1;
tmp.orderType = item.orderItemType; tmp.orderType = item.orderItemType;
//lanbm 2024-06-22 包装类型
tmp.packaging=item.unit;
arr.push(tmp); arr.push(tmp);
}); });
return arr; return arr;
......
...@@ -121,6 +121,8 @@ export default { ...@@ -121,6 +121,8 @@ export default {
}, },
}, },
async created() { async created() {
//alert(this.orderId);
//alert(this.warehouseInId);
getOrderItemCommonAttr(this.orderId, this.warehouseInId || 0).then( getOrderItemCommonAttr(this.orderId, this.warehouseInId || 0).then(
(res) => { (res) => {
this.orderItemDetails = res.data; this.orderItemDetails = res.data;
......
...@@ -579,6 +579,7 @@ export default { ...@@ -579,6 +579,7 @@ export default {
}).then(r => { }).then(r => {
if (r.data) { if (r.data) {
this.$message.success('打包成功') this.$message.success('打包成功')
//this.getAttrList();
this.handleClose() this.handleClose()
} else { } else {
this.$message.success('打包失败') this.$message.success('打包失败')
......
...@@ -117,6 +117,7 @@ ...@@ -117,6 +117,7 @@
}}</el-button> }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
<!--添加箱明细 lanbm 2024-06-21 -->
<el-table-column prop="areaName" width="220px"> <el-table-column prop="areaName" width="220px">
<template v-slot="{ row }"> <template v-slot="{ row }">
<WarehouseRecordDetail <WarehouseRecordDetail
...@@ -301,13 +302,24 @@ ...@@ -301,13 +302,24 @@
}) })
}} }}
</el-form-item> </el-form-item>
<!--lanbm 2024-06-21 处理问题
<el-form-item :label="$t('入仓统计')" class="mb-0"> <el-form-item :label="$t('入仓统计')" class="mb-0">
{{ {{
$t(`{num}箱 {weight}Kg {volume}m³ {quantity}个`, { $t(`{num}箱 {weight}Kg {volume}m³ {quantity}个`, {
num: statistics.sumCartonsNumFinishedWarehouseIn, num:statistics.sumCartonsNumFinishedWarehouseIn,
weight: statistics.sumWeightFinishedWarehouseIn, weight:statistics.sumWeightFinishedWarehouseIn,
volume: statistics.sumVolumeFinishedWarehouseIn, volume:statistics.sumVolumeFinishedWarehouseIn,
quantity: statistics.sumQuantityAllFinishedWarehouseIn, quantity:statistics.sumQuantityAllFinishedWarehouseIn,
})
}}
</el-form-item>-->
<el-form-item :label="$t('入仓统计')" class="mb-0">
{{
$t(`{num}箱 {weight}Kg {volume}m³ {quantity}个`, {
num:form.sumNum,
weight:form.sumWeight,
volume:form.sumVolume,
quantity:form.sumQuantity,
}) })
}} }}
</el-form-item> </el-form-item>
...@@ -502,6 +514,8 @@ export default { ...@@ -502,6 +514,8 @@ export default {
manualExceptionType: [], manualExceptionType: [],
sumVolume: "", sumVolume: "",
sumWeight: "", sumWeight: "",
sumNum:"",//入仓件数 lanbm 2024-06-21 add
sumQuantity:"",//入仓数量
}, },
currencyList: [], currencyList: [],
order: {}, order: {},
...@@ -599,6 +613,8 @@ export default { ...@@ -599,6 +613,8 @@ export default {
this.order = r.data; this.order = r.data;
this.form.sumVolume = this.order.sumVolume; this.form.sumVolume = this.order.sumVolume;
this.form.sumWeight = this.order.sumWeight; this.form.sumWeight = this.order.sumWeight;
this.form.sumNum=this.order.sumNum;
this.form.sumQuantity=this.order.sumQuantity;
}) })
.then(() => { .then(() => {
// this.getLabelByOrder() // this.getLabelByOrder()
......
...@@ -43,13 +43,20 @@ ...@@ -43,13 +43,20 @@
prop="salesmanid" prop="salesmanid"
v-show="showCustomsManage" v-show="showCustomsManage"
> >
<user-selector <el-select
manage
v-model="queryParams.salesmanid"
clearable clearable
@change="handleQuery" :multiple="true"
:prepend="{ id: 0, nickname: $t('未分配客户经理') }" v-model="queryParams.salesmanid"
:placeholder="$t('请选择客户经理')"
size="small"
>
<el-option
v-for="dict in customerServiceList"
:key="dict.id"
:label="dict.nickname"
:value="dict.id"
/> />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="首次成交" prop="delFlag"> <el-form-item label="首次成交" prop="delFlag">
...@@ -71,6 +78,7 @@ ...@@ -71,6 +78,7 @@
<el-form-item label="客户来源" prop="remark"> <el-form-item label="客户来源" prop="remark">
<el-select <el-select
v-model="queryParams.source" v-model="queryParams.source"
:multiple="true"
:placeholder="$t('请选择客户来源')" :placeholder="$t('请选择客户来源')"
> >
<el-option <el-option
...@@ -85,6 +93,7 @@ ...@@ -85,6 +93,7 @@
<el-select <el-select
v-model="queryParams.customerrole" v-model="queryParams.customerrole"
clearable clearable
:multiple="true"
style="width: 200px" style="width: 200px"
> >
<el-option <el-option
...@@ -98,6 +107,7 @@ ...@@ -98,6 +107,7 @@
<el-form-item label="客户国家" prop="country"> <el-form-item label="客户国家" prop="country">
<el-select <el-select
clearable clearable
:multiple="true"
v-model="queryParams.country" v-model="queryParams.country"
:placeholder="$t('请选择国家')" :placeholder="$t('请选择国家')"
> >
...@@ -376,6 +386,7 @@ ...@@ -376,6 +386,7 @@
//国家列表接口 //国家列表接口
import { getCountryListAll } from "@/api/ecw/country"; import { getCountryListAll } from "@/api/ecw/country";
import UserSelector from "@/components/UserSelector"; import UserSelector from "@/components/UserSelector";
import { listServiceUser2 } from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect"; import Treeselect from "@riophae/vue-treeselect";
//自定义目录数样式 //自定义目录数样式
import "@/assets/styles/vue-treeselect.css"; import "@/assets/styles/vue-treeselect.css";
...@@ -528,12 +539,17 @@ export default { ...@@ -528,12 +539,17 @@ export default {
objEcwReportPermission: {}, objEcwReportPermission: {},
DeptEx: { id: undefined, name: undefined, parentId: undefined }, DeptEx: { id: undefined, name: undefined, parentId: undefined },
ParentPar: {}, ParentPar: {},
customerServiceList: [],
}; };
}, },
created() { created() {
getCountryListAll().then((r) => { getCountryListAll().then((r) => {
this.countryList = r.data; this.countryList = r.data;
}); });
listServiceUser2().then((r) => {
this.customerServiceList = r.data;
});
this.doLoadData(); this.doLoadData();
}, },
watch: { watch: {
...@@ -541,7 +557,7 @@ export default { ...@@ -541,7 +557,7 @@ export default {
//lanbm 2024-05-06 解决重新进入参数不刷新的问题 //lanbm 2024-05-06 解决重新进入参数不刷新的问题
//this.$route.name == "客户分析" 用name做逻辑判断,有时候菜单名称会变化 //this.$route.name == "客户分析" 用name做逻辑判断,有时候菜单名称会变化
//"/report/customer_analysis" lanbm 2024-05-07 调整为根据path做逻辑判断 //"/report/customer_analysis" lanbm 2024-05-07 调整为根据path做逻辑判断
if (this.$route.path== "/report/customer_analysis") { if (this.$route.path == "/report/customer_analysis") {
this.doLoadData(); this.doLoadData();
} }
}, },
...@@ -769,19 +785,19 @@ export default { ...@@ -769,19 +785,19 @@ export default {
}, },
test() { test() {
//当前路径 //当前路径
let sP=this.$route.path; let sP = this.$route.path;
alert(sP); alert(sP);
//当前参数 //当前参数
let sPar= this.$route.params; let sPar = this.$route.params;
alert(sPar); alert(sPar);
//路由名称 //路由名称
let sRoute=this.$route.name; let sRoute = this.$route.name;
alert(sRoute); alert(sRoute);
//路由查询参数 //路由查询参数
let sQ=this.$route.query; let sQ = this.$route.query;
alert(sQ.toString()); alert(sQ.toString());
//路由匹配项 //路由匹配项
let sM=this.$route.matched; let sM = this.$route.matched;
alert(sM.toString()); alert(sM.toString());
return; return;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment