Compare commits

...

3 Commits

  1. 90
      src/components/negative/distribute.vue
  2. 8
      src/components/negative/verify-sfss.vue
  3. 10
      src/views/data/ComplaintCollection.vue

90
src/components/negative/distribute.vue

@ -22,22 +22,53 @@
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="办理单位" prop="departId">
<el-tree-select
:data="departs"
:props="{ label: 'shortName', value: 'id' }"
node-key="id"
clearable
filterable
v-model="form.departId"
@change="handleSelectDepart"
/>
<div class="tips mt-10">
<p>请根据问题信息的内容再次确认涉及单位是否正确</p>
</div>
</el-form-item>
</el-col>
<template v-if="negative.flowKey === FlowNodeEnum.FIRST_DISTRIBUTE">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="办理单位" prop="departId"> <el-form-item
<el-tree-select label="问题涉及单位"
:data="departs" prop="involveDepartId"
:props="{ label: 'shortName', value: 'id' }" :rules="{
node-key="id" required: true,
clearable message: '请选择问题涉及单位',
filterable trigger: ['blur'],
v-model="form.departId" }"
@change="handleSelectDepart" >
/> <depart-tree-select
<div class="tips mt-10"> v-model="form.involveDepartId"
<p>请根据问题信息的内容再次确认涉及单位是否正确</p> :check-strictly="true"
</div> @node-click="
</el-form-item> (row) =>
(form.involveDepartName =
row.shortName)
"
/>
<el-button
type="primary"
@click="handleLinkDepart"
text
>关联问题办理单位</el-button
>
</el-form-item>
</el-col> </el-col>
</template>
</el-row> </el-row>
<template v-if="negative.flowKey === FlowNodeEnum.FIRST_DISTRIBUTE"> <template v-if="negative.flowKey === FlowNodeEnum.FIRST_DISTRIBUTE">
<el-form-item label="办理时限" prop="timeLimit"> <el-form-item label="办理时限" prop="timeLimit">
@ -67,6 +98,7 @@ import useCatchStore from "@/stores/modules/catch";
import { secondList, listChildren, departTree, listByFirstHost } from "@/api/system/depart"; import { secondList, listChildren, departTree, listByFirstHost } from "@/api/system/depart";
import { FlowNodeEnum } from "@/enums/flowEnums"; import { FlowNodeEnum } from "@/enums/flowEnums";
import { HostLevel } from "@/enums/dictEnums"; import { HostLevel } from "@/enums/dictEnums";
import feedback from "@/utils/feedback";
const dict = useCatchStore().getDicts([ const dict = useCatchStore().getDicts([
"hostLevel", "hostLevel",
@ -152,9 +184,22 @@ const rules = {
}; };
function handleSelectDepart(val: string) { function handleSelectDepart(val: string) {
form.value.departName = departs.value.filter( // form.value.departName = departs.value.filter(
(item) => item.id === val // (item) => item.id === val
)[0].shortName; // )[0].shortName;
const node = findDepartById(departs.value, val)
form.value.departName = node?.shortName ?? ''
}
function findDepartById(list: any[], id: string): any | null {
for (const item of list) {
if (String(item.id) === String(id)) return item
if (item.children?.length) {
const found = findDepartById(item.children, id)
if (found) return found
}
}
return null
} }
async function validate() { async function validate() {
@ -164,6 +209,17 @@ async function validate() {
} }
} }
function handleLinkDepart() {
if (!form.value.departId) {
feedback.msgWarning(
"请先选择办理单位!"
);
return;
}
form.value.involveDepartId = form.value.departId;
form.value.involveDepartName = form.value.departName;
}
defineExpose({ defineExpose({
validate, validate,
}); });

8
src/components/negative/verify-sfss.vue

@ -2019,11 +2019,19 @@ defineExpose({
margin-bottom: 18px; margin-bottom: 18px;
} }
/* 调整表单标签和输入框的对齐和间距 */
:deep() { :deep() {
.el-form-item--label-right .el-form-item__label { .el-form-item--label-right .el-form-item__label {
text-align: right; text-align: right;
line-height: 32px; line-height: 32px;
margin-bottom: 0; margin-bottom: 0;
/* 增加标签和输入框之间的间距 */
padding-right: 12px;
}
/* 确保输入框与标签对齐 */
.el-form-item__content {
line-height: 32px;
} }
} }

10
src/views/data/ComplaintCollection.vue

@ -73,8 +73,8 @@
clearable clearable
placeholder="办理状态" placeholder="办理状态"
> >
<el-option value="0" label="未办"/> <el-option value="0" label="未办"/>
<el-option value="1" label="已办"/> <el-option value="1" label="已办"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -284,8 +284,8 @@
<template #default="{ row }"> <template #default="{ row }">
<span :style="row.status === '0' ? 'color: red' : ''"> <span :style="row.status === '0' ? 'color: red' : ''">
{{ {{
row.status === '0' ? '未办' : row.status === '0' ? '未办' :
row.status === '1' ? '已办' : row.status === '1' ? '已办' :
'-' '-'
}} }}
</span> </span>
@ -362,7 +362,7 @@
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button @click="negativeVerifySfssDailog = false">取消</el-button> <el-button @click="negativeVerifySfssDailog = false">取消</el-button>
<el-button type="primary" @click="handleSubmit" :loading="submitLoading" :disabled="submitLoading">提交 <el-button type="primary" @click="handleSubmit" :loading="submitLoading" :disabled="submitLoading">办结
</el-button> </el-button>
<el-button type="primary" @click="handleSaveInvolve" :loading="saveLoading"> <el-button type="primary" @click="handleSaveInvolve" :loading="saveLoading">
临时保存 临时保存

Loading…
Cancel
Save