Commit 41075341 authored by 管新明's avatar 管新明

Merge branch 'b-template-component' into b_template_component_bugfixed_20200525

parents a397c322 0d54cd25
......@@ -9,9 +9,5 @@
<table dataSource="{{list}}" loading="{{isLoading}}" isZebra>
<table-column a:for="{{titleList}}" title="{{item}}" dataIndex="{{item}}" width="{{index === 0 ? 120 : 'auto'}}"/>
</table>
<view class="rank-pagination">
<text class="rank-pagination-text">共 {{total}} 条</text>
<pagination showJump="{{false}}" defaultCurrent="{{1}}" current="{{searchInfo.pageNo}}" data-type="all" pageSize="{{searchInfo.pageSize}}" onChange="handleChangePage" pageShowCount="{{10}}" total="{{total}}" a:if="{{total > 0}}" shape="arrow-only" />
</view>
</view>
</dialog-wrap>
\ No newline at end of file
......@@ -10,7 +10,6 @@ Component({
},
titleList: [],
list: [],
total: 0,
isLoading: false,
winactivityId: ""
},
......@@ -33,11 +32,10 @@ Component({
async searchList() {
this.setData({
isLoading: true,
list: [],
total: 0
list: []
});
const startDay = this.data.searchInfo.timeRange[0].replace(/-/g, '/')
const endDay = this.data.searchInfo.timeRange[1].replace(/-/g, '/')
const startDay = this.data.searchInfo.timeRange[0].replace(/-/g, "/");
const endDay = this.data.searchInfo.timeRange[1].replace(/-/g, "/");
const params = {
activityId: this.props.selectedItem.activityId,
startDay,
......@@ -63,8 +61,7 @@ Component({
this.setData({
isLoading: false,
titleList,
list: tableData,
total: tableData.length
list: tableData
});
}
},
......
......@@ -4,7 +4,7 @@ const plugin = requirePlugin("myPlugin");
import { bizCode } from "/config";
import { queryBenefitByEname } from "/api";
import { chooseImage, getImageInfo, validateRangeNumber, isDot } from "/utils";
import { passUrlList, urlCheck } from "../../../utils/helper";
import { passUrlList, urlCheck, throttleHandle } from "../../../utils/helper";
const EQUITY_TYPE = 1;
const CREDITS_TYPE = 2;
const OBJECT_TYPE = 3;
......@@ -41,6 +41,7 @@ Component({
OBJECT_TYPE,
LOWER_TYPE,
showDialogMask: true,
canSavePrize: true,
dialogTop: "",
rankTips: {
status: "success",
......@@ -291,10 +292,12 @@ Component({
}
})
},
async uploadImage() {
uploadImage: throttleHandle(async function() {
if (!this.data.showDialogMask) return;
try {
this.setData({
showDialogMask: false,
canSavePrize: false
});
const res = await chooseImage();
this.setData({
......@@ -334,14 +337,16 @@ Component({
image: url,
},
showDialogMask: true,
canSavePrize: true
});
} catch (error) {
this.setData({
showDialogMask: true,
canSavePrize: true
});
console.error(error);
}
},
}, 1000),
onChangePrizeValue(e) {
const key = e.target.dataset.name;
const value = e.detail.value;
......@@ -361,6 +366,13 @@ Component({
});
},
updatePrize() {
if (!this.data.canSavePrize) {
my.showToast({
type: "fail",
content: "请等待图片上传完毕",
});
return
}
const {
name,
ename,
......
......@@ -11,13 +11,24 @@ import {
saveActivityInfo,
} from '/api'
import {
addFloat,setPrizeProbalityRange
addFloat,setPrizeProbalityRange,throttleHandle
} from '/utils/helper'
const THANKS_TYPE = 5
var validator = new schema(descriptor)
const tasks = {
<% for(var i = 0; i < configList.length; ++i) {%>
<%- taskKeys.includes(configList[i].key) && configList[i].key !== 'label' ? `${configList[i].key}:{
value:"",
taskRateType:"",
times:"",
title:"",
link:""
},` : '' %><% } %>
}
Component({
mixins: [ methods ],
data: {
......@@ -27,16 +38,7 @@ Component({
endTime: '',
<% for(var i = 0; i < configList.length; ++i) {%>
<%- !taskKeys.includes(configList[i].key) && configList[i].key !== 'label' ? `${configList[i].key}: ${configList[i].defaultValue || "''"},` : '' %><% } %>
tasks: {
<% for(var i = 0; i < configList.length; ++i) {%>
<%- taskKeys.includes(configList[i].key) && configList[i].key !== 'label' ? `${configList[i].key}:{
value:"",
taskRateType:"",
times:"",
title:"",
link:""
},` : '' %><% } %>
},
tasks: JSON.parse(JSON.stringify(tasks)),
<% for(var i = 0; i < boxDatas.length; ++i) {%>
<%- `${boxkeyDatas[i].name}:{
${boxkeyDatas[i].value}
......@@ -49,6 +51,9 @@ Component({
isPostParams: true
},
didMount() {
this.setData({
tasks: JSON.parse(JSON.stringify(tasks))
})
const { id } = this.$page.$router.params
id && this.getActivityInfo(id)
},
......@@ -122,7 +127,7 @@ Component({
return Object.values(newValidator).some(i => i.status === 'error')
},
// 提交信息
async onSubmit() {
onSubmit: throttleHandle(async function() {
my.showLoading();
console.log(this.data, 'this.data')
......@@ -149,12 +154,14 @@ Component({
my.hideLoading();
if (success) {
this.backList();
my.hideLoading();
} else {
this.showFailToast(message);
}
} else {
my.hideLoading();
}
my.hideLoading();
},
}, 1000),
showFailToast(text) {
my.showToast({
type: 'fail',
......@@ -214,7 +221,7 @@ Component({
return prizeInfoListCopy
},
backList() {
this.$page.$router.push("/activity/list");
this.$page.$router.go(-1)
}
},
})
......@@ -154,6 +154,26 @@ const setPrizeProbalityRange = (prizes) => {
}
})
}
/**
* 防连点
* @param {fn} fn 函数
* @param {wait} wait 时间
*/
const throttleHandle = (fn, wait = 1000) => {
let lastTime = 0
return function cb(...args) {
let nowTime = Date.now()
if(nowTime - lastTime > wait) {
fn.call(this,...args)
lastTime = nowTime
}
}
}
module.exports = {
passUrlList,
signFigures,
......@@ -161,5 +181,6 @@ module.exports = {
accMul,
addFloat,
urlCheck,
setPrizeProbalityRange
setPrizeProbalityRange,
throttleHandle
};
......@@ -86,6 +86,10 @@ export const rankTableValidator = (rule, value, callback, source, options) => {
if (value.some(v => !v.name)) return new Error('名次配置错误, 请检查');
const rankArr = (value.map(v => v.rank.split('-')));
// 判断是从第1名开始,因为之前就做了排序,所以判断有 1 就可以了
const rankArrStr = rankArr.toString();
if (rankArrStr.indexOf('1') === -1) return new Error('必须从第一名开始配置');
// 判断排名连续
let validInfo = {
......
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