公司管理完善接口调试

This commit is contained in:
BianLzhaoMin 2025-08-13 10:15:48 +08:00
parent d9fc560c09
commit b81f22b9a8
8 changed files with 187 additions and 126 deletions

11
src/api/common.js Normal file
View File

@ -0,0 +1,11 @@
import request from '@/utils/request'
// 公共接口 ---- 所有公共数据从这里取
// 获取公司下拉列表
export function getCompanySelectListAPI() {
return request({
url: '/bmw/company/listAll',
method: 'get',
})
}

View File

@ -1,25 +1,18 @@
import request from '@/utils/request'
// 新增公司管理
export function addCompanyManageAPI(data) {
// 新增和修改公司管理
export function addAndEditCompanyManageAPI(data) {
return request({
url: '/system/dict/type/add',
method: 'post',
data,
})
}
// 修改公司管理
export function editCompanyManageAPI(data) {
return request({
url: '/system/dict/type/add',
url: '/bmw/company/addOrUpdateCompany',
method: 'post',
data,
})
}
// 删除公司管理
export function deleteCompanyManageAPI(data) {
return request({
url: '/system/dict/type/add',
url: '/bmw/company/delCompany',
method: 'post',
data,
})
@ -27,8 +20,8 @@ export function deleteCompanyManageAPI(data) {
// 获取公司管理列表
export function getCompanyManageListAPI(data) {
return request({
url: '/system/dict/type/add',
method: 'post',
data,
url: '/bmw/company/list',
method: 'get',
params: data,
})
}

View File

@ -1,21 +1,14 @@
import request from '@/utils/request'
// 新增分公司管理
export function addDivideCompanyManageAPI(data) {
// 新增和修改分公司管理
export function addAndEditDivideCompanyManageAPI(data) {
return request({
url: '/system/dict/type/add',
method: 'post',
data,
})
}
// 修改分公司管理
export function editDivideCompanyManageAPI(data) {
return request({
url: '/system/dict/type/add',
url: '/bmw/company/addOrUpdateCompany',
method: 'post',
data,
})
}
// 删除分公司管理
export function deleteDivideCompanyManageAPI(data) {
return request({

View File

@ -1,65 +1,20 @@
export const formLabel = [
{
f_label: '关键词',
f_model: 'keyword',
f_model: 'companyName',
f_type: 'ipt',
isShow: false, // 是否展示label
},
]
export const columnsList = [
{ t_props: 'projectName', t_label: '公司名称' },
{ t_props: 'xmb', t_label: '状态' },
{ t_props: 'companyName', t_label: '公司名称' },
{ t_props: 'isEnable', t_label: '状态', t_slot: 'isEnable' },
{ t_props: 'name', t_label: '公司二维码' },
{ t_props: 'type', t_label: '更新时间' },
{ t_props: 'updateTime', t_label: '更新时间' },
]
export const testTableList = [
{
projectName: '总工程名称',
level: '等级3',
xmb: 'xxx项目部',
name: '110kv工程',
type: '基建变电',
address: '安徽省合肥市110k工程',
status: '在建',
businessLicense: '已上传',
idCard: '已上传',
electronicStamp: '已上传',
electronicSignature: '未上传',
},
{
projectName: '总工程名称21',
level: '等级3',
xmb: 'xxx项目部',
name: '110kv工程',
type: '基建变电',
address: '安徽省合肥市110k工程',
status: '在建',
businessLicense: '已上传',
idCard: '已上传',
electronicStamp: '已上传',
electronicSignature: '未上传',
},
{
projectName: '总工程名称3',
level: '等级3',
xmb: 'xxx项目部',
name: '110kv工程',
type: '基建变电',
address: '安徽省合肥市110k工程',
status: '在建',
businessLicense: '已上传',
idCard: '已上传',
electronicStamp: '已上传',
electronicSignature: '未上传',
},
]
export const dialogConfig = {
outerVisible: false,
outerTitle: '',
outerWidth: '80%',
minHeight: '',
maxHeight: '',
outerWidth: '40%',
}

View File

@ -5,9 +5,8 @@
:formLabel="formLabel"
:showOperation="true"
:showRightTools="false"
ref="jobTypeTableRef"
ref="companyManageTableRef"
:columnsList="columnsList"
:testTableList="testTableList"
:request-api="getCompanyManageListAPI"
>
<template slot="btn">
@ -16,19 +15,31 @@
size="mini"
type="primary"
icon="el-icon-plus"
@click="onHandleAddOrEditJobType(1, null)"
@click="onHandleAddOrEditCompanyManage(1, null)"
>
新增
</el-button>
</template>
<!-- 状态 -->
<template slot="isEnable" slot-scope="{ data }">
<el-switch
active-text="启用"
inactive-text="禁用"
:active-value="1"
:inactive-value="0"
v-model="data.isEnable"
@change="onHandleChangeIsEnable(data)"
/>
</template>
<template slot="handle" slot-scope="{ data }">
<el-button
plain
size="mini"
type="primary"
icon="el-icon-edit"
@click="onHandleAddOrEditJobType(2, data)"
@click="onHandleAddOrEditCompanyManage(2, data)"
>
修改
</el-button>
@ -54,20 +65,22 @@
:model="addOrEditForm"
:rules="addOrEditFormRules"
>
<el-form-item label="公司名称" prop="subName">
<el-form-item label="公司名称" prop="companyName">
<el-input
clearable
placeholder="请输入公司名称"
v-model="addOrEditForm.subName"
v-model="addOrEditForm.companyName"
/>
</el-form-item>
<el-form-item label="状态" prop="subName">
<el-input
clearable
placeholder="请输入状态"
v-model="addOrEditForm.subName"
/>
<el-form-item label="状态" prop="isEnable">
<el-radio-group
size="mini"
v-model="addOrEditForm.isEnable"
>
<el-radio-button :label="1"> 启用 </el-radio-button>
<el-radio-button :label="0"> 禁用 </el-radio-button>
</el-radio-group>
</el-form-item>
<el-row class="dialog-footer-btn">
@ -94,10 +107,9 @@
<script>
import TableModel from '@/components/TableModel'
import DialogModel from '@/components/DialogModel'
import { formLabel, columnsList, dialogConfig, testTableList } from './config'
import { formLabel, columnsList, dialogConfig } from './config'
import {
addCompanyManageAPI,
editCompanyManageAPI,
addAndEditCompanyManageAPI,
deleteCompanyManageAPI,
getCompanyManageListAPI,
} from '@/api/system/basic-type-config/company-manage'
@ -112,36 +124,96 @@ export default {
formLabel,
columnsList,
dialogConfig,
testTableList,
getCompanyManageListAPI,
addOrEditForm: {},
addOrEditFormRules: {},
addOrEditForm: {
companyName: '', //
isEnable: 1, //
id: null, // id
},
addOrEditFormRules: {
companyName: [
{
required: true,
message: '请输入公司名称',
trigger: 'blur',
},
],
isEnable: [
{ required: true, message: '请选择状态', trigger: 'blur' },
],
},
}
},
methods: {
//
onHandleAddOrEditJobType(type, data) {
onHandleAddOrEditCompanyManage(type, data) {
this.dialogConfig.outerTitle = type === 1 ? '新增' : '修改'
if (type === 2) {
const { companyName, isEnable, id } = data
this.addOrEditForm = { companyName, isEnable, id }
}
this.dialogConfig.outerVisible = true
},
//
onHandleDeleteJobType(data) {
console.log(data, '删除')
this.$modal.confirm('确定删除该公司吗?').then(async () => {
const res = await deleteCompanyManageAPI({ id: data.id })
if (res.code === 200) {
this.$modal.msgSuccess('删除成功')
this.$refs.companyManageTableRef.getTableList()
} else {
this.$modal.msgError(res.msg)
}
})
},
//
onHandleChangeIsEnable(data) {
this.onHandleAddOrEditCompanyManageConfirm({
id: data.id,
isEnable: data.isEnable,
})
},
//
async onHandleAddOrEditCompanyManageConfirm(data) {
const res = await addAndEditCompanyManageAPI(data)
if (res.code === 200) {
this.$modal.msgSuccess('操作成功')
this.$refs.companyManageTableRef.getTableList()
this.handleCloseDialogOuter()
} else {
this.$modal.msgError(res.msg)
}
},
//
handleCloseDialogOuter() {
if (
this.dialogConfig.outerTitle === '新增' ||
this.dialogConfig.outerTitle === '修改'
) {
this.$refs.addOrEditFormRef.resetFields() //
this.addOrEditForm = {
companyName: '', //
isEnable: 1, //
id: null, // id
}
}
this.dialogConfig.outerVisible = false
},
//
onHandleConfirmAddOrEdit() {
this.$refs.addOrEditFormRef.validate((valid) => {
this.$refs.addOrEditFormRef.validate(async (valid) => {
if (valid) {
console.log(this.addOrEditForm, 'addOrEditForm')
const params = { ...this.addOrEditForm }
if (this.dialogConfig.outerTitle === '新增') {
this.$delete(params, 'id')
}
this.onHandleAddOrEditCompanyManageConfirm(params)
}
})
},

View File

@ -59,7 +59,5 @@ export const testTableList = [
export const dialogConfig = {
outerVisible: false,
outerTitle: '',
outerWidth: '80%',
minHeight: '',
maxHeight: '',
outerWidth: '40%',
}

View File

@ -55,11 +55,20 @@
:rules="addOrEditFormRules"
>
<el-form-item label="所属公司" prop="subName">
<el-input
<el-select
clearable
placeholder="请输入所属公司"
v-model="addOrEditForm.subName"
filterable
style="width: 100%"
placeholder="请选择所属公司"
v-model="addOrEditForm.companyId"
>
<el-option
:key="item.id"
:value="item.id"
:label="item.companyName"
v-for="item in companySelectList"
/>
</el-select>
</el-form-item>
<el-form-item label="分公司名称" prop="subName">
@ -70,12 +79,14 @@
/>
</el-form-item>
<el-form-item label="状态" prop="subName">
<el-input
clearable
placeholder="请输入状态"
v-model="addOrEditForm.subName"
/>
<el-form-item label="状态" prop="isEnable">
<el-radio-group
size="mini"
v-model="addOrEditForm.isEnable"
>
<el-radio-button :label="1"> 启用 </el-radio-button>
<el-radio-button :label="0"> 禁用 </el-radio-button>
</el-radio-group>
</el-form-item>
<el-row class="dialog-footer-btn">
@ -109,6 +120,8 @@ import {
deleteDivideCompanyManageAPI,
getDivideCompanyManageListAPI,
} from '@/api/system/basic-type-config/divide-company-manage'
import { getCompanySelectListAPI } from '@/api/common'
export default {
name: 'DivideCompanyManage',
components: {
@ -124,10 +137,19 @@ export default {
getDivideCompanyManageListAPI,
addOrEditForm: {},
addOrEditFormRules: {},
//
companySelectList: [],
}
},
methods: {
//
async getCompanySelectList() {
const { rows: res } = await getCompanySelectListAPI()
this.companySelectList = res
},
//
onHandleAddOrEditJobType(type, data) {
this.dialogConfig.outerTitle = type === 1 ? '新增' : '修改'
@ -154,5 +176,9 @@ export default {
})
},
},
created() {
this.getCompanySelectList()
},
}
</script>

View File

@ -25,11 +25,11 @@
<!-- 特殊工种设置 -->
<template slot="isSpecial" slot-scope="{ data }">
<el-switch
v-model="data.isSpecial"
active-text="技工"
inactive-text="普工"
:active-value="1"
:inactive-value="0"
v-model="data.isSpecial"
@change="onHandleChangeIsSpecial(data)"
/>
</template>
@ -37,11 +37,11 @@
<!-- 状态 -->
<template slot="isEnable" slot-scope="{ data }">
<el-switch
v-model="data.isEnable"
active-text="启用"
inactive-text="禁用"
:active-value="1"
:inactive-value="0"
v-model="data.isEnable"
@change="onHandleChangeIsEnable(data)"
/>
</template>
@ -153,14 +153,15 @@ export default {
formLabel,
columnsList,
dialogConfig,
getJobTypeListAPI,
getJobTypeListAPI, //
//
addOrEditForm: {
postName: '', //
isSpecial: 0, //
isEnable: 1, //
id: null, // id
},
//
addOrEditFormRules: {
postName: [
{
@ -209,24 +210,24 @@ export default {
//
onHandleChangeIsSpecial(data) {
const params = {
this.dialogConfig.outerTitle = ''
this.onHandleAddOrEditJobTypeConfirm({
id: data.id,
isSpecial: data.isSpecial,
}
this.onHandleChangeIsSpecialOrIsEnable(params)
})
},
//
onHandleChangeIsEnable(data) {
const params = {
this.dialogConfig.outerTitle = ''
this.onHandleAddOrEditJobTypeConfirm({
id: data.id,
isEnable: data.isEnable,
}
this.onHandleChangeIsSpecialOrIsEnable(params)
})
},
//
async onHandleChangeIsSpecialOrIsEnable(data) {
//
async onHandleAddOrEditJobTypeConfirm(data) {
const res = await addAdnEditJobTypeAPI(data)
if (res.code === 200) {
this.$modal.msgSuccess('操作成功')
@ -239,7 +240,19 @@ export default {
//
handleCloseDialogOuter() {
if (
this.dialogConfig.outerTitle === '新增' ||
this.dialogConfig.outerTitle === '修改'
) {
this.$refs.addOrEditFormRef.resetFields() //
this.addOrEditForm = {
postName: '', //
isSpecial: 0, //
isEnable: 1, //
id: null, // id
}
}
this.dialogConfig.outerVisible = false
},
@ -252,7 +265,7 @@ export default {
this.$delete(params, 'id')
}
this.onHandleChangeIsSpecialOrIsEnable(params)
this.onHandleAddOrEditJobTypeConfirm(params)
}
})
},