Commit 2a33d455 authored by 332784038@qq.com's avatar 332784038@qq.com

6

parents b0b1df45 4af00ded
zall-sdk-javascript-master/
\ No newline at end of file
{
"printWidth": 800,
"semi": false,
"psingleQuote": true,
"trailingComma": "none"
}
\ No newline at end of file
......@@ -528,6 +528,14 @@ export function changeCustomerDefaultBilling(data){
})
}
export function customerSettingButton(data){
return request({
url:'ecw/customer/update-customer-setup',
method:'put',
data
})
}
export function addCompetitor(data){
return request({
url:'customer/competitor/create',
......@@ -541,4 +549,12 @@ export function competitorListAll(){
url:'customer/competitor/listAll',
method:'get'
})
}
export function customerMergeCus(params){
return request({
url:'ecw/customer/mergeCus',
method:'get',
params
})
}
\ No newline at end of file
......@@ -92,3 +92,11 @@ export function editCustomerFollow(data) {
})
}
export function exportCustomerFollow(params) {
return request({
url: '/customer/followup/export-excel',
method: 'get',
params
})
}
import request from '@/utils/request'
import request from "@/utils/request"
// 获得控货分页
export function getCargoControlOrderPage(params){
return request({
url:'ecw/order-cargo-control/cargo/control/order',
method:'get',
params
})
export function getCargoControlOrderPage(params) {
return request({
url: "ecw/order-cargo-control/cargo/control/order",
method: "get",
params
})
}
export function getWarningCargoControlOrderPage(params){
export function getWarningCargoControlOrderPage(params) {
return request({
url:'ecw/order-cargo-control/warning/cargo/control/order',
method:'get',
url: "ecw/order-cargo-control/warning/cargo/control/order",
method: "get",
params
})
}
// 发送手机验证码
export function sendSmsCode(data){
return request({
url: '/ecw/order-cargo-control/send-sms-code',
method: 'post',
data
})
export function sendSmsCode(data) {
return request({
url: "/ecw/order-cargo-control/send-sms-code",
method: "post",
data
})
}
// 创建订单控货人信息
export function create(data){
return request({
url: '/ecw/order-cargo-control/create',
method: 'post',
data
})
export function create(data) {
return request({
url: "/ecw/order-cargo-control/create",
method: "post",
data
})
}
// 创建订单控货人放货记录
export function createPick(data){
export function createPick(data) {
return request({
url: '/ecw/order-cargo-control-pick/create',
method: 'post',
url: "/ecw/order-cargo-control-pick/create",
method: "post",
data
})
}
//获得控货订单放货编辑详情
export function getReleaseInfo(orderId){
export function getReleaseInfo(orderId) {
return request({
url:'/ecw/order-cargo-control/release/info/' + orderId,
method:'get'
url: "/ecw/order-cargo-control/release/info/" + orderId,
method: "get"
})
}
// 获得控货订单放货详情
export function getPickRleaseInfo(orderId){
export function getPickRleaseInfo(orderId) {
return request({
url:'/ecw/order-cargo-control-pick/release/info/' + orderId,
method:'get'
url: "/ecw/order-cargo-control-pick/release/info/" + orderId,
method: "get"
})
}
// 放货修改与反复核申请
export function updateApply(data){
export function updateApply(data) {
return request({
url: '/ecw/order-cargo-control-pick/update/apply',
method: 'put',
url: "/ecw/order-cargo-control-pick/update/apply",
method: "put",
data
})
}
// 复核(放货复核)
export function review(id){
export function review(id) {
return request({
url: '/ecw/order-cargo-control-pick/review/' + id,
method: 'put'
url: "/ecw/order-cargo-control-pick/review/" + id,
method: "put"
})
}
// 取消放货
export function cancel(id){
export function cancel(id) {
return request({
url: '/ecw/order-cargo-control-pick/cancel/' + id,
method: 'put'
url: "/ecw/order-cargo-control-pick/cancel/" + id,
method: "put"
})
}
// 取消审批
export function cancelApproval(approvalId, params){
export function cancelApproval(approvalId, params) {
return request({
url: '/ecw/order-cargo-control-pick/cancel/approval/' + approvalId,
method: 'get',
url: "/ecw/order-cargo-control-pick/cancel/approval/" + approvalId,
method: "get",
params
})
}
// 订单复核
export function orderReview(orderId){
export function orderReview(orderId) {
return request({
url: '/ecw/order-cargo-control/review/' + orderId,
method: 'put'
url: "/ecw/order-cargo-control/review/" + orderId,
method: "put"
})
}
// 根据订单id批量复合订单控货人放货
export function batchReview(data){
export function batchReview(data) {
return request({
url: '/ecw/order-cargo-control-pick/review/',
method: 'put',
url: "/ecw/order-cargo-control-pick/review/",
method: "put",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
"Content-Type": "application/x-www-form-urlencoded"
},
data
})
}
// 获得可调货的控货订单列表
export function seasoningCondimentsSelect(params){
export function seasoningCondimentsSelect(params) {
return request({
url: '/ecw/order-cargo-control-pick/seasoning-condiments/cargo-control/order/select',
method: 'get',
url: "/ecw/order-cargo-control-pick/seasoning-condiments/cargo-control/order/select",
method: "get",
params
})
}
// 根据放货ID查询控货订单放货修改审核详情
export function getPickUpdateInfo(id){
export function getPickUpdateInfo(id) {
return request({
url: '/ecw/order-cargo-control-pick/update/info/' + id,
method: 'get'
url: "/ecw/order-cargo-control-pick/update/info/" + id,
method: "get"
})
}
// 获得控货订单放货修改申请详情 {approveId: 1}
export function getPickUpdateApproveInfo(params){
export function getPickUpdateApproveInfo(params) {
return request({
url: '/ecw/order-cargo-control-pick/update/info',
method: 'get',
url: "/ecw/order-cargo-control-pick/update/info",
method: "get",
params
})
}
export function getCondimentsIno(cargoControlPickId){
export function getCondimentsIno(cargoControlPickId) {
return request({
url: '/ecw/order-cargo-control-pick/seasoning/condiments/info/' + cargoControlPickId,
method: 'get'
url: "/ecw/order-cargo-control-pick/seasoning/condiments/info/" + cargoControlPickId,
method: "get"
})
}
// 参数搜索导出控货订单列表
export function exportCargoControl(params){
export function exportCargoControl(params) {
return request({
url: '/ecw/order/export/cargo/control/search',
method: 'get',
responseType: 'arraybuffer',
url: "/ecw/order/export/cargo/control/search",
method: "get",
responseType: "arraybuffer",
params
})
}
// 控货日志
export function getControlLogList(orderId){
export function getControlLogList(orderId) {
return request({
url: '/order/order-control-log/list/' + orderId,
method: 'get'
url: "/order/order-control-log/list/" + orderId,
method: "get"
})
}
// 控货业务审批申请
export function applyCargoControlApproval(data){
export function applyCargoControlApproval(data) {
return request({
url: 'ecw/order-cargo-control/update/apply',
method: 'put',
url: "ecw/order-cargo-control/update/apply",
method: "put",
data
})
}
//根据订单ID查询控货订单放货限制修改审核详情
export function getLimitUpdateInfo(orderId){
export function getLimitUpdateInfo(orderId) {
return request({
url: "/ecw/order-cargo-control/limit-update/info/" + orderId,
method: "get"
})
}
//根据订单ID查询海外仓模式修改审核详情
export function getReleaseTypeUpdateInfo(orderId) {
return request({
url: '/ecw/order-cargo-control/limit-update/info/' + orderId,
method: 'get'
url: "/ecw/order-cargo-control/overseas-warehouse-update/info/" + orderId,
method: "get"
})
}
......@@ -115,3 +115,12 @@ export function listByIds(params){
params
})
}
// 检查国家区域是否与手机号国家区号一致
export function checkCountryCode(params){
return request({
url: 'ecw/region/check/dest-currency/area-code/',
method: 'get',
params
})
}
......@@ -60,6 +60,7 @@
<script>
import {createCustomer} from '@/api/ecw/customer'
import {DICT_TYPE} from "@/utils/dict";
import {listServiceUser} from "@/api/system/user"
import { getCountryListAll } from '@/api/ecw/country'
import {getCustomerContactsSelect} from '@/api/ecw/customerContacts'
......@@ -74,7 +75,7 @@ export default {
data(){
return {
show: true,
DICT_TYPE,
// 表单参数
form: {
customerContacts:[{isDefault: 1}]
......
......@@ -2,7 +2,7 @@
<div class="top-right-btn">
<el-row>
<el-tooltip class="item" effect="dark" :content="showSearch ? $t('隐藏搜索') : $t('显示搜索')" placement="top">
<el-button size="mini" circle icon="el-icon-search" @click="toggleSearch()" />
<el-button type="text" size="mini" circle icon="el-icon-search" @click="toggleSearch()" >{{showSearch ? $t('隐藏搜索') : $t('显示搜索')}}</el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('刷新')" placement="top">
<el-button size="mini" circle icon="el-icon-refresh" @click="refresh()" />
......
......@@ -4709,7 +4709,12 @@
"下次跟进时间": "Next follow-up time",
"提交结果": "Submit result",
"增加计划": "add plan",
"提货状态": "pickup status",
"未提货": "not pickup",
"部分提货": "portion pickup"
"是否确认导出客户跟进记录数据项?": "Are you sure to export all customer follow-up record data items?",
"海外仓模式修改": "Modify overseas warehouse mode",
"合并客户": "Merge customer",
"保留客户": "Retained customer",
"​被合并客户-非主客户": "Consolidated customer - Non-principal customer",
"注意事项": "Matters need attention",
"选择客户": "Select a customer",
"运输": "Transportation"
}
......@@ -309,7 +309,7 @@
"年度发货量": "年度发货量",
"年度发货次数": "年度发货次数",
"主要竞争对手": "主要竞争对手",
"控货无收货人": "控无收货人",
"控货无收货人": "控无收货人",
"默认付款": "默认付款",
"默认开票": "默认开票",
"请选择业务国家": "请选择业务国家",
......
......@@ -10,7 +10,7 @@
<script>
export default {
name: 'AppMain',
name: "AppMain",
computed: {
cachedViews() {
return this.$store.state.tagsView.cachedViews
......@@ -31,7 +31,7 @@ export default {
overflow: hidden;
}
.fixed-header+.app-main {
.fixed-header + .app-main {
padding-top: 50px;
}
......@@ -41,7 +41,7 @@ export default {
min-height: calc(100vh - 84px);
}
.fixed-header+.app-main {
.fixed-header + .app-main {
padding-top: 84px;
}
}
......
......@@ -123,7 +123,7 @@ Vue.prototype.$showFormValidateErrors = (errors) => {
let createElement = vm.$createElement
let fieldList = Object.values(errors)
Element.Notification({
title: this.$t('表单错误'),
title: i18n.$t('表单错误'),
type: 'warning',
duration: 3000,
message: createElement('div', fieldList.map(function (errorList) {
......
......@@ -208,6 +208,11 @@ export const DICT_TYPE = {
ECW_AUTH_TYPE: "auth_type", //品牌授权
OREER_ITEM_USAGE: "order_item_usage", //用途
// 放货率查询字段
RELEASE_RATIO_FIELD: "release_ratio_field",
// 提货率查询字段
PICK_RATIO_FIELD: "pick_ratio_field",
NEED_ORDER_INQUIRY: "need_order_inquiry", // 是否需要単询
EXCEPTION_SELECT_FILED: "exception_select_filed",
ECASH_INIT: "ecash_init", //e-cash
......@@ -220,6 +225,7 @@ export const DICT_TYPE = {
TARGET_TYPE: "target_type", //部门业绩目标类型
CEBE_UNIT: "cube_unit", //目标单位
RECEIPT_ITEM_STATE: "receipt_item_state", //收款单明细状态
PICK_STATE: "pick_state", //提货状态
// ========== 出货模块 ==========
BOX_SHIPPING_TRAILER_STATUS: "shipping_trailer_status", // 拖车状态
BOX_SHIPPING_CUSTOMS_TYPE: "shipping_customs_type", // 报关方式
......
This diff is collapsed.
......@@ -145,7 +145,7 @@ export default {
if (valId) {
let p = {...this.form}
p.type = p.type.join(',')
p.customerContacts[0].name = p.name + p.customerContacts[0].phoneNew
p.customerContacts[0].name = p.name
createPotential(p).then(r => {
if (r.code === 0) {
this.$emit('change');
......
<template>
<div style="display: inline-block">
<span @click="visible = true"> <slot></slot></span>
<el-dialog title="更多联系人" :visible.sync="visible">
<span @click="visible = true"> <slot></slot></span>
<el-dialog title="更多联系人" :visible.sync="visible" append-to-body>
<div v-if="info">
<div style="text-align: center;margin-bottom: 20px;" v-for="(item, index) in info" :key="index">
联系人{{index + 1}}{{$l(item, 'name')}} &ensp;&ensp;&ensp; 联系方式{{index + 1}}:+{{item.areaCode}} {{item.phoneNew}}<br/>
......
......@@ -21,30 +21,43 @@
<el-radio v-model="offerId" :label="row.offerId">&nbsp;</el-radio>
</template>
</el-table-column>
<el-table-column :label="$t('报价单号')" align="left" prop="number" width="200px">
<el-table-column :label="$t('报价单号')" min-width="160px">
<template slot-scope="{row}">
<el-link type="primary" @click.native="$router.push('/offer/detail?offerId=' + row.offerId)">{{row.number}}</el-link>
</template>
</el-table-column>
<el-table-column :label="$t('订单编号')" align="left" prop="orderNo" />
<el-table-column :label="$t('客户名称')" align="left" prop="relationName" />
<el-table-column :label="$t('目的地')" align="center" prop="objectiveName" />
<el-table-column :label="$t('销售阶段')" align="left" width="180">
<el-table-column :label="$t('销售阶段')" min-width="120">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_OFFER_STATUS" :value="row.status" />
</template>
</el-table-column>
<el-table-column :label="$t('预计结束时间')" align="left">
<el-table-column :label="$t('订单编号')" min-width="150px">
<template slot-scope="{row}">
<el-link type="primary" @click.native="$router.push('/order/detail?orderId=' + row.orderId)">{{row.orderNo}}</el-link>
</template>
</el-table-column>
<el-table-column :label="$t('客户编号')" align="center" min-width="100">
<template slot-scope="{row}">
<el-link type="primary" @click.native="$router.push('/customer/query/' + row.relationId)">{{row.customerNumber}}</el-link>
</template>
</el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="relationName" min-width="100" />
<el-table-column :label="$t('联系方式')">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.stopTime, "{y}-{m}-{d}") }}</span>
+{{ scope.row.relationAreaCode }}{{ scope.row.relationPhone }}
</template>
</el-table-column>
<el-table-column :label="$t('运输方式')" align="left">
<el-table-column :label="$t('运输方式')">
<template slot-scope="scope" >
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportId" />
</template>
</el-table-column>
<el-table-column :label="$t('预计销售额')" align="left" prop="estCost">
<el-table-column :label="$t('渠道')" align="center" min-width="120" prop="channelName">
</el-table-column>
<el-table-column :label="$t('始发地')" align="center" min-width="120" prop="departureName">
</el-table-column>
<el-table-column :label="$t('目的地')" align="center" prop="objectiveName" min-width="120" />
<el-table-column :label="$t('预计销售额')" min-width="160">
<template slot-scope="{row}">
<div class="" v-for="(item, feeIndex) in row.estCostVO.feeDtoList" :key="feeIndex">
<dict-tag :type="DICT_TYPE.ECW_COST_FEE_TYPE" :value="item.feeType" />
......@@ -52,9 +65,8 @@
</div>
</template>
</el-table-column>
<el-table-column :label="$t('客户经理')" align="left" prop="creatorName">
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center">
<el-table-column :label="$t('客户经理')" prop="creatorName" align="center" min-width="100" />
<el-table-column :label="$t('创建时间')" align="center" min-width="160">
<template slot-scope="scope">
{{ parseTime(scope.row.createTime) }}
</template>
......@@ -64,7 +76,7 @@
<pagination v-show="offerTotal > 0" :total="offerTotal" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getOfferList"/>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirm">{{$t('确定')}}</el-button>
<el-button type="primary" @click="confirm">{{$t('确 定')}}</el-button>
</div>
</el-dialog>
</template>
......@@ -79,6 +91,9 @@ export default {
components: {
UserSelector
},
props: {
customerId: Number
},
data() {
return {
offerId: null,
......@@ -118,7 +133,7 @@ export default {
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
this.getOfferList()
},
/** 重置按钮操作 */
resetQuery() {
......@@ -129,7 +144,10 @@ export default {
this.handleQuery();
},
getOfferList() {
getOfferPage(this.queryParams).then(response => {
getOfferPage({
...this.queryParams,
customerId: this.customerId
}).then(response => {
this.offerList = response.data.list;
this.offerTotal = response.data.total;
});
......
This diff is collapsed.
<template>
<el-dialog append-to-body :title="$t('设置')" :visible.sync="dialogVisible" width="900px">
<el-form ref="form" :model="form" label-width="150px">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item :label="$t('是否显示提单价格')" prop="isShowTidanPrice">
<el-switch v-model="form.isShowTidanPrice"></el-switch>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('到仓确认')" prop="arrivalConfirm">
<el-switch
v-model="form.arrivalConfirm"
:active-value="1"
:inactive-value="0"
/>
</el-form-item>
</el-col>
<el-col :span="13">
<el-form-item :label="$t('重货标准')" prop="weightUnit">
<el-switch v-model="showZhong" />
<el-input
v-model="form.weightUnit"
:placeholder="$t('请输入重货标准')"
v-show="showZhong"
>
<template slot="append">kg/cbm</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" v-show="showZhong">
<el-form-item :label="$t('指定线路')" prop="line">
<el-switch v-model="showZhong1"></el-switch>
<customer-line-table
v-if="showZhong1"
:warehouse-list="warehouseList"
:import-city-list="importCityList"
v-model="zhongLines"
:zhong-pao-type="1"
></customer-line-table>
</el-form-item>
</el-col>
<el-col :span="13">
<el-form-item :label="$t('泡货标准')" prop="lightUnit">
<el-switch v-model="showPao" />
<el-input
v-model="form.lightUnit"
:placeholder="$t('请输入泡货标准')"
v-show="showPao"
>
<template slot="append">kg/cbm</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" v-show="showPao">
<el-form-item :label="$t('指定线路')" prop="line">
<el-switch v-model="showPao1"></el-switch>
<customer-line-table
v-if="showPao1"
:warehouse-list="warehouseList"
:import-city-list="importCityList"
v-model="paoLines"
:zhong-pao-type="2"
></customer-line-table>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('控货无收货人')">
<el-switch v-model="form.noConsignee" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('默认付款')">
<el-switch v-model="form.defaultPay" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('默认开票')">
<el-switch v-model="form.defaultBilling" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="warning" @click="handleClose">{{$t('关 闭')}}</el-button>
<el-button type="primary" @click="handerSubmit">{{$t('保 存')}}</el-button>
</div>
</el-dialog>
</template>
<script>
import CustomerLineTable from "@/components/CustomerLineTable";
import { getWarehouseList } from "@/api/ecw/warehouse";
import { getTradeCityList } from "@/api/ecw/region";
import { getZhongPaoBest, getZhongPaoPage } from "@/api/ecw/zhongPao";
import { getCustomer, getCustomerLines, customerSettingButton } from "@/api/ecw/customer";
export default {
name: "CustomerSetting",
components: {
CustomerLineTable
},
data() {
return {
dialogVisible: false,
form: {
id: 0,
isShowTidanPrice: false,
arrivalConfirm: 0,
weightUnit: null,
lightUnit: null,
customerLines: [],
noConsignee: false,
defaultPay: false,
defaultBilling: false
},
showZhong: false,
showZhong1: false,
showPao: false,
showPao1: false,
warehouseList: [],
zhongLines: [],
warehouseList: [], // 仓库列表
importCityList: [], // 进口地址
paoLines: [],
paoLines: [],
}
},
created() {
getWarehouseList().then((r) => {
this.warehouseList = r.data;
});
getTradeCityList({ type: 1 }).then((r) => {
this.importCityList = r.data.filter((item) => item.type === "1");
});
},
methods: {
init(id) {
this.customerId = id
this.showZhong = false
this.showPao = false
this.showZhong1 = false
this.showPao1 = false
getCustomer(this.customerId).then((response) => {
const row = response.data
this.form = {
id: row.id,
isShowTidanPrice: row.isShowTidanPrice,
arrivalConfirm: row.arrivalConfirm,
weightUnit: row.weightUnit,
lightUnit: row.lightUnit,
customerLines: [],
noConsignee: row.noConsignee,
defaultPay: row.defaultPay,
defaultBilling: row.defaultBilling
}
// 打开重泡货开关
if (this.form.weightUnit) {
this.showZhong = true;
}
if (this.form.lightUnit) {
this.showPao = true;
}
getCustomerLines(this.customerId).then((res) => {
this.zhongLines = res.data.filter((item) => item.zhongPaoType == 1);
this.paoLines = res.data.filter((item) => item.zhongPaoType == 2);
if (this.zhongLines.length) this.showZhong1 = true;
if (this.paoLines.length) this.showPao1 = true;
});
this.getZhongPao()
})
},
getZhongPao() {
getZhongPaoBest({
customerId: this.customerId,
// departureId: this.departureId,
// objectiveId: this.objectiveId
}).then((r) => {
if (!this.form.weightUnit) this.form.weightUnit = r.data.zhongEdge;
if (!this.form.lightUnit) this.form.lightUnit = r.data.paoEdge;
});
},
handleClose() {
this.resetForm("form")
this.dialogVisible = false
},
handerSubmit() {
this.$refs["form"].validate((valid, err) => {
// 重货标准和泡货标准,未打开就不传,提交前清空一下
if (!this.showZhong) {
this.form.weightUnit = null;
this.zhongLines = [];
}
if (!this.showZhong1) {
this.zhongLines = [];
}
if (!this.showPao) {
this.form.lightUnit = null;
this.paoLines = [];
}
if (!this.showPao1) {
this.paoLines = [];
}
this.updateCustomerLines();
// 检查路线是否启用了但是没选择目的仓
let errors = 0;
this.form.customerLines.forEach((line) => {
if (!line.objectiveIds || line.objectiveIds == "") {
errors++;
}
});
if (errors) {
return this.$message.error("有两条路线未选择目的地");
}
customerSettingButton(this.form).then((response) => {
this.$modal.msgSuccess(this.$t("操作成功"));
this.dialogVisible = false;
const obj = { path: "/customer/customer" };
this.$emit('refresh')
});
});
},
updateCustomerLines() {
let zhongLines = [],
paoLines = [];
if (this.zhongLines.length > 0) {
zhongLines = this.zhongLines;
}
if (this.paoLines.length > 0) {
paoLines = this.paoLines;
}
this.form.customerLines = [...zhongLines, ...paoLines];
},
}
}
</script>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -40,7 +40,7 @@
clearable
v-model.number="queryParams.memberMobile"
:placeholder="$t('请输入会员电话')"/>
</el-col>
</el-col>
</el-form-item>
<el-form-item :label="$t('会员编号')" prop="number">
<el-input
......@@ -101,7 +101,8 @@
</el-table-column>
<el-table-column :label="$t('客户类别')" align="center" prop="sourse">
<template v-slot="{row}">
<dict-tag :value="row.type" :type="DICT_TYPE.CUSTOMER_TYPE" />
{{ getDictDatas2(DICT_TYPE.CUSTOMER_TYPE, (row.type||'').split(',')).map(e => isChinese ? e.label : e.labelEn).join(', ')}}
<!-- <dict-tag :value="row.type" :type="DICT_TYPE.CUSTOMER_TYPE" />-->
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
......@@ -130,16 +131,18 @@
<script>
import {updateCustomer, getCustomer,
getCustomerPage, exportCustomerExcel } from "@/api/ecw/indirectCustomer";
import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import { getDictDatas, DICT_TYPE, getDictDatas2 } from '@/utils/dict';
import {listServiceUser} from "@/api/system/user";
import {exportCustomerComplaintExcel} from "@/api/ecw/customerComplaint";
import {indirectCustomerExportExcel} from "@/api/ecw/customer";
import AreaCodeSelector from "@/components/AreaCodeSelector/index.vue";
import Template from "@/views/cms/template/index.vue";
export default {
name: "EcwCustomerIndirectcustomer",
components: {
Template,
AreaCodeSelector
},
activated() {
......@@ -149,6 +152,7 @@ export default {
return {
exportLoading:false,
getDictDatas,
getDictDatas2,
DICT_TYPE,
// 遮罩层
loading: true,
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -10,7 +10,7 @@
:visible.sync="visible"
width="80%">
<div style="display: flex;flex-wrap: wrap;">
<el-image style="width: 200px;height: 200px;margin-right: 10px;margin-bottom: 10px" v-for="(item) in list" :src="bizId ? item.url : item">
<el-image style="width: 200px;height: 200px;margin-right: 10px;margin-bottom: 10px" v-for="(item) in list" :src="bizId ? item.url : item" :preview-src-list="[bizId ? item.url : item]">
<video controls width="148px" height="148px" slot="error" :src="bizId ? item.url : item" ></video>
</el-image>
</div>
......
......@@ -3,6 +3,7 @@ import { getApproval, getOrderDetail } from '@/api/ecw/order'
import { getPickRleaseInfo } from '@/api/ecw/orderCargoControl'
import Template from '@/views/cms/template/index.vue'
import dayjs from 'dayjs'
import { parseTime } from '../../../../utils/ruoyi'
export default {
name: 'updateReleaseLimitApproval',
......@@ -31,6 +32,7 @@ export default {
}
},
methods:{
parseTime,
getApprovalDetail(){
getApproval(this.id).then(res => {
try {
......@@ -73,7 +75,7 @@ export default {
{{detail.sumNum - detail.releaseNum}}
</el-descriptions-item>
<el-descriptions-item :label="$t('卸柜/到仓时间')">
{{releaseInfo.unloadTime || '-'}}
{{ parseTime(detail.unloadTime ) }}
</el-descriptions-item>
<el-descriptions-item :label="$t('订单限制修改收货人')">
{{releaseInfo.isLimitUpdateConsignee ? $t('') : $t('')}}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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