fix : 修复需求上报数字输入框和人员选择器优化
This commit is contained in:
@@ -180,37 +180,37 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="发明专利(项)" prop="inventionPatent">
|
<el-form-item label="发明专利(项)" prop="inventionPatent">
|
||||||
<el-input v-model="formData.inventionPatent" clearable></el-input>
|
<el-input-number v-model="formData.inventionPatent" placeholder="请输入发明专利" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="实用性新型专利(项)" prop="newPatent">
|
<el-form-item label="实用性新型专利(项)" prop="newPatent">
|
||||||
<el-input v-model="formData.newPatent" clearable></el-input>
|
<el-input-number v-model="formData.newPatent" placeholder="请输入实用性新型专利" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="软件著作权(项)" prop="softwareCopyright">
|
<el-form-item label="软件著作权(项)" prop="softwareCopyright">
|
||||||
<el-input v-model="formData.softwareCopyright" clearable></el-input>
|
<el-input-number v-model="formData.softwareCopyright" placeholder="请输入软件著作权" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="著作权(项)" prop="copyright">
|
<el-form-item label="著作权(项)" prop="copyright">
|
||||||
<el-input v-model="formData.copyright" clearable></el-input>
|
<el-input-number v-model="formData.copyright" placeholder="请输入著作权" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="其他(项)" prop="other">
|
<el-form-item label="其他(项)" prop="other">
|
||||||
<el-input v-model="formData.other" clearable></el-input>
|
<el-input-number v-model="formData.other" placeholder="请输入其他" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="经济概算(元)" prop="economicEstimate">
|
<el-form-item label="经济概算(元)" prop="economicEstimate">
|
||||||
<el-input v-model="formData.economicEstimate" clearable></el-input>
|
<el-input-number v-model="formData.economicEstimate" placeholder="请输入经济概算" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="其中申请公司总部科技创新专项资金(元)" prop="specialFundAmount" v-if="formData.isSpecialFund">
|
<el-form-item label="其中申请公司总部科技创新专项资金(元)" prop="specialFundAmount" v-if="formData.isSpecialFund">
|
||||||
<el-input v-model="formData.specialFundAmount" clearable></el-input>
|
<el-input-number v-model="formData.specialFundAmount" placeholder="请输入专项资金" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
@@ -229,13 +229,9 @@
|
|||||||
@getAttachment="getAttachment"
|
@getAttachment="getAttachment"
|
||||||
@getOtherFile="getOtherFile" :showFileList="true" :formData="formData"
|
@getOtherFile="getOtherFile" :showFileList="true" :formData="formData"
|
||||||
:preview="name === 'Summary/edit'"/>
|
:preview="name === 'Summary/edit'"/>
|
||||||
<!-- <fvForm :schema="schame" @getInstance="getInstance"></fvForm>-->
|
|
||||||
<div class="approval-record">
|
<div class="approval-record">
|
||||||
<baseTitle title="流程"></baseTitle>
|
<baseTitle title="流程"></baseTitle>
|
||||||
<process-diagram-viewer mode="view" v-if="processDiagramViewer"/>
|
<process-diagram-viewer mode="view" v-if="processDiagramViewer"/>
|
||||||
<!-- <div class="process" id="approvalRecord">-->
|
|
||||||
<!-- <process-tree ref="processTree" mode="view" id-name="approvalRecord"/>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="oper-page-btn">
|
<div class="oper-page-btn">
|
||||||
<!-- <el-button type="info" @click="staging">存为草稿</el-button>-->
|
<!-- <el-button type="info" @click="staging">存为草稿</el-button>-->
|
||||||
@@ -561,5 +557,13 @@ const staging = async () => {
|
|||||||
.detail-block {
|
.detail-block {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding-bottom: 30px;
|
padding-bottom: 30px;
|
||||||
|
|
||||||
|
:deep(.el-input-number) {
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.el-input__inner {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,69 +1,67 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog custom-class="custom-dialog" class="border" :border="false" closeFree width="600px"
|
<el-dialog custom-class="custom-dialog" class="border" :border="false" closeFree width="1000px" style="height: 676px"
|
||||||
:title="title" :visible.sync="visible" v-model="visible" append-to-body :close-on-click-modal="true"
|
:title="title" :visible.sync="visible" v-model="visible" append-to-body :close-on-click-modal="true"
|
||||||
:destroy-on-close="true">
|
:destroy-on-close="true">
|
||||||
<div>
|
<div class="picker">
|
||||||
<div class="picker">
|
<div class="candidate" v-loading="loading">
|
||||||
<div class="candidate" v-loading="loading">
|
<el-input v-model="filterText" @change="getList(1)"
|
||||||
<el-input v-model="filterText" @change="getList(1)"
|
clearable placeholder="输入部门/昵称进行搜索">
|
||||||
clearable placeholder="输入部门/昵称进行搜索">
|
<template #append>
|
||||||
<template #append>
|
<el-button @click="getList(1)">搜索</el-button>
|
||||||
<el-button @click="getList(1)">搜索</el-button>
|
</template>
|
||||||
</template>
|
</el-input>
|
||||||
</el-input>
|
<!-- 人员选择 -->
|
||||||
<!-- 人员选择 -->
|
<el-empty :image-size="100" description="似乎没有数据" v-show="dataList.length === 0"/>
|
||||||
<el-empty :image-size="100" description="似乎没有数据" v-show="dataList.length === 0"/>
|
<el-scrollbar style="height:90%;">
|
||||||
<el-scrollbar style="height:340px">
|
<div class="tree">
|
||||||
<div class="tree">
|
<el-tree :data="dataList" ref="tree" :props="defaultProps" empty-text="" node-key="value"
|
||||||
<el-tree :data="dataList" ref="tree" :props="defaultProps" empty-text="" node-key="value"
|
:default-expanded-keys="expandedKeys" lazy accordion
|
||||||
:default-expanded-keys="expandedKeys" lazy accordion
|
@node-click="handleChange" @node-expand="handleChange">
|
||||||
@node-click="handleChange" @node-expand="handleChange"
|
<template #default="{ node, data }">
|
||||||
>
|
<div class="tree-node">
|
||||||
<template #default="{ node, data }">
|
<div v-if="data.type === 0" style="display: flex;align-items: center;padding: 3px 0">
|
||||||
<div class="tree-node">
|
<el-icon>
|
||||||
<div v-if="data.type === 0" style="display: flex;align-items: center;padding: 3px 0">
|
<UserFilled/>
|
||||||
<el-icon>
|
</el-icon>
|
||||||
<UserFilled/>
|
{{ node.label }}-{{ data.companyName }}
|
||||||
</el-icon>
|
|
||||||
{{ node.label }}
|
|
||||||
</div>
|
|
||||||
<div v-else-if="data.type ===1">
|
|
||||||
<el-icon>
|
|
||||||
<UserFilled/>
|
|
||||||
</el-icon>
|
|
||||||
{{ node.label }}
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
<el-icon>
|
|
||||||
<FolderOpened/>
|
|
||||||
</el-icon>
|
|
||||||
{{ node.label }}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
<div v-else-if="data.type ===1">
|
||||||
</el-tree>
|
<el-icon>
|
||||||
</div>
|
<UserFilled/>
|
||||||
</el-scrollbar>
|
</el-icon>
|
||||||
</div>
|
{{ node.label }}
|
||||||
<div class="selected">
|
</div>
|
||||||
<div class="count">
|
<div v-else>
|
||||||
<span>已选 {{ selectList.length }} 项</span>
|
<el-icon>
|
||||||
<span @click="clearSelected">清空</span>
|
<FolderOpened/>
|
||||||
|
</el-icon>
|
||||||
|
{{ node.label }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-tree>
|
||||||
</div>
|
</div>
|
||||||
<div class="org-items" style="height: 350px;">
|
</el-scrollbar>
|
||||||
<el-empty :image-size="100" description="请点击左侧列表选择数据" v-show="selectList.length === 0"/>
|
</div>
|
||||||
<div v-for="(selectItem, selectIndex) in selectList" :key="selectIndex" class="org-item">
|
<div class="selected">
|
||||||
<!-- <el-avatar :src="selectItem.avatar" style="margin-right: 5px;"></el-avatar>-->
|
<div class="count">
|
||||||
{{ selectItem.name }}
|
<span>已选 {{ selectList.length }} 项</span>
|
||||||
<i class="el-icon-close" @click="noSelected(selectItem)"></i>
|
<span @click="clearSelected">清空</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="org-items">
|
||||||
|
<el-empty :image-size="100" description="请点击左侧列表选择数据" v-show="selectList.length === 0"/>
|
||||||
|
<div v-for="(selectItem, selectIndex) in selectList" :key="selectIndex" class="org-item">
|
||||||
|
{{ selectItem.name }}-{{ selectItem.companyName }}
|
||||||
|
<el-icon @click="noSelected(selectItem)" size="20" style="margin-left: 10px;cursor: pointer;">
|
||||||
|
<CircleClose/>
|
||||||
|
</el-icon>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div slot="footer">
|
<div class="footer">
|
||||||
<el-button size="mini" @click="visible = false">取 消</el-button>
|
<el-button size="mini" @click="visible = false">取 消</el-button>
|
||||||
<el-button size="mini" type="primary" @click="selectConfirm">确 定</el-button>
|
<el-button size="mini" color="#DED0B2" @click="selectConfirm">确 定</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
@@ -109,14 +107,11 @@ const defaultProps = {
|
|||||||
value: "value",
|
value: "value",
|
||||||
label: "name",
|
label: "name",
|
||||||
children: "children",
|
children: "children",
|
||||||
// isLeaf:(data, node) =>
|
isLeaf: (data) => {
|
||||||
// {
|
if (data.type === 0) {
|
||||||
// console.log('data, node',data, node)
|
return true
|
||||||
// if (node.level === 2) {
|
}
|
||||||
// return true
|
}
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
};
|
};
|
||||||
const emit = defineEmits();
|
const emit = defineEmits();
|
||||||
|
|
||||||
@@ -200,7 +195,6 @@ const showUserPicker = () => {
|
|||||||
getList();
|
getList();
|
||||||
};
|
};
|
||||||
const handleChange = (item, data) => {
|
const handleChange = (item, data) => {
|
||||||
console.log('item', item, data)
|
|
||||||
selectItem = item;
|
selectItem = item;
|
||||||
if (isSearch.value && item.type !== 0) {
|
if (isSearch.value && item.type !== 0) {
|
||||||
filterText.value = ""
|
filterText.value = ""
|
||||||
@@ -283,116 +277,109 @@ defineExpose({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
$containWidth: 264px;
|
$containWidth: 480px;
|
||||||
:deep(.tree) {
|
:deep(.tree) {
|
||||||
.el-tree {
|
.el-tree-node__content {
|
||||||
.el-tree-node {
|
height: 34px;
|
||||||
.el-tree-node__children {
|
|
||||||
.el-tree-node {
|
.tree-node {
|
||||||
.el-tree-node__content {
|
font-size: 18px;
|
||||||
//height: 45px !important;
|
|
||||||
.tree-node {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree-node {
|
//.el-tree-node {
|
||||||
.is-leaf + .el-checkbox .el-checkbox__inner {
|
// .is-leaf + .el-checkbox .el-checkbox__inner {
|
||||||
display: inline-block;
|
// display: inline-block;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
.el-checkbox .el-checkbox__inner {
|
// .el-checkbox .el-checkbox__inner {
|
||||||
display: none;
|
// display: none;
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
.tree-node {
|
|
||||||
div {
|
|
||||||
.el-avatar {
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
.el-dialog__body {
|
float: right;
|
||||||
padding: 10px 20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.picker {
|
.picker {
|
||||||
height: 402px;
|
height: 560px;
|
||||||
position: relative;
|
position: relative;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
|
||||||
.candidate {
|
.candidate {
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.candidate, .selected {
|
|
||||||
position: absolute;
|
|
||||||
display: inline-block;
|
|
||||||
width: $containWidth;
|
|
||||||
height: 400px;
|
|
||||||
border: 1px solid #e8e8e8;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selected {
|
|
||||||
border-left: none;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
|
|
||||||
.count {
|
|
||||||
width: calc(var($containWidth) - 20px);
|
|
||||||
padding: 10px;
|
|
||||||
display: inline-block;
|
|
||||||
border-bottom: 1px solid #e8e8e8;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
|
|
||||||
& > span:nth-child(2) {
|
|
||||||
float: right;
|
|
||||||
color: #c75450;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.org-items {
|
|
||||||
overflow-y: auto;
|
|
||||||
height: 350px;
|
|
||||||
|
|
||||||
.el-icon-close {
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 5px;
|
display: inline-block;
|
||||||
cursor: pointer;
|
width: $containWidth;
|
||||||
font-size: larger;
|
height: 98%;
|
||||||
}
|
border: 1px solid #e8e8e8;
|
||||||
|
|
||||||
.org-item {
|
:deep(.el-input) {
|
||||||
margin: 0 5px;
|
height: 40px;
|
||||||
border-radius: 5px;
|
|
||||||
position: relative;
|
|
||||||
padding: 7px 5px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
cursor: pointer;
|
.el-input__inner, .el-input-group__append {
|
||||||
|
font-size: 16px;
|
||||||
&:hover {
|
}
|
||||||
background: #f1f1f1;
|
|
||||||
}
|
|
||||||
|
|
||||||
> span {
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.selected {
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
position: absolute;
|
||||||
|
display: inline-block;
|
||||||
|
width: 450px;
|
||||||
|
height: 98%;
|
||||||
|
border: 1px solid #e8e8e8;
|
||||||
|
|
||||||
|
.count {
|
||||||
|
width: 100%;
|
||||||
|
padding: 10px;
|
||||||
|
display: inline-block;
|
||||||
|
border-bottom: 1px solid #e8e8e8;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
font-size: 16px;
|
||||||
|
|
||||||
|
> span:nth-child(2) {
|
||||||
|
float: right;
|
||||||
|
color: #c75450;
|
||||||
|
cursor: pointer;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.org-items {
|
||||||
|
overflow-y: auto;
|
||||||
|
height: 90%;
|
||||||
|
|
||||||
|
.el-icon-close {
|
||||||
|
position: absolute;
|
||||||
|
right: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: larger;
|
||||||
|
}
|
||||||
|
|
||||||
|
.org-item {
|
||||||
|
margin: 0 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
position: relative;
|
||||||
|
padding: 7px 5px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 16px;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: #f1f1f1;
|
||||||
|
}
|
||||||
|
|
||||||
|
> span {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-scrollbar .el-scrollbar__wrap {
|
.el-scrollbar .el-scrollbar__wrap {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<el-button size="mini" icon="Plus" type="primary" @click="showSysRolePicker" round>
|
<el-button size="mini" icon="Plus" type="primary" @click="showSysRolePicker" round>
|
||||||
选择人员
|
选择人员
|
||||||
</el-button>
|
</el-button>
|
||||||
<user-picker title="请选择系统角色" :multiple="false" ref="sysRolePicker" :v-model="assignedUser" @ok="selectedUser"/>
|
<user-picker title="请选择人员" :multiple="false" ref="sysRolePicker" :v-model="assignedUser" @ok="selectedUser"/>
|
||||||
<!-- <ellipsis :row="3" :user-info="assignedUser"/>-->
|
<!-- <ellipsis :row="3" :user-info="assignedUser"/>-->
|
||||||
<role-items v-model="assignedUser"/>
|
<role-items v-model="assignedUser"/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user