feat(lint):添加lint 保存时修复

This commit is contained in:
woody 2025-05-22 16:50:14 +08:00
parent 4592316246
commit 0890b44385
10 changed files with 7360 additions and 650 deletions

5
.eslintignore Normal file
View File

@ -0,0 +1,5 @@
node_modules/
dist/
unpackage/
*.log
*.lock

26
.eslintrc.js Normal file
View File

@ -0,0 +1,26 @@
module.exports = {
root: true,
env: {
node: true,
'vue/setup-compiler-macros': true, // 针对 <script setup>
},
extends: [
'plugin:vue/essential',
'eslint:recommended',
'@vue/eslint-config-standard',
'plugin:prettier/recommended', // 确保这个是最后一个,以便它可以覆盖其他配置
],
parserOptions: {
ecmaVersion: 2020,
},
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'vue/multi-word-component-names': 'off', // uniapp 页面组件名通常是单个词
// 您可以在这里添加或覆盖其他规则
// 例如,强制使用单引号
// 'quotes': ['error', 'single'],
// Prettier 相关的规则通常由 plugin:prettier/recommended 自动处理
// 如果需要覆盖 Prettier 自身的规则,请在 .prettierrc.js 中配置
},
};

13
.prettierrc.js Normal file
View File

@ -0,0 +1,13 @@
module.exports = {
printWidth: 80, // 每行代码长度默认80
tabWidth: 2, // 每个tab相当于多少个空格默认2
useTabs: false, // 是否使用tab进行缩进默认false
singleQuote: true, // 使用单引号默认false
semi: true, // 声明语句后加分号默认true
trailingComma: 'es5', // 多行使用拖尾逗号默认none
bracketSpacing: true, // 对象字面量的大括号间使用空格默认true
arrowParens: 'always', // 箭头函数参数始终显示括号
// jsxBracketSameLine: false, // JSX标签的反尖括号保持在上一行默认false- Vue项目中通常不直接写JSX但可保留
vueIndentScriptAndStyle: true, // script和style标签内是否缩进 (默认false)
endOfLine: 'lf', // 文件末尾换行符 (可选 'auto', 'lf', 'crlf', 'cr')
};

