|
@@ -0,0 +1,213 @@
|
|
|
|
|
+<!-- @desc:积分查询 @auth:常皓宁 @time:2024/7/25 9:47 -->
|
|
|
|
|
+<template>
|
|
|
|
|
+ <div class="main-div" ref="mainDiv">
|
|
|
|
|
+ <DkForm ref="formInline" v-model="formData" :col-count="4" :width="50">
|
|
|
|
|
+ <!--企业-->
|
|
|
|
|
+ <DkFormItem prop="cpId" :label="this.$t('cpName')" :required="true" :span="6"
|
|
|
|
|
+ :data-type="$config.dataType.number">
|
|
|
|
|
+ <SelectMagnifier v-model="formData.cpId" :display-text="formData.cpName"
|
|
|
|
|
+ :type="this.$config.MagnifierType.company"
|
|
|
|
|
+ :multiple="false"
|
|
|
|
|
+ @ok="clickOk"/>
|
|
|
|
|
+ </DkFormItem>
|
|
|
|
|
+ </DkForm>
|
|
|
|
|
+ <BaseIndexButtonGroup ref="BaseIndexButtonGroup" id="BaseIndexButtonGroup">
|
|
|
|
|
+ <template #left>
|
|
|
|
|
+ <!-- 查询 -->
|
|
|
|
|
+ <BaseIndexButton ref="search" name="search" @click="getData"></BaseIndexButton>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </BaseIndexButtonGroup>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 表格部分 -->
|
|
|
|
|
+ <DkSplit mode="vertical" v-model="split" :height="tableHeight">
|
|
|
|
|
+ <div slot="top" style="margin-left: 5px;">
|
|
|
|
|
+ <DkTable ref="table-select" name="table" :data="tableData" primaryKey="cpId"
|
|
|
|
|
+ @pageChange="pageSizeChange"
|
|
|
|
|
+ :page-total="pageInfo.total"
|
|
|
|
|
+ :page-size="pageInfo.pageSize"
|
|
|
|
|
+ :page-size-opts="pageSizeOpts"
|
|
|
|
|
+ :current-page="pageInfo.currentPage"
|
|
|
|
|
+ :choose-flag="false"
|
|
|
|
|
+ @current-change="currentChange($event)"
|
|
|
|
|
+ :height="this.tableHeight * split - 35" showFooter>
|
|
|
|
|
+ <DkTableColumn field="cpCode"></DkTableColumn>
|
|
|
|
|
+ <DkTableColumn field="cpName"></DkTableColumn>
|
|
|
|
|
+ <DkTableColumn field="integral"></DkTableColumn>
|
|
|
|
|
+ </DkTable>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div slot="bottom">
|
|
|
|
|
+ <DkTabs v-model="detailModel" :options="detailOptions" @on-click="detailTabsClick"></DkTabs>
|
|
|
|
|
+ <!-- 明细 -->
|
|
|
|
|
+ <div v-show="itemFlag">
|
|
|
|
|
+ <DkTable :id="'table-'+$options.name" ref="detail-select" :data="integralItemData"
|
|
|
|
|
+ :choose-flag="false"
|
|
|
|
|
+ :height="this.tableHeight * (1-split)" primaryKey="itemId" name="table">
|
|
|
|
|
+ <DkTableColumn field="integralType"></DkTableColumn>
|
|
|
|
|
+ <DkTableColumn field="integral"></DkTableColumn>
|
|
|
|
|
+ <DkTableColumn field="accDate" :data-type="$config.dataType.date"></DkTableColumn>
|
|
|
|
|
+ </DkTable>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- 签到 -->
|
|
|
|
|
+ <div v-show="signRecordFlag">
|
|
|
|
|
+ <DkTable :id="'table-'+$options.name" ref="detail-select" :data="signRecordData"
|
|
|
|
|
+ :choose-flag="false"
|
|
|
|
|
+ :height="this.tableHeight * (1-split)" primaryKey="itemId" name="table">
|
|
|
|
|
+ <DkTableColumn field="userId"></DkTableColumn>
|
|
|
|
|
+ <DkTableColumn field="signDays"></DkTableColumn>
|
|
|
|
|
+ <DkTableColumn field="lastDate" :data-type="$config.dataType.date"></DkTableColumn>
|
|
|
|
|
+ </DkTable>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- 分享 -->
|
|
|
|
|
+ <div v-show="shareFlag">
|
|
|
|
|
+ <DkTable :id="'table-'+$options.name" ref="detail-select" :data="shareData"
|
|
|
|
|
+ :choose-flag="false"
|
|
|
|
|
+ :height="this.tableHeight * (1-split)" primaryKey="itemId" name="table">
|
|
|
|
|
+ <DkTableColumn field="tacticId"></DkTableColumn>
|
|
|
|
|
+ <DkTableColumn field="shareDate" :data-type="$config.dataType.date"></DkTableColumn>
|
|
|
|
|
+ <DkTableColumn field="endDate" :data-type="$config.dataType.date"></DkTableColumn>
|
|
|
|
|
+ </DkTable>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </DkSplit>
|
|
|
|
|
+ </div>
|
|
|
|
|
+</template>
|
|
|
|
|
+
|
|
|
|
|
+<script>
|
|
|
|
|
+import {indexMixin} from "@/mixins";
|
|
|
|
|
+
|
|
|
|
|
+export default {
|
|
|
|
|
+ name: "integral",
|
|
|
|
|
+ mixins: [indexMixin],
|
|
|
|
|
+ data() {
|
|
|
|
|
+ let self = this
|
|
|
|
|
+ return {
|
|
|
|
|
+ itemFlag:true,
|
|
|
|
|
+ signRecordFlag:false,
|
|
|
|
|
+ shareFlag:false,
|
|
|
|
|
+ detailModel: 'integralItem',
|
|
|
|
|
+ detailOptions: [{label: self.$t('integralItem'), name: 'integralItem'}, //积分明细
|
|
|
|
|
+ {label: self.$t('signRecord'), name: 'signRecord'},//签到
|
|
|
|
|
+ {label: self.$t('share'), name: 'share'}, //分享
|
|
|
|
|
+ ],
|
|
|
|
|
+ integralItemData: [],//积分明细
|
|
|
|
|
+ signRecordData:[],//签到积分
|
|
|
|
|
+ shareData:[],//分享积分
|
|
|
|
|
+ formData: {
|
|
|
|
|
+ cpId: null,
|
|
|
|
|
+ },
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @desc : 选择后事件
|
|
|
|
|
+ * @author : 常皓宁
|
|
|
|
|
+ * @date : 2024/6/5 9:18
|
|
|
|
|
+ */
|
|
|
|
|
+ clickOk(val) {
|
|
|
|
|
+ this.formData.cpId = val[0]['cpId']
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @desc : 点击Tab进行切换
|
|
|
|
|
+ * @author : 常皓宁
|
|
|
|
|
+ * @date : 2024/7/25 11:01
|
|
|
|
|
+ */
|
|
|
|
|
+ detailTabsClick(val) {
|
|
|
|
|
+ if (val === 'integralItem') {
|
|
|
|
|
+ this.itemFlag = true
|
|
|
|
|
+ this.signRecordFlag = false
|
|
|
|
|
+ this.shareFlag = false
|
|
|
|
|
+ } else if (val === 'signRecord') {
|
|
|
|
|
+ this.itemFlag = false
|
|
|
|
|
+ this.signRecordFlag = true
|
|
|
|
|
+ this.shareFlag = false
|
|
|
|
|
+ } else if (val === 'share') {
|
|
|
|
|
+ this.itemFlag = false
|
|
|
|
|
+ this.signRecordFlag = false
|
|
|
|
|
+ this.shareFlag = true
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @desc : 行改变事件
|
|
|
|
|
+ * @author : 常皓宁
|
|
|
|
|
+ * @date : 2024/4/15 13:34
|
|
|
|
|
+ */
|
|
|
|
|
+ currentChange({row}) {
|
|
|
|
|
+ this.loading = true
|
|
|
|
|
+ this.integralItemData = null;
|
|
|
|
|
+ let params = {
|
|
|
|
|
+ cpId: row.cpId,
|
|
|
|
|
+ }
|
|
|
|
|
+ this.excute(this.$service.integralItemService, this.$service.integralItemService.selectByCond, params).then(res => {
|
|
|
|
|
+ if (res.code === this.$config.SUCCESS_CODE) {
|
|
|
|
|
+ this.integralItemData = res.data.list;
|
|
|
|
|
+ }
|
|
|
|
|
+ this.loading = false
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @desc : 查询数据
|
|
|
|
|
+ * @author : 常皓宁
|
|
|
|
|
+ * @date : 2024/4/15 13:34
|
|
|
|
|
+ */
|
|
|
|
|
+ getData(params) {
|
|
|
|
|
+ this.$refs['formInline'].validate().then(valid => {
|
|
|
|
|
+ if (!valid) {
|
|
|
|
|
+ return
|
|
|
|
|
+ } else {
|
|
|
|
|
+ params = {...this.formData}
|
|
|
|
|
+ this.excute(this.$service.integralService, this.$service.integralService.selectByCond, params).then(res => {
|
|
|
|
|
+ if (res.code === this.$config.SUCCESS_CODE) {
|
|
|
|
|
+ this.tableData = res.data.list;
|
|
|
|
|
+ this.getSignRecordData(params);
|
|
|
|
|
+ this.getShareData(params);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ this.$Message.warning(res.message)
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @desc : 查询签到积分
|
|
|
|
|
+ * @author : 常皓宁
|
|
|
|
|
+ * @date : 2024/7/25 13:31
|
|
|
|
|
+ */
|
|
|
|
|
+ getSignRecordData(params){
|
|
|
|
|
+ this.excute(this.$service.signRecordService, this.$service.signRecordService.selectByCond, params).then(res => {
|
|
|
|
|
+ if (res.code === this.$config.SUCCESS_CODE) {
|
|
|
|
|
+ this.signRecordData = res.data.list;
|
|
|
|
|
+ }else {
|
|
|
|
|
+ this.$Message.warning(res.message)
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @desc : 查询分享积分
|
|
|
|
|
+ * @author : 常皓宁
|
|
|
|
|
+ * @date : 2024/7/25 13:31
|
|
|
|
|
+ */
|
|
|
|
|
+ getShareData(params){
|
|
|
|
|
+ this.excute(this.$service.integralShareService, this.$service.integralShareService.selectByCond, params).then(res => {
|
|
|
|
|
+ if (res.code === this.$config.SUCCESS_CODE) {
|
|
|
|
|
+ this.shareData = res.data.list;
|
|
|
|
|
+ }else {
|
|
|
|
|
+ this.$Message.warning(res.message)
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ created() {
|
|
|
|
|
+ this.primaryKey = 'cpId' // 设置主键Id
|
|
|
|
|
+ this.routeObjName = 'integral' // 设置路由名称
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+</script>
|
|
|
|
|
+
|
|
|
|
|
+<style scoped>
|
|
|
|
|
+
|
|
|
|
|
+</style>
|