Browse Source

人员的显示效果

dev-V1.0.6
wangmingyong@163.com 3 months ago
parent
commit
9a1c825895
  1. 50
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/components/HistoryActivityDetail.vue
  2. 21
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementEvaluateDetail.vue
  3. 2
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementRegister.vue
  4. 19
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/message/enforcementEvaluateList.vue

50
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/components/HistoryActivityDetail.vue

@ -29,11 +29,17 @@
<div class="custom-cell-label">
<span>入企人员</span>
</div>
<div>
<div class="custom-cell-address">{{ activityDetail.lawEnforcer }}{{ activityDetail.lawEnforcerId
}}</div>
<div class="custom-cell-address">{{ activityDetail.lawEnforcerOther }}{{
activityDetail.lawEnforcerIdOther }}</div>
<div class="enforcer-list">
<div class="enforcer-line custom-cell-value">
<span class="enforcer-name">{{ parseEnforcer(activityDetail.lawEnforcer).name }}</span>
<span v-if="parseEnforcer(activityDetail.lawEnforcer).phone" class="enforcer-phone">{{ parseEnforcer(activityDetail.lawEnforcer).phone }}</span>
</div>
<template v-if="activityDetail.lawEnforcerOther">
<div v-for="(enforcer, index) in activityDetail.lawEnforcerOther.split(',')" :key="index" class="enforcer-line custom-cell-value">
<span class="enforcer-name">{{ parseEnforcer(enforcer).name }}</span>
<span v-if="parseEnforcer(enforcer).phone" class="enforcer-phone">{{ parseEnforcer(enforcer).phone }}</span>
</div>
</template>
</div>
</div>
<div class="custom-cell">
@ -83,7 +89,16 @@ import { baseUrl } from '@/config/env';
const router = useRouter();
const route = useRoute();
// 活动详情数据
// 解析执法人员字符串,提取名字和电话
const parseEnforcer = (str) => {
if (!str) return { name: '', phone: '' };
const match = String(str).match(/^(.+?)\s+(\d{7,15})$/);
if (match) {
return { name: match[1].trim(), phone: match[2] };
}
return { name: String(str).trim(), phone: '' };
};
const activityDetail = ref({});
// 返回上一页
@ -166,6 +181,29 @@ onMounted(() => {
padding-bottom: 10px;
}
.enforcer-list {
display: flex;
flex-direction: column;
}
.enforcer-line {
display: flex;
align-items: baseline;
white-space: nowrap;
padding-bottom: 10px;
}
.enforcer-name {
display: inline-block;
min-width: 3em;
text-align: justify;
text-align-last: justify;
}
.enforcer-phone {
margin-left: 0.4em;
}
:deep(.van-cell-group--inset) {
margin: 0;
}

21
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/enforce/enforcementEvaluateDetail.vue

@ -27,10 +27,15 @@
</div>
<div class="info-row">
<span class="info-label">执法人员</span>
<div class="info-value enforcer-value">
<div v-for="(enforcer, index) in formatEnforcer(detail)" :key="index" class="enforcer-line">
<span class="enforcer-name">{{ enforcer.name }}</span>
<span v-if="enforcer.id" class="enforcer-id">{{ enforcer.id }}</span>
<div class="enforcer-line">
<span class="enforcer-name">{{ detail.lawEnforcer }}</span>
<span v-if="detail.lawEnforcerTel" class="enforcer-id">{{ detail.lawEnforcerTel }}</span>
</div>
<div v-for="(name, index) in detail.lawEnforcerTwo ? detail.lawEnforcerTwo.split(',') : []" :key="index" class="enforcer-line">
<span class="enforcer-name">{{ name.trim() }}</span>
<span v-if="detail.lawEnforcerTelTwo && detail.lawEnforcerTelTwo.split(',')[index]" class="enforcer-id">{{ detail.lawEnforcerTelTwo.split(',')[index].trim() }}</span>
</div>
</div>
</div>
@ -209,6 +214,16 @@ import { formatEnforcer, formatTime } from '@/util/util';
const router = useRouter();
const route = useRoute();
// 解析执法人员字符串,提取名字和电话
const parseEnforcer = (str) => {
if (!str) return { name: '', phone: '' };
const match = String(str).match(/^(.+?)\s+(\d{7,15})$/);
if (match) {
return { name: match[1].trim(), phone: match[2] };
}
return { name: String(str).trim(), phone: '' };
};
const id = route.query.id;
// 只读标识:hasEvaluate=1 已反馈只能查看,0 为待反馈可提交,默认为已反馈(只读)
const readonly = computed(() => {

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

@ -35,7 +35,7 @@
<!-- 底部按钮 -->
<div class="bottom-buttons">
<van-button v-if="!isNonEnforcement && !editId" class="btn-save" @click="handleSave">保存</van-button>
<van-button v-if="!isNonEnforcement" class="btn-save" @click="handleSave">保存</van-button>
<van-button class="btn-submit" type="primary" native-type="submit">提交</van-button>
<van-button v-if="showTransferButton && !isNonEnforcement" class="btn-transfer" @click="handleSubmitAndTransfer">提交并转办案</van-button>
</div>

19
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/message/enforcementEvaluateList.vue

@ -32,14 +32,15 @@
<div class="card-content">
<div class="info-row">
<span class="label">执法单位</span>
<span class="value">{{ item.lawEnforcement || item.bureauDeptName }}</span>
<span class="value">{{ item.bureauDeptName }}</span>
</div>
<div class="info-row">
<span class="label">执法人员:</span>
<div>
<div v-for="(enforcer, index) in formatEnforcer(item)" :key="index"
class="enforcer-item">
{{ enforcer }}
<span class="enforcer-name">{{ enforcer.name }}</span>
<span v-if="enforcer.id" class="enforcer-id">{{ enforcer.id }}</span>
</div>
</div>
</div>
@ -286,9 +287,23 @@ onMounted(() => {
}
.enforcer-item {
display: flex;
align-items: baseline;
white-space: nowrap;
padding: 4px 0px;
}
.enforcer-name {
display: inline-block;
min-width: 3em;
text-align: justify;
text-align-last: justify;
}
.enforcer-id {
margin-left: 0.4em;
}
.value {
flex: 1;
color: #333;

Loading…
Cancel
Save