四模块字段-上传修改
This commit is contained in:
parent
266edb37e6
commit
143a920733
|
|
@ -5,7 +5,7 @@ VUE_APP_TITLE = 博诺思管理系统
|
||||||
ENV = 'development'
|
ENV = 'development'
|
||||||
|
|
||||||
# 博诺思管理系统/开发环境
|
# 博诺思管理系统/开发环境
|
||||||
VUE_APP_BASE_API = '/dev-api'
|
VUE_APP_BASE_API = '/prod'
|
||||||
|
|
||||||
# 路由懒加载
|
# 路由懒加载
|
||||||
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ export const addProtocolApi = (data) => {
|
||||||
}
|
}
|
||||||
/** 删除协议 */
|
/** 删除协议 */
|
||||||
export const deleteProtocolApi = (id) => {
|
export const deleteProtocolApi = (id) => {
|
||||||
return request.delete('/xxx/xx', id)
|
return request.delete(`/base/agreement/${id}`)
|
||||||
}
|
}
|
||||||
/** 修改协议 */
|
/** 修改协议 */
|
||||||
export const editProtocolApi = (data) => {
|
export const editProtocolApi = (data) => {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ export const addContactUnitsApi = (data) => {
|
||||||
}
|
}
|
||||||
/** 删除往来单位 */
|
/** 删除往来单位 */
|
||||||
export const deleteContactUnitsApi = (id) => {
|
export const deleteContactUnitsApi = (id) => {
|
||||||
return request.delete('/xxx/xx', id)
|
return request.delete(`/base/customer/${id}`)
|
||||||
}
|
}
|
||||||
/** 修改往来单位 */
|
/** 修改往来单位 */
|
||||||
export const editContactUnitsApi = (data) => {
|
export const editContactUnitsApi = (data) => {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ export const addProjectApi = (data) => {
|
||||||
}
|
}
|
||||||
/** 删除工程 */
|
/** 删除工程 */
|
||||||
export const deleteProjectApi = (id) => {
|
export const deleteProjectApi = (id) => {
|
||||||
return request.delete(`/base/project?${id}`, )
|
return request.delete(`/base/project/${id}`, )
|
||||||
}
|
}
|
||||||
/** 修改工程 */
|
/** 修改工程 */
|
||||||
export const editProjectApi = (data) => {
|
export const editProjectApi = (data) => {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ export const addUnitTypeApi = (data) => {
|
||||||
}
|
}
|
||||||
/** 删除单位类型*/
|
/** 删除单位类型*/
|
||||||
export const deleteUnitTypeApi = (id) => {
|
export const deleteUnitTypeApi = (id) => {
|
||||||
return request.delete('/xxx/xx', id)
|
return request.delete(`/base/unittype/${id}`)
|
||||||
}
|
}
|
||||||
/** 修改单位类型*/
|
/** 修改单位类型*/
|
||||||
export const editUnitTypeApi = (data) => {
|
export const editUnitTypeApi = (data) => {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
//资源图片上传
|
||||||
|
export function imgUpLoad(param) {
|
||||||
|
const formData = new FormData()
|
||||||
|
formData.append('file', param.file)
|
||||||
|
// formData.append('fileType', param.type)
|
||||||
|
return request({
|
||||||
|
url: '/file/upload',
|
||||||
|
method: 'post',
|
||||||
|
data: formData,
|
||||||
|
header: 'multipart/form-data'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//资源文件上传
|
||||||
|
export function fileUpLoad(param) {
|
||||||
|
const formData = new FormData()
|
||||||
|
formData.append('file', param.file)
|
||||||
|
return request({
|
||||||
|
url: '/file/upload',
|
||||||
|
method: 'post',
|
||||||
|
data: formData,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -98,7 +98,7 @@ service.interceptors.response.use(res => {
|
||||||
isRelogin.show = false;
|
isRelogin.show = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
|
// return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
|
||||||
} else if (code === 500) {
|
} else if (code === 500) {
|
||||||
Message({ message: msg, type: 'error' })
|
Message({ message: msg, type: 'error' })
|
||||||
return Promise.reject(new Error(msg))
|
return Promise.reject(new Error(msg))
|
||||||
|
|
|
||||||
|
|
@ -13,15 +13,16 @@ export const commonMixin = {
|
||||||
this.dialogConfig.outerVisible = true
|
this.dialogConfig.outerVisible = true
|
||||||
},
|
},
|
||||||
/** 删除 */
|
/** 删除 */
|
||||||
handleDeleteData(id) {
|
handleDeleteData(id, method) {
|
||||||
this.$modal.confirm('是否确定删除').then(() => {
|
this.$modal.confirm('是否确定删除').then(() => {
|
||||||
console.log('确定删除--', id)
|
console.log('确定删除--', id)
|
||||||
/* deleteProjectApi(id).then(res => {
|
method(id).then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
history.go(0)
|
if(res.code === 200) {
|
||||||
}).catch(err => {
|
// this.$message.msgSuccess('操作成功!')
|
||||||
console.log(err)
|
this.$refs.tableRef.getTableList()
|
||||||
}) */
|
}
|
||||||
|
}).catch(err => {})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/** 编辑 */
|
/** 编辑 */
|
||||||
|
|
@ -35,8 +36,14 @@ export const commonMixin = {
|
||||||
console.log('导入--')
|
console.log('导入--')
|
||||||
},
|
},
|
||||||
/** 导出数据 */
|
/** 导出数据 */
|
||||||
handleExportData() {
|
handleExportData(data, url, fileName) {
|
||||||
console.log('导出--')
|
this.download(
|
||||||
|
url,
|
||||||
|
{
|
||||||
|
...data
|
||||||
|
},
|
||||||
|
`${fileName}_${new Date().getTime()}.xlsx`,
|
||||||
|
)
|
||||||
},
|
},
|
||||||
/** 关闭外侧弹框 */
|
/** 关闭外侧弹框 */
|
||||||
closeDialogOuter() {
|
closeDialogOuter() {
|
||||||
|
|
@ -48,8 +55,11 @@ export const commonMixin = {
|
||||||
},
|
},
|
||||||
|
|
||||||
/** 关闭弹框 由表单组件通知父组件关闭弹框的自定义事件 */
|
/** 关闭弹框 由表单组件通知父组件关闭弹框的自定义事件 */
|
||||||
closeDialog() {
|
closeDialog(type) {
|
||||||
this.dialogConfig.outerVisible = false
|
this.dialogConfig.outerVisible = false
|
||||||
|
if(type) {
|
||||||
|
this.$refs.tableRef.getTableList()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,22 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="合同附件" prop="url">
|
<el-form-item label="合同附件" prop="url">
|
||||||
<el-input v-model="protocolParams.url" />
|
<el-upload
|
||||||
|
:http-request="(obj) => imgUpLoad(obj)"
|
||||||
|
action="#"
|
||||||
|
:file-list="fileList"
|
||||||
|
:show-file-list="false"
|
||||||
|
list-type="picture-card"
|
||||||
|
accept=".png,.jpg,.jpeg"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
v-if="protocolParams.url"
|
||||||
|
:src="protocolParams.url"
|
||||||
|
style="width: 140px; height: 140px"
|
||||||
|
class="avatar"
|
||||||
|
/>
|
||||||
|
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
||||||
|
</el-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
@ -114,7 +129,10 @@ import {
|
||||||
import {
|
import {
|
||||||
queryProjectSelApi
|
queryProjectSelApi
|
||||||
} from '@/api/base/project'
|
} from '@/api/base/project'
|
||||||
import { addProjectApi, editProjectApi } from '@/api/base/project'
|
import {
|
||||||
|
fileUpLoad,
|
||||||
|
imgUpLoad
|
||||||
|
} from '@/api/system/upload'
|
||||||
export default {
|
export default {
|
||||||
name: 'FormProtocol',
|
name: 'FormProtocol',
|
||||||
props: {
|
props: {
|
||||||
|
|
@ -148,6 +166,7 @@ export default {
|
||||||
remark: '', // 备注
|
remark: '', // 备注
|
||||||
url: '', // 合同附件
|
url: '', // 合同附件
|
||||||
},
|
},
|
||||||
|
fileList: [],
|
||||||
// 租赁单位下拉框
|
// 租赁单位下拉框
|
||||||
unitSelRange: [],
|
unitSelRange: [],
|
||||||
// 租赁工程下拉框
|
// 租赁工程下拉框
|
||||||
|
|
@ -210,6 +229,14 @@ export default {
|
||||||
})
|
})
|
||||||
}).catch(err => {})
|
}).catch(err => {})
|
||||||
},
|
},
|
||||||
|
/** 上传图片 */
|
||||||
|
imgUpLoad(param) {
|
||||||
|
console.log(param)
|
||||||
|
imgUpLoad(param).then(res => {
|
||||||
|
console.log(res, process.env.VUE_APP_BASE_API)
|
||||||
|
this.protocolParams.url = res.data.url
|
||||||
|
}).catch(err => {})
|
||||||
|
},
|
||||||
/** 确认按钮 */
|
/** 确认按钮 */
|
||||||
onSubmit() {
|
onSubmit() {
|
||||||
this.$refs.protocolParamsRef.validate((valid) => {
|
this.$refs.protocolParamsRef.validate((valid) => {
|
||||||
|
|
@ -219,24 +246,18 @@ export default {
|
||||||
if(this.subSort === 1) {
|
if(this.subSort === 1) {
|
||||||
addProtocolApi(this.protocolParams).then(res => {
|
addProtocolApi(this.protocolParams).then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
// 2. 成功之后通知父组件关闭弹框
|
|
||||||
this.$emit('closeDialog')
|
|
||||||
history.go(0)
|
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
})
|
})
|
||||||
} else if(this.subSort === 2) {
|
} else if(this.subSort === 2) {
|
||||||
editProtocolApi(this.protocolParams).then(res => {
|
editProtocolApi(this.protocolParams).then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
// 2. 成功之后通知父组件关闭弹框
|
|
||||||
this.$emit('closeDialog')
|
|
||||||
history.go(0)
|
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 2. 成功之后通知父组件关闭弹框
|
// 2. 成功之后通知父组件关闭弹框
|
||||||
this.$emit('closeDialog')
|
this.$emit('closeDialog', true)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -248,4 +269,7 @@ export default {
|
||||||
::v-deep .el-select {
|
::v-deep .el-select {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
::v-deep .el-form-item__label{
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -13,14 +13,14 @@ export const columnsList = [
|
||||||
{ t_props: 'signDate', t_label: '协议签订时间', },
|
{ t_props: 'signDate', t_label: '协议签订时间', },
|
||||||
{ t_props: 'code', t_label: '协议编号' },
|
{ t_props: 'code', t_label: '协议编号' },
|
||||||
{ t_props: 'contractNumber', t_label: '合同编号' },
|
{ t_props: 'contractNumber', t_label: '合同编号' },
|
||||||
{ t_props: 'customer', t_label: '租赁单位', },
|
{ t_props: 'unitName', t_label: '租赁单位', },
|
||||||
{ t_props: 'project', t_label: '租赁工程', },
|
{ t_props: 'projectName', t_label: '租赁工程', },
|
||||||
{ t_props: 'startTime', t_label: '开始日期', },
|
{ t_props: 'startTime', t_label: '开始日期', },
|
||||||
// { t_props: 'itemType', t_label: '租赁期限(天)', },
|
// { t_props: 'itemType', t_label: '租赁期限(天)', },
|
||||||
{ t_props: 'authorizingPerson', t_label: '授权人', },
|
{ t_props: 'authorizingPerson', t_label: '授权人', },
|
||||||
{ t_props: 'authorizingPhone', t_label: '授权人电话', },
|
{ t_props: 'authorizingPhone', t_label: '授权人电话', },
|
||||||
// { t_props: 'itemType', t_label: '租赁单位类型', },
|
// { t_props: 'itemType', t_label: '租赁单位类型', },
|
||||||
{ t_props: 'url', t_label: '合同文件', },
|
{ t_props: 'url', t_label: '合同文件', t_slot: 'url' },
|
||||||
{ t_props: 'remark', t_label: '备注', },
|
{ t_props: 'remark', t_label: '备注', },
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,13 @@
|
||||||
:formLabel="formLabel"
|
:formLabel="formLabel"
|
||||||
:columnsList="columnsList"
|
:columnsList="columnsList"
|
||||||
:request-api="queryProtocolListApi"
|
:request-api="queryProtocolListApi"
|
||||||
|
ref="tableRef"
|
||||||
>
|
>
|
||||||
<template slot="btn" slot-scope="{ queryParams }">
|
<template slot="btn" slot-scope="{ queryParams }">
|
||||||
<el-button type="primary" @click="handleAddData()"
|
<el-button type="primary" @click="handleAddData()"
|
||||||
>新增协议</el-button
|
>新增协议</el-button
|
||||||
>
|
>
|
||||||
<el-button @click="handleExportData(queryParams)"
|
<el-button @click="handleExportData(queryParams, 'base/agreement/export', '协议清单')"
|
||||||
>导出</el-button
|
>导出</el-button
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -25,10 +26,13 @@
|
||||||
<el-button
|
<el-button
|
||||||
type="danger"
|
type="danger"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="handleDeleteData(data)"
|
@click="handleDeleteData(data.id, deleteProtocolApi)"
|
||||||
>删除</el-button
|
>删除</el-button
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
|
<template slot="url" slot-scope="{ data }">
|
||||||
|
<img :src="data.url" style="width: 50px; height: 50px">
|
||||||
|
</template>
|
||||||
</TableModel>
|
</TableModel>
|
||||||
|
|
||||||
<!-- 新增以及修改时的弹框 -->
|
<!-- 新增以及修改时的弹框 -->
|
||||||
|
|
@ -51,14 +55,14 @@
|
||||||
import { formLabel, columnsList, dialogConfig } from './config'
|
import { formLabel, columnsList, dialogConfig } from './config'
|
||||||
import { commonMixin } from '../mixins/common'
|
import { commonMixin } from '../mixins/common'
|
||||||
import FormProtocol from './components/form-protocol'
|
import FormProtocol from './components/form-protocol'
|
||||||
import { queryProtocolListApi } from '@/api/base/agreement'
|
import { queryProtocolListApi, deleteProtocolApi } from '@/api/base/agreement'
|
||||||
export default {
|
export default {
|
||||||
name: 'ProtocolManage',
|
name: 'ProtocolManage',
|
||||||
mixins: [commonMixin], // 混入公共方法和数据
|
mixins: [commonMixin], // 混入公共方法和数据
|
||||||
components: {
|
components: {
|
||||||
FormProtocol,
|
FormProtocol,
|
||||||
},
|
},
|
||||||
methods: { queryProtocolListApi },
|
methods: { queryProtocolListApi, deleteProtocolApi },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
formLabel,
|
formLabel,
|
||||||
|
|
|
||||||
|
|
@ -25,10 +25,10 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="启用状态" prop="isActive">
|
<el-form-item label="启用状态" prop="isActive">
|
||||||
<el-switch
|
<el-switch
|
||||||
active-text="启用"
|
|
||||||
inactive-text="禁用"
|
|
||||||
active-value="1"
|
active-value="1"
|
||||||
inactive-value="0"
|
inactive-value="0"
|
||||||
|
active-color="#13ce66"
|
||||||
|
inactive-color="#ff4949"
|
||||||
v-model="contactUnitsParams.isActive"
|
v-model="contactUnitsParams.isActive"
|
||||||
></el-switch>
|
></el-switch>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -129,16 +129,14 @@ export default {
|
||||||
if(this.subSort === 1) {
|
if(this.subSort === 1) {
|
||||||
addContactUnitsApi(this.contactUnitsParams).then(res => {
|
addContactUnitsApi(this.contactUnitsParams).then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
history.go(0)
|
|
||||||
}).catch(err => {})
|
}).catch(err => {})
|
||||||
} else if(this.subSort === 2) {
|
} else if(this.subSort === 2) {
|
||||||
editContactUnitsApi(this.contactUnitsParams).then(res => {
|
editContactUnitsApi(this.contactUnitsParams).then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
history.go(0)
|
|
||||||
}).catch(err => {})
|
}).catch(err => {})
|
||||||
}
|
}
|
||||||
// 2. 成功之后通知父组件关闭弹框
|
// 2. 成功之后通知父组件关闭弹框
|
||||||
this.$emit('closeDialog')
|
this.$emit('closeDialog', true)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -150,4 +148,7 @@ export default {
|
||||||
::v-deep .el-select {
|
::v-deep .el-select {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
::v-deep .el-form-item__label{
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ export const columnsList = [
|
||||||
{ t_props: 'companyId', t_label: '所属分公司' },
|
{ t_props: 'companyId', t_label: '所属分公司' },
|
||||||
{ t_props: 'materialClerk', t_label: '材料员', },
|
{ t_props: 'materialClerk', t_label: '材料员', },
|
||||||
{ t_props: 'phone', t_label: '联系电话', },
|
{ t_props: 'phone', t_label: '联系电话', },
|
||||||
{ t_props: 'isActive', t_label: '状态', },
|
{ t_props: 'isActive', t_label: '状态', t_slot: 'isActive' },
|
||||||
|
|
||||||
]
|
]
|
||||||
export const dialogConfig = {
|
export const dialogConfig = {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,14 @@
|
||||||
:formLabel="formLabel"
|
:formLabel="formLabel"
|
||||||
:columnsList="columnsList"
|
:columnsList="columnsList"
|
||||||
:request-api="queryContactUnitsListApi"
|
:request-api="queryContactUnitsListApi"
|
||||||
|
ref="tableRef"
|
||||||
|
|
||||||
>
|
>
|
||||||
<template slot="btn" slot-scope="{ queryParams }">
|
<template slot="btn" slot-scope="{ queryParams }">
|
||||||
<el-button type="primary" @click="handleAddData()"
|
<el-button type="primary" @click="handleAddData()"
|
||||||
>新建</el-button
|
>新建</el-button
|
||||||
>
|
>
|
||||||
<el-button @click="handleExportData(queryParams)"
|
<el-button @click="handleExportData(queryParams, 'base/customer/export', '往来单位清单')"
|
||||||
>导出</el-button
|
>导出</el-button
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -26,10 +28,13 @@
|
||||||
<el-button
|
<el-button
|
||||||
type="danger"
|
type="danger"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="handleDeleteData(data)"
|
@click="handleDeleteData(data.id, deleteContactUnitsApi)"
|
||||||
>删除</el-button
|
>删除</el-button
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
|
<template slot="isActive" slot-scope="{ data }">
|
||||||
|
{{ data.isActive == '1' ? '启用' : '不启用' }}
|
||||||
|
</template>
|
||||||
</TableModel>
|
</TableModel>
|
||||||
|
|
||||||
<!-- 新增以及修改时的弹框 -->
|
<!-- 新增以及修改时的弹框 -->
|
||||||
|
|
@ -52,12 +57,12 @@
|
||||||
import { formLabel, columnsList, dialogConfig } from './config'
|
import { formLabel, columnsList, dialogConfig } from './config'
|
||||||
import { commonMixin } from '../mixins/common'
|
import { commonMixin } from '../mixins/common'
|
||||||
import FormContactUnits from './components/form-contact-units.vue'
|
import FormContactUnits from './components/form-contact-units.vue'
|
||||||
import { queryContactUnitsListApi } from '@/api/base/customer'
|
import { queryContactUnitsListApi, deleteContactUnitsApi } from '@/api/base/customer'
|
||||||
export default {
|
export default {
|
||||||
name: 'ContactUnits',
|
name: 'ContactUnits',
|
||||||
mixins: [commonMixin], // 混入公共方法和数据
|
mixins: [commonMixin], // 混入公共方法和数据
|
||||||
components: { FormContactUnits },
|
components: { FormContactUnits },
|
||||||
methods: { queryContactUnitsListApi },
|
methods: { queryContactUnitsListApi, deleteContactUnitsApi },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
formLabel,
|
formLabel,
|
||||||
|
|
|
||||||
|
|
@ -24,27 +24,52 @@
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="实施单位" prop="impUnit">
|
<el-form-item label="实施单位" prop="impUnit">
|
||||||
<el-select v-model="projectParams.impUnit"></el-select>
|
<el-select
|
||||||
|
v-model="projectParams.impUnit"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in proSelRanges.pro_unit_range"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="工程类型" prop="pro_type_of">
|
<el-form-item label="工程类型" prop="pro_type_of">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="projectParams.pro_type_of"
|
v-model="projectParams.projectType"
|
||||||
></el-select>
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in proSelRanges.pro_type_range"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="工程状态" prop="pro_type">
|
<el-form-item label="工程状态" prop="stats">
|
||||||
<el-select v-model="projectParams.pro_type"></el-select>
|
<el-select
|
||||||
|
v-model="projectParams.stats"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in proSelRanges.pro_stats_range"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="工程性质" prop="pro_nature">
|
<el-form-item label="工程性质" prop="nature">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="projectParams.pro_nature"
|
v-model="projectParams.nature"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in proSelRanges.pro_nature_range"
|
v-for="item in proSelRanges.pro_nature_range"
|
||||||
|
|
@ -152,6 +177,9 @@ export default {
|
||||||
name: '', // 工程名称
|
name: '', // 工程名称
|
||||||
num: '', // 工程编号
|
num: '', // 工程编号
|
||||||
impUnit: '', // 实施单位
|
impUnit: '', // 实施单位
|
||||||
|
projectType: '', //工程类型
|
||||||
|
stats: '', // 工程状态
|
||||||
|
nature: '', // 工程性质
|
||||||
manager: '', // 项目经理
|
manager: '', // 项目经理
|
||||||
phone: '', // 联系电话
|
phone: '', // 联系电话
|
||||||
htzt: '', // 合同主体
|
htzt: '', // 合同主体
|
||||||
|
|
@ -162,11 +190,10 @@ export default {
|
||||||
},
|
},
|
||||||
// 工程下拉列表
|
// 工程下拉列表
|
||||||
proSelRanges: {
|
proSelRanges: {
|
||||||
pro_nature_range: [
|
pro_unit_range: [], // 实施单位下拉列表
|
||||||
{ label: 'a', value: '1' },
|
pro_type_range: [], // 工程类型下拉列表
|
||||||
{ label: 'b', value: '2' },
|
pro_stats_range: [], // 工程状态下拉列表
|
||||||
{ label: 'c', value: '3' },
|
pro_nature_range: [], // 工程性质下拉列表
|
||||||
]
|
|
||||||
},
|
},
|
||||||
// 校验规则
|
// 校验规则
|
||||||
projectParamsRules: {
|
projectParamsRules: {
|
||||||
|
|
@ -209,6 +236,10 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
/** 获取各类下拉框 */
|
||||||
|
getSelRanges() {
|
||||||
|
//
|
||||||
|
},
|
||||||
/** 确认按钮 */
|
/** 确认按钮 */
|
||||||
onSubmit() {
|
onSubmit() {
|
||||||
this.$refs.projectParamsRef.validate(valid => {
|
this.$refs.projectParamsRef.validate(valid => {
|
||||||
|
|
@ -218,22 +249,18 @@ export default {
|
||||||
if(this.subSort === 1) {
|
if(this.subSort === 1) {
|
||||||
addProjectApi(this.projectParams).then(res => {
|
addProjectApi(this.projectParams).then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
// 2. 成功之后通知父组件关闭弹框
|
|
||||||
this.$emit('closeDialog')
|
|
||||||
history.go(0)
|
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
})
|
})
|
||||||
} else if(this.subSort === 2) {
|
} else if(this.subSort === 2) {
|
||||||
editProjectApi(this.projectParams).then(res => {
|
editProjectApi(this.projectParams).then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
// 2. 成功之后通知父组件关闭弹框
|
|
||||||
this.$emit('closeDialog')
|
|
||||||
history.go(0)
|
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 2. 成功之后通知父组件关闭弹框
|
||||||
|
this.$emit('closeDialog', true)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -245,4 +272,7 @@ export default {
|
||||||
::v-deep .el-select {
|
::v-deep .el-select {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
::v-deep .el-form-item__label{
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,18 @@
|
||||||
|
|
||||||
export const formLabel = [
|
export const formLabel = [
|
||||||
{ f_label: '工程名称', f_model: 'keywords', f_type: 'ipt' },
|
{ f_label: '工程名称', f_model: 'name', f_type: 'ipt' },
|
||||||
]
|
]
|
||||||
export const columnsList = [
|
export const columnsList = [
|
||||||
{ t_props: 'name', t_label: '工程项目名称', },
|
{ t_props: 'name', t_label: '工程项目名称', },
|
||||||
{ t_props: 'impUnit', t_label: '实施单位' },
|
{ t_props: 'impUnit', t_label: '实施单位' },
|
||||||
{ t_props: 'projectType', t_label: '工程类型' },
|
{ t_props: 'projectType', t_label: '工程类型' },
|
||||||
{ t_props: 'proId', t_label: 'i8工程id', },
|
{ t_props: 'proId', t_label: 'i8工程id', },
|
||||||
{ t_props: 'isMatch', t_label: '是否匹配i8工程', },
|
{ t_props: 'isMatch', t_label: '是否匹配i8工程', t_slot: 'isMatch' },
|
||||||
{ t_props: 'htzt', t_label: '合同主体', },
|
{ t_props: 'htzt', t_label: '合同主体', },
|
||||||
{ t_props: 'manager', t_label: '项目经理', },
|
{ t_props: 'manager', t_label: '项目经理', },
|
||||||
{ t_props: 'phone', t_label: '联系电话', },
|
{ t_props: 'phone', t_label: '联系电话', },
|
||||||
{ t_props: 'stats', t_label: '工程状态', },
|
{ t_props: 'stats', t_label: '工程状态', },
|
||||||
|
{ t_props: 'remark', t_label: '备注', },
|
||||||
]
|
]
|
||||||
|
|
||||||
export const dialogConfig = {
|
export const dialogConfig = {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,14 @@
|
||||||
:formLabel="formLabel"
|
:formLabel="formLabel"
|
||||||
:columnsList="columnsList"
|
:columnsList="columnsList"
|
||||||
:request-api="queryProjectListApi"
|
:request-api="queryProjectListApi"
|
||||||
|
ref="tableRef"
|
||||||
|
|
||||||
>
|
>
|
||||||
<template slot="btn" slot-scope="{ queryParams }">
|
<template slot="btn" slot-scope="{ queryParams }">
|
||||||
<el-button type="primary" @click="handleAddData()"
|
<el-button type="primary" @click="handleAddData()"
|
||||||
>新建</el-button
|
>新建</el-button
|
||||||
>
|
>
|
||||||
<el-button @click="handleExportData(queryParams)"
|
<el-button @click="handleExportData(queryParams, 'base/project/export', '工程清单')"
|
||||||
>导出</el-button
|
>导出</el-button
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -25,10 +27,13 @@
|
||||||
<el-button
|
<el-button
|
||||||
type="danger"
|
type="danger"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="handleDeleteData(data.id)"
|
@click="handleDeleteData(data.id, deleteProjectApi)"
|
||||||
>删除</el-button
|
>删除</el-button
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
|
<template slot="isMatch" slot-scope="{ data }">
|
||||||
|
{{ data.proId == null ? '不匹配' : '匹配' }}
|
||||||
|
</template>
|
||||||
</TableModel>
|
</TableModel>
|
||||||
|
|
||||||
<!-- 新增以及修改时的弹框 -->
|
<!-- 新增以及修改时的弹框 -->
|
||||||
|
|
@ -51,10 +56,10 @@
|
||||||
import { formLabel, columnsList, dialogConfig } from './config'
|
import { formLabel, columnsList, dialogConfig } from './config'
|
||||||
import { commonMixin } from '../mixins/common'
|
import { commonMixin } from '../mixins/common'
|
||||||
import FormProject from './components/form-project'
|
import FormProject from './components/form-project'
|
||||||
import { queryProjectListApi } from '@/api/base/project'
|
import { queryProjectListApi, deleteProjectApi } from '@/api/base/project'
|
||||||
export default {
|
export default {
|
||||||
name: 'ProjectManage',
|
name: 'ProjectManage',
|
||||||
methods: { queryProjectListApi },
|
methods: { queryProjectListApi, deleteProjectApi },
|
||||||
mixins: [commonMixin], // 混入公共方法和数据
|
mixins: [commonMixin], // 混入公共方法和数据
|
||||||
components: {
|
components: {
|
||||||
FormProject,
|
FormProject,
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,10 @@
|
||||||
<el-input v-model="unitsTypeParams.name" />
|
<el-input v-model="unitsTypeParams.name" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="启用状态" prop="isActive">
|
<el-form-item label="启用状态" prop="isActive" v-if="subSort !== 1">
|
||||||
<el-switch
|
<el-switch
|
||||||
active-text="启用"
|
active-color="#13ce66"
|
||||||
inactive-text="禁用"
|
inactive-color="#ff4949"
|
||||||
active-value="1"
|
active-value="1"
|
||||||
inactive-value="0"
|
inactive-value="0"
|
||||||
v-model="unitsTypeParams.isActive"
|
v-model="unitsTypeParams.isActive"
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
<script>
|
<script>
|
||||||
import {
|
import {
|
||||||
addUnitTypeApi,
|
addUnitTypeApi,
|
||||||
editUnitTypeApi
|
editUnitTypeApi,
|
||||||
} from '@/api/base/unitType'
|
} from '@/api/base/unitType'
|
||||||
export default {
|
export default {
|
||||||
name: 'FormUnitsType',
|
name: 'FormUnitsType',
|
||||||
|
|
@ -63,7 +63,7 @@ export default {
|
||||||
subSort: '', // 提交类型:新增 1 / 修改 2
|
subSort: '', // 提交类型:新增 1 / 修改 2
|
||||||
unitsTypeParams: {
|
unitsTypeParams: {
|
||||||
name: '', // 单位类型
|
name: '', // 单位类型
|
||||||
isActive: '', // 状态
|
isActive: '1', // 状态
|
||||||
},
|
},
|
||||||
// 校验规则
|
// 校验规则
|
||||||
unitsTypeParamsRules: {
|
unitsTypeParamsRules: {
|
||||||
|
|
@ -94,27 +94,30 @@ export default {
|
||||||
if(this.subSort === 1) {
|
if(this.subSort === 1) {
|
||||||
addUnitTypeApi(this.unitsTypeParams).then(res => {
|
addUnitTypeApi(this.unitsTypeParams).then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
// 2. 成功之后通知父组件关闭弹框
|
|
||||||
this.$emit('closeDialog')
|
|
||||||
history.go(0)
|
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
})
|
})
|
||||||
} else if(this.subSort === 2) {
|
} else if(this.subSort === 2) {
|
||||||
editUnitTypeApi(this.unitsTypeParams).then(res => {
|
editUnitTypeApi(this.unitsTypeParams).then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
// 2. 成功之后通知父组件关闭弹框
|
|
||||||
this.$emit('closeDialog')
|
|
||||||
history.go(0)
|
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 2. 成功之后通知父组件关闭弹框
|
// 2. 成功之后通知父组件关闭弹框
|
||||||
this.$emit('closeDialog')
|
this.$emit('closeDialog', true)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
::v-deep .el-select {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
::v-deep .el-form-item__label{
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
export const formLabel = [
|
export const formLabel = [
|
||||||
{ f_label: '单位名称', f_model: 'keywords', f_type: 'ipt' },
|
{ f_label: '单位名称', f_model: 'name', f_type: 'ipt' },
|
||||||
]
|
]
|
||||||
export const columnsList = [
|
export const columnsList = [
|
||||||
{ t_props: 'name', t_label: '单位类型', },
|
{ t_props: 'name', t_label: '单位类型', },
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,14 @@
|
||||||
:formLabel="formLabel"
|
:formLabel="formLabel"
|
||||||
:columnsList="columnsList"
|
:columnsList="columnsList"
|
||||||
:requestApi="queryUnitTypeListApi"
|
:requestApi="queryUnitTypeListApi"
|
||||||
|
ref="tableRef"
|
||||||
|
|
||||||
>
|
>
|
||||||
<template slot="btn" slot-scope="{ queryParams }">
|
<template slot="btn" slot-scope="{ queryParams }">
|
||||||
<el-button type="primary" @click="handleAddData()"
|
<el-button type="primary" @click="handleAddData()"
|
||||||
>新建</el-button
|
>新建</el-button
|
||||||
>
|
>
|
||||||
<el-button @click="handleExportData(queryParams)"
|
<el-button @click="handleExportData(queryParams, 'base/unittype/export', '单位类型清单')"
|
||||||
>导出</el-button
|
>导出</el-button
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -25,13 +27,13 @@
|
||||||
<el-button
|
<el-button
|
||||||
type="danger"
|
type="danger"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="handleDeleteData(data)"
|
@click="handleDeleteData(data.id, deleteUnitTypeApi)"
|
||||||
>删除</el-button
|
>删除</el-button
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
<template slot="isActive" slot-scope="{ data }">
|
<template slot="isActive" slot-scope="{ data }">
|
||||||
<!-- {{ data }}-->
|
<!-- {{ data }}-->
|
||||||
{{ data.isActive == '1' ? '启用' : '禁用' }}
|
{{ data.isActive == '1' ? '启用' : '不启用' }}
|
||||||
</template>
|
</template>
|
||||||
</TableModel>
|
</TableModel>
|
||||||
|
|
||||||
|
|
@ -55,14 +57,14 @@
|
||||||
import { formLabel, columnsList, dialogConfig } from './config'
|
import { formLabel, columnsList, dialogConfig } from './config'
|
||||||
import { commonMixin } from '../mixins/common'
|
import { commonMixin } from '../mixins/common'
|
||||||
import FormUnitsType from './components/form-units-type'
|
import FormUnitsType from './components/form-units-type'
|
||||||
import { queryUnitTypeListApi } from '@/api/base/unitType.js'
|
import { queryUnitTypeListApi, deleteUnitTypeApi } from '@/api/base/unitType.js'
|
||||||
export default {
|
export default {
|
||||||
name: 'UnitType',
|
name: 'UnitType',
|
||||||
mixins: [commonMixin], // 混入公共方法和数据
|
mixins: [commonMixin], // 混入公共方法和数据
|
||||||
components: {
|
components: {
|
||||||
FormUnitsType,
|
FormUnitsType,
|
||||||
},
|
},
|
||||||
methods: { queryUnitTypeListApi },
|
methods: { queryUnitTypeListApi, deleteUnitTypeApi },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
formLabel,
|
formLabel,
|
||||||
|
|
@ -72,7 +74,6 @@ export default {
|
||||||
addDialogTitle: '新建单位类型',
|
addDialogTitle: '新建单位类型',
|
||||||
// 修改时弹框标题
|
// 修改时弹框标题
|
||||||
editDialogTitle: '修改单位类型',
|
editDialogTitle: '修改单位类型',
|
||||||
queryUnitTypeListApi,
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,9 @@ module.exports = {
|
||||||
proxy: {
|
proxy: {
|
||||||
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
||||||
[process.env.VUE_APP_BASE_API]: {
|
[process.env.VUE_APP_BASE_API]: {
|
||||||
target: `http://192.168.2.31:18080`, // 代理的后台ip 端口 解决请求跨域
|
// target: `http://192.168.2.13:18080`, // 代理的后台ip 端口 解决请求跨域
|
||||||
|
// target: `http://172.20.10.2:18080`, // 阮
|
||||||
|
target: `http://192.168.2.21:18080`, // 马
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
['^' + process.env.VUE_APP_BASE_API]: ''
|
['^' + process.env.VUE_APP_BASE_API]: ''
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue