Commit 7027b6b7 authored by zhanglw's avatar zhanglw

客户修改,批量禁用

parent a668db84
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
:headers="uploadHeaders" :headers="uploadHeaders"
:limit="2" :limit="2"
:on-exceed="handleExceed" :on-exceed="handleExceed"
:on-success="excelImported" :on-success="handleImported"
:on-preview="handlePictureCardPreview" :on-preview="handlePictureCardPreview"
:on-remove="handleRemove" :on-remove="handleRemove"
> >
...@@ -56,7 +56,6 @@ ...@@ -56,7 +56,6 @@
<img width="100%" :src="dialogImageUrl"> <img width="100%" :src="dialogImageUrl">
</el-dialog> </el-dialog>
</div> </div>
{{ formData.businessLicense }}
</el-form-item> </el-form-item>
<el-form-item label="统一社会信用代码:" class="form-cell" prop="unifiedSocialCreditCode"> <el-form-item label="统一社会信用代码:" class="form-cell" prop="unifiedSocialCreditCode">
<div class="cell-box"> <div class="cell-box">
...@@ -94,7 +93,7 @@ ...@@ -94,7 +93,7 @@
</el-form-item> </el-form-item>
<el-form-item label="成立日期:" class="form-cell" prop="establishmentDate"> <el-form-item label="成立日期:" class="form-cell" prop="establishmentDate">
<div class="cell-box"> <div class="cell-box">
<el-date-picker v-model="formData.establishmentDate" type="date" placeholder="请选择日期" /> <el-date-picker v-model="formData.establishmentDate" type="date" clearable placeholder="请选择日期" />
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="经营期限(年):" class="form-cell" prop="operatingPeriod"> <el-form-item label="经营期限(年):" class="form-cell" prop="operatingPeriod">
...@@ -104,7 +103,7 @@ ...@@ -104,7 +103,7 @@
</el-form-item> </el-form-item>
<el-form-item label="审核/年检日期:" class="form-cell" prop="annualInspectionDate"> <el-form-item label="审核/年检日期:" class="form-cell" prop="annualInspectionDate">
<div class="cell-box"> <div class="cell-box">
<el-date-picker v-model="formData.annualInspectionDate" type="date" placeholder="请选择日期" /> <el-date-picker v-model="formData.annualInspectionDate" type="date" clearable placeholder="请选择日期" />
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="企业类型:" class="form-cell" prop="enterpriseType"> <el-form-item label="企业类型:" class="form-cell" prop="enterpriseType">
...@@ -175,7 +174,7 @@ export default { ...@@ -175,7 +174,7 @@ export default {
dialogImageUrl: '', dialogImageUrl: '',
dialogImageVisible: false, dialogImageVisible: false,
visible: false, visible: false,
title: '客户信息', title: '添加客户信息详情',
provinceOpts: [], provinceOpts: [],
cityOpts: [], cityOpts: [],
countyOpts: [], countyOpts: [],
...@@ -246,13 +245,16 @@ export default { ...@@ -246,13 +245,16 @@ export default {
submitForm() { submitForm() {
this.$refs.formViewRef.validate((valid, obj) => { this.$refs.formViewRef.validate((valid, obj) => {
if (valid) { if (valid) {
console.log(this.formData)
HttpReq.backstageApi.addCustomer(this.formData).then((res) => { HttpReq.backstageApi.addCustomer(this.formData).then((res) => {
this.$notify({ this.$notify({
title: res.msg, title: res.msg,
type: 'success', type: 'success',
duration: 2500 duration: 2500
}) })
if (res.code === 200) {
this.cancelView()
this.$parent.loadData()
}
}) })
} else { } else {
this.$message({ this.$message({
...@@ -288,7 +290,7 @@ export default { ...@@ -288,7 +290,7 @@ export default {
this.dialogImageUrl = file.url this.dialogImageUrl = file.url
this.dialogImageVisible = true this.dialogImageVisible = true
}, },
excelImported(response, file, fileList) { handleImported(response, file, fileList) {
this.$nextTick(() => { this.$nextTick(() => {
const arr = this.formData.businessLicense ? this.formData.businessLicense.split(';') : [] const arr = this.formData.businessLicense ? this.formData.businessLicense.split(';') : []
arr.push(response.businessLicense) arr.push(response.businessLicense)
...@@ -347,6 +349,9 @@ export default { ...@@ -347,6 +349,9 @@ export default {
>>>.el-input.is-disabled .el-input__icon { >>>.el-input.is-disabled .el-input__icon {
cursor: text; cursor: text;
} }
>>>.el-icon-circle-check {
color: #13ce66;
}
//>>>.el-icon-arrow-up:before { //>>>.el-icon-arrow-up:before {
// content: ''; // content: '';
//} //}
......
This diff is collapsed.
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
<div class="app-container"> <div class="app-container">
<!--工具栏--> <!--工具栏-->
<div class="head-container"> <div class="head-container">
<el-input v-model="query.username" clearable placeholder="请输入用户名" style="width:150px;" /> <el-input v-model="query.userName" clearable placeholder="请输入用户名" style="width:150px;" />
<el-select v-model="query.area" clearable placeholder="请选择地区" style="width: 120px"> <el-select v-model="query.registeredAddressProvince" clearable placeholder="请选择地区" style="width: 120px">
<el-option v-for="item in dict.area_province" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in dict.area_province" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
<el-input v-model="query.username" clearable placeholder="请输入企业名称" style="width:150px;" /> <el-input v-model="query.enterpriseName" clearable placeholder="请输入企业名称" style="width:150px;" />
<el-input v-model="query.username" clearable placeholder="请输入联系人" style="width:150px;" /> <el-input v-model="query.enterpriseContactPerson" clearable placeholder="请输入联系人" style="width:150px;" />
<el-input v-model="query.username" clearable placeholder="请输入联系电话" style="width:150px;" /> <el-input v-model="query.enterpriseContactPersonPhone" clearable placeholder="请输入联系电话" style="width:150px;" />
<el-select v-model="query.status" clearable placeholder="请选择状态" style="width: 120px"> <el-select v-model="query.status" clearable placeholder="请选择状态" style="width: 120px">
<el-option v-for="item in dict.custom_status" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in dict.custom_status" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
<el-button type="primary" icon="el-icon-circle-plus-outline" @click="toAdd">添加客户</el-button> <el-button type="primary" icon="el-icon-circle-plus-outline" @click="toAdd">添加客户</el-button>
</div> </div>
<div style="text-align: right"> <div style="text-align: right">
<el-button type="success" icon="el-icon-finished" :disabled="!multipleSelection.length" @click="batchOperate(1)">批量激活</el-button> <el-button type="success" icon="el-icon-finished" :disabled="!multipleSelection.length" @click="batchOperate(true)">批量激活</el-button>
<el-button type="danger" icon="el-icon-help" :disabled="!multipleSelection.length" @click="batchOperate(0)">批量锁定</el-button> <el-button type="danger" icon="el-icon-help" :disabled="!multipleSelection.length" @click="batchOperate(false)">批量锁定</el-button>
</div> </div>
</div> </div>
<!-- 表格 --> <!-- 表格 -->
...@@ -30,14 +30,14 @@ ...@@ -30,14 +30,14 @@
<el-table id="dataTable" ref="dataTable" v-loading="loading" :data="tableData" tooltip-effect="dark" style="width:auto;min-height: 70vh" @selection-change="handleSelectionChange"> <el-table id="dataTable" ref="dataTable" v-loading="loading" :data="tableData" tooltip-effect="dark" style="width:auto;min-height: 70vh" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column type="index" width="55" label="序号" :index="indexMethod" /> <el-table-column type="index" width="55" label="序号" :index="indexMethod" />
<el-table-column prop="username" label="用户名" /> <el-table-column prop="userName" label="用户名" />
<el-table-column prop="area" label="区域" /> <el-table-column prop="registeredAddressProvince" label="区域" :formatter="(row, column, cellValue)=>{return dict.label.area_province[cellValue]}" />
<el-table-column prop="xxx" label="企业名称" /> <el-table-column prop="enterpriseName" label="企业名称" />
<el-table-column prop="xxx" label="联系人" /> <el-table-column prop="enterpriseContactPerson" label="联系人" />
<el-table-column prop="xxx" label="联系电话" /> <el-table-column prop="enterpriseContactPersonPhone" label="联系电话" />
<el-table-column label="状态" width="100"> <el-table-column label="状态" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ dict.label.custom_status[scope.row.status] }}</div> <div :style="'color:'+textColors[scope.row.status]">{{ dict.label.custom_status[scope.row.status] }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="锁定/激活" align="center" width="100"> <el-table-column label="锁定/激活" align="center" width="100">
...@@ -45,30 +45,36 @@ ...@@ -45,30 +45,36 @@
<el-switch v-model="scope.row.enabled" :disabled="scope.row.status>2" active-color="#13ce66" inactive-color="#F56C6C" @change="changeEnabled(scope.row, scope.row.enabled)" /> <el-switch v-model="scope.row.enabled" :disabled="scope.row.status>2" active-color="#13ce66" inactive-color="#F56C6C" @change="changeEnabled(scope.row, scope.row.enabled)" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="xxx" label="注册时间" align="center" width="100" /> <el-table-column prop="createTime" label="注册时间" align="center" width="160" />
<el-table-column prop="xxx" label="操作" align="right" width="200"> <el-table-column label="操作" align="right" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tooltip v-if="scope.row.status==='3'" content="审核"><el-button round plain type="warning" icon="el-icon-s-check" @click="toView(scope.row, true)" /></el-tooltip>
<el-tooltip content="编辑"><el-button round plain type="primary" icon="el-icon-edit-outline" @click="toEdit(scope.row)" /></el-tooltip> <el-tooltip content="编辑"><el-button round plain type="primary" icon="el-icon-edit-outline" @click="toEdit(scope.row)" /></el-tooltip>
<el-tooltip content="审核"><el-button round plain type="warning" icon="el-icon-s-check" @click="toEdit(scope.row)" /></el-tooltip> <el-tooltip content="查看"><el-button round plain icon="el-icon-view" @click="toView(scope.row)" /></el-tooltip>
<el-tooltip content="查看"><el-button round plain icon="el-icon-view" @click="toEdit(scope.row)" /></el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<el-pagination :total="total" :current-page="page" :page-size="pageSize" style="margin-top: 8px;" layout="total, prev, pager, next, sizes" @size-change="sizeChange" @current-change="pageChange" /> <el-pagination :total="total" :current-page="page" :page-size="pageSize" style="margin-top: 8px;" layout="total, prev, pager, next, sizes" @size-change="sizeChange" @current-change="pageChange" />
</div> </div>
<add-view ref="addView" /> <add-page ref="addPage" />
<edit-page ref="editPage" />
<view-page ref="viewPage" />
</div> </div>
</template> </template>
<script> <script>
import { HttpReq } from '@/api/common.js'
import DateRangePicker from '@/components/DateRangePicker' import DateRangePicker from '@/components/DateRangePicker'
import AddView from './add' import addPage from './add'
import editPage from './edit'
import viewPage from './view'
export default { export default {
components: { DateRangePicker, AddView }, components: { DateRangePicker, addPage, editPage, viewPage },
dicts: ['user_status', 'custom_status', 'area_province'], dicts: ['user_status', 'custom_status', 'area_province'],
data() { data() {
return { return {
textColors: ['#ccc', '#32cd32', '#bba', '#000', '#f00'],
loading: false, loading: false,
page: 1, page: 1,
pageSize: 20, pageSize: 20,
...@@ -93,46 +99,71 @@ export default { ...@@ -93,46 +99,71 @@ export default {
this.multipleSelection = val this.multipleSelection = val
}, },
loadData() { loadData() {
var sort = 'id,desc' // 清除参数无值的情况
var param = { ...this.query } Object.keys(this.query).length !== 0 && Object.keys(this.query).forEach(item => {
param.page = this.page if (this.query[item] === null || this.query[item] === '') this.query[item] = undefined
param.pageSize = this.pageSize })
param.sort = sort HttpReq.backstageApi.queryCustomer({
this.tableData = [ page: this.page - 1,
{ username: '张三', area: '火星', status: 1, enabled: true, xxx: '2023-05-09' }, pageSize: this.pageSize,
{ username: '李四', area: '地球', status: 3, enabled: false, xxx: '2023-05-09' } ...this.query
] }).then((res) => {
this.total = 2 this.tableData = res.data.data
this.total = res.data.total
})
}, },
batchOperate(opt) { batchOperate(type) {
if (!this.multipleSelection.length) { if (!this.multipleSelection.length) {
return this.$message({ return this.$message({
message: '未选取数据', message: '未选取数据',
type: 'info' type: 'info'
}) })
} }
if (opt) { HttpReq.backstageApi.userEnableDisable({
console.log('启用', this.multipleSelection) ids: this.multipleSelection.map(item => { return item.sysUserId }),
} else { type: type
console.log('启用', this.multipleSelection) }).then((res) => {
} this.$notify({
title: res.msg,
type: 'success',
duration: 2500
})
if (res.code === 200) {
this.loadData()
}
})
}, },
changeEnabled(data, val) { changeEnabled(data, val) {
this.$confirm('此操作将 "' + this.dict.label.user_status[val] + '" ' + data.username + ', 是否继续?', '提示', { this.$confirm('此操作将 "' + this.dict.label.user_status[val] + '" 用户' + data.userName + '的账号, 是否继续?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
HttpReq.backstageApi.userEnableDisable({
ids: [data.sysUserId],
type: val
}).then((res) => {
this.$notify({
title: res.msg,
type: 'success',
duration: 2500
})
if (res.code === 200) {
this.loadData()
}
})
}).catch(() => { }).catch(() => {
data.enabled = !data.enabled data.enabled = !data.enabled
}) })
}, },
toAdd() { toAdd() {
this.$refs.addView.showView() this.$refs.addPage.showView()
}, },
toEdit(item) { toEdit(item) {
this.$refs.editPage.loadData(item.customerId)
},
toView(item, isReview) {
this.$refs.viewPage.loadData(item.customerId, isReview)
}, },
toSearch() { toSearch() {
this.page = 1 this.page = 1
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment