Commit 1280a926 authored by 我在何方's avatar 我在何方
parents b92e5fed 29e05e99
...@@ -9,7 +9,8 @@ yarn-error.log* ...@@ -9,7 +9,8 @@ yarn-error.log*
tests/**/coverage/ tests/**/coverage/
tests/e2e/reports tests/e2e/reports
selenium-debug.log selenium-debug.log
# 提取的需要翻译的文件列表
messages.txt
# Editor directories and files # Editor directories and files
.idea .idea
.vscode .vscode
......
const fs = require('fs');
const root = "./src"
let allFiles = []
function getFiles(dir){
let files = fs.readdirSync(dir)
files.forEach(file => {
let path = dir + '/' + file
if(fs.lstatSync(path).isDirectory()){
getFiles(path)
}else allFiles.push(path)
})
}
getFiles(root)
let messages = new Set()
allFiles.forEach(file => {
let data = fs.readFileSync(file, {encoding: 'utf-8'})
let matched = data.matchAll(/\$t\([\'\"]{1}([^\"\']+)[\'\"]{1}\)/g)
let i = 0
for(let item of matched){
i ++
messages.add(item[1])
}
})
fs.writeFileSync("./messages.txt", Array.from(messages).join("\n"))
console.log("done!")
\ No newline at end of file
...@@ -294,7 +294,7 @@ export default { ...@@ -294,7 +294,7 @@ export default {
{ {
productType:0,//商品类型 productType:0,//商品类型
productAttr: 0,//暗佣 产品属性 productAttr: 0,//暗佣 产品属性
darkCommission: 1,//暗佣 佣金 darkCommission: '',//暗佣 佣金
darkCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),// 暗佣 货币 darkCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),// 暗佣 货币
darkUnit:undefined,// 暗佣 单位 darkUnit:undefined,// 暗佣 单位
} }
......
This diff is collapsed.
...@@ -137,7 +137,7 @@ ...@@ -137,7 +137,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<span> {{ scope.row.discountTotal ? `${scope.row.discountTotal}`:0}}</span> <span> {{ scope.row.discountTotal ? `${scope.row.discountTotal}`:0}}</span>
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" />
<span>{{scope.row.discountRemark?('('+scope.row.discountRemark+')'): '' }}</span> <span v-if="scope.row.discountTotal">{{scope.row.discountRemark?('('+scope.row.discountRemark+')'): '' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
...@@ -262,7 +262,7 @@ ...@@ -262,7 +262,7 @@
</el-table-column> </el-table-column>
<el-table-column label="应收金额" align="center" prop="receivableAmount"> <el-table-column label="应收金额" align="center" prop="receivableAmount">
<template slot-scope="scope" v-if="scope.row.type !== 'total'"> <template slot-scope="scope" v-if="scope.row.type !== 'total'">
{{ `${scope.row.receivableAmount - scope.row.discountTotal}(${scope.row.receivableAmount} - ${scope.row.discountTotal})` }} {{ `${NP.minus(scope.row.receivableAmount, scope.row.discountTotal)}${scope.row.discountTotal > 0 ? `(${scope.row.receivableAmount} - ${scope.row.discountTotal})` : ''}` }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" width="220"> <el-table-column align="center" width="220">
...@@ -648,6 +648,7 @@ export default { ...@@ -648,6 +648,7 @@ export default {
}, },
data() { data() {
return { return {
NP,
loadings: false, loadings: false,
loading1: false, loading1: false,
uploadFileUrl: process.env.VUE_APP_BASE_API + "/app-api/file/upload", // 上传的图片服务器地址 uploadFileUrl: process.env.VUE_APP_BASE_API + "/app-api/file/upload", // 上传的图片服务器地址
...@@ -688,7 +689,8 @@ export default { ...@@ -688,7 +689,8 @@ export default {
discountVisible: false, discountVisible: false,
discountForm: {}, discountForm: {},
selectListRow: {}, selectListRow: {},
selectListIndex: 0 selectListIndex: 0,
flag: false
}; };
}, },
async created() { async created() {
...@@ -700,6 +702,7 @@ export default { ...@@ -700,6 +702,7 @@ export default {
let that = this; let that = this;
if (that.$route.query.id) { if (that.$route.query.id) {
this.flag = true
this.id = this.$route.query.id; this.id = this.$route.query.id;
console.log(this.id) console.log(this.id)
getReceiptInfoByIds({ id: this.id }).then(res => { getReceiptInfoByIds({ id: this.id }).then(res => {
...@@ -991,17 +994,21 @@ export default { ...@@ -991,17 +994,21 @@ export default {
return NP.divide(this.currencyList.find(v => v.titleEn === 'NGN').huilv, 100).toFixed(6) return NP.divide(this.currencyList.find(v => v.titleEn === 'NGN').huilv, 100).toFixed(6)
}, },
customerChange(value) { customerChange(value) {
if (this.flag) {
this.flag = false
return
}
this.form.customerName = value.name this.form.customerName = value.name
this.form.customerId && getCustomer(this.form.customerId).then(res => { this.form.customerId && getCustomer(this.form.customerId).then(res => {
this.form = { this.form = {
...this.form, ...this.form,
invoice: this.form.invoice || res.data.invoiceTitle, invoice: res.data.invoiceTitle,
taxpayer: this.form.taxpayer || res.data.licenseNumber, taxpayer: res.data.licenseNumber,
accountBank: this.form.accountBank || res.data.bank, accountBank: res.data.bank,
accountName: this.form.accountName || res.data.bankNumber, accountName: res.data.bankNumber,
projectName: this.form.projectName || res.data.project, projectName: res.data.project,
taxRate: this.form.taxRate || res.data.taxRate, taxRate: res.data.taxRate,
addressPhone: this.form.addressPhone || `${res.data.billingAddress || ''}/${res.data.billingTell || ''}`, addressPhone: `${res.data.billingAddress || ''}/${res.data.billingTell || ''}`,
} }
}) })
}, },
......
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
</el-form> </el-form>
</el-card> </el-card>
<div slot="footer" style="margin: 20px 0"> <div slot="footer" style="margin: 20px 0">
<el-button type="primary" @click="submitDraft">保 存</el-button> <!-- <el-button type="primary" @click="submitDraft">保 存</el-button> -->
<el-button type="primary" @click="submitForm">新 增</el-button> <el-button type="primary" @click="submitForm">新 增</el-button>
</div> </div>
<el-dialog <el-dialog
...@@ -416,6 +416,8 @@ import { listSimpleDepts } from "@/api/system/dept"; ...@@ -416,6 +416,8 @@ import { listSimpleDepts } from "@/api/system/dept";
import { getTradeCityList } from "@/api/ecw/region"; import { getTradeCityList } from "@/api/ecw/region";
import { getSupplierPage,getSupplier } from "@/api/ecw/supplier"; import { getSupplierPage,getSupplier } from "@/api/ecw/supplier";
import { getPayableList, getPayableInfoByIds, createPayment, getPaymentInfoByIds, getPaymentItem, updatePayment } from "@/api/ecw/financial" import { getPayableList, getPayableInfoByIds, createPayment, getPaymentInfoByIds, getPaymentItem, updatePayment } from "@/api/ecw/financial"
import { getCurrencyPage } from "@/api/ecw/currency";
import NP from 'number-precision'
export default { export default {
name: "CreatPayment", name: "CreatPayment",
components: { components: {
...@@ -448,10 +450,12 @@ export default { ...@@ -448,10 +450,12 @@ export default {
}, },
multipleSelection: [], multipleSelection: [],
tradeCityList: [], tradeCityList: [],
allSupplier: [] allSupplier: [],
currencyList: [],
}; };
}, },
created() { async created() {
await getCurrencyPage(this.params).then(res => this.currencyList = res.data.list)
let that = this; let that = this;
if (that.$route.query.payableId && that.$route.query.payableId !== '0') { if (that.$route.query.payableId && that.$route.query.payableId !== '0') {
this.payableId = this.$route.query.payableId; this.payableId = this.$route.query.payableId;
...@@ -627,8 +631,18 @@ export default { ...@@ -627,8 +631,18 @@ export default {
// t && (this.bankData = t.bankList) // t && (this.bankData = t.bankList)
}, },
handleQuery() {}, handleQuery() {},
UStoRMB() {
return NP.divide(this.currencyList.find(v => v.titleEn === 'USD').huilv, 100).toFixed(6)
},
NANtoRMB() {
return NP.divide(this.currencyList.find(v => v.titleEn === 'NGN').huilv, 100).toFixed(6)
},
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val.map(v => {
if(v.currencyId === 1) return Object.assign(v, { exchangeRate: this.UStoRMB() })
if(v.currencyId === 2) return Object.assign(v, { exchangeRate: 1 })
if(v.currencyId === 3) return Object.assign(v, { exchangeRate: this.NANtoRMB() })
});
}, },
hiddenDialog() { hiddenDialog() {
this.open = false; this.open = false;
......
...@@ -71,10 +71,6 @@ ...@@ -71,10 +71,6 @@
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:customer:export']">{{$t('导出')}}</el-button> v-hasPermi="['ecw:customer:export']">{{$t('导出')}}</el-button>
</el-col> </el-col>
<el-col :span="1.5">
<el-button :disabled="selectCustomerList.length === 0" type="primary" size="mini" @click="show = true;" :loading="exportLoading"
v-hasPermi="['ecw:customer:export']">{{$t('批量移交')}}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
......
...@@ -70,11 +70,6 @@ ...@@ -70,11 +70,6 @@
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:customer:export']">{{$t('导出')}}</el-button> v-hasPermi="['ecw:customer:export']">{{$t('导出')}}</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" size="mini" @click="batchHandover"
:disabled="multipleSelection.length === 0"
>{{$t('批量移交')}}</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
......
...@@ -105,10 +105,10 @@ ...@@ -105,10 +105,10 @@
<dict-tag :value="scope.row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable /> <dict-tag :value="scope.row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('箱规(m)')" width="120px" prop="boxGauge" /> <el-table-column :label="$t('箱规') + '(m)'" width="120px" prop="boxGauge" />
<el-table-column :label="$t('体积(m³)')" width="100px" prop="volume" /> <el-table-column :label="$t('体积') + '(m³)'" width="100px" prop="volume" />
<el-table-column :label="$t('重量(kg)')" width="100px" prop="weight" /> <el-table-column :label="$t('重量') + '(kg)'" width="100px" prop="weight" />
<el-table-column :label="$t('货值(RMB)')" width="100px" prop="worth" /> <el-table-column :label="$t('货值') + '(RMB)'" width="100px" prop="worth" />
<el-table-column :label="$t('商品特性')" width="200px" prop="prodAttrName" /> <el-table-column :label="$t('商品特性')" width="200px" prop="prodAttrName" />
<el-table-column :label="$t('是否预付')"> <el-table-column :label="$t('是否预付')">
<template slot-scope="scope"> <template slot-scope="scope">
......
...@@ -15,7 +15,23 @@ ...@@ -15,7 +15,23 @@
<dict-selector :type="DICT_TYPE.ECW_WAREHOUSING_TYPE" v-model="form.warehousingType" /> <dict-selector :type="DICT_TYPE.ECW_WAREHOUSING_TYPE" v-model="form.warehousingType" />
</el-form-item> </el-form-item>
<el-form-item label="关联订单" prop="orderIds"> <el-form-item label="关联订单" prop="orderIds">
<el-input v-model="form.orderIds" style="width: 206px;"></el-input> <!-- <el-input v-model="form.orderIds" style="width: 206px;"></el-input> -->
<el-select
v-model="form.orderNo"
filterable
remote
reserve-keyword
placeholder="订单号"
@focus="checkOptions"
:remote-method="remoteMethod"
:loading="selectLoading">
<el-option
v-for="item in orderNoList"
:key="item.value"
:label="item.value"
:value="item.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</template> </template>
<template v-else> <template v-else>
...@@ -39,6 +55,7 @@ import RoutersSelector from '@/components/RoutersSelector' ...@@ -39,6 +55,7 @@ import RoutersSelector from '@/components/RoutersSelector'
import ProductsSelector from '@/components/ProductsSelector' import ProductsSelector from '@/components/ProductsSelector'
import Editor from '@/components/Editor' import Editor from '@/components/Editor'
import Selector from '@/components/Selector/index' import Selector from '@/components/Selector/index'
import {getOrderNoSearch} from '@/api/ecw/order'
export default { export default {
name: "OfferResult", name: "OfferResult",
components: { CustomersSelector, RoutersSelector, ProductsSelector, Editor, Selector }, components: { CustomersSelector, RoutersSelector, ProductsSelector, Editor, Selector },
...@@ -59,7 +76,9 @@ export default { ...@@ -59,7 +76,9 @@ export default {
// 表单校验 // 表单校验
rules: { rules: {
warehousingType: {required: true, message: '请选择入仓类型'} warehousingType: {required: true, message: '请选择入仓类型'}
} },
selectLoading: false,
orderNoList: []
}; };
}, },
computed: { computed: {
...@@ -97,6 +116,19 @@ export default { ...@@ -97,6 +116,19 @@ export default {
}); });
}); });
}, },
remoteMethod(query){
this.selectLoading = true
getOrderNoSearch({key: query, pageSize: 200}).then(res => {
this.orderNoList = res.data.list
}).finally(res => {
this.selectLoading = false
})
},
checkOptions(){
if(!this.orderNoList.length){
this.remoteMethod("")
}
}
}, },
}; };
</script> </script>
\ No newline at end of file
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<div>重量:{{ row.sumWeight || 0 }}KG</div> <div>重量:{{ row.sumWeight || 0 }}KG</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="入仓时间"> <el-table-column label="入仓时间" prop="rucangTime">
</el-table-column> </el-table-column>
<el-table-column label="运输方式"> <el-table-column label="运输方式">
......
...@@ -207,13 +207,13 @@ export default { ...@@ -207,13 +207,13 @@ export default {
}; };
</script> </script>
<style rel="stylesheet/scss" lang="scss"> <style lang="scss" scoped>
.login { .login {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
height: 100%; height: 100%;
background-image: url("https://musician-release-1305250541.file.myqcloud.com/static/bg-login.png"); background-image: url(../assets/images/bg-login.png);
background-size: cover; background-size: cover;
} }
.title { .title {
......
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