| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 | <template>  <div>    <div v-if="!customerId" style="min-height: 400px;" class="d-flex justify-center align-center">      <div>        <el-input v-model="customerIdModel" placeholder="请输入客户编号"></el-input>      </div>      <m-button class="ml-3" type="orange" @click="onSearchCustomer">查询</m-button>    </div>    <template v-if="customerId">      <m-search class="mb-3" :items="searchItems" v-model="searchValues" @search="onSearch"></m-search>      <m-table        v-loading="loading"        :cardTitle="cardTitle"        :items="items"        :headers="headers"        :page-size="pageInfo.size"        :page-current="pageInfo.current"        :total="total"        @page-change="onPageChange"      >        <template #actions="{ row }">          <m-button type="primary" text @click="onEdit(row)">分润认领</m-button>        </template>      </m-table>    </template>    <ClaimForm ref="claimFormRef"  @submit="onSubmit" />  </div></template><script>import { dateFormat } from '@/utils/date'import { getCustomerProfitSharingClaim, getCustomerProfitSharingClaimStaffAdd } from '@/api/salary'import ClaimForm from '../components/form.vue'export default {  name: 'salaryClaimStaff',  components: {    ClaimForm  },  data () {    return {      customerIdModel: null,      customerId: null,      searchItems: [        {          label: '客户编号',          prop: 'customerId',          type: 'input',          options: {            clearable: false,            placeholder: '请输入客户编号'          }        },        {          label: '月份',          prop: 'month',          type: 'datePicker',          options: {            clearable: false,            type: 'month',            format: 'yyyy-MM',            valueFormat: 'yyyy-MM',            placeholder: '选择查询月份'          }        },        {          label: '科目名称',          prop: 'subjectName',          type: 'input',          options: {            placeholder: '请输入科目名称'          }        }      ],      searchValues: {        subjectName: null,        customerId: null,        month: dateFormat('YYYY-mm', new Date())      },      headers: [        { label: '客户编号', prop: 'customerId', align: 'center' },        { label: '一级科目编码/名称', prop: 'oneLevelSubject', width: 180 },        { label: '二级科目编码/名称', prop: 'twoLevelSubject', width: 180 },        { label: '金额', prop: 'amount' },        { label: '机构名称', prop: 'organizationName' },        { label: '统一认证号1', prop: 'unifiedCertificationNumber1', width: 150 },        { label: '员工姓名1', prop: 'employeeName1', width: 120 },        { label: '统一认证号2', prop: 'unifiedCertificationNumber2', width: 150 },        { label: '员工姓名2', prop: 'employeeName2', width: 120 },        { label: '管户层级标识', prop: 'customerLevelIdentifier' },        { label: '客户类别标识', prop: 'customerCategoryIdentifier' },        { label: '员工分润比例', prop: 'employeeProfitSharingRatio', align: 'center' },        { label: '数据日期', prop: 'dataDate', width: 120 },        { label: '操作', prop: 'actions', fixed: 'right', width: 180 }      ],      items: [],      total: 0,      pageInfo: {        current: 1,        size: 10      },      loading: false,      cardTitle: null    }  },  methods: {    async onSearchCustomer () {      this.customerId = this.customerIdModel      this.searchValues.customerId = this.customerIdModel      this.initPage()    },    async initPage () {      this.loading = true      try {        const { data } = await getCustomerProfitSharingClaim({          ...this.pageInfo,          ...this.searchValues        })        this.items = data.records        this.total = data.total      } catch (error) {        this.$message.error(error)      } finally {        this.loading = false      }    },    async onInit (cardTitle) {      this.cardTitle = cardTitle      this.customerIdModel = null      this.customerId = null      this.searchValues.customerId = null    },    onAdd () {      this.$refs.templateRefs.open()    },    onEdit (item) {      this.$refs.claimFormRef.open(item, true)    },    onSearch () {      if (!this.searchValues.customerId) return this.$message.warning('请输入要查询的客户编码')      this.pageInfo.current = 1      this.initPage()    },    onPageChange (index) {      this.pageInfo.current = index      this.initPage()    },    async onSubmit (query) {      this.$refs.claimFormRef.setLoading(true)      try {        await getCustomerProfitSharingClaimStaffAdd(query)        this.$refs.claimFormRef.close()        this.$message.success('操作成功')        this.initPage()      } catch (error) {        this.$message.error(error)      } finally {        this.$refs.claimFormRef.setLoading(false)      }    }  }}</script><style lang="scss" scoped>  /* 自定义样式 */</style>
 |