Browse Source

非行政执法原因修改

dev-V1.10.2-temp
wangmingyong@163.com 3 months ago
parent
commit
d24141182a
  1. 36
      zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/NonEnforcementInfoSection.vue
  2. 3
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue

36
zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/NonEnforcementInfoSection.vue

@ -59,7 +59,20 @@
</div>
<!-- 原因 -->
<van-field v-model="formData.reason" name="reason" label="原因" placeholder="请输入原因" readonly />
<van-field v-model="formData.reason" name="reason" label="原因" :placeholder="formData.reason || '请选择'" readonly
:clickable="canSelectReason" :is-link="canSelectReason"
@click="canSelectReason && (showReasonPicker = true)" />
<!-- 原因选择弹窗 -->
<van-popup v-model:show="showReasonPicker" round position="bottom">
<van-picker :columns="reasonOptions" title="选择原因" @confirm="selectReason"
@cancel="showReasonPicker = false" />
</van-popup>
<!-- 其他原因输入框(选择"其他"时显示) -->
<van-field v-if="formData.reason === '其他'" v-model="formData.other_reasons" name="other_reasons" label="其他原因"
placeholder="请输入其他原因" type="textarea" rows="3" maxlength="500" show-word-limit
:rules="[{ required: true, message: '请填写其他原因' }]" required />
<!-- 入企时间(可选,近10天内) -->
<van-field v-model="formData.enforcementTime" name="enforcementTime" label="入企时间" placeholder="请选择入企时间"
@ -95,6 +108,14 @@ const matterOptions = ref([]);
// 弹窗显示状态
const showMatterPicker = ref(false);
const showTimePicker = ref(false);
const showReasonPicker = ref(false);
const reasonOptions = [
{ text: '企业原因', value: '企业原因' },
{ text: '系统原因', value: '系统原因' },
{ text: '扫码未能显示企业信息', value: '扫码未能显示企业信息' },
{ text: '其他', value: '其他' }
];
const datePickerValue = ref([]);
const minDate = ref(new Date());
const maxDate = ref(new Date());
@ -106,6 +127,15 @@ const selectMatter = ({ selectedOptions }) => {
showMatterPicker.value = false;
};
// 选择原因
const selectReason = ({ selectedOptions }) => {
props.formData.reason = selectedOptions[0]?.text || '';
if (props.formData.reason !== '其他') {
props.formData.other_reasons = '';
}
showReasonPicker.value = false;
};
// 初始化加载入企事由字典、时间选择范围
onMounted(() => {
const range = getEnforcementTimeDateRange(10);
@ -145,6 +175,10 @@ const props = defineProps({
additionalPersons: {
type: Array,
default: () => []
},
canSelectReason: {
type: Boolean,
default: false
}
});

3
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue

@ -25,7 +25,8 @@
<!-- 活动信息组件(非行政执法模式) -->
<NonEnforcementInfoSection v-else :form-data="formData" :default-person="enforcementPersons[0]"
:additional-persons="additionalPersons" @open-person-picker="handleOpenPersonPicker"
:additional-persons="additionalPersons" :can-select-reason="canSelectReason"
@open-person-picker="handleOpenPersonPicker"
@remove-person="handleRemovePerson" @open-basis-picker="handleOpenBasisPicker"
@add-basis="handleAddBasis" @remove-basis="handleRemoveBasis" @add-person="handleAddPerson" />

Loading…
Cancel
Save