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>
</el-form-item>
</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-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-form-item
label="问题涉及单位"
prop="involveDepartId"
:rules="{
required: true,
message: '请选择问题涉及单位',
trigger: ['blur'],
}"
>
<depart-tree-select
v-model="form.involveDepartId"
:check-strictly="true"
@node-click="
(row) =>
(form.involveDepartName =
row.shortName)
"
/>
<el-button
type="primary"
@click="handleLinkDepart"
text
>关联问题办理单位</el-button
>
</el-form-item>
</el-col>
</template>
</el-row>
<template v-if="negative.flowKey === FlowNodeEnum.FIRST_DISTRIBUTE">
<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 { FlowNodeEnum } from "@/enums/flowEnums";
import { HostLevel } from "@/enums/dictEnums";
import feedback from "@/utils/feedback";
const dict = useCatchStore().getDicts([
"hostLevel",
@ -152,9 +184,22 @@ const rules = {
};
function handleSelectDepart(val: string) {
form.value.departName = departs.value.filter(
(item) => item.id === val
)[0].shortName;
// form.value.departName = departs.value.filter(
// (item) => item.id === val
// )[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() {
@ -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({
validate,
});

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

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

10
src/views/data/ComplaintCollection.vue

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

Loading…
Cancel
Save