Commit ca65a30e authored by Administrator's avatar Administrator

Merge branch 'pre-release' into 'jd_dev'

Pre Release最新代码合并入捷道研发分支20241115

See merge request !98
parents f0e4a1a4 e1e318a5
import request from '@/utils/request' import request from "@/utils/request"
// 创建报价单管理 // 创建报价单管理
export function createOffer(data) { export function createOffer(data) {
return request({ return request({
url: '/ecw/offer/create', url: "/ecw/offer/create",
method: 'post', method: "post",
data: data data: data
}) })
} }
...@@ -12,8 +12,8 @@ export function createOffer(data) { ...@@ -12,8 +12,8 @@ export function createOffer(data) {
// 更新报价单管理 // 更新报价单管理
export function updateOffer(data) { export function updateOffer(data) {
return request({ return request({
url: '/ecw/offer/update', url: "/ecw/offer/update",
method: 'put', method: "put",
data: data data: data
}) })
} }
...@@ -21,24 +21,24 @@ export function updateOffer(data) { ...@@ -21,24 +21,24 @@ export function updateOffer(data) {
// 删除报价单管理 // 删除报价单管理
export function deleteOffer(id) { export function deleteOffer(id) {
return request({ return request({
url: '/ecw/offer/delete?id=' + id, url: "/ecw/offer/delete?id=" + id,
method: 'delete' method: "delete"
}) })
} }
// 获得报价单管理 // 获得报价单管理
export function getOffer(id) { export function getOffer(id) {
return request({ return request({
url: '/ecw/offer/get?offerId=' + id, url: "/ecw/offer/get?offerId=" + id,
method: 'get' method: "get"
}) })
} }
// 获得报价单管理分页 // 获得报价单管理分页
export function getOfferPage(query) { export function getOfferPage(query) {
return request({ return request({
url: '/ecw/offer/page', url: "/ecw/offer/page",
method: 'get', method: "get",
params: query params: query
}) })
} }
...@@ -46,36 +46,36 @@ export function getOfferPage(query) { ...@@ -46,36 +46,36 @@ export function getOfferPage(query) {
// 导出报价单管理 Excel // 导出报价单管理 Excel
export function exportOfferExcel(query) { export function exportOfferExcel(query) {
return request({ return request({
url: '/ecw/offer/export-excel', url: "/ecw/offer/export-excel",
method: 'get', method: "get",
params: query, params: query,
responseType: 'blob' responseType: "blob"
}) })
} }
// 更新报价单结果 // 更新报价单结果
export function updateOfferResult(data) { export function updateOfferResult(data) {
return request({ return request({
url: '/ecw/offer/update/result', url: "/ecw/offer/update/result",
method: 'put', method: "put",
data: data data: data
}) })
} }
// 获取费用清单列表 // 获取费用清单列表
export function getProductFeeList(prodCreateReqVO){ export function getProductFeeList(prodCreateReqVO) {
return request({ return request({
url: '/ecw/offer/calculation/prod-fee-List', url: "/ecw/offer/calculation/prod-fee-List",
method: 'post', method: "post",
data: prodCreateReqVO data: prodCreateReqVO
}) })
} }
// 获取费用清单 // 获取费用清单
export function getProductFee(calculationFeeParamVO){ export function getProductFee(calculationFeeParamVO) {
return request({ return request({
url: '/ecw/offer/calculation/fee-List', url: "/ecw/offer/calculation/fee-List",
method: 'post', method: "post",
data: calculationFeeParamVO data: calculationFeeParamVO
}) })
} }
...@@ -83,8 +83,8 @@ export function getProductFee(calculationFeeParamVO){ ...@@ -83,8 +83,8 @@ export function getProductFee(calculationFeeParamVO){
// 特价申请 // 特价申请
export function createOfferSpecial(data) { export function createOfferSpecial(data) {
return request({ return request({
url: '/ecw/offer/special/apply', url: "/ecw/offer/special/apply",
method: 'put', method: "put",
data: data data: data
}) })
} }
...@@ -92,8 +92,8 @@ export function createOfferSpecial(data) { ...@@ -92,8 +92,8 @@ export function createOfferSpecial(data) {
// 特价详情 // 特价详情
export function getOfferSpecial(offerProdId, params) { export function getOfferSpecial(offerProdId, params) {
return request({ return request({
url: '/ecw/offer/special/info/' + offerProdId, url: "/ecw/offer/special/info/" + offerProdId,
method: 'get', method: "get",
params params
}) })
} }
...@@ -101,35 +101,34 @@ export function getOfferSpecial(offerProdId, params) { ...@@ -101,35 +101,34 @@ export function getOfferSpecial(offerProdId, params) {
// 特价详情 // 特价详情
export function getOfferSpecialByApproveId(approveId) { export function getOfferSpecialByApproveId(approveId) {
return request({ return request({
url: '/ecw/offer/special/info?approveId=' + approveId, url: "/ecw/offer/special/info?approveId=" + approveId,
method: 'get' method: "get"
}) })
} }
// 取消报价管理 // 取消报价管理
export function cancel(id) { export function cancel(id) {
return request({ return request({
url: '/ecw/offer/cancel', url: "/ecw/offer/cancel",
method: 'delete', method: "delete",
params: {id} params: { id }
}) })
} }
// 恢复取消的报价管理 // 恢复取消的报价管理
export function recovery(id) { export function recovery(id) {
return request({ return request({
url: '/ecw/offer/recovery', url: "/ecw/offer/recovery",
method: 'delete', method: "delete",
params: {id} params: { id }
}) })
} }
// 获取部门报价单列表 // 获取部门报价单列表
export function offerDeptPage(params) { export function offerDeptPage(params) {
return request({ return request({
url: '/ecw/offer/dept/page', url: "/ecw/offer/dept/page",
method: 'get', method: "get",
params params
}) })
} }
...@@ -137,25 +136,33 @@ export function offerDeptPage(params) { ...@@ -137,25 +136,33 @@ export function offerDeptPage(params) {
// 导出部分报价单 exportDeptOfferExcel // 导出部分报价单 exportDeptOfferExcel
export function exportDeptOfferExcel(query) { export function exportDeptOfferExcel(query) {
return request({ return request({
url: '/ecw/offer/dept/export-excel', url: "/ecw/offer/dept/export-excel",
method: 'get', method: "get",
params: query, params: query,
responseType: 'blob' responseType: "blob"
}) })
} }
// 报价单 // 报价单
export function getOfferSelect(params) { export function getOfferSelect(params) {
return request({ return request({
url: '/ecw/offer/select', url: "/ecw/offer/select",
method: 'get', method: "get",
params params
}) })
} }
// 报价单 // 报价单
export function getOfferCheck(params) { export function getOfferCheck(params) {
return request({ return request({
url: '/ecw/offer/check', url: "/ecw/offer/check",
method: 'get', method: "get",
params params
}) })
} }
\ No newline at end of file
// 特价详情
export function getOfferNumber(offerId) {
return request({
url: "/ecw/offer/getNumber/" + offerId,
method: "get"
})
}
...@@ -150,3 +150,21 @@ export function getGuojiaAndShiAndWarehouseList(params = {}) { ...@@ -150,3 +150,21 @@ export function getGuojiaAndShiAndWarehouseList(params = {}) {
params params
}) })
} }
// 出货阶段-追加申请
export function appendApplyWhenShipment(data) {
return request({
url: '/order/order-warehouse-in/append-apply-when-shipment',
method: 'post',
data
})
}
// 出货阶段-入仓修改申请
export function updateApplyWhenShipment(data) {
return request({
url: '/order/order-warehouse-in/update-apply-when-shipment',
method: 'put',
data
})
}
...@@ -11,7 +11,10 @@ ...@@ -11,7 +11,10 @@
</el-select> </el-select>
{{$t('目的国')}}: {{$t('目的国')}}:
<el-select :placeholder="$t('请选择目的国')" v-model="destCountryId" clearable> <el-select :placeholder="$t('请选择目的国')"
v-model="destCountryIds"
multiple
clearable>
<el-option v-for="item in countryList" :key="item.id" :label="$l(item, 'title')" :value="item.id" /> <el-option v-for="item in countryList" :key="item.id" :label="$l(item, 'title')" :value="item.id" />
</el-select> </el-select>
...@@ -21,11 +24,17 @@ ...@@ -21,11 +24,17 @@
<el-option v-for="item in importCityList" :key="item.id" :label="item.titleZh" :value="item.id" /> <el-option v-for="item in importCityList" :key="item.id" :label="item.titleZh" :value="item.id" />
</el-select> </el-select>
--> -->
<el-select :placeholder="$t('请选择目的城市')" v-model="destCityId" clearable> <el-select :placeholder="$t('请选择目的城市')"
v-model="destCityIds"
multiple
clearable>
<el-option v-for="item in AddressCity" :key="item.shi" :label="item.shiName" :value="item.shi" /> <el-option v-for="item in AddressCity" :key="item.shi" :label="item.shiName" :value="item.shi" />
</el-select> </el-select>
{{$t('目的仓')}}: {{$t('目的仓')}}:
<el-select :placeholder="$t('请选择目的仓')" v-model="destWarehouseId" clearable> <el-select :placeholder="$t('请选择目的仓')"
v-model="destWarehouseIds"
multiple
clearable>
<el-option v-for="item in AddressTown" :key="item.id" :label="item.titleZh" :value="item.id" /> <el-option v-for="item in AddressTown" :key="item.id" :label="item.titleZh" :value="item.id" />
</el-select> </el-select>
...@@ -134,10 +143,10 @@ export default { ...@@ -134,10 +143,10 @@ export default {
countryList: [], //目的国 countryList: [], //目的国
AddressCity: [], //目的地 AddressCity: [], //目的地
AddressTown: [], //目的仓 AddressTown: [], //目的仓
destCountryId: null, destCountryIds: null,
destCityId: null, destCityIds: null,
destWarehouseId: null, destWarehouseIds: null,
} }
}, },
computed:{ computed:{
...@@ -283,17 +292,17 @@ export default { ...@@ -283,17 +292,17 @@ export default {
//每当值省份值改变时其下地区值进行清空 //每当值省份值改变时其下地区值进行清空
this.AddressCity = []; this.AddressCity = [];
this.AddressTown = []; this.AddressTown = [];
this.destWarehouseId = ""; this.destWarehouseIds = "";
this.destCityId = ""; this.destCityIds = "";
this.findByprovinceCode(); this.findByprovinceCode();
if (this.destCountryId == "") { if (this.destCountryIds == "") {
//1 是所有区域,2 国家,3是市, //1 是所有区域,2 国家,3是市,
this.getAddressCity() this.getAddressCity()
this.getAddressTown() this.getAddressTown()
} else if ( } else if (
this.destCountryId != "" && this.destCountryIds != "" &&
this.destCityId == "" && this.destCityIds == "" &&
this.destWarehouseId == "" this.destWarehouseIds == ""
) { ) {
this.getAddressTown() this.getAddressTown()
} }
...@@ -304,35 +313,35 @@ export default { ...@@ -304,35 +313,35 @@ export default {
deep: true, //深度监听 目的仓 deep: true, //深度监听 目的仓
handler() { handler() {
this.AddressTown = []; this.AddressTown = [];
this.destWarehouseId = ""; this.destWarehouseIds = "";
this.findBycityCode(); this.findBycityCode();
if ( if (
this.destCityId != "" && this.destCityIds != "" &&
this.destCountryId != "" && this.destCountryIds != "" &&
this.destWarehouseId == "" this.destWarehouseIds == ""
) { ) {
//获取当前城市值id,获取该城市下区域 //获取当前城市值id,获取该城市下区域
} else if ( } else if (
this.destCountryId == "" && this.destCountryIds == "" &&
this.destCityId == "" && this.destCityIds == "" &&
this.destWarehouseId == "" this.destWarehouseIds == ""
) { ) {
this.getAddressTown() this.getAddressTown()
} else if ( } else if (
this.destCountryId != "" && this.destCountryIds != "" &&
this.destCityId == "" && this.destCityIds == "" &&
this.destWarehouseId == "" this.destWarehouseIds == ""
) { ) {
this.findByprovinceCode() this.findByprovinceCode()
this.getAddressTown() this.getAddressTown()
} else if ( } else if (
this.destCountryId == "" && this.destCountryIds == "" &&
this.destCityId != "" && this.destCityIds != "" &&
this.destWarehouseId == "" this.destWarehouseIds == ""
) { ) {
//获取当前城市值id,获取该城市下区域 //获取当前城市值id,获取该城市下区域
} }
this.getOpenedRouterList() this.getOpenedRouterList()
this.getChannelList() this.getChannelList()
...@@ -342,22 +351,22 @@ export default { ...@@ -342,22 +351,22 @@ export default {
deep: true, //深度监听 deep: true, //深度监听
handler() { handler() {
if ( if (
this.destCountryId != "" && this.destCountryIds != "" &&
this.destCityId != "" && this.destCityIds != "" &&
this.destWarehouseId == "" this.destWarehouseIds == ""
) { ) {
//获取当前城市值id,获取该城市下区域 //获取当前城市值id,获取该城市下区域
this.findBycityCode() this.findBycityCode()
} else if ( } else if (
this.destCountryId != "" && this.destCountryIds != "" &&
this.destCityId == "" && this.destCityIds == "" &&
this.destWarehouseId == "" this.destWarehouseIds == ""
) { ) {
this.getAddressTown() this.getAddressTown()
} else if ( } else if (
this.destCountryId == "" && this.destCountryIds == "" &&
this.destCityId != "" && this.destCityIds != "" &&
this.destWarehouseId == "" this.destWarehouseIds == ""
) { ) {
this.findBycityCode() this.findBycityCode()
} }
...@@ -394,7 +403,7 @@ export default { ...@@ -394,7 +403,7 @@ export default {
if (this.type == 'sea') return if (this.type == 'sea') return
let query = { let query = {
// cityId: this.importCity // cityId: this.importCity
cityId: this.destCityId cityId: this.destCityIds
} }
getChannelList(query).then(res => { getChannelList(query).then(res => {
this.channelList = res.data this.channelList = res.data
...@@ -407,9 +416,9 @@ export default { ...@@ -407,9 +416,9 @@ export default {
}, },
changeOption(){ changeOption(){
if(!this.option) return if(!this.option) return
this.destCountryId = +this.option.destCountryId || null this.destCountryIds = +this.option.destCountryId || null
this.destCityId = +this.option.destCityId || null this.destCityIds = +this.option.destCityId || null
this.destWarehouseId = +this.option.destWarehouseId || null this.destWarehouseIds = +this.option.destWarehouseId || null
// this.importCity = +this.option.importCity || null // this.importCity = +this.option.importCity || null
this.exportCity = +this.option.exportCity || null this.exportCity = +this.option.exportCity || null
this.transportType = this.option.transportId || null this.transportType = this.option.transportId || null
...@@ -428,14 +437,14 @@ export default { ...@@ -428,14 +437,14 @@ export default {
if(this.exportCity){ if(this.exportCity){
params.startCityId = this.exportCity params.startCityId = this.exportCity
} }
if(this.destCountryId){ if(this.destCountryIds){
params.destCountryId = this.destCountryId params.destCountryIds = this.destCountryId
} }
if(this.destCityId){ if(this.destCityIds){
params.destCityId = this.destCityId params.destCityIds = this.destCityIds
} }
if(this.destWarehouseId){ if(this.destWarehouseIds){
params.destWarehouseId = this.destWarehouseId params.destWarehouseIds = this.destWarehouseIds
} }
const res = await openedRouterList(params) const res = await openedRouterList(params)
this.openedRouterList = res.data.filter(item => { this.openedRouterList = res.data.filter(item => {
...@@ -511,18 +520,18 @@ export default { ...@@ -511,18 +520,18 @@ export default {
}) })
}, },
findByprovinceCode() { findByprovinceCode() {
if (this.destCountryId != null && this.destCountryId != '') { if (this.destCountryIds != null && this.destCountryIds != '') {
//获取当前省份值id,获取该省份下城市 destCountryId provinceCode //获取当前省份值id,获取该省份下城市 destCountryId provinceCode
getRegionList(2, this.destCountryId).then(({ data }) => { getRegionList(2, this.destCountryIds).then(({ data }) => {
this.AddressCity = data; this.AddressCity = data;
}) })
} }
}, },
findBycityCode() { findBycityCode() {
if (this.destCityId != null && this.destCityId != '') { if (this.destCityIds != null && this.destCityIds != '') {
//获取当前城市值id,获取该城市下区域 //获取当前城市值id,获取该城市下区域
getRegionList(3, this.destCityId).then(({ data }) => { getRegionList(3, this.destCityIds).then(({ data }) => {
this.AddressTown = data; this.AddressTown = data;
}) })
} }
......
...@@ -15,3 +15,13 @@ ...@@ -15,3 +15,13 @@
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
.custom-form-1 {
padding-right: 40px;
.el-textarea,
.dict-selector,
.el-select {
width: 100%;
}
}
...@@ -145,7 +145,7 @@ ...@@ -145,7 +145,7 @@
<div class="btns"> <div class="btns">
<el-button type="danger" size="small" @click="openError(scope.row)">{{ $t("异常") }}</el-button> <el-button type="danger" size="small" @click="openError(scope.row)">{{ $t("异常") }}</el-button>
<el-button v-if="pageData.boxCustomsBackVO && pageData.boxCustomsBackVO.overMachineStatus == 2 && pageData.boxCustomsBackVO.overMachineAbnormalStatus == 2" plain type="primary" size="small" @click="$router.push('/order/warehousing-update?id=' + scope.row.orderId)">{{ $t("入仓修改 ") }}</el-button> <el-button v-if="pageData.boxCustomsBackVO && pageData.boxCustomsBackVO.overMachineStatus == 2 && pageData.boxCustomsBackVO.overMachineAbnormalStatus == 2" plain type="primary" size="small" @click="$router.push('/order/warehousing-update?id=' + scope.row.orderId)">{{ $t("入仓修改 ") }}</el-button>
<el-button type="primary" size="small" @click="order_warehouse_check_revoke(scope.row.orderId)" v-if="scope.row.inWarehouseState == 218">{{ $t("撤销到仓") }}</el-button> <el-button type="primary" size="small" @click="order_warehouse_check_revoke(scope.row.orderId)" v-if="scope.row.inWarehouseState == 218 && !isSuccessReview && !isUnderReview">{{ $t("撤销到仓") }}</el-button>
<el-button type="primary" size="small" @click="order_warehouse_check_force(scope.row.orderId)" v-if="scope.row.inWarehouseState == 0 && scope.row.unloadNum > 0 && scope.row.installNum > scope.row.unloadNum">{{ $t("强制到仓") }}</el-button> <el-button type="primary" size="small" @click="order_warehouse_check_force(scope.row.orderId)" v-if="scope.row.inWarehouseState == 0 && scope.row.unloadNum > 0 && scope.row.installNum > scope.row.unloadNum">{{ $t("强制到仓") }}</el-button>
<el-button type="primary" size="small" @click="$router.push('/order/warehousingTo-update?id=' + scope.row.orderId)" v-if="scope.row.inWarehouseState == 218">{{ $t("到仓修改") }}</el-button> <el-button type="primary" size="small" @click="$router.push('/order/warehousingTo-update?id=' + scope.row.orderId)" v-if="scope.row.inWarehouseState == 218">{{ $t("到仓修改") }}</el-button>
</div> </div>
...@@ -619,6 +619,11 @@ export default { ...@@ -619,6 +619,11 @@ export default {
const { currNode, shipmentObj } = this.$attrs const { currNode, shipmentObj } = this.$attrs
return shipmentObj[currNode.keyName] === 183 ? true : false return shipmentObj[currNode.keyName] === 183 ? true : false
}, },
/* 是否卸柜审核成功 */
isSuccessReview() {
const { currNode, shipmentObj } = this.$attrs
return shipmentObj[currNode.keyName] === 185 ? true : false
},
// 部分信息 // 部分信息
getSectionInfo() { getSectionInfo() {
const { totalStatistics, secStatistics } = this.pageData const { totalStatistics, secStatistics } = this.pageData
......
...@@ -135,7 +135,7 @@ ...@@ -135,7 +135,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="btns"> <div class="btns">
<el-button type="danger" size="small" @click="openError(scope.row)">{{ $t("异常") }}</el-button> <el-button type="danger" size="small" @click="openError(scope.row)">{{ $t("异常") }}</el-button>
<el-button type="primary" size="small" @click="order_warehouse_check_revoke(scope.row.orderId)" v-if="scope.row.inWarehouseState == 218">{{ $t("撤销到仓") }}</el-button> <el-button type="primary" size="small" @click="order_warehouse_check_revoke(scope.row.orderId)" v-if="scope.row.inWarehouseState == 218 && !isSuccessReview && !isUnderReview">{{ $t("撤销到仓") }}</el-button>
<el-button type="primary" size="small" @click="order_warehouse_check_force(scope.row.orderId)" v-if="scope.row.inWarehouseState == 0 && scope.row.unloadNum > 0 && scope.row.installNum > scope.row.unloadNum">{{ $t("强制到仓") }}</el-button> <el-button type="primary" size="small" @click="order_warehouse_check_force(scope.row.orderId)" v-if="scope.row.inWarehouseState == 0 && scope.row.unloadNum > 0 && scope.row.installNum > scope.row.unloadNum">{{ $t("强制到仓") }}</el-button>
<el-button type="primary" size="small" @click="$router.push('/order/warehousingTo-update?id=' + scope.row.orderId)" v-if="scope.row.inWarehouseState == 218">{{ $t("到仓修改") }}</el-button> <el-button type="primary" size="small" @click="$router.push('/order/warehousingTo-update?id=' + scope.row.orderId)" v-if="scope.row.inWarehouseState == 218">{{ $t("到仓修改") }}</el-button>
</div> </div>
......
...@@ -34,14 +34,15 @@ ...@@ -34,14 +34,15 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('有效期')" prop="validDays"> <el-form-item :label="$t('结束时间')">
<el-input <el-date-picker
v-model.trim="queryParams.validDays" v-model="dateRangeEndTime"
:placeholder="$t('请输入有效期')" type="daterange"
clearable :start-placeholder="$t('开始日期')"
@keyup.enter.native="handleQuery" value-format="yyyy-MM-dd"
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" :end-placeholder="$t('结束日期')"
/> >
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="$t('创建时间')"> <el-form-item :label="$t('创建时间')">
...@@ -103,7 +104,6 @@ ...@@ -103,7 +104,6 @@
<div>{{ parseTime(scope.row.createTime) }}</div> <div>{{ parseTime(scope.row.createTime) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('有效期(天)')" align="center" prop="validDays" width="90"/>
<el-table-column :label="$t('开始时间')" align="center" prop="startTime" width="100"> <el-table-column :label="$t('开始时间')" align="center" prop="startTime" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
......
...@@ -61,7 +61,7 @@ export default { ...@@ -61,7 +61,7 @@ export default {
}, },
methods: { methods: {
submit() { submit() {
if (!this.status) { if (this.status == null || this.status == undefined) {
return this.$message.warning(this.$t('请选择修改的状态!')); return this.$message.warning(this.$t('请选择修改的状态!'));
} }
console.log(this.followupIds, 'this.followupIds') console.log(this.followupIds, 'this.followupIds')
......
...@@ -854,7 +854,7 @@ export default { ...@@ -854,7 +854,7 @@ export default {
currecyList: [], currecyList: [],
enterOpenSeaTime: undefined, enterOpenSeaTime: undefined,
showBaseFlag: false, showBaseFlag: false,
showShippingFlag: false, showShippingFlag: true,
showSettingFlag: false, showSettingFlag: false,
showFinanceFlag: false, showFinanceFlag: false,
competitorList: [] competitorList: []
......
...@@ -228,21 +228,21 @@ ...@@ -228,21 +228,21 @@
--> -->
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column> <el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">--> <!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <template v-slot="{ row }">--> <!-- <template v-slot="{ row }">-->
<!-- +{{ row.defaultContactPhone }} <br />--> <!-- +{{ row.defaultContactPhone }} <br />-->
<!-- <contacts :id="row.id">--> <!-- <contacts :id="row.id">-->
<!-- <el-button type="text">更多</el-button>--> <!-- <el-button type="text">更多</el-button>-->
<!-- </contacts>--> <!-- </contacts>-->
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column :label="$t('最新跟进时间')" width="120"> <el-table-column :label="$t('最新跟进时间')" width="120">
<template slot-scope="scope" v-if= "scope.row.followupBackVO"> <template slot-scope="scope" v-if="scope.row.followupBackVO">
{{ parseTime(scope.row.followupBackVO.followTime) }} {{ parseTime(scope.row.followupBackVO.followTime) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('最新跟进记录')" width="120"> <el-table-column :label="$t('最新跟进记录')" width="120">
<template slot-scope="scope" v-if= "scope.row.followupBackVO"> <template slot-scope="scope" v-if="scope.row.followupBackVO">
<a href="javascript:void(0)" @click="handleCustomerFollowLink(scope.row.followupBackVO)" class="link-type">{{ scope.row.followupBackVO.number }}</a> <a href="javascript:void(0)" @click="handleCustomerFollowLink(scope.row.followupBackVO)" class="link-type">{{ scope.row.followupBackVO.number }}</a>
</template> </template>
</el-table-column> </el-table-column>
...@@ -667,7 +667,7 @@ ...@@ -667,7 +667,7 @@
</div> </div>
</el-dialog> </el-dialog>
<customer-follow-list :customer-id="customerId" :id="customerId" :customer-service="customerService" :customer-number="customerNumber" ref="CustomerFollowList" v-if="customerFollowVisible"></customer-follow-list> <customer-follow-list :customer-id="customerId" :id="customerId" :customer-service="customerService" :customer-number="customerNumber" ref="CustomerFollowList" v-if="customerFollowVisible"></customer-follow-list>
<customer-follow ref="customerFollow" @refresh="handleQuery" v-if="customerFollowVisible"/> <customer-follow ref="customerFollow" @refresh="handleQuery" @close="customerFollowVisible = false" v-if="customerFollowVisible" />
<customer-complaints :customer-id="customerId" ref="customerComplaints"></customer-complaints> <customer-complaints :customer-id="customerId" ref="customerComplaints"></customer-complaints>
<transfer-customer :show.sync="transferShow" :customer-ids.sync="selectCustomerList"></transfer-customer> <transfer-customer :show.sync="transferShow" :customer-ids.sync="selectCustomerList"></transfer-customer>
<add-potential-custom ref="potentialCustom" @change="getList"></add-potential-custom> <add-potential-custom ref="potentialCustom" @change="getList"></add-potential-custom>
...@@ -719,10 +719,10 @@ import { getCustomerSelect } from "@/api/ecw/customer" ...@@ -719,10 +719,10 @@ import { getCustomerSelect } from "@/api/ecw/customer"
import { getProductTypeList } from "@/api/ecw/productType" import { getProductTypeList } from "@/api/ecw/productType"
import { getProductList } from "@/api/ecw/product" import { getProductList } from "@/api/ecw/product"
import { listMySimpleDepts } from "@/api/system/dept" import { listMySimpleDepts } from "@/api/system/dept"
import UserSelector from "@/components/UserSelector/index.vue"; import UserSelector from "@/components/UserSelector/index.vue"
import CustomerFollow from "@/views/ecw/customer/components/customerFollow.vue"; import CustomerFollow from "@/views/ecw/customer/components/customerFollow.vue"
import ProductSelector from "@/components/ProductSelector/index.vue"; import ProductSelector from "@/components/ProductSelector/index.vue"
import CompetitorSelector from "@/components/CompetitorSelector/index.vue"; import CompetitorSelector from "@/components/CompetitorSelector/index.vue"
export default { export default {
name: "EcwCustomerIndex", name: "EcwCustomerIndex",
components: { components: {
...@@ -1011,15 +1011,14 @@ export default { ...@@ -1011,15 +1011,14 @@ export default {
this.getList() this.getList()
}, },
methods: { methods: {
onCompetitorChange(row, competitor) { onCompetitorChange(row, competitor) {
// row.goodsType = product ? product.typeId : null // row.goodsType = product ? product.typeId : null
row.id = !competitor row.id = !competitor
? [] ? []
: competitor.id : competitor.id
.split(",") .split(",")
.filter((item) => item !== "") .filter((item) => item !== "")
.map((item) => +item) .map((item) => +item)
if (competitor) { if (competitor) {
this.$set(this.names, competitor.id, { this.$set(this.names, competitor.id, {
name: competitor.name name: competitor.name
......
...@@ -672,7 +672,7 @@ ...@@ -672,7 +672,7 @@
</div> </div>
</el-dialog> </el-dialog>
<customer-follow ref="customerFollow" v-if="customerFollowVisible" :customer-id="id" :customer-service="customer.customerService" :customer-number="customer.number" @refresh="logListCommonRefresh" /> <customer-follow ref="customerFollow" v-if="customerFollowVisible" @close="customerFollowVisible = false" :customer-id="id" :customer-service="customer.customerService" :customer-number="customer.number" @refresh="logListCommonRefresh" />
</div> </div>
</template> </template>
......
This diff is collapsed.
...@@ -17,16 +17,16 @@ ...@@ -17,16 +17,16 @@
<el-form-item :label="$t('联系方式')"> <el-form-item :label="$t('联系方式')">
<el-input :placeholder="$t('请输入联系方式')" clearable v-model.trim="queryParams.defaultContactPhone" @input="queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"></el-input> <el-input :placeholder="$t('请输入联系方式')" clearable v-model.trim="queryParams.defaultContactPhone" @input="queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item :label="$t('部门')" v-if="path != '/customer/department-customers'">--> <!-- <el-form-item :label="$t('部门')" v-if="path != '/customer/department-customers'">-->
<!-- <el-select v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">--> <!-- <el-select v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">-->
<!-- <el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id" />--> <!-- <el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id" />-->
<!-- </el-select>--> <!-- </el-select>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- <el-form-item :label="$t('客户经理')" prop="customerService">--> <!-- <el-form-item :label="$t('客户经理')" prop="customerService">-->
<!-- <el-select multiple clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" size="small" @change="handleQuery">--> <!-- <el-select multiple clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" size="small" @change="handleQuery">-->
<!-- <el-option v-for="dict in customerServiceList" :key="dict.id" :label="dict.nickname" :value="dict.id" />--> <!-- <el-option v-for="dict in customerServiceList" :key="dict.id" :label="dict.nickname" :value="dict.id" />-->
<!-- </el-select>--> <!-- </el-select>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item :label="$t('客户来源')" prop="source"> <el-form-item :label="$t('客户来源')" prop="source">
<el-select multiple clearable v-model="queryParams.source" :placeholder="$t('请选择客户来源')" size="small" @change="handleQuery"> <el-select multiple clearable v-model="queryParams.source" :placeholder="$t('请选择客户来源')" size="small" @change="handleQuery">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" /> <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
...@@ -91,9 +91,9 @@ ...@@ -91,9 +91,9 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('主要竞争对手')" v-show="showSearch"> <el-form-item :label="$t('主要竞争对手')" v-show="showSearch">
<el-select multiple filterable clearable v-model="queryParams.competitorIds" :placeholder="$t('请选择竞争对手')" size="small" @change="handleQuery"> <el-select multiple filterable clearable v-model="queryParams.competitorIds" :placeholder="$t('请选择竞争对手')" size="small" @change="handleQuery">
<el-option v-for="item in competitorList" :key="item.id" :label="item.name" :value="item.id"> </el-option> <el-option v-for="item in competitorList" :key="item.id" :label="item.name" :value="item.id"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('年度发货次数')" v-show="showSearch"> <el-form-item :label="$t('年度发货次数')" v-show="showSearch">
<el-input v-model.trim="numYearly.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" @input="numYearly.value = numYearly.value.replace(/\s+/g, '')"> <el-input v-model.trim="numYearly.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" @input="numYearly.value = numYearly.value.replace(/\s+/g, '')">
...@@ -222,21 +222,21 @@ ...@@ -222,21 +222,21 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column> <el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">--> <!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <template v-slot="{ row }">--> <!-- <template v-slot="{ row }">-->
<!-- +{{ row.defaultContactPhone }} <br />--> <!-- +{{ row.defaultContactPhone }} <br />-->
<!-- <contacts :id="row.id">--> <!-- <contacts :id="row.id">-->
<!-- <el-button type="text">更多</el-button>--> <!-- <el-button type="text">更多</el-button>-->
<!-- </contacts>--> <!-- </contacts>-->
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column :label="$t('最新跟进时间')" width="120"> <el-table-column :label="$t('最新跟进时间')" width="120">
<template slot-scope="scope" v-if= "scope.row.followupBackVO"> <template slot-scope="scope" v-if="scope.row.followupBackVO">
{{ parseTime(scope.row.followupBackVO.followTime) }} {{ parseTime(scope.row.followupBackVO.followTime) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('最新跟进记录')" width="120"> <el-table-column :label="$t('最新跟进记录')" width="120">
<template slot-scope="scope" v-if= "scope.row.followupBackVO"> <template slot-scope="scope" v-if="scope.row.followupBackVO">
<a href="javascript:void(0)" @click="handleCustomerFollowLink(scope.row.followupBackVO)" class="link-type">{{ scope.row.followupBackVO.number }}</a> <a href="javascript:void(0)" @click="handleCustomerFollowLink(scope.row.followupBackVO)" class="link-type">{{ scope.row.followupBackVO.number }}</a>
</template> </template>
</el-table-column> </el-table-column>
...@@ -373,7 +373,7 @@ ...@@ -373,7 +373,7 @@
<!-- 分页组件 --> <!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="getList" />
<customer-follow-list :customer-id="customerId" :id="customerId" :customer-service="customerService" :customer-number="customerNumber" ref="CustomerFollowList" v-if="customerFollowVisible"></customer-follow-list> <customer-follow-list :customer-id="customerId" :id="customerId" :customer-service="customerService" :customer-number="customerNumber" ref="CustomerFollowList" v-if="customerFollowVisible"></customer-follow-list>
<customer-follow ref="customerFollow" @refresh="handleQuery" v-if="customerFollowVisible"/> <customer-follow ref="customerFollow" @close="customerFollowVisible = false" @refresh="handleQuery" v-if="customerFollowVisible" />
<customer-complaints ref="customerComplaint" :customer-id.sync="customerId"></customer-complaints> <customer-complaints ref="customerComplaint" :customer-id.sync="customerId"></customer-complaints>
<transfer-customer :show.sync="show" :customer-ids.sync="selectCustomerList"></transfer-customer> <transfer-customer :show.sync="show" :customer-ids.sync="selectCustomerList"></transfer-customer>
<customer-setting ref="customerSetting" @refresh="getList"></customer-setting> <customer-setting ref="customerSetting" @refresh="getList"></customer-setting>
...@@ -399,7 +399,7 @@ import { getNodeList } from "@/api/ecw/node" ...@@ -399,7 +399,7 @@ import { getNodeList } from "@/api/ecw/node"
import { getCustomerSelect, changeCustomerDefaultPay, changeCustomerNoConsignee, changeCustomerDefaultBilling } from "@/api/ecw/customer" import { getCustomerSelect, changeCustomerDefaultPay, changeCustomerNoConsignee, changeCustomerDefaultBilling } from "@/api/ecw/customer"
import { getProductTypeList } from "@/api/ecw/productType" import { getProductTypeList } from "@/api/ecw/productType"
import { getProductList } from "@/api/ecw/product" import { getProductList } from "@/api/ecw/product"
import CompetitorSelector from "@/components/CompetitorSelector/index.vue"; import CompetitorSelector from "@/components/CompetitorSelector/index.vue"
export default { export default {
name: "EcwMyCustomerServiceIndex", name: "EcwMyCustomerServiceIndex",
components: { components: {
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<span style="font-size: 15px"></span> <span style="font-size: 15px"></span>
<div class="btns"> <div class="btns">
<el-button v-hasPermi="['ecw:offer:update']" size="mini" type="primary" v-if="[4, 5, 6].indexOf(list.status) == -1" @click="$router.push('edit?id=' + offerId)">{{ $t("编辑") }}</el-button> <el-button v-hasPermi="['ecw:offer:update']" size="mini" type="primary" v-if="[4, 5, 6].indexOf(list.status) == -1" @click="$router.push('edit?id=' + offerId)">{{ $t("编辑") }}</el-button>
<el-button v-hasPermi="['ecw:offer:loglist']" type="primary" v-if="[1, 3, 7].indexOf(list.status) > -1" size="mini" @click="handleAdd">{{ $t("跟进") }}</el-button> <el-button v-hasPermi="['ecw:offer:loglist']" type="primary" v-if="[1, 3, 7].indexOf(list.status) > -1" size="mini" @click="handleAddOffer">{{ $t("跟进") }}</el-button>
<el-button v-hasPermi="['ecw:offer:result']" type="primary" v-if="[3, 7].indexOf(list.status) > -1" size="mini" @click="toResult">{{ $t("结果") }}</el-button> <el-button v-hasPermi="['ecw:offer:result']" type="primary" v-if="[3, 7].indexOf(list.status) > -1" size="mini" @click="toResult">{{ $t("结果") }}</el-button>
<el-button v-hasPermi="['ecw:offer:discount', 'ecw:offer:commission']" size="mini" v-if="[1, 3, 7].indexOf(list.status) > -1" type="primary" @click.native="$router.push('/offer/special?offerId=' + offerId)">{{ $t("特价") }}</el-button> <el-button v-hasPermi="['ecw:offer:discount', 'ecw:offer:commission']" size="mini" v-if="[1, 3, 7].indexOf(list.status) > -1" type="primary" @click.native="$router.push('/offer/special?offerId=' + offerId)">{{ $t("特价") }}</el-button>
<el-button v-hasPermi="['ecw:offer:delete']" type="danger" size="mini" @click="handleDelete">{{ $t("删除") }}</el-button> <el-button v-hasPermi="['ecw:offer:delete']" type="danger" size="mini" @click="handleDelete">{{ $t("删除") }}</el-button>
...@@ -74,10 +74,10 @@ ...@@ -74,10 +74,10 @@
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item v-if="getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, list.transportId).cssClass == 'channel'" :label="$t('出货渠道')">{{ list.channelName }}</el-descriptions-item> <el-descriptions-item v-if="getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, list.transportId).cssClass == 'channel'" :label="$t('出货渠道')">{{ list.channelName }}</el-descriptions-item>
<el-descriptions-item :label="$t('服务')"> <el-descriptions-item :label="$t('服务')">
<el-tag v-if="list.type && list.type.indexOf('1') > -1"> <el-tag v-if="list.serviceType && list.serviceType.indexOf('1') > -1">
{{ $t("集运") }} {{ $t("集运") }}
</el-tag> </el-tag>
<el-tag v-if="list.type && list.type.indexOf('2') > -1"> <el-tag v-if="list.serviceType && list.serviceType.indexOf('2') > -1">
{{ $t("海外仓") }} {{ $t("海外仓") }}
</el-tag> </el-tag>
</el-descriptions-item> </el-descriptions-item>
...@@ -313,7 +313,7 @@ ...@@ -313,7 +313,7 @@
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<customer-follow ref="customerFollow" v-if="customerFollowVisible" :customerService="curData.salesmanId" :customerNumber="curData.customerNumber" :offerId="offerId" /> <customer-follow ref="customerFollow" v-if="customerFollowVisible" @close="customerFollowVisible = false" :customerService="curData.salesmanId" :customerNumber="curData.customerNumber" :offerId="offerId" />
</div> </div>
</template> </template>
...@@ -521,14 +521,13 @@ export default { ...@@ -521,14 +521,13 @@ export default {
getTradeCityList().then((res) => (this.tradeCityList = res.data)) getTradeCityList().then((res) => (this.tradeCityList = res.data))
getProductAttrList().then((res) => (this.productAttrList = res.data)) getProductAttrList().then((res) => (this.productAttrList = res.data))
if (this.$route.query.offerId) { if (this.$route.query.offerId) {
this.offerId = this.$route.query.offerId this.offerId = parseInt(this.$route.query.offerId)
this.getList() this.getList()
} }
}, },
methods: { methods: {
handleAddOffer(row) { handleAddOffer() {
console.log(row) this.curData = this.list
this.curData = row
this.customerFollowVisible = true this.customerFollowVisible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs["customerFollow"].handleAdd() this.$refs["customerFollow"].handleAdd()
...@@ -784,4 +783,13 @@ export default { ...@@ -784,4 +783,13 @@ export default {
.card { .card {
margin-top: 20px; margin-top: 20px;
} }
/deep/.el-table__fixed-footer-wrapper tbody td.el-table__cell {
font-size: 16px;
font-weight: bold;
}
/deep/.el-table__footer-wrapper tbody td.el-table__cell {
font-size: 20px;
font-weight: bold;
}
</style> </style>
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
</div> </div>
<div class="form-section"> <div class="form-section">
<el-form-item :label="$t('增值服务')" v-if="routeOtherServices.indexOf('1') > -1 || routeOtherServices.indexOf('4') > -1"> <el-form-item :label="$t('增值服务')" v-if="routeOtherServices.indexOf('1') > -1 || routeOtherServices.indexOf('4') > -1">
<el-checkbox-group v-model="form.type"> <el-checkbox-group v-model="form.serviceType">
<el-checkbox label="1" v-if="routeOtherServices.indexOf('1') > -1">{{ $t("集运服务") }}</el-checkbox> <el-checkbox label="1" v-if="routeOtherServices.indexOf('1') > -1">{{ $t("集运服务") }}</el-checkbox>
<el-checkbox label="2" v-if="routeOtherServices.indexOf('4') > -1">{{ $t("海外仓") }}</el-checkbox> <el-checkbox label="2" v-if="routeOtherServices.indexOf('4') > -1">{{ $t("海外仓") }}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
...@@ -576,7 +576,8 @@ const createDefaultForm = () => { ...@@ -576,7 +576,8 @@ const createDefaultForm = () => {
control: false, control: false,
isCargoControl: false, isCargoControl: false,
prodCreateReqVOList: [], prodCreateReqVOList: [],
transportVO: {} transportVO: {},
serviceType: []
} }
} }
export default { export default {
...@@ -742,6 +743,8 @@ export default { ...@@ -742,6 +743,8 @@ export default {
startTime: [{ required: true, message: this.$t("有效期开始时间不能为空") }], startTime: [{ required: true, message: this.$t("有效期开始时间不能为空") }],
endTime: [{ required: true, message: this.$t("有效期结束时间不能为空") }], endTime: [{ required: true, message: this.$t("有效期结束时间不能为空") }],
transportId: [{ required: true, message: this.$t("选择运输方式") }], transportId: [{ required: true, message: this.$t("选择运输方式") }],
// departureId: [{required: true, message: this.$t('请选择始发城市')}],
destCountryId: [{ required: true, message: this.$t("请选择目的国家") }],
channelId: [{ required: true, message: this.$t("选择出货渠道") }], channelId: [{ required: true, message: this.$t("选择出货渠道") }],
stopTime: [{ required: true, message: this.$t("不能为空") }], stopTime: [{ required: true, message: this.$t("不能为空") }],
relation: [{ required: true, message: this.$t("请选择所属人") }], relation: [{ required: true, message: this.$t("请选择所属人") }],
...@@ -1074,9 +1077,9 @@ export default { ...@@ -1074,9 +1077,9 @@ export default {
selectedRouter(val) { selectedRouter(val) {
if (!val) return if (!val) return
;["1", "4"].forEach((service) => { ;["1", "4"].forEach((service) => {
if (this.routeOtherServices.indexOf(service) < 0 && this.form.type.indexOf(service) > -1) { if (this.routeOtherServices.indexOf(service) < 0 && this.form.serviceType.indexOf(service == 4 ? 2 : service) > -1) {
this.form.type.splice( this.form.serviceType.splice(
this.form.type.findIndex((item) => item == service), this.form.serviceType.findIndex((item) => item == (service == 4 ? 2 : service)),
1 1
) )
} }
...@@ -1084,10 +1087,10 @@ export default { ...@@ -1084,10 +1087,10 @@ export default {
} }
}, },
activated() { activated() {
if (this.form.offerId != this.$route.query.id) { if (this.$route.query.id && this.form.offerId !== this.$route.query.id) {
this.getOffer() this.getOffer()
} }
if (this.$route.query.copyId && this.form.copyId != this.$route.query.copyId) { if (this.$route.query.copyId && this.form.copyId !== this.$route.query.copyId) {
this.getOffer() this.getOffer()
} }
}, },
...@@ -1102,14 +1105,14 @@ export default { ...@@ -1102,14 +1105,14 @@ export default {
getRegionList(4, 4).then((res) => (this.AddressCity = res.data)) getRegionList(4, 4).then((res) => (this.AddressCity = res.data))
competitorListAll().then((res) => (this.competitorList = res.data)) competitorListAll().then((res) => (this.competitorList = res.data))
if (this.$route.query.id) { if (this.$route.query.id && this.$route.query.copyId) {
this.getOffer() this.getOffer()
} else { } else {
// alert(this.$route.query.customer.defaultContactPhone) // alert(this.$route.query.customer.defaultContactPhone)
this.addProduct() this.addProduct()
} }
if (this.$route.query.type == 1) { if (this.$route.query.type && this.$route.query.type === 1) {
let res = await getCustomerContactsListByCustomer({ customerId: parseInt(this.$route.query.customerId || 0) }) let res = await getCustomerContactsListByCustomer({ customerId: parseInt(this.$route.query.customerId || 0) })
this.customer = res.data.find((item) => item.isDefault) this.customer = res.data.find((item) => item.isDefault)
...@@ -1143,10 +1146,12 @@ export default { ...@@ -1143,10 +1146,12 @@ export default {
}, },
getOffer() { getOffer() {
//加了是否从全部客户列表中报价按钮进来的判断 //加了是否从全部客户列表中报价按钮进来的判断
if (this.$route.query !== 1) { if (this.$route.query.type !== 1) {
getOffer(this.$route.query.id || this.$route.query.copyId).then((res) => { getOffer(this.$route.query.id || this.$route.query.copyId).then((res) => {
let formData = res.data let formData = res.data
formData.type = formData.type ? formData.type.split(",").filter((item) => item != "") : [] formData.serviceType = formData.serviceType ? formData.serviceType.split(",").filter((item) => item != "") : []
console.log(formData.serviceType)
formData.prodCreateReqVOList = [] formData.prodCreateReqVOList = []
if (formData.transportVO && formData.transportVO.packageType) { if (formData.transportVO && formData.transportVO.packageType) {
formData.transportVO.packageTypeArr = formData.transportVO.packageType.split(",").filter((item) => item && item != "") formData.transportVO.packageTypeArr = formData.transportVO.packageType.split(",").filter((item) => item && item != "")
...@@ -1179,10 +1184,12 @@ export default { ...@@ -1179,10 +1184,12 @@ export default {
} }
if (this.$route.query.copyId) { if (this.$route.query.copyId) {
formData.offerId = "" formData.offerId = null
formData.startTime = "" formData.startTime = ""
formData.endTime = "" formData.endTime = ""
formData.stopTime = "" formData.stopTime = ""
// 复制报价单状态重置为草稿
formData.status = 2
} }
formData.channelId = formData.channelId || null formData.channelId = formData.channelId || null
...@@ -1327,7 +1334,8 @@ export default { ...@@ -1327,7 +1334,8 @@ export default {
if (this.form.offerId != null) { if (this.form.offerId != null) {
let data = Object.assign({}, this.form, { let data = Object.assign({}, this.form, {
// transportUpdateReqVOList: this.transportList.filter(item => item._enabled), // transportUpdateReqVOList: this.transportList.filter(item => item._enabled),
prodUpdateReqVOList: this.getProductListWithDefaultValue() prodUpdateReqVOList: this.getProductListWithDefaultValue(),
serviceType: this.form.serviceType.join(",")
}) })
if (data.status < 3) { if (data.status < 3) {
data.status = status data.status = status
...@@ -1343,12 +1351,14 @@ export default { ...@@ -1343,12 +1351,14 @@ export default {
console.log(JSON.stringify(this.contactsList)) console.log(JSON.stringify(this.contactsList))
data = Object.assign({}, this.form, { data = Object.assign({}, this.form, {
prodCreateReqVOList: this.getProductListWithDefaultValue(), prodCreateReqVOList: this.getProductListWithDefaultValue(),
status status,
serviceType: this.form.serviceType.join(",")
}) })
} else { } else {
data = Object.assign({}, this.form, { data = Object.assign({}, this.form, {
prodCreateReqVOList: this.getProductListWithDefaultValue(), prodCreateReqVOList: this.getProductListWithDefaultValue(),
status status,
serviceType: this.form.serviceType.join(",")
}) })
} }
......
...@@ -52,10 +52,8 @@ ...@@ -52,10 +52,8 @@
</el-form-item> </el-form-item>
</div> </div>
</el-form> </el-form>
</div> </div>
<!-- 操作工具栏 --> <!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
...@@ -70,7 +68,7 @@ ...@@ -70,7 +68,7 @@
</el-button> </el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-table ref="multipleTable" :data="customerFollowList" v-loading="loading" @selection-change="handleSelectionChange" style="width: 100%"> <el-table ref="multipleTable" :data="customerFollowList" v-loading="loading" @selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" width="55" fixed></el-table-column> <el-table-column type="selection" width="55" fixed></el-table-column>
<el-table-column prop="number" :label="$t('编号')" align="center" fixed> <el-table-column prop="number" :label="$t('编号')" align="center" fixed>
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -125,8 +123,8 @@ ...@@ -125,8 +123,8 @@
</el-table> </el-table>
<pagination :total="customerFollowTotal" :page.sync="followForm.pageNo" :limit.sync="followForm.pageSize" @pagination="getCustomerFollowList" /> <pagination :total="customerFollowTotal" :page.sync="followForm.pageNo" :limit.sync="followForm.pageSize" @pagination="getCustomerFollowList" />
</el-card> </el-card>
<customer-follow ref="customerFollow" @handleCustomerFollowAdd="handleCustomerFollowAdd" @refresh="handleQuery" v-if="customerFollowVisible" :customer-id="customerId" :customerService="customerService" :customerNumber="customerNumber" /> <customer-follow ref="customerFollow" @close="customerFollowVisible = false" @handleCustomerFollowAdd="handleCustomerFollowAdd" @refresh="handleQuery" v-if="customerFollowVisible" :customer-id="customerId" :customerService="customerService" :customerNumber="customerNumber" />
<customer-follow-update-status :show.sync="updateStatus" :followup-ids.sync="selectCustomerFollowList" @refresh="handleQuery" /> <customer-follow-update-status :show.sync="updateStatus" :followup-ids.sync="selectCustomerFollowList" @refresh="handleQuery"></customer-follow-update-status>
</div> </div>
</template> </template>
...@@ -135,10 +133,10 @@ import { getCustomerFollowList, exportCustomerFollow } from "@/api/ecw/customerF ...@@ -135,10 +133,10 @@ import { getCustomerFollowList, exportCustomerFollow } from "@/api/ecw/customerF
import { getDictDatas, DICT_TYPE, getDictDatas2 } from "@/utils/dict" import { getDictDatas, DICT_TYPE, getDictDatas2 } from "@/utils/dict"
import CustomerFollow from "@/views/ecw/customer/components/customerFollow" import CustomerFollow from "@/views/ecw/customer/components/customerFollow"
import UserSelector from "@/components/UserSelector" import UserSelector from "@/components/UserSelector"
import customerFollowUpdateStatus from "@/views/ecw/customer/components/customerFollowUpdateStatus.vue"; import customerFollowUpdateStatus from "@/views/ecw/customer/components/customerFollowUpdateStatus.vue"
export default { export default {
name: "logListCommon", name: "logListCommon",
components: {customerFollowUpdateStatus, UserSelector, CustomerFollow }, components: { customerFollowUpdateStatus, UserSelector, CustomerFollow },
props: ["customerId", "offerId", "customerService", "customerNumber"], props: ["customerId", "offerId", "customerService", "customerNumber"],
data() { data() {
return { return {
......
...@@ -10,10 +10,10 @@ ...@@ -10,10 +10,10 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('发货人')" prop="consignorKey"> <el-form-item :label="$t('发货人')" prop="consignorKey">
<el-input v-model.trim="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(queryParams, 'consignorKey')" /> <el-input v-model.trim="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeKey"> <el-form-item :label="$t('收货人')" prop="consigneeKey">
<el-input v-model.trim="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(queryParams, 'consigneeKey')" /> <el-input v-model.trim="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('控货状态')" prop="isCargoControl"> <el-form-item :label="$t('控货状态')" prop="isCargoControl">
<dict-selector v-model="queryParams.cargoControlStatusList" multiple :type="DICT_TYPE.CONTROL_GOODS_STATUS" clearable @change="handleQuery" /> <dict-selector v-model="queryParams.cargoControlStatusList" multiple :type="DICT_TYPE.CONTROL_GOODS_STATUS" clearable @change="handleQuery" />
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<el-input v-model="queryParams.orderNo" :placeholder="$t('订单编号')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" /> <el-input v-model="queryParams.orderNo" :placeholder="$t('订单编号')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" />
</el-form-item>--> </el-form-item>-->
<el-form-item :label="$t('商品') + ':'" v-show="showSearch"> <el-form-item :label="$t('商品') + ':'" v-show="showSearch">
<el-input v-model.trim="prodParam.value" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(prodParam, 'value')"> <el-input v-model.trim="prodParam.value" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery">
<template slot="prepend"> <template slot="prepend">
<dict-selector :type="DICT_TYPE.ORDER_QUERY_PROD_FIELD" defaultable v-model="prodParam.key" class="w-50" /> <dict-selector :type="DICT_TYPE.ORDER_QUERY_PROD_FIELD" defaultable v-model="prodParam.key" class="w-50" />
</template> </template>
......
This diff is collapsed.
This diff is collapsed.
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
:placeholder="$t('发货人')" :placeholder="$t('发货人')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
@input="replaceSpace(queryParams, 'consignorText')"
/> />
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeText"> <el-form-item :label="$t('收货人')" prop="consigneeText">
...@@ -40,7 +39,6 @@ ...@@ -40,7 +39,6 @@
:placeholder="$t('收货人')" :placeholder="$t('收货人')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
@input="replaceSpace(queryParams, 'consigneeText')"
/> />
</el-form-item> </el-form-item>
<el-form-item :label="$t('运输方式') + ':'" v-show="showSearch"> <el-form-item :label="$t('运输方式') + ':'" v-show="showSearch">
...@@ -211,7 +209,7 @@ ...@@ -211,7 +209,7 @@
v-model="queryParams.goodsNameKey" v-model="queryParams.goodsNameKey"
/> />
<product-selector <product-selector
v-model="queryParams.goodsName" v-model.trim="queryParams.goodsName"
style="flex: 1" style="flex: 1"
:clearable="true" :clearable="true"
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
> >
<el-form-item> <el-form-item>
<el-button <el-button
:disabled="!!processInstanceId || editMode" :disabled="!!processInstanceId "
@click="addCost" @click="addCost"
>{{ $t("添加申请") }} >{{ $t("添加申请") }}
</el-button </el-button
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
<!--el-button type="text" v-if="scope.row.status == 1" @click="examineFn">{{$t('审核中')}}</el-button--> <!--el-button type="text" v-if="scope.row.status == 1" @click="examineFn">{{$t('审核中')}}</el-button-->
<el-button <el-button
type="text" type="text"
v-if="modifable(scope.$index)" v-if="scope.row.id && modifable(scope.row)"
@click="modify(scope.row)" @click="modify(scope.row)"
>{{ $t("修改") }} >{{ $t("修改") }}
</el-button </el-button
...@@ -225,7 +225,8 @@ export default { ...@@ -225,7 +225,8 @@ export default {
return this.$i18n.locale === "zh_CN"; return this.$i18n.locale === "zh_CN";
}, },
feeList() { feeList() {
return this.list.filter((item) => item.status === 0); // return this.list.filter((item) => item.status === 0);
return this.list;
}, },
// 正在编辑的费用申请 // 正在编辑的费用申请
currentItem() { currentItem() {
...@@ -236,13 +237,13 @@ export default { ...@@ -236,13 +237,13 @@ export default {
return !!this.currentItem; return !!this.currentItem;
}, },
modifable() { modifable() {
return (index) => { return (item) => {
// 审核中不允许修改 // 审核中不允许修改
if (this.processInstanceId) return false; if (this.processInstanceId) return false;
// 有未提交的不允许修改 // 有未提交的不允许修改
if (this.feeList.length) return false; // if (this.feeList.length) return false;
// 修改中的不允许修改 // 修改中的不允许修改
if (this.list.findIndex((item) => item.editMode) > -1) return false; if (item.editMode) return false;
return true; return true;
} }
} }
...@@ -263,7 +264,7 @@ export default { ...@@ -263,7 +264,7 @@ export default {
// 查询是否有审核中的费用申请 // 查询是否有审核中的费用申请
getFeeApplicationApproveByOrderId(this.orderId).then((res) => { getFeeApplicationApproveByOrderId(this.orderId).then((res) => {
if (res.data.formId) { if (res.data) {
this.processInstanceId = res.data.formId; this.processInstanceId = res.data.formId;
/*getBatchFeeByBusinessId(res.data.orderApprovalId).then(res => { /*getBatchFeeByBusinessId(res.data.orderApprovalId).then(res => {
this.list = res.data this.list = res.data
...@@ -306,10 +307,11 @@ export default { ...@@ -306,10 +307,11 @@ export default {
}, },
submit() { submit() {
// 判断费用申请是否有未填项 // 判断费用申请是否有未填项
// console.log("提交的费用信息列表", this.feeList)
const errList = this.feeList.filter((item) => { const errList = this.feeList.filter((item) => {
return ( return (
!item["feeType"] || !item["feeType"] ||
!item["applicationFee"] || item.applicationFee == null || item.applicationFee == undefined ||
!item["applicationFeeCurrency"] || !item["applicationFeeCurrency"] ||
!item["payType"] !item["payType"]
); );
...@@ -317,18 +319,18 @@ export default { ...@@ -317,18 +319,18 @@ export default {
if (errList.length) { if (errList.length) {
return this.$message.error("请填写完整费用申请信息"); return this.$message.error("请填写完整费用申请信息");
} }
if (this.editMode) { // if (this.editMode) {
// 要提交status=1,否则保持原状态 // // 要提交status=1,否则保持原状态
const data = { // const data = {
...this.currentItem, // ...this.currentItem,
status: 1, // status: 1,
copyUserId: this.selectedUsers, // copyUserId: this.selectedUsers,
}; // };
return applicationUpdate(data).then((r) => { // return applicationUpdate(data).then((r) => {
this.$message.success(this.$t("修改成功")); // this.$message.success(this.$t("修改成功"));
this.$emit("update:dialogVisible", false); // this.$emit("update:dialogVisible", false);
}); // });
} // }
feeApplicationCreateBatch({ feeApplicationCreateBatch({
orderFeeApplicationCreateReqVOList: this.feeList, orderFeeApplicationCreateReqVOList: this.feeList,
...@@ -339,6 +341,7 @@ export default { ...@@ -339,6 +341,7 @@ export default {
this.$emit("update:dialogVisible", false); this.$emit("update:dialogVisible", false);
this.$message.success(this.$t("添加成功")); this.$message.success(this.$t("添加成功"));
this.selectedUsers = []; this.selectedUsers = [];
this.$emit("refresh")
} }
}); });
}, },
......
...@@ -13,10 +13,10 @@ ...@@ -13,10 +13,10 @@
</el-form-item> --> </el-form-item> -->
<el-form-item :label="$t('发货人')" prop="consignorKey"> <el-form-item :label="$t('发货人')" prop="consignorKey">
<el-input v-model.trim="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(queryParams, 'consignorKey')" /> <el-input v-model.trim="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeKey"> <el-form-item :label="$t('收货人')" prop="consigneeKey">
<el-input v-model.trim="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(queryParams, 'consigneeKey')" /> <el-input v-model.trim="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('控货')" prop="isCargoControl" v-show="showSearch"> <el-form-item :label="$t('控货')" prop="isCargoControl" v-show="showSearch">
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
</el-form-item> --> </el-form-item> -->
<el-form-item :label="$t('商品')" prop="tidanNo" v-show="showSearch"> <el-form-item :label="$t('商品')" prop="tidanNo" v-show="showSearch">
<el-input v-model.trim="prodParam.value" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(prodParam, 'value')"> <el-input v-model.trim="prodParam.value" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery">
<template slot="prepend"> <template slot="prepend">
<dict-selector :type="DICT_TYPE.ORDER_QUERY_PROD_FIELD" defaultable v-model="prodParam.key" class="w-50" /> <dict-selector :type="DICT_TYPE.ORDER_QUERY_PROD_FIELD" defaultable v-model="prodParam.key" class="w-50" />
</template> </template>
...@@ -289,7 +289,7 @@ ...@@ -289,7 +289,7 @@
<el-table-column v-if="dept" :label="$t('客户经理')" align="center" prop="salesmanName" /> <el-table-column v-if="dept" :label="$t('客户经理')" align="center" prop="salesmanName" />
<el-table-column :label="$t('发货人客服')" align="center" prop="consignorFollowCustomerService" /> <el-table-column :label="$t('发货人客服')" align="center" prop="consignorFollowCustomerService" />
<el-table-column :label="$t('收货人客服')" align="center" prop="consigneeFollowCustomerService" /> <el-table-column :label="$t('收货人客服')" align="center" prop="consigneeFollowCustomerService" />
<el-table-column :label="$t('到仓箱数/方数重量')" align="center" prop="status"> <el-table-column :label="$t('到仓箱数/方数/重量')" align="center" prop="status">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
{{ row.checkNum }}{{ $t("") }} / {{ row.checkVolume }}m³ /{{ row.checkWeight }}Kg {{ row.checkNum }}{{ $t("") }} / {{ row.checkVolume }}m³ /{{ row.checkWeight }}Kg
</template> </template>
...@@ -449,10 +449,28 @@ ...@@ -449,10 +449,28 @@
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<template v-if="exclude(scope.row.status, [0, 11, 12, 13, 14, 15, 17, 18, 32]) && exclude(scope.row.inWarehouseState, [204, 205, 206])"> <template
v-if="
(exclude(scope.row.status,[0, 11, 12, 13, 14, 15, 17, 18, 32]) && exclude(scope.row.inWarehouseState, [204, 205, 206]))
||
(scope.row.shipmentState > 0 && scope.row.inWarehouseState == 0)
"
>
<!-- <el-divider direction="vertical"></el-divider> --> <!-- <el-divider direction="vertical"></el-divider> -->
<!--仓库相关的--> <!--仓库相关的-->
<el-dropdown v-hasPermi="['ecw:order:warehouse_add', 'ecw:order:warehouse_update', 'ecw:order:warehouse_exit', 'ecw:order:warehouse_adjustment', 'ecw:order:warehouse_transfer', 'ecw:order:warehouse_arrive', 'ecw:order:stocking']"> <el-dropdown
v-hasPermi="[
'ecw:order:warehouse_add',
'ecw:order:warehouse_update',
'ecw:order:warehouse_exit',
'ecw:order:warehouse_adjustment',
'ecw:order:warehouse_transfer',
'ecw:order:warehouse_arrive',
'ecw:order:stocking',
'ecw:order:shipment:warehouse_replenish',
'ecw:order:shipment:warehouse_update',
]"
>
<el-button type="text">{{ $t("仓库") }}</el-button> <el-button type="text">{{ $t("仓库") }}</el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<!-- 入仓操作 --> <!-- 入仓操作 -->
...@@ -460,12 +478,66 @@ ...@@ -460,12 +478,66 @@
<el-dropdown-item @click.native="$router.push('/order/warehousing?id=' + scope.row.orderId)" v-hasPermi="['ecw:order:warehouse_add']">{{ $t("入仓操作") }}</el-dropdown-item> <el-dropdown-item @click.native="$router.push('/order/warehousing?id=' + scope.row.orderId)" v-hasPermi="['ecw:order:warehouse_add']">{{ $t("入仓操作") }}</el-dropdown-item>
</template> </template>
<!-- 入仓补充 --> <!-- 入仓补充 -->
<template v-if="include(scope.row.inWarehouseState, [201, 202, 202, 210, 202, 211, 202, 214, 215, 216]) && include(scope.row.status, [2, 3, 5, 10, 9, 8])"> <template
<el-dropdown-item @click.native="$router.push('/order/warehousing-add?id=' + scope.row.orderId)" v-hasPermi="['ecw:order:warehouse_replenish']">{{ $t("入仓补充") }}</el-dropdown-item> v-if="scope.row.shipmentState > 0 && scope.row.inWarehouseState == 0"
>
<el-dropdown-item
@click.native="$router.push('/order/warehousing-add?shipment=1&id=' + scope.row.orderId)"
v-hasPermi="['ecw:order:shipment:warehouse_replenish']"
>{{ $t("入仓补充") }}</el-dropdown-item
>
</template>
<template
v-else-if="
include(
scope.row.inWarehouseState,
[201, 202, 202, 210, 202, 211, 202, 214, 215, 216]
) && include(scope.row.status, [2, 3, 5, 10, 9, 8])
"
>
<el-dropdown-item
@click.native="
$router.push(
'/order/warehousing-add?id=' + scope.row.orderId
)
"
v-hasPermi="['ecw:order:warehouse_replenish']"
>{{ $t("入仓补充") }}</el-dropdown-item
>
</template> </template>
<!-- 入仓修改 --> <!-- 入仓修改 -->
<template v-if="include(scope.row.inWarehouseState, [201, 202, 207, 202, 209, 210, 202, 211, 202, 214, 215, 216, 204, 205]) && scope.row.status != 11 && exclude(scope.row.shipmentState, [314, 315, 317, 318])"> <template
<el-dropdown-item @click.native="$router.push('/order/warehousing-update?id=' + scope.row.orderId)" v-hasPermi="['ecw:order:warehouse_update']" :disabled2="scope.row.parentOrderId">{{ $t("入仓修改") }}</el-dropdown-item> v-if="scope.row.shipmentState > 0 && scope.row.inWarehouseState == 0"
>
<el-dropdown-item
@click.native="$router.push('/order/warehousing-update?shipment=1&id=' + scope.row.orderId)"
v-hasPermi="['ecw:order:shipment:warehouse_update']"
>{{ $t("入仓修改") }}</el-dropdown-item
>
</template>
<template
v-else-if="
include(
scope.row.inWarehouseState,
[
201, 202, 207, 202, 209, 210, 202, 211, 202, 214, 215,
216, 204, 205,
]
) &&
scope.row.status != 11 &&
exclude(scope.row.shipmentState, [305, 307, 407])
"
>
<el-dropdown-item
@click.native="
$router.push(
'/order/warehousing-update?id=' + scope.row.orderId
)
"
v-hasPermi="['ecw:order:warehouse_update']"
:disabled2="scope.row.parentOrderId"
>{{ $t("入仓修改") }}</el-dropdown-item
>
</template> </template>
<!-- 退仓 --> <!-- 退仓 -->
...@@ -589,7 +661,7 @@ ...@@ -589,7 +661,7 @@
<batch-pickup v-if="showBatchPickup" @close="onBatchClose" @success="onBatchClose" /> <batch-pickup v-if="showBatchPickup" @close="onBatchClose" @success="onBatchClose" />
<withdrawal v-if="show" :dialog-visible="show" :orderId="orderId"></withdrawal> <withdrawal v-if="show" :dialog-visible="show" :orderId="orderId"></withdrawal>
<batch-single-application @getList="getList" :order-list="orderId" :dialog-visible.sync="warehouseBol"></batch-single-application> <batch-single-application @getList="getList" :order-list="orderId" :dialog-visible.sync="warehouseBol"></batch-single-application>
<fee-application v-if="feeApplicationBol" :order-id="orderId" :currencys="JSON.stringify(currencyList)" :dialog-visible.sync="feeApplicationBol"></fee-application> <fee-application v-if="feeApplicationBol" :order-id="orderId" :currencys="JSON.stringify(currencyList)" :dialog-visible.sync="feeApplicationBol "@refresh="getList"></fee-application>
<merge-log :order-no="showMergedLogOrderNo" v-if="showMergedLogOrderNo !== null" @close="showMergedLogOrderNo = null" /> <merge-log :order-no="showMergedLogOrderNo" v-if="showMergedLogOrderNo !== null" @close="showMergedLogOrderNo = null" />
<pickup-log v-if="showPickupLogOrderNo" :order-no="showPickupLogOrderNo" @close="showPickupLogOrderNo = null" @delete="getList" /> <pickup-log v-if="showPickupLogOrderNo" :order-no="showPickupLogOrderNo" @close="showPickupLogOrderNo = null" @delete="getList" />
<SplitRevoke <SplitRevoke
......
...@@ -4,14 +4,14 @@ ...@@ -4,14 +4,14 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
<el-form-item :label="$t('编号')" prop="orderNo"> <el-form-item :label="$t('编号')" prop="orderNo">
<el-input v-model="queryParams.numberKey" :placeholder="$t('请输入订单号、唛头、提单号')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" /> <el-input v-model="queryParams.numberKey" :placeholder="$t('请输入订单号、唛头、提单号')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(queryParams, 'numberKey')" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('发货人')" prop="consignorKey"> <el-form-item :label="$t('发货人')" prop="consignorKey">
<el-input v-model="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" /> <el-input v-model.trim="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeKey"> <el-form-item :label="$t('收货人')" prop="consigneeKey">
<el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" /> <el-input v-model.trim="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('客户经理')" > <el-form-item :label="$t('客户经理')" >
<user-selector manage v-model="queryParams.salesmanIds" multiple clearable @change="handleQuery" <user-selector manage v-model="queryParams.salesmanIds" multiple clearable @change="handleQuery"
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('商品')" prop="tidanNo" v-show="showSearch"> <el-form-item :label="$t('商品')" prop="tidanNo" v-show="showSearch">
<el-input v-model.trim="queryParams.prodKey" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model.trim="queryParams.prodKey" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<!--根据需求文档 lanbm 2024-06-23 隐藏--> <!--根据需求文档 lanbm 2024-06-23 隐藏-->
...@@ -685,6 +685,10 @@ export default { ...@@ -685,6 +685,10 @@ export default {
this.AddressTown = data; this.AddressTown = data;
}) })
} }
},
// 自动去除空格
replaceSpace(obj, field) {
obj[field] = obj[field].replace(/\s+/g, "")
} }
} }
}; };
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
:placeholder="$t('发货人')" :placeholder="$t('发货人')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
@input="replaceSpace(queryParams, 'consignorKey')"
/> />
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeKey"> <el-form-item :label="$t('收货人')" prop="consigneeKey">
...@@ -28,7 +27,6 @@ ...@@ -28,7 +27,6 @@
:placeholder="$t('收货人')" :placeholder="$t('收货人')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
@input="replaceSpace(queryParams, 'consigneeKey')"
/> />
</el-form-item> </el-form-item>
<el-form-item :label="$t('客户经理')"> <el-form-item :label="$t('客户经理')">
...@@ -115,7 +113,6 @@ ...@@ -115,7 +113,6 @@
:placeholder="$t('请输入商品类型、品名或品牌')" :placeholder="$t('请输入商品类型、品名或品牌')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
@input="replaceSpace(queryParams, 'prodKey')"
/> />
</el-form-item> </el-form-item>
......
...@@ -407,9 +407,9 @@ ...@@ -407,9 +407,9 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<div v-if="edit && order.status !== 3"> <div v-if="(edit && order.status !== 3) || isShipment">
<h2>{{ $t("审批流程") }}</h2> <h2>{{ $t('审批流程') }}</h2>
<work-flow xmlkey="free_apply" v-model="selectedUsers" /> <work-flow xmlkey="free_apply" v-model="selectedUsers" />
<!-- <div>选择的用户:{{selectedUsers}}</div>--> <!-- <div>选择的用户:{{selectedUsers}}</div>-->
</div> </div>
...@@ -471,6 +471,7 @@ import { getProductTypeList } from "@/api/ecw/productType" ...@@ -471,6 +471,7 @@ import { getProductTypeList } from "@/api/ecw/productType"
import { addProduct } from "@/api/ecw/product" import { addProduct } from "@/api/ecw/product"
import ImageAndVideoUpload from "@/components/ImageAndVideoUpload/index.vue" import ImageAndVideoUpload from "@/components/ImageAndVideoUpload/index.vue"
import WarehouseRecordDetail from "@/views/ecw/order/warehousing/components/WarehouseRecordDetail.vue" import WarehouseRecordDetail from "@/views/ecw/order/warehousing/components/WarehouseRecordDetail.vue"
import { appendApplyWhenShipment, updateApplyWhenShipment } from '@/api/ecw/warehouse'
export default { export default {
name: "Warehouse", name: "Warehouse",
...@@ -520,6 +521,10 @@ export default { ...@@ -520,6 +521,10 @@ export default {
orderWarehouseInBackItemDoList: [] orderWarehouseInBackItemDoList: []
} }
} }
},
isShipment:{
type: Boolean,
default: false
} }
}, },
...@@ -803,7 +808,9 @@ export default { ...@@ -803,7 +808,9 @@ export default {
return return
} }
this.submitting = true this.submitting = true
return orderWarehouseIn({ const func = this.isShipment ? appendApplyWhenShipment : orderWarehouseIn
console.log("提交追加", this.isShipment, func)
return func({
...this.form1, ...this.form1,
brandType: this.warehousing.brandType, brandType: this.warehousing.brandType,
orderId: this.warehousing.orderId, orderId: this.warehousing.orderId,
...@@ -849,7 +856,8 @@ export default { ...@@ -849,7 +856,8 @@ export default {
if (this.edit) { if (this.edit) {
// 入仓修改 // 入仓修改
this.submitting = true this.submitting = true
return orderWarehouseInUpdateApply({ const func = this.isShipment ? updateApplyWhenShipment : orderWarehouseInUpdateApply
return func({
...this.form, ...this.form,
brandType: this.warehousing.brandType, brandType: this.warehousing.brandType,
orderId: this.warehousing.orderId, orderId: this.warehousing.orderId,
...@@ -873,7 +881,7 @@ export default { ...@@ -873,7 +881,7 @@ export default {
.then((r) => { .then((r) => {
this.submitting = false this.submitting = false
if (r.data) { if (r.data) {
this.$message.success(r.msg || "入仓修改发起成功") this.$message.success(this.$t("入仓修改发起成功"))
this.handleClose() this.handleClose()
} else { } else {
this.$message.success(r.msg || "入仓修改发起失败") this.$message.success(r.msg || "入仓修改发起失败")
...@@ -885,7 +893,8 @@ export default { ...@@ -885,7 +893,8 @@ export default {
} else { } else {
// 首次入仓、入仓补充 // 首次入仓、入仓补充
this.submitting = true this.submitting = true
return orderWarehouseIn({ const func = this.isShipment ? appendApplyWhenShipment : orderWarehouseIn
return func({
...this.form, ...this.form,
brandType: this.warehousing.brandType, brandType: this.warehousing.brandType,
orderId: this.warehousing.orderId, orderId: this.warehousing.orderId,
...@@ -905,7 +914,7 @@ export default { ...@@ -905,7 +914,7 @@ export default {
.then((r) => { .then((r) => {
this.submitting = false this.submitting = false
if (r.data) { if (r.data) {
this.$message.success("入仓成功") this.$message.success(this.isShipment ? this.$t('入仓追加已提交审批') : this.$t("入仓成功"))
this.handleClose() this.handleClose()
} else { } else {
this.$message.success("入仓失败") this.$message.success("入仓失败")
......
...@@ -103,6 +103,7 @@ ...@@ -103,6 +103,7 @@
:order-item-b="orderItemList[$index]" :order-item-b="orderItemList[$index]"
:title="$t('修改')" :title="$t('修改')"
:order="order" :order="order"
:is-shipment="isShipment"
@close="getList" @close="getList"
></warehouse> ></warehouse>
<template <template
...@@ -120,9 +121,11 @@ ...@@ -120,9 +121,11 @@
:order-item-b="orderItemList[$index]" :order-item-b="orderItemList[$index]"
:title="$t('追加')" :title="$t('追加')"
:order="order" :order="order"
:is-shipment="isShipment"
@close="getList" @close="getList"
></warehouse> ></warehouse>
<el-button <el-button
v-if="!isShipment"
size="mini" size="mini"
type="text" type="text"
@click="handleWarehousingReturn(row)" @click="handleWarehousingReturn(row)"
...@@ -254,7 +257,7 @@ ...@@ -254,7 +257,7 @@
</el-card> </el-card>
<div <div
style="text-align: center; margin-top: 15px" style="text-align: center; margin-top: 15px"
v-if="!(order.status !== 3 && isEdit)" v-if="!(order.status !== 3 && isEdit) && !isShipment"
> >
<el-button @click="escapeBol = true" type="primary">{{ <el-button @click="escapeBol = true" type="primary">{{
$t("转异") $t("转异")
...@@ -696,6 +699,9 @@ export default { ...@@ -696,6 +699,9 @@ export default {
warehouseId() { warehouseId() {
return this.order?.logisticsInfoDto?.startWarehouseId; return this.order?.logisticsInfoDto?.startWarehouseId;
}, },
isShipment(){
return this.$route.query?.shipment==1
}
}, },
}; };
</script> </script>
......
...@@ -3,14 +3,14 @@ ...@@ -3,14 +3,14 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item :label="$t('订单编号')" prop="orderNo"> <el-form-item :label="$t('订单编号')" prop="orderNo">
<el-input v-model="queryParams.orderNo" :placeholder="$t('订单编号')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" /> <el-input v-model.trim="queryParams.orderNo" :placeholder="$t('订单编号')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(queryParams, 'orderNo')" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('发货人')" prop="consignorKey"> <el-form-item :label="$t('发货人')" prop="consignorKey">
<el-input v-model="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" /> <el-input v-model.trim="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeKey"> <el-form-item :label="$t('收货人')" prop="consigneeKey">
<el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" /> <el-input v-model.trim="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('控货状态')" prop="isCargoControl"> <el-form-item :label="$t('控货状态')" prop="isCargoControl">
<dict-selector v-model="queryParams.cargoControlStatusList" multiple :type="DICT_TYPE.CONTROL_GOODS_STATUS" clearable @change="handleQuery" /> <dict-selector v-model="queryParams.cargoControlStatusList" multiple :type="DICT_TYPE.CONTROL_GOODS_STATUS" clearable @change="handleQuery" />
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('商品')" prop="prodId" v-show="showSearch"> <el-form-item :label="$t('商品')" prop="prodId" v-show="showSearch">
<product-selector v-model="queryParams.prodId" @keyup.enter.native="handleQuery" clearable @change="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" /> <product-selector v-model.trim="queryParams.prodId" @keyup.enter.native="handleQuery" clearable @change="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('订单状态')" prop="statusList" v-show="showSearch"> <el-form-item :label="$t('订单状态')" prop="statusList" v-show="showSearch">
...@@ -351,7 +351,10 @@ export default { ...@@ -351,7 +351,10 @@ export default {
this.loading = false this.loading = false
}) })
}, },
// 自动去除空格
replaceSpace(obj, field) {
obj[field] = obj[field].replace(/\s+/g, "")
},
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.page = 1 this.queryParams.page = 1
......
...@@ -921,7 +921,7 @@ export default { ...@@ -921,7 +921,7 @@ export default {
cityList: [], cityList: [],
serviceGroup: [ serviceGroup: [
{ id: "1", text: this.$t("集运服务") }, { id: "1", text: this.$t("集运") },
{ id: "6", text: this.$t("数量(个)是否必填") }, { id: "6", text: this.$t("数量(个)是否必填") },
], ],
......
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