!27 refactor(xispeak): 改造列表页搜索框为表单式搜索区域
* refactor(xispeak): 改造列表页搜索框为表单式搜索区域 * Merge branch 'master' into feature/20260610 * fix(inspectTask): BPM表单移除措施数量/流程实例ID/流程状态/督办次数/排序字段,调整具体问题和整改措施label宽度对齐 * refactor(inspectTask): 合并基本信息与状态与统计为一个区域 * fix(inspectTask): 台账列表移除措施数量/流程状态/督办次数/排序列 * fix(inspectTask): 移除反馈数量和督办次数字段,措施数量/督办次数设为不可编辑 * fix(inspectTask): 党群领导条件显示,移除流程实例ID/流程状态/排序字段 * fix(inspectTask): 修复编辑时子表数据未回传导致反馈记录被清空
This commit is contained in:
@@ -1,5 +1,34 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="p-2 erpNativeList">
|
||||
<!--查询区域-->
|
||||
<div class="jeecg-basic-table-form-container">
|
||||
<a-form ref="formRef" @keyup.enter="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<a-row :gutter="24">
|
||||
<a-col :lg="6" :md="8" :sm="12">
|
||||
<a-form-item label="重要讲话指示批示情况" name="speakStatus">
|
||||
<JInput v-model:value="queryParam.speakStatus" type="like" placeholder="请输入重要讲话指示批示情况" allow-clear trim />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="5" :md="8" :sm="12">
|
||||
<a-form-item label="牵头部门" name="implDept">
|
||||
<j-select-dept v-model:value="queryParam.implDept" placeholder="选择牵头部门" allow-clear style="width: 100%" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="4" :md="6" :sm="8">
|
||||
<a-form-item label="完成状态" name="completionStatus">
|
||||
<JDictSelectTag v-model:value="queryParam.completionStatus" dictCode="db_status" placeholder="请选择完成状态" allow-clear @change="searchQuery" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="4" :md="8" :sm="12">
|
||||
<span class="table-page-search-submitButtons">
|
||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button preIcon="ant-design:reload-outlined" style="margin-left: 8px" @click="searchReset">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="content">
|
||||
<BasicTable
|
||||
@register="registerTable"
|
||||
:rowSelection="rowSelection"
|
||||
@@ -30,9 +59,6 @@
|
||||
</a-dropdown>
|
||||
<!-- 高级查询 -->
|
||||
<super-query :config="superQueryConfig" @search="handleSuperQuery" />
|
||||
<div class="table-title-search">
|
||||
<j-select-dept v-model:value="searchDeptIds" placeholder="选择牵头部门" allow-clear style="width: 100%" @change="handleDeptSearch" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<!--操作栏-->
|
||||
@@ -42,6 +68,7 @@
|
||||
<!--字段回显插槽-->
|
||||
<template v-slot:bodyCell="{ column, record, index, text }"> </template>
|
||||
</BasicTable>
|
||||
</div>
|
||||
|
||||
<BgXiSpeakFeedbackViewModal ref="feedbackViewModalRef" />
|
||||
<!-- 表单区域 -->
|
||||
@@ -63,6 +90,8 @@
|
||||
import { startProcessSchedules } from '/@/api/common/api';
|
||||
import { dateUtil } from '/@/utils/dateUtil';
|
||||
|
||||
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
||||
import JInput from '/@/components/Form/src/jeecg/components/JInput.vue';
|
||||
import JSelectDept from '/@/components/Form/src/jeecg/components/JSelectDept.vue';
|
||||
import BgXiSpeakModal from './components/BgXiSpeakModal.vue';
|
||||
|
||||
@@ -83,7 +112,6 @@
|
||||
updateLaunchType,
|
||||
saveOrUpdateDict,
|
||||
withDrawXiSpeak,
|
||||
getRootListWithDept,
|
||||
bgXiSpeakFeedbackList,
|
||||
} from './BgXiSpeak.api';
|
||||
|
||||
@@ -95,9 +123,9 @@
|
||||
|
||||
const [registerBpmModal, { openModal: bpmPicModal }] = useModal();
|
||||
const { createMessage } = useMessage();
|
||||
const formRef = ref();
|
||||
const expandedRowKeys = ref([]);
|
||||
const queryParams = ref<any>({});
|
||||
const toggleSearchStatus = ref<boolean>(false);
|
||||
const queryParam = ref<any>({});
|
||||
const registerModal = ref();
|
||||
const flowScheduleModalRef = ref();
|
||||
const feedbackViewModalRef = ref();
|
||||
@@ -144,35 +172,17 @@
|
||||
const mainId = computed(() => (unref(selectedRowKeys).length > 0 ? unref(selectedRowKeys)[0] : ''));
|
||||
provide('mainId', mainId);
|
||||
|
||||
const searchDeptIds = ref([]);
|
||||
const isDeptSearching = ref(false);
|
||||
|
||||
async function handleDeptSearch(value) {
|
||||
if (!value || (Array.isArray(value) && value.length === 0)) {
|
||||
isDeptSearching.value = false;
|
||||
reload();
|
||||
return;
|
||||
}
|
||||
const deptIds = Array.isArray(value) ? value.join(',') : value;
|
||||
try {
|
||||
const res = await getRootListWithDept(deptIds);
|
||||
isDeptSearching.value = true;
|
||||
const records = res?.records || res || [];
|
||||
setTableData(records);
|
||||
} catch (e) {
|
||||
createMessage.error('按部门查询失败');
|
||||
}
|
||||
}
|
||||
|
||||
const labelCol = reactive({
|
||||
xs: 24,
|
||||
sm: 4,
|
||||
xl: 6,
|
||||
xxl: 4,
|
||||
sm: 8,
|
||||
xl: 10,
|
||||
xxl: 8,
|
||||
});
|
||||
const wrapperCol = reactive({
|
||||
xs: 24,
|
||||
sm: 20,
|
||||
sm: 16,
|
||||
xl: 14,
|
||||
xxl: 16,
|
||||
});
|
||||
|
||||
// 高级查询配置
|
||||
@@ -717,20 +727,27 @@
|
||||
feedbackViewModalRef.value.open(record);
|
||||
}
|
||||
|
||||
function clearQueryParams() {
|
||||
Object.keys(queryParam.value).forEach((key) => {
|
||||
delete queryParam.value[key];
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询
|
||||
*/
|
||||
function searchQuery() {
|
||||
reload();
|
||||
reload({ page: 1 });
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置
|
||||
*/
|
||||
function searchReset() {
|
||||
queryParam.value = {};
|
||||
formRef.value?.resetFields();
|
||||
clearQueryParams();
|
||||
selectedRowKeys.value = [];
|
||||
reload();
|
||||
reload({ page: 1 });
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -744,10 +761,39 @@
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.table-title-search {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
margin-left: 8px;
|
||||
width: 280px;
|
||||
.jeecg-basic-table-form-container {
|
||||
padding: 0;
|
||||
.table-page-search-submitButtons {
|
||||
display: block;
|
||||
margin-bottom: 24px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.query-group-cust{
|
||||
min-width: 100px !important;
|
||||
}
|
||||
.query-group-split-cust{
|
||||
width: 30px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.ant-form-item:not(.ant-form-item-with-help) {
|
||||
margin-bottom: 16px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
:deep(.ant-picker),
|
||||
:deep(.ant-input-number) {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.erpNativeList {
|
||||
height: 100%;
|
||||
|
||||
.content {
|
||||
background-color: #fff;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user