Commit 638bf017 authored by dcy's avatar dcy

Merge remote-tracking branch 'origin/dev' into dev

parents 7ff72c05 561a9c07
...@@ -116,6 +116,7 @@ export const DICT_TYPE = { ...@@ -116,6 +116,7 @@ export const DICT_TYPE = {
ECW_PRICE_AUDIT_STATUS: 'price_audit_status', // 路线价格审核状态 ECW_PRICE_AUDIT_STATUS: 'price_audit_status', // 路线价格审核状态
ECW_CANCEL_PICK_TYPE: 'cancel_pick_type', // 取消放货类型 ECW_CANCEL_PICK_TYPE: 'cancel_pick_type', // 取消放货类型
ECW_CUSTOMER_RESOURCE_TYPE: 'customer_resource_type', // 客户资源类型 ECW_CUSTOMER_RESOURCE_TYPE: 'customer_resource_type', // 客户资源类型
ECW_CUSTOMER_TRANSPORT_TYPE: 'customer_transport_type', // 客户出货渠道(跟运输方式相同,但是显示全部)
//--------ecw--------- //--------ecw---------
CUSTOMER_STATUS: 'customer_status', CUSTOMER_STATUS: 'customer_status',
CUSTOMER_SOURCE: 'customer_source', CUSTOMER_SOURCE: 'customer_source',
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<div v-for="(item, index) in scope.row.orderItemList" :key="index" class="goodList-div"> <div v-for="(item, index) in scope.row.orderItemList" :key="index" class="goodList-div">
<p>{{$t('品名')}}{{item.prodTitleZh}}</p> <p>{{$t('品名')}}{{item.prodTitleZh}}</p>
<p>{{$t('品牌')}}:【 <p>{{$t('品牌')}}:【
<dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="item.productRecord" /> <dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="item.feeType" />
</p> </p>
<p>{{$t('其他')}}{{getTotlContent(item)}}</p> <p>{{$t('其他')}}{{getTotlContent(item)}}</p>
......
...@@ -8,13 +8,14 @@ ...@@ -8,13 +8,14 @@
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="success" @click="onSubmit" v-show="!isReview">{{$t('发起申请')}}</el-button> <el-button type="success" @click="onSubmit" v-show="!isReview">{{$t('发起申请')}}</el-button>
<el-button type="primary" @click="jumpReviewDetail" v-show="isReview">{{$t('审核中')}}</el-button> <el-button type="primary" @click="jumpReviewDetail" v-show="isReview">{{$t('审核中')}}</el-button>
<el-button plain type="primary" @click="canclAudit" v-show="isReview">{{$t('取消审核')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button> <el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row> </el-row>
</div> </div>
</template> </template>
<script> <script>
import { approvalCreate } from "@/api/ecw/boxSea"; import { approvalCreate, approvalCancel } from "@/api/ecw/boxSea";
import { serviceMsg, toReviewDetail } from "../utils"; import { serviceMsg, toReviewDetail } from "../utils";
/** /**
...@@ -29,41 +30,56 @@ export default { ...@@ -29,41 +30,56 @@ export default {
reviewObj: {}, reviewObj: {},
isReview: false, isReview: false,
bpmProcessId: "", bpmProcessId: "",
voKey: "",
}; };
}, },
created() { created() {
const { currNode, shipmentObj } = this.$attrs; const { currNode, shipmentObj } = this.$attrs;
const {
preInstallBackInfo, let voKey = "";
cabinetBackInfo, switch (currNode.type) {
cabinetUnloadBackApprovalInfo, case "preinstall":
} = shipmentObj; voKey = "preInstallBackInfo";
if (currNode.type === "preinstall") { break;
this.isReview = preInstallBackInfo ? true : false; case "cabinet":
if (preInstallBackInfo && preInstallBackInfo.approvalStatus !== 1) { voKey = "cabinetBackInfo";
this.isReview = false; break;
} case "unloading":
this.bpmProcessId = preInstallBackInfo?.bpmProcessId; voKey = "cabinetUnloadBackApprovalInfo";
break;
} }
if (currNode.type === "cabinet") {
this.isReview = cabinetBackInfo ? true : false; if (voKey) {
if (cabinetBackInfo && cabinetBackInfo.approvalStatus !== 1) { this.isReview = shipmentObj[voKey] ? true : false;
if (shipmentObj[voKey] && shipmentObj[voKey].approvalStatus !== 1) {
this.isReview = false; this.isReview = false;
} }
this.bpmProcessId = cabinetBackInfo?.bpmProcessId; this.bpmProcessId = shipmentObj[voKey].bpmProcessId;
if (this.isReview) {
this.$set(
this.reviewObj,
"applyReason",
shipmentObj[voKey].applyReason
);
} }
if (currNode.type === "unloading") {
this.isReview = cabinetUnloadBackApprovalInfo ? true : false;
if (
cabinetUnloadBackApprovalInfo &&
cabinetUnloadBackApprovalInfo.approvalStatus !== 1
) {
this.isReview = false;
}
this.bpmProcessId = cabinetUnloadBackApprovalInfo?.bpmProcessId;
} }
this.voKey = voKey;
}, },
methods: { methods: {
/* 取消审核 */
canclAudit() {
const { shipmentObj } = this.$attrs;
approvalCancel({
applyReason: this.$t("取消反审核"),
id: shipmentObj[this.voKey].id,
shipmentId: shipmentObj.id,
}).then((res) => {
serviceMsg(res, this).then(() => {
this.$emit("closeDialog", "submit");
});
});
},
jumpReviewDetail() { jumpReviewDetail() {
toReviewDetail.apply(this, [this.bpmProcessId]); toReviewDetail.apply(this, [this.bpmProcessId]);
this.$emit("closeDialog"); this.$emit("closeDialog");
......
...@@ -113,6 +113,8 @@ ...@@ -113,6 +113,8 @@
} }
if(that.handlerParams.estimateEnterOpenSeaTime){ if(that.handlerParams.estimateEnterOpenSeaTime){
that.handlerParams.estimateEnterOpenSeaTime = that.getTime(that.handlerParams.estimateEnterOpenSeaTime) that.handlerParams.estimateEnterOpenSeaTime = that.getTime(that.handlerParams.estimateEnterOpenSeaTime)
}else{
that.$set(that.handlerParams,'estimateEnterOpenSeaTime',that.customerData.estimateEnterOpenSeaTime)
} }
if(that.handlerParams.ccIds){ if(that.handlerParams.ccIds){
var ids = that.handlerParams.ccIds.split(',') var ids = that.handlerParams.ccIds.split(',')
......
...@@ -30,24 +30,23 @@ ...@@ -30,24 +30,23 @@
<el-input v-model="form.address" :placeholder="$t('请输入联系地址')" /> <el-input v-model="form.address" :placeholder="$t('请输入联系地址')" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('客户类别')" prop="type"> <el-form-item :label="$t('出货渠道')" prop="transportType">
<dict-selector :type="DICT_TYPE.CUSTOMER_TYPE" form-type="checkbox" multiple v-model="form.type"></dict-selector> <dict-selector :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" form-type="checkbox" multiple v-model="form.transportType"></dict-selector>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('货运类型')" prop="transportType"> <el-form-item :label="$t('客户类别')" prop="type">
<dict-selector :type="DICT_TYPE.TRANSPORT_TYPE" form-type="checkbox" multiple v-model="form.transportType"></dict-selector> <dict-selector :type="DICT_TYPE.CUSTOMER_TYPE" form-type="checkbox" multiple v-model="form.type"></dict-selector>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('常用提货网点')" prop="pickupPoint"> <el-form-item :label="$t('资源类型')" prop="remarks">
<el-select v-model="form.pickupPoint" :placeholder="$t('请输入常用提货网点')"> <dict-selector :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="form.resourceType" formatter="number"></dict-selector>
<el-option v-for="node in nodeList"
:key="node.id" :label="node.titleZh" :value="node.id" />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="13" v-show="form.type && form.type.indexOf('2') !== -1"> <el-col :span="13" v-show="form.type && form.type.indexOf('2') !== -1">
<el-form-item :label="$t('所属代理')" prop="agentId"> <el-form-item :label="$t('所属代理')" prop="agentId">
<el-select filterable clearable v-model="form.agentId" :placeholder="$t('请选择所属代理')"> <el-select filterable clearable v-model="form.agentId" :placeholder="$t('请选择所属代理')">
...@@ -172,11 +171,7 @@ ...@@ -172,11 +171,7 @@
<el-switch v-model="form.isShowTidanPrice"></el-switch> <el-switch v-model="form.isShowTidanPrice"></el-switch>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item :label="$t('资源类型')" prop="remarks">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="form.resourceType" formatter="number"></dict-selector>
</el-form-item>
</el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="$t('到仓确认')" prop="arrivalConfirm"> <el-form-item :label="$t('到仓确认')" prop="arrivalConfirm">
<el-switch v-model="form.arrivalConfirm" :active-value="1" :inactive-value="0" /> <el-switch v-model="form.arrivalConfirm" :active-value="1" :inactive-value="0" />
......
...@@ -119,9 +119,9 @@ ...@@ -119,9 +119,9 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户经理')" align="center" prop="customerService" :formatter="customerServiceFn"> <el-table-column :label="$t('客户经理')" align="center" prop="customerService" :formatter="customerServiceFn">
</el-table-column> </el-table-column>
<el-table-column :label="$t('运输方式')"> <el-table-column :label="$t('出货渠道')">
<template slot-scope="{row}"> <template slot-scope="{row}">
<dict-tag v-if="row.transportType" v-for="item in row.transportType.split(',')" :type="DICT_TYPE.TRANSPORT_TYPE" :value="item"></dict-tag> <dict-tag v-if="row.transportType" v-for="item in row.transportType.split(',')" :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" :value="item"></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('国家')" align="center" prop="country" :formatter="countryFormatter"></el-table-column> <el-table-column :label="$t('国家')" align="center" prop="country" :formatter="countryFormatter"></el-table-column>
......
...@@ -18,6 +18,12 @@ ...@@ -18,6 +18,12 @@
<el-descriptions-item :label="$t('客户名称')">{{ customer.name }}</el-descriptions-item> <el-descriptions-item :label="$t('客户名称')">{{ customer.name }}</el-descriptions-item>
<el-descriptions-item :label="$t('结算方式')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_BALANCE, customer.balance) }}</el-descriptions-item> <el-descriptions-item :label="$t('结算方式')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_BALANCE, customer.balance) }}</el-descriptions-item>
<el-descriptions-item :label="$t('客户生日')">{{ parseTime(customer.birthday, '{y}-{m}-{d}') }}</el-descriptions-item> <el-descriptions-item :label="$t('客户生日')">{{ parseTime(customer.birthday, '{y}-{m}-{d}') }}</el-descriptions-item>
<el-descriptions-item :label="$t('出货渠道')">
<dict-tag v-if="customer.transportType" v-for="item in customer.transportType.split(',')" :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" :value="item"></dict-tag>
</el-descriptions-item>
<el-descriptions-item :label="$t('资源类型')">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" :value="customer.resourceType"></dict-tag>
</el-descriptions-item>
<el-descriptions-item :label="$t('客户等级')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_LEVEL, customer.level) }}</el-descriptions-item> <el-descriptions-item :label="$t('客户等级')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_LEVEL, customer.level) }}</el-descriptions-item>
<el-descriptions-item :label="$t('国家')">{{ country }}</el-descriptions-item> <el-descriptions-item :label="$t('国家')">{{ country }}</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('业务员')">{{ customer }}</el-descriptions-item>--> <!-- <el-descriptions-item :label="$t('业务员')">{{ customer }}</el-descriptions-item>-->
......
...@@ -112,6 +112,7 @@ ...@@ -112,6 +112,7 @@
v-hasPermi="['ecw:customer:update']" @click="complaint(scope.row)">{{$t('客诉')}}</el-button> v-hasPermi="['ecw:customer:update']" @click="complaint(scope.row)">{{$t('客诉')}}</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:delete']">{{$t('删除')}}</el-button> v-hasPermi="['ecw:customer:delete']">{{$t('删除')}}</el-button>
<el-button :disabled="scope.row.isInOpenSea" size="mini" type="text" icon="el-icon-user" @click="delay(scope.row)">{{$t('延期')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -219,6 +220,9 @@ export default { ...@@ -219,6 +220,9 @@ export default {
handleSelectionChange(val){ handleSelectionChange(val){
this.selectCustomerList = val.map(i => i.id); this.selectCustomerList = val.map(i => i.id);
}, },
delay(row){
this.$router.push({path:'/customer/delay',query:{id:row.id}})
},
countryFormatter(row, column, cellValue) { countryFormatter(row, column, cellValue) {
const country = this.countryList.find((e) => e.id === cellValue) const country = this.countryList.find((e) => e.id === cellValue)
return country?.nameZh return country?.nameZh
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('跟进类型')" align="center" prop="type" > <el-table-column :label="$t('跟进类型')" align="center" prop="type" >
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_OFFER_TYPE" :value="scope.row.type"></dict-tag> <dict-tag :type="DICT_TYPE.CUSTOMER_FOLLOW_TYPE" :value="scope.row.type"></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('联系人')" align="center" prop="contactName" /> <el-table-column :label="$t('联系人')" align="center" prop="contactName" />
...@@ -34,8 +34,11 @@ ...@@ -34,8 +34,11 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户反馈')" align="center" prop="customerFeedback" /> <el-table-column :label="$t('客户反馈')" align="center" prop="customerFeedback" />
<el-table-column :label="$t('处理结果')" align="center" prop="processingResults" /> <el-table-column :label="$t('处理结果')" align="center" prop="processingResults" />
<el-table-column :label="$t('客户经理')" align="center" prop="followUpSalesmanName" /> <el-table-column :label="$t('客户经理')" align="center" prop="followUpSalesmanName">
<template slot-scope="scope">
<span>{{getCustomerService(scope.row.followUpSalesmanId)}}</span>
</template>
</el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" :page.sync="params.page" :limit.sync="params.rows" <pagination v-show="total > 0" :total="total" :page.sync="params.page" :limit.sync="params.rows"
@pagination="getList"/> @pagination="getList"/>
...@@ -47,6 +50,7 @@ ...@@ -47,6 +50,7 @@
import {getOfferLogPage} from "@/api/ecw/offerLog"; import {getOfferLogPage} from "@/api/ecw/offerLog";
import {DICT_TYPE} from '@/utils/dict' import {DICT_TYPE} from '@/utils/dict'
import {getOffer} from '@/api/ecw/offer' import {getOffer} from '@/api/ecw/offer'
import { userList } from "@/api/system/user"
export default { export default {
name: "OfferLog", name: "OfferLog",
components: { components: {
...@@ -67,6 +71,7 @@ export default { ...@@ -67,6 +71,7 @@ export default {
number:'', number:'',
relationId:0, relationId:0,
creatorName:'test', creatorName:'test',
creatorData:[]
}; };
}, },
created() { created() {
...@@ -75,6 +80,7 @@ export default { ...@@ -75,6 +80,7 @@ export default {
this.getList(); this.getList();
this.getRelationID() this.getRelationID()
} }
userList('customer service').then(res =>this.creatorData = res.data)
}, },
methods: { methods: {
/** 查询列表 */ /** 查询列表 */
...@@ -89,6 +95,11 @@ export default { ...@@ -89,6 +95,11 @@ export default {
}); });
}, },
getCustomerService(id){
var user = this.creatorData.find(item=>item.id==id)
if(user) return user.nickname
return ''
},
getRelationID(){ getRelationID(){
getOffer(this.params.offerId).then(response => { getOffer(this.params.offerId).then(response => {
this.relationId = response.data.consignorId; this.relationId = response.data.consignorId;
......
...@@ -251,10 +251,10 @@ ...@@ -251,10 +251,10 @@
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<el-divider direction="vertical" v-if="scope.row.status != 0"></el-divider> <template v-if="scope.row.status != 0 && scope.row.inWarehouseState != 206">
<el-divider direction="vertical"></el-divider>
<!--仓库相关的--> <!--仓库相关的-->
<el-dropdown v-if="scope.row.status != 0"> <el-dropdown>
<el-button type="text">{{$t('仓库')}}</el-button> <el-button type="text">{{$t('仓库')}}</el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<!-- 入仓操作 --> <!-- 入仓操作 -->
...@@ -271,7 +271,7 @@ ...@@ -271,7 +271,7 @@
</template> </template>
<!-- 入仓修改 --> <!-- 入仓修改 -->
<template v-if=" <template v-if="
include(scope.row.inWarehouseState, [202, 207, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216, 204, 205, 206]) include(scope.row.inWarehouseState, [202, 207, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216, 204, 205])
"> ">
<el-dropdown-item @click.native="$router.push('/order/warehousing-update?id=' + scope.row.orderId)" v-hasPermi="['ecw:order:update']">{{$t('入仓修改')}}</el-dropdown-item> <el-dropdown-item @click.native="$router.push('/order/warehousing-update?id=' + scope.row.orderId)" v-hasPermi="['ecw:order:update']">{{$t('入仓修改')}}</el-dropdown-item>
</template> </template>
...@@ -319,6 +319,7 @@ ...@@ -319,6 +319,7 @@
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</template>
<el-divider direction="vertical" v-if="scope.row.status != 0"></el-divider> <el-divider direction="vertical" v-if="scope.row.status != 0"></el-divider>
......
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