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

报价单没搞完备份

parent 8b054d4a
...@@ -43,7 +43,7 @@ export function getCustomerPage(query) { ...@@ -43,7 +43,7 @@ export function getCustomerPage(query) {
}) })
} }
// 获得客户下 // 获得客户下
export function getCustomerSelect(query) { export function getCustomerSelect(query) {
return request({ return request({
url: '/ecw/customer/select', url: '/ecw/customer/select',
...@@ -52,6 +52,15 @@ export function getCustomerSelect(query) { ...@@ -52,6 +52,15 @@ export function getCustomerSelect(query) {
}) })
} }
// 根据客户id集合获得客户详情列表
export function getCustomerList(query) {
return request({
url: '/ecw/customer/list',
method: 'get',
params: query
})
}
// 导出客户 Excel // 导出客户 Excel
export function exportCustomerExcel(query) { export function exportCustomerExcel(query) {
return request({ return request({
......
<template>
<el-select
v-model="index"
filterable
clearable
remote
reserve-keyword
placeholder="请输入关键词"
:remote-method="remoteMethod"
:loading="loading">
<el-option
v-for="(item, index) in list"
:key="item.id"
:label="`${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: {},
list:[],
loading: false
}
},
watch:{
index(val){
this.$emit('input', val !== null ? this.list[val].id : null)
this.$emit('change', val !== null ? this.list[val] : null)
},
value(val){
this.init()
}
},
created(){
this.init()
},
methods:{
init(){
if(!this.value) return null
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
})
}
},
remoteMethod(keyword){
let params = {}
params.searchKey = keyword
this.loading = true
getCustomerSelect(params)
.then(res => this.list = res.data)
.finally(() => this.loading = false)
}
}
}
</script>
\ No newline at end of file
...@@ -31,13 +31,14 @@ ...@@ -31,13 +31,14 @@
</el-row> </el-row>
</template> </template>
<script> <script>
import {getCustomerSelect} from '@/api/ecw/customer' import {getCustomerSelect, getCustomerList} from '@/api/ecw/customer'
export default { export default {
props:{
value: [Array]
},
data(){ data(){
return { return {
list:[], list:[],
/* page: 1,
pages: 1, */
queryParams:{ queryParams:{
page: 1, page: 1,
name: null, name: null,
...@@ -58,12 +59,29 @@ export default { ...@@ -58,12 +59,29 @@ export default {
watch:{ watch:{
customerIds(val){ customerIds(val){
this.$emit('input', val) this.$emit('input', val)
},
value(val, old){
if(val.sort().join(',') != old.sort().join(',')){
this.getChoosedList()
}
} }
}, },
created(){ created(){
if(this.value && this.value.length){
this.getChoosedList()
}
this.reLoad() this.reLoad()
}, },
methods:{ methods:{
getChoosedList(){
if(!this.value || !this.value.length){
return
}
getCustomerList({ids: this.value.join(',')})
.then(res => {
this.$set(this, 'choosedList', res.data)
})
},
reLoad(){ reLoad(){
this.queryParams.page = 1 this.queryParams.page = 1
this.list = [] this.list = []
......
<template> <template>
<el-select v-model="valueSync" :multiple="multiple"> <el-select v-model="valueSync" :multiple="multiple" :disabled="disabled">
<el-option v-for="item in optionsFormated" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in optionsFormated" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</template> </template>
...@@ -14,7 +14,7 @@ export default { ...@@ -14,7 +14,7 @@ export default {
options: Array, options: Array,
value: [String, Number, Boolean, Object], value: [String, Number, Boolean, Object],
labelField: { labelField: {
type: String, type: [String, Function],
default: 'label' default: 'label'
}, },
valueField: { valueField: {
...@@ -24,13 +24,14 @@ export default { ...@@ -24,13 +24,14 @@ export default {
multiple: Boolean, multiple: Boolean,
clearable: Boolean, clearable: Boolean,
defaultable: Boolean, // 没有值的时候是否选择第一项 defaultable: Boolean, // 没有值的时候是否选择第一项
disabled: Boolean
}, },
computed:{ computed:{
optionsFormated(){ optionsFormated(){
let arr = [] let arr = []
this.options.forEach(item => { this.options.forEach((item, index) => {
arr.push({ arr.push({
label: item[this.labelField], label: typeof this.labelField == 'string' ? item[this.labelField] : (this.labelField)(item, index),
value: item[this.valueField] value: item[this.valueField]
}) })
}) })
......
...@@ -82,6 +82,7 @@ export const DICT_TYPE = { ...@@ -82,6 +82,7 @@ export const DICT_TYPE = {
ECW_COOPERATION_TYPE: 'cooperation_type', // 合作类型 ECW_COOPERATION_TYPE: 'cooperation_type', // 合作类型
ECW_SHIPPING_DECLARATION_TYPE: 'shipping_declaration_type', // 出货报关方式(与订单报关方式相同) ECW_SHIPPING_DECLARATION_TYPE: 'shipping_declaration_type', // 出货报关方式(与订单报关方式相同)
ECW_CUSTOMS_TYPE: 'customs_type', // 订单报关方式(非出货报关),优惠券中的单证报关 ECW_CUSTOMS_TYPE: 'customs_type', // 订单报关方式(非出货报关),优惠券中的单证报关
ECW_PACKAGE_TYPE: 'packageType',
//--------ecw--------- //--------ecw---------
CUSTOMER_STATUS: 'customer_status', CUSTOMER_STATUS: 'customer_status',
CUSTOMER_SOURCE: 'customer_source', CUSTOMER_SOURCE: 'customer_source',
......
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
<div class="fee-item" v-for="(item, index) in fee[1]" :key="index"> <div class="fee-item" v-for="(item, index) in fee[1]" :key="index">
<template v-if="[1,2,3,4,5].indexOf(form.type) > -1"> <template v-if="[1,2,3,4,5].indexOf(form.type) > -1">
<el-input v-model="item.fullAmount" style="width:100px" :rules='[costType == 1 ? {required: true, message: "请选择类型"} : null]' /> <el-input v-model="item.fullAmount" style="width:100px" />
<!-- <el-select v-model="item.fullCurrencyId" style="width:100px" > <!-- <el-select v-model="item.fullCurrencyId" style="width:100px" >
<el-option v-for="item in currencyList" :key="item.id" :label="item.titleZh" :value="item.id" /> <el-option v-for="item in currencyList" :key="item.id" :label="item.titleZh" :value="item.id" />
</el-select> --> </el-select> -->
......
This diff is collapsed.
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