|
|
@@ -1,17 +1,10 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-dialog
|
|
|
- :title="title"
|
|
|
- :close-on-click-modal="false"
|
|
|
- draggable
|
|
|
- width="1400px"
|
|
|
- append-to-body
|
|
|
- height="500px"
|
|
|
- @close="close"
|
|
|
- @keyup.enter.native="getWorkClient"
|
|
|
- v-model="visibleChoose">
|
|
|
+ <el-dialog :title="title" :close-on-click-modal="false" draggable width="1400px" append-to-body height="500px"
|
|
|
+ @close="close" @keyup.enter.native="getWorkClient" v-model="visibleChoose">
|
|
|
<div style="height: calc(100%);">
|
|
|
- <el-form size="large" :inline="true" class="query-form m-b-10" ref="searchForm" :model="searchForm" @submit.native.prevent>
|
|
|
+ <el-form size="large" :inline="true" class="query-form m-b-10" ref="searchForm" :model="searchForm"
|
|
|
+ @submit.native.prevent>
|
|
|
<!-- 搜索框-->
|
|
|
<el-form-item label="客户名称" prop="name">
|
|
|
<el-input size="large" v-model="searchForm.name" placeholder="客户名称" clearable></el-input>
|
|
|
@@ -21,21 +14,15 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="客户类型" prop="type">
|
|
|
<el-select v-model="searchForm.type" placeholder="请选择" style="width:100%" clearable>
|
|
|
- <el-option
|
|
|
- v-for="item in $dictUtils.getDictList('cw_work_client_type')"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
+ <el-option v-for="item in $dictUtils.getDictList('cw_work_client_type')" :key="item.value"
|
|
|
+ :label="item.label" :value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="所属行业" prop="industry">
|
|
|
<el-select v-model="searchForm.industry" placeholder="请选择" style="width:100%;" clearable>
|
|
|
- <el-option
|
|
|
- v-for="item in $dictUtils.getDictList('cw_work_client_industry')"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
+ <el-option v-for="item in $dictUtils.getDictList('cw_work_client_industry')" :key="item.value"
|
|
|
+ :label="item.label" :value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -47,144 +34,155 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
|
|
|
- <vxe-table
|
|
|
- border="inner"
|
|
|
- height="480px"
|
|
|
- :loading="loading"
|
|
|
- size="small"
|
|
|
- ref="clientTable"
|
|
|
- show-header-overflow
|
|
|
- show-overflow
|
|
|
- highlight-hover-row
|
|
|
- :menu-config="{}"
|
|
|
- :print-config="{}"
|
|
|
- :sort-config="{remote:true}"
|
|
|
- :data="dataList"
|
|
|
- :row-config="{isCurrent: true}"
|
|
|
- :tree-config="{transform: true, rowField: 'id', parentField: 'oneUpCompany'}"
|
|
|
- :radio-config="{trigger: 'row'}">
|
|
|
+ <vxe-table border="inner" height="480px" :loading="loading" size="small" ref="clientTable" show-header-overflow
|
|
|
+ show-overflow highlight-hover-row :menu-config="{}" :print-config="{}" :sort-config="{ remote: true }"
|
|
|
+ :data="dataList" :row-config="{ isCurrent: true }"
|
|
|
+ :tree-config="{ transform: true, rowField: 'id', parentField: 'oneUpCompany' }"
|
|
|
+ :radio-config="{ trigger: 'row' }">
|
|
|
<vxe-column type="seq" width="40"></vxe-column>
|
|
|
<vxe-column type="radio" width="60px"></vxe-column>
|
|
|
- <vxe-column width="230px" title="客户名称" align="center" field="name" tree-node show-overflow="title"></vxe-column>
|
|
|
+ <vxe-column width="230px" title="客户名称" align="center" field="name" tree-node
|
|
|
+ show-overflow="title"></vxe-column>
|
|
|
<vxe-column width="200px" title="客户编号" align="center" field="no"></vxe-column>
|
|
|
<vxe-column width="200px" title="客户类型" align="center" field="type">
|
|
|
<template #default="scope">
|
|
|
- {{$dictUtils.getDictLabel('cw_work_client_type', scope.row.type, '-')}}
|
|
|
+ {{ $dictUtils.getDictLabel('cw_work_client_type', scope.row.type, '-') }}
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
<vxe-column width="230px" title="所属行业" align="center" field="industry">
|
|
|
<template #default="scope">
|
|
|
- {{$dictUtils.getDictLabel('cw_work_client_industry', scope.row.industry, '-')}}
|
|
|
+ {{ $dictUtils.getDictLabel('cw_work_client_industry', scope.row.industry, '-') }}
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
<vxe-column width="200px" title="联系电话" align="center" field="mobile"></vxe-column>
|
|
|
<vxe-column width="200px" title="公司级次" align="center" field="companyLevel"></vxe-column>
|
|
|
</vxe-table>
|
|
|
- <vxe-pager
|
|
|
- background
|
|
|
- :current-page="tablePage.currentPage"
|
|
|
- :page-size="tablePage.pageSize"
|
|
|
- :total="tablePage.total"
|
|
|
- :page-sizes="[10, 20, 100, 1000, {label: '全量数据', value: 1000000}]"
|
|
|
- :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
|
|
|
- @page-change="currentChangeHandle">
|
|
|
- </vxe-pager>
|
|
|
+ <vxe-pager background :current-page="tablePage.currentPage" :page-size="tablePage.pageSize"
|
|
|
+ :total="tablePage.total" :page-sizes="[10, 20, 100, 1000, { label: '全量数据', value: 1000000 }]"
|
|
|
+ :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
|
|
|
+ @page-change="currentChangeHandle">
|
|
|
+ </vxe-pager>
|
|
|
</div>
|
|
|
-<!-- <span slot="footer" class="dialog-footer">-->
|
|
|
-<!-- <el-button size="small" @click="close()" icon="circle-close">关闭</el-button>-->
|
|
|
-<!-- <el-button size="small" type="primary" v-if="method != 'view'" @click="getWorkClient()" icon="circle-check" v-noMoreClick>确定</el-button>-->
|
|
|
-<!-- </span>-->
|
|
|
- <template #footer>
|
|
|
- <span class="dialog-footer">
|
|
|
- <el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
|
|
|
- <el-button type="primary" v-if="method != 'view'" @click="getWorkClient()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
|
|
|
- </span>
|
|
|
- </template>
|
|
|
+ <!-- <span slot="footer" class="dialog-footer">-->
|
|
|
+ <!-- <el-button size="small" @click="close()" icon="circle-close">关闭</el-button>-->
|
|
|
+ <!-- <el-button size="small" type="primary" v-if="method != 'view'" @click="getWorkClient()" icon="circle-check" v-noMoreClick>确定</el-button>-->
|
|
|
+ <!-- </span>-->
|
|
|
+ <template #footer>
|
|
|
+ <span class="dialog-footer">
|
|
|
+ <el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
|
|
|
+ <el-button type="primary" v-if="method != 'view'" @click="getWorkClient()" icon="el-icon-circle-check"
|
|
|
+ v-noMoreClick>确定</el-button>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import workClientService from '@/api/cw/workClientInfo/WorkClientService'
|
|
|
- export default {
|
|
|
- data () {
|
|
|
- return {
|
|
|
- title: '',
|
|
|
- method: '',
|
|
|
- visibleChoose: false,
|
|
|
- loading: false,
|
|
|
- tablePage: {
|
|
|
- total: 0,
|
|
|
- currentPage: 1,
|
|
|
- pageSize: 10,
|
|
|
- orders: []
|
|
|
- },
|
|
|
- dataList: [],
|
|
|
- searchForm: {
|
|
|
- name: '',
|
|
|
- no: '',
|
|
|
- type: '',
|
|
|
- industry: ''
|
|
|
- }
|
|
|
+import workClientService from '@/api/cw/workClientInfo/WorkClientService'
|
|
|
+import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
+
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ title: '',
|
|
|
+ method: '',
|
|
|
+ visibleChoose: false,
|
|
|
+ loading: false,
|
|
|
+ tablePage: {
|
|
|
+ total: 0,
|
|
|
+ currentPage: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ orders: []
|
|
|
+ },
|
|
|
+ dataList: [],
|
|
|
+ searchForm: {
|
|
|
+ name: '',
|
|
|
+ no: '',
|
|
|
+ type: '',
|
|
|
+ industry: ''
|
|
|
}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ init(deputy) {
|
|
|
+ this.title = '客户选择'
|
|
|
+ this.visibleChoose = true
|
|
|
+ this.list()
|
|
|
},
|
|
|
- created () {
|
|
|
- },
|
|
|
- components: {
|
|
|
- },
|
|
|
- methods: {
|
|
|
- init (deputy) {
|
|
|
- this.title = '客户选择'
|
|
|
- this.visibleChoose = true
|
|
|
- this.list()
|
|
|
- },
|
|
|
- // 表单提交
|
|
|
- getWorkClient () {
|
|
|
- let row = this.$refs.clientTable.getRadioRecord()
|
|
|
- if (this.commonJS.isEmpty(row)) {
|
|
|
- this.$message.error('请至少选择一条数据')
|
|
|
+ // 表单提交
|
|
|
+ getWorkClient() {
|
|
|
+ let row = this.$refs.clientTable.getRadioRecord()
|
|
|
+ if (this.commonJS.isEmpty(row)) {
|
|
|
+ this.$message.error('请至少选择一条数据')
|
|
|
+ } else {
|
|
|
+ if (row.updateUser !== this.$store.state.user.id) {
|
|
|
+ ElMessageBox.confirm(
|
|
|
+ '选择后,将默认由您继续维护该客户基本信息。您是否确认选择?',
|
|
|
+ '提示',
|
|
|
+ {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'primary',
|
|
|
+ }
|
|
|
+ )
|
|
|
+ .then(() => {
|
|
|
+ this.close()
|
|
|
+ this.$emit('getWorkClientRadioChoose', row)
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.$refs.clientTable.clearRadioRow()
|
|
|
+ })
|
|
|
} else {
|
|
|
this.close()
|
|
|
this.$emit('getWorkClientRadioChoose', row)
|
|
|
}
|
|
|
- },
|
|
|
- list () {
|
|
|
- this.dataList = []
|
|
|
- this.loading = true
|
|
|
- this.searchForm.isTrue = '1'
|
|
|
- workClientService.listTree({
|
|
|
- 'current': this.tablePage.currentPage,
|
|
|
- 'size': this.tablePage.pageSize,
|
|
|
- 'orders': this.tablePage.orders,
|
|
|
- ...this.searchForm
|
|
|
- }).then((data) => {
|
|
|
- this.dataList = data.records
|
|
|
- this.tablePage.total = data.total
|
|
|
- this.loading = false
|
|
|
- })
|
|
|
- },
|
|
|
- // 当前页
|
|
|
- currentChangeHandle ({currentPage, pageSize}) {
|
|
|
- this.tablePage.currentPage = currentPage
|
|
|
- this.tablePage.pageSize = pageSize
|
|
|
- this.list()
|
|
|
- },
|
|
|
- resetSearch () {
|
|
|
- this.$refs.searchForm.resetFields()
|
|
|
- this.list()
|
|
|
- },
|
|
|
- close () {
|
|
|
- this.$refs.searchForm.resetFields()
|
|
|
- this.visibleChoose = false
|
|
|
+
|
|
|
}
|
|
|
+ },
|
|
|
+ list() {
|
|
|
+ this.dataList = []
|
|
|
+ this.loading = true
|
|
|
+ this.searchForm.isTrue = '1'
|
|
|
+ workClientService.listTree({
|
|
|
+ 'current': this.tablePage.currentPage,
|
|
|
+ 'size': this.tablePage.pageSize,
|
|
|
+ 'orders': this.tablePage.orders,
|
|
|
+ ...this.searchForm
|
|
|
+ }).then((data) => {
|
|
|
+ this.dataList = data.records
|
|
|
+ this.tablePage.total = data.total
|
|
|
+ this.loading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 当前页
|
|
|
+ currentChangeHandle({ currentPage, pageSize }) {
|
|
|
+ this.tablePage.currentPage = currentPage
|
|
|
+ this.tablePage.pageSize = pageSize
|
|
|
+ this.list()
|
|
|
+ },
|
|
|
+ resetSearch() {
|
|
|
+ this.$refs.searchForm.resetFields()
|
|
|
+ this.list()
|
|
|
+ },
|
|
|
+ close() {
|
|
|
+ this.$refs.searchForm.resetFields()
|
|
|
+ this.visibleChoose = false
|
|
|
}
|
|
|
}
|
|
|
+}
|
|
|
</script>
|
|
|
<style scoped>
|
|
|
- /deep/ .el-dialog__body {
|
|
|
- padding-top: 0;
|
|
|
- }
|
|
|
- /deep/ .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
|
|
|
- margin-bottom: 0px;
|
|
|
- }
|
|
|
+/deep/ .el-dialog__body {
|
|
|
+ padding-top: 0;
|
|
|
+}
|
|
|
+
|
|
|
+/deep/ .el-form-item--mini.el-form-item,
|
|
|
+.el-form-item--small.el-form-item {
|
|
|
+ margin-bottom: 0px;
|
|
|
+}
|
|
|
</style>
|