|
|
@@ -3,7 +3,7 @@
|
|
|
- 人员字段 person:
|
|
|
scope 未指定 人员范围取「作业单位」部门,未选作业单位时取「申请单位」部门,下拉本地过滤
|
|
|
scope: 'all' 人员范围为全部人员,与申请单位/作业单位无关;改用人员选择弹框
|
|
|
- (弹框内可按姓名/工号/账号搜索并分页),选中后回显姓名
|
|
|
+ (弹框内可按姓名/工号/账号搜索并分页),点击输入框即打开弹框
|
|
|
multiple: true 多选,提交时名称与 id 用逗号连接
|
|
|
- 部门字段 dept:提交部门名称并附带部门 id
|
|
|
- 日期字段 date:el-date-picker 日期时间选择
|
|
|
@@ -88,23 +88,18 @@
|
|
|
style="width: 100%"
|
|
|
@changeGroup="onDeptChange(field, $event)"
|
|
|
/>
|
|
|
- <!-- 全量人员:弹框选择后回显到输入框(单选/多选同一样式) -->
|
|
|
+ <!-- 全量人员:点击输入框打开人员选择弹框(单选/多选同一样式) -->
|
|
|
<el-input
|
|
|
v-else-if="field.type === 'person' && field.scope === 'all'"
|
|
|
+ class="person-picker"
|
|
|
:value="getPersonDisplay(field)"
|
|
|
readonly
|
|
|
clearable
|
|
|
:placeholder="field.placeholder || '请选择人员'"
|
|
|
style="width: 100%"
|
|
|
+ @click.native="onPersonInputClick(field, $event)"
|
|
|
@clear="clearPerson(field)"
|
|
|
- >
|
|
|
- <el-button
|
|
|
- slot="append"
|
|
|
- icon="el-icon-user"
|
|
|
- @click="openUserSelect(field)"
|
|
|
- >选择</el-button
|
|
|
- >
|
|
|
- </el-input>
|
|
|
+ />
|
|
|
<!-- 部门联动人员:本地过滤 -->
|
|
|
<el-select
|
|
|
v-else-if="field.type === 'person' && field.multiple"
|
|
|
@@ -458,6 +453,20 @@
|
|
|
.filter((name) => name)
|
|
|
.join('、');
|
|
|
},
|
|
|
+ // 点击人员输入框打开人员选择弹框
|
|
|
+ // element-ui 的 el-input 不会向外派发 click 事件,这里用 .native 监听根元素
|
|
|
+ onPersonInputClick(field, event) {
|
|
|
+ // 点击清除图标时只清空已选人员,不打开弹框
|
|
|
+ const target = event && event.target;
|
|
|
+ if (
|
|
|
+ target &&
|
|
|
+ target.classList &&
|
|
|
+ target.classList.contains('el-input__clear')
|
|
|
+ ) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.openUserSelect(field);
|
|
|
+ },
|
|
|
// 打开人员选择弹框
|
|
|
openUserSelect(field) {
|
|
|
this.currentSelectField = field;
|
|
|
@@ -830,6 +839,12 @@
|
|
|
.ticket-form-item {
|
|
|
margin-bottom: 14px;
|
|
|
}
|
|
|
+ /* 人员选择输入框:点击打开人员选择弹框 */
|
|
|
+ .person-picker {
|
|
|
+ ::v-deep .el-input__inner {
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ }
|
|
|
/* 附件上传、手写签名单独占一行 */
|
|
|
.field-upload,
|
|
|
.field-sign {
|