Commit 2cc44653 authored by 我在何方's avatar 我在何方
parents 71c01571 83f7efc1
......@@ -486,3 +486,12 @@ export function deptExportExcel(){
method:'get'
})
}
export function recycleUnconfirmedCustomer(data){
return request({
url:'ecw/customer/recycle-unconfirmed-customer',
method:'put',
data
})
}
......@@ -814,7 +814,7 @@ export function splitItemUpdate(data){
// 待备货(可出)订单列表
export function canShipmentPage(params){
return request({
url: '/air/order/can/shipment/page',
url: '/air/order/data/scope/can/shipment/page',
method: 'get',
params
})
......@@ -822,7 +822,7 @@ export function canShipmentPage(params){
// 待出订单列表
export function waitingShipmentPage(params){
return request({
url: '/air/order/waiting/shipment/page',
url: '/air/order/data/scope/waiting/shipment/page',
method: 'get',
params
})
......@@ -999,3 +999,11 @@ export function exportOrderSummaryByContainerNumber(params){
responseType: 'blob'
})
}
// 查询权限范围内待出订单数量
export function getWaitingShipmentCount(){
return request({
url: '/air/order/data/scope/waiting/shipment/count',
method: 'get'
})
}
......@@ -10,20 +10,32 @@ export default {
title: {
type: String,
default: ''
}
},
badge: Number
},
render(h, context) {
const { icon, title } = context.props
const { icon, title, badge } = context.props
const vnodes = []
if (icon) {
vnodes.push(<svg-icon icon-class={icon}/>)
vnodes.push(<svg-icon icon-class={icon} test="1"/>)
}
if (title) {
vnodes.push(<span slot='title'>{(title)}</span>)
vnodes.push(<span><span>{(title)}</span><span class="badge">{badge}</span></span>)
}
return vnodes
}
}
</script>
<style lang="scss" scoped>
.badge:not(:empty){
background: red;
color: #fff;
padding: 2px 8px;
font-size: 12px;
border-radius: 10px;
margin-left: 5px;
}
</style>
......@@ -3,14 +3,14 @@
<template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
<app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)">
<el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
<item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="$l(onlyOneChild.meta, 'title')" />
<item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="$l(onlyOneChild.meta, 'title')" :badge="badge" />
</el-menu-item>
</app-link>
</template>
<el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body>
<template slot="title">
<item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="$l(item.meta, 'title')" />
<item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="$l(item.meta, 'title')" :badge="badge" />
</template>
<sidebar-item
v-for="child in item.children"
......@@ -54,6 +54,11 @@ export default {
this.onlyOneChild = null
return {}
},
computed:{
badge(){
return this.$store.getters.badgeData[this.item.meta.badgeField]
}
},
methods: {
hasOneShowingChild(children = [], parent) {
if (!children) {
......
......@@ -28,6 +28,7 @@ import { mapGetters, mapState } from "vuex";
import Logo from "./Logo";
import SidebarItem from "./SidebarItem";
import variables from "@/assets/styles/variables.scss";
import {getWaitingShipmentCount} from "@/api/ecw/order";
export default {
components: { SidebarItem, Logo },
......@@ -52,6 +53,13 @@ export default {
isCollapse() {
return !this.sidebar.opened;
}
},
created() {
// 查询待出订单数量 waitingShipment
getWaitingShipmentCount().then(res => {
console.log('getWaitingShipmentCount', res.data)
this.$store.commit('SET_BADGE_DATA', { waitingShipment: res.data}, )
})
}
};
</script>
......@@ -17,6 +17,8 @@ const getters = {
defaultRoutes:state => state.permission.defaultRoutes,
sidebarRouters:state => state.permission.sidebarRouters,
// 数据字典
dict_datas: state => state.dict.dictDatas
dict_datas: state => state.dict.dictDatas,
// 角标数据
badgeData: state => state.user.badgeData
}
export default getters
......@@ -56,7 +56,8 @@ function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
titleEn: route.nameEn,
icon: route.icon,
noCache: !route.keepalive, // 不缓存,如果需要缓存则需要组件名称能对应上
componentPath: route.component
componentPath: route.component,
badgeField: route.badgeField
}
route.hidden = typeof route.isShowInMenuBar != 'undefined' && (route.isShowInMenuBar == 'false' || !route.isShowInMenuBar)
// 处理 component 属性
......
......@@ -13,7 +13,11 @@ const user = {
permissions: [],
notMessage:0,
matterNum:0,
download: 0
download: 0,
badgeData:{
// 待出订单数量
waitingShipment: 0
}
},
mutations: {
......@@ -43,6 +47,9 @@ const user = {
},
SET_DOWNLOAD(state, cnt){
state.download = cnt;
},
SET_BADGE_DATA(state, data){
state.badgeData = Object.assign({}, state.badgeData, data)
}
},
......
......@@ -455,6 +455,10 @@ export default {
component: "shippingDetail",
processId: this.processInstance.businessKey,
type: 'air_warehouse'
},
revoke_clear:{
component:() => import("@/views/ecw/box/components/RevokeClear"),
id: this.processInstance.businessKey
}
}
console.log('formCustomViewPath', this.processInstance.processDefinition.formCustomViewPath.trim())
......
......@@ -3,12 +3,16 @@
<div class="message-title">{{$t(`您确定撤销${cancelClearInfo.orderNo}已清关状态吗?`)}}</div>
<el-form ref="arrivalForm" :rules="rules" :model="cusClearanceObj" label-width="120px">
<el-form-item :label="$t('撤销理由')" prop="clEstTime">
<el-input v-model="cusClearanceObj.applyReason" type="textarea" :rows="4"></el-input>
<el-input v-if="flag" v-model="cusClearanceObj.applyReason" type="textarea" :rows="4"></el-input>
<template v-else>
{{apply.applyReason}}
</template>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit">{{$t('确定')}}</el-button>
<el-button v-if="flag" type="primary" @click="onSubmit">{{$t('确定')}}</el-button>
<el-button v-if="!flag" type="primary" @click="$router.push({path: '/bpm/process-instance/detail', query: {id: apply.bpmProcessId}})">{{$t('审核中')}}</el-button>
<el-button @click="cancel">{{$t('取消')}}</el-button>
</el-row>
</div>
......@@ -34,9 +38,19 @@ export default {
applyReason: [
{ required: true, message: this.$t("必填"), trigger: "change" },
]
}
},
apply: {},
flag: true
};
},
created() {
let orders = this.shipmentObj.clearanceInfo?.clearanceOrderBackList
let order = orders.find(item=>item.orderId == this.cancelClearInfo.orderId)
if(order){
this.apply = order
this.flag = false
}
},
methods: {
onSubmit() {
this.$refs["arrivalForm"].validate((valid) => {
......
<template>
<div v-if="order">
<el-descriptions :column="4" v-if="order" :colon="false">
<el-descriptions-item :label="$t('订单号')">{{order.orderNo}}</el-descriptions-item>
<el-descriptions-item :label="$t('运输方式')">
<dict-tag class="mr-10" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" />
</el-descriptions-item>
<el-descriptions-item :label="$t('出货渠道')">
{{order.channelName}}
</el-descriptions-item>
<el-descriptions-item :label="$t('订单状态')">
{{order.statusMsg}}
</el-descriptions-item>
<el-descriptions-item :label="$t('唛头')">{{order.marks}}</el-descriptions-item>
<el-descriptions-item :label="$t('始发仓')">
{{order.logisticsInfoDto.startTitleZh}}
</el-descriptions-item>
<el-descriptions-item :label="$t('目的仓')" :span="2">
{{order.logisticsInfoDto.destAddressZh}}
</el-descriptions-item>
<!-- 优惠申请 -->
<el-descriptions-item :label="$t('申请理由')" :span="4">
<div class="bold">
{{applyReason}}
</div>
</el-descriptions-item>
</el-descriptions>
</div>
</template>
<script>
import {getOrder} from '@/api/ecw/order'
import {getBoxApproval} from "@/api/ecw/box";
/*
撤销清关审核
*/
export default {
name: 'RevokeClear',
props:{
id: [String, Number]
},
data(){
return {
order: null,
applyReason: null
}
},
created(){
if(this.id){
// id是出货审核ID
getBoxApproval({id: this.id}).then(res => {
this.applyReason = res.data.applyReason
getOrder(res.data.orderId).then(res => {
this.order = res.data
})
})
}
}
}
</script>
<style scoped lang="scss">
.title{
padding: 10px 0;
span{
font-size: 14px;
font-weight: bold;
}
}
.bold{
font-weight: bold;
}
</style>
......@@ -205,7 +205,8 @@ export default {
/* doc.save("a4.pdf");
return Promise.reject() */
let form = new FormData()
let file = this.selfNo + "-" + this.currRow.tidanNo + ' ' + orderData.marks + '.pdf' //this.selfNo + '-' + this.currRow.tidanNo + '.pdf'
const dst = this.$l(orderData.logisticsInfoDto, 'destTitle')
let file = this.selfNo + "-" + this.currRow.tidanNo + ' ' + orderData.marks + '-' + dst + '.pdf' //this.selfNo + '-' + this.currRow.tidanNo + '.pdf'
form.append('file', new File([doc.output('arraybuffer')], file, {type: 'application/pdf'}))
form.append('path', `admin/shipment/${this.selfNo}/pdf/${file}`) // 最前面不能有/,否则返回的url会有两个/
......
......@@ -108,7 +108,7 @@
<el-table-column prop="" :label="$t('操作')" align="center" width="120px">
<template slot-scope="scope">
<el-button type="primary" size="small" :disabled="scope.row.abnormalDealStatus === 1" @click="()=>updateStatus('single', scope.row)">{{$t('更新状态')}}</el-button>
<el-button type="primary" size="small" :disabled="shipmentObj.clStatus==132||(shipmentObj.clearanceInfo&&shipmentObj.clearanceInfo.clearanceOrderList.findIndex(ff=>ff.orderId == scope.row.orderId) == -1)" @click="()=>cancleClear(scope.row)">{{$t('撤销清关申请')}}</el-button>
<el-button type="primary" size="small" :disabled="shipmentObj.clStatus==132|| (shipmentObj.clearanceInfo == null) || (shipmentObj.clearanceInfo&&shipmentObj.clearanceInfo.clearanceOrderList.findIndex(ff=>ff.orderId == scope.row.orderId) == -1)" @click="()=>cancleClear(scope.row)">{{$t('撤销清关申请')}}</el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -102,8 +102,8 @@ export default {
this.cusClearanceObj = oldData
if (!this.cusClearanceObj.clearanceType) this.$set(this.cusClearanceObj, 'clearanceType', 0)
this.$set(this.cusClearanceObj, 'clearanceOrderIdList', [])
if (this.$attrs.shipmentObj.airArrivalInfo.arrivalOrderList) this.arrivalOrderList = this.$attrs.shipmentObj.airArrivalInfo.arrivalOrderList
if (this.$attrs.shipmentObj.clearanceInfo.clearanceOrderList) this.clearanceOrderList = this.$attrs.shipmentObj.clearanceInfo.clearanceOrderList
if (typeof this.$attrs.shipmentObj.airArrivalInfo?.arrivalOrderList != 'undefined' && this.$attrs.shipmentObj.airArrivalInfo.arrivalOrderList) this.arrivalOrderList = this.$attrs.shipmentObj.airArrivalInfo.arrivalOrderList
if (typeof this.$attrs.shipmentObj.clearanceInfo?.clearanceOrderList != 'undefined' && this.$attrs.shipmentObj.clearanceInfo.clearanceOrderList) this.clearanceOrderList = this.$attrs.shipmentObj.clearanceInfo.clearanceOrderList
shipmentOrderList(this.$attrs.shipmentObj.id).then((r) => {
this.orderList = r.data
this.orderListFilter = r.data
......
......@@ -110,7 +110,7 @@
<el-radio-button :label="2">{{ $t('已装箱列表') }}</el-radio-button>
</el-radio-group>
</div>
<un-pkg-page v-if="pkgPageType == 1" :pkgData="pkgData" :shipmentObj="shipmentObj" />
<un-pkg-page v-if="pkgPageType == 1" :pkgData="pkgData" :shipmentObj="shipmentObj" @reload="getList" />
<pkg-page v-if="pkgPageType == 2" :pkgData="pkgData" :shipmentObj="shipmentObj" @closeDialog="closeDialog" @reload="getList" />
</el-dialog>
<!-- 打印标签 -->
......
......@@ -125,6 +125,7 @@ export default {
createPkgOrder(data).then(() => {
this.$message.success(this.$t('装箱成功'))
this.getList()
this.$emit('reload')
})
},
// 选中
......
......@@ -4,10 +4,13 @@
<el-form-item :label="$t('预计起飞时间')">
{{getTakeOffTime()}}
</el-form-item>
<el-form-item :label="$t('预计到港时间')" prop="est_time">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.est_time" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item :label="$t('实际起飞时间')" prop="dtRealFlyTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.dtRealFlyTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item v-if="dtRealHeadTimeFlag" :label="$t('实际头程时间')" prop="dtRealHeadTime">
<el-form-item v-if="dtRealHeadTimeFlag" :label="$t('预计二程起飞时间')" prop="dtRealHeadTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.dtRealHeadTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-form>
......@@ -62,6 +65,7 @@ export default {
let oldData = { ...this.$attrs.shipmentObj[voName] };
oldData = formatDateStr(oldData, ["dtRealFlyTime"], "YYYY-MM-DD HH:mm:ss");
oldData = formatDateStr(oldData, ["dtRealHeadTime"], "YYYY-MM-DD HH:mm:ss");
oldData = formatDateStr(oldData, ["est_time"], "YYYY-MM-DD HH:mm:ss");
this.twoWayTakeoffObj = oldData;
if(this.$attrs.shipmentObj['bookAirInfo'].voyage && this.$attrs.shipmentObj['bookAirInfo'].voyage == 2){
this.dtRealHeadTimeFlag = true
......
......@@ -19,6 +19,10 @@
{{$t('过机重量异常')}}: {{$t('过机放行-已找到重货订单')}}:<span v-for="order in strToArray(pageData.boxCustomsBackVO.overOrders)" :key="order">{{ getOrders(order) }}</span>
</p>
</el-row>
<el-row class="number-area">
<p class="label-font"><span style="color:red">*</span>{{$t('到仓时间')}}</p>
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="ulWarehouseTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-row>
<el-row class="number-area">
<p class="label-font">{{$t('自编号')}}</p>
<p class="label-font">{{selfNo}}</p>
......@@ -127,12 +131,12 @@
<!-- 操作 -->
<div v-if="!isUnderReview">
<el-button type="success" @click="onSubmit">{{$t('提交完成到仓审核')}}</el-button>
<el-button plain type="primary" @click="$emit('closeStart')">{{$t('返回')}}</el-button>
<el-button plain type="primary" @click="$emit('closeDialog')">{{$t('返回')}}</el-button>
</div>
<div v-if="isUnderReview">
<el-button type="primary" @click="jumpReviewDetail">{{$t('到仓审核中')}}</el-button>
<el-button plain type="primary" @click="canclAudit">{{$t('取消审核')}}</el-button>
<el-button plain type="primary" @click="$emit('closeStart')">{{$t('返回')}}</el-button>
<el-button plain type="primary" @click="$emit('closeDialog')">{{$t('返回')}}</el-button>
</div>
</el-row>
......@@ -193,7 +197,8 @@ export default {
totalStatistics: {},
},
selectedUsers: [],
sectionOrderList: []
sectionOrderList: [],
ulWarehouseTime: null
};
},
created() {
......@@ -265,9 +270,14 @@ export default {
this.$message.error(this.$t("请输入订单号"));
return;
}
if (!this.ulWarehouseTime) {
this.$message.error(this.$t("请选择到仓时间"));
return;
}
batchUnload({
orderNo: this.labelNo,
shipmentId: this.$attrs.shipmentObj.id,
unloadTime: this.ulWarehouseTime
}).then((res) => {
serviceMsg(res, this).then((res) => {
this.labelNo = "";
......@@ -277,11 +287,15 @@ export default {
},
/* 一键卸柜 */
modifyAllUnload() {
if (!this.ulWarehouseTime) {
this.$message.error(this.$t("请选择到仓时间"));
return;
}
this.$confirm(this.$t("确认到仓?"), this.$t("提示"), {
type: "warning",
})
.then((_) => {
allUnload({ shipmentId: this.$attrs.shipmentObj.id }).then((res) => {
allUnload({ shipmentId: this.$attrs.shipmentObj.id, unloadTime: this.ulWarehouseTime }).then((res) => {
serviceMsg(res, this).then((res) => {
this.getLoadGoodsList();
});
......
......@@ -42,7 +42,7 @@ import arrivalWidget from "./nodePage/arrival.vue";
import cusClearanceWidget from "./nodePage/cusClearance.vue";
import twoWayTakeoffWidget from "./nodePage/twoWayTakeoff.vue";
import twoWayArrivalWidget from "./nodePage/twoWayArrival.vue";
import unloadingWidget from "./nodePage/unloading/index.vue";
import unloadingWidget from "./nodePage/unloading/startUnloading.vue";
import settlementWidget from "./nodePage/settlement.vue";
import reviewWidget from "./nodePage/review.vue";
import shipmentWidget from "./nodePage/shipment.vue";
......@@ -216,6 +216,7 @@ export default {
break;
// 卸柜
case "unloading":
this.$set(this.dialogConfig, "fullscreen", true);
// 卸柜反审
const unStatus = this.shipmentObj[node.keyName];
if ([186].includes(unStatus)) {
......
......@@ -752,6 +752,27 @@ function getColmnMapping() {
key: "operator",
},
],
boxAirFlyInfo: [
{
title: i18n.$t("预计到港时间"),
key: "dtRealFlyTime",
type: "datetime",
},
{
title: i18n.$t("实际起飞时间"),
key: "dtRealFlyTime",
type: "datetime",
},
{
title: i18n.$t("预计二程起飞时间"),
key: "dtRealHeadTime",
type: "datetime",
},
{
title: i18n.$t("业务员"),
key: "operator",
},
],
clearanceDocInfo: [
{
title: "agent list",
......
......@@ -157,6 +157,11 @@
</div>
</template>
</el-table-column>
<el-table-column :label="$t('特性')" align="center" prop="attrNameList" width="120">
<template slot-scope="scope">
{{scope.row.warehouseInAttrNameList?scope.row.warehouseInAttrNameList.toString():""}}
</template>
</el-table-column>
<el-table-column :label="$t('备案')" align="center" prop="productRecord" width="100">
<template slot-scope="{row}">
<template v-if="row.brandName">{{row.brandName}}</template>
......@@ -274,6 +279,11 @@
<dict-tag :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" :value="scope.row.material" />
</template>
</el-table-column>
<el-table-column :label="$t('特性')" align="center" prop="warehouseInAttrNameList" width="120">
<template slot-scope="scope">
{{scope.row.warehouseInAttrNameList?scope.row.warehouseInAttrNameList.toString():""}}
</template>
</el-table-column>
<!-- <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-dropdown trigger="click" @command="(command)=>handleGoods('single',scope.row,command)">
......
......@@ -136,7 +136,9 @@
</router-link>
<el-button size="mini" type="text" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:customer:treat-perfect']">{{$t('完善')}}</el-button>
<el-button v-has-permi="['ecw:customer:treat-recovery']" size="mini" type="text" @click="recovery(scope.row)" > {{$t('回收客户')}} </el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
......@@ -360,7 +362,7 @@ import {
exportCustomerExcel,
getWaitForConfirmList,
confirm,
waiteConfirmExportExcel, waiteConfirEexportExcel
waiteConfirmExportExcel, waiteConfirEexportExcel, recycleUnconfirmedCustomer
} from "@/api/ecw/customer";
import { listServiceUser } from "@/api/system/user"
import { getDictDatas, DICT_TYPE } from '@/utils/dict'
......@@ -455,6 +457,20 @@ export default {
})
},
methods: {
recovery(row){
console.log(row,'row')
this.$confirm(this.$t('是否要回收当前{name}',row), '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
recycleUnconfirmedCustomer({customerId:row.id}).then(r =>{
this.$message.success(this.$t('回收成功。'))
})
}).catch(() => {
this.$message.info(this.$t('已取消'))
});
},
getDictDatas,
countryFormatter(row, column, cellValue) {
const country = this.countryList.find((e) => e.id === cellValue)
......
......@@ -267,7 +267,7 @@
<el-timeline v-if="order.orderTimeVOList && order.orderTimeVOList.length" :reverse="true">
<el-timeline-item v-for="(activity, index) in order.orderTimeVOList" :key="index" :timestamp="parseTime(activity.businessTime)">
{{ $l(activity, 'title') }}
<div>{{$l(activity, 'remarks')}}</div>
<div :class="{red: !!activity.mark}">{{$l(activity, 'remarks')}}</div>
</el-timeline-item>
</el-timeline>
<el-result v-else icon="info " :title="$t('暂无数据')" :subTitle="$t('暂无订单动态数据')" />
......@@ -809,6 +809,9 @@ export default {
</script>
<style scoped>
.red{
color: red;
}
.card {
margin-bottom: 20px;
}
......
......@@ -490,6 +490,14 @@
/>
</el-select>
</el-form-item>
<div>
<el-form-item :label="$t('提单是否显示价格')" prop="displayBillLadingPrice">
<el-radio-group v-model="form.displayBillLadingPrice">
<el-radio :label="true">{{$t('显示')}}</el-radio>
<el-radio :label="false">{{$t('不显示')}}</el-radio>
</el-radio-group>
</el-form-item>
</div>
</el-card>
<el-card class="mt-10" v-if="transport">
......
......@@ -124,6 +124,13 @@
<el-form-item :label="$t('出货渠道')" prop="channelId" v-if="channelList.length">
<selector :options="channelList" :label-field="$l('name')" value-field="channelId" v-model="queryParams.channelId"></selector>
</el-form-item>
<el-form-item :label="$t('特需')" prop="packageType">
<el-select v-model="queryParams.packageTypeArr" multiple :placeholder="$t('请选择')" clearable >
<template v-for="item in getDictDatas(DICT_TYPE.ORDER_SPECIAL_NEEDS)">
<el-option :label="$l(item, 'label')" :value="item.value"></el-option>
</template>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery" :loading="loading">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
......@@ -561,6 +568,7 @@ import { getCurrencyPage } from "@/api/ecw/currency";
import SplitRevoke from "@/views/ecw/order/components/SplitRevoke";
import {getChannelList} from "@/api/ecw/channel";
import Template from "@/views/cms/template/index.vue";
import {getDictDatas} from "@/utils/dict";
export default {
name: "EcwOrderIndex",
components: {
......@@ -602,7 +610,8 @@ export default {
// 查询参数
queryParams: {
page: 1,
rows: 10
rows: 10,
packageTypeArr: []
},
warehouseList:[],
// tradeCityList: [],
......@@ -734,6 +743,7 @@ export default {
}
},
methods: {
getDictDatas,
// 取消拆单申请
splitRevoke(row){
......@@ -844,6 +854,10 @@ export default {
getList() {
this.loading = true;
console.log('this.combinedQueryParams', this.combinedQueryParams)
const query = {...this.combinedQueryParams}
if(query.packageTypeArr && query.packageTypeArr.length){
query.packageType = query.packageTypeArr.join(',')
}
let func = getOrderPage
if(this.mine){
func = getMyOrderPage
......@@ -856,7 +870,7 @@ export default {
func = deptOrderPage
}
// 执行查询
func(this.combinedQueryParams).then(response => {
func(query).then(response => {
// 部分情况下,订单后面的操作下拉菜单会显示按钮,但是下来没有选项,在elTable组件更新的时候会导致渲染错误,所以要在更新渲染前清空一次list让table彻底重新渲染,避免部分更新导致异常
this.list = []
this.$nextTick(() => {
......@@ -890,7 +904,8 @@ export default {
resetQuery() {
this.queryParams = {
page: 1,
rows: 10
rows: 10,
packageTypeArr: []
}
this.noParam.value = ''
this.prodParam.value = ''
......
<script>
export default {
name: "showContacts",
props:{
phoneString:[String]
},
data(){
return {
phoneList:[],
}
},
mounted() {
let phone = this.phoneString
this.phoneList = phone.split('(;)');
console.log(this.phoneList)
}
}
</script>
<template>
<div>
<div v-for="(item, index) in phoneList" :key="index" >
<div>
<span>联系人{{index + 1}}</span>
<span>{{item.split('(@)')[1]}}</span>
</div>
<div>
<span>联系电话{{index + 1}}</span>
<span>+{{item.split('(@)')[0]}}</span>
</div>
</div>
</div>
</template>
<style scoped lang="scss">
</style>
......@@ -43,9 +43,10 @@
:label="$t('客户名称')">
</el-table-column>
<el-table-column
prop="phone"
:formatter="(row, column, cellValue) => '+' + cellValue"
:label="$t('客户号码')">
<template v-slot="{row}">
<show-contacts :phone-string="row.phone" ></show-contacts>
</template>
</el-table-column>
<el-table-column
prop="feeScale"
......@@ -78,9 +79,11 @@
:label="$t('客户名称')">
</el-table-column>
<el-table-column
prop="phone"
:formatter="(row, column, cellValue) => '+' + cellValue"
width="210"
:label="$t('客户号码')">
<template v-slot="{row}">
<show-contacts :phone-string="row.phone" ></show-contacts>
</template>
</el-table-column>
<el-table-column
prop="fileUrl"
......@@ -211,10 +214,12 @@ import DictSelector from "@/components/DictSelector"
import { DICT_TYPE, getDictDataLabel } from '@/utils/dict'
import FileUpload from '@/components/FileUpload'
import { parseTime } from '@/utils/ruoyi'
import ShowContacts from "@/views/ecw/productBrank/Empower/components/showContacts.vue";
export default {
name: "Empower",
components: {
ShowContacts,
DictSelector,
FileUpload
},
......
......@@ -9,7 +9,12 @@
<el-form-item :label="$t('商品类型')" prop="typeId" v-if="!$route.query.product_id">
<el-select v-model="queryParams.typeId" :placeholder="$t('选择商品类型')" clearable>
<el-option v-for="type in typeList" :key="type.id" :label="type.titleZh" :value="type.id"/>
<el-option v-for="type in typeList" :key="type.id" :label="$l(type, 'titleZh')" :value="type.id"/>
</el-select>
</el-form-item>
<el-form-item :label="$t('商品属性')" prop="typeId" v-if="!$route.query.product_id">
<el-select v-model="queryParams.attrId" :placeholder="$t('选择商品类型')" clearable>
<el-option v-for="attr in attrList" :key="attr.id" :label="$l(attr, 'attrName')" :value="attr.id"/>
</el-select>
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportType" v-if="!transportType">
......@@ -562,7 +567,6 @@ export default {
this.$set(this.queryParams, 'transportType', +this.transportType)
}
}
this.getAttrList();
}
},
watch:{
......@@ -622,6 +626,8 @@ export default {
this.getChannelList()
this.getTypeList()
this.getAttrList();
//获取货币列表
this.requestCurrencyList();
//获取单位列表
......
......@@ -148,6 +148,11 @@
<el-input v-model="form.redirect" :placeholder="$t('请输入重定向地址')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('角标字段')" prop="redirect">
<el-input v-model="form.badgeField" :placeholder="$t('不清楚请留空,已设勿改')" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
......
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