Commit ae0340a5 authored by dragondean@qq.com's avatar dragondean@qq.com

Merge branch 'dev'

parents 29b11861 8c2f75c2
......@@ -48,19 +48,11 @@ export default {
},
'formData.country'(country){
this.$emit('countryChange', country)
/* this.treeList.forEach(item => {
if(item.id == country){
this.provinceList = item.children || []
}
}) */
this.$set(this.formData, 'province', undefined)
},
'formData.province'(province){
this.$emit('provinceChange', province)
/* this.provinceList.forEach(item => {
if(item.id == province){
this.cityList = item.children || []
}
}) */
this.$set(this.formData, 'city', '')
}
},
computed:{
......
......@@ -11,6 +11,11 @@
</el-select>
<el-input v-model="queryParams.titleZh" :placeholder="$t('产品关键字')" style="width:120px" clearable />
<el-button type="primary" @click="reLoad">{{$t('搜索')}}</el-button>
<div v-if="showAll">
<el-checkbox :label="$t('全选(最多500)')" @change="toggleAll"></el-checkbox>
<el-checkbox :label="$t('全选库内商品(共{cnt}个)', {cnt: total})" v-model="isAllProduct"></el-checkbox>
</div>
</div>
<div class="list">
<div class="item" v-for="item in list" :key="item.id">
......@@ -23,7 +28,7 @@
<div class="flex-1 ml-10">
<el-card style="height:100%">
<div slot="header" class="header">
{{$t('已选产品')}}
{{$t('已选{cnt}个产品', {cnt: isAllProduct ? total : choosedList.length})}}
</div>
<div class="list">
<div class="item" v-for="(choosed) in choosedList" :key="choosed.id" :data-data="JSON.stringify(choosed)">
......@@ -47,13 +52,15 @@ export default {
default: () => {
return []
}
}
},
showAll: Boolean
},
data() {
return {
list: [],
page: 1,
pages: 1,
total: 0, // 商品总数
queryParams: {
pageNo: 1,
pageSize: 500,
......@@ -63,7 +70,8 @@ export default {
},
choosedList: [],
typeList: [],
attrList: []
attrList: [],
isAllProduct: false
}
},
computed: {
......@@ -83,6 +91,9 @@ export default {
watch: {
ids(val) {
this.$emit('input', val)
},
isAllProduct(isAllProduct){
this.$emit('setall', isAllProduct)
}
},
created() {
......@@ -92,6 +103,14 @@ export default {
this.ids = this.defaultIds //数据回显
},
methods: {
/* setAllProduct(status){
this.isAllProduct = true
}, */
toggleAll(status){
this.list.forEach(item => {
this.toggleCheck(item, status)
})
},
reLoad() {
this.queryParams.page = 1
this.list = []
......@@ -109,6 +128,7 @@ export default {
this.list = res.data.list //.concat(res.data.list || [])
this.page = res.data.page
this.pages = res.data.pages
this.total = res.data.total
this.choosedList = [] //搜搜重置,数据回显
if (this.defaultIds.length > 0) {
this.defaultIds.map(item => {
......@@ -129,7 +149,9 @@ export default {
}
},
choose(item) {
this.choosedList.push(item)
if(!this.choosedList.find(it => it.id == item.id)){
this.choosedList.push(item)
}
},
remove(item) {
this.choosedList.forEach((choosed, index) => {
......
......@@ -163,7 +163,6 @@ export default {
myFollowCustomerList: [],
customerSelect: [],
// 处理
handle: {
......@@ -175,9 +174,6 @@ export default {
};
},
created() {
getCustomerSelect().then(r => {
this.customerSelect = r.data
})
},
methods: {
getBillList(key){
......
......@@ -385,6 +385,8 @@ export default {
shipmentObj: this.$attrs.shipmentObj,
// 抄送人数组
selectedUsers: [],
// 智慧预装
smartInstall: 1,
};
},
computed: {
......@@ -415,6 +417,7 @@ export default {
// 查询待预装
this.handleQuery("toBePre");
this.handleQuery("pre");
this.smartInstall = 0;
},
methods: {
formatDate,
......@@ -436,10 +439,10 @@ export default {
// 已预装单号
params.orderNo = params.preOrderNo;
params.shipmentId = this.shipmentObj.id;
params.smartInstall = this.smartInstall;
secGoodsList(params).then((res) => {
this.preList = res.data;
this.preLoading = false;
this.getPreLoad();
});
},
/* 查询待预装 */
......@@ -638,6 +641,7 @@ export default {
queryAllData() {
this.pageParam.pageNo = 1;
this.getSecGoods();
this.getPreLoad();
},
/* 获取参数 */
getParams() {
......
......@@ -97,7 +97,11 @@
</template>
</el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}">
+{{row.defaultContactPhone}}
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
......
......@@ -90,7 +90,9 @@
</template>
</el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}">{{row.defaultContactPhone}}</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
......
......@@ -100,7 +100,11 @@
</template>
</el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}">
+{{row.defaultContactPhone}}
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
......
......@@ -214,9 +214,11 @@
label=""
label-width="0"
style="margin-bottom: 0"
required
:error="$t('账单号不能为空')"
prop="accountNumber"
:rules="[
{ required: true, message: '账单号不能为空', trigger: 'blur' },
]"
>
<el-input
v-model="form.accountNumber"
......@@ -463,6 +465,7 @@ export default {
this.handleSelectionChange([res.data])
this.list = this.multipleSelection
this.$set(this.form, 'supplierId', res.data.supplierId)
this.selectChange(this.form.supplierId)
})
}
if (that.$route.query.id && that.$route.query.id !== '0') {
......@@ -474,6 +477,7 @@ export default {
applicationAt: this.parseTime(res.data.applicationAt, '{y}-{m}-{d}'),
invoiceStatus: String(res.data.invoiceStatus),
}
this.$set(this.form,'supplierBankAccount',res.data.supplierBankAccount)
console.log(this.form)
})
......
......@@ -181,13 +181,13 @@
<el-form-item :label="$t('操作步骤')">
<el-select v-model="costObj.stepsId" :placeholder="$t('请选择操作步骤')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PROCESS)" :key="type.value" :label="type.label" :value="type.value"></el-option>
<el-option v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PROCESS)" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('费用类型')">
<el-select v-model="costObj.feeType" :placeholder="$t('请选择费用类型')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.FEE_TYPE)" :key="type.value" :label="type.label" :value="type.value"></el-option>
<el-option v-for="item in this.getDictDatas(DICT_TYPE.FEE_TYPE)" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
......@@ -203,7 +203,7 @@
</el-form-item>
<el-form-item label="" label-width="0px">
<el-select v-model="costObj.currencyId" :placeholder="$t('请选择单位')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PRICE_UNIT)" :key="type.value" :label="type.label" :value="type.value"></el-option>
<el-option v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PRICE_UNIT)" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-row>
......
......@@ -21,13 +21,13 @@
<el-table-column :label="$t('唛头')" align="center" prop="marks" />
<el-table-column :label="$t('品名')" align="center" prop="title">
<template slot-scope="scope">
{{ scope.row.titleZh + "(" + scope.row.titleEn + ")" }}
<span v-if="scope.row.feeType!=5">{{ scope.row.titleZh + "(" + scope.row.titleEn + ")" }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('箱数')" align="center" prop="num" />
<el-table-column :label="$t('体积/重量')" align="center" prop="weight">
<template slot-scope="scope">
{{ scope.row.volume + "/" + scope.row.weight }}
<span v-if="scope.row.feeType!=5"> {{ scope.row.volume + "/" + scope.row.weight }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('收入类型')" align="center" prop="feeType">
......@@ -512,11 +512,15 @@ export default {
return total.toFixed(6)
},
WriteOffProportion(){
let total = 0
this.detailed.forEach(item => {
total = NP.plus(total, item.writeOffAmount)
})
let portion = NP.divide(total,this.form.receiptAccountList.find(item=>item.type=='total').writeOffAmount)
let total = 0
let amountTotal = 0
this.detailed.forEach(item => {
if(item.status){
amountTotal = NP.plus(amountTotal, item.writeOffAmount)
}
total = NP.plus(total, item.writeOffAmount)
})
let portion = NP.divide(amountTotal,total)
return (portion*100).toFixed(2)
}
},
......
<template>
<div class="app-container">
<div slot="header" class="card-title">{{ $t('待收款') }}</div>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8" style="margin-right: 60px">
<div class="card-title">{{ $t('待收款') }}</div>
<el-button
style="float: right; margin-left: 10px"
type="primary"
......@@ -333,5 +334,6 @@ export default {
.card-title {
font-size: 18px;
font-weight: bold;
display: inline-block;
}
</style>
......@@ -60,7 +60,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-form-item :label="$t('自编号')">
<!-- <el-form-item :label="$t('自编号')">
<el-input
style="max-width: 188px"
v-model="queryParams.orderNo"
......@@ -68,8 +68,8 @@
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('订单号')">
</el-form-item> -->
<!-- <el-form-item :label="$t('订单号')">
<el-input
style="max-width: 188px"
v-model="queryParams.orderNo"
......@@ -77,10 +77,13 @@
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item>
<el-button type="primary" @click="handleQuery">{{ $t('查找') }}</el-button>
</el-form-item>
</el-row>
<el-row :span="24">
<el-form-item :label="$t('商品名称')">
<!-- <el-row :span="24"> -->
<!-- <el-form-item :label="$t('商品名称')">
<el-input
style="max-width: 188px"
v-model="queryParams.orderNo"
......@@ -88,8 +91,8 @@
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('费用类型')">
</el-form-item> -->
<!-- <el-form-item :label="$t('费用类型')">
<dict-selector
:type="DICT_TYPE.FEE_TYPE"
v-model="queryParams.feeType"
......@@ -100,11 +103,9 @@
:type="DICT_TYPE.PAYMENT_TYPE"
v-model="queryParams.paymentType"
></dict-selector>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">{{ $t('查找') }}</el-button>
</el-form-item>
</el-row>
</el-form-item> -->
<!-- </el-row> -->
</el-form>
</el-card>
<el-table v-loading="loadings" :data="list" border class="card">
......@@ -359,8 +360,9 @@ export default {
},
/** 搜索按钮操作 */
handleQuery() {
console.log(11)
this.queryParams.pageNo = 1;
// this.getList();
this.getList();
},
/** 新增按钮操作 */
handleAdd(id) {
......
......@@ -88,7 +88,11 @@
</template>
</el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}">
+{{row.defaultContactPhone}}
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
......
......@@ -422,7 +422,7 @@ export default {
handleStatusChange(row) {
let text = row.status === CommonStatusEnum.ENABLE ? this.$t("启用") : this.$t("停用");
this.$modal.confirm(this.$t('确认要{action}编号为{id}的数据吗?', {action: text, id})).then(function() {
this.$modal.confirm(this.$t('确认要{action}编号为{id}的数据吗?', {action: text, id: row.id})).then(function() {
return updateNode(row);
}).then(() => {
......
......@@ -94,7 +94,11 @@
</template>
</el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}" >
+{{row.defaultContactPhone}}
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
......
This diff is collapsed.
......@@ -176,7 +176,7 @@
</el-table-column>
<el-table-column :label="$t('数量') + '(个)'" width="120px">
<template slot-scope="{row}">
<el-input v-model="row.quantity" type="number" :disabled="!canAddProduct || !productEditable" />
<el-input v-model="row.quantity" type="number" @keyup.native="checkQuantity(row)" :disabled="!canAddProduct || !productEditable" />
</template>
</el-table-column>
<el-table-column :label="$t('总体积') + '(m³)'" width="100px">
......@@ -588,6 +588,7 @@ export default {
contactChooseType: null, // 联系人选择对象consignor(发货人) 或者 consignee(收货人)
quickCreateType: null, // 快速新建客户类型,1发货人,2收货人
showWorkFlow: false, // 是否显示工作流表单
calculating: false, // 是否正在计算费用,防止频繁重新请求
};
},
computed:{
......@@ -740,9 +741,15 @@ export default {
this.$set(this.form, 'lineId', undefined)
this.getOpenedRouterList()
},
'form.channelId'(){
this.calculationPrice()
},
'form.lineId'(lineId){
let router = this.routerList.find(item => item.id == lineId)
if(!router) return
if(!router){
console.log('未选择路线', router, lineId, JSON.stringify(this.routerList))
return
}
this.$set(this.form, 'departureId', router.startCityId)
this.$set(this.form, 'objectiveId', router.destCityId)
......@@ -911,10 +918,12 @@ export default {
},
setLink(row){
this.$prompt(this.$t('请输入商品链接'), {inputValue: row.link}).then(({value}) => {
console.log('value', value)
this.$set(row, 'link', value)
})
},
checkQuantity(row){
row.quantity = row.quantity.replace(/[^\d]/g, '')
},
/* onFileChoosed(e){
window.choosed = e
console.log('onFileChoosed', e)
......@@ -1070,12 +1079,14 @@ export default {
calcable = false
}
})
console.log('calculationPrice', calcable)
if(this.calculating || !calcable) return false
this.calculating = true
console.log('calculating ---> ')
calculationPrice({
lineId: this.form.lineId,
transportId: this.form.transportId,
channelId: this.form.channelId,
channelId: [3,4].indexOf(this.form.transportId) > -1 ? this.form.channelId : undefined,
prodConditionParamList: this.getProductListWithDefaultValue()
}).then(res => {
this.$set(this, 'fee', res.data.costDto)
......
......@@ -175,6 +175,9 @@ export default {
modify(row){
if(this.list.some(i => i.status === 0 || i.status === 1))return this.$message.warning(this.$t('当前有未提交的数据或审核中的数据不能修改'))
this.isModifyIf = true;
this.isModify.forEach((item,index)=>{
this.$set(this.isModify, index, true )
})
this.$set(this.isModify, this.list.findIndex(e => e.id === row.id), false )
},
examineFn(){
......
......@@ -33,8 +33,7 @@
+{{order.consigneeVO.countryCode}} {{order.consigneeVO.phone}}
</el-form-item>
<el-form-item :label="$t('收货地址')">
<!--缺少国城名字-->
{{order.consigneeVO.address}}
<el-input v-model="form.deliverAddress" placeholder=""></el-input>
</el-form-item>
<el-form-item :label="$t('快递单号')">
<el-input v-model="form.trackingNumber" placeholder=""></el-input>
......@@ -73,6 +72,13 @@ export default {
form: {}
}
},
watch:{
'form.pickType'(type){
if(type == 1 && this.order.consigneeVO.address){
this.$set(this.form, 'deliverAddress', this.order.consigneeVO.address)
}
}
},
created(){
this.loadOrderData()
},
......
......@@ -58,7 +58,7 @@
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('品名')" align="center" >
<el-table-column :label="$t('品名')">
<template slot-scope="scope">
<p>{{scope.row.prodTitleEn||''}}</p>
<p>{{scope.row.prodTitleZh||''}}</p>
......@@ -72,23 +72,22 @@
<p>{{$t('重量')}}{{scope.row.weight||0}}KG</p>
</template>
</el-table-column>
<el-table-column :label="$t('入库货物属性')" align="center" >
<el-table-column :label="$t('入库货物属性')">
<template slot-scope="scope">
<span>{{$t('箱规')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.boxGauge:0}}</span>
<p>
<span>{{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType" /></span>
<span>{{$t('箱数')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}&nbsp;&nbsp;</span>
<span>{{$t('体积')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}CBM&nbsp;&nbsp;</span>
<span>{{$t('重量')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}KG</span>
<p>{{$t('箱规')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.boxGauge:0}}</p>
<p>{{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType" /></p>
<p>{{$t('箱数')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}&nbsp;&nbsp;</p>
<p>{{$t('体积')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}CBM&nbsp;&nbsp;</p>
<p>{{$t('重量')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}KG
</p>
</template>
</el-table-column>
<el-table-column :label="$t('重货方数')" align="center" v-if="type=='order_heavy_cargo_exception'">
<el-table-column :label="$t('重货方数')" v-if="type=='order_heavy_cargo_exception'">
<template slot-scope="scope">
<span>{{scope.row.wvolume||0}}CBM</span>
</template>
</el-table-column>
<el-table-column :label="$t('泡货方数')" align="center" v-else >
<el-table-column :label="$t('泡货方数')" v-else >
<template slot-scope="scope">
<span>{{scope.row.vweight||0}}CBM</span>
</template>
......@@ -204,6 +203,9 @@ export default {
}
</script>
<style scoped>
.dialog-footer{
margin-top: 10px;
}
.filelist{
display: flex;
flex-wrap: wrap;
......@@ -222,4 +224,8 @@ export default {
.card{
margin-top: 20px;
}
p{
text-align: left;
margin: 0 !important;
}
</style>
......@@ -3,7 +3,7 @@
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item :label="$t('适用商品')" prop="idList">
<products-selector :defaultIds="form.idList" v-model="form.idList" />
<products-selector :defaultIds="form.idList" v-model="form.idList" show-all @setall="toggleAll" />
</el-form-item>
<el-form-item :label="$t('货柜位置')" prop="containerLocation">
......@@ -33,7 +33,7 @@
</el-checkbox-group>
</el-form-item>
<el-form-item :label="$t('商品材质')" prop="materialType">
<dict-selector form-type="checkbox" :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" v-model="form.materialType" multiple />
<dict-selector form-type="checkbox" :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" v-model="form.materialTypeArr" multiple />
</el-form-item>
<el-form-item>
......@@ -68,7 +68,7 @@ export default {
"containerLocation": undefined,
"dayLimit": undefined,
"idList": [],
"isAllProduct": undefined,
"isAllProduct": 0,
"needBook": false,
"packaging": undefined,
"requirements": undefined,
......@@ -84,12 +84,15 @@ export default {
},
watch: {
'form.idList'(val) {
/* 'form.idList'(val) {
if (val.length > 0) {
this.form.isAllProduct = 0
} else {
this.form.isAllProduct = 1
}
}, */
'form.materialTypeArr'(typeArr){
this.$set(this.form, 'form.materialTyp', typeArr.join(','))
},
attrIds(val){
this.form.attrId = val.join(',')
......@@ -103,6 +106,9 @@ export default {
})
},
methods: {
toggleAll(e){
this.$set(this.form, 'isAllProduct', e ? 1 : 0)
},
/** 表单重置 */
reset() {
this.form = {
......@@ -110,7 +116,7 @@ export default {
"containerLocation": undefined,
"dayLimit": undefined,
"idList": [],
"isAllProduct": undefined,
"isAllProduct": 0,
"needBook": undefined,
"packaging": undefined,
"requirements": undefined,
......@@ -127,9 +133,12 @@ export default {
return;
}
let data = Object.assign({}, this.form)
if(!data.isAllProduct && !data.idList.length){
return this.$message(this.$t('请选择商品或勾选全部'))
}
batchUpdateProduct(data).then((response) => {
this.$modal.msgSuccess(this.$t("修改成功"));
this.$router.back();
this.$store.dispatch('tagsView/delCurrentView')
});
});
},
......
......@@ -315,7 +315,11 @@ export default {
if(this.$route.query.id){
getSupplier(this.$route.query.id).then(response => {
/* response.data.companyType = response.data.companyType.split(",") || [] */
this.formData = response.data;
this.formData = response.data
this.$set(this.formData, 'companyTypeArr', response.data.companyType?.split(",") || [])
this.formData.bankList.forEach(item => {
item.currency = +item.currency
})
});
}
})
......
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