|
|
|
|
@ -5,7 +5,6 @@
|
|
|
|
|
:title="popupTitle" |
|
|
|
|
:number="formData.id" |
|
|
|
|
:async="true" |
|
|
|
|
width="1800px" |
|
|
|
|
:clickModalClose="true" |
|
|
|
|
@confirm="handleSubmit" |
|
|
|
|
@close="handleClose" |
|
|
|
|
@ -20,11 +19,9 @@
|
|
|
|
|
<el-step title="4 核查办理" /> |
|
|
|
|
<el-step title="5 认定办结" /> |
|
|
|
|
</el-steps> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="details"> |
|
|
|
|
|
|
|
|
|
<el-card class="info-card"> |
|
|
|
|
<div> |
|
|
|
|
<el-row> |
|
|
|
|
@ -32,19 +29,27 @@
|
|
|
|
|
<span class="head-lable">受理编号</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="7"> |
|
|
|
|
<span class="head-value">{{formData.id}}</span> |
|
|
|
|
<span class="head-value">{{ |
|
|
|
|
formData.id |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="1"> |
|
|
|
|
<span class="head-lable">信件分类</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="7"> |
|
|
|
|
<span class="head-value">{{formData.mailFirstCategory}} > {{formData.mailSecondCategory}} > {{formData.mailThreeCategory}} </span> |
|
|
|
|
<span class="head-value" |
|
|
|
|
>{{ formData.mailFirstCategory }} > |
|
|
|
|
{{ formData.mailSecondCategory }} > |
|
|
|
|
{{ formData.mailThreeCategory }} |
|
|
|
|
</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="1"> |
|
|
|
|
<span class="head-lable">信件等级</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="7"> |
|
|
|
|
<span class="head-value">{{formData.mailLevel}} </span> |
|
|
|
|
<span class="head-value" |
|
|
|
|
>{{ formData.mailLevel }} |
|
|
|
|
</span> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
</div> |
|
|
|
|
@ -58,59 +63,95 @@
|
|
|
|
|
<span class="info-label">姓名</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-value">{{ formData.contactName }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.contactName |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">性别</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{ formData.contactSex=='M'?'男':'女' }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.contactSex == "M" |
|
|
|
|
? "男" |
|
|
|
|
: "女" |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">证件号码</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>证件号码</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{ formData.contactIdCard}}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.contactIdCard |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">联系电话</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>联系电话</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{ formData.contactPhone}}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.contactPhone |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
<hr > |
|
|
|
|
<hr /> |
|
|
|
|
</div> |
|
|
|
|
<div v-show="formData.verifyPoliceList && formData.verifyPoliceList.length>0"> |
|
|
|
|
<div |
|
|
|
|
v-show=" |
|
|
|
|
formData.verifyPoliceList && |
|
|
|
|
formData.verifyPoliceList.length > 0 |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
<div slot="header" class="info-header"> |
|
|
|
|
举报/投诉人基本情况 |
|
|
|
|
</div> |
|
|
|
|
<div v-for="item in formData.verifyPoliceList"> |
|
|
|
|
<div |
|
|
|
|
v-for="item in formData.verifyPoliceList" |
|
|
|
|
> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-label">被举报人</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>被举报人</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-value">{{ item.name }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
item.name |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">警号</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>警号</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{ item.emp_no }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
item.emp_no |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">性别</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>性别</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{ item.gender }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
item.gender |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">出生年月</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>出生年月</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{ item.birthday }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
item.birthday |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row> |
|
|
|
|
@ -121,16 +162,18 @@
|
|
|
|
|
<span class="info-value"></span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">工作单位</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>工作单位</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{ item.deptname }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
item.deptname |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
</div> |
|
|
|
|
<hr > |
|
|
|
|
<hr /> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<div slot="header" class="info-header"> |
|
|
|
|
@ -138,11 +181,12 @@
|
|
|
|
|
</div> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="24"> |
|
|
|
|
<div class="info-textarea">{{ formData.content}} </div> |
|
|
|
|
<div class="info-textarea"> |
|
|
|
|
{{ formData.content }} |
|
|
|
|
</div> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
<hr > |
|
|
|
|
<hr /> |
|
|
|
|
</div> |
|
|
|
|
<div v-show="formData.interviewType"> |
|
|
|
|
<div slot="header" class="info-header"> |
|
|
|
|
@ -150,13 +194,17 @@
|
|
|
|
|
</div> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-label">主单位签收时长</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>主单位签收时长</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-value">张三</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">主单位联系群众时长</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>主单位联系群众时长</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">张三</span> |
|
|
|
|
@ -164,40 +212,56 @@
|
|
|
|
|
</el-row> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-label">接访形式</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>接访形式</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-value">{{ formData.interviewType }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.interviewType |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">是否一把手接访</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>是否一把手接访</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{ formData.interviewIsLeader?'是': ( !formData.interviewIsLeader?'否':'') }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.interviewIsLeader |
|
|
|
|
? "是" |
|
|
|
|
: !formData.interviewIsLeader |
|
|
|
|
? "否" |
|
|
|
|
: "" |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">接访领导</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>接访领导</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{ formData.interviewPoliceName }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.interviewPoliceName |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-label">接访情况</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>接访情况</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="21"> |
|
|
|
|
<div class="info-textarea"> {{ formData.interviewDetails}} </div> |
|
|
|
|
<div class="info-textarea"> |
|
|
|
|
{{ formData.interviewDetails }} |
|
|
|
|
</div> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
<hr > |
|
|
|
|
<hr /> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div v-show="formData.verifyIsTrue"> |
|
|
|
|
@ -206,62 +270,84 @@
|
|
|
|
|
</div> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-label">是否属实</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>是否属实</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-value">{{ formData.verifyIsTrue }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.verifyIsTrue |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">是否需要问责</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>是否需要问责</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{ formData.verifyNeedAccountability?'需要': (!formData.verifyNeedAccountability ? '不需要':'') }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.verifyNeedAccountability |
|
|
|
|
? "需要" |
|
|
|
|
: !formData.verifyNeedAccountability |
|
|
|
|
? "不需要" |
|
|
|
|
: "" |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
<el-row> |
|
|
|
|
|
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-label">查证属实问题</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>查证属实问题</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="21"> |
|
|
|
|
<span class="info-value" v-for="item in formData.verifyProblem"> |
|
|
|
|
<span |
|
|
|
|
class="info-value" |
|
|
|
|
v-for="item in formData.verifyProblem" |
|
|
|
|
> |
|
|
|
|
{{ item }} |
|
|
|
|
</span> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
<el-row> |
|
|
|
|
|
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-label">核办结果</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>核办结果</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="21"> |
|
|
|
|
<div class="info-textarea"> {{formData.verifyDetails}} </div> |
|
|
|
|
<div class="info-textarea"> |
|
|
|
|
{{ formData.verifyDetails }} |
|
|
|
|
</div> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
<hr > |
|
|
|
|
<hr /> |
|
|
|
|
</div> |
|
|
|
|
<div v-show="formData.verifyPunish && formData.verifyPunish.length>0"> |
|
|
|
|
<div |
|
|
|
|
v-show=" |
|
|
|
|
formData.verifyPunish && |
|
|
|
|
formData.verifyPunish.length > 0 |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
<div slot="header" class="info-header"> |
|
|
|
|
整改问责情况 |
|
|
|
|
</div> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-label">责任追究</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>责任追究</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="21"> |
|
|
|
|
<span class="info-value" v-for="item in formData.verifyPunish"> |
|
|
|
|
<span |
|
|
|
|
class="info-value" |
|
|
|
|
v-for="item in formData.verifyPunish" |
|
|
|
|
> |
|
|
|
|
{{ item }} |
|
|
|
|
</span> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
<hr > |
|
|
|
|
<hr /> |
|
|
|
|
</div> |
|
|
|
|
<div v-show="formData.verifyIsResolved"> |
|
|
|
|
<div slot="header" class="info-header"> |
|
|
|
|
@ -269,45 +355,71 @@
|
|
|
|
|
</div> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-label">群众反应实现解决情况</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>群众反应实现解决情况</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-value">{{ formData.verifyIsResolved?'已解决': (!formData.verifyIsResolved ? '未解决':'') }}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.verifyIsResolved |
|
|
|
|
? "已解决" |
|
|
|
|
: !formData.verifyIsResolved |
|
|
|
|
? "未解决" |
|
|
|
|
: "" |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">办理反馈情况</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>办理反馈情况</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{ formData.verifyFeedback}}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.verifyFeedback |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-label">回访人姓名</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>回访人姓名</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="3"> |
|
|
|
|
<span class="info-value">{{formData.followName}}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.followName |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">回访人电话</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>回访人电话</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{formData.followMobile}}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.followMobile |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="2"> |
|
|
|
|
<span class="info-label">回访人警号</span> |
|
|
|
|
<span class="info-label" |
|
|
|
|
>回访人警号</span |
|
|
|
|
> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="4"> |
|
|
|
|
<span class="info-value">{{formData.followEmpNo}}</span> |
|
|
|
|
<span class="info-value">{{ |
|
|
|
|
formData.followEmpNo |
|
|
|
|
}}</span> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<hr > |
|
|
|
|
<hr /> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div v-show="formData.verifyAttachments && formData.verifyAttachments.length > 0"> |
|
|
|
|
|
|
|
|
|
<div |
|
|
|
|
v-show=" |
|
|
|
|
formData.verifyAttachments && |
|
|
|
|
formData.verifyAttachments.length > 0 |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
<div slot="header" class="info-header"> |
|
|
|
|
办结佐证材料 |
|
|
|
|
</div> |
|
|
|
|
@ -318,18 +430,17 @@
|
|
|
|
|
<el-col :span="21"> |
|
|
|
|
<!-- <div class="img-box" v-for="(item, index) in formData.verifyAttachments" :key="index" :style="{ backgroundImage: `url(${VITE_API_URL}/api/file/stream/${item.filepath})`}"> --> |
|
|
|
|
<div class="img-box"> |
|
|
|
|
<FileList :files="formData.verifyAttachments" /> |
|
|
|
|
<FileList |
|
|
|
|
:files=" |
|
|
|
|
formData.verifyAttachments |
|
|
|
|
" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="details-right"> |
|
|
|
|
@ -342,52 +453,51 @@
|
|
|
|
|
color="#0bbd87" |
|
|
|
|
size="large" |
|
|
|
|
:hollow="activity.hollow" |
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
<div class="timeline-text"> |
|
|
|
|
<span class="timeline-span"> {{ activity.createTime }}</span> <span> {{ activity.handlerDeptName }}</span> <span class="timeline-span"> {{ activity.flowAfterName }}</span> |
|
|
|
|
<span class="timeline-span"> |
|
|
|
|
{{ activity.createTime }}</span |
|
|
|
|
> |
|
|
|
|
<span> {{ activity.handlerDeptName }}</span> |
|
|
|
|
<span class="timeline-span"> |
|
|
|
|
{{ activity.flowAfterName }}</span |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
<div class="timeline-right"> |
|
|
|
|
用时<span>{{convert(activity.consumingTime) }}</span> |
|
|
|
|
用时<span>{{ |
|
|
|
|
convert(activity.consumingTime) |
|
|
|
|
}}</span> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</el-timeline-item> |
|
|
|
|
</el-timeline> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</popup> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
<script lang="ts" setup> |
|
|
|
|
import type { FormInstance, ListItem } from 'element-plus' |
|
|
|
|
import {getMailDetail} from '@/api/datascreen' |
|
|
|
|
import Popup from '@/components/popup/details.vue' |
|
|
|
|
import {PropType, ref} from 'vue' |
|
|
|
|
import type { FormInstance, ListItem } from "element-plus"; |
|
|
|
|
import { getMailDetail } from "@/api/datascreen"; |
|
|
|
|
import Popup from "@/components/popup/details.vue"; |
|
|
|
|
import { PropType, ref } from "vue"; |
|
|
|
|
|
|
|
|
|
const { |
|
|
|
|
VITE_API_URL |
|
|
|
|
} = process.env |
|
|
|
|
const { VITE_API_URL } = process.env; |
|
|
|
|
defineProps({ |
|
|
|
|
dictData: { |
|
|
|
|
type: Object as PropType<Record<string, any[]>>, |
|
|
|
|
default: () => ({}) |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
const emit = defineEmits(['success', 'close']) |
|
|
|
|
const formRef = shallowRef<FormInstance>() |
|
|
|
|
const popupRef = shallowRef<InstanceType<typeof Popup>>() |
|
|
|
|
const mode = ref('details') |
|
|
|
|
default: () => ({}), |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
const emit = defineEmits(["success", "close"]); |
|
|
|
|
const formRef = shallowRef<FormInstance>(); |
|
|
|
|
const popupRef = shallowRef<InstanceType<typeof Popup>>(); |
|
|
|
|
const mode = ref("details"); |
|
|
|
|
const popupTitle = computed(() => { |
|
|
|
|
return mode.value == 'details' ? '信件详情' : '信件详情' |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return mode.value == "details" ? "信件详情" : "信件详情"; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
let mailDetail = reactive([]) as any[]; |
|
|
|
|
let verifyFollowupPolice= { |
|
|
|
|
} |
|
|
|
|
let verifyFollowupPolice = {}; |
|
|
|
|
const flowNode = ref({}); |
|
|
|
|
const steps = ref([ |
|
|
|
|
"信件签收", |
|
|
|
|
@ -421,61 +531,48 @@ watch(flowNode, (val) => {
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const formData = reactive({ |
|
|
|
|
}) |
|
|
|
|
const formData = reactive({}); |
|
|
|
|
|
|
|
|
|
const activities = [ |
|
|
|
|
{ |
|
|
|
|
content: 'Custom icon', |
|
|
|
|
timestamp: '2018-04-12 20:46', |
|
|
|
|
content: "Custom icon", |
|
|
|
|
timestamp: "2018-04-12 20:46", |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
content: 'Custom color', |
|
|
|
|
timestamp: '2018-04-03 20:46', |
|
|
|
|
|
|
|
|
|
content: "Custom color", |
|
|
|
|
timestamp: "2018-04-03 20:46", |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
content: 'Custom size', |
|
|
|
|
timestamp: '2018-04-03 20:46', |
|
|
|
|
|
|
|
|
|
content: "Custom size", |
|
|
|
|
timestamp: "2018-04-03 20:46", |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
content: 'Custom hollow', |
|
|
|
|
timestamp: '2018-04-03 20:46', |
|
|
|
|
content: "Custom hollow", |
|
|
|
|
timestamp: "2018-04-03 20:46", |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
content: 'Default node', |
|
|
|
|
timestamp: '2018-04-03 20:46', |
|
|
|
|
|
|
|
|
|
content: "Default node", |
|
|
|
|
timestamp: "2018-04-03 20:46", |
|
|
|
|
}, |
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
const setFormData = async (data: Record<string, any>) => { |
|
|
|
|
for (const key in data) { |
|
|
|
|
if (data[key] != null && data[key] != undefined) { |
|
|
|
|
//@ts-ignore |
|
|
|
|
if (isJsonString(data[key])) { |
|
|
|
|
formData[key] =JSON.parse( data[key]) |
|
|
|
|
formData[key] = JSON.parse(data[key]); |
|
|
|
|
} else { |
|
|
|
|
formData[key] = data[key] |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
formData[key] = data[key]; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const open = (type = 'details') => { |
|
|
|
|
mode.value = type |
|
|
|
|
popupRef.value?.open() |
|
|
|
|
} |
|
|
|
|
const open = (type = "details") => { |
|
|
|
|
mode.value = type; |
|
|
|
|
popupRef.value?.open(); |
|
|
|
|
}; |
|
|
|
|
function isJsonString(value) { |
|
|
|
|
try { |
|
|
|
|
JSON.parse(value); // 尝试将字符串解析为JSON人 |
|
|
|
|
@ -485,9 +582,6 @@ function isJsonString(value) {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const convert = (time: number) => { |
|
|
|
|
let a: number | string = ~~(time / 3600); |
|
|
|
|
let b: number | string = ~~(time / 60) - a * 60; |
|
|
|
|
@ -497,8 +591,8 @@ const convert = (time: number) => {
|
|
|
|
|
b = String(b).padStart(2, "0"); |
|
|
|
|
c = String(c).padStart(2, "0"); |
|
|
|
|
|
|
|
|
|
if (a === '00') { |
|
|
|
|
if(b === '00'){ |
|
|
|
|
if (a === "00") { |
|
|
|
|
if (b === "00") { |
|
|
|
|
return `${c}秒`; |
|
|
|
|
} else { |
|
|
|
|
return `${b}分${c}秒`; |
|
|
|
|
@ -506,58 +600,50 @@ const convert = (time: number) => {
|
|
|
|
|
} else { |
|
|
|
|
return `${a}小时${b}分${c}秒`; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const getDetail = async (row: Record<string, any>) => { |
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
mailDetail = await getMailDetail({ |
|
|
|
|
id: row.id |
|
|
|
|
}) |
|
|
|
|
console.log(mailDetail) |
|
|
|
|
setFormData(mailDetail) |
|
|
|
|
console.log(formData) |
|
|
|
|
console.log(verifyFollowupPolice) |
|
|
|
|
} catch (error) { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
id: row.id, |
|
|
|
|
}); |
|
|
|
|
console.log(mailDetail); |
|
|
|
|
setFormData(mailDetail); |
|
|
|
|
console.log(formData); |
|
|
|
|
console.log(verifyFollowupPolice); |
|
|
|
|
} catch (error) {} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const handleClose = () => { |
|
|
|
|
emit('close') |
|
|
|
|
} |
|
|
|
|
emit("close"); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
defineExpose({ |
|
|
|
|
open, |
|
|
|
|
getDetail |
|
|
|
|
}) |
|
|
|
|
getDetail, |
|
|
|
|
}); |
|
|
|
|
</script> |
|
|
|
|
<style scoped lang="scss"> |
|
|
|
|
|
|
|
|
|
.details-main { |
|
|
|
|
width:1766px; |
|
|
|
|
width: 92vw; |
|
|
|
|
height: 730px; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
.details-content { |
|
|
|
|
width:1400px; |
|
|
|
|
width: 80%; |
|
|
|
|
height: 700px; |
|
|
|
|
float: left; |
|
|
|
|
} |
|
|
|
|
.details-right { |
|
|
|
|
width:350px; |
|
|
|
|
width: calc(20% - 10px); |
|
|
|
|
height: 100%; |
|
|
|
|
overflow: auto; |
|
|
|
|
float: left; |
|
|
|
|
margin-left: 10px; |
|
|
|
|
padding-left: 10px; |
|
|
|
|
padding-top: 10px; |
|
|
|
|
background:#09256d |
|
|
|
|
background: #09256d; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.details-right::-webkit-scrollbar { |
|
|
|
|
width: 8px; /* 宽度 */ |
|
|
|
|
} |
|
|
|
|
@ -576,26 +662,24 @@ defineExpose({
|
|
|
|
|
background: #0060fe; /* 鼠标悬停时的滚动条颜色 */ |
|
|
|
|
} |
|
|
|
|
.details { |
|
|
|
|
width:1400px; |
|
|
|
|
width: 100%; |
|
|
|
|
height: 700px; |
|
|
|
|
margin-top: 10px; |
|
|
|
|
background: #09256D; |
|
|
|
|
border: 1px solid #4E8FFF; |
|
|
|
|
background: #09256d; |
|
|
|
|
border: 1px solid #4e8fff; |
|
|
|
|
overflow: auto; |
|
|
|
|
color: #fff; |
|
|
|
|
} |
|
|
|
|
.el-card { |
|
|
|
|
border: 0; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
.info-card { |
|
|
|
|
background: #09256D; |
|
|
|
|
background: #09256d; |
|
|
|
|
|
|
|
|
|
color: #fff; |
|
|
|
|
} |
|
|
|
|
.info-content { |
|
|
|
|
margin-top: 20px; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.info-label { |
|
|
|
|
@ -603,7 +687,7 @@ border:0;
|
|
|
|
|
text-align: right; |
|
|
|
|
display: block; |
|
|
|
|
font-size: 12px; |
|
|
|
|
color: #4E8FFF; |
|
|
|
|
color: #4e8fff; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.info-value { |
|
|
|
|
@ -613,7 +697,7 @@ border:0;
|
|
|
|
|
|
|
|
|
|
hr { |
|
|
|
|
border: none; /* 去掉默认边框 */ |
|
|
|
|
border-top: 1px solid #4E8FFF; /* 设置上边框为1px实线,颜色为黑色 */ |
|
|
|
|
border-top: 1px solid #4e8fff; /* 设置上边框为1px实线,颜色为黑色 */ |
|
|
|
|
} |
|
|
|
|
.el-row { |
|
|
|
|
line-height: 30px; |
|
|
|
|
@ -627,13 +711,12 @@ border-top: 1px solid #4E8FFF; /* 设置上边框为1px实线,颜色为黑色
|
|
|
|
|
} |
|
|
|
|
.details::-webkit-scrollbar-track { |
|
|
|
|
background: #071a4e; /* 滚动条背景色 */ |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.details::-webkit-scrollbar-thumb { |
|
|
|
|
background-clip: padding-box; /* 背景剪裁 */ |
|
|
|
|
border: 8px solid transparent; /* 边框 */ |
|
|
|
|
background-image: linear-gradient(180deg, #007FFF 0%, #0049FF 100%); |
|
|
|
|
background-image: linear-gradient(180deg, #007fff 0%, #0049ff 100%); |
|
|
|
|
border-radius: 11px; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -645,21 +728,21 @@ border-top: 1px solid #4E8FFF; /* 设置上边框为1px实线,颜色为黑色
|
|
|
|
|
font-size: 14px; |
|
|
|
|
} |
|
|
|
|
.head-lable { |
|
|
|
|
color: #4E8FFF; |
|
|
|
|
color: #4e8fff; |
|
|
|
|
font-size: 14px; |
|
|
|
|
} |
|
|
|
|
.info-textarea { |
|
|
|
|
width: 95%; |
|
|
|
|
height: 50px; |
|
|
|
|
background: #061C55; |
|
|
|
|
background: #061c55; |
|
|
|
|
margin-bottom: 5px; |
|
|
|
|
margin-left: 5px; |
|
|
|
|
} |
|
|
|
|
.timeline-right { |
|
|
|
|
width: 129px; |
|
|
|
|
height: 28px; |
|
|
|
|
background: #252D7A; |
|
|
|
|
box-shadow: inset 2px 0px 0px 0px #00D050; |
|
|
|
|
background: #252d7a; |
|
|
|
|
box-shadow: inset 2px 0px 0px 0px #00d050; |
|
|
|
|
border-radius: 0px 100px 100px 0px; |
|
|
|
|
color: #fff; |
|
|
|
|
line-height: 28px; |
|
|
|
|
@ -674,7 +757,7 @@ border-top: 1px solid #4E8FFF; /* 设置上边框为1px实线,颜色为黑色
|
|
|
|
|
font-size: 12px; |
|
|
|
|
font-family: SourceHanSansCN, SourceHanSansCN; |
|
|
|
|
font-weight: 500; |
|
|
|
|
color: #4BDBFC; |
|
|
|
|
color: #4bdbfc; |
|
|
|
|
line-height: 18px; |
|
|
|
|
} |
|
|
|
|
.img-box { |
|
|
|
|
|