Commit c0dafd27 authored by zhoutong's avatar zhoutong
parents e53128cd 1cd3bd03
<template>
<el-select
v-model="index"
filterable
clearable
remote
reserve-keyword
:placeholder="$t('请输入关键词')"
:remote-method="remoteMethod"
:loading="loading">
<el-option
v-for="(item, index) in list"
:key="item.id"
:label="`${item.payerName?item.payerName:item.name}(${item.number})`"
:value="index">
</el-option>
</el-select>
</template>
<script>
import {getCustomerSelect, getCustomer} from '@/api/ecw/customer'
export default {
props:{
productType: [String, Number],
value: [String, Number]
},
data(){
return {
index: null,
list:[],
loading: false
}
},
watch:{
index(val){
this.$emit('input', (val!==''&&val !== null) ? this.list[val].id: null)
this.$emit('change', (val!==''&&val !== null) ? this.list[val]: null)
},
value(val){
this.init()
}
},
created(){
this.init()
},
methods:{
init(){
if(!this.value) return
let index = this.list.findIndex(item => item.id == this.value)
if(index < 0){
getCustomer(this.value).then(res => {
this.list.unshift(res.data)
this.index = 0
})
}else{
this.index = index
}
},
remoteMethod(keyword){
let params = {}
params.searchKey = keyword
this.loading = true
getCustomerSelect(params)
.then(res => this.list = res.data.list)
.finally(() => this.loading = false)
},
reset(){
this.index=null
}
}
}
</script>
......@@ -1181,7 +1181,7 @@
"待收款": "Payment Unreceived",
"请输入唛头": "Please enter shipping mark",
"收款": "Receipt",
"收款单": "receipt",
"收款单": "Collection Note",
"商品名称": "product name",
"请输入商品名称": "Please enter a product name",
"收款类型": "Receipt Type",
......@@ -2641,7 +2641,7 @@
"上级区域": "Superior Area",
"选择上级区域": "Select superior area",
"请输入简称": "Please enter the abbreviation",
"国家代码-城市代码": "Country City Code",
"国家城市代码": "Country City Code",
"显示顺序": "Display order",
"请输入显示顺序": "Please enter the display order",
"部门状态": "Department Status",
......@@ -4032,14 +4032,16 @@
"供应商自提": "Supplier self pickup",
"数量(个)": "Quantity (pieces)",
"品名可拆数据": "Product name detachable data",
"剩余货值": "Remaining value",
"可拆入仓记录": "Removable warehouse records",
"已拆完": "Completed dismantling",
"已放入入仓记录": "Placed in warehouse entry record",
"放入货值": "Value of goods placed",
"{num}箱": "{num} box",
"长{boxGauge1}cm": "Length {boxGauge1} cm",
"宽{boxGauge2}cm": "Width {boxGauge2} cm",
"高{boxGauge3}cm": "Height {boxGauge3} cm",
"方数{volume}m³": "Square {volume} m ³ ",
"方数{volume}m³": "Square {volume} m ³",
"重量{weight}kg": "Weight {weight} kg",
"数量{n}": "Quantity {n}",
"快递{expressNo}": "Express {expressNo}",
......@@ -4148,4 +4150,107 @@
"単询": "View more",
"查看阶梯价": "Single inquiry",
"您确定要将订单{orderNo}设置为可出吗?": "Are you sure you want to set order {orderNo} as available?"
"币种1": "Currency 1",
"请选择币种": "Please select a currency",
"币种2": "Currency 2",
"币种1 金额": "Currency 1 Amount",
"币种1金额兑换币种2汇率": "Currency 1 Amount Exchange Currency 2 Exchange Rate",
"币种2金额": "Currency 2 Amount",
"最后修改人": "Last modified by",
"日志": "journal",
"例子:": "Example:",
"例子:1RMB = 0.138611USD": "Example: 1RMB=0.138611USD",
"最后更新人": "Last updated by",
"修改前内容": "Content before modification",
"币种1:": "Currency 1:",
"币种2:": "Currency 2:",
"汇率:": "Exchange rate:",
"币种1不能为空": "Currency 1 cannot be empty",
"原币种代码不能为空": "The original currency code cannot be empty",
"币种2不能为空": "Currency 2 cannot be empty",
"目标种代码不能为空": "The target type code cannot be empty",
"汇率不能为空": "Exchange rate cannot be empty",
"是否确认删除汇率管理编号为": "Are you sure to delete the exchange rate management number as",
"是否确认导出所有汇率管理数据项?": "Are you sure to export all exchange rate management data items?",
"汇率不能为0,请输入正确的汇率": "The exchange rate cannot be 0. Please enter the correct exchange rate",
"核销基准币种汇率不能为0,请输入正确的汇率": "The benchmark currency exchange rate for verification cannot be 0. Please enter the correct exchange rate",
"期望收款汇率不能为0,请输入正确的汇率": "The expected collection exchange rate cannot be 0. Please enter the correct exchange rate",
"目的国": "Destination country",
"自编号状态": "Self numbered status",
"结算时间": "Settlement time",
"是否结算": "Settlement or not",
"No.柜号": "Cabinet No",
"应收款(Accounts receivableAccounts receivable)": "Accounts receivable",
"received in + 目的国国家Received in+items(目的地实收)": "Received in+Country of Destination Received in+Items",
"received in China(中国实收)": "Received in China",
"Discounts 折扣": "Discounts",
"是否重泡货": "Do you want to re bubble the goods",
"收费数据": "Fee data",
"订单优惠金额": "Order discount amount",
"实收总金额": "Total amount received",
"已收总金额": "Total amount received",
"应收运费": "Freight receivable",
"运费优惠金额": "Freight discount amount",
"实收运费": "Paid-up freight",
"已收运费": "Received shipping fee",
"应收清关费": "Payable customs clearance fee",
"实收清关费": "Paid-in customs clearance fee",
"清关费优惠金额": "Discount amount for customs clearance fee",
"已收清关费": "Customs clearance fee received",
"应收额外费用": "Additional fees receivable",
"实收额外费用": "Actual additional fees received",
"额外费用优惠金额": "Additional fee discount amount",
"已收额外费用": "Additional fees received",
"是否全部核销": "Whether to write off all",
"订单入仓时间": "Order warehousing time",
"订单装柜时间": "Order loading time",
"上传新附件": "Upload a new attachment",
"您最多上传10个附件": "You can upload up to 10 attachments",
"附件仅限doc/xls/ppt/txt/pdf/jpg/png/jpeg/docx/xlsx格式": "Attachment only in doc/xls/ppt/txt/pdf/jpg/png/jpeg/docx/xlsx format",
"上传成功": "Upload successful",
"确定删除附件吗?": "Are you sure to delete the attachment?",
"实收总额": "Total amount received",
"已核销总金额": "Total amount written off",
"是否重货": "Heavy cargo or not",
"原收费数据": "Original fee data",
"优惠重货标准": "Preferential Heavy Duty Standard",
"实际收费数据": "Actual Charge Data",
"入仓实测": "Actual measurement during warehousing",
"是否重货/泡货": "Whether it is heavy or not",
"应收数据": "Accounts receivable data",
"实收数据": "Paid-in data",
"应收单价": "Receivable unit price",
"优惠单价金额": "Discount unit price amount",
"应收运费&清关费": "Receivable freight and customs clearance fees",
"收款单优惠金额": "Discount amount on payment receipt",
"总优惠金额": "Total discount amount",
"实收运费&清关费": "Paid-up shipping and customs clearance fees",
"特需类型": "Special type",
"收款优惠金额": "Collection discount amount",
"实收美元金额": "Paid-in USD amount",
"优惠活动": "Promotional Activities",
"查看报关资料": "View customs declaration information",
"费用汇总": "Cost aggregation ",
"请再次确认国际运费是否由您支付?": "Please confirm the freight be paid by sender?",
"测量方数汇总": "Summary of measurement quantities",
"收费方数汇总": "Summary of charging parties",
"重量汇总": "Weight Summary",
"多个异常": "Multiple exceptions",
"目的港码头": "Destination Port Terminal",
"TIN NO./RC NO.": "TIN NO./RC NO",
"请输入TIN NO./RC NO.": "Please enter TIN NO./RC NO",
"CTN证书": "CTN certificate",
"COC证书": "COC certificate",
"SONCAP证书": "SONCAP Certificate ",
"码头": "wharf",
"保费币种": "Premium Currency",
"是否支持控货": "Does it support controlling goods",
"默认送货上门": "Default door-to-door delivery",
"广州市捷道国际货运代理有限公司": "E&C LOGISTICS LIMITED",
"报关退税,请备齐资料。":"Customs refund, prepare necessary documents.",
"订单号、唛头、提单号": "order number、marks、B/L NO",
"发货人名称、手机号": "sender name or mobile",
"收货人名称、手机号": "Receiver Name or Mobile",
"订单费用报表": "Order cost report",
"请先选择目的国": "select the destination country first"
}
......@@ -326,7 +326,7 @@ export default {
//上传
let formData = new FormData();
formData.append("file", file);
formData.append("path", this.uuid());
// formData.append("path", this.uuid());
uploadFile(formData).then(response => {
this.$set(this.form, 'bannerUrlWeb', response.data);
// this.form.img = response.data;
......@@ -342,7 +342,7 @@ export default {
//上传
let formData = new FormData();
formData.append("file", file);
formData.append("path", this.uuid());
// formData.append("path", this.uuid());
uploadFile(formData).then(response => {
this.$set(this.form, 'bannerUrlApp', response.data);
// this.form.img = response.data;
......
......@@ -136,7 +136,8 @@ export default {
border-top: 1px solid gray;
font-size: 14px;
line-height: 25px;
grid-template-columns: repeat(2, 1fr);
word-wrap: break-word;
grid-template-columns: repeat(2, 100px);
> p:first-child {
border-right: 1px solid gray;
}
......
......@@ -113,6 +113,8 @@ export default {
this.$emit('change');
this.dialogTableVisible = false;
this.$message(this.$t('创建成功'));
this.reset()
this.$refs.form.resetFields()
}
})
}
......
......@@ -2,7 +2,7 @@
<div>
<div v-for="(item, index) in info.customerHandoverDetailDtoList">
<router-link :to="'/customer/query/' + item.customerId"><div style="color: blue"> 客户编号{{index + 1}}{{item.customerNumber}} 客户名称{{index + 1}}{{item.customerName}} </div></router-link>
<div>客户经理{{index + 1}}{{item.oldCustomerServiceName || '-'}} <span v-if="item.oldCustomerServiceDeptName">{{item.oldCustomerServiceDeptName}}</span></div>
<div>客户经理{{index + 1}}{{item.oldCustomerServiceName || '-'}} <span v-if="item.oldCustomerServiceDeptName">{{item.oldCustomerServiceDeptName}}</span></div>
</div>
<div>新客户经理:{{info.newCustomerServiceName || '-'}} <span v-if="info.newCustomerServiceDeptName">{{info.newCustomerServiceDeptName}}</span> </div>
<div>
......
......@@ -863,7 +863,7 @@ export default {
const form = {...this.form, type: this.form.type?.join(','), transportType: (this.form.transportType || [])?.join(','), taxRate: Number(this.form.taxRate)}
form.customerContacts = JSON.parse(JSON.stringify(this.form.customerContacts))
form.customerContacts.forEach(e =>{
e.email = [...e.email].join(',')
e.email = [...e.email].filter(i => i !== '').join(',')
})
// 检查路线是否启用了但是没选择目的仓
let errors = 0
......
......@@ -137,7 +137,7 @@
<template v-slot="{row}">
+{{row.defaultContactPhone}} <br/>
<contacts :id="row.id" >
<el-button v-if="$route.path === '/customer/customer'" type="text">更多</el-button>
<el-button type="text">更多</el-button>
</contacts>
</template>
</el-table-column>
......
......@@ -65,11 +65,19 @@ export default {
reason:this.textarea
}).then(r=>{
if(r.code === 0){
this.$emit('update:show',false)
this.$emit('update:customerIds',[])
this. service = '';
this.textarea = '';
this.$message.success(this.$t('用户批量转移成功!'))
if(r.data){
this.$message.warning(r.data)
this.$emit('update:show',false)
this.$emit('update:customerIds',[])
this. service = '';
this.textarea = '';
}else {
this.$emit('update:show',false)
this.$emit('update:customerIds',[])
this. service = '';
this.textarea = '';
this.$message.success(this.$t('用户批量转移成功!'))
}
}
})
},
......
......@@ -103,7 +103,12 @@
</el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}">{{row.defaultContactPhone}}</template>
<template v-slot="{row}">
+{{row.defaultContactPhone}} <br/>
<contacts :id="row.id" >
<el-button type="text">更多</el-button>
</contacts>
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
......@@ -364,6 +369,7 @@ import {handOverCustomer} from "../../../api/ecw/customer";
import {getCountryListAll} from "@/api/ecw/country";
import {getCreditPage} from "@/api/customer/credit";
import transferCustomer from "@/views/ecw/customer/transferCustomer.vue";
import Contacts from "@/views/ecw/customer/components/contacts.vue";
......@@ -381,6 +387,7 @@ export default {
},
},
components: {
Contacts,
transferCustomer
},
data() {
......
......@@ -115,7 +115,10 @@
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}">
+{{row.defaultContactPhone}}
+{{row.defaultContactPhone}} <br/>
<contacts :id="row.id" >
<el-button type="text">更多</el-button>
</contacts>
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
......@@ -175,12 +178,14 @@ import {getCountryListAll} from "@/api/ecw/country";
import {getCreditPage} from "@/api/customer/credit";
import transferCustomer from "@/views/ecw/customer/transferCustomer";
import Template from "@/views/cms/template/index.vue";
import Contacts from "@/views/ecw/customer/components/contacts.vue";
export default {
name: "EcwCustomertobeassignedIndex",
activated() {
this.getList()
},
components: {
Contacts,
Template,
upload,
transferCustomer
......
......@@ -18,7 +18,7 @@
:span="4"
>
<span style="margin-right:20px"><span style="color: #ff4949;">*</span>{{$t('客户')}}</span>
<customer-selector
<customer-selectorpay
ref="customer"
v-model="form.customerId"
@change="customerChange"
......@@ -693,6 +693,7 @@ import { listSimpleUsers } from "@/api/system/user";
import { DICT_TYPE } from "@/utils/dict";
import { getToken } from "@/utils/auth";
import CustomerSelector from "@/components/CustomerSelector";
import CustomerSelectorpay from "@/components/CustomerSelectorpay";
import { getBankAccountPage } from "@/api/ecw/bankAccount";
import { listSimpleDepts } from "@/api/system/dept";
import { getChannelList } from "@/api/ecw/channel";
......@@ -712,7 +713,7 @@ import WorkFlow from '@/components/WorkFlow/'
export default {
name: "EcwFinancialCreatcollection",
components: {
CustomerSelector,WorkFlow
CustomerSelector,WorkFlow,CustomerSelectorpay
},
data() {
return {
......@@ -1300,7 +1301,7 @@ export default {
this.flag = false
return
}
this.form.customerName = value.name
this.form.customerName = value.payerName?value.payerName:value.name
this.form.customerId && getCustomer(this.form.customerId).then(res => {
this.form = {
...this.form,
......
......@@ -12,7 +12,7 @@
<td style="font-weight: bold;width:12.5%">{{$t('部门')}}</td>
<td style="width:12.5%">{{form?form.departmentName:$t('')}}</td>
<td style="font-weight: bold;width:12.5%">{{$t('客户名称')}}</td>
<td colspan="2" style="width: 25%;">{{form?form.customerName:$t('')}}</td>
<td colspan="2" style="width: 25%;">{{form.customerName||$t('')}}</td>
<td style="font-weight: bold;width:12.5%">{{$t('收款日期')}}</td>
<td colspan="2" style="width: 25%;">{{form&&form.payedAt?parseTime(form.payedAt):$t('')}}</td>
</tr>
......@@ -141,9 +141,9 @@
that.deptArr.push(item)
}else{
that.deptData.push(item)
}
that.deptData.push(item)
})
that.deptData.forEach((value)=>{
......
......@@ -7,7 +7,7 @@
<el-descriptions-item :label="$t('状态')">
<dict-tag :type="DICT_TYPE.ECW_RECEIPT_STATE" :value="form.state"/>
</el-descriptions-item>
<el-descriptions-item :label="$t('客户')">{{ form.customerName }}</el-descriptions-item>
<el-descriptions-item :label="$t('客户')">{{form.customerName }}</el-descriptions-item>
<el-descriptions-item :label="$t('部门')">{{ form.departmentName }}</el-descriptions-item>
<el-descriptions-item :label="$t('业务员')">{{ form.salesmanName }}</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('手续费(RMB)')">{{ form.feeRate }}</el-descriptions-item> -->
......@@ -725,9 +725,9 @@ export default {
this.id = this.$route.query.id;
await getReceiptInfoByIds({ id: this.id }).then(res => {
this.form = res.data
getCustomer(this.form.customerId).then(res => {
this.form.customerName = res?.data?.name
})
// getCustomer(this.form.customerId).then(res => {
// this.form.customerName = res?.data?.name
// })
var dept = this.deptData.filter((itt) => itt.id == res.data.departmentId);
// console.log(dept)
if(dept.length>0){
......
......@@ -202,6 +202,11 @@
</el-table-column>
<el-table-column :label="$t('发货人')" align="center" prop="consignorName" />
<el-table-column :label="$t('收货人')" align="center" prop="consigneeName" />
<el-table-column :label="$t('付款方')" align="center" prop="weight" >
<template slot-scope="scope">
{{ scope.row.paymentUser==1?$t('发货人'):$t('收货人')}}
</template>
</el-table-column>
<el-table-column :label="$t('订单状态')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" />
......
......@@ -104,7 +104,10 @@
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}">
+{{row.defaultContactPhone}}
+{{row.defaultContactPhone}} <br/>
<contacts :id="row.id" >
<el-button type="text">更多</el-button>
</contacts>
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
......@@ -161,9 +164,12 @@ import {listServiceUser} from "@/api/system/user";
import {getCountryListAll} from "@/api/ecw/country";
import {getCreditPage} from "@/api/customer/credit";
import transferCustomer from "@/views/ecw/customer/transferCustomer";
import Template from "@/views/cms/template/index.vue";
import Contacts from "@/views/ecw/customer/components/contacts.vue";
export default {
name: "EcwMycustomerserviceIndex",
components: {
Contacts, Template,
upload,
customerFollowList,
customerComplaints,
......
......@@ -108,8 +108,11 @@
</el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}" >
+{{row.defaultContactPhone}}
<template v-slot="{row}">
+{{row.defaultContactPhone}} <br/>
<contacts :id="row.id" >
<el-button type="text">更多</el-button>
</contacts>
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
......@@ -173,12 +176,15 @@ import upload from '@/components/ImageUpload'
import {listServiceUser} from "@/api/system/user";
import {getCountryListAll} from "@/api/ecw/country";
import {getCreditPage} from "@/api/customer/credit";
import Template from "@/views/cms/template/index.vue";
import Contacts from "@/views/ecw/customer/components/contacts.vue";
export default {
name: "EcwOceancustomerIndex",
activated() {
this.getList()
},
components: {
Contacts, Template,
upload
},
data() {
......
......@@ -310,7 +310,7 @@
<el-descriptions :column="5" border>
<el-descriptions-item :label="$t('保价费')">
{{fee.insuranceFee || 0}} {{$t('美元')}}
{{fee.insuranceFee || 0}} {{ selectedRouter ? currencyMap[selectedRouter.currencyUnit || 1] : '' }}
</el-descriptions-item>
<el-descriptions-item :label="$t('总运费')">
<template v-for="item in freightFeeList">
......@@ -730,8 +730,6 @@ export default {
// 预计费用(原价 - 优惠金额 + 其他费用 + 保价费)
estimatedCosts(){
let arr = []
let withInsuranceFee = false
let withOtherFee = false
this.originalFeeList.forEach(item => {
let it = {
currencyId: item.currencyId,
......@@ -741,50 +739,31 @@ export default {
if(coupon){
it.amount = it.amount.minus(coupon.reduceTotalAmount)
}
if(this.form.otherFee && this.form.otherFeeCurrencyId == item.currencyId){
it.amount = it.amount.plus(this.form.otherFee)
withOtherFee = true
}
// 保价费(美元)
if(item.currencyId == 1 && this.fee && this.fee.insuranceFee){
it.amount = it.amount.plus(this.fee.insuranceFee)
withInsuranceFee = true
}
arr.push(it)
})
// 没有累加保价费(没有美元计价)但是有保价费则需要加上去
if(!withInsuranceFee && this.fee && this.fee.insuranceFee){
let fee = Decimal(this.fee.insuranceFee)
// 如果没有美元费用,且保价费和其他费用币种相同(都是美元)
if(this.form.otherFeeCurrencyId == 1 && this.form.otherFee){
withOtherFee = true
fee = fee.plus(new Decimal(this.form.otherFee || 0))
}
// 累加保价费
const insuranceFeeIndex = arr.findIndex(item => item.currencyId == this.insuranceFeeCurrency)
if(insuranceFeeIndex > -1){
arr[insuranceFeeIndex].amount = arr[insuranceFeeIndex].amount.plus(this.fee.insuranceFee || 0)
}else{
arr.push({
currencyId: 1,
amount: fee
currencyId: this.insuranceFeeCurrency,
amount: Decimal(this.fee.insuranceFee || 0)
})
}
// 如果没有累加其他费用,则另外增加货币
if(!withOtherFee && this.form.otherFee){
let fee = {
// 累加其他费用
const otherFeeIndex = arr.findIndex(item => item.currencyId == this.form.otherFeeCurrencyId)
if(otherFeeIndex > -1){
arr[otherFeeIndex].amount = arr[otherFeeIndex].amount.plus(this.form.otherFee || 0)
}else{
arr.push({
currencyId: this.form.otherFeeCurrencyId,
amount: Decimal(this.form.otherFee)
}
// 如果保价费跟其他费用是同一种货币(都是美元)
if(!withInsuranceFee && this.fee && this.fee.insuranceFee && this.form.otherFeeCurrencyId == 1){
fee.amount = fee.amount.plus(this.fee.insuranceFee)
}
arr.push(fee)
amount: Decimal(this.form.otherFee || 0)
})
}
return arr
},
// 路线开通的服务
......@@ -792,6 +771,10 @@ export default {
if(!this.selectedRouter || !this.selectedRouter.otherService) return []
return this.selectedRouter.otherService.split(',')
},
// 保价费单位(路线里设置,默认美元)
insuranceFeeCurrency() {
return this.selectedRouter?.currencyUnit || 1;
},
// 是否可以添加商品
canAddProduct(){
if(!this.form.lineId){
......
......@@ -26,11 +26,9 @@
style="width: 80mm; margin: 0 auto;" :id="'order-print-tag' + item.num"
:style="{display: index == 0 ? 'block':'none' }"
:key="item.num">
<div style="float: left; width: 28mm; border-bottom: 0.2mm solid #333; border-right: 0.2mm solid #333; " >
<img :src="item.url" :alt="item.url" style="width: 26mm" />
<p style=" text-align: center; height: 5mm; font-size: 3mm; -webkit-margin-before: 0em; -webkit-margin-after: 0em; margin-top: 0mm; " >
{{item.tag}}
</p>
<div style="float: left; text-align: center; width: 28mm; border-bottom: 0.2mm solid #333; border-right: 0.2mm solid #333; " >
<img class="qrcode" src="" :alt="item.url" style="width: 26mm" />
<p class="tag" style=" text-align: center; height: 5mm; font-size: 3mm; -webkit-margin-before: 0em; -webkit-margin-after: 0em; margin-top: 0mm; " >{{item.tag}}</p>
<p style="margin-top: -1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 6mm" >{{item.num}}</span>
</p>
......@@ -73,6 +71,7 @@
import {printTag} from '@/api/ecw/order'
import {parseTime} from '@/utils/ruoyi'
import lodop from '@/utils/lodop'
import QRCode from "qrcode";
export default {
filters: {parseTime},
......@@ -136,12 +135,18 @@ export default {
if(!this.printTags.length){
return this.$message.error(this.$t('指定区域无可打印标签'))
}
this.$refs["form"].validate(valid => {
this.$refs["form"].validate((valid) => {
if (!valid) {
return;
}
this.currentNo = this.form.start
this.step = 'preview'
this.$nextTick(async () => {
const first = document.getElementsByClassName('order-print-tag-item')[0]
const tag = first.getElementsByClassName('tag')[0].innerText
const qrcode = await QRCode.toDataURL(tag, {margin: 1})
first.getElementsByClassName('qrcode')[0].setAttribute("src", qrcode)
})
})
},
print(){
......@@ -152,18 +157,22 @@ export default {
if(items.length > 1000){
this.$alert(this.$t('标签超过1000需要耐心等候标签生成,请稍候'))
}
lodop().then(LODOP => {
lodop().then(async(LODOP) => {
LODOP.PRINT_INIT(this.title);
LODOP.SET_PRINT_STYLE("FontSize",18);
LODOP.SET_PRINT_STYLE("Bold",1);
// LODOP.ADD_PRINT_TEXT(50,231,260,39,"打印页面部分内容");
LODOP.SET_PRINT_PAGESIZE(0, 800, 600, "TAG");
for(let i in items){
LODOP.ADD_PRINT_HTM("2mm",0,800,600, items[i].innerHTML);
let i = 0;
for(let item of items){
const tag = item.getElementsByClassName('tag')[0].innerText
const qrcode = await QRCode.toDataURL(tag, {margin: 1})
item.getElementsByClassName('qrcode')[0].setAttribute("src", qrcode)
LODOP.ADD_PRINT_HTM("2mm",0,800,600, item.innerHTML);
if(i < items.length){
LODOP.NewPage()
}
i++
}
LODOP.PREVIEW();
......
......@@ -86,6 +86,12 @@
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('品名')+':'">
<div style="display: flex;width: 100%;">
<dict-selector :type="DICT_TYPE.EXCEPTION_SELECT_FILED" style="width: 90px;" v-model="queryParams.goodsNameKey" />
<product-selector v-model="queryParams.goodsName" style="flex:1;" :clearable="true" @keyup.enter.native="handleQuery" />
</div>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('备案')+':'">
......@@ -176,9 +182,9 @@
</el-table-column>
<el-table-column :label="$t('总箱数/入仓箱数')" align="center" >
<template slot-scope="scope">
<p v-if="scope.row.orderExceptionType!='order_doc_exception'||scope.row.customsType==1">{{scope.row.totalBox+$t('箱/')+scope.row.warehousingBox+$t('')}}</p>
<p v-if="scope.row.customsType==1">{{scope.row.totalBox+$t('箱/')+scope.row.warehousingBox+$t('')}}</p>
<p style="color:#ff4949" v-else>{{scope.row.totalBox+$t('箱/')+scope.row.warehousingBox+$t('')}}</p>
<dict-tag style="color:#ff4949" v-if="scope.row.orderExceptionType=='order_doc_exception'&&scope.row.customsType!=1" :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType"></dict-tag>
<dict-tag style="color:#ff4949" v-if="scope.row.customsType!=1" :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('体积/重量')" align="center">
......@@ -295,9 +301,9 @@ export default {
queryParams: {
page: 1,
rows: 10,
goodsNameKey:'eq',
orderNoKey:'eq',
marksKey:'eq'
marksKey:'eq',
goodsNameKey:'eq'
},
tradeCityList:[],
warehouseList:[],
......@@ -357,9 +363,9 @@ export default {
this.queryParams = {
page: 1,
rows: 10,
goodsNameKey:'eq',
orderNoKey:'eq',
marksKey:'eq'
marksKey:'eq',
goodsNameKey:'eq'
}
this.getList()
},
......
......@@ -18,29 +18,29 @@
<el-table-column :label="$t('序号')" type="index"></el-table-column>
<el-table-column :label="$t('费用类型')">
<template v-slot:default = "scope">
<dict-selector :disabled="!!processInstanceId" :type="DICT_TYPE.FEE_TYPE" v-model="scope.row.feeType" />
<dict-selector :disabled="!!scope.row.status" :type="DICT_TYPE.FEE_TYPE" v-model="scope.row.feeType" />
</template>
</el-table-column>
<el-table-column :label="$t('金额')">
<template v-slot:default = 'scope'>
<el-input :disabled="!!processInstanceId" v-model.number="scope.row.applicationFee" ></el-input>
<el-input :disabled="!!scope.row.status" v-model.number="scope.row.applicationFee" ></el-input>
</template>
</el-table-column>
<el-table-column :label="$t('货币类型')">
<template v-slot:default = 'scope'>
<el-select :disabled="!!processInstanceId" v-model="scope.row.applicationFeeCurrency">
<el-select :disabled="!!scope.row.status" v-model="scope.row.applicationFeeCurrency">
<el-option v-for="item in JSON.parse(currencys)" :key="item.id" :label="item.titleZh" :value="item.id" />
</el-select>
</template>
</el-table-column>
<el-table-column :label="$t('付款类型')">
<template v-slot = {row}>
<dict-selector :disabled="!!processInstanceId" :type="DICT_TYPE.PAYMENT_TYPE" v-model="row.payType" />
<dict-selector :disabled="row.status" :type="DICT_TYPE.PAYMENT_TYPE" v-model="row.payType" />
</template>
</el-table-column>
<el-table-column :label="$t('备注')">
<template v-slot:default="scope">
<el-input :disabled="!!processInstanceId" v-model="scope.row.remarks" type="textarea"></el-input>
<el-input :disabled="!!scope.row.status" v-model="scope.row.remarks" type="textarea"></el-input>
</template>
</el-table-column>
<el-table-column :label="$t('确认收款')">
......@@ -58,7 +58,7 @@
<!--<el-button type="text" v-if="scope.row.status !== 0&&scope.row.status !== 1">{{STATUS[scope.row.status]}}</el-button>
<el-button type="text" v-if="scope.row.status == 1" @click="examineFn">{{$t('审核中')}}</el-button>
<el-button type="text" v-if="scope.row.status === 2" @click="modify(scope.row)">{{$t('修改')}}</el-button>-->
<el-button type="text" :disabled="!!processInstanceId" @click="del(scope.$index)">删除</el-button>
<el-button type="text" :disabled="!!scope.row.status" @click="del(scope.$index)">删除</el-button>
</template>
</el-table-column>
</el-table>
......@@ -89,11 +89,10 @@ import {
qetBatchFeeByBusinessId, getBatchFeeByBusinessId
} from "@/api/ecw/order";
import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import Template from "@/views/cms/template";
import workFlow from "@/components/WorkFlow";
export default {
name: "feeApplication",
components: {Template,workFlow},
components: {workFlow},
props:{
orderId:[Number, String],
dialogVisible:{
......@@ -127,6 +126,11 @@ export default {
this.orderDetails = res.data
})
// 查询历史申请
feeApplicationListByOrderId({orderId: this.orderId}).then(res => {
this.list = res.data
})
// 查询是否有审核中的费用申请
getFeeApplicationApproveByOrderId(this.orderId).then(res => {
if(res.data.formId){
......@@ -157,7 +161,7 @@ export default {
},
submit(){
feeApplicationCreateBatch( {
orderFeeApplicationCreateReqVOList: this.list,
orderFeeApplicationCreateReqVOList: this.list.filter(item => !item.status),
copyUserId:this.selectedUsers,
orderId: this.orderId
}).then(r=>{
......
......@@ -682,7 +682,7 @@ export default {
//上传
let formData = new FormData();
formData.append("file", file);
formData.append("path", this.uuid());
// formData.append("path", this.uuid());
uploadFile(formData).then(response => {
this.$set(this.form, 'imgs', response.data);
// this.form.img = response.data;
......
......@@ -817,7 +817,7 @@ export default {
//上传
let formData = new FormData();
formData.append("file", file);
formData.append("path", this.uuid());
// formData.append("path", this.uuid());
uploadFile(formData).then(response => {
this.$set(this.form, 'img', response.data);
// this.form.img = response.data;
......
......@@ -324,7 +324,7 @@ export default {
/** 处理上传的文件发生变化 */
handleFileChange(file, fileList) {
this.upload.data.path = this.uuid() + "/" + file.name;
// this.upload.data.path = this.uuid() + "/" + file.name;
},
/** 文件上传成功处理 */
......@@ -355,7 +355,7 @@ export default {
let formData = new FormData();
// console.log(file);
formData.append("file", file);
formData.append("path", this.uuid() + "/" + file.name);
// formData.append("path", this.uuid() + "/" + file.name);
uploadFile(formData).then(response => {
this.$set(this.form, 'appUrl', response.data);
// this.form.img = response.data;
......
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