基础管理

This commit is contained in:
wcy 2024-10-16 18:03:28 +08:00
parent 3ffdfc5fe6
commit 022af39f52
4 changed files with 196 additions and 154 deletions

View File

@ -33,6 +33,17 @@ export function delProject(proId) {
}) })
} }
// 工程项目
export function getProjectUserList(query) {
return request({
url: '/material/bm_unit_person/getDeptUserTree',
method: 'get',
params: {
query,
isTree: 1 // 添加 isTree 参数
}
});
}
// 标段工程-列表 // 标段工程-列表
export function ProjectLotList(query) { export function ProjectLotList(query) {
return request({ return request({
@ -224,7 +235,7 @@ export function delUnitType(typeIds) {
// 资产属性管理-列表 // 资产属性管理-列表
export function propInfoList(query) { export function propInfoList(query) {
return request({ return request({
url: '/material/bmAssetAttributes/list', url: '/material/bm_asset_attributes/list',
method: 'get', method: 'get',
params: query params: query
}) })
@ -232,7 +243,7 @@ export function propInfoList(query) {
//资产属性管理--新增 //资产属性管理--新增
export function addPropInfo(data) { export function addPropInfo(data) {
return request({ return request({
url: '/material/bmAssetAttributes', url: '/material/bm_asset_attributes',
method: 'post', method: 'post',
data: data data: data
}) })
@ -241,7 +252,7 @@ export function addPropInfo(data) {
// 资产属性管理--修改 // 资产属性管理--修改
export function updatePropInfo(data) { export function updatePropInfo(data) {
return request({ return request({
url: '/material/bmAssetAttributes', url: '/material/bm_asset_attributes',
method: 'put', method: 'put',
data: data data: data
}) })
@ -249,7 +260,7 @@ export function updatePropInfo(data) {
//资产属性管理--删除 //资产属性管理--删除
export function delPropInfo(id) { export function delPropInfo(id) {
return request({ return request({
url: `/material/bmAssetAttributes/${id}`, url: `/material/bm_asset_attributes/${id}`,
method: 'delete' method: 'delete'
}) })
} }
@ -257,7 +268,7 @@ export function delPropInfo(id) {
// 资产属性管理-详情 // 资产属性管理-详情
export function PropDetail(id) { export function PropDetail(id) {
return request({ return request({
url: `/material/bm_unit_type/${id}`, url: `/material/bm_asset_attributes/${id}`,
method: 'get', method: 'get',
}) })
} }

View File

@ -252,8 +252,8 @@
</template> </template>
<script> <script>
// import { addUnit, delUnit, unitInfoAll, updateUnit } from '@/api/base/base' import { addUnit, delUnit, unitInfoAll, updateUnit } from '@/api/base/base'
// import { unitTypeListAll } from '@/api/base/base' import { unitTypeListAll } from '@/api/base/base'
import { deptTreeSelect } from '@/api/system/user' import { deptTreeSelect } from '@/api/system/user'
import Treeselect from '@riophae/vue-treeselect' import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
@ -299,6 +299,7 @@ export default {
dictType: undefined, dictType: undefined,
status: undefined, status: undefined,
dataCondition: [], dataCondition: [],
typeId:undefined
}, },
// //
form: {}, form: {},
@ -339,9 +340,6 @@ export default {
unitTypeListAll({}).then((response) => { unitTypeListAll({}).then((response) => {
this.typeList = response.data.rows this.typeList = response.data.rows
}) })
console.log(11111111111)
console.log(this.typeList)
console.log(11111111111)
}, },
selecType(typeId) { selecType(typeId) {
this.typeList.forEach((item) => { this.typeList.forEach((item) => {
@ -479,7 +477,7 @@ export default {
}) })
.then(() => { .then(() => {
this.getList() this.getList()
this.$modal.msgSuccess('删除成功') this.$modal.msgSuccess('删除成功')
}) })
.catch(() => {}) .catch(() => {})
}, },

View File

@ -159,7 +159,7 @@
width="160" width="160"
class-name="small-padding fixed-width" class-name="small-padding fixed-width"
> >
<template slot-scope="scope" v-if="scope.row.userId !== 1"> <template slot-scope="scope" v-if="scope.row.isBind === 1">
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -538,8 +538,8 @@ export default {
}, },
// //
handleNodeClick(data) { handleNodeClick(data) {
console.log(data) console.log('data',data)
this.chosenUserId = data.userId; this.chosenUserId = data.id;
this.queryParams.userId = data.userId; this.queryParams.userId = data.userId;
// this.getList() // this.getList()
// this.queryParams.deptId = data.id; // this.queryParams.deptId = data.id;
@ -591,10 +591,21 @@ export default {
handleSave() { handleSave() {
console.log(this.chosenUserId, 'chosenUserId') console.log(this.chosenUserId, 'chosenUserId')
console.log(this.ids, 'ids') console.log(this.ids, 'ids')
if(this.chosenUserId){
let param = { if( this.ids.length < 1) {
this.$modal.msgError('请勾选需要绑定的单位!')
return
}
if(!this.chosenUserId) {
this.$modal.msgError("请先选择配置人员!")
return
}
let param = {
userId: this.chosenUserId, userId: this.chosenUserId,
unitId: this.ids[0] unitIdList: this.ids
} }
unitPersonAll(param).then(response => { unitPersonAll(param).then(response => {
if (response.code == 200) { if (response.code == 200) {
@ -604,11 +615,7 @@ export default {
}) })
this.getList(); this.getList();
} }
}); })
}else{
this.$modal.msgError("请先选择配置人员!");
}
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */

View File

@ -180,138 +180,161 @@
<!-- 添加或修改参数配置对话框 --> <!-- 添加或修改参数配置对话框 -->
<el-dialog <el-dialog
:title="title" title="新建工程"
:visible.sync="open" :visible.sync="open"
width="600px" width="700px"
append-to-body append-to-body
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<el-form <el-row :gutter="20">
ref="form" <el-col :span="12">
:model="form" <el-form
:rules="rules" ref="form"
label-width="120px" :model="form"
:rules="rules"
label-width="120px"
>
<el-form-item label="工程名称" prop="proName">
<el-input
v-model="form.proName"
placeholder="请输入工程名称"
maxlength="50"
/>
</el-form-item>
<el-form-item label="实施单位" prop="projectStatus">
<el-select
v-model="form.projectStatus"
filterable
placeholder="请选择实施单位"
style="width: 100%"
> >
<el-form-item label="工程名称" prop="proName"> <el-option
<el-input v-for="status in unitList"
v-model="form.proName" :key="status.value"
placeholder="请输入单位类型名称" :label="status.label"
maxlength="50" :value="status.value"
/> ></el-option>
</el-form-item> </el-select>
<el-form-item label="实施单位" prop="typeId"> </el-form-item>
<!-- <el-input v-model="form.typeId" placeholder="请选择工程类型" /> --> <el-form-item label="工程状态" prop="projectStatus">
<el-select <el-select
v-model="form.typeId" v-model="form.projectStatus"
filterable filterable
placeholder="请选择工程类型" placeholder="请选择工程状态"
style="width: 100%" style="width: 100%"
@change="selecType" >
> <el-option
<el-option v-for="status in projectStatuses"
v-for="item in typeList" :key="status.value"
:key="item.id" :label="status.label"
:label="item.name" :value="status.value"
:value="item.id" ></el-option>
v-if="item.status != '1'" </el-select>
></el-option> </el-form-item>
</el-select> <el-form-item label="项目经理" prop="projectManager">
</el-form-item> <el-input
<el-form-item label="工程状态" prop="typeId"> v-model="form.projectManager"
<!-- <el-input v-model="form.typeId" placeholder="请选择工程类型" /> --> placeholder="请输入项目经理姓名"
<el-select maxlength="20"
v-model="form.typeId" />
filterable </el-form-item>
placeholder="请选择工程状态" <el-form-item label="合同主体单位" prop="contractingEntity">
style="width: 100%" <el-input
@change="selecType" v-model="form.contractingEntity"
> placeholder="请输入合同主体单位"
<el-option maxlength="50"
v-for="item in typeList" />
:key="item.id" </el-form-item>
:label="item.name" <el-form-item label="i8工程ID" prop="i8ProjectId">
:value="item.id" <el-input
v-if="item.status != '1'" v-model="form.i8ProjectId"
></el-option> placeholder="请输入i8工程ID"
</el-select> maxlength="50"
</el-form-item> />
</el-form-item>
<el-form-item label="项目经理" prop="proName"> <el-form-item label="备注" prop="i8ProjectId">
<el-input <el-input
v-model="form.proName" type="textarea"
placeholder="请输入内容"
maxlength="50" v-model="textarea"
/> maxlength="100"
</el-form-item> show-word-limit
<el-form-item label="合同主体单位" prop="proName"> >
<el-input </el-input>
v-model="form.proName" </el-form-item>
</el-form>
maxlength="50" </el-col>
/>
</el-form-item> <el-col :span="12">
<el-form-item label="i8工程ID" prop="proName"> <el-form
<el-input label-width="120px"
v-model="form.proName" >
<el-form-item label="工程编号" prop="projectNo">
maxlength="50" <el-input
/> v-model="form.projectNo"
</el-form-item> placeholder="请输入工程编号"
<el-form-item label="工程类型" prop="typeId"> maxlength="50"
<!-- <el-input v-model="form.typeId" placeholder="请选择工程类型" /> --> />
<el-select </el-form-item>
v-model="form.typeId" <el-form-item label="工程类型" prop="projectStatus">
filterable <el-select
placeholder="请选择工程类型" v-model="form.projectStatus"
style="width: 100%" filterable
@change="selecType" placeholder="请选择工程状态"
> style="width: 100%"
<el-option >
v-for="item in typeList" <el-option
:key="item.id" v-for="status in projectStatuses"
:label="item.name" :key="status.value"
:value="item.id" :label="status.label"
v-if="item.status != '1'" :value="status.value"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="所属上级" prop="deptId"> <el-form-item label="工程性质" prop="projectNature">
<treeselect <el-select
v-model="form.deptId" v-model="form.projectNature"
:options="deptOptions" filterable
noChildrenText="没有数据了" placeholder="请选择工程性质"
noOptionsText="没有数据" style="width: 100%"
noResultsText="没有搜索结果" >
placeholder="请选择所属上级" <el-option
@select="select" v-for="nature in projectNatures"
/> :key="nature.value"
</el-form-item> --> :label="nature.label"
<el-form-item label="联系人" prop="linkMan"> :value="nature.value"
<el-input ></el-option>
v-model="form.linkMan" </el-select>
placeholder="请输入联系人" </el-form-item>
maxlength="20" <el-form-item label="联系电话" prop="telephone">
/> <el-input
</el-form-item> v-model="form.telephone"
<el-form-item label="联系电话" prop="telphone"> placeholder="请输入联系电话"
<el-input maxlength="11"
v-model="form.telphone" onkeyup="this.value = this.value.replace(/[^\d]/g, '')"
placeholder="请输入联系电话" />
maxlength="11" </el-form-item>
onkeyup="this.value = this.value.replace(/[^\d]/g,'');" <el-form-item label="所属项目中心" prop="projectCenter">
/> <el-input
</el-form-item> v-model="form.projectCenter"
</el-form> placeholder="请输入所属项目中心"
<div slot="footer" class="dialog-footer"> maxlength="50"
<el-button />
type="primary" </el-form-item>
@click="submitForm" <el-form-item label="关联i8工程" prop="relatedI8Project">
:loading="isLoading" <el-input
> </el-button v-model="form.relatedI8Project"
> placeholder="输入搜索关键词"
<el-button @click="cancel"> </el-button> />
</div> </el-form-item>
</el-dialog> </el-form>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" :loading="isLoading"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -321,6 +344,7 @@ import {
delProject, delProject,
getProjectList, getProjectList,
updateProject, updateProject,
getProjectUserList,
} from '@/api/base/base' } from '@/api/base/base'
// import { unitTypeList } from '@/api/base/base' // import { unitTypeList } from '@/api/base/base'
// import { deptTreeSelect } from '@/api/system/user' // import { deptTreeSelect } from '@/api/system/user'
@ -332,6 +356,7 @@ export default {
// components: { Treeselect }, // components: { Treeselect },
data() { data() {
return { return {
textarea: '',
isLoading: false, isLoading: false,
// //
loading: true, loading: true,
@ -349,6 +374,7 @@ export default {
projectList: [], projectList: [],
// //
typeList: [], typeList: [],
unitList:[],
// //
deptOptions: undefined, deptOptions: undefined,
// //
@ -412,11 +438,11 @@ export default {
// }); // });
}, },
/** 查询部门下拉树结构 */ /** 查询部门下拉树结构 */
// getDeptTree() { getDeptTree() {
// deptTreeSelect().then((response) => { deptTreeSelect().then((response) => {
// this.deptOptions = response.data this.deptOptions = response.data
// }) })
// }, },
select(row) { select(row) {
// console.log(row.label) // console.log(row.label)
// this.form.deptName = row.label; // this.form.deptName = row.label;