Commit 0a8d6c8c authored by dragondean@qq.com's avatar dragondean@qq.com

Merge branch 'pre-release' into dev

# Conflicts:
#	src/i18n/languages/en_US.json
parents 23a8228c 5dc83634
......@@ -519,3 +519,26 @@ export function changeCustomerNoConsignee(data){
data
})
}
export function changeCustomerDefaultBilling(data){
return request({
url:'ecw/customer/change-customer-default-billing',
method:'put',
data
})
}
export function addCompetitor(data){
return request({
url:'customer/competitor/create',
method:'post',
data
})
}
export function competitorListAll(){
return request({
url:'customer/competitor/listAll',
method:'get'
})
}
\ No newline at end of file
......@@ -59,3 +59,36 @@ export function exportCustomerFollowExcel(query) {
responseType: 'blob'
})
}
export function getCustomerFollowList(params) {
return request({
url: '/customer/followup/page',
method: 'get',
params
})
}
export function getCustomerFollowDetail(params) {
return request({
url: '/customer/followup/get',
method: 'get',
params
})
}
export function addCustomerFollow(data) {
return request({
url: '/customer/followup/create',
method: 'post',
data
})
}
export function editCustomerFollow(data) {
return request({
url: '/customer/followup/update',
method: 'put',
data
})
}
......@@ -42,6 +42,13 @@ export function listSimpleDepts() {
})
}
export function listMySimpleDepts() {
return request({
url: '/system/dept/list-my-and-under-simple',
method: 'get'
})
}
// 新增部门
export function addDept(data) {
return request({
......
......@@ -4680,9 +4680,11 @@
"默认付款": "Default payment",
"默认开票": "Default Billing",
"请选择业务国家": "Please select customer operating country",
"请选择主要竞争对手": "Please select customer major competitors",
"请重新选择主要竞争对手": "Please again select customer major competitors",
"装柜/出仓时间": "Loading/Exit Time",
"卸柜/到仓时间": "Unloading/Arrival Time",
"提货率": "Delivery rate",
"提货率": "pickup rate",
"业绩归属客户方": "Performance belonging customers",
"报价有效期": "Quotation validity period",
"发货评估": "Delivery evaluation",
......@@ -4692,5 +4694,17 @@
"动态": "Dynamics",
"增值服务": "Added services",
"开启会员积分系统": "Enable member points system",
"是否确认{val}会员积分系统": "Confirm whether to {val} the member points system"
"是否确认{val}会员积分系统": "Confirm whether to {val} the member points system",
"跟进状态": "Follow-up status",
"上一级跟进单": "Follow-up parent number",
"跟进结果": "Follow-up result",
"目的": "Purpose",
"下一步计划": "Next plan",
"跟进情况": "Follow-up situation",
"下次跟进时间": "Next follow-up time",
"提交结果": "Submit result",
"增加计划": "add plan",
"提货状态": "pickup status",
"未提货": "not pickup",
"部分提货": "portion pickup"
}
......@@ -313,6 +313,8 @@
"默认付款": "默认付款",
"默认开票": "默认开票",
"请选择业务国家": "请选择业务国家",
"请选择主要竞争对手": "请选择主要竞争对手",
"请重新选择主要竞争对手": "请重新选择主要竞争对手",
"装柜/出仓时间": "装柜/出仓时间",
"卸柜/到仓时间": "卸柜/到仓时间",
"提货率": "提货率",
......@@ -320,5 +322,7 @@
"发货评估": "发货评估",
"财务资料": "财务资料",
"特殊设置": "特殊设置",
"已卸柜/已到仓时间": "已卸柜/已到仓时间"
"已卸柜/已到仓时间": "已卸柜/已到仓时间",
"动态": "动态",
"增值服务": "增值服务"
}
......@@ -163,7 +163,11 @@ export const DICT_TYPE = {
CUSTOMER_GET_METHOD: 'customer_get_method', //获取方式
CUSTOMER_FROM: 'customer_from', //创建入口
CUSTOMER_ROLE: 'customer_role', //角色
MAJOR_COMPETITORS: 'major_competitors', //主要竞争对手
CUSTOMER_FOLLOWUP_TYPE: 'customer_followup_type', //跟进类型
CUSTOMER_FOLLOWUP_METHOD: 'customer_followup_method', //跟进方式
CUSTOMER_FOLLOWUP_RESULT_TYPE: 'customer_followup_result_type', //跟进结果
CUSTOMER_FOLLOWUP_STATUS: 'customer_followup_status', //跟进状态
CUSTOMER_QUERY_NUMBER_FIELD: "customer_query_number_field", //客户查询数字字段
// order
ORDER_TYPE: "order_type", // 订单类型
PRODUCT_RECORD_ATTRIBUTE: "product_record_attribute", //产品备案属性
......
This diff is collapsed.
<template>
<el-dialog append-to-body :title="$t('报价单')" :visible.sync="offerDialogVisible" :close-on-click-modal="false" width="80%">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
<el-form-item :label="$t('编号')" prop="searchNumber">
<el-input v-model="queryParams.searchNumber" :placeholder="$t('请输入报价单号、订单号')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('客户')" prop="searchCustomer">
<el-input v-model="queryParams.searchCustomer" :placeholder="$t('请输入客户')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('客户经理')" prop="followUpSalesmanId">
<user-selector v-model="queryParams.followUpSalesmanId" clearable />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
<el-table :data="offerList" border size="mini">
<el-table-column align="center" width="80">
<template slot-scope="{row}">
<el-radio v-model="offerId" :label="row.offerId">&nbsp;</el-radio>
</template>
</el-table-column>
<el-table-column :label="$t('报价单号')" align="left" prop="number" width="200px">
<template slot-scope="{row}">
<el-link type="primary" @click.native="$router.push('/offer/detail?offerId=' + row.offerId)">{{row.number}}</el-link>
</template>
</el-table-column>
<el-table-column :label="$t('订单编号')" align="left" prop="orderNo" />
<el-table-column :label="$t('客户名称')" align="left" prop="relationName" />
<el-table-column :label="$t('目的地')" align="center" prop="objectiveName" />
<el-table-column :label="$t('销售阶段')" align="left" width="180">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_OFFER_STATUS" :value="row.status" />
</template>
</el-table-column>
<el-table-column :label="$t('预计结束时间')" align="left">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.stopTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('运输方式')" align="left">
<template slot-scope="scope" >
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportId" />
</template>
</el-table-column>
<el-table-column :label="$t('预计销售额')" align="left" prop="estCost">
<template slot-scope="{row}">
<div class="" v-for="(item, feeIndex) in row.estCostVO.feeDtoList" :key="feeIndex">
<dict-tag :type="DICT_TYPE.ECW_COST_FEE_TYPE" :value="item.feeType" />
{{item.amount}} {{currencyMap[item.currencyId]}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('客户经理')" align="left" prop="creatorName">
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center">
<template slot-scope="scope">
{{ parseTime(scope.row.createTime) }}
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="offerTotal > 0" :total="offerTotal" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getOfferList"/>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirm">{{$t('确定')}}</el-button>
</div>
</el-dialog>
</template>
<script>
import { getCurrencyList } from '@/api/ecw/currency';
import { getOfferPage } from "@/api/ecw/offer"
import UserSelector from '@/components/UserSelector'
export default {
name: "CustomerFollowSelectOffer",
components: {
UserSelector
},
data() {
return {
offerId: null,
offerDialogVisible: false,
queryParams: {
pageNo: 1,
pageSize: 6
},
offerList: [],
offerTotal: 0,
currencyList: [],
}
},
created() {
getCurrencyList().then(res => {
this.currencyList = res.data
})
this.getOfferList()
},
computed:{
currencyMap(){
let map = {}
this.currencyList.forEach(item => {
map[item.id] = this.$l(item, 'title')
})
return map
},
exportCityList() {
return this.tradeCityList.filter(item => item.type == 2)
},
importCityList() {
return this.tradeCityList.filter(item => item.type == 1)
},
},
methods: {
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams = {
pageNo: 1,
pageSize: 10
}
this.handleQuery();
},
getOfferList() {
getOfferPage(this.queryParams).then(response => {
this.offerList = response.data.list;
this.offerTotal = response.data.total;
});
},
confirm() {
if (this.offerId) {
this.$emit('select', this.offerId)
this.offerDialogVisible = false
} else {
this.$message.error(this.$t("请选择报价单"))
}
}
}
}
</script>
\ No newline at end of file
......@@ -480,10 +480,24 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('主要竞争对手')" prop="competitorId">
<el-input
v-model="form.competitorId"
/>
<el-form-item :label="$t('主要竞争对手')" prop="competitorIds">
<el-select
clearable
v-model="form.competitorIds"
:placeholder="$t('请选择')"
@change="changeCompetitor"
>
<el-option
v-for="item in competitorList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
<el-option
:label="$t('其他')"
:value="0"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
......@@ -1110,6 +1124,8 @@ import {
getCustomerLines,
fillupCustomeInfo,
getServiceNetwork,
addCompetitor,
competitorListAll
} from "@/api/ecw/customer";
import { getNodeList } from "@/api/ecw/node";
import { getProductTypeList } from "@/api/ecw/productType";
......@@ -1226,6 +1242,7 @@ export default {
getCountryListAll().then((r) => {
this.countryList = r.data;
});
this.getCompetitorList()
},
data() {
return {
......@@ -1297,6 +1314,13 @@ export default {
trigger: "change",
},
],
competitorIds: [
{
required: true,
message: this.$t("请选择主要竞争对手"),
trigger: "change",
},
],
},
contactRules: {
name: [
......@@ -1345,6 +1369,7 @@ export default {
showShippingFlag: true,
showSettingFlag: true,
showFinanceFlag: true,
competitorList: [],
};
},
......@@ -1505,6 +1530,10 @@ export default {
this.$modal.msgError(this.$t("至少填写一个联系人信息"));
return;
}
if (this.form.competitorIds == 0) {
this.$modal.msgError(this.$t("请重新选择主要竞争对手"));
return;
}
// 重货标准和泡货标准,未打开就不传,提交前清空一下
if (!this.showZhong) {
......@@ -1654,8 +1683,8 @@ export default {
updater: this.$store.getters.userId,// 更新人
updateTime: undefined,// 更新时间
roles: undefined,// 客户角色
busiCountryIds: [],// 业务国家
competitorId: undefined,// 主要竞争对手
busiCountryIds: undefined,// 业务国家
competitorIds: undefined,// 主要竞争对手
weightYearly: undefined,// 年度发货量
numYearly: undefined,// 年度发货次数
noConsignee: false,// 控制无收货人
......@@ -1681,7 +1710,8 @@ export default {
roles: response.data.roles? response.data.roles.split(",") : [],
pickupPoints: this.stringArrToNumberArr(response.data.pickupPoints),
productIds: this.stringArrToNumberArr(response.data.productIds),
busiCountryIds: this.stringArrToNumberArr(response.data.busiCountryIds)
busiCountryIds: this.stringArrToNumberArr(response.data.busiCountryIds),
competitorIds: Number(response.data.competitorIds)
};
if (this.form.productType) {
console.log("1231", this.form.productType);
......@@ -1753,6 +1783,27 @@ export default {
if (!this.form.lightUnit) this.form.lightUnit = r.data.paoEdge;
});
},
getCompetitorList() {
competitorListAll().then((r) => {
this.competitorList = r.data;
})
},
changeCompetitor(val) {
if (val == 0) {
this.$prompt("请输入主要竞争对手", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
}).then((data) => {
console.log(data)
addCompetitor({
name: data.value
}).then(_ => {
this.$message.success('添加成功!')
this.getCompetitorList()
})
})
}
}
},
computed: {
isChinese() {
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -389,7 +389,6 @@ export default {
key: "numberKey",
value: "",
},
productAttrList: [],
channelList: [],
AddressProvince: [],
AddressCity: [],
......@@ -519,7 +518,6 @@ export default {
// getTradeCityList().then(res => this.tradeCityList = res.data)
getWarehouseList().then(res => this.warehouseList = res.data)
getChannelList().then(res => this.channelList = res.data)
getProductAttrList().then((res) => (this.productAttrList = res.data));
this.getAddressProvince()
this.getAddressCity()
this.getAddressTown()
......
<script>
import Decimal from 'decimal.js'
export default {
name: 'DetailProd',
props: {
list: {
type: Array,
required: true
},
attrList: {
type: Array,
required: true
}
},
computed:{
// 显示特性
showAttrText(){
return ids => {
if(!ids) return ''
ids = !Array.isArray(ids) ? ids.split(',') : ids
const attrMap = {}
this.attrList.forEach(item => {
attrMap[item.id] = this.$l(item, 'attrName')
})
return ids.map(id => attrMap[id]).join(',')
}
},
},
methods:{
// 获取品名汇总数据
getProdSummary(e){
console.log("getProdSummart", e)
// 货值
let worth = new Decimal(0)
// 填单数据
let fillData = {
num: new Decimal(0),
weight: new Decimal(0),
volume: new Decimal(0),
quantity: new Decimal(0)
}
// 入仓数据
let warehouseInData = {
num: new Decimal(0),
weight: new Decimal(0),
volume: new Decimal(0),
quantity: new Decimal(0)
}
// 收费数据
let chargeData = {
weight: new Decimal(0),
volume: new Decimal(0),
}
this.list?.forEach(item => {
worth = worth.plus(item.worth)
fillData.num = fillData.num.plus(item.num)
fillData.weight = fillData.weight.plus(item.weight)
fillData.volume = fillData.volume.plus(item.volume)
fillData.quantity = fillData.quantity.plus(item.quantity)
if(item.warehouseInInfoVO){
warehouseInData.num = warehouseInData.num.plus(item.cartonsNum)
warehouseInData.weight = warehouseInData.weight.plus(item.weight)
warehouseInData.volume = warehouseInData.volume.plus(item.volume)
warehouseInData.quantity = warehouseInData.quantity.plus(item.quantityAll)
}
chargeData.weight = chargeData.weight.plus(item.chargeWeight)
chargeData.volume = chargeData.volume.plus(item.chargeVolume)
})
const summary = Array(19).fill(null)
summary[3] = this.$t("合计")
// 入仓
summary[4] = `${warehouseInData.num}${this.$t('')} ${warehouseInData.weight}KG ${warehouseInData.volume}${warehouseInData.quantity}${this.$t('')}`
// 货值
summary[7] = worth.toNumber()
// 收费数九
summary[10] = `${chargeData.weight}KG ${chargeData.volume}m³`
// 填单数据
summary[17] = `${fillData.num}${this.$t('')} ${fillData.weight}KG ${fillData.volume}${fillData.quantity}${this.$t('')}`
return summary
}
}
}
</script>
<template>
<el-table
:data="list"
border
show-summary
:summary-method="getProdSummary"
style="width: 100%">
<el-table-column :label="$t('序号')" width="90px">
<template slot-scope="scope">{{scope.$index + 1}}</template>
</el-table-column>
<el-table-column prop="prodTitleZh" :label="$t('品名')">
<template slot-scope="{row}">
{{row.prodTitleZh}}/{{row.prodTitleEn}}
</template>
</el-table-column>
<!--<el-table-column prop="prodTitleEn" :label="$t('品名')" />-->
<el-table-column prop="brand" :label="$t('品牌')" width="90px">
<template slot-scope="{row}">
<template v-if="row.brandName">{{row.brandName}}</template>
<dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" />
</template>
</el-table-column>
<el-table-column prop="brand" :label="$t('特性')" width="90px">
<template slot-scope="{row}">
{{showAttrText(row.warehouseInInfoVO ? row.warehouseInProdAttrIds : row.prodAttrIds)}}
</template>
</el-table-column>
<el-table-column prop="sumNum" :label="$t('入仓信息')" width="90px">
<template slot-scope="{row}">
<!--<el-link type="primary" @click.native="showWarehouseLogs(row,1)">{{row.warehouseInInfoVO ? row.warehouseInInfoVO.cartonsNum : 0}}</el-link>
<div v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification">({{$t('多规格')}})</div>-->
<div v-if="row.warehouseInInfoVO">
{{row.warehouseInInfoVO.cartonsNum}}{{$t('')}}
{{row.warehouseInInfoVO.weight}}Kg
{{row.warehouseInInfoVO.volume}}
{{row.warehouseInInfoVO.quantityAll}}{{$t('')}}
</div>
</template>
</el-table-column>
<el-table-column prop="warehouseType" :label="$t('类型')" width="120px"/>
<el-table-column prop="specificationType" :label="$t('包装')" width="120px"/>
<el-table-column prop="worth" :label="$t('货值')" width="120px"/>
<el-table-column prop="warehouseRecordRemark" :label="$t('入仓备注')" width="120px"/>
<el-table-column prop="TODO" :label="$t('快递单号')" />
<el-table-column prop="sumNum" :label="$t('收费数据')" width="90px">
<template slot-scope="{row}">
<div v-if="row.warehouseInInfoVO">
{{row.chargeWeight}}Kg
{{row.chargeVolume}}
</div>
</template>
</el-table-column>
<el-table-column prop="" :label="`${$t('费用类型')}/${$t('模式')}`">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PAY_ADVANCE" :value="row.isPayAdvance" />
<div v-if="row.charging ==0">{{ $t('运费/清关费') }}</div>
<div v-if="row.charging ==1">{{ $t('全包价') }}</div>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('成交单价')" width="220px">
<template slot-scope="{row}">
<template v-if="row.charging ==1">
<template v-if="!row.originalSeaFreight">{{ $t('未报价') }}</template>
<el-link type="primary" @click="showFeeDetail(row, 'clearance')" v-else>{{$t('全包价')}} {{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}</el-link>
</template>
<template v-else-if="!row.originalSeaFreight && !row.originalClearanceFreight">{{ $t('未报价') }}</template>
<template v-else>
<el-link type="primary" @click="showFeeDetail(row, 'freight')">
{{$t('运费')}}{{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</el-link>
<el-link type="primary" @click="showFeeDetail(row, 'clearance')">
{{$t('清关费')}}{{row.oneClearanceFreight}} {{currencyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}}
</el-link >
</template>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('材质')">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" :value="row.material" />
</template>
</el-table-column>
<el-table-column prop="" :label="$t('用途')">
<template slot-scope="{row}">
<div v-if="row.usageIds">
<div v-for="(item,index) in row.usageIds.split(',')">
<dict-tag :type="DICT_TYPE.OREER_ITEM_USAGE" :value="item" />
<span v-if="(index+1)!=row.usageIds.split(',').length">,</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('储位')">
<template slot-scope="{row}">
<template v-if="row.warehouseInInfoVO">
{{getLocationName(row.warehouseInInfoVO.orderLocationMergeVOSet)}}
</template>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('商品链接')">
<template slot-scope="{row}">
<template v-if="row.link">
<a target="_blank" :url="row.link">{{row.link}}</a>
</template>
</template>
</el-table-column>
<el-table-column prop="sumNum" :label="$t('填单信息')" width="90px">
<template slot-scope="{row}">
{{row.num}}{{$t('')}}
{{row.weight}}Kg
{{row.volume}}
{{row.quantity}}{{$t('')}}
</template>
</el-table-column>
<el-table-column prop="expressNo" :label="$t('填单快递单号')" />
</el-table>
</template>
This diff is collapsed.
......@@ -338,6 +338,31 @@
</template>
</el-select>
</el-form-item>
<el-form-item :label="$t('提货状态')" v-show="showSearch">
<el-select multiple clearable v-model="queryParams.pickStateList">
<el-option :label="$t('未提货')" :value="0" />
<el-option :label="$t('部分提货')" :value="1" />
<el-option :label="$t('已提货')" :value="2" />
</el-select>
</el-form-item>
<el-form-item :label="$t('提货率')" v-show="showSearch">
<el-input
type="number"
v-model.trim="pickRatio.value"
:placeholder="$t('请输入数字')"
clearable
@keyup.enter.native="handleQuery"
>
<template slot="prepend">
<dict-selector
:type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD"
defaultable
v-model="pickRatio.key"
class="w-50"
/>
</template>
</el-input>
</el-form-item>
<el-form-item>
<el-button
type="primary"
......@@ -1367,7 +1392,7 @@ export default {
// 导出遮罩层
exportLoading: false,
// 显示搜索条件
showSearch: true,
showSearch: false,
// 总条数
total: 0,
// 订单列表
......@@ -1429,7 +1454,11 @@ export default {
value: "",
},
// 当前操作转异的订单
tureExceptionOrder: null
tureExceptionOrder: null,
pickRatio: {
key: "eqNumberKey",
value: "",
}
};
},
watch: {
......@@ -1674,7 +1703,16 @@ export default {
if (this.destWarehouseId != null && this.destWarehouseId != "") {
queryParams.destWarehouseIds = this.destWarehouseId;
}
// 提货率
if (this.pickRatio.value) {
let key = 'eqPickRatio'
if (this.pickRatio.key == 'leNumberKey') {
key = 'lePickRatio'
} else if (this.pickRatio.key == 'geNumberKey') {
key = 'gePickRatio'
}
queryParams[key] = this.pickRatio.value
}
return queryParams;
},
/*batchWarehouseAdjustment(){
......@@ -1704,7 +1742,7 @@ export default {
if(type.indexOf('1') > -1){
arr.push(this.$t('集运'))
}
if(type.indexOf('4') > -1){
if(type.indexOf('2') > -1){
arr.push(this.$t('海外仓'))
}
return arr.join("")
......
......@@ -86,8 +86,13 @@
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model.number="queryParams.transportId" clearable @change="handleQuery"/>
</el-form-item>-->
<el-form-item :label="$t('商品类型')" prop="goodsTypes" v-show="showSearch">
<selector v-model="queryParams.goodsTypes" multiple :options="productAttrList" label-field="attrName" value-field="id">
</selector>
</el-form-item>
<el-form-item :label="$t('商品')" prop="tidanNo" v-show="showSearch">
<el-input v-model="queryParams.prodKey" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" />
<el-input v-model.trim="queryParams.prodKey" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<!--根据需求文档 lanbm 2024-06-23-->
<el-form-item :label="$t('控货')" prop="isCargoControl" v-show="showSearch">
......@@ -115,7 +120,7 @@
</el-form-item>
<el-form-item :label="$t('备案属性')" prop="productRecords" v-show="showSearch">
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" multiple v-model="queryParams.productRecords" multiple clearable @change="handleQuery" />
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" multiple v-model="queryParams.productRecords" clearable @change="handleQuery" />
</el-form-item>
<!--lanbm 2024-06-23 根据需求文档隐藏-->
<el-form-item :label="$t('快递单号')" prop="number" v-show="showSearch">
......
......@@ -112,13 +112,17 @@
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model.number="queryParams.transportId" clearable @change="handleQuery"/>
</el-form-item>-->
<el-form-item :label="$t('商品类型')" prop="goodsTypes" v-show="showSearch">
<selector v-model="queryParams.goodsTypes" multiple :options="productAttrList" label-field="attrName" value-field="id">
</selector>
</el-form-item>
<el-form-item :label="$t('商品')" prop="tidanNo" v-show="showSearch">
<el-input
v-model="queryParams.prodKey"
v-model.trim="queryParams.prodKey"
:placeholder="$t('请输入商品类型、品名或品牌')"
clearable
@keyup.enter.native="handleQuery"
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
</el-form-item>
......
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