123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435 |
- <template>
- <div class="content main levelSetting">
- <div class="search_bottom_tab">
- <div
- class="tab_list search"
- style="line-height: 60px;"
- >
- <el-radio-group
- v-model="chargeStatus"
- @change="changeRadio"
- class="zz-tab-button"
- >
- <el-radio-button label="1">员工服务统计</el-radio-button>
- <el-radio-button label="2">统计参数设置</el-radio-button>
- </el-radio-group>
- <el-input
- v-show="chargeStatus == 1 ? true : false"
- clearable
- placeholder="输入员工姓名/手机号"
- class="search-input"
- v-trim
- v-model="mixins_query.name"
- ></el-input>
- <el-date-picker
- v-show="chargeStatus == 1 ? true : false"
- type="date"
- placeholder="选择日期"
- value-format="yyyy-MM-dd"
- v-model="pickerTime"
- :editable="false"
- @change="timeToggle"
- >
- </el-date-picker>
- <el-button
- v-show="chargeStatus == 1 ? true : false"
- class="search-btn"
- type="primary"
- @click="mixins_search()"
- icon="el-icon-search"
- >查询</el-button>
- </div>
- <zz-table
- v-if="chargeStatus == 1 ? true : false"
- :settings="{ showIndex: true, stripe: true }"
- :cols="cols"
- :data="mixins_list"
- :pageset="mixins_pageset"
- @page-change="pageChange"
- :selectable="selectable"
- @selection-change="selectionChange"
- >
- <template
- slot-scope="scope"
- slot="opt"
- >
- <el-tooltip
- class="item"
- effect="light"
- placement="bottom"
- content="查看"
- >
- <i
- class="zoniot_font zoniot-icon-xiangqing"
- @click="lookDetails(scope.row)"
- ></i>
- </el-tooltip>
- </template>
- </zz-table>
- </div>
- <div
- class="organ-tree"
- v-if="chargeStatus == 1 ? false : true"
- >
- <el-input
- v-model="filterText"
- placeholder="请输入机构名称"
- suffix-icon="el-icon-search"
- ></el-input>
- <div class="tree-style-box">
- <el-scrollbar style="height: 100%">
- <el-tree
- class="tree-style"
- :data="organList"
- ref="tree"
- node-key="id"
- :highlight-current="true"
- :props="defaultProps"
- :expand-on-click-node="false"
- @node-click="treeClick"
- :default-expand-all="false"
- :filter-node-method="filterNode"
- >
- <span
- class="ellipsis"
- slot-scope="{ node }"
- >
- <span :title="node.label">{{ node.label }}</span>
- </span>
- </el-tree>
- </el-scrollbar>
- </div>
- </div>
- <div
- class="content-right"
- v-show="chargeStatus == 1 ? false : true"
- >
- <el-form
- ref="form"
- :model="formData"
- >
- <el-form-item>
- <div class="item-title">奖励基数:运维服务费 *
- <el-input
- v-model="formData.cardinality"
- oninput="value=value.replace(/[^0-9.]/g,'')"
- ></el-input>
- </div>
- </el-form-item>
- <div class="formContent-item_title">员工服务费</div>
- <el-form-item>
- <div class="item-title">评价等级(五星):奖励基数 *
- <el-input
- v-model="formData.fiveStar"
- oninput="value=value.replace(/[^0-9.]/g,'')"
- ></el-input>
- </div>
- </el-form-item>
- <el-form-item>
- <div class="item-title">评价等级(四星):奖励基数 *
- <el-input
- v-model="formData.fourStar"
- oninput="value=value.replace(/[^0-9.]/g,'')"
- ></el-input>
- </div>
- </el-form-item>
- <el-form-item>
- <div class="item-title">评价等级(三星):奖励基数 *
- <el-input
- v-model="formData.threeStar"
- oninput="value=value.replace(/[^0-9.]/g,'')"
- ></el-input>
- </div>
- </el-form-item>
- <el-form-item>
- <div class="item-title">评价等级(二星):奖励基数 *
- <el-input
- v-model="formData.twoStar"
- oninput="value=value.replace(/[^0-9.]/g,'')"
- ></el-input>
- </div>
- </el-form-item>
- <el-form-item>
- <div class="item-title">评价等级(一星):奖励基数 *
- <el-input
- v-model="formData.oneStar"
- oninput="value=value.replace(/[^0-9.]/g,'')"
- ></el-input>
- </div>
- </el-form-item>
- <el-form-item>
- <div class="item-title">评价等级(无评价):奖励基数 *
- <el-input
- v-model="formData.star"
- oninput="value=value.replace(/[^0-9.]/g,'')"
- ></el-input>
- </div>
- </el-form-item>
- <el-form-item>
- <div
- class="item-title"
- style="color:red"
- >注:员工服务费提成=奖励基数*评价等级
- </div>
- </el-form-item>
- </el-form>
- <el-form>
- <el-form-item style="text-align: right; position: absolute; bottom: 0; right: 40px;">
- <el-button
- type="primary"
- @click="submit"
- >保存</el-button>
- </el-form-item>
- </el-form>
- </div>
- </div>
- </template>
- <script>
- import list from '@utils/list';
- export default {
- mixins: [list],
- data () {
- return {
- chargeStatus: 1,
- organList: [],
- currentId: '',
- pickerTime: '',
- defaultProps: {
- children: 'orgs',
- label: 'orgName'
- },
- mixins_post: 'get',
- cols: [
- {
- label: '员工姓名',
- prop: 'username'
- },
- {
- label: '手机号',
- prop: 'phone'
- },
- {
- label: '所属公司',
- prop: 'companyOrgName'
- },
- {
- label: '所属部门',
- prop: 'deptOrgName'
- },
- {
- label: '月份',
- prop: 'month',
- format (val) {
- let res = val.toString();
- return (res).substr(0, 4) + '年' + (res).substr(4, 2) + '月'
- }
- },
- {
- label: '业主报修工单数',
- prop: 'workOrderNum'
- },
- {
- label: '服务费总金额(元)',
- prop: 'amount'
- },
- {
- label: '服务费提成金额(元)',
- prop: 'royalty'
- },
- {
- label: '操作',
- slot: 'opt'
- }
- ],
- formData: {
- companyOrgId: '',
- cardinality: '',
- fiveStar: '',
- fourStar: '',
- threeStar: '',
- twoStar: '',
- oneStar: '',
- star: ''
- }
- }
- },
- methods: {
- changeRadio () {
- if (this.chargeStatus == '1') {
- } else if (this.chargeStatus == '2') {
- this.getOrgTreeList();
- }
- },
- // 获得机构名称
- getOrgTreeList () {
- this.$http.postForm('/czc-user-center/org/getOrgTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
- if (status === 0 && data) {
- this.organList = data;
- this.$nextTick().then(() => {
- const firstNode = document.querySelector('.el-tree-node');
- firstNode.click();
- });
- }
- });
- },
- filterNode (value, data) {
- if (!value) return true;
- return data.orgName.indexOf(value) !== -1;
- },
- treeClick (e) {
- if (e.id == 0) return;
- this.currentId = e.id;
- this.formData.companyOrgId = e.id;
- this.royaltyConfig();
- },
- timeToggle (e) {
- if (!!e) {
- this.mixins_query.month = e.substr(0, 4) + e.substr(5, 2);
- } else {
- this.mixins_query.month = ''
- }
- },
- lookDetails (row) {
- new Promise((resolve) => {
- this.$store.dispatch('addPopup', {
- url: '/workOrders/employeeServices/details.vue',
- width: '780px',
- height: '500px',
- props: {
- row,
- callback: resolve,
- },
- showConfirmButton: true,
- showCancelButton: true,
- hideStar: true,
- title: '任务详情'
- });
- }).then(() => {
- this.mixins_search();
- });
- },
- submit () {
- this.$http.post('/czc-community/royaltyConfig/save', this.formData).then(({ status, data, msg }) => {
- if (status == 0) {
- this.$message.success(msg);
- } else {
- this.$message.error(msg);
- }
- })
- },
- // /czc-community/royaltyConfig/find
- royaltyConfig () {
- this.$http.get('/czc-community/royaltyConfig/find', { companyOrgId: this.currentId }).then(({ status, data, msg }) => {
- if (status == 0) {
- this.formData.cardinality = data.cardinality;
- this.formData.fiveStar = data.fiveStar;
- this.formData.fourStar = data.fourStar;
- this.formData.threeStar = data.threeStar;
- this.formData.twoStar = data.twoStar;
- this.formData.oneStar = data.oneStar;
- this.formData.star = data.star;
- }
- })
- }
- },
- created () {
- this.mixins_dataUrl = '/czc-community/royalty/page';
- this.mixins_query = {};
- this.mixins_search();
- }
- }
- </script>
- <style lang="scss" scoped>
- @import '@assets/css/public-style.scss';
- .search_bottom_tab {
- height: 60px;
- // line-height: 60px;
- background: #ffffff;
- border-radius: 4px;
- margin-bottom: 20px;
- padding: 0 20px;
- box-sizing: border-box;
- .tab_list {
- display: inline-block;
- border-bottom: 2px solid transparent;
- cursor: pointer;
- color: #424656;
- &:not(:last-child) {
- margin-right: 40px;
- }
- &.active {
- color: $mainTextColor;
- border-color: $mainTextColor;
- }
- }
- }
- .search {
- padding: 0 !important;
- }
- .search {
- .zz-tab-button {
- margin-right: 20px;
- }
- .width120 {
- width: rem(120);
- }
- }
- .levelSetting {
- height: calc(100% - 80px);
- .organ-tree {
- width: 260px;
- height: 100%;
- background: #ffffff;
- padding: 20px;
- float: left;
- font-size: 14px;
- .tree-style-box {
- margin-top: 20px;
- }
- }
- }
- .content-right {
- background: white;
- font-size: 12px;
- padding: 20px;
- // height: calc(100% - 100px);
- height: 100%;
- .item-title {
- /deep/ .el-input {
- display: inline-block;
- width: 120px;
- margin: 0 10px;
- }
- }
- }
- </style>
|