Commit 8b866576 authored by dragondean@qq.com's avatar dragondean@qq.com

Merge branch 'pre-release' of...

Merge branch 'pre-release' of http://110.41.143.128:8081/lanbaoming/jiedao-app-operator-master into pre-release
parents 3bfb7f99 70855877
......@@ -503,3 +503,42 @@ export function updatecustomerToOld(params){
params
})
}
export function changeCustomerDefaultPay(data){
return request({
url:'ecw/customer/change-customer-default-pay',
method:'put',
data
})
}
export function changeCustomerNoConsignee(data){
return request({
url:'ecw/customer/change-customer-no-consignee',
method:'put',
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({
......
......@@ -12,7 +12,7 @@ export default {
},
props:{
options: Array,
value: [String, Number, Boolean, Object],
value: [String, Number, Array, Boolean, Object],
labelField: {
type: [String, Function],
default: 'label'
......
......@@ -3,9 +3,11 @@
v-model="valueSync"
filterable
:clearable="clearable"
:multiple="multiple"
remote
reserve-keyword
:placeholder="placeholder ? placeholder : $t('请选择')"
@change="(val) => $emit('change', val)"
:loading="loading">
<el-option
v-if="prepend"
......@@ -25,7 +27,8 @@ import {getCustomerContactsSelect, getCustomerContacts} from '@/api/ecw/customer
import {listServiceUser, listSimpleUsers} from '@/api/system/user'
export default {
props:{
value: [String, Number],
value: [String, Number, Array, Boolean],
multiple: Boolean,
clearable: Boolean,
placeholder: String,
manage:{
......
......@@ -4,6 +4,7 @@ import dialogDrag from './dialog/drag'
import dialogDragWidth from './dialog/dragWidth'
import dialogDragHeight from './dialog/dragHeight'
import clipboard from './module/clipboard'
import trim from "./trim/trim";
const install = function(Vue) {
Vue.directive('hasRole', hasRole)
......@@ -12,6 +13,7 @@ const install = function(Vue) {
Vue.directive('dialogDrag', dialogDrag)
Vue.directive('dialogDragWidth', dialogDragWidth)
Vue.directive('dialogDragHeight', dialogDragHeight)
Vue.directive("trim", trim)
}
if (window.Vue) {
......
// 获取元素
function getInput(el) {
let inputEle;
if (el.tagName !== "INPUT") {
// 若 el-input 中 type 为 textarea
if (el._prevClass.includes("el-textarea")) {
inputEle = el.querySelector("textarea");
} else {
inputEle = el.querySelector("input");
}
} else {
inputEle = el;
}
return inputEle;
}
function dispatchEvent(el, type) {
const evt = new Event(type);
el.dispatchEvent(evt);
}
const Trim = {
inserted: (el) => {
let inputEle = getInput(el);
const handler = function (event) {
const newVal = event.target.value.trim();
if (event.target.value !== newVal) {
event.target.value = newVal;
dispatchEvent(inputEle, "input");
}
};
el.inputEle = inputEle;
el._blurHandler = handler;
inputEle.addEventListener("blur", handler);
},
unbind(el) {
const { inputEle } = el;
inputEle.removeEventListener("blur", el._blurHandler);
},
};
export default Trim;
......@@ -4524,7 +4524,6 @@
"礼品ID": "Gift ID",
"允许兑换次数": "Allow redemption times",
"已兑换次数": "Redemption times",
"剩余次数": "Remaining times",
"添加礼品": "Add Gift",
"查看礼品": "View gifts",
"中文礼品名称": "Chinese gift name",
......@@ -4607,7 +4606,7 @@
"请输入整数": "Please enter an integer",
"请输入中文规则说明": "Please enter the rule description in Chinese",
"请输入英文规则说明": "Please enter English rule description",
"请输入积分规则": "Please enter the scoring rules",
"请输入积分": "Please enter the scoring",
"请选择是否推送": "Please select whether to push",
"保存并启用": "Save and Enable",
"订单入口": "Order Entry",
......@@ -4615,7 +4614,7 @@
"注册平台": "Registration platform",
"等级名称": "User level name",
"是否确认启用此礼品规则": "Do you confirm to enable this gift rule?",
"是否确认复制礼品规则": "Do you want to copy gift rules?",
"是否确认复制积分规则": "Do you want to copy points rules?",
"是否确认关闭此礼品规则": "Do you want to confirm to turn off this gift rule?",
"单次积分": "Single integration",
"规则说明": "Specification of rules",
......@@ -4661,12 +4660,12 @@
"本次最终积分应小于下一次开始积分": "This final score should be less than the next starting score ",
"确认兑换": "Confirm conversion",
"操作积分": "Operation integral",
"基本":"Base",
"基本": "Base",
"发货信息": "Shipping Information",
"设置": "Setting",
"财务": "Finance",
"开票信息": "Billing Information",
"国籍":"country",
"国籍": "country",
"首次成交时间": "First deal time",
"掉入公海时间": "Time fall to Common Customers List",
"获取方式": "Get method",
......@@ -4681,6 +4680,8 @@
"默认付款": "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",
......@@ -4692,6 +4693,15 @@
"已卸柜/已到仓时间": "Unloaded/arrived Time",
"动态": "Dynamics",
"增值服务": "Added services",
"开启会员积分系统":"Enable member points system",
"是否确认{val}会员积分系统":"Confirm whether to {val} the member points system"
"开启会员积分系统": "Enable 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"
}
......@@ -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">
......@@ -968,7 +982,7 @@
v-model.trim="row.phoneNew"
:placeholder="$t('请输入联系方式')"
size="mini"
onkeyup="this.value=this.value.replace(/\s+/g, '')"
@input="row.phoneNew=row.phoneNew.replace(/\s+/g, '')"
/>
</el-form-item>
</template>
......@@ -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) {
......@@ -1531,6 +1560,9 @@ export default {
pickupPoints: (this.form.pickupPoints || [])?.join(","),
productIds: (this.form.productIds || [])?.join(","),
busiCountryIds: (this.form.busiCountryIds || [])?.join(","),
noConsignee: undefined,
defaultPay: undefined,
defaultBilling: undefined,
};
form.customerContacts = JSON.parse(
JSON.stringify(this.form.customerContacts)
......@@ -1651,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,// 控制无收货人
......@@ -1678,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);
......@@ -1750,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.
......@@ -134,10 +134,18 @@
>
</dict-selector>
</el-form-item>
<el-form-item :label="$t('费用')" required>
<el-form-item :label="$t('费用')">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item prop="expenses">
<el-form-item prop="expenses" :rules="rules.expenses" v-show="item.currency">
<el-input
v-model="item.expenses"
:placeholder="$t('请输入数字')"
clearable
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
</el-form-item>
<el-form-item v-show="!item.currency">
<el-input
v-model="item.expenses"
:placeholder="$t('请输入数字')"
......@@ -147,8 +155,28 @@
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item prop="currency">
<div>
<el-form-item prop="currency" :rules="rules.currency" v-show="item.expenses">
<el-select
clearable
v-model="item.currency"
:placeholder="$t('请选择币种')"
>
<el-option
v-for="nodeItem in currencyList"
:key="nodeItem.id"
:label="
isChinese
? nodeItem.titleZh
: nodeItem.titleEn
"
:value="nodeItem.id"
/>
</el-select>
</el-form-item>
<el-form-item v-show="!item.expenses">
<el-select
clearable
v-model="item.currency"
:placeholder="$t('请选择币种')"
>
......@@ -164,10 +192,11 @@
/>
</el-select>
</el-form-item>
</div>
</el-col>
</el-row>
</el-form-item>
<el-form-item :label="$t('收件人姓名')" prop="recipientName"
<el-form-item :label="$t('收件人姓名')"
><el-input
:placeholder="$t('请输入收件人姓名')"
clearable
......@@ -177,7 +206,6 @@
</el-form-item>
<el-form-item
:label="$t('收件人电话')"
prop="recipientPhoneNum"
>
<el-input
:placeholder="$t('请输入收件人电话')"
......@@ -188,7 +216,6 @@
</el-form-item>
<el-form-item
:label="$t('收件人地址')"
prop="recipientAddress"
v-if="item.redeemType != '1'"
>
<el-input
......
......@@ -11,22 +11,22 @@
<el-col :span="12">
<el-form-item :label="$t('中文礼品名称')" prop="titleZh">
<el-input
v-model.trim="queryParams.titleZh"
v-model="queryParams.titleZh"
:placeholder="$t('请输入')"
:disabled="isDisable"
clearable
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
v-trim
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('英文礼品名称')" prop="titleEn">
<el-input
v-model.trim="queryParams.titleEn"
v-model="queryParams.titleEn"
:disabled="isDisable"
:placeholder="$t('请输入')"
clearable
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
v-trim
/>
</el-form-item>
</el-col>
......@@ -53,7 +53,7 @@
<el-col :span="6">
<el-form-item
:label="$t('兑换网点')"
:prop="'nodeIds.' + index + '.nodeId'"
:prop="`nodeIds[${index}].nodeId`"
:rules="rules.nodeIds.nodeId"
>
<el-select
......@@ -75,14 +75,13 @@
<el-col :span="6">
<el-form-item
:label="$t('兑换积分')"
:prop="'nodeIds.' + index + 'points'"
:prop="`nodeIds[${index}].points`"
:rules="rules.nodeIds.points"
>
<el-input
v-model.trim="item.points"
v-model.trim.number="item.points"
:placeholder="$t('请输入')"
:disabled="isDisable"
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/> </el-form-item
></el-col>
<el-col :span="1">
......@@ -95,6 +94,7 @@
</el-row>
<el-form-item :label="$t('剩余数量')" prop="quantityRemain">
<el-input
class="input-item-width"
:disabled="isDisable && disabelEnableStatus"
v-model.trim="queryParams.quantityRemain"
:placeholder="$t('请输入')"
......@@ -127,11 +127,11 @@
</el-form-item>
<el-form-item :label="$t('允许兑换次数')" prop="allowCount">
<el-input
v-model.trim="queryParams.allowCount"
class="input-item-width"
v-model.trim.number="queryParams.allowCount"
:placeholder="$t('请输入')"
clearable
:disabled="isDisable"
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
</el-form-item>
<el-row :gutter="10">
......@@ -347,6 +347,7 @@ export default {
message: this.$t("请输入兑换积分"),
trigger: "blur",
},
{ type: "number", message: "输入数字", trigger: "blur" },
],
},
......@@ -370,6 +371,7 @@ export default {
message: this.$t("请输入允许兑换次数"),
trigger: "blur",
},
{ type: "number", message: "输入数字", trigger: "blur" },
],
remarkZh: [
{
......@@ -441,7 +443,6 @@ export default {
nodeId: null,
pickMethod: null,
pointsRequire: null,
quantityRemain: null,
remarkEn: null,
remarkFr: null,
remarkZh: null,
......@@ -455,3 +456,8 @@ export default {
},
};
</script>
<style>
.input-item-width {
width: 194px;
}
</style>
This diff is collapsed.
......@@ -238,7 +238,7 @@
prop="exchangeCount"
></el-table-column>
<el-table-column
:label="$t('剩余次数')"
:label="$t('剩余数量')"
align="center"
prop="quantityRemain"
></el-table-column>
......@@ -325,7 +325,7 @@ export default {
pointsRequireSymbol: null,
pickMethod: null,
nodeId: null,
status: null,
status: "1",
remark: null,
quantityRemainSymbol: null,
quantityRemain: null,
......@@ -363,7 +363,7 @@ export default {
pointsRequireSymbol: null,
pickMethod: null,
nodeId: null,
status: null,
status: "1",
remark: null,
quantityRemainSymbol: null,
quantityRemain: null,
......@@ -478,7 +478,7 @@ export default {
level: null,
source: null,
customerService: null,
status: null,
status: "1",
department: null,
creditLevel: null,
country: null,
......
......@@ -193,7 +193,7 @@
},
})
"
>{{ `${$t("兑换记录ID")}:${row.extParamJson.redeemId}` }}</el-button
>{{ `${$t("兑换记录ID")}:${row.extParamJson.redemptionNumber}` }}</el-button
>
<!-- 系统过期 sourceType = 3 不展示 -->
<span v-if="row.sourceType == '3'"> -</span>
......
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.
This diff is collapsed.
This diff is collapsed.
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