配置统一token输入
This commit is contained in:
@@ -47,3 +47,13 @@ export function syncLbGoodsFromHxr(params) {
|
|||||||
timeout: 120000
|
timeout: 120000
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 按 total_money 从大到小抢购货品,可能较慢 */
|
||||||
|
export function rushBuyLbGoods(data) {
|
||||||
|
return request({
|
||||||
|
url: '/lbGoods/rush-buy',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
timeout: 120000
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -53,6 +53,12 @@
|
|||||||
|
|
||||||
<el-card class="action-container" shadow="never">
|
<el-card class="action-container" shadow="never">
|
||||||
<el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>
|
<el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>
|
||||||
|
<el-input
|
||||||
|
v-model="apiToken"
|
||||||
|
clearable
|
||||||
|
placeholder="Token(可选,未填使用系统默认)"
|
||||||
|
style="width: 320px; margin-left: 12px; vertical-align: middle"
|
||||||
|
/>
|
||||||
<el-button
|
<el-button
|
||||||
type="warning"
|
type="warning"
|
||||||
icon="el-icon-refresh"
|
icon="el-icon-refresh"
|
||||||
@@ -62,6 +68,15 @@
|
|||||||
>
|
>
|
||||||
同步货品
|
同步货品
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
icon="el-icon-shopping-cart-full"
|
||||||
|
:loading="rushBuyLoading"
|
||||||
|
style="margin-left: 12px"
|
||||||
|
@click="openRushBuyDialog"
|
||||||
|
>
|
||||||
|
帮我抢单
|
||||||
|
</el-button>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card class="table-container" shadow="never">
|
<el-card class="table-container" shadow="never">
|
||||||
@@ -120,6 +135,26 @@
|
|||||||
/>
|
/>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
|
<el-dialog title="帮我抢单" :visible.sync="rushBuyDialogVisible" width="520px" @close="resetRushBuyForm">
|
||||||
|
<el-form ref="rushBuyFormRef" :model="rushBuyForm" :rules="rushBuyRules" label-width="130px">
|
||||||
|
<el-form-item label="最大抢单数量" prop="maxBuyCount">
|
||||||
|
<el-input-number
|
||||||
|
v-model="rushBuyForm.maxBuyCount"
|
||||||
|
:min="1"
|
||||||
|
:precision="0"
|
||||||
|
:step="1"
|
||||||
|
controls-position="right"
|
||||||
|
style="width: 100%"
|
||||||
|
placeholder="成功笔数达到该值后停止"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="rushBuyDialogVisible = false">取消</el-button>
|
||||||
|
<el-button type="primary" :loading="rushBuyLoading" @click="submitRushBuy">开始抢单</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="760px" @close="resetForm">
|
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="760px" @close="resetForm">
|
||||||
<el-form ref="dataForm" :model="form" :rules="formRules" label-width="110px">
|
<el-form ref="dataForm" :model="form" :rules="formRules" label-width="110px">
|
||||||
<el-form-item label="商品ID" prop="id">
|
<el-form-item label="商品ID" prop="id">
|
||||||
@@ -208,6 +243,7 @@ import {
|
|||||||
addLbGoods,
|
addLbGoods,
|
||||||
deleteLbGoods,
|
deleteLbGoods,
|
||||||
getLbGoodsList,
|
getLbGoodsList,
|
||||||
|
rushBuyLbGoods,
|
||||||
syncLbGoodsFromHxr,
|
syncLbGoodsFromHxr,
|
||||||
updateLbGoods
|
updateLbGoods
|
||||||
} from '@/api/lb-goods'
|
} from '@/api/lb-goods'
|
||||||
@@ -263,6 +299,27 @@ export default {
|
|||||||
loading: false,
|
loading: false,
|
||||||
submitLoading: false,
|
submitLoading: false,
|
||||||
syncLoading: false,
|
syncLoading: false,
|
||||||
|
rushBuyLoading: false,
|
||||||
|
rushBuyDialogVisible: false,
|
||||||
|
apiToken: '',
|
||||||
|
rushBuyForm: {
|
||||||
|
maxBuyCount: 1
|
||||||
|
},
|
||||||
|
rushBuyRules: {
|
||||||
|
maxBuyCount: [
|
||||||
|
{ required: true, message: '请输入最大抢单数量', trigger: 'blur' },
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (value === undefined || value === null || value < 1) {
|
||||||
|
callback(new Error('最大抢单数量必须大于 0'))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
callback()
|
||||||
|
},
|
||||||
|
trigger: 'change'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
list: [],
|
list: [],
|
||||||
total: 0,
|
total: 0,
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
@@ -295,6 +352,10 @@ export default {
|
|||||||
const value = headers && headers['X-Tenant-Id']
|
const value = headers && headers['X-Tenant-Id']
|
||||||
return value ? String(value).trim() : ''
|
return value ? String(value).trim() : ''
|
||||||
},
|
},
|
||||||
|
getApiTokenParam() {
|
||||||
|
const token = (this.apiToken || '').trim()
|
||||||
|
return token ? { token } : {}
|
||||||
|
},
|
||||||
handleSyncFromHxr() {
|
handleSyncFromHxr() {
|
||||||
const tenantId = this.getTenantIdFromBusinessHeaders()
|
const tenantId = this.getTenantIdFromBusinessHeaders()
|
||||||
if (!tenantId) {
|
if (!tenantId) {
|
||||||
@@ -302,7 +363,7 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.syncLoading = true
|
this.syncLoading = true
|
||||||
syncLbGoodsFromHxr({ tenantId })
|
syncLbGoodsFromHxr({ tenantId, ...this.getApiTokenParam() })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
const isSuccess = res && (res.success === true || res.code === 200 || res.code === 20000)
|
const isSuccess = res && (res.success === true || res.code === 200 || res.code === 20000)
|
||||||
if (!isSuccess) {
|
if (!isSuccess) {
|
||||||
@@ -316,6 +377,37 @@ export default {
|
|||||||
this.syncLoading = false
|
this.syncLoading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
openRushBuyDialog() {
|
||||||
|
this.rushBuyDialogVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.rushBuyFormRef && this.$refs.rushBuyFormRef.clearValidate()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
resetRushBuyForm() {
|
||||||
|
this.rushBuyForm = { maxBuyCount: 1 }
|
||||||
|
this.$refs.rushBuyFormRef && this.$refs.rushBuyFormRef.resetFields()
|
||||||
|
},
|
||||||
|
submitRushBuy() {
|
||||||
|
this.$refs.rushBuyFormRef.validate((valid) => {
|
||||||
|
if (!valid) return
|
||||||
|
const payload = { maxBuyCount: this.rushBuyForm.maxBuyCount, ...this.getApiTokenParam() }
|
||||||
|
this.rushBuyLoading = true
|
||||||
|
rushBuyLbGoods(payload)
|
||||||
|
.then((res) => {
|
||||||
|
const isSuccess = res && (res.success === true || res.code === 200 || res.code === 20000)
|
||||||
|
if (!isSuccess) {
|
||||||
|
this.$message.error((res && res.message) || '抢单失败')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$message.success((res && res.message) || '抢单完成')
|
||||||
|
this.rushBuyDialogVisible = false
|
||||||
|
this.fetchList()
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
this.rushBuyLoading = false
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
fetchList() {
|
fetchList() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
getLbGoodsList(this.buildListParams())
|
getLbGoodsList(this.buildListParams())
|
||||||
|
|||||||
Reference in New Issue
Block a user