Commit 46409ff3 authored by dragondean@qq.com's avatar dragondean@qq.com
parents 25ca1b86 a974398c
...@@ -33,6 +33,14 @@ export function orderWarehouseInDelete(data){ ...@@ -33,6 +33,14 @@ export function orderWarehouseInDelete(data){
data:data, data:data,
}) })
} }
//获取退仓审批详情
export function getRollbackApprovalInfo(params){
return request({
url:'/order/order-warehouse-in/get-rollback-approval-info',
method:'get',
params
})
}
//通过bpmFormId 获得仓库审核单详情 //通过bpmFormId 获得仓库审核单详情
export function warehouseApprovalGetByFormId(params){ export function warehouseApprovalGetByFormId(params){
return request({ return request({
......
...@@ -166,7 +166,7 @@ export function getBrankByCustomer(data){ ...@@ -166,7 +166,7 @@ export function getBrankByCustomer(data){
// //
export function levelLogPage(params){ export function levelLogPage(params){
return request({ return request({
url:'/customer/level-log/page', url:'/customer/detail/infoList/levelLogPage',
method:'get', method:'get',
params params
}) })
...@@ -174,7 +174,31 @@ export function levelLogPage(params){ ...@@ -174,7 +174,31 @@ export function levelLogPage(params){
//获取信用等级日志列表 //获取信用等级日志列表
export function customerCreditLogPage(params){ export function customerCreditLogPage(params){
return request({ return request({
url:'/customer/credit-log/page', url:'/customer/detail/infoList/creditLogPage',
method:'get',
params
})
}
//客户详情订单分页
export function infoListOrderPage(params){
return request({
url:'/customer/detail/infoList/orderPage',
method:'get',
params
})
}
//客户详情 --- 报价
export function infoListOfferPage(params){
return request({
url:'/customer/detail/infoList/offerPage',
method:'get',
params
})
}
//客户数据
export function orderStatistics(params){
return request({
url:'/customer/detail/infoList/orderStatistics',
method:'get', method:'get',
params params
}) })
......
...@@ -429,3 +429,19 @@ export function orderSpecialNeedGet(params){ ...@@ -429,3 +429,19 @@ export function orderSpecialNeedGet(params){
params params
}) })
} }
//取消调仓
export function cancelAdjust(data){
return request({
url:'/order/order-warehouse-in/cancel-adjust',
method:'post',
data
})
}
//取消订单费用申请
export function feeApplicationCancel(data){
return request({
url:'/order/fee-application/cancel',
method:'delete',
data
})
}
...@@ -36,11 +36,11 @@ export function getUser(id) { ...@@ -36,11 +36,11 @@ export function getUser(id) {
} }
// 获得用户分页 // 获得用户分页
export function getUserPage(query) { export function getUserPage(params) {
return request({ return request({
url: '/member/user/page', url: '/member/user/page',
method: 'get', method: 'get',
params: query params: params
}) })
} }
...@@ -104,8 +104,8 @@ export function memberUserAuditIdCard(query) { ...@@ -104,8 +104,8 @@ export function memberUserAuditIdCard(query) {
export function memberUserAuditEnterprise(query) { export function memberUserAuditEnterprise(query) {
return request({ return request({
url: '/member/user/audit-enterprise', url: '/member/user/audit-enterprise',
method: 'get', method: 'put',
params: query, data: query,
}) })
} }
...@@ -143,3 +143,11 @@ export function userCreateAuditEnterprise(data){ ...@@ -143,3 +143,11 @@ export function userCreateAuditEnterprise(data){
data:data, data:data,
}) })
} }
//新增用户
export function createAuditIdCard(data){
return request({
url:'/member/user/create-audit-idcard',
method:'put',
data
})
}
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
> >
<el-table-column <el-table-column
type="index" type="index"
label="#" label="序号"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="跟进时间" required> <el-form-item label="跟进时间" required>
<el-date-picker v-model="customerFollow.form.followTime" type="datetime" placeholder="选择跟进时间"></el-date-picker> <el-date-picker v-model="customerFollow.form.followTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择跟进时间"></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -160,6 +160,7 @@ export default { ...@@ -160,6 +160,7 @@ export default {
this.resetCustomerFollowForm() this.resetCustomerFollowForm()
if (!!this.customerId) getCustomerContactsListByCustomer({customerId: this.customerId}).then(r => { if (!!this.customerId) getCustomerContactsListByCustomer({customerId: this.customerId}).then(r => {
this.customerContactsList = r.data this.customerContactsList = r.data
this.customerFollow.form.customerId = this.customerId
}) })
listServiceUser().then(r => { listServiceUser().then(r => {
this.serviceUserList = r.data this.serviceUserList = r.data
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<el-descriptions-item label="唛头">{{ order.marks }}</el-descriptions-item> <el-descriptions-item label="唛头">{{ order.marks }}</el-descriptions-item>
<el-descriptions-item label="已到箱数/总箱数">{{ order.sumNum }}/{{ order.costVO.totalNum }}</el-descriptions-item> <el-descriptions-item label="已到箱数/总箱数">{{ order.sumNum }}/{{ order.costVO.totalNum }}</el-descriptions-item>
<el-descriptions-item label="订单状态"><dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="order.status" :class="{red: order.status === 1, green: order.status === 5 || order.status === 2}" /></el-descriptions-item> <el-descriptions-item label="订单状态"><dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="order.status" :class="{red: order.status === 1, green: order.status === 5 || order.status === 2}" /></el-descriptions-item>
<el-descriptions-item label="送货时间">{{ order.consigneeVO && order.consigneeVO.deliveryDate || '' }}</el-descriptions-item> <el-descriptions-item label="送货时间">{{ order.deliveryDate || '' }}</el-descriptions-item>
<el-descriptions-item label="运输方式"> <el-descriptions-item label="运输方式">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.logisticsInfoDto.transportId"></dict-tag> <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.logisticsInfoDto.transportId"></dict-tag>
</el-descriptions-item> </el-descriptions-item>
...@@ -12,10 +12,10 @@ ...@@ -12,10 +12,10 @@
<el-descriptions-item label="目的地">{{ order.logisticsInfoDto.destTitleZh || '' }}</el-descriptions-item> <el-descriptions-item label="目的地">{{ order.logisticsInfoDto.destTitleZh || '' }}</el-descriptions-item>
<el-descriptions-item label="发货人姓名">{{ order.consignorVO && order.consignorVO.name || ''}}</el-descriptions-item> <el-descriptions-item label="发货人姓名">{{ order.consignorVO && order.consignorVO.name || ''}}</el-descriptions-item>
<el-descriptions-item label="发货人公司">{{ order.consignorVO && order.consignorVO.company || '' }}</el-descriptions-item> <el-descriptions-item label="发货人公司">{{ order.consignorVO && order.consignorVO.company || '' }}</el-descriptions-item>
<el-descriptions-item label="发货人电话">{{ order.consignorVO && order.consignorVO.phone || '' }}</el-descriptions-item> <el-descriptions-item label="发货人电话">{{ order.consignorVO && (order.consignorVO.countryCode + order.consignorVO.phone) || '' }}</el-descriptions-item>
<el-descriptions-item label="收货人姓名">{{ order.consigneeVO && order.consigneeVO.name || ''}}</el-descriptions-item> <el-descriptions-item label="收货人姓名">{{ order.consigneeVO && order.consigneeVO.name || ''}}</el-descriptions-item>
<el-descriptions-item label="收货人公司">{{ order.consigneeVO && order.consigneeVO.company || '' }}</el-descriptions-item> <el-descriptions-item label="收货人公司">{{ order.consigneeVO && order.consigneeVO.company || '' }}</el-descriptions-item>
<el-descriptions-item label="收货人电话">{{ order.consigneeVO && order.consigneeVO.phone || '' }}</el-descriptions-item> <el-descriptions-item label="收货人电话">{{ order.consigneeVO &&(order.consigneeVO.countryCode + order.consigneeVO.phone) || '' }}</el-descriptions-item>
<el-descriptions-item label="入仓类型">{{ getDictDataLabel(DICT_TYPE.ECW_WAREHOUSING_TYPE, order.warehouseType) }}</el-descriptions-item> <el-descriptions-item label="入仓类型">{{ getDictDataLabel(DICT_TYPE.ECW_WAREHOUSING_TYPE, order.warehouseType) }}</el-descriptions-item>
<el-descriptions-item label="订单号">{{ order.orderNo }}</el-descriptions-item> <el-descriptions-item label="订单号">{{ order.orderNo }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
......
...@@ -135,6 +135,12 @@ ...@@ -135,6 +135,12 @@
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="运输方式" prop="transportType">
<el-radio-group v-model="form.transportType">
<el-radio v-for="dict in transportTypes" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="出货渠道" prop="shippingChannelId"> <el-form-item label="出货渠道" prop="shippingChannelId">
<el-select v-model="form.shippingChannelId" placeholder="请选择出货渠道"> <el-select v-model="form.shippingChannelId" placeholder="请选择出货渠道">
<el-option v-for="item in channelList" :label="item.nameZh" :value="item.channelId" :key="item.channelId"></el-option> <el-option v-for="item in channelList" :label="item.nameZh" :value="item.channelId" :key="item.channelId"></el-option>
...@@ -221,7 +227,7 @@ ...@@ -221,7 +227,7 @@
channelList:[], channelList:[],
warehouseList: [], warehouseList: [],
// 表单参数 // 表单参数
form: {}, form: {transportType:"4"},
// 表单校验 // 表单校验
rules: { rules: {
shippingChannelId: [{ required: true, message: "出货渠道不能为空", trigger: "blur" }], shippingChannelId: [{ required: true, message: "出货渠道不能为空", trigger: "blur" }],
...@@ -266,6 +272,9 @@ ...@@ -266,6 +272,9 @@
}, },
created() { created() {
this.transportTypes = this.getDictDatas(
this.DICT_TYPE.ECW_TRANSPORT_TYPE
).filter((item) => item.value == "4");
getWarehouseList().then(res => this.warehouseList = res.data); getWarehouseList().then(res => this.warehouseList = res.data);
getCabinetPage(null).then(response => { getCabinetPage(null).then(response => {
this.cabinetList = response.data.list; this.cabinetList = response.data.list;
...@@ -305,7 +314,7 @@ ...@@ -305,7 +314,7 @@
cabinetId: undefined, cabinetId: undefined,
startWarehouseId: undefined, startWarehouseId: undefined,
destWarehouseId: undefined, destWarehouseId: undefined,
transportType: undefined, transportType: "4",
}; };
this.resetForm("form"); this.resetForm("form");
}, },
......
...@@ -683,6 +683,7 @@ export default { ...@@ -683,6 +683,7 @@ export default {
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
// 处理查询参数 // 处理查询参数
let params = {...this.queryParams}; let params = {...this.queryParams};
params.pageNo = undefined; params.pageNo = undefined;
params.pageSize = undefined; params.pageSize = undefined;
......
...@@ -109,7 +109,7 @@ ...@@ -109,7 +109,7 @@
<el-form-item label="报关方式:"> <el-form-item label="报关方式:">
<dict-selector <dict-selector
:type="DICT_TYPE.ECW_CUSTOMS_TYPE" :type="DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model="queryParams.customsType" v-model="queryParams.customerType"
/> />
</el-form-item> </el-form-item>
<el-form-item label="控货"> <el-form-item label="控货">
...@@ -119,7 +119,8 @@ ...@@ -119,7 +119,8 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="入仓时间:"> <el-form-item label="入仓时间:">
<el-date-picker v-model="queryParams.rucangtime" <el-date-picker v-model="rucangtime"
@change="changeDate"
style="width: 240px" style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
type="daterange" type="daterange"
...@@ -172,55 +173,58 @@ ...@@ -172,55 +173,58 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination @pagination="creditLogPage" :page.sync="queryParams.page" :limit.sync="queryParams.row" :total="orderTotal" ></pagination> <pagination @pagination="getorderList" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" :total="orderTotal" ></pagination>
</el-card> </el-card>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="报价"> <el-tab-pane label="报价">
<el-table <el-table
:data="[]" :data="infoListOfferList"
style="width: 100%" style="width: 100%"
> >
<el-table-column <el-table-column
prop="" type="index"
label="序号" label="序号"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="" prop="number"
label="报价单号" label="报价单号"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="" prop="orderNo"
label="订单号" label="订单号"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="" prop="consignorName"
label="客户名称" label="客户名称"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="" prop="objectiveName"
label="目的地" label="目的地"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop=""
label="销售阶段" label="销售阶段"
> >
<template v-slot="{row}">
{{STATUS[row.status]}}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="" prop="stopTime"
label="预计结束时间" label="预计结束时间"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="" prop="businessManagerName"
label="负责人" label="负责人"
> >
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination @pagination="getInfoListOfferPage" :page.sync="infoListOfferFrom.pageNo" :limit.sync="infoListOfferFrom.pageSize" :total="infoListOfferTotal" ></pagination>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="跟进"> <el-tab-pane label="跟进">
<customer-follow ref="customerFollow" :id="id" :customer-id="id"></customer-follow> <customer-follow ref="customerFollow" :id="id" :customer-id="id"></customer-follow>
...@@ -247,13 +251,13 @@ ...@@ -247,13 +251,13 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="数据"> <el-tab-pane label="数据">
<el-descriptions :column="2"> <el-descriptions :column="2">
<el-descriptions-item label="海空联运/海运拼柜/海运整柜/专线空运"></el-descriptions-item> <el-descriptions-item label="海空联运/海运拼柜/海运整柜/专线空运">{{orderStatisticsObj.hklyTotal || 0}}/{{orderStatisticsObj.hypgTotal || 0 }}/{{orderStatisticsObj.hyzgTotal || 0}}/{{orderStatisticsObj.zxkyTotal || 0}}</el-descriptions-item>
<el-descriptions-item label="最后交易日期"></el-descriptions-item> <el-descriptions-item label="最后交易日期">{{orderStatisticsObj.lastBusinessDate}}</el-descriptions-item>
<el-descriptions-item label="全部订单/控货订单"></el-descriptions-item> <el-descriptions-item label="全部订单/控货订单">{{orderStatisticsObj.allOrderTotal || 0}}/{{orderStatisticsObj.controlOrderTotal || 0}}</el-descriptions-item>
<el-descriptions-item label="最后交易单号"></el-descriptions-item> <el-descriptions-item label="最后交易单号">{{orderStatisticsObj.lastBusinessOrderNo}}</el-descriptions-item>
<el-descriptions-item label="报价/下单/入仓"></el-descriptions-item> <el-descriptions-item label="报价/下单/入仓">{{orderStatisticsObj.offerOrderTotal || 0}}/{{orderStatisticsObj.pickOrderTotal || 0}}/{{orderStatisticsObj.wareHousingTotal || 0}}</el-descriptions-item>
<el-descriptions-item label="储存量"></el-descriptions-item> <el-descriptions-item label="储存量">{{orderStatisticsObj.stock || 0}}</el-descriptions-item>
<el-descriptions-item label="已出货订单"></el-descriptions-item> <el-descriptions-item label="已出货订单">{{orderStatisticsObj.shipmentTotal || 0}}</el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="品牌授权"> <el-tab-pane label="品牌授权">
...@@ -306,15 +310,23 @@ ...@@ -306,15 +310,23 @@
<el-tab-pane label="信用日志"> <el-tab-pane label="信用日志">
<el-card class="box-card"> <el-card class="box-card">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<div style="width:300px;height: 300px;margin: auto">
</div>
<el-button style="float: right;" type="primary" @click="dialogVisible = true" >添加信用日志</el-button> <el-button style="float: right;" type="primary" @click="dialogVisible = true" >添加信用日志</el-button>
<el-descriptions :column="5" border>
<el-descriptions-item label="信用分"></el-descriptions-item>
<el-descriptions-item label="身份认证"></el-descriptions-item>
<el-descriptions-item label="贷款"></el-descriptions-item>
<el-descriptions-item label="提货率"></el-descriptions-item>
<el-descriptions-item label="发货"></el-descriptions-item>
</el-descriptions>
</div> </div>
<el-table :data="customerCreditLogList"> <el-table :data="customerCreditLogList">
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column prop="name" label="规则名称"></el-table-column> <el-table-column prop="name" label="规则名称"></el-table-column>
<el-table-column prop="type" label="规则分类"></el-table-column> <el-table-column prop="type" label="规则分类">
<template v-slot="{row}">
<dict-tag :type="DICT_TYPE.CUSTOMER_CREDIT_RULE_TYPE" :value="row.type" />
</template>
</el-table-column>
<el-table-column prop="score" label="规则得分"></el-table-column> <el-table-column prop="score" label="规则得分"></el-table-column>
<el-table-column prop="remark" label="备注"></el-table-column> <el-table-column prop="remark" label="备注"></el-table-column>
<el-table-column label="添加人"></el-table-column> <el-table-column label="添加人"></el-table-column>
...@@ -323,16 +335,19 @@ ...@@ -323,16 +335,19 @@
{{parseTime(row.createTime)}} {{parseTime(row.createTime)}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"></el-table-column>
</el-table> </el-table>
<pagination @pagination="creditLogPage" :page.sync="customerCreditLogFrom.page" :limit.sync="customerCreditLogFrom.row" :total="customerCreditLogFrom.total" ></pagination> <pagination @pagination="creditLogPage" :page.sync="customerCreditLogFrom.pageNo" :limit.sync="customerCreditLogFrom.pageSize" :total="customerCreditLogFrom.total" ></pagination>
</el-card> </el-card>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="等级日志"> <el-tab-pane label="等级日志">
<el-table style="width: 100%" :data="getCustomerGradeList"> <el-table style="width: 100%" :data="getCustomerGradeList">
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="规则名称" prop="name"></el-table-column> <el-table-column label="规则名称" prop="name"></el-table-column>
<el-table-column label="规则分类" prop="type"></el-table-column> <el-table-column label="规则分类" prop="type">
<template v-slot="{row}">
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL_RULE_TYPE" :value="row.type" />
</template>
</el-table-column>
<el-table-column label="规则得分" prop="score"></el-table-column> <el-table-column label="规则得分" prop="score"></el-table-column>
<el-table-column label="备注" prop="remark"></el-table-column> <el-table-column label="备注" prop="remark"></el-table-column>
<el-table-column label="时间"> <el-table-column label="时间">
...@@ -340,9 +355,8 @@ ...@@ -340,9 +355,8 @@
{{parseTime(row.createTime)}} {{parseTime(row.createTime)}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"></el-table-column>
</el-table> </el-table>
<pagination @pagination="getCustomerGrade" :page.sync="getCustomerGradeFrom.page" :limit.sync="getCustomerGradeFrom.row" :total="getCustomerGradeFrom.total" ></pagination> <pagination @pagination="getCustomerGrade" :page.sync="getCustomerGradeFrom.pageNo" :limit.sync="getCustomerGradeFrom.pageSize" :total="getCustomerGradeFrom.total" ></pagination>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</el-col> </el-col>
...@@ -378,7 +392,7 @@ import { ...@@ -378,7 +392,7 @@ import {
getCustomerSelect, getCustomerSelect,
getBrankByCustomer, getBrankByCustomer,
levelLogPage, levelLogPage,
customerCreditLogPage customerCreditLogPage, infoListOrderPage, infoListOfferPage, orderStatistics
} from '@/api/ecw/customer' } from '@/api/ecw/customer'
import { DICT_TYPE, getDictDataLabel } from '@/utils/dict' import { DICT_TYPE, getDictDataLabel } from '@/utils/dict'
import { getProductTypeList } from '@/api/ecw/productType' import { getProductTypeList } from '@/api/ecw/productType'
...@@ -389,6 +403,7 @@ import CustomerComplaint from '@/views/ecw/customerComplaint' ...@@ -389,6 +403,7 @@ import CustomerComplaint from '@/views/ecw/customerComplaint'
import { listServiceUser } from '@/api/system/user' import { listServiceUser } from '@/api/system/user'
import { getCustomerContactsListByCustomer } from '@/api/ecw/customerContacts' import { getCustomerContactsListByCustomer } from '@/api/ecw/customerContacts'
import {getOrderPage} from "@/api/ecw/order"; import {getOrderPage} from "@/api/ecw/order";
import Template from "@/views/cms/template";
export default { export default {
name: 'query', name: 'query',
...@@ -396,6 +411,7 @@ export default { ...@@ -396,6 +411,7 @@ export default {
customerId: String customerId: String
}, },
components: { components: {
Template,
CustomerFollow, CustomerFollow,
CustomerComplaint CustomerComplaint
}, },
...@@ -424,9 +440,20 @@ export default { ...@@ -424,9 +440,20 @@ export default {
this.getCustomerGrade() this.getCustomerGrade()
this.creditLogPage() this.creditLogPage()
this.getorderList() this.getorderList()
this.getInfoListOfferPage()
this.getOrderStatistics()
}, },
data() { data() {
return { return {
STATUS:{
0:'取消报价',
1:'特价审批中',
2:'需求确认',
3:'跟进中',
4:'赢单',
5:'输单',
6:'报价完成'
},
dialogVisible:false, dialogVisible:false,
DICT_TYPE, DICT_TYPE,
getDictDataLabel, getDictDataLabel,
...@@ -480,23 +507,31 @@ export default { ...@@ -480,23 +507,31 @@ export default {
brandAuthorizationList:[], brandAuthorizationList:[],
brandAuthorizationTotal:0, brandAuthorizationTotal:0,
getCustomerGradeFrom:{ getCustomerGradeFrom:{
page:1, pageNo:1,
rows:10, pageSize:10,
total:0 total:0
}, },
getCustomerGradeList:[], getCustomerGradeList:[],
customerCreditLogFrom:{ customerCreditLogFrom:{
page:1, pageNo:1,
rows:10, pageSize:10,
total: 0, total:0
}, },
customerCreditLogList:[], customerCreditLogList:[],
rucangtime:[],
queryParams:{ queryParams:{
rows:10, pageSize:10,
page:1 pageNo:1
}, },
orderList:[], orderList:[],
orderTotal:0 orderTotal:0,
infoListOfferFrom:{
pageNo:1,
pageSize:10,
},
infoListOfferTotal:0,
infoListOfferList:[],
orderStatisticsObj:{}
} }
}, },
computed: { computed: {
...@@ -519,34 +554,66 @@ export default { ...@@ -519,34 +554,66 @@ export default {
} }
}, },
methods:{ methods:{
changeDate(val){
if(val){
this.queryParams.houseStartDate = val[0];
this.queryParams.houseEndDate = val[1];
}else {
this.queryParams.houseStartDate = undefined;
this.queryParams.houseEndDate = undefined;
}
},
//品牌授权
getBrankByCustomerList(){ getBrankByCustomerList(){
getBrankByCustomer({...this.brandAuthorizationFrom,customerId:this.id}).then(r => {this.brandAuthorizationList = r.data.list; this.brandAuthorizationTotal = r.data.total}) getBrankByCustomer({...this.brandAuthorizationFrom,customerId:this.id}).then(r => {this.brandAuthorizationList = r.data.list; this.brandAuthorizationTotal = r.data.total})
}, },
getCustomerGrade(){ getCustomerGrade(){
levelLogPage({...this.getCustomerGradeFrom,customerId:this.id}).then(r => { levelLogPage({...this.getCustomerGradeFrom,customerId:this.id,total:undefined}).then(r => {
console.log(r) console.log(r,'客户等级');
if(r.code === 0){ if(r.code === 0){
this.getCustomerGradeList = r.data.list; this.getCustomerGradeList = r.data.list;
this.getCustomerGradeFrom.total = r.data.total; this.getCustomerGradeFrom.total = r.data.total;
} }
}) })
}, },
// 获取信用等级日志列表
creditLogPage(){ creditLogPage(){
customerCreditLogPage({...this.customerCreditLogFrom,customerId:this.id}).then(r => { customerCreditLogPage({...this.customerCreditLogFrom,customerId:this.id}).then(r => {
if(r.code === 0){ if(r.code === 0){
console.log(r,'r');
this.customerCreditLogList = r.data.list; this.customerCreditLogList = r.data.list;
this.customerCreditLogFrom.total = r.data.total; this.customerCreditLogFrom.total = r.data.total;
} }
}) })
}, },
//订单
getorderList(){ getorderList(){
getOrderPage({consignorId:this.id,...this.queryParams}).then(r => { infoListOrderPage({customerId:this.id,...this.queryParams}).then(r => {
console.log(r) console.log(r)
if(r.code === 0){ if(r.code === 0){
this.orderList = r.data.list this.orderList = r.data.list
this.orderTotal = r.data.total this.orderTotal = r.data.total
} }
}) })
},
// 客户报价
getInfoListOfferPage(){
infoListOfferPage({...this.infoListOfferFrom,customerId:this.id}).then(r => {
console.log(r,'报价')
this.infoListOfferList = r.data.list;
this.infoListOfferTotal = r.data.total;
}).catch(r => {
console.log(r,'报价')
})
},
// 数据
getOrderStatistics(){
orderStatistics({customerId:this.id}).then(r => {
console.log(r,'数据')
if(r.code === 0){
this.orderStatisticsObj = r.data
}
})
} }
} }
} }
......
...@@ -86,6 +86,7 @@ ...@@ -86,6 +86,7 @@
v-hasPermi="['ecw:customer-complaint:update']" v-show="scope.row.status != 3">处理</el-button> v-hasPermi="['ecw:customer-complaint:update']" v-show="scope.row.status != 3">处理</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:customer-complaint:delete']">删除</el-button> v-hasPermi="['ecw:customer-complaint:delete']">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleSee(scope.row)">查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -96,66 +97,103 @@ ...@@ -96,66 +97,103 @@
<!-- 对话框(添加 / 修改) --> <!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="客户名称" prop="customerId"> <div class="formShow">
<el-select v-model="form.customerId" placeholder="请选择客户名称" :disabled="!!customerId" filterable> <div>
<el-option <el-form-item label="客户名称" prop="customerId">
v-for="item in customerSelect" <el-select v-model="form.customerId" placeholder="请选择客户名称" :disabled="!!customerId" filterable>
:key="item.id" <el-option
:label="item.name" v-for="item in customerSelect"
:value="item.id"></el-option> :key="item.id"
</el-select> :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="投诉类型" prop="type">
<el-select v-model="form.type" placeholder="请选择投诉类型">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_COMPLAINT_TYPE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="订单号" prop="orderId">
<el-select
v-model="form.orderId"
filterable
remote
placeholder="请输入订单号"
:remote-method="getOrderList"
:loading="loading">
<el-option
v-for="item in orderList"
:key="item.value"
:label="item.value"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="提单号" prop="ladingbillId">
<el-select
v-model="form.ladingbillId"
filterable
remote
placeholder="请输入提单号"
:remote-method="getBillList"
:loading="loading">
<el-option
v-for="item in billList"
:key="item.value"
:label="item.value"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
<div v-if="form.id">
<el-form-item label="投诉时间">
<span>{{parseTime(form.createTime)}}</span>
</el-form-item>
<el-form-item label="投诉状态">
<dict-selector :type="DICT_TYPE.CUSTOMER_COMPLAINT_STATUS" :disabled="true" form-type="radio" v-model="form.status" :filter="(e) => e.value == '1' ||e.value == '2' || e.value == '3'"
:formatter="Number"></dict-selector>
</el-form-item>
</div>
</div>
<el-form-item label="投诉内容" prop="content">
<el-input v-model="form.content" type="textarea" placeholder="请输入内容" />
</el-form-item> </el-form-item>
<el-form-item label="投诉类型" prop="type"> <el-form-item v-show="form.status == '2'||form.status == '3'" label="查明原因" required>
<el-select v-model="form.type" placeholder="请选择投诉类型"> <el-input type="textarea" placeholder="请输入查明原因" v-model="form.ascertainReason"></el-input>
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_COMPLAINT_TYPE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="订单号" prop="orderId"> <el-form-item v-show="form.status == '2'||form.status == '3'" label="处理方案">
<el-select <el-input v-model="form.plan" placeholder="请输入处理方案"></el-input>
v-model="form.orderId"
filterable
remote
placeholder="请输入订单号"
:remote-method="getOrderList"
:loading="loading">
<el-option
v-for="item in orderList"
:key="item.value"
:label="item.value"
:value="item.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="提单号" prop="ladingbillId">
<el-select <el-form-item v-show="form.status == '3'" label="处理结果" required>
v-model="form.ladingbillId" <el-input type="textarea" placeholder="请输入处理结果" v-model="form.result"></el-input>
filterable
remote
placeholder="请输入提单号"
:remote-method="getBillList"
:loading="loading">
<el-option
v-for="item in billList"
:key="item.value"
:label="item.value"
:value="item.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="投诉内容" prop="content"> <el-form-item v-show="form.status == '3'" label="赔付金额">
<el-input v-model="form.content" type="textarea" placeholder="请输入内容" /> <el-input v-model="form.indemnity" placeholder="请输入赔付金额">
<dict-selector
defaultable
style="width: 110px"
placeholder="请选择货币单位"
slot="append"
v-model="form.currencyUnit"
:type="DICT_TYPE.COMMISSION_CURRENCY_TYPE"></dict-selector>
</el-input>
</el-form-item>
<el-form-item v-show="form.status == '3'" label="处理时间" required>
<span>{{parseTime(form.handleAt)}}</span>
</el-form-item> </el-form-item>
<el-form-item label="处理状态" prop="status"> <!-- <el-form-item label="处理状态" prop="status" v-if="form.id">
<span v-if="!form.id">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_COMPLAINT_STATUS, 1) }}</span> <span v-if="!form.id">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_COMPLAINT_STATUS, 1) }}</span>
<el-select v-else v-model="form.status" placeholder="请选择处理状态"> <el-select v-else v-model="form.status" placeholder="请选择处理状态">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_COMPLAINT_STATUS)" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_COMPLAINT_STATUS)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" /> :key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select> </el-select>
</el-form-item> </el-form-item> -->
</el-form> </el-form>
<customer-follow v-if="!!this.form.id" :id="form.id" :customer-id="form.customerId"></customer-follow> <!-- <customer-follow v-if="!!this.form.id" :id="form.id" :customer-id="form.customerId"></customer-follow> -->
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
...@@ -163,24 +201,79 @@ ...@@ -163,24 +201,79 @@
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :title="title" :visible.sync="openCustomer" width="900px" append-to-body>
<el-form ref="form" :model="form" label-width="80px">
<div class="formShow">
<div>
<el-form-item label="客户名称:">
<div>{{ formatCustomerName(form.customerId) }}</div>
</el-form-item>
<el-form-item label="投诉类型:">
<dict-tag :type="DICT_TYPE.CUSTOMER_COMPLAINT_TYPE" :value="form.type" />
</el-form-item>
<el-form-item label="订单号:" prop="orderId" >
<div>{{form.orderId}}</div>
</el-form-item>
<el-form-item label="提单号:" prop="ladingbillId" >
<div>{{form.ladingbillId||'无'}}</div>
</el-form-item>
</div>
<div>
<el-form-item label="投诉时间:">
<span>{{parseTime(form.createTime)}}</span>
</el-form-item>
<el-form-item label="投诉状态:">
<dict-tag :type="DICT_TYPE.CUSTOMER_COMPLAINT_STATUS" :value="form.status" />
</el-form-item>
</div>
</div>
<el-form-item label="投诉内容:" >
<div>{{form.content||'无'}}</div>
</el-form-item>
<el-form-item v-show="form.status == '2'||form.status == '3'" label="查明原因:" prop="ascertainReason" >
<div>{{form.ascertainReason||'无'}}</div>
</el-form-item>
<el-form-item v-show="form.status == '2'||form.status == '3'" label="处理方案:" prop="plan" >
<div>{{form.plan||'无'}}</div>
</el-form-item>
<el-form-item v-show="form.status == '3'" label="处理结果:" prop="result" >
<div>{{form.result||'无'}}</div>
</el-form-item>
<el-form-item v-show="form.status == '3'" label="赔付金额:">
<span>{{form.indemnity||0}}</span>
<dict-tag :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" :value="form.currencyUnit"></dict-tag>
</el-form-item>
<el-form-item v-show="form.status == '3'" label="处理时间:">
<span>{{parseTime(form.handleAt)}}</span>
</el-form-item>
</el-form>
<customer-follow v-if="!!this.form.id" :id="form.id" :customer-id="form.customerId"></customer-follow>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="openCustomer=false">确 定</el-button>
</div>
</el-dialog>
<el-dialog <el-dialog
title="提示" title="提示"
:visible.sync="handle.dialogVisible" :visible.sync="handle.dialogVisible"
width="30%" width="30%"
> >
<el-form ref="form" :model="form" label-width="80px"> <el-form ref="form" :model="form" label-width="80px" :rules="rules">
<el-form-item label="投诉类型"> <el-form-item label="投诉类型">
<dict-selector :type="DICT_TYPE.CUSTOMER_COMPLAINT_STATUS" form-type="radio" v-model="form.status" <dict-selector :type="DICT_TYPE.CUSTOMER_COMPLAINT_STATUS" form-type="radio" v-model="form.status"
:filter="(e) => e.value == '2' || e.value == '3'" :formatter="Number"></dict-selector> :filter="(e) => e.value == '2' || e.value == '3'" :formatter="Number"></dict-selector>
</el-form-item> </el-form-item>
<el-form-item v-show="form.status == '2'" label="查明原因" required> <el-form-item v-show="form.status == '2'" label="查明原因" required prop="ascertainReason">
<el-input type="textarea" placeholder="请输入查明原因" v-model="form.ascertainReason"></el-input> <el-input type="textarea" placeholder="请输入查明原因" v-model="form.ascertainReason"></el-input>
</el-form-item> </el-form-item>
<el-form-item v-show="form.status == '2'" label="处理方案"> <el-form-item v-show="form.status == '2'" label="处理方案">
<el-input v-model="form.plan" placeholder="请输入处理方案"></el-input> <el-input v-model="form.plan" placeholder="请输入处理方案"></el-input>
</el-form-item> </el-form-item>
<el-form-item v-show="form.status == '3'" label="处理结果" required> <el-form-item v-show="form.status == '3'" label="处理结果" required prop="result">
<el-input type="textarea" placeholder="请输入处理结果" v-model="form.result"></el-input> <el-input type="textarea" placeholder="请输入处理结果" v-model="form.result"></el-input>
</el-form-item> </el-form-item>
<el-form-item v-show="form.status == '3'" label="赔付金额"> <el-form-item v-show="form.status == '3'" label="赔付金额">
...@@ -194,8 +287,8 @@ ...@@ -194,8 +287,8 @@
:type="DICT_TYPE.COMMISSION_CURRENCY_TYPE"></dict-selector> :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE"></dict-selector>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item v-show="form.status == '3'" label="处理时间" required> <el-form-item v-show="form.status == '3'" label="处理时间" required prop="handleAt">
<el-date-picker type="datetime" v-model="form.handleAt" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" v-model="form.handleAt" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
...@@ -246,6 +339,7 @@ export default { ...@@ -246,6 +339,7 @@ export default {
title: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
openCustomer:false,
dateRangeCreateTime: [], dateRangeCreateTime: [],
// 查询参数 // 查询参数
queryParams: { queryParams: {
...@@ -266,6 +360,9 @@ export default { ...@@ -266,6 +360,9 @@ export default {
customerId: [{ required: true, message: "客户名称不能为空", trigger: "change" }], customerId: [{ required: true, message: "客户名称不能为空", trigger: "change" }],
type: [{ required: true, message: "投诉类型不能为空", trigger: "change" }], type: [{ required: true, message: "投诉类型不能为空", trigger: "change" }],
content: [{ required: true, message: "投诉内容不能为空", trigger: "blur" }], content: [{ required: true, message: "投诉内容不能为空", trigger: "blur" }],
ascertainReason: [{ required: true, message: "查明原因不能为空", trigger: "blur" }],
result: [{ required: true, message: "处理结果不能为空", trigger: "blur" }],
handleAt: [{ required: true, message: "处理时间不能为空", trigger: "blur" }],
}, },
myFollowCustomerList: [], myFollowCustomerList: [],
...@@ -362,6 +459,17 @@ export default { ...@@ -362,6 +459,17 @@ export default {
// 新增客诉默认状态为待处理 // 新增客诉默认状态为待处理
this.form.status = 1; this.form.status = 1;
}, },
/** 查看按钮操作 */
handleSee(row) {
this.reset();
const id = row.id;
getCustomerComplaint(id).then(response => {
this.form = response.data;
this.openCustomer = true;
this.title = "投诉详情";
});
},
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
...@@ -383,6 +491,8 @@ export default { ...@@ -383,6 +491,8 @@ export default {
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
console.log(valid)
console.log(this.form.handleAt)
if (!valid) { if (!valid) {
return; return;
} }
...@@ -442,3 +552,11 @@ export default { ...@@ -442,3 +552,11 @@ export default {
} }
}; };
</script> </script>
<style scoped>
.formShow{
display: flex;
}
.formShow div{
flex: 1;
}
</style>
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<el-dialog :before-close="()=>{$emit('update:show',false) <el-dialog :before-close="()=>{$emit('update:show',false)
}" center width="80%" :visible.sync="show"> }" center width="80%" :visible.sync="show">
<div class="content"> <div class="content">
<h1>{{orderNo}} 特需</h1>
<el-form label-width="180px" label-position="left"> <el-form label-width="180px" label-position="left">
<el-form-item label="特殊要求"> <el-form-item label="特殊要求">
<el-checkbox-group v-model="advanceType"> <el-checkbox-group v-model="advanceType">
...@@ -40,6 +41,7 @@ export default { ...@@ -40,6 +41,7 @@ export default {
orderId:{ orderId:{
type:[String,Number], type:[String,Number],
}, },
orderNo:[String,Number],
show:Boolean, show:Boolean,
}, },
computed:{ computed:{
......
...@@ -9,17 +9,17 @@ ...@@ -9,17 +9,17 @@
<el-option :label="$t('处理时间')" value="2"/> <el-option :label="$t('处理时间')" value="2"/>
</el-select> </el-select>
<el-date-picker clearable v-model="queryParams.beginCreateTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择开始日期')" /> <el-date-picker clearable v-model="queryParams.beginCreateTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择开始日期')" />
<span>{{$t('')}}</span> <span style="margin: 0 8px;">{{$t('')}}</span>
<el-date-picker clearable v-model="queryParams.endCreateTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择结束日期')" /> <el-date-picker clearable v-model="queryParams.endCreateTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择结束日期')" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('始发地:')"> <el-form-item :label="$t('始发地:')">
<el-select v-model="queryParams.originId" :placeholder="$t('请选择始发地')"> <el-select v-model="queryParams.originId" :placeholder="$t('请选择始发地')">
<el-option v-for="item in expoerCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in expoerCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('目的地:')" > <el-form-item :label="$t('目的地:')" >
<el-select v-model="queryParams.destinationId" :placeholder="$t('请选择目的地')"> <el-select v-model="queryParams.destinationId" :placeholder="$t('请选择目的地')">
<el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id" ></el-option> <el-option v-for="item in importCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id" ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('运输方式:')" > <el-form-item :label="$t('运输方式:')" >
......
...@@ -62,7 +62,9 @@ ...@@ -62,7 +62,9 @@
<work-flow xmlkey="free_apply" v-model="selectedUsers" /> <work-flow xmlkey="free_apply" v-model="selectedUsers" />
</div> </div>
<div style="text-align: center;margin-top: 20px;"> <div style="text-align: center;margin-top: 20px;">
<el-button style="margin-right: 30px;" @click="submit">提交</el-button> <el-button v-if="!IsExamine" style="margin-right: 30px;" @click="submit">提交</el-button>
<el-button v-if="IsExamine" style="margin-right: 30px;" @click="examineFn">审核中</el-button>
<el-button v-if="IsExamine" style="margin-right: 30px;" @click="cancel">取消审核</el-button>
<el-button>取消</el-button> <el-button>取消</el-button>
</div> </div>
</div> </div>
...@@ -71,7 +73,13 @@ ...@@ -71,7 +73,13 @@
</template> </template>
<script> <script>
import {getOrder, feeApplicationCreate, ApplicationListByOrderId, applicationUpdate} from "@/api/ecw/order"; import {
getOrder,
feeApplicationCreate,
ApplicationListByOrderId,
applicationUpdate,
feeApplicationListByOrderId, feeApplicationCancel
} from "@/api/ecw/order";
import { getDictDatas, DICT_TYPE } from '@/utils/dict'; import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import Template from "@/views/cms/template"; import Template from "@/views/cms/template";
import workFlow from "@/components/WorkFlow"; import workFlow from "@/components/WorkFlow";
...@@ -108,6 +116,9 @@ export default { ...@@ -108,6 +116,9 @@ export default {
return (row)=>{ return (row)=>{
return this.list.findIndex(e => e.id = row.id) return this.list.findIndex(e => e.id = row.id)
} }
},
IsExamine(){
return this.list.some(e => e.status === 1)
} }
}, },
methods:{ methods:{
...@@ -163,8 +174,28 @@ export default { ...@@ -163,8 +174,28 @@ export default {
}, },
modify(row){ modify(row){
this.isModifyIf = true; this.isModifyIf = true;
this.$set(this.isModify, this.list.findIndex(e => e.id = row.id), false ) this.$set(this.isModify, this.list.findIndex(e => e.id = row.id), false )
},
examineFn(){
let item = this.list.find(e => e.status === 1);
this.$router.push({path:'/bpm/process-instance/detail',query:{id:item.bpmProcessId}})
}, },
cancel(){
this.$prompt('请输入取消原因', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(({ value }) => {
let item = this.list.find(e => e.status === 1);
feeApplicationCancel({huifu:value,bpmProcessId:item.bpmProcessId}).then(r => {
this.$message({
type: 'success',
message:'取消成功'
});
this.$emit('update:dialogVisible',false)
})
}).catch(() => {
});
}
}, },
watch:{ watch:{
dialogVisible(val){ dialogVisible(val){
......
...@@ -131,12 +131,12 @@ ...@@ -131,12 +131,12 @@
<el-form :model="handlerParams" ref="queryForms" size="small" :inline="true" label-width="120px" class="card"> <el-form :model="handlerParams" ref="queryForms" size="small" :inline="true" label-width="120px" class="card">
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'"> <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('订单总金额:')"> <el-form-item :label="$t('订单总金额:')">
{{orderFee.totalAmount||0}} <span style="margin-left: 8px;" v-for="(item, key) of orderFee.totalAmountList">{{item}}{{key}}</span>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'"> <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('应付预付金额:')"> <el-form-item :label="$t('应付预付金额:')">
{{orderFee.totalPaymentAmount}} <span style="margin-left: 8px;" v-for="(item, key) of orderFee.totalPaymentAmount">{{item}}{{key}}</span>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'"> <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
...@@ -186,7 +186,7 @@ ...@@ -186,7 +186,7 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'"> <el-row v-if="orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'">
<el-form-item :label="$t('*处理结果:')" > <el-form-item :label="$t('处理结果:')" required>
<el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择"> <el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择">
<el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')" <el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
...@@ -216,12 +216,12 @@ ...@@ -216,12 +216,12 @@
</el-row> </el-row>
<el-row > <el-row >
<el-form-item :label="$t('状态:')"> <el-form-item :label="$t('状态:')">
<el-radio v-model="handlerParams.orderExceptionStatus" label="1">处理中</el-radio> <el-radio v-model="handlerParams.orderExceptionStatus" label="1">{{$t('处理中')}}</el-radio>
<el-radio v-model="handlerParams.orderExceptionStatus" label="2">已处理</el-radio> <el-radio v-model="handlerParams.orderExceptionStatus" label="2">{{$t('已处理')}}</el-radio>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('*查明原因:')"> <el-form-item :label="$t('查明原因:')" required>
<el-select v-model="handlerParams.orderExceptionHandlerResult"> <el-select v-model="handlerParams.orderExceptionHandlerResult">
<el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')" <el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
...@@ -356,6 +356,7 @@ ...@@ -356,6 +356,7 @@
submitForm(){ submitForm(){
if(!this.handlerParams.orderExceptionHandlerResult){ if(!this.handlerParams.orderExceptionHandlerResult){
this.$modal.msgError(this.$t('请选择处理结果')); this.$modal.msgError(this.$t('请选择处理结果'));
return
} }
handlerExceptionByExceptionId(this.handlerParams).then(res=>{ handlerExceptionByExceptionId(this.handlerParams).then(res=>{
this.$modal.msgSuccess(this.$t('提交成功')); this.$modal.msgSuccess(this.$t('提交成功'));
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="新运费" required style="width: 400px"> <el-form-item label="新运费" required style="width: 400px">
<el-input v-model="form.freight" type="number"> <el-input v-model="form.freight" type="number" class="input-with-select">
<el-select v-model="form.freightCurrency" placeholder="请选择" slot="prepend" style="width: 100px"> <el-select v-model="form.freightCurrency" placeholder="请选择" slot="prepend" style="width: 100px">
<el-option <el-option
v-for="item in currencyList" v-for="item in currencyList"
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="新清关费" required style="width: 400px"> <el-form-item label="新清关费" required style="width: 400px">
<el-input v-model="form.clearanceFreight" type="number"> <el-input v-model="form.clearanceFreight" type="number" class="input-with-select">
<el-select v-model="form.clearanceFreightCurrency" placeholder="请选择" slot="prepend" style="width: 100px"> <el-select v-model="form.clearanceFreightCurrency" placeholder="请选择" slot="prepend" style="width: 100px">
<el-option <el-option
v-for="item in currencyList" v-for="item in currencyList"
...@@ -286,6 +286,10 @@ export default { ...@@ -286,6 +286,10 @@ export default {
} }
</script> </script>
<style scoped> <style scoped lang="scss">
::v-deep .input-with-select {
.el-input-group__prepend, .el-input-group__append {
background-color: #fff;
}
}
</style> </style>
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
体积:{{ row.warehouseInInfoVO.volume }}<br> 体积:{{ row.warehouseInInfoVO.volume }}<br>
重量:{{ row.warehouseInInfoVO.weight }}Kg 重量:{{ row.warehouseInInfoVO.weight }}Kg
</template> </template>
<span v-else>展示没有入库信息</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -87,9 +88,9 @@ ...@@ -87,9 +88,9 @@
</el-table> </el-table>
<div style="text-align: center;margin-top: 80px"> <div style="text-align: center;margin-top: 80px">
<el-button type="primary" @click="toweight">申请重货优惠</el-button> <el-button type="primary" @click="toweight" v-if="hasWarehouseInInfo && order.transportId === 1">申请重货优惠</el-button>
<el-button type="primary" @click="tolight" >申请泡货优惠</el-button> <el-button type="primary" @click="tolight" v-if="hasWarehouseInInfo && order.transportId === 2">申请泡货优惠</el-button>
<el-button type="primary">关闭窗口</el-button> <el-button type="primary" @click="$tab.closePage()">关闭窗口</el-button>
</div> </div>
</el-card> </el-card>
</div> </div>
...@@ -133,6 +134,7 @@ export default { ...@@ -133,6 +134,7 @@ export default {
unitList:[], unitList:[],
currencyList:[], currencyList:[],
productAttrList:[], productAttrList:[],
hasWarehouseInInfo: false
}; };
}, },
created() { created() {
...@@ -150,6 +152,11 @@ export default { ...@@ -150,6 +152,11 @@ export default {
getOrder(this.orderId).then(response => { getOrder(this.orderId).then(response => {
this.loading = false this.loading = false
this.order = response.data this.order = response.data
this.order.orderItemVOList.forEach(e => {
if (e.warehouseInInfoVO){
this.hasWarehouseInInfo = true
}
})
}) })
}, },
toweight(){ toweight(){
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row :span="8" > <el-row :span="8" >
<el-form-item :label="$t('*现泡货申请标准:')" size="medium" label-width="150px"> <el-form-item :label="$t('现泡货申请标准:')" size="medium" label-width="150px" required>
<el-input style="width: 100px;" type="text" v-model="queryParams.vweight" /> <el-input style="width: 100px;" type="text" v-model="queryParams.vweight" />
<span style="margin-left: 10px;">kg/cbm</span> <span style="margin-left: 10px;">kg/cbm</span>
</el-form-item> </el-form-item>
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row :span="8" > <el-row :span="8" >
<el-form-item :label="$t('*现重货申请标准:')" size="medium" label-width="150px"> <el-form-item :label="$t('现重货申请标准:')" size="medium" label-width="150px" required>
<el-input style="width: 100px;" type="text" v-model="queryParams.wvolume" /> <el-input style="width: 100px;" type="text" v-model="queryParams.wvolume" />
<span style="margin-left: 10px;">kg/cbm</span> <span style="margin-left: 10px;">kg/cbm</span>
</el-form-item> </el-form-item>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<span class="card-title">{{$t('原单信息')}}</span> <span class="card-title">{{$t('原单信息')}}</span>
<div> <div>
<span v-if="orderData.abnormalState!=0" class="red">{{$t('异常无法拆单')}}</span> <span v-if="orderData.abnormalState!=0" class="red">{{$t('异常无法拆单')}}</span>
<el-button v-else type="primary" @click="addSplit">{{$t('新建拆单')}} </el-button> <el-button v-else type="primary" @click="addSplit" :disabled="orderData.inWarehouseState==207">{{$t('新建拆单')}} </el-button>
</div> </div>
</div> </div>
<el-descriptions :column="4"> <el-descriptions :column="4">
...@@ -133,11 +133,11 @@ ...@@ -133,11 +133,11 @@
</div> </div>
<div> <div>
<el-button v-if="index==0" disabled type="primary" @click="addShop(index)">{{$t('放入')}}</el-button> <el-button v-if="index==0" disabled type="primary" @click="addShop(index)">{{$t('放入')}}</el-button>
<el-button v-if="index!=0" type="primary" @click="addShop(index)">{{$t('移出')}}</el-button> <el-button v-if="index!=0" type="primary" @click="addShop(index)">{{$t('放入')}}</el-button>
<el-button type="primary" plain @click="deleteSplit(item.id)">{{$t('删除')}}</el-button> <el-button type="primary" plain @click="deleteSplit(item.id)">{{$t('删除')}}</el-button>
</div> </div>
</div> </div>
<el-table border :data="item.orderSplitItemBackVOList"> <el-table v-if="item.orderSplitItemBackVOList" border :data="item.orderSplitItemBackVOList">
<el-table-column :label="$t('序号')" align="center" prop="id" type="index"> <el-table-column :label="$t('序号')" align="center" prop="id" type="index">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.$index + 1}}</span> <span>{{scope.$index + 1}}</span>
...@@ -213,23 +213,23 @@ ...@@ -213,23 +213,23 @@
<el-dialog :title="$t('放入品名')" :visible.sync="shopOpen" width="400px" append-to-body> <el-dialog :title="$t('放入品名')" :visible.sync="shopOpen" width="400px" append-to-body>
<el-form ref="shopForm" :model="shopForm" :rules="shopRules" label-width="80px"> <el-form ref="shopForm" :model="shopForm" :rules="shopRules" label-width="80px">
<el-row> <el-row>
<el-form-item :label="$t('中文品名:')"> <el-form-item :label="$t('中文品名:')" v-if="splitData.length>0">
<el-select v-model="shopForm.prodTitleZh" :placeholder="$t('请选择中文品名')" @change="changeProdTitleZh"> <el-select v-model="shopForm.prodTitleZh" :placeholder="$t('请选择中文品名')" @change="changeProdTitleZh">
<el-option v-for="item in orderData.orderItemVOList" :label="item.prodTitleZh" :value="item.prodTitleZh" :key="item.prodTitleZh" ></el-option> <el-option v-for="item in splitData[0].orderSplitItemBackVOList" :label="item.prodTitleZh" :value="item.prodTitleZh" :key="item.prodTitleZh" ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('英文品名:')" > <el-form-item :label="$t('英文品名:')" v-if="splitData.length>0">
<el-select v-model="shopForm.prodTitleEn" :placeholder="$t('请选择英文品名')" @change="changeProdTitleEn"> <el-select v-model="shopForm.prodTitleEn" :placeholder="$t('请选择英文品名')" @change="changeProdTitleEn">
<el-option v-for="item in orderData.orderItemVOList" :label="item.prodTitleEn" :value="item.prodTitleEn" :key="item.prodTitleEn" ></el-option> <el-option v-for="item in splitData[0].orderSplitItemBackVOList" :label="item.prodTitleEn" :value="item.prodTitleEn" :key="item.prodTitleEn" ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('剩余箱数:')"> <el-form-item :label="$t('剩余箱数:')">
{{shopForm.sum||0}} {{shopForm.sum||0}}
</el-form-item> </el-form-item>
<el-form-item :label="$t('放入箱数:')"> <el-form-item :label="$t('放入箱数:')">
<el-input-number v-model="shopForm.num" controls-position="right" :min="1" :max="shopForm.sum"></el-input-number> <el-input-number v-model="shopForm.num" controls-position="right" :min="1" :max="shopForm.sum-1"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item :label="$t('备注信息:')"> <el-form-item :label="$t('备注信息:')">
<el-input v-model="shopForm.remarks"></el-input> <el-input v-model="shopForm.remarks"></el-input>
...@@ -335,6 +335,7 @@ export default { ...@@ -335,6 +335,7 @@ export default {
const tds = document.querySelectorAll( const tds = document.querySelectorAll(
"#table .el-table__footer-wrapper tr>td" "#table .el-table__footer-wrapper tr>td"
); );
console.log(tds)
// colSpan合并列 // colSpan合并列
tds[1].colSpan = 5; tds[1].colSpan = 5;
tds[1].style.textAlign = "left"; tds[1].style.textAlign = "left";
...@@ -453,14 +454,14 @@ export default { ...@@ -453,14 +454,14 @@ export default {
}, },
changeProdTitleZh(){ changeProdTitleZh(){
var list = [] var list = []
list = this.orderData.orderItemVOList.filter(item=>item.prodTitleZh == this.shopForm.prodTitleZh) list = this.splitData[0].orderSplitItemBackVOList.filter(item=>item.prodTitleZh == this.shopForm.prodTitleZh)
this.shopForm.sum = list[0].num this.shopForm.sum = list[0].num
this.shopForm.orderItemId = list[0].orderItemId this.shopForm.orderItemId = list[0].orderItemId
this.shopForm.prodTitleEn = list[0].prodTitleEn this.shopForm.prodTitleEn = list[0].prodTitleEn
}, },
changeProdTitleEn(){ changeProdTitleEn(){
var list = [] var list = []
list = this.orderData.orderItemVOList.filter(item=>item.prodTitleEn == this.shopForm.prodTitleEn) list = this.splitData[0].orderSplitItemBackVOList.filter(item=>item.prodTitleEn == this.shopForm.prodTitleEn)
this.shopForm.sum = list[0].num this.shopForm.sum = list[0].num
this.shopForm.prodTitleZh = list[0].prodTitleZh this.shopForm.prodTitleZh = list[0].prodTitleZh
}, },
...@@ -468,9 +469,11 @@ export default { ...@@ -468,9 +469,11 @@ export default {
let that = this let that = this
if(!that.form.transportId){ if(!that.form.transportId){
that.$message.error(this.$t("请选择运输方式")); that.$message.error(this.$t("请选择运输方式"));
return
} }
if(!that.form.destWarehouseId){ if(!that.form.destWarehouseId){
that.$message.error(this.$t("请选择目的仓库")); that.$message.error(this.$t("请选择目的仓库"));
return
} }
// if(!this.form.channelId){ // if(!this.form.channelId){
// this.$modal.msgError("请选择出货渠道"); // this.$modal.msgError("请选择出货渠道");
...@@ -512,9 +515,9 @@ export default { ...@@ -512,9 +515,9 @@ export default {
}, },
removeShop(id){ removeShop(id){
let that = this let that = this
that.$confirm(this.$t('是否移除货物吗?')).then(function () { that.$confirm(that.$t('是否移除货物吗?')).then(function () {
deleteSplitItem(id).then(res=>{ deleteSplitItem(id).then(res=>{
that.$message.success(this.$t("移除成功")); that.$message.success(that.$t("移除成功"));
that.getList() that.getList()
}) })
}) })
...@@ -522,11 +525,11 @@ export default { ...@@ -522,11 +525,11 @@ export default {
cancelSplit(){ cancelSplit(){
let that = this let that = this
if(!that.reason){ if(!that.reason){
that.$message.error(this.$t("请输入取消原因")); that.$message.error(that.$t("请输入取消原因"));
return return
} }
cancelApply({orderId:that.queryParams.orderId,reason:that.reason}).then(res=>{ cancelApply({orderId:that.queryParams.orderId,reason:that.reason}).then(res=>{
that.$message.success(this.$t("取消成功")); that.$message.success(that.$t("取消成功"));
that.$store.dispatch('tagsView/delCurrentView') that.$store.dispatch('tagsView/delCurrentView')
}) })
}, },
...@@ -537,9 +540,9 @@ export default { ...@@ -537,9 +540,9 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
deleteSplit(id) { deleteSplit(id) {
let that = this let that = this
that.$confirm(this.$t('是否确认删除新拆的订单吗?')).then(function () { that.$confirm(that.$t('是否确认删除新拆的订单吗?')).then(function () {
deleteSplit(id).then(res=>{ deleteSplit(id).then(res=>{
that.$message.success(this.$t("删除成功")); that.$message.success(that.$t("删除成功"));
that.getList() that.getList()
}) })
}) })
......
<template> <template>
<div style="padding: 0 20px"> <div style="padding: 0 20px">
<h1>调拨出仓</h1> <h1>{{type == 1 ? '调拨出仓' :'调拨到仓'}}</h1>
<el-divider content-position="left"> <el-divider content-position="left">
订单信息 订单信息
</el-divider> </el-divider>
...@@ -147,6 +147,7 @@ ...@@ -147,6 +147,7 @@
<script> <script>
import ordeDetailsForm from "@/views/ecw/order/components/ordeDetailsForm"; import ordeDetailsForm from "@/views/ecw/order/components/ordeDetailsForm";
import { import {
cancelAdjust,
getAdjustInfo, getAdjustInfo,
getOrder, listByOrderId, getOrder, listByOrderId,
orderWarehouseInGetAdjustInfo, orderWarehouseInGetAdjustInfo,
...@@ -335,11 +336,17 @@ export default { ...@@ -335,11 +336,17 @@ export default {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
}).then(({ value }) => { }).then(({ value }) => {
warehouseApprovalCancel(this.applyStatus.orderWarehouseApprovalBackVO.id,value) .then(r => { cancelAdjust({
if(r.data){ orderId: this.orderId,
this.$message.success('取消调仓成功') reason: value,
}).then(r => {
console.log(r,'r');
if(r.code === 0){
this.$message({
type: 'info',
message: '取消调仓成功'
});
this.$tab.closeOpenPage({path:'/order/order'}) this.$tab.closeOpenPage({path:'/order/order'})
} }
}) })
}).catch(() => { }).catch(() => {
...@@ -348,7 +355,7 @@ export default { ...@@ -348,7 +355,7 @@ export default {
message: '取消成功' message: '取消成功'
}); });
}); });
} },
}, },
} }
</script> </script>
......
<template> <template>
<div> <div>
<el-dialog <el-dialog
title="入仓-货物入仓" :title="(edit ? '入仓修改' : (warehousing.orderWarehouseInBackItemDoList.length > 0 ? '入仓补充' : '入仓操作')) + '-货物入仓'"
:visible.sync="opened" :visible.sync="opened"
width="960px" width="1080px"
> >
<el-tabs v-model="activeName" type="card" @tab-click="handleTabs"> <el-tabs v-model="activeName" type="card" @tab-click="handleTabs">
<el-tab-pane label="货物入仓" name="first"> <el-tab-pane :label="edit ? '货物修改' : '货物入仓'" name="first">
<el-descriptions border :column="2"> <el-descriptions border :column="2">
<el-descriptions-item label="中文品名">{{ warehousing.prodTitleZh }}</el-descriptions-item> <el-descriptions-item label="中文品名">{{ warehousing.prodTitleZh }}</el-descriptions-item>
<el-descriptions-item label="英文品名">{{ warehousing.prodTitleEn }}</el-descriptions-item> <el-descriptions-item label="英文品名">{{ warehousing.prodTitleEn }}</el-descriptions-item>
...@@ -49,71 +49,96 @@ ...@@ -49,71 +49,96 @@
<el-button style="float: right;margin-left: 15px" size="mini" type="primary" icon="el-icon-minus" circle @click="handleDelete"></el-button> <el-button style="float: right;margin-left: 15px" size="mini" type="primary" icon="el-icon-minus" circle @click="handleDelete"></el-button>
<el-button style="float: right" size="mini" type="primary" icon="el-icon-plus" circle @click="handleAdd()"></el-button> <el-button style="float: right" size="mini" type="primary" icon="el-icon-plus" circle @click="handleAdd()"></el-button>
</div> </div>
<el-table <el-form ref="tableForm" :model="tableData" :rules="tableFormRules" size="mini">
:data="tableData" <el-table
style="width: 100%"> :data="tableData"
<el-table-column label="箱数"> style="width: 100%">
<template v-slot="{r,c,$index}"> <el-table-column label="箱数" width="150px">
<span v-if="tableData[$index].id">{{ tableData[$index].cartonsNum }}</span> <template v-slot="{r,c,$index}">
<el-input v-else v-model="tableData[$index].cartonsNum" placeholder=""></el-input> <el-form-item :rules="tableFormRules.cartonsNum" :prop="$index + '.cartonsNum'">
<span>{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData[$index].unit) }}</span> <span v-if="tableData[$index].id">
</template> {{ tableData[$index].cartonsNum }}
</el-table-column> {{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData[$index].unit) }}
<el-table-column label="包装类型"> </span>
<template v-slot="{r,c,$index}"> <el-input v-else v-model="tableData[$index].cartonsNum" placeholder="">
<span v-if="tableData[$index].id">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData[$index].unit) }}</span> <span slot="append">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData[$index].unit) }}</span>
<dict-selector v-else :type="DICT_TYPE.ECW_PACKAGE_TYPE" v-model="tableData[$index].unit"></dict-selector> </el-input>
</template> </el-form-item>
</el-table-column> </template>
<el-table-column label="长(cm)"> </el-table-column>
<template v-slot="{r,c,$index}"> <el-table-column label="包装类型" width="100px">
<span v-if="tableData[$index].id">{{ tableData[$index].boxGauge ? tableData[$index].boxGauge.split('*')[0] : '' }}</span> <template v-slot="{r,c,$index}">
<el-input v-else v-model.number="tableData[$index].boxGauge1" placeholder="" @blur="handleVolume($index)"></el-input> <el-form-item>
</template> <span v-if="tableData[$index].id">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData[$index].unit) }}</span>
</el-table-column> <dict-selector v-else :type="DICT_TYPE.ECW_PACKAGE_TYPE" v-model="tableData[$index].unit"></dict-selector>
<el-table-column label="宽(cm)"> </el-form-item>
<template v-slot="{r,c,$index}"> </template>
<span v-if="tableData[$index].id">{{ tableData[$index].boxGauge ? tableData[$index].boxGauge.split('*')[1] : '' }}</span> </el-table-column>
<el-input v-else v-model.number="tableData[$index].boxGauge2" placeholder="" @blur="handleVolume($index)"></el-input> <el-table-column label="长(cm)">
</template> <template v-slot="{r,c,$index}">
</el-table-column> <el-form-item :rules="tableFormRules.boxGauge1" :prop="$index + '.boxGauge1'">
<el-table-column label="高(cm)"> <span v-if="tableData[$index].id">{{ tableData[$index].boxGauge ? tableData[$index].boxGauge.split('*')[0] : '' }}</span>
<template v-slot="{r,c,$index}"> <el-input v-else v-model.number="tableData[$index].boxGauge1" placeholder="" @blur="handleVolume($index)"></el-input>
<span v-if="tableData[$index].id">{{ tableData[$index].boxGauge ? tableData[$index].boxGauge.split('*')[2] : '' }}</span> </el-form-item>
<el-input v-else v-model.number="tableData[$index].boxGauge3" placeholder="" @blur="handleVolume($index)"></el-input> </template>
</template> </el-table-column>
</el-table-column> <el-table-column label="宽(cm)">
<el-table-column label="体积(m³)"> <template v-slot="{r,c,$index}">
<template v-slot="{r,c,$index}"> <el-form-item :rules="tableFormRules.boxGauge2" :prop="$index + '.boxGauge2'">
<span v-if="tableData[$index].id">{{ tableData[$index].volume }}</span> <span v-if="tableData[$index].id">{{ tableData[$index].boxGauge ? tableData[$index].boxGauge.split('*')[1] : '' }}</span>
<el-input v-else v-model.number="tableData[$index].volume" placeholder=""></el-input> <el-input v-else v-model.number="tableData[$index].boxGauge2" placeholder="" @blur="handleVolume($index)"></el-input>
</template> </el-form-item>
</el-table-column> </template>
<el-table-column label="重量(Kg)"> </el-table-column>
<template v-slot="{r,c,$index}"> <el-table-column label="高(cm)">
<span v-if="tableData[$index].id">{{ tableData[$index].weight }}</span> <template v-slot="{r,c,$index}">
<el-input v-else v-model.number="tableData[$index].weight" placeholder=""></el-input> <el-form-item :rules="tableFormRules.boxGauge3" :prop="$index + '.boxGauge3'">
</template> <span v-if="tableData[$index].id">{{ tableData[$index].boxGauge ? tableData[$index].boxGauge.split('*')[2] : '' }}</span>
</el-table-column> <el-input v-else v-model.number="tableData[$index].boxGauge3" placeholder="" @blur="handleVolume($index)"></el-input>
<el-table-column label="数量" width="130px"> </el-form-item>
<template v-slot="{r,c,$index}"> </template>
<span v-if="tableData[$index].id">{{ tableData[$index].quantityAll }}</span> </el-table-column>
<el-input v-else v-model.number="tableData[$index].quantityAll" placeholder=""> <el-table-column label="体积(m³)">
<template slot="append"></template> <template v-slot="{r,c,$index}">
</el-input> <el-form-item :rules="tableFormRules.volume" :prop="$index + '.volume'">
</template> <span v-if="tableData[$index].id">{{ tableData[$index].volume }}</span>
</el-table-column> <el-input v-else v-model.number="tableData[$index].volume" placeholder=""></el-input>
<el-table-column label="快递单号"> </el-form-item>
<template v-slot="{r,c,$index}"> </template>
<span v-if="tableData[$index].id">{{ tableData[$index].expressNo }}</span> </el-table-column>
<el-input v-else v-model="tableData[$index].expressNo" placeholder=""></el-input> <el-table-column label="重量(Kg)">
</template> <template v-slot="{r,c,$index}">
</el-table-column> <el-form-item :rules="tableFormRules.weight" :prop="$index + '.weight'">
</el-table> <span v-if="tableData[$index].id">{{ tableData[$index].weight }}</span>
<el-input v-else v-model.number="tableData[$index].weight" placeholder=""></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="数量" width="130px">
<template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.quantityAll" :prop="$index + '.quantityAll'">
<span v-if="tableData[$index].id">{{ tableData[$index].quantityAll }}</span>
<el-input v-else v-model.number="tableData[$index].quantityAll" placeholder="">
<template slot="append"></template>
</el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="快递单号">
<template v-slot="{r,c,$index}">
<el-form-item>
<span v-if="tableData[$index].id">{{ tableData[$index].expressNo }}</span>
<el-input v-else v-model="tableData[$index].expressNo" placeholder=""></el-input>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
</el-card> </el-card>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="添加新品名" name="second"> <el-tab-pane label="添加新品名" name="second" v-if="!edit">
<el-descriptions border :column="2"> <el-descriptions border :column="2">
<el-descriptions-item label="中文品名"> <el-descriptions-item label="中文品名">
<product-selector v-model="form1.prodId" @change="onProductChange"/> <product-selector v-model="form1.prodId" @change="onProductChange"/>
...@@ -155,67 +180,91 @@ ...@@ -155,67 +180,91 @@
<el-button style="float: right;margin-left: 15px" size="mini" type="primary" icon="el-icon-minus" circle @click="handleDelete(1)"></el-button> <el-button style="float: right;margin-left: 15px" size="mini" type="primary" icon="el-icon-minus" circle @click="handleDelete(1)"></el-button>
<el-button style="float: right" size="mini" type="primary" icon="el-icon-plus" circle @click="handleAdd(1)"></el-button> <el-button style="float: right" size="mini" type="primary" icon="el-icon-plus" circle @click="handleAdd(1)"></el-button>
</div> </div>
<el-table <el-form ref="tableForm1" :model="tableData1" :rules="tableFormRules" size="mini">
:data="tableData1" <el-table
style="width: 100%"> :data="tableData1"
<el-table-column label="箱数"> style="width: 100%">
<template v-slot="{r,c,$index}"> <el-table-column label="箱数" width="150px">
<span v-if="tableData1[$index].id">{{ tableData1[$index].cartonsNum }}</span> <template v-slot="{r,c,$index}">
<el-input v-else v-model="tableData1[$index].cartonsNum" placeholder=""></el-input> <el-form-item :rules="tableFormRules.cartonsNum" :prop="$index + '.cartonsNum'">
<span>{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData1[$index].unit) }}</span> <span v-if="tableData1[$index].id">
</template> {{ tableData1[$index].cartonsNum }}
</el-table-column> {{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData1[$index].unit) }}
<el-table-column label="包装类型"> </span>
<template v-slot="{r,c,$index}"> <el-input v-else v-model="tableData1[$index].cartonsNum" placeholder="">
<span v-if="tableData1[$index].id">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData1[$index].unit) }}</span> <span slot="append">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData1[$index].unit) }}</span>
<dict-selector v-else :type="DICT_TYPE.ECW_PACKAGE_TYPE" v-model="tableData1[$index].unit"></dict-selector> </el-input>
</template> </el-form-item>
</el-table-column> </template>
<el-table-column label="长(cm)"> </el-table-column>
<template v-slot="{r,c,$index}"> <el-table-column label="包装类型" width="100px">
<span v-if="tableData1[$index].id">{{ tableData1[$index].boxGauge ? tableData1[$index].boxGauge.split('*')[0] : '' }}</span> <template v-slot="{r,c,$index}">
<el-input v-else v-model.number="tableData1[$index].boxGauge1" placeholder="" @blur="handleVolume($index, 1)"></el-input> <el-form-item>
</template> <span v-if="tableData1[$index].id">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGE_TYPE, tableData1[$index].unit) }}</span>
</el-table-column> <dict-selector v-else :type="DICT_TYPE.ECW_PACKAGE_TYPE" v-model="tableData1[$index].unit"></dict-selector>
<el-table-column label="宽(cm)"> </el-form-item>
<template v-slot="{r,c,$index}"> </template>
<span v-if="tableData1[$index].id">{{ tableData1[$index].boxGauge ? tableData1[$index].boxGauge.split('*')[1] : '' }}</span> </el-table-column>
<el-input v-else v-model.number="tableData1[$index].boxGauge2" placeholder="" @blur="handleVolume($index, 1)"></el-input> <el-table-column label="长(cm)">
</template> <template v-slot="{r,c,$index}">
</el-table-column> <el-form-item :rules="tableFormRules.boxGauge1" :prop="$index + '.boxGauge1'">
<el-table-column label="高(cm)"> <span v-if="tableData1[$index].id">{{ tableData1[$index].boxGauge ? tableData1[$index].boxGauge.split('*')[0] : '' }}</span>
<template v-slot="{r,c,$index}"> <el-input v-else v-model.number="tableData1[$index].boxGauge1" placeholder="" @blur="handleVolume($index, 1)"></el-input>
<span v-if="tableData1[$index].id">{{ tableData1[$index].boxGauge ? tableData1[$index].boxGauge.split('*')[2] : '' }}</span> </el-form-item>
<el-input v-else v-model.number="tableData1[$index].boxGauge3" placeholder="" @blur="handleVolume($index, 1)"></el-input> </template>
</template> </el-table-column>
</el-table-column> <el-table-column label="宽(cm)">
<el-table-column label="体积(m³)"> <template v-slot="{r,c,$index}">
<template v-slot="{r,c,$index}"> <el-form-item :rules="tableFormRules.boxGauge2" :prop="$index + '.boxGauge2'">
<span v-if="tableData1[$index].id">{{ tableData1[$index].volume }}</span> <span v-if="tableData1[$index].id">{{ tableData1[$index].boxGauge ? tableData1[$index].boxGauge.split('*')[1] : '' }}</span>
<el-input v-else v-model.number="tableData1[$index].volume" placeholder=""></el-input> <el-input v-else v-model.number="tableData1[$index].boxGauge2" placeholder="" @blur="handleVolume($index, 1)"></el-input>
</template> </el-form-item>
</el-table-column> </template>
<el-table-column label="重量(Kg)"> </el-table-column>
<template v-slot="{r,c,$index}"> <el-table-column label="高(cm)">
<span v-if="tableData1[$index].id">{{ tableData1[$index].weight }}</span> <template v-slot="{r,c,$index}">
<el-input v-else v-model.number="tableData1[$index].weight" placeholder=""></el-input> <el-form-item :rules="tableFormRules.boxGauge3" :prop="$index + '.boxGauge3'">
</template> <span v-if="tableData1[$index].id">{{ tableData1[$index].boxGauge ? tableData1[$index].boxGauge.split('*')[2] : '' }}</span>
</el-table-column> <el-input v-else v-model.number="tableData1[$index].boxGauge3" placeholder="" @blur="handleVolume($index, 1)"></el-input>
<el-table-column label="数量" width="130px"> </el-form-item>
<template v-slot="{r,c,$index}"> </template>
<span v-if="tableData1[$index].id">{{ tableData1[$index].quantityAll }}</span> </el-table-column>
<el-input v-else v-model.number="tableData1[$index].quantityAll" placeholder=""> <el-table-column label="体积(m³)">
<template slot="append"></template> <template v-slot="{r,c,$index}">
</el-input> <el-form-item :rules="tableFormRules.volume" :prop="$index + '.volume'">
</template> <span v-if="tableData1[$index].id">{{ tableData1[$index].volume }}</span>
</el-table-column> <el-input v-else v-model.number="tableData1[$index].volume" placeholder=""></el-input>
<el-table-column label="快递单号"> </el-form-item>
<template v-slot="{r,c,$index}"> </template>
<span v-if="tableData1[$index].id">{{ tableData1[$index].expressNo }}</span> </el-table-column>
<el-input v-else v-model="tableData1[$index].expressNo" placeholder=""></el-input> <el-table-column label="重量(Kg)">
</template> <template v-slot="{r,c,$index}">
</el-table-column> <el-form-item :rules="tableFormRules.weight" :prop="$index + '.weight'">
</el-table> <span v-if="tableData1[$index].id">{{ tableData1[$index].weight }}</span>
<el-input v-else v-model.number="tableData1[$index].weight" placeholder=""></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="数量" width="130px">
<template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.quantityAll" :prop="$index + '.quantityAll'">
<span v-if="tableData1[$index].id">{{ tableData1[$index].quantityAll }}</span>
<el-input v-else v-model.number="tableData1[$index].quantityAll" placeholder="">
<template slot="append"></template>
</el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="快递单号">
<template v-slot="{r,c,$index}">
<el-form-item>
<span v-if="tableData1[$index].id">{{ tableData1[$index].expressNo }}</span>
<el-input v-else v-model="tableData1[$index].expressNo" placeholder=""></el-input>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
</el-card> </el-card>
</el-tab-pane> </el-tab-pane>
...@@ -229,7 +278,7 @@ ...@@ -229,7 +278,7 @@
<span slot="footer"> <span slot="footer">
<el-button @click="opened = false">关 闭</el-button> <el-button @click="opened = false">关 闭</el-button>
<el-button type="primary" @click="handleSubmit()">提 交</el-button> <el-button type="primary" @click="handleSubmit()">{{ edit ? '确认修改' : '提 交' }}</el-button>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
...@@ -327,6 +376,15 @@ export default { ...@@ -327,6 +376,15 @@ export default {
feeType: 0, feeType: 0,
recordMode: undefined recordMode: undefined
}, },
tableFormRules: {
cartonsNum: [{required: true, message: "箱数不能为空", trigger: "blur"}],
boxGauge1: [{required: true, message: "货物长不能为空", trigger: "blur"}],
boxGauge2: [{required: true, message: "货物宽不能为空", trigger: "blur"}],
boxGauge3: [{required: true, message: "货物高不能为空", trigger: "blur"}],
volume: [{required: true, message: "体积不能为空", trigger: "blur"}],
weight: [{required: true, message: "重量不能为空", trigger: "blur"}],
quantityAll: [{required: true, message: "数量不能为空", trigger: "blur"}]
},
form1: { form1: {
"brand": "", "brand": "",
"brandType": 0, "brandType": 0,
...@@ -378,13 +436,14 @@ export default { ...@@ -378,13 +436,14 @@ export default {
this.form.orderWarehouseInItemDoList = [] this.form.orderWarehouseInItemDoList = []
this.form1.orderWarehouseInItemDoList = [] this.form1.orderWarehouseInItemDoList = []
this.activeName = 'first' this.activeName = 'first'
this.handleAdd()
this.handleAdd(1)
} }
} }
}, },
methods: { methods: {
onProductChange(product){ onProductChange(product){
console.log(product)
this.form1.prodTitleZh = product.titleZh this.form1.prodTitleZh = product.titleZh
this.form1.prodTitleEn = product.titleEn this.form1.prodTitleEn = product.titleEn
}, },
...@@ -420,60 +479,75 @@ export default { ...@@ -420,60 +479,75 @@ export default {
}) })
] ]
if (this.activeName !== "first"){ if (this.activeName !== "first"){
return orderWarehouseIn({ // 添加非填单货物
...this.form1, this.$refs['tableForm1'].validate(valid => {
brandType: this.form1.brand ? 1 : 0, if (!valid) {
orderId: this.warehousing.orderId, return
orderItemId: undefined, }
orderNo: this.warehousing.orderNo, return orderWarehouseIn({
orderWarehouseInItemDoList: this.form1.orderWarehouseInItemDoList.map(e => { ...this.form1,
return { brandType: this.form1.brand ? 1 : 0,
...e, orderId: this.warehousing.orderId,
boxGauge: e.boxGauge1 + '*' + e.boxGauge2 + '*' + e.boxGauge3 orderItemId: undefined,
orderNo: this.warehousing.orderNo,
orderWarehouseInItemDoList: this.form1.orderWarehouseInItemDoList.map(e => {
return {
...e,
boxGauge: e.boxGauge1 + '*' + e.boxGauge2 + '*' + e.boxGauge3
}
})
}).then(r => {
if (r.data) {
this.$message.success('新增入仓成功')
this.handleClose()
} else {
this.$message.success('新增入仓失败')
} }
}) })
}).then(r => {
if (r.data){
this.$message.success('新增入仓成功')
this.handleClose()
}else {
this.$message.success('新增入仓失败')
}
}) })
} } else {
else if (this.edit) this.$refs['tableForm'].validate(valid => {
return orderWarehouseInUpdateApply({ if (!valid) {
...this.form, return
brandType: this.form.brand ? 1 : 0,
orderId: this.warehousing.orderId,
orderItemId: this.warehousing.orderItemId,
orderNo: this.warehousing.orderNo,
"orderWarehouseInUpdateItemDoList": orderWarehouseInItemDoList,
copyUserId: this.selectedUsers
}).then(r => {
if (r.data){
this.$message.success('入仓修改发起成功')
this.handleClose()
}else {
this.$message.success('入仓修改发起失败')
} }
}) if (this.edit) {
else // 入仓修改
return orderWarehouseIn({ return orderWarehouseInUpdateApply({
...this.form, ...this.form,
brandType: this.form.brand ? 1 : 0, brandType: this.form.brand ? 1 : 0,
orderId: this.warehousing.orderId, orderId: this.warehousing.orderId,
orderItemId: this.warehousing.orderItemId, orderItemId: this.warehousing.orderItemId,
orderNo: this.warehousing.orderNo, orderNo: this.warehousing.orderNo,
orderWarehouseInItemDoList "orderWarehouseInUpdateItemDoList": orderWarehouseInItemDoList,
}).then(r => { copyUserId: this.selectedUsers
if (r.data){ }).then(r => {
this.$message.success('入仓成功') if (r.data) {
this.handleClose() this.$message.success('入仓修改发起成功')
}else { this.handleClose()
this.$message.success('入仓失败') } else {
this.$message.success('入仓修改发起失败')
}
})
} else {
// 首次入仓
return orderWarehouseIn({
...this.form,
brandType: this.form.brand ? 1 : 0,
orderId: this.warehousing.orderId,
orderItemId: this.warehousing.orderItemId,
orderNo: this.warehousing.orderNo,
orderWarehouseInItemDoList
}).then(r => {
if (r.data) {
this.$message.success('入仓成功')
this.handleClose()
} else {
this.$message.success('入仓失败')
}
})
} }
}) })
}
}, },
handleClose() { handleClose() {
this.form.orderWarehouseInItemDoList = [] this.form.orderWarehouseInItemDoList = []
...@@ -482,7 +556,7 @@ export default { ...@@ -482,7 +556,7 @@ export default {
handleDelete(val) { handleDelete(val) {
(val === 1 ? this.form1 : this.form).orderWarehouseInItemDoList.pop() (val === 1 ? this.form1 : this.form).orderWarehouseInItemDoList.pop()
}, },
handleAdd(val) { handleAdd(val = 0) {
let cartonsNum = ''; let cartonsNum = '';
if (val !== 1) { if (val !== 1) {
let hasCartonsNum = 0 let hasCartonsNum = 0
...@@ -491,7 +565,8 @@ export default { ...@@ -491,7 +565,8 @@ export default {
}) })
cartonsNum = this.warehousing.num - hasCartonsNum cartonsNum = this.warehousing.num - hasCartonsNum
} }
(val === 1 ? this.form1 : this.form).orderWarehouseInItemDoList.push({ const form = val === 1 ? this.form1 : this.form
form.orderWarehouseInItemDoList.push({
"boxGauge1": "", "boxGauge1": "",
"boxGauge2": "", "boxGauge2": "",
"boxGauge3": "", "boxGauge3": "",
...@@ -569,6 +644,19 @@ export default { ...@@ -569,6 +644,19 @@ export default {
} }
</script> </script>
<style scoped> <style scoped lang="scss">
::v-deep .el-table__cell {
padding-bottom: 0;
.cell {
.el-form-item {
margin-bottom: 16px;
}
.el-form-item__error {
z-index: 1;
padding-top: 0;
top: 32px;
}
}
}
</style> </style>
...@@ -21,14 +21,21 @@ ...@@ -21,14 +21,21 @@
<el-table-column <el-table-column
prop="prodTitleZh" prop="prodTitleZh"
label="品名"> label="品名">
<template v-slot="{row}">
{{ row.prodTitleZh }}<br>
{{ row.prodTitleEn }}
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="填单货物属性"> label="填单货物属性">
<template v-slot="{row}"> <template v-slot="{row}">
品牌:{{ ['无牌', '有牌', '中性'][row.brandType] }}<br> <span v-if="row.isWarehouseInAdd">非填单货物信息</span>
箱数:{{ row.num }}<br> <template v-else>
体积:{{ row.volume }}<br> 品牌:{{ ['无牌', '有牌', '中性'][row.brandType] }}<br>
重量:{{ row.weight }}Kg 箱数:{{ row.num }}<br>
体积:{{ row.volume }}<br>
重量:{{ row.weight }}Kg
</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -40,6 +47,7 @@ ...@@ -40,6 +47,7 @@
体积:{{ row.warehouseInInfoVO.volume }}<br> 体积:{{ row.warehouseInInfoVO.volume }}<br>
重量:{{ row.warehouseInInfoVO.weight }}Kg 重量:{{ row.warehouseInInfoVO.weight }}Kg
</template> </template>
<span v-else>暂无入仓信息</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -78,7 +86,7 @@ ...@@ -78,7 +86,7 @@
</el-table> </el-table>
<h2 v-if="orderSpecialNeeds.length > 0">特殊需求</h2> <h2 v-if="orderSpecialNeeds.length > 0">特殊需求</h2>
<el-form ref="form" :model="form" label-width="180px" style="max-width: 600px;"> <el-form ref="form" :model="form" label-width="120px" style="max-width: 500px;">
<el-form-item :label="item.label" v-for="(item, index) in orderSpecialNeeds" :key="item.value"> <el-form-item :label="item.label" v-for="(item, index) in orderSpecialNeeds" :key="item.value">
<el-input v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoney" :placeholder="'请输入' + item.label"> <el-input v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoney" :placeholder="'请输入' + item.label">
<el-select v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoneyCurrency" placeholder="请选择" slot="append" style="width: 100px"> <el-select v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoneyCurrency" placeholder="请选择" slot="append" style="width: 100px">
...@@ -92,6 +100,18 @@ ...@@ -92,6 +100,18 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<h2>订单数据</h2>
<el-form-item label="总方数" style="width: 300px">
<el-input v-model="form.sumVolume" placeholder="请输入总方数">
<span slot="append"></span>
</el-input>
</el-form-item>
<el-form-item label="总方数量" style="width: 300px">
<el-input v-model="form.sumWeight" placeholder="请输入总数量">
<span slot="append">kg</span>
</el-input>
</el-form-item>
<el-card style="margin-top: 15px;"> <el-card style="margin-top: 15px;">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span style="font-size: 18px">入仓影像</span> <span style="font-size: 18px">入仓影像</span>
...@@ -144,19 +164,6 @@ ...@@ -144,19 +164,6 @@
</span> </span>
</el-dialog> </el-dialog>
<!-- <el-dialog-->
<!-- title="转异常单"-->
<!-- :visible.sync="dialogVisible"-->
<!-- width="30%"-->
<!-- :before-close="handleClose(done)"-->
<!-- >-->
<!-- <span>这是一段信息</span>-->
<!-- <span slot="footer" class="dialog-footer">-->
<!-- <el-button type="primary" @click="dialogVisible = false">确认并完成入仓</el-button>-->
<!-- <el-button @click="dialogVisible = false">取 消</el-button>-->
<!-- </span>-->
<!-- </el-dialog>-->
<print-tag v-if="isShowPrintTag" :order-id="orderId" @close="isShowPrintTag = false"></print-tag> <print-tag v-if="isShowPrintTag" :order-id="orderId" @close="isShowPrintTag = false"></print-tag>
<print-warehouse-receipt v-if="isShowPrint" :order-id="orderId" @close="isShowPrint = false" /> <print-warehouse-receipt v-if="isShowPrint" :order-id="orderId" @close="isShowPrint = false" />
...@@ -197,7 +204,7 @@ export default { ...@@ -197,7 +204,7 @@ export default {
mounted() { mounted() {
if(this.$route.query.id){ if(this.$route.query.id){
this.orderId = parseInt(this.$route.query.id || undefined) this.orderId = parseInt(this.$route.query.id || undefined)
getOrder(this.orderId).then(r => this.order = r.data) this.getOrder()
getOrderWarehouseIn(this.orderId).then(r => this.orderItemList = r.data.reverse()) getOrderWarehouseIn(this.orderId).then(r => this.orderItemList = r.data.reverse())
getSpecialListByOrderId(this.orderId).then(r => this.specialList = r.data) getSpecialListByOrderId(this.orderId).then(r => this.specialList = r.data)
listByOrderId({ orderId: this.orderId }).then(r => this.form.orderLocationCreateReqVOList = r.data) listByOrderId({ orderId: this.orderId }).then(r => this.form.orderLocationCreateReqVOList = r.data)
...@@ -218,7 +225,9 @@ export default { ...@@ -218,7 +225,9 @@ export default {
exceptionUrls:[], exceptionUrls:[],
descZh:'', descZh:'',
manualExceptionType:'', manualExceptionType:'',
urls: [] urls: [],
sumVolume: '',
sumWeight: '',
}, },
currencyList:[], currencyList:[],
order: {}, order: {},
...@@ -233,21 +242,57 @@ export default { ...@@ -233,21 +242,57 @@ export default {
}, },
methods: { methods: {
handleSubmit() { getTowSum(){
let sumVolume = 0
let sumWeight = 0
this.order.orderItemVOList.forEach(e => {
if (e?.warehouseInInfoVO?.volume) sumVolume += e.warehouseInInfoVO.volume
if (e?.warehouseInInfoVO?.weight) sumWeight += e.warehouseInInfoVO.weight
})
this.form.sumVolume = sumVolume
this.form.sumWeight = sumWeight
},
getOrder(){
getOrder(this.orderId).then(r => {
this.order = r.data
this.getTowSum()
})
},
specialHas0(){
let result = false
this.form.orderSpecialNeedReceivableReqVoList.forEach(e => {
if (e.receivableMoney === '0' || e.receivableMoney === ''){
result = true
}
})
return result
},
async handleSubmit() {
if (this.specialHas0()) {
const confirm = await this.$confirm('有特需费用为0或未填写,请问是否继续?', '注意', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning'
})
if (confirm !== 'confirm'){
return
}
}
let p = { let p = {
orderSpecialNeedReceivableReqVoList: this.form.orderSpecialNeedReceivableReqVoList, orderSpecialNeedReceivableReqVoList: this.form.orderSpecialNeedReceivableReqVoList,
"orderLocationCreateReqVOList": this.form.orderLocationCreateReqVOList, "orderLocationCreateReqVOList": this.form.orderLocationCreateReqVOList,
"orderId": this.order.orderId, "orderId": this.order.orderId,
urls: this.form.urls urls: this.form.urls
} }
if(this.escapeBol){ if (this.escapeBol) {
p.exceptionUrls = this.form.exceptionUrls.split(','); p.exceptionUrls = this.form.exceptionUrls.split(',');
p.descZh = this.form.descZh; p.descZh = this.form.descZh;
p.manualExceptionType = this.form.manualExceptionType p.manualExceptionType = this.form.manualExceptionType
} }
orderWarehouseInFinish(p).then(r => { orderWarehouseInFinish(p).then(r => {
if (r.code === 0) { if (r.code === 0) {
this.escapeBol = false; this.escapeBol = false;
this.finishVisible = false
this.$confirm( this.$confirm(
'该订单已成功入仓,是否打印?', '该订单已成功入仓,是否打印?',
'货物已入仓', '货物已入仓',
...@@ -260,6 +305,7 @@ export default { ...@@ -260,6 +305,7 @@ export default {
}).catch(() => { }).catch(() => {
// this.$store.dispatch('tagsView/delVisitedView') // this.$store.dispatch('tagsView/delVisitedView')
this.$message.success('入仓成功') this.$message.success('入仓成功')
this.$tab.closePage()
}) })
} }
}) })
...@@ -284,7 +330,7 @@ export default { ...@@ -284,7 +330,7 @@ export default {
}); });
getOrderWarehouseIn(this.orderId).then(r => this.orderItemList = r.data.reverse()) getOrderWarehouseIn(this.orderId).then(r => this.orderItemList = r.data.reverse())
getOrder(this.orderId).then(r => this.order = r.data) this.getOrder()
}) })
}).catch(() => { }).catch(() => {
...@@ -295,16 +341,16 @@ export default { ...@@ -295,16 +341,16 @@ export default {
watch: { watch: {
warehousingVisible(val) { warehousingVisible(val) {
if (!val){ if (!val){
getOrder(this.orderId).then(r => this.order = r.data) this.getOrder()
getOrderWarehouseIn(this.orderId).then(r => this.orderItemList = r.data.reverse()) getOrderWarehouseIn(this.orderId).then(r => this.orderItemList = r.data.reverse())
} }
}, },
orderSpecialNeeds(val){ orderSpecialNeeds(val){
val.forEach(e => { val.forEach(e => {
this.form.orderSpecialNeedReceivableReqVoList.push( { this.form.orderSpecialNeedReceivableReqVoList.push({
"id": e.id, "id": e.id,
"receivableMoney": '', "receivableMoney": e.transFee || '',
"receivableMoneyCurrency": 3 "receivableMoneyCurrency": e.transCurrency || 3
}) })
}) })
} }
......
...@@ -20,7 +20,9 @@ ...@@ -20,7 +20,9 @@
<work-flow xmlkey="retired_warehouse" v-model="params.copyUserId" /> <work-flow xmlkey="retired_warehouse" v-model="params.copyUserId" />
</div> </div>
<div> <div>
<el-button @click="submit" type="primary" style="margin-right: 20px;">确定退仓</el-button> <el-button v-if="isExamine" @click="submit" type="primary" style="margin-right: 20px;">确定退仓</el-button>
<el-button v-if="!isExamine" @click="$router.push({query:{id:details.formId},path:'/bpm/process-instance/detail'})" type="primary" style="margin-right: 20px;">审核中</el-button>
<el-button v-if="!isExamine" type="primary" style="margin-right: 20px;" @click="cancellationOfOrder">取消审核</el-button>
<el-button @click="$parent.show = false;">不,再考虑考虑</el-button> <el-button @click="$parent.show = false;">不,再考虑考虑</el-button>
</div> </div>
</div> </div>
...@@ -28,8 +30,12 @@ ...@@ -28,8 +30,12 @@
</template> </template>
<!--退仓--> <!--退仓-->
<script> <script>
import {getOrder} from "@/api/ecw/order"; import {cancelAdjust, getOrder} from "@/api/ecw/order";
import {orderWarehouseInDelete} from "@/api/ecw/batchSingleApplication"; import {
getRollbackApprovalInfo,
orderWarehouseInDelete,
warehouseApprovalCancel
} from "@/api/ecw/batchSingleApplication";
import workFlow from "@/components/WorkFlow"; import workFlow from "@/components/WorkFlow";
export default { export default {
...@@ -48,12 +54,25 @@ export default { ...@@ -48,12 +54,25 @@ export default {
orderId:undefined, orderId:undefined,
orderNo:undefined, orderNo:undefined,
reason:'', reason:'',
copyUserId:[] copyUserId:[],
}, },
isExamine:true,
details:{},
} }
}, },
created() { created() {
getOrder(this.orderId).then(r => this.orderDetails = r.data); getOrder(this.orderId).then(r => this.orderDetails = r.data);
getRollbackApprovalInfo({orderId:this.orderId}).then(r => {
console.log(r)
if(r.data.status === 1){
this.details = r.data;
this.isExamine = false;
this.params.reason = JSON.parse(this.details.details).reason
}
})
}, },
methods:{ methods:{
submit(){ submit(){
...@@ -66,6 +85,26 @@ export default { ...@@ -66,6 +85,26 @@ export default {
this.$parent.show = false this.$parent.show = false
} }
}) })
},
cancellationOfOrder(){
this.$prompt('请输入取消审核原因', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(({ value }) => {
warehouseApprovalCancel(this.details.id,value) .then(r => {
if(r.data){
this.$message.success('取消成功')
this.params = {}
this.$parent.show = false
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
});
});
} }
} }
} }
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="`商标${index + 1}商品`"> <el-form-item :label="`商标${index + 1}商品`">
<el-select v-model="form.productIds" :placeholder="`请选择商标{index + 1}商品`" multiple filterable @change="updateValue"> <el-select v-model="form.productIds" :placeholder="`请选择商标${index + 1}商品`" multiple filterable @change="updateValue">
<el-option <el-option
v-for="item in getProductListByTypeId(form.productTypeId)" v-for="item in getProductListByTypeId(form.productTypeId)"
:key="item.id" :key="item.id"
......
...@@ -127,11 +127,11 @@ ...@@ -127,11 +127,11 @@
<el-dialog <el-dialog
title="添加" title="添加"
:visible.sync="addDialog.dialogVisible" :visible.sync="addDialog.dialogVisible"
width="500px"> width="600px">
<el-form ref="form" :model="addDialog.form" label-width="80px"> <el-form ref="form" :model="addDialog.form" label-width="80px">
<el-form-item label="客户名称">{{ addDialog.form.customerName }}</el-form-item> <el-form-item label="客户名称">{{ addDialog.form.customerName }}</el-form-item>
<el-form-item label="授权时间"> <el-form-item label="授权时间">
<el-date-picker <!-- <el-date-picker
v-model="addDialog.dateRange" v-model="addDialog.dateRange"
@chang="handleDatePick" @chang="handleDatePick"
type="daterange" type="daterange"
...@@ -139,7 +139,10 @@ ...@@ -139,7 +139,10 @@
value-format="timestamp" value-format="timestamp"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期"> end-placeholder="结束日期">
</el-date-picker> </el-date-picker> -->
<el-date-picker clearable v-model="addDialog.form.startTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择开始日期')" />
<span style="margin: 0 8px;"></span>
<el-date-picker clearable v-model="addDialog.form.endTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择结束日期')" />
</el-form-item> </el-form-item>
<el-form-item label="收费模式"> <el-form-item label="收费模式">
<dict-selector v-model="addDialog.form.feeScale" :type="DICT_TYPE.BRAND_CUSTOMER_CHARGING_MODEL"></dict-selector> <dict-selector v-model="addDialog.form.feeScale" :type="DICT_TYPE.BRAND_CUSTOMER_CHARGING_MODEL"></dict-selector>
...@@ -247,7 +250,7 @@ export default { ...@@ -247,7 +250,7 @@ export default {
"customerContactsId": 0, "customerContactsId": 0,
"customerId": 0, "customerId": 0,
"endTime": "", "endTime": "",
"feeScale": 1, "feeScale": 0,
"fileUrl": "", "fileUrl": "",
"productBrandId": null, "productBrandId": null,
"startTime": "", "startTime": "",
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="站内信来源" prop="fromId">--> <!-- <el-form-item label="来源" prop="fromId">-->
<!-- <el-input v-model="queryParams.fromId" placeholder="请输入站内信来源" clearable @keyup.enter.native="handleQuery"/>--> <!-- <el-input v-model="queryParams.fromId" placeholder="请输入站内信来源" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="发送时间"> <el-form-item label="发送时间">
<el-date-picker v-model="dateRangeSendTime" style="width: 240px" value-format="yyyy-MM-dd" <el-date-picker v-model="dateRangeSendTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" /> type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />
...@@ -19,10 +19,10 @@ ...@@ -19,10 +19,10 @@
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间"> <!-- <el-form-item label="创建时间">-->
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd" <!-- <el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"-->
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" /> <!-- type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column label="" align="center" prop="id" /> <el-table-column label="" align="center" prop="id" />
<!-- <el-table-column label="站内信来源" align="center" prop="fromId" />--> <!-- <el-table-column label="来源" align="center" prop="fromId" />-->
<el-table-column label="发送时间" align="center" prop="sendTime" width="180"> <el-table-column label="发送时间" align="center" prop="sendTime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.sendTime) }}</span> <span>{{ parseTime(scope.row.sendTime) }}</span>
...@@ -58,11 +58,11 @@ ...@@ -58,11 +58,11 @@
<dict-tag :type="DICT_TYPE.INTERNAL_MESSAGE_TYPE" :value="scope.row.type" /> <dict-tag :type="DICT_TYPE.INTERNAL_MESSAGE_TYPE" :value="scope.row.type" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180"> <!-- <el-table-column label="创建时间" align="center" prop="createTime" width="180">-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<span>{{ parseTime(scope.row.createTime) }}</span> <!-- <span>{{ parseTime(scope.row.createTime) }}</span>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
...@@ -73,15 +73,15 @@ ...@@ -73,15 +73,15 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页组件 --> <!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.rows"
@pagination="getList"/> @pagination="getList"/>
<!-- 对话框(添加 / 修改) --> <!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<!-- <el-form-item label="站内信来源ID" prop="fromId">--> <!-- <el-form-item label="来源" prop="fromId">-->
<!-- <el-input v-model="form.fromId" placeholder="请输入站内信来源" />--> <!-- <el-input v-model="form.fromId" placeholder="请输入站内信来源" />-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="发送时间" prop="sendTime"> <el-form-item label="发送时间" prop="sendTime">
<el-date-picker clearable v-model="form.sendTime" type="date" value-format="yyyy-MM-dd" placeholder="选择发送时间" /> <el-date-picker clearable v-model="form.sendTime" type="date" value-format="yyyy-MM-dd" placeholder="选择发送时间" />
</el-form-item> </el-form-item>
...@@ -135,8 +135,8 @@ export default { ...@@ -135,8 +135,8 @@ export default {
dateRangeCreateTime: [], dateRangeCreateTime: [],
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNo: 1, page: 1,
pageSize: 10, rows: 10,
fromId: null, fromId: null,
title: null, title: null,
content: null, content: null,
...@@ -249,8 +249,8 @@ export default { ...@@ -249,8 +249,8 @@ export default {
handleExport() { handleExport() {
// 处理查询参数 // 处理查询参数
let params = {...this.queryParams}; let params = {...this.queryParams};
params.pageNo = undefined; params.page = undefined;
params.pageSize = undefined; params.rows = undefined;
this.addBeginAndEndTime(params, this.dateRangeSendTime, 'sendTime'); this.addBeginAndEndTime(params, this.dateRangeSendTime, 'sendTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出 // 执行导出
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="站内信来源" prop="fromId"> <el-form-item label="来源" prop="fromId">
<el-input v-model="queryParams.fromId" placeholder="请输入站内信来源" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.fromId" placeholder="请输入站内信来源" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="发送时间"> <el-form-item label="发送时间">
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column label="" align="center" prop="id" /> <el-table-column label="" align="center" prop="id" />
<el-table-column label="站内信来源" align="center" prop="fromId" /> <el-table-column label="来源" align="center" prop="fromId" />
<el-table-column label="发送时间" align="center" prop="sendTime" width="180"> <el-table-column label="发送时间" align="center" prop="sendTime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.sendTime) }}</span> <span>{{ parseTime(scope.row.sendTime) }}</span>
......
...@@ -95,10 +95,10 @@ ...@@ -95,10 +95,10 @@
<el-input v-model="form.titleEn" placeholder="请输入标题英文" /> <el-input v-model="form.titleEn" placeholder="请输入标题英文" />
</el-form-item> </el-form-item>
<el-form-item label="内容中文" prop="contentZh"> <el-form-item label="内容中文" prop="contentZh">
<editor v-model="form.contentZh" :min-height="192" placeholder="请输入内容中文"/> <ueditor v-model="form.contentZh" :min-height="192" placeholder="请输入内容中文"/>
</el-form-item> </el-form-item>
<el-form-item label="内容英语" prop="contentEn"> <el-form-item label="内容英语" prop="contentEn">
<editor v-model="form.contentEn" :min-height="192" placeholder="plese entry english"/> <ueditor v-model="form.contentEn" :min-height="192" placeholder="plese entry english"/>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.status">
...@@ -117,11 +117,11 @@ ...@@ -117,11 +117,11 @@
<script> <script>
import { createNeedKnow, updateNeedKnow, deleteNeedKnow, getNeedKnow, getNeedKnowPage, exportNeedKnowExcel } from "@/api/system/needKnow"; import { createNeedKnow, updateNeedKnow, deleteNeedKnow, getNeedKnow, getNeedKnowPage, exportNeedKnowExcel } from "@/api/system/needKnow";
import Editor from '@/components/Editor'; import Ueditor from '@/components/Ueditor'
export default { export default {
name: "NeedKnow", name: "NeedKnow",
components: { components: {
Editor Ueditor
}, },
data() { data() {
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