6799
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -45,7 +45,9 @@
"test:h5": "cross-env UNI_PLATFORM=h5 jest -i", "test:h5": "cross-env UNI_PLATFORM=h5 jest -i",
"test:ios": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=ios jest -i", "test:ios": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=ios jest -i",
"test:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu jest -i", "test:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu jest -i",
"test:mp-weixin": "cross-env UNI_PLATFORM=mp-weixin jest -i" "test:mp-weixin": "cross-env UNI_PLATFORM=mp-weixin jest -i",
"lint": "eslint --ext .js,.vue src",
"lint:fix": "eslint --ext .js,.vue src --fix"
}, },
"dependencies": { "dependencies": {
"@dcloudio/uni-app": "^2.0.2-3081220230817001", "@dcloudio/uni-app": "^2.0.2-3081220230817001",
@ -97,12 +99,18 @@
"@dcloudio/webpack-uni-pages-loader": "^2.0.2-3081220230817001", "@dcloudio/webpack-uni-pages-loader": "^2.0.2-3081220230817001",
"@vue/cli-plugin-babel": "~4.5.13", "@vue/cli-plugin-babel": "~4.5.13",
"@vue/cli-service": "~4.5.13", "@vue/cli-service": "~4.5.13",
"@vue/eslint-config-standard": "^9.0.1",
"babel-plugin-import": "^1.11.0", "babel-plugin-import": "^1.11.0",
"cross-env": "^7.0.2", "cross-env": "^7.0.2",
"eslint": "^9.27.0",
"eslint-config-prettier": "^10.1.5",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-vue": "^10.1.0",
"jest": "^25.4.0", "jest": "^25.4.0",
"less": "^3.9.0", "less": "^3.9.0",
"less-loader": "^4.1.0", "less-loader": "^4.1.0",
"postcss-comment": "^2.0.0", "postcss-comment": "^2.0.0",
"prettier": "^3.5.3",
"sass": "^1.67.0", "sass": "^1.67.0",
"sass-loader": "^10.4.1", "sass-loader": "^10.4.1",
"vue-template-compiler": "^2.6.11" "vue-template-compiler": "^2.6.11"

View File

@ -4,37 +4,51 @@
* @Author: 王三华 * @Author: 王三华
* @Date: 2023-10-10 14:06:25 * @Date: 2023-10-10 14:06:25
*/ */
const http = uni.$u.http const http = uni.$u.http;
// 待办数据 // 待办数据
export const waitApproval = (params) => http.get('/system/manage/index/wait-approval', { params }) export const waitApproval = (params) =>
http.get('/system/manage/index/wait-approval', { params });
// 已办数据 // 已办数据
export const completeApproval = (params) => http.get('/system/manage/index/complete-approval', { params }) export const completeApproval = (params) =>
http.get('/system/manage/index/complete-approval', { params });
// 登录 // 登录
export const login = (params) => http.post('/system/auth/manage/login',params) export const login = (params) => http.post('/system/auth/manage/login', params);
// 审批业务类型 // 审批业务类型
export const approvalBusiness = (params) => http.get('/system/pub/enums/approval-business', { params }) export const approvalBusiness = (params) =>
http.get('/system/pub/enums/approval-business', { params });
// 来源下拉 // 来源下拉
export const signSource = (params) => http.get('/system/pub/enums/sign-source', { params }) export const signSource = (params) =>
http.get('/system/pub/enums/sign-source', { params });
// 审批下拉 // 审批下拉
export const approvalOperation = (params) => http.get('/system/pub/enums/approval-operation', { params }) export const approvalOperation = (params) =>
http.get('/system/pub/enums/approval-operation', { params });
// 审批状态 // 审批状态
export const approvalStatus = (params) => http.get('/system/pub/enums/approval-status-submit', { params }) export const approvalStatus = (params) =>
http.get('/system/pub/enums/approval-status-submit', { params });
// 签呈类型 // 签呈类型
export const signType = (params) => http.get('/system/pub/enums/sign-type', { params }) export const signType = (params) =>
http.get('/system/pub/enums/sign-type', { params });
// 接收数据 // 接收数据
export const receiveApprovalList = (params) => http.get('/system/manage/index/receive-approval-list', { params }) export const receiveApprovalList = (params) =>
http.get('/system/manage/index/receive-approval-list', { params });
// 审批详情 // 审批详情
export const approvalDetails = (id) => http.get('/system/manage/approval-business/detail/' + id) export const approvalDetails = (id) =>
http.get('/system/manage/approval-business/detail/' + id);
// 签呈审核 // 签呈审核
export const approvalTrue = (params) => http.put('/system/manage/approval-business/approval',params) export const approvalTrue = (params) =>
http.put('/system/manage/approval-business/approval', params);
// 接收 // 接收
export const receiveApproval = (params) => http.put('/system/manage/index/receive-approval',params) export const receiveApproval = (params) =>
http.put('/system/manage/index/receive-approval', params);
// 充值币种类型选择 // 充值币种类型选择
export const getenumsCzAccount = (params) => http.get('/system/manage/account/rechargeList', { params }) export const getenumsCzAccount = (params) =>
http.get('/system/manage/account/rechargeList', { params });
// 交款方式选择 // 交款方式选择
export const getpaymentType = (params) => http.get('/system/pub/enums/get-payment-type', { params }) export const getpaymentType = (params) =>
http.get('/system/pub/enums/get-payment-type', { params });
// 已读状态 // 已读状态
export const readState = (params) => http.get('/system/pub/enums/read-state', { params }) export const readState = (params) =>
http.get('/system/pub/enums/read-state', { params });

View File

@ -4,42 +4,93 @@
* @Author: 王三华 * @Author: 王三华
* @Date: 2023-11-02 11:07:10 * @Date: 2023-11-02 11:07:10
*/ */
const http = uni.$u.http const http = uni.$u.http;
// 货币种类枚举列表 // 货币种类枚举列表
export const accountList = (params) => http.get('/system/pub/enums/account', { params }) export const accountList = (params) =>
http.get('/system/pub/enums/account', { params });
// 业绩汇总 // 业绩汇总
export const memberStructure = (params) => http.get('/member/manage/member-structure/list', { params }) export const memberStructure = (params) =>
http.get('/member/manage/member-structure/list', { params });
// 奖金波比列表 // 奖金波比列表
export const bonusList = (params) => http.get('/member/manage/bonus-statis/list', { params }) export const bonusList = (params) =>
http.get('/member/manage/bonus-statis/list', { params });
// 拨比列表小计 // 拨比列表小计
export const subtotal = (params) => http.get('/member/manage/bonus-statis/subtotal', { params }) export const subtotal = (params) =>
http.get('/member/manage/bonus-statis/subtotal', { params });
// 收益类型 // 收益类型
export const getYieldType = (params) => http.get('/system/manage/bd-bonus-items/list', { params }) export const getYieldType = (params) =>
http.get('/system/manage/bd-bonus-items/list', { params });
// 收益状态 // 收益状态
export const getYieldStatus = (params) => http.get('/system/pub/enums/bonus-income-status', { params }) export const getYieldStatus = (params) =>
http.get('/system/pub/enums/bonus-income-status', { params });
// 订单类型枚举 // 订单类型枚举
export const getOrderType = (params) => http.get('/system/pub/enums/order-type', { params }) export const getOrderType = (params) =>
http.get('/system/pub/enums/order-type', { params });
// 获取全部国家下拉接口 // 获取全部国家下拉接口
export const getcountryAllList = (params) => http.get('/system/manage/country/find-all', { params }) export const getcountryAllList = (params) =>
http.get('/system/manage/country/find-all', { params });
// 获取数据类型 // 获取数据类型
export const getDataType = (params) => http.get('/system/pub/enums/data-type', { params }) export const getDataType = (params) =>
http.get('/system/pub/enums/data-type', { params });
//奖金来源 //奖金来源
export const bonusSource = (params) => http.post('/bonus/manage/bonus/query-bonus-source?pageNum=' + params.pageNum + '&pageSize=' + params.pageSize, params) export const bonusSource = (params) =>
http.post(
'/bonus/manage/bonus/query-bonus-source?pageNum=' +
params.pageNum +
'&pageSize=' +
params.pageSize,
params
);
//奖金汇总 //奖金汇总
export const queryBonusTotal = (params) => http.post('/bonus/manage/bonus/query-bonus-total?pageNum=' + params.pageNum + '&pageSize=' + params.pageSize, params) export const queryBonusTotal = (params) =>
http.post(
'/bonus/manage/bonus/query-bonus-total?pageNum=' +
params.pageNum +
'&pageSize=' +
params.pageSize,
params
);
//奖金明细 //奖金明细
export const queryBonusDetail = (params) => http.post('/bonus/manage/bonus/query-bonus-detail?pageNum=' + params.pageNum + '&pageSize=' + params.pageSize, params) export const queryBonusDetail = (params) =>
http.post(
'/bonus/manage/bonus/query-bonus-detail?pageNum=' +
params.pageNum +
'&pageSize=' +
params.pageSize,
params
);
//安置数据 //安置数据
export const getShowPlace = (params) => http.post('/member/manager/center/show-place?pageNum=' + params.pageNum + '&pageSize=' + params.pageSize, params) export const getShowPlace = (params) =>
http.post(
'/member/manager/center/show-place?pageNum=' +
params.pageNum +
'&pageSize=' +
params.pageSize,
params
);
//推荐数据 //推荐数据
export const getShowRecommend = (params) => http.post('/member/manager/center/show-recommend?pageNum=' + params.pageNum + '&pageSize=' + params.pageSize, params) export const getShowRecommend = (params) =>
http.post(
'/member/manager/center/show-recommend?pageNum=' +
params.pageNum +
'&pageSize=' +
params.pageSize,
params
);
// 获取创客空间详情 // 获取创客空间详情
export const markerSpaceDetail = (params) => http.get('/member/manage/maker-space/detail', { params }) export const markerSpaceDetail = (params) =>
http.get('/member/manage/maker-space/detail', { params });
// 获取超级工作室详情 // 获取超级工作室详情
export const superStudioDetails = (params) => http.get('/member/manage/super-studio/detail', { params }) export const superStudioDetails = (params) =>
http.get('/member/manage/super-studio/detail', { params });
// 获取经销商详情 // 获取经销商详情
export const dealerDetails = (params) => http.get('/member/manage/dealer/detail', { params }) export const dealerDetails = (params) =>
http.get('/member/manage/dealer/detail', { params });
// 顶点下拉选
export const topVertexList = (params) =>
http.get('/member/manage/bonus-vertex-statis/vertexList', { params });

View File

@ -0,0 +1,169 @@
<template>
<view class="top-member-select">
<u-form-item
:label="label"
:borderBottom="borderBottom"
:labelWidth="labelWidth"
>
<picker
:range="pickerVerList"
range-key="displayLabel"
@change="bindPickerChange"
>
<u--input
v-model="displayedValue"
disabled
disabledColor="#ffffff"
suffixIcon="arrow-down"
suffixIconStyle="font-size: 12px; color: #909399"
readonly
></u--input>
</picker>
</u-form-item>
</view>
</template>
<script>
import * as api from '@/api/settle.js'; // uniapp
export default {
name: 'TopMemberSelect',
props: {
// value propv-model使
// value: {
// type: [String, Number],
// default: ''
// },
label: {
type: String,
default: '系统编号',
},
labelWidth: {
type: [String, Number],
default: 'auto',
},
borderBottom: {
type: Boolean,
default: true, // u-form-item
},
// model prop 使 model.pkVertex
// model: {
// type: Object,
// default: () => {}
// }
},
data() {
return {
pkVertex: '', // memberCode
displayedValue: '', // "memberCode (memberName)"
verList: [], // API
pickerVerList: [], // picker使 displayLabel
};
},
watch: {
// 使 v-modelwatch
// value: {
// handler(newVal) {
// if (this.pkVertex !== newVal) {
// this.setSelectedByValue(newVal);
// }
// },
// immediate: true
// }
},
created() {
this.getList();
},
methods: {
getList() {
api
.topVertexList()
.then((res) => {
this.verList = res.rows || [];
this.pickerVerList = this.verList.map((item) => ({
...item,
// pickerrange-key
pkVertex: item.pkVertex, // pkVertex
memberCode: item.memberCode,
memberName: item.memberName,
displayLabel: `${item.memberCode} (${item.memberName})`,
}));
// (v-model/value prop)
// if (this.value && this.pickerVerList.length > 0) {
// this.setSelectedByValue(this.value);
// } else
if (this.pickerVerList.length > 0) {
// change
this.pkVertex = this.pickerVerList[0].memberCode;
this.displayedValue = this.pickerVerList[0].displayLabel;
this.handleChange();
} else {
this.pkVertex = '';
this.displayedValue = '';
//
this.handleChange();
}
})
.catch((err) => {
console.error('TopMemberSelect 获取列表失败:', err);
this.verList = [];
this.pickerVerList = [];
this.pkVertex = '';
this.displayedValue = '';
this.handleChange();
});
},
bindPickerChange(e) {
const index = e.detail.value;
if (this.pickerVerList && this.pickerVerList[index]) {
const selectedItem = this.pickerVerList[index];
this.pkVertex = selectedItem.memberCode;
this.displayedValue = selectedItem.displayLabel;
this.handleChange();
}
},
handleChange() {
// 使 v-model, emit 'input'
// this.$emit('input', this.pkVertex);
this.$emit('change', this.pkVertex);
},
// (使v-model/value prop)
// setSelectedByValue(value) {
// const selectedItem = this.pickerVerList.find(item => item.memberCode === value);
// if (selectedItem) {
// this.pkVertex = selectedItem.memberCode;
// this.displayedValue = selectedItem.displayLabel;
// } else {
// //
// this.pkVertex = '';
// this.displayedValue = '';
// }
// },
reset() {
this.pkVertex = '';
this.displayedValue = '';
//
// if (this.pickerVerList.length > 0) {
// this.pkVertex = this.pickerVerList[0].memberCode;
// this.displayedValue = this.pickerVerList[0].displayLabel;
// }
this.handleChange();
},
},
};
</script>
<style lang="scss" scoped>
//
.top-member-select {
width: 100%;
}
// pickerinput
// ::v-deep .u-input {
// padding-right: 0 !important; //
// }
// ::v-deep .u-input__content__field-wrapper__field {
// text-align: left !important;
// }
</style>

View File

@ -67,6 +67,10 @@
{{ item.orderAmount | toThousandthAndKeepDecimal }} {{ item.orderAmount | toThousandthAndKeepDecimal }}
</td> </td>
</tr> </tr>
<tr v-if="dataList[13].key">
<td align="right">{{ '订单业绩'+ `(${isLocals()})` }}</td>
<td align="left">{{ item.orderAchieve| toThousandthAndKeepDecimal }}</td>
</tr>
<tr v-if="dataList[21].key"> <tr v-if="dataList[21].key">
<td align="right">{{ '商品订单' + "BV" }}</td> <td align="right">{{ '商品订单' + "BV" }}</td>
<td align="left"> <td align="left">
@ -77,10 +81,7 @@
<td align="right">{{ '订单邮费' }}</td> <td align="right">{{ '订单邮费' }}</td>
<td align="left">{{ item.postage| toThousandthAndKeepDecimal }}</td> <td align="left">{{ item.postage| toThousandthAndKeepDecimal }}</td>
</tr> </tr>
<tr v-if="dataList[13].key">
<td align="right">{{ '订单业绩'+ `(${isLocals()})` }}</td>
<td align="left">{{ item.orderAchieve| toThousandthAndKeepDecimal }}</td>
</tr>
<tr v-if="dataList[14].key"> <tr v-if="dataList[14].key">
<td align="right">{{ '发货方式' }}</td> <td align="right">{{ '发货方式' }}</td>
<td align="left">{{ item.deliveryWayStr }}</td> <td align="left">{{ item.deliveryWayStr }}</td>
@ -101,6 +102,10 @@
<td align="right">{{ '支付日期' }}</td> <td align="right">{{ '支付日期' }}</td>
<td align="left">{{ item.payTime }}</td> <td align="left">{{ item.payTime }}</td>
</tr> </tr>
<tr>
<td align="right">订单套数</td>
<td align="left">{{ item.boxNum }}</td>
</tr>
</table> </table>
<view <view
style=" style="

View File

@ -8,9 +8,7 @@
<view class="content"> <view class="content">
<view class="header_a"> <view class="header_a">
<view class="header"> <view class="header">
<img @click="isTop=true" <img @click="isTop = true" src="@/assets/images/search.png" alt="" />
src="@/assets/images/search.png"
alt="">
<!-- <img @click="isFont=true" <!-- <img @click="isFont=true"
src="@/assets/images/change.png" src="@/assets/images/change.png"
alt=""> --> alt=""> -->
@ -18,27 +16,8 @@
</view> </view>
<view class="zhan"></view> <view class="zhan"></view>
<!-- table --> <!-- table -->
<view class="kuang" <view class="kuang" v-for="(item, index) in tableData" :key="index">
v-for="(item,index) in tableData" <table class="tftable" border="1">
:key="index">
<table class="tftable"
border="1">
<tr>
<td align="right">国旗</td>
<td align="left">
<view class="theflex">
<view style="margin-right: 8rpx">
<img style="width: 46rpx; height: 46rpx"
:src="item.nationalFlag1"
alt="" />
</view>
</view>
</td>
</tr>
<tr>
<td align="right">{{ '国家' }}</td>
<td align="left">{{ item.shortName }}</td>
</tr>
<tr> <tr>
<td align="right">{{ '会员编号' }}</td> <td align="right">{{ '会员编号' }}</td>
<td align="left">{{ item.memberCode }}</td> <td align="left">{{ item.memberCode }}</td>
@ -78,129 +57,131 @@
</table> </table>
</view> </view>
<!-- 顶部搜索 --> <!-- 顶部搜索 -->
<u-popup :show="isTop" <u-popup :show="isTop" mode="top" @close="isTop = false">
mode="top"
@close="isTop=false">
<view class="tt"> <view class="tt">
<u--form labelPosition="left" <u--form
labelPosition="left"
labelWidth="auto" labelWidth="auto"
:model="select" :model="select"
ref="uForm"> ref="uForm"
<u-row gutter="10"> >
<u-row gutter="10" style="flex-wrap: wrap">
<u-col span="6">
<top-member-select
label="系统编号"
:borderBottom="false"
@change="topMemberHandleChange"
/>
</u-col>
<u-col span="6"> <u-col span="6">
<u-form-item :label="'会员编号'"> <u-form-item :label="'会员编号'">
<u--input fontSize="12" <u--input fontSize="12" v-model="select.memberCode"></u--input>
v-model="select.memberCode"></u--input>
</u-form-item> </u-form-item>
</u-col> </u-col>
<u-col span="6"> <u-col span="6">
<u-form-item :label="'会员姓名'"> <u-form-item :label="'会员姓名'">
<u--input fontSize="12" <u--input fontSize="12" v-model="select.memberName"></u--input>
v-model="select.memberName"></u--input>
</u-form-item> </u-form-item>
</u-col> </u-col>
</u-row>
<u-row gutter="10">
<u-col span="6"> <u-col span="6">
<u-form-item :label="'订单类型'"> <u-form-item :label="'订单类型'">
<picker :range="orderTypeList" <picker
:range="orderTypeList"
range-key="label" range-key="label"
@change="bindPickerChange1"> @change="bindPickerChange1"
<u--input disabled >
<u--input
disabled
fontSize="12" fontSize="12"
disabledColor="#ffffff" disabledColor="#ffffff"
v-model="select.orderTypeVal" v-model="select.orderTypeVal"
suffixIcon="arrow-down" suffixIcon="arrow-down"
suffixIconStyle="font-size: 12px;"></u--input> suffixIconStyle="font-size: 12px;"
></u--input>
</picker> </picker>
</u-form-item> </u-form-item>
</u-col> </u-col>
<u-col span="6"> <u-col span="6">
<u-form-item :label="'荣誉奖衔'"> <u-form-item :label="'荣誉奖衔'">
<picker :range="awardsList" <picker
:range="awardsList"
range-key="awardsName" range-key="awardsName"
@change="bindPickerChange3"> @change="bindPickerChange3"
<u--input disabled >
<u--input
disabled
fontSize="12" fontSize="12"
disabledColor="#ffffff" disabledColor="#ffffff"
v-model="select.pkAwardsVal" v-model="select.pkAwardsVal"
suffixIcon="arrow-down" suffixIcon="arrow-down"
suffixIconStyle="font-size: 12px;"></u--input> suffixIconStyle="font-size: 12px;"
></u--input>
</picker> </picker>
</u-form-item> </u-form-item>
</u-col> </u-col>
</u-row>
<u-row gutter="10">
<u-col span="6"> <u-col span="6">
<u-form-item :label="'体系名称'"> <u-form-item :label="'体系名称'">
<picker :range="vertexList" <picker
:range="vertexList"
range-key="vertexName" range-key="vertexName"
@change="bindPickerChange4"> @change="bindPickerChange4"
<u--input disabled >
<u--input
disabled
fontSize="12" fontSize="12"
disabledColor="#ffffff" disabledColor="#ffffff"
v-model="select.vertexIdVal" v-model="select.vertexIdVal"
suffixIcon="arrow-down" suffixIcon="arrow-down"
suffixIconStyle="font-size: 12px;"></u--input> suffixIconStyle="font-size: 12px;"
></u--input>
</picker> </picker>
</u-form-item> </u-form-item>
</u-col> </u-col>
<u-col span="6"> <u-col span="6">
<u-form-item :label="'团队名称'"> <u-form-item :label="'团队名称'">
<picker :range="memberteamList" <picker
:range="memberteamList"
range-key="teamName" range-key="teamName"
@change="bindPickerChange5"> @change="bindPickerChange5"
<u--input disabled >
<u--input
disabled
fontSize="12" fontSize="12"
disabledColor="#ffffff" disabledColor="#ffffff"
v-model="select.teamIdVal" v-model="select.teamIdVal"
suffixIcon="arrow-down" suffixIcon="arrow-down"
suffixIconStyle="font-size: 12px;"></u--input> suffixIconStyle="font-size: 12px;"
></u--input>
</picker> </picker>
</u-form-item> </u-form-item>
</u-col> </u-col>
</u-row>
<u-row gutter="10">
<u-col span="6">
<u-form-item :label="'国家'">
<picker :range="countryList"
range-key="name"
@change="bindPickerChange2">
<u--input disabled
fontSize="12"
disabledColor="#ffffff"
v-model="select.pkSettleCountryVal"
suffixIcon="arrow-down"
suffixIconStyle="font-size: 12px;"></u--input>
</picker>
</u-form-item>
</u-col>
</u-row>
<u-row gutter="10">
<u-col span="12"> <u-col span="12">
<u-form-item :label="'订单日期'" <u-form-item :label="'订单日期'" @click="isData = true">
@click="isData=true"> <u--input
<u--input disabled disabled
fontSize="12" fontSize="12"
disabledColor="#ffffff" disabledColor="#ffffff"
v-model="select.operationTimeVal" v-model="select.operationTimeVal"
suffixIcon="arrow-down" suffixIcon="arrow-down"
suffixIconStyle="font-size: 12px;"></u--input> suffixIconStyle="font-size: 12px;"
></u--input>
</u-form-item> </u-form-item>
</u-col> </u-col>
</u-row> </u-row>
</u--form> </u--form>
<view class="footer"> <view class="footer">
<u-button @click="getList1" <u-button
@click="getList1"
color="#C8161D" color="#C8161D"
text="搜索" text="搜索"
class="btnn"></u-button> class="btnn"
<u-button @click="reset" ></u-button>
text="重置"></u-button> <u-button @click="reset" text="重置"></u-button>
</view> </view>
</view> </view>
</u-popup> </u-popup>
<u-calendar @close="isData = false" <u-calendar
@close="isData = false"
:closeOnClickOverlay="true" :closeOnClickOverlay="true"
:show="isData" :show="isData"
:allowSameDay="true" :allowSameDay="true"
@ -208,26 +189,30 @@
:maxDate="calendar.maxDate" :maxDate="calendar.maxDate"
:minDate="calendar.minDate" :minDate="calendar.minDate"
:monthNum="calendar.monthNum" :monthNum="calendar.monthNum"
@confirm="confirm"></u-calendar> @confirm="confirm"
></u-calendar>
<!-- 悬浮球 --> <!-- 悬浮球 -->
<drag-button /> <drag-button />
<export-ball ref="exportBall" <export-ball ref="exportBall" @handleExport="handleExport" />
@handleExport="handleExport" />
</view> </view>
</template> </template>
<script> <script>
import * as api from '@/api/information' import * as api from '@/api/information';
import * as fin from '@/api/financial' import * as fin from '@/api/financial';
import * as settle from '@/api/settle' import * as settle from '@/api/settle';
import * as sta from '@/api/statistics' import * as sta from '@/api/statistics';
import topMemberSelect from '@/components/top-member-select/index.vue';
import { isLocals, isLocalSymbol } from '@/util/numberToCurrency' import { isLocals, isLocalSymbol } from '@/util/numberToCurrency';
export default { export default {
components: {
topMemberSelect,
},
data() { data() {
return { return {
select: { select: {
orderTypeVal: '全部',
orderType: 1,
}, },
isTop: false, isTop: false,
setTime: 0, setTime: 0,
@ -250,198 +235,217 @@ export default {
monthNum: 25, monthNum: 25,
}, },
isData: false, isData: false,
} };
}, },
onLoad(options) { onLoad(options) {
if (uni.getStorageSync('userAll')) { if (uni.getStorageSync('userAll')) {
this.userCountry = JSON.parse(uni.getStorageSync('userAll')).country this.userCountry = JSON.parse(uni.getStorageSync('userAll')).country;
} }
this.getData() this.getData();
this.getSearch() this.getSearch();
this.chooseTimed() this.chooseTimed();
var s1 = this.getStartTime() var s1 = this.getStartTime();
var s2 = this.getEndTime() var s2 = this.getEndTime();
this.$set(this.select, 'startPayTime', s1) this.$set(this.select, 'startPayTime', s1);
this.$set(this.select, 'endPayTime', s2) this.$set(this.select, 'endPayTime', s2);
this.$set(this.select, 'operationTimeVal', s1 + ' 至 ' + s2) this.$set(this.select, 'operationTimeVal', s1 + ' 至 ' + s2);
}, },
onPullDownRefresh() { onPullDownRefresh() {
this.getList1() this.getList1();
}, },
methods: { methods: {
isLocalSymbol, isLocalSymbol,
isLocals, isLocals,
topMemberHandleChange(value) {
this.$set(this.select, 'memberCode', value);
},
getStartTime() { getStartTime() {
let date = new Date() let date = new Date();
let year = date.getFullYear() // let year = date.getFullYear(); //
let month = date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1 // 0-11+1 let month =
date.setDate(1) // date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1; // 0-11+1
month = month >= 10 ? month : '0' + month // date.setDate(1); //
let day = date.getDate() // setDate(1) month = month >= 10 ? month : '0' + month; //
day = day >= 10 ? day : '0' + day // let day = date.getDate(); // setDate(1)
return year + '-' + month + '-' + day day = day >= 10 ? day : '0' + day; //
return year + '-' + month + '-' + day;
}, },
getEndTime() { getEndTime() {
var date = new Date() var date = new Date();
var year = date.getFullYear() // var year = date.getFullYear(); //
let month = date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1 // 0-11+1 let month =
var day = date.getDate() > 1 ? date.getDate() - 1 : date.getDate() // date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1; // 0-11+1
let day1 = date.getDate() var day = date.getDate() > 1 ? date.getDate() - 1 : date.getDate(); //
// 0 let day1 = date.getDate();
// "0"
if (month >= 1 && month <= 9) { if (month >= 1 && month <= 9) {
month = '0' + month month = '0' + month;
} }
if (day >= 0 && day <= 9) { if (day >= 0 && day <= 9) {
day = '0' + day day = '0' + day;
} }
if (day1 == 1) { if (day1 == 1) {
var date2 = new Date() var date2 = new Date();
var year2 = date2.getFullYear() var year2 = date2.getFullYear();
var month2 = date2.getMonth() var month2 = date2.getMonth();
var dates = new Date(year2, month2, 0).getDate() var dates = new Date(year2, month2, 0).getDate();
day = dates day = dates;
} }
return year + '-' + month + '-' + day return year + '-' + month + '-' + day;
}, },
// //
chooseTimed() { chooseTimed() {
let date = new Date() let date = new Date();
let year = date.getFullYear() let year = date.getFullYear();
let month = date.getMonth() + 1 let month = date.getMonth() + 1;
let day = date.getDate() let day = date.getDate();
if (month <= 9) { if (month <= 9) {
month = '0' + month month = '0' + month;
} }
if (day <= 9) { if (day <= 9) {
day = '0' + day day = '0' + day;
} }
let minyear = year - 1 let minyear = year - 1;
let maxyear = year + 1 let maxyear = year + 1;
this.calendar.minDate = minyear + '-' + month + '-' + day this.calendar.minDate = minyear + '-' + month + '-' + day;
this.calendar.maxDate = maxyear + '-' + month + '-' + day this.calendar.maxDate = maxyear + '-' + month + '-' + day;
}, },
handleExport() { handleExport() {
let url = '/report/manager/member-report/export-direct-push-new' let url = '/report/manager/member-report/export-direct-push-new';
let obj = Object.assign({}, this.select, this.queryParams) let obj = Object.assign({}, this.select, this.queryParams);
this.$refs.exportBall.handleExport(url, obj, `伞下直推新增业绩`) this.$refs.exportBall.handleExport(url, obj, `伞下直推新增业绩`);
}, },
getData() { getData() {
// //
api.getvertexValue().then((res) => { api.getvertexValue().then((res) => {
this.vertexList = res.data this.vertexList = res.data;
}) });
// //
api.getmemberTeamList().then((res) => { api.getmemberTeamList().then((res) => {
this.memberteamList = res.rows this.memberteamList = res.rows;
}) });
// //
api.getOrderBusiness().then((res) => { api.getOrderBusiness().then((res) => {
this.orderTypeList = res.data this.orderTypeList = res.data;
}) });
// //
api.getAwardsListChiose().then((res) => { api.getAwardsListChiose().then((res) => {
this.awardsList = res.rows this.awardsList = res.rows;
}) });
// //
settle.getcountryAllList().then((res) => { settle.getcountryAllList().then((res) => {
this.countryList = res.data this.countryList = res.data;
}) });
}, },
bindPickerChange1(e) { bindPickerChange1(e) {
console.log(e);
this.$set( this.$set(
this.select, this.select,
'orderTypeVal', 'orderTypeVal',
this.orderTypeList[e.detail.value].label this.orderTypeList[e.detail.value].label
) );
this.$set( this.$set(
this.select, this.select,
'orderType', 'orderType',
this.orderTypeList[e.detail.value].value this.orderTypeList[e.detail.value].value
) );
}, },
bindPickerChange2(e) { bindPickerChange2(e) {
this.$set( this.$set(
this.select, this.select,
'pkSettleCountryVal', 'pkSettleCountryVal',
this.countryList[e.detail.value].name this.countryList[e.detail.value].name
) );
this.$set( this.$set(
this.select, this.select,
'pkCountry', 'pkCountry',
this.countryList[e.detail.value].pkId this.countryList[e.detail.value].pkId
) );
}, },
bindPickerChange3(e) { bindPickerChange3(e) {
this.$set( this.$set(
this.select, this.select,
'pkAwardsVal', 'pkAwardsVal',
this.awardsList[e.detail.value].awardsName this.awardsList[e.detail.value].awardsName
) );
this.$set(this.select, 'pkAwards', this.awardsList[e.detail.value].pkId) this.$set(
this.select,
'pkAwards',
this.awardsList[e.detail.value].pkId
);
}, },
bindPickerChange4(e) { bindPickerChange4(e) {
this.$set( this.$set(
this.select, this.select,
'vertexIdVal', 'vertexIdVal',
this.vertexList[e.detail.value].vertexName this.vertexList[e.detail.value].vertexName
) );
this.$set(this.select, 'pkVertex', this.vertexList[e.detail.value].pkId) this.$set(
this.select,
'pkVertex',
this.vertexList[e.detail.value].pkId
);
}, },
bindPickerChange5(e) { bindPickerChange5(e) {
this.$set( this.$set(
this.select, this.select,
'teamIdVal', 'teamIdVal',
this.memberteamList[e.detail.value].teamName this.memberteamList[e.detail.value].teamName
) );
this.$set(this.select, 'pkTeamCode', this.memberteamList[e.detail.value].pkId) this.$set(
this.select,
'pkTeamCode',
this.memberteamList[e.detail.value].pkId
);
}, },
onReachBottom() { onReachBottom() {
this.queryParams.pageNum++ this.queryParams.pageNum++;
this.getSearch() this.getSearch();
}, },
// //
getSearch() { getSearch() {
sta.directAddList(Object.assign({}, this.queryParams, this.select)) sta
.directAddList(Object.assign({}, this.queryParams, this.select))
.then((res) => { .then((res) => {
uni.stopPullDownRefresh() uni.stopPullDownRefresh();
this.total = res.total this.total = res.total;
this.tableData = this.tableData.concat(res.rows) this.tableData = this.tableData.concat(res.rows);
}) });
}, },
getList1() { getList1() {
this.tableData = [] this.tableData = [];
this.queryParams.pageNum = 1 this.queryParams.pageNum = 1;
this.isTop = false this.isTop = false;
this.tableData = [] this.tableData = [];
this.getSearch() this.getSearch();
}, },
reset() { reset() {
this.select = {} this.select = {};
}, },
confirm(e) { confirm(e) {
this.$set(this.select, 'startPayTime', e[0]) this.$set(this.select, 'startPayTime', e[0]);
this.$set(this.select, 'endPayTime', e[e.length - 1]) this.$set(this.select, 'endPayTime', e[e.length - 1]);
this.$set( this.$set(
this.select, this.select,
'operationTimeVal', 'operationTimeVal',
e[0] + ' 至 ' + e[e.length - 1] e[0] + ' 至 ' + e[e.length - 1]
) );
this.isData = false this.isData = false;
}, },
}, },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.content { .content {
background: #f9f9f9; background: #f9f9f9;
// padding: 20rpx; // padding: 20rpx;
} }
.header_a { .header_a {
position: fixed; position: fixed;
width: 100%; width: 100%;
z-index: 1; z-index: 1;
} }
.header { .header {
margin: 20rpx; margin: 20rpx;
background: #ffffff; background: #ffffff;
box-shadow: 0px 2px 10px 0px rgba(204, 204, 204, 0.4); box-shadow: 0px 2px 10px 0px rgba(204, 204, 204, 0.4);
@ -454,22 +458,22 @@ export default {
width: 24px; width: 24px;
height: 24px; height: 24px;
} }
} }
.zhan { .zhan {
height: 130rpx; height: 130rpx;
} }
.kuang { .kuang {
margin: 20rpx; margin: 20rpx;
background: #f9f9f9; background: #f9f9f9;
border-radius: 10px 10px 10px 10px; border-radius: 10px 10px 10px 10px;
} }
.table_f { .table_f {
display: flex; display: flex;
uni-button { uni-button {
margin: 20rpx 10rpx; margin: 20rpx 10rpx;
} }
} }
.tftable { .tftable {
font-size: 12px; font-size: 12px;
border-collapse: collapse; border-collapse: collapse;
border-radius: 10px; border-radius: 10px;
@ -479,7 +483,9 @@ export default {
margin-top: 20rpx; margin-top: 20rpx;
td { td {
font-size: 11px; font-size: 11px;
font-family: PingFang SC-Medium, PingFang SC; font-family:
PingFang SC-Medium,
PingFang SC;
font-weight: 500; font-weight: 500;
color: #999; color: #999;
padding: 20rpx 40rpx; padding: 20rpx 40rpx;
@ -494,33 +500,33 @@ export default {
tr :nth-child(2) { tr :nth-child(2) {
color: #333333; color: #333333;
} }
} }
.tt { .tt {
padding: 20rpx; padding: 20rpx;
margin-top: 40px; margin-top: 20rpx;
} }
::v-deep .u-transition { ::v-deep .u-transition {
z-index: 998 !important; z-index: 998 !important;
} }
.footer { .footer {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 20rpx 60rpx; padding: 20rpx 60rpx;
.btnn { .btnn {
margin-right: 40rpx; margin-right: 40rpx;
} }
} }
::v-deep .u-input { ::v-deep .u-input {
padding: 0 9px !important; padding: 0 9px !important;
} }
::v-deep .u-form-item__body__left__content__label { ::v-deep .u-form-item__body__left__content__label {
font-size: 12px; font-size: 12px;
} }
::v-deep .u-form-item__body { ::v-deep .u-form-item__body {
padding: 5px 0; padding: 5px 0;
} }
.theflex { .theflex {
display: flex; display: flex;
align-items: center; align-items: center;
} }
</style> </style>