Commit 77c37d4d authored by 张伯涛's avatar 张伯涛

增加"参与二级单位"

parent 6d58200d
......@@ -235,8 +235,13 @@ export default {
/** 关闭dialog*/
closeDialog() {
this.$emit('funClose', false)
this.companyName = ''
this.companyCode = ''
if (this.fatherType === 'project') {
this.projectComList.length = 0
this.finalList.length = 0
} else {
this.companyName = ''
this.companyCode = ''
}
},
/** dialog确定按钮*/
determine() {
......@@ -247,6 +252,7 @@ export default {
message: '请选择往来单位'
})
} else {
this.finalList.length = 0
for (let i = 0, l = this.projectComList.length; i < l; i++) {
const list = {
ZBPNAME_ZH: this.projectComList[i].ZBPNAME_ZH,
......
<template>
<div class="companyChildList">
<el-dialog
class="companyDialog"
:close-on-click-modal="false"
:destroy-on-close="true"
:visible.sync="visible"
width="70%"
title="二级单位"
@close="closeDialog"
>
<div>
<div>
<el-form inline label-width="125px" label-position="right">
<el-row class="searchStyle">
<el-col :span="12">
<el-form-item label="机构主数据编码">
<el-input v-model.trim="serchForm.OID" clearable placeholder="请输入机构主数据编码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="机构简称">
<el-input v-model.trim="serchForm.SHORTNAME" clearable placeholder="请输入机构简称" />
</el-form-item>
<el-button style="margin-top: 5px" type="primary" @click="getListData()">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-table
ref="multipleTable"
:data="dataList"
border
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" />
<el-table-column label="序号" type="index" width="55" />
<el-table-column label="机构主数据编码" prop="OID" show-overflow-tooltip />
<el-table-column label="机构全称" prop="NAME" show-overflow-tooltip />
<el-table-column label="机构简称" prop="SHORTNAME" show-overflow-tooltip />
<el-table-column label="机构业务类型" prop="BIZTYPENAME" show-overflow-tooltip />
<el-table-column label="机构属性" prop="TYPENAME" show-overflow-tooltip />
<el-table-column label="机构子属性" prop="TYPEEXTNAME" show-overflow-tooltip />
</el-table>
<el-pagination
background
style="text-align: right;padding: 20px 15px 30px 15px"
:current-page="page"
layout="total, sizes, prev, pager, next, jumper"
:page-size="rows"
:page-sizes="[10]"
:total="total"
@current-change="currentPageChange"
@size-change="pageSizeChange"
/>
<div style="display: flex;float: right">
<el-button type="info" @click="closeDialog">取消</el-button>
<el-button type="primary" @click="determine()">确定</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { getIntercourseCompanyList } from '@/views/list/api'
export default {
name: 'OrganizationDialog',
props: {
// 显示与隐藏控制
visible: {
type: Boolean,
default: false
},
fatherType: {
type: String,
default: undefined
},
// 区分是哪个模块点击进来的
companyType: {
type: String,
default: undefined
},
selectionList: {
type: Array,
default() {
return []
}
},
codeList: {
type: Array,
default() {
return []
}
}
},
data() {
return {
projectComList: [], // 给项目模块的中标主体单位传值的list
finalList: [],
companyName: '',
companyCode: '',
saveCompanyCode: '',
dataList: [],
total: 0,
page: 1,
rows: 10,
serchForm: {
OID: '',
SHORTNAME: ''
}
}
},
mounted() {
this.getList()
},
methods: {
/** 父组件把反显的数据(已选的)显示在列表上*/
toggleSelection(rows) {
if (rows) {
rows.forEach(row => {
this.$refs.multipleTable.toggleRowSelection(row, true)
})
} else {
this.$refs.multipleTable.clearSelection()
}
},
handleSelectionChange(val) {
console.log('val', val)
this.projectComList = val
},
/** 查询按钮*/
getListData() {
this.page = 1
this.getList()
},
/** 获取查询列表接口*/
getList() {
getIntercourseCompanyList(Object.assign(
this.serchForm,
{
page: this.page,
rows: this.rows,
ZORG: '1'
},
)).then(res => {
this.dataList = res.data.records
this.total = res.data.total
})
console.log('反显的list', this.selectionList)
if (this.selectionList.length >= 1) {
const arr = []
this.dataList.forEach(item => {
this.selectionList.forEach(selectItem => {
if (selectItem.ZBP === item.ZBP) {
arr.push(item)
}
})
})
console.log('arr', arr)
this.toggleSelection(arr)
}
},
/** 关闭dialog*/
closeDialog() {
this.$emit('funClose', false)
this.companyName = ''
this.companyCode = ''
},
/** dialog确定按钮*/
determine() {
if (this.projectComList.length === 0) {
this.$message({
type: 'warning',
message: '请选择往来单位'
})
} else {
this.finalList.length = 0
for (let i = 0, l = this.projectComList.length; i < l; i++) {
const list = {
ZBPNAME_ZH: this.projectComList[i].ZBPNAME_ZH,
ZBP: this.projectComList[i].ZBP
}
this.finalList.push(list)
}
this.$emit('getValue', this.finalList)
this.$emit('funClose', false)
}
},
/** page分页*/
currentPageChange(page) {
this.page = page
this.getList()
},
/** rows分页*/
pageSizeChange(rows) {
this.rows = rows
this.getList()
}
}
}
</script>
<style lang="scss">
.companyChildList{
}
.companyDialog{
.searchStyle{
.el-input__inner{
padding-right: 30px!important;
}
}
.el-form .el-form-item{
margin: 5px 5px 15px 5px !important;
}
.el-pagination__editor.el-input{
width: 50px!important;
}
.el-dialog__body{
max-height: 71vh!important;
}
}
</style>
......@@ -29,6 +29,30 @@
<el-form-item label="曾用名" prop="ZOLDNAME">
<el-input v-model.trim="form.ZOLDNAME" maxlength="500" clearable placeholder="请输入曾用名" />
</el-form-item>
<el-form-item
label="参与二级单位"
prop="ZCY2NDORG"
>
<el-select v-model="form.ZCY2NDORG" clearable placeholder="请选择">
<el-option
v-for="item in secondUnitOptions"
:key="item.OID"
:label="item.SHORTNAME"
:value="item.OID"
/>
</el-select>
</el-form-item>
<!-- <el-form-item-->
<!-- label="参与二级单位"-->
<!-- maxlength="20"-->
<!-- prop="ZCY2NDORGNAME"-->
<!-- >-->
<!-- <div v-for="(item, index) in secondUnitList" :key="index">-->
<!-- <span>{{ item.ZBPNAME_ZH }}</span>-->
<!-- <el-button type="text" @click="delSecondUnit(index)">删除</el-button>-->
<!-- </div>-->
<!-- <el-button type="primary" style="margin-left: 100px;margin-bottom: 20px" @click="secondUnitAdd">新增</el-button>-->
<!-- </el-form-item>-->
<el-form-item v-if="number === '02' || number === '03'" label="项目组织模式" prop="ZPOSName">
<el-input
v-model.trim="form.ZPOSName"
......@@ -53,7 +77,7 @@
{ required: true, message: '请选择项目管理方式', trigger: 'change' }
]"
>
<el-select v-model="form.ZMANAGE_MODE" style="width: 100%" placeholder="请选择项目管理方式">
<el-select v-model="form.ZMANAGE_MODE" style="width: 100%" placeholder="请选择项目管理方式">
<el-option
v-for="item in ZMANAGE_MODE "
:key="item.id"
......@@ -680,16 +704,26 @@
ref="companyQueryList"
:visible.sync="companyDialogVisible"
:selection-list="ZBZTList"
:father-type="'project'"
:father-type="projectType"
@funClose="companyCloseVisible"
@getValue="handleCompanygetName"
/>
<!-- //参与二级单位弹窗(行政组织)-->
<!-- <organization-dialog-->
<!-- ref="secondUnitQueryList"-->
<!-- :visible.sync="secondUnitDialog"-->
<!-- :selection-list="secondUnitList"-->
<!-- :father-type="projectType"-->
<!-- @funClose="secondUnitCloseVisible"-->
<!-- @getValue="handleSecondUnitgetName"-->
<!-- />-->
</div>
</template>
<script>
import CompanyDialog from '@/views/list/CompanyDialog'
import { proGetCompany, projectAdd, projectEdit, getDictAll, projectBYID, projectQuery, ServerTime } from '@/views/projectInfo/api'
import organizationDialog from '@/views/list/organizationDialog'
import { proGetCompany, projectAdd, projectEdit, getDictAll, handleGetSecondUnit, projectBYID, projectQuery, ServerTime } from '@/views/projectInfo/api'
import { Store } from '@/utils/storage'
import { storeKey } from '@/utils/auth'
import { getUnit } from '@/views/contactsUnit/api'
......@@ -708,6 +742,7 @@ export default {
deptCommonDialog,
regionDialog,
CompanyDialog,
organizationDialog,
HandlerDialog
},
data() {
......@@ -792,7 +827,11 @@ export default {
busTypeDialogVisible: false,
ZPOSDialogVisible: false,
companyDialogVisible: false, // 往来单位弹窗
secondUnitDialog: false, // 参与二级单位弹窗
ZBZTList: [], // 中标主体单位List
projectType: '',
secondUnitList: [], // 参与二级单位
secondUnitOptions: [], // 参与二级单位的下拉
form: {
fatherNum: this.$route.query.number,
ZFUNDNAME: '',
......@@ -857,6 +896,8 @@ export default {
ZMANAGE_MODE: '',
ZAWARDMAI: '',
ZAWARDMAINAME: '',
// ZCY2NDORGNAME: '',
ZCY2NDORG: '',
ZBIZDEPT: ''
},
saveForm: {
......@@ -923,6 +964,8 @@ export default {
ZMANAGE_MODE: '',
ZAWARDMAI: '',
ZAWARDMAINAME: '',
// ZCY2NDORGNAME: '',
ZCY2NDORG: '',
ZBIZDEPT: ''
},
rules: {
......@@ -1418,6 +1461,7 @@ export default {
}
this.getDictData()
this.getSecondUnit()
},
beforeRouteLeave(to, from, next) {
if (this.agreeBack || this.type === 'checkDetails') { next() } else {
......@@ -1516,6 +1560,17 @@ export default {
companyCloseVisible(data) {
this.companyDialogVisible = data
},
/** 参与二级单位关闭dialog(子给父传值)*/
// secondUnitCloseVisible(data) {
// this.secondUnitDialog = data
// },
/** 参与二级单位子组件给父组件赋值*/
// handleSecondUnitgetName(list) {
// this.secondUnitList = JSON.parse(JSON.stringify(list))
// this.form.ZCY2NDORGNAME = this.secondUnitList.map(item => item.ZBPNAME_ZH).join(',')
// this.form.ZCY2NDORG = this.secondUnitList.map(item => item.ZBP).join(',')
// this.$refs['form'].validateField('ZCY2NDORGNAME')
// },
/** 中标主体单位子组件给父组件赋值*/
handleCompanygetName(list) {
console.log('list', list)
......@@ -1526,9 +1581,16 @@ export default {
},
/** 中标主体单位点击触发*/
clickCompanyName() {
this.projectType = 'project'
this.companyDialogVisible = true
this.$refs.companyQueryList.getList() // 项目名称点击时调用子组件列表查询方法
},
/** 二级单位新增*/
// secondUnitAdd() {
// this.projectType = 'secondUnit'
// this.secondUnitDialog = true
// this.$refs.secondUnitQueryList.getList() // 项目名称点击时调用子组件列表查询方法
// },
/** 中标主体单位删除*/
delZBZT(i) {
this.ZBZTList.splice(i, 1)
......@@ -1536,6 +1598,13 @@ export default {
this.form.ZAWARDMAI = this.ZBZTList.map(item => item.ZBP).join(',')
this.$refs['form'].validateField('ZAWARDMAINAME')
},
/** 二级单位删除*/
// delSecondUnit(i) {
// this.secondUnitList.splice(i, 1)
// this.form.ZCY2NDORGNAME = this.secondUnitList.map(item => item.ZBPNAME_ZH).join(',')
// this.form.ZCY2NDORG = this.secondUnitList.map(item => item.ZBP).join(',')
// this.$refs['form'].validateField('ZCY2NDORGNAME')
// },
/** 项目类型点击*/
clickZprojtype() {
this.zprojTypeDialogVisible = true
......@@ -1551,6 +1620,12 @@ export default {
this.ZPOSDialogVisible = true
this.$refs.ZPOSQueryList.getList()
},
/** 获取参与二级单位*/
getSecondUnit() {
handleGetSecondUnit().then(res => {
this.secondUnitOptions = res.data
})
},
/** 获取数据字典数据 */
getDictData() {
getDictAll().then(res => {
......@@ -1659,6 +1734,8 @@ export default {
ZMANAGE_MODE: formList.ZMANAGE_MODE,
ZAWARDMAI: formList.ZAWARDMAI,
ZAWARDMAINAME: formList.ZAWARDMAINAME,
ZCY2NDORG: formList.ZCY2NDORG,
// ZCY2NDORGNAME: formList.ZCY2NDORGNAME,
ZBIZDEPT: formList.ZBIZDEPT
}
this.saveForm = {
......@@ -1725,6 +1802,8 @@ export default {
ZMANAGE_MODE: formList.ZMANAGE_MODE,
ZAWARDMAI: formList.ZAWARDMAI,
ZAWARDMAINAME: formList.ZAWARDMAINAME,
ZCY2NDORG: formList.ZCY2NDORG,
// ZCY2NDORGNAME: formList.ZCY2NDORGNAME,
ZBIZDEPT: formList.ZBIZDEPT
}
})
......@@ -1852,6 +1931,8 @@ export default {
ZMANAGE_MODE: formList.ZMANAGE_MODE,
ZAWARDMAI: formList.ZAWARDMAI,
ZAWARDMAINAME: formList.ZAWARDMAINAME,
ZCY2NDORG: formList.ZCY2NDORG,
// ZCY2NDORGNAME: formList.ZCY2NDORGNAME,
ZBIZDEPT: formList.ZBIZDEPT
}
this.form.CREATEBY = JSON.parse(Store.get(storeKey.user)).userId
......
......@@ -64,7 +64,13 @@ export function projectQuery(params) {
params
})
}
/** 获取参与二级单位 */
export function handleGetSecondUnit() {
return request({
url: '/sysOrgan/queryZCY2NDORG',
method: 'get'
})
}
/** 项目表单编辑*/
export function projectEdit(data) {
return request({
......
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