123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440 |
- <template>
- <div class="app-container">
- <div class="filter-container" style="margin: 10px 0 10px 0">
- <span class="textSpan">客户名称:</span>
- <el-input v-model="body.customerName" style="width:200px;" placeholder="客户名称" size="small" clearable />
- <el-button class="filter-item" icon="el-icon-search" type="primary" plain @click="Search">搜索</el-button>
- <el-button class="classitem" style="marginRight:50px" type="primary" plain icon="el-icon-plus" @click="NewUser">新增</el-button>
- </div>
- <!-- 表格 -->
- <el-table v-loading="loading" :data="tableData" border style="width: 100%">
- <el-table-column label="序号" width="60" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.$index + 1 }}</span>
- </template>
- </el-table-column>
- <el-table-column label="客户名称" width="150" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.row.customerName }}</span>
- </template>
- </el-table-column>
- <el-table-column label="客户简称" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.row.shorterName }}</span>
- </template>
- </el-table-column>
- <el-table-column label="状态" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <el-tag v-if="scope.row.status === 1" >正常</el-tag>
- <el-tag v-if="scope.row.status === 2" type="warning">暂停</el-tag>
- </template>
- </el-table-column>
- <el-table-column label="帐号余额" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.row.balance }}</span>
- </template>
- </el-table-column>
- <el-table-column label="授信额度" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.row.creditAmount }}</span>
- </template>
- </el-table-column>
- <el-table-column label="当前费用" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.row.currentAmount }}</span>
- </template>
- </el-table-column>
- <el-table-column label="创建时间" width="150" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.row.createTime }}</span>
- </template>
- </el-table-column>
- <el-table-column label="操作" fixed="right" width="131" align="center">
- <template slot-scope="scope">
- <!-- <el-button v-if="scope.row.status === 1" size="small" icon="el-icon-close" plain type="info" @click="ModifyStatus(scope.row,2)">暂停</el-button>
- <el-button v-if="scope.row.status === 2" size="small" icon="el-icon-check" plain type="success" @click="ModifyStatus(scope.row,1)">有效</el-button>
- <el-button size="small" icon="el-icon-edit" type="primary" plain @click="product(scope.row)">产品</el-button>
- <el-button style="marginTop:5px" size="small" icon="el-icon-edit" type="warning" plain @click="ModifyEdit(scope.row)">编辑</el-button>
- <el-button style="marginTop:5px" size="small" icon="el-icon-delete" type="danger" plain @click="ModifyDelete(scope.row)">删除</el-button> -->
- <el-dropdown trigger="click" >
- <el-button size="medium" type="text" >
- 操作<i class="el-icon-arrow-down el-icon--right"></i>
- </el-button>
- <el-dropdown-menu slot="dropdown" >
- <el-dropdown-item >
- <el-button style="margin:5px" v-if="scope.row.status === 1" size="small" icon="el-icon-close" plain type="info" @click="ModifyStatus(scope.row,2)">暂停</el-button>
- <el-button style="margin:5px" v-if="scope.row.status === 2" size="small" icon="el-icon-check" plain type="success" @click="ModifyStatus(scope.row,1)">有效</el-button>
- </el-dropdown-item>
- <el-dropdown-item>
- <el-button style="margin:5px" size="small" icon="el-icon-edit" type="primary" plain @click="product(scope.row)">产品</el-button>
- </el-dropdown-item>
- <el-dropdown-item>
- <el-button style="margin:5px" size="small" icon="el-icon-edit" type="warning" plain @click="ModifyEdit(scope.row)">编辑</el-button>
-
- </el-dropdown-item>
- <el-dropdown-item>
- <el-button style="margin:5px" size="small" icon="el-icon-delete" type="danger" plain @click="ModifyDelete(scope.row)">删除</el-button>
- </el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown>
- </template>
- </el-table-column>
- </el-table>
- <!-- 添加或修改对话框 -->
- <el-dialog :title="operation?'新增客户':'编辑客户'" width="85%" :visible.sync="dialogFormVisible" center>
- <el-form ref="dataForm" :model="dataForm" :rules="rules2" label-width="80px" size="small" label-position="right">
- <!-- 客户基本信息 -->
- <el-card shadow="never" >
- <!-- <el-card shadow="hover" > -->
- <div slot="header" class="clearfix">
- <span class="topClass">客户基本信息</span>
- </div>
- <div>
- <el-row :gutter="20">
- <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
- <el-form-item label="客户名称" prop="customerName" :label-width="formLabelWidth" >
- <el-input v-model="dataForm.customerName" />
- </el-form-item>
- </el-col>
- <el-col v-if="!operation" :span="6" :xs="24" :sm="12" :md="12" :lg="8">
- <el-form-item label="客户ID" :label-width="formLabelWidth" >
- <el-input disabled v-model="dataForm.customerId" />
- </el-form-item>
- </el-col>
- <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
- <el-form-item label="客户简称" prop="shorterName" :label-width="formLabelWidth">
- <el-input v-model="dataForm.shorterName" />
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </el-card>
- <!-- 客户服务联系人信息 -->
- <el-card shadow="never" >
- <!-- <el-card shadow="hover" > -->
- <div slot="header" class="clearfix">
- <span class="topClass">客户服务联系人信息</span>
- </div>
- <div>
- <el-row :gutter="20">
- <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
- <el-form-item label="联系人姓名" :label-width="formLabelWidth" >
- <el-input v-model="dataForm.linkmanName" />
- </el-form-item>
- </el-col>
- <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
- <el-form-item label="联系人电话" :label-width="formLabelWidth" >
- <el-input v-model="dataForm.linkmanMobile" />
- </el-form-item>
- </el-col>
- <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
- <el-form-item label="联系人邮箱" :label-width="formLabelWidth">
- <el-input v-model="dataForm.linkmanEmail" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
- <el-form-item label="联系人地址" :label-width="formLabelWidth" >
- <el-input v-model="dataForm.address" />
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </el-card>
- <!-- 其他 -->
- <el-card shadow="never" >
- <!-- <el-card shadow="hover" > -->
- <div slot="header" class="clearfix">
- <span class="topClass">其他</span>
- </div>
- <div>
- <el-row :gutter="20">
- <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
- <el-form-item label="代理商提成比例" :label-width="formLabelWidth" >
- <el-input v-model="dataForm.partnerCommission" />
- </el-form-item>
- </el-col>
- <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
- <el-form-item label="合作伙伴ID" :label-width="formLabelWidth" >
- <el-input v-model="dataForm.partnerId" />
- </el-form-item>
- </el-col>
- <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
- <el-form-item label="价格校验" :label-width="formLabelWidth">
- <!-- <el-input v-model="dataForm.priceCheck" /> -->
- <el-select size="small" v-model="dataForm.priceCheck">
- <el-option
- v-for="item in priceCheck"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
- <el-form-item label="是否有效" :label-width="formLabelWidth" >
- <el-select size="small" v-model="dataForm.status">
- <el-option
- v-for="item in status"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
-
- </div>
- </el-card>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button @click="dialogFormVisible = false">取 消</el-button>
- <el-button type="primary" @click="submitForm">确 定</el-button>
- </div>
- </el-dialog>
- <el-dialog :title="productData.customerName+' 产品'" width="85%" :visible.sync="productShow" center>
- test
- <div slot="footer" class="dialog-footer">
- <el-button @click="productShow = false">取 消</el-button>
- <el-button type="primary" @click="productSubmit">确 定</el-button>
- </div>
- </el-dialog>
- <!-- 分页 -->
- <div class="pagination">
- <el-pagination
- current-page.sync="body.current"
- :current-page="body.current"
- :page-sizes="[10, 20, 30, 50]"
- :page-size="body.size"
- layout="total, sizes, prev, pager, next, jumper"
- background
- :total="total"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- />
- </div>
- </div>
- </template>
- <script>
- import api from '@/api/userList'
- export default {
- data() {
- return {
- body: {
- customerName:"",
- size: 10,
- current: 1
- },
- status:[
- {id:1,name:"正常"},
- {id:2,name:"暂停"}
- ],
- priceCheck:[
- {id:0,name:"关闭"},
- {id:1,name:"开启"}
- ],
- operation: false, // true:新增, false:编辑
- dialogFormVisible: false, // 控制弹出框
- formLabelWidth: '120px', //新增宽度
- dataForm:{
- userId:4,
- },
- productShow:false,
- productData:{}, // 产品查看时的基本数据的数据
- rules2:{
- shorterName: [{ required: true, message: '请输入客户简称', trigger: 'blur' }],
- customerName: [{ required: true, message: '请输入客户名称', trigger: 'blur' }],
- },
- loading:false,
- total: 1,
- tableData: [
-
- ]
- }
- },
- created() {
- this.getTenantList()
- },
- methods: {
- //新增弹框
- NewUser() {
- this.operation = true
- this.dialogFormVisible = true
- this.dataForm = {
- userId:4,
- }
- },
- //编辑弹框
- ModifyEdit(row) {
- this.operation = false
- this.dialogFormVisible = true
- this.dataForm = row
- },
- ModifyDelete(row) {
- this.$confirm('此操作将删除客户:' + row.customerName, '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- row.isDeleted = 1
- api.index.update(row).then((resp)=>{
- if (resp.status === 200) {
- this.$message({
- type: 'success',
- message: '操作成功'
- })
- this.getTenantList()
- } else {
- this.$message({
- type: 'error',
- message: resp.data.msg
- })
- }
- })
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '已取消删除'
- })
- })
- },
- //数据
- getTenantList(){
- this.loading = true
- api.index.Search(this.body).then((res) => {
- this.loading =false
- this.tableData = res.data.data.records
- this.total = res.data.data.total
- })
- },
- product(row){
- this.productShow = true
- this.productData = row
- },
- productSubmit(){
- productShow = false
- },
- //新增或修改API
- submitForm(){
- this.$refs['dataForm'].validate((valid) => {
- if (valid) {
- if (!this.operation) {
- console.log(this.dataForm)
- // 编辑
- api.index.update(this.dataForm).then(response => {
- if (response.status === 200) {
- this.$message({
- type: 'success',
- message: '操作成功'
- })
- this.dialogFormVisible = false
- this.getTenantList()
- } else {
- this.$message({
- type: 'error',
- message: response.data.msg
- })
- }
- })
- } else {
- console.log(this.dataForm)
- // // 添加
- api.index.userAdd(this.dataForm).then(response => {
- if (response.status === 200) {
- this.$message({
- type: 'success',
- message: '操作成功'
- })
- this.dialogFormVisible = false
- this.getTenantList()
- } else {
- this.$message({
- type: 'error',
- message: response.data.msg
- })
- }
- })
- }
- }
- })
- },
- ModifyStatus(row,i){
- this.$confirm('是否修改 '+row.customerName+' 的状态', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(()=>{
- let code = JSON.parse(JSON.stringify(row))
- code.status = i // 2:暂停 1:有效
- api.index.update(code).then(response => {
- if (response.data.status === 200) {
- this.$message({
- type: 'success',
- message: '操作成功'
- })
- this.dialogFormVisible = false
- this.getTenantList()
- } else {
- this.$message({
- type: 'error',
- message: response.data.msg
- })
- }
- })
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '已取消删除'
- });
- });
-
- },
- //搜索
- Search() {
- this.body.current = 1
- this.getTenantList()
- },
- //页码
- handleSizeChange(val) {
- this.body.size = val
- this.getTenantList()
- },
- //换页
- handleCurrentChange(val) {
- this.body.current = val
- this.getTenantList()
- }
- }
- }
- </script>
- <style scoped>
- .el-card {
- border: 0px solid #fff;
- }
- </style>
